Wir haben pqprobe gebaut, um eine einfache Frage zu beantworten: Ist Ihre Kryptographie bereit für Quantencomputer?
Heute launchen wir mit einer Fallstudie darüber, was das Tool findet, wenn Sicherheitsmarketing nicht mit der Implementierung übereinstimmt.
TL;DR
| Behauptung | Befund |
|---|---|
| „Post-quantum cryptography by default“ | FALSCH für die Anwendungsschicht |
| „X25519MLKEM768“ in der Codebasis | NICHT VORHANDEN (nur TLS, extern) |
| „Two layers, independent protection“ | Layer 2 hat NULL PQC |
| „Full Matrix E2EE stack“ | 100% klassisch, quantenverwundbar |
Die korrekte Aussage: „Matrix auf Cloudflare Workers, mit PQC-TLS für Transportsicherheit. Matrix E2EE bleibt klassisch.“
Das Ziel
Am 27. Januar veröffentlichte Cloudflare einen Blogbeitrag, in dem sie einen „Post-Quanten-Matrix-Homeserver“ auf Workers ankündigten. Bis zum nächsten Tag hatte die Matrix-Community Probleme identifiziert: KI-generierter Code mit Authentifizierungslücken, falsch ausgerichtete ASCII-Diagramme, Behauptungen über die Portierung von Software aus Datenbanken, die nie verwendet wurden.
Die Matrix Foundation adressierte die Implementierungslücken. Was sie nicht untersuchten, war die Post-Quanten-Behauptung selbst—und genau dort wird pqprobe gebraucht.
Cloudflares Blog-Behauptungen
„Every connection is protected by post-quantum cryptography by default.“
„X25519MLKEM768 — a hybrid combining classical X25519 with ML-KEM, the post-quantum algorithm standardized by NIST.“
„Two layers, independent protection.“
Cloudflares TLS ist post-quantum. Das ist echt. Sie haben dort gute Arbeit geleistet. Aber Matrix E2EE ist nicht Cloudflares TLS.
Was pqprobe gefunden hat
Wir haben 64 TypeScript-Dateien in 52 ms gescannt:
$ pqprobe-static scan ./matrix-workers
QUANTUM-VULNERABLE CRYPTOGRAPHIC PRIMITIVES DETECTED
Severity Count Category
────────────────────────────────────────────────────────────
CRITICAL 14 Placeholder crypto implementations
(seed-as-keypair, hash-as-signature)
HIGH 17 Shor-vulnerable asymmetric crypto
(Ed25519, Curve25519, ECDSA, RSA)
MEDIUM 101 Classical signing operations (6)
Crypto key storage access points (94)
Documentation claims vs reality (1)
LOW 2 Grover-reduced symmetric (AES-GCM)
INFO 4 Grover-reduced hashing
(SHA-256, HMAC, PBKDF2)
────────────────────────────────────────────────────────────
Total 138
PQC Found 0 NONE DETECTED
Vollständige Scan-Ergebnisse: JSON | SARIF
Null Post-Quanten-Kryptographie in der Anwendungsschicht. Siebzehn Instanzen von Shor-verwundbarer asymmetrischer Kryptographie im Code—mit exakten Algorithmus-Identifikatoren wie 'ECDSA', 'P-256' und ed25519. Vierzehn kritische Befunde, bei denen die Kryptographie nicht nur quantenverwundbar ist—sie ist Platzhalter-Code. Kommentare wie // Placeholder signature - in production use Ed25519 neben Code wie const signature = hash;.
Die zwei Schichten
Der Blog beschreibt „zwei unabhängige Schutzschichten.“ Hier ist, was jede Schicht tut:
Schicht 1: Transport (TLS)
- Algorithmus: X25519MLKEM768 (Post-Quanten-Hybrid)
- Schützt: Daten während der Übertragung zwischen Client und Cloudflare Edge
- Terminiert bei: Cloudflares Servern
Schicht 2: Anwendung (Matrix E2EE)
- Algorithmus: Curve25519 + Megolm
- Schützt: Nachrichteninhalt, Ende-zu-Ende
- Schlüssel gespeichert in: D1-Datenbank, KV-Namespaces
PQC-TLS schützt gegen einen Angreifer, der TLS-Sitzungen passiv auf der Leitung mitschneidet und auf Quantencomputer wartet, um sie zu entschlüsseln. Das ist eine reale Bedrohung, und Cloudflares TLS adressiert sie.
Es schützt nicht gespeichertes kryptographisches Material.
Harvest Now, Decrypt Later
Das Bedrohungsmodell, das die PQC-Einführung antreibt, ist Harvest-now-decrypt-later. Nationalstaaten erfassen heute verschlüsselte Daten, speichern sie und entschlüsseln sie, wenn kryptographisch relevante Quantencomputer verfügbar sind—geschätzt 2030–2040.
Folgendes ist von diesem Matrix-Server abgreifbar:
Aus der D1-Datenbank:
events-Tabelle: Megolm-Chiffretext (Curve25519-basierter Schlüsselaustausch)device_keys: Ed25519 Public Keysone_time_keys: Curve25519 Public Keyscross_signing_keys: Ed25519 Public Keyskey_backup_keys: Verschlüsselte Sitzungsschlüssel
Aus dem Föderationsverkehr:
- Ed25519-signierte Events zwischen Homeservern
- Server-Signaturschlüssel
Shor’s Algorithmus löst das Problem des diskreten Logarithmus effizient. Gegeben einen Curve25519- oder Ed25519-Public-Key, den Private Key ableiten. Die One-Time-Keys im KV-Speicher ermöglichen die Rekonstruktion jeder Olm-Sitzung, jedes Megolm-Sitzungsschlüssels, jeder Nachricht. Die Device-Signing-Keys ermöglichen das Fälschen jedes Geräts, das Nachahmen jedes Benutzers. Die Federation-Server-Keys ermöglichen das Fälschen historischer Events.
PQC-TLS schützt nichts davon. Die Schlüssel sind nicht in der Übertragung. Sie sind gespeichert.
Wen das betrifft
Cloudflare beschrieb ihre Zielgruppe so:
„government messaging systems, open-source communities, and privacy-focused organizations“
Das sind genau die Ziele von Harvest-now-decrypt-later. Der Zeitrahmen für politische Verfolgung übersteigt oft den Zeitrahmen für Quantencomputing. Organisationen, deren Bedrohungsmodelle nationalstaatliche Angreifer mit langem Zeithorizont einschließen, brauchen genaue Informationen darüber, was geschützt ist und was nicht.
Was echtes PQC-Matrix erfordern würde
Damit eine Behauptung „Post-Quanten-Matrix-Homeserver“ zutreffend wäre:
- ML-KEM für Olm-Schlüsselvereinbarung (als Ersatz für Curve25519)
- Dilithium oder SLH-DSA für Geräte-/Server-Signierung (als Ersatz für Ed25519)
- Hybride klassisch+PQC-Modi für die Übergangsphase
- Updates für jeden Matrix-Client
Die Matrix-Spezifikation unterstützt das noch nicht. Kein Homeserver implementiert es.
Eine klassische Matrix-Implementierung „post-quantum“ zu nennen, weil sie hinter PQC-TLS läuft, ist wie den Aktenschrank in Ihrem Haus als sicher vor Angriffen zu bezeichnen, weil Sie mit einem gepanzerten Fahrzeug zur Arbeit fahren.
Weitere Befunde
pqprobes tieferer Scan fand Probleme jenseits der Post-Quanten-Behauptung:
- 94 Zugriffspunkte über 10 Speicher (jeder Codepfad, der quantenverwundbares Schlüsselmaterial liest oder schreibt):
SELECT-,INSERT-,UPDATE-Operationen auf Schlüsselmaterial in D1-Tabellen (6), KV-Namespaces (3) und Durable Objects (1). - Dokumentationsabweichung: README behauptet Argon2id für Passwort-Hashing. Der Code verwendet PBKDF2. pqprobe scannt Markdown nach Krypto-Behauptungen, die nicht mit der Implementierung übereinstimmen.
Warum wir pqprobe gebaut haben
Sicherheitsbehauptungen sind leicht zu generieren. Verifizierung erfordert Werkzeuge.
pqprobe scannt Ihre Codebasis und meldet, was quantenverwundbar, was quantenresistent und was fehlend ist.
Probieren Sie es mit Ihrem eigenen Code: pqprobe.com
pqprobe fand 138 Probleme in 52 ms. Diesen Beitrag zu schreiben dauerte länger als das Marketing zu widerlegen.