Actualmente estoy tratando con un par de cuentas de usuario que contienen contraseñas de hash MD5. Estas cuentas se migraron de un sistema antiguo a nuestro sistema actual que utiliza PBKDF2 para el hashing de contraseñas. Me gustaría levantar las cuentas antiguas al hash de contraseña PBKDF2 también.
Descifrar nuestros propios hashes MD5 y volver a utilizarlos con PBKDF2 está fuera de discusión.
Lo primero que me vino a la mente fue migrar las contraseñas de los usuarios al iniciar sesión, tal como se describe aquí .
Sin embargo, nunca podré migrar todas las contraseñas de los usuarios porque algunos de ellos nunca volverán y, por lo tanto, nunca volverán a iniciar sesión, dejándome para siempre con hashes no seguros.
Quedan dos opciones:
- Restablecer todas las contraseñas e informar a los usuarios por correo electrónico
- Vuelva a cargar los hashes MD5 en la base de datos con PBKDF2 y use este hash doble cuando se registre un "usuario legado". Lo que significa
PBKDF2(MD5(plaintext)).
La primera solución sería muy desagradable para los usuarios, ya que tendrían que establecer una nueva contraseña, por lo que estoy tendiendo a la segunda solución. Esto parece apoyar este enfoque, aunque se refiere principalmente a bcrypt y no a PBDKF2
¿Está envolviendo MD5 en PBKDF2 (o, para lo que vale, otros algoritmos de hashing seguro) algo que se puede hacer de manera segura, o existen mejores métodos para lidiar con hashes MD5 antiguos e inseguros?