Criptare homomorfă

Versiunea actuală a paginii nu a fost încă examinată de colaboratori experimentați și poate diferi semnificativ de versiunea revizuită la 28 martie 2015; verificările necesită 44 de modificări .

Criptarea homomorfă  este o formă de criptare care vă permite să efectuați anumite operații matematice asupra textului cifrat și să obțineți un rezultat criptat care se potrivește cu rezultatul operațiunilor efectuate pe textul simplu . De exemplu, o persoană ar putea adăuga două numere criptate fără să cunoască numerele descifrate, iar apoi o altă persoană ar putea descifra suma criptată - obține suma descifrată fără a avea numerele descifrate. Criptarea homomorfă ar permite furnizarea de servicii diferite fără a furniza date publice de utilizator pentru fiecare serviciu.

Există criptosisteme parțial homomorfe și complet homomorfe. Un criptosistem parțial homomorf vă permite să efectuați doar una dintre operații - fie adunare, fie înmulțire . Un criptosistem complet homomorf suportă ambele operații, adică satisface proprietățile homomorfismului atât în ​​ceea ce privește înmulțirea, cât și adunarea.

Istorie

Conceptul de „criptare homomorfă” a fost format pentru prima dată [1] în 1978 de Ronald Rivest , Leonard Adleman și Michael Dertouzos  , autorii algoritmului RSA la un an după dezvoltarea algoritmului. Ei au sugerat posibilitatea de a efectua operațiuni arbitrare asupra datelor criptate fără a le decripta.

În acel moment, încercările de a crea un criptosistem complet homomorf nu au avut succes. De exemplu, în 1982, Shafi Goldwasser și Silvio Micali au propus un sistem de criptare homomorf la multiplicare și capabil să cripteze doar un bit. Un alt criptosistem homomorf în ceea ce privește multiplicarea a fost propus în 1999 de Pascal Peyet .

În 2005, Dan Bone , Yu Jin Guo și Kobi Nissim au propus [2] un criptosistem bazat pe utilizarea perechilor biliniare pe curbe eliptice , permițând un număr nelimitat de operații de adunare și o operație de înmulțire.

Problema creării unui criptosistem homomorf atât în ​​ceea ce privește operațiile de adunare, cât și de înmulțire a rămas nerezolvată de peste 30 de ani.

În 2009, Craig Gentry , student absolvent la Universitatea Stanford și stagiar la IBM , a fundamentat teoretic posibilitatea fundamentală de a crea un criptosistem de criptare complet homomorf și a propus un astfel de sistem . Sistemul propus poate fi utilizat pentru a asigura confidențialitatea datelor în timpul oricărui tip de prelucrare a datelor în medii neîncrezătoare, de exemplu, în cloud sau în calculul distribuit .

În curând au apărut lucrări care sugerează modificări de îmbunătățire a performanței la criptosistemul Gentry .

Criptografii lucrează la modalități alternative de a construi criptosisteme complet homomorfe, cum ar fi utilizarea criptării simetrice în locul criptării cu chei publice, folosind polinoame într-una sau mai multe variabile, folosind polinoame matriceale.

Vedere generală a criptării homomorfe

Criptarea homomorfă este o formă de criptare care permite efectuarea unei operații algebrice specifice pe textul simplu prin efectuarea unei operații algebrice pe textul cifrat.

Fie  cheia de criptare,  textul simplu (mesajul) de criptat și  funcția care realizează criptarea.

O funcție se numește omomorfă în raport cu operația „ ” (adunare sau înmulțire) peste texte clare (mesaje) și dacă există un algoritm eficient (care necesită un număr polinom de resurse și rulează în timp polinomial ), care, primind orice pereche de texte cifrate de forma și ca intrare , produce un text criptat (text cifrat, criptogramă) astfel încât atunci când este decriptat , va fi obținut text simplu [3] .

În practică, următorul caz special de criptare homomorfă este mai des luat în considerare.

Lăsați pentru funcția de criptare dată și operația „ ” pe texte simple și există o operație „ ” pe textele cifrate, astfel încât textul simplu să fie extras din textul cifrat atunci când este decriptat . Acest lucru necesită ca dat , , , dar cu o cheie necunoscută , ar fi imposibil să se verifice efectiv dacă textul cifrat a fost obținut de la și .

Orice sistem de criptare standard poate fi descris prin descrierea a trei operațiuni: o operație de generare a cheilor ( keyGen ), o operație de criptare ( encypt ) și o operație de decriptare ( decrypt ) [4] .

Pentru a descrie un sistem de criptare homomorf, pe lângă cele trei operații enumerate mai sus, este necesar să se descrie operația de calcul ( eval ). Utilizarea criptării homomorfe implică utilizarea unei secvențe de patru operații: generarea cheilor, criptarea, calculul, decriptarea:

  1. generare cheie  - generarea de către client a unei chei publice ( cheie publică ) (pentru a decripta textul simplu criptat) și a unei chei secrete ( cheie secretă ) (pentru a cripta textul simplu);
  2. criptare  - criptare client a textului clar (text simplu ) utilizând o cheie secretă  - calcul al textului cifru (text cifrat ) ; trimiterea textului cifrat al clientului și a cheii publice către server;
  3. calcul  - primirea funcției de către server , folosind și pentru a efectua calcule pe textul cifrat ; trimiterea rezultatului de către server către client;
  4. decriptare  - decriptare de către client a valorii primite de la server folosind .

Fie  funcția de criptare;  - functie de extindere; și  — texte simple; simbolurile „ ” și „ ” denotă operații de înmulțire și adunare pe texte cifrate, corespunzătoare operațiilor de înmulțire și adunare pe texte simple.

Un sistem de criptare este homomorf în raport cu operația de înmulțire (are proprietăți homomorfe multiplicative) dacă

Un sistem de criptare este homomorf în raport cu operația de adăugare (are proprietăți homomorfe aditive) dacă

Un sistem de criptare este homomorf în ceea ce privește operațiile de înmulțire și adunare, adică complet homomorf (are atât proprietăți homomorfe multiplicative cât și aditive) dacă

Dacă un criptosistem cu aceste proprietăți poate cripta doi biți, atunci deoarece operațiunile de adunare și înmulțire formează o bază Turing-completă asupra biților, devine posibil să se calculeze orice funcție booleană și, prin urmare, orice altă funcție calculabilă .

Aplicații

Cloud computing

Criptarea omomorfă deschide noi oportunități pentru păstrarea integrității, disponibilității și confidențialității datelor atunci când sunt procesate în sisteme cloud. În cloud computing , unde performanța este o prioritate de top, ar trebui aplicați diferiți algoritmi, fiecare dintre care îndeplinește cel mai bine sarcina în cauză. De exemplu, pentru operațiunile de multiplicare a datelor criptate, este recomandabil să se folosească algoritmul RSA sau algoritmul ElGamal , iar pentru adunare, algoritmul Peye . În cazul utilizării unui sistem de criptare complet homomorf, numărul de operațiuni care pot fi efectuate asupra datelor ar trebui limitat, deoarece în urma calculelor se acumulează unele erori . Dacă valoarea erorii depășește valoarea parametrului secret , este posibil ca datele să nu poată fi decriptate corect.

Votul electronic

Votul electronic  este un alt domeniu promițător de aplicare pentru criptarea homomorfă. Sistemul va putea cripta voturile alegătorilor și va efectua calcule pe date criptate, păstrând în același timp anonimatul alegătorilor. De exemplu, în schema de vot electronic Benalo, procesul de vot include următorii pași [5] :

  1. fiecare participant cu drept de vot al schemei își împarte votul (secretul) în componente (secrete parțiale) în conformitate cu schema corespunzătoare de partajare a secretelor cu proprietatea de homomorfism de adăugare și trimite secrete parțiale aleșilor;
  2. reprezentanții își adună voturile; schema este omomorfă în plus, prin urmare, sumele voturilor sunt secrete parțiale ale rezultatului electoral corespunzător;
  3. mandatarul principal calculează totalul voturilor finale folosind setul de voturi parțiale acordate acestuia de către aleșii.

Luați în considerare un exemplu despre cum poate fi implementată această abordare.

Să existe un set de candidați din care să se formeze lista inclusă în buletinul de vot. Inițiatorul votului are un criptosistem homomorf în raport cu operațiunea de adăugare, distribuie între participanții la votul secret cheia publică a sistemului de criptare homomorfă și buletinul de vot ca vector unde  este numele de familie al celui de-al-lea candidat. Fiecare dintre alegători realizează un vector de preferințe unde După aceea, folosind cheia publică, fiecare dintre alegători criptează vectorul element cu element și îl trimite inițiatorului votului. Pentru a rezuma rezultatele votării, el efectuează calcule pe elementele corespunzătoare ale vectorilor de preferință primiți și decriptează folosind cheia secretă . Deoarece criptosistemul este homomorf în ceea ce privește operația de adunare, indicii celor mai mari elemente ale vectorului rezultat vor fi indicii candidaților câștigători.

Căutare sigură de informații

Criptarea omomorfă poate oferi utilizatorilor posibilitatea de a extrage informații din motoarele de căutare, păstrând în același timp confidențialitatea: serviciile vor putea primi și procesa cereri, precum și emite rezultate de procesare fără a analiza și remedia conținutul lor real. De exemplu, o metodă de extragere a înregistrărilor dintr-o bază de date prin indecșii acestora poate fi reprezentată după cum urmează.

Fie  indexul înregistrării de preluat; ;  - toate înregistrările indexate din baza de date.

Apoi, pentru a selecta înregistrarea necesară, este necesar să se calculeze următoarea funcție :

Dacă toate sunt criptate cu un criptosistem homomorf, se poate calcula homomorf prin texte cifrate. Pentru a face acest lucru, este suficient ca clientul să cripteze bit cu bit indexul înregistrării de care are nevoie și să îl trimită la server. Rezultatul unei evaluări homomorfe a unei funcții peste texte cifrate va fi valoarea cifrată dorită a intrării solicitate de client. Evident, un criptosistem trebuie să aibă proprietăți homomorfe atât multiplicative, cât și aditive.

Protecția rețelelor de comunicații descentralizate fără fir

Rețelele wireless descentralizate de auto-organizare ( MANET ) sunt rețele formate din dispozitive mobile. Fiecare astfel de dispozitiv se poate mișca în mod independent în orice direcție și, ca rezultat, adesea întrerupe și stabilește conexiuni cu dispozitivele învecinate. Una dintre principalele probleme în construirea MANET este asigurarea securității datelor transmise. Pentru a rezolva această problemă, poate fi utilizată criptarea homomorfă, care este încorporată în protocoalele de rutare pentru a îmbunătăți securitatea. În acest caz, operațiunile pe texte cifrate pot fi efectuate în siguranță de către noduri intermediare. În special, pentru a găsi calea optimă între două noduri, este necesar să se efectueze operații liniare pe datele criptate fără a le decripta. Prezența criptării homomorfe nu permite unui atacator să găsească o conexiune între mesajele care intră în nod și mesajele care părăsesc nodul. Prin urmare, nu este posibilă urmărirea traseului unui mesaj utilizând analiza traficului [6] .

Servicii de externalizare pentru carduri inteligente

Tendința actuală este de a dezvolta carduri universale cu propriul sistem de operare , care poate îndeplini o varietate de funcții și poate interacționa cu mai mulți furnizori de servicii. S-a speculat că unele aplicații pot rula în afara hărții pe date criptate homomorf. Aplicațiile care necesită în special resurse, cum ar fi aplicațiile furnizorilor de servicii, precum și verificările biometrice ( recunoașterea vocii , a amprentei sau a scrisului de mână ), care necesită de obicei o cantitate semnificativă de date și un număr mare de operațiuni relativ simple, pot utiliza dispozitive de stocare externe și procesoare , mai puternice decât procesorul încorporat în card.

Sisteme de feedback

Criptarea homomorfă poate fi utilizată, de exemplu, în așa-numitele sisteme de feedback homomorfe securizate atunci când este necesar să se păstreze anonimatul utilizatorului și să se ascundă rezultatele intermediare ale calculelor .  Sistemele ajută la colectarea anonimă a feedback-ului (comentariilor) de la elevi sau profesori despre munca lor. Feedback-ul primit în acest fel este criptat și stocat pentru calculele ulterioare. Sistemele de feedback pot fi utilizate pentru a crește gradul de conștientizare a stării de lucruri și pentru a îmbunătăți performanța. S-a stabilit că feedback-ul de încredere al oricărui sistem sau proces poate fi furnizat numai în cazurile de menținere a anonimatului utilizatorului, de imuabilitate a datelor colectate și de asigurare a securității operațiunilor interne pentru analiza datelor.

Ofucare pentru a proteja produsele software

Scopul principal al ofuscarii este de a face dificilă înțelegerea funcționării programului. Deoarece toate arhitecturile computerizate tradiționale folosesc șiruri binare, prin aplicarea criptării complet homomorfe pe biți, orice funcție poate fi calculată. Prin urmare, este posibilă criptarea homomorfă a întregului program, astfel încât să-și păstreze funcționalitatea.

Sisteme parțial homomorfe

Criptosistemele parțial homomorfe sunt criptosisteme care sunt homomorfe în raport cu o singură operație, fie operația de adunare, fie operația de înmulțire. În exemplele de mai jos, expresia denotă utilizarea funcției de criptare pentru a cripta textul simplu (mesajul) .

Criptosistemul RSA

Criptosistemul RSA este o schemă criptografică cu cheie publică care este omomorfă în multiplicare. Să fie  modulul RSA,  să fie textul simplu  și să fie cheia publică (pentru a cripta textul simplu). Funcția de criptare arată ca . Să arătăm homomorfismul prin înmulțire:

Criptosistemul ElGamal

Criptosistemul ElGamal este o alternativă la criptosistemul RSA și, cu aceeași valoare a cheii, oferă aceeași securitate criptografică . ElGamal a îmbunătățit algoritmul Diffie-Hellman și a obținut algoritmi pentru criptare și pentru furnizarea de autentificare. Un criptosistem este un criptosistem probabilist de criptare. Funcția sa de criptare este omomorfă în ceea ce privește operația de multiplicare a textului simplu: o criptogramă de produs poate fi calculată ca un produs (în perechi) al criptogramelor de factori. Fie  funcția de criptare; și  — texte simple. Dacă și atunci pot fi obținute în formularul .

Criptosistem Goldwasser-Micali

În criptosistemul Goldwasser-Micali , dacă modulul este cheia publică, atunci funcția de criptare a biților este pentru elementul aleatoriu . Atunci acest criptosistem este omomorf pentru operația de înmulțire: unde simbolul „ ” denotă operația de adunare modulo 2 .

Criptosistemul lui Peye

În criptosistemul Peye , dacă cheia publică este un modulo și  este un număr aleatoriu, atunci funcția de criptare a unui mesaj (text simplu) este reprezentată ca o variabilă aleatorie . Atunci homomorfismul prin adunare se demonstrează astfel:

Criptosistemul lui Benalo

În criptosistemul Benalo , dacă cheia publică este un modul , atunci funcția de criptare în text simplu este reprezentată ca pentru aleatoriu . Atunci homomorfismul prin adunare se demonstrează astfel:

Alte criptosisteme parțial homomorfe

Criptare complet homomorfă

Criptosistemele parțial homomorfe permit efectuarea de calcule homomorfe pentru o singură operație (fie adunare, fie înmulțire) de texte clare. Un criptosistem care acceptă atât adunarea, cât și multiplicarea (conservând astfel structura inelului de text simplu ) este cunoscut ca criptare complet homomorfă și este mai puternic. Folosind un astfel de sistem, orice schemă poate fi evaluată homomorf, permițând crearea eficientă a programelor care pot fi rulate pe criptare de intrare pentru a produce criptarea de ieșire. Deoarece un astfel de program nu își va decripta niciodată intrarea, poate fi executat de o parte neîncrezătoare fără a-și afișa intrarea și starea internă. Existența unui sistem criptografic eficient și complet homomorf ar avea mari implicații practice în externalizarea calculului privat, de exemplu în contextul cloud computing -ului [7] . Criptarea homomorfă ar permite diferitelor servicii să fie combinate într-unul singur fără a furniza date pentru fiecare serviciu. De exemplu, gruparea serviciilor diferitelor companii ar putea calcula în mod consecvent taxa, aplica cursul de schimb curent, depune o cerere de tranzacție, fără a furniza date reale pentru fiecare dintre aceste servicii [8] . Proprietatea omomorfă a diferitelor sisteme criptografice poate fi utilizată pentru a crea sisteme de vot sigure [9] , funcții hash rezistente la coliziuni, informații proprietare ale motorului de căutare și pentru a permite utilizarea pe scară largă a cloud computingului public prin garantarea confidențialității datelor procesate.

Probleme de performanță și soluții

Una dintre problemele semnificative ale criptosistemelor cunoscute complet homomorfe este performanța lor extrem de scăzută. În prezent, există două modalități principale de îmbunătățire a performanței: utilizarea „criptării limitate complet  homomorfe[10] și utilizarea așa-numitei „metode de ambalare a textului cifrat” [11] . Primul implică un criptosistem care poate efectua operații de adunare și înmulțire, dar într-un număr limitat. Esența celui de-al doilea este că mai multe texte clare sunt scrise într-un text cifrat deodată și, în același timp, în timpul unei singure operații a unui astfel de text cifrat lot, toate textele cifrate incluse în acesta sunt procesate simultan.

Vezi și

Note

  1. Ronald L. Rivest, Len Adleman, Michael L. Dertouzos. Despre băncile de date și homomorfismele de confidențialitate . Presa Academică (1978). Arhivat din original pe 25 mai 2013.  
  2. Dan Boneh, Eu-Jin Goh, Kobbi Nissim. Evaluarea formulelor 2-DNF pe  texte cifrate . Springer-Verlag (2005). Arhivat din original pe 25 mai 2013.
  3. Varnovsky, N. P.  Criptare homomorfă / N. P. Varnovsky, A. V. Shokurov // Proceedings of the Institute for System Programming of the Russian Academy of Sciences. — 2006.
  4. Studiu asupra diverselor algoritmi și scheme de criptare homomorfă / PV Parmar [et al.] // Intern. J. de Aplicaţii Calculatoare. - 2014. - Vol. 91, nr. opt.
  5. Shenets, N. N. Sistem  modular de partajare a secretelor și sistem electronic de vot / N. N. Shenets // Buletinul BSU. Ser. 1. - 2011. - Nr. 1.
  6. Gabidulin, E. M.  Securitatea informațiilor în rețelele de telecomunicații / E. M. Gabidulin, N. I. Pilipchuk, O. V. Trushina // Proceedings of the Moscow Institute of Physics and Technology. - 2013. - V. 5, Nr. 3.
  7. Daniele Micciancio. A First Glimpse of Cryptography's Holy Grail  (Eng.) 96. Association for Computing Machinery (1 martie 2010). Arhivat din original pe 24 mai 2013.
  8. Craig Stuntz. Ce este criptarea homomorfă și de ce ar trebui să-mi pese?  (engleză) (18 martie 2010). Arhivat din original pe 24 mai 2013.
  9. Ron Rivest. Note de curs 15: Vot, criptare homomorfă  (engleză) (29 octombrie 2002). Arhivat din original pe 24 mai 2013.
  10. Brakerski Z., Gentry C., Vaikuntanathan V. (Leveled) criptare complet homomorfă fără bootstrapping  //  Teoretică Informatică. - 2012. - P. 309-325 .
  11. Burtyka F. B. Criptare complet homomorfă simetrică de pachete bazată pe polinoame matriceale  // Proceedings of the Institute of System Programming. Volumul 26. - 2014. - Nr. 5 . - S. 99-115 .

Literatură

Link -uri