Ho letto qualcosa sul fatto che il costrutto HMAC è in grado di ridurre il problema delle collisioni nellhash sottostante.
Ciò significa che qualcosa come HMAC-MD5 potrebbe ancora essere considerato sicuro per lautenticazione dei dati crittografati?
Commenti
- Abbastanza pertinente (forzante HMAC) crypto.stackexchange.com/a/6753/5231
- Puoi trovare risposte su la sicurezza di HMAC-MD5 in generale seguendo questo link .
Rispondi
Sì, non ci sono attualmente attacchi noti su HMAC-MD5.
In particolare, dopo i primi attacchi di collisione su MD5, Mihir Bellare (uno degli inventori di HMAC) ha inventato una nuova prova di sicurezza per HMAC che non “richiede resistenza alle collisioni:
” Riepilogo: HMAC è stato dimostrato da Bellare, Canetti e Krawczyk (1996) come un PRF assumendo che (1) la funzione di compressione sottostante sia una PRF e (2) la funzione hash iterata sia debolmente resistente alle collisioni. Tuttavia, gli attacchi recenti mostrano che lipotesi (2) è falsa per MD5 e SHA-1, rimuovendo il supporto basato su prove per HMAC in questi casi. Questo documento dimostra che HMAC è un PRF sotto il solo presupposto che la funzione di compressione sia un PRF. Ciò recupera una garanzia basata su prove poiché nessun attacco noto compromette la pseudocasualità della funzione di compressione e aiuta anche a spiegare la resistenza allattacco che HMAC ha dimostrato anche quando implementato con funzioni hash la cui (debole) resistenza alle collisioni è compromessa. Mostriamo anche che una condizione ancora più debole del PRF sulla funzione di compressione, vale a dire che è un MAC che preserva la privacy, è sufficiente per stabilire che HMAC è un MAC sicuro fintanto che la funzione hash soddisfa il requisito molto debole di essere quasi computazionalmente universale, dove ancora una volta il valore sta nel fatto che gli attacchi noti non invalidano le ipotesi formulate. “
Tuttavia, questo non significa che dovresti usare HMAC-MD5 nei nuovi progetti di sistemi crittografici. Per parafrasare Bruce Schneier, “ gli attacchi migliorano, non peggiorano mai. “Abbiamo già attacchi di collisione pratici per MD5, che dimostrano che non soddisfa i suoi obiettivi di sicurezza originali; è possibile che, da un giorno allaltro, qualcuno possa trovare un modo per estenderli a un nuovo attacco che comprometterebbe la sicurezza di HMAC-MD5. Una scelta molto migliore sarebbe utilizzare HMAC con una funzione hash che non ha attacchi noti, come SHA-2 o SHA-3.
Commenti
- SHA-2 ha attacchi noti: en.wikipedia.org/wiki/SHA-2
- @baptx Any la primitiva crittografica ha " attacchi noti ". La domanda è se interrompono in modo significativo lintero numero di round. Per SHA-2 attualmente non ' t. A meno che tu non possa dimostrare che SHA-2 è stato infranto in modo significativo, vorrei rimuovere questi commenti dalla risposta.
- " recenti attacchi mostrano questo presupposto (2) è falso per MD5 " quali attacchi recenti? lattacco prefisso scelto? perché significa che?
Risposta
La risposta di Ilmari Karonen è corretta quando si usa HMAC per la sua scopo previsto, ma ciò non significa “che HMAC sia completamente inalterato dalle collisioni di MD5”:
Data una chiave specifica, tieni presente che K xor opad
e K xor ipad
sono indipendenti dal messaggio m
. Ciò significa che qualsiasi collisione in H((K xor ipad) || m)
provocherà una collisione HMAC
, anche con due messaggi diversi.
Per HmacMd5, K xor ipad
sarebbe lungo 64 byte. Quindi, se trovi due messaggi m1
e m2
con un prefisso comune di almeno 64 byte pre
, puoi calcolare una chiave K = pre xor ipad
che creerà una collisione tra H((K xor ipad) || m1)
e H((K xor ipad) || m2)
leadi ng a una collisione completa nellintero HMAC.
Questo può essere sfruttato in due modi:
- Non ti fidi della persona che ha generato la chiave e HMAC è utilizzato in modo improprio come una sorta di checksum.
- Un utente malintenzionato ottiene laccesso alla chiave e può utilizzare lattacco prefisso scelto da MD5 per causare collisioni.
Ma come accettato Stati di risposta, se la chiave è segreta e controllata da te o da parti fidate, HmacMd5 è ancora sicuro.
Commenti
- Sì, cera già questo tipo di risposta fino a quando non è stato eliminato. La domanda indica esplicitamente " per lautenticazione dei dati crittografati ". Lutilizzo per il calcolo dei checksum e la disponibilità della chiave sono perpendicolari a quella parte della domanda. Benvenuto in crypto comunque, questo tipo di risposte ben scritte sono molto gradite qui!
- Sono daccordo, tuttavia questa informazione sarà utile a molte persone che arrivano su questa pagina e non fornisce informazioni errate con rispetto alla domanda iniziale. Afferma chiaramente che hmacmd5 è ancora sicuro se usato correttamente.