
Voron Messenger Crypto/Protocol-Bibliothek (X3DH-lite + Double Ratchet, Group Sender-Keys, Onion Transport) — externe Überprüfung angefordert
Dies ist der Kern der Krypto- und Nachrichtenprotokolle eines kleinen E2EE-Messenger-Projekts, der für eine externe Überprüfung separat herausgelöst wurde. Es ist nicht das gesamte Produkt — der Android-Client und die Bereitstellungskonfiguration wurden absichtlich weggelassen; dies ist nur der Teil, der einer Begutachtung bedarf.
common/ — die Bibliothek selbst:
e2ee/ — X3DH-lite (asynchroner Schlüsselaustausch) + ein Double Ratchet darüber, basierend auf Curve25519/ChaCha20-Poly1305/Ed25519/HKDF (von JDK bereitgestellte Primitive, nichts selbst entwickelt auf dieser Ebene).crypto/ — dünne Wrapper um diese JDK-Primitive.group/ — Gruppenbenachrichtigungen über ein Sender-Keys-Schema (der Pre-MLS-Ansatz, den frühe WhatsApp/Signal-Gruppen verwendeten), plus ein clientseitiges signiertes Hash-Chain-Ereignisprotokoll für Mitgliedschaft/Rollen, da der Relay überhaupt kein Konzept von Gruppen hat.onion/ — ein optionaler Transport mit geschichteter Verschlüsselung (feste Hop-Anzahl, Größen-Bucket-Padding), um zu verhindern, dass der Relay die IP einer Verbindung direkt mit ihrem Identitätsschlüssel verknüpft.client/, transport/, backup/ — das Drahtprotokoll, der Noise_IK-Transport-Handshake und ein verschlüsseltes Backup-Format.server/ — eine Referenzimplementierung des Relays: Store-and-Forward-Routing, Prekey-Verzeichnis, Offline-Postfach, die Onion-Hop-Rolle. Absichtlich minimales Vertrauen: der Relay sieht niemals Klartext, hält eine Nachricht nie länger als für die Zustellung nötig und hat (konstruktionsbedingt) keinerlei Kenntnis von Gruppenmitgliedschaften.client/ — eine einfache JVM-Konsolen-Testumgebung (keine echte App), die verwendet wird, um common/server in Integrationstests gegeneinander zu treiben, plus einige eigenständige Exploit-PoCs (siehe unten).security-audit/ — Berichte von früheren internen Überprüfungsdurchgängen, die gefundenen Fehler und die bereits behobenen. Lesen Sie dies, bevor Sie etwas melden — es besteht eine reale Chance, dass es bereits hier enthalten ist. REPORT.md ist der Hauptbericht; ADVERSARIAL_REVIEW_PAVEL.md ist ein späterer, engerer Durchgang; fuzz/ und client/.../exploit/ enthalten ausführbare PoCs, nicht nur Beschreibungen.security-audit/ behobenen Fehler sind genau 'was kann ein feindseliger Relay tun'.group/GroupCryptoSession.kt).security-audit/REPORT.md und ADVERSARIAL_REVIEW_PAVEL.md erwähnt, nicht etwas, das versteckt wird.common/src/main/kotlin/messenger/common/e2ee/) — dies ist die einzige wirklich maßgeschneiderte kryptografische Konstruktion hier, alles darunter ist Standard. Sie wurde mehrfach intern überprüft (siehe security-audit/), aber nie von jemandem außerhalb dieses Projekts.common/src/main/kotlin/messenger/common/group/GroupControlLog.kt) — eine clientseitige signierte Hash-Chain ohne jegliche Serverdurchsetzung../gradlew test
Standard-Gradle/Kotlin-Projekt, JDK 17+. Kein Netzwerkzugriff oder laufende Dienste für die Unit-Test-Suite erforderlich. security-audit/README.md enthält Anweisungen für die Live-Relay-Fuzzing- und Onion-Korrelations-PoCs, die lokale Prozesse erfordern (richten Sie nichts davon auf einen Produktionshost).
Es wurde kein unabhängiges kryptografisches Audit durchgeführt. Alles in security-audit/ ist eine interne technische Überprüfung — sorgfältig, aber Selbstüberprüfung, ohne formale Beweisführung und ohne professionelle/institutionelle Erfolgsbilanz dahinter. Betrachten Sie es als Ausgangspunkt für eine Überprüfung, nicht als Zertifizierung.