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