Puncte:0

De ce un MAC slab sigur fără interogări de verificare nu este neapărat slab sigur în prezența interogărilor de verificare?

drapel ug

Eu studiez criptografia de la Un curs absolvent de criptografie aplicată de Boneh și Shoup (versiunea 0.5) și am probleme în a vedea rezultatul în Exercițiul 6.7.

În carte, un sistem MAC securizat este definit în termenii unui joc de atac în care un adversar poate efectua interogări de semnare pe mesaje arbitrare pentru a primi etichete. Adversarul trimite mesaje $m_1, m_2, \ldots, m_Q$ contestatorului său și primește etichetele $t_1, t_2, \ldots, t_Q$. Securitatea este măsurată prin probabilitatea ca adversarul să câștige prin prezentarea unei falsuri de pereche mesaj-tag $(m, t)$ unde perechea $(m, t) \notin \{(m_1, t_1), \ldots, (m_Q, t_Q)\}$. Mai târziu, este creat un nou joc de atac în care adversarul poate efectua și interogări de verificare în care adversarul propune o pereche mesaj-etichetă. $(m, t)$ și primește fie a $\textsf{accept}$ sau $\textsf{respingere}$ in functie de daca perechea este valabila sau nu. Securitatea este măsurată prin probabilitatea ca adversarul să primească a $\textsf{accept}$ pentru o pereche mesaj-etichetă $(m, t) \notin \{(m_1, t_1), \ldots, (m_Q, t_Q)\}$.

Teorema 6.1 din carte arată că securitatea în primul joc de atac implică securitate în cadrul celui de-al doilea joc de atac. Exercițiul 6.7 cere să demonstrăm că acest rezultat nu se menține dacă modificăm condițiile de câștig la prezentarea unui $(m, t)$ fals unde $m \notin \{m_1, m_2, \ldots, m_Q\}$. În această nouă condiție, obținem definiția securității slabe cu/fără interogări de verificare. Sugestia este să utilizați un PRF securizat care poate fi „sabotat”.

Întâmpin dificultăți în a înțelege cum se menține acest rezultat la securitatea slabă. Privind demonstrația teoremei 6.1, nu este clar de ce această dovadă nu poate atinge MAC-urile slab sigure, deoarece demonstrația pare să nu folosească niciodată în mod explicit $(m, t) \notin \{(m_1, t_1), \ldots, (m_Q, t_Q)\}$ condiție. Astfel, am ghicit naiv că demonstrația pentru teorema 6.1 va funcționa în continuare. De ce această dovadă se defectează pentru MAC-urile slab sigure?

Privind indiciu, singurul lucru care îmi vine în minte este că, cumva, obținerea unei respingeri de la o verificare ar putea dezvălui informații despre PRF-ul folosit pentru a crea MAC-uri. Astfel, ar trebui să creez cumva un PRF care își pierde securitatea după ce un adversar află de un fel de respingere. Nu știu cum ar putea funcționa o astfel de construcție. De asemenea, am sentimentul că ar trebui să creez MAC-uri nedeterministe, dar din nou nu îmi este clar cum aș construi unul relevant.

drapel pe
Soluția poate fi găsită [aici](https://eprint.iacr.org/2004/309). Rețineți că indicația este puțin înșelătoare; ceea ce ar trebui să „sabotezi” este schema MAC, nu PRF-ul în sine.
Puncte:0
drapel ug

Mulțumită Samuel Neves pentru că m-a îndreptat în direcția corectă. Am aruncat o privire la referinta mentionata, și se referă la modul în care Teorema 6.1 eșuează pentru securitate slabă. De asemenea, acoperă un MAC care este slab sigur fără interogări de verificare, dar își pierde securitatea în prezența interogărilor de verificare.

De ce se defectează teorema 6.1

Am descoperit că subtilitatea apare în modul în care sunt definite jocurile de atac. Adversarul poate trimite orice pereche mesaj-etichetă $(m, t)$ pentru verificare atâta timp cât nu se află printre perechile semnate anterior. Ceea ce este important este că, în definiția originală a securității, adversarul câștigă jocul de atac dacă și numai dacă adversarul trimite o pereche de mesaj-etichetă validă, nevăzută anterior, pentru verificare. Echivalența rezultă din definiția condiției câștigătoare.

Cu toate acestea, în condiții de securitate slabă, direcția înainte rămâne valabilă (trimiterea unui mesaj valid $(m, t)$ pereche unde $m$ nu a fost văzut niciodată înainte formează clar o pereche validă niciodată văzută înainte), dar direcția înapoi eșuează. Direcția înapoi ar putea eșua deoarece adversarul ar putea obține a $(M, T)$ pereche dintr-o interogare de semnare și apoi trimiteți o interogare validă $(M, \bar{T})$ pereche prin modificarea etichetei $T$. $(M, \bar{T})$ este o pereche validă și nevăzută anterior, dar adversarul nu reușește să câștige deoarece perechea implică un mesaj care a fost semnat anterior.

În cazul în care Teorema 6.1 eșuează pentru securitate slabă este atunci când autorii susțin $\text{Pr}[W_0] = \text{MAC}^\text{vq}\text{adv}[\mathcal{A, I}]$ care presupune că câștigarea jocului de atac este echivalent cu prezentarea unei perechi mesaj-etichetă validă, nevăzută anterior. În exemplul extrem de mai sus, acesta nu este cazul, așa cum este posibil $W_0$ să apară, dar fără a câștiga jocul de atac de securitate slab.

Cum se rezolvă exercițiul

În ceea ce privește cum să construiți un sistem MAC care este slab sigur fără interogări de verificare, dar nu este slab sigur cu interogări de verificare, în principiu, construiți un sistem în care după ce primiți $(M, T)$ dintr-o interogare de semnare un adversar poate construi cu ușurință valid $(M, \bar{T})$ perechi. Prezentând aceste perechi valide, dar necâștigătoare, adversarul învață suficiente informații pentru a sparge sistemul MAC.

Lăsa $\mathcal{K} = \{0,1\}^\ell$ și $|\mathcal{T}|$ fii super-poli. Lăsa $F$ fi un PRF definit peste $(\mathcal{K, M, T})$, $k \stackrel{R}{\gets} \mathcal{K}$ și $\mathcal{I} = (S, V)$ fi un MAC definit peste $(\mathcal{K, M, T} \times \{\perp, 0,\ldots,\ell-1\})$. Algoritmul de semnare este definit a fi $S(m) = (F(k, m), \perp)$ iar algoritmul de verificare este

V(m, (t, i))
    // Validați eticheta față de PRF
    d = F(k, m) == t
    dacă !d sau i == â
       întoarce d? accept : respinge

    // Returnează bitul al cheii
    returnează k[i] == 1 ? accept : respinge
    

Proprietatea corectitudinii este valabilă deoarece a doua componentă a $S(m)$ este $\perp$ care intră în instrucțiunea if. Acest sistem MAC este în esență sistemul determinist MAC derivat din $F$ dar cu un câmp index suplimentar.

Mai întâi observăm asta $\mathcal{I}$ este slab sigur fără interogări de validare. Dacă un adversar câștigă, atunci adversarul a trimis o pereche validă $(m, (t, i))$ Unde $m$ nu a fost văzută înainte. Acest lucru înseamnă $\textsf{accept}$ a fost returnat ceea ce presupune $d$ este adevărat în $V(m, (t, i)))$ (fie declarația if a fost introdusă unde $\textsf{accept}$ a fost returnat sau instrucțiunea if nu a fost executată, ceea ce implică $d$ nu a fost fals). Acest lucru se întâmplă cu o probabilitate neglijabilă prin Teorema 6.2 ca $d$ fiind adevărat înseamnă că s-a făcut un fals împotriva MAC-ului determinist derivat din $F$ (acest MAC este securizat conform definiției mai puternice a securității).

In orice caz, $\mathcal{I}$ nu este slab sigur cu interogările de verificare. Un adversar care rupe securitatea este

Fie m un mesaj arbitrar
Obțineți (m, (t, â)) de la contestator

k[0..l-1] = 0
pentru i = 0 .. l-1
    Fie r răspunsul contestatorului la interogarea de validare (m, (t, i))
    dacă r == accept
        k[i] = 1
    altfel
        k[i] = 0

// Cheia a fost reconstruită
Fie m' un mesaj arbitrar care nu este egal cu m

// Calculați eticheta lui m' cu cheia reconstruită
Fie t' = S(m')
Trimiteți interogarea de validare (m', (t', â)) contestatorului

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.