Identitätsbasierte Signaturen Ein Sicherheitsbeweis für Signaturen

Werbung
Identitätsbasierte Signaturen Ein
Sicherheitsbeweis für Signaturen auf
Grundlage von Gap-Die-Hellman-Gruppen
mit Hilfe des Forking-Lemmas
Nils Löken
5. März 2012
ii
Ehrenwörtliche Erklärung
Hiermit versichere ich, die vorliegende Arbeit ohne Hilfe Dritter und nur
mit den angegebenen Quellen und Hilfsmitteln angefertigt zu haben. Alle
Stellen, die aus den Quellen entnommen wurden, sind als solche kenntlich
gemacht worden. Diese Arbeit hat in gleicher oder ähnlicher Form noch keiner
Prüfungsbehörde vorgelegen.
Paderborn, den 5. März 2012
Nils Löken
Inhaltsverzeichnis
1 Einleitung
1
2 Denitionen und Beweisübersicht
3
2.1
Notation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
2.2
Grundlegende Denitionen . . . . . . . . . . . . . . . . . . . .
4
2.3
Die-Hellman-Probleme und -Gruppen . . . . . . . . . . . . .
4
2.3.1
Die Die-Hellman-Probleme . . . . . . . . . . . . . . .
5
2.3.2
Gap-Die-Hellman-Annahme
. . . . . . . . . . . . . .
6
Digitale Signaturverfahren . . . . . . . . . . . . . . . . . . . .
7
2.4.1
Identitätsbasierte und Public-Key-Signaturverfahren
.
7
2.4.2
Signaturverfahren von Cha und Cheon (CC-Sig) . . . .
10
2.4.3
PubSig . . . . . . . . . . . . . . . . . . . . . . . . . . .
11
Sicherheit und Angrismodelle . . . . . . . . . . . . . . . . . .
12
2.5.1
Das No-Message-Modell
13
2.5.2
Das Adaptively-Chosen-Message-Modell
2.4
2.5
. . . . . . . . . . . . . . . . .
. . . . . . . .
13
2.6
Das Zufallsorakel-Modell . . . . . . . . . . . . . . . . . . . . .
16
2.7
Übersicht über die Beweisfolge . . . . . . . . . . . . . . . . . .
17
3 Das Forking-Lemma
19
3.1
Oracle-Replay-Technik
. . . . . . . . . . . . . . . . . . . . . .
20
3.2
Splitting-Lemma
. . . . . . . . . . . . . . . . . . . . . . . . .
21
3.3
Forking-Lemma im No-Message-Modell . . . . . . . . . . . . .
22
3.4
Forking-Lemma im CM-Modell
31
iii
. . . . . . . . . . . . . . . . .
iv
INHALTSVERZEICHNIS
4 Reduktionen der Sicherheitsmodelle
35
4.1
Reduktion: Chosen-ID auf Given-ID . . . . . . . . . . . . . . .
36
4.2
Reduktion: Given-ID auf Public-Key
40
. . . . . . . . . . . . . .
5 Der Sicherheitsbeweis
47
5.1
Anwendbarkeit des Forking-Lemmas
. . . . . . . . . . . . . .
48
5.2
Reduktion des Berechnnungsproblems . . . . . . . . . . . . . .
51
Kapitel 1
Einleitung
Digitale Signaturen dienen dazu, Integrität und Authentizität von digitalen
Dokumenten zu garantieren und verizierbar zu machen. Zudem sollen sie
die Zurechenbarkeit sicherstellen. Das heiÿt, dass digitale Signaturen dafür
Sorge tragen, dass ein Dokument unverändert ist, vom angegebenen Autor
stammt und dieser Autor nicht abstreiten kann, das Dokument signiert zu
haben.
Ein Spezialfall digitaler Signaturen sind identitätsbasierte Signaturen.
Diese wurden 1984 von Adi Shamir vorgeschlagen (vgl. [8]). Ziel des Einsatzes identitätsbasierter Signaturen ist demnach, eine Möglichkeit zu schaen,
dass beliebige Paare von Personen untereinander kommunizieren und ihre
Signaturen verizieren können. Auf den Einsatz von Schlüsseltabellen soll
dabei verzichtet werden. Ebenfalls soll für die Verikation keine dritte Partei
hinzugezogen werden müssen. Eine dritte Partei soll ausschlieÿlich zur Generierung der Schlüssel für die beteiligten Nutzer genutzt werden. Um für die
Verikation von Signaturen auf eine dritte Partei sowie auf Schlüsseltabellen verzichten zu können, werden Identitäten eingeführt. Diese Identitäten
werden Personen zugeordnet und diese Zuordnungen öentlich gemacht. Zur
Verikation von Signaturen wird dann geprüft, ob die gegebene Signatur zu
den gültigen Signaturen der Identität zum gegebenen Dokument gehört.
Ein Vorschlag für ein identitätsbasiertes Signaturverfahren wurde von
Cha und Cheon gemacht. Der ursprüngliche Sicherheitsbeweis für ihr Ver-
1
2
KAPITEL 1.
EINLEITUNG
fahren weist formale Schwächen auf. Diese Schwächen zu identizieren und
den Sicherheitsbeweis detailliert zu formulieren ist das Ziel dieser Arbeit.
Dabei wird auch die zentrale Angristechnik, wie sie das Forking-Lemma
beschreibt, eingehend untersucht.
Zunächst werden notwendige Denitionen vorgenommen und eine Übersicht über die Beweisschritte in dieser Arbeit gegeben. Das darauf folgende
Kapitel widmet sich dem Forking-Lemma, einer zentralen Angristechnik,
die im Sicherheitsbeweis genutzt wird. Daran schlieÿen sich Beschreibungen
mehrerer Reduktionen an, die Aussagen über die Sicherheit des Signaturverfahrens von Cha und Cheon in verscheidenen Angrismodellen erlauben.
Abschlieÿend werden die Reduktionen und das Forking-Lemma derart
miteinander verknüpft, dass sich aus einem Angreifer gegen das identitätsbasierte Signaturverfahren ein Algorithmus konstuieren lässt, der ezient und
mit groÿer Wahrscheinlichkeit das Die-Hellman-Berechnungsproblem lösen
kann.
Kapitel 2
Denitionen und Beweisübersicht
Im Rahmen dieser Arbeit wird eine Reihe von formalen Konstrukten verwendet. Diese Konstrukte zu denieren, ist Ziel dieses Kapitels. Ferner wird auch
die verwendete Notation erläutert. Zum Abschluss dieses Kapitels wird eine
Übersicht über die Beweisfolge gegeben.
2.1 Notation
Dieser Arbeit liegen mehrere Arbeiten zugrunde, die eine Reihe unterscheidlicher Notationen verwenden. In dieser Arbeit wird eine vereinheitlichte Notation verwendet, die hier erklärt wird.
x ∈r X wird verwendet, um die zufällige Wahl eines EleMenge X gemäÿ einer gewissen Wahrscheinlichkeitsvertei-
Die Schreibweise
ments
x
aus der
lung zu bezeichnen. Bei der Betrachtung von Wahrscheindlichkeiten bezeichne
Prx∈r X [A]
die Wahrscheinlichkeit des Ereignisses
zufällige Wahl von
x ∈r X .
A
betrachtet über die
Wird für Betrachtungen von Wahrscheinlichkei-
ten nicht explizit angegeben, welche Wahrscheinlichkeitsverteilung verwendet
wird, so wird die Gleichverteilung genutzt.
Für probabilistische Algorithmen
A,
welche im Zufallsorakel-Modell be-
trachtet werden, ist es notwendig anzugeben, mit welchem Zufallsorakel
und mit welchen Zufallsbits
die Schreibweise
Afω
ω
f
der Algorithmus ausgeführt wird. Hierfür wird
verwendet. Wenn eine Aussage für alle Wahlen von Zu-
3
4
KAPITEL 2.
DEFINITIONEN UND BEWEISÜBERSICHT
fallsbits oder alle Zufallsorakel gilt, wird die entsprechende Angabe weggelassen.
2.2 Grundlegende Denitionen
In diesem Abschnitt werden die Konstrukte Vernachlässigbarkeit und Ununterscheidbarkeit von Wahrscheinlichkeitsverteilungen deniert.
Denition 1. Sei ≥ 0. heiÿt vernachlässigbar (in k) genau dann, wenn
für jedes Polynom p und hinreichend groÿes k gilt: < 1/p(k).
In Anlehnung an Pointcheval und Stern [7] ist die Ununterscheidbarkeit
von Wahrscheinlichkeitsverteilungen folgendermaÿen deniert:
Denition 2. Seien δ0 und δ1 zwei Wahrscheinlichkeitsverteilungen über derselben Grundmenge. Ein Unterscheider D ist ein polynomialzeitbeschränkter
probabilistischer Algorithmus mit Zufallsbits ω, der bei Eingabe ρ mit 0 oder
1 antwortet.
Denition 3. Der Vorteil von D ist im Hinblick auf die Wahrscheinlichkeitsverteilungen δ0 und δ1 deniert durch
1
Adv(D, δ0 , δ1 ) =
2
· Pr [Dω (ρ) = 1] − Pr [Dω (ρ) = 1] .
ω,ρ∈r δ0
ω,ρ∈r δ1
Denition 4. Zwei Wahrscheinlichkeitsverteilungen δ0 und δ1 heiÿen polynomiell ununterscheidbar, wenn kein in der Eingabelänge polynomialzeitbeschränkter Unterscheider existiert, der nicht-vernachlässigbarem Vorteil hat.
2.3 Die-Hellman-Probleme und -Gruppen
Im Rahmen des Sicherheitsbeweises wird ein vermutlich schweres Problem der
Zahentheorie auf die Sicherheit des Signaturverfahren von Cha und Cheon reduziert werden. Ein solches Problem ist das Die-Hellman-Berechnungsproblem. In diesem Abschnitt werden Probleme, Konstrukte und Eigenschaften
deniert, die für die durchzuführende Reduktion von Relevanz sind.
2.3.
DIFFIE-HELLMAN-PROBLEME UND -GRUPPEN
5
2.3.1 Die Die-Hellman-Probleme
G mit Primordnung l und einem Generator P .
G werde als additive Gruppe aufgefasst. Seien a, b, c ∈ Zl . Dann sind für diese
Gegeben eine zyklische Gruppe
Arbeit zwei Probleme von Interesse, das Die-Hellman-Berechnungsproblem
und das Die-Hellman-Entscheidungsproblem. Die folgenden Denitionen
sind angelehnt an Boneh und Franklin [2], Seite 7.
Denition 5. Gegeben die Gruppe G und ein Tripel (P, aP, bP ) ∈ G3 , so
bezeichnet das Die-Hellman-Berechnungsproblem die Berechnung des Elements abP ∈ G. Ein Algorithmus A hat den Vorteil bei der Lösung des
Die-Hellman-Berechnungsproblems über G, wenn
Pr [Aω (P, aP, bP ) = abP ] > .
a,b,P,ω
Die Wahrscheinlichkeit wird über die zufällige Wahl von a, b ∈r Zl , die zufällige Wahl von P ∈r G und die Zufallsbits von A betrachtet.
Denition 6. Gegeben die Gruppe G und das Tupel (P, aP, bP, cP ) ∈ G4 ,
so bezeichnet das Die-Hellman-Entscheidungsproblem die Frage, ob c = ab
mod l. Sei A ein Algorithmus, der für beliebige Tupel (P, aP, bP, cP ) den
Wert 1 oder den Wert 0 ausgibt. A hat bei der Lösung des Die-HellmanEntscheidungsproblems über G Vorteil , wenn gilt
Pr [Aω (P, aP, bP, abP ) = 1] − Pr [Aω (P, aP, bP, cP ) = 1] > .
a,b,P,ω
a,b,c,P,ω
Die Wahrscheinlichkeit wird betrachtet über die zufällige Wahl von P ∈r G,
a, b, c ∈r Zl und die Zufallsbits ω von A.
Denition 7. Ein Tupel (P, aP, bP, cP ) ∈ G4 für das c = ab mod l gilt,
heiÿt Die-Hellman-Tupel.
Hilfssatz 1. Mit Hilfe einer nicht-degenerierten, in den Gruppengröÿen polynomialzeitbeschränkt berechenbaren in beiden Komponenten linearen Funktionen ê : G1 × G1 → G2 ist es möglich, das Die-Hellman-Entscheidugsproblem zu lösen. Dabei sind G1 und G2 zyklische Gruppe mit Primordnung
l.
6
KAPITEL 2.
DEFINITIONEN UND BEWEISÜBERSICHT
Beweis.
ê(P, P )ab = ê(aP, bP ) = ê(P, cP ) = ê(P, P )c ⇔ c = ab mod l.
Für den vollständigen Beweis siehe Joux und Nguyen [5], Abschnitt 2.4.
2.3.2 Gap-Die-Hellman-Annahme
Im Hinblick auf die Die-Hellman-Probleme kann die Frage gestellt werden,
über welchen Gruppen die Probleme betrachtet, beziehungsweise wie diese
Gruppen erzeugt werden. Ferner stellt sich die Frage, wie die Probleme bezüglich ihres Schwierigkeitsgrades vergleichbar sind, das heiÿt, welcher Aufwand
zur Lösung des Problems betrieben werden muss. Diese Fragen werden in
diesem Abschnitt näher betrachtet.
Denition 8. Ein probabilistischer Algorithmus IG heiÿt
rator, wenn
Parameter-Gene-
1. IG einen Sicherheitsparameter k ∈ N+ erhält,
2. die Laufzeit von IG polynomiell in k ist und
3. die Ausgabe von IG Beschreibungen einer zyklischen Gruppe G mit Primordnung l (abhängig von k) und eines in k polynomialzeitbeschränkten
Algorithmus D ist, der das Die-Hellman-Entscheidungsproblem in G
löst.
Denition 9. Sei IG ein Parameter-Generator. Ein Algorithmus A hat bei
der Lösung des Die-Hellman-Berechnungsproblems den Vorteil (k) für IG ,
wenn
#
(G, D) := IG(1k ),
Pr A(G, D, P, aP, bP ) = abP > (k)
P ∈r G, a, b ∈r Zl
"
für hinreichend groÿe Werte von k.
Bei dieser Denition ist zu beachten, dass das Element
rator von
G
ist, da
G
Primordnung hat.
P ∈G
ein Gene-
2.4.
DIGITALE SIGNATURVERFAHREN
7
Denition 10. Sei IG ein Parameter-Generator. IG erfüllt die Gap-DieHellman-Annahme, wenn für alle probabilistischen, in k polynomialzeitbeschränkten Algorithmen A gilt: A löst das Die-Hellman-Berechnungsproblem in der durch IG erzeugten Gruppe G mit höchstens vernachlässigbarer
Wahrscheinlichkeit.
Wenn ein Parameter-Generator
IG
die Gap-Die-Hellman-Annahme er-
füllt, heiÿt das Die-Hellman-Berechnungsproblem in der erzeugten Gruppe
G
schwer. Die Gruppe
heiÿt
G
ist dann eine
GDH-Parameter-Generator.
Gap-Die-Hellman-Gruppe
und
IG
2.4 Digitale Signaturverfahren
In diesem Abschnitt werden digitale Signaturverfahren deniert. Zunächst
werden Public-Key- und identitätsbasierte Signaturverfahren allgemein deniert. Anschlieÿend werden zwei konkrete Signaturverfahren beschrieben,
die im Kontext dieser Arbeit relevant sind. Zum einen handelt es sich dabei
um das identitätsbasierte Signaturverfahren von Cha und Cheon und zum
anderen um ein Public-Key-Signaturverfahren, das in den durchzuführenden
Reduktionen benötigt wird.
2.4.1 Identitätsbasierte und Public-Key-Signaturverfahren im Allgmeinen
Public-Key-Signaturverfahren sind wie folgt deniert:
Denition 11. Ein Public-Key-Signaturverfahren ist ein digitales Signaturverfahren und ein aus drei Algorithmen bestehendes Tupel (Gen, Sign,
Verify).
Gen ist ein Algorithmus zur Schlüsselerzeugung. Hierzu benötigt Gen einen
Sicherheitparameter k, unär kodiert übergeben als 1k . Generiert wird
ein Schlüsselpaar (pk, sk) bestehend aus einem öentlichen Schlüssel
8
KAPITEL 2.
DEFINITIONEN UND BEWEISÜBERSICHT
und einem geheimen Schlüssel. Zudem erzeugt der Algorithmus Beschreibungen des Nachrichenraumes und der Menge der Signaturen.
Der Algorithmus ist probabilistisch mit Zufallsbits ω.
Sign ist ein Signaturalgorithmus, welcher aus einer Nachricht m mit dem
geheimen Schlüssel sk eine Signatur σ von der Form σ = (σ1 , h, σ2 ) erzeugt. Der Signaturalgorithmus darf probabilistisch sein mit Zufallsbits
ω 0 und gegebenefalls weiteren Eingaben.
Verify ist ein Algorithmus zur Verikation von Signaturen. Unter Eingabe
einer Signatur σ, einer Nachricht m und des öentlichen Schlüssels pk
prüft Verify, ob σ eine Signatur unter die Nachricht m zum öentlichen
Schlüssel pk ist. Verify gibt den Wert 1 oder 0 aus.
Für jede Nachricht m aus dem Nachrichtenraum, jedes k ∈ N+ und jedes
durch Gen(1k ) erzeugte Schlüsselpaar (pk, sk) muss gelten:
Verifypk (Signsk (m), m) = 1.
(σ1 , h, σ2 ) gilt üblicherweise, dass das
Element σ1 zufällig aus einer groÿen Menge gewählt wird. Die Komponente h
Für die durch Sign erzeugten Tupel
ist üblicherweise ein Hashwert, in dessen Berechnung ausschlieÿlich die zu signierende Nachricht und gegebenenfalls
σ1 einieÿen. Für die Sicherheit eines
Signaturverfahrens ist die verwendete Hashfunktion und damit die Komponente
h
von groÿer Bedeutung, wie das Forking-Lemma (Lemma 2) zeigen
wird. Durch
σ2
werden die Komponenten
σ1
und
h
auf geeignete Weise ver-
knüpft, um die Signatur verizierbar zu machen, wobei in dieser Komponente
der geheime Schlüssel eingeht.
Die Algorithmen Gen und Sign eines Public-Key-Signaturverfahrens werden von einem Nutzer ausgeführt. Der private Schlüssel
sk
ist dann der pri-
vate Schlüssel des Erzeugers. Durch Nutzung seines privaten Schlüssels im
Algorithmus Sign signiert ein Nutzer eine Nachricht. Der Algorithmus Verify
kann von jeder Person ausgeführt werden.
In dieser Arbeit sind neben den Public-Key-Signaturverfahren insbesondere identitätsbasierte Signaturverfahren von Interesse. Solche Signaturver-
2.4.
DIGITALE SIGNATURVERFAHREN
9
fahren haben folgende Form:
Denition 12. Ein identitätsbasiertes Signaturverfahren ist ein digitales
Signaturverfahren. Es besteht aus dem Tupel (Setup, Extract, Sign, Verify)
von Algorithmen.
Setup erhält einen Sicherheitsparameter k, unär kodiert, und erzeugt daraus
einen System-Parameter und einen Master-Key. Der System-Parameter enthält unter anderem Beschreibungen der (endlichen) Mengen von
Signaturen und signierbaren Nachrichten. Der Algorithmus ist probabilistisch mit Zufallsbits ω.
Extract berechnet für einen gegebenen Systemparameter, einen gebenenen
Master-Key und eine beliebige Identität ID ∈ {0, 1}∗ den zu ID gehörenden geheimen Schlüssel DID und gibt diesen aus. Der Algorithmus
darf mit Zufallsbits ω0 probabilistisch sein.
Sign ist ein Signaturalgorithmus, welcher aus dem Systemparameter, einer
Nachricht m und einem zu einer Identität gehörenden geheimen Schlüssel DID eine Signatur σ von der Form σ = (σ1 , h, σ2 ) erzeugt. Der
Signaturalgorithmus darf probabilistisch sein mit Zufallsbits ω00 und gegebenefalls weiteren Eingaben.
Verify ist ein Algorithmus zur Verikation von Signaturen. Unter Eingabe
einer Signatur σ, einer Nachricht m und einer Identität ID prüft Verify, ob σ eine Signatur der Identität ID unter die Nachricht m ist.
Verify gibt den Wert 1 oder 0 aus.
Für jede Nachricht m aus dem Nachrichtenraum, jede Identität ID, jedes
k ∈ N+ und jeden mittels Setup(1k ) erzeugten Systemparameter gilt:
VerifyID (SignDID (m), m) = 1.
Die Algorithmen Setup und Extract werden von einer zentralen Instanz
ausgeführt; der von Setup erzuegte Master-Key ist nur der zentralen Instanz
10
KAPITEL 2.
DEFINITIONEN UND BEWEISÜBERSICHT
bekannt, der Systemparameter ist öentlich. Ein Nutzer führt den Algorithmus Sign mit seiner Identität aus, um Nachrichten zu signieren. Signaturen
können mittels Verify durch jede Person veriziert werden.
2.4.2 Signaturverfahren von Cha und Cheon (CC-Sig)
Denition 13. Das Signaturverfahren von Cha und Cheon (CC-Sig) ist ein
identitätsbasiertes Signaturverfahren mit Algorithmen Setup, Extract, Sign
und Verify.
Setup erhält den Sicherheitsparameter k (unär kodiert) und erzeugt mittels
eines Parameter-Generators eine zyklische Gruppe G mit Primordnung
l. Ein Generator P ∈r G wird zufällig ausgewählt. Ebenso wird ein zufälliges Element s ∈r Zl gewählt und Ppub := sP gesetzt. Es wird eine
endliche Menge M von signierbaren Nachrichten beschrieben. Zudem
werden zwei kryptographische Hashfunktionen H1 : M × G → Zl und
H2 : {0, 1}∗ → G erzeugt. Das Tupel (P, Ppub, , H1 , H2 ) ist dann der
Systemparameter. Zu beachten ist, dass eine Beschreibung des Nachrichtenraums M implizit in der Beschreibung von H1 enthalten ist.
Das Element s dient als Master-Key.
Extract Für eine gegebene Identität ID, welche als öentlicher Schlüssel
dient, berechne QID = H2 (ID). DID = sQID ist der zur Identität ID
gehörende geheime Schlüssel.
Sign Für einen gegebenen zu einer Identität gehörenden geheimen Schlüssel
DID und eine Nachricht m ∈ M berechne eine Signatur σ = (U, h, V ):
für zufällig gewähltes r ∈r Zl setze U := rQID , h := H1 (m, U ) und
V := (r + h)DID .
Verify Für eine gegebene Nachricht m ∈ M, eine Signatur σ = (U, h, V )
und eine Identität ID überprüfe, ob (P, Ppub , U + hQID , V ) ein DieHellman-Tupel ist. Falls es sich um ein Die-Hellman-Tupel handelt,
wird 1 ausgegeben, sonst 0.
2.4.
DIGITALE SIGNATURVERFAHREN
11
Hilfssatz 2. Der Algorithmus Verify gibt für jede mittels Sign erzeugte Signatur zu einer Nachricht m und einer Identität ID den Wert 1 aus.
Beweis.
zu
ID
Sei
m ∈ M eine Nachricht, ID
eine Identität und
gehörende mittels Sign erzeugte Signatur unter
Denition von Sign ein
r ∈ Zl ,
m.
σ = (U, h, V ) eine
Dann gibt es nach
sodass gilt
SignDID (m) = (U, h, V ) = (rQID , H1 (m, QID ), (r + H1 (m, QID ))DID ).
Damit ergibt sich im Verikationsalgorithmus für die Signatur das DieHellman-Tupel
(P, Ppub , U + hQID , V ),
denn es gilt
(P, Ppub , U + hQID , V ) = (P, Ppub , (r + h)QID , (r + h)DID )
= (P, sP, (r + h)QID , (r + h)sQID ).
Der Verikationsslgorithmus gibt also für jede mittels Sign erzeugte Signatur
1 aus, da sich für solche Signaturen stets ein Die-Hellman-Tupel ergibt.
2.4.3 PubSig
Im Rahmen des Beweises der Sicherheit des Signaturverfahrens von Cha und
Cheon wird ein Public-Key-Signaturverfahren benötigt.
Denition 14. Das Public-Key-Verfahren
Sign und Verify ist wie folgt deniert:
PubSig
mit Algorithmen Gen,
Gen erhält einen unär kodierten Sicherheitsparameter k und erzeugt mittels
eines Parameter-Generators eine zyklische Gruppe G mit Primordnung
l. Ein Generator P ∈r G wird zufällig ausgewählt. Ebenso werden zufällige Elemente s, q ∈r Zl gewählt und Ppub := sP sowie QID := qP
gesetzt. Es werden eine endliche Menge M von signierbaren Nachrichten und eine kryptographische Hashfunktion H1 : M × G → Zl erzeugt.
Das Tupel (P, Ppub, , H1 , QID ) ist dann der öentliche Schlüssel; zu beachten ist, dass eine Beschreibung des Nachrichtenraums M implizit
in der Beschreibung von H1 enthalten ist. Das Element s ist der zu
(P, Ppub , H1 , QID ) gehörende geheime Schlüssel.
12
KAPITEL 2.
DEFINITIONEN UND BEWEISÜBERSICHT
Sign Für eine gegebene Nachricht m berechne eine Signatur σ = (U, h, V ).
Es gilt U := rQID , h := H1 (m, U ) und V := (r+h)sQID für ein zufällig
gewähltes Element r ∈r Zl .
Verify Für eine gegebene Nachricht m und Signatur σ = (U, h, V ) überprüfe, ob (P, Ppub , U + hQID , V ) ein Die-Hellman-Tupel ist und gebe im
Erfolgsfall 1 aus, sonst 0.
Hilfssatz 3. Verify gibt für jede mittels Sign erzeugte Signatur unter eine
gegebene Nachricht m den Wert 1 aus.
Beweis.
Sei
Nachricht
σ = (U, h, V )
m.
eine mittels Sign erzeugte Signatur unter eine
Dann gibt es ein
r ∈ Zl ,
sodass gilt:
Signs (m) = (U, h, V ) = (rQID , H1 (m, rQID ), (r + H1 (m, rQID ))sQID ).
Daraus ergibt sich im Verikationsalgorithmus ein Die-Hellman-Tupel:
(P, Ppub , U + hQID , V ) = (P, sP, (r + h)qP, (r + h)sqP ).
Für mittels Sign erzeugte Signaturen ergibt sich also ein Die-Hellman-Tupel
und für jede mittels Sign erzeugte Signatur wird der Wert
1
ausegeben.
2.5 Sicherheit und Angrismodelle
Um über die Sicherheit von Signaturverfahren Aussagen machen zu können,
muss klar sein, welches Sicherheitsmodell der Aussage zugrunde liegt. Diese
Sicherheitsmodelle denieren, welche Möglichkeiten eventuelle Angreifer bei
ihrem Angri gegen ein Signaturverfahren haben und wie ein solcher Angri aussieht. Für diese Arbeit sind das No-Message-Modell und das ChosenMessage-Modell von Relevanz. Zunächst werden die Modelle für Public-KeySignaturverfahren deniert. Anschlieÿend wird das Chosen-Message-Modell
auf identitätsbasierte Signaturverfahren erweitert. Eine grasche Übersicht
über die Funktionsweisen der zu den Modellen gehörenden Experimente ndet sich in Abbildung 2.1.
2.5.
SICHERHEIT UND ANGRIFFSMODELLE
13
Die in diesem Abschnitt beschriebenen Modelle sind nach [6], Seiten 425427 und [4], Abschnitt 3 allgemein akzeptiert. Daher ist die Nutzung dieser
Modelle sinnvoll.
2.5.1 Das No-Message-Modell
Denition 15. Ein digitales Signaturverfahren (Gen, Sign, Verify) heiÿt
sicher gegen existentielle Fälschungen im No-Message-Modell genau dann,
wenn für jeden probabilistischen, im Sicherheitsparameter k von Gen polynomialzeitbeschränkten Algorithmus A folgendes Experiment mit höchstens
vernachlässigbarer Wahrscheinlichkeit erfolgreich ist:
1. Gen berechnet ein Schlüsselpaar (pk, sk) zum Sicherheitsparameter k.
2. A erhält den öentlichen Schlüssel pk.
3. Irgendwann gibt A ein Tupel (m, σ) aus.
4. Das Experiment heiÿt genau dann erfolgreich, wenn Verifypk (m, σ) = 1.
2.5.2 Das Adaptively-Chosen-Message-Modell
Denition 16. Ein digitales Signaturverfahren (Gen,Sign,Verify) heiÿt
si-
cher gegen existentielle Fälschungen im Adaptively-Chosen-Message-Modell
genau dann, wenn für jeden probabilistischen, im Sicherheitsparameter k von Gen polynomialzeitbeschränkten Algorithmus A folgendes
Experiment mit höchstens vernachlässigbarer Wahrscheinlichkeit erfolgreich
ist:
(CM-Modell)
1. Gen berechnet ein Schlüsselpaar (pk, sk) zum Sicherheitsparameter k.
2. A erhält den öentlichen Schlüssel pk sowie Zugri auf ein Signaturorakel, welches für beliebige Nachrichten m gültige Signaturen unter
m zum Schlüsselpaar (pk, sk) generiert. A darf beliebige Anfragen an
das Signaturorakel stellen.
3. Irgendwann gibt A ein Tupel (m, σ) aus.
14
KAPITEL 2.
DEFINITIONEN UND BEWEISÜBERSICHT
A
A
C
pk
C
Sign(mi )
pk
σi
(m, σ)
.
.
.
(m, σ)
A
C
SysParams
Signid
i
(mi )
A
C
SysParams,
Signid
i
ID
(mi )
σi
σi
Extract(idj )
Extract(idj )
Didj
Didj
H1 (m, U )
H1 (m, U )
h
h
H2 (idk )
H2 (idk )
Qidk
Qidk
.
.
.
.
.
.
(m, Id, σ)
(m, Id, σ)
Abbildung 2.1: Funktionsweise der Experimente in den verschiedenen Modellen: No-Message-Modell (oben links), CM-Modell (oben rechts), CMI-Modell
(unten links), CMGI-Modell (unten rechts).
Experimenten.
C ist der Herausforderer in diesen
2.5.
SICHERHEIT UND ANGRIFFSMODELLE
15
4. Genau dann, wenn Verifypk (m, σ) = 1 und beim Signaturorakel keine
Signatur für m angefragt wurde, heiÿt das Experiment erfolgreich.
Um das Adaptively-Chosen-Message-Modell auf identitätsbasierte Signaturverfahren übertragen zu können, muss geklärt werden, wie sich die Identitäten auf das Modell auswirken. Dazu können zwei Varianten unterschieden
werden.
Variante: Adaptively-Chosen-ID
Denition 17. Ein identitätsbasiertes Signaturverfahren (Setup, Extract,
Sign, Verify) heiÿt sicher gegen existentielle Fälschungen im AdaptivelyChosen-Message-And-ID-Modell (CMI-Modell) genau dann, wenn, das folgende Experiment für jeden Algorithmus A mit höchstens vernachlässigbarer
Wahrscheinlichkeit erfolgreich ist. Der Algorithmus A ist hierbei ein probabilistischer Algorithmus, dessen Laufzeit im Sicherheitsparameter k von Setup
polynomialzeitbeschränkt ist.
1. Setup berechnet mit Sicherheitsparameter k einen Systemparameter und
den zugehörigen Master-Key.
2. A erhält den Systemparameter. Ebenso erhält A Zugri auf ein Signaturorakel, welches für ein Nachricht/Identität-Paar (m, id), m aus dem
Nachrichtenraum, eine Signatur unter m für die Identität id zurückgibt.
Zudem bekommt der Algorithmus A Zugri auf ein Extraktionsorakel,
das für eine angefragte Identität id den zu id gehörenden geheimen
Schlüssel Did liefert.
3. A darf beliebige Anfragen an das Signaturorakel, das Extraktionsorakel
und die Funktionen, die Teil des Systemparameters sind, stellen.
4. Irgendwann gibt A ein Tupel (m, Id, σ) aus.
5. Genau dann, wenn VerifyId (σ, m) = 1, Id nicht beim Extraktionsorakel und (m, Id) nicht beim Signatuorakel angefragt wurden, heiÿt das
Experiment erfolgreich.
16
KAPITEL 2.
DEFINITIONEN UND BEWEISÜBERSICHT
Variante: Given-ID
Denition 18. Ein identitätsbasiertes Signaturverfahren heiÿt
sicher ge-
gen existentielle Fälschungen im Adaptively-Chosen-Message-And-Given-ID-
genau dann, wenn folgendes Experiment für jeden
Algorithmus A mit höchstens vernachlässigbarer Wahrscheinlichkeit erfolgreich ist. Die Laufzeit des probabilistischen Algorithmus A ist polynomiell im
Sicherheitparameter k von Setup.
Modell (CMGI-Modell)
1. Setup berechnet mit Sicherheitsparameter k einen Systemparameter und
den zugehörigen Master-Key.
2. A erhält den Systemparameter und eine anzugreifenden Identität ID.
Ebenso erhält A Zugri auf ein Signaturorakel, welches für ein Nachricht/Identität-Paar (m, id), m aus dem Nachrichtenraum, eine Signatur unter m für die Identität id zurückgibt. Zudem bekommt der Algorithmus A Zugri auf ein Extraktionsorakel, das für eine angefragte
Identität id den zu id gehörenden geheimen Schlüssel Did zurückgibt.
3. A darf beliebige Anfragen an das Signaturorakel, das Extraktionsorakel
und die Funktionen des Systemparameters stellen.
4. Irgendwann gibt A ein Tupel (m, Id, σ) aus.
5. Genau dann, wenn VerifyId (σ, m) = 1, Id nicht beim Extraktionsorakel
und (m, Id) nicht beim Signatuorakel wurde und Id = ID gilt, heiÿt
das Experiment erfolgreich.
2.6 Das Zufallsorakel-Modell
Katz und Lindell beschreiben in [6], Kapitel 13.1, das Zufallsorakel-Modell
als einen Kompromiss zwischen der Forderung nach streng-formalen Sicherheitsbeweisen und keinen Sicherheitsbeweisen. Das Zufallsorakel stellt ein
idealisiertes Modell einer Hashfunktion dar, in welchem die Sicherheit von
krytographischen Systemen bewiesen werden kann. Durch die vorgenommene Idealisierung von Hashfunktionen sind gezeigte Sicherheitseigenschaften
2.7.
ÜBERSICHT ÜBER DIE BEWEISFOLGE
17
nicht notwendigerweise in der Realität vorhanden. Allerdings geben die Eigneschaften im Zufallsorakel-Modell zumindest einen Hinweis auf die Sicherheit eines Verfahrens.
Das
Zufallsorakel
Funktion
ist gemäÿ Katz und Lindell eine zufällig ausgewählte
H : D → G, D = {0, 1}n
für ein festes
n ∈ N.
Insbesondere liefert
y auf eine
x gegeben.
das Zufallsorakel konsistente Antworten: Wird einmal die Antwort
Anfrage
x
gegeben, so wird immer die Antwort
Die Funktion
H
y
auf die Anfrage
kann ausschlieÿlich dadurch ausgewertet werden, dass eine
Anfrage an das Zufallsorakel gestellt wird; jede Partei kann beliebige Anfrage
an das Zufallsorakel stellen.
Dass Sicherheitsbeweise im Zufallsorakel-Modell nicht zwingend die Sicherheit in der Realität beweisen, zeigen Canetti, Goldreich und Halevi.
So lassen sich Verfahren konstruieren, die im Zufallsorakel-Modell beweisbar sicher sind; für jede reale Hashfunktion sind diese Verfahren jedoch
unsicher (vgl. [3], Theorem 1.2). Insgesamt kann ein Sicherheitsbeweis im
Zufallsorakel-Modell also nicht als Beweis für die Sicherheit einer Implementierung des Verfahrens angesehen werden. Stattdessen weist der Sicherheitsbeweis darauf hin, dass das Verfahren an sich keine schwerwiegenden Designfehler enthält.
2.7 Übersicht über die Beweisfolge
Der Sicherheitsbeweis für das Signaturverfahren von Cha und Cheon wird
im Zufallsorakel-Modell geführt. Konkret wird gezeigt, dass wenn die im Signaturverfahren genutzte Gruppe
IG
G durch einen GDH-Parameter-Generator
erzeugt wurde, so ist das Signaturverfahren sicher. Der Beweis erfolgt
durch Kontraposition. Die Reduktionsfolge für den Sicherheitsbeweis stellt
sich folgendermaÿen dar:
Es wird angenommen, dass CC-Sig im CMI-Modell nicht sicher ist. Somit gäbe es einen ezienten Algorithmus
A0 ,
der mit nicht-vernachlässig-
barer Erfolgswahrscheinlichkeit Signaturen des Verfahrens existentiell fälschen könnte. Mit Hilfe von
A0
lässt sich dann ein Algorithmus
A1
kon-
struieren, der im CMGI-Modell Signaturen des Verfahrens ezient und mit
18
KAPITEL 2.
DH-Berechnung
≤p
≤p
DEFINITIONEN UND BEWEISÜBERSICHT
PubSig im CM-Modell
CC-Sig im CMGI-Modell
≤p
CC-Sig im CMI-Modell
Abbildung 2.2: Die Reduktionsfolge für den Sicherheitsbeweis.
nicht-vernachlässigbarer Erfolgswahrscheinlichkeit fälschen kann.
Aus
A1
lässt sich wiederum ein Algorithmus
A2
konstruieren, der im CM-
Modell ezient und mit nicht-vernachlässigbarer Erfolgswahrscheinlichkeit
Signaturen von PubSig fälschen kann. Auf den Algorithmus
A2
kann das
Forking-Lemma angewendet werden. Dadurch ist es möglich, ezient und
mit groÿer Wahrscheinlichkeit zwei verschiedene, aber ähnliche Signaturen
unter die gleiche Nachricht zu fälschen. Mit Hilfe dieser Signaturen lässt
sich dann ezient dass Die-Hellman-Berechnungsproblem in der Gruppe
G
lösen.
Wenn nun die Gruppe
wurde, ist es nicht
G durch einen GDH-Parameter-Generator erzeugt
möglich, das Die-Hellman-Berechnungsproblem in G
ezient zu lösen. Demnach kann kein Algorithmus mit den Eigenschaften
von
A0
existieren. Also ist CC-Sig sicher im Zufallsorakel-Modell.
Kapitel 3
Das Forking-Lemma
Für den zu führenden Sicherheitsbeweis ist das Forking-Lemma von zentraler
Bedeutung. Um das Signaturverfahren von Cha und Cheon auf das DieHellman-Berechnungsproblem zu reduzieren, ist es notwendig, zwei verschiedene Signaturen zu einer Nachricht zu erzeugen: Wird das Signaturverfahren
mit bestimmten Parametern ausgeführt, so lässt sich aus den zwei erzeugten
Signaturen eine Lösung für das Berechungsproblem extrahieren.
Ziel dieses Kapitels ist es, den Beweis des Forking-Lemmas nach [7] vorzustellen. Der vorgestellte Beweis ist zum besseren Verständnis kleinschrittiger
als der ursprüngliche Beweis und mit umfangreichen Kommentaren versehen.
Das Forking-Lemma besagt, dass sich aus einem Algorithmus, der Signaturen eines Public-Key-Signaturverfahrens fälscht, ein Algorithmus konstruieren lässt, der mit Wahrscheinlichkeit mindestens
1/9
sogar zwei Si-
gnaturen fälschen kann. Dabei sind die gefälschten Signaturen von ähnlicher Gestalt. Ist der ursprüngliche Algorithmus ezient und kann mit nichtvernachlässigbarer Erfolgswahrscheinlichkeit Signaturen fälschen, so ist auch
der durch das Forking-Lemma konstruierte Algorithmus ezient.
In diesem Kapitel wird zunächst die Reduktionstechnik erklärt, die dem
Forking-Lemma zugrunde liegt. Anschlieÿend wird das Forking-Lemma formuliert und mit Hilfe verschiedener Hilfssätze bewiesen. Das Forking-Lemma
selbst kann in zwei verschiedenen Angrismodellen (im No-Message-Modell
und im Adaptively-Chosen-Message-Modell) formuliert werden. Dabei kann
19
20
KAPITEL 3.
DAS FORKING-LEMMA
der Fall des Adaptively-Chosen-Message-Modells auf den No-Message-Fall
zurückgeführt werden.
3.1 Oracle-Replay-Technik
Die Oracle-Replay-Technik ist eine Technik für Reduktionen im ZufallsorakelModell. Grundlage der Technik ist ein probabilistischer Algorithmus
Zufallsbits
ω,
A
mit
von dem angenommen wird, dass er ezient ausführbar ist.
Ziel der Technik ist es, mit Hilfe von
A einen Algorithmus B
zu konstruieren,
der es erlaubt, ein vermutet schwieriges Problem ezient zu lösen. Pointcheval und Stern [7] gehen davon aus, dass Signaturen eines Public-KeySignaturverfahrens zur Lösung des Problems herangezogen werden können.
Für den Fall, dass zur Lösung des Problems eine Signatur nicht ausreicht,
eine Lösung jedoch aus mehrere hinreichend ähnlichen Signaturen berechnet
werden kann, kann die Oracle-Replay-Technik zur Erzeugung solcher Signaturen genutzt werden. Dazu nutzt die Technik den Algorithmus
A
aus.
m zwei unterh=
6 h0 gilt. Um Si-
Die Oracle-Replay-Technik erzeugt unter eine Nachricht
(σ1 , h, σ2 )
schiedliche Signaturen
und
0
(σ1 , h
, σ20 ), wobei
A mehrfach ausgeführt
Zufallsbits ω verwendet, je-
gnaturen mit diesen Eigenschaften zu erhalten, muss
werden. In jedem Durchlauf werden dieseleben
doch verschiedene Zufallsorakel, die sich bis zu einem gewissen Zeitpunkt
gleich verhalten. Dadurch, dass die Zufallsbits xiert werden, ist
Aω
ein de-
terministischer Algorithmus; solange also die Antworten der Zufallsorakel
Aω
gleich sind, verhält sich
Zeitpunkt
β
in jedem Durchlauf gleich. Bis zu einem gewissen
werden in jedem Durchlauf dieselben Anfragen gestellt und auch
die Antworten auf diese Anfragen sind gleich. Danach sind die Antworten in
den verschiedenen Durchläufen voneinander unabhängig. Irgendwann werden
einige Durchläufe Signaturen ausgeben, einige davon zum Index
dass das Verhalten bis zum Index
auch im Schritt
β
β . Dadurch,
β − 1 in jedem Durchlauf identisch ist und
stets dieselben Zufallsbits verwendet werden, werden alle
Signaturen zum Index
β
in jedem Durchlauf unter dieselbe Nachricht erzeugt
und auch die Signaturen enthalten dieselbe Komponente
Der Algorithmus
A
σ1 .
interagiert mit Entitäten wie beispielsweise dem Zu-
3.2.
SPLITTING-LEMMA
21
fallsorakel. In den Reduktionen müssen diese Interaktionen gegebenenfalls
simuliert werden. Dabei ist zu beachten, dass die Simulationen für
parent sind, das heiÿt, dass
A
A
trans-
nicht feststellen kann, ob die Interaktion mit
einem Simulator oder der realen Entität stattndet. Dies ist erfüllt, wenn die
Wahrscheinlichkeitsverteilungen der Antworten der realen Entität und des
Simulators ununterscheidbar sind.
3.2 Splitting-Lemma
Das Splitting-Lemma macht Aussagen zu Teilmengen karthesischer Produkte, bei denen einer der Komponenten der enthaltenen Tupel ein groÿes Gewicht beigemessen wird.
Lemma 1. Seien X und Y zwei Mengen und A ⊂ X × Y . Sei Pr[A] ≥ für
eine beliebige Wahrscheinlichkeitsverteilung über X × Y . Dann deniere für
α < die Menge B ⊂ X × Y mit
0
B := (x, y) ∈ X × Y Pr
[(x, y ) ∈ A] ≥ − α .
0
y ∈Y
Dann gilt
1. ∀(x, y) ∈ B : Pry0 ∈Y [(x, y0 ) ∈ A] ≥ − α,
2. Pr AB < − α,
3. Pr[B] ≥ α,
4. Pr[B|A] ≥ α/.
Beweis.
2.
∀(x, y) ∈ B : Pry0 ∈Y [(x, y 0 ) ∈ A] ≥ − α:
Nach der Denition von B gilt diese Behauptung unmittelbar.
Pr AB < − α:
0
Nach Aussage 1 gilt ∀(x, y) ∈ B : Pry 0 ∈Y [(x, y ) ∈ A] < − α
1.
daraus folgt
Pr[A|B] < − α.
und
22
KAPITEL 3.
3.
DAS FORKING-LEMMA
Pr[B] ≥ α:
Es gilt nach dem Satz von der totalen Wahrscheinlichkeit
≤ Pr[A] = Pr[B] · Pr[A|B] + Pr[B] · Pr[A|B].
Pr[A|B] und Pr[B] können nach oben durch 1
abgeschätzt werden. Mit Aussage 2 liegt eine Abschätzung für Pr AB
vor. Mit der Annahme Pr[B] < α gilt
Die Wahrscheinlichkeiten
≤ Pr[A] = Pr[B] · Pr[A|B] + Pr[B] · Pr[A|B] < α · 1 + 1 · ( − α) = .
Da
<
ein Widerspruch ist, muss die Annahme falsch gewesen sein.
Folglich gilt
4.
Pr[B] ≥ α.
Pr[B|A] ≥ α/:
Es gilt Pr[A|B] ≤ − α
nach Aussage 2 sowie
Pr[B] ≤ 1.
Damit gilt
Pr[B|A] = 1 − Pr[B|A] = 1 − Pr[A|B] · Pr[B]/ Pr[A]
≥ 1 − ( − α)/ = α/.
Ziel der Konstruktion von
B
ist es, solche Elemente
x ∈ X
zu erhal-
y 0 ∈ Y existieren, sodass (x, y 0 ) ∈ A. Anwendungsbezogen
heiÿt dies: Ist die x-Komponente der erste Teil der Ausführung eines Algortihmus, die y -Komponente der abschlieÿende zweite Teil und A die Menge
der erfolgreichen Ausführungen, so sind für einen Anfang x viele erfolgreiche
ten, für die viele
Abschlüsse möglich.
3.3 Forking-Lemma im No-Message-Modell
Das Forking-Lemma beschreibt eine Reduktion. Für den Beweis des Lemmas
wird die Oracle-Replay-Technik genutzt. Entsprechend nimmt das ForkingLemma die Existenz eines Algorithmus
A
an, der Signaturen eines Public-
Key-Signaturverfahrens fälschen kann. Dabei erzeugt
A
die Fälschungen im
3.3.
FORKING-LEMMA IM NO-MESSAGE-MODELL
23
No-Message-Modell. Die Laufzeit des mittels der Oracle-Replay-Technik er-
B ist beim Forking-Lemma von der Laufzeit und der Erfolgswahrscheinlichkeit des Algorithmus A abhängig. Die Erfolgswahrscheinlichkeit von B ist stets mindestens 1/9. Das heiÿt, dass mit Wahrscheinlichkeit 1/9 zwei verschiedene Signaturen unter eine Nachricht des Public-Keyzeugten Algorithmus
Verfahrens gefälscht werden können.
Die Grundidee zum Beweises ist, dass es einfach ist, ausgehend von einer
gefälschten Signatur weitere Signaturen zu fälschen. Die gefälschten Signaturen sind dabei ähnlich zueinander.
Lemma 2. Sei (Gen, Sign, Verify) ein Public-Key-Signaturverfahren und k
ein Sicherheitsparameter des Verfahrens. Sei zudem A ein probabilistischer,
im Sicherheitsparameter polynomialzeitbeschränkter Algorithmus. Die Eingabe von A bestehe ausschlieÿlich aus öentlichen Daten des Signaturverfahrens. Daneben habe A Zugri auf ein Zufallsorakel f , das die Komponnete h
von Sigaturen (σ1 , h, σ2 ) liefert. Das Orakel f erzeuge für Eingaben aus dem
karthesischen Produkt des Nachrichtenraumes des Signaturverfahrens und einer endlichen Menge von Zahlen Bitstrings der Länge k. A stelle Q > 0
Anfragen an f .
Angenommen, A produziert mit Wahrscheinlichkeit ≥ 7Q/2k innerhalb
einer Laufzeitschranke T im No-Message-Modell eine Signatur des Signaturverfahrens. Dann können innerhalb einer Zeitschranke T 0 ≤ 16QT / mit
Wahrscheinlichkeit mindestens 0 ≥ 1/9 zwei gültige Signaturen (σ1 , h, σ2 )
und (σ1 , h0 , σ20 ) unter die gleiche Nachricht m produziert werden, wobei h 6=
h0 .
Beweis.
Im Folgenden bezeichne
Zufallsorakel
Qi , i ∈ {1, . . . , Q},
die
i-te
Anfrage an das
f.
Hilfssatz 4. Die Wahrscheinlichkeit, dass der Algorithmus A eine gefälschte Signatur (σ1 , h, σ2 ) ausgibt und dabei der Hashwert h der Signatur beim
Orakel angefragt wurde, ist mindestens 6/7.
Beweis.
Nach Voraussetzung ist die Wahrscheinlichkeit, dass
Signatur berechnet mindestens
A
eine gültige
. Die Wahrscheinlichkeit bezieht sich auf die
24
KAPITEL 3.
DAS FORKING-LEMMA
zufällige Wahl der Zufallsbits und des Zufallsorakels. Eine Signatur besteht
h = f (m, σ1 ). Da f Bitstrings der Länge
k liefert, ist die Wahrscheinlichkeit, dass A eine gültige Signatur zur Nachk
richt m berechnet, ohne f (m, σ1 ) anzufragen, höchstens 1/2 , denn wenn die
Anfrage f (m, σ1 ) nicht gestellt wird, muss A die Antwort von f raten; die
k
Wahrscheinlichkeit einen Bitstring der Länge k zu raten ist genau 1/2 .
unter Anderem aus der Komponente
Daher ist es im Falle eines erfolgreichen Angris wahrscheinlich, dass
(m, σ1 ) an f gestellt wird. Aus diesem Grund wird die Funktion Ind(ω, f ) deniert. Diese Funktion liefert den Index der Anfrage (m, σ1 )
wenn A mit Zufallsorakel f und Zufallsband ω ausgeführt wird. In dem unwahrscheinlichen Fall, dass (m, σ1 ) nicht angefragt wird, liefert die Funktion
den Wert ∞. Basierend auf dieser Funktion wird die Menge
die Anfrage
S := (ω, f )|Afω
erfolgreich
∧ Ind(ω, f ) 6= ∞
deniert.
Sei nun
ν := Prω,f [(ω, f ) ∈ S].
Es gilt
ν = Pr[(ω, f ) ∈ S] = Pr[{(ω, f )|Afω
ω,f
ω,f
erfolgreich}]
− Pr[{(ω, f )|Afω
ω,f
≥−
Die Menge
S
erfolgreich
∧ Ind(ω, f ) = ∞}]
7Q
1
7Q − 1 Q>0 6Q
6 · 7Q
6
1
≥
−
=
≥ k =
= .
k
k
k
k
k
2
2
2
2
2
7·2
7
wird im Folgenden auch Menge erfolgreicher Paare ge-
A mit Zufallsorakel f und Zufallsband ω eine verizierbare
produziert und f (m, σ1 ) angefragt wurde, so liegt das Paar (ω, f )
nannt, denn wenn
Signatur
in
S.
Nun wird der Algorithmus
A
mehrfach mit jeweils zufällig gewählten
Zufallsorakel und Zufallsbits ausgeführt. Ziel ist es, Zufallsbits zu nden, mit
denen die erfolgreiche Anwendung der Oracle-Replay-Technik wahrscheinlich
ist.
3.3.
FORKING-LEMMA IM NO-MESSAGE-MODELL
25
Algorithmus 1:
1
Führe die Schritte 2.1 bis 2.3
2.1
Wähle ein Paar
2.2
Führe den Algorithmus
Zufallsorakel
2.3
3
Wenn
Afω
f
(ω, f )
2/-mal
aus:
von Zufallbits
A
ω
und Zufallsorakel
mit den gewählten Zufallsbits
f.
ω
und dem
aus.
erfolgreich war, speichere das Tupel
Gebe eines der erfolgreichen Paare
(ω, f )
(ω, f ).
aus.
Hilfssatz 5. Der Algorithmus 1 liefert mit Wahrscheinlichkeit mindestens
4/5 ein Tupel (ω, f ) ∈ S , für das gilt: Im erfolgreichen Durchlauf von Afω
wurde eine Signatur (σ1 , h, σ2 ) erzeugt, und die Komponnete h wurde beim
Zufallsorakel f angefragt.
Beweis.
Nach Hilfssatz 4 gilt
ν = Pr[(ω, f ) ∈ S] ≥
ω,f
6
.
7
A ist also mit Wahrscheinlichkeit ν ≥ 6/7 erfolgreich. Entsprechend wird in 2/ aufeinanderfolgenden Durchläufen mit jeweils zufällig gewählten Zufallsbits ω und Zufallsorakel f mit Wahrscheinlich2/
keit (1−6/7)
kein Tupel (ω, f ) ∈ S gefunden. Folglich ist die Wahrscheinlichkeit, in 2/ Durchläufen von A mit jeweils zufälligen Zufallsbits ω und
2/
Zufallsorakel f ein Tupel (ω, f ) ∈ S zu nden, gegeben durch 1−(1−6/7)
.
x n
x
Da ∀n : 1 +
< e gilt mit n := 2/ und x := −(6 · 2)/7:
n
Jeder einzelne Durchlauf von
1 − (1 − 6/7)2/ ≥ 1 − e−12/7 ≥ 4/5.
Für
i ∈ {1, . . . , Q}
deniere die Mengen
Si := (ω, f )|Af (ω)
erfolgreich
∧ Ind(ω, f ) = i .
26
KAPITEL 3.
Es ist leicht einzusehen, dass die Menge
von
S
DAS FORKING-LEMMA
{Si |i ∈ {1, . . . , Q}}
eine Partition
bildet.
Nun wird die Menge
I
der wahrscheinlichen Indizes deniert als
1
.
I := iPr[Si |S] ≥
2Q
Hilfssatz 6. Es gilt Prω,f [Ind(ω, f ) ∈ I|S] =
Prω,i [Si |S] ≥ 1/2.
P
Beweis. Die Gleichheit Prω,f [Ind(ω, f ) ∈ I|S] = i∈I Pr[Si |S] gilt nach
Denition der Mengen Si . Die Menge I enthält mindestens ein Element,
da sonst die Menge der Si keine Partition von S bilden würde es wäre
P
1≤i≤Q Prω,f [Si |S] ≤ Q · 1/2Q = 1/2. Also gilt
X
i∈I
/
P
i∈I
Pr[(ω, f ) ∈ Si |(ω, f ) ∈ S] ≤ |{Si |i ∈
/ I}| · max Pr[Si ]
i∈I
/
ω,f
ω,f
≤ Q · 1/2Q
und damit
X
i∈I
Pr[(ω, f ) ∈ Si |(ω, f ) ∈ S] = 1 −
ω,f
X
i∈I
/
≥1−Q·
Pr[(ω, f ) ∈ Si |(ω, f ) ∈ S]
ω,f
1
= 1 − 1/2 = 1/2.
2Q
Die bisherigen Ergebnisse sind:
•
Unter
4/5
2/
Ausführungen von
A
bendet sich mit Wahrscheinlichkeit
mindestens eine erfolgreiche Ausführung, in der der Hashwert der
erzeugten Signatur beim Zufallsorakel angefragt wurde.
•
Die Wahrscheinlichkeit, dass für die erfolgreiche Ausführung
Ind(ω, f ) ∈ I
ist mindestens
Afω
gilt
1/2.
fj die Einschränkung eines Zufallsorakels f auf Anfragen
kleiner j . Der folgende Hilfssatz liefert Ergebnisse, die dazu ge-
Es bezeichne
mit Index
nutzt werden können, die Erfolgswahrscheinlichkeit des Einsatzes der OracleReplay-Technik abzuschätzen.
3.3.
FORKING-LEMMA IM NO-MESSAGE-MODELL
27
Hilfssatz 7. Für jedes i ∈ I gibt es eine Menge Ωi von Tupeln von Zufallsbits
und Zufallsorakeln, sodass gilt:
∀(ω, f ) ∈ Ωi : Pr0 [(ω, f 0 ) ∈ Si |fi0 = fi ] ≥
f
ν
Prω,f [(ω, f ) ∈ S]
=
,
4Q
4Q
Pr[Ωi |Si ] ≥ 1/2.
Beweis.
Mit den Bezeichnungen des Splitting-Lemmas (Lemma 1) ergeben
sich die Aussagen für den Index
Lemmas auf die Menge
i
A = Si .
i ∈ I
durch Anwendung des Splitting-
Die Menge
X
Anfragen und die zugegehörigen Antworten;
enthält Zufallsbits, die ersten
Y
enthält weitere Zufallsbits
und Antworten auf Anfragen an das Zufallsorakel.
Für die Wahrscheinlichkeit
da
Pr[A] = Pr[Si ] gilt, nach Denition von I
und
Si ⊆ S :
Pr[Si ] = Pr[Si |S] · Pr[S] ≥ 1/2Q · ν.
α = ν/4Q ergibt sich dann wie
Menge B =: Ωi . Die Aussagen 1 und
Mit dem Parameter
im Splitting-Lemma die
Existenz der
4 des Splitting-Lemmas
liefern dann:
ν
,
4Q
1
Pr[Ωi |Si ] ≥ .
2
∀(ω, f ) ∈ Ωi : Pr0 [(ω, f 0 ) ∈ Si |fi0 = fi ] ≥
f
Nun kann berechnet werden, wie wahrscheinlich es ist, bei zufälliger Wahl
eines Tupels
(ω, f )
für einen Index
i∈I
ein Tupel aus
Ωi ∩ Si
zu erhalten
unter der Bedingung, dass es sich um ein erfolgreiches Tupel handelt. Diese
Wahrscheinlichkeit ist von Interesse, da sich mit ihrer Hilfe die Erfolgswahrscheinlichkeit der Anwendung der Oracle-Replay-Technik berechnen lässt.
Hilfssatz 8. Der Algorithmus 1 liefert mit Wahrscheinlichkeit 1/5 ein Tupel
(ω, f ) ∈ S , für das gilt β := Ind(ω, f ) ∈ I und (ω, f ) ∈ Sβ ∩ Ωβ
Beweis.
Zunächst ist die Wahrscheinlichkeit zu ermitteln, dass ein zufällig
28
KAPITEL 3.
DAS FORKING-LEMMA
(ω, f ) für einen Index i ∈ I in der Menge Ωi ∩ Si liegt unter
der Voraussetzung, dass es sich bei (ω, f ) um ein erfolgreiches Tupel handelt.
gewähltes Tupel
Nach Denition der Menge
I
gilt
"
Pr [(∃i ∈ I)(ω, f ) ∈ Ωi ∩ Si |S] = Pr
ω,f
[
i∈I
Da die Mengen
#
(Ωi ∩ Si )S .
Si disjunkt sind, sind auch die Mengen Ωi ∩Si disjunkt. Daher
gilt
"
Pr
[
i∈I
#
X
(Ωi ∩ Si )S =
Pr [Ωi ∩ Si |S] .
(3.1)
i∈I
Ferner gilt
Pr [Ωi ∩ Si |S] =
Da
Si ⊆ S
Pr [Ωi ∩ Si ∩ S]
Pr [Ωi ∩ Si ∩ S] Pr [Si ]
=
·
.
Pr [S]
Pr [Si ]
Pr [S]
gilt weiter
Pr [Ωi ∩ Si ∩ S] Pr [Si ]
Pr [Ωi ∩ Si ] Pr [Si ∩ S]
·
=
·
= Pr [Ωi |Si ] · Pr [Si |S] .
Pr [Si ]
Pr [S]
Pr [Si ]
Pr [S]
Einsetzen des Ergebnisses in die Gleichung (3.1) und eine Abschätzung
mit Hilfssatz 7 liefern
X
Pr [Ωi ∩ Si |S] =
X
P
Pr [Ωi |Si ] · Pr [Si |S] ≥
i∈I
i∈I
i∈I
Pr [Si |S]
.
2
(3.2)
I gilt für i ∈ I : Pr [Si |S] ≥ 1/2Q. Auÿerdem ist
i∈I Pr [Si |S] ≥ 1/2. Dies liefert für Gleichung (3.2) die
Nach Denition von
|I| ≤ Q
und daher
P
Abschätzung
P
i∈I
Sei nun ein erfolgreiches Paar
Pr [Si |S]
1
≥ .
2
4
(ω, f ) gegeben.
(3.3)
Dann bezeichne
Ind(ω, f ). Gleichung (3.3) besagt
1/4 gilt: β ∈ I und (ω, f ) ∈ Sβ ∩ Ωβ .
zugehörigen Index
scheinlichkeit
β
den da-
dann, dass mit Wahr-
Nach Hilfssatz 5 ndet sich Ausführung des Algorithmus 1 mit Wahrscheinlichkeit mindestens
4/5
ein Tupel
(ω, f ) ∈ S .
3.3.
FORKING-LEMMA IM NO-MESSAGE-MODELL
29
Aussage (3.3) und Hilfssatz 5 liefern dann, dass mit Wahrscheinlichkeit
1/4 · 4/5 = 1/5 die Ausführung des Algorithmus 1 ein Tupel
(ω, f ) von Zufallsbits ω und Zufallsorakel f liefert, für das gilt: (ω, f ) ∈ S ,
β := Ind(ω, f ) ∈ I und (ω, f ) ∈ Sβ ∩ Ωβ .
mindestens
Nun wird die Oracle-Replay-Technik angewendet. Dazu xiere ein Tupel
(ω, f ) ∈ S ,
für das gilt
β = Ind(ω, f ) ∈ I
und
(ω, f ) ∈ Sβ ∩ Ωβ .
Zunächst
wird die Erfolgswahrscheinlichekeit der Anwendung berechnet.
Hilfssatz 9. Gegeben ein Tupel (ω, f ) ∈ S , das die Anforderungen des Hilfssatzes 8 erfüllt. Die Anwendung der Oracle-Replay-Technik auf den Algorithmus A ist mit Wahrscheinlichkeit mindestens /14Q erfolgreich.
Beweis.
Mit
Prf 0 (ω, f 0 ) ∈ Sβ ∧ f 0 (Qβ ) 6= f (Qβ )fβ0 = fβ
ist die zu berech-
nende Wahrscheinlichkeit gegeben.
Da in allen Durchläufen von
und bis zur Anfrage
β−1
A
dieselben Zufallsbits verwendet werden
an das Zufallsorakel die Antworten des Orakels
in jedem Durchlauf identisch sind, verhält sich der Algorithmus bis zu die-
β an das
Zufallsorakel in jedem Durchlauf dieselbe. Die Forderung (ω, f ) ∈ Sβ garantiert dann, dass versucht wird, eine Signatur unter die Nachrichtm zu
f
fälschen, unter die auch die Ausführung Aω eine Signatur gefälscht hat.
0
Die weitere Forderung f (Qβ ) 6= f (Qβ ) sorgt dafür, dass die zweite Si0
0
gnatur (σ, h , σ2 ) nicht mit der ersten Signatur (σ1 , h, σ2 ) übereinstimmt, da
h = f (Qβ ) 6= f 0 (Qβ ) = h0 gilt.
sem Zeitpunkt in jedem Durchlauf gleich. Dadurch ist die Anfrage
0
Es gilt:
Pr0 (ω, f 0 ) ∈ Sβ ∧ f 0 (Qβ ) 6= f (Qβ )fβ0 = fβ
f
= Pr0 (ω, f 0 ) ∈ Sβ fβ0 = fβ − Pr0 (ω, f 0 ) ∈ Sβ ∧ f 0 (Qβ ) = f (Qβ )fβ0 = fβ
f
f
≥ Pr0 (ω, f 0 ) ∈ Sβ fβ0 = fβ − Pr0 f 0 (Qβ ) = f (Qβ )fβ0 = fβ
f
f
= Pr0 (ω, f 0 ) ∈ Sβ fβ0 = fβ − Pr0 [f 0 (Qβ ) = f (Qβ )]
(3.4)
f
f
Die letzte Gleichung gilt, da
f
und
f0
Zufallsorakel sind und die Antworten
30
KAPITEL 3.
DAS FORKING-LEMMA
von Zufallsorakeln unabhängig sind von zuvor gegebenen Antworten. Die
beiden Wahrscheinlichkeiten der Gleichung (3.4) lassen sich folgendermaÿen
Abschätzen: Für die erste Wahrscheinlichkeit ist der Hilfssatz 7 (Aussage 1)
anwendbar und liefert als Abschätzung die untere Schranke
Wahrscheinlichkeit ist genau
k
1/2
ν/4Q. Die zweite
, denn das ist die Wahrscheinlichkeit, dass
zwei zufällig gewählte Bitstrings der Länge
k
denselben Wert annehmen.
Damit gilt
1
ν
− k.
Pr0 (ω, f 0 ) ∈ Sβ |fβ0 = fβ − Pr0 [f 0 (Qβ ) = f (Qβ )] ≥
f
f
4Q 2
Dieser Term lässt sich nach unten abschätzen durch
/14Q,
denn:
1
6/7
1
6
1
2
4
1
ν
− k−
≥
− k−
=
− k−
=
− k
4Q 2
14Q
4Q
2
14Q
28Q 2
28Q
28Q 2
k
1
7Q/2
1
1
1
=
− k ≥
− k = k − k = 0.
7Q 2
7Q
2
2
2
Also ist die Anwendung der Oracle-Replay-Technik auf
scheinlichkeit
/14Q
A
mit Wahr-
erfolgreich.
f 0 aus;
0
dabei soll fβ = fβ gelten. Mit dem bereits gegebenen erfolgreichen Paar (ω, f )
Nun führt man
14Q/
Replays mit jeweils neuem Zufallsorakel
ist die Wahrscheinlichkeit, dass in einem der Replays ein weiteres erfolgreiches
Paar
(ω, f 0 )
gefunden wird, mindestens
1− 1−
14Q
3/5:
14Q/
3
≥ 1 − e−1 ≥ .
5
2/ + 14Q/ ≤ 16Q/ Durchläufen des Algorithmus A mit Wahrscheinlichkeit 1/5 · 3/5 ≥ 1/9 zwei gütige Signaturen
(σ1 , h, σ2 ) und (σ1 , h0 , σ20 ) unter die gleiche Nachricht m erzeugt. Für die erfolgreichen Durchläufe gilt, dass (m, σ1 ) die Anfrage mit Index β an das
Insgesamt werden also nach
jeweilige Zufallsorakel ist. Für die mittels Oracle-Replay-Technik erzeugten
Signaturen gilt
h = f (Qβ ) 6= f 0 (Qβ ) = h0 .
3.4.
FORKING-LEMMA IM CM-MODELL
31
3.4 Forking-Lemma im CM-Modell
Das Forking-Lemma im Adaptively-Chosen-Message-Modell beschreibt eine
Reduktion. Ziel der Reduktion ist es, in einem Public-Key-Signaturverfahren
zwei verschiedene Signaturen unter dieselbe Nachricht zu erzeugen. Dazu
wird eine Algorithmus
A genutzt, der im Adaptively-Chosen-Message-Modell
Signaturen des Verfahrens fälschen kann. Zudem wird benötigt, dass die Signaturen des Verfahrens durch Simulation generiert werden können. Aus
und dem Simulator lässt sich dann ein Algortihmus
B
A
konstruieren, der im
No-Message-Modell einen Angri gegen das Signaturverfahren durchführt.
Auf den Algorithmus
B
wird dann das Forking-Lemma für das No-Message-
Modell angewendet.
Lemma 3. Sei (Gen, Sign, Verify) ein Public-Key-Signaturverfahren mit Sicherheitsparameter k. Sei zudem A ein probabilistischer, im Sicherheitparameter k polynomialzeitbeschränkter Algorithmus. Die Eingabe von A bestehe
ausschlieÿlich aus öentlichen Daten des Signaturverfahrens. Daneben habe
A Zugri auf ein Zufallsorakel f , das für Eingaben aus dem karthesischen
Produkt des Nachrichtenraumes des Signaturverfahrens und einer endlichen
Menge von Zahlen Bitstrings der Länge k liefert, sowie Zugrie auf einen
Signaturorakel. A darf Q > 0 Anfragen an f und R Anfragen an das Signaturorakel stellen. Für die Signaturen des Verfahrens muss gelten, dass die
Komponente σ1 keinen Wert mit Wahrscheinlichkeit gröÿer 2/2k annimmt.
Angenommen, mit Wahrscheinlichkeit ≥ 10(R+1)(R+Q)/2k produziert
A im Adaptively-Chosen-Message-Modell innerhalb einer Laufzeitschranke
T eine Signatur (σ1 , h, σ2 ) des Signaturverfahrens unter eine Nachricht m.
Wenn die Tripel (σ1 , h, σ2 ) mit ununterscheidbarer Wahrscheinlichkeitsverteilung durch Simulation in im Sicherheitparameter polynomieller Zeit generiert werden können, so können innerhalb der Zeit T 0 ≤ 23QT / und mit
Wahrscheinlichkeit mindestens 1/9 zwei Signaturen (σ1 , h, σ2 ) und (σ1 , h0 , σ20 )
unter dieselbe Nachricht m erzeugt werden. Für die erzeugten Signaturen gilt
h 6= h0 .
Beweis.
Mit m1 , . . . , mR werden die R Anfragen an das Signaturorakel und
(i)
(i)
(i)
mit (σ1 , h , σ2 ) die Antworten auf mi , i ∈ {1, . . . , R}, bezeichnet.
32
KAPITEL 3.
DAS FORKING-LEMMA
Die Antworten auf die Anfragen an das Signaturorakel werden simuliert.
A die Hashwerte, die die Simulation liefert, spei(i)
A annehmen, dass gilt f (mi , σ1 ) = h(i) .
Es wird angenommen, dass
chert. Dadurch kann
Unter den getroenen Annahmen können zwei Arten von Kollisionen auftreten:
1. Die Komponente
(i)
σ1
einer Antwort
an den Simulator ist Eingabe einer
(i)
(i)
(i)
(i)
(σ1 , h(i) , σ2 ) auf eine Anfrage mi
(i)
Anfrage (mi , σ1 ) an das Zufallso-
rakel.
2. Die Komponente
(i)
σ1
einer Antwort
(σ1 , h(i) , σ2 )
auf eine Anfrage
an den Simulator ist auch in der Antwort auf eine andere Anfrage
mi
mj
an den Simulator enthalten.
Hilfssatz 10. Bei Ausführung von A mit zufällig gewählten Zufallsbits und
Zufallsorakel treten Kollisionen mit Wahrscheinlichkeit höchstens 3/10 auf.
Beweis.
Die beiden Arten von Kollisionen treten mit Wahrscheinlichkeiten
höchstens
/5
(Fall 1) beziehungsweise
/10
(Fall 2) auf. Für den Fall 1
ergibt sich die Wahrscheinlichkeit so, dass für jede der
Q
Anfragen an das
Zufallsorakel die Wahrscheinlichkeit einer Kollision mit einer der
R Anfragen
2/2k ; diese Forderung ist nach Formulierung
des Lemmas erfüllt, da die Komponente σ1 einer Signatur des Verfahrens
k
einen konkreten Wert höchstens mit Wahrscheinlichkeit 2/2 annehmen darf.
k
Entsprechend ergibt sich die Abschätzung 2RQ/2 ≤ /5:
an den Simulator geringer ist als
10(R + 1)(R + Q)
2(R2 + R + RQ + Q)
≥
=
5
5 · 2k
2k
2
2R
2R 2Q 2RQ
2RQ
= k + k + k + k ≥ k .
2
2}
2
2
|2
{z
>0
Die Wahrscheinlichkeit für den Fall 2 ergibt sich aus den Möglichkeiten für
R(R−1) ≤ R2 , einem Faktor 1/2, um solche Paare nicht doppelt
k
zu zählen, und einem Faktor 2/2 aufgrund der Wahrscheinlichkeit, bei der
Antwort auf die zweite Anfrage das Element σ1 so zu wählen wie für die erste
Kollisionen,
3.4.
FORKING-LEMMA IM CM-MODELL
Anfrage. Die Wahrscheinlichkeit ist also höchstens
33
R2 /2 · 2/2k ≤ /10:
2R2
10(R + 1)(R + Q) R2
(R + 1)(R + Q) R2
−
≥
−
=
− k
10 2 · 2k
10 · 2k
2k
2k
2
2
2
R + R + RQ + Q − R
RQ + R + Q
=
=
> 0.
k
2
2k
Die Wahrschienlichkeit für das Auftreten einer Kollision ist damit höchstens
/5 + /10 = 3/10
bei zufällig gewähltem Zufallsorakel und Zufall-
band.
A erfolgreich ist, ohne dass
eine Kollision auftritt ist also mindestens − 3/10 = 7/10. Falls keine
Kollision aufgetreten ist, kann die Kombination von A und dem Simulator als
ein Algorithmus B gesehen werden, der im No-Message-Modell einen Angri
Die Wahrscheinlichkeit, dass der Algorithmus
gegen das Signaturverfahren durchführt.
Hilfssatz 11. Auf den Algorithmus B darf das Forking-Lemma für das NoMessage-Modell angewendet werden.
Beweis.
Zu prüfen ist, ob der Algorithmus die Voraussetzungen des Forking-
Lemmas für das No-Message-Modell erfüllt. Diese Voraussetzungen sind im
Einzelnen:
• B
muss probabilistisch und im Sicherheitsparameter polynomialzeitbe-
schränkt sein.
•
Die Eingabe von
B
besteht ausschlieÿlich aus den öentlichen Daten
des Signaturverfahrens.
• B
produziert mit Wahrscheinlichkeit mindestens
7Q/2k
Fälschungen
von Signaturen.
Da der Algorithmus
A probabilistisch und im Sicherheitsparameter poly-
nomialzeitbeschränkt ist und nach Annahme ein Simulator existiert, der in
polynomieller Zeit Signaturen generiert, ist auch der Algorithmus
B
probabi-
listisch und im Sicherheitsparameter polynomialzeitbeschränkt. Die Eingabe
34
KAPITEL 3.
von
B
DAS FORKING-LEMMA
besteht ausschlieÿlich aus den öentlichen Daten des Signaturverfah-
rens, da die Eingabe von
A
auf die öentlichen Daten des Signaturverfah-
rens beschränkt ist. Die Erfolgswahrscheinlichkeit von
B
ergibt sich aus der
A und der Wahrscheinlichkeit, dass keine Kollisionen auftreten. Die Erfolgswahrscheinlichkeit von B ist also mindestens
7/10. Es gilt 7/10 ≥ 7Q/2k , denn:
Erfolgswahrscheinlichkeit von
7 7Q
7 · 10(R + 1)(R + Q) 7Q
7(R2 + RQ + R + Q) − 7Q
− k ≥
−
=
10
2
10 · 2k
2k
2k
2
7(R + RQ + R)
=
≥ 0.
2k
Demnach sind die Voraussetzungen erfüllt, um das Forking-Lemma für
das No-Message-Modell auf den Algorithmus
B
anzuwenden.
Die Anwendung des Forking-Lemmas für das No-Message-Modell auf den
Algorithmus
B
ergibt dann, dass in Zeit
T 0 ≤ 16QT · 10/7 ≤ 160QT /7 ≤ 161QT /7 = 23QT /
mit Wahrscheinlichkeit
0 ≥ 1/9
zwei Signaturen des Signaturverfahrens un-
ter dieselbe Nachricht mit Hilfe der Oracle-Replay-Technik erzeugt werden
können. Die erzeugten Signaturen genügen den Anforderungen des Lemmas.
Kapitel 4
Reduktionen zwischen den
Sicherheitsmodellen
Um die Sicherheit des Signaturverfahrens von Cha und Cheon (CC-Sig, vgl.
Denition 13) zu zeigen, wird die Lösung des Die-Hellman-Berechnungsproblems auf die Sicherheit reduziert, vgl. Abbildung 4.1. Die Sicherheit
wird dann mittels Kontraposition bewiesen. Hierzu wird ein polynomialzeitbeschränkter Algorithmus
A2
angenommen, der Signaturen des Public-
Key-Signaturverfahrens PubSig (vgl. Denition 14) im Adaptively-ChosenMessage-Modell fälschen kann.
DH-Berechnung
≤p
≤p
PubSig im CM-Modell
CC-Sig im CMGI-Modell
≤p
CC-Sig im CMI-Modell
Abbildung 4.1: Die Reduktionsfolge für den Sicherheitsbeweis.
Im folgenden Kapitel 5 wird die Lösung des Die-Hellman-Berechnungsproblems auf die Sicherheit von PubSig im CM-Modell reduziert. Dieses Kapitel beinhaltet die Reduktionen der Sicherheit von PubSig im CM-Modell
auf die Sicherheit von CC-Sig im CMI-Modell. Als Zwischenschritt dient die
Sicherheit von CC-Sig im CMGI-Modell.
Die Reduktionen dieses Kapitels gehen von der Existenz eines ezienten Algorithmus
A0
aus, der im CMI-Experiment für CC-Sig mit nicht-
35
36
KAPITEL 4.
REDUKTIONEN DER SICHERHEITSMODELLE
vernachlässigbarer Wahrscheinichkeit erfolgreich ist. Dieser Algorithmus wird
A1
auf einen Algorithmus
reduziert, welcher im CMGI-Modell mit nicht-
vernachlässigbarer Erfolgswahrscheinlichkeit ezient Signaturen von CC-Sig
fälschen kann. Aus
A1
lässt sich der Algorithmus
schnitt 4.1 wird der Algorithmus
A1
A2
konstruieren. In Ab-
konstruiert. Die Konstruktion von
A2
wird in Abschnitt 4.2 erläutert.
4.1 Reduktion: Chosen-ID auf Given-ID
Lemma 4. [CC-Sig im CMGI-Modell ≤p CC-Sig im CMI-Modell] Sei A0
ein probabilistischer Algorithmus, der im Adaptively-Chosen-Message-AndID-Modell Signaturen des identitätsbasierten Signaturverfahrens von Cha und
Cheon (CC-Sig, vgl. Denition 13) mit Erfolgswahrscheinlichkeit 0 und Laufzeit t0 erzeugt. Dann existiert ein probabilistischer Algorithmus A1 , der im Adaptively-Chosen-Message-And-Given-ID-Modell mit Erfolgswahrscheinlichkeit 1 ≥ 0 · (1 − 1/0 l) · 1/qH2 und Laufzeit t1 = t0 + c, c konstant, Signaturen des identitätsbasierten Verfahrens CC-Sig fälscht. Dabei ist qH2 die
maximale Anzahl von Anfragen von A0 an die Hashfuntion H2 im Chosen-IDExperiment und l ist die Ordnung der Gruppe G aus dem Systemparameter
von CC-Sig. Die Zahl der Anfragen von A1 an die Funktionen H1 , Extract
und Sign ist genauso groÿ wie von A0 .
Eine grasche Beschreibung der Reduktion liefert die Abbildung 4.2.
Beweis. Denition des Algorithmus A1
Die Funktionsweise von
A1
wie folgt deniert werden. Zu beachten ist,
sind, die
A1
(P, Ppub , H1 , H2 ) und ID kann
dass H1 und H2 Hashfunktionen
mit Parametern
aufrufen darf.
r ∈ {1, . . . , qH2 }. Es bezeichne idi den Pa0
an H2 . Sei idi folgendermaÿen deniert:
1. Wähle zufällig ein Element
rameter der
i-ten
Anfrage
(
id0i :=
ID i = r
.
idi sonst
4.1.
REDUKTION: CHOSEN-ID AUF GIVEN-ID
A0
A1
SysParams
C
SysParams,
H2 (idi )
H20 (idi )
Qid0i
Qid0i
Signid
j
(mj )
Sign'id
j
σj0
Extract(idk )
(mj )
σj0
Extract'(idk )
Did0k
H1 (mr , Ur )
H1 (mr , Ur )
hr
hr
(m, idout , σ)
.
.
.
(m, ID, σ)
Abbildung 4.2: Funktionsweise der Reduktion von
C.
ID
Did0k
.
.
.
Herausforderer
37
A0
auf
A1
mit CMI-
38
KAPITEL 4.
REDUKTIONEN DER SICHERHEITSMODELLE
H20 , Extract' und Sign' deniert mit H20 (idi ) := H2 (id0 ),
0
Extract'(idi ) := Extract(idi ) und Sign'id (m) := Signid0 (m).
i
i
Weiter seien
2. Starte
3.
A1
A0
mit dem Systemparameter
antworte auf Anfragen von
Auswertung von
H1 , H20 ,
A0
4. Die Ausgabe von
5. Wenn
A0
(P, Ppub , H1 , H20 ).
an
H1 , H2 ,
Extract und Sign durch
Extract' und Sign'.
werde mit
(m, idout , σ)
bezeichnet.
idout = ID und VerifyID (σ, m) = 1, so gebe (m, ID, σ) aus, sonst
breche ab.
Sichtweise von A0 in der Simulation
Es kann ohne Beschränkung der Allgemeinheit angenommen werden, dass
für jede Identität
id H2 (id)
angefragt wird, bevor
id
in einer Anfrage an
eine andere Funktion genutzt wird. Diese Annahme ist gerechtfertigt, da
eigene Anfragen an
H2
A1
stellen, die Hashwerte speichern und gegebenenfalls
für spätere Anfragen den gespeicherten Wert nutzen kann.
Der Algorithums
A0
verteilt gewählt werden.
gesehen werden. Da
von
A0
H20 gleichid0i und H2
erwartet, dass die Ausgaben der Funktion
H2
H2
kann als Verkettung der Funktionen
gleichverteilte Ausgaben liefert, wird die Erwartung
erfüllt. Die Antworten von Extract' und Sign' sind konsistent zu den
Antworten der Funktion
H20 , daher entspricht die Sichtweise von A0
in dieser
Simulation der Sichtweise im echten Experiment.
Analyse der Erfolgswahrscheinlichkeit
Da die Sichtweise von
A0
genauso ist, wie im realen Experiment, ist die
Wahrscheinlichkeit, dass die von
A0
ausgegebenen Signatur verizierbar ist,
mindestens so groÿ, wie die Wahrscheinlichkeit, dass
A0
eine verizierbare
Signatur fälscht, also
Pr[Verifyidout (σ, m) = 1] ≥ 0 .
(4.1)
4.1.
Da
REDUKTION: CHOSEN-ID AUF GIVEN-ID
H2
39
als Zufallsorakel betrachtet werden kann, ist die Wahrscheinlichkeit,
(m, idout , σ) verizierbar
1/l. Daher ist
dass die Ausgabe
haben höchstens
ist, ohne
H20 (idout )
angefragt zu
Pr[∃i : idout = id0i |Verifyidout (σ, m) = 1]
Pr[Verifyidout (σ, m) = 1 ∩ ∃i : idout = id0i ]
Pr[Verifyidout (σ, m) = 1]
Pr[Verifyidout (σ, m) = 1] − Pr[Verifyidout (σ, m) = 1 ∩ ∀i : idout 6= id0i ]
=
Pr[Verifyidout (σ, m) = 1]
Pr[Verifyidout (σ, m) = 1|∀i : idout 6= id0i ] · Pr[∀i : idout 6= id0i ]
=1 −
Pr[Verifyidout (σ, m)]
1 Pr[∀i : idout 6= id0i ]
≥1 − ·
l Pr[Verifyidout (σ, m)]
1
1
1
≥1 − ·
≥1−
(4.2)
l Pr[Verifyidout (σ, m)]
l · 0
=
Da
r
zufällig und unabhängig gewählt wurde, gilt
Pr[idout = idr |idout = id0i
für ein
i] ≥
1
(4.3)
qH2
Hilfssatz 12. A1 ist mit Wahrscheinlichkeit mindestens 0 ·(1−1/0 l)·1/qH2
erfolgreich.
Beweis. A1
ist erfolgreich genau dann, wenn für die von
A0
ausgegebene
idout = idr = ID. Zu beachten ist, dass
0
ein i mit idout = idi , nämlich i = r . Es gilt
Signatur verizierbar ist und gilt
wenn
idout = idr
gilt, so gibt es
Pr[Verifyidout (σ, m) = 1 ∩ idout = idr ]
= Pr[Verifyidout (σ, m) = 1 ∩ idout = idr ∩ ∃i : idout = id0i ]
= Pr[idout = idr |Verifyidout (σ, m) = 1 ∩ ∃i : idout = id0i ]
· Pr[Verifyidout (σ, m) = 1 ∩ ∃i : idout = id0i ]
= Pr[idout = idr |Verifyidout (σ, m) = 1 ∩ ∃i : idout = id0i ]
· Pr[∃i : idout = id0i |Verifyidout (σ, m) = 1] · Pr[Verifyidout (σ, m) = 1].
(4.4)
40
KAPITEL 4.
REDUKTIONEN DER SICHERHEITSMODELLE
Ferner gilt
Pr[idout = idr |Verifyidout (σ, m) ∩ ∃i : idout = id0i ]
= Pr[idout = idr |∃i : idout = id0i ],
(4.5)
denn wenn für die ausgegebene Identität ein Hashwert angefragt wurde (Er-
∃i : idout = id0i ) so ist dies unabhängig
vermutete Signatur σ veriziert werden kann.
davon, ob die ausgegebene
eignis
Durch Einsetzen der Abschätzungen (4.1), (4.2), (4.3) in (4.4) und (4.5)
ergibt sich dann die untere Schranke
1
qH 2
1
· 1−
· 0 .
0 l
Damit ist die behauptete Erfolgswahrscheinlichkeit gezeigt.
Analyse der Laufzeit
Die Laufzeitdierenz zwischen den Algorithmen
A0
und
A1
ergibt sich aus
den Schritten 1 und 5 der obigen Beschreibung der Funktionsweise von
Die Ausführung beider Schritte ist jeweils in konstanter Zeit
für die Laufzeiten
t0
von
A0
und
t1
von
A1
gilt
A1 .
c möglich, sodass
t1 = t0 + c.
4.2 Reduktion: Given-ID auf Public-Key
Lemma 5. [PubSig im CM-Modell ≤p CC-Sig im CMI-Modell] Wenn es einen probabilistischen Algorithmus A1 gibt, der im Adaptively-Chosen-Message-And-Given-ID-Modell Signaturen des identitätsbasierten Signaturverfahrens von Cha und Cheon (CC-Sig, vgl. Denition 13) in Zeit t1 und mit
Vorteil 1 fälscht, dann gibt es einen probabilistischen Algorithmus A2 , der
mit Laufzeit t2 = t1 + c, c konstant, und mit Vorteil 2 ≥ 1 im AdaptivelyChosen-Message-Modell Signaturen von PubSig (vgl. Denition 14) fälscht.
Hierzu benötigt A2 genausoviele Aufrufe der Hashfunktion H1 und höchstens
genausoviele Aufrufe der Funktion Sign wie A1 .
4.2.
REDUKTION: GIVEN-ID AUF PUBLIC-KEY
A1
41
A2
C
pk = (P, Ppub , H1 , QID )
(P, Ppub , H1 , H2 ), ID
H2 (idi )
falls
idi = ID: QID ,
Signid
falls
j
idj = ID: σj ,
sonst:
bidi · P
(mj )
sonst:
falls
idj = ID:
Signs (mj )
σj
(U, h, V )j
Extract(idk )
bidk · Ppub
H1 (mr , Ur )
H1 (mr , Ur )
hr
hr
.
.
.
.
.
.
(m, idout , σ)
(m, σ)
Abbildung 4.3: Funktionsweise der Reduktion von
Herausforderer
A1
auf
A2
mit CM-
C.
Eine grasche Beschreibung der Reduktion liefert die Abbildung 4.3.
Beweis. Denition des Algorithmus A2
Der Algorithmus
A2
mit Parameter
(P, Ppub , H1 , QID )
und Zugri auf ein
Signaturorakel Signs kann wie folgt deniert werden:
1.
A2
konstruiert die Funktionen
H2 ,
Extract und Sign, wie sie
A1
benö-
tigt. Die Funktionen werden im nächsten Abschnitt deniert.
2.
A2
(P, Ppub , H1 , QID ) und den konstruSystemparameter (P, Ppub , H1 , H2 ) und xiert
ID ∈ {0, 1}∗ .
erzeugt aus seinem Parameter
ierten Funtionen einen
eine beliebige Identität
42
KAPITEL 4.
3.
A1
REDUKTIONEN DER SICHERHEITSMODELLE
(P, Ppub , H1 , H2 )
wird mit dem Systemparameter
ID
fenden Identität
ausgeführt.
A1
4. Auf Anfragen von
und der anzugrei-
an
H2 ,
Extract und Sign antwortet
A2
durch
Auswertung der konstruierten Funktionen.
5. Irgendwann wird
das Tupel
(σ, m)
A1
eine Tupel
(m, idout , σ)
ausgeben. Dann gibt
A2
aus.
Konstruktion der weiteren Funktionen
Die Funktion
H2
wird durch eine Liste
H2List
realisiert, die Einträge der Form
(id, bid ) besitzt. Diese Liste ist zu Beginn des Angris leer. Wenn ein Funktionsaufruf H2 (id) erfolgt, wird geprüft, ob bereits ein Eintrag zur angefragten
Identität id vorhanden ist. Falls ein solcher Eintrag nicht vorhanden ist, wird
zufällig ein Element bid ∈ Zl gewählt, wobei l die Ordnung der Gruppe G
bezeichnet, auf der das Verfahren arbeitet. Das Tupel (id, bid ) wird dann in
die Liste eingefügt und die Anfrage an H2 wird folgendermaÿen beantwortet:
(
H2 (id) :=
QID id = ID
.
bid · P
sonst
Der Listeneintrag wird auch erzeugt, falls
ID
H2
für die anzugreifende Identität
angefragt wird.
Für beliebige Identitäten
id
deniere
Extract(id)
Das Element
bid
beliebige Nachricht
m
(id, bid ) der Liste H2List
entnommen.
Sign sieht für eine beliebige Identität id und eine
folgendermaÿen aus:
(
SignD
id
(U, h, V )
:= bid · Ppub .
wird dabei dem Eintrag
Der Funktionsaufruf für
Extract :
(m) :=
Signs (m)
id = ID
(U, h, V )
sonst
.
ist hierbei folgendermaÿen deniert: Für ein zufällig gewähltes Ele-
4.2.
REDUKTION: GIVEN-ID AUF PUBLIC-KEY
r ∈r Zl
h = H1 (m, U ).
ment
setze
U := r · H2 (id)
und
43
V := (r + h) ·
Extract(id) mit
Sichtweise von A1 in der Simulation
Ohne Beschränkung der Allgemeinheit kann angenommen werden, dass
A1
id, die in einem Funktionsaufruf genutzt werden soll, zunächst die Anfrage H2 (id) stellt. Diese Annahme ist dadurch gerechtfertigt,
dass A1 ohne diese Anfragen an H2 keine neuen Erkenntnisse aus den Funktionswerten von Extract und Sign gewinnen könnte. Zudem benötigt A2 die
Funktionswerte von H2 zur Berechnung der Funktionswerte von Extract und
für jede Identität
Sign.
Im identitätsbasierten Signaturverfahren dient die Hashfunktion
H2 dazu,
die Identitäten auf Elemente der Gruppe
G abzubilden. Durch Multiplikation
eines zufällig gewählten Elements aus Zl mit einem Generator der Gruppe G
werden im Fall ID 6= id zufällige Elemente von G erzeugt und zurückgegeben;
durch die Nutzung der Liste wird erreicht, dass die Antworten der Funktion
zueinander konsistent sind: wird auf eine Anfrage
so wird auf
x
immer mit
y
x
einmal
y
geantwortet,
geantwortet. In dem speziellen Fall, dass der
Hashwert der anzugreifenden Identität angefragt wird, wird der Wert
QID
zurückgegeben.
Für beliebige Identitäten
id muss für die Funktion Extract die Eigenschaft
Extract(id)
= s·H2 (id) gelten. Mit der Denition der Funktion Extract durch
Extract(id) := bid · Ppub gilt bid · Ppub = bid · s · P = s · H2 (id). Die Antworten
von Extract sind also für alle nicht-anzugreifenden Identitäten konsistent zu
den Antworten von
H2 .
Die Funktion Sign ist für die nicht-anzugreifenden Identitäten konsis-
H2 und Extract deniert, denn aus dem durch Sign
(U, h, V ) läst sich für die Verikation der Signatur das
tent zu den Funktionen
generierten Tupel
Die-Hellman-Tupel
(P, Ppub , U + h · H2 (id), V ) = (P, sP, r · H2 (id) + h · H2 (id), (r + h)sH2 (id))
erzeugen. Für die anzugreifende Identität
ID
erzeugt das Signaturorakel ei-
44
KAPITEL 4.
REDUKTIONEN DER SICHERHEITSMODELLE
ne PubSig-Signatur zu öentlichen Schlüssel
QID .
Diese Signatur wird auch
von der Verikationsfunktion des identitätsbasierten Signaturverfahrens akzeptiert, dann als Signatur zur Identität
Der oben denierte Algorithmus
A2
ID.
ist ein Algorithmus, der im CM-
Modell Signaturen des Public-Key-Verfahrens PubSig fälschen kann. Die erzeugten Signaturen werden zum öentlichen Schlüssel
zeugt. Die Sichtweise des genutzten Algorithmus
Erläuterungen der Sichtweise von
A1
A1
(P, Ppub , H1 , QID )
er-
entspricht mit obigen
in einem realen Angri.
Analyse der Erfolgswarscheinlichkeit
Nach Voraussetzung gibt
A1
irgendwann eine Vermutung für eine Signatur
des identitätsbasierten Verfahrens aus. Mit Wahrscheinlichkeit mindestens
1 ist diese Vermutung eine verizierbare Signatur zum Systemparameter
(P, Ppub , H1 , H2 ) und der anzugreifenden Identität ID. Hierbei ist zu beachten, dass H2 gerade so deniert ist, dass H2 (ID) = QID gilt. Zudem ist
wichtig, dass die möglicherweise inkonsistenenten Antworten von Extract für
die anzugreifende Identität keinen Einuss auf die Erfolgswahrscheinlichkeit
des Algorithmus hat, denn wenn
A1
diese Anfrage stellte, so verlöre
A1
sein
Experiment.
Wenn die Vermutung von der Verikationsfunktion des identitätsbasierten Verfahrens erfolgreich verizierbar ist, dann wird die Vermutung auch von
der Verikationsfunktion von PubSig akzeptiert, da beide Funktionen prüfen,
ob sich aus der Vermutung ein Die-Hellman-Tupel konstruieren lässt. Wenn
also
A1
erfolgreich ist, so ist auch
keit mindestens
2 ≥ 1
1
A2
erfolgreich ist, ist
erfolgreich. Da
A2
A1
mit Wahrscheinlich-
mit Wahrscheinlichkeit mindestens
erfolgreich.
Analyse der Laufzeit
Da alle Aufrufe der Hashfunktion
Aufrufe von
H1
durch
A2
H1
von
A1
ausgehen, ist die Zahl der
identisch zur Anzahl der Aufrufe von
H1
durch
A2 . Mit obigen Erläuterungen zu den Aufrufen der Funktion Sign folgt auch,
dass die Zahl der Aufrufe der Funktion Sign durch A2 höchstens genau so
4.2.
REDUKTION: GIVEN-ID AUF PUBLIC-KEY
hoch ist wie die Zahl der entsprechenden Aufrufe durch
Der zusätzliche Zeitaufwand von
A2
gegenüber
A1
45
A1 .
ergibt sich aus den
Schritten 1, 2 und 5 der Denition des Algorithmus. Dieser zusätzliche Aufwand ist jedoch konstant
von
A1 : t2 = t1 + c.
c.
Folglich gilt für die Laufzeiten
t2
von
A2
und
t1
46
KAPITEL 4.
REDUKTIONEN DER SICHERHEITSMODELLE
Kapitel 5
Der Sicherheitsbeweis
Ein Algorithmus
A2 , der im CM-Modell Signaturen von PubSig (vgl. Deniti-
on 14) fälscht, kann dazu genutzt werden, eine Lösung für das Die-HellmanBerechnungsproblem zu berechnen. Zur Lösung des Berechnungsproblems
werden zwei verschiedene Signaturen
selbe Nachricht
m
(σ1 , h, σ2 )
und
(σ1 , h0 , σ20 )
unter die-
genutzt. Durch Anwendung der Oracle-Replay-Technik
können solche Signaturen erzeugt werden, wie das Forking-Lemma aus Abschnitt 3.4 beweist. Wenn der Algorithmus
A2
ezient arbeitet und mit
nicht-vernachlässigbarer Wahrscheinlichkeit erfolgreich ist, so ist auch die
Berechnung der Lösung für das Die-Hellman-Berechnungsproblem ezient
möglich.
Ziel dieses Kapitels ist es, zu zeigen, dass unter Annahme der Existenz
von
A2 auf diesen Algorithmus das Forking-Lemma angewendet werden kann.
Auÿerdem wird gezeigt, wie aus zwei entsprechenden Signaturen von PubSig
eine Lösung für das Die-Hellman-Berechnungsproblem berechnet werden
kann. Daraus kann mit Hilfe der Reduktionen des Kapitels 4 auf die Sicherheit des Signaturverfahrens von Cha und Cheon (CC-Sig, vgl. Denition 13)
geschlossen werden.
47
48
KAPITEL 5.
DER SICHERHEITSBEWEIS
5.1 Anwendbarkeit des Forking-Lemmas
Um das Forkinglemma für den Adaptively-Chosen-Message-Fall auf einen
CM-Angreifer gegen PubSig anwenden zu können, müssen Signaturen von
PubSig ohne Kenntnis des geheimen Schlüssels simuliert werden können. Dabei dürfen Hashwerte der Funktion
H1
beliebig gesetzt werden. Die Wahr-
scheinlichkeitsverteilung der simulieren Signaturen muss identisch sein zur
Wahrscheinlichkeitsverteilung korrekt erzeugter Signaturen. Darüber hinaus
U
2/2k
(U, h, V ) von PubSig mit Wahrscheinkonkreten Wert annehmen; dabei ist k der Si-
darf die Komponente
der Signaturen
lichkeit höchstens
einen
cherheitsparameter des Verfahrens.
Lemma 6. Wenn es einen probabilistischen Algorithmus A0 gibt, der ezient
im CMI-Modell mit nicht-vernachlässigbarer Wahrscheinlichkeit Signaturen
des identitätsbasierten Signaturverfahrens fälschen kann, so gibt es einen efzienten probabilistischen Algorithmus A2 , welcher mit nicht-vernachlässigbarer Wahrscheinlichkeit Signaturen des Public-Key-Signaturverfahrens im
CM-Modell fälschen kann.
Beweis.
Nach Lemma 4 kann aus
A0
ein Algorithmus
A1
konstruiert werden,
der nach Lemma 5 dazu genutzt werden kann den Algorithmus
ieren. Die Lemmata 4 und 5 besagen, dass wenn
A0
A2
zu kontru-
im Sicherheitsparameter
k des Signaturverfahrens polynomielle Laufzeit hat, so haben auch A1 und
A2 polynomialzeitbeschränkte Laufzeit. Für die Erfolgswahrscheinlichkeiten
2 von A2 und 0 von A0 gilt:
1
2 ≥ 0 · 1 −
0 l
·
1
qH2
,
G ist, auf der das Verfahren arbeitet; qH2
ist die Zahl der Anfragen, die A0 in seiner Simulation an die Funktion H2
stellt. Ist A0 polynomialzeitbeschränkt in k , so ist 1/qH2 polynomiell in k
und 1 − 1/0 l unterscheidet sich nur in vernachlässigbar kleiner Gröÿenordnung von 1. Das heiÿt, dass die Wahrscheinlichkeit 2 nicht-vernachlässigbar
ist, wenn A0 nicht-vernachlässigbare Erfolgswahrscheinlichkeit besitzt und
wobei
l
die Gröÿe der Gruppe
polynomialzeitbeschränkt ist.
5.1.
ANWENDBARKEIT DES FORKING-LEMMAS
49
Lemma 7. Signaturen von PubSig können ohne Kenntnis des geheimen
Schlüssels simuliert werden, vorausgesetzt die zu den Signaturen gehörenden
Hashwerte sind frei wählbar. Die Wahrscheinlichkeitsverteilungen der durch
Simulation gewonnenen Signaturen und der mittels Sign erzeugten Signaturen sind ununterscheidbar.
Beweis.
(σ1 , h, σ2 ) mit σ1 , σ2 ∈ G, h ∈ Zl zu generieren, wenn
l die Ordnung der Gruppe G ist, gehe folgendermaÿen vor: Wähle zufällig
zwei Elemente r, h ∈r Zl ; deniere σ2 := rPpub und σ1 := rP − hQID ; gebe
(σ1 , h, σ2 ) zurück. Das Element h wird als Hashwert des Tupels aus einer
Nachricht m und der Komponente σ2 betrachtet. Die erzeugte Signatur ist
eine Signatur unter m.
Um Signaturen
Die in der Simulation genutzten Elemente
P , Ppub
und
QID
stammen aus
dem Systemparameter des nicht-identitätsbasierten Signaturverfahrens. Jede
wie oben simuliert Signatur ist durch PubSig erfolgreich verizierbar, denn
das Tupel
(P, Ppub , σ1 + hQID , σ2 )
ist ein Die-Hellman-Tupel:
(P, Ppub , σ1 + hQID , rPpub ) = (P, sP, rP − hQID + hQID , rsP )
= (P, sP, rP, rsP ).
Hierbei ist
s ∈ Zl
ein geheimer Schlüssel des Signaturferfahrens. In der Be-
rechnungsvorschrift selbst wird der geheime Schlüssel des Verfahrens nicht
verwendet.
Es bleibt zu zeigen, dass die Wahrscheinlichkeitsverteilungen






r ∈r Zl
U = rQID
δ = (U, h, V )

h ∈r Zl




V = (r + h)sQID












h ∈r Zl
r ∈r Zl
, δ 0 = (σ1 , h, σ2 )


σ2 = rPpub








σ1 = rP − hQID











ununterscheidbar sind.
Die Wahrscheinlichkeitsverteilung
zeugten Signaturen, die Verteilung
δ
δ
0
ist die Verteilung der durch Sign erist die Wahrscheinlichkeitsverteilung
der mit obigem Algorithmus generierten Signaturen. Um die Ununterscheid-
50
KAPITEL 5.
DER SICHERHEITSBEWEIS
barkeit der angegebenen Wahrscheinlichkeitsverteilungen zu zeigen, ist gemäÿ beider Verteilungen jeweils ein Tupel zu wählen und zu zeigen, dass in
beiden Fällen ein konkretes Element mit derselben Wahrscheinlichkeit gewählt wird.
Sei
(α, β, γ)
α ∈ G, β ∈ Zl , γ ∈ G
ein Tripel mit
Wahrscheinlichkeitsverteilung
δ
welches gemäÿ der
gewählt wurde. Dann hängt das Ergebnis
h ab. Konkrete Werte für r und h werden mit Wahrscheinlichkeit jeweils 1/l unabhän2
gig voneinander gewählt. Jedes Tripel wird also mit Wahrscheinlichkeit 1/l
ausschlieÿlich von der zufälligen Wahl von
r
und dem Hashwert
gewählt.
Nun sei
(α, β, γ)
gemäÿ der Wahrscheinlichkeitsverteilung
δ0
gewählt.
Wieder hängt die Wahrscheinlichkeit für die Wahl eines solchen Tripels allein
von der zufälligen Wahl von
verteilung
δ0
r
und
h
ab. Auch für die Wahrscheinlichkeits-
wird damit jedes Tripel mit Wahrscheinlichkeit
1/l2
gewählt.
Die Wahrscheinlichkeitsverteilungen sind identisch und damit insbesondere ununterscheidbar.
Wie die Lemmata 6 und 7 zeigen, gibt es unter Annahme der Existenz eines geeigneten Algorithmus
A0
einen Algorithmus
A2 , der mit einer gewissen
minimalen Erfolgswahrscheinlichkeit im Adaptively-Chosen-Message-Modell
Signaturen des Public-Key-Verfahrens erzeugt. Auÿerdem ist es möglich Signaturen des Verfahrens durch Simulation mit ununterscheidbarer Wahrscheinlichkeitsverteilung zu erzeugen.
Als oene Forderung verbleibt, dass die Komponente
von PubSig mit Wahrscheinlichkeit höchstens
meter
k
2/2k
U
der Signaturen
für den Sicherheitspara-
des Verfahrens einen konkreten Wert annimmt. Für eine gewählte
ID ergibt sich die Komponente U einer zur Identität gehörenden Signatur durch die Denition U := rQID . Dabei ist r ∈r Zl und l die Ordnung
der Gruppe G, auf der PubSig arbeitet. Da r gleichverteilt gewählt wird und
das Element U = rQID aus der Gruppe G ist, wird ein konkreter Wert U mit
Wahrscheinlichekeit 1/l gewählt. Voraussetzung für die Anwendbarkeit des
Forking-Lemmas auf A2 ist also, dass der in Setup verwendete ParameterIdentität
Generator hinreichend groÿe Gruppen liefert: Für den Sicherheitsparameter
5.2.
k
REDUKTION DES BERECHNNUNGSPROBLEMS
51
2k−1 ≤ l.
des Parameter-Generators muss gelten
5.2 Reduktion des Berechnungsproblem auf die
Sicherheit
Lemma 8. Sei IG GDH ein Parameter-Generator, der die Gap-Die-Hellman-Annahme erfüllt und der für den Sicherheitsparameter k eine Gruppe
der Ordnung l erzeugt, für die gilt 2k−1 ≤ l. Der GDH-Parameter-Generator IG GDH werde im Algorithmus Setup des Signaturverfahrens von Cha und
Cheon verwendet. Wenn es einen in k polynomialzeitbeschränkten probabilistischen Algorithmus A0 gibt, der im Adaptively-Chosen-Message-And-IDModell mit nicht-vernachlässigbarer Erfolgswahrscheinlichkeit Signaturen des
identitätsbasierten Signaturverfahrens von Cha und Cheon ausgibt, so existiert ein in k polynomilazeitbeschränkter probabilistischer Algorithmus, der
das Die-Hellman-Berechnungsproblem mit Wahrscheinlichkeit mindestens
1/9 löst.
Beweis.
A2
Aus dem Algorithmus
konstruiert werden. Da
A0
IG GDH
kann nach Lemma 6 ein Algorithmus
hinreichend groÿe Gruppen erzeugt, darf
nach Lemma 7 auf den Algorithmus
A2
das Forking-Lemma für das Chosen-
Message-Modell angewendet werden. Das Forking-Lemma liefert mit Wahr-
1/9 zwei verizierbare Signaturen (U, h1 , V1 ) und (U, h2 , V2 ) mit
Berechnung dieser Signaturen benötigt Zeit polynomiell in k .
scheinlichkeit
h1 6= h2 .
Die
Da es sich bei
(U, h1 , V1 )
bare Signaturen unter eine
(U, h2 , V2 ) um zwei verschiedene verizierNachricht m handelt, sind die mit Hilfe dieser
und
Signaturen erzeugten Tupel
(P, Ppub , U + h1 QID , V1 )
Die-Hellman-Tupel. Dabei sind
und
(P, Ppub , U + h2 QID , V2 )
P , Ppub
und
QID
Teile des Systemparame-
(P, Ppub , H1 , QID ) des Signaturverfahrens PubSig. Da es sich bei den Tupeln (P, Ppub , U + h1 QID , V1 ) und (P, Ppub , U + h2 QID , V2 ) um Die-HellmanTupel handelt, existiert ein r ∈ Zl , sodass U = rqP und Vi = (r + hi )(sqP )
ters
52
KAPITEL 5.
für
i ∈ {1, 2}.
Dabei sind
s, q ∈ Zl
so, dass
DER SICHERHEITSBEWEIS
Ppub = sP
und
QID = qP .
Mit diesen Eigenschaften lässt sich das Die-Hellman-Berechnungsproblem ezient lösen. Hierzu sei
(P, aP, bP )
mit
a, b ∈ Zl
ein Tupel, für das
das Die-Hellman-Berechnungsproblem gelöst werden soll. Dazu lässt sich
der obige polynomialzeitbeschränkte probabilistischen Algorithmus nutzen,
der zwei Signaturen berechnet. Dem Signaturverfahren PubSig wird zur Lösung des Problems der Systemparameter
(P, aP, H1 , bP )
übergeben. Damit
ergeben sich aus den zwei erzeugten Signaturen die Die-Hellman-Tupel
(P, aP, rbP + h1 bP, (r + h1 )abP )
und
(P, aP, rbP + h2 bP, (r + h2 )abP ).
Nun gilt
(h1 − h2 )−1 (V1 − V2 ) = (h1 − h2 )−1 (((r + h1 ) − (r + h2 ))abP )
= (h1 − h2 )−1 ((r − r + h1 − h2 )abP )
= (h1 − h2 )−1 (h1 − h2 )abP = abP.
Diese Berechnungen sind von derart einfacher Gestalt, sodass sie ezient
berechenbar sind.
Da die zu Lösung des Die-Hellman-Problems benötigten Signaturen
in polynomieller Zeit mit Wahrscheinlichkeit mindestens
1/9
erzeugt wur-
den, ist also ein polynomialzeitbeschränkter probabilistischer Algorithmus
konstruiert, der mit Wahrscheinlichkeit mindestens
1/9
das Die-Hellman-
Berechnungsproblem löst.
Korollar 1. Wenn im Algorithmus Setup des Signaturverfahrens von Cha
und Cheon (CC-Sig, vgl. Denition 13) als Parameter-Generator ein GDHParameter-Generator verwendet wird, der hinreichend groÿe Gruppen erzeugt, so ist das Verfahren im Adaptively-Chosen-Message-And-ID-Modell
sicher gegen existentielle Fälschungen.
Beweis.
Nach Lemma 8 liefert ein ezienter probabilistischer Algorithmus,
der mit nicht-vernachlässigbarer Erfolgswahrscheinlichkeit Signaturen von
CC-Sig fälschen kann, einen Algorithmus zur Lösung des Die-Hellman-Be-
5.2.
REDUKTION DES BERECHNNUNGSPROBLEMS
53
rechnungsproblems. Wenn der im Algorithmus Setup von CC-Sig verwendete Parameter-Generator die Gap-Die-Hellman-Annahme erfüllt, also ein
GDH-Parameter-Generator ist, so existiert kein ezienter probabilistischer
Algorithmus, der das Die-Hellman-Berechnungsproblem mit nicht-vernachlässigbarer Wahrscheinlichkeit löst. Folglich kann es im CMGI-Modell keinen
probabilistischen polynomialzeitbeschränkten Algorithmus geben, der mit
nicht-vernachlässigbarer Erfolgswahrscheinlichkeit Signaturen des Verfahrens
von Cha und Cheon fälscht.
54
KAPITEL 5.
DER SICHERHEITSBEWEIS
Literaturverzeichnis
[1]
Boneh,
Dan:
The Decision Die-Hellman problem.
http://dx.doi.org/10.1007/BFb0054851.
Algorithmic Number Theory
Bd. 1423.
In:
Version: 1998.
Buhler,
Joe (Hrsg.):
Springer Berlin / Heidelberg,
1998. ISBN 9783540646570, 48-63
[2]
Boneh, Dan ; Franklin, Matthew:
the Weil Pairing.
Identity-Based Encryption from
Proc. of Crypto '01, Lecture Notes in Computer
In:
Science, Vol. 2139, Springer-Verlag, 2001, S. 213229
[3]
Canetti,
Ran ;
Goldreich,
oracle methodology, revisited.
Oded ;
In:
Halevi,
J. ACM
Shai:
The random
51 (2004), Juli, 557594.
http://dx.doi.org/http://doi.acm.org/10.1145/1008731.1008734.
DOI http://doi.acm.org/10.1145/1008731.1008734. ISSN 00045411
[4]
Cha, Jae C. ; Cheon, Jung H.:
Die-Hellman Groups. In:
An Identity-Based Signature from Gap
Public Key Cryptography - PKC 2003, LNCS
2567, Springer-Verlag, 2002, S. 1830
[5]
Joux,
Antoine
eHellman
phic
Groups.
;
from
Nguyen,
Kim:
Computational
In:
Separating
DieHellman
Journal of Cryptology
16
http://dx.doi.org/10.1007/s00145-003-0052-4.
Decision
in
Cryptogra-
(2003),
Dif-
239-247.
ISSN
0933
2790
[6]
Katz, Jonathan ; Lindell, Yehuda: Introduction to Modern Cryptogra-
phy.
Chapman & Hall/CRC, 2007. 457485 S.
55
56
LITERATURVERZEICHNIS
[7]
Pointcheval, David ; Stern, Jacques: Security Arguments for Digital
Signatures and Blind Signatures.
361-396.
In:
Journal of Cryptology
http://dx.doi.org/10.1007/s001450010003.
13 (2000),
ISSN 0933
2790
[8]
Shamir, Adi:
Identity-based cryptosystems and signature schemes. In:
Proceedings of Crypto, 1984, S. 12
Herunterladen