Alexandra Instituttet A/S // Om os // Faglige labs // Security Lab // Secure Multiparty Computation

Secure Multiparty Computation

Secure Multiparty Computation – regn på data uden at kigge

Secure Multiparty Computation (SMC) er en teknologi, der gør det muligt at foretage beregninger på krypterede tal. Det kan umiddelbart lyde umuligt, men ved at anvende de rigtige kryptografiske teknikker, kan det lade sig gøre alligevel.

Med SMC kan en række servere i fælleskab beregne resultatet af en vilkårlig funktion uden at kende inputtet til funktionen. Fx kan serverne beregne resultatet af en auktion uden at kende de indkomne bud. Det sker ved, at hver server kun modtager partiel information om hvert enkelt bud. Den partielle information der sendes til den enkelte server (i nogle tilfælde til flere servere) afslører ikke noget om selve budet. Men ved brug af de rigtige kryptografiske værktøjer, kan serverne alligevel arbejde sammen om at beregne et resultat.

Deling af hemmeligheder

Et af disse kryptografiske værktøjer kaldes secret sharing. Lad os forestille os, at en hemmelighed x = 42 skal deles mellem to servere. Hvis vi vælger to vilkårlige tal, x1 og x2, således at x = x1+x2 (fx x1 = 50 og x2 = -8) og giver x1 til den første server og x2 til den anden, så vil ingen af dem kende hemmeligheden x. Faktisk kender den første server kun tallet 50, og ud fra det kan det andet tal være et hvilket som helst helt tal. Naturligvis kan 50 + hvad som helst være lig med hvad som helst.

Ligeledes kan vi hemmeligt dele et andet tal y = 23 mellem to servere (fx y1 = 20 og y2 = 3). De to servere kan nu beregne x+y, uden at nogen af dem kender hverken x eller y. Den første server beregner ganske enkelt x1+y1 og sender resultatet til den anden server, der herefter kan beregne x1+y1+x2+y2=x+y – altsammen uden at nogen af serverne får kendskab til x eller y, bortset fra summen.

Kan bruges i en hvilken som helst funktion

Et centralt punkt i kryptografi er, at ideen om deling af hemmeligheder vil kunne udvides til beregning af en hvilken som helst funktion, som en traditional computer kan udføre. Men selvfølgelig går det kraftigt ud over ydeevnen, at beregningen fordeles på flere servere.

Deep confidentiality

Hemmeligholdelse af inputs til en beregning – som fx en auktion – sikres traditionelt (dvs. uden SMC) i to af hinanden uafhængige trin: 1) budene krypteres undervejs fra byder til auktionsholder (men dekrypteres ved ankomst til auktionsholder) og 2) det sikres, at auktionsholderen behandler budene fortroligt. Dette håndhæves normalt ved at indføre sikkerhedspolitikker, der begrænser, hvilke af auktionsholders medarbejdere, der har adgang til budene. Dette skridt er desværre også det vanskeligste, hvorfor den realiserede løsning kun giver shallow confidentiality.

Med SMC kan man helt undgå det sidste. Budene bliver aldrig dekrypteret. Komplekse sikkerhedspolitikker er ikke nødvendige. Dette kaldes deep confidentiality, dvs. at data til enhver tid forbliver krypterede, aldrig lagres eller på anden måde er tilgængelige i  ikke-krypteret form.

Det er essensen af SMC. Teknologien giver et højt sikkerhedsniveau, enkel administration og er dermed effektiv til løsninger, hvor der kræves konfidentiel datahåndtering.

Kontakt
Head of Security Lab, PhD
+45 24 26 99 11
Åbogade 34, 8200 Aarhus N
Nygaard bygningen, 3. etage lokale 380