安全措施“忘记密码”链接


3

我注意到Facebook的发出“忘记密码”的六位数字,这是一个验证码很短的代码,所以我想他们在做以下几点:

  • 设置链接到代码中的会话变量,因此没有其他客户端可以使用相同的代码
  • 也可能,设置输入正确的密码

的最大次数我有两个问题:

  1. 以上是做“忘记密码”链接的最好方法吗?
  2. 是否可以不设置会话变量也不限制尝试,但是只需增加代码的长度以使强力变得不可能?那么这段代码要多长时间呢?或者这被认为是非常不安全的?

编辑:Facebook代码可以选择发送到您的手机在手动打在您的计算机上,这必须是他们选择保持短暂的原因。

3

它们通常会限制代码有效的时间长度。这可能是关键的安全功能。

它实际上是比较安全的。攻击者无法暴力破解,因为它会超时或过度尝试,所以他们需要妥协电子邮件帐户。


2

“所以我假设他们正在做以下事情” - 你为什么要做出这些假设?安全缺陷来自于人们做出假设,变成被误认为:

应该有足够的空间,在这个缓冲

10^6是太多的人猜测

OS将提供给我随机性

等,等的良好来源,等等

不知道我同意的“相对安全”罗里的评估。没有人关心我的FB帐户来建立分布式引脚测试,但您可以轻松地创建一个非常有价值的100个Facebook帐户的列表:Whitehouse,McDonalds,Jay-Z。

我会问的问题是为什么六位数字?使用8或10或20的成本是否过高?用户不必输入这些信息,他们点击链接,对吧?难道只有6位数字比A-Za-z0-9的20位数字更美观?我个人喜欢62^20的样子比10^6多得多。

无论长度如何,引脚也应该过期。如果我今天需要进入我的帐户,我不会让这个链接在我的电子邮件中放置一周。 60分钟应该足够长。不能使用它,再次点击“忘记密码”链接。

  0

Facebook代码可以选择性地发送到您的手机,在您的计算机上手动打孔,这一定是他们选择保持短的原因。 13 8月. 132013-08-13 19:34:34

  0

+1良好的召唤。要求用户键入20位数字会很容易出错。 A-Z的8个字符,0-9仍然比6位数字多出2821109倍。我不认为4RE3H27L比499123更难,但如果FB做了一些A/B测试并且对错误率有所增加,我不会感到惊讶。 13 8月. 132013-08-13 19:49:03