jointly generating random keys for the fully distributed environment sebastian faust k.u. leuven...

29
Jointly Generating Random Keys for the Fully Distributed Environment Sebastian Faust K.U. Leuven Kryptowochenende, 2. Juli 2006 Kryptowochenende, 2. Juli 2006 http://www.logic-software.de/sfaust/ http://www.logic-software.de/sfaust/ 1/29

Upload: ernst-kares

Post on 05-Apr-2015

102 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Jointly Generating Random Keys for the Fully Distributed Environment Sebastian Faust K.U. Leuven Kryptowochenende, 2. Juli 2006

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

Page 2: Jointly Generating Random Keys for the Fully Distributed Environment Sebastian Faust K.U. Leuven Kryptowochenende, 2. Juli 2006

ÜberblickÜberblick

2. Grundlagen

1. Motivation

3. Das k-JGRK Protokoll

4. Zusammenfassung und weiterführende Ansätze

2/29

Page 3: Jointly Generating Random Keys for the Fully Distributed Environment Sebastian Faust K.U. Leuven Kryptowochenende, 2. Juli 2006

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

Page 4: Jointly Generating Random Keys for the Fully Distributed Environment Sebastian Faust K.U. Leuven Kryptowochenende, 2. Juli 2006

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

Page 5: Jointly Generating Random Keys for the Fully Distributed Environment Sebastian Faust K.U. Leuven Kryptowochenende, 2. Juli 2006

1. Motivation – Überprüfbarkeit1. Motivation – Überprüfbarkeit

Wieso ist Überprüfbarkeit wichtig?Wieso ist Überprüfbarkeit wichtig?

4477

88

47894789

9922

5/29

Page 6: Jointly Generating Random Keys for the Fully Distributed Environment Sebastian Faust K.U. Leuven Kryptowochenende, 2. Juli 2006

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)

Page 7: Jointly Generating Random Keys for the Fully Distributed Environment Sebastian Faust K.U. Leuven Kryptowochenende, 2. Juli 2006

2. Grundlagen – Shamir Secret 2. Grundlagen – Shamir Secret SharingSharing

secretsecretss 11 ss22

ss33 ss 44

Verteilung eines Geheimnisses:Verteilung eines Geheimnisses:

7/29

Page 8: Jointly Generating Random Keys for the Fully Distributed Environment Sebastian Faust K.U. Leuven Kryptowochenende, 2. Juli 2006

2. Grundlagen – Shamir Secret 2. Grundlagen – Shamir Secret SharingSharing

ss 11

ss22 ss33

ss 44

secretsecret

8/29

Rekonstruktion des Geheimnisses:Rekonstruktion des Geheimnisses:

Page 9: Jointly Generating Random Keys for the Fully Distributed Environment Sebastian Faust K.U. Leuven Kryptowochenende, 2. Juli 2006

2. Grundlagen – Shamir Secret 2. Grundlagen – Shamir Secret SharingSharing

ss 11

ss22 ss33

ss 44

Rekonstruktion des Geheimnisses:Rekonstruktion des Geheimnisses:

secretsecret

9/29

Page 10: Jointly Generating Random Keys for the Fully Distributed Environment Sebastian Faust K.U. Leuven Kryptowochenende, 2. Juli 2006

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

Page 11: Jointly Generating Random Keys for the Fully Distributed Environment Sebastian Faust K.U. Leuven Kryptowochenende, 2. Juli 2006

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

Page 12: Jointly Generating Random Keys for the Fully Distributed Environment Sebastian Faust K.U. Leuven Kryptowochenende, 2. Juli 2006

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

Page 13: Jointly Generating Random Keys for the Fully Distributed Environment Sebastian Faust K.U. Leuven Kryptowochenende, 2. Juli 2006

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

Page 14: Jointly Generating Random Keys for the Fully Distributed Environment Sebastian Faust K.U. Leuven Kryptowochenende, 2. Juli 2006

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

Page 15: Jointly Generating Random Keys for the Fully Distributed Environment Sebastian Faust K.U. Leuven Kryptowochenende, 2. Juli 2006

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

Page 16: Jointly Generating Random Keys for the Fully Distributed Environment Sebastian Faust K.U. Leuven Kryptowochenende, 2. Juli 2006

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

Page 17: Jointly Generating Random Keys for the Fully Distributed Environment Sebastian Faust K.U. Leuven Kryptowochenende, 2. Juli 2006

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

Page 18: Jointly Generating Random Keys for the Fully Distributed Environment Sebastian Faust K.U. Leuven Kryptowochenende, 2. Juli 2006

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

Page 19: Jointly Generating Random Keys for the Fully Distributed Environment Sebastian Faust K.U. Leuven Kryptowochenende, 2. Juli 2006

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

Page 20: Jointly Generating Random Keys for the Fully Distributed Environment Sebastian Faust K.U. Leuven Kryptowochenende, 2. Juli 2006

(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)

Page 21: Jointly Generating Random Keys for the Fully Distributed Environment Sebastian Faust K.U. Leuven Kryptowochenende, 2. Juli 2006

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)

Page 22: Jointly Generating Random Keys for the Fully Distributed Environment Sebastian Faust K.U. Leuven Kryptowochenende, 2. Juli 2006

(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)

Page 23: Jointly Generating Random Keys for the Fully Distributed Environment Sebastian Faust K.U. Leuven Kryptowochenende, 2. Juli 2006

(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)

Page 24: Jointly Generating Random Keys for the Fully Distributed Environment Sebastian Faust K.U. Leuven Kryptowochenende, 2. Juli 2006

• 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)

Page 25: Jointly Generating Random Keys for the Fully Distributed Environment Sebastian Faust K.U. Leuven Kryptowochenende, 2. Juli 2006

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

Page 26: Jointly Generating Random Keys for the Fully Distributed Environment Sebastian Faust K.U. Leuven Kryptowochenende, 2. Juli 2006

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

Page 27: Jointly Generating Random Keys for the Fully Distributed Environment Sebastian Faust K.U. Leuven Kryptowochenende, 2. Juli 2006

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

Page 28: Jointly Generating Random Keys for the Fully Distributed Environment Sebastian Faust K.U. Leuven Kryptowochenende, 2. Juli 2006

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

Page 29: Jointly Generating Random Keys for the Fully Distributed Environment Sebastian Faust K.U. Leuven Kryptowochenende, 2. Juli 2006

Fragen?

http://www.logic-software.de/sfaust/http://www.logic-software.de/sfaust/

? ??

?

29/29

Kryptowochenende, 2. Juli 2006Kryptowochenende, 2. Juli 2006