El cifrado del mensaje lo protege contra ataques de extensión de longitud

0

Suponiendo que se usa el siguiente HMAC: HMACK(M) = Hash(K||M) = H que es la función hash "prefijo secreto". M es el mensaje de texto sin formato, K es la clave secreta utilizada

El texto cifrado se genera de la siguiente manera: Ciphertext = EK(M||H) donde EK es un esquema de cifrado que utiliza la clave secreta K.

He leído en Wikipedia que los ataques de extensión de longitud funcionan en hashes donde se conoce la longitud de la clave secreta y el mensaje. En este caso, ya que he cifrado el mensaje, me gustaría confirmar que ya no es posible realizar un ataque de extensión de longitud ya que M es desconocido porque lo he cifrado.

También me gustaría saber si el esquema anterior utilizado para autenticar los mensajes es susceptible de otros ataques.

    
pregunta Computernerd 13.11.2014 - 02:46
fuente

1 respuesta

4

Esto hace varias cosas mal. En primer lugar, como Rory menciona en los comentarios, no se enrolle. Use HMAC, no una función hash arbitraria. Esto en realidad lo protegerá contra los ataques de extensión de longitud.

Segundo, propones cifrar tu pseudo-MAC junto con el mensaje. No hagas esto tampoco. Esto se denomina MAC-luego-cifrado, y lo deja potencialmente susceptible a ataques en el relleno como el ataque POODLE que acaba de matar a SSLv3. El estándar actual es cifrar y luego MAC, y debe incluir ambos el IV y el texto cifrado del mensaje en el MAC para asegurarse de que no haya alteraciones.

Por lo tanto, puede cifrar y luego MAC con HMAC, o mejor aún, simplemente use un modo de cifrado autenticado que maneje la implementación por usted, como AES-GCM, y no tiene que preocuparse por si ' Lo he hecho de manera segura o no, porque alguien más ya ha manejado esos detalles por usted.

    
respondido por el Xander 13.11.2014 - 17:54
fuente

Lea otras preguntas en las etiquetas