Security 如何安全地存储Google Authenticator密钥?
我正在开发一个网站,将允许使用谷歌认证双因素认证。我的问题是:存储用户密钥的最佳方式是什么?如果我把它保存在一个数据库中,并且它被黑客攻击,那么攻击者将能够生成一次性密码。我不能像使用单向加密的密码一样对其进行加密,因为我需要这个秘密种子来生成一次性密码。您可以将其存储在安全令牌智能卡中,但随后您必须配置对该安全令牌的访问权限-这将使您回到原来的问题。如果能够在启动应用程序之前执行操作,则可以使用基于密码的加密来保护密钥。或者,您可能需要为持有钥匙的智能卡提供PIN码。USB存储卡也可用于永久存储密钥。别忘了备份 显然,首先保护对应用程序的访问是一个好主意。在某个时间点,您可能仍然需要内存中的密钥,因此,如果该内存未受到保护,攻击者将能够将其搜索出来Security 如何安全地存储Google Authenticator密钥?,security,authentication,encryption,google-authenticator,Security,Authentication,Encryption,Google Authenticator,我正在开发一个网站,将允许使用谷歌认证双因素认证。我的问题是:存储用户密钥的最佳方式是什么?如果我把它保存在一个数据库中,并且它被黑客攻击,那么攻击者将能够生成一次性密码。我不能像使用单向加密的密码一样对其进行加密,因为我需要这个秘密种子来生成一次性密码。您可以将其存储在安全令牌智能卡中,但随后您必须配置对该安全令牌的访问权限-这将使您回到原来的问题。如果能够在启动应用程序之前执行操作,则可以使用基于密码的加密来保护密钥。或者,您可能需要为持有钥匙的智能卡提供PIN码。USB存储卡也可用于永久存
另一种方法经常使用它来混淆密钥。但是,无论以何种方式进行混淆,坚定的黑客通常都不会在检索密钥时遇到太多问题。在另一个StackExchange站点上有一个关于此问题的老讨论: