Privacy-Preserving Authentication - 4 Random Oracle, Nicht ... fileRandom Oracle Paradigmas auf: es...

28
RUHR-UNIVERSIT˜T BOCHUM Privacy-Preserving Authentication 4 Random Oracle, Nicht-Interaktive Zero-Knowledge Beweise, Signatures of Knowledge WS 2015/2016 Sven Schge, Fakultt für Mathematik, Ruhr-Universitt Bochum

Transcript of Privacy-Preserving Authentication - 4 Random Oracle, Nicht ... fileRandom Oracle Paradigmas auf: es...

RUHR-UNIVERSITÄT BOCHUM

Privacy-Preserving Authentication4 – Random Oracle, Nicht-Interaktive Zero-KnowledgeBeweise, Signatures of KnowledgeWS 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

EinleitungKurze Einführung in wichtige kryptografische Bausteine

Hash FunktionenDigitale SignaturenVerschlüsselungsverfahren (Public Key Encryption)Commitmentverfahren

Interaktive Beweissysteme(Nicht-interaktive) Zero-Knowledge BeweissystemeRingsignaturenGruppensignaturenDirect Anonymous AttestationAnonymous Credential SystemsWeitere 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 kryptografischen Sicherheitsanalysen werdenHashfunktionen idealisiert.Eine Hashfunktion, die Nachrichten aus {0,1}∗ nach {0,1}nabbildet, wird dabei im Sicherheitsbeweis als sogenanntesRandom Oracle modelliert.Ein Random Oracle implementiert eine echt zufällige Funktion, aufdie der Angreifer nur Orakelzugriff (Black-Box Zugriff) hat.Eine solche Modellierung hat wichtige theoretische Konsequenzenfür die Qualität von Sicherheitsbeweisen, die wir untersuchenmü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 OracleMethodologie oder das Random Oracle Paradigma ein.Demnach wird ein Sicherheitsbeweis erst mit Hilfe derModellierung von Hashfunktionen durch Random Oraclesangegeben. Diese Modellierung ist stark idealisiert.Die ursprüngliche Idee, um von der Sicherheit in diesemidealisierten Modell auf die Sicherheit in der Praxis zu schließen,bestand darin, zu argumentieren, dass jeder erfolgreichepraktische Angriff ausnutzen muss, dass sich die Hashfunktiontatsächlich nicht wie ein Random Oracle verhältAndererseits 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 imuntersuchten System einfach eine "‘bessere"’ praktischeHashfunktion zu nutzen; eine, die sich besser wie ein RandomOracle verhält.Die Intuition ist, dass wenn sich die Hashfunktion nur "‘zufällig"’genug verhält, der Sicherheitsbeweis auch für das praktischeVerfahren 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 miteiner fundamentalen Kritik am Random Oracle Paradigma.Im Kern zeigt die Arbeit, dass es künstliche Sicherheitsverfahrengibt, in denen Folgendes gilt:

Das Verfahren ist im Random Oracle Modell beweisbar sicher. In derSicherheitsreduktion wird die Hashfunktion als Random Oraclemodelliert.Aber: Für jede Implementierung des Random Oracles durch einepraktische Hashfunktion gibt es einen erfolgreichen, effizientenAngriff 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 desRandom Oracle Paradigmas auf: es kann nämlich Verfahrengeben, für die eine Analyse im Random Oracle Model keineBedeutung für die praktische Sicherheit des Verfahrens hat.Das Verfahren ist jedoch "‘künstlich"’ im folgenden Sinn: es nutztaus, das Hashfunktionen eine konkrete Beschreibung B besitzenund diese Beschreibung als Eingabe in Algorithmen genutztwerden kann. Für Random Oracles jedoch, die nur als Black-Boxbenutzt werden können, liegt eine solche Beschreibung nicht vor.Die Idee von CGH ist, ein Verfahren zu entwerfen, welchesgrundsätzlich sicher, es sei denn, es erhält als Eingabe B. BeiEingabe B aber würden beispielsweise einfach alle geheimenSchlüssel ausgegeben. Das Verfahren wäre dann trivial unsicher.Im ROM ist das Verfahren jedoch sicher, da keine passendeBeschreibung 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 zuverstehen.Es schließt nicht aus, dass das Random Oracle Paradigma für einegroße, nicht-künstliche Klasse von Verfahren sinnvoll anwendbarist.In der Praxis gibt es keinen Angriff, der die Modellierung einerHashfunktion als Random Oracle im Sicherheitsbeweis ausnutzt.Streng genommen müsste nun aber immer untersucht werden, obdie 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 erstenKonstruktionen für konzeptionell neuartigen Verfahren.Daneben finden RO-basierte Verfahren weiterhin großeVerbreitung, weil sie meist effizienter sind als vergleichbareVerfahren ohne Random Oracle Idealisierung.Es ist bekannt, dass bestimmte kryptografische Probleme im ROMeffizient lösbar sind, wohingegen ohne eine solche Idealisierungkeine Lösungen möglich oder bekannt sind.Eine erfolgreiche Sicherheitsreduktion im ROM isterfahrungsgemäß ein guter Indikator für die praktische Sicherheitdes Verfahrens. In diesem Sinn kann das ROM dazu genutztwerden Fehler auszuschließen. Wenn ein Verfahren nicht im ROMsicher 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 derMenge aller Funktionen von {0,1}∗ nach {0,1}n).Eine echt zufällige Funktion kann mittels einer Tabelle Timplementiert 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 denEingabewerten 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 einemeffizienten Angreifer implementiert werden: Insbesondere kannder Angreifer nur mit statistisch kleiner Wahrscheinlichkeitvorhersagen, wie der Ausgabewert Y zu einem Eingabewert Xaussieht wenn er die Funktion nicht auf X auswertet. (DieseAnnahme liegt unseren Überlegungen im Folgenden immer stetszu Grunde.)Wir nehmen daher an, dass der Angreifer das Random Oracleimmer mit dem richtigen Eingabewert gefragt haben muss, wenner erfolgreich kryptografische Werte berechnet, die von einemAusgabewert der Hashfunktion abhängen.Das Modell sieht vor, dass das Random Oracle, wieHashfunktionen, öffentlich ist, d.h. alle Parteien können daraufzugreifen.

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 dasRandom Oracle nicht selbst implementieren kann und esstattdessen für alle nötigen Eingabewerte fragen muss.Im Beweis kann die Sicherheitsreduktion das Random Oracle fürden Angreifer effizient simulieren.Dazu erzeugt die Reduktion die Tabelle T on-the-fly, man sprichtauch von lazy-sampling. Anfangs ist T leer.

Gibt der Angreifer X als Anfrage an das RO aus, so wird zuerst in Tnach X gesucht. Falls die Zeile (X,Y) für ein Y tatsächlich bereitsenthalten ist wird Y einfach ausgegeben. Dies sichert, dass sich dieSimulation tatsächlich wie eine Funktion verhält.Falls es keinen solchen Eintrag gibt wird Y ∈ {0,1}n einfach zufälliggewählt und der Eintrag (X,Y) der Tabelle T hinzugefügt. Diesgarantiert, dass sich die Simulation wie eine echt zufällige Funktionverhä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 keinAngreifer einen Unterschied zwischen Simulation und echtem RObemerken. Jede Anfrage wird genau wie im RO beantwortet.Gleichzeitig ist die Simulation effizient. Für Angreifer, dieq = 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 Sicherheitsbe-weisen

Die Simulation gibt der Reduktion die Möglichkeit, alle Werte, dieder Angreifer hashen möchte "‘mitzulesen"’.Mehr noch, die Reduktion kann die vom Angreifer gesendetenEingabewerte auf speziell im Vorhinein konstruierte Ausgabewerteabbilden, solange diese Werte wie zufällig verteilt sind.Beispielsweise kann die Reduktion Eingabewerte X aufAusgabewerte Y abbilden, so dass der Reduktion (aber nicht demAngreifer) y bekannt ist wobei Y = gy und g ein Gruppengeneratorsein kann.Dies gibt der Reduktion einen großen Informationsvorteilgegenüber dem Angreifer, der dazu genutzt werden kann, dass dieReduktion aus Sicht des Angreifers vermeintlich schwereProbleme 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 Zero-Knowledge Beweise

Die Fiat-Shamir Heuristic ist eine Transformation, die mit Hilfe vonHashfunktionen generisch aus einem interaktiven Sigma∗

Protokoll einen nicht-interaktiven Beweissystem konstruiert. Beieinem nicht-interaktiven Beweissystem sendet der Prover nur eineeinzelne Nachricht an den Verifier.Die Idee der Transformation besteht darin, die Challenge c vomProver selbst generieren zu lassen. Für den Verifier sollte dies aufüberprüfbar zufällige Art geschehen.Dazu verwendet der Prover die Hashfunktion:

c = h(pk, a).

Der Verifier muss nun neben allen bisherigen Überprüfungen fürdas zu Grunde liegende Sigma∗ Protokoll, zusätzlich testen ob

c = h(pk, a).

Im Sicherheitsbeweis wird h nun als RO modelliert. Damit istgesichert, 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üssenwir nachweisen, dass sie alle wichtigen Sicherheitseigenschaftenerhält.Perfect Completeness lässt sich unmittelbar nachweisen.Special Soundness und Special Honest Verifier Zero-Knowledgewerden mit Hilfe einer Reduktion nachgewiesen.Dazu wird gezeigt, das im Random Oracle Modell jeder Angreifergegen die Special Soundness (oder die SHVZK Eigenschaft) desmodifizierten Protokolls eingesetzt werden kann um die SpecialSoundness (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 dasRandom Oracle simulieren kann. Wir können annehmen, dass derAngreifer c erst erhält, nachdem er sich auf a festgelegt hat. Diesfolgt aus der exponentiell großen Ausgabemenge und der echtzufälligen Wahl von Ausgabewerten des Random Oracles, sieheoben. (Ohne Auswertung ist Raten die beste Methode, doch dieErfolgswahrscheinlichkeit richtig zu raten ist statistisch klein.)Daher können wir den Angreifer wie in den bisherigenBeweisenzurückspulen/ rewinden; diesmal an den Punkt, nachdem der Angreifer pk, a an das Random Oracle gesendet hat (abernoch keine Antwort erhalten hat).Etwas formaler: Nehmen wir an, der Angreifer sendet im Verlaufdes Experimentes mehrere Eingabewerte ai für i ∈ [q] mitq = poly(κ) an das Random Oracle. Die Reduktion verhält sich wiefolgt:

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, dassder Angreifer (der den Verifier ohne Kenntnis von sk akzeptierenlässt) ein erfolgreiches Transkript (a, c, s) mit a = aj ausgibt. (Diesmodelliert, dass nicht jede Random Oracle Anfrage des Angreiferszu einem validen Transkript führen muss.) Mit Wkt. besser als 1/qliegt die Reduktion hier richtig.Im ersten Lauf des Angreifers antwortet die Reduktion mitzufälliger Challenge cj auf die Random Oracle Anfrage pk, aj. Fallsaj 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 Zustandzurück, nach dem er pk, aj an das Random Oracle gesendet hat.Jetzt zieht die Reduktion erneut eine zufällige Challenge c′j undgibt 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 s′j und das Transkript (aj, c′j, s

′j) ist

valide.Die Reduktion hat nun aj, cj, sj, c′j, s

′j . Mit sehr hoher

Wahrscheinlichkeit gilt cj 6= c′j und die Reduktion kann die SpecialSoundness 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 ununterscheidbarist. Dazu nutzen wir den Simulator Sim′ für die SHVZK Eigenschaftdes zu Grunde liegenden Sigma∗ Protokolls.Gegeben c lassen wir Sim′ mit Eingabe c laufen und erhaltenpassendes a, s.Falls pk, a schon einmal an das Random Oracle angefragt wurdebrechen wir ab. Mit hoher Wkt. wird nicht abgebrochen.Andernfalls setzen wir folgenden Eintrag im Random Oraclec := 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 Sim′ von echten Transkripten mitChallenge c ununterscheidbar ist, so ist es auch die Ausgabe vonSim.Dies gilt weil jeder Angreifer, der die Ausgabe von Simunterscheidet, direkt dazu benutzt werden kann die Ausgabe vonSim′ 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 effiziente, nicht-interaktiveBeweissysteme für wichtige praktische Probleme angeben.Zur Angabe konkreter Beweissysteme nutzen wir eine angepasstNotation: Aus ZKPoK = {(α) : (α, y) ∈ R} wirdNIZKPoK = {(α) : (α, 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 dieHashfunktion nicht nur auf pk, a sondern auch auf eine Nachrichtm angewendet wird: Die Challenge wird nun berechnet alsc := h(pk, a,m).Wie zuvor beim Beweis der Fiat-Shamir Transformation lässt sichzeigen, dass Special Soundness und SHVZK auch bei Einbindungvonm erhalten bleiben.Die Interpretation einer validen Nachricht (a, c, s),m durch denVerifier ähnelt der einer digitalen Signatur überm: Wir wollen,dass der Angreifer nur mit Hilfe des Secret Keys sk zu pk einvalides Transkript (a, c, s) zu Nachrichtm erstellen kann.Wir nennen σ = (a, c, s) daher auch eine Signature-of-Knowledgeund passen unsere Notation noch weiter an: ausNIZKPoK = {(α) : (α, 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 gewonnenenSignaturverfahren mit Signaturen σ = (a, c, s) sicher im Sinne derStandarddefinition von digitalen Signaturen ist. Es bietet jedochauch zusätzliche Eigenschaften, die gewöhnliche digitaleSignaturverfahren nicht bieten müssen.

Special Soundness (bzw. Proof-of-Knowledge) garantiert intuitiv,dass aus jedem erfolgreichen Angreifer, der Secret Key extrahiertwerden kann.SHVZK garantiert, dass valide Transkripte auch ohne Kenntnis desSecret Keys erzeugt werden können. Das bedeutet, dass Angreiferdurch Betrachtung von validen Tupeln (a, c, s),m nichtszusätzliches (zur Validität von (a, c, s)) lernen können.

Signatures-of-Knowledge sind wichtige Bausteine inprivacy-preserving Anwendungen. Mit ihnen könne Informationensehr präzise und authentisch veröffentlicht werden. Insbesonderedie 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