Puncte:0

SHA384 are sens cu HMAC-SHA256?

drapel cn

În sensul nivelului de securitate (așa cum este definit, de exemplu, de Ferguson și Schneier în cartea Practical Cryptography), are sens să folosiți SHA384 cu HMAC-SHA256 în setările generale. Prin paradoxul zilei de naștere, HMAC-SHA256 va oferi un nivel de securitate de 128 de biți, iar SHA384 va oferi 192 de biți. După înțelegerea mea, nivelul general de securitate va fi limitat la 128 de biți și SHA384 doar falsifică.

Setări mai specifice: Pachetul transmis este:

(x,y,z)

Unde

y = SHA384 (w)     
z = HMAC-SHA256(x||y)
x și w sunt valori arbitrare

Ferguson și Schneier afirmă, de asemenea, că SHA384 este relativ inutil (la fel cum facem toată munca SHA512 și apoi aruncăm biții). Este încă valabil pentru toate implementările posibile ale SHA384?

Puncte:1
drapel in

Un hash cu cheie nu este susceptibil la coliziuni/paradoxul zilei de naștere, deoarece atacatorul nu deține cheia; nu puteți face nici un pre-calcul și nu puteți crea un set de hashe-uri cunoscute din acest motiv (ei bine, ați putea dacă ați avea un Oracle cu cheia, dar în acest caz, Oracolul ar semna date aleatoare livrate acestuia).

Deci subestimezi securitatea oferita de HMAC; în cele mai multe cazuri, oferă securitate care este aproximativ aceeași cu dimensiunea de ieșire / dimensiunea cheii. Vezi si keylength.com / recomandări NIST de exemplu (trebuie să vă uitați la „Hash (B)” pentru HMAC în tabel).


Cu toate acestea, utilizați y = SHA384(w). Acum, dacă un atacator poate încerca să creeze o coliziune pentru anumite valori ale w, ceea ce ar însemna că coliziunea hash este utilizată în cadrul intrării HMAC, ceea ce va duce, desigur, la aceeași valoare HMAC. Deci aici se aplică limita de naștere.

Deci, da, în acest caz, puteți încerca să utilizați SHA-384 sau SHA-512 (deoarece atacurile de extensie de lungime nu vor duce la o coliziune, așa că acestea nu sunt la subiect). SHA-384 ar putea fi folosit dacă bănuiți că este necesar un alt bloc de hashing dacă este folosit SHA-512; SHA-384 poate fi apoi puțin mai eficient - dacă o astfel de eficiență este necesară.

Cu toate acestea, vă rugăm să rețineți că în general presupunem că SHA-256 are deja o putere de 128 de biți chiar și atunci când presupunem atacuri de naștere, deci nu este încă nevoie să folosiți SHA-384 chiar și atunci.

Curious avatar
drapel cn
Răspunsul tău nu este foarte clar pentru mine. Poți explica puțin? Mai exact, interpretez ultimul tău paragraf ca că nu are prea mult sens să folosești SHA384 în loc de SHA256 aici. Dar ultimul paragraf al tău contrazice acea zicală că ar putea fi folosit. În ceea ce privește primul paragraf, care este, în opinia dumneavoastră, nivelul de securitate al HMAC-SHA256? În legătură cu asta, există un consens cu privire la nivelurile de securitate ale cripto-primitivelor? Dacă da, există o sursă autentică și actualizată de unde se pot găsi informații actualizate despre aceasta?
Maarten Bodewes avatar
drapel in
Consens? Hm, da, cam. Pur și simplu presupunem cel mai rău atac posibil cunoscut împotriva primitivilor.Dacă nu avem un indiciu că un atac mai puternic ar fi ușor posibil, atunci ordinea atacului determină nivelul de securitate. Dacă nivelul de securitate este de doar unul sau doi biți, în general, folosim doar puterea inițială (de exemplu, atacurile asupra AES aproape de $2^{127}$ nu modifică în mod semnificativ securitatea pe 128 de biți). M-am conectat la keylength.com /NIST pentru a vă oferi o idee despre puterea securității.
Maarten Bodewes avatar
drapel in
În ceea ce privește ideea despre SHA-384: ei bine, da, pentru rezistența la coliziune ar putea fi folosit, dar oferă mai multă securitate decât 128 de biți, care în general este considerat imposibil de spart. Cu toate acestea, aceasta este mai puțină securitate decât oferă HMAC-SHA-256, așa că ați putea opta pentru SHA-512 pentru a oferi securitate pe ~256 de biți.

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.