Puncte:4

Indistinguirea criptării simetrice conform CCA

drapel vn

Învăț despre criptarea simetrică și proprietățile sale de securitate. Una dintre noțiunile de securitate este securitatea împotriva atacurilor alese prin text cifrat (CCA), în special noțiunea IND-CCA.

Conform acestei noțiuni, adversarul are acces atât la un oracol de criptare, cât și la un oracol de decriptare. Jocul/experimentul IND-CCA impune o restricție importantă adversarului că acesta nu poate face o interogare de text-cifrare (la oracolul de decriptare) obținut prin criptarea unui text simplu (obținut din oracolul de criptare); altfel adversarul poate câștiga trivial

Înțeleg necesitatea de a pune restricția adversarului pentru oficializarea noțiunii. Dar nu înțeleg cum ar modela acest joc/experiment un scenariu de viață reală. Despre ce aspect al realității vorbește această noțiune?

Titanlord avatar
drapel tl
În [Manualul lui Katz & Lindell (ediția a 2-a)](https://www.cs.umd.edu/~jkatz/imc.html) în capitolul 3.7.2 despre Padding Oracle Attacks (pagina 98) ar trebui să găsiți explicația pe care o aveți cauta.
Puncte:7
drapel us

Securitatea CCA pare întotdeauna extremă pentru oamenii care tocmai învață despre asta. Premisa pare ridicolă, de ce i-am da atâta putere atacatorului? De ce l-am lăsa pe atacator să decripteze aproape tot ce dorește și să învețe întregul rezultat al decriptării? În lumea reală, când am acționa vreodată ca un oracol de decriptare pentru un atacator?

Îmi place să motivez securitatea CCA în două moduri diferite:

(1) Dacă notez un mesaj secret într-un plic și nu ajungi niciodată să atingi acel plic, nu poți spune ce se află în plicul meu. Dacă aș fi fost de acord să deschid vreuna alte plic în lume -- te-ar ajuta asta să-ți dai seama ce se află în interiorul acestui plic special? Desigur că nu. De ce decriptarea a ceea ce se află în textul cifrat #1 vă va spune despre ceea ce este în textul cifrat #2? Nu aș vrea să cumpăr o cutie de plicuri cu acea proprietate și nu aș vrea să folosesc o schemă de criptare cu acea proprietate.

(2) Probabil ați avut rezerve similare cu privire la securitatea CPA: în lumea reală, când lăsăm vreodată un atacator alege complet ce lucruri criptăm? Aceasta este o întrebare validă, dar să presupunem că avem o definiție de securitate care nu permite atacatorului să influențeze alegerea textului simplu deloc. Apoi, de fiecare dată când criptăm în lumea reală, trebuie să fim absolut siguri că textul simplu a avut influență zero de la orice atacator -- doar așa putem fi siguri că această definiție ipotetică de securitate s-ar aplica situației noastre.

Deoarece acest lucru nu este realist, definiția noastră de securitate trebuie să permită unui atacator să aibă cel puțin niste influență asupra textelor clare care sunt criptate. Dar pur și simplu nu este util definiție pentru a permite atacatorului să aibă o influență parțială definită ciudat asupra alegerii textelor clare. Nivelul de influență în lumea reală depinde în mare măsură de aplicația specifică și nu dorim un milion de definiții de securitate diferite pentru un milion de scenarii de aplicație diferite. Cel mai simplu lucru de făcut este ceea ce face definiția de securitate CPA: la fel de bine am putea urmări să ne protejăm împotriva atacatorilor care alege complet ce texte clare sunt criptate! Chiar dacă un astfel de control contradictoriu deplin asupra textelor clare nu reflectă a singur scenariu realist, este suficient de general pentru a se aplica bine tuturor scenariilor în care atacatorul are niste influență asupra alegerii textelor clare.

O situație similară este valabilă în ceea ce privește decriptarea. Vă puteți imagina un server web care acceptă texte cifrate din lumea exterioară, decriptează acele texte cifrate și apoi face ceva bazat pe rezultatul decriptării (adică, dacă rezultatul decriptării este acesta, atunci faceți asta; altfel, faceți asta)? Dacă acest lucru sună natural, atunci definiția dvs. de securitate trebuie să ofere atacatorului capacitatea de a învăța ceva despre rezultatul decriptării, pe texte cifrate create în mod adversar. (Definiția CPA nu surprinde această situație.) Deci, câte informații ar trebui să obțină atacatorul? În lumea reală, răspunsul la această întrebare depinde în mare măsură de aplicația particulară. Dacă vrem o definiție de securitate cu scop general, care se aplică multor scenarii realiste, atunci acea definiție de securitate ar trebui pur și simplu să ofere cât mai multă putere atacatorului. În acest caz, ar trebui să lase atacatorul să decripteze liber tot ceea ce dorește și să învețe întregul rezultat al decriptării (cu excepția unor moduri care, evident, trivializează jocul de securitate).

Securitatea CCA nu este menită să reflecte un singur scenariu din lumea reală, în care expunem atacatorului un oracol de decriptare completă. Mai degrabă, este menit să fie suficient de general pentru orice scenariu în care atacatorul învață ceva despre rezultatul decriptării textelor cifrate generate adversar.

driewguy avatar
drapel vn
Super explicație! Am înțeles o parte din rațiunea din spatele noțiunilor de securitate. Pot vedea cât de relevantă ar fi securitatea IND-CCA1. Dar noțiunea IND-CCA2, în care adversarul poate alege texte de criptare pentru a le trimite la oracol de decriptare bazat pe texte de criptare necunoscute, pare încă deznădăjduită. Ce scenarii modelează noțiunea IND-CCA2? După ce a văzut un text cifrat necunoscut, dacă adversarului i se permite să aleagă textele cifrate, ceea ce îl împiedică să aleagă textul cifrat necunoscut ca interogare la oracolul de decriptare și să învețe despre textul simplu? Din nou, înțeleg necesitatea unei astfel de restricții în definiția formală a experimentului
drapel us
încă o modalitate de a înțelege CCA: să presupunem că accept un text cifrat $c$ și că sunt dispus să dezvălui răspunsul la o întrebare minusculă despre $\textsf{Dec}(c)$. CCA se asigură că dezvălui doar ceea ce vreau. Fără CCA, dacă răspund la acea întrebare despre $c$ și $c_1$ și $c_2$ etc, atunci s-ar putea să dezvăluie mai mult decât mi-am dorit despre $c$. Fără CCA, informațiile despre $c$ pot „scurge” în alte texte cifrate $c_i$, astfel încât răspunsul la această întrebare despre $c_i$ permite atacatorului să învețe mai multe despre ce se află în interiorul $c$.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.