Modo ECB AES para encriptación de datos aleatorios / bloque único

5

Necesito guardar claves de 16 bytes al azar en una base de datos. Para cifrar estas claves, actualmente uso AES 128 con el modo ECB (debido a que los datos son más pequeños para almacenar, no se necesita IV), pero ahora leo mucho sobre el hecho de que el BCE no es seguro y nunca debería usarse.

Pensé que en este caso (los datos aleatorios, solo un bloque) usando BCE estaría bien, pero no soy un experto, así que me gustaría saber si esto es correcto, o debería cambiar a CBC para hacer es seguro?

    
pregunta Ruu 23.08.2011 - 10:13
fuente

4 respuestas

4

Si solo tiene UN bloque, el uso de otros modos, como CBC, no ofrece seguridad adicional. Recuerde, el único secreto aquí debe ser la clave para el cifrado / descifrado. IV es generalmente una entidad conocida. Si espera lograr una mayor seguridad al hacer de IV un secreto, lo está abordando desde una dirección equivocada.

Dicho esto, todavía no recomendaría al BCE;). Piense en dos usuarios que tienen una misma contraseña. Sus contraseñas encriptadas también son las mismas, debido a la naturaleza del "libro de códigos" del BCE.

En su caso, probablemente usaría el modo CTR, ya que el valor del contador es simplemente el ID del usuario.

    
respondido por el Nam Nguyen 23.08.2011 - 13:43
fuente
3

Si las claves son realmente aleatorias, el BCE debería estar bien. Sin embargo, en general no debes confiar en esto. El diseño de seguridad adecuado es hacer las suposiciones menos necesarias sobre los datos subyacentes, pero simplemente trabajar para todos los casos posibles. Entonces, en mi opinión, solo debes hacer esto si los costos adicionales para el IV son realmente malos.

Además, me gustaría señalar que no estás protegiendo las claves contra la manipulación. Si se invierten algunos bits en ese campo de datos cifrados, nunca sabrá que ocurrió, hasta que una capa más arriba descubra que la clave suministrada por su sistema no funciona. Y luego aún no sabe si ingresó la clave correcta o si el almacenamiento está dañado o manipulado. AES-GCM o CCM le informarán si se manipularon los datos cifrados.

    
respondido por el pepe 23.08.2011 - 16:41
fuente
1

En su situación particular, probablemente no sea necesario cambiar del modo ECB al modo CBC. Esto es muy específico para un conjunto de suposiciones, así que asegúrese de documentar la razón por la cual el BCE está bien y todas las suposiciones que está haciendo, si decide utilizarlo. (Supongo que nunca almacenará la misma clave más de una vez. Si lo hace, el BCE revelará qué dos textos cifrados corresponden a la misma clave).

Un problema aparte en su esquema es que le falta un código de autenticación de mensaje. En términos generales, debe usar la autenticación de mensajes en cada contexto donde se aplica el cifrado.

    
respondido por el D.W. 26.09.2011 - 04:12
fuente
-1

El BCE funciona bien en su situación (cifrando 16 bytes de datos aleatorios con AES-128 en modo BCE).

Sin embargo, a mi entender, pueden surgir problemas si alguna vez decide cifrar claves más largas.

    
respondido por el timoh 23.08.2011 - 16:10
fuente

Lea otras preguntas en las etiquetas