Mobile Messenger werden immer häufiger verschlüsselt und müssen unbedingt sicherer werden. Wir möchten die App Smoke Crypto Chat vorstellen. Die kostenlose App Smoke Crypto Chat wird vorgestellt. Ein Gastbeitrag von Claudia Rahmschmid und David Adams.
Mobile Messenger werden immer häufiger verschlüsselt und müssen sicherer werden. Sie stehen immer wieder im Mittelpunkt der Diskussionen über sichere Ende-zu-Ende-Verschlüsselung, insbesondere aufgrund des auslaufenden Lebenszyklus der unsicheren RSA- und ECDSA-Algorithmen. Während nach neuen Algorithmen gesucht wird die gegen Quantencomputer resistent sind, hat der McEliece-Algorithmus seit über 40 Jahren eine etablierte Position und wurde nun ebenfalls in einem praktikablen Messenger implementiert. Darüber hinaus werden eigene, quelloffene, vernetzbare (federierbare) und dezentrale Chat-Server als Alternative zu zentralisierten Chat-Diensten betrachtet.
Den Smoke Crypto Chat gibt es bei Fdroid. Ein besonders sicherer Messenger wurde nun als quelloffenes Modellprojekt mit einer stabilen aktuellen Version veröffentlicht. Der Smoke-Messenger (bei Fdroid erhältlich) ist der weltweit erste mobile Messenger der den quantencomputing-resistenten McEliece-Algorithmus verwendet und dadurch ein neues Zeitalter in der "Dritten Epoche der Kryptographie" (Tenzer) und ihrer Quantencomputer einläutet. Ein stabiler Prototyp. Im Folgenden stellen wir seine Stärken und Entwicklungsperspektiven im Detail vor.
Mobile Messenger werden immer häufiger verschlüsselt und müssen sicherer sein. Sie stehen immer wieder im Mittelpunkt der Diskussionen über sichere Ende-zu-Ende-Verschlüsselung, insbesondere aufgrund des auslaufenden Lebenszyklus der unsicheren RSA- und elliptischen Kurvenalgorithmen wie ECDSA. Ein besonders sicherer Messenger wurde nun als Modellprojekt mit einer stabilen aktuellen Version veröffentlicht: Der Smoke Crypto Chat Messenger ist der weltweit erste mobile Messenger der den quantencomputing-resistenten McEliece-Algorithmus verwendet und somit ein neues Zeitalter einläutet.
Diese "Dritte Epoche der Kryptographie" - wie Autor Theo Tenzer das Zeitalter der leistungsstarken Quanten-Supercomputer in seinem gleichnamigen Einführungsbuch zur Kryptographie nennt - erfordert neue Ansätze im Bereich der sicheren Nachrichtenübermittlung. Das McEliece-Messaging im Messenger "Smoke" ist ein erster Schritt in Richtung angewandter Kryptographie.
Da der RSA-Algorithmus aufgrund der steigenden Rechenkraft von Quantencomputern unsicher geworden ist, gilt der McEliece-Algorithmus zusammen mit dem NTRU-Algorithmus als besonders sicher. Nun wurde der erste mobile Messenger implementiert der diesen Algorithmus verwendet und mit einem weiteren stabilen Release veröffentlicht wurde. Der Smoke Personal Crypto Chat Messenger. Er ist quelloffen und erfüllt die strengen Anforderungen des Quellcodes bei einer Überprüfung durch das alternative Downloadportal Fdroid.
Der Messenger integriert sich in eine Chat-Server-Architektur die dezentral und federierbar (kompatibel zusammenschaltbar) sein kann. Der dazugehörige Server, SmokeStack genannt, basiert auf dem Echo-Protokoll, das die verschlüsselte Nachricht zusätzlich über eine HTTPS-/TLS-Verbindung absichert.
Die Wahl des Servers ist für Messaging von entscheidender Bedeutung: Smoke-Kommunikation über einen eigenen Server für die Familienkommunikation? - Die Einrichtung des Servers auf Android wird zu einem Lernthema. Die Wahl des Servers für die Messaging-Kommunikation ist entscheidend. Bisher hatte XMPP aka Jabber die Rolle der führenden dezentralen Serverarchitektur inne, da XMPP gut dokumentiert und häufig verwendet wurde. Ihre Server sind jedoch nicht alle technisch kompatibel mit den XEP-Erweiterungen für Verschlüsselung. Sie sind auch in der Implementierung nicht durchgängig verschlüsselt oder bestehen den Compliance-Test nicht. Darüber hinaus sind selbst Server die Verschlüsselung unterstützen können ebenso wie Ejabberd oder Prosody oft nur für Fachexperten installierbar. Auch Alternativen wie Matrix- oder Signal-Server sind selbst für IT-Interessierte kaum installierbar, geschweige denn kompilierbar oder quelloffen. Sie erfordern oft einen Zugang zu Amazon-AWS-Dockern. Und und und...
Der SmokeStack-Server ist nicht nur quelloffen, allerdings auch wesentlich einfacher zu verwalten. Es handelt sich um eine benutzerfreundliche Anwendung die unter Android läuft. Mit SmokeStack können einfache mobile Kommunikationsserver für die Hosentasche, das eigene Zuhause oder das Klassenzimmer eingerichtet werden. Weitere Echo-Server wie Spot-on oder Spot-on-Lite stehen für zahlreiche Betriebssysteme zur Verfügung.
Die Idee und das Lernziel besteht darin. Dass Informatiklehrer an jeder Schule einen quelloffenen Kommunikationsserver für ihre Klasse einrichten und verwalten können, ohne weitere Abhängigkeiten. Dazu stehen verschiedene Clients und angepasste Benutzeroberflächen zur Verfügung die im besten Fall wie WhatsApp aussehen. Jeder IT-Lehrer sollte in der Lage sein, einen Chat-Server in der Schule einzurichten.
Die Einrichtung des Servers ist bei dieser Art von Echo-Server mit der Anwendung Smokestack über eine Android-App sehr einfach - der eigentliche Messaging-App Smoke ermöglicht es Ihnen, einen eigenen Server einzurichten und allen Interessierten dadurch den Zugang zur Quantum-Computing-sicheren McEliece-Nachrichtenübermittlung zu ermöglichen.
Rauch 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 es dem Benutzer auch, benutzerdefinierte Passphrasen für eine sichere Ende-zu-Ende-Verschlüsselung im Sinne eines "Kunden-Supplied Encryption Keys" (CSEK) einzuführen: Das "Cryptographische Calling", eine Ende-zu-Ende-Verschlüsselung im Sinne der Forward Secrecy mit temporären Schlüsseln, kann also mit einer selbst gewählten individuellen Passphrase auf beiden Seiten erfolgen (symmetrische Verschlüsselung). Auch temporäre asymmetrische Schlüssel mit den Algorithmen McEliece (4 verschiedene Module) oder RSA können im Smoke Messenger verwendet werden: Es wird eine Public Key Infrastructure (PKI) verwendet, bei der ein privater und ein öffentlicher McEliece-Schlüssel verwendet werden. Der mathematische Clou: RSA-Schlüssel können auch mit McEliece-Schlüsseln verwendet werden. Der Messenger ist ein gutes Beispiel um IT-Personal auszubilden, indem Schüler den McEliece-Algorithmus kennenlernen und Mathematiker lernen wie RSA-Schlüssel mit McEliece-Schlüsseln interoperabel werden.
Fiasco-Keys Zusätzlich sind im Smoke Messenger sogenannte Fiasco-Keys implementiert: Diese sind im Sinne der Forward Secrecy ein ganzes Bundle temporärer Schlüssel für die Verschlüsselung und werden für entsprechende Entschlüsselungsversuche in einem Cache vorgehalten, beginnend mit dem neuesten.
XMPP mit kompatiblen mobilen Clients ist historisch eher aus einer Verschlüsselung heraus entwickelt worden, bei der pro Sitzung nur ein Schlüssel gesendet wird (OTR-Verschlüsselung) und sich mittlerweile zur OMEMO-Verschlüsselung mit einem Schlüssel pro Nachricht weiterentwickelt hat. Die aktuelle Weiterentwicklung ist das Fiasco Forwarding (FF), das gegenüber dem OMEMEO und auch dem Signal-Protokoll, bei dem der (eine) Schlüssel für die nächste Nachricht sehr schematisch aus dem Schlüssel für die vorherige Nachricht abgeleitet wird, wesentlich volatiler ist. Das Protokoll des Fiasco Forwardings im Echo-Protokoll bietet also eine ausgereiftere Lösung, da es viele Optionen bietet. Die Weiterentwicklung des Schlüsselübertragungsprotokolls geht von einem Signal-, ehemals Axolotl- oder OMEMO-Protokoll, zu Fiasco-bezogenen, volatilen Optionen in der Kryptographie über, bei denen weiterhin als ein Schlüssel pro Nachricht gesendet wird.
Die eigene Telefonnummer ist nicht erforderlich für Smoke Crypto Chat Der Chat-ID im Smoke-Chat wird über eine 32-stellige Nummer geregelt, sodass der Benutzer seine eigene Telefonnummer nicht angeben muss. Der automatische Upload des Telefonbuchs ist insbesondere nach der Datenschutzgrundverordnung GDPR ein Verstoß gegen das Gesetz und ein Risiko bei Klagen. Über diese ID die auf dem SIP-Hash-Verfahren basiert, werden die kryptografischen Schlüssel sicher übertragen. Da sich niemand eine so lange Nummer merken kann (oder sie eingeben möchte), besteht die Möglichkeit, einen Alias zu verwenden. Ein Chat-Benutzer definiert einen Alias-Begriff, zum Beispiel den Namen seiner Stadt "Berlin" und der Chat-Freund gibt ihn auch für diesen Benutzer ein. Fertig. Über diesen Kanal "Berlin" werden dann die McEliece-Schlüssel ausgetauscht und der sichere Chat kann beginnen (über McEliece).
Das bedeutet, dass zentrale Schlüsselserver durch die AutoCrypt-Funktion ersetzt wurden. Bei AutoCrypto tauschen die Programme zweier Chat-Partner automatisch die öffentlichen Schlüssel aus. AutoCrypt basiert auf der Idee eines REPLEOS – bei dem sogar der öffentliche Schlüssel eines Benutzers mit dem Schlüssel des Freundes verschlüsselt zurückgesendet wird. Es wird beispielsweise von vielversprechenden Messengern wie DeltaChat und anderen verwendet die Chat über E-Mail-Server ermöglichen (mithilfe des POPTASTIC-Protokolls). Nun geht der Smoke Messenger einen Schritt weiter und ersetzt AutoCrypt durch Alias. Ein einfacher Schlüssel basierend auf dem ausgewählten Passwort ("Berlin") - der mit keiner Verschlüsselungsregelung unvereinbar wäre - erstellt einen Kanal, über den sichere öffentliche Schlüssel ausgetauscht werden.
Übertragung von Bildern, Emoticons und-so-weiter… möglich Neben Text können im Chat auch Emoticons und Bilder verschickt werden. Letztere werden in einem verschlüsselten Container auf dem Smartphone gespeichert. Das bedeutet • dass ein Bild zuerst aus diesem Container extrahiert werden muss • bevor es unverschlüsselt weitergegeben werden kann. Es gibt auch eine separate Funktion zum Übertragen von Dateien beliebiger Größe von Handy zu Handy. Das Besondere hierbei ist, dass die Dateien verschlüsselt auch an einen SSH-Client gesendet werden können und keine zweite Smoke-App benötigt wird. Dieser Standard setzt ähnlich wie auf Interoperabilität über das Steam-Protokoll.
Nachrichten an Offline-Benutzer werden in einer sogenannten Ozone-Postbox zwischengespeichert, deren Name im Client Smoke und Server SmokeStack übereinstimmen muss. Alles Weitere wird automatisch von den kryptografischen Schlüsseln im SmokeStack-Server geregelt. Der Gruppenchat basiert derzeit auf einer symmetrischen Verschlüsselung im IRC-Stil und ist kompatibel mit dem Client der Encryption-Suite Spot-On.
Der Smoke-Stack-Server ist auch ein Schlüsselserver für die Benutzer (was zum Beispiel XMPP-Server nicht sind). Selbst aus dem Smoke-Klienten heraus kann der öffentliche Schlüssel eines Freundes an die direkte IP-Verbindung weitergeleitet werden um die Verbindung zu Servern oder Freunden schneller herzustellen.
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 der aktuellen Version voll funktionsfähig. Der nun integrierte öffentliche Server ermöglicht es den Benutzern die neuen Funktionen kennenzulernen. Eine weitere angepasste und verbesserte Benutzeroberfläche (insbesondere für die einzelnen Einstellungen) könnte die Bedienung vereinfachen. Ein italienisches Entwicklerteam hat bereits mit der Entwicklung einer neuen Benutzeroberfläche für das iPhone begonnen. Sie haben das Projekt für ihre eigene Entwicklung "gegabelt" (geforkt).
Wir müssen jedoch enttäuschen: Der Wunsch die Benutzeroberfläche wie WhatsApp aussehen zu lassen, nicht erfüllt werden kann. In diesem Modellprojekt konzentrieren wir uns auf Entwicklungsaufgaben die jedoch alle keine Rocket Science sind. Es bedarf Organisationen wie Hochschulen und Universitäten die selbst ausarbeiten, anstatt auf dem Markt zu kaufen. Oder freie und interessierte GUI- und Java-Entwickler für Android aus dem gemeinwohlorientierten Community-Umfeld die welche Chat-Clienten auf Basis des einfachen Servers SmokeStack mit einfacher HTTPS-Versandarchitektur einer mit McEliece verschlüsselten Nachricht erstellen können.
Wenn dieses prototypische Konzeptmodell beispielsweise als eigene Weiterentwicklung und Chat-Client weiter angepasst würde, könnte diese Chat-App von jeder Schule ohne großen Verwaltungsaufwand zum Einsatz kommen. Die Zukunft liegt nicht in proprietären Protokollen, Code-Bibliotheken oder der Schönheit einer App. Sie liegt in der Einfachheit der Einrichtung eines dezentralen Chat-Servers in jedem Klassenzimmer eines Informatiklehrers. Oder dem Ziel (und der Kosteneinsparung) für Organisationen wie Vereine und Kommunen, einen eigenen quelloffenen Messenger für ihre Mitglieder zu entwickeln und kostengünstig 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) Verschlüsselungsweltmeister werden will, könnte auch die Führung bei der Entwicklung von kryptografischen Messengern und deren Lerninhalten übernehmen. Nicht zu vergessen, "mehr Verschlüsselung zu wagen" wie Saskia Esken es einmal ausdrückte. Derzeit wird jedoch eher das Gegenteil getan – was die Privatsphäre und die Verschlüsselung privater Daten der Bürgerinnen und Bürger betrifft.
Die Prototypen Smoke und SmokeStack stehen nicht nur zur Evaluation, einschließlich zur freien Verfügung. Quelloffenheit ermöglicht es Studierenden, gemeinsam im Bereich Kryptographie zu lernen, zum Beispiel anhand dieses bislang bahnbrechenden McEliece-Messengers.
Vielen Dank an Claudia Rahmschmid und David Adams für ihren Gastbeitrag!
Kommentare