Zum Hauptinhalt springen

Zero-Knowledge Proof

Ein Zero-Knowledge Proof ist ein kryptografisches Verfahren, mit dem bewiesen werden kann, dass eine Aussage zutrifft, etwa „der Inhaber ist über 18“, ohne die zugrunde liegenden Daten offenzulegen, auf denen die Aussage beruht, etwa das tatsächliche Geburtsdatum.

Wo Selective Disclosure einem Inhaber erlaubt, ausgewählte Angaben unverändert offenzulegen, offenbart ein Zero-Knowledge-Proof gar nichts: Der Verifizierer erfährt nur, dass die Aussage zutrifft, gestützt von einem Nachweis, den er gegen die Signatur des Ausstellers prüfen kann. Das ist eine stärkere Datenschutzgarantie als Selective Disclosure und ein aktives Standardisierungsfeld für künftige Credential-Formate im EUDI-Wallet-Ökosystem. Der Nachweis ist so gebaut, dass ihn jeder gegen öffentliche Parameter und die Signatur des Ausstellers prüfen kann, doch keine Kombination von Nachweisen, die verschiedenen Verifizierern gegeben wurden, lässt sich auf dasselbe Credential oder aufeinander zurückführen, was das Korrelationsrisiko beseitigt, das aus dem wiederholten Zeigen desselben signierten Werts entsteht. Ein einfaches Selective-Disclosure-Credential lässt zwei zusammenwirkende Verifizierer weiterhin eine gehashte Angabe vergleichen und schließen, dass derselbe Inhaber beide besucht hat, während ein Zero-Knowledge-Proof derselben Aussage jedes Mal anders aussieht, wenn er erzeugt wird. Der Kompromiss liegt in Rechenaufwand und Komplexität: Das Erzeugen und Prüfen eines Zero-Knowledge-Proof braucht mehr Rechenleistung als das Prüfen einer einfachen Signatur, und die beteiligten kryptografischen Verfahren, etwa BBS+-Signaturen oder zk-SNARKs, sind neuer und weniger standardisiert als die bereits in SD-JWT eingesetzte hashbasierte Selective Disclosure. Mehrere EUDI-Wallet-Referenzimplementierungen und Pilotprojekte evaluieren Zero-Knowledge-Verfahren als künftigen Upgrade-Pfad für Attribute, bei denen Unverknüpfbarkeit am wichtigsten ist, etwa bei wiederholten Alters- oder Staatsangehörigkeitsprüfungen über viele nicht zusammenhängende Dienste hinweg.

Bedeutet die Nutzung eines Zero-Knowledge-Proof, dass der Verifizierer dem Inhaber blind vertrauen muss?

Nein. Der Verifizierer stützt sich weiterhin auf Kryptografie statt auf Vertrauen in den Inhaber. Der Nachweis bindet die Aussage mathematisch an die ursprüngliche Signatur des Ausstellers, sodass ein Verifizierer sicher sein kann, dass eine Angabe echt und unverändert ist, obwohl er die zugrunde liegenden Daten nie sieht, dieselbe Sicherheit, die eine normale Signaturprüfung gibt, nur ohne den dahinterliegenden Wert offenzulegen.

Zurück zum Glossar