首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我应该让用户选择他们自己的密码重置秘密问题吗?

我应该让用户选择他们自己的密码重置秘密问题吗?
EN

Security用户
提问于 2016-03-29 07:44:01
回答 3查看 2.1K关注 0票数 4

我正在构建一个web应用程序,我实际上正在编写一个代码,允许用户选择他们的秘密问题和答案,如果他们忘记了密码,就可以识别他们。

我在这里有点困惑,因为许多著名的网站只提供一个限制和预先确定的问题列表,不允许用户键入他们自己的秘密问题。然而,这降低了安全性,因为黑客可以很容易地猜测答案,通过社会工程,信息收集…(这个秘密问题不再是秘密了)。

让人们存储自己的秘密问题,然后让他们在需要识别自己的时候,在其他随机问题中进行选择,这是否存在安全风险?

我知道SQL注入的风险,所以让我们假设我的代码是安全的,数据是以正确的方式存储的。

EN

回答 3

Security用户

回答已采纳

发布于 2016-03-29 16:35:11

您可以评论说,与用户定义的问题相比,攻击者更有可能猜测预定的安全问题。这假设您的普通用户将设计一个比系统执行人员更好的问题(例如,更多的秘密,更少的猜测)。对于大多数用户来说,这似乎并不是真的。

一项实验室研究中,受试者平均只花15秒的时间来回答自己的安全问题。这是很少的时间来思考的特点,是什么使一个良好的安全问题。在一个不同研究中,研究人员询问那些在设计他们的问题时他们认为重要因素的安全问题。70%的人认为“记忆”是一个非常重要的因素,而只有44%的人认为“安全”很重要。因此,让用户自己写问题往往会导致更糟糕的安全性,因为他们专注于使问题更容易回答,而不是拒绝猜测。

几年前,我能够在我做的一项研究中观察到一些用户定义的安全问题/答案对的这种行为,这些问题/答案对是在几个网站数据库被泄露时泄露的。我发现很多问题和你在预定义的安全问题列表中看到的一样:母亲的娘家名,宠物的名字,出生地。但这包括了一些糟糕的问题,比如“你最喜欢的颜色是什么”,其中一些答案比其他的更有可能,做出五个猜测(蓝色、紫色、绿色、红色、黑色)就能正确匹配75%的用户答案。

更糟糕的是,一些用户会选择通过自己的选择完全破坏问题的安全性。一些用户(15%在一个网站,2%在另一个网站)会使答案与他们的问题相匹配。一小部分人(0.2%和1.8%)甚至会把他们的密码列为他们的问题。在这种情况下,任何能够查看问题的人都可以使用该信息作为用户登录。您可以在用户提交问题时实现控件来检查问题,并试图防止这种行为,但是很难对决心规避问题的用户强制执行。

安全问题并不是对用户进行身份验证的非常好的方法,但允许用户定义的问题往往是更糟糕的解决方案。如果您决心使用安全问题,则应由最有资格评估其利弊的人员对其进行评估和选择。

票数 7
EN

Security用户

发布于 2016-03-29 07:55:04

基本上,人们在提出问题时都是垃圾。他们想出了“键入‘秘密’”或“我的名字”之类的东西--它们充其量是一文不值的,在最坏的情况下是有害的(“通常的密码”)--问题的答案将倾向于以纯文本形式存储.)。即使是预先确定的问题也是相当糟糕的--它们要么很容易猜测,要么很容易被遗忘(例如,如果你问“你的第一辆车是什么?”,而你的网站是为18岁的年轻人服务的,这是一个看脸书的问题,几乎可以肯定有他们的照片……)。

最佳做法是通过电子邮件将密码重置链接发送到存储的电子邮件地址(避免公开输入的地址是否存在),这是有时间限制的一次性使用。然后,如果你愿意的话,你可以问一个问题,但既然你已经证实他们可以访问与该帐户相关的电子邮件地址,那么最好假设他们知道任何可能被电子邮件发送的信息(地址、出生日期、伴侣姓名等),所以在安全性方面可能不会增加多少,如果有的话。

票数 12
EN

Security用户

发布于 2016-03-29 16:58:01

除了其他答案之外,避免用户选择次要秘密问题的一个原因是,它们可能包含“不适当”的内容。

这通常只是行政人员可以看到问题和答案的问题(例如,秘密问答将作为呼叫中心认证过程的一部分)。

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

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

复制
相关文章

相似问题

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