¿Cómo puedo incluir de forma segura la clave de cifrado en el archivo cifrado?

0

Estoy cifrando archivos de texto usando AES256 (sin ninguna razón en particular, eso se puede cambiar fácilmente). Antes de otorgar acceso a un archivo, debo verificar si una parte conoce la clave correcta, pero sin tener necesariamente acceso directo al conjunto de claves del sistema (por ejemplo, un archivo puede moverse entre diferentes máquinas).

Pensé en hacer lo siguiente: antes del cifrado escribo la clave en la primera línea del archivo. Al descifrar, comparo la clave que proporciona un usuario con la primera línea del archivo descifrado utilizando esa misma clave. Si coinciden, significa que el usuario está autorizado y devuelvo el archivo menos la primera línea.

¡Esto solo puede ser menos seguro que no incluir la clave! ¿Pero cuánto?

    
pregunta Ziofil 17.09.2014 - 02:31
fuente

1 respuesta

0

Si tiene un buen algoritmo de cifrado, no debería importar que incluya la clave de cifrado. Sin embargo, mejor que almacenar la contraseña en sí, es mejor almacenar un hash salado. O simplemente una versión truncada (debido a que es poco probable que un error de usuario escriba mal una de las pocas contraseñas en conflicto), mientras que un ataque de fuerza bruta no podría usarlo para saber con seguridad si obtuvo la contraseña correcta. ).

Pero también debemos tener en cuenta que, además, queremos que el archivo no se modifique. Así que solo podemos incluir un hash del archivo y, si está allí y coincide con lo que descifraste, él conoce la contraseña. GCM, como sugiere Stephen, también es una alternativa para incluir un hash.

    
respondido por el Ángel 22.09.2014 - 00:39
fuente

Lea otras preguntas en las etiquetas