¿Existe algún método recomendado para "actualizar" los hashes MD5 a algo seguro? [duplicar]

8

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:

  1. Restablecer todas las contraseñas e informar a los usuarios por correo electrónico
  2. 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?

    
pregunta concerned citizen 17.06.2016 - 09:57
fuente

2 respuestas

6
  

Está envolviendo MD5 en PBKDF2 (o, por lo que vale, otro seguro   algoritmos de hashing) algo que se puede hacer de forma segura, o están ahí   ¿Mejores enfoques para tratar con hashes MD5 antiguos e inseguros?

Sí, es seguro. No pierdes ninguna seguridad en este proceso. Todas estas contraseñas experimentarán la misma protección que las contraseñas que no son MD5, dada por PBKDF2 - se podría decir con cierta "seguridad" adicional (débil y en su mayoría no relevante) agregada.

Al iniciar sesión, puede "soltar" el hash md5, volver a calcular PBKDF2 sin MD5 y almacenarlo después de un inicio de sesión exitoso. De esa manera no necesitarías mantener el control md5 "para siempre".

    
respondido por el CristianTM 17.06.2016 - 12:56
fuente
6

Sí, el hash doble se puede realizar de manera segura, para brindar protección a los hashes MD5 más antiguos de manera inmediata.

Solo asegúrate de que puedas distinguir dichos hashes dobles de los hashes regulares y actualizarlos lo antes posible. El proceso de verificación debe realizarse de manera diferente para los dos tipos de hashes; de lo contrario, los hashes md5 filtrados podrían usarse directamente como contraseña, se intentó explicarlo en este respuesta .

    
respondido por el martinstoeckli 17.06.2016 - 15:02
fuente

Lea otras preguntas en las etiquetas