首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有效存储双因素身份验证备份代码的最佳实践?

有效存储双因素身份验证备份代码的最佳实践?
EN

Security用户
提问于 2014-12-19 19:05:41
回答 4查看 6.5K关注 0票数 7

对于许多提供双因素身份验证的web服务,在设置系统之后,您将得到一个简短的备份代码列表(一次pads),长度约为7-10个字符。当您无法访问第二个身份验证因素(如丢失的设备、旅行等)时,可以使用这些参数。

有什么好的方法/想法可以将备份代码传递给你的人,使它们成为:

  1. 没有明确指出他们连接的是什么服务,这样其他人就不会看到"Google :98243312“
  2. 例如,不容易被盗取带有备份代码的节点的人使用。
  3. 用户很容易理解和使用任何比基本计算器更先进的手段(仅仅是一个例子,根本没有任何设备)。
EN

回答 4

Security用户

发布于 2018-03-01 19:28:54

使用一次性垫方法加密代码。然后,只要你记得钥匙,你就可以用笔和纸很容易地解密它们。由于2fa代码的字符几乎是一致的(所有字符都可能出现在每个键位置上),所以可以使用非统一的键,例如容易记住的短语。

加密你的密码的一个好处是你可以携带多个副本(一个在你的手提箱里,一个在你的钱包里,一个在公共网址上),而不用担心它们会丢失或被偷。

其中一个缺点是,如果您使用相同的密钥来使用一次性Pad加密所有2fa备份代码,而您的其中一个代码被强制执行,攻击者可以派生密钥,然后解密您的所有代码。虽然这是一个标准的做法,帐户提供者的利率限制登录,以帮助防止暴力攻击,一些帐户提供者可能有更差的保护,它不应该假设所有帐户提供者都有足够的保护。您的2fa备份代码安全性只有最弱的帐户提供者那么好。因此,您应该对每个帐户使用不同的密钥,这否定了此方法的一个主要好处:您只需记住一个键。

关于2FA码

均匀性的研究

当使用一次性Pads加密一个句子时,关键必须是制服以防止频率分析。但总的来说,无论是明文还是关键,都需要统一。Google和其他2fa提供者使用SHA-1生成的散列来生成2fa代码,这是HOTP (RFC4226)TOTP (RFC6238)的标准。虽然SHA-1可能不是完全均匀的,但沙一几乎是均匀的和足够接近于均匀的频率分析并不是一种可行的攻击。因此,任何不明显的密钥,如容易记住的短语或句子,都可以用来加密2fa码。

票数 4
EN

Security用户

发布于 2014-12-19 19:06:23

我的一个想法是将一些简单的进程(或密码)应用到备份代码中,这样它们就被模糊了,但是能够通过记住这个过程来解码。也许类似于ROT13或xor。在此之后,您将打印在名片模板上,并将其设置为联系人信息。这归结为通过默默无闻的安全,但至少在一定程度上有助于解决这个问题。

票数 1
EN

Security用户

发布于 2018-03-02 17:41:35

把它们藏在你的身上是个坏主意。

备份代码是绕过密码的。他们基本上是一个后门,通过你的2FA-担保帐户。它们比常规帐户密码更强大。

考虑到这一点,你应该考虑你是否想让他们留在身边。毕竟,如果备份代码存在,它们就会比您帐户的密码更有价值。如果这些备份密码都不存在,您的帐户就会更安全:它们是2FA最初存在的对立面。你应该把它们当作头等舱密码。你的钱包里有书面密码吗?

很有可能这些代码是为您的GMail帐户,您的iCloud帐户,或您的亚马逊帐户.没有必要具体说明他们是为了什么服务,最常见和最明显的是将接受测试,很可能小偷将是正确的。尽管如此,我不认为这方面有最佳做法。

我(只是部分)不同意这个建议,建议使用一次盘作为备份代码。要做到这一点,就需要生成和记住与密码一样多的密钥,这相当于记住密码本身。无论这些密钥是否容易记住密码,您只能记住这么多密码(通常,您得到的是10批备份代码,而您也不能写下这些密钥)。如果您坚持编写备份代码,那么请考虑这个解决方案。

但我的建议是,如果你真的必须保持备份代码的“你自己”,考虑学习一个(或两个)每个服务,并禁用其余的。请不要把它们写下来。

票数 1
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/76464

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档