Usar el cifrado AES para generar MAC (y proporcionar autenticación / integridad)

0

Al ignorar que existen enfoques mucho mejores y más estándar para proporcionar garantías de autenticación e integridad, las debilidades (si las hay) serían un sistema como el que se describe a continuación que se basa en el cifrado AES (AES / CBC / PKCS7Padding) para producir un MAC. ?

texto sin formato = 12345678 | 2018-09-18T00: 43: 27 + 00: 00 (ID única + marca de tiempo)

MAC = aes256 (sha256 (texto sin formato))

¿Podría descifrar el MAC de manera confiable, y luego comparar la salida con el hash del texto sin formato para probar la integridad / autenticación? Suponiendo que el MAC fue generado por una fuente confiable con una clave secreta compartida.

También asuma que un atacante tendría acceso a muchos pares de texto sin formato y MAC.

Gracias

    
pregunta joedoe 18.09.2018 - 02:50
fuente

1 respuesta

1

Se crea una firma con una clave privada secreta y se verifica con una clave pública. De lo que estás hablando es de un MAC , que se crea y verifica con la misma clave .

Si desea crear un MAC con AES, entonces ya existe un algoritmo estándar para eso. Se llama CBC-MAC , y básicamente implica el cifrado del texto simple mediante el modo CBC y el último bloque como MAC (pero desconfíe de trampas ).

Si desea crear un MAC usando un hash como SHA-256, es mucho mejor usar HMAC , ya que es un algoritmo estándar con propiedades de seguridad demostrables (asumiendo ciertas cosas sobre el hash, pero incluso MD5 aún es muy seguro cuando se usa con HMAC).

aes(sha256(plaintext)) podría estar bien, pero no haga su propio rollo ! Si realmente quiere mostrarle algo incorrecto, podría intentar señalar que no es estándar y que se basa en la seguridad de AES y SHA-256, mientras que HMAC-SHA256 es estándar y solo se basa en la seguridad de SHA-256. .

    
respondido por el AndrolGenhald 18.09.2018 - 03:12
fuente

Lea otras preguntas en las etiquetas