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

时间:2019-11-19 11:26:34

标签: java hsm argon2-ffi argon hardware-security-module

我正在处理一个用于处理客户详细信息的应用程序,我们希望该应用程序以加密形式存储在数据库中,最好使用Argon2

1 个答案:

答案 0 :(得分:1)

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

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

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

另一方面,如果要创建某种类型的密码库,则需要能够解密存储的数据。 HSM可能对此有用。