Pünktlich zum anstehenden zehnjährigen Jubiläum führt Threema mit „Ibex“ ein neues kryptografisches Kommunikationsprotokoll ein, welches die bewährte Sicherheit des Gesamtsystems weiter festigt und für Zukunftssicherheit sorgt. Ausserdem erhält das rundum erneuerte Protokoll-Portfolio zusätzliche Komponenten, die den Grundstein für künftige Features legen.
Threema hat als Pionierin des mobilen Instant Messaging im Jahr 2012 konsequente Ende-zu-Ende-Verschlüsselung erstmals für die breite Masse einfach und plattformübergreifend verfügbar gemacht. Seit die erste App-Version vor mehr als zehn Jahren entwickelt wurde, haben sich die technologischen Rahmenbedingungen fundamental verändert, und die Anforderungen an den Funktionsumfang eines Instant Messengers sind erheblich gestiegen. Um für zukünftige Entwicklungen gewappnet zu sein und Threemas Sicherheit weiter zu festigen, haben wir deshalb vor eineinhalb Jahren begonnen, zentrale Komponenten unserer Protokolle grundlegend zu erneuern und auszubauen. Insbesondere wurde in Zusammenarbeit mit externen Kryptografen ein neues Kommunikationsprotokoll erstellt, welches den Namen „Ibex“ trägt und das Herzstück der rundum erneuerten Protokoll-Suite darstellt.
Neben dem neuen Ibex-Protokoll, welches eine zusätzliche „Perfect Forward Secrecy“-Schicht für Nachrichten auf Ende-zu-Ende-Ebene einführt, enthält die erweiterte Protokoll-Suite auch Spezifikationen für Ende-zu-Ende-verschlüsselte Gruppenanrufe sowie ein Protokoll für die kommende Multi-Device-Funktionalität (auf das wir zu einem späteren Zeitpunkt näher eingehen werden).
Ende-zu-Ende-verschlüsselte Gruppenanrufe
Die Architektur von Gruppenanrufen unterscheidet sich auf Protokollebene grundlegend von jener der Einzelanrufe, obschon beide Anrufarten auf derselben Technologie basieren (WebRTC). Während bei Einzelanrufen nach Möglichkeit eine Direktverbindung zwischen den Gesprächsteilnehmern hergestellt wird („Peer to Peer“), erfordern Gruppenanrufe einen zentralen Medienrouter – eine sogenannte „Selective Forwarding Unit“ (SFU) – zur selektiven Weiterleitung der Audio-/Video-Datenströme an die Gruppenteilnehmer. Diese SFU hat keine Informationen über die Identität/Threema-ID der Anrufteilnehmer und überträgt ausschliesslich Ende-zu-Ende-verschlüsselte Datenströme.
Beim Start eines Gruppenanrufs erhalten alle Gruppenmitglieder im Hintergrund den zufällig generierten Group Call Key, welcher ihnen zur Authentifizierung der anderen Gruppenmitglieder dient. Zusätzlich handeln die Teilnehmer untereinander paarweise flüchtige Schlüssel mittels ECDH aus. Mithilfe dieser Schlüssel werden kurzfristige symmetrische Medien-Schlüssel an alle Teilnehmer verteilt.
Sobald ein Teilnehmer den Gruppenanruf verlässt, werden neue Medien-Schlüssel verteilt. Und wenn ein Teilnehmer dem Gruppenanruf beitritt, wird ein sogenanntes „Ratcheting-Verfahren“ angewendet, um neue Schlüssel zu generieren und so zu verhindern, dass der betreffende Teilnehmer mit seinem Schlüssel Mediendaten entschlüsseln kann, die ggf. abgegriffen wurden, bevor er am Anruf teilgenommen hat. Somit ist bei Gruppenanrufen Perfect Forward Secrecy auf der Ende-zu-Ende-Schicht gewährleistet.
Perfect Forward Secrecy
Auf Transportebene verfügt Threema seit jeher über Perfect Forward Secrecy (PFS). Wie bei Gruppenanrufen war zudem bei Einzelanrufen PFS von Beginn weg auch auf der Ende-zu-Ende-Ebene gegeben. Das neue Kommunikationsprotokoll Ibex ermöglicht nun auch für Chat-Nachrichten den Austausch flüchtiger Schlüssel auf der Ende-zu-Ende-Schicht (mittels ECDH).
Für jede Nachricht wird ein neuer Schlüssel verwendet, wobei (dank KDF-Ratcheting) kein Rückschluss auf frühere Schlüssel möglich ist und somit ein potenzieller Angreifer auch mit dem gegenwärtigen Schlüssel keine früheren Nachrichten entschlüsseln kann. Selbst wenn also der Threema-Server kompromittiert wäre und ein Angreifer die Ende-zu-Ende-verschlüsselten Nachrichten langfristig speichern würde, gäbe es nicht einmal dann eine Möglichkeit, sie zu entschlüsseln, wenn der Angreifer irgendwie zum gegenwärtigen Schlüssel eines Nutzers gelangen sollte.
In Hinsicht auf einen kompromittierten Server garantieren die kryptografischen Eigenschaften von PFS zudem, dass ein Angreifer die Nachrichten (welche für ihn aufgrund der Ende-zu-Ende-Verschlüsselung ohnehin nicht lesbar sind) auch nicht unbemerkt mehrmals an den Adressaten senden, einzelne Nachrichten weglassen oder die Reihenfolge von Nachrichten verändern kann.
Mit Threema 5.0 für Android wurde bereits die erste App-Version veröffentlicht, welche neben Ende-zu-Ende-verschlüsselten Gruppenanrufen auch das neue Ibex-Protokoll unterstützt. In Threema für iOS wird Ibex-Unterstützung in den nächsten Tagen folgen.