Zwei-Schichten-Verschlüsselung: Wie Z-Text Ihre Nachrichten schützt
Die meisten verschlüsselten Messenger setzen auf eine einzige Verschlüsselungsschicht. Z-Text verwendet zwei unabhängige Verschlüsselungsschichten, die jeweils vor unterschiedlichen Bedrohungsvektoren schützen.
Die meisten verschluesselten Messenger verlassen sich auf eine einzige Verschluesselungsschicht. Z-Text verwendet zwei unabhaengige Verschluesselungsschichten, die jeweils gegen verschiedene Bedrohungsvektoren schuetzen. Dieser Artikel erklaert, wie sie zusammenarbeiten, um gestaffelte Verteidigung fuer Ihre Nachrichten zu bieten.
Schicht 1: Blockchain-Abschirmung
Die erste Verschluesselungsschicht kommt von der BitcoinZ-Blockchain selbst. Abgeschirmte Transaktionen verwenden zk-SNARKs (Zero-Knowledge Succinct Non-Interactive Arguments of Knowledge), um alle Transaktionsdaten zu verschluesseln.
Wenn eine Z-Text-Nachricht als abgeschirmte Transaktion gesendet wird, werden folgende Informationen vor allen Netzwerkbeobachtern verborgen:
- Die Adresse des Absenders
- Die Adresse des Empfaengers
- Der Transaktionsbetrag
- Das Memo-Feld (in dem die Nachricht gespeichert ist)
Nur der Inhaber des Viewing Keys der z-Adresse des Empfaengers kann das Memo-Feld entschluesseln und den Nachrichteninhalt lesen. Dies schuetzt vor passiver Netzwerkueberwachung und Blockchain-Analyse.
Schicht 2: Contact Key Encryption
Die zweite Schicht fuegt Ende-zu-Ende-Verschluesselung auf die Blockchain-Abschirmung hinzu. Waehrend des Handshake-Prozesses etabliert Z-Text einen gemeinsamen geheimen Schluessel zwischen zwei Kontakten mittels Elliptic Curve Diffie-Hellman (ECDH) Schluesselaustausch.
Bevor eine Nachricht in das Transaktions-Memo eingefuegt wird, wird sie mit diesem gemeinsamen Schluessel verschluesselt. Das bedeutet, selbst wenn jemand den Viewing Key der z-Adresse erlangt (durch Zwang, Diebstahl oder eine zukuenftige Schwachstelle), kann er die Nachrichten ohne den separat abgeleiteten Contact Key trotzdem nicht lesen.
Der Handshake-Schluesselaustausch
Der Contact Key wird durch ein vertrauensloses Handshake-Protokoll etabliert:
- Alice sendet eine Handshake-Anfrage an Bobs z-Adresse, die ihren ephemeren oeffentlichen Schluessel enthaelt (verschluesselt im Memo einer abgeschirmten Transaktion)
- Bob akzeptiert, indem er seinen ephemeren oeffentlichen Schluessel zurueck an Alice sendet (ebenfalls per abgeschirmter Transaktion)
- Sowohl Alice als auch Bob leiten unabhaengig dasselbe gemeinsame Geheimnis mittels ECDH ab
- Dieses gemeinsame Geheimnis wird zum symmetrischen Verschluesselungsschluessel fuer alle zukuenftigen Nachrichten
Das Elegante an diesem Ansatz ist, dass selbst der Schluesselaustausch durch die Abschirmung von Schicht 1 geschuetzt ist. Ein Beobachter kann weder die ausgetauschten oeffentlichen Schluessel sehen noch erkennen, dass ein Handshake stattfindet.
Warum zwei Schichten wichtig sind
Jede Schicht schuetzt gegen verschiedene Angriffsszenarien:
- Schicht 1 allein schuetzt gegen Netzwerkbeobachter und Blockchain-Analysten, ist aber anfaellig fuer eine Kompromittierung des Viewing Keys
- Schicht 2 allein schuetzt gegen eine Kompromittierung des Viewing Keys, waere aber verwundbar, wenn Nachrichten im Klartext on-chain gesendet wuerden
- Beide Schichten zusammen erfordern, dass ein Angreifer zwei unabhaengige kryptographische Systeme gleichzeitig kompromittiert
Dies ist das Prinzip der gestaffelten Verteidigung, angewandt auf Nachrichtenverschluesselung. Kein einzelner Fehlerpunkt kann Ihre Nachrichten offenlegen.
Kryptographische Primitives
Der Verschluesselungs-Stack von Z-Text verwendet bewaehrte kryptographische Primitives:
- zk-SNARKs (Groth16) fuer abgeschirmte Transaktionen in Schicht 1
- ECDH ueber Curve25519 fuer den Schluesselaustausch
- ChaCha20-Poly1305 fuer symmetrische Verschluesselung in Schicht 2
- BLAKE2b fuer die Schluesselableitung
Alle kryptographischen Operationen werden im Rust-Kern der Anwendung ausgefuehrt, wobei zeitkonstante Implementierungen genutzt werden, um Timing-Seitenkanalangriffe zu verhindern.
Praktische Auswirkungen
Fuer den Nutzer ist die Zwei-Schichten-Verschluesselung vollstaendig transparent. Die App uebernimmt den gesamten Schluesselaustausch und die Verschluesselung automatisch. Nachrichten erscheinen in einer vertrauten Chat-Oberflaeche ohne Hinweis auf die ausgefeilte Kryptographie, die darunter arbeitet.
Das Ergebnis ist ein Niveau an Nachrichtensicherheit, das ueber das hinausgeht, was jeder zentralisierte Messenger bieten kann -- nicht weil die Kryptographie komplexer ist, sondern weil das Vertrauensmodell grundlegend anders ist. Es gibt keinen Server, der per Gerichtsbeschluss herausgegeben werden kann, kein Unternehmen, das unter Druck gesetzt werden kann, und keinen einzelnen Schluessel, der alles entsperrt.
Verwandte Artikel
Der Blockchain-Handshake: Vertrauensloser Schlüsselaustausch
Bevor zwei Z-Text-Nutzer Nachrichten austauschen können, müssen sie einen kryptografischen Handshake durchführen. Dieser Artikel erklärt, wie er funktioniert und warum er für die Sicherheit wichtig ist.
Z-Text vs Signal vs Telegram: Ein Datenschutzvergleich
Nicht alle Datenschutzversprechen sind gleichwertig. Dieser Artikel vergleicht die Architektur von Z-Text mit zwei beliebten Alternativen: Signal und Telegram.