digitale signaturen - ghr-und chamäleon-signaturen | björn kaidel · 2018-01-16 · trapcoll ch...
TRANSCRIPT
0 2017-01-12 B. Kaidel – Digitale Signaturen: GHR- und Chamäleon-Signaturen
FAKULTÄT FÜR INFORMATIK, INSTITUT FÜR THEORETISCHE INFORMATIK
Digitale SignaturenGHR-und Chamäleon-Signaturen | Björn Kaidel
KIT – Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu
Socrative: Wiederholung
1 2017-01-12 B. Kaidel – Digitale Signaturen: GHR- und Chamäleon-Signaturen
https://b.socrative.com/login/student/Room: SIGNATUREN
Eigenschaften von Chamäleon-Hashfkt.?Wie werden Chamäleon-Hashfkt. ausgewertet?Ist die Def. von Kollisionsresistenz von CH-Fkt. identisch zur üblichenDef.?Signaturen können weitergeben werden - ist das problematisch?
Evaluation
2 2017-01-12 B. Kaidel – Digitale Signaturen: GHR- und Chamäleon-Signaturen
Siehe Evaluations-PDF!
Socrative-Fragen vom letzten Mal
3 2017-01-12 B. Kaidel – Digitale Signaturen: GHR- und Chamäleon-Signaturen
„Reicht die Zahlentheorie aus VL/Skript für die Prüfung?“Man sollte in der Lage sein, die besprochenen Verfahren (mit Beweis!) zuverstehen und erklären zu könnenDie dafür nötige Mathematik sollte man verstehen
„Werden CH-Fkt. in der Praxis angewandt?“
Inhalt
4 2017-01-12 B. Kaidel – Digitale Signaturen: GHR- und Chamäleon-Signaturen
Chamäleon-Signaturen (Kap. 3.4)
Chamäleon-Signaturen: Motivation (Kap. 3.1)(Wdh)
5 2017-01-12 B. Kaidel – Digitale Signaturen: GHR- und Chamäleon-Signaturen
Kunde
Händler
Händler 2
Angebot?
100$, σ1
100$, σ1
99$, σ2
Chamäleon-Signaturen: Ziel (Wdh)
6 2017-01-12 B. Kaidel – Digitale Signaturen: GHR- und Chamäleon-Signaturen
Frage: Können wir ein Signaturverfahren konstruieren, sodass . . .. . . K die Authentizität des Angebots von H1 verifizieren kann. . . K den Händler H2 nicht davon überzeugen kann, dass dasAngebot von H1 kam.
(Man spricht bei Verfahren mit solchen Eigenschaften vonAbstreitbarkeit)
Chamäleon-Hashfunktionen (Definition) (Kap.3.2) (Wdh)
7 2017-01-12 B. Kaidel – Digitale Signaturen: GHR- und Chamäleon-Signaturen
Def. (Chamäleon-Hashfunktion):Eine Chamäleon-Hashfunktion CH besteht aus zwei PPT-Algorithmen(GenCH,TrapCollCH):
GenCH(1k ) : gibt (ch, τ) aus, wobei:ch ist eine Funktion ch :M×R → NM NachrichtenraumR ZufallsraumN ZielraumM,R,N abhängig von konkreter CH!
τ eine Trapdoor („Falltür“) ist.
Chamäleon-Hashfunktionen (Definition - II)(Wdh)
8 2017-01-12 B. Kaidel – Digitale Signaturen: GHR- und Chamäleon-Signaturen
TrapCollCH(τ,m, r ,m′) für (m, r ,m′) ∈ M×R×M berechnet r ′ ∈ R,sodass
ch(m, r ) = ch(m′, r ′)
Wer τ kennt, kann Kollisionen berechnenDaher der Name „Chamäleon“-HashfunktionAusgabe „wechselt“ ihr Urbild „wechselt ihre Farbe“
Chamäleon-Hashfunktion von DLog (Wdh)
9 2017-01-12 B. Kaidel – Digitale Signaturen: GHR- und Chamäleon-Signaturen
Kollisionsresistente CH-Fkt. von DLog:ch = (g,h = gx ), τ = xch(m, r ) = gmhr
Kollisionen berechnen durch Lösen nach r ∗:
m + x · r = m∗ + x · r ∗ mod p
⇒ r ′ =m−m∗
x+ r mod p
(Es gibt auch eine CH-Fkt. basierend auf dem RSA-Problem)
Chamäleon-Hashfunktion von DLog (Wdh)
9 2017-01-12 B. Kaidel – Digitale Signaturen: GHR- und Chamäleon-Signaturen
Kollisionsresistente CH-Fkt. von DLog:ch = (g,h = gx ), τ = xch(m, r ) = gmhr
Kollisionen berechnen durch Lösen nach r ∗:
m + x · r = m∗ + x · r ∗ mod p
⇒ r ′ =m−m∗
x+ r mod p
(Es gibt auch eine CH-Fkt. basierend auf dem RSA-Problem)
Chamäleon-Hashfunktion von DLog (Wdh)
9 2017-01-12 B. Kaidel – Digitale Signaturen: GHR- und Chamäleon-Signaturen
Kollisionsresistente CH-Fkt. von DLog:ch = (g,h = gx ), τ = xch(m, r ) = gmhr
Kollisionen berechnen durch Lösen nach r ∗:
m + x · r = m∗ + x · r ∗ mod p
⇒ r ′ =m−m∗
x+ r mod p
(Es gibt auch eine CH-Fkt. basierend auf dem RSA-Problem)
Kollisionsresistenz (Wdh)
10 2017-01-12 B. Kaidel – Digitale Signaturen: GHR- und Chamäleon-Signaturen
Def. 39 (Kollisionsresistenz für Chamäleon-Hashfkt.):Eine Chamäelon-Hashfunktion CH = (GenCH,TrapCollCH) istkollisionsresistent , falls für alle PPT A gilt, dass
Pr[
(ch, τ)← GenCH(1k )A(1k , ch) = (m, r ,m′, r ′)
: ch(m, r ) = ch(m′, r ′)∧(m, r ) 6= (m′, r ′)
]≤ negl(k)
für eine im Sicherheitsparameter k vernachlässigbare Funktion negl.
Chamäleon-Signaturen (Kap. 3.4)
11 2017-01-12 B. Kaidel – Digitale Signaturen: GHR- und Chamäleon-Signaturen
CH = (GenCH,TrapCollCH) CH-Fkt., ch :M×R → NSignatur Σ′ = (Gen′, Sign′,Vfy′)
Konstruiere Chamäleon-Signatur Σ = (Gen, Sign,Vfy)
Gen(1k ) :(pk ′, sk ′)← Gen′(1k )
pk := pk ′, sk := sk ′
Chamäleon-Signaturen (Kap. 3.4)
11 2017-01-12 B. Kaidel – Digitale Signaturen: GHR- und Chamäleon-Signaturen
CH = (GenCH,TrapCollCH) CH-Fkt., ch :M×R → NSignatur Σ′ = (Gen′, Sign′,Vfy′)
Konstruiere Chamäleon-Signatur Σ = (Gen, Sign,Vfy)
Gen(1k ) :(pk ′, sk ′)← Gen′(1k )
pk := pk ′, sk := sk ′
Chamäleon-Signaturen (Kap. 3.4)
12 2017-01-12 B. Kaidel – Digitale Signaturen: GHR- und Chamäleon-Signaturen
Sign(sk ,m, ch) : (ch ist CH-Fkt. des Empfängers)r ← R, ch(m, r ) =: yσ′ := Sign′(sk , y)σ := (σ′, r )
Vfy(pk ,m, σ, ch) :
Vfy′(pk , ch(m, r ), σ′)?= 1
Chamäleon-Signaturen (Kap. 3.4)
12 2017-01-12 B. Kaidel – Digitale Signaturen: GHR- und Chamäleon-Signaturen
Sign(sk ,m, ch) : (ch ist CH-Fkt. des Empfängers)r ← R, ch(m, r ) =: yσ′ := Sign′(sk , y)σ := (σ′, r )
Vfy(pk ,m, σ, ch) :
Vfy′(pk , ch(m, r ), σ′)?= 1
EUF-CMA für Chamäleon-Signaturen
13 2017-01-12 B. Kaidel – Digitale Signaturen: GHR- und Chamäleon-Signaturen
CEUF-CMA A
(pk , sk)← Gen(1k )
(ch, τ)← GenCH(1k )
pk , ch
mi
σi ← Sign(sk ,mi , ch) σi
Anfragen nacheinanderq = q(k) Anfragenq Polynom
m∗ , σ∗
Vfy(pk ,m∗, σ∗, ch) = 1?∧
m∗ /∈ {m1, . . . ,mq}?
A gewinnt, falls Vfy(pk ,m∗, σ∗, ch) = 1 und m∗ /∈ {m1, ...,mq}
Frage: Ist dieses Sicherheitsmodell „stark genug“?
EUF-CMA für Chamäleon-Signaturen
13 2017-01-12 B. Kaidel – Digitale Signaturen: GHR- und Chamäleon-Signaturen
CEUF-CMA A(pk , sk)← Gen(1k )
(ch, τ)← GenCH(1k )
pk , ch
mi
σi ← Sign(sk ,mi , ch) σi
Anfragen nacheinanderq = q(k) Anfragenq Polynom
m∗ , σ∗
Vfy(pk ,m∗, σ∗, ch) = 1?∧
m∗ /∈ {m1, . . . ,mq}?
A gewinnt, falls Vfy(pk ,m∗, σ∗, ch) = 1 und m∗ /∈ {m1, ...,mq}
Frage: Ist dieses Sicherheitsmodell „stark genug“?
EUF-CMA für Chamäleon-Signaturen
13 2017-01-12 B. Kaidel – Digitale Signaturen: GHR- und Chamäleon-Signaturen
CEUF-CMA A(pk , sk)← Gen(1k )
(ch, τ)← GenCH(1k )
pk , ch
mi
σi ← Sign(sk ,mi , ch) σi
Anfragen nacheinanderq = q(k) Anfragenq Polynom
m∗ , σ∗
Vfy(pk ,m∗, σ∗, ch) = 1?∧
m∗ /∈ {m1, . . . ,mq}?
A gewinnt, falls Vfy(pk ,m∗, σ∗, ch) = 1 und m∗ /∈ {m1, ...,mq}
Frage: Ist dieses Sicherheitsmodell „stark genug“?
EUF-CMA für Chamäleon-Signaturen
13 2017-01-12 B. Kaidel – Digitale Signaturen: GHR- und Chamäleon-Signaturen
CEUF-CMA A(pk , sk)← Gen(1k )
(ch, τ)← GenCH(1k )
pk , ch
mi
σi ← Sign(sk ,mi , ch) σi
Anfragen nacheinanderq = q(k) Anfragenq Polynom
m∗ , σ∗
Vfy(pk ,m∗, σ∗, ch) = 1?∧
m∗ /∈ {m1, . . . ,mq}?
A gewinnt, falls Vfy(pk ,m∗, σ∗, ch) = 1 und m∗ /∈ {m1, ...,mq}
Frage: Ist dieses Sicherheitsmodell „stark genug“?
EUF-CMA für Chamäleon-Signaturen
13 2017-01-12 B. Kaidel – Digitale Signaturen: GHR- und Chamäleon-Signaturen
CEUF-CMA A(pk , sk)← Gen(1k )
(ch, τ)← GenCH(1k )
pk , ch
mi
σi ← Sign(sk ,mi , ch) σi
Anfragen nacheinanderq = q(k) Anfragenq Polynom
m∗ , σ∗
Vfy(pk ,m∗, σ∗, ch) = 1?∧
m∗ /∈ {m1, . . . ,mq}?
A gewinnt, falls Vfy(pk ,m∗, σ∗, ch) = 1 und m∗ /∈ {m1, ...,mq}
Frage: Ist dieses Sicherheitsmodell „stark genug“?
EUF-CMA für Chamäleon-Signaturen
13 2017-01-12 B. Kaidel – Digitale Signaturen: GHR- und Chamäleon-Signaturen
CEUF-CMA A(pk , sk)← Gen(1k )
(ch, τ)← GenCH(1k )
pk , ch
mi
σi ← Sign(sk ,mi , ch) σi
Anfragen nacheinanderq = q(k) Anfragenq Polynom
m∗ , σ∗
Vfy(pk ,m∗, σ∗, ch) = 1?∧
m∗ /∈ {m1, . . . ,mq}?
A gewinnt, falls Vfy(pk ,m∗, σ∗, ch) = 1 und m∗ /∈ {m1, ...,mq}
Frage: Ist dieses Sicherheitsmodell „stark genug“?
CH-Sig: Sicherheitsmodell (Skript)
14 2017-01-12 B. Kaidel – Digitale Signaturen: GHR- und Chamäleon-Signaturen
Frage: Ist dieses Sicherheitsmodell „stark genug“?
Antwort: Nein!
Angreifer hat beim Signieren keine „Kontrolle“ über dieChamäleon-Hashfunktion.Dies kann ihm aber evtl. beim Fälschen helfen!Echter Angreifer könnten eigene CH-Fkt. erstellen & verwenden
CH-Sig: Sicherheitsmodell (Skript)
14 2017-01-12 B. Kaidel – Digitale Signaturen: GHR- und Chamäleon-Signaturen
Frage: Ist dieses Sicherheitsmodell „stark genug“?
Antwort: Nein!
Angreifer hat beim Signieren keine „Kontrolle“ über dieChamäleon-Hashfunktion.Dies kann ihm aber evtl. beim Fälschen helfen!Echter Angreifer könnten eigene CH-Fkt. erstellen & verwenden
Angriff bei DLog-CH-Fkt. (Skript)
15 2017-01-12 B. Kaidel – Digitale Signaturen: GHR- und Chamäleon-Signaturen
Angenommen, A könnte CH-Fkt. beim Signieren selbst wählen:Es wird die DLog-CH-Fkt. verwendet.A erhält ch = (g,h) vom Challenger.
A generiert chA = (ga,h), a 6= 1 selbst gewähltDies ist eine gültige CH-Fkt.!
A lässt m mit chA signieren und erhält Signatur σ = (σ′, r ).
Angriff bei DLog-CH-Fkt. (Skript)
15 2017-01-12 B. Kaidel – Digitale Signaturen: GHR- und Chamäleon-Signaturen
Angenommen, A könnte CH-Fkt. beim Signieren selbst wählen:Es wird die DLog-CH-Fkt. verwendet.A erhält ch = (g,h) vom Challenger.
A generiert chA = (ga,h), a 6= 1 selbst gewähltDies ist eine gültige CH-Fkt.!
A lässt m mit chA signieren und erhält Signatur σ = (σ′, r ).
Angriff bei DLog-CH-Fkt. (Skript)
16 2017-01-12 B. Kaidel – Digitale Signaturen: GHR- und Chamäleon-Signaturen
Dann gilt:
1 = Vfy(pk ,m, σ = (σ′, r ), chA)
= Vfy′(pk , chA(m, r ), σ′)
= Vfy′(pk , ch(a ·m, r ), σ′)
= Vfy(pk ,a ·m, σ, ch)
Da a 6= 1 gilt auch m 6= a ·m.Somit ist (a ·m, σ) eine gültige Fälschung bzgl. ch!
Anm.: Bei der RSA-CH-Fkt. ist ein ähnlicher Angriff möglich.
Angriff bei DLog-CH-Fkt. (Skript)
16 2017-01-12 B. Kaidel – Digitale Signaturen: GHR- und Chamäleon-Signaturen
Dann gilt:
1 = Vfy(pk ,m, σ = (σ′, r ), chA)
= Vfy′(pk , chA(m, r ), σ′)
= Vfy′(pk , ch(a ·m, r ), σ′)
= Vfy(pk ,a ·m, σ, ch)
Da a 6= 1 gilt auch m 6= a ·m.Somit ist (a ·m, σ) eine gültige Fälschung bzgl. ch!
Anm.: Bei der RSA-CH-Fkt. ist ein ähnlicher Angriff möglich.
EUF-CMA für Chamäleon-Signaturen 2 (Skript)
17 2017-01-12 B. Kaidel – Digitale Signaturen: GHR- und Chamäleon-Signaturen
EUF-CMA Variante 1CEUF-CMA A
(pk , sk)← Gen(1k )
(ch, τ)← GenCH(1k )
pk , ch
mi
mi , chi
σi ← Sign(sk ,mi , ch)
σi ← Sign(sk ,mi , chi )
σi
Anfragen nacheinanderq = q(k) Anfragenq Polynom
m∗ , σ∗
Vfy(pk ,m∗, σ∗, ch) = 1?∧
m∗ /∈ {m1, . . . ,mq}?
A gewinnt, falls Vfy(pk ,m∗, σ∗, ch) = 1 und m∗ /∈ {m1, ...,mq}
EUF-CMA für Chamäleon-Signaturen 2 (Skript)
17 2017-01-12 B. Kaidel – Digitale Signaturen: GHR- und Chamäleon-Signaturen
EUF-CMA Variante 2CEUF-CMA A
(pk , sk)← Gen(1k )
(ch, τ)← GenCH(1k )
pk , ch
mi
mi , chi
σi ← Sign(sk ,mi , ch)
σi ← Sign(sk ,mi , chi )σi
Anfragen nacheinanderq = q(k) Anfragenq Polynom
m∗ , σ∗
Vfy(pk ,m∗, σ∗, ch) = 1?∧
m∗ /∈ {m1, . . . ,mq}?
A gewinnt, falls Vfy(pk ,m∗, σ∗, ch) = 1 und m∗ /∈ {m1, ...,mq}
EUF-CMA
18 2017-01-12 B. Kaidel – Digitale Signaturen: GHR- und Chamäleon-Signaturen
Im Folgenden beschränken wir uns auf Variante 1!Variante 2 auch erreichbar, ist aber etwas schwieriger.
CH-Sig: Sicherheit
19 2017-01-12 B. Kaidel – Digitale Signaturen: GHR- und Chamäleon-Signaturen
Theorem 45:Für jeden PPT-Angreifer A(pk , ch), der die EUF-CMA-Sicherheit von Σbricht in Zeit tA mit Erfolgswahrscheinlichkeit εA, existiert einPPT-Angreifer B, der in Zeit tB ≈ tA läuft und entweder
die Kollisionsresistenz von ch bricht mit Wkt.
εch ≥εA2
,
oder die EUF-naCMA-Sicherheit von Σ′ bricht mit Wkt.
ε′ ≥ εA2
.
Chamäleon-Signaturen: Beweis
20 2017-01-12 B. Kaidel – Digitale Signaturen: GHR- und Chamäleon-Signaturen
EUF-CMA:Seien m1, . . . ,mq die Anfragen, σi = (σ′i , ri ) die Antworten und(m∗, σ∗ = (σ′∗, r ∗)) die Ausgabe von A.
Zwei Ereignisse:E0 : Es existiert i mit ch(mi , ri ) = ch(m∗, r ∗).E1 : Für alle i ∈ {1, . . . ,q} gilt ch(mi , ri ) 6= ch(m∗, r ∗).
A ruft E0 oder E1 hervor, also gilt
εA ≤ Pr[E0] + Pr[E1]⇒ Pr[E0] ≥ εA/2 oder Pr[E1] ≥ εA/2
Chamäleon-Signaturen: Beweis
20 2017-01-12 B. Kaidel – Digitale Signaturen: GHR- und Chamäleon-Signaturen
EUF-CMA:Seien m1, . . . ,mq die Anfragen, σi = (σ′i , ri ) die Antworten und(m∗, σ∗ = (σ′∗, r ∗)) die Ausgabe von A.
Zwei Ereignisse:E0 : Es existiert i mit ch(mi , ri ) = ch(m∗, r ∗).E1 : Für alle i ∈ {1, . . . ,q} gilt ch(mi , ri ) 6= ch(m∗, r ∗).
A ruft E0 oder E1 hervor, also gilt
εA ≤ Pr[E0] + Pr[E1]⇒ Pr[E0] ≥ εA/2 oder Pr[E1] ≥ εA/2
Chamäleon-Signaturen: Beweis
20 2017-01-12 B. Kaidel – Digitale Signaturen: GHR- und Chamäleon-Signaturen
EUF-CMA:Seien m1, . . . ,mq die Anfragen, σi = (σ′i , ri ) die Antworten und(m∗, σ∗ = (σ′∗, r ∗)) die Ausgabe von A.
Zwei Ereignisse:E0 : Es existiert i mit ch(mi , ri ) = ch(m∗, r ∗).E1 : Für alle i ∈ {1, . . . ,q} gilt ch(mi , ri ) 6= ch(m∗, r ∗).
A ruft E0 oder E1 hervor, also gilt
εA ≤ Pr[E0] + Pr[E1]⇒ Pr[E0] ≥ εA/2 oder Pr[E1] ≥ εA/2
Chamäleon-Signaturen: Beweis
21 2017-01-12 B. Kaidel – Digitale Signaturen: GHR- und Chamäleon-Signaturen
E0: Reduktion auf Kollisionsresistenz von CHStandard, Vorgehen wie immer
E1: Reduktion auf EUF-naCMA-Sicherheit von Σ′
Details: siehe Tafel
Socrative: Chamäleon-Signaturen
22 2017-01-12 B. Kaidel – Digitale Signaturen: GHR- und Chamäleon-Signaturen
https://b.socrative.com/login/student/Room: SIGNATUREN
Warum sind Chamäleon-Signaturen abstreitbar?Warum ist der Empfänger von einer CH-Sig. „überzeugt“?Welche Sicherheitseigenschaft hat die CH-Sig.?Wie werden im Beweis die adaptiven Anfragen von A auf eine einzigenicht-adaptive Anfrage „übersetzt“?