Правильне зберігання паролів: чому Argon2
Від Команда Alt Auth

База паролів колись обов’язково буде прочитана тим, хто не мав би її бачити. Це припущення, на якому побудовано все тут. Питання не в тому, чи витече файл, — а в тому, що зловмисник зможе зробити в тижні після цього.
Хешування — не шифрування
Шифрування за задумом оборотне: усе, що ви зашифрували, можна розшифрувати, і це може зробити той, хто отримає ключ. Хешування паролів навмисно однобічне. Ви ніколи не відновлюєте пароль — ви знову хешуєте введене користувачем і порівнюєте. Якщо ваша система може надіслати комусь його чинний пароль на email, вона його не хешує.
Чому Argon2, а не SHA-256
Хеші загального призначення створені швидкими, і це саме неправильно тут: швидкість означає мільярди спроб на секунду на звичайному обладнанні. Argon2 навмисно повільний і навмисно вимогливий до пам’яті, тож зловмисник не може просто кинути більше GPU на проблему. Це поточна рекомендація, і вона такою є вже роками.
- Унікальна сіль для кожного користувача, завжди — інакше однакові паролі дають однакові хеші.
- Налаштовуйте параметри вартості під своє обладнання, а потім переглядайте їх: обладнання стає швидшим, а ваші налаштування — ні.
- Ніколи не логуйте пароль, навіть у гілці налагодження, навіть один раз.
- Порівнюйте за постійний час. Порівняння, що повертає результат раніше, витікає інформацію.
Alt Auth використовує Argon2 на кожному плані, включно з безкоштовним. Налаштування безпеки, які з’являються лише на корпоративному рівні, — не налаштування за замовчуванням.