Non mi sto occupando di un attacco collisione generale su una funzione hash debole come MD5 o SHA-1. Mi sto chiedendo la sicurezza di HMAC che si basa sulla funzione hash debole
Se ci sono la chiave k
, messaggio m
Hmac(k,m) = hash(k'xor opad) || hash( (k' xor ipad) || m ) )
Prima domanda, che cosa significa che Hmac è sicuro?
-
L'attaccante non può generare Hmac valido del messaggio dato m senza conoscere la chiave
-
L'attaccante non può trovare la collisione che soddisfa
Hmac(k',m') = Hmac(k,m) such k',m'
-
L'utente può recuperare la chiave
k
-
altri
E seconda domanda.
Sto leggendo sulla carta Transcript Collision
Attacchi alle collisioni con trascrizione: interruzione dell'autenticazione in TLS, IKE e SSH
In questo documento, introducono la collisione di Transcript
L'attaccante conosce m1
e m2
. E può trovare una collisione che soddisfi
hash(m1 || m2' ) == hash(m1' || m2 ) such m1' and m2'
Se l'avversario usa questo attacco di collisione con trascrizione nella funzione hash debole,
Può anche trovare una collisione che soddisfa Hmac(k',m') = Hmac(k,m) such k',m'
??