Random Oracle Model, Non-Interactive Proof
Transcription
Random Oracle Model, Non-Interactive Proof
RUHR-UNIVERSITÄT BOCHUM Privacy-Preserving Authentication 4 – Random Oracle, Nicht-Interaktive Zero-Knowledge Beweise, Signatures of Knowledge WS 2015/2016 Sven Schäge, Fakultät für Mathematik, Ruhr-Universität Bochum RUHR-UNIVERSITÄT BOCHUM Übersicht 1 Random Oracle Model 2 Nicht-Interaktive Zero-Knowledge Beweise 3 Signatures-of-Knowledge Sven Schäge, Fakultät für Mathematik, Ruhr-Universität Bochum | Privacy-Preserving Authentication | WS 2015/2016 2 RUHR-UNIVERSITÄT BOCHUM Organisation der Vorlesung Einleitung Kurze Einführung in wichtige kryptogra sche Bausteine Hash Funktionen Digitale Signaturen Verschlüsselungsverfahren (Public Key Encryption) Commitmentverfahren Interaktive Beweissysteme (Nicht-interaktive) Zero-Knowledge Beweissysteme Ringsignaturen Gruppensignaturen Direct Anonymous Attestation Anonymous Credential Systems Weitere Anwendungen Sven Schäge, Fakultät für Mathematik, Ruhr-Universität Bochum | Privacy-Preserving Authentication | WS 2015/2016 3 RUHR-UNIVERSITÄT BOCHUM Übersicht 1 Random Oracle Model 2 Nicht-Interaktive Zero-Knowledge Beweise 3 Signatures-of-Knowledge Sven Schäge, Fakultät für Mathematik, Ruhr-Universität Bochum | Privacy-Preserving Authentication | WS 2015/2016 4 RUHR-UNIVERSITÄT BOCHUM Das Random Oracle Modell (ROM) In einer Vielzahl von kryptogra schen Sicherheitsanalysen werden Hashfunktionen idealisiert. Eine Hashfunktion, die Nachrichten aus {0, 1}∗ nach {0, 1}n abbildet, wird dabei im Sicherheitsbeweis als sogenanntes Random Oracle modelliert. Ein Random Oracle implementiert eine echt zufällige Funktion, auf die der Angreifer nur Orakelzugriff (Black-Box Zugriff) hat. Eine solche Modellierung hat wichtige theoretische Konsequenzen für die Qualität von Sicherheitsbeweisen, die wir untersuchen müssen. Sven Schäge, Fakultät für Mathematik, Ruhr-Universität Bochum | Privacy-Preserving Authentication | WS 2015/2016 5 RUHR-UNIVERSITÄT BOCHUM Random Oracle Paradigma 1995 führten Bellare und Rogaway die sogenannte Random Oracle Methodologie oder das Random Oracle Paradigma ein. Demnach wird ein Sicherheitsbeweis erst mit Hilfe der Modellierung von Hashfunktionen durch Random Oracles angegeben. Diese Modellierung ist stark idealisiert. Die ursprüngliche Idee, um von der Sicherheit in diesem idealisierten Modell auf die Sicherheit in der Praxis zu schließen, bestand darin, zu argumentieren, dass jeder erfolgreiche praktische Angriff ausnutzen muss, dass sich die Hashfunktion tatsächlich nicht wie ein Random Oracle verhält Andererseits könnte es ja, wie im idealisierten Modell gezeigt, keinen erfolgreichen Angriff geben. Sven Schäge, Fakultät für Mathematik, Ruhr-Universität Bochum | Privacy-Preserving Authentication | WS 2015/2016 6 RUHR-UNIVERSITÄT BOCHUM Random Oracle Paradigma Im nächsten Schritt könnte man einfach empfehlen im untersuchten System einfach eine "`bessere"' praktische Hashfunktion zu nutzen; eine, die sich besser wie ein Random Oracle verhält. Die Intuition ist, dass wenn sich die Hashfunktion nur "`zufällig"' genug verhält, der Sicherheitsbeweis auch für das praktische Verfahren relevant ist. Sven Schäge, Fakultät für Mathematik, Ruhr-Universität Bochum | Privacy-Preserving Authentication | WS 2015/2016 7 RUHR-UNIVERSITÄT BOCHUM Kritik am Random Oracle Paradigma 1998 erschien eine Arbeit von Canetti, Goldreich und Halevi mit einer fundamentalen Kritik am Random Oracle Paradigma. Im Kern zeigt die Arbeit, dass es künstliche Sicherheitsverfahren gibt, in denen Folgendes gilt: Das Verfahren ist im Random Oracle Modell beweisbar sicher. In der Sicherheitsreduktion wird die Hashfunktion als Random Oracle modelliert. Aber: Für jede Implementierung des Random Oracles durch eine praktische Hashfunktion gibt es einen erfolgreichen, ef zienten Angriff auf das Verfahren. Sven Schäge, Fakultät für Mathematik, Ruhr-Universität Bochum | Privacy-Preserving Authentication | WS 2015/2016 8 RUHR-UNIVERSITÄT BOCHUM Kritik am Random Oracle Paradigma Ein solches Verfahren zeigt die theoretischen Grenzen des Random Oracle Paradigmas auf: es kann nämlich Verfahren geben, für die eine Analyse im Random Oracle Model keine Bedeutung für die praktische Sicherheit des Verfahrens hat. Das Verfahren ist jedoch "`künstlich"' im folgenden Sinn: es nutzt aus, das Hashfunktionen eine konkrete Beschreibung B besitzen und diese Beschreibung als Eingabe in Algorithmen genutzt werden kann. Für Random Oracles jedoch, die nur als Black-Box benutzt werden können, liegt eine solche Beschreibung nicht vor. Die Idee von CGH ist, ein Verfahren zu entwerfen, welches grundsätzlich sicher, es sei denn, es erhält als Eingabe B. Bei Eingabe B aber würden beispielsweise einfach alle geheimen Schlüssel ausgegeben. Das Verfahren wäre dann trivial unsicher. Im ROM ist das Verfahren jedoch sicher, da keine passende Beschreibung vorliegt. Sven Schäge, Fakultät für Mathematik, Ruhr-Universität Bochum | Privacy-Preserving Authentication | WS 2015/2016 9 RUHR-UNIVERSITÄT BOCHUM Interpretation Das CGH-Ergebnis ist als pathologisches Gegenbeispiel zu verstehen. Es schließt nicht aus, dass das Random Oracle Paradigma für eine große, nicht-künstliche Klasse von Verfahren sinnvoll anwendbar ist. In der Praxis gibt es keinen Angriff, der die Modellierung einer Hashfunktion als Random Oracle im Sicherheitsbeweis ausnutzt. Streng genommen müsste nun aber immer untersucht werden, ob die Anwendung des Random Oracle Paradigmas "`gerechtfertigt"' ist. Sven Schäge, Fakultät für Mathematik, Ruhr-Universität Bochum | Privacy-Preserving Authentication | WS 2015/2016 10 RUHR-UNIVERSITÄT BOCHUM Einsatz des Random Oracle Modells Das Random Oracle Modell dient oft als Hilfsmittel in ersten Konstruktionen für konzeptionell neuartigen Verfahren. Daneben nden RO-basierte Verfahren weiterhin große Verbreitung, weil sie meist ef zienter sind als vergleichbare Verfahren ohne Random Oracle Idealisierung. Es ist bekannt, dass bestimmte kryptogra sche Probleme im ROM ef zient lösbar sind, wohingegen ohne eine solche Idealisierung keine Lösungen möglich oder bekannt sind. Eine erfolgreiche Sicherheitsreduktion im ROM ist erfahrungsgemäß ein guter Indikator für die praktische Sicherheit des Verfahrens. In diesem Sinn kann das ROM dazu genutzt werden Fehler auszuschließen. Wenn ein Verfahren nicht im ROM sicher ist, so wird es auch nicht ohne RO-Idealisierung sicher sein. Sven Schäge, Fakultät für Mathematik, Ruhr-Universität Bochum | Privacy-Preserving Authentication | WS 2015/2016 11 RUHR-UNIVERSITÄT BOCHUM Das Random Oracle Ein Random Oracle implementiert eine echt zufällige Funktion von {0, 1}∗ nach {0, 1}n für n = poly(κ) (zufällig gezogen aus der Menge aller Funktionen von {0, 1}∗ nach {0, 1}n ). Eine echt zufällige Funktion kann mittels einer Tabelle T implementiert werden, in der zu jedem Eingabewert X ∈ {0, 1}∗ ein zufälliger Ausgabewert Y ←$ {0, 1}n steht. Insbesondere sind die Ausgabewerte zufällig und daher von den Eingabewerten unabhängig. Im Allgemeinen ist T exponentiell groß. Sven Schäge, Fakultät für Mathematik, Ruhr-Universität Bochum | Privacy-Preserving Authentication | WS 2015/2016 12 RUHR-UNIVERSITÄT BOCHUM Das Random Oracle Wichtige Konsequenz: Das Random Oracle kann nicht von einem ef zienten Angreifer implementiert werden: Insbesondere kann der Angreifer nur mit statistisch kleiner Wahrscheinlichkeit vorhersagen, wie der Ausgabewert Y zu einem Eingabewert X aussieht wenn er die Funktion nicht auf X auswertet. (Diese Annahme liegt unseren Überlegungen im Folgenden immer stets zu Grunde.) Wir nehmen daher an, dass der Angreifer das Random Oracle immer mit dem richtigen Eingabewert gefragt haben muss, wenn er erfolgreich kryptogra sche Werte berechnet, die von einem Ausgabewert der Hashfunktion abhängen. Das Modell sieht vor, dass das Random Oracle, wie Hashfunktionen, öffentlich ist, d.h. alle Parteien können darauf zugreifen. Sven Schäge, Fakultät für Mathematik, Ruhr-Universität Bochum | Privacy-Preserving Authentication | WS 2015/2016 13 RUHR-UNIVERSITÄT BOCHUM Das Random Oracle in Sicherheitsbeweisen In Sicherheitsbeweisen nutzen wir aus, dass der Angreifer das Random Oracle nicht selbst implementieren kann und es stattdessen für alle nötigen Eingabewerte fragen muss. Im Beweis kann die Sicherheitsreduktion das Random Oracle für den Angreifer ef zient simulieren. Dazu erzeugt die Reduktion die Tabelle T on-the- y, man spricht auch von lazy-sampling. Anfangs ist T leer. Gibt der Angreifer X als Anfrage an das RO aus, so wird zuerst in T nach X gesucht. Falls die Zeile (X, Y) für ein Y tatsächlich bereits enthalten ist wird Y einfach ausgegeben. Dies sichert, dass sich die Simulation tatsächlich wie eine Funktion verhält. Falls es keinen solchen Eintrag gibt wird Y ∈ {0, 1}n einfach zufällig gewählt und der Eintrag (X, Y) der Tabelle T hinzugefügt. Dies garantiert, dass sich die Simulation wie eine echt zufällige Funktion verhält. Sven Schäge, Fakultät für Mathematik, Ruhr-Universität Bochum | Privacy-Preserving Authentication | WS 2015/2016 14 RUHR-UNIVERSITÄT BOCHUM Das Random Oracle in Sicherheitsbeweisen Weil das RO nur als Black-Box zur Verfügung steht, kann kein Angreifer einen Unterschied zwischen Simulation und echtem RO bemerken. Jede Anfrage wird genau wie im RO beantwortet. Gleichzeitig ist die Simulation ef zient. Für Angreifer, die q = poly(κ) Anfragen stellen enthält T auch nur q Einträge. Sven Schäge, Fakultät für Mathematik, Ruhr-Universität Bochum | Privacy-Preserving Authentication | WS 2015/2016 15 RUHR-UNIVERSITÄT BOCHUM Vorteile des Random Oracles in Sicherheitsbeweisen Die Simulation gibt der Reduktion die Möglichkeit, alle Werte, die der Angreifer hashen möchte "`mitzulesen"'. Mehr noch, die Reduktion kann die vom Angreifer gesendeten Eingabewerte auf speziell im Vorhinein konstruierte Ausgabewerte abbilden, solange diese Werte wie zufällig verteilt sind. Beispielsweise kann die Reduktion Eingabewerte X auf Ausgabewerte Y abbilden, so dass der Reduktion (aber nicht dem Angreifer) y bekannt ist wobei Y = gy und g ein Gruppengenerator sein kann. Dies gibt der Reduktion einen großen Informationsvorteil gegenüber dem Angreifer, der dazu genutzt werden kann, dass die Reduktion aus Sicht des Angreifers vermeintlich schwere Probleme einfach Lösen kann. Sven Schäge, Fakultät für Mathematik, Ruhr-Universität Bochum | Privacy-Preserving Authentication | WS 2015/2016 16 RUHR-UNIVERSITÄT BOCHUM Übersicht 1 Random Oracle Model 2 Nicht-Interaktive Zero-Knowledge Beweise 3 Signatures-of-Knowledge Sven Schäge, Fakultät für Mathematik, Ruhr-Universität Bochum | Privacy-Preserving Authentication | WS 2015/2016 17 RUHR-UNIVERSITÄT BOCHUM Fiat-Shamir und Nicht-Interaktive Knowledge Beweise Zero- Die Fiat-Shamir Heuristic ist eine Transformation, die mit Hilfe von Hashfunktionen generisch aus einem interaktiven Sigma∗ Protokoll einen nicht-interaktiven Beweissystem konstruiert. Bei einem nicht-interaktiven Beweissystem sendet der Prover nur eine einzelne Nachricht an den Veri er. Die Idee der Transformation besteht darin, die Challenge c vom Prover selbst generieren zu lassen. Für den Veri er sollte dies auf überprüfbar zufällige Art geschehen. Dazu verwendet der Prover die Hashfunktion: c = h(pk, a). Der Veri er muss nun neben allen bisherigen Überprüfungen für das zu Grunde liegende Sigma∗ Protokoll, zusätzlich testen ob c = h(pk, a). Im Sicherheitsbeweis wird h nun als RO modelliert. Damit ist gesichert, dass die Ausgaben echt zufällig sind. Sven Schäge, Fakultät für Mathematik, Ruhr-Universität Bochum | Privacy-Preserving Authentication | WS 2015/2016 18 RUHR-UNIVERSITÄT BOCHUM Nachweis der Sicherheitseigenschaften Um die Nützlichkeit dieser Transformation aufzuzeigen, müssen wir nachweisen, dass sie alle wichtigen Sicherheitseigenschaften erhält. Perfect Completeness lässt sich unmittelbar nachweisen. Special Soundness und Special Honest Veri er Zero-Knowledge werden mit Hilfe einer Reduktion nachgewiesen. Dazu wird gezeigt, das im Random Oracle Modell jeder Angreifer gegen die Special Soundness (oder die SHVZK Eigenschaft) des modi zierten Protokolls eingesetzt werden kann um die Special Soundness (SHVZK Eigenschaft) des zu Grunde liegenden Sigma∗ Protokolls zu brechen. Sven Schäge, Fakultät für Mathematik, Ruhr-Universität Bochum | Privacy-Preserving Authentication | WS 2015/2016 19 RUHR-UNIVERSITÄT BOCHUM Nachweis Special Soundness Im Sicherheitsbeweis nutzen wir nun aus, dass die Reduktion das Random Oracle simulieren kann. Wir können annehmen, dass der Angreifer c erst erhält, nachdem er sich auf a festgelegt hat. Dies folgt aus der exponentiell großen Ausgabemenge und der echt zufälligen Wahl von Ausgabewerten des Random Oracles, siehe oben. (Ohne Auswertung ist Raten die beste Methode, doch die Erfolgswahrscheinlichkeit richtig zu raten ist statistisch klein.) Daher können wir den Angreifer wie in den bisherigen Beweisenzurückspulen/ rewinden; diesmal an den Punkt, nach dem der Angreifer pk, a an das Random Oracle gesendet hat (aber noch keine Antwort erhalten hat). Etwas formaler: Nehmen wir an, der Angreifer sendet im Verlauf des Experimentes mehrere Eingabewerte ai für i ∈ [q] mit q = poly(κ) an das Random Oracle. Die Reduktion verhält sich wie folgt: Sven Schäge, Fakultät für Mathematik, Ruhr-Universität Bochum | Privacy-Preserving Authentication | WS 2015/2016 20 RUHR-UNIVERSITÄT BOCHUM Nachweis Special Soundness Rate j ←$ [q]. Der Index j gibt an, dass die Reduktion schätzt, dass der Angreifer (der den Veri er ohne Kenntnis von sk akzeptieren lässt) ein erfolgreiches Transkript (a, c, s) mit a = aj ausgibt. (Dies modelliert, dass nicht jede Random Oracle Anfrage des Angreifers zu einem validen Transkript führen muss.) Mit Wkt. besser als 1/q liegt die Reduktion hier richtig. Im ersten Lauf des Angreifers antwortet die Reduktion mit zufälliger Challenge cj auf die Random Oracle Anfrage pk, aj . Falls aj tatsächlich zu einem validen Transkript (aj , cj , sj ) gehört, speichert die Reduktion sj . Als nächstes bringt die Reduktion den Angreifer in den Zustand zurück, nach dem er pk, aj an das Random Oracle gesendet hat. Jetzt zieht die Reduktion erneut eine zufällige Challenge c0j und gibt sie als Antwort des Random Oracles aus. Sven Schäge, Fakultät für Mathematik, Ruhr-Universität Bochum | Privacy-Preserving Authentication | WS 2015/2016 21 RUHR-UNIVERSITÄT BOCHUM Nachweis Special Soundness Mit guter Wahrscheinlichkeit (vergleiche Splitting Lemma) antwortet der Angreifer mit s0j und das Transkript (aj , c0j , s0j ) ist valide. Die Reduktion hat nun aj , cj , sj , c0j , s0j . Mit sehr hoher Wahrscheinlichkeit gilt cj 6= c0j und die Reduktion kann die Special Soundness Eigenschaft des zu Grunde liegenden Sigma∗ Protokolls brechen. Sven Schäge, Fakultät für Mathematik, Ruhr-Universität Bochum | Privacy-Preserving Authentication | WS 2015/2016 22 RUHR-UNIVERSITÄT BOCHUM Nachweis SHVZK Wir konstruieren einen Simulator Sim der, gegeben c, a, s ausgibt, so dass das Transkript von echten Transkripten ununterscheidbar ist. Dazu nutzen wir den Simulator Sim0 für die SHVZK Eigenschaft des zu Grunde liegenden Sigma∗ Protokolls. Gegeben c lassen wir Sim0 mit Eingabe c laufen und erhalten passendes a, s. Falls pk, a schon einmal an das Random Oracle angefragt wurde brechen wir ab. Mit hoher Wkt. wird nicht abgebrochen. Andernfalls setzen wir folgenden Eintrag im Random Oracle c := h(pk, a). Sven Schäge, Fakultät für Mathematik, Ruhr-Universität Bochum | Privacy-Preserving Authentication | WS 2015/2016 23 RUHR-UNIVERSITÄT BOCHUM Nachweis SHVZK Sofern die Ausgabe von Sim0 von echten Transkripten mit Challenge c ununterscheidbar ist, so ist es auch die Ausgabe von Sim. Dies gilt weil jeder Angreifer, der die Ausgabe von Sim unterscheidet, direkt dazu benutzt werden kann die Ausgabe von Sim0 zu unterscheiden. Sven Schäge, Fakultät für Mathematik, Ruhr-Universität Bochum | Privacy-Preserving Authentication | WS 2015/2016 24 RUHR-UNIVERSITÄT BOCHUM Nicht-interaktive Zero-Knowledge Beweise Die Fiat-Shamir Heuristic arbeitet generisch mit Sigma∗ Protokollen. Mit ihrer Hilfe lassen sich also ef ziente, nicht-interaktive Beweissysteme für wichtige praktische Probleme angeben. Zur Angabe konkreter Beweissysteme nutzen wir eine angepasst Notation: Aus ZKPoK = {(α) : (α, y) ∈ R} wird NIZKPoK = {(α) : (α, y) ∈ R}. Sven Schäge, Fakultät für Mathematik, Ruhr-Universität Bochum | Privacy-Preserving Authentication | WS 2015/2016 25 RUHR-UNIVERSITÄT BOCHUM Übersicht 1 Random Oracle Model 2 Nicht-Interaktive Zero-Knowledge Beweise 3 Signatures-of-Knowledge Sven Schäge, Fakultät für Mathematik, Ruhr-Universität Bochum | Privacy-Preserving Authentication | WS 2015/2016 26 RUHR-UNIVERSITÄT BOCHUM Eine Erweiterung der Fiat-Shamir Heuristic Die Fiat-Shamir Heuristic lässt sich generisch erweitern, indem die Hashfunktion nicht nur auf pk, a sondern auch auf eine Nachricht m angewendet wird: Die Challenge wird nun berechnet als c := h(pk, a, m). Wie zuvor beim Beweis der Fiat-Shamir Transformation lässt sich zeigen, dass Special Soundness und SHVZK auch bei Einbindung von m erhalten bleiben. Die Interpretation einer validen Nachricht (a, c, s), m durch den Veri er ähnelt der einer digitalen Signatur über m: Wir wollen, dass der Angreifer nur mit Hilfe des Secret Keys sk zu pk ein valides Transkript (a, c, s) zu Nachricht m erstellen kann. Wir nennen σ = (a, c, s) daher auch eine Signature-of-Knowledge und passen unsere Notation noch weiter an: aus NIZKPoK = {(α) : (α, y) ∈ R} wird SoK = {(α) : (α, y) ∈ R}(m). Sven Schäge, Fakultät für Mathematik, Ruhr-Universität Bochum | Privacy-Preserving Authentication | WS 2015/2016 27 RUHR-UNIVERSITÄT BOCHUM Signatures-of-Knowledge Tatsächlich lässt sich formal zeigen, dass das so gewonnenen Signaturverfahren mit Signaturen σ = (a, c, s) sicher im Sinne der Standardde nition von digitalen Signaturen ist. Es bietet jedoch auch zusätzliche Eigenschaften, die gewöhnliche digitale Signaturverfahren nicht bieten müssen. Special Soundness (bzw. Proof-of-Knowledge) garantiert intuitiv, dass aus jedem erfolgreichen Angreifer, der Secret Key extrahiert werden kann. SHVZK garantiert, dass valide Transkripte auch ohne Kenntnis des Secret Keys erzeugt werden können. Das bedeutet, dass Angreifer durch Betrachtung von validen Tupeln (a, c, s), m nichts zusätzliches (zur Validität von (a, c, s)) lernen können. Signatures-of-Knowledge sind wichtige Bausteine in privacy-preserving Anwendungen. Mit ihnen könne Informationen sehr präzise und authentisch veröffentlicht werden. Insbesondere die zu Grunde liegende Zero-Knowledge Eigenschaft garantiert, dass keine weiteren Informationen übertragen werden. Sven Schäge, Fakultät für Mathematik, Ruhr-Universität Bochum | Privacy-Preserving Authentication | WS 2015/2016 28