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.
Bevor zwei Z-Text-Nutzer Nachrichten austauschen koennen, muessen sie einen "Handshake" abschliessen -- ein kryptographisches Protokoll, das einen gemeinsamen Verschluesselungsschluessel etabliert. Dieser Artikel erklaert, wie es funktioniert und warum es fuer die Sicherheit wichtig ist.
Warum ein Handshake?
Bei traditionellen verschluesselten Messengern vermittelt ein zentraler Server den Schluesselaustausch. Wenn Sie jemandem auf Signal schreiben, erleichtert deren Server die erste Schluesselvereinbarung. Das funktioniert gut, fuehrt aber eine Vertrauensabhaengigkeit ein -- Sie vertrauen dem Server, die richtigen Schluessel zu liefern.
Z-Text hat keine Server. Der Handshake wird vollstaendig ueber Blockchain-Transaktionen durchgefuehrt, was ihn vertrauenslos und verifizierbar macht. Kein Vermittler kann den Schluesselaustausch manipulieren oder beobachten.
Das Protokoll
Der Z-Text-Handshake folgt einem modifizierten Diffie-Hellman-Schluesselaustauschprotokoll, angepasst fuer blockchain-basierte Zustellung:
Schritt 1: Initiierung
Alice moechte Bob eine Nachricht senden. Sie kennt Bobs z-Adresse. Alices App generiert ein ephemeres Schluesselpaar und erstellt eine abgeschirmte Transaktion an Bobs z-Adresse. Das Transaktions-Memo enthaelt Alices ephemeren oeffentlichen Schluessel und ihre z-Adresse.
Da es sich um eine abgeschirmte Transaktion handelt, kann niemand, der die Blockchain beobachtet, sehen, dass Alice etwas an Bob gesendet hat oder was das Memo enthaelt.
Schritt 2: Erkennung
Wenn Bob seine Wallet synchronisiert, erkennt seine App die eingehende Transaktion und liest das Memo. Sie erkennt dies als Handshake-Anfrage anhand einer spezifischen Protokollmarkierung im Memo-Format.
Bobs App zeigt die Handshake-Anfrage mit Alices z-Adresse an und fordert ihn auf, anzunehmen oder abzulehnen.
Schritt 3: Antwort
Wenn Bob akzeptiert, generiert seine App ihr eigenes ephemeres Schluesselpaar und sendet eine Antworttransaktion zurueck an Alices z-Adresse. Das Memo enthaelt Bobs ephemeren oeffentlichen Schluessel.
Schritt 4: Schluesselableitung
Sowohl Alice als auch Bob haben nun die ephemeren oeffentlichen Schluessel des jeweils anderen. Jeder berechnet unabhaengig das gemeinsame Geheimnis mittels Elliptic Curve Diffie-Hellman (ECDH). Die mathematischen Eigenschaften von ECDH garantieren, dass beide Seiten zum selben gemeinsamen Geheimnis gelangen, ohne dass es jemals uebertragen wird.
Dieses gemeinsame Geheimnis wird dann als Grundlage fuer die Ableitung symmetrischer Verschluesselungsschluessel fuer alle zukuenftigen Nachrichten zwischen Alice und Bob verwendet.
Sicherheitseigenschaften
Der Blockchain-Handshake bietet mehrere wichtige Sicherheitseigenschaften:
- Vertraulichkeit: Der Schluesselaustausch ist in abgeschirmten Transaktionen verborgen, unsichtbar fuer Beobachter
- Integritaet: Der Proof-of-Work der Blockchain stellt sicher, dass Transaktionen nicht manipuliert werden koennen
- Authentizitaet: Nur der Inhaber des privaten Schluessels der z-Adresse kann die Handshake-Antwort erstellen
- Kein MITM: Ohne zentralen Server gibt es keinen Vermittler, der Schluessel austauschen koennte
Vergleich mit dem Signal-Protokoll
Das Signal-Protokoll verwendet einen zentralen Server zum Speichern und Liefern von Pre-Keys. Dies ermoeglicht zwar asynchronen Schluesselaustausch (Sie koennen jemandem schreiben, der offline ist), erfordert aber das Vertrauen in Signals Server, korrekte Schluessel zu liefern.
Z-Texts Blockchain-Handshake ist ebenfalls asynchron (Bob muss nicht online sein, wenn Alice die Anfrage sendet), aber der Zustellungsmechanismus ist die dezentrale Blockchain anstelle eines Unternehmensservers. Handshake-Schritte werden ueber G-stream Mempool-Push erkannt und in Sekunden pro Schritt abgeschlossen, und das Vertrauensmodell ist grundlegend staerker.
Praktische Ueberlegungen
Der Handshake wird typischerweise innerhalb von Sekunden pro Schritt ueber G-stream Mempool-Push abgeschlossen. Jeder Schritt erfordert eine kleine BTCZ-Transaktionsgebuehr. Einmal etabliert, wird der gemeinsame Schluessel lokal gespeichert und muss nicht erneuert werden -- alle zukuenftigen Nachrichten zwischen den beiden Kontakten verwenden denselben Schluessel.
Wenn ein Kontakt entfernt und erneut hinzugefuegt wird, muss ein neuer Handshake durchgefuehrt werden, der ein voellig neues gemeinsames Geheimnis generiert.
Verwandte Artikel
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.
Warum dezentrales Messaging wichtig ist
Milliarden von Nachrichten fließen täglich über zentralisierte Server. Dezentrales Messaging bietet ein grundlegend anderes Modell, bei dem keine einzelne Instanz die Infrastruktur kontrolliert.