Wie und wo wird mein Schlüsselpaar generiert?
Bei der erstmaligen Einrichtung Ihrer Threema-ID wird ein Schlüsselpaar für die Verschlüsselung der Nachrichten auf Basis von Elliptic Curve Cryptography (ECC) generiert. Diese Generierung erfolgt direkt auf Ihrem Handy, ohne jegliche Interaktion mit einem Server. Der private Schlüssel verlässt Ihr Gerät nie. Die für die Generierung des Schlüsselpaares nötigen Zufallsdaten werden vom Zufallszahlengenerator des Handys bezogen und zudem mit weiteren Zufallsdaten vermischt, die Sie durch das Wischen auf dem Bildschirm selbst erzeugen. So ist sichergestellt, dass auch bei einer etwaigen Schwäche des Zufallsgenerators des Handys die privaten Schlüssel der Nutzer nicht geknackt werden können.
Weitere Informationen zur Kryptografie in Threema finden Sie im Cryptography Whitepaper.
Verwandte Einträge
Threema verwendet bewährte asymmetrische Kryptografie, um die Kommunikation zwischen den Gesprächspartnern sowie die Kommunikation zwischen der App und den Servern zu verschlüsseln. Threema nutzt die Open-Source-Bibliothek NaCl als Verschlüsselungsprotokoll. Da die Threema-Apps Open Source sind, haben Sachverständige die Möglichkeit, sich selbst von Threemas Sicherheit zu überzeugen.
Es gibt zwei Verschlüsselungsschichten: Die Ende-zu-Ende-Schicht zwischen den Konversationsteilnehmern und eine zusätzliche Schicht, die vor dem Abhören der Verbindung zwischen App und Server schützt. Letztere ist nötig, um sicherzustellen, dass ein Angreifer, der Netzwerkpakete aufzeichnet (z.B. in einem öffentlichen Wireless-Netzwerk), nicht herausfinden kann, wer sich einloggt und wer mit wem kommuniziert.
Sämtliche Verschlüsselung und Entschlüsselung erfolgt direkt auf dem Gerät, und der Benutzer hat den Schlüsselaustausch unter Kontrolle. So ist sichergestellt, dass kein Dritter – nicht einmal der Serverbetreiber – den Inhalt
entschlüsseln kann.
Verschlüsselungsstärke: Die asymmetrische, auf ECC-basierende Verschlüsselung, die Threema verwendet, hat eine Stärke von 255 Bits. Gemäss einer Schätzung des NIST (Seite 54) entspricht dies mindestens der Stärke von RSA mit 2048 Bits. Mittels ECDH (Curve25519) und einer Hashfunktion sowie einer Nonce wird für jede Nachricht ein einmaliger, 256 Bits langer symmetrischer Schlüssel hergeleitet, und die Stromchiffre XSalsa20 wird dann für die eigentliche Verschlüsselung der Nachricht verwendet. Zudem wird ein 128 Bits langer Message Authentication Code (MAC) zur Entdeckung von Manipulationen/Fälschungen hinzugefügt.
Perfect Forward Secrecy: Threema unterstützt Perfect Forward Secrecy. Weitere Details dazu sind in diesem FAQ-Eintrag festgehalten.
Detaillierte technische Informationen zur Verschlüsselung in Threema finden Sie im Cryptography Whitepaper.
Wie sich Threema von anderen Messengern wie WhatsApp, Signal oder Telegram hinsichtlich Sicherheit, Datenschutz und Funktionen unterscheidet, erfahren Sie in unserem umfassenden Messenger-Vergleich sowie in der eingehenden Gegenüberstellung von Threema und WhatsApp.
Umfassender Privatsphäre-Schutz setzt eine solide Nachrichten-Verschlüsselung voraus, beinhaltet aber noch weit mehr.
Möglichkeit anonymer Nutzung
Threema kann ohne Angabe personenbezogener Daten verwendet werden. Die Identifizierung erfolgt über eine anonyme, zufällig generierte Threema-ID. Die Verknüpfung einer Telefonnummer und/oder E-Mail-Adresse mit der eigenen Threema-ID ist optional.
Metadaten-Sparsamkeit
Unter «Metadaten» versteht man alle bei der Kommunikation anfallenden Daten ausser dem Nachrichteninhalt. Aus Metadaten geht z.B. hervor, wer mit wem wann kommuniziert, welches die Mitglieder einer Gruppe sind etc. Metadaten ermöglichen es, Nutzer eindeutig zu identifizieren, ihr Verhalten zu analysieren, ihre Freundeskreise und bevorzugten Standorte kennenzulernen und ihr Kommunikationsverhalten zu überwachen. Zusammengeführt mit Daten aus anderen Plattformen entsteht so ein umfassenderes Bild über eine Person, als es die reinen Nachrichteninhalte je vermitteln könnten. Bei vielen Messengern muss davon ausgegangen werden, dass diese Daten systematisch gesammelt und ausgewertet werden. Threema ist von Grund auf so konzipiert, dass möglichst keine Datenspur entsteht.
Optionaler Adressbuch-Abgleich
Die Synchronisation des Adressbuchs zum Auffinden von Kontakten ist optional. Wer sein Adressbuch nicht synchronisieren möchte, kann neue Nutzer ganz einfach durch Eingabe der Threema-ID oder durch Scannen des QR-Codes zur Kontaktliste hinzufügen.
Wer seine Kontakte synchronisiert oder seine ID verknüpft, kann sicher sein, dass Threema diese Daten nur temporär und zweckgebunden nutzt. Ihre personenbezogenen Daten werden einwegverschlüsselt übertragen und gespeichert.
Wie sich Threema bzgl. Privatsphäre-Schutz von anderen Messengern unterscheidet, erfahren Sie im Messenger-Vergleich.
Bei der Benutzung von Threema sollen so wenige Daten wie möglich auf den Servern anfallen – das gehört zum Grundkonzept. Daten wie z.B. Kontaktlisten oder Gruppenchats werden daher auf den Geräten der Nutzer verwaltet und nicht auf den Threema-Servern. Die Threema-Server haben die Funktion einer Relaisstation; Nachrichten und Daten werden weitergeleitet, aber nicht dauerhaft gespeichert – denn wo keine Daten sind, können sie auch nicht missbraucht werden. Ganz ohne die (temporäre) Speicherung von Daten geht es aber doch nicht, denn sonst könnte keine asynchrone Kommunikation stattfinden. Nachfolgend erklären wir, welche Daten wie, warum und wie lange auf den Servern gespeichert werden.
- Nachrichten und Gruppenchats: Sobald eine Nachricht erfolgreich an den Empfänger übermittelt worden ist, wird sie vom Server gelöscht. Alle Nachrichten und Medien werden bei Threema Ende-zu-Ende-verschlüsselt übermittelt. Das heisst: Selbst wenn jemand Ihre Nachricht abhören könnte, wäre sie völlig unbrauchbar, denn nur der vorgesehene Empfänger kann die Nachricht entschlüsseln und lesen.
- Kontaktlisten werden bei der Kontakt-Synchronisation nicht gespeichert: Die E-Mail-Adressen und Telefonnummern aus Ihrem Adressbuch werden zum Abgleich anonymisiert an unsere Server übermittelt (gehasht). Nach dem Abgleich werden sie umgehend wieder von den Servern gelöscht.
- Die Generierung des Schlüsselpaars erfolgt dezentral auf den einzelnen Geräten. Die privaten Schlüssel bleiben uns als Betreiber deshalb unbekannt. Somit können wir keine Nachrichteninhalte entschlüsseln.
- Threema führt kein Log darüber, wer mit wem kommuniziert (also welche Threema-ID mit welcher ID kommuniziert).
Weitere Informationen finden Sie im Cryptography Whitepaper.
Ja, um volle Transparenz zu gewährleisten, sind die Threema-Apps quelloffen.
Dank Reproducible Builds lässt sich zudem (vorerst unter Android) verifizieren, dass der publizierte Code mit dem übereinstimmt, welcher den Apps in den Verkaufsplattformen zugrunde liegt.
Detaillierte Informationen zum Herunterladen und Kompilieren des Quellcodes sowie zum Reproduzieren der App sind auf der Open-Source-Seite zu finden.
Ja.
-
Android: Threema verwendet eine eigene, App-spezifische Verschlüsselung auf Basis von AES-256, um gespeicherte Nachrichten, Medien und den privaten Schlüssel zur ID zu schützen. Der Schlüssel, welcher für diese
Verschlüsselung zum Einsatz kommt, wird beim ersten Start der App zufällig generiert und kann optional durch eine Passphrase geschützt werden («Einstellungen > Hauptschlüssel»), was wir sehr empfehlen. Aufgrund der Art und Weise, wie
Hardwareverschlüsselung unter Android gehandhabt wird, dient die Verschlüsselung ohne gesetzte Passphrase höchstens der Obskurität. Wenn Sie eine Passphrase auf dem Hauptschlüssel setzen, müssen Sie diese nach jedem Neustart des
Telefons wieder eingeben (und auch wenn die App durch das System wegen zu wenig freiem Arbeitsspeicher beendet wird).
Hinweis: Die PIN-Sperre, die unabhängig von der Hauptschlüssel-Passphrase aktiviert werden kann, bewirkt keine zusätzliche Verschlüsselung; es handelt sich um eine reine UI-Sperre.
-
iOS: Unter iOS verwendet Threema das «iOS Data Protection Feature», um Daten wie gespeicherte Nachrichten, Bilder etc. verschlüsselt im Flashspeicher des Geräts abzulegen. Der dafür verwendete Schlüssel ist mit dem Gerätecode
verknüpft. Es ist dazu unbedingt notwendig, dass Sie in den Systemeinstellungen einen Code setzen. Da iOS auf neueren Modellen auch Hardwarefeatures in die Verschlüsselung einbezieht, bietet schon ein einfacher sechsstelliger Code
einen gewissen Schutz; für höchste Sicherheit gegen Brute-Force-Attacken sollten Sie aber einen längeren, alphanumerischen Code wählen.
Hinweis: Die Code-Sperre, die in die App selbst integriert ist, bewirkt keine zusätzliche Verschlüsselung. Dieses Feature ist dazu gedacht, neugierige Leute davon abzuhalten, Ihre Nachrichten zu lesen, wenn diese das Telefon kurzzeitig gewollt in die Hände bekommen. Eine App-eigene Verschlüsselung mit einem sechsstelligen Code wäre nicht sinnvoll, da eine Brute-Force-Attacke dann trivial wäre (eine App kann anders als das iOS nicht auf Hardwarefeatures zum Schutz des Schlüssels zurückgreifen).
Detaillierte technische Informationen zur Verschlüsselung in Threema finden Sie im Cryptography Whitepaper.
Threema ermöglicht Ihnen, mittels Scannen des QR-Codes zu überprüfen, dass die ID der Person, mit der Sie kommunizieren, wirklich ihr gehört.
Wenn Sie sich über die ID Ihres Konversationspartners sicher sind, gibt es für einen Angreifer keinen Weg, Nachrichten von oder zu Ihrem Partner zu fälschen oder abzufangen bzw. zu entschlüsseln.
Die Verbindung zwischen der App und den Servern ist gegen MITM-Attacken gesichert, weil sich der Server bei der App mit einem Schlüssel authentifiziert, der fest in die App einprogrammiert ist und dessen entsprechender privater Schlüssel nur den legitimen Servern bekannt ist.
Bitte beachten Sie: Threema kann nur so sicher sein wie das Gerät, auf dem die App betrieben wird. Malware, die auf Ihrem Gerät im Hintergrund läuft, kann unbemerkt Daten ausspähen oder fälschen. Wir empfehlen dringend, immer die aktuellsten Updates des Betriebssystems zu installieren und nur Software aus vertrauenswürdigen Quellen zu verwenden.
Die Threema GmbH betreibt ihre eigenen Server in zwei hochsicheren Rechenzentren eines «ISO 27001»-zertifizierten Colocation-Partners im Grossraum Zürich (Schweiz).
Die Rechenzentren entsprechen dem neuesten Stand der Technik und sind mit biometrischer Zutrittskontrolle, Personenvereinzelungsanlage, Videoüberwachung, Notstromsystemen, Brandschutzeinrichtungen, ausfallsicherer Klimatisierung und vollständig redundanter Internetanbindung ausgerüstet.
Gruppenanrufe
Mit Ausnahme von (einigen) Gruppenanrufen wird jegliche Kommunikation über Threemas Server in der Schweiz abgewickelt. (Bei Einzelanrufen wird nach Möglichkeit eine Direktverbindung zwischen den Gesprächsteilnehmern hergestellt, so dass gar kein Server involviert ist, nachdem der Anruf aufgebaut wurde.) Bei Gruppenanrufen kommen aus technischen Gründen u.U. Threemas Medienrouter im Ausland zum Einsatz, um möglichst geringe Latenz und reibungslose Kommunikation zu gewährleisten: Müsste von überall auf der Welt ein Umweg über die Schweiz erfolgen, könnten sich die Teilnehmer von Gruppenanrufen womöglich kaum verständigen, weil sie sich aufgrund hoher Verzögerungszeit stets ins Wort fallen würden.
Threemas Medienrouter im Ausland erfahren nichts über die Identität/Threema-ID der Teilnehmer eines Gruppenanrufs, und sämtliche Audio-/Video-Datenströme sind Ende-zu-Ende-verschlüsselt. Notwendigerweise sind Threemas Medienroutern im Ausland aber während der Dauer eines Gruppenanrufs die IP-Adressen der Teilnehmer bekannt. Diese Informationen werden nicht geloggt und unmittelbar nach Beendigung des Gruppenanrufs aus dem Arbeitsspeicher gelöscht.
Das ist Ihre Entscheidung – Threema kann vollständig auch ohne jeglichen Adressbuchzugriff verwendet werden.
Standardmässig ist die Synchronisation deaktiviert und es werden keine Adressbuchdaten ausgelesen. Fügen Sie in diesem Fall Ihre Threema-Kontakte manuell hinzu (durch Eingabe der ID oder Scan des QR-Codes).
Wenn Sie die Synchronisation einschalten, werden E-Mail-Adressen und Telefonnummern aus dem Adressbuch einwegverschlüsselt («gehasht») und zusätzlich mit TLS gesichert an unsere Server übertragen. Die Server halten diese Hashes nur kurzzeitig im Arbeitsspeicher, um die Liste der übereinstimmenden IDs zu ermitteln, und löschen sie sofort wieder. Zu keinem Zeitpunkt werden die Hashes oder die Ergebnisse des Abgleichs auf einen Datenträger geschrieben.
Aufgrund der relativ geringen Anzahl möglicher Zahlenkombinationen von Telefonnummern können Hashes davon theoretisch per Brute-Force-Attacke (= Durchprobieren aller Möglichkeiten) entschlüsselt werden. Dies ist prinzipbedingt und kann nicht anders gelöst werden (die Verwendung von Salts wie beim Hashing von Passwörtern funktioniert für so einen Datenabgleich nicht). Deshalb behandeln wir Telefonnummern-Hashes mit der gleichen Vorsicht, als ob es rohe/ungehashte Telefonnummern wären.
Die Threema-Apps sind Open Source. Das ermöglicht interessierten Fachpersonen, jederzeit unabhängige Sicherheitsprüfungen durchzuführen. Zudem werden regelmässig externe Experten damit betraut, Threema umfassenden Audits zu unterziehen. In letzter Zeit wurden folgende externen Audits durchgeführt:
- 2023: Sicherheitsbeweis des Kommunikationsprotokolls «Ibex» durch Sicherheitsforscher des Lehrstuhls für Angewandte Kryptografie der Friedrich-Alexander-Universität Erlangen-Nürnberg, s. Blogeintrag und Analyse (Englisch)
- 2020: Audit durch Cure53, s. Blogeintrag und Audit-Bericht (Englisch)
- 2019: Audit durch Labor für IT-Sicherheit der FH Münster , s. Blogeintrag und Audit-Bericht (Englisch)
Eine umfassende Dokumentation der eingesetzten Verfahren und Protokolle finden Sie zudem im Cryptography Whitepaper.
Es besteht ein Bug-Bounty-Programm für Hinweise bzgl. der Sicherheit von Threema. Falls Sie ein Sicherheitsproblem entdecken, erstellen Sie bitte einen Bericht auf GObugfree (wo alle Einzelheiten inkl. der Bounty Levels aufgeführt sind).
Bitte melden Sie Fehler, welche die Apps betreffen, über das Support-Formular.
Threema erfüllt die Anforderungen der Europäischen Datenschutz-Grundverordnung (DSGVO). Als Schweizer Unternehmen ist Threema zusätzlich dem strengen Schweizer Datenschutzgesetz (DSG) sowie der Verordnung zum Bundesgesetz über den Datenschutz (VDSG) unterworfen.
Threema basiert nicht auf der Handynummer als Adresse und kann anonym und ohne den Upload von Adressbuchdaten genutzt werden. Es ist deshalb auch für Jugendliche unter 16 Jahren zugelassen.
Im Gegensatz zu konventionellen Messengern können Sie sich bei der Nutzung von Threema damit sicher sein, Datenschutzgesetze einzuhalten.
Um abzufragen, welche Bestandsdaten auf dem Threema-Server zu Ihrer ID gespeichert sind, senden Sie einfach «info» an die Threema-ID *MY3DATA
, und Sie erhalten umgehend eine Antwort in maschinenlesbarer Form (JSON-Format).
Falls Sie diese Seite auf dem Gerät lesen, auf welchem Threema installiert ist, können Sie einfach folgenden Link öffnen und auf «Senden» tippen: https://threema.id/%2AMY3DATA?text=info
Erklärungen zu den JSON-Keys:
- identity: Threema-ID
- publicKey: Base64-codiert
- issueDate: Datum der Erstellung der ID
- lastLogin: Datum des letzten Logins
- mobileNoHash: Hash der verknüpften Telefonnummer
- emailHash: Hash der verknüpften E-Mail-Adresse
- featureMask: Bitmask der unterstützten Features der verwendeten Threema-Version.
- 0x01: Audio-Nachrichten
- 0x02: Gruppenchat
- 0x04: Umfragen
- 0x08: Dateitransfer
- 0x10: Anrufe
- 0x20: Videoanrufe
- pushtoken/voippushtoken: Push-Token des jeweiligen Push-Dienstes (GCM/FCM, APNS, HMS). Dieser Key ist hinfällig, wenn der Key «pushtokens» vorhanden ist
- pushtokens: Liste der Geräte, welchen ein Push-Token zugeordnet ist
- device_id: Base64-codierte Bytes der 64-Bit-Ganzzahl ohne Vorzeichen, welche ein Gerät identifiziert
- push_token/voip_token:
- data: Base64-codiertes Token
- timestamp: Unix-Zeitstempel, wann das Token gesetzt wurde
- type: Beschreibt die Art des Tokens (HMS, Apple, FCM)
- pushsound/pushgroupsound: Name der gewählten Tondatei für Push-Nachrichten (nicht für alle Plattformen)
- revocationKey: Infos zu Widerrufspasswort, sofern festgelegt
Die editierbaren Bestandsdaten lassen sich jederzeit in der Threema-App (im Reiter «Mein Profil» (Android) bzw. «Profil» (iOS)) mit sofortiger Wirkung ändern oder löschen (Näheres erfahren Sie in diesem FAQ-Artikel). Um alle Bestandsdaten Ihrer Threema-ID sofort unwiederbringlich zu löschen, widerrufen Sie Ihre ID.
Android
Um unter Android die Threema-App im Hintergrund darüber zu informieren, dass neue Nachrichten eingegangen sind, steht Threemas eigener und unabhängiger Push-Service «Threema Push» zur Verfügung. Dieser verursacht keinerlei Metadaten bei Drittanbietern.
Ansonsten verwendet Threema das auf dem Gerät vorinstallierte Firebase Cloud Messaging (FCM) von Google (bzw. das Push Kit (HMS) von Huawei). Die Nachrichten holt sich die App dann selbstständig direkt von den Threema-Servern, entschlüsselt diese und zeigt lokal eine Benachrichtigung an. Es werden weder Inhalte noch Details über die Nachrichten via FCM übertragen (der FCM-Payload ist also leer). Jegliche in Firebase enthaltenen Analyse- und Tracking-Komponenten wurden entfernt.
iOS
Threema verwendet den Apple Push Notification Service (APNS), um Empfänger mit iOS über neue Nachrichten zu informieren, wenn diese die App geschlossen bzw. im Hintergrund haben. Die APNS-Nachricht enthält einen Payload, der mit einem symmetrischen Schlüssel verschlüsselt ist, welcher zwischen der App und den Threema-Servern ausgehandelt wird und Apple nicht bekannt ist.
Innerhalb dieses verschlüsselten Payloads werden die Threema-ID und der Nickname des Absenders, die Nachrichten-ID, sowie die Tatsache, ob es sich um eine Einzelnachricht oder um eine Gruppennachricht handelt, übertragen.
Die Threema-App wird bei einer eingehenden Push-Benachrichtigung im Hintergrund aktiv, entschlüsselt den Push-Payload, holt sich die Nachricht direkt von den Threema-Servern, entschlüsselt auch diese und zeigt danach lokal eine Nachrichtenvorschau (sofern eingeschaltet) sowie den Kontaktnamen des Absenders an.
Perfect Forward Secrecy (PFS) ist in einem kryptographischen System gegeben, wenn es einem Angreifer, welcher den privaten Schlüssel eines Benutzers erlangt, nicht möglich ist, mit diesem Schlüssel Nachrichten zu entschlüsseln, die der Benutzer in der Vergangenheit gesendet oder empfangen hat.
Erreicht wird diese Eigenschaft, indem nicht immer derselbe, sondern für einzelne Sitzungen bzw. für kurze Zeitabschnitte separate Schlüssel verwendet werden, welche das System automatisch im Hintergrund aushandelt.
Threema unterstützt Perfect Forward Secrecy sowohl auf der Transportschicht als auch auf der Ende-zu-Ende-Schicht. Technische Details sind im Cryptography Whitepaper zu finden.