220 likes | 351 Views
Kryptologi og Sikre Beregninger Ivan Damgård, Datalogisk Institut, Aarhus Universitet. Privat Information PIN koder, en virksomheds kunde-database, patient journaler fra hospitalet,..
E N D
Kryptologi og Sikre Beregninger Ivan Damgård, Datalogisk Institut, Aarhus Universitet
Privat Information PIN koder, en virksomheds kunde-database, patient journaler fra hospitalet,.. - Det er værdifuld information, må og skal holdes konfidentielt - Men ofte er det lige så værdifult at kombinere privat information fra forskellige kilder Et par eksempler...
Simpel ”first price” Auktion Et antal deltagere byder på en vare. Hver deltager har private information: en mksimal pris har er villig til at betale – men naturligvis vil alle gerne betale så lidt som muligt. Mål: find en vinder og en pris på en fair måde.
Dobbelt Auktion – en ”Børs” Mange sælgere og købere ønsker at handle forskellige mængder af en bestemt vare. Hver sælger er villig til at sælge forskellige mængder, afhængigt af hvilken pris han kan få. Hver køber vil køber forskellige mænger, igen afhængig af prisen. Mål: find en fair markedspris, givet udbud og efterspørgsel i markedet. Klart, at f.eks. den maksimale pris du vil købe til skal være privat..
Benchmarking Et antal virksomheder arbejder i den samme sektor. Hver virksomhed har data på hvordan forretningen kører, produktionsomkostninger, omsætning, lønudgifter, etc. Mål: hver virksomhed ønsker at finde ud af hvor godt den klarer sig sammenlignet med de andre. - Men naturligvis uden at afsløre information til konkurrenterne..
Database og Privatlivets fred Mange forskellige institutioner har databaser med information om bestemte personer. Mål: udtrække statistiske oplysninger fra alle databaser samtidig. - Men uden at bryde reglerne om privatlivets fred ved at give en enkelt person adgang til alle databaserne.
Et Fundamentalt Problem Hvordan beregner vi de resultater vi vil have i disse situationer uden at bryde konfidentialiteten? En naiv idea: find nogen vi alle stoler ubetinget på, giv ham alle relevante data, og lad ham beregne de resultater vi vil have. Men hvordan finder vi sådan en betroet 3.-part?? I praksis er det ofte dyrt eller umuligt. Kan vi klare os uden en betroet 3.-part? Første ingrediens til en løsning.. Secret-sharing: hvordan man deler en hemmelighed med andre – uden at afsløre den..
Secret Sharing • I stedet for at opbevare et stykke hemmeligt data s ét bestemt sted, kan vi lade n deltagere ”dele” kendskabet til s: • Ejeren af s laver n shares, en for hver deltager. Shares er konstrueret sådan at: • Hvis du kender tilstrækkelig mange shares, kan du nemt regne dig frem til s. • Hvis du har for få, ved du intet om s. • Eksempel: s=3. Shares er to tilfældigt valgte tal, som giver s når du lægger dem sammen, f.eks. 5 and -2. • Givet kun ét af tallene: ingen ide om hvad s er.
Mere generelt: (n,t) Secret Sharing • Ud fra hemmeligheden s laver vi n shares, konstrueret så: • t shares (eller færre) giver ingen information om s • fra t+1 shares (eller flere) kan s let rekonstrueres. • Du kan nu give de n shares til n deltagere. Hvis du stoler på at højst t af dem er korrupte eller får stjålet deres shares, er din hemmelighed sikker. • Og så længe t+1 af dem er villige til at hjælpe dig, kan du ikke miste din hemmelighed.
Eksistens: (n,t) secret sharing kan laves for ethvert n og t. Eksempel- (n,1): shares er punkter på en tilfældig linie, hvor skæringspunktet med y-aksen giver dig s. To punkter er nok til at bestemme en linie, og dermed s. Givet kun ét punkt kan s være hvad som helst.. s?? · · · · s 2 3 4 1 Hvad med t>1? ..der skal 3 punkter til at bestemme en 2.-grads kurve, generelt t+1 punkter til en t’te grads kurve..
Det bliver bedre endnu.. Vi kan regne på data mens de er secret-sharet - ”at regne uden at kigge..” To hemmeligheder, s og s’ er sharede. Alle adderer deres shares af s og s’. Vi får shares af s+s’ Vi har beregnet summen, selvom der ikke er nogen der kender hverken s eller s’ !! · · · · s+s’ · s’ · · · · · · · s 2 3 4 1 Multiplication virker også (mere kompliceret, kræver interaktion), faktisk er enhver beregning på hemmelige data mulig..
Vigtigt resultat fra grundforskningen: Baseret på input data der er secret sharede, kan deltagerne beregne enhver funktion på input data og få resultatet i shared form, uden at afsløre noget som helst. ”Secure Multiparty Computation”. P1 P4 3ab/c+d+1 P5 P2 . . . . . . . . . . b c d a . . . . . P3
P1 P4 P5 P2 P3 Anvendelse til en Auktion Resultat Bud2 Bud1 Bud48 Bud3 1 ”Servere” 3. Vi regner på budene.. 2 4. Shares af resultat afsløres 3 . . . . . . . . . . . . . . . … 5. ”og resultatet er..” • Deltagerne secret-sharer deres bud.. • Og sender shares sikkert til serverne (ved brug af kryptering),, 48 Deltagere
At gøre det i virkeligheden.. • Forskningsprojektet Secure Information Management and Processing (SIMAP). Partnere: • Kryptologi and Programmingssprog grupperne på Datalogisk Institut • Økonomer fra KU • IBM • Danisco • Hvad vi har lavet: • Et programmingssprog (SMCL) hvor man nemt kan udtrykke hvilken sikker beregning, man vil have lavet: hvem giver input, hvad skal beregnes, hvem skal vide hvad og hvornår. • En compiler, der laver SMCL kode om til Java, der kan køre i virkeligheden, baseret på • Et runtime system der har det nødvendige kryptografi (secret sharing, kryptering, etc...)
Den første anvendelse: • En sikker auktion hvor man kan handle produktionskvoter for sukkerroer. • Danske landmænd har kontrakter, der giver dem ret til at levere sukkerroer til Danisco. • Men EU har reduceret støtten til sukkerroe produktion kraftigt • Produktion kan kun overleve i Denmark hvis den flytter til der hvor den betaler sig bedst. • Produktionskontrakter skal kunne handles på et landsdækkende marked.
Løsning ved brug af en Dobbelt-Auktion Mange sælgere, mange købere Et bud fra en sælger er en liste af tal: ”For hver mulig pris per ton vil jeg sælge så og så meget” - noget lignende for købere. For hver mulig pris, adderer vi budene så vi finder det totale udbud og den totale efterspørgsel i markedet til hver given pris. mængde udbud efterspørgsel pris/ton Market clearing pris: mcp Efterspørgsel går ned, udbud går op med stigende pris, så der er en pris hvor udbud er ca. = efterspørgsel, dette er market clearing prisen Nu får alle lov at sælge eller købe det de ville til mcp.
Sikkerhed • Bud er privat information - de afslører ting om en dyrkers økonomi. • Danisco har monopol i det Danske sukkermarked dyrkerne har ikke lyst til at Danisco skal være betroet 3.-part • Kunne bruge et konsulenthus som betroet part – alt for dyrt. • I stedet: sikker beregning, med 3 servere, placeret hos • Danisco, • Dyrkernes organisation DKS, og • SIMAP • Vi bruger (3,1) secret sharing, så ingen enkelt part har adgang til følsomme oplysninger.
Tre PC’er forbundet over LAN beregner børspris udfra ca. 2.400 krypterede bud som aldrig afsløres Til sidst åbnes resultatet – en markedspris og hvor stor kvote hver dyrker skal handle til denne pris Herefter skifter produktionsretten (kvoten) til over 25.000 tons sukker hænder Første Auktion:14. januar 2008
Mere om teknikken i Systemet: Public-key kryptografi • Sender og modtager har hver deres nøgle, en til at låse og en til at låse op • Ex: hængelåsalle kan smække låsen (kryptere) kun indehaver af nøgle kan låse op (dekryptere) Privat Nøgle Offentlig Nøgle
Arkitektur SIMAP Danisco SIMAP web-server DB session LAN log-in Danisco Java-applet Krypterede shares DKS dyrker budafgivning beregning Appletten har offentlige nøgler for hver server med ud
Arkitektur(fortsat) SIMAP Danisco Privat nøgle SIMAP web-server DB DB session LAN log-in DB Danisco Java-applet Krypterede shares DB DKS dyrker budafgivning beregning
Selve beregningen gennemførtes på ca. 30 minutter Hvert bud tog op til 1 minut at indsende for de ca. 1.200 bydere (1 købs- og salgsbud pr. dyrker) Spørgeskema ifbm. bud (ca. 500 svar) 81% meget enig/enig i at børsen gør det lettere at handle kvoter 78% meget enig/enig i at det er vigtigt at deres bud holdes hemmeligt 86% meget enig/enig i de er tilfredse med den fortrolighed børsen tilbyder Danisco: ”Auktionen er gået udmærket. Det nye system har vist sig at kunne fungere, og det har været benyttet af rigtig mange roedyrkere. […] Jeg kan godt forestille mig at vi vil tilbyde samme system igen næste år, […]” Danske Sukkerroedyrkere: ”I år har det været meget væsentligt at skabe kontakt mellem køber og sælger, fordi lukningen af fabrikken i Assens har betydet, at mange dyrkere vest for Storebælt har villet sælge, mens dyrkere øst for Storebælt har stået klar til at købe dyrkningsrettighederne. Her har systemet både fungeret godt til at skabe kontakt mellem køber og sælger og til at finde markedsprisen.” Dyrkernes og Daniscos oplevelse