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