Eigentlich wollte ich ja nicht auch noch auf den Zug aufspringen und über WhatsApp Alternativen bloggen, denn solche Beiträge findet man derzeit überall. Das soll zwar nicht ganz das Thema sein, aber die Diskussion um die eine Alternative „Threema“ bringt mich dazu, jetzt doch etwas zu bloggen.
Seit gestern ist auf einmal die Messaging-App „Threema“ sehr beliebt. Jetzt, wo bekannt wurde, dass WhatsApp von Facebook aufgekauft wird und klar ist, dass alle Nutzerdaten von Facebook übernommen werden (Ja, das lassen die AGBs von WhatsApp zu). Threema ist so beliebt, weil es eine sogenannte Ende-Zu-Ende-Verschlüsselung nutzt. Das heißt: Nicht einmal der Serverbetreiber selbst ist in der Lage, die Nachrichten wieder zu entschlüsseln. Die Server stehen ausschließlich in der Schweiz, was zusätzliches Vertrauen gegenüber dem Dienst schaffen soll.
Klingt doch erst einmal gut, oder?
Nutzerdaten bleiben verschlüsselt, auf Datenschutz wird geachtet und die Server stehen nicht in den USA.
Ich sehe aber immer noch ein großes Problem: Der Sourcecode von Threema ist geheim. – also nicht Open Source
Meine Behauptung: Krypto wenig sinnvoll, wenn der Code geschlossen ist.
Warum ich dieser Meinung bin? Ganz einfach: Kryptographie soll dafür sorgen dass private Dinge privat bleiben. Deshalb ist es notwendig, dass der Kryptographie gegenüber ein gewisses Vertrauen aufgebracht wird. Wer macht aber die Krypto? Programmierer. Und hier sitzt das Problem.
Kryptographie kann manipuliert werden. Es könnten Master-Keys genutzt werden oder Backdoors, um den kryptographischen Teil einer Anwendung auszuhebeln und die Verschlüsselung damit unwirksam zu machen. Auch den Entwicklern / Programmierern einer Krypto-Anwendung muss daher ein gewisses Maß an Vertrauen zugesprochen werden. Die Frage ist jetzt: Kann ich das?
Kann ich einem Programmierer glauben, dass er eine Anwendung ohne bösartige Absichten und nach besten Wissen geschrieben hat? Und wie könnte er beweisen, dass er nur gute Absichten hat? Einen Beweis kann er nur liefern, wenn ich seinen Code sehen und verifizieren kann – Nur dann kann ich ihm und seiner Software mein volles Vertrauen entgegenbringen.
Genau das kann ich aber bei Threema nicht. Threema ist Closed Source, d.h. ich kann nicht in den Quellcode der App und den der Serversoftware hineinsehen. Der Programmierer kann seine guten Absichten nicht beweisen und ich kann der Krypto nicht vollständig trauen. Somit bleibt auch bei Threema immer die Frage: Kann jemand mitlesen? Gibt es eine Hintertür?
Ich bin mit sicher, dass die Entwickler von Threema nur gute Absichten haben und nicht zu den Menschen gehören, die das Vertrauen anderer Menschen ausnutzen, um eigenen Profit daraus zu ziehen. Dennoch ist eine gesunde Portion Skepsis angebracht. Schließlich kam u.A. durch den NSA-Skandal ans Licht, dass Softwareschmieden von Regierungen gezwungen werden, Backdoors zu implementieren oder Schlüssel auszuhändigen, sodass die Verschlüsselung quasi undicht war. Wer kann mir garantieren, dass das bei Threema nicht der Fall ist?
Wer kann mir garantieren, dass die NSA die Android App nicht in Google Play manipuliert hat? Wer kann mir die Sicherheit und die hohe Qualität der App beweisen? Schließlich können wir nicht wissen, ob der Code sorgfältig, oder – wie bei WhatsApp – schlampig geschrieben wurde.
Das alles lässt sich nicht feststellen, wenn der Quellcode nicht öffentlich einsehbar ist. Kryptosoftware muss offen sein, wenn man blindes Vertrauen in die Entwickler nicht voraussetzen kann. Daher mein Appell: Wenn ihr sichere Software schreiben und das volle Vertrauen der Nutzer genießen wollt: Legt euren Code offen.
Nachtrag:
Ich will mit diesem Beitrag nicht sagen, dass Threema schlecht ist. Nutzt lieber Threema als irgendeinen anderen Closed Source Messenger. Am besten nutzt ihr aber Jabber + OTR oder ein vergleichbares Open Source Messaging-System. Ihr solltet euch bei Threema nur bewusst sein, dass eure Nachrichten zwar vor „normalen“ Mitmenschen sicher sind – eventuell aber nicht vor Geheimdiensten und den Betreibern. ;)
http://gleisnetze.de
Das die Software offen ist, heißt ja nicht, dass Sie weiterverwendet werden darf. Also fragt man sich, welche Gründe es gibt, den Quellcode nicht zu veröffentlichen….
https://legacy.thomas-leister.de
Genau. Eigentlich sollte das ja kein Problem sein. Mit Open Source kann man ja auch Geld verdienen. Open Source != freie Software. Muss zugeben, das habe ich auch schon verwechselt…
Vielleicht lassen sich die Threema Entwickler ja doch eines Tages überzeugen, den Code offen zu legen?
http://gleisnetze.de
… jo, der Unterschied zwischen offener und freier Software.
http://vinzv.de
Ein weiteres Problem am Beispiel von Telegram:
Hier ist zwar die App quelloffen und es gibt eine offene API. Das ist sehr schön und schafft ein gutes Ökosystem mit Alternativen und Vielfalt.
Leider ist aber die Serversoftware closed source, womit dann unterm Strich die ganze schöne Idee an die Wand gefahren wird.
http://home.ronny-brossmann.de
Vielleicht interessant für den ein oder anderen:
http://blog.richter.fm/podcast/diewahrheit/20130118/die-wahrheit-017-threema-smartphone-messenger-mit-verschlusselung
Grundsätzlich stimme ich dem Gedanken zu, dass nur OpenSource Software hinreichendes Vertrauen liefern kann – Aaaaber: Könnte die App – deren Quellcode ja dann bekannt wäre – nicht trotzdem im AppStore auf Veranlassung der Nachrichtendienste (insbesondere natürlich der NSA) manipuliert und mit einer Backdoor ausgestattet werden? Dies wäre dann ja quasi unabhängig vom OpenSource-Gedanken zu betrachten.
Außerdem besteht natürlich bei OpenSource Software immer noch das Problem, dass Geheimdienste mit Ihren üppigen Ressourcen viel eher die Möglichkeit haben, Schwachstellen im Code zu finden und zu nutzen, als der Otto-Normal-User (Programmierer). Daher konnte die NSA ja auch schon lange die entsprechenden SSL-Lücken im OpenSSL – Stack ausnutzen…
http://www.none.com
Hallo,
damit eine App (nehmen wir eine Android-App) online gestellt werden kann, muss diese zunächst kompiliert und anschließend hochgeladen werden. Dabei wird die apk-Datei signiert (zugegebenermaßen auch mit einem MD5-Hash, der geknackt ist).
Wenn im Nachhinein die App nun verändert werden würde, würde der Hash nicht mehr stimmen. Davon abgesehen kann man bei Android direkt keine Open-Source-Software veröffentlichen – man muss das SDK benutzen.
Man könnte höchstens den Code oder einen Teil des Codes seperat veröffentlichen, wobei man wiederum irgendwie sicherstellen müsste, dass das auch tatsächlich der Code ist, der in der App im Play-Store verwendet wird.
Außerdem sollte man beachten, dass eine vernünftige Software ständig Updates bekommt, da kann kein Geheimdienst so schnell die Hintertür immer wieder einbauen, auch wenn es die Infrastruktur zulassen würde.
Zur NSA – diese Institution hat eine Menge Ressourcen und ist sicher auch immer sehr fix dabei, Schwachstellen zu finden bzw. diese in künftige Krypto-Verfahren einbauen zu lassen. Trotzdem gibt es auf der Welt wesentlich mehr Programmer, die sich mit diesem Thema befassen – auch die globale Kryptogemeinde sollte man nicht unterschätzen.
Die Gefahr bei Closed-Source ist darüber hinaus nicht nur ein absichtliches Schwächen durch Hintertüren oder Ähnliches, sondern vielmehr ein unbeabsichtliches Einbauen von Sicherheitslücken (z.B. Schlüssel erscheint im Speicher im Klartext).
Diese Sicherheitslücken können viel besser von einem Geheimdienst ausgenutzt werden bzw. von vornherein veranlasst werden.
Das sollten nur ein paar Gedanken sein, das Thema ist sehr umfassend.
Grüße
Hallo,
Die Forderung nach absoluter, generischer Transparenz des Informationsübertragungsweges zum zweck der intransparenz der Information, ist genauso Falsch, wie eine absolute Transparenz der Information.
Hierbei sehe ich die Information, als z.B. eine Nachricht welche von A nach B transportiert wird. Der informaionsübertragungsweg ist zum Beispiel ein Programm wie Threema.
Es besteht grundsätzlich eine Spannung zwischen den individual Rechten und den gemeinschaftlichen Rechten. Die Forderung zur intransparenz der informationsübertragung ist definitiv eine Stützung des Individualrechts und der schwächung der gemeinschaftlichen Rechte. Umgekehrt ist die Transparenz der Information ein absolutes Gemeinschaftsrechts.
Ich finde es muss Diskutiert werden unter welchen umständen wer was wann Lesen darf anstatt immer mit Maximal Forderungen zu arbeiten und mal näher oder weiter von der eigenen maximalen Forderung zu enden, gemessen an der eigenen Individuellen Machtbasis welche gerade besetzt wird.
Ich sehe gerade in der Informatik die Unfähigkeit in der Ausgestaltung und in der Definition aller bestehenden Anforderungen. Meistens wird aus diesem Grund immer das maximum Gefordert, und somit nie Zielgerecht gearbeitet.
Meiner Meinung nach ist Open Source ein Freiheitliches Konzept, das sich in sich gegen niemandes Ziele richtet. Sondern eine Aufforderung darstellt einen allgemeinen Ansatz für alle zu finden. Auch müsste verstätkt Diskutiert werden was z.B. Geheimdienste tun Sollen und wie sie kontrolliert werden, anstatt zu Diskutieren ob Threema nun sicher ist oder nicht.
Absolute Sicherheit gibt es nicht, auch wenn die Diskussion grundsätzlich so geführt wird.
Ich fidne es abslolut bedenklich das Geheimdienste Pauschal zu Feinden hochstlisiert werden, denn damit werden deren Auftraggeber direkt oder indirekt zu Feinden stilisiert. Dies kann nicht gut Enden, und darüber sollte sich jeder im Klaren sein.