21
Secure Distributed Computing Gregory Neven (3CW Pr.) Promotor: Prof. Dr. ir. Frank Piessens

Secure Distributed Computing Gregory Neven (3CW Pr.) Promotor: Prof. Dr. ir. Frank Piessens

Embed Size (px)

Citation preview

Page 1: Secure Distributed Computing Gregory Neven (3CW Pr.) Promotor: Prof. Dr. ir. Frank Piessens

Secure DistributedComputing

Gregory Neven (3CW Pr.)

Promotor: Prof. Dr. ir. Frank Piessens

Page 2: Secure Distributed Computing Gregory Neven (3CW Pr.) Promotor: Prof. Dr. ir. Frank Piessens

Algemeen probleem

Fysische oplossing

Concreet protocol

Privacy voor mobiele code

Besluit

2

Overzicht

• Algemene probleemstelling

• Een fysische oplossing: met behulp van speelkaarten

• Een concreet protocol: Goldreich, Micali en Wigderson

• Toepassing: privacy voor mobiele code

• Besluit

Page 3: Secure Distributed Computing Gregory Neven (3CW Pr.) Promotor: Prof. Dr. ir. Frank Piessens

Algemeen probleem

Fysische oplossing

Concreet protocol

Privacy voor mobiele code

Besluit

3

Algemene probleemstelling

• n partijen Pi (i = 1..n)

– hebben elk een geheime invoer xi

– willen f(x1,…,xn) berekenen

– willen geen verdere informatie over xi vrijgeven

– vertrouwen niemand behalve zichzelf

• Opmerking:Pi kan altijd informatie afleiden geïmpliceerd door functieresultaat en xi

onvermijdelijk!

Page 4: Secure Distributed Computing Gregory Neven (3CW Pr.) Promotor: Prof. Dr. ir. Frank Piessens

Algemeen probleem

Fysische oplossing

Concreet protocol

Privacy voor mobiele code

Besluit

5

Vijfkaartentruukje• 5 kaarten, waarvan 3 groene en 2 rode

• beide partijen krijgen 1 rode en 1 groene kaart, overblijvende groene kaart omgekeerd op tafel

• P1 en P2 leggen hun kaarten hierbij in volgorde

bepaald door hun invoer:x1 = 0 x1 = 0 x1 =1 x1 = 1

x2 = 0 x2 = 1 x2 =0 x2 = 1

gg

rg

r

gg

gr

r

gr

gr

g

gr

rg

g

P1

P2

Page 5: Secure Distributed Computing Gregory Neven (3CW Pr.) Promotor: Prof. Dr. ir. Frank Piessens

Algemeen probleem

Fysische oplossing

Concreet protocol

Privacy voor mobiele code

Besluit

6

Vijfkaartentruukje (vervolg)

• P1 en P2 passen om beurten willekeurige

cyclische permutatie toe op stapeltje (afpakken)

drie eerste gevallen niet meer van mekaar te onderscheiden

• stapeltje wordt open op tafel gelegd

• enige mogelijkheid zodat drie groene kaarten (cyclisch gezien) naast mekaar is als x1 = x2 = 1

Page 6: Secure Distributed Computing Gregory Neven (3CW Pr.) Promotor: Prof. Dr. ir. Frank Piessens

Algemeen probleem

Fysische oplossing

Concreet protocol

Privacy voor mobiele code

Besluit

7

Een concreet protocol

• Bedacht door Goldreich, Micali en Wigderson

• Kan willekeurige functie (voorgesteld als booleaans circuit) veilig evalueren voor twee partijen Alice en Bob

• Verloopt in twee fasen:1. Alice: encryptie van het circuit

Alice Bob: geëncrypteerd circuit

2. Bob: evaluatie van het geëncrypteerd circuit

Bob Alice: resultaat

Page 7: Secure Distributed Computing Gregory Neven (3CW Pr.) Promotor: Prof. Dr. ir. Frank Piessens

Algemeen probleem

Fysische oplossing

Concreet protocol

Privacy voor mobiele code

Besluit

8

Notatie• Circuit bestaat uit genummerde draden met

mekaar verbonden door logische AND- en NOT-poorten

• IA = verzameling invoerdraden van Alice• IB = verzameling invoerdraden van Bob• U = verzameling uitvoerdraden• bi = bit die op draad i zou staan als invoer

van Alice en Bob werkelijk aan het circuit aangelegd werd

• Ek(M) = encryptie van boodschap M met sleutel k

Page 8: Secure Distributed Computing Gregory Neven (3CW Pr.) Promotor: Prof. Dr. ir. Frank Piessens

Algemeen probleem

Fysische oplossing

Concreet protocol

Privacy voor mobiele code

Besluit

9

Encryptie van het circuit

• Alice kiest voor elke draad i twee willekeurige bitstrings ri

0 en ri1

• Centraal idee: Bob komt tijdens evaluatie enkel te weten, maar weet niets over

• Hoe?Alice encrypteert codering van uitvoer van elke poort met codering van overeenkomstige invoer als sleutel

• Alice kiest extra bitstring R zodat Bob juiste decryptie kan detecteren

ibir ib

ir

Page 9: Secure Distributed Computing Gregory Neven (3CW Pr.) Promotor: Prof. Dr. ir. Frank Piessens

Algemeen probleem

Fysische oplossing

Concreet protocol

Privacy voor mobiele code

Besluit

10

Encryptie van een NOT-poort

• NOT-poort met invoerdraad in en uitvoerdraad uit

• Alice construeert willekeurige permutatie van het tuple

)(),( 0110 uitruitr

rRErREinin

Page 10: Secure Distributed Computing Gregory Neven (3CW Pr.) Promotor: Prof. Dr. ir. Frank Piessens

Algemeen probleem

Fysische oplossing

Concreet protocol

Privacy voor mobiele code

Besluit

11

Encryptie van een AND-poort

• AND-poort met invoerdraden links en rechts en uitvoerdraad uit

• Alice construeert willekeurige permutatie van het tuple

)(),(

),(),(

10

00

1101

1000

uitrruitrr

uitrruitrr

rRErRE

rRErRE

rechtslinksrechtslinks

rechtslinksrechtslinks

Page 11: Secure Distributed Computing Gregory Neven (3CW Pr.) Promotor: Prof. Dr. ir. Frank Piessens

Algemeen probleem

Fysische oplossing

Concreet protocol

Privacy voor mobiele code

Besluit

12

Doorgeven geëncrypteerd circuit

• Alice Bob:– het geconstrueerde tuple van elke poort– R– de coderingen van haar eigen invoerbits:

• Hoe kan Bob de codering van zijn eigen invoerbits krijgen?

Ab

i Iir i ,

Page 12: Secure Distributed Computing Gregory Neven (3CW Pr.) Promotor: Prof. Dr. ir. Frank Piessens

Algemeen probleem

Fysische oplossing

Concreet protocol

Privacy voor mobiele code

Besluit

13

Oblivious Transfer

• One-out-of-two oblivious transfer– Alice heeft twee strings x0 en x1, Bob heeft

selectiebit s

– Bob krijgt xs zonder Alice daarbij enige informatie te geven over s

– Bob komt niets te weten over

• In het protocol: i IB:– Alice biedt ri

0 en ri1 in oblivious transfer aan

– Bob gebruikt bi als selectiebit

sx

Page 13: Secure Distributed Computing Gregory Neven (3CW Pr.) Promotor: Prof. Dr. ir. Frank Piessens

Algemeen probleem

Fysische oplossing

Concreet protocol

Privacy voor mobiele code

Besluit

14

Evaluatie van het circuit

• Bob kent codering ri* voor alle

invoerdraden

• NOT-poort (in uit):Bob gebruikt als sleutel en decrypteert

*inr *

uitr

)(),( 0110 uitruitr

rRErREinin

Page 14: Secure Distributed Computing Gregory Neven (3CW Pr.) Promotor: Prof. Dr. ir. Frank Piessens

Algemeen probleem

Fysische oplossing

Concreet protocol

Privacy voor mobiele code

Besluit

15

Evaluatie van het circuit (vervolg)

• AND-poort (links, rechts uit):Bob gebruikt als sleutel en decrypteert

• Uiteindelijk heeft Bob codering ri* voor

alle draden i U

**rechtslinks rr

*uitr

)(),(

),(),(

10

00

1101

1000

uitrruitrr

uitrruitrr

rRErRE

rRErRE

rechtslinksrechtslinks

rechtslinksrechtslinks

Page 15: Secure Distributed Computing Gregory Neven (3CW Pr.) Promotor: Prof. Dr. ir. Frank Piessens

Algemeen probleem

Fysische oplossing

Concreet protocol

Privacy voor mobiele code

Besluit

16

Bekendmaken resultaat

• Bob Alice: ri* i U

• Alice vergelijkt ri* met ri

0 en ri1:

ri* = ri

0 bi = 0

ri* = ri

1 bi = 1

• Alice Bob: bi i U

Page 16: Secure Distributed Computing Gregory Neven (3CW Pr.) Promotor: Prof. Dr. ir. Frank Piessens

Algemeen probleem

Fysische oplossing

Concreet protocol

Privacy voor mobiele code

Besluit

17

Veiligheid van het protocol

• Invoer van Alice blijft geheim, want Bob krijgt enkel codering ervan (= reeks volledig willekeurige bits)

• Invoer van Bob blijft geheim, want dankzij oblivious transfer weet Alice niet welke coderingen Bob gekozen heeft

• Tussenresultaten blijft geheim:– Bob ziet enkel codering van tussenresultaten

(= reeks willekeurige bits)– Alice ziet helemaal niets van tussenresultaten

Page 17: Secure Distributed Computing Gregory Neven (3CW Pr.) Promotor: Prof. Dr. ir. Frank Piessens

Algemeen probleem

Fysische oplossing

Concreet protocol

Privacy voor mobiele code

Besluit

18

Privacy voor mobiele code

• Veel onderzoek naar bescherming van uitvoerende host tegen mobiele code:– beschadigen machine (virussen e.d.)– niet-geautoriseerde toegang tot bestanden

• Wat voor bescherming van mobiele code tegen uitvoerende host?Folklore: onmogelijk want mobiele code = klaartekst code en data

Page 18: Secure Distributed Computing Gregory Neven (3CW Pr.) Promotor: Prof. Dr. ir. Frank Piessens

Algemeen probleem

Fysische oplossing

Concreet protocol

Privacy voor mobiele code

Besluit

19

Privacy voor mobiele code (vervolg)

• Bescherming tweevoudig:– Privacy van code en data

host mag programma of data niet kunnen inspecteren

– Integriteit van code en datahost mag programma of data niet doelgericht kunnen wijzigen

Page 19: Secure Distributed Computing Gregory Neven (3CW Pr.) Promotor: Prof. Dr. ir. Frank Piessens

Algemeen probleem

Fysische oplossing

Concreet protocol

Privacy voor mobiele code

Besluit

20

Privacy voor mobiele code (vervolg)

• Voorbeeld: mobiele agent die op zoek gaat naar goedkoopste on-line CD-winkel voor een bepaalde CD, bij die winkel de CD bestelt en per credit card betaalt

• Tweevoudige bescherming:– Privacy van code en data

anders credit card nummer in gevaar

– Integriteit van code en datawijzigen selectiecriteria of vervalsen meegedragen gegevens

Page 20: Secure Distributed Computing Gregory Neven (3CW Pr.) Promotor: Prof. Dr. ir. Frank Piessens

Algemeen probleem

Fysische oplossing

Concreet protocol

Privacy voor mobiele code

Besluit

21

• Uitvoeren van geëncrypteerde code zonder te moeten decypteren?

• Mogelijk m.b.v. Secure Distributed Computing indien– universeel circuit– niet-interactief protocol

Privacy voor mobiele code (vervolg)

Page 21: Secure Distributed Computing Gregory Neven (3CW Pr.) Promotor: Prof. Dr. ir. Frank Piessens

Algemeen probleem

Fysische oplossing

Concreet protocol

Privacy voor mobiele code

Besluit

22

Besluit

• Boeiend probleem met interessante toepassingen

• Vernuftige oplossingen in de literatuur– twee of meerdere partijen– kracht van tegenstanders– interactief of niet-interactief

• Laatste woord zeker nog niet gevallen– efficiënte niet-interactieve protocols– toepassing-specifieke protocols