No estoy considerando el ataque de colisión general en función hash débil como MD5 o SHA-1. Me pregunto si la seguridad de HMAC se basa en una función de hash débil
Si hay la clave k
, mensaje m
Hmac(k,m) = hash(k'xor opad) || hash( (k' xor ipad) || m ) )
Primera pregunta, ¿qué significa que Hmac es seguro?
-
El atacante no puede generar un Hmac válido de un mensaje dado m sin conocer la clave
-
El atacante no puede encontrar una colisión que satisfaga a
Hmac(k',m') = Hmac(k,m) such k',m'
-
El atacante puede recuperar la clave
k
otros
Y segunda pregunta.
Estoy leyendo sobre Colisión de transcripciones en papel
Ataques de colisión de transcripción: Rompiendo la autenticación en TLS, IKE y SSH
En este artículo, introducen Transcripción colisión
El atacante sabe m1
y m2
. Y puede encontrar colisiones que satisfacen.
hash(m1 || m2' ) == hash(m1' || m2 ) such m1' and m2'
Si el adversario usa esta Transcripción Ataques de colisión en función hash débil,
¿Puede también encontrar una colisión que satisfaga a Hmac(k',m') = Hmac(k,m) such k',m'
??