Upload
daniel-smit
View
216
Download
1
Embed Size (px)
Citation preview
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