Zero-Knowledge-Beweis
Kryptographisches Verfahren mit dem eine Partei beweisen kann, dass sie ein Geheimnis kennt - ohne das Geheimnis selbst preiszugeben. Basis für datenschutzfreundliche Authentifizierung und Blockchain-Anwendungen.
Ein Zero-Knowledge-Beweis (ZKP) ermöglicht es einer Partei (dem Prover) gegenüber einer anderen (dem Verifier) zu beweisen, dass sie eine Information kennt - ohne diese Information preiszugeben.
Das Ali-Baba-Höhlen-Gleichnis
Das klassische Erklärungsmodell: Eine Höhle hat zwei Eingänge (A und B) die sich an einem geheimen Kreuzungspunkt treffen. Der Kreuzungspunkt kann mit einem Passwort-Wort geöffnet werden.
Peggy (Prover) behauptet das Passwort zu kennen. Victor (Verifier) soll das prüfen, ohne das Passwort zu erfahren:
- Peggy geht in die Höhle und wählt zufällig Eingang A oder B (Victor sieht nicht welchen)
- Victor ruft von außen: “Komm aus Eingang A raus!” (zufällige Wahl)
- Wenn Peggy das Passwort kennt: sie kann immer durch den richtigen Eingang kommen
- Ohne Passwort: 50% Chance auf Erfolg (falscher Eingang → kein Durchkommen)
- Nach 20 Wiederholungen: Wahrscheinlichkeit des Schummels = (1/2)^20 = 0,000095%
→ Victor ist überzeugt ohne das Passwort zu kennen.
Eigenschaften von Zero-Knowledge-Beweisen
- Completeness: Wenn die Aussage wahr ist, überzeugt ein ehrlicher Prover den Verifier
- Soundness: Ein unehrlicher Prover kann den Verifier nicht täuschen (mit vernachlässigbarer Wahrscheinlichkeit)
- Zero-Knowledge: Der Verifier lernt nichts außer der Tatsache dass die Aussage wahr ist
Praktische Anwendungen
Passwort-Authentifizierung:
- Klassisch: Server speichert Passwort-Hash, User sendet Passwort - Server kann es rekonstruieren
- ZKP-basiert: User beweist Passwortkenntnis ohne es zu senden - auch bei Server-Kompromittierung kein Passwort-Leak
zk-SNARKs (Zero-Knowledge Succinct Non-Interactive Arguments of Knowledge):
- Zcash-Kryptowährung: Transaktionen ohne Sender/Empfänger/Betrag preiszugeben
- Ethereum Layer 2 (zkSync, StarkNet): Skalierung durch Batch-Beweise
Privatsphäre-erhaltende Credentials:
- “Ich bin über 18 ohne mein Geburtsdatum zu zeigen”
- “Ich bin EU-Bürger ohne meinen Pass zu zeigen”
- “Meine Kreditwürdigkeit ist gut ohne mein Gehalt zu nennen”
Relevanz für IT-Sicherheit
ZKP wird für datenschutzfreundliche Authentifizierungssysteme eingesetzt, bei denen der Authentifizierungsserver keine sensitive Information speichern soll. Im Enterprise-Bereich noch Forschungsthema - in Blockchain/Web3 bereits Mainstream.