Was ein Zero-Knowledge-Beweis bewirkt
Etwas zu beweisen bedeutet meist, die Belege offenzulegen: ein Passwort einzugeben oder einen Ausweis vorzuzeigen. Das kann mehr verraten, als die andere Person wissen muss.
Ein Zero-Knowledge-Beweis ist ein kryptografisches Verfahren, das das ändert. Eine Person, der Beweisführende, zeigt einer anderen, dem Prüfer, eine genaue Behauptung, ohne das Geheimnis preiszugeben, das diese Behauptung wahr macht. Der Prüfer erfährt nur die Antwort, die er braucht – zum Beispiel, dass Sie eine Altersgrenze erfüllen –, aber nicht Ihr Geburtsdatum, Ihre Adresse oder Ihre Dokumentnummer.
Es ist kein vages Versprechen der Privatsphäre. Ein Beweis muss für eine exakte Behauptung entworfen werden, und gute Designs machen Betrug äußerst unwahrscheinlich.
Das Höhlenbeispiel
Stellen Sie sich eine Höhle mit zwei Wegen vor, die sich hinter einer verschlossenen Tür treffen. Die Tür öffnet sich nur mit einem geheimen Wort. Sie sagen, dass Sie es kennen, wollen es aber nicht laut aussprechen.
Sie gelangen über einen der beiden Wege hinein, während Ihr Freund draußen wartet. Ihr Freund nennt Ihnen dann den Weg, auf dem Sie zurückkehren sollen. Wenn Sie das Wort kennen, können Sie die Tür in der Höhle öffnen und auf beiden Wegen zurückkehren. Wenn Sie nur raten, liegen Sie nur mit einer Chance von fünfzig zu fünfzig auf der richtigen Seite.
Wiederholen Sie den Test viele Male, jedes Mal mit einer neuen, unvorhersehbaren Wahl. Nach zehn erfolgreichen Runden hat ein Bluffer nur noch eine Chance von etwa eins zu 1.000, mit Glück durchzukommen. Ihr Freund bekommt einen starken Beleg dafür, dass Sie das Wort kennen – hört es aber nie.
Von der Höhlengeschichte zur echten Software
Echte Beweise nutzen Mathematik statt einer Höhle, aber das Ziel bei der Privatsphäre ist dasselbe. Sie können zeigen, dass eine Transaktion den Regeln folgt, ohne alle Details offenzulegen. Sie können außerdem einen einzigen kleinen Beweis für eine ganze Reihe von Prüfungen einsetzen, was manche Systeme schneller überprüfbar macht.
Digitale Nachweise sind ein weiterer praktischer Anwendungsfall. Statt bei jedem Dienst den kompletten Ausweis hochzuladen, könnte ein gut gestalteter Nachweis nur die gestellte Frage beantworten: „Ist diese Person über 18?“ oder „Hat sie diese Qualifikation?“
Auf die Details kommt es an. Ein Beweis schützt nur die Informationen, die er verbergen soll. Die umgebende App kann weiterhin Daten sammeln, Sie identifizieren oder an anderer Stelle eine schlechte Sicherheitsentscheidung treffen.
Zero-Knowledge-Beweis vs. Zero-Knowledge-Verschlüsselung
Der Begriff „Zero-Knowledge“ wird auch beim Cloud-Speicher verwendet. Das ist eine andere Sache. Zero-Knowledge-Verschlüsselung bedeutet, dass der Speicheranbieter Ihre Dateien nicht lesen kann, weil er nicht über die Entschlüsselungsschlüssel verfügt.
Ein Zero-Knowledge-Beweis beantwortet eine Frage, ohne das Geheimnis dahinter preiszugeben. Zero-Knowledge-Verschlüsselung sorgt dafür, dass gespeicherte Dateien für einen Anbieter unlesbar bleiben. Beides kann die Privatsphäre verbessern, ist aber nicht austauschbar.
Eine praktische Lektion zum Thema Privatsphäre
Zero-Knowledge-Beweise erinnern uns nützlicherweise daran, für eine Aufgabe nur die nötigsten Informationen preiszugeben. Sie machen Sie nicht anonym und sichern nicht jeden Teil einer App ab. Ein Dienst weiß möglicherweise trotzdem, dass Sie sich verbunden haben, wann das war, und kennt weitere Daten außerhalb des Beweises.
Sealby braucht keine Zero-Knowledge-Beweise, weil es kein Konto und keinen Server gibt, der von Ihnen einen Nachweis verlangt. Dateien werden auf Ihrem iPhone verschlüsselt. Für den Alltag lautet die praktische Frage: Was muss dieser Dienst wirklich wissen – und kommt er auch mit weniger aus?