Mobile Messenger sind zunehmend verschlüsselt und müssen zwingend sicherer werden. Wir stellen die App Smoke Crypto Chat vor.
Die kostenlose App Smoke Crypto Chat vorgestellt. Ein Gastbeitrag von von Claudia Rahmschmid und David Adams.
Mobile Messenger sind zunehmend verschlüsselt und müssen sicherer werden. Sie stehen aktuell immer wieder bei Diskussionen um eine sichere Ende-zu-Ende Verschlüsselung auf der Agenda des Ausprobierens. Auch gerade aufgrund des ausklingenden Endes der Produkt-Lebenszyklen der unsicheren Algorithmen RSA & ECDSA. Während neue Algorithmen gesucht werden, die gegen die Quanten-Computer sicher sind, ist der McEliece-Algorithmus seit rund 40 Jahren etabliert und nun auch in einem Messenger praktikabel veröffentlicht worden.
Und: Eigene, quelloffene, vernetzbare (federierbare) und dezentrale Chat Server werden als Perspektive zu zentralen Chat-Diensten gesehen.
Den Smoke Crypto Chat gibt es bei Fdroid
Ein besonders sicherer Messenger ist als quelloffenes Modellprojekt nun mit einem stabilen aktuellen Release veröffentlicht. Der Smoke-Messenger (zu finden bei Fdroid) nutzt als erster mobiler Messenger weltweit den quantum-computing resistenten McEliece-Algorithmus und läutet damit ein neues Zeitalter in der „Dritten Epoche der Kryptographie“ (Tenzer) und ihrer Quantencomputer ein. Ein stabiler Prototyp. Seine Stärken und Entwicklungsperspektiven stellen wir im Folgenden im Detail vor.
Mobile Messenger sind zunehmend verschlüsselt und müssen sicherer sein. Sie stehen aktuell immer wieder bei den Diskussionen um eine sichere Ende-zu-Ende Verschlüsselung auf der Agenda eines Ausprobierens, auch gerade aufgrund des ausklingenden Endes der Produkt-Lebenszyklen der unsicheren Algorithmen RSA und elliptischen Kurven wie ECDSA. Ein besonders sicherer Messenger ist nun als Modellprojekt mit einem stabilen aktuellen Release veröffentlicht: Der Smoke Crypto Chat Messenger nutzt als erster mobiler Messenger weltweit den quantum-computing resistenten McEliece-Algorithmus und läutet damit ein neues Zeitalter ein.
Diese „Dritte Epoche der Kryptographie“ – wie Autor Theo Tenzer das Zeitalter der leistungsstarken Quanten-Super-Computer in seinem gleichnamigen Einführungs-Buch zur Kryptographie nennt – erfordert neue Überlegungen im Bereich des sicheren Messagings. Das McEliece Messaging im Messenger „Smoke“ ist dazu ein erster Schritt und Pionier in der angewandten Kryptographie.
Algorithmus RSA mittlerweile zu unsicher
Denn, seitdem das amerikanische Institut NIST bereits schon in 2016 bekannt gegeben hat, dass der Algorithmus RSA je nach Schlüsselgröße (mehr oder minder) als gebrochen (auch hinsichtlich zukünftiger Rechenkraft der Supercomputer) anzusehen ist, kommt es im bevorstehenden Zeitalter des Quantum Computings darauf an, die dort möglich werdenden Angriffe auf Verschlüsselung bestmöglich abzusichern. Der gleichnamige Algorithmus des kürzlich verstorbenen Robert McEliece wird dabei neben dem Algorithmus NTRU als besonders sicher angesehen.
Nun hat ein erster mobiler Messenger diesen Algorithmus implementiert und ist mit einem weiteren stabilen Release erschienen. Der Smoke Personal Crypto Chat Messenger. Dieser ist quelloffen bei Github hinterlegt und hat auch die strengen Anforderungen an den Quellcode bei einer Prüfung durch das alternative Downloadportal Fdroid durchlaufen.
Der Messenger integriert sich in eine Chat-Server Architektur, die zudem dezentral und federierbar (kompatibel zusammenschaltbar) sein kann. Der dazugehörige Server heißt: SmokeStack und basiert auf dem Echo-Protokoll, das die verschlüsselte Nachricht nochmals (also mittels Multiverschlüsselung) durch eine HTTPS-/TLS-Verbindung absichert.
Die Server-Frage ist für Messaging ganz entscheidend:
Smoke-Kommunikation durch eigenen Server für die Familienkommunikation? – Der Server-Setup auf Android wird zum Lernthema. Die Server-Frage für die Messaging-Kommunikation ist dabei eine ganz entscheidende. Bislang hatte XMPP aka Jabber die Rolle der führenden dezentralen Serverarchitektur inne, da XMPP gut dokumentiert und auch häufig angewandt ist.
Deren Server sind jedoch nicht alle mit den XEP-Erweiterungen für Verschlüsselung technisch kompatibel. Sie sind auch in der Implementierung nicht durchgängig verschlüsselt oder bestehen die Compliance-Tests nicht. Hinzu kommt, dass selbst Server, die Verschlüsselung umsetzen können wie Ejabberd oder Prosody, oftmals nur für Fachexperten installierbar sind. Auch Alternativen wie Matrix– oder Signal-Server sind selbst für IT-Interessierte kaum installierbar, geschweige denn kompilierbar oder quelloffen. Sie benötigen zudem oftmals einen Amazon-AWS-Docker-Zugang. Und und und..
Der SmokeStack Server ist hier nicht nur quelloffen, sondern wesentlich einfacher zu administrieren. Er ist eine einfach zu bedienende Applikation, die unter Android läuft. SmokeStack beschreibt damit einfache mobile Kommunikationsserver für die Hosentasche in der Jeans, das eigene Heim oder für das Klassenzimmer. Weitere Echo-Server (wie Spot-on oder Spot-on-Lite) bestehen für zahlreiche Betriebssysteme.
Idee und Lernziel kann es damit zunehmender sein, dass Informatiklehrer an jeder Schule einen quelloffenen Kommunikationsserver für seine Klasse ohne weitere Abhängigkeiten aufsetzen und administrieren kann. Und dazu verschiedene Klienten und angepasste Benutzeroberflächen zur Verfügung stehen – die im besten Fall so aussehen wie WhatsApp. Ein Chat-Server sollte von jedem IT-Lehrer in der Schule eingerichtet werden können.
Der Server-Setup ist bei dieser Art des Echo-Servers mit der Applikation Smokestack sehr einfach über eine Android App gegeben – die eigentliche Messaging App Smoke ermöglicht mit SmokeStack einen eigenen Server aufzusetzten und eröffnet daher allen Interessierten den Zugang zum Quantum-Computing sichereren McEliece-Messaging.
Smoke Crypto Chat Messenger: Fiasco Forwarding in der Kryptographie
Der Smoke Chat-Klient ist nicht nur quelloffen und mit der McEliece-Verschlüsselung ausgestattet, sondern ermöglicht dem Nutzer selbst definierte Passphrasen im Sinne eines „Customer Supplied Encryption Keys“ (CSEK) für eine sichere Ende-zu-Ende Verschlüsselung einzubringen: Das Cryptographische Calling, eine Ende-zu-Ende Verschlüsselung im Sinne des Forward Secrecy mit temporären Schlüsseln vorzusehen, kann also mit selbstgewählter, individueller Passphrase auf beiden Seiten erfolgen (symmetrische Verschlüsselung).
Ebenso sind auch temporäre asymmetrische Schlüssel mit den Algorithmen McElliece (4 verschiedene Moduli) bzw. RSA im Messenger Smoke verwendbar: es wird eine Publik Key Infrastruktur (PKI) genutzt, also mit einem privaten und einem öffentlichen McEliece-Schlüssel. Der mathematische Clou: RSA-Schlüssel-Nutzer können auch mit McEliece-Schlüssel-Nutzern chatten. Der Messenger ist ein good practice Modell, um IT-Personal ausbilden, indem Schüler den McEliece Algorithmus kennen lernen können und Mathematiker erläutern lernen, wie RSA-Schlüssel mit McEliece-Schlüsseln interoperabel werden.
Fiasco-Keys
Ergänzend sind im Smoke Messenger sogenannte Fiasco-Keys implementiert: Diese sind ebenso im Sinne des Forward Secrecy ein ganzes Bundle an temporären Schlüsseln für die Verschlüsselung und werden für entsprechende Entschlüsselungsversuche beginnend bei dem aktuellsten in einem Cache vorgehalten.
XMPP mit kompatiblen mobilen Klienten ist daher historisch eher in der Entwicklung aus einer Verschlüsselung heraus zu verorten, bei der pro Sitzung nur ein Schlüssel gesandt wird (OTR-Verschlüsselung), die sich inzwischen zur OMEMO-Verschlüsselung mit einem Schlüssel pro Nachricht gemausert hat.
Die aktuelle Weiterentwicklung ist: Fiasco Forwarding (FF) ist gegenüber dem OMEMEO bzw. auch Signal-Protokoll, bei dem der (eine) Schlüssel der kommenden Nachricht sehr schematisch aus dem Schlüssel für die vorherige Nachricht abgeleitet wird, wesentlich volatiler, d.h. Verschlüsselung wird sicherer durch Fiasco Forwarding (FF)– und Messaging wird durch diese Prozessgestaltung auch zu einem sichereren Prozess.
Ist ein Schlüssel im Signal-Protokoll (und damit auch bei der WhatsApp-Verschlüsselung) bekannt, könnten auch Folge-Nachrichten entschlüsselt werden, die sich dann auch auf die weiteren Schlüssel beziehen können – und sich wie eine Laufmasche im Strumpf dann aufribbeln. Die Sicherheit ist dahin bei einem rein schematisch zugeordneten und nach permanenter Methode abgeleiteten Schlüssel (sog. Double Ratchet Verfahren).
Das Protokoll des Fiasco Forwardings im Echo Protokoll ist hier also ausgereifter, da es zahlreiche Optionen lässt. Das Signal der Bewertung eines Entwicklungstrends in der Kryptographie geht also in die Weiterentwicklung eines Schlüsselübertragungsprotokolls. Vom Signal-, ehemals Axolotl- oder Omemo-Protokoll, hin zu Fiasco-bezogenen, volatilen Optionen in der Kryptographie, bei dem wesentlich mehr als ein Schlüssel pro Nachricht gesandt werden.
Eigene Telefonnummer nicht erforderlich für Smoke Crypto Chat
Die Chat-ID ist im Smoke-Chat über eine 32-stellige Nummer geregelt, so dass der Nutzer seine eigene Telefonnummer nicht bekannt geben muss. Der automatische Telefonbuch-Upload ist ja insbesondere nach der Datenschutzgrundverordnung DGSVO die gesetzeswidrige Nicht-Konformität von anderen Messengern mit Risiko im Klagefall. Über diese ID basierend auf dem SIP-Hash-Verfahren werden die kryptographischen Schlüssel sicher übertragen.
Da sich eine so lange Nummer aber keiner merken kann (oder sie eintippen will), besteht die weitere Option der Nutzung eines Alias. Ein Chat-Nutzer definiert dabei im Chat-Klienten einen Alias-Begriff, beispielsweise den Stadtnamen „Berlin“, da er dort wohnt, und der Chat-Freund gibt diesen ebenso für diesen Nutzer ein. Fertig. Über diesen Kanal „Berlin“ werden sodann die McEliece-Schlüssel getauscht und der gesicherte Chat kann (sodann über McEliece) beginnen.
Das heißt: Zentrale Schlüsselserver sind durch die AutoCrypt-Funktion abgelöst worden. Bei AutoCrypto, tauschen die Programme zweier Chat Partner die öffentlichen Schlüssel automatisch. AutoCrypt geht zurück auf die Idee eines REPLEOS, bei dem selbst der öffentliche Schlüssel eines Nutzers wiederum mit dem Schlüssel des Freundes nur verschlüsselt zurückgesandt wird. Es wird angewandt beispielsweise von dem vielversprechenden Messengern DeltaChat und weiteren, die Chat über E-Mail-Server anwenden (mittels des POPTASTIC Protokolls). Nun kommt der Smoke Messenger und wandelt den Weg vom Schlüsselserver hin zu AutoCrypto noch einen Schritt weiter. AutoCrypto wird durch die Alias ersetzt. Ein einfacher Schlüssel auf Basis des gewählten Passwortes („Berlin“) – das zu keinem Verschlüsselungsregelwerk inkompatibel wäre – erstellt einen Kanal, durch den sodann die sicheren öffentlichen Schlüssel geteilt werden.
Übertragung von Bildern, Emoticons etc. möglich
Neben Text kann man im Chat auch Emoticons und Bilder verschicken. Letztere werden in einem verschlüsselten Container auf dem Smartphone abgespeichert. Das heißt ein Bild muss auch erst als Anhang daraus ausgeleitet werden, bevor es unverschlüsselt weiterverwandt werden kann. Für den Datei-Transfer beliebiger Dateien (auch in beliebiger Größe) von Handy zu Handy besteht eine eigene Funktion. Das Besondere hier: Die Dateien können verschlüsselt auch an einen SSH-Klienten gesandt werden und benötigen keinen zweiten Smoke-Klienten. Auch dieser Standard setzt auf Interoperabilität mittels des Steam-Protokolls.
Nachrichten an Offline-Nutzer werden in einer sogenannten Ozone-Postbox zwischengespeichert, dessen Namen im Klienten Smoke und Server SmokeStack lediglich gleich benannt sein muss. Alles weitere regeln die kryptographischen Schlüssel im SmokeStack Server automatisch. Der Gruppenchat ist derzeit im IRC-stil auf Basis einer symmetrischen Verschlüsselung etabliert und kompatibel mit dem Klienten der Encryption-Suite Spot-On.
Der Smoke-Stack Server ist zugleich auch ein Schlüssel-Server der Nutzer (was XMPP- u.a. Server beispielsweise nicht sind). Selbst aus dem Smoke Klienten heraus kann der öffentliche Schlüssel eines Freundes an die direkte IP-Verbindung für eine schnellere Vernetzung an Server oder Freunde weitergeleitet werden.
Weitere App-Perspektiven mit freien Entwicklern aus der Community
Der Messenger-Klient Smoke gilt seit 2016 als weltweit erster mobiler McEliece-Messenger (neben weiteren Implementationen auf dem Desktop) und ist mit dem aktuellen Release voll funktionsfähig. Der nun integrierte öffentliche Server ermöglicht ein Kennen Lernen der Bedienung der neuen Elemente. Eine weiter angepasste und aufpolierte Benutzeroberfläche (insbesondere für die einzelnen Einstellungen) könnte hier die Bedienung vereinfachen. Ein italienisches Entwicklerteam hat bereits mit einer Neuentwicklung der Benutzeroberfläche für das IPhone begonnen. Sie haben das Projekt für seine eigene Entwicklung „gegabelt“ (geforkt).
Wünsche, die Benutzeroberfläche wie WhatsApp aussehen zu lassen, müssen wir jedoch enttäuschen. Wir bleiben in diesem Modellprojekt bei Entwicklungsaufgaben, die jedoch alle keine Rocket Science sind. Es benötigt Organisationen wie Hochschulen und Universitäten, die noch selbst entwickeln, statt am Markt kaufen zu gehen. Oder freie und interessierte GUI- & Java-Entwickler für Android aus dem gemeinwohlorientierten Community-Umfeld, die einen Chat-Klienten auf Basis des einfachen Servers SmokeStack mit simpler Architektur des HTTPS-Versands einer – mit McEliece – verschlüsselten Nachricht erstellen.
Würde man dieses prototypische Modell-Konzept z.B. als eigene Weiterentwicklung und Chat-Klient weiter anpassen, könnte diese Chat-App dann jede Schule ohne großen Administrationsaufwand einsetzen. Die Zukunft liegt weder im proprietären Protokoll, den Bibliotheken für den Code, noch in der Hübschheit einer App. Sie liegt in der Einfachheit eines dezentral aufzusetzenden Chat-Servers in jedem Klassenraum eines Informatiklehrers. Oder dem (finanziellen Einspar-)Ziel auch für Organisationen wie Vereinen und Kommunen, einen eigenen quelloffenen Messenger für die Mitglieder entwickelt zu haben und kostengünstig selbst betreiben zu können.
Ziel: Unabhängigkeit von ausländischen Kommunikationsservern
Schließlich geht es auch um die staatliche und kommunale Unabhängigkeit von ausländischen Kommunikationsservern in der Architektur unserer Software-Landschaft. Und um die datenschutzkonforme Gestaltung – ohne Upload der Telefonnummern von Freunden.
Wer (technischer) Ver- und (auch) Entschlüsselungsweltmeister werden will, könnte auch die Führung in der Entwicklung von kryptographischen Messengern und deren Lerninhalten übernehmen. Nicht zu vergessen, „mehr Verschlüsselung wagen“, wie Saskia Esken es seinerzeit formulierte. Doch derzeit wird eher das Gegenteil im Sinne von Privatsphäre und Verschlüsselung von privaten Daten der Bürgerinnen und Bürger getan.
Die Prototypen Smoke und SmokeStack stehen mit ihrer Code-Basis dazu nicht nur zur Evaluation, sondern auch zur freien Verfügung. Quelloffenheit ermöglicht Studierenden das gemeinsame Lernen im Bereich der Kryptographie z.B. anhand dieses bislang pionierhaften McEliece-Messengers.
Vielen Dank an Claudia Rahmschmid und David Adams für ihren Gastbeitrag!