Глобальный сайт соли, стоит ли это того?
Я создаю базу данных пользователей, и я думал о безопасности, и это только заставило меня задуматься, стоит ли иметь соль сайта, когда я собираюсь иметь уникальные соли пользователя для всех.
md5(GLOBAL_SALT . $password . $user_salt);
против
md5($password . $user_salt);
Я думаю, что если сайт взломают, хакеры все равно получат доступ к глобальной соли.
1 ответ
То, о чем вы говорите, также называется перцем. Соль и перец имеют различное назначение:
- Соль предотвращает атаки радуги.
- В некоторых случаях перец может защитить от словарных атак.
На самом деле это зависит от того, имеет ли злоумышленник контроль над сервером или имеет доступ только к базе данных (SQL-инъекция), если полезен перец. Недавно я написал учебник о хешировании паролей, где я попытался объяснить важные моменты.
Есть и другие вещи, которые следует учитывать, например, тот факт, что MD5 слишком быстр для хеширования паролей, вместо этого следует использовать функцию вывода ключей, например BCrypt.