Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Architekturüberblick: Threema

Architekturüberblick: Threema

Zusammenfassung
Architektur im Rampenlicht ...
... am Beispiel Threema

Dieser Foliensatz zeigt anhand des Messengers Threema, wie ein prägnanter Architekturüberblick aussehen kann.

Die Inhalte sind initial 2023 im Rahmen der Reihe „Architektur-Porträts“ von Stefan Zörner in der Zeitschrift IT-Spektrum erschienen. Der Artikel findet sich um einige Aspekte ergänzt auch online im embarc-Blog (siehe Weitere Infos).

Diesen Überblick gibt es auch gedruckt als Flyer (DIN-A3, Treppenfalz). Bei Bedarf gerne eine E-Mail an [email protected]

Weitere Infos
https://www.embarc.de/architektur-portraet-threema/ (Artikel online lesen)
https://www.embarc.de/architektur-portraets/ (Reihe "Architektur-Ikonen in Software")

Avatar for Stefan Zörner

Stefan Zörner

May 22, 2023
Tweet

More Decks by Stefan Zörner

Other Decks in Technology

Transcript

  1. 0 Architekturüberblick : Threema embarc.de embarc Architektur im Rampenlicht. Am

    Beispiel ... Eine inspirierende Überblicksreihe zur Architektur prominenter Software-Systeme.
  2. 1 Architekturüberblick : Threema embarc.de embarc.de Über diese Folien §

    Dieser Foliensatz zeigt anhand des Messengers Threema, wie ein prägnanter Architekturüberblick aussehen kann. § Die Inhalte sind initial 2023 im Rahmen der Reihe „Architektur-Porträts“ von Stefan Zörner in der Zeitschrift IT- Spektrum erschienen. § Der Artikel findet sich um einige Aspekte ergänzt auch online im embarc-Blog (siehe Weitere Informationen). § Diesen Überblick gibt es auch gedruckt als Flyer (DIN-A3, Treppenfalz). Bei Bedarf gerne eine E-Mail an [email protected]
  3. 2 Architekturüberblick : Threema embarc.de 00. Inhalt Architekturüberblick Threema. Aufgabenstellung

    Mission Statement Kontextabgrenzung Einflüsse Architekturziele Rahmenbedingungen Lösungsstrategie Informelles Überblicksbild Entscheidende Lösungsansätze Threema im Detail Ablauf: Eine Nachricht versenden Vertrauenslevel bei Kontakten Reflektion + Ausblick Ausgewählte Kompromisse Threema Work Weitere Informationen 01. 02. 03. 04. 05.
  4. 3 Architekturüberblick : Threema embarc.de 01. Aufgabenstellung Was macht Threema?

    Mit wem spielt es zusammen? Und warum heißt es eigentlich so? Aufgabenstellung Einflüsse Lösungsstrategie Threema im Detail Reflektion und Ausblick 01. 02. 03. 04. 05.
  5. 4 Architekturüberblick : Threema embarc.de Was ist Threema? § Threema

    ist ein mobiler Instant-Messenger, bei dem der Schutz der Privatsphäre ganz oben auf der Agenda steht. § Die Software erlaubt seinen Nutzer:innen den sicheren, zuverlässigen und bequemen Austausch von Nachrichten und Medien ohne die Angabe persönlicher Informationen wie Rufnummer oder E-Mail-Adresse. § Die Identität eines Kommunikationspartners lässt sich — bei vorherigem Kontakt — auch ohne Verwendung des Adressbuchs zweifelsfrei feststellen. § Auch für Unternehmen bietet Threema eine attraktive und zugleich gesetzeskonforme Lösung zum Schutz der Kommunikation innerhalb der Organisation und mit Partnern. Mission Statement
  6. 5 Architekturüberblick : Threema embarc.de Ende-zu-Ende-Verschlüsselung Wofür steht der Name?

    § Threema steht für End-to-End-Encrypting Messaging Application, kurz EEEMA. § Die drei E sind zum Englischen "Three" zusammengefasst. ➔ https://www.threema.ch
  7. 6 Architekturüberblick : Threema embarc.de Kontextabgrenzung Gesamtsystem, bestehend aus den

    Apps und dem Threema-Backend. Threema Nutzer:in Smartphone, Tablet, Notebook ... Applikation via API SMS Gateway Mail-Server iOS, Android Mobile OS Mit wem und was interagiert Threema? Die Lösung im Zusammenspiel mit wichtigen anderen Akteuren.
  8. 7 Architekturüberblick : Threema embarc.de embarc.de Kontextabgrenzung Akteur Beschreibung Nutzer:in

    Teilt Textnachrichten und andere Inhalte (z.B. Fotos) mit Kontakten. Direkt oder innerhalb von Gruppen. Mobiles OS (Operating System) Stellt Sicherheitstechnologien und Funktionalität bereit. Zum Beispiel zur Interaktion mit Medien und anderen Apps oder für Benachrichtigungen. Applikation Neben App-Nutzer:innen können auch durch dritte geschriebene Anwendungen Nachrichten senden und empfangen. Über eine API und Threemas Gateway. SMS-Gateway Threema versendet Codes per SMS für die Verifikation von mobilen Rufnummern, falls Nutzer:innen diese mit ihrer Threema-ID verknüpfen möchten. Mail-Server Ermöglicht die Verifikation einer E-Mail-Adresse zur Verknüpfung mit einer Threema-ID (ebenfalls optional). Kurze Erläuterungen zu den Benutzern und Fremdsystemen
  9. 8 Architekturüberblick : Threema embarc.de 02. Einflüsse Welche Qualitätsmerkmale und

    Vorgaben waren entscheidend für den Lösungsentwurf? Aufgabenstellung Einflüsse Lösungsstrategie Threema im Detail Reflektion und Ausblick 01. 02. 03. 04. 05.
  10. 9 Architekturüberblick : Threema embarc.de Ziel Beschreibung Kommunikations- und Nutzerdaten

    sind geschützt Personenbezogene Daten und andere vertrauliche Informationen der Nutzer:innen sind unter allen Umständen sicher vor Ausspähung und anderen fremden Zugriffen. Einfach zu verwenden Der Austausch von Informationen im täglichen Gebrauch und Kontaktaufnahmen erfolgen flink und intuitiv. Auch Threema-Neulinge finden sich mühelos zurecht. Zuverlässig und effizient im Betrieb Eine Kommunikation zwischen den Nutzer:innen ist jederzeit möglich, Daten gehen nicht verloren. Auch Lastschwankungen oder Teilausfälle einzelner Komponenten beeinträchtigen sie nicht. Der Betrieb erfolgt ressourcensparsam. Interoperabel über alle Plattformen hinweg Nutzer:innen tauschen Nachrichten auch dann zuverlässig miteinander aus, wenn sie unterschiedliche Smartphone-Hersteller, Software-Versionen oder ähnliches verwenden. Der Wechsel auf ein neues Endgerät erfolgt problemlos. Leicht erweiterbar und anpassbar Neue Features lassen sich durch das Threema-Entwicklungsteam einfach in die bestehende Lösung, inklusive aller Clients, einbauen. Das gilt für Funktionen für Nutzer:innen ebenso wie Technisches „unter der Haube“. Auch Anbindungen durch Dritte sind möglich. Die vorrangigen Qualitätsziele von Threema in der Reihenfolge ihrer Wichtigkeit. Architekturziele
  11. 10 Architekturüberblick : Threema embarc.de Rahmenbedingungen Organisatorisches und Konventionen §

    Monetarisierung erfolgt durch den Verkauf der Software, nicht durch die Weitergabe von Daten an Dritte oder Werbung § Vertraulichkeit als höchstes Gut § Einhaltung der Schweizer Datenschutzgesetze und der DSGVO § Entwicklung der Software In-House in der Schweiz Bei der Konzeption und (Weiter-)entwicklung von Threema waren (und sind) verschiedene Vorgaben von Produktvision und Gesetzgebung einzuhalten.
  12. 11 Architekturüberblick : Threema embarc.de Rahmenbedingungen (Fortsetzung) Technischer Rahmen und

    Prinzipien § Unterstützung der verbreitetsten mobilen Betriebssysteme (Android, iOS) auf Smartphones, Tablets, Wearables § Verschlüsselung des gesamten Datenaustausch in State-of- the-Art-Manier § Rückgriff auf bestehende, renommierte Bibliotheken für kryptographische Algorithmen § Ansonsten restriktiver Umgang mit Third-Party-Libraries, hohe Kontrolle über Kern-Protokolle durch Eigenentwicklung
  13. 12 Architekturüberblick : Threema embarc.de 03. Lösungsstrategie Big Picture des

    Gesamtsystems und zentrale Lösungsansätze, die den Zielen dienen. Aufgabenstellung Einflüsse Lösungsstrategie Threema im Detail Reflektion und Ausblick 01. 02. 03. 04. 05.
  14. 14 Architekturüberblick : Threema embarc.de embarc.de Das Backend im Detail

    Speichert eine ID zusammen mit dem Public Key und (optional) Hash-Werten der verknüpften E- Mail-Adresse / Mobil-Nummer. Ermöglicht es nach IDs zu suchen (Abgleich mit Kontakten). Nimmt verschlüsselte Nachrichten entgegen, speichert sie zwischen und leitet sie an den Empfänger weiter. Löscht Daten nach Auslieferung. Nimmt verschlüsselte Daten entgegen, verknüpft sie mit einer Media ID und speichert sie temporär. Stellt Empfängern die Daten über die ID zur Verfügung.
  15. 15 Architekturüberblick : Threema embarc.de embarc.de Entscheidende Lösungsansätze Zu den

    Qualitätszielen jeweils ausgewählte Architekturansätze, die der Erreichung zuträglich sind. Kommunikations- und Nutzerdaten sind geschützt § Konsequente Ende-zu-Ende-Verschlüsselung § Erzeugen des persönlichen Schlüsselpaares auf Endgerät § Privater Schlüssel verlässt das Endgerät nie § Zusätzlich schützt "Perfect Forward Secrecy" früher gesendete Nachrichten vor Angriffen bei späterem Schlüsselverlust § Dezentrale Verwaltung von Kontaktlisten und Gruppenchats § Threema-Clients sind Open Source
  16. 16 Architekturüberblick : Threema embarc.de embarc.de Entscheidende Lösungsansätze (Fortsetzung) Einfach

    zu verwenden § Native Apps, verteilt u.a. über die gebräuchlichen Stores § Verifikation des an die Threema-ID gebundenen Schlüsselmaterials über QR-Code § Möglichkeit, komfortabel von einem Desktop zu kommunizieren § Broadcasts für One-to-Many-Kommunikation (Threema Work) Zuverlässig und effizient im Betrieb § Asynchrone Kommunikation, Zwischenspeichern von Nachrichten § Redundante Rechenzentren in der Schweiz § Server-Betrieb für Unternehmen in eigenen Rechenzentren möglich (Threema OnPrem) § Zentrale App-Konfiguration bei Threema Work mit Unterstützung von Mobile-Device-Management-Systemen
  17. 17 Architekturüberblick : Threema embarc.de embarc.de Entscheidende Lösungsansätze (Schluss) Interoperabel

    über alle Plattformen hinweg § Plattformunabhängige Kommunikationsprotokolle § Backup der wichtigsten Daten via Threema Safe § Threema-ID lässt sich auf neues Gerät übertragen Leicht erweiterbar und anpassbar § Vertikaler Architekturstil auf der Backend-Seite § Strukturierter Aufbau des Quelltextes § Gateway-Anbindung über offene Schnittstellen, HTTP- basierte Threema Message API § SDKs für Threema Message API, u.a. Java. .NET, Python
  18. 18 Architekturüberblick : Threema embarc.de 04. Threema im Detail Wie

    funktioniert der Versand von Nachrichten? Und wie die Vertrauenslevel in Threema? Aufgabenstellung Einflüsse Lösungsstrategie Threema im Detail Reflektion und Ausblick 01. 02. 03. 04. 05.
  19. 19 Architekturüberblick : Threema embarc.de embarc.de Ablauf: Eine Nachricht versenden

    Peter hat die Threema-App frisch installiert. Er möchte seiner Bekannten Anita eine Nachricht senden. Nachricht entschlüsseln, mit Anitas Private Key Nachricht löschen Nachrichten lesen Lesebestätigung senden verschlüsselte Nachricht Nachricht empfangen Push Notification versenden (verschlüsselte Nachricht, Anitas Threema-ID) Nachricht erfassen und unter Zuhilfenahme von Anitas Public Key verschlüsseln "gesendet" Nachricht senden Nachrichten lesen Nachrichten lesen "zugestellt" "gelesen" finden (Anitas gehashte Telefonnummer) Threema-ID + Public Key von Anita Adressbuch abgleichen registrieren (Public Key) Schlüsselpaar generieren: Private + Public Key Registrierung neue Threema-ID Threema-App auf Anitas Smartphone Chat Server Threema Backend Directory Server Threema Backend Threema-App auf Peters Smartphone Die Authentifizierung auf dem Chat-Server erfolgt durch Schlüsselableitung aus dem Private Key der jeweiligen Threema-ID. Anita hat Threema bereits installiert, sich registriert und ihre Threema-ID mit ihrer Telefonnummer, die Threema verifiziert hat, verknüpft. Das Sequenzdiagramm stellt die Registrierung und den Versand einer ersten Nachricht schematisch dar. Für Details zur Verschlüsselung siehe "Cryptography Whitepaper" unter: Weitere Informationen.
  20. 20 Architekturüberblick : Threema embarc.de embarc.de Vertrauenslevel Threema kennt unterschiedliche

    Stufen der Kontaktverifikation, gekennzeichnet mit farbigen Punkten. Threema. Petra S83NAH84 Anita XA66ZF4E Daniel L9GG2B7Y Urs H1B5K4NY Marianne 71GVAMM0 Die Liste der Kontakte in der Threema-App zeigt über ein Punktesystem den Grad der Verifizierung eines Kontaktes (Threema.ID und Public Key) an. Peters Smartphone Rot In Peters Adressbuch wurde kein passender Kontakt für diese Threema-ID gefunden (Rufnummer oder E- Mail-Adresse). Peter kann nicht sicher sein, dass die Person diejenige ist, die sie in ihren Nachrichten vorgibt zu sein. Orange Die ID wurde erfolgreich mit einem Kontakt in Peters Adressbuch (Rufnummer oder E- Mail-Adresse) abgeglichen. Da der Server Rufnummern und E-Mail- Adressen verifiziert, kann Peter einigermaßen sicher sein, dass die Person diejenige ist, die sie vorgibt zu sein. Grün Peter hat die ID und den öffentlichen Schlüssel des Kontakts durch Scannen des QR-Codes persönlich überprüft. Peter kann sehr sicher sein, dass die Nachrichten von diesem Kontakt wirklich von der Person geschrieben wurden, die sie vorgibt zu sein. Vorausgesetzt, das Gerät des Kontakts wurde nicht "gekapert".
  21. 21 Architekturüberblick : Threema embarc.de 05. Reflektion und Ausblick Trade-offs

    und mehr zu Threema und Architekturüberblicken. Aufgabenstellung Einflüsse Lösungsstrategie Threema im Detail Reflektion und Ausblick 01. 02. 03. 04. 05.
  22. 22 Architekturüberblick : Threema embarc.de embarc.de Ausgewählte Kompromisse Begrenzung der

    Gruppengröße in Chats (aktuell auf 256) § Positiv: geringerer Rechenaufwand auf dem Mobile Client und weniger Einzelnachrichten auf dem Server § Positiv: Ende-zu-Ende-Verschlüsselung auch in Gruppen möglich § Negativ: funktionale Einschränkung bei der Kommunikation mit Vielen Einzelne Entscheidungen in Threema wirken sich positiv und negativ zugleich aus.
  23. 23 Architekturüberblick : Threema embarc.de embarc.de Ausgewählte Kompromisse (Fortsetzung) Speichern

    von Inhalten auf Media Server für 14 Tage § Positiv: Medien brauchen auch bei Gruppenchats nur einmal (symmetrisch) verschlüsselt und versandt werden § Negativ: Inhalte bleiben ggf. länger auf dem Server als nötig Löschen von nicht zugestellten Nachrichten auf dem Chat Server nach 14 Tagen § Positiv: Konsequente Stärkung des Datenschutzes (zugestellte Nachrichten löscht Threema unverzüglich) § Negativ: nicht abgeholte Nachrichten gehen für "Nachzügler", auch in Gruppen, verloren
  24. 24 Architekturüberblick : Threema embarc.de embarc.de Threema Work Threema bietet

    seine Software auch Geschäftskunden für die sichere Kommunikation innerhalb ihres Unternehmens an. Threema Work bietet u.a.: § Betrieb des Server-Anteils durch Threema (Software-as-a- Service) oder die Kundenorganisation „On Premises“. § zentrale App-Konfiguration mit Unterstützung von Mobile- Device-Management-Systemen (MDM) § Integration in die Geschäftsprozesse des Kunden, aufbauend auf dem Threema Gateway § Möglichkeit, Broadcasts an die Mitarbeitenden zu versenden (auch an sehr viele, siehe Gruppenlimitation Kompromisse) ➔ threema.ch/de/work
  25. 25 Architekturüberblick : Threema embarc.de embarc.de Weitere Informationen ..zu Threema

    § „Cryptography Whitepaper“, Version 08/2023, 33 Seiten PDF § Quelltexte auf GitHub: github.com/threema-ch ..zu Architekturüberblicken wie diesem § Blog-Serie von S. Zörner: Architekturikonen in Software. Wegweisende Lösungen im Porträt: embarc.de/architektur-portraets/ Verwendung des Threema-Logos mit freundlicher Genehmigung der Threema GmbH, Schweiz. Der Autor dieses Foliensatzes, Stefan Zörner (embarc), dankt Lennart Grahl (Threema) für die wertvollen inhaltlichen Rückmeldungen.