TL; DR: Use una función de derivación de clave adecuada en lugar de algún esquema de cosecha propia.
el hash puede ser extraído fácilmente y forzado por la fuerza bruta externamente.
Creo que estás subestimando la dificultad de un ataque de imágenes en una función hash de contraseña moderna.
¿Es seguro? Como no he visto esto en ninguna parte, no estoy seguro de haber pasado por alto algo que pueda hacer que este sistema sea vulnerable.
Bien hecho, lo que propones podría no ser realmente vulnerable , pero probablemente tampoco te compraría mucho. Hecho mal, como se explicó en las respuestas anteriores, puede ser terriblemente inseguro.
Básicamente, cuando piensa en las contraseñas de hash, no piense en una sola ronda de su función de hash criptográfica promedio, como MD5 o SHA512. En su lugar, su primera opción debería ser utilizar una función de derivación de claves basada en una contraseña adecuada . Hay muchos disponibles, pero las opciones más populares actualmente parecen ser PBKDF2 y bcrypt , con scrypt creciendo en popularidad.
A diferencia de las primitivas hash simples, las funciones de derivación de claves están diseñadas específicamente para ser lentas , así como tratar de darle al atacante la menor ventaja posible, incluso cuando el atacante puede usar hardware personalizado para atacar la contraseña introducida por el usuario, incluso si esa contraseña tiene una entropía relativamente baja.
Aún puede almacenar algo que indique si la contraseña es correcta. Por ejemplo, LUKS hace esto almacenando un hash criptográfico con sal de la clave maestra; Si la frase de contraseña proporcionada por el usuario no descifra correctamente ninguna de las ranuras de clave, entonces la descodificación de los datos de la clave maestra en la ranura de la clave producirá un resultado incorrecto, lo que resultará en un hash de clave maestra diferente, que se detecta y se ejecuta como un resultado de "frase de contraseña incorrecta". Observe en este caso que el hash de la frase de contraseña en sí no está almacenado. Compare el formato en disco LUKS , figura 1 PHDR diseño .