4)用两个随机金额贷记他们的银行账户并要求他们输入
.5)蜗牛给他们发一些新密码并要求他们输入
.6)让他们发短信或打电话给某个号码然后输入一些价值给手机他们在手机上注册的手机号码.
7)通过外包给Stack Overflow,Facebook,博客引擎等OpenID提供商,完全摆脱密码管理问题.
在这些之外,使用选项#1或#2,添加的功能都会在一小时后到期.
4)用两个随机金额贷记他们的银行账户并要求他们输入
.5)蜗牛给他们发一些新密码并要求他们输入
.6)让他们发短信或打电话给某个号码然后输入一些价值给手机他们在手机上注册的手机号码.
7)通过外包给Stack Overflow,Facebook,博客引擎等OpenID提供商,完全摆脱密码管理问题.
在这些之外,使用选项#1或#2,添加的功能都会在一小时后到期.
对于描述#1和#2等同的答案,我感到震惊.它们根本不存在.向用户发送短期链接以更改其密码是最方便,最常用且最安全的方法,不涉及带外交互(邮件,文本消息等).原因如下:
通过忘记密码链接设置临时密码允许用户有效地更改用户密码,并在用户知道用户登录时将其锁定在帐户之外.通过链接,用户只需知道某人正在搞乱并且他们的访问不会受到影响.
密码重置链接仅在短时间内有效,因此攻击者可以使用非常小的窗口进行攻击.即使他们这样做,用户也会知道,因为如果攻击者拦截了链接并使用它来更改密码,则重置链接将不再有效.如果用户未立即更改新分配的密码,则截获密码的攻击者可以无限期地悄悄地冒充用户.所以最大的区别是,虽然黑客可以拦截重置密码链接电子邮件,如果他们使用该链接更改用户的密码,用户将知道某些错误,因为该链接将无法工作,他们将生成另一个密码重置请求.
易于使用 - 用户只需单击其电子邮件中的链接,而不是键入您生成的新随机密码.
安全问题通常会使网站安全性降低,而不是更多 - 它们是另一种攻击媒介,通常是最薄弱的环节.我强烈建议阅读Web应用程序黑客手册,以便对此主题进行精彩讨论.
请注意,选项#2还要求您跟踪旧密码,如果未在24小时内使用,则使新随机密码失效.
否则我可以通过反复向您发送一个新的随机密码来惹恼您 - 如果您不在您的电子邮件附近,您可能不知道为什么您不能使用您的普通密码登录.
此外,请避免要求"识别问题".这些问题的答案通常比真实密码更容易猜测/查找 - 因此每个人都可以将自己标识为我.请参阅Sarah Palin的故事,了解最近的例子,了解这是多么不安全.
那里.我说了.如果用户的电子邮件帐户遭到破坏,除非您收集更多私人数据,例如他们的地址,母亲的婚前姓名 - 所有这些都可以被猜到,因此没有合理的安全方式来做事情.
我见过的最好的(尽管最烦人的)版本是你需要记住一个秘密问题和一个秘密答案的地方.这意味着用户必须记住他们提出的问题,当然,这也可能永远被遗忘!
如果他们忘记了这个问题并且你是一个"真正的"公司,那么总是可以选择通过帖子向用户发送令牌,并提供如何重置所有安全性的说明......黑客很可能无法访问他们的真实邮件.
这种情况的偏差是在用户创建帐户时收集电话号码.如果它存在并且他们不记得他们的任何细节,你可以设置某种自动呼叫系统,告诉他们如何重置他们的细节.
关于#2有一点需要提及:不要让进程覆盖当前帐户密码.如果发生这种情况,任何人都可以说他们忘记了任何帐户的密码,从而触发了大量不必要的密码更改.