¿Las claves de cifrado derivadas de contraseñas deben incluirse con sal?

2

Si tengo una base de datos donde almaceno información confidencial de los usuarios y cifro esa información, ¿necesito hacer algo como PBKDF2 (contraseña, sal, 10 ^ 5) para la clave de cifrado y el hash?

    
pregunta Property404 07.08.2015 - 20:07
fuente

1 respuesta

2

Siempre que tenga una contraseña humana y quiera procesarla en algún formato que "deje huellas", entonces debe hacerlo con una función que sea resistente a la fuerza bruta (por ejemplo, PBKDF2). Por lo tanto, debe hacer eso cuando tiene la contraseña para obtener un token de verificación de contraseña que almacena; También debe hacerlo cuando esté convirtiendo la contraseña en una clave para el cifrado simétrico.

Para aclarar las cosas: si convierte la contraseña P en la clave K y luego utiliza K para cifrar algunos datos D y almacene el resultado cifrado E , luego un atacante, observando E , podría "intentar contraseñas" al convertir una contraseña potencial P ' en la clave K ' y luego tratar de descifrar E con K' y ver si produce algunos datos sensibles D . Esta es la situación de ataque de diccionario sin conexión , muy similar a la básica hashing de contraseña .

Estrictamente hablando, convertir algunos datos en una clave se denomina Derivación de clave , y "PBKDF" realmente significa "Función de derivación de clave basada en contraseña".

    
respondido por el Thomas Pornin 07.08.2015 - 21:01
fuente

Lea otras preguntas en las etiquetas