password_hash de php con sal en todo el sistema [duplicado]

2

Estoy pensando en usar la función password_hash para generar hashes de contraseña. He leído que no se deben generar las propias sales y en su lugar usar la predeterminada que genera la función. Las sales propias están incluso en desuso (de la página del manual).

  

Advertencia
  La opción salt ha quedado en desuso a partir de PHP 7.0.0. Esto es ahora   Se prefiere utilizar simplemente la sal que se genera de forma predeterminada.

De todos modos, sigo sintiendo que debo agregar sal de todo el sistema como esta:

$system_salt   = 'system_secret_key';
$hash          = password_hash($password.$system_salt, PASSWORD_BCRYPT);

Por lo tanto, si alguien obtuviera acceso a la base de datos, pero no a los scripts, incluso después de descifrar la contraseña, solo encontraría una contraseña con sal (o colisión) que no sería utilizable en otros sitios.

  1. ¿Es este un buen enfoque?
  2. ¿Esto puede hacer que los hashes sean menos seguros (más fáciles de descifrar) ya que todos tendrán la misma secuencia de caracteres (sal en todo el sistema) al final?
pregunta Buksy 11.03.2016 - 13:16
fuente

1 respuesta

0

Hay dos problemas principales con este enfoque:

Alguien que intente utilizar una contraseña simple tendrá que pasar por la misma cantidad de cómputos, pero alguien que intente obtener la contraseña para varios usuarios tendrá que calcular solo una tabla para todos los usuarios de su sistema. Pero el problema más importante es que es una función obsoleta, lo que significa que tal vez no pueda confiar en ella después de algunas actualizaciones más y, por lo tanto, es posible que su código no se ejecute tan pronto como la función se elimine de una futura actualización de PHP. / p>     

respondido por el Pascal Sommer 11.03.2016 - 13:27
fuente

Lea otras preguntas en las etiquetas