Verschlüsselung: Validation von Threema ist wenig aussagekräftig

Der Messenger Threema verspricht sichere Verschlüsselung und bietet eine sogenannte "Validation", bei der ein Nutzer angeblich überprüfen kann, ob eine Nachricht korrekt verschlüsselt wurde. Doch die Validation sagt wenig über die Sicherheit des Systems.

Artikel veröffentlicht am , Hanno Böck
Die Threema-Validation funktioniert zwar, sagt aber wenig aus.
Die Threema-Validation funktioniert zwar, sagt aber wenig aus. (Bild: Screenshot / Hanno Böck)

Threema profitiert zurzeit wie viele andere mobile Messenger von abwandernden Whatsapp-Nutzern. Der von einem Schweizer Unternehmen entwickelte Messenger wirbt mit Ende-zu-Ende-Verschlüsselung. Der größte Kritikpunkt an Threema ist der fehlende Quellcode: Das Programm steht Nutzern nur als Binärpaket zur Verfügung. Gerade bei Kryptographie ist aber für viele Fachleute die Verfügbarkeit des Quellcodes essentiell. Denn damit können Dritte am besten überprüfen, ob eine Verschlüsselung auch wirklich sicher ist. Als der Autor dieses Artikels vor kurzem in einem Kommentar Threema kritisierte, wurden wir von vielen Lesern darauf hingewiesen, dass Threema die Möglichkeit biete, die Verschlüsselung zu prüfen. Wir haben uns daher die Threema Encryption Validation näher angesehen.

Die Verschlüsselung von Threema

Inhalt:
  1. Verschlüsselung: Validation von Threema ist wenig aussagekräftig
  2. Nur Reverse Engineering könnte Aufschluss geben

Threema nutzt für die Verschlüsselung die NaCl-Bibliothek. Hinter NaCl stehen die bekannten Kryptographen Daniel Bernstein und Tanja Lange. Das Ziel bei der Entwicklung von NaCl war explizit, eine Bibliothek zu schaffen, bei der man wenig falsch machen kann. Die Komplexität der kryptographischen Operationen ist weitgehend abstrahiert, so dass ein Programmierer mit wenigen Funktionsaufrufen eine Verschlüsselung realisieren kann.

NaCl genießt unter Kryptographen einen exzellenten Ruf, und an der Nutzung dieser Bibliothek ist wenig auszusetzen. Der Quellcode von NaCl ist Public Domain und kann von jedem geprüft und genutzt werden, egal ob in freier Software oder in proprietären Programmen wie Threema.

Die Validation von Threema

Threema ermöglicht es, verschlüsselte Nachrichten in einem Logfile auf dem Smartphone zu speichern. Diese können dann mit zwei kleinen Programmen überprüft werden, die die NaCl-Bibliothek verwenden und auf der Threema-Webseite im Quellcode heruntergeladen werden können. Hierzu ist der private Schlüssel des Anwenders nötig.

Wir konnten die Funktionsweise dieser Validation nachvollziehen. Das Programm ließ sich unter Linux problemlos kompilieren. Die Threema-Entwickler werben auf der Webseite zur Validation mit einem großen Versprechen: "Threema enthält ein 'Validation logging'-Feature, welches es jedem ermöglicht, unabhängig zu prüfen, dass die von Threema versendeten Nachrichten mit der NaCL-Bibliothek Ende-zu-Ende-verschlüsselt wurden."

Doch was sagt die Validation wirklich aus? Zunächst ist es für einen Nutzer nicht möglich zu prüfen, ob die Nachricht, die von Threema geloggt wird, auch wirklich der Nachricht entspricht, die online versendet wurde. Wir haben das getestet und den Datenverkehr von Threema beobachtet. Das Problem dabei: Threema verbindet sich per HTTPS mit einem API-Server unter api.threema.ch. Das ist im Grunde eine sinnvolle Maßnahme, um den Protokolldatenverkehr zusätzlich zu schützen, doch die Validation wird damit zur Makulatur.

Wir haben testweise versucht, den HTTPS-Datenstrom mit einer Man-in-the-Middle-Attacke und einem gefälschten Zertifikat mitzulesen; das hat aber erwartungsgemäß nicht funktioniert, da Threema offenbar das Zertifikat des API-Servers prüft. Auch das ist selbstverständlich sinnvoll, doch es unterbindet jeden Versuch, Einblick in den Datenverkehr zu bekommen.

Doch selbst wenn ein Nutzer darauf vertraut, dass eine verschlüsselte Nachricht, die im Logfile abgespeichert wird, auch der tatsächlich verschickten Nachricht entspricht: Die Aussagekraft ist gering. Dazu lohnt sich ein Blick auf eine von Threema geloggte Nachricht. Diese besteht aus einem Nonce und der eigentlichen, verschlüsselten Nachricht. Der Nonce ist ein Zufallswert, zumindest dann, wenn die Verschlüsselung korrekt arbeitet. Darauf muss der Anwender aber vertrauen. Will ein Programmautor eine böswillige Hintertür in eine Verschlüsselungssoftware einbauen, bietet sich der Nonce geradezu an. Man könnte dort etwa Informationen einbauen, die mit einem geheimen, im Programm integrierten Schlüssel verschlüsselt sind. Ein so verschlüsseltes Datenpaket sieht ohne Kenntnis des Geheimschlüssels nach Zufallszahlen aus, für den Nutzer scheint also alles in Ordnung zu sein.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed
Nur Reverse Engineering könnte Aufschluss geben 
  1. 1
  2. 2
  3.  


Simon B. 20. Apr 2016

Siehe: https://shop.threema.ch/eula

Jenny_Webber 28. Jul 2014

Das iOS Data Protection Feature nützt bei einem Messenger leider wenig bis nichts. Denn...

blubby666 28. Jul 2014

Die könnten doch dann immernoch wie jetzt bei Threema für den Offline Zeitraum auf dem...

ikhaya 23. Mär 2014

Ich denke das die Infos von Jan Ahrens zum Protokoll von Threema durchaus interessant...



Aktuell auf der Startseite von Golem.de
5.000 Fahrzeuge pro Woche
Tesla steigert Giga-Berlin-Produktion und lockt mit Rabatten

Tesla hat Ende März 2023 einen wöchentlichen Ausstoß von 5.000 Fahrzeugen erreicht. Derweil sollen Sonderrabatte Kunden locken.

5.000 Fahrzeuge pro Woche: Tesla steigert Giga-Berlin-Produktion und lockt mit Rabatten
Artikel
  1. 25 Jahre Starcraft: Der E-Sport-Dauerbrenner
    25 Jahre Starcraft
    Der E-Sport-Dauerbrenner

    Vor 25 Jahren erschien mit Starcraft eines der wichtigsten und wegweisendsten Echtzeitstrategiespiele aller Zeiten. Macht der RTS-Hit von Blizzard auch heute noch Spaß?
    Von Andreas Altenheimer

  2. Verbrennerverbot: So kann die E-Fuels-Regelung noch scheitern
    Verbrennerverbot
    So kann die E-Fuels-Regelung noch scheitern

    Zwar haben sich Regierung und EU-Kommission auf ein Verfahren zur Zulassung von E-Fuel-Autos geeinigt. Doch dieses muss noch einige Hürden überwinden.

  3. Smart-Home-Anwendung: MQTT unter Java nutzen
    Smart-Home-Anwendung
    MQTT unter Java nutzen

    Wer Daten von Sensoren oder ähnlichen Quellen von A nach B senden möchte, kann das Protokoll MQTT verwenden, dank entsprechender Bibliotheken auch einfach unter Java.
    Eine Anleitung von Florian Bottke

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    • Daily Deals • MediaMarkt-Osterangebote • 3 Spiele kaufen, 2 zahlen • Cyberport Jubiläums-Deals • Alternate: Corsair Vengeance 32 GB DDR-6000 116,89€ u. 64 GB DDR-5600 165,89€ • MindStar: AMD Ryzen 7 5800X 209€ • MSI Optix 30" WFHD/200 Hz 289€ • WD_BLACK SN850 2 TB 189€ • NBB Black Weeks [Werbung]
    •  /