Confidential Computing Protocol

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 27. november 2017; checks kræver 7 redigeringer .

I kryptografi er en fortrolig beregningsprotokol (også sikker, sikker eller hemmelig multi-party computation, eng.  sikker multi-party computation ) en kryptografisk protokol , der tillader flere deltagere at udføre en beregning, der afhænger af de hemmelige inputdata for hver af dem , på en sådan måde, at ingen deltager var i stand til at få information om en andens hemmelige input. Det fortrolige computerproblem blev først rejst af Andrew Yao i 1982  i en artikel [1]. To millionærer, Alice og Bob, ønsker at finde ud af, hvem af dem der er rigere, mens de ikke ønsker at afsløre den nøjagtige mængde af deres rigdom. Yao foreslog i sin artikel en original måde at løse dette problem på, som senere blev kendt som problemet med millionærer . Meget senere, i 2004, leverede Yehuda Lindell og Benny Pinkas et matematisk strengt bevis på rigtigheden af ​​Yaos protokol i [2] . Problemet med fortrolig beregning er tæt forbundet med problemet med hemmelig deling .

Formaliseret problemformulering

N deltagere p 1 , p 2 , …, p N deltager i fortrolig beregning . Hver deltager har hemmelige inputdata henholdsvis d1 , d2 , … , dN . Deltagerne ønsker at finde værdien F(d 1 , d 2 , …, d N ) , hvor F er en beregnelig funktion af N argumenter  kendt af alle deltagere . Det antages, at der vil være semi-ærlige lovovertrædere blandt deltagerne , det vil sige dem, der trofast følger protokollen, men forsøger at få yderligere information fra eventuelle mellemliggende data.

Sikkerhedskrav

Sikkerhedskrav til fortrolige computerprotokoller har typisk forskellige sikkerhedskrav afhængigt af situationen. Her er de vigtigste krav.

Et eksempel på en løsning på problemet med millionærer

Lad millionærerne Alice og Bob ønsker at finde ud af, hvis formue er størst uden at afsløre den nøjagtige mængde af deres formuer. Antag, at Alice har i million og Bob har j , hvor 1<i og j<10 . For det første vil Alice og Bob have brug for et stærkt offentlig nøglekryptosystem , såsom RSA [3] . Lad E a  være en vilkårlig krypteringsfunktion for nøglen a , og D a  være den private nøgledekrypteringsfunktion for den offentlige nøgle a . Lad en være  Alices offentlige nøgle. Så ser protokollen sådan ud:

  1. Bob vælger et tilfældigt heltal x fra N bit og beregner fortroligt k=E a (x) ;
  2. Bob sender et nummer k-j+1 til Alice ;
  3. Alice betragter fortroligt værdierne y u =D a (k-j+u) for u=1,2,…,10 ;
  4. Alice vælger et tilfældigt primtal p fra N/2 bit, så tallene z u =y u mod(p) afviger med mindst 2 modulo p for alle u og sender tallet p til Bob;
  5. Alice sender numrene z 1 , z 2 , …, z i efterfulgt af tallene z i+1 +1, …, z 10 +1 ; tal tages modulo p;
  6. Bob, som ved hvor mange penge han har ( j ), sammenligner tallet j med tallet x mod p valgt i første trin, og hvis de er lige store, så konkluderer Bob, at i ⩾ j , og i < j ellers;
  7. Bob rapporterer resultatet til Alice.

Det kan ses, at protokollen giver dig mulighed for entydigt at bestemme, hvis tilstand er større, og samtidig kan deltagerne ikke finde ud af hinandens tilstande.

Implementeringer

Der er to forskellige tilgange til implementering af protokollen. Den første tilgang er normalt baseret på hemmelig deling og arbejder på repræsentationen af ​​den beregnede funktion i form af et aritmetisk kredsløb ( eng.  aritmetisk kredsløb ), som for eksempel i BGW (Ben-Or, Goldwasser og Wigderson) [ 4] og CCD (Chaum, Crepeau og Damgard [5] . Denne tilgang anvendes normalt, når det er kendt, at flertallet af deltagere er ærlige (hvilket kun er muligt, hvis antallet af deltagere er mere end to). En anden tilgang er at repræsentere funktionen som et logisk diagram . Denne tilgang blev brugt af Andrew Yao , da han konstruerede et forvrænget kredsløb ( engelsk  forvansket kredsløb ) [6] såvel som i GMW-protokollen (Goldreich, Micali og Wigderson) [7] .

Den aritmetiske skemametode er bedre egnet til at udføre additions- og multiplikationsoperationer (hvor deltagerne har andele af hemmeligheden, og hemmeligheden kun kan genskabes, hvis der modtages information fra hver af deltagerne), men er dårligt egnet til at udføre sammenligningsoperationer. Denne tilgang har opnået stor succes i SIMAP-projektet [8] .

Den logiske kredsløbsmetode udfører additioner og multiplikationer med mindre effektivitet, men kan nemt udføre binære operationer såsom sammenligninger. Denne anden tilgang, som Andrew Yaos tohåndssystem er baseret på, blev implementeret af Mulchy i fairplay-systemet [9 ] .  Dette system giver også mulighed for at implementere den nødvendige funktionalitet, repræsenteret af et programmeringssprog på højt niveau i form af en logisk løkke, som derefter fortolkes af runtime-miljøet og udføres sikkert. Der er også et system "FairplayMP" [10] , som er en udvidelse af "Fairplay", hvis der er mere end to deltagere. En væsentlig fordel ved metodebaserede systemer med logiske kredsløb er, at de udføres i et konstant antal informationsudvekslinger, mens fordelen ved systemer baseret på aritmetiske kredsløb er evnen til at udføre regneoperationer (addition og multiplikation) meget hurtigt.

Protokoleksempel

Lad os for nemheds skyld antage, at to deltagere deltager i beregningen, det vil sige N=2 , og deltagerne skal beregne funktionen F .

Indgangsledning w 1 Indgangsledning w 2 Udgangsledning w 3 Krypteret beregningstabel

Her menes resultatet af kryptering af værdien x med nøglen k , og  - henholdsvis dekrypteringen af ​​chifferteksten y med nøglen k . Du bør vælge et symmetrisk krypteringsskema , som har en ekstra egenskab: Hvis du forsøger at dekryptere teksten med den forkerte nøgle, returnerer algoritmen en fejl.

Betydningen af ​​denne tabel er som følger: hvis vi kender de krypterede værdier af signalet k 1 u k 2 på inputtrådene til henholdsvis ventilen w 1 u w 2 , så kan vi beregne den krypterede signalværdi ved at beregne værdien for alle i =1...4 . I tre ud af fire tilfælde skulle der opstå en fejl, og i det resterende fjerde får vi den krypterede værdi k 3 af signalet ved portudgangen.

Anvendte protokoller

Praktisk anvendelse

Noter

  1. Andrew Chi-Chih Yao: Protocols for Secure Computations (Extended Abstract) FOCS 1982: 160-164
  2. Yehuda Lindell, Benny Pinkas: A Proof of Yao's Protocol for Secure Two-Party Computation, Cryptology ePrint Archive, Report 2004/175
  3. Løsning på millionærens problem arkiveret 19. maj 2008.
  4. M. Ben-Or, S. Goldwasser og A. Wigderson. Fuldstændighedsteoremer for ikke-kryptografisk fejltolerant distribueret beregning. I 20. STOC, 1-10, 1988.
  5. P. Bogetoft, D. L. Christensen, I. Damgard, M. Geisler, T. Jakobsen, M. Kroigaard, J. D. Nielsen, J. B. Nielsen, K. Nielsen, J. Pagter, M. Schwartzbach og T. Toft. Sikker multiparty-beregning går livet ud. I finansiel kryptografi og datasikkerhed – FC 2009
  6. A. Yao. Hvordan man genererer og udveksler hemmeligheder. I 27. FOCS, 162-167, 1986.
  7. Goldreich, S. Micali og A. Wigderson. Sådan spiller du ethvert mentalt spil - En fuldstændighedsteorem for protokoller med ærligt flertal. I 19. STOC, 218-229, 1987.
  8. P. Bogetoft, I. Damgard, T. Jakobsen, K. Nielsen, J. Pagter. og T. Toft. En praktisk implementering af sikre beregningsauktioner baseret på flerparts heltal. I Financial Cryptography and Data Security - FC 2006, Springer-Verlag LNCS 4107, 142-147, 2006.
  9. D. Malkhi, N. Nisan, B. Pinkas og Y. Sella. Fairplay er et sikkert to-parts beregningssystem. I Proc. af 13. USENIX Security Symposium, 2004.
  10. A. Ben-David, N. Nisan og B. Pinkas. FairplayMP: et system til sikker multi-party beregning. I computer- og kommunikationssikkerhed - CCS 2008, ACM, 257-266, 2008.
  11. Pathak Rohit, Joshi Satyadhar, Advances in Information Security and Assurance, Springer Berlin / Heidelberg, ISSN 0302-9743 (Print) 1611-3349 (Online), ISBN 978-3-642-02616-4 , DOI 3/971800 7/971800. -642-02617-1
  12. Rashid Sheikh, Brijesh Kumar og Durgesh Kumar Mishra, Privacy Preserving k-secure sum protocols, International Journal of Computer Science and Information Security, ISSN 1947-5500 (Online), Vol.6, No.2, nov. 2009