- Signal führt die Sparse Post Quantum Ratchet (SPQR) ein und verbessert damit die Sicherheit des Signal-Protokolls erheblich. Zugleich wird die Widerstandsfähigkeit gegen künftige Bedrohungen durch Quantencomputing gestärkt, während die bisherigen Garantien für Forward Secrecy (FS) und Post-Compromise Security (PCS) erhalten bleiben
- Das Signal-Protokoll ist ein Satz kryptografischer Spezifikationen, der Ende-zu-Ende-Verschlüsselung für private Kommunikation bereitstellt, die täglich von Milliarden Menschen weltweit genutzt wird. Seit seiner Vorstellung im Jahr 2013 wurde es nicht nur in der Signal-App, sondern auch in anderen wichtigen Messaging-Produkten übernommen
- Das zuvor vorgestellte PQXDH integrierte beim Aufbau einer Chatsitzung quantenresistente kryptografische Geheimnisse und schützte so vor Harvest-Now-Decrypt-Later-Angriffen. SPQR erreicht nun FS- und PCS-Garantien auf quantensichere Weise, indem es Schäden im laufenden Gespräch minimiert und eine Wiederherstellung ermöglicht
- SPQR wird mit Signals bestehender Double Ratchet kombiniert und bildet so eine als Triple Ratchet bezeichnete Konstruktion. Die Nutzererfahrung bleibt unverändert, alle Gespräche wechseln automatisch auf das neue Protokoll, und sowohl aktuelle als auch zukünftige Kommunikation werden geschützt
- Durch akademische Forschung (Eurocrypt 25, USENIX 25), erasure-code-basiertes Chunking und formale Verifikation (ProVerif, hax/F*) werden Korrektheit und Sicherheitseigenschaften des Protokolls maschinell verifiziert; in der CI-Pipeline erfolgt diese Verifikation bei jeder Änderung erneut, sodass sie ein dynamischer Teil des Entwicklungsprozesses bleibt
Überblick
- Signal hebt die Sicherheit des Signal Protocol mit der Einführung von Sparse Post Quantum Ratchet (SPQR) auf die nächste Stufe
- SPQR baut auf der bestehenden starken Sicherheit auf, begegnet künftigen Bedrohungen durch Quantencomputing und verstärkt die Garantiestruktur für Forward Secrecy (FS) und Post-Compromise Security (PCS) weiter
- Das System wird so nahtlos eingeführt, dass Nutzer praktisch keine Veränderung bemerken, und schafft eine Umgebung, in der Gesprächsinhalte auch dann sicher geschützt bleiben, wenn Quantencomputer Realität werden
Stand des bisherigen Signal-Protokolls
- Das Signal Protocol ist ein im Alltag verwendeter Standard für Ende-zu-Ende-Verschlüsselung in Messaging-Diensten
- Die bisherige Double-Ratchet-Struktur im Protokoll realisiert Forward Secrecy über Hash-Funktionen (quantensicher) und Post-Compromise Security über Elliptic Curve Diffie-Hellman (ECDH)
- ECDH gilt derzeit als sehr sicher, könnte aber künftig durch Quantencomputer angreifbar werden
- Eine Ratchet ist eine Technik, bei der während eines Gesprächs fortlaufend neue geheime Schlüssel erzeugt werden, um die Offenlegung früherer oder späterer Nachrichteninhalte zu verhindern
- Alice und Bob einigen sich in regelmäßigen Abständen auf neue ECDH-Geheimnisse und erneuern so die Sitzung
Warum quantensichere Elemente gemischt werden müssen
- Quantencomputer könnten bestehende asymmetrische Kryptoverfahren wie ECDH außer Kraft setzen
- Als Vorsorge wurde mit PQXDH zunächst beim Sitzungsstart quantensicheres geheimes Material eingebracht
- Im laufenden Gespräch wurde dann die Notwendigkeit deutlich, Schlüssel fortlaufend mit einem quantensicheren Key Encapsulation Mechanism (KEM) auszutauschen
- Ein KEM erzeugt wie Diffie-Hellman ein gemeinsames Geheimnis, erfordert aber den Austausch geordnet asymmetrischer Nachrichten
- Mit standardisierten KEMs wie ML-KEM werden während der Sitzung fortlaufend quantensichere Geheimnisse erzeugt
Zustandsmaschine und Bandbreitenoptimierung
- Da KEM-Verfahren große Datenmengen für den Schlüsselaustausch benötigen (etwa 1000 Byte), ist die Optimierung der Kommunikationsbandbreite ein wichtiges Thema
- Mithilfe der Logik einer Zustandsmaschine (State Machine) steuern Alice und Bob, welche Daten (Encapsulation Key, Ciphertext usw.) sie wann austauschen
- Durch Daten-Chunking und den Einsatz von Erasure Codes werden große Daten in kleinere Stücke aufgeteilt, damit sie bei Nachrichtenverlust oder Ausfällen leichter wiederhergestellt werden können
- Das Design erschwert es zudem Angreifern, gezielt nur Schlüsselaustausch-Chunks zu verwerfen und so das Protokoll zu unterbrechen
- Dadurch lassen sich Nachrichtenverlust, Umordnung und Verzögerungen in realen mobilen Umgebungen effektiv handhaben
Trade-off zwischen Effizienz und Sicherheit sowie Optimierung
- Würde die Erzeugung gemeinsamer Geheimnisse kompromisslos beschleunigt, bestünde eher das Risiko, dass bei einem Angriff sämtliche Geheimnisse eines bestimmten Zeitpunkts offengelegt werden
- Signal führte zahlreiche Zustandsmaschinen-Simulationen durch, um zwischen paralleler und serieller Übertragung einen Gleichgewichtspunkt aus Sicherheit und Effizienz zu finden
- Durch die Analyse von ML-KEM-Details und Verfahren wie Aufteilen und gleichzeitiges Übertragen von Chunks wird die Bandbreitennutzung maximiert
- Diesen Prozess nennt Signal ML-KEM Braid und nutzt ihn als ein Modul des eigenen Protokolls
Struktur der Triple Ratchet
- Double Ratchet (bestehend) und SPQR (neu, quantensicher) arbeiten gemeinsam, und ihre Schlüssel werden kombiniert, um hybride Verschlüsselungsschlüssel zu erzeugen
- Beim Ansatz der Triple Ratchet müssen beide Algorithmen gebrochen werden, damit Nachrichten offengelegt werden können; dadurch steigt die Sicherheit drastisch
- In der praktischen Implementierung werden aus Double Ratchet und SPQR jeweils Schlüssel bezogen und anschließend noch einmal über eine Key-Derivation-Function kombiniert
- Die Triple-Ratchet-Struktur gewährleistet für frühere und zukünftige Nachrichten sowohl quantensichere als auch klassische Sicherheitsgarantien
Heterogene Einführung und Kompatibilitätsbehandlung
- Da das Upgrade schrittweise ausgerollt wird, können Kompatibilitätsprobleme mit Nutzern auftreten, die SPQR noch nicht verwenden
- Während der anfänglichen Nachrichtenaushandlung wird daher vorübergehend ein Downgrade zugelassen, damit beide Nutzer über eine gegenseitig kompatible Methode kommunizieren können
- Wenn SPQR-Daten an Nachrichten angehängt werden, sind sie durch einen Authentifizierungscode geschützt, um erzwungene Downgrades durch Angreifer zu verhindern
- Sobald beide Seiten die Kompatibilitätsaushandlung abgeschlossen haben, wird die Entscheidung zur Nutzung von SPQR für die gesamte Sitzung festgeschrieben
- Sobald alle Nutzer auf eine SPQR-fähige Version aktualisiert haben, sollen alte Sitzungen archiviert oder beendet und neue Sitzungen vollständig mit SPQR betrieben werden
Sicherheitsprüfung des Protokolls und Verifikationswerkzeuge
- Bereits in der Entwurfsphase arbeitete Signal eng mit Forschenden aus der Wissenschaft, PQShield, AIST und NYU zusammen
- Veröffentlichungen auf Eurocrypt 25, USENIX 25 und anderen Konferenzen belegen theoretisch, dass das Protokoll sowohl quantensicher ist als auch die bestehenden Garantieanforderungen erfüllt
- Von sechs vorgeschlagenen Post-Quantum-Ratchet-Protokollen blieben SPQR und Katana (ein neues Protokoll auf KEM-Basis) übrig
- Die formale Verifikation wird mit Werkzeugen wie Cryspen, ProVerif, hax und F* sowie in der CI-Pipeline fortlaufend automatisiert verwaltet
- Durch die Synchronisierung von Rust-Implementierung und Verifikationsmodell wird sichergestellt, dass Entwurf und tatsächlicher Code übereinstimmen
- Während der Implementierung werden Invarianten (
assertion) aktiv in den Code eingebracht; tritt ein Fehler auf, wird die App gestoppt, um potenzielle Schwachstellen frühzeitig zu verhindern
Verifikation und kontinuierliche Entwicklung parallel
- Die formalen Verifikationsverfahren sind keine einmalige Aufgabe, sondern werden bei jeder Änderung an der Codebasis automatisch erneut ausgeführt
- Schlägt die Verifikation beim Zusammenführen neuen Codes fehl, kann auch kein Build erstellt werden
- Die praktische Erfahrung zeigt, dass sich Wartbarkeit und Protokollqualität stark verbessern lassen, wenn Grenzfallfehler sowie Vor- und Nachbedingungen klar kontrolliert werden
Zusammenfassung
- Signal verfolgt mit der Einführung einer vertrauenswürdigen Triple Ratchet-Struktur (Double Ratchet + SPQR) das Ziel, quantensichere Sicherheit für alle Nachrichten bereitzustellen
- Die Umstellung des Protokolls soll schrittweise erfolgen, ohne Dienstunterbrechung oder Unannehmlichkeiten für Nutzer
- Durch die minimale zusätzliche Datenmenge entstehen in mobilen Umgebungen kaum Mehrkosten
- Damit ein Angreifer manipulativ eingreifen kann, müsste er einen Denial-of-Service-Zustand herbeiführen; das Protokoll ist daher auch gegen Man-in-the-Middle-Angriffe robust
- Code und Entwurf werden systematisch formal verifiziert und sollen auch künftig ein hohes Sicherheitsniveau bewahren
- Für Signal-Nutzer bedeutet das voraussichtlich eine Umgebung, in der sowohl Protokolländerungen als auch Bedrohungen durch Quantencomputer unauffällig im Hintergrund abgefangen werden
1 Kommentare
Hacker-News-Kommentare
Signal veröffentlicht zwar weiterhin wirklich hervorragende Kryptografie-Papers, wirkt aus Produktsicht aber so, als würde man alles Mögliche ausprobieren, ohne zu wissen, was tatsächlich erfolgreich sein wird. Es gibt neue Versuche wie Post-Quantum-Handshakes, Stories, Geldtransfers usw., aber noch immer fehlen SDK, API und Bot-Unterstützung. Selbst die offiziellen Bibliotheken sind unfertig und ohne Dokumentation. Viele Funktionen sind weiterhin tief im Client verborgen. Die Protokollspezifikation wurde zwar offengelegt, aber den Leuten einfach zu sagen, sie sollen sich daraus selbst Bibliotheken bauen, ist eine verantwortungslose Haltung, die völlig an realem Produktbetrieb vorbeigeht. Für eine Plattform mit Millionen Nutzern fehlen hier grundlegende Dinge. Apps wie WhatsApp oder iMessage öffnen wenigstens irgendetwas für Entwickler, bei Signal hat man eher den Eindruck, dass alles rund um Entwickler konsequent ausgeschlossen wird. Es wirkt fast, als gäbe es gar keinen Produktverantwortlichen, so wenig ist eine klare Strategie erkennbar. Aus Sicht eines langjährigen Signal-Nutzers, der es auch aktiv weiterempfohlen hat, fühlt sich Signal wie ein Messenger an, der mit angesagter Kryptotechnik überladen wurde und für Entwickler noch geschlossener ist als das Apple-Ökosystem. Trotzdem bin ich den Leuten dankbar, die das Produkt gebaut haben
Stimme zu. Besonders die Funktion „Stories“ wirkte wirklich so, als hätte man sie einfach mal hineingeworfen, um zu sehen, was passiert. Ich denke, Signal kommt aus einer anarchistisch geprägten Non-Profit-Kultur, deshalb sind die Ziele wohl grundsätzlich andere als bei normalen Unternehmen. Solange die App ihren Kernauftrag erfüllt, ist das okay, aber ein SDK wäre wirklich wünschenswert
Ich frage mich, ob Funktionen wie eine API oder Business-Bots wirklich so wichtig sind. WhatsApp und iMessage haben Business-APIs, aber als normaler Nutzer habe ich damit noch nie tatsächlich mit einem Unternehmen interagiert. Stattdessen nerven Bots gelegentlich einfach nur. Das eigentliche Problem bei Signal ist eher, dass die App still veraltet oder Updates stoppen können, ohne dass es eine Warnung gibt, und man dadurch Nachrichten komplett verpasst. Dabei geht es um die Kernmission eines Messengers, und genau das funktioniert dann nicht
Dass es keine API und keine Bots gibt, ist für mich eher ein Vorteil
Ich hätte lieber, dass man sich ohne solche Funktionen darauf konzentriert, weiter einen sicheren und brauchbaren Messenger wie jetzt zu bauen
Was mich bei Signal wirklich aufregt, ist, dass der Anrufer einen Klingelton hört, selbst wenn das Telefon des tatsächlichen Empfängers gar nicht klingelt. Das ist eine seit Langem bewusst so verteidigte offizielle Entscheidung. So ist es durchgehend, seit dieses frühere U-Boot-Geräusch entfernt wurde
Ich war überrascht, dass das Signal-Protokoll SPQR heißt. SPQR ist die lateinische Abkürzung für „Senatus Populusque Romanus“ siehe Wikipedia. Ziemlich cool
Für ein zukunftsorientiertes Protokoll den Namen SPQR zu verwenden, hat etwas von Ozymandias
Sehr clevere Namensgebung. Ich kenne es vor allem von den Tätowierungen der römischen Legionäre in der BBC-Miniserie „Rome“ Rome bei Wikipedia
Strength and Honor
Solchen Humor findet man wohl nur auf Hacker News. Ich musste an den Comic denken, in dem es darum geht, „wie sich ein Mathematiker seine Schließfachnummer merkt“. („1975? Das ist doch die Quadratwurzel von 3.900.625!“)
Vielleicht heißt es einfach so, weil „SPQR“ wie „Speaker“ klingt und deshalb gut zu einer Chat-App passt? Man muss nicht alles mit Rom verbinden
Die größte Schwäche von Signal ist, dass Identität über Telefonnummern unterschieden wird. Nicht nur Hacker, sondern auch autoritäre Regierungen können sich jederzeit Telefonnummern aneignen. Über Bedrohungen der Zukunft nachzudenken ist wichtig, aber die Prioritäten sollten anders gesetzt werden
Falls es noch jemand nicht kennt: Einführung von Benutzernamen und dem Verbergen der Telefonnummer in Signal (Februar 2024)
Viele sichere Messenger funktionieren auch ohne Telefonnummer und bieten ihre Dienste sogar unter Tilgung von Metadaten an. In Ländern, in denen Telefonnummern und SIM-Karten an Personen gebunden sind, ist Signals Ansatz eine Eintrittshürde
Die Anforderung einer Telefonnummer ist unter dem Gesichtspunkt der Spam-Abwehr eine einfache und gleichzeitig vertrauenswürdige Methode
Dass die Identität über eine Telefonnummer bestätigt wird, erscheint mir nicht als ein fataler Mangel. Selbst wenn eine autoritäre Regierung eine Nummer übernimmt, bekommt sie dadurch nicht gleich auch den Nachrichtenverlauf. Der Nutzer, der ein Signal erhält, wird bereits gewarnt. Signal ist nicht frei von Problemen, und Kritik sowie hohe Maßstäbe sind unbedingt nötig, aber es ist immer noch der einzige Messenger mit vollständiger Ende-zu-Ende-Verschlüsselung und Metadatenschutz, den normale Menschen tatsächlich benutzen können. Es gibt Dienste mit noch stärkerer Sicherheit und Privatsphäre, aber dass selbst meine Großmutter ihn verwenden kann, ist der wirklich entscheidende Punkt. Signal hat die Sicherheit inzwischen ausreichend gefestigt, daher würde ich mir wünschen, dass man sich nun stärker auf Privatsphäre konzentriert. Trotz aller Kritik empfehle ich es weiterhin sehr nachdrücklich und rate auch meinen Freunden aktiv dazu. Ich habe auch mehrfach gespendet siehe Signals Transparenzbericht
Signal hat eine Funktion namens „Registrierungssperre“, die bei gesetztem Passwort verhindern kann, dass ein Konto durch SIM-Übernahme missbraucht wird
Ich frage mich, wo Signal nach der Einführung von SPQR, also einer quantenresistenten Ratchet, im Vergleich zu iMessages PQ3 steht. Mich würden auch Einschätzungen zu den früheren quantenresistenten Messaging-Versuchen von Cyph und Simplex interessieren. Einführung von iMessage PQ3 / Cyph - Post-Quantum Castle / Simplex - quantenresistente Funktionen
Signals SPQR ist wie PQ3 eine auf ML-KEM basierende Ratchet-Struktur, aber die Methode der Schlüsselübertragung ist anders. Weil ML-KEM-Schlüssel groß sind, sendet PQ3 die Schlüssel nur gelegentlich periodisch, während Signal sie zusammen mit Nachrichten verteilt überträgt. Die Einschätzung scheint zu sein, dass versteckte Bandbreite und Chunking auch sicherheitstechnisch sogar sicherer und effizienter sind. Wegen Fehlerkorrektur-Codierung kann die gesamte Bandbreite zwar steigen, aber die Größe jeder einzelnen Nachricht bleibt konstant. Apple hat mehr Kontrolle über das Netzwerk und kann sich daher wohl leichter gegen aggressive Rekeying-Angriffe verteidigen
Ich frage mich, ob iMessage in der realen Umgebung überhaupt viel bedeutet. Die meisten iPhone-Nutzer verwenden iCloud-Backups ohne Ende-zu-Ende-Verschlüsselung, und vollständig verschlüsselte Backups sind optional. Wenn also eine Anfrage von Strafverfolgungsbehörden kommt, kann Apple die Daten entschlüsseln. Dafür braucht es nicht einmal Quantencomputer, es ist also schon jetzt ausreichend verwundbar
Beim Namen SPQR (Sparse Post-Quantum Ratchet) habe ich sofort gedacht, dass im Signal-Team wohl jemand ein Fan römischer Geschichte ist
Wie oft denkt ihr eigentlich an das Römische Reich?
Vielleicht ist es einfach eine Abwandlung von „Speaker“, also dem perfekten Wort für eine Chat-App
Die größte Schwäche von Signal ist die telefonnummernbasierte Identitätsprüfung. Nicht nur Hacker, sondern auch autoritäre Regierungen können jederzeit die Kontrolle über eine Nummer übernehmen. Über Bedrohungen der Zukunft nachzudenken ist gut, aber die Prioritäten sollten anders liegen
Ich wünschte, Signal würde eine rollenbasierte Nachrichtenübertragungsschicht werden, also eine Art „Transport-Bus“. Zum Beispiel wäre es gut, wenn ich von einem bestimmten Kontakt, etwa meiner Frau, sicher Standortinformationen anfordern und mit ihr teilen könnte, ohne über Google gehen zu müssen. Die Identitätsfrage ist bereits gelöst, also sollte Signal meiner Meinung nach dazu ermutigen, Apps auf Signal aufzubauen. Auch 2FA über Signal wäre meiner Ansicht nach sicherer als per SMS
Ich würde auch unbedingt gern einen Vergleich des modernen Signal-Protokolls mit Matrix oder MLS sehen. Die Entwicklung geht so schnell, dass man kaum hinterherkommt, und mich interessiert, wie die Dinge derzeit zueinander stehen
Matrix ist ein offener Standard und verwendet die Kombination Olm + Megolm (Double Ratchet + Gruppen-Schlüssel-Ratchet). Metadaten werden serverseitig offengelegt (Gruppenstruktur für den Server sichtbar, Attributwerte im Klartext gespeichert usw.; an Verbesserungen wird gearbeitet: Element-Blog – Pläne zur Verschlüsselung von Raum-Metadaten). Aufgrund der verteilten Struktur kann jeder einen Server betreiben.
Schließlich ist MLS (RFC 9420) ein Protokoll für Gruppenmitgliedschaft und Schlüsselaustausch, das die Double Ratchet ersetzen kann; zuletzt wurden auch Vorschläge zur Post-Quanten-Anpassung gemacht. Die Performance ist mit O(log N) pro Gruppe effizient. Es ist noch nicht ausgereift und im Vergleich zur Double Ratchet komplexer. Die Verbreitung geht eher langsam voran, aber als IETF-Standard wird es von Google für RCS sowie bei Discord/Webex-VoIP eingeführt. Metadatenverschleierung oder kryptografische Abstreitbarkeit bietet es nicht
Dieser Artikel ist einer der besten Texte über Kryptografie, die ich je gelesen habe. Ich würde sagen, dass ich bei Kryptografie ein gewisses Grundverständnis habe, aber bei anderen Texten zu ähnlichen Themen wurden mir unterwegs wirklich die Augen schwer. Diesmal konnte ich dem Gedankengang selbst bei einem völlig ungewohnten Thema vollständig folgen
Kann jemand, der sich mit Bedrohungen durch Quantenkryptografie gut auskennt, einfach erklären, warum Signals aktuelles Protokoll jetzt sicherer geworden ist? Selbst nach dem Lesen verstehe ich nicht genau, warum es sicherer ist. Mich würde auch interessieren, ob es in der Praxis spürbare Geschwindigkeitseinbußen gibt
Einfach gesagt ist das Standardszenario der Bedrohung, dass der Gegner der Guten „es jetzt noch nicht entschlüsseln kann, aber irgendwann, wenn Quantencomputer möglich sind, die heute gesammelten Chiffratexte gesammelt auf einmal knacken wird“. Das ist das Modell „Harvest and decrypt“. Wenn Signal Geheimnisse schützen muss, die lange vertraulich bleiben oder auch in Zukunft noch sicher sein sollen, dann braucht es ab heute eine PQ-Schlüsselvereinbarung. Deshalb sind neue Protokolle wie PQXDH nötig.
Die PQ-Ratchet ist wichtig, weil es eine sehr reale Bedrohung ist, dass ein Angreifer nicht nur langfristig Chiffrate sammelt, sondern irgendwann auch ein Gerät kompromittiert oder durch einen Implementierungsfehler an Schlüssel gelangt. Dann braucht man eine doppelte Verteidigung aus Forward Secrecy und Post-Compromise Security. Wenn die Schlüssel ständig weitergedreht und erneuert werden, bedeutet selbst eine einmalige Kompromittierung nicht automatisch, dass auch frühere oder zukünftige Nachrichten gefährdet sind. Damit diese Verteidigung in einer Post-Quanten-Welt korrekt funktioniert, muss die gesamte Ratchet-Struktur ebenfalls post-quantenfähig sein. Sonst konzentriert sich der Angreifer einfach auf den Ratchet-Abschnitt, und die gesamte Sicherheit fällt auseinander
Die bisherige quantenresistente Kryptografie-Implementierung von Signal hatte keine PCS (Post-Compromise Security). Jetzt gibt es sie. Ich fand es gut, endlich verstanden zu haben, was PCS eigentlich bedeutet. Als neues Konzept klang es spannend, aber ein wenig ernüchternd war, dass es so etwas im OTR-Protokoll (Off-the-Record) schon gab. Dieser Schlüsselaustausch passiert nicht häufig, daher gibt es in der Praxis fast keine Leistungseinbußen
Zusammenfassung des offiziellen Blogs:
Sono pazzi, questi Romani