Use password_hash () con un salt en todo el sistema y un salt específico para el usuario

0

Esto es un seguimiento de " Acerca de password_hash () en PHP y almacenar (parte de) su sal fuera de DB ".

¿Existe alguna forma o ventaja de tener una sal para todo el sistema y una sal específica para el usuario en comparación con una sal específica para el usuario? Si es así, ¿cómo puedo archivar eso con esa función? ¿Hay alguna manera de reemplazar su generador de sal interno con algo tan seguro o más seguro que él y luego solo almacenar la parte del usuario de la sal en la tabla de usuarios?

Si se usa la sal del sistema, se almacenará en un lugar diferente en un servidor específico.

    
pregunta brunoais 12.12.2014 - 19:53
fuente

1 respuesta

2

Eso se llama "hash con clave" y la clave a veces se llama "pimienta".

Sí, hay una ventaja de seguridad. Si la clave está no almacenada en una base de datos pero es, quizás, una constante en un programa, entonces una filtración en la base de datos a través de inyección SQL o similar no revelará la clave y sus datos estarán casi a prueba de fisuras .

Por supuesto, si el SO se posee, no hace ninguna diferencia lo que hayas hecho. Sin embargo, al menos parece que muchas fugas de contraseña se deben a ataques de inyección de SQL.

Aquí hay un ensayo extremadamente útil sobre el hash de contraseñas: enlace Tiene una sección sobre hashes codificados. Ese ensayo recomienda no codificar la clave de forma rígida, y eso es correcto si vas a instalar un programa en varios lugares. Para una instalación única, todavía creo que está bien. Solo asegúrese de que la clave se genere utilizando un generador de números aleatorios criptográficamente seguros (CSPRNG) en cualquier caso.

    
respondido por el Bob Brown 12.12.2014 - 22:39
fuente

Lea otras preguntas en las etiquetas