Universal Composability en Indifferentiability · bedrijf betrokken zijn die spioneren voor de...

31
P. Rogaar Universal Composability en Indifferentiability Bachelorscriptie, 24 augustus 2009 Scriptiebegeleider: dr. D. Hofheinz Mathematisch Instituut, Universiteit Leiden

Transcript of Universal Composability en Indifferentiability · bedrijf betrokken zijn die spioneren voor de...

Page 1: Universal Composability en Indifferentiability · bedrijf betrokken zijn die spioneren voor de concurrent, of de legitieme toegangsweg tot het protocol is openbaar toegankelijk zoals

P. Rogaar

Universal Composability en Indifferentiability

Bachelorscriptie, 24 augustus 2009

Scriptiebegeleider: dr. D. Hofheinz

Mathematisch Instituut, Universiteit Leiden

Page 2: Universal Composability en Indifferentiability · bedrijf betrokken zijn die spioneren voor de concurrent, of de legitieme toegangsweg tot het protocol is openbaar toegankelijk zoals

2

Page 3: Universal Composability en Indifferentiability · bedrijf betrokken zijn die spioneren voor de concurrent, of de legitieme toegangsweg tot het protocol is openbaar toegankelijk zoals

Inhoudsopgave

1 Voorwoord 5

2 Definities 7

2.1 Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.2 Adversary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.3 Securityparameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92.4 Omgeving . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102.5 Emulatie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.6 Formele definities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

2.6.1 Interactieve Turingmachine . . . . . . . . . . . . . . . . . . . . . . 122.6.2 Adversary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132.6.3 Omgeving . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132.6.4 Computationeel ononderscheidbaar . . . . . . . . . . . . . . . . . . 142.6.5 Protocollen uitvoeren . . . . . . . . . . . . . . . . . . . . . . . . . 15

3 Universal Composition 17

3.1 Samenstelling van protocollen . . . . . . . . . . . . . . . . . . . . . . . . . 173.2 Dummy adversary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173.3 Compositiestelling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193.4 Bewijs van de compositiestelling . . . . . . . . . . . . . . . . . . . . . . . 20

4 Indifferentiability 25

4.1 Begrippen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254.2 Indistinguishable en indifferentiable . . . . . . . . . . . . . . . . . . . . . . 264.3 Compositiestelling en problemen bij het bewijzen . . . . . . . . . . . . . . 27

3

Page 4: Universal Composability en Indifferentiability · bedrijf betrokken zijn die spioneren voor de concurrent, of de legitieme toegangsweg tot het protocol is openbaar toegankelijk zoals

4

Page 5: Universal Composability en Indifferentiability · bedrijf betrokken zijn die spioneren voor de concurrent, of de legitieme toegangsweg tot het protocol is openbaar toegankelijk zoals

Hoofdstuk 1

Voorwoord

In de wereld van de cryptologie worden oplossingen bestudeerd voor uiteenlopende pro-blemen die zich alle kenmerken door twee zaken. Ten eerste is daar het doel dat bereiktmoet worden - denk aan een bancaire transactie, of een geheime berekening. Ten tweedeis er een abstracte aanvallende instantie, die de adversary wordt genoemd. Deze aanval-ler kan uit meerdere systemen bestaan, maar voor de zekerheid wordt aangenomen datdie allemaal samenwerken.

Het doel dat bereikt moet worden met de gezochte oplossing, kan zo eenvoudig zijnals twee instanties die samen een random bit willen genereren, of vele malen complexer- online veilingen en verkiezingen zijn maar twee voorbeelden. Vaak wordt voor hetbereiken van de eenvoudige doelstellingen effectief gebruik gemaakt van bepaalde (mo-gelijk onbewezen) getaltheoretische eigenschappen. Voor de complexere doelstellingen isdat niet altijd doenlijk, en zodoende wordt gepoogd de doelstelling te bereiken door dekleinere cryptografische primitieven te combineren tot een groter geheel met de gewensteeigenschappen. Hierbij dient zich echter een probleem aan. Hoe weten we dat de eigen-schappen die een bepaalde methode op zich heeft, ook in een groter geheel geplaatst noggelden? Met andere woorden, we hebben een kader nodig waarin we kunnen beschrij-ven welke eigenschappen van een methode bewaard blijven, wat de omgeving ook voorinvloed vormt.

Neem bijvoorbeeld het volgende scenario: RSA-versleuteling kan gebruikt worden omberichten te versleutelen met een publieke sleutel, zodat de ontvanger zijn geheime sleutelkan gebruiken om deze te ontsleutelen. Is deze encryptie geschikt om gebruikt te wordenin een protocol voor een online veiling? Misschien hebben berichten uit dat protocol eenbepaalde voorspelbare structuur (denk aan ‘voorwerp, bod’) waaruit de sleutel stiekemverkregen kan worden. Mogelijk kan een van de verkopers zijn rol misbruiken door als‘man-in-the-middle’ op te treden. Het is zelfs denkbaar dat er aanvallen mogelijk zijnop de RSA-methode die we nu niet kunnen bedenken. Wat we nodig hebben, is eenbeschrijving van de eigenschappen die RSA-versleuteling heeft, ongeacht de omgeving.

5

Page 6: Universal Composability en Indifferentiability · bedrijf betrokken zijn die spioneren voor de concurrent, of de legitieme toegangsweg tot het protocol is openbaar toegankelijk zoals

Universal Composability is een raamwerk dat ontwikkeld is door Ran Canetti om dezebeschrijving te kunnen leveren. Uit deze methode van beschrijven volgen ook enkelestellingen over de veiligheid van systemen die uit dergelijke componenten opgebouwdzijn.

In deze scriptie zal in worden gegaan op de verschillende aspecten van dergelijke be-schrijvingen in componenten. Ook zal de compositiestelling besproken worden, waarmeeeigenschappen van componenten kunnen worden gebruikt als basis voor bewijzen overde geldigheid van grotere protocollen. Verder zal, om een en ander breder te beschou-wen, ook het raamwerk van indifferentiability worden besproken zoals dat in [Maureret al., 2004] geıntroduceerd is. In dit raamwerk kan de compositiestelling ook geformu-leerd worden, maar het overbrengen van het bewijs naar het andere raamwerk heeft watvoeten in de aarde. Enkele problemen die zich voordoen, worden in sectie 4.3 besproken.

6

Page 7: Universal Composability en Indifferentiability · bedrijf betrokken zijn die spioneren voor de concurrent, of de legitieme toegangsweg tot het protocol is openbaar toegankelijk zoals

Hoofdstuk 2

Definities

Omdat er veel begrippen in dit raamwerk besproken zullen worden die mogelijk nogniet bekend zijn bij de lezer, zal er voorafgaand aan een formelere bespreking, geschetstworden wat de ideeen achter de besproken concepten zijn. In sectie 2.6 zullen deze ideeenmet formelere structuren in verband gebracht worden.

2.1 Protocol

In het veld van computercommunicatie is een protocol een bepaalde functionaliteit diegerealiseerd kan worden. De uitwerking van deze functionaliteit kan op verschillendeniveaus beschreven zijn.

Op heel abstract niveau valt hierbij te denken aan een zwarte doos waarop een aantalgebruikers aangesloten is; Zij geven hun invoer door via een niet af te luisteren kanaalaan de doos, en krijgen even later het resultaat van het protocol terug. We noemen dezebeschrijving, die sterk gebaseerd is op de wensen van de gebruikers, ook wel een ideaalprotocol. Als deze abstractie bij een bezoek aan de groenteboer wordt ingezet, zal datongeveer als volgt verlopen.

Een klant loopt binnen bij de groenteboer en wil een komkommer kopen. In de winkelstaat een grote zwarte doos, aan wie de klant zijn portemonnee en boodschappenlijstjegeeft. De groenteboer geeft al zijn groenten aan de doos, waarna deze een komkommer,het boodschappenlijstje met het woord ‘komkommer’ doorgestreept en de portemonneemet iets minder geld teruggeeft aan de klant, en wat geld en de rest van de groenten aande groenteboer.

Deze notie kan gebruikt worden bij allerlei doelstellingen. Bij een veiling geven alle par-tijen hun biedingen door, waarna de doos bekendmaakt aan iedereen wie er gewonnenheeft. Bij een identificatieproces geeft degene die zich legitimeert zijn geheime sleuteldoor en de controlerende partij de identiteit die bevestigd dient te worden, waarna de

7

Page 8: Universal Composability en Indifferentiability · bedrijf betrokken zijn die spioneren voor de concurrent, of de legitieme toegangsweg tot het protocol is openbaar toegankelijk zoals

doos doorgeeft aan de controleur of de gelegitimeerde persoon inderdaad de bedoeldeidentiteit heeft. Alle partijen vertrouwen de zwarte doos om de gestelde functionaliteitmet het juiste resultaat uit te voeren. In die zin is het hier weergegeven protocol ide-aal, daar het slechts een ideale versie schetst van de communicatie tussen de protocollen.Door gebruik te maken van de betrouwbare zwarte doos, kunnen problemen bij de trans-actie ook vermeden worden. Helaas leven we niet in een wereld met betrouwbare zwartedozen, en zullen we een ander protocol voor onze transactie, een ’reeele’ variant op hetideale protocol, moeten maken, die uiteindelijk toch hetzelfde bereikt. Het voorbeeldvan een bezoek aan de groenteboer staat in een dergelijke formulering ook dichter bij degebruikelijke ervaring in een winkel.

Een klant loopt binnen bij de groenteboer en wil een komkommer kopen. Hij stapt naarde balie toe en zegt gedag. De groenteboer vraagt wat hij wil kopen, de klant zegt:“Een komkommer”. De groenteboer noemt een prijs, en de klant knikt. De groenteboerpakt een komkommer en legt deze op de toonbank. De klant pakt het bedrag uit zijnportemonnee en legt dit ook op de toonbank. Beide partijen pakken hun nieuwe bezitvan de toonbank en bergen het weg.

In deze formulering komen meerdere stappen naar voren: Eerst is er een ontmoetingsfase,waarbij beide partijen hun wensen uiten. De afhandelingsfase volgt, waarna in een ’gelijkoversteken’-proces beide partijen eigenaar worden van de gewenste zaken.

Dit verschil tussen reele en ideale protocollen staat centraal in onze verdere bespreking.Steeds zoeken we een reeel protocol om de eigenschappen van een ideaal protocol zo goedmogelijk na te doen. In deze scriptie zullen we uitgaan van een abstractere formulering,omdat deze door het algemene karakter een grotere uitdrukkingskracht in onze onder-werpen representeert. In deze context zullen we protocollen vaak met π of ρ noteren, of,als we spreken over een ideaal protocol, met ϕ.

2.2 Adversary

De twee beschrijvingen die in de vorige paragraaf gegeven zijn, zijn licht verwant. Uit-eindelijk hebben ze het zelfde resultaat, als er geen rare dingen gebeuren. Immers, ineen groentewinkel zijn meer klanten die zich met de transactie kunnen bemoeien, en ookde andere medewerkers van de groenteboer kunnen de transactie beınvloeden. In heteerste geval maakt dit niet uit. Immers, de zwarte doos regelt de hele transactie voor deklant en de winkelier, waardoor anderen niet de kans krijgen het proces te verstoren. Inhet tweede geval zou dit bijvoorbeeld kunnen leiden tot diefstal van het geld en de kom-kommer terwijl ze op de toonbank liggen, of het stiekem vervangen van de komkommerdoor een mandarijn.

Net zo beschouwen we bij protocollen situaties waarbij een kwaadwillende derde partijde manier van het afwerken van het protocol wil beınvloeden. Deze partij kan hierdoordoeleinden bereiken die niet wenselijk zijn voor de legitiem deelnemende partijen. In

8

Page 9: Universal Composability en Indifferentiability · bedrijf betrokken zijn die spioneren voor de concurrent, of de legitieme toegangsweg tot het protocol is openbaar toegankelijk zoals

concrete protocollen voor computercommunicatie kan dit bijvoorbeeld betekenen dat eenbuitenstaander in staat is om de geboden bedragen in een veiling te achterhalen en zoeenvoudig de veiling met een zo klein mogelijk hoger bod kan winnen, of zelfs de biedingenvan anderen kan blokkeren. Soms zouden verschillende buitenstaanders met verschillendemogelijkheden kunnen samenwerken om een doel te bereiken; Daarom modelleren wedeze tegenstanders als een partij die de beschikking heeft over al hun mogelijkheden.Deze partij, die we de adversary noemen, heeft hierdoor alle mogelijkheden die iederegroep samenwerkende buitenstaanders kan hebben.

De adversary, die vaak met A of S wordt aangeduide, kan niet alleen communicatie tussenverschillende partijen afluisteren en manipuleren, maar ook partijen die deelnemen aanhet protocol aanwijzen om ze te corrumperen. Deze notie modelleert het idee dat ereen aantal partijen van binnenuit samenwerken met de adversary. In de praktijk is ditrealistisch; Bij het uitvoeren van het protocol kunnen bijvoorbeeld medewerkers van hetbedrijf betrokken zijn die spioneren voor de concurrent, of de legitieme toegangswegtot het protocol is openbaar toegankelijk zoals bijvoorbeeld bij het inloggen voor eenwebsite.

2.3 Securityparameter

We hebben het in de voorgaande secties gehad over partijen die protocollen uitvoeren ende adversary die daar op ongewenste wijze tegenin gaat. In sommige gevallen kunnen weeen protocol maken dat een doelstelling zo realiseert, dat wat de adversary daar ook tegenkan doen, het nooit zal lukken om het protocol te compromitteren. Bij veel doelstellingenkunnen we echter bewijzen dat ze niet te realiseren zijn met een protocol dat zo veiligis. Een voorbeeld hiervan is publieke-sleutel encryptie. Hierbij wordt een paar sleutelsgegenereerd, waarbij de ene de publieke sleutel en de andere de geheime sleutel wordtgenoemd. Deze publieke sleutel wordt vervolgens aan iedereen bekendgemaakt. Dezesleutels zijn zo geconstrueerd, dat berichten die met de publieke sleutel versleuteld zijn,met de geheime sleutel te ontcijferen zijn. Echter, door alle mogelijke geheime sleutelsaf te gaan en de bijbehorende publieke sleutel te berekenen kunnen we eenvoudig eengeheime sleutel vinden voor een bepaalde publieke sleutel. Aangezien de geheime sleuteldan bekend is, is het encryptieschema niet veilig meer.

Dit voorbeeld geeft aan dat we problemen willen kenmerken aan de hand van hun moei-lijkheidsgraad. Immers, het genereren van de sleutels moet gemakkelijk zijn, net als hetversleutelen en ontcijferen met gegeven sleutels, maar het vinden van de geheime sleutelals de publieke sleutel gegeven is, moet moeilijk zijn, net als het ontcijferen van een ver-sleuteld bericht als de geheime sleutel niet beschikbaar is. Maar wat is moeilijk? Als hetmeer dan een zeker aantal, zeg een miljard, stappen op een computer vergt? Een paarjaar later is een moeilijk probleem dan misschien opeens helemaal niet zo moeilijk meerop te lossen, omdat de beschikbare computerkracht is toegenomen. Mogelijk komen erook nieuwe algoritmen beschikbaar om zo’n probleem sneller op te kunnen lossen - dit

9

Page 10: Universal Composability en Indifferentiability · bedrijf betrokken zijn die spioneren voor de concurrent, of de legitieme toegangsweg tot het protocol is openbaar toegankelijk zoals

kan het oplossen van een voorheen als lastig ervaren probleem totaal triviaal maken.

Uit het voorgaande blijkt dat de moeilijkheidsgraad van een opgave uitgedrukt magworden in hoe groot de invoer is – een moeilijke opgave mag best snel op te lossenzijn voor kleine invoerwaarden, als de benodigde tijd maar heel snel groter wordt alsde invoer groter wordt. Blijft de berekening relatief eenvoudig, dan noemen we hetprobleem gemakkelijk.

Willen we dit formeler definieren, dan hebben we het concept van een Turingmachinenodig. Een Turingmachine is een abstract logisch concept dat programma’s kan draaien.Het heeft veel weg van een computer en voor al onze doeleinden kunnen we er vanuitgaan dat waar we het over een Turingmachine hebben die een programma draait, wehet over een computer hebben die deze berekening uitvoert. We gaan er hier verder vanuit dat onze Turingmachines probabilistisch zijn, dus dat onze computer ook algoritmenuit kan voeren die een element van willekeurigheid vergen. Op de verschillen tussendeterministische en probabilistische Turingmachines gaan we hier niet verder in.

Stel dat er een Turingmachine bestaat die een bepaald soort probleem voor ons op-lost. Beschouwen we nu het aantal rekenstappen dat nodig is voor het vinden van deoplossing, dan hangt dat aantal mogelijk af van de moeilijkheidsgraad van de gekozeninstantie van het probleem – hierbij valt bijvoorbeeld te denken aan de lengte van eente factoriseren getal of het aantal decimalen dat we van π willen vinden. Als dit aantalstappen naar boven begrensd wordt door een functie die polynomiaal is in de securitypa-rameter voor alle instanties, dan noemen we de Turingmachine PPT, hetwelk staat voorProbabilistisch Polynomiale Tijd. Dit correspondeert met onze eerdergenoemde notievan gemakkelijke problemen, oftewel problemen met een gemakkelijke oplossing. Is ergeen PPT Turingmachine die ons probleem oplost, dan is het probleem moeilijk (i.e. eris dan geen gemakkelijke oplossing).

Als een cryptosysteem gebruik maakt van computationele aannames, dan wordt aange-noment dat er voor een bepaald probleem geen PPT Turingmachines bestaan die datprobleem oplossen. Dit betekent dat als we een moeilijke instantie van het probleemkiezen, zoals een groot te factoriseren getal, dat het oplossen dan heel snel moeilijkerwordt. Omdat de veiligheid van ons cryptosysteem afhangt van de moeilijkheidsgraadvan het corresponderende probleem, noemen we dit getal de securityparameter van hetsysteem.

2.4 Omgeving

Bij het beschouwen van samenstellingen van protocollen, waarbij een klein protocol op-treedt als subprotocol van een ander, willen we dat eigenschappen van het grote protocolgeen invloed hebben op de eigenschappen van het kleinere protocol. Met andere woorden,wat er ook gebeurt met het kleine protocol, de eigenschappen blijven overeind.

10

Page 11: Universal Composability en Indifferentiability · bedrijf betrokken zijn die spioneren voor de concurrent, of de legitieme toegangsweg tot het protocol is openbaar toegankelijk zoals

Dat een protocol op verscheidene manieren gebruikt kan worden door de partijen en deadversary wordt gemodelleerd met behulp van een omgeving. Deze omgeving, die wevaak met Z noteren, is in feite ook een PPT Turingmachine die het uitvoeren van hetprotocol en de verschillende partijen op zich neemt. Als we de omgeving uitvoeren, zaldeze eerst de adversary aanroepen en vervolgens de verschillende partijen het protocol uitlaten voeren. De uitvoer van de omgeving na het uitvoeren van alle partijen noemen wehet resultaat van het uitvoeren van het protocol. Per protocol kunnen er vele omgevingengedefinieerd worden. Er zijn immers veel verschillende manieren om met een protocolom te gaan.

Het idee van een omgeving heeft geen concrete parallel – er is in ons voorbeeld van hetbezoek aan de groenteboer geen entiteit die de verschillende partijen aanstuurt om deaankoop van een komkommer te bewerkstelligen. In stellingen en beschrijvingen vervultde omgeving altijd dezelfde rol: Het is een omschrijving van de manier waarop hetprotocol uitgevoerd wordt door de deelnemers en de adversary.

2.5 Emulatie

Om veiligheidseigenschappen te kunnen definieren op een algemene manier, kunnen wegeen gebruik maken van conventionele cryptografische termen – immers, ook als er nieu-we aanvalsmethoden ontstaan, moet ons protocol daartegen bestand zijn. Als we denkenaan aanvallen op een reele implementatie van een protocol, dan bedoelen we aanvallendie de functionaliteit beperken – bijvoorbeeld omdat een sleutel niet meer geheim is. Defunctionaliteit die de correcte werking van een protocol beschrijft, definieert een ideaalprotocol dat correspondeert met de reeele implementatie – net zoals het zwartedoos-voorbeeld van de groenteboer een ideaal protocol is bij de reele implementatie van deuitwisseling bij de kassa.

Stel dat de omgeving de partijen bestuurt bij het uitvoeren van het protocol en dat allesgoed loopt – i.e., de adverary doet niets en communiceert niet met de omgeving. Opgeen enkele manier is nu voor de omgeving te onderscheiden of hij te maken heeft methet ideale protocol of een reele implementatie daarvan – immers, de boodschappen zijngelijk, dus als we de omgeving vragen te raden of het om een ideaal of een reeel protocolgaat, dan is de kans dat deze goed raadt, niet hoger dan 1

2 . We eisen hier dat de partijendie deelnemen aan het protocol, zich in principe (dus zonder externe beınvloeding doorde adversary) netjes aan het protocol houden. Dit is geen beperking, omdat we iederepartij die afwijkt van het protocol, modelleren alsof deze daartoe wordt aangezet doorde adversary. Door het samenvoegen van de kennis en de besturing van alle afwijkendeelementen, ontstaat de sterkst mogelijke situatie voor de aanvallers, die daardoor hunacties naar believen kunnen afstemmen en synchroniseren.

De zaken staan er anders voor als de adversary zich bezig gaat houden met de uitvoeringvan het protocol. Immers, hij is in staat om communicatie af te luisteren en te veranderen

11

Page 12: Universal Composability en Indifferentiability · bedrijf betrokken zijn die spioneren voor de concurrent, of de legitieme toegangsweg tot het protocol is openbaar toegankelijk zoals

en partijen te corrumperen. Dit kan een flinke invloed hebben op de correcte uitvoeringvan het protocol, en omdat de adversary informatie door kan spelen aan de omgeving,kan ook de omgeving merken dat de uitvoering anders verloopt. Mocht een dergelijkeaanval niet mogelijk zijn op het ideale protocol, dan betekent dat dat een dergelijkeadversary de omgeving in staat stelt onderscheid te maken tussen het draaien van hetideale en het reele protocol. Merk op dat dit een noodzakelijke voorwaarde is om gebruikte kunnen maken van zwakheden in de reele implementatie van een protocol – immers,als er geen efficiente manier is om onderscheid te maken tussen het reele en het idealeprotocol, dan is er zeker geen manier om het reele protocol te misbruiken op een manierdie niet correspondeert met een aanval op het ideale protocol.

2.6 Formele definities

2.6.1 Interactieve Turingmachine

Een Interactieve Turingmachine (ITM) is een formalisatie van het concept van een com-puterprogramma dat op een computer draait, waarbij het ook met andere programma’skan communiceren. Een Turingmachine bestaat uit een stel (papier)stroken1 waaropgegevens bijgehouden kunnen worden en instructies om, eventueel na het invoeren vangegevens van de stroken en het uitvoeren van logische operaties op de gegevens, deze wegte schrijven naar deze of andere stroken. Een ITM heeft bovendien de mogelijkheid omsommige (extern beschrijfbare) stroken van andere ITM’s te beschrijven en op sommigestroken gegevens van andere ITM’s te ontvangen. Dit geeft een ITM de mogelijkheid omte communiceren met andere ITM’s. Een ITM heeft de beschikking over de volgendestroken:

• Een extern beschrijfbare strook genaamd identiteit.

• Een extern beschrijfbare strook genaamd securityparameter.

• Een extern beschrijfbare strook genaamd invoer.

• Een extern beschrijfbare strook genaamd inkomendecommunicatie.

• Een extern beschrijfbare strook genaamd subroutine − uitvoer.

• Een strook genaamd uitvoer.

• Een strook genaamd random.

• Een een bit lange strook genaamd activering.

• Een strook genaamd werkstrook.

1Het woordgebruik rond Turingmachines, in het bijzonder de stroken waarmee gewerkt wordt, doet

mogelijk vermoeden dat Turingmachines werkelijk gebouwd en gebruikt worden. Dit is niet het geval:

het zijn zuiver logische hulpmiddelen

12

Page 13: Universal Composability en Indifferentiability · bedrijf betrokken zijn die spioneren voor de concurrent, of de legitieme toegangsweg tot het protocol is openbaar toegankelijk zoals

Het uitvoeren van een ITM is een proces dat van buitenaf in gang gezet wordt. Tijdenshet uitvoeren gebeurt het volgende:Het initierende proces beschrijft enkele stroken van de ITM. De strook identiteit wordtgevuld met de gewenste identiteit van deze instantie van de ITM. De strook getiteldsecurityparameter wordt beschreven met een bitstring die bestaat uit een aantal enen2.Het initierende proces schrijft verder een voldoende lange random string op random entenslotte de invoer voor de code van het proces op invoer. De code van de Turingmachinegaat nu aan de slag om aan de hand van de invoer op invoer, inkomendecommunicatie

(afkomstig van het netwerk tijdens het uitvoeren) en subroutine − uitvoer (afkomstigvan subroutines van de ITM) berekeningen te verrichten. Gedurende deze berekenin-gen kan de ITM schrijven op de stroken werkstrook, bedoeld als intern geheugen, en deinkomendecommunicatie van andere ITM’s. Tevens kan hij andere ITM’s als subroutineaanspreken, waarbij hij nu zelf het initierende proces is. Aan het einde van de bere-kening geeft de ITM een bepaalde uitvoer op zijn strook uitvoer. Deze uitvoer wordtteruggegeven aan de instantie die de ITM oorspronkelijk aangeroepen heeft. Onze ITM’szullen begrensd zijn in het aantal rekenstappen dat ze kunnen maken door de security-parameter. Het aantal stappen dat de ITM maakt, moet een polynomiale functie zijnin de securityparameter k. In dit geval spreken we van een Polynomiale tijd Probabi-listische Turingmachine (PPT). We noemen de ITM gecombineerd met de gegevens diedoor het initierende proces op de stroken geschreven worden, tezamen wel een instantievan de ITM, afgekort een ITI. In sectie 2.6.5 wordt verder ingegaan op het uitvoerenvan een protocol als een systeem van ITM’s. Voor een diepgaandere behandeling vanhet uitvoeren van een ITM, zie sectie 3.2 en 3.3 van [Canetti, 2005].

2.6.2 Adversary

Ook de adversary wordt geınterpreteerd als een ITM. Als een protocol uitgevoerd wordt,is de adversary, die we met A noteren, een ITM die door de omgeving aangeroepen wordt,en deze heeft op zijn beurt meerdere mogelijkheden. Ten eerste kan A uitvoer aan hetinitierende proces geven door deze te schrijven naar zijn uitvoer. Ten tweede kan Aberichten afleveren bij de verschillende andere ITM’s op hun inkomendecommunicatie.Ten derde kan A ook partijen corrumperen door hun een speciaal bericht te sturen,maar dit laatste is alleen mogelijk indien A daarom gevraagd wordt door zijn initierendepartij.

2.6.3 Omgeving

In een systeem van ITM’s is er sprake van een initiele ITM, die als eerste gestart wordten vervolgens de rest van de ITM’s aanroept. In ons kader noemen we deze ITM de

2Omdat we de complexiteit van ITM’s bepalen aan de hand van de lengte van de input en niet de

waarde ervan, wordt de securityparameter doorgegeven als een bitstring van een bepaalde lengte, niet

als een bepaald getal.

13

Page 14: Universal Composability en Indifferentiability · bedrijf betrokken zijn die spioneren voor de concurrent, of de legitieme toegangsweg tot het protocol is openbaar toegankelijk zoals

omgeving Z, vanwege de interpretatie die mogelijk is als ’het grotere protocol’ waar-binnen dit systeem uitgevoerd wordt. Verder definieert men een controlefunctie dieaangeeft of bepaalde schrijfoperaties toegestaan zijn. Zo mag een ITM niet zomaar opinkomendecommunicatie van een andere ITM schrijven, aangezien alle communicatie doorA gecontroleerd wordt. Deze controlefunctie staat dus communicatie vanaf alle ITM’snaar inkomendecommunicatie van A toe. A op zijn beurt mag, zoals in 2.6.2 besproken,zelf berichten bedenken en afleveren bij de verschillende ITM’s. In het bijzonder kan Adus kiezen een bericht dat hij binnenkrijgt van een ITM door te sturen (na eventueleaanpassingen) aan andere ITM’s. Alle ITM’s mogen wel communiceren met Z.

2.6.4 Computationeel ononderscheidbaar

In de complexiteitsleer wordt vaak uitgedrukt hoe groot een functie is, uitgedrukt in eenzekere parameter k (in het kader van cryptografie en protocollen: de securityparameter).

Definitie 2.1. We noemen een functie f : N → R verwaarloosbaar in k (negligible,notatie f = negl(k)) indien ∀c ∈ N ∃N0 ∈ N ∀k > N0 geldt dat

|f(k)| <1

kc.

Met andere woorden, als men f met een reciproke van een polynomiale functie vergelijkt,zal f op de lange duur dichter bij nul komen.Definitie 2.2. Zij X = (Xn)n∈N en Y = (Yn)n∈N twee families stochasten. Als we deuitvoer y van een Turingmachine A op invoer x aangeven met A(x) = y, dan noemenwe deze families stochasten computationeel ononderscheidbaar indien geldt dat voor allePPT A

Prx←Xn

[A(x) = 1] − Pry←Yn

[A(y) = 1]

= negl(n).

In dat geval noteren we X ≈C Y .

Met andere woorden, er is geen efficiente methode om een significante voorsprong tehebben bij het raden uit welk van de twee families een bepaalde gerealiseerde waardekomt. De relatie ≈C is transitief.Lemma 2.1 (Transitiviteit van ≈C). Zij X = (Xn)n∈N, Y = (Yn)n∈N en Z = (Zn)n∈N

drie families stochasten, zodanig dat X ≈C Y en Y ≈C Z. Dan geldt X ≈C Z.

Bewijs. Zij X = (Xn)n∈N, Y = (Yn)n∈N en Z = (Zn)n∈N drie families stochasten,willekeurig gegeven. Stel dat X ≈C Y en Y ≈C Z, dan geldt per definitie van ≈C datvoor alle PPT A:

Prx←Xn

[A(x) = 1] − Pry←Yn

[A(y) = 1]

= negl(n)

14

Page 15: Universal Composability en Indifferentiability · bedrijf betrokken zijn die spioneren voor de concurrent, of de legitieme toegangsweg tot het protocol is openbaar toegankelijk zoals

en∣

Pry←Yn

[A(y) = 1] − Prz←Zn

[A(z) = 1]

= negl(n).

Nu geldt, via de driehoeksongelijkheid, dat voor alle PPT A:

Prx←Xn

[A(x) = 1] − Prz←Zn

[A(z) = 1]

Prx←Xn

[A(x) = 1] − Pry←Yn

[A(y) = 1]

+

Pry←Yn

[A(y) = 1] − Prz←Zn

[A(z) = 1]

= negl(n).

Derhalve is dan ook X ≈C Z.

Het concept van computationele ononderscheidbaarheid heeft een concrete interpretatiebij de emulatie van protocollen zoals eerder beschreven. Hierbij moet de omgeving on-derscheid maken: Is, met alle uitvoer van de verschillende ITM’s, er efficient onderscheidte maken tussen het resultaat van het uitvoeren van het ene protocol of het andere? Indat licht moet de definitie zoals gegeven in sectie 2.5 gezien worden: Of we nu het eneof het andere protocol nemen, bestaat er een PPT Z die onderscheid kan maken, dus iser een denkbaar kader waarbinnen het uitmaakt welke je gebruikt?

2.6.5 Protocollen uitvoeren

Het uitvoeren van een protocol komt neer op het verenigen van alle bovengenoemdeconcepten. Van een verzameling PPT’s wordt als eerste de omgeving Z geactiveerd,met een bepaalde securityparameter. In de uitvoering van Z is de adversary A deeerstvolgende PPT die geactiveerd wordt. Deze PPT’s kunnen nu beide nieuwe PPT’saanroepen, zoals instanties van het protocol dat uitgevoerd wordt. De controlefunctievan het systeem PPT’s regelt de communicatiemogelijkheden. Als een instantie van hetprotocol een andere instantie activeert, dan ontvangt deze de uitvoer van deze instantiedirect. Echter, als twee protocolinstanties die naast elkaar bestaan, met elkaar willencommuniceren, dan dient de verzender zijn bericht naar A te versturen, waarna A demogelijkheid heeft om een bericht naar de oorspronkelijke ontvanger te sturen. Merkop dat als A alleen afluistert (we spreken dan van een passieve adversary), dat A deberichten dan slechts direct doorspeelt naar de ontvanger.

De omgeving houdt bij welke partijen er door de adversary gecorrumpeerd worden. Detoestemming om een partij te corrumperen moet van de omgeving Z komen: ZodraA door Z geınstrueerd wordt een partij µ te corrumperen, stuurt A een bericht naarµ om de corruptie tot stand te brengen. Vanaf het ontvangstmoment van het berichtdoor µ laat µ alle informatie en veranderingen in toestand direct aan A weten, en allecommunicatie van µ verloopt nu via A.

15

Page 16: Universal Composability en Indifferentiability · bedrijf betrokken zijn die spioneren voor de concurrent, of de legitieme toegangsweg tot het protocol is openbaar toegankelijk zoals

Het idee uit sectie 2.5 is te formaliseren tot een notie die we UC-emulatie noemen, waarbijUC staat voor Universal Composability. We noteren met EXECπ,A,Z de uitvoer vanZ na het draaien van het protocol π met adversary A. We zeggen dat een protocolπ een ander protocol ϕ UC-emuleert indien voor iedere PPT adversary A er een PPTadversary S bestaat zodanig dat voor alle omgevingen Z er geldt dat

EXECϕ,S,Z ≈C EXECπ,A,Z .

De ≈C staat hierbij voor ‘is computationeel ononderscheidbaar van’. Het UC-emulerenvan protocollen onderling induceert een transitieve en reflexieve relatie op de verzamelingvan protocollen. De reflexiviteit is triviaal – kies S = A. De transitiviteit van deze relatievolgt uit de volgende redenering.Lemma 2.2. Zij π1, π2 en π3 protocollen. Stel dat protocol π1 protocol π2 UC-emuleert,en dat protocol π2 protocol π3 UC-emuleert. Dan zal protocol π1 protocol π3 UC-emuleren.

Bewijs. Neem aan dat we een adversary A1 hebben tegen π1. Per aanname is er nueen PPT S2 tegen π2 zodanig dat de uitvoer van Z bij gebruik van π2 computationeelononderscheidbaar is van Z met π1. Per aanname is er nu ook een S3 voor het uit-voeren van Z met π3, zodanig dat EXECS2,π2,Z ≈C EXECS3,π3,Z . We weten nu datEXECA1,π1,Z ≈C EXECS2,π2,Z en EXECS2,π2,Z ≈C EXECS3,π3,Z . Lemma 2.1 geeftnu het gewenste resultaat, dus dat EXECA1,π1,Z ≈C EXECS3,π3,Z .

Zonder beperking der algemeenheid kunnen we aannemen dat de omgeving en de advers-ary proberen onderscheid te maken tussen π en ϕ, dus dat de uitvoer van de omgevingeen bit is die de beste gok geeft over de aard van het protocol waarmee gewerkt wordt.De S die gegeven moet worden, heet S voor simulator. Immers, als gewerkt wordt methet ideale protocol, dan heeft de adversary veel minder mogelijkheden dan bij het reeleprotocol. Als er dan toch invoer nodig is om bepaalde berekeningen te doen, dan zullendeze gegokt moeten worden – de adversary S moet doen alsof hij dezelfde mogelijkhedenheeft als A, zonder deze te hebben. Indien S een bepaalde handeling van A na kan doenop het ideale protocol, dan is deze handeling mogelijk bij iedere implementatie die ditideale protocol UC-emuleert, niet alleen degene waarop A werkt.

16

Page 17: Universal Composability en Indifferentiability · bedrijf betrokken zijn die spioneren voor de concurrent, of de legitieme toegangsweg tot het protocol is openbaar toegankelijk zoals

Hoofdstuk 3

Universal Composition

3.1 Samenstelling van protocollen

Om onze ideeen over emulatie effectief toe te passen, is het belangrijk protocollen tekunnen beschrijven die gebruik maken van andere protocollen als subroutines. Nemenwe het voorbeeld van het bezoek aan de groenteboer nogmaals ter hand, dan merken wedat de betaling veel lijkt op de betaling bij een slager, of bij een bakker. We hopen eenklein protocol te vinden dat de ideale functionaliteit die bij betaling hoort, emuleert.Als bewezen kan worden dat dit protocol de functionaliteit UC-emuleert, dan weten wezeker dat in welke winkel we ook betalen, als we de functionaliteit van betalen nodighebben, dit protocol voldoet.

Het samenstellen van protocollen noteren we als volgt. Zij π, ρ, ϕ protocollen. Als π

een of meerdere keren gebruik maakt van ϕ als subroutine, dan noteren we dat metπϕ. Vervangen we nu ϕ door ρ, dan noteren we het nieuwe protocol met πρ of, als weduidelijker willen maken dat we ϕ door ρ vervangen hebben, met πρ/ϕ.

Stel dat π niet een aanroep van ϕ doet, maar meerdere. De ITM van ϕ wordt danmeerdere keren aangeroepen, waardoor er op bepaalde momenten meerdere instantiesvan ϕ uitgevoerd worden. Als we nu instanties van ϕ een voor een vervangen door ρ, danlevert dat tussenprotocollen op waarbij π gebruik maakt van een aantal instanties van φ

en een aantal van ρ. Zo’n tussenprotocol noemen we een hybride protocol. We zullen ziendat hybride protocollen een centrale rol spelen in het bewijs van de compositiestelling.

3.2 Dummy adversary

In bewijzen die te maken hebben met Universal Composition, zullen we uit een be-staande adversary A een simulator S moeten construeren die eenzelfde gedrag van eenwillekeurige omgeving Z tot gevolg heeft. Nu is het kwantificeren over alle mogelijke

17

Page 18: Universal Composability en Indifferentiability · bedrijf betrokken zijn die spioneren voor de concurrent, of de legitieme toegangsweg tot het protocol is openbaar toegankelijk zoals

adversary’s niet alleen een vrij ingrijpende bezigheid, het is ook niet nodig. Het blijktdat het beschouwen van een eenvoudig gedefinieerde adversary, de dummy adversary,genoeg is om een equivalent begrip van emulatie te verkrijgen.

De dummy adversary, die we aan zullen duiden met D, gedraagt zich als volgt. Alser een bericht binnenkomt, dan speelt hij dit direct door aan de omgeving Z. Als Zeen bericht stuurt, dan speelt hij het direct door aan het protocol. Verder bemoeithij zich niet met de uitvoer van het protocol. In essentie is de dummy adversary demoeilijkst te simuleren adversary. Roep immers in herinnering dat de simulator vaakniet de mogelijkheden zal hebben van de adversary, en dat hij deze daarom zal moetensimuleren. Hoe meer gegevens de simulator aan de omgeving af moet staan, hoe lastigerhet zal zijn deze op een overtuigende manier te simuleren. We maken dit exact in hetvolgende lemma:Lemma 3.1. Zij ρ, ϕ protocollen. Dan UC-emuleert ρ ϕ dan en slechts dan als ρ ϕ

UC-emuleert voor de dummy adversary D.

Bewijs. Van links naar rechts is de mededeling triviaal. Immers, als ϕ door ρ UC-geemuleerd wordt, dan geldt dat voor alle adversary’s, dus in het bijzonder ook voorD. Stel nu dat ϕ UC-geemuleerd wordt door ρ voor de dummy adversary D. Zij S ′ dedoor de definitie gegeven simulator voor D, zodat EXECD,ρ,Z ≈C EXECS′,ϕ,Z . Zij Aeen gegeven PPT adversary tegen ρ. We zoeken nu een S, zodanig dat EXECA,ρ,Z ≈C

EXECS,ϕ,Z , aangezien dan volgt dat ρ ϕ UC-emuleert. We construeren S tegen ϕ alsvolgt. Als S aangeroepen wordt door de omgeving, dan roept deze een instantie van Aen een instantie van S’ aan. Alle berichten die S ontvangt van Z, stuurt hij direct dooraan A. Berichten van A die voor ρ bedoeld zijn, worden bij S’ afgeleverd. Berichtenvan A die voor Z bedoeld zijn, stuurt S meteen door aan Z. Berichten van S’ die voorϕ bedoeld zijn, stuurt S door aan ϕ. Berichten van S’ die voor Z bedoeld zijn, stuurtS door aan A alsof een instantie van ρ dit net geantwoord heeft.De gedachte hierachter is dat S ′ per definitie iedere omgeving kan overtuigen met D en ρ

van doen te hebben. Stel nu dat er een omgeving Z bestaat die onderscheid kan makentussen ϕ,S en ρ,A. We laten onze constructie intact, maar vatten de verschillendeonderdelen nu anders op. Zij Z ′ de samenvoeging van Z en A, waarbij de invoer van Z’direct aan Z wordt doorgespeeld, en resultaten van Z komen direct als resultaat van Z’naar buiten. Z zal een instantie van A aanroepen, en we sturen de communicatie vanA die voor ρ bedoeld is, door aan S’. We zullen Z’ opvatten als omgeving. Merk opdat EXECϕ,S,Z =EXECϕ,S′,Z′ , met andere woorden: we hebben alleen de onderdelenopnieuw gegroepeerd (zie ook figuur 3.2). Deze zelfde hergroepering kan op het drietalρ,A,Z toegepast worden om ρ,D,Z ′ te krijgen. Ook deze verandering van namen heeftgeen effect op de uitvoer van de omgeving. Echter, we zien dat

EXECρ,D,Z′ = EXECρ,A,Z 6≈C EXECϕ,S,Z = EXECϕ,S′,Z′ .

Zodoende concluderen we dat Z ′ een omgeving is die de UC-emulatie voor D van ϕ

door ρ tegenspreekt, en dat Z dus niet kan bestaan, dus dat ρ ϕ voor alle adversary’sUC-emuleert.

18

Page 19: Universal Composability en Indifferentiability · bedrijf betrokken zijn die spioneren voor de concurrent, of de legitieme toegangsweg tot het protocol is openbaar toegankelijk zoals

Figuur 3.1: Constructie van een simulator tegen ϕ

Zie voor een uitgebreidere behandeling van dit bewijs subsectie 4.3.1 van [Canetti, 2005].

3.3 Compositiestelling

De bruikbaarheid van kleine protocollen als bouwblokken voor het maken van grotere,complexere protocollen zoals we die in de vorige sectie bespraken, is geen uitspraak dieslechts een intuıtieve rechtvaardiging heeft. Met behulp van de ideeen die we in de voor-gaande paragrafen hebben behandeld, kunnen we de compositiestelling formuleren. Decompositiestelling is een centrale stelling in het raamwerk van Universal Composabilityen is in feite de rechtvaardiging van de set gereedschap die we ontwikkeld hebben. Decompositie van protocollen is een graag gebruikte techniek om complexe protocollen opte bouwen. Immers, ’iemand betaalt een bedrag aan iemand anders’ is een functionaliteitdie in meerdere omgevingen nuttig kan zijn: Denk aan een internetbankieromgeving, eenonline casino of een internetveiling. Het is wenselijk dat de component die de betalingregelt, zich op een bepaalde manier gedraagt die niet afhangt van de omgeving waar de-ze in gebruikt wordt. Van dergelijke componenten zijn veel meer voorbeelden te geven:denk bijvoorbeeld aan ’communiceren zonder afgeluisterd te worden’, ’een groep mensenlaten stemmen’, enzovoorts. De stelling luidt als volgt:Stelling 3.2 (Compositiestelling). Zij ϕ, ρ protocollen. Zij π een protocol dat instantiesvan ρ of ϕ aanroept. Stel: ρ UC-emuleert ϕ. Dan geldt: πρ UC-emuleert πϕ.

Deze stelling belichaamt inderdaad de manier waarop we de bouwstenen graag gebruiktzien. Als niemand onderscheid kan maken tussen het ene subprotocol en het andere,dan kan het grote protocol dat ook niet, en als het grote protocol niet essentieel andersdraait met het ene subprotocol dan met het andere, dan zal ook aan de uitvoer van het

19

Page 20: Universal Composability en Indifferentiability · bedrijf betrokken zijn die spioneren voor de concurrent, of de legitieme toegangsweg tot het protocol is openbaar toegankelijk zoals

Figuur 3.2: Reductie van deze simulator tot een simulator van D

grote protocol weinig veranderen door deze wijziging.

3.4 Bewijs van de compositiestelling

Het bewijs van de compositiestelling is gedetailleerd terug te vinden in [Canetti, 2005],sectie 5.2. Een weergave hiervan waarbij niet in wordt gegaan op deze details, is hieronderte vinden.

Bewijs van de compositiestelling. We zullen lemma 3.1 gebruiken om het bewijs te ver-eenvoudigen, waardoor we alleen nog rekening hoeven te houden met de dummy adversa-ry D 1. Zij π, ρ en ϕ protocollen zodanig dat π gebruik maakt van ϕ en ρ ϕ UC-emuleert.Zij πρ = πρ/ϕ het protocol π waarin aanroepen van instanties ϕ vervangen zijn door in-stanties ρ (zie figuur 3.3). We gebruiken lemma 3.1 op de definitie van UC-emulatieen hoeven dan niet meer te kwantificeren over alle adversary’s A. Nu dient een PPTsimulator Aπ voor D geconstrueerd te worden die voor alle PPT omgevingen Z aan hetvolgende voldoet:

EXECπρ,D,Z ≈C EXECπ,Aπ ,Z .

Zij S de door de definitie van UC-emulatie bestaande simulator voor de dummy adversarytegen ρ. We construeren simulator Aπ als volgt. Roep in herinnering dat Aπ zich moetgedragen alsof de omgeving met D van doen heeft, en dus moet doen alsof hij datadoorspeelt die door π en instanties van ρ gegenereerd worden. Hiertoe communiceert Aπ

direct met π, net als de dummy adversary, en draait Aπ een instantie van S voor iedere

1Merk op dat we de definitie van UC-emulatie ook ten opzichte van de dummy adversary hadden

kunnen formuleren, en lemma 3.1 opnemen om de algemeenheid te ondersteunen. De hier gebruikte

notie geeft een intuıtievere definitie.

20

Page 21: Universal Composability en Indifferentiability · bedrijf betrokken zijn die spioneren voor de concurrent, of de legitieme toegangsweg tot het protocol is openbaar toegankelijk zoals

Figuur 3.3: Weergave van de aanroepen die π doet naar ρ en de plaats van Aπ

instantie van ϕ die aangeroepen wordt door π. Immers, S is een PPT die de uitvoer vanρ kan simuleren als hij met ϕ communiceert. We vatten Aπ op als simulator tegen π navervanging van een aantal (mogelijk niet alle) instanties van ϕ door ρ. Communicatiemet instanties van ρ doet Aπ ook direct, net als de dummy adversary. We gebruiken eenhybride argument om de geldigheid van Aπ te duiden. Zij k de securityparameter vanhet systeem (die door de omgeving wordt doorgegeven). Zij m(k) een bovengrens aanhet aantal instanties van ϕ dat aangeroepen wordt door π. We definieren nu de volgendetussenprotocollen. Zij 0 ≤ l ≤ m(k), dan is πl het protocol dat in de eerste l instantiesvan het subprotocol ϕ gebruikt, maar de rest vervangt door aanroepen naar ρ. In hetbijzonder is π0 = πρ en πm(k) = π (zie ook figuur 3.4 voor een voorbeeld). Neem nu aandat er een omgeving Z is waarvoor geldt dat

EXECπ,Aπ ,Z 6≈C EXECπρ/ϕ,D,Z .

Zij nuε = EXECπ,Aπ ,Z − EXECπρ/ϕ,D,Z 6= negl(n).

Op basis van het duiventilprincipe moet er een l zijn, 0 ≤ l ≤ m(k), zodanig dat

EXECπl,Aπ,Z − EXECπl+1,Aπ,Z ≥ε

m6= negl(n).

We construeren nu een nieuwe omgeving Zl die onderscheid zal gaan maken tussen ϕ enρ. Zl draait intern de vorige omgeving Z, net als π en alle aangeroepen instanties van

21

Page 22: Universal Composability en Indifferentiability · bedrijf betrokken zijn die spioneren voor de concurrent, of de legitieme toegangsweg tot het protocol is openbaar toegankelijk zoals

Figuur 3.4: π2, een van de hybride tussenprotocollen

ρ en ϕ, behalve een, namelijk de l-de instantie. Omdat l af kan hangen van de keuzevan de securityparameter k en we Zl niet voor iedere securityparameter opnieuw kunnenkiezen, wordt deze bij de input meegegeven, dus als de input van Z gelijk was aan z,dan is de input van Zl gelijk aan (z, l), zodat Zl weet welke variant van het hybridemodel gedraaid moet worden. De uitvoer van Zl is de uitvoer van Z als deze klaar is.Aanroepen naar de l-de instantie worden doorgespeeld aan een werkelijke ϕ of ρ, enaanroepen naar de adversary worden doorgespeeld aan respectievelijk S of D. Zie ookfiguur 3.5. Aangezien de uitvoer van Z gelijk is aan de uitvoer van Zl, geldt

EXECϕ,S,Zl= EXECϕ,Aπ ,Z 6≈C EXECρ,Aπ ,Z = EXECρ,D,Zl

.

Dit is echter in tegenspraak met onze aanname dat ρ ϕ UC-emuleert, dus UC-emuleertπρ/ϕ π.

22

Page 23: Universal Composability en Indifferentiability · bedrijf betrokken zijn die spioneren voor de concurrent, of de legitieme toegangsweg tot het protocol is openbaar toegankelijk zoals

Figuur 3.5: Het samennemen van componenten geeft de nieuwe omgeving Zl

23

Page 24: Universal Composability en Indifferentiability · bedrijf betrokken zijn die spioneren voor de concurrent, of de legitieme toegangsweg tot het protocol is openbaar toegankelijk zoals

24

Page 25: Universal Composability en Indifferentiability · bedrijf betrokken zijn die spioneren voor de concurrent, of de legitieme toegangsweg tot het protocol is openbaar toegankelijk zoals

Hoofdstuk 4

Indifferentiability

In de voorgaande hoofdstukken zijn we bij het introduceren van terminologie en con-cepten uitgegaan van het raamwerk zoals dat door Ran Canetti in [Canetti, 2005]geıntroduceerd wordt. Echter, dergelijke analyses van bouwstenen in de constructievan complexe protocollen zijn door anderen op andere manieren gedaan. Zo hebbenUeli Maurer, Renato Renner en Clemens Holenstein in [Maurer et al., 2004] het begripIndifferentiability gedefinieerd en gebruikt. Dit hoofdstuk zal de voorgaande definitiesslechts als beginpunt en vergelijkingsmateriaal gebruiken ten opzichte van de conceptendie door deze heren gebruikt worden.

4.1 Begrippen

In de voorgaande secties was de gebruikte primitieve in de analyse van protocollen eenITM, een interactieve Turingmachine. Deze interpretatie heeft veel voordelen, omdatdeze ons een inzichtelijke manier geeft om de volgorde van gebeurtenissen te duiden.Echter, het is eenvoudig de weg kwijt te raken in het bos van aanroepen, proces- ensessie-identiteiten en communicatiestroken. In het kader van Indifferentiability sprekenwe over systemen.Definitie 4.1. Noteren we Xi = [X1, . . . ,Xi] en Y i = [Y1, . . . , Yi] voor natuurlijke i,dan is een (X ,Y)-systeem een rij conditionele kansverdelingen PYi|XiY i−1 (met i ∈ N),waarbij Xi, de i-de invoer, en Yi, de i-de uitvoer, stochasten zijn met respectievelijk Xen Y als uitslagenruimte.

Intuıtief gezien correspondeert dit met het gevoel dat een systeem gedefinieerd wordtdoor het (eventueel stochastische) gedrag na een bepaalde invoer en voorgaande uitvoer.Merk op dat ITM’s op een natuurlijke wijze als systemen op te vatten zijn. Immers,een ITM ontvangt invoer van buitenaf en verwerkt deze (via een algoritme, maar dat isvoor een systeem niet van belang) tot een eventueel stochastisch bepaalde uitvoer. Inde bespreking van computationele mogelijkheden van protocollen kwam de term ’PPT’

25

Page 26: Universal Composability en Indifferentiability · bedrijf betrokken zijn die spioneren voor de concurrent, of de legitieme toegangsweg tot het protocol is openbaar toegankelijk zoals

langs, waarbij ’polynomiaal’ refereerde aan het aantal rekenstappen als functie van desecurityparameter en de lengte van de invoer. Bij de notie van systemen hebben we he-laas geen eenheid van rekentijd, omdat we geen expliciete berekenmethoden beschrijven.Daarom wordt een zogeheten kostenfunctie gedefinieerd die bij een systeem met een be-paalde invoer de kosten van het produceren van de uitvoer beschrijft. Deze functie moetzich ook daadwerkelijk als kostenfunctie gedragen, dus als een systeem andere systemenals component gebruikt, dan zal het totaal van de kosten voor dat systeem ten minstegelijk zijn aan de som van de kosten van de aangeroepen instanties.Definitie 4.2. Zij Sk∈N een familie systemen die geındexeerd wordt door de securitypa-rameter k ∈ N. Is er een polynoom in de lengte van de invoer en de securityparameter k

dat de kostenfunctie voor alle invoer en securityparameters begrenst, dan zeggen we datS kostenefficient is.

Aangezien we in dit raamwerk werken met kansverdelingen, is de notie van entropiegemakkelijk toepasbaar, waardoor onmogelijkheidsresultaten af te leiden zijn over be-paalde systemen met zekere kostenfuncties. Bedenk bijvoorbeeld dat als een componenttegen bepaalde kosten bepaalde informatie oplevert met een zekere entropie, dat daneen bovengrens gegeven kan worden voor hoeveel informatie kan worden verwerkt doorsystemen die deze component gebruiken. Wij gaan hier niet verder op in: in [Maureret al., 2004] wordt dit uitgebreider toegelicht en toegepast.

4.2 Indistinguishable en indifferentiable

Om een systeem als cryptosysteem op te vatten, splitsen we de invoerzijde van hetsysteem in tweeen, zodat er een publieke interface en een private interface beschikbaar is.Zo’n systeem noemen we een resource. Een cryptosysteem vatten we op als een resource,dus met een publieke en een private interface. Deze interfaces modelleren respectievelijkde toegang van de adversary en van de eerlijke partijen. Net als eerder beschouwen we deveiligheid van een cryptosysteem slechts ten opzichte van een ideaal cryptosysteem, datper aanname bepaalde eigenschappen heeft. Deze relatie op cryptosystemen definierenwe als volgt:Definitie 4.3. We noemen C tenminste zo veilig als C′, notatie C ≻ C′, als voor alleomgevingen1 Z het volgende geldt: Voor iedere aanvaller A die C gebruikt, is er eenaanvaller A′ die C′ gebruikt zodanig dat

|Pr[Z(Cpriv,A(Cpub)) = 1] − Pr[Z(C′priv,A′(C ′pub)) = 1]|

verwaarloosbaar is in de securityparameter k. Een cryptosysteem is computationeeltenminste zo veilig als een ander als bovendien Z,A en A′ computationeel efficientealgoritmen zijn.

We definieren de volgende term, die gebruikt kan worden voor systemen in het algemeen:

1We nemen opnieuw zonder beperking der algemeenheid aan dat de uitvoer binair is.

26

Page 27: Universal Composability en Indifferentiability · bedrijf betrokken zijn die spioneren voor de concurrent, of de legitieme toegangsweg tot het protocol is openbaar toegankelijk zoals

Figuur 4.1: Weergave van de verbindingen zoals bedoeld in definitie 4.5.

Definitie 4.4. Zij S en T systemen. We noemen S en T indistinguishable2 als voorieder algoritme D dat met deze systemen communiceert en een binaire uitvoer oplevert,geldt dat

|Pr[D(Sk) = 1] − Pr[D(Tk) = 1]|

verwaarloosbaar is in de securityparameter k. Indistinguishability is computationeel alsD computationeel efficient is in k.

Deze definitie zouden we graag toepassen op cryptosystemen. Echter, het blijkt dathet direct overnemen ervan een te sterke eis op de cryptosystemen legt. Daarom is dedefinitie aangepast tot de volgende:Definitie 4.5. Zij S en T resources. We noemen S en T indifferentiable, notatie S ⊏ T ,als voor ieder algoritme D met binaire uitvoer er een algoritme P bestaat zodanig dat

|Pr[D(Sprivk , S

pubk ) = 1] − Pr[D(T

privk ,P(S

pubk )) = 1]|

verwaarloosbaar is in de securityparameter k. Zie ook figuur 4.1. Indifferentiability iscomputationeel als slechts computationeel efficiente algoritmes gebruikt worden voor Den P.

4.3 Compositiestelling en problemen bij het bewijzen

Deze definities nodigen uit tot het overbrengen van de compositiestelling naar dit raam-werk. Deze is in dit kader als volgt te formuleren:Stelling 4.1. Zij S en T resources. Laat C de verzameling van alle cryptosystemen zijn.Dan geldt

S ⊏ T ⇔ ∀C ∈ C : C(S) ≻ C(T ).

Dit geldt ook als beide zijden computationeel beschouwd worden.

2Voor deze term, en ook voor het later gedefinieerde indifferentiable, gebruiken we de Engelse uit-

drukking, omdat het subtiele betekenisverschil tussen de twee in het Nederlands bij vertaling wegvalt.

27

Page 28: Universal Composability en Indifferentiability · bedrijf betrokken zijn die spioneren voor de concurrent, of de legitieme toegangsweg tot het protocol is openbaar toegankelijk zoals

Proberen we deze stelling te bewijzen in het raamwerk van indifferentiability, dan isdit geen automatische vertaaloefening. We lopen tegen meerdere problemen aan bij hetoverzetten van het bewijs zoals beschreven in sectie 3.4. Er worden hier enkele problemengenoemd, en suggesties gedaan voor de aanpak ervan.

Volgorde van kwantoren

Zoals we zien in de definitie van tenminste zo veilig als, mag de simulator die gemaaktwordt als reactie op een aanvaller afhangen van de omgeving waar deze in gebruiktwordt. Dit geeft een zwakkere veiligheidsnotie, i.e. deze geldt in meer gevallen. Hetblijkt dat de algemenere formulering van de compositiestelling, waarbij een polynomiaalaantal aanroepen naar de component S of T gedaan mag worden, helaas niet van linksnaar rechts (”⇒”) bewijsbaar is in dit zwakkere kader. Mogelijkerwijs kan dit wel alsde simulator niet af mag hangen van de omgeving. Dit leidt tot de volgende aangepastedefinitie:Definitie 4.6. We noemen C tenminste zo veilig als C′, notatie C ≻ C′, als het volgendegeldt: Voor iedere aanvaller A die C gebruikt, is er een aanvaller A′ die C′ gebruiktzodanig dat voor alle omgevingen Z

|Pr[Z(Cpriv ,A(Cpub)) = 1] − Pr[Z(C′priv,A′(C′pub)) = 1]|

verwaarloosbaar is in de securityparameter k. Een cryptosysteem is computationeeltenminste zo veilig als een ander als bovendien Z,A en A′ computationeel efficientealgoritmen zijn.

Merk op dat de zinsnede ‘voor alle omgevingen Z’ verder naar rechts verplaatst is, zodatA′ niet meer af kan hangen van Z.

Dummy adversary

Het bewijs van de compositiestelling in het UC-raamwerk wordt aanzienlijk gesimpli-ficeerd door het gebruik van de dummy adversary. Hierdoor hoeft niet meer over allemogelijke aanvallers op de reele implementatie van het protocol gekwantificeerd te wor-den, en worden de redeneringen vereenvoudigd. Het bewijs kan ook zonder deze dummyadversary opgesteld worden. Verder kan de dummy adversary overgebracht worden naarhet raamwerk van indifferentiability, met een analogie van lemma 3.1 voor resources:Lemma 4.2. Zij C, C′ resources. Dan geldt: C ≻ C′ dan en slechts dan als C ≻ C′ metbetrekking tot de dummy aanvaller, die als uitvoer altijd met kans 1 zijn invoer teruggeeft.

Meerdere protocolinstanties en niet-uniforme input

In het bewijs van Canetti voor de compositiestelling is ruimte voor protocollen die meer-dere instanties van het subprotocol aanroepen. Het aantal instanties dat aangeroepen

28

Page 29: Universal Composability en Indifferentiability · bedrijf betrokken zijn die spioneren voor de concurrent, of de legitieme toegangsweg tot het protocol is openbaar toegankelijk zoals

mag worden is begrensd door een polynoom in de securityparameter, en dit vraagt omeen omzichtiger aanpak bij het bewijzen van de stelling. Het raamwerk van indifferen-tiability ondersteunt dit niet van nature, en zal daarom aangepast moeten worden omdergelijke protocollen ook te ondersteunen. Merk op dat het niet voldoende is om eenflink (vast) aantal subprotocolinstanties ’alvast’ aan te roepen en te verbinden met hethoofdprotocol: Omdat de bovengrens polynomiaal is, is kan aantal subprotocolinstantiesin principe willekeurig groot worden.

In het bewijs van de compositiestelling wordt een van de instanties van het subprotocol‘buitengesloten’. De index van deze instantie, die in het bewijs l heet, wordt aan Zρ

meegegeven als invoer, opdat deze weet welke variant van het hybride model gedraaidmoet worden. In het ITM-rekenmodel kon dit op een natuurlijke wijze doorgegevenworden. Het probleem is, dat deze informatie in de nu gestelde definitie van systemen,resources en indifferentiability, lastig of niet door te geven is aan Zρ. Hier zal ook eenaanpassing nodig zijn van de gestelde termen.

29

Page 30: Universal Composability en Indifferentiability · bedrijf betrokken zijn die spioneren voor de concurrent, of de legitieme toegangsweg tot het protocol is openbaar toegankelijk zoals

30

Page 31: Universal Composability en Indifferentiability · bedrijf betrokken zijn die spioneren voor de concurrent, of de legitieme toegangsweg tot het protocol is openbaar toegankelijk zoals

Bibliografie

Ran Canetti. Universally composable security: A new paradigm for cryptographic pro-tocols. IACR ePrint Archive, January 2005.

Ueli Maurer, Renato Renner, and Clemens Holenstein. Indifferentiability, impossibilityresults on reductions, and applications to the random oracle methodology. In MoniNaor, editor, Theory of Cryptography, Proceedings of TCC 2004, number 2951 inLecture Notes in Computer Science, pages 21–39. Springer-Verlag, 2004.

31