Die National Security Agency hasst Verschlüsselung. Jedenfalls dann, wenn andere sie einsetzen. Das war schon in den siebziger Jahren so. Damals versuchte der Geheimdienst, die Entwicklung neuer kryptografischer Verfahren zu beeinflussen und die Verbreitung der Technik in der Gesellschaft zu bremsen, wie Jay Stowsky von der Universität Berkeley in seinem Aufsatz Secrets or Shields to Share? bereits vor zehn Jahren beschrieb. 

Insofern ist der Schweizer Manuel Kasper wahrscheinlich jemand, über den sich die National Security Agency (NSA) ärgern dürfte.

Kasper hat die App Threema entwickelt. Es gibt sie für iOS und Android und sie funktioniert ähnlich wie die überaus erfolgreiche Messaging-App WhatsApp. Beide bieten einen kostenlosen Ersatz für die klassische SMS, indem sie den Versand kurzer Nachrichten, Chats, Fotos und Videos über das Internet abwickeln. Threema aber hat eine Besonderheit, die es beim wiederholt durch eklatante Sicherheitslücken aufgefallene Dienst WhatsApp nicht gibt: sogenannte Ende-zu-Ende-Verschlüsselung. Die bewirkt, dass außer dem Absender und dem Empfänger niemand eine Nachricht mitlesen kann, auch nicht der Anbieter der App und nach allem, was bekannt ist, auch nicht die NSA. 

Threema versucht dabei einen Spagat zwischen Sicherheit und Nutzerfreundlichkeit. Der ist unvermeidbar, denn Sicherheit ist komplex und mühsam, wirklich sichere Systeme lassen sich nicht unkompliziert benutzen und umgekehrt.

Der Threema-Nutzer wird auf eine Weise mit der Verschlüsselung konfrontiert, die derzeit wohl als maximal einfach und verständlich gelten muss: Beim Einrichten der App wird er aufgefordert, mit zufälligen Wischgesten auf dem Smartphone ein Schlüsselpaar zu erstellen, das aus einem privaten und einem öffentlichen Schlüssel besteht. Das geschieht offline, nur auf dem jeweiligen Smartphone, und dauert wenige Sekunden. 

Der private Schlüssel verlässt das Handy zu keinem Zeitpunkt, der öffentliche dagegen muss verbreitet werden. "Alle, die mir eine verschlüsselte Nachricht senden wollen, brauchen dazu diesen Schlüssel", sagt Kasper. Aus dem öffentlichen Schlüssel des Empfängers und dem privaten des Senders wird ein dritter Schlüssel errechnet, mit dem die jeweilige Nachricht dann verschlüsselt wird. Der Empfänger – und nur er – kann sie mit seinem privaten Schlüssel entschlüsseln. Auf den Servern von Threema liegt die Nachricht zu keinem Zeitpunkt entschlüsselt vor, kann also auch nicht an irgendwelche Behörden herausgegeben werden.

Asymmetrische Verschlüsselung heißt das Ganze. Dabei kann Vieles schiefgehen, beim Anbieter genauso wie beim Anwender. Und dann bleibt von der vermeintlich sicheren Kommunikation im Zweifel nicht viel übrig. Cryptocat ist ein Beispiel dafür – in der angeblich sicheren Chat-App entdeckten Kryptografie-Spezialisten schwerwiegende Fehler, dem Entwickler blieb nicht anderes übrig, als Besserung zu geloben und um Hilfe zu bitten.

Kasper verwendet für seine App deshalb eine fertige Kryptografie-Lösung. Die heißt NaCl Cryptography Library, entwickelt hat sie unter anderem der Kryptografie-Guru Daniel J. Bernstein. NaCl ist gemeinfrei und unter Experten als sicher anerkannt, der Quellcode kann von jedem überprüft werden. Außerdem ist NaCl so konzipiert, dass jemand wie Kasper es gefahrlos in eine App einbetten kann.

Besser als Apples iMessage

Um den zuvor erzeugten öffentlichen Schlüssel an Freunde und Bekannte zu verteilen, setzt Threema auf das gleiche Prinzip wie WhatsApp: Der Nutzer kann seine E-Mail-Adresse oder seine Handynummer mit seiner Threema-Identität (ID) verknüpfen. Die App durchsucht anschließend die Kontaktdatenbank auf dem eigenen Telefon nach anderen Threema-Nutzern. Und meldet sich später jemand bei Threema an, der mit seiner Mailadresse oder mit seiner Telefonnummer schon in der eigenen Kontakteliste steht, erscheint er auch in der Liste der eigenen Threema-Kontakte.

Wer Threema keine Kontaktdaten überlassen will, kann neue Kontakte auch manuell hinzufügen. Dazu muss er nur deren ID eingeben, eine achtstellige Kombination aus Buchstaben und Zahlen.

Der Clou von Threema ist die Verifizierung der Schlüssel: Um sicher zu sein, dass ein öffentlicher Schlüssel zu der gewünschten Person gehört, muss der Nutzer diese Person treffen und den QR-Code zu deren ID scannen. Auch das geschieht offline und innerhalb von Sekunden innerhalb der App. Es ist das moderne Äquivalent zu den früheren Key-Signing-Partys für E-Mail-Verschlüsselung. Threema funktioniert auch ohne das Scannen der IDs, aber die App zeigt an, welche öffentlichen Schlüssel sicher und welche nur mutmaßlich zu einer bestimmten Person gehören.

Mit diesem Prinzip ist Threema auch Apples Dienst iMessage überlegen, der zwar ebenfalls eine Verschlüsselung enthält, die Verteilung der Schlüssel aber ohne Zutun der Nutzer regelt, also auch ohne Kontrollmöglichkeit.

Strafverfolger haben schlechte Karten

Welche Daten bekommt Threema nun und welche nicht? Kasper sagt, auf seinen Servern lägen die verschlüsselten Nachrichten, bis sie vom Empfänger abgerufen werden. Danach würden sie vom Server gelöscht, mitunter also schon nach wenigen Augenblicken. Verkehrsdaten, also wer wann wem eine Threema-Nachricht geschickt hat, oder die IP-Adressen der Smartphones speichere er gar nicht. Per Gerichtsbeschluss könne er dazu zwar gezwungen werden, aber natürlich nicht rückwirkend. Nur die Kontaktdaten der Nutzer liegen bei ihm, sofern diese ihre ID mit ihrer Handynummer oder E-Mail-Adresse verknüpft haben, um von ihren Bekannten gefunden und kontaktiert werden zu können.

Wer aber ist dieser Manuel Kasper? Kann man ihm vertrauen? Kasper ist ein 29-jähriger Informatiker, der in Albisrieden am Rand von Zürich arbeitet. Seine Firma Kasper Systems besteht aus ihm und bei Bedarf einigen freien Programmierern. Er entwickelt im Auftrag zum Beispiel von Internet Service Providern spezielle Software. Die Server für Threema gehören ihm selbst. Sein Büro besteht aus zwei Schreibtischen, auf denen sechs Smartphones liegen, fünf davon hat er zu Testzwecken für Threema angeschafft.

Eine bewährte Methode, um sichere Verschlüsselung zu schaffen, ist die Kontrolle des Verfahrens durch unabhängige Dritte. Kasper hat den Quellcode seiner App nicht offengelegt, eine Überprüfung von Experten für eine Art Gütesiegel könne er sich derzeit nicht leisten, sagt er. So ein Audit koste eine fünfstellige Summe und müsse bei jedem Update wiederholt werden.