HSM 和 Argon2 之间的区别?哪个更可取

Mud*_*man 5 java hsm hardware-security-module argon argon2-ffi

我正在开发一个处理客户详细信息的应用程序,我们希望将其作为加密存储在我们的数据库中,哪个更可取 Argon2

小智 1

Argon2 是一种哈希算法,它可用于以或多或少安全的方式将密码存储在数据库中。请参阅OWASP存储密码指南。
HSM是专用于密钥存储的硬件- 如果您有权访问 HSM,则应该使用它来存储加密密钥、证书密钥等。

虽然您可以使用 HSM 来存储使用可逆加密算法(即 AES、SALSA)加密的密码,但它的作用与 KeePass 等密码存储软件类似。

如果您只需要存储密码来验证用户身份,则需要保留 salt 以及加盐密码的哈希值。根据定义,哈希函数总是为相同的数据提供相同的结果。创建用户帐户时,您生成盐,将其添加到密码中,并对结果进行哈希处理。然后你保存哈希和盐。当用户尝试进行身份验证时,将存储的盐添加到密码中,对结果进行哈希处理,并检查其值是否等于数据库中的哈希值。

另一方面,如果您正在制作某种密码库,则需要能够解密存储的数据。HSM 可能对此有用。