Cifrado e integridad de datos: h = CRC-8 (m) y c = Cifrar (k, m) luego enviar (h, c) a través de un canal. ¿Seguro? [cerrado]

0
m := plaintext message
c := Encrypt(k,m) (AES-128 in counter mode)
k := Key (16 Byte)
h1 := CRC-8/16/32(m)
h2 := CRC-8/16/32(c)

1. Si envío (h1, c) a través de un canal, ¿es seguro?

Un CRC-8/16/32 es lineal dependiente, y lo construimos sobre el texto sin formato, así que supongo que de alguna manera puedo obtener información acerca de m o k que solo tienen c y h, ¿no?

2. Si envío (h2, c) a través de un canal, ¿es seguro?

Eso no puede ser mejor, porque si es así, es muy fácil crear un par válido (h2, c), mientras que si enviamos (h1, c) necesita saber el texto en claro para calcular un CRC válido?

Pregunta

Si hay un sistema, como los dos mencionados anteriormente, ¿cómo puede un hombre en el medio atacar el sistema? ¡Algunos ejemplos y / o matemáticas son apreciados!

Sé que no se puede usar un CRC para la autenticación en un sistema real, es una pregunta teórica. Hay gente que usa CRC en lugar de MAC real. Solo quiero entender los riesgos de la (mala) solución CRC. (en detalle con matemáticas)

    
pregunta Werner W. 06.04.2018 - 05:56
fuente

1 respuesta

2

Ambos esquemas tienen fallas, y eso no se debe a CRC. Si reemplaza el CRC con una función hash criptográfica, sus esquemas siguen siendo inseguros.

  1. hash (m) + Encrypt (m, k)
    Uno de los propósitos del cifrado es garantizar la confidencialidad del mensaje de texto sin formato. Un mensaje solo puede ser revelado rompiendo la clave de 128 bits. En contraste, el hash es independiente de la clave. Si el número de posibles plaintexts es limitado, entonces un atacante puede fácilmente forzar el texto sin formato.

    Dado que la función hash no toma la clave como entrada, y AES está segura contra ataques de texto plano conocido, no hay forma de obtener información sobre la clave del hash.

  2. hash (cifrar (m, k)) + cifrar (m, k) La función hash aquí no garantiza la autenticidad del texto cifrado, ya que cualquiera puede calcular el hash. A diferencia del esquema anterior, este hash no reduce la seguridad del cifrado.

Si su objetivo es la autenticidad, modifique el segundo esquema utilizando HMAC en lugar de CRC. O no use un MAC por separado y use AES en modo GCM en lugar de CTR.

    
respondido por el Rob W 06.04.2018 - 11:37
fuente

Lea otras preguntas en las etiquetas