La forma de determinar IV para el cifrado AES, posibles problemas de seguridad con este enfoque

3

Estoy tratando de hacer un cifrado de carpeta con la máxima automatización (excepto la entrada de contraseña). Dentro de un script de bash hago lo siguiente:

echo $RANDOM | md5sum | cut -d' ' -f1 > iv

y luego usándolo:

openssl aes-128-cbc -md sha256 -iv $(cat iv) -in folder.7z -out folder.7z.enc

Suponiendo que echo $RANDOM devuelve un buen valor aleatorio, entonces uso md5sum en ese valor, y md5sum tiene debilidades de colisión, así que asumo que hay algún problema de seguridad con eso, pero esta es la forma que encontré de cómo producir una cadena iv correcta para openssl . Alguien puede señalar qué puede ser exactamente un problema con este enfoque, y puede dar un consejo sobre cómo producir un pseudo-aleatorio iv de una mejor manera?

    
pregunta stackoverflower 24.10.2018 - 18:48
fuente

2 respuestas

4
  

... md5sum tiene debilidades de colisión, así que asuma que hay algún problema de seguridad con eso,

Los ataques de colisión son irrelevantes aquí. Todo lo que importa es que el IV utilizado no es de ninguna manera predecible (es decir, sin sesgo: todas las salidas tienen la misma probabilidad) y el mismo IV no se usa con la misma entrada. Para obtener más información, consulte ¿Cómo funciona? ¿Los vectores de inicialización de calidad afectan la seguridad del modo CBC? .

    
respondido por el Steffen Ullrich 24.10.2018 - 19:39
fuente
8
  

Suponiendo que echo $RANDOM devuelve un buen valor aleatorio ...

No lo hace. $RANDOM en bash se implementa usando un LCRNG con 32 bits de estado y una salida de 15 bits .

    
respondido por el duskwuff 24.10.2018 - 19:50
fuente

Lea otras preguntas en las etiquetas