Разница между HSM и Argon2? какой предпочтительнее
Я работаю над приложением, имеющим дело с данными клиентов, которые мы хотим сохранить в нашей БД в зашифрованном виде, что предпочтительнее Argon2.
1 ответ
Argon2 - это алгоритм хеширования, его можно использовать для хранения пароля в базе данных более или менее безопасным способом. См. Руководство OWASP по хранению паролей.
HSM - это оборудование, предназначенное для хранения ключей - если у вас есть доступ к HSM, вы должны использовать его для хранения ключей шифрования, ключей сертификатов и т. Д.
Хотя вы можете использовать HSM для хранения пароля, зашифрованного с помощью алгоритма обратимого шифрования (например, AES, SALSA), он будет выполнять ту же роль, что и программное обеспечение для хранения паролей, такое как KeePass.
Если вам просто нужно сохранить пароль для аутентификации пользователей, вам нужно сохранить соль и хеш соленого пароля. Функция хеширования по определению всегда дает одинаковый результат для одних и тех же данных. Когда создается учетная запись пользователя, вы генерируете соль, добавляете ее к паролю и хешируете результат. Тогда вы экономите хэш и соль. Когда пользователь пытается аутентифицироваться, добавьте сохраненную соль к паролю, хешируйте результат и проверьте, равно ли его значение значению хеша в вашей базе данных.
С другой стороны, если вы создаете какое-либо хранилище паролей, вам необходимо иметь возможность расшифровать сохраненные данные. HSM может быть для этого полезен.