¿Hay algún problema al usar sales vacías con PBDKF para este propósito?

0

El objetivo es generar una clave segura para el cifrado simétrico.

Tengo una contraseña maestra, desde la cual quiero generar la clave para el cifrado simétrico, para cifrar otras contraseñas. La idea es usar PBDKF2 para la generación de esa clave.

Esta contraseña maestra es bastante difícil de deducir, ya que solo almaceno su hash sha256. Pero el usuario lo proporciona cada vez que inicia sesión.

Con el escenario descrito, diría que tengo una clave segura para el cifrado simétrico, ya que no se almacena en ningún lugar y no se puede deducir con la información que se almacena.

Entonces, mi duda es, ¿es útil la salazón aquí? No puedo verlo. Creo que una sal vacía estaría bien.

O tal vez el escenario que estoy considerando tiene algún sentido ...

    
pregunta Julen 24.08.2015 - 21:45
fuente

1 respuesta

3

Primero, no almacene el SHA256 de su contraseña maestra . Consulte esta respuesta para saber cómo almacenar el hash del maestro contraseña.

Sobre tu pregunta ...

La sal se usa para evitar que el atacante precompute los hashes para muchas / todas las entradas posibles. En el caso específico de almacenar el hash de la contraseña maestra, una sal suficientemente grande y aleatoria evitará que un ataque use una sola tabla que asigne todas las entradas a sus hashes. Para que una tarea de precomputación de este tipo funcione, el atacante tendría que crear una tabla única para cada sal única. Esto se vuelve computacionalmente inviable. Por lo tanto, si ha utilizado un algoritmo de hash apropiado (consulte la respuesta a la que se hizo referencia anteriormente), incluso si un atacante roba su base de datos de contraseñas, no puede revertir los hashes a sus contraseñas.

En su caso, la clave es la salida del algoritmo PBKDF2 y no se almacenará en una base de datos. Por lo tanto, no hay forma de que un atacante pueda robar el hash para revertirlo y obtener la contraseña maestra. Por lo tanto, parece innecesario utilizar el algoritmo PBKDF2 para generar la clave. Pero, según la respuesta vinculada anteriormente, debe agregar la versión hash que almacenará en su base de datos.

    
respondido por el Neil Smithline 24.08.2015 - 22:08
fuente

Lea otras preguntas en las etiquetas