Puncte:2

Cum funcționează atacul zilei de naștere asupra autentificării mesajelor?

drapel in
Tim

În Ingineria Criptografiei:

2.7.1 Atacurile de naștere

Atacurile de naștere sunt numite după paradoxul zilei de naștere. Daca ai 23 oameni dintr-o cameră, șansa ca doi dintre ei să aibă același lucru ziua de naștere depășește 50%. Aceasta este o probabilitate surprinzător de mare, dată fiind că există 365 de zile de naștere posibile.

Deci, ce este un atac de naștere? Este un atac care depinde de fapt că valorile duplicat, numite și coliziuni, apar mult mai repede decât te-ai aștepta. Să presupunem un sistem pentru tranzacții financiare sigure folosește o nouă cheie de autentificare pe 64 de biți pentru fiecare tranzacție. (Pentru simplitate, presupunem că nu se utilizează nicio criptare.) Există $2^{64}$ ($=18\cdot 10^{18}$ , sau optsprezece miliarde de miliarde) posibile valori cheie, deci aceasta ar trebui să fie destul de greu de spart, nu? Gresit! După ce am văzut despre $2^{32}$ ($=4\cdot 10^9$ , sau patru miliarde) tranzacții la care se poate aștepta atacatorul că două tranzacții folosesc aceeași cheie. Să presupunem că primul mesajul autentificat este întotdeauna același „Sunteți gata să primiți un mesajul tranzacției?". Dacă două tranzacții folosesc aceeași autentificare tasta, atunci valorile MAC de pe primele lor mesaje vor fi de asemenea același lucru, care este ușor de detectat pentru atacator. Știind că două chei sunt aceleași, atacatorul poate acum introduce mesajele de la tranzacția mai veche în tranzacția mai nouă în timp ce aceasta se desfășoară. Deoarece sunt autentificate prin cheia corectă, aceste mesaje false va fi acceptat, ceea ce reprezintă o întrerupere clară a tranzacției financiare sistem.

Ce rău face asta:

Știind că două chei sunt aceleași, atacatorul poate acum introduce mesajele de la tranzacția mai veche în tranzacția mai nouă în timp ce aceasta se desfășoară.

?

Să presupunem că cele două tranzacții au același MAC, ceea ce implică aceeași cheie de autentificare.

Mesajul din tranzacția mai veche nu este același cu mesajul din tranzacția mai nouă? Deci înlocuirea nu se schimbă?

Puncte:5
drapel in

În acest context, o tranzacție $t_i$ conține multe mesaje $m_i^t$ unde fiecare mesaj este MAC'ed cu cheia de tranzacție $k_i$.

Acum presupuneți că este generată cheia MAC a fiecărei tranzacții uniform aleatoriu[1]. Apoi după împrejur $2^{32}$ tranzacții, ne așteptăm ca o cheie să apară din nou cu 50% probabilitate procentuală de paradoxul zilei de naștere. Aceasta este partea de coliziune. Să presupunem $t_i$ și $t_j$ au aceeași cheie MAC $k_i$.

După cum sa menționat în paragraful, dacă primele mesaje ale tranzacțiilor sunt aceleași, atunci un atacator care stochează tranzacțiile poate vedea că o cheie este reutilizată - cheie din tranzacție $t_i$ este utilizat la tranzacție $t_j$.

Magazine pentru atacatori

| (m10,MAC(m10) |(m11,MAC(m11) | ... | (m1N1,MAC(m1N1)|
| (m20,MAC(m20) |(m21,MAC(m21) | ... | (m2N1,MAC(m2N2)|
....
| (mi0,MAC(mi0) |(mi1,MAC(mi1) | ... | (miNi,MAC(miNi)|
....
| (mj0,MAC(mj0) |(mj1,MAC(mj1) | ... | (mjNi,MAC(mjNi)|

și observă: MAC(mi0) = MAC(mj0)
și poate trimite

| (mj0,MAC(mj0) |(mi1,MAC(mi1) | ... | (miNi,MAC(miNi)|

Acum, pur și simplu preiau mesaje $m_i^t$ de la $t_i$și introduceți-le într-o tranzacție curentă care utilizează aceeași cheie. Deci noua tranzacție conține $m_j^t$ mesajele și inserarea $m_i^t$ mesaje în avantajul atacatorului. Atacatorul poate șterge toate fișierele $m_j^t$ mesajele tranzacției și pot trimite $m_i^t$și ele, în funcție de avantajul lor.

Ca urmare, înlocuirea modifică mesajele din tranzacție.


[1] Aceasta este o parte importantă a părții de coliziune și de securitate, de asemenea.

Tim avatar
drapel in
Tim
Mulțumiri. (1) Ce înseamnă $m_i^t$ și $t_i$ în „pur și simplu preiau mesaje $m_i^t$ de la $t_i$”? Nu le văd în partea de după „Magazine Attacker”. (2) în partea de după „Atacatorul stochează”, „observă : MAC(mi0) = MAC(mj0)”, atacatorul observă și „mi0 = mj0”? (3) este adevărat și pentru alți k mai mari decât 0, dar nu mai mari decât Ni, că MAC(mik) = MAC(mjk)" și "mik = mjk"? (4) Ultimul mesaj (mjNi,MAC( mjNi) în tranzacția j înseamnă că există Ni număr de mesaje, ca și în tranzacția i?
kelalaka avatar
drapel in
O tranzacție numită $t_i$ și o tranzacție poate conține multe mesaje fiecare este numit $m_i^t$ unde indexul superior $t$ poate varia de la $1$ la $m1N1$. Odată ce au observat că MAC-ul primului mesaj este repetat pentru o tranzacție, aceasta înseamnă că cheia MAC este aceeași. Deoarece au stocat toate tranzacțiile anterioare, atacatorii activi pot juca tranzacția curentă, în funcție de capacitățile lor.
kelalaka avatar
drapel in
Ei bine, numărul de mesaje din fiecare tranzacție poate fi diferit sau nu, depinde de schemă. Figura text, deși pare să indice că sunt aceleași, ultimii indici nu sunt neapărat aceiași. 2) Atacatorul observă întotdeauna mesajele și se presupune că primul mesaj este același pentru toate tranzacțiile. Deci, dacă puteți vedea începutul unei tranzacții, este posibil să nu aveți nevoie să verificați primele mase, totuși, acest lucru este ușor de verificat. 3) Nu este clar - sper că este clar din ultimul comentariu. 4) Da.
kelalaka avatar
drapel in
și, **rețineți că:** deși securitatea unui MAC nu depinde de faptul că un mesaj este criptat sau nu, acest atac presupune că mesajele nu sunt criptate.Aceasta este o presupunere realistă; luați în considerare că poate doriți să trimiteți mesaje publice, totuși, aveți nevoie de MAC împotriva falsurilor.
Puncte:2
drapel ar

După cum a menționat Kelalaka, pare să existe o presupunere implicită că o „tranzacție” conține mai multe mesaje autentificate separat și că mesajele nu sunt înlănţuit în orice fel (de exemplu, prin includerea simbolului MAC al mesajului anterior în intrarea în calculul MAC al mesajului următor).

Este de remarcat faptul că o astfel de schemă nu protejează integritatea tranzacției oricum – un atacator MITM ar putea reordona, elimina sau reda mesajele într-o singură tranzacție fără a fi prins de MAC. Atacul de ziua de naștere, așa cum este descris, oferă atacatorului doar libertatea suplimentară de a reda mesajele de la o tranzacție la alta folosind aceeași cheie MAC, ceea ce nu este o extensie a vulnerabilității (deja destul de proaste) la atacurile MITM pe care schema le-ar face. au chiar și cu chei MAC mai lungi.


În principiu, atacurile de ziua de naștere poate sa afectează chiar și schemele de autentificare cu mai multe mesaje bine concepute, dacă cheia MAC și/sau simbolurile sunt prea scurte. Detaliile, însă, depind foarte mult de schemă și, de obicei, astfel de atacuri vor necesita mai mult decât o cheie scurtă.

De exemplu, să presupunem că $i$-al-lea mesaj în tranzacție $t$ este autentificat prin etichetă $$\tau_{i,t} = \operatorname{MAC}_{K_t}(\tau_{i-1,t} \mathbin\| i \mathbin\| m_{i,t}),$$ Unde $K_t$ este cheia MAC per tranzacție, $\tau_{i-1,t}$ este eticheta MAC pentru mesajul anterior din tranzacție, $i$ este numărul mesajului (adăpat la o lungime fixă ​​sau separat fără ambiguitate de celelalte intrări MAC) și $m_{i,t}$ este mesajul care trebuie autentificat.

Apoi, pentru a putea înlocui mesajul etichetat $(m_{i,t}, \tau_{i,t})$ cu unul interceptat anterior $(m_{i',t'}, \tau_{i',t'})$ dintr-o altă tranzacție $t'$ și să treacă validarea MAC, atacatorul nu are nevoie doar $K_t = K_{t'}$, dar deasemenea $i = i'$ și $\tau_{i-1,t} = \tau_{i-1,t'}$. Acest ar putea se întâmplă întâmplător, dacă lungimea combinată a cheii, etichetei și (valorile tipice ale) contorului de mesaje a fost suficient de mică, dar este mult mai puțin probabil decât să se ciocnească doar două chei. În practică, ar necesita, de asemenea, ca eticheta (sau cheia!) să fie suficient de scurtă încât să fie direct vulnerabilă la atacurile de fals în forță brută, chiar și fără a exploata efectul zilei de naștere.

Astfel, deși ideea generală pe care cartea încearcă să le dea – că cheile ar trebui să fie suficient de lungi pentru a evita coliziunile de ziua de naștere – este un principiu bun de urmat în general, nu sunt convins că atacul real pe care îl prezintă este una practică, cel puțin nu împotriva oricăror scheme care oricum nu sunt deja vulnerabile la atacuri mult mai rele.

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.