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

Post on 04-Jun-2015

216 views 1 download

Transcript of 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

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

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!

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

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

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

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

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

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

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

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 ,

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

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

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

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

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

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

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

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

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)

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