Por favor, ayude a aclarar el hashing de la contraseña - con sal, múltiples iteraciones de MD5 vs bcrypt / sha2, etc. [duplicar]

1

Estaba leyendo un artículo sobre el hack de Ars Technica here y tuve un par de preguntas. El comentarista dijo:

  

"PHPass usa MD5 salado e iterado para las contraseñas de hash"

Mi pregunta es que si tuviera que diseñar un nuevo sistema, ¿se consideraría aceptable el uso de salados, múltiples iteraciones de MD5, en comparación con el uso de SHA256, bcrypt, etc.? ¿Por qué usaría MD5, incluso esta implementación, frente a algo que la industria considera más seguro?

    
pregunta appsecguy 17.12.2014 - 21:39
fuente

1 respuesta

2

Lo que se necesita primero y ante todo es un algoritmo de hash que sea lento. Los crackers descifran los hashes de contraseña ejecutando diccionarios de contraseña y otras combinaciones de caracteres a través del algoritmo de hash para ver si el hash calculado coincide con el Robado de una base de datos. Cuanto más lento sea el proceso, más difícil será "revertir" sus hashes si son robados.

A continuación, cada contraseña necesita una "sal" aleatoria diferente concatenada con ella antes de calcular el hash. El cracker que obtiene los hashes de la contraseña también podrá obtener las sales, pero la presencia de la sal frena los ataques de precomputación. Cada hash debe ser atacado por separado.

Finalmente, debe considerar el uso de una clave secreta no almacenada en una base de datos como un componente del hash. Esto a veces se llama "pimienta" y el resultado es un hash codificado. El atacante que obtiene hashes a través de algo como la inyección SQL no podrá descifrarlos porque se necesita esa clave secreta. (Por supuesto, el atacante que compromete el sistema operativo puede obtenerlo todo, pero eso es mucho más difícil que simplemente comprometer una base de datos).

La pregunta (y la respuesta) anotada por Xander tienen una cobertura completa: Cómo hacer hash de forma segura ¿contraseñas? Hay un buen ensayo aquí: enlace y algunos consejos más aquí: enlace

    
respondido por el Bob Brown 17.12.2014 - 22:16
fuente

Lea otras preguntas en las etiquetas