Criptare Honey

Criptarea Honey  este un tip de criptare simetrică în care textul cifrat este decriptat cu orice cheie validă în text clar credibil [1] .

Istoricul creației

În 1999, Douglas Hoover și Nat Kausik au luat în considerare problema protecției cheii private în criptosistemele cu cheie publică , în special, exponentul secret în RSA și cheia secretă în DSA , și au propus un algoritm pentru mascarea acestei componente secrete folosind o parolă (șase la șir de opt biți). În lucrarea lor, ei au susținut că, pentru astfel de parole , căutarea în dicționar ar produce aceeași structură ca și cheia privată protejată, iar un atacator nu ar putea distinge datele corect decriptate de multe alte decriptări plauzibile, dar false, până când nu ar încerca să folosească rezultatul. cheile de acces la resursa piratată prin serverul de autentificare. Serverul va detecta mai multe erori de autentificare și va suspenda accesul. Această abordare oferă o măsură suplimentară de securitate, care face posibilă, de exemplu, reducerea dimensiunii spațiului cheie [2] .

Ulterior, au fost propuse sisteme de stocare a parolelor [3] [4] care folosesc o metodă similară de mascare a datelor de autentificare stocate într-o listă de cele aparent false pentru a preveni declasificarea bazei de date în cazul, de exemplu, a unui fișier hash de parole. fiind scursă.

Bazându-se pe aceste sisteme de demascare, Ari Jules de la Universitatea Cornell și Thomas Ristenpart de la Universitatea din Wisconsin au prezentat o lucrare despre criptarea mierii la Eurocrypt 2014 [5] .

Caracteristicile algoritmului

Criptarea Honey este concepută pentru a proteja împotriva atacurilor cu forță brută . Astfel de atacuri se sparg prin căutarea prin toate variantele posibile ale cheii, ceea ce este echivalent cu alegerea texturilor clare aleatorii din spațiul tuturor textelor simple posibile cu o distribuție uniformă discretă . Acest lucru poate fi eficient: în timp ce un atacator este la fel de probabil să obțină orice posibil text simplu, majoritatea dintre ele sunt foarte improbabile, cu alte cuvinte, distribuția de texte clare rezonabile este inegală. Mecanismul de protecție al metodei mierii se bazează pe transformarea spațiului de texte clare într-un astfel de spațiu încât distribuția textelor clare plauzibile în acesta să fie uniformă. Astfel, un atacator care ghicește cheie va primi adesea texte cu aspect rezonabil și rareori texte aleatorii. Acest lucru face dificilă știrea dacă cheia corectă a fost ghicită. În esență, criptarea miere produce date false ca răspuns la fiecare presupunere incorectă despre parola sau cheia de criptare [6] .

Securitatea criptării Honey se bazează pe faptul că probabilitatea ca un atacator să considere textul simplu drept corect poate fi calculată (de către partea care criptează) în momentul criptării. Acest lucru face dificilă utilizarea criptării cu miere în anumite aplicații în care spațiul textului simplu este foarte mare sau distribuția lor este necunoscută. De asemenea, înseamnă că criptarea miere poate fi vulnerabilă la atacuri cu forță brută dacă această probabilitate este calculată greșit. De exemplu, este vulnerabil la atacuri bazate pe texte simple , dacă un atacator are o „cheat sheet”, aceasta înseamnă că are un anumit număr de texte simple și textele cifrate corespunzătoare acestora, ceea ce face posibilă enumerarea chiar și a datelor criptate de către metoda mierii dacă nu a fost prezentă luată în considerare în criptare [7] .

Dezavantajele algoritmului includ problema greșelilor de scriere: dacă un utilizator de încredere face o greșeală când tastează cheia, atunci va primi un text simplu fals care pare credibil și nu îl va putea înțelege. De asemenea, relevantă este și problema creării unui mesaj fals corect din punct de vedere semantic și contextual, care va fi suficient pentru a înșela un atacator. Mesajele generate ar trebui să fie greu de distins de mesajele reale, în timp ce acestea trebuie să respecte regulile și normele limbii și, în același timp, să ascundă informații semnificative din textul original [8] .

Cum funcționează

Trei seturi sunt implicate în criptarea miere: un set de toate mesajele (spațiul de mesaje), un set de toate cheile (spațiul de chei) și un set de așa-numitele valori intermediare (din semința engleză ). De asemenea, o parte importantă a criptării honey este un codificator de transformare a distribuției sau DTE (din engleză. Distribution transforming encoder ), constând din doi algoritmi de codificare și decodare care stabilesc o conexiune între spații și . În codificare, textul simplu este comparat cu o valoare intermediară folosind un DTE și apoi convertit în text cifrat folosind o metodă de criptare simetrică cu cheia aleasă. Procedura de decodare cu cheie returnează o valoare intermediară, care este apoi tradusă de către DTE într-un mesaj valid [9] .   

Un mesaj poate fi mapat la mai multe valori intermediare, dar fiecare valoare se mapează doar la un mesaj. Dacă sunt posibile mai multe valori pentru un mesaj, exact una este selectată aleatoriu în algoritmul de codificare. Astfel, acest algoritm de codificare este randomizat , în timp ce algoritmul de decodare este determinist . Numărul de valori care se potrivesc cu un mesaj ar trebui să fie proporțional cu probabilitatea acestuia. Astfel, pentru a crea un DTE, trebuie cunoscută distribuția discretă a probabilității de apariție a mesajelor [10] .

Dacă cheia este greșită, textul cifrat este comparat cu o altă valoare și astfel decriptat într-un mesaj fals [5] .

Metoda de construcție DTE

O implementare practică specifică a schemei de criptare miere poate fi aranjată, de exemplu, după cum urmează. Toate mesajele din sunt sortate într-o anumită ordine, apoi se calculează probabilitatea și funcția de distribuție a fiecărui mesaj. Apoi, DTE potrivește mesajul text deschis cu un interval de valori de la , unde începutul intervalului este determinat de funcția de distribuție, iar sfârșitul este determinat de probabilitatea acestui mesaj. DTE selectează apoi aleatoriu un element din acest interval, care este apoi criptat cu o schemă de criptare simetrică adecvată folosind cheia pentru a obține textul cifrat. Procedura de decriptare se realizează, respectiv, după aceeași schemă și cu aceeași . DTE localizează apoi valoarea primită în , care corespunde valorii probabilității care se află între funcția de distribuție a mesajului dorit și cea care îl urmărește în spațiu . Căutând mesajul și tabelul de potrivire al acestuia, DTE va reconstrui mesajul text original [11] .

Exemple

11 este textul cifrat. În timpul decriptării, textul cifrat este re-adăugat modulo 2 cu cheia: Aceasta este din nou o valoare intermediară care este apoi corelată cu mesajul DTE original. Mesajul a fost decriptat din nou. Dacă atacatorul încearcă o cheie, să zicem 00, el adaugă textul cifrat cu acea cheie și obține , care decodifică în albastru. Un atacator nu poate determina dacă acest mesaj este corect sau incorect [13] .

Aplicație

Diverse adaptări ale algoritmului de criptare honey își găsesc aplicația în problema protecției datelor aflate în depozitele cloud , de exemplu, implementarea [14] a protecției suplimentare pentru fișierele criptate, pe lângă parola utilizatorului. Dacă un atacator încearcă să obțină acces la datele criptate prin forță brută, în loc să refuze accesul, algoritmul generează un fișier fals care nu poate fi distins asociat fișierului original. Un sistem similar a fost propus pentru a proteja aplicațiile utilizate în Internet banking [15] .

La conferința ICASSP 2016 a fost prezentat conceptul unui mesager rezistent la interceptări care creează mesaje credibile atunci când încearcă să atace mesajele criptate [16] .


Note

  1. Juels, 2014 , p. 60.
  2. Hoover, 1999 , p. 209.
  3. Bojinov, 2010 .
  4. Rivest, 2013 .
  5. 12 Juels , 2014 .
  6. Ristenpart, 2014 , pp. 293-294.
  7. Honey Encryption Algorithms - Security Combating Brute Force Attack . rapid7 (3 mai 2017). Preluat la 18 decembrie 2019. Arhivat din original la 18 decembrie 2019.
  8. Jantan, 2019 .
  9. Ristenpart, 2014 , pp. 295, 299.
  10. Ristenpart, 2014 , pp. 298-301.
  11. Yin, 2017 .
  12. Ristenpart, 2014 , p. 302.
  13. Juels, 2014 , p. 61.
  14. Mok, 2017 , p. 6-7.
  15. Samsudin, 2017 , p. 213-214.
  16. Kim, 2016 , pp. 2185-2187.

Literatură

Link -uri