Enr*_*que 62 passwords forgot-password password-recovery
我想在我的Web应用程序中实现密码恢复.
我想避免使用秘密问题.
我可以通过电子邮件发送密码,但我认为这会有风险.
也许我可以生成一个新的临时随机密码并通过电子邮件发送,但我认为它与上述点一样危险.
我可以通过电子邮件发送网址,例如http://example.com/token=xxxx ,其中xxxx是与用户关联的随机令牌.因此,当用户导航到该URL时,他/她可以重置密码.
Jay*_*Jay 85
当我在空军时,我们的安全规则是:设置或重置密码时,请勿在同一封电子邮件中发送用户ID和密码.这样,如果有人拦截窃听密码的电子邮件,他必须成功拦截两部电子邮件,并能够连接它们,以破坏安全性.
我见过很多使用"转到此URL重置密码"的网站.也许我错过了一些东西 - 我并不认为自己是安全专家 - 但我不知道这比仅仅发明一个新的临时密码并发送它更安全.如果黑客拦截了该电子邮件,为什么他不能访问该链接并看到新密码以及合法用户可以?在我看来,对于没有安全保障的用户来说,这是一件额外的麻烦.
顺便说一句,祝贺你不使用安全问题.这个设备的逻辑逃脱了我.自从计算机安全问世以来,我们一直在告诉人们,"不要输入密码,黑客可以发现或猜测自己的信息,比如你的高中名字,或者你喜欢的颜色.黑客也许能够查看你高中的名字,或者即使他们不认识你或了解你的任何事情,如果你仍住在你上学的地方附近,他们可以通过尝试当地学校直到他们去学校来获得它.少数可能最喜欢的颜色,所以黑客可以猜测.等等,密码应该是字母,数字和标点符号的无意义组合.但现在我们也告诉他们,"但是!如果你很难记住字母,数字和标点符号的无意义组合,没问题!获取一些您可以轻松记住的有关您自己的信息 - 例如您的高中名称或您喜欢的颜色 - 您可以将其用作"安全问题"的答案,即作为替代密码."
实际上,安全问题使得黑客比起刚开始选择错误密码更容易.至少如果您只是使用一条个人信息来获取密码,黑客就不一定知道您使用的是哪些个人信息.你用的是狗的名字吗?你的出生日期?你最喜欢的冰淇淋口味?他必须尝试所有这些.但是出于安全问题,我们会告诉黑客你用什么个人信息作为密码!
我们不是要使用安全问题,为什么不说"如果您忘记了密码,它会显示在屏幕的底部.如果您试图入侵其他人的帐户,则绝对禁止向下滚动." 它只会稍微不那么安全.
为免你想知道,当网站询问我出生的城市或我的第一辆汽车的制造商时,我不会给出一个实际答案.我给出了一个毫无意义的密码.
</咆哮>
Kit*_*une 49
首先,不要不存储用户密码的纯文本副本,甚至是加密的版本.您只想保留用户密码的哈希副本.
至于恢复解决方案,我发现根据我的经验,更改用户密码的恢复链接是最佳解决方案.它可能对用户来说更方便,但从安全的角度来看,与在下次登录后发送新的随机密码相比大致相同.我仍然建议让恢复网址在合理的短时间内过期,并且只能使用一次.
Dun*_*can 20
很难说你应该做什么,因为这个问题的任何解决方案都会削弱安全性.除非你想调查发送短信,回叫验证,一次性密码生成器或其他将密码恢复到其他介质的方案.
但是,你不应该做的事情:
发送密码 - 毕竟,正如已经提到的那样,你没有密码.
生成一个新的临时密码 - 这不仅与发送密码不安全,还会导致拒绝服务攻击的可能性.我可以去网站,假装是你,请求一个新密码,然后(如果你没有检查过你的电子邮件)你无法登录,不知道为什么,并且必须要求一个新的密码.. .
令牌可能是要走的路.接收它会通知忘记的密码请求,但除非您确认,否则不会采取任何操作.您还可以将其设为一次性令牌,其到期时间相对较短,以限制风险.
当然,很大程度上取决于应用程序.显然,保护财务和其他敏感信息比防止您的帐户被mytwitteringfacetube.com攻击更为重要,因为虽然不方便,如果有人想在社交网站上窃取某人的身份,他们只能打开自己的帐户并伪装成被盗信息无论如何.
Mat*_*hen 10
显然,你不能通过电子邮件发送原始密码,因为你没有存储它(对吗?!).发送临时密码(必须更改,因为它仅适用于一次登录),并且从安全角度来看,重置密码的链接是等效的.
小智 5
我不理解对秘密问题方法的态度.这不像我要将我的密码设为"BlueHouse",然后提出我的安全问题"你最喜欢的两件事是什么?" 和答案"蓝色和房屋".安全问题不是获取实际密码的神奇钥匙.这通常是一种将新密码发送到文件中的电子邮件地址的方法.我不知道你们怎么做,但听起来你做了两件事之一.
1)用户点击"我忘记密码"按钮,新密码被发送给用户.
2)用户单击"我忘记密码"按钮,然后必须回答安全问题,然后将新密码通过电子邮件发送到存档的地址.
在我看来,2号选项更安全.
为什么发送令牌比发送密码更安全?如果电子邮件帐户遭到黑客攻击,则会被黑客入侵.如果存在重置密码,令牌或新密码的链接,则无关紧要.不要忘记,大多数网站都没有说"新密码已被发送到以下电子邮件地址供您入侵".黑客需要猜测需要被黑客攻击的电子邮件地址.
我同意安迪的观点.安全问题通常不依赖于密码吗?(我的意思)他们有一个问题和答案,与密码无关.似乎这用于防止虚假密码重置请求,实际上确实有用.
想象一下 - 有人可以访问网站的"忘记密码"实用程序并输入数以万计的电子邮件地址 - 或者只是一个他们想要惹恼的人.如果密码在此时重置,则属于这些电子邮件地址的人员必须在其电子邮件中注意密码重置并在下次访问时使用重置密码登录该站点.有了安全问题,这对某人来说并不容易.
我看到亚马逊发送了指向给定电子邮件的链接.它们还要求您输入验证码以防止DOS攻击.因为它是一个链接,我想这意味着他们没有立即重置密码,一旦用户点击链接就会重置密码.根据上面的场景,用户只会看到电子邮件,并注意"不,我没有这样做",并且无需更改密码就可以开展业务.一个安全问题可能阻止了一开始的尝试和合法用户首先收到电子邮件.
这是关于它的白皮书:http: //appsecnotes.blogspot.com/2010/09/latest-forgot-password-best-practices.html
这个实际上建议秘密问题作为身份验证过程的主要部分.通过电子邮件发送身份验证代码并请求它只是一个可选择包含的附加层.