Montag, Februar 24, 2014

Threema.ch/validation ist Schweizer Kaese.

Also...

Jetzt, wo WhatsApp FaceBook gehoert, und alle zu anderen Diensten abwandern, wo die Zeitungen Threema als Alternative anpreisen, und es tatsaechlich mit dem Versprechen von asymmetrischer Ende zu Ende Verschluesselung lockt, jetzt moechte ich doch nochmal fix zusammenfassen, was ich gerade allen erzaehle, die unbedingt zu Threema umsteigen wollen, und die das nicht hoeren wollen.

Threema behauptet:
1. Sie benutzen Ende zu Ende Verschluesselung, State of the Art.
https://threema.ch/de/faq.html
2. Sie verweisen auf threema.ch/validation , damit sich der, der genug Ahnung von Computern hat, und sich auch mal auf die Shell und an einen Compiler wagt, testen kann, ob die auch tun, was sie behaupten.
... behauptet Threema.

Meine Analyse:
1. Threema benutzt TLS. Damit machen sie es mir unmoeglich, den Traffic zu sniffen, und festzustellen, ob tatsaechlich das ueber die Leitung geht, was sie behaupten ueber die Leitung zu schicken. Sie koennten die verschluesselte Nachricht verschicken UND eine im Klartext an die NSA. Weil Closed-Source und TLS ist das nicht ueberpruefbar.
2. Bei asymmetrischer Verschluesselung hat jeder ein Schluesselpaar aus Privatem und Oeffentlichem Schluessel. Alice schickt eine Nachricht an Bob, verschluesselt mit Bobs Oeffentlichem Schluessel (den hat Alice, weil der Oeffentliche Schluessel, D'uh! oeffentlich ist!), und lesen kann man das nur, wenn man den Privaten, passenden, Schluessel dazu hat. Den hat nur Bob, also kann nur Bob das lesen. So funktioniert das klassische RSA.

2.1 Threema war besonders schlau. Deshalb benutzt Threema nicht RSA, sondern NaCl (http://nacl.cr.yp.to/). Hier wird ein Nachrichtenschluessel generiert aus Alice' Privatem und Bobs Oeffentlichen (die Alice beide hat), und Bob kann denselben Schluessel aus *anderen* Bestandteilen auch zusammensetzen: naemlich aus Bobs Privatem und Alice' Oeffentlichem.
Das tut Threema, um Plausible Deniability in das Programm einzubauen (siehe FAQ). Da Alice Chiffres generieren kann, die aussehen, als kaemen sie von Bob, kann Bob immer behaupten (vor einem Dritten), er haette eine Nachricht nicht verfasst. Alice selbst kann aber feststellen, ob sie von Bob sind, denn nur Alice und Bob koennen dieses Chriffre erstellen, und Alice weiss, ob sie sich selbst verarscht, oder nicht.

2.2. Das ist aber ein Problem mit dem Validate: Da die Software closed-source ist, und man den Traffic nicht sniffen kann, sondern die Daten, die man in den Validator eingibt, nur aus Logs der App stammen, deren Glaubwuerdigkeit ich testen will und da in diesem Log Chiffres stehen, die beide Seiten, Alice UND Bob beide generieren koennen, ohne, dass sie ueber die Leitung gegangen sein muessen (weil NaCl und nicht RSA), beweist der Validator... Genau nichts. Er beweist, dass die Firma hinter Threema in der Lage war, eine Crypto-Bibliothek zu verwenden, um Logs zu schreiben. Nichts weiter.

Fazit:
* Ich glaube denen, dass sie die Bibliothek einsetzen, und nur ueber die Leitung schicken, was sie behaupten. Ueberpruefbar ist es nicht.
* Weil es nicht ueberpruefbar ist, kann die NSA euch eine Threema-App unterschieben, die der NSA eine Kopie schickt. Ueberpruefbar ist es nicht. Weil Threema closed-source ist.
* Ich will niemandem davon abraten, es zu benutzen, weil die immerhin behaupten, es richtig zu machen. Dass es nichts weiter als eine Behauptung ist, ist wichtig!
* Ceterum Censeo: Crypto geht nur opensource.

Update: Folgender Artikel hat im Prinzip nochmal die gleichen Argumente. Schoen: Sie haben sich noch ein bisschen mehr Muehe gemacht :)
http://www.golem.de/news/verschluesselung-validation-von-threema-ist-wenig-aussagekraeftig-1403-104992-2.html

1 Kommentar:

frozengerbil (Anna Jäger) hat gesagt…

Wunderbar, hab ich deinen Blog jetzt auch mal gefunden und abonniert :D