我们设置了一个双因素身份验证系统,该系统使用Google Authenticator通过手机应用程序使用 OTP。然而,我们的一些用户没有智能手机,因此我们希望能够通过它使用硬件令牌。
如果密钥/种子由制造商设置,那么其他人显然可能知道您的密钥。这似乎不安全。如果它们是可重新播种的,那岂不是很有意义。当您获得这些类型的硬件令牌时,是否可以使用新的密钥重置它们?是否仅取决于密钥制造商?
我们设置了一个双因素身份验证系统,该系统使用Google Authenticator通过手机应用程序使用 OTP。然而,我们的一些用户没有智能手机,因此我们希望能够通过它使用硬件令牌。
如果密钥/种子由制造商设置,那么其他人显然可能知道您的密钥。这似乎不安全。如果它们是可重新播种的,那岂不是很有意义。当您获得这些类型的硬件令牌时,是否可以使用新的密钥重置它们?是否仅取决于密钥制造商?
有几种硬件令牌可以播种。
一个可爱的版本确实是 yubikey,因为你不需要额外的硬件来为它播种,而且所有必要的软件都是公开可用的。yubikey 甚至适用于盲人用户。但是您需要一个 USB 端口才能使用它。
还有 eToken PASS 和 eTokenNG OTP,它们都是 SafeNet(前阿拉丁)的代币。PASS 是一个密钥卡令牌,可以使用其他设备进行播种。eToken PASS 可以作为 HOTP 和 TOTP 令牌播种。
eTokenNG OTP 是一种混合设备(OTP 和智能卡)。它还有一个 USB 连接器,可以使用此 USB 连接器播种。
但是,如果某些用户只是缺少智能手机,您还可以:
使用motp,它也可以在旧的功能手机上运行,或者
SMS-Tokens,其中 OTP 通过 SMS 传输到手机(非智能手机)。(但我真的,真的不会推荐这个!;-)
我推荐的是,看看作为后端的LinOTP或privacyIDEA,它适用于所有这些令牌类型(Google Autheticator、YubiKey、eToken Pass、eTokenNG OTP、motp、SMS ...),从而使您有可能选择,哪个用户将拥有哪个令牌。
最后,是的,我在为开源 LinOTP 提供企业扩展的公司工作。
哦,我讨厌顶撞别人。
是的,您可以重新植入硬件密钥。或者,准确地说,存在可以重新播种的符合 OATH 标准的硬件令牌;具体来说,yubikey。秘密存储在有效的只写存储器中;任何实际拥有该设备的人都可以向其写入秘密,但它不会将秘密退回;它只会用它执行 OATH 和其他一次性密码操作。
我与制造商没有任何关系;我只是喜欢他们的产品,因为我想要双因素身份验证,我可以控制秘密。虽然我不在 OATH 模式下使用我的,但我确实在另一种 OTP 模式下使用它,并且肯定已经为我的个人令牌和其他使用我的系统的人生成并上传了我自己的秘密。
如果您好奇的话,我已经在我的技术说明中写了更多相关内容。
无论如何,现在您知道存在可重新播种的硬件令牌,您可以四处寻找适合您的硬件令牌。
不,您不能重新植入硬件密钥。
[兼容] OTP/OATH 硬件密钥的种子值在 RAM 中存储、加密。为了提取或更改密钥,您需要在开机时破解加密并更改内存,这是不可行的。(因为这些设备使用 RAM 来存储种子值,如果你断开电池/电源,你会丢失这些内容并使设备变砖。)
而且,就像要考虑的事情一样,你怎么知道有人可能知道你的密钥的种子值?仅仅因为它是在出厂时设置的,并不意味着任何人都知道您的密钥的种子值,更不用说知道您的密钥的值并将其与您的密钥相关联了。(我的计算机整天为 SSL 网站等内容生成加密密钥,这并不意味着如果我的生活依赖于它,我可以告诉你任何这些密钥值。)