www.wikidata.de-de.nina.az
Ein Null Wissen Beweis kann mit hoher Wahrscheinlichkeit nachweisen dass man ein Geheimnis weiss ohne das Geheimnis zu verraten Dieser Nachweis passiert meist nach einem Frage Antwort Protokoll und hat viele Anwendungen in der Kryptografie Eine Partei versucht zu beweisen die andere Partei verifiziert Der Beweiser uberzeugt dabei den Verifizierer mit einer gewissen Wahrscheinlichkeit davon dass er ein Geheimnis kennt ohne dabei Informationen uber das Geheimnis selbst bekannt zu geben Ein bekanntes Verfahren ist das Feige Fiat Shamir Protokoll Die Schnorr Identifikation erfordert nur drei Schritte zur Kommunikation und der Beweiser kann den Verifizierer nur mit einer verschwindend kleinen Wahrscheinlichkeit davon uberzeugen ein Geheimnis zu kennen wenn er das Geheimnis nicht kennt Der Null Wissen Beweis heisst auch kenntnisfreier Beweis kenntnisfreies Protokoll Zero Knowledge Proof oder Zero Knowledge Protocol 1 2 3 Inhaltsverzeichnis 1 Anwendungen 2 Eigenschaften 3 Klassisches Beispiel 4 Beispiel fur ein Zero Knowledge Protokoll 5 Zero Knowledge als Werbebegriff 6 Literatur 7 Weblinks 8 EinzelnachweiseAnwendungen BearbeitenZero Knowledge Protokolle dienen u a der Authentifizierung Bei einigen Kryptowahrungen wie Zcash oder mobilen Zahlungsdiensten wie Bluecode erhohen sie die Anonymitat des Zahlungsverkehrs 4 5 Eigenschaften BearbeitenIn der Praxis werden sie zur Authentifizierung jedoch kaum verwendet da sie in der Regel fur ein ausreichendes Sicherheitsniveau ein hohes Mass an Interaktion d h den Austausch vieler Nachrichten erfordern und anfallig fur Replay Angriffe sind Die in praktischen Anwendungen eingesetzten und standardisierten Authentifizierungsprotokolle basieren stattdessen auf digitalen Signaturen Allerdings gibt es auch Konstruktionen welche bestimmte Zero Knowledge Protokolle in nicht interaktive Varianten uberfuhren Zero Knowledge Protokolle stellen eine Erweiterung von interaktiven Beweissystemen dar Zu den Bedingungen Vollstandigkeit und Zuverlassigkeit der interaktiven Beweissysteme tritt noch die Zero Knowledge Eigenschaft die dafur sorgt dass der Verifizierer keine Information uber das Geheimnis erlangt Bei einem Zero Knowledge Protokoll soll immer gezeigt werden dass eine Eingabe x displaystyle x nbsp einer formalen Sprache L displaystyle L nbsp angehort Dazu muss ein Zero Knowledge Protokoll drei Bedingungen erfullen Vollstandigkeit Ist die Eingabe x displaystyle x nbsp ein Element der Sprache L displaystyle L nbsp dann soll ein Verifizierer nach Ablauf des Protokolls fast immer akzeptieren Zuverlassigkeit Ist die Eingabe x displaystyle x nbsp kein Element der Sprache L displaystyle L nbsp also der Beweiser unehrlich dann soll der Verifizierer nach Ablauf des Protokolls ablehnen Dabei ist jedoch eine geringe Fehlerwahrscheinlichkeit erlaubt Zero Knowledge Eigenschaft Aus der Interaktion zwischen dem Beweiser und dem Verifizierer darf nicht mehr Wissen als die Un Gultigkeit der zu beweisenden Aussage gewonnen werden Ein Dritter der die Interaktion zwischen Beweiser und Verifizierer verfolgt erfahrt nicht einmal ob der Beweiser uberhaupt das Geheimnis kennt oder die Interaktion zwischen B und V abgesprochen war Klassisches Beispiel BearbeitenDas nachfolgende anschauliche Beispiel fur ein Zero Knowledge Protokoll wurde von Jean Jacques Quisquater et al s Literatur entworfen nbsp Peggy mochte Viktor beweisen dass sie ein Geheimnis kennt wie man die Tur in einer Hohle offnen kann ohne dass sie die Tur vor seinen Augen offnet und dabei das Geheimnis verrat Zudem will Peggy ausschliesslich Viktor davon uberzeugen dass sie das Geheimnis kennt und nicht Dritte Zunachst steht Viktor bei 4 und sieht Peggy in die Hohle gehen aber nicht ob Peggy den Weg 1 oder 2 nimmt Dann geht Viktor zu 3 und verlangt von Peggy dass sie auf einem bestimmten Weg aus der Hohle kommt Wenn Peggy nicht auf der richtigen Seite steht muss sie dafur die rote Tur offnen Nur wenn Peggy die Tur offnen kann kann sie jedes Mal auf der von Viktor verlangten Seite herauskommen Kann sie die Tur nicht offnen muss sie in 50 der Falle auf der falschen Seite zuruckkommen Kommt Peggy bei n Versuchen die Tur muss naturlich jedes Mal zuerst wieder verschlossen werden immer auf der von Viktor verlangten Seite aus der Hohle kann Viktor mit einer Wahrscheinlichkeit von 1 2 n displaystyle 1 2 n nbsp davon ausgehen dass Peggy das Geheimnis der Tur kennt hat aber dennoch kein neues Wissen uber die Tur erlangt etwa wie genau sie zu offnen ist Dieser Beweis funktioniert allerdings nur gegenuber Viktor Beobachtet ein Dritter den Vorgang ist er nicht davon uberzeugt dass Peggy das Geheimnis der Tur kennt da sich Viktor und Peggy abgesprochen haben konnten welche Seite Viktor in jedem der Durchgange verlangen wird und Peggy dann immer gleich auf der richtigen Seite in die Hohle gegangen sein konnte Peggy konnte Viktor auch direkt beweisen dass sie das Geheimnis kennt ohne es offenlegen zu mussen Viktor und Peggy gehen beide zu 3 von wo aus Viktor sieht wie Peggy in eine Richtung in die Hohle geht und auf der anderen Seite herauskommt Um dies tun zu konnen muss sie durch die rote Tur gehen Viktor sieht von 3 aus zwar nicht wie das geschieht und erfahrt damit nicht das Geheimnis weiss aber dennoch sicher dass Peggy die Tur offnen kann Das Problem bei diesem Ansatz ist dass diese Vorgehensweise aufgezeichnet oder von einer dritten Partei beobachtet werden konnte Damit kann Peggy nicht mehr abstreiten das Geheimnis zu kennen indem sie behauptet mit Viktor zusammengearbeitet zu haben und kann somit nicht mehr bestimmen wer davon erfahrt dass sie das Geheimnis der roten Tur kennt Beispiel fur ein Zero Knowledge Protokoll Bearbeiten nbsp Ein Zero Knowledge Protokoll mit ISOGRAPHEine Zero Knowledge Authentifizierung zwischen zwei Instanzen kann mit Hilfe des Graphenisomorphieproblems stattfinden B displaystyle B nbsp mochte V displaystyle V nbsp letztlich beweisen das Geheimnis p displaystyle pi nbsp zu kennen Dies ist naheliegend wenn B displaystyle B nbsp plausibel machen kann die Entscheidung a displaystyle a nbsp zu kennen und daher immer richtige Antworten geben zu konnen Dazu muss vom Beweiser zunachst einmalig ein offentliches Schlusselpaar erstellt werden Der Beweiser B displaystyle B nbsp erzeugt einen sehr grossen Graphen G 0 displaystyle G 0 nbsp B displaystyle B nbsp nummeriert G 0 displaystyle G 0 nbsp mit einer zufallig und gleichformig gewahlten Permutationsfunktion p displaystyle pi nbsp um Der resultierende Graph sei also G 1 p G 0 displaystyle G 1 pi G 0 nbsp Das Paar G 0 G 1 displaystyle G 0 G 1 nbsp wird veroffentlicht die Permutation p displaystyle pi nbsp halt B displaystyle B nbsp geheim Angenommen eine Person genannt Verifizierer mochte die Identitat von B displaystyle B nbsp uberprufen d h feststellen ob B displaystyle B nbsp tatsachlich im Besitz des zum offentlichen Schlussel G 0 G 1 displaystyle G 0 G 1 nbsp gehorigen privaten Schlussels p displaystyle pi nbsp ist Dann kann B displaystyle B nbsp diese Tatsache mit Hilfe des nachfolgenden Zero Knowledge Protokolls beweisen ohne dem Verifizierer oder einer dritten Person den privaten Schlussel p displaystyle pi nbsp mitzuteilen Der Beweiser B displaystyle B nbsp wahlt zufallig ein a 0 1 displaystyle a in 0 1 nbsp Ausserdem wird der Graph G a displaystyle G a nbsp durch die zufallig gewahlte Permutationsfunktion r displaystyle rho nbsp umnummeriert Der resultierende Graph sei H r G a displaystyle H rho G a nbsp B displaystyle B nbsp sendet schliesslich H displaystyle H nbsp an den Verifizierer V displaystyle V nbsp In diesem Schritt legt sich der Beweiser also auf einen der Graphen fest Commitment bzw Witness Der Verifizierer V displaystyle V nbsp empfangt den Graphen H displaystyle H nbsp und wahlt zufallig ein b 0 1 displaystyle b in 0 1 nbsp Dann fordert er B displaystyle B nbsp auf ihm eine Permutation s displaystyle sigma nbsp mit der Eigenschaft H s G b displaystyle H sigma G b nbsp zu senden Challenge Nun muss zwischen drei Fallen unterschieden werden s r falls a b r p 1 falls a 0 und b 1 r p falls a 1 und b 0 displaystyle sigma begin cases rho amp text falls a b rho circ pi 1 amp text falls a 0 text und b 1 rho circ pi amp text falls a 1 text und b 0 end cases nbsp B displaystyle B nbsp schickt die entsprechend konstruierte Permutation s displaystyle sigma nbsp an V displaystyle V nbsp zuruck Response V displaystyle V nbsp empfangt das von B displaystyle B nbsp gesendete s displaystyle sigma nbsp und pruft ob wirklich H s G b displaystyle H sigma G b nbsp gilt Wir betrachten nun die drei notwendigen Bedingungen fur ein Zero Knowledge Protokoll Das obige Protokoll ist offensichtlich vollstandig weil s displaystyle sigma nbsp gerade so konstruiert wird dass es die geforderte Gleichung H s G b displaystyle H sigma G b nbsp erfullt Ein unehrlicher Beweiser bzw eine dritte Person die sich als B displaystyle B nbsp ausgeben mochte kann ohne Kenntnis von p displaystyle pi nbsp den Verifizierer nur mit einer Wahrscheinlichkeit von 0 5 durch richtiges Raten des Wertes a displaystyle a nbsp im ersten Schritt uberzeugen Falls das Protokoll hinreichend oft wiederholt wird und unter der Annahme dass die Bestimmung von p displaystyle pi nbsp aus G 0 G 1 displaystyle G 0 G 1 nbsp schwer ist ist das Protokoll also zuverlassig Die Kommunikation zwischen Beweiser und Verifizierer in einer Runde Schritt 1 bis 4 ist von der Form H b s displaystyle H b sigma nbsp Erzeugt nun ein Simulator S displaystyle S nbsp zufallig und gleichformig b displaystyle b nbsp und s displaystyle sigma nbsp und berechnet damit den Graphen H s G b displaystyle H sigma G b nbsp dann ist die resultierende Wahrscheinlichkeitsverteilung H b s displaystyle H b sigma nbsp identisch mit der Verteilung welche durch die echten Protokollinstanzen impliziert wird Folglich kann kein geheimes Wissen hier die Permutation p displaystyle pi nbsp ubertragen worden sein Zero Knowledge Zero Knowledge als Werbebegriff BearbeitenAngelehnt an den Zero Knowledge Beweis wird von einigen Anbietern von Cloud Computing der Begriff Zero Knowledge benutzt um deutlich zu machen dass die Anbieter keinen Einblick in die gespeicherten Dateien der Nutzer haben 6 Da der Begriff Zero Knowledge aber bereits ein etablierter Begriff im Bereich Kryptographie und IT Security ist haben einige Cloud Anbieter die bisher ihre Dienste mit Zero Knowledge Cloud beworben haben sich dazu entschieden diesen Begriff nicht mehr zu verwenden 7 Literatur BearbeitenJean Jacques Quisquater Louis Guillou How to explain zero knowledge protocols to your children Advances in Cryptology CRYPTO 89 Lecture Notes in Computer Science 435 pp 628 631 1990 PDF Kommentar Ausserst unterhaltsame und theoriearme Einfuhrung anhand eines mittlerweile klassischen Beispiels Ivan Damgard Jesper Buus Nielsen Commitment Schemes and Zero Knowledge Protocols 2008 PDF Albrecht Beutelspacher Jorg Schwenk Klaus Dieter Wolfenstetter Moderne Verfahren der Kryptographie 7 Auflage S 43ff 2010 ISBN 978 3 8348 1228 5Weblinks BearbeitenApplied Kid Cryptography Eine anschauliche Darstellung eines Zero Knowledge Protokolls anhand eines Spiels englisch Zero Knowledge Tutorial Einfuhrung von Oded Goldreich englisch Einzelnachweise Bearbeiten Christof Paar Jan Pelzl Kryptografie verstandlich Ein Lehrbuch fur Studierende und Anwender eingeschrankte Vorschau in der Google Buchsuche Ian Stewart Professor Stewarts mathematische Detektivgeschichten eingeschrankte Vorschau in der Google Buchsuche Null Wissen Beweis Springer Lexikon der Mathematik zugegriffen 2022 02 08 What are zk SNARKs Zcash abgerufen am 7 Juni 2019 amerikanisches Englisch Einsatz des Zero Knowledge Prinzips bei Bluecode In bluecode com 31 August 2020 abgerufen am 31 August 2020 https www boxcryptor com de blog post zero knowledge cloud security https medium com SpiderOak why we will no longer use the phrase zero knowledge to describe our software ddef2593a489 Abgerufen von https de wikipedia org w index php title Null Wissen Beweis amp oldid 232852066