He estado usando PHPass para hash mis contraseñas durante mucho tiempo. Reconozco que todavía hay cosas que no entiendo completamente (o ignoro) para codificar correctamente una contraseña, así que hoy estaba revisando toda la información que pude encontrar al respecto.Salar correctamente y usar PHPass
revisión de documentos PHPass, he steped en esto:
Además del hash real, phpass genera de forma transparente sales aleatorios cuando es ordenado una nueva contraseña o frase de contraseña, y que codifica el tipo de hash, la sal, y la iteración de estiramiento de la contraseña cuenta en la "cadena de codificación hash" que devuelve. Cuando phpass autentica una contraseña o frase de paso contra un hash almacenado, de manera similar, extrae y usa transparentemente el identificador de tipo hash, el salt y el recuento de iteración de la "cadena de codificación hash". Por lo tanto, no necesita preocuparse por la salazón y el estiramiento por su cuenta - phpass se encarga de esto por usted.
He puesto en negrita la frase que me molestó.
Siempre pensé que la sal debería ser algo secreta, en el sentido de que no debería ser conocida por el atacante. Entonces, si se entiende correctamente, PHPass almacena la sal utilizada en el mismo hash para que pueda usarla al comparar contraseñas y verificar si es válida.
Mis preguntas son
- ¿Es seguro? Si el hash está comprometido, el atacante tiene la sal utilizada para cifrar la contraseña ... Hay algo que echo de menos aquí.
- Estoy aquí realmente libre de preocuparse por la salazón de contraseñas? ¿Realmente puedo confiar en PHPass?
Con la adición de 'salt' se agrega una capa más de seguridad. Este es el principio principal de "Defensa en profundidad". Pero si _phpass_ ya agrega sal, no agregará otra capa. – Leri
1.) ¿Sobre qué tipo de seguridad está usted confinado? ¿Puedes hacer eso más concreto? - 2.) ¿Puede responder con confianza la siguiente pregunta en una fracción de segundo con sí o no: "¿Phpass está usando sal?" - Diga cuán seguro y rápido puede responderlo y también la respuesta. – hakre
@hakra Me refiero al acto de almacenar la sal junto con la contraseña. Siempre pensé que almacenarlo en diferentes lugares (leer los campos DB por ejemplo) era mejor. –