php's password_hash con system wide salt [duplicato]

2

Sto pensando di utilizzare la funzione password_hash per generare gli hash delle password. Ho letto che i propri Sali non dovrebbero essere generati e invece usare quello predefinito che genera la funzione. I propri sali sono addirittura deprecati (dalla pagina di manuale).

Warning
The salt option has been deprecated as of PHP 7.0.0. It is now preferred to simply use the salt that is generated by default.

Ad ogni modo, mi sento ancora come se dovessi aggiungere il proprio sistema salt in questo modo:

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

Quindi, se qualcuno acquisisse un accesso al database, ma non gli script, anche dopo aver infranto la password, troverebbe solo password salata (o collisione) che non sarebbe utilizzabile su altri siti.

  1. È un buon approccio?
  2. Questo può rendere gli hash meno sicuri (più facili da spezzare) dato che tutti avranno la stessa sequenza di caratteri (system wide salt) alla fine?
posta Buksy 11.03.2016 - 13:16
fonte

1 risposta

0

Ci sono due problemi principali con questo approccio:

Qualcuno che sta cercando di aggiungere una sola password avrà ancora la stessa quantità di calcoli, ma qualcuno che cerca di ottenere la password per più utenti dovrà calcolare solo una tabella per tutti gli utenti del proprio sistema. Ma il problema più importante è che si tratta di una funzione deprecata, il che significa che forse non si può fare affidamento su di esso dopo qualche altro aggiornamento e quindi il tuo codice potrebbe non essere più eseguito non appena la funzione viene rimossa da un futuro aggiornamento di PHP. / p>     

risposta data 11.03.2016 - 13:27
fonte

Leggi altre domande sui tag