Jointly Generating Random Keys for the Fully Distributed Environment Sebastian Faust K.U. Leuven...
-
Upload
ernst-kares -
Category
Documents
-
view
102 -
download
0
Transcript of Jointly Generating Random Keys for the Fully Distributed Environment Sebastian Faust K.U. Leuven...
Jointly Generating Random Keys for the Fully Distributed Environment
Sebastian Faust
K.U. Leuven
Kryptowochenende, 2. Juli 2006Kryptowochenende, 2. Juli 2006
http://www.logic-software.de/sfaust/http://www.logic-software.de/sfaust/
1/29
ÜberblickÜberblick
2. Grundlagen
1. Motivation
3. Das k-JGRK Protokoll
4. Zusammenfassung und weiterführende Ansätze
2/29
1. Motivation – Verteilte Netzwerke1. Motivation – Verteilte Netzwerke
Wieso ist Schlüsselerzeugung in verteilten Netzwerken notwendig?Wieso ist Schlüsselerzeugung in verteilten Netzwerken notwendig?
Hmm...Kann man Charlie
Brown vertrauen?
Er ist so leichtgläubig.
Patty war fies zu mir.
Sie hat mein Schnuffeltuc
h gewaschen?
Charlie Brown ist ja eigentlich ganz süß, aber
was ist mit Lucy???
Kein Problem! Da
kann ich helfen...
4789478947894789
447788 99
3/29
1. Motivation – Verteilte Netzwerke1. Motivation – Verteilte Netzwerke
Aber was passiert, wenn Snoopy nicht vertrauenswürdig ist?Aber was passiert, wenn Snoopy nicht vertrauenswürdig ist?
47894789
4477881147894789
4/29
1. Motivation – Überprüfbarkeit1. Motivation – Überprüfbarkeit
Wieso ist Überprüfbarkeit wichtig?Wieso ist Überprüfbarkeit wichtig?
4477
88
47894789
9922
5/29
2. Grundlagen – Das Netzwerk…2. Grundlagen – Das Netzwerk…
Existenz von zuverlässigen BroadcastkanalenExistenz von zuverlässigen Broadcastkanalen
• Deterministisches Protokoll (Deterministisches Protokoll (n Parteien, t < n sind korrumpiert): n Parteien, t < n sind korrumpiert):
6/29
Anzahl Nachrichten: O(nt)Anzahl Nachrichten: O(nt)
2. Grundlagen – Shamir Secret 2. Grundlagen – Shamir Secret SharingSharing
secretsecretss 11 ss22
ss33 ss 44
Verteilung eines Geheimnisses:Verteilung eines Geheimnisses:
7/29
2. Grundlagen – Shamir Secret 2. Grundlagen – Shamir Secret SharingSharing
ss 11
ss22 ss33
ss 44
secretsecret
8/29
Rekonstruktion des Geheimnisses:Rekonstruktion des Geheimnisses:
2. Grundlagen – Shamir Secret 2. Grundlagen – Shamir Secret SharingSharing
ss 11
ss22 ss33
ss 44
Rekonstruktion des Geheimnisses:Rekonstruktion des Geheimnisses:
secretsecret
9/29
2. Grundlagen – Verifiable Secret 2. Grundlagen – Verifiable Secret SharingSharing
secretsecretss 11 ss22
ss33 ss 44
Probleme bei Shamirs Secret Sharing Verfahren:Probleme bei Shamirs Secret Sharing Verfahren:
10/29
2. Grundlagen – Verifiable Secret 2. Grundlagen – Verifiable Secret SharingSharing
ss 11
ss22 ss33
ss 44
cretsecretse
Probleme bei Shamirs Secret Sharing Verfahren:Probleme bei Shamirs Secret Sharing Verfahren:
11/29
2. Grundlage – Verifiable Secret 2. Grundlage – Verifiable Secret SharingSharing
ss 11 ss 44
cretsecretse
Probleme bei Shamirs Secret Sharing Verfahren:Probleme bei Shamirs Secret Sharing Verfahren:
ss22
ss33
Lösung: Verifiable Secret SharingLösung: Verifiable Secret Sharing
12/29
2. Grundlagen – Distributed Key 2. Grundlagen – Distributed Key Generation (DKG)Generation (DKG)
Ziel: Gemeinschaftliches Erzeugen von Schlüsseln Ziel: Gemeinschaftliches Erzeugen von Schlüsseln Keine Partei kennt den geheimen Schlüssel xKeine Partei kennt den geheimen Schlüssel x
Zur Erzeugung und Verteilung wird keine TTP benötigtZur Erzeugung und Verteilung wird keine TTP benötigt
13/29
x ist zufällig x ist zufällig notwendig für formale Sicherheitsbeweise notwendig für formale Sicherheitsbeweise
2. Grundlagen – Distributed Key 2. Grundlagen – Distributed Key Generation (DKG)Generation (DKG)
Schlüsselerzeugung für Kryptosysteme basierend auf DLOGSchlüsselerzeugung für Kryptosysteme basierend auf DLOG
• Öffentlicher Schlüssel: y = gÖffentlicher Schlüssel: y = gxx
• Teilstück: sTeilstück: sii = f(i) = f(i)
• VSS VSS Verifikaitonswerte, um Korrektheit der Verteilung zu Verifikaitonswerte, um Korrektheit der Verteilung zu überprüfen.überprüfen.
Partei PPartei Pii erhält: erhält:
[GJKR99]: “Secure distributed key generation for Discrete-Log Based Cryptosystems”
Dominierender Faktor des Kommunikationsaufwandes Dominierender Faktor des Kommunikationsaufwandes
Anzahl der zuverlässigen Broadcasts: O(nt)Anzahl der zuverlässigen Broadcasts: O(nt)
14/29
Erzeugung & Verteilung von k Schlüsselpaaren für DLOG Kryptosysteme
3. k-JGRK – Ziele…3. k-JGRK – Ziele…
• Alle Schlüssel werden gemäß einer Gleichverteilung gewählt
• Jeder geheime Schlüssel ist genau einer Partei bekannt
• Robust und sicher
Warum nicht VSS?• Korrumpierte Dealer können geheimen Schlüssel beliebig wählen
Wieso ist die Zufälligkeit von Schlüsseln wichtig?• Formale Sicherheitsbeweise
15/29
3. k-JGRK – Anwendungsgebiete…3. k-JGRK – Anwendungsgebiete…
[GJ04] “Dining Cryptographers Revisited”
• Autoren empfehlen Einsatz von GJKR-DKG
Wahrung der Zufälligkeit der Schlüssel für formalen Sicherheitsbeweis
Aber:• hoher Kommunikationsaufwand O(knt) Broadcasts• Erweiterungen am Protokoll sind notwendig
• Lösung: k-JGRK
• Direkter Ansatz keine zusätzlichen Schritte notwendig
• Reduktion des Kommunikationsaufwandes auf O(kt), k ≥ n
• Erzeugung von k zufälligen Schlüsseln für DC-Netz
16/29
k-JGRK Protokollk-JGRK Protokoll
Initial PhaseInitial Phase(1-mal ausführen)(1-mal ausführen)
JGRK-PhaseJGRK-Phase(k-mal wiederholen)(k-mal wiederholen)
1. GJKR-DKG: Verteilung von X für Schwellenwert ElGamal1. GJKR-DKG: Verteilung von X für Schwellenwert ElGamal
2. GJKR-DKG: Commitments2. GJKR-DKG: Commitments
17/29
3. k-JGRK – Protokoll3. k-JGRK – Protokoll
JGRK PhaseJGRK Phase
1. Gemeinsame Erzeugung von x1. Gemeinsame Erzeugung von xi i für Pfür Pii::
2. Geheimnis x2. Geheimnis xii wird gemäß des Feldman-VSS Verfahrens von P wird gemäß des Feldman-VSS Verfahrens von P ii verteilt verteilt
(Details: nächsten Folien)(Details: nächsten Folien)
In jeder Wiederholung agiert eine Partei PIn jeder Wiederholung agiert eine Partei P i i als Dealerals Dealer
Wiederholungen sind in 2 Schritte untergliedert:Wiederholungen sind in 2 Schritte untergliedert:
• xxii ist gemäß einer Gleichverteilung gewählt ist gemäß einer Gleichverteilung gewählt
• Nur PNur Pii kennt x kennt xii
• Alle Parteien kennen den Verifikationswert AAlle Parteien kennen den Verifikationswert A ii = g = gxxii von x von xii
18/29
3. k-JGRK – Protokoll3. k-JGRK – Protokoll
4. Beispiel: Erzeugung von x (1/4)4. Beispiel: Erzeugung von x (1/4)
r1 ЄR Zq
r4 ЄR Zq
Alle Parteien kennen: r3 ЄR Zq
r2 ЄR Zq
PP11 PP22
PP33 PP44
commitcommit11commitcommit11commitcommit11 commitcommit22
commitcommit44commitcommit44commitcommit44
commitcommit22commitcommit22
Broadcaste commit1
Broadcaste commit2
Broadcast commit4
Da mache ich nicht
mit…
(1)(1)
Disqualifikation von Charlie
Disqualifikation von Charlie
Disqualifikation von Charlie
Voraussetzungen:
Ergebnisse der Initialphase:
Pi ist auf ri festgelegt. Das Commitment istUnconditional Hiding.
19/29
(2)(2)z1 ЄR Zq
z2 ЄR Zq
z4 ЄR Zq
Garantiert, dass es sich beim Wert ri aus dem Commitment um den zufällige Teil des Chiffretextes Ci handelt. Ungültiger BeweisAusschluss
20/29
Alle Parteien kennen:
Voraussetzungen:
Ergebnisse der Initialphase:
4. Beispiel: Erzeugung von x (2/4)4. Beispiel: Erzeugung von x (2/4)
Nach (2) kann jede Partei das folgende Produkt berechnen:
ElGamal ist multiplikativ homomorph C ist Verschlüsselung von:
Warum ist Ftot zufällig in G?
rand ?Wenn das DDH-Problem in G schwierigist, dann erhält ein Angreifer für gegebenen, öffentlichen Schlüssel Y und ChiffretextCi einer ehrlichen Partei Pi keine Informationen über den zugehörigenKlartext Fi.
Zufälligkeit von Ftot kann formal bewiesen werden
Angreifer muss seinenAnteil “?” ohne Kentnissvon “rand” wählen.
Wieso?
21/29
4. Beispiel: Erzeugung von x (2/4)4. Beispiel: Erzeugung von x (2/4)
(3)(3)â ЄR Zq
ÂÂ
Wesentlich für Sicherheit: Nur PD kennt â
22/29
Alle Parteien kennen:Alle Parteien kennen:
Voraussetzungen:
Ergebnisse der Initialphase:
4. Beispiel: Erzeugung von x (3/4)4. Beispiel: Erzeugung von x (3/4)
(4)(4)
Benutze 2 Teil-entschlüsselungen Wi zur Rekonstruktion von Ftot := Decrypt(C)
Überprüfe Korrekthei
t
Überprüfe Korrekthei
t
Überprüfe Korrekthei
t
23/29
Alle Parteien kennen:
Voraussetzungen:
Ergebnisse der Initialphase:
4. Beispiel: Erzeugung von x (4/4)4. Beispiel: Erzeugung von x (4/4)
• x ist zufällig:
• Nur PD kennt x:
• Jede Partei kennt den Verifikationswert A = gx von x:
24/29
4. Beispiel: Erzeugung von x (4/4)4. Beispiel: Erzeugung von x (4/4)
3. k-JGRK – Korrektheit3. k-JGRK – Korrektheit
Definition 1 (t-Korrektheit): Definition 1 (t-Korrektheit): k-JGRK ist t-korrekt, wenn für jeden qualifizierten Dealer P qualifizierten Dealer PD D mit mit
geheimen Schlüssel x und öffentlichen Schhlüssel y=ggeheimen Schlüssel x und öffentlichen Schhlüssel y=gxx die folgenden die folgenden Bedingungen gelten:Bedingungen gelten:
(C2) Alle ehrlichen Parteien besitzen einen identischen öffentlichen (C2) Alle ehrlichen Parteien besitzen einen identischen öffentlichen Schlüssel y=gSchlüssel y=gxx
(C3) x wird zufällig aus Z(C3) x wird zufällig aus Zq q gewählt.gewählt.
(C4) Betrug führt zum Ausschluss(C4) Betrug führt zum Ausschluss
(C1) Jede Teilmenge von t+1 ehrlichen Parteien kann den geheimen (C1) Jede Teilmenge von t+1 ehrlichen Parteien kann den geheimen Schlüssel rekonstruieren.Schlüssel rekonstruieren.
Theorem 1 (t-Korrektheit): Theorem 1 (t-Korrektheit): Wenn die DDH Annahme wahr ist, dann existiert kein probabilistischer, Wenn die DDH Annahme wahr ist, dann existiert kein probabilistischer, polynomiell zeitbeschränkter Angreifer mit höchstens t < n/2 Parteien polynomiell zeitbeschränkter Angreifer mit höchstens t < n/2 Parteien unter Kontrolle, der die Korrektheitseigenschaften aus Definition 1 unter Kontrolle, der die Korrektheitseigenschaften aus Definition 1 aufheben kann.aufheben kann.
25/29
3. k-JGRK – Sicherheit3. k-JGRK – Sicherheit
Definition 2 (t-Sicherheit): Definition 2 (t-Sicherheit): Wir bezeichnen k-JGRK als sicher, wenn kein probabilistischer, Wir bezeichnen k-JGRK als sicher, wenn kein probabilistischer, polynomiellzeitbeschränkter Angreifer Apolynomiellzeitbeschränkter Angreifer ASS existiert, der durch existiert, der durch
Teilnahme am Protokoll den geheimen Schlüssel x einer ehrlichen Teilnahme am Protokoll den geheimen Schlüssel x einer ehrlichen Partei berechnen kann.Partei berechnen kann.
Theorem 2 (t-Korrektheit): Theorem 2 (t-Korrektheit): Wenn die DL Annahme wahr ist, dann existiert kein polynomiell Wenn die DL Annahme wahr ist, dann existiert kein polynomiell zeitbeschränkter Angreifer Azeitbeschränkter Angreifer ASS, der höchstens t < n/2 Parteien unter , der höchstens t < n/2 Parteien unter
seiner Kontrolle hat.seiner Kontrolle hat.
26/29
4. Zusammenfassung4. Zusammenfassung
Anzahl an Broadcasts: O(kt)
Jedes Geheimnis x ist nur einer Partei bekannt
Alle Geheimnisse sind zufällig
Fromale Beweise von Korrektheit und Sicherheit
27/29
4. Weiterführende Ansätze…4. Weiterführende Ansätze…
1. Steigerung der Kommunikationseffizienz durch probabilistische Protokolle?
2. Einsatz unserer Techniken für Kryptosystem, die nicht auf DLOG basieren (z.B. RSA, Paillier)
28/29
Fragen?
http://www.logic-software.de/sfaust/http://www.logic-software.de/sfaust/
? ??
?
29/29
Kryptowochenende, 2. Juli 2006Kryptowochenende, 2. Juli 2006