Elektronische Signaturen „ Viel Lärm um fast nichts? “ Dr. iur. Lutz Gollan
Digitale Signaturen - Anwendung von Einmalsignaturen ... · Zwischenschritt 7 2016-11-15 G. Hartung...
Transcript of Digitale Signaturen - Anwendung von Einmalsignaturen ... · Zwischenschritt 7 2016-11-15 G. Hartung...
0 2016-11-15 G. Hartung – Digitale Signaturen: Anwendung von Einmalsignaturen
FAKULTÄT FÜR INFORMATIK, INSTITUT FÜR THEORETISCHE INFORMATIK
Digitale SignaturenAnwendung von Einmalsignaturen | Gunnar Hartung, Björn Kaidel
KIT – Die Forschungsuniversität in der Helmholtz-Gemeinschaft www.kit.edu
Socrative: Wiederholung
1 2016-11-15 G. Hartung – Digitale Signaturen: Anwendung von Einmalsignaturen
https://b.socrative.com/login/student/Room: SIGNATUREN
Bitte jetzt einloggen, falls ihr mitmachen wollt :)Bleibt am Besten einfach während der VL eingeloggt.Erstes Quiz läuft bereits & kann ausgefüllt werden!Meinungsbild: Vorlesung am 23.12.?
Inhalt
2 2016-11-15 G. Hartung – Digitale Signaturen: Anwendung von Einmalsignaturen
Mehrmal-Signaturverfahren aus Einmalsignaturverfahren (Kap 2.5)
RSA-basierte Signaturverfahren (Kap. 4)
Mehrmal-Signaturverfahren ausEinmalsignaturverfahren
3 2016-11-15 G. Hartung – Digitale Signaturen: Anwendung von Einmalsignaturen
Bekannt:Einmalsignaturverfahren Σ(1)
Gesucht:q-mal-Signaturverfahren
Erster Ansatz
4 2016-11-15 G. Hartung – Digitale Signaturen: Anwendung von Einmalsignaturen
benutze q Schlüsselpaare
Gen(1k ) :
(pki , ski )← Gen(1)(1k ) für alle i ∈ 1, . . . ,qpk := (pk1, . . . ,pkq) sk := (sk1, . . . , skq , st = 1)
zustandsbehaftetHier: Zustand ist Zähler st ∈ 1, . . . ,q
Sign(sk ,m) :
i := stσi ← Sign(1)(ski ,m)σ := (σi , i)st := st + 1
Vfy(pk ,m, σ = (σi , i)) :
Vfy(1)(pki ,m, σi )?= 1
Erster Ansatz
4 2016-11-15 G. Hartung – Digitale Signaturen: Anwendung von Einmalsignaturen
benutze q SchlüsselpaareGen(1k ) :
(pki , ski )← Gen(1)(1k ) für alle i ∈ 1, . . . ,qpk := (pk1, . . . ,pkq) sk := (sk1, . . . , skq , st = 1)
zustandsbehaftetHier: Zustand ist Zähler st ∈ 1, . . . ,q
Sign(sk ,m) :
i := stσi ← Sign(1)(ski ,m)σ := (σi , i)st := st + 1
Vfy(pk ,m, σ = (σi , i)) :
Vfy(1)(pki ,m, σi )?= 1
Erster Ansatz
4 2016-11-15 G. Hartung – Digitale Signaturen: Anwendung von Einmalsignaturen
benutze q SchlüsselpaareGen(1k ) :
(pki , ski )← Gen(1)(1k ) für alle i ∈ 1, . . . ,qpk := (pk1, . . . ,pkq) sk := (sk1, . . . , skq , st = 1)
zustandsbehaftetHier: Zustand ist Zähler st ∈ 1, . . . ,q
Sign(sk ,m) :
i := stσi ← Sign(1)(ski ,m)σ := (σi , i)st := st + 1
Vfy(pk ,m, σ = (σi , i)) :
Vfy(1)(pki ,m, σi )?= 1
Erster Ansatz
4 2016-11-15 G. Hartung – Digitale Signaturen: Anwendung von Einmalsignaturen
benutze q SchlüsselpaareGen(1k ) :
(pki , ski )← Gen(1)(1k ) für alle i ∈ 1, . . . ,qpk := (pk1, . . . ,pkq) sk := (sk1, . . . , skq , st = 1)
zustandsbehaftetHier: Zustand ist Zähler st ∈ 1, . . . ,q
Sign(sk ,m) :
i := stσi ← Sign(1)(ski ,m)σ := (σi , i)st := st + 1
Vfy(pk ,m, σ = (σi , i)) :
Vfy(1)(pki ,m, σi )?= 1
Erster Ansatz
5 2016-11-15 G. Hartung – Digitale Signaturen: Anwendung von Einmalsignaturen
Übung 34:
TheoremWenn Σ(1) EUF-1-naCMA-sicher ist, dann ist das obige VerfahrenEUF-q-naCMA-sicher.
TheoremWenn Σ(1) EUF-1-CMA-sicher ist, dann ist das obige VerfahrenEUF-q-CMA-sicher.
Eigenschaften:
|pk | ∈ Ω(q) |sk | ∈ Ω(q) |σ| ∈ Θ(1)
effizienter?
Erster Ansatz
5 2016-11-15 G. Hartung – Digitale Signaturen: Anwendung von Einmalsignaturen
Übung 34:
TheoremWenn Σ(1) EUF-1-naCMA-sicher ist, dann ist das obige VerfahrenEUF-q-naCMA-sicher.
TheoremWenn Σ(1) EUF-1-CMA-sicher ist, dann ist das obige VerfahrenEUF-q-CMA-sicher.
Eigenschaften:
|pk | ∈ Ω(q) |sk | ∈ Ω(q) |σ| ∈ Θ(1)
effizienter?
Erster Ansatz
5 2016-11-15 G. Hartung – Digitale Signaturen: Anwendung von Einmalsignaturen
Übung 34:
TheoremWenn Σ(1) EUF-1-naCMA-sicher ist, dann ist das obige VerfahrenEUF-q-naCMA-sicher.
TheoremWenn Σ(1) EUF-1-CMA-sicher ist, dann ist das obige VerfahrenEUF-q-CMA-sicher.
Eigenschaften:
|pk | ∈ Ω(q) |sk | ∈ Ω(q) |σ| ∈ Θ(1)
effizienter?
Zwischenschritt
6 2016-11-15 G. Hartung – Digitale Signaturen: Anwendung von Einmalsignaturen
H Hashfunktion
Gen(1k ) :
(pki , ski )← Gen(1)(1k ) für alle i ∈ 1, . . . ,qpk :=
H
(pk1, . . . ,pkq) sk := (sk1, . . . , skq , st = 1)
Sign(sk ,m) :
i := stσi ← Sign(1)(ski ,m)σ := (σi , i)
pk1, . . . ,pkq)
st := st + 1
Vfy(pk ,m, σ) :
Vfy(1)(pki ,m, σi )?= 1
und H(pk1, . . . ,pkq)?= pk
Zwischenschritt
6 2016-11-15 G. Hartung – Digitale Signaturen: Anwendung von Einmalsignaturen
H HashfunktionGen(1k ) :
(pki , ski )← Gen(1)(1k ) für alle i ∈ 1, . . . ,qpk :=
H
(pk1, . . . ,pkq) sk := (sk1, . . . , skq , st = 1)
Sign(sk ,m) :
i := stσi ← Sign(1)(ski ,m)σ := (σi , i)
pk1, . . . ,pkq)
st := st + 1
Vfy(pk ,m, σ) :
Vfy(1)(pki ,m, σi )?= 1
und H(pk1, . . . ,pkq)?= pk
Zwischenschritt
6 2016-11-15 G. Hartung – Digitale Signaturen: Anwendung von Einmalsignaturen
H HashfunktionGen(1k ) :
(pki , ski )← Gen(1)(1k ) für alle i ∈ 1, . . . ,qpk := H(pk1, . . . ,pkq) sk := (sk1, . . . , skq , st = 1)
Sign(sk ,m) :
i := stσi ← Sign(1)(ski ,m)σ := (σi , i)
pk1, . . . ,pkq)
st := st + 1
Vfy(pk ,m, σ) :
Vfy(1)(pki ,m, σi )?= 1
und H(pk1, . . . ,pkq)?= pk
Zwischenschritt
6 2016-11-15 G. Hartung – Digitale Signaturen: Anwendung von Einmalsignaturen
H HashfunktionGen(1k ) :
(pki , ski )← Gen(1)(1k ) für alle i ∈ 1, . . . ,qpk := H(pk1, . . . ,pkq) sk := (sk1, . . . , skq , st = 1)
Sign(sk ,m) :
i := stσi ← Sign(1)(ski ,m)σ := (σi , i ,pk1, . . . ,pkq)st := st + 1
Vfy(pk ,m, σ) :
Vfy(1)(pki ,m, σi )?= 1
und H(pk1, . . . ,pkq)?= pk
Zwischenschritt
6 2016-11-15 G. Hartung – Digitale Signaturen: Anwendung von Einmalsignaturen
H HashfunktionGen(1k ) :
(pki , ski )← Gen(1)(1k ) für alle i ∈ 1, . . . ,qpk := H(pk1, . . . ,pkq) sk := (sk1, . . . , skq , st = 1)
Sign(sk ,m) :
i := stσi ← Sign(1)(ski ,m)σ := (σi , i ,pk1, . . . ,pkq)st := st + 1
Vfy(pk ,m, σ) :
Vfy(1)(pki ,m, σi )?= 1 und H(pk1, . . . ,pkq)
?= pk
Zwischenschritt
7 2016-11-15 G. Hartung – Digitale Signaturen: Anwendung von Einmalsignaturen
Übung (Bem. 35):
TheoremWenn Σ(1) EUF-1-naCMA-sicher ist und H kollisionsresistent, dann istdas obige Verfahren EUF-q-naCMA-sicher.
TheoremWenn Σ(1) EUF-1-CMA-sicher ist und H kollisionsresistent, dann ist dasobige Verfahren EUF-q-CMA-sicher.
Eigenschaften:
|pk | ∈ O(1) |sk | ∈ Ω(q) |σ| ∈ Ω(q)
jetzt: Einsparen bei der SignaturMerkle-Bäume
Zwischenschritt
7 2016-11-15 G. Hartung – Digitale Signaturen: Anwendung von Einmalsignaturen
Übung (Bem. 35):
TheoremWenn Σ(1) EUF-1-naCMA-sicher ist und H kollisionsresistent, dann istdas obige Verfahren EUF-q-naCMA-sicher.
TheoremWenn Σ(1) EUF-1-CMA-sicher ist und H kollisionsresistent, dann ist dasobige Verfahren EUF-q-CMA-sicher.
Eigenschaften:
|pk | ∈ O(1) |sk | ∈ Ω(q) |σ| ∈ Ω(q)
jetzt: Einsparen bei der Signatur
Merkle-Bäume
Zwischenschritt
7 2016-11-15 G. Hartung – Digitale Signaturen: Anwendung von Einmalsignaturen
Übung (Bem. 35):
TheoremWenn Σ(1) EUF-1-naCMA-sicher ist und H kollisionsresistent, dann istdas obige Verfahren EUF-q-naCMA-sicher.
TheoremWenn Σ(1) EUF-1-CMA-sicher ist und H kollisionsresistent, dann ist dasobige Verfahren EUF-q-CMA-sicher.
Eigenschaften:
|pk | ∈ O(1) |sk | ∈ Ω(q) |σ| ∈ Ω(q)
jetzt: Einsparen bei der SignaturMerkle-Bäume
Merkle-Bäume
8 2016-11-15 G. Hartung – Digitale Signaturen: Anwendung von Einmalsignaturen
Gen(1k ) :
(pki , ski )← Gen(1)(1k ) für alle i ∈ 1, . . . ,qpk := Baum-Hash(pk1, . . . ,pkq) sk := (sk1, . . . , skq , st = 1)
Sign(sk ,m) :i := stσi ← Sign(1)(ski ,m)σ := (σi , i ,pki ,Ko-Pfad)st := st + 1
Vfy(pk ,m, σ) :
berechne Wurzel h′ neu
Vfy(1)(pki ,m, σi )?= 1 und h′ ?
= pk
Merkle-Bäume
9 2016-11-15 G. Hartung – Digitale Signaturen: Anwendung von Einmalsignaturen
h0,1
h1,1
h2,1
h3,1
pk1
h3,2
pk2
h2,2
h3,3
pk3
h3,4
pk4
h1,2
h2,3
h3,5
pk5
h3,6
pk6
h2,4
h3,7
pk7
h3,8
pk8
pk := in σ enthaltenvon Vfy berechnet
Merkle-Bäume
9 2016-11-15 G. Hartung – Digitale Signaturen: Anwendung von Einmalsignaturen
h0,1
h1,1
h2,1
h3,1
pk1
h3,2
pk2
h2,2
h3,3
pk3
h3,4
pk4
h1,2
h2,3
h3,5
pk5
h3,6
pk6
h2,4
h3,7
pk7
h3,8
pk8
pk := in σ enthaltenvon Vfy berechnet
Merkle-Bäume
9 2016-11-15 G. Hartung – Digitale Signaturen: Anwendung von Einmalsignaturen
h0,1
h1,1
h2,1
h3,1
pk1
h3,2
pk2
h2,2
h3,3
pk3
h3,4
pk4
h1,2
h2,3
h3,5
pk5
h3,6
pk6
h2,4
h3,7
pk7
h3,8
pk8
pk := in σ enthaltenvon Vfy berechnet
Merkle-Bäume
9 2016-11-15 G. Hartung – Digitale Signaturen: Anwendung von Einmalsignaturen
h0,1
h1,1
h2,1
h3,1
pk1
h3,2
pk2
h2,2
h3,3
pk3
h3,4
pk4
h1,2
h2,3
h3,5
pk5
h3,6
pk6
h2,4
h3,7
pk7
h3,8
pk8
pk := in σ enthaltenvon Vfy berechnet
Merkle-Bäume
9 2016-11-15 G. Hartung – Digitale Signaturen: Anwendung von Einmalsignaturen
h0,1
h1,1
h2,1
h3,1
pk1
h3,2
pk2
h2,2
h3,3
pk3
h3,4
pk4
h1,2
h2,3
h3,5
pk5
h3,6
pk6
h2,4
h3,7
pk7
h3,8
pk8
pk := in σ enthaltenvon Vfy berechnet
Merkle-Bäume
9 2016-11-15 G. Hartung – Digitale Signaturen: Anwendung von Einmalsignaturen
h0,1
h1,1
h2,1
h3,1
pk1
h3,2
pk2
h2,2
h3,3
pk3
h3,4
pk4
h1,2
h2,3
h3,5
pk5
h3,6
pk6
h2,4
h3,7
pk7
h3,8
pk8
pk := in σ enthaltenvon Vfy berechnet
Merkle-Bäume
10 2016-11-15 G. Hartung – Digitale Signaturen: Anwendung von Einmalsignaturen
Gen(1k ) :
(pki , ski )← Gen(1)(1k ) für alle i ∈ 1, . . . ,qpk := Baum-Hash(pk1, . . . ,pkq) sk := (sk1, . . . , skq , st = 1)
Sign(sk ,m) :i := stσi ← Sign(1)(ski ,m)σ := (σi , i ,pki ,Ko-Pfad)st := st + 1
Vfy(pk ,m, σ) :
berechne Wurzel h′ neu
Vfy(1)(pki ,m, σi )?= 1 und h′ ?
= pk
Merkle-Bäume
10 2016-11-15 G. Hartung – Digitale Signaturen: Anwendung von Einmalsignaturen
Gen(1k ) :
(pki , ski )← Gen(1)(1k ) für alle i ∈ 1, . . . ,qpk := Baum-Hash(pk1, . . . ,pkq) sk := (sk1, . . . , skq , st = 1)
Sign(sk ,m) :i := stσi ← Sign(1)(ski ,m)σ := (σi , i ,pki ,Ko-Pfad)st := st + 1
Vfy(pk ,m, σ) :
berechne Wurzel h′ neu
Vfy(1)(pki ,m, σi )?= 1 und h′ ?
= pk
Ko-Pfad
11 2016-11-15 G. Hartung – Digitale Signaturen: Anwendung von Einmalsignaturen
DefinitionDer Ko-Pfad eines Knotens v in einem Binärbaum mit Wurzel r ist dieFolge aller Knoten u1, . . . ,un, wobei ui der Geschwisterknoten des i-tenKnotens auf dem Pfad von v zu r ist.
Merkle-Bäume
12 2016-11-15 G. Hartung – Digitale Signaturen: Anwendung von Einmalsignaturen
h0,1
h1,1
h2,1
h3,1
pk1
h3,2
pk2
h2,2
h3,3
pk3
h3,4
pk4
h1,2
h2,3
h3,5
pk5
h3,6
pk6
h2,4
h3,7
pk7
h3,8
pk8
pk := in σ enthaltenvon Vfy berechnet
Merkle-Bäume
12 2016-11-15 G. Hartung – Digitale Signaturen: Anwendung von Einmalsignaturen
h0,1
h1,1
h2,1
h3,1
pk1
h3,2
pk2
h2,2
h3,3
pk3
h3,4
pk4
h1,2
h2,3
h3,5
pk5
h3,6
pk6
h2,4
h3,7
pk7
h3,8
pk8
pk := in σ enthaltenvon Vfy berechnet
Merkle-Bäume
13 2016-11-15 G. Hartung – Digitale Signaturen: Anwendung von Einmalsignaturen
Gen(1k ) :
(pki , ski )← Gen(1)(1k ) für alle i ∈ 1, . . . ,qpk := Baum-Hash(pk1, . . . ,pkq) sk := (sk1, . . . , skq , st = 1)
Sign(sk ,m) :i := stσi ← Sign(1)(ski ,m)σ := (σi , i ,pki ,Ko-Pfad)st := st + 1
Vfy(pk ,m, σ) :
berechne Wurzel h′ neu
Vfy(1)(pki ,m, σi )?= 1 und h′ ?
= pk
Merkle-Bäume
13 2016-11-15 G. Hartung – Digitale Signaturen: Anwendung von Einmalsignaturen
Gen(1k ) :
(pki , ski )← Gen(1)(1k ) für alle i ∈ 1, . . . ,qpk := Baum-Hash(pk1, . . . ,pkq) sk := (sk1, . . . , skq , st = 1)
Sign(sk ,m) :i := stσi ← Sign(1)(ski ,m)σ := (σi , i ,pki ,Ko-Pfad)st := st + 1
Vfy(pk ,m, σ) :
berechne Wurzel h′ neu
Vfy(1)(pki ,m, σi )?= 1 und h′ ?
= pk
Merkle-Bäume
14 2016-11-15 G. Hartung – Digitale Signaturen: Anwendung von Einmalsignaturen
h0,1
h1,1
h2,1
h3,1
pk1
h3,2
pk2
h2,2
h3,3
pk3
h3,4
pk4
h1,2
h2,3
h3,5
pk5
h3,6
pk6
h2,4
h3,7
pk7
h3,8
pk8
pk := in σ enthaltenvon Vfy berechnet
Merkle-Bäume
14 2016-11-15 G. Hartung – Digitale Signaturen: Anwendung von Einmalsignaturen
h0,1
h1,1
h2,1
h3,1
pk1
h3,2
pk2
h2,2
h3,3
pk3
h3,4
pk4
h1,2
h2,3
h3,5
pk5
h3,6
pk6
h2,4
h3,7
pk7
h3,8
pk8
pk := in σ enthaltenvon Vfy berechnet
Merkle-Bäume
14 2016-11-15 G. Hartung – Digitale Signaturen: Anwendung von Einmalsignaturen
h0,1
h1,1
h2,1
h3,1
pk1
h3,2
pk2
h2,2
h3,3
pk3
h3,4
pk4
h1,2
h2,3
h3,5
pk5
h3,6
pk6
h2,4
h3,7
pk7
h3,8
pk8
pk := in σ enthaltenvon Vfy berechnet
Merkle-Bäume
14 2016-11-15 G. Hartung – Digitale Signaturen: Anwendung von Einmalsignaturen
h0,1
h1,1
h2,1
h3,1
pk1
h3,2
pk2
h2,2
h3,3
pk3
h3,4
pk4
h1,2
h2,3
h3,5
pk5
h3,6
pk6
h2,4
h3,7
pk7
h3,8
pk8
pk := in σ enthaltenvon Vfy berechnet
Merkle-Bäume
14 2016-11-15 G. Hartung – Digitale Signaturen: Anwendung von Einmalsignaturen
h0,1
h1,1
h2,1
h3,1
pk1
h3,2
pk2
h2,2
h3,3
pk3
h3,4
pk4
h1,2
h2,3
h3,5
pk5
h3,6
pk6
h2,4
h3,7
pk7
h3,8
pk8
pk := in σ enthaltenvon Vfy berechnet
Merkle-Bäume
15 2016-11-15 G. Hartung – Digitale Signaturen: Anwendung von Einmalsignaturen
TheoremWenn Σ(1) EUF-1-naCMA-sicher ist und H kollisionsresistent, dann istdas obige Verfahren EUF-q-naCMA-sicher.
TheoremWenn Σ(1) EUF-1-CMA-sicher ist und H kollisionsresistent, dann ist dasobige Verfahren EUF-q-CMA-sicher.
Eigenschaften:
|pk | ∈ O(1) |sk | ∈ Ω(q) |σ| ∈ Ω(log q)
jetzt: Einsparen beim geheimen Schlüssel
Merkle-Bäume
15 2016-11-15 G. Hartung – Digitale Signaturen: Anwendung von Einmalsignaturen
TheoremWenn Σ(1) EUF-1-naCMA-sicher ist und H kollisionsresistent, dann istdas obige Verfahren EUF-q-naCMA-sicher.
TheoremWenn Σ(1) EUF-1-CMA-sicher ist und H kollisionsresistent, dann ist dasobige Verfahren EUF-q-CMA-sicher.
Eigenschaften:
|pk | ∈ O(1) |sk | ∈ Ω(q) |σ| ∈ Ω(log q)
jetzt: Einsparen beim geheimen Schlüssel
Komprimieren des geheimen Schlüssels
16 2016-11-15 G. Hartung – Digitale Signaturen: Anwendung von Einmalsignaturen
Idee:wähle Schlüsselpaare nicht zufällig, sondern pseudozufälligbenötigt kryptographisch sicheren (!) Pseudozufallsgeneratorformal: Pseudozufallsfunktion
siehe Skript
Eigenschaften:
|pk | ∈ O(1) |sk | ∈ O(1) |σ| ∈ Ω(log q)
Komprimieren des geheimen Schlüssels
16 2016-11-15 G. Hartung – Digitale Signaturen: Anwendung von Einmalsignaturen
Idee:wähle Schlüsselpaare nicht zufällig, sondern pseudozufälligbenötigt kryptographisch sicheren (!) Pseudozufallsgeneratorformal: Pseudozufallsfunktionsiehe Skript
Eigenschaften:
|pk | ∈ O(1) |sk | ∈ O(1) |σ| ∈ Ω(log q)
Komprimieren des geheimen Schlüssels
16 2016-11-15 G. Hartung – Digitale Signaturen: Anwendung von Einmalsignaturen
Idee:wähle Schlüsselpaare nicht zufällig, sondern pseudozufälligbenötigt kryptographisch sicheren (!) Pseudozufallsgeneratorformal: Pseudozufallsfunktionsiehe Skript
Eigenschaften:
|pk | ∈ O(1) |sk | ∈ O(1) |σ| ∈ Ω(log q)
Weitere Verbesserungen
17 2016-11-15 G. Hartung – Digitale Signaturen: Anwendung von Einmalsignaturen
Nachteil bisher immer:(Laufzeit von Gen) ∈ Ω(q)
Lösung:erstelle gesamten Baum mit Einmalsignaturverfahrenjeder Knoten entspricht einem Schlüsselpaarjeder Schlüssel signiert die öffentlichen Schlüssel der Kind-Knoten
Weitere Optimierung:zustandslose Verfahrenbenutze geheime Schlüssel nicht linear, sondern benutze Nachrichtzur Auswahl des geheimen Schlüsselsnutze skm für m ∈ 0, . . . ,2k − 1
Weitere Verbesserungen
17 2016-11-15 G. Hartung – Digitale Signaturen: Anwendung von Einmalsignaturen
Nachteil bisher immer:(Laufzeit von Gen) ∈ Ω(q)
Lösung:erstelle gesamten Baum mit Einmalsignaturverfahrenjeder Knoten entspricht einem Schlüsselpaarjeder Schlüssel signiert die öffentlichen Schlüssel der Kind-Knoten
Weitere Optimierung:zustandslose Verfahrenbenutze geheime Schlüssel nicht linear, sondern benutze Nachrichtzur Auswahl des geheimen Schlüsselsnutze skm für m ∈ 0, . . . ,2k − 1
Weitere Verbesserungen
17 2016-11-15 G. Hartung – Digitale Signaturen: Anwendung von Einmalsignaturen
Nachteil bisher immer:(Laufzeit von Gen) ∈ Ω(q)
Lösung:erstelle gesamten Baum mit Einmalsignaturverfahrenjeder Knoten entspricht einem Schlüsselpaarjeder Schlüssel signiert die öffentlichen Schlüssel der Kind-Knoten
Weitere Optimierung:zustandslose Verfahrenbenutze geheime Schlüssel nicht linear, sondern benutze Nachrichtzur Auswahl des geheimen Schlüsselsnutze skm für m ∈ 0, . . . ,2k − 1
Forschung
18 2016-11-15 G. Hartung – Digitale Signaturen: Anwendung von Einmalsignaturen
Merkle-Bäume allgemeines Werkzeugoft nützlichz.B.:
[CW09]Certificate Transparency [LLK13]XMSS [BDH11]
Socrative
19 2016-11-15 G. Hartung – Digitale Signaturen: Anwendung von Einmalsignaturen
https://b.socrative.com/login/student/Room: SIGNATUREN
Inhalt
20 2016-11-15 G. Hartung – Digitale Signaturen: Anwendung von Einmalsignaturen
Mehrmal-Signaturverfahren aus Einmalsignaturverfahren (Kap 2.5)
RSA-basierte Signaturverfahren (Kap. 4)
Wiederholung: RSA-Annahme
21 2016-11-15 G. Hartung – Digitale Signaturen: Anwendung von Einmalsignaturen
Setting:N = P ·Q, P,Q „große“ Primzahlenϕ(N) = (P − 1)(Q − 1) = |Z∗N | (Eulersche Phi-Funktion)Wähle zufällig e ∈N, sodass ggT(e, ϕ(N)) = 1.Dann existiert d ∈N mit e · d ≡ 1 mod ϕ(N).Für x ∈ ZN gilt dann auch xe·d ≡ x mod N.
RSA-Problem:Geg. N, e (wie oben definiert) und y ← ZN , findex ∈ ZN : xe ≡ y mod N.
Wiederholung: RSA-Annahme
21 2016-11-15 G. Hartung – Digitale Signaturen: Anwendung von Einmalsignaturen
Setting:N = P ·Q, P,Q „große“ Primzahlenϕ(N) = (P − 1)(Q − 1) = |Z∗N | (Eulersche Phi-Funktion)Wähle zufällig e ∈N, sodass ggT(e, ϕ(N)) = 1.Dann existiert d ∈N mit e · d ≡ 1 mod ϕ(N).Für x ∈ ZN gilt dann auch xe·d ≡ x mod N.
RSA-Problem:Geg. N, e (wie oben definiert) und y ← ZN , findex ∈ ZN : xe ≡ y mod N.
Wiederholung: RSA-Annahme
22 2016-11-15 G. Hartung – Digitale Signaturen: Anwendung von Einmalsignaturen
RSA-Annahme:∀ PPT A gilt:
Pr[A(1k ,N,e, y) = x : xe ≡ y mod N
N,e, y wie oben
]≤ negl(k)
für eine in k vernachlässigbare Funktion negl.
Informell:Kein PPT-Angreifer löst das RSA-Problem mitnicht-vernachlässigbarer Erfolgswahrscheinlichkeit.
Textbook-RSA
23 2016-11-15 G. Hartung – Digitale Signaturen: Anwendung von Einmalsignaturen
Gen(1k ) :ziehe zufällig Primzahlen P, QN := P ·QWähle e > 2 mit ggT(e, ϕ(N)) = 1d := e−1 mod ϕ(N)pk = (N,e)sk = d
Sign(sk ,m) :σ := md (mod N)
Vfy(pk ,m, σ) :
σe ?= m (mod N)
Korrektheit:
σe ≡ (md )e ≡ mde mod ϕ(N) ≡ m1 ≡ m (mod N)
Textbook-RSA
23 2016-11-15 G. Hartung – Digitale Signaturen: Anwendung von Einmalsignaturen
Gen(1k ) :ziehe zufällig Primzahlen P, QN := P ·QWähle e > 2 mit ggT(e, ϕ(N)) = 1d := e−1 mod ϕ(N)pk = (N,e)sk = d
Sign(sk ,m) :σ := md (mod N)
Vfy(pk ,m, σ) :
σe ?= m (mod N)
Korrektheit:
σe ≡ (md )e ≡ mde mod ϕ(N) ≡ m1 ≡ m (mod N)
Textbook-RSA
23 2016-11-15 G. Hartung – Digitale Signaturen: Anwendung von Einmalsignaturen
Gen(1k ) :ziehe zufällig Primzahlen P, QN := P ·QWähle e > 2 mit ggT(e, ϕ(N)) = 1d := e−1 mod ϕ(N)pk = (N,e)sk = d
Sign(sk ,m) :σ := md (mod N)
Vfy(pk ,m, σ) :
σe ?= m (mod N)
Korrektheit:
σe ≡ (md )e ≡ mde mod ϕ(N) ≡ m1 ≡ m (mod N)
Sicherheit
24 2016-11-15 G. Hartung – Digitale Signaturen: Anwendung von Einmalsignaturen
Ideen?
Nicht EUF-NMA-sicher:Wähle σ∗ ← ZNberechne m∗ := (σ∗)e mod Ngib (m∗, σ∗) als Fälschung aus
Homomorph:Wenn σ1, σ2 gültige Signaturen für m1,m2 sind,dann ist σ3 := σ1σ2 mod N gültig für m3 := m1m2 mod N:
σe3 ≡ (σ1σ2)
e ≡ σe1 σe
2 ≡ m1m2 ≡ m3 (mod N)
Übung:Das Textbook-RSA-Signaturverfahren ist UUF-NMA-sicher, wenn dieRSA-Annahme gilt.
Sicherheit
24 2016-11-15 G. Hartung – Digitale Signaturen: Anwendung von Einmalsignaturen
Nicht EUF-NMA-sicher:Wähle σ∗ ← ZNberechne m∗ := (σ∗)e mod Ngib (m∗, σ∗) als Fälschung aus
Homomorph:Wenn σ1, σ2 gültige Signaturen für m1,m2 sind,dann ist σ3 := σ1σ2 mod N gültig für m3 := m1m2 mod N:
σe3 ≡ (σ1σ2)
e ≡ σe1 σe
2 ≡ m1m2 ≡ m3 (mod N)
Übung:Das Textbook-RSA-Signaturverfahren ist UUF-NMA-sicher, wenn dieRSA-Annahme gilt.
Sicherheit
24 2016-11-15 G. Hartung – Digitale Signaturen: Anwendung von Einmalsignaturen
Nicht EUF-NMA-sicher:Wähle σ∗ ← ZNberechne m∗ := (σ∗)e mod Ngib (m∗, σ∗) als Fälschung aus
Homomorph:Wenn σ1, σ2 gültige Signaturen für m1,m2 sind,dann ist σ3 := σ1σ2 mod N gültig für m3 := m1m2 mod N:
σe3 ≡ (σ1σ2)
e ≡ σe1 σe
2 ≡ m1m2 ≡ m3 (mod N)
Übung:Das Textbook-RSA-Signaturverfahren ist UUF-NMA-sicher, wenn dieRSA-Annahme gilt.
Sicherheit
24 2016-11-15 G. Hartung – Digitale Signaturen: Anwendung von Einmalsignaturen
Nicht EUF-NMA-sicher:Wähle σ∗ ← ZNberechne m∗ := (σ∗)e mod Ngib (m∗, σ∗) als Fälschung aus
Homomorph:Wenn σ1, σ2 gültige Signaturen für m1,m2 sind,dann ist σ3 := σ1σ2 mod N gültig für m3 := m1m2 mod N:
σe3 ≡ (σ1σ2)
e ≡ σe1 σe
2 ≡ m1m2 ≡ m3 (mod N)
Übung:Das Textbook-RSA-Signaturverfahren ist UUF-NMA-sicher, wenn dieRSA-Annahme gilt.
RSA-basierte Signaturen
25 2016-11-15 G. Hartung – Digitale Signaturen: Anwendung von Einmalsignaturen
Wie konstruiert man sichere RSA-basierte Signaturen?
Häufig: geeignete Vorverarbeitung/Codierung von mRSA PKCS #1 v1.5 (Kap. 6.3)RSA-FDH (Full Domain Hash, Kap. 4.2)RSA-PSS (Probabilistic Signature Scheme, Skript)
Andere Ansätze:Gennaro-Halevi-Rabin-Signaturverfahren (Kap. 4.3):
EUF-naCMA-sicher unter stärkerer Annahme
Hohenberger-Waters-Signaturverfahren (Kap. 4.4, diese VL):auf Basis von GHR, aber wieder unter RSA-Annahme
RSA PKCS #1 v1.5
26 2016-11-15 G. Hartung – Digitale Signaturen: Anwendung von Einmalsignaturen
PKCS #1:Public-Key Cryptography Standard #1Ursprünglich entwickelt von RSA SecurityVersion 1.5: November 1993Heute aktuell: Version 2.2 (Oktober 2012)enthält auch Variante von RSA-PSSSiehe
https://www.emc.com/emc-plus/rsa-labs/standards-initiatives/pkcs-rsa-cryptography-standard.htmhttps://tools.ietf.org/html/rfc3447
Andere PKCS definieren...Speicherformat für öffentliche/private Schlüssel,Padding-Funktionen für Block-Chiffren,APIs für Smart-Cards,. . .
RSA PKCS #1 v1.5 (Kap. 6.3)
27 2016-11-15 G. Hartung – Digitale Signaturen: Anwendung von Einmalsignaturen
Gen(1k ) : wie bei Textbook-RSA
Sign(sk ,m) :sei H eine kollisionsresistente Hashfunktion.codiere m als
m′ := 0x00 ‖ 0x01 ‖ 0xFF ‖ . . . ‖ 0xFF ‖ 0x00 ‖ Angabe von H ‖ H(m)
Typ der Codierung: Signatur
Padding
Trenner
Welche Hashfkt.?
Hash-Wert
σ := (m′)d (mod N)
Vfy(pk ,m, σ) :berechne m′ := σe (mod N)prüfe, ob m′ korrekte Codierung für m
RSA PKCS #1 v1.5 (Kap. 6.3)
27 2016-11-15 G. Hartung – Digitale Signaturen: Anwendung von Einmalsignaturen
Gen(1k ) : wie bei Textbook-RSA
Sign(sk ,m) :sei H eine kollisionsresistente Hashfunktion.codiere m als
m′ := 0x00 ‖ 0x01 ‖ 0xFF ‖ . . . ‖ 0xFF ‖ 0x00 ‖ Angabe von H ‖ H(m)
Typ der Codierung: Signatur
Padding
Trenner
Welche Hashfkt.?
Hash-Wert
σ := (m′)d (mod N)
Vfy(pk ,m, σ) :berechne m′ := σe (mod N)prüfe, ob m′ korrekte Codierung für m
RSA PKCS #1 v1.5 (Kap. 6.3)
27 2016-11-15 G. Hartung – Digitale Signaturen: Anwendung von Einmalsignaturen
Gen(1k ) : wie bei Textbook-RSA
Sign(sk ,m) :sei H eine kollisionsresistente Hashfunktion.codiere m als
m′ := 0x00 ‖ 0x01 ‖ 0xFF ‖ . . . ‖ 0xFF ‖ 0x00 ‖ Angabe von H ‖ H(m)
Typ der Codierung: Signatur
Padding
Trenner
Welche Hashfkt.?
Hash-Wert
σ := (m′)d (mod N)
Vfy(pk ,m, σ) :berechne m′ := σe (mod N)prüfe, ob m′ korrekte Codierung für m
RSA PKCS #1 v1.5 (Kap. 6.3)
27 2016-11-15 G. Hartung – Digitale Signaturen: Anwendung von Einmalsignaturen
Gen(1k ) : wie bei Textbook-RSA
Sign(sk ,m) :sei H eine kollisionsresistente Hashfunktion.codiere m als
m′ := 0x00 ‖ 0x01 ‖ 0xFF ‖ . . . ‖ 0xFF ‖ 0x00 ‖ Angabe von H ‖ H(m)
Typ der Codierung: Signatur
Padding
Trenner
Welche Hashfkt.?
Hash-Wert
σ := (m′)d (mod N)
Vfy(pk ,m, σ) :berechne m′ := σe (mod N)prüfe, ob m′ korrekte Codierung für m
RSA PKCS #1 v1.5 (Kap. 6.3)
27 2016-11-15 G. Hartung – Digitale Signaturen: Anwendung von Einmalsignaturen
Gen(1k ) : wie bei Textbook-RSA
Sign(sk ,m) :sei H eine kollisionsresistente Hashfunktion.codiere m als
m′ := 0x00 ‖ 0x01 ‖ 0xFF ‖ . . . ‖ 0xFF ‖ 0x00 ‖ Angabe von H ‖ H(m)
Typ der Codierung: Signatur
Padding
Trenner
Welche Hashfkt.?
Hash-Wert
σ := (m′)d (mod N)
Vfy(pk ,m, σ) :berechne m′ := σe (mod N)prüfe, ob m′ korrekte Codierung für m
RSA PKCS #1 v1.5 (Kap. 6.3)
27 2016-11-15 G. Hartung – Digitale Signaturen: Anwendung von Einmalsignaturen
Gen(1k ) : wie bei Textbook-RSA
Sign(sk ,m) :sei H eine kollisionsresistente Hashfunktion.codiere m als
m′ := 0x00 ‖ 0x01 ‖ 0xFF ‖ . . . ‖ 0xFF ‖ 0x00 ‖ Angabe von H ‖ H(m)
Typ der Codierung: Signatur
Padding
Trenner
Welche Hashfkt.?
Hash-Wert
σ := (m′)d (mod N)
Vfy(pk ,m, σ) :berechne m′ := σe (mod N)prüfe, ob m′ korrekte Codierung für m
RSA PKCS #1 v1.5 (Kap. 6.3)
27 2016-11-15 G. Hartung – Digitale Signaturen: Anwendung von Einmalsignaturen
Gen(1k ) : wie bei Textbook-RSA
Sign(sk ,m) :sei H eine kollisionsresistente Hashfunktion.codiere m als
m′ := 0x00 ‖ 0x01 ‖ 0xFF ‖ . . . ‖ 0xFF ‖ 0x00 ‖ Angabe von H ‖ H(m)
Typ der Codierung: Signatur
Padding
Trenner
Welche Hashfkt.?
Hash-Wert
σ := (m′)d (mod N)
Vfy(pk ,m, σ) :berechne m′ := σe (mod N)prüfe, ob m′ korrekte Codierung für m
RSA PKCS #1 v1.5 (Kap. 6.3)
27 2016-11-15 G. Hartung – Digitale Signaturen: Anwendung von Einmalsignaturen
Gen(1k ) : wie bei Textbook-RSA
Sign(sk ,m) :sei H eine kollisionsresistente Hashfunktion.codiere m als
m′ := 0x00 ‖ 0x01 ‖ 0xFF ‖ . . . ‖ 0xFF ‖ 0x00 ‖ Angabe von H ‖ H(m)
Typ der Codierung: Signatur
Padding
Trenner
Welche Hashfkt.?
Hash-Wert
σ := (m′)d (mod N)
Vfy(pk ,m, σ) :berechne m′ := σe (mod N)prüfe, ob m′ korrekte Codierung für m
RSA PKCS #1 v1.5 (Kap. 6.3)
27 2016-11-15 G. Hartung – Digitale Signaturen: Anwendung von Einmalsignaturen
Gen(1k ) : wie bei Textbook-RSA
Sign(sk ,m) :sei H eine kollisionsresistente Hashfunktion.codiere m als
m′ := 0x00 ‖ 0x01 ‖ 0xFF ‖ . . . ‖ 0xFF ‖ 0x00 ‖ Angabe von H ‖ H(m)
Typ der Codierung: Signatur
Padding
Trenner
Welche Hashfkt.?
Hash-Wert
σ := (m′)d (mod N)
Vfy(pk ,m, σ) :berechne m′ := σe (mod N)prüfe, ob m′ korrekte Codierung für m
Sicherheit von RSA PKCS #1 v1.5 (Kap. 6.3)
28 2016-11-15 G. Hartung – Digitale Signaturen: Anwendung von Einmalsignaturen
Sicherheit?
unklarkeine Angriffe und kein Sicherheitsbeweis bekanntAusnahme: Angriff bei bestimmtem Implementierungsfehler (Kap. 6.3)
Warum relevant?altaber in der Realität verwendet
Socrative
29 2016-11-15 G. Hartung – Digitale Signaturen: Anwendung von Einmalsignaturen
https://b.socrative.com/login/student/Room: SIGNATUREN
References I
30 2016-11-15 G. Hartung – Digitale Signaturen: Anwendung von Einmalsignaturen
J. Buchmann, E. Dahmen und A. Hülsing. „XMSS - A PracticalForward Secure Signature Scheme Based on MinimalSecurity Assumptions“. In: Post-Quantum Cryptography: 4thInternational Workshop, PQCrypto 2011, Taipei, Taiwan,November 29 – December 2, 2011. Proceedings. Hrsg. vonB.-Y. Yang. Berlin, Heidelberg: Springer Berlin Heidelberg,2011, S. 117–129. DOI: 10.1007/978-3-642-25405-5_8. URL:http://dx.doi.org/10.1007/978-3-642-25405-5_8.
S. A. Crosby und D. S. Wallach. „Efficient Data Structures forTamper-evident Logging“. In: Proceedings of the 18thConference on USENIX Security Symposium. SSYM’09.Montreal, Canada: USENIX Association, 2009, S. 317–334.URL: http://dl.acm.org/citation.cfm?id=1855768.1855788.
References II
31 2016-11-15 G. Hartung – Digitale Signaturen: Anwendung von Einmalsignaturen
B. Laurie, A. Langley und E. Kasper. Certificate Transparency.IETF RFC 6962, retrieved Nov. 21st 2016. 2013. URL:
https://tools.ietf.org/html/rfc6962.