存储密码的答案是否比存储密码更安全?

时间:2009-07-14 18:29:52

标签: passwords security

阅读目前recent question关于如何/是否向用户发送密码的最佳答案,我很感兴趣,最受欢迎的答案如下所示......

  1. 以可检索的方式存储密码是不安全的
  2. 在秘密问题的帮助下使用重置功能是一种有效的替代方案
  3. (这两点似乎相互矛盾。)

    我使用散列密码来保证安全性,但我一直认为密码问答方案的安全性更低,因为它们实际上暗示了答案的可能性。 (我经常使用.NET的默认会员提供商。)

    是否有一些我遗失的东西,因为我没有费心去使用这个问题&回答?秘密问题和答案,没有包含任何类型的定时电子邮件重置功能,比在数据库中存储密码更安全吗?


    跟进:Microsoft's membership provider使用相同的格式存储秘密问题的答案,就像密码一样。如果为密码指定哈希值,那么它将以相同的方式存储密码答案。

    从下面的帖子中可以看出,如果使用了秘密问题/答案机制,除了电子邮件重置方案之外,应该只使用,而不是代替,而应该像好。当然,对于像我这样在秘密答案部分放置长串随机字符串的人来说,这可能会出现问题。

13 个答案:

答案 0 :(得分:8)

密码对“秘密”问题的回答。那个问题是,“你的密码是什么?”。

正如Scunliffe指出的那样,添加额外的用户输入字段可能会也可能不会增加密码的安全性 - 这取决于用户的做法。

答案 1 :(得分:7)

许多已发布的“电子邮件黑客”(example)已经利用了问答习惯用语 - 我当然会避免使用它。

答案 2 :(得分:7)

我允许自己受到OWASP的指导:

  

他们是不可接受的   原因如下:

     
      
  • 未经明确同意,收集有关人员的信息   (如“妈妈的娘家姓”)是   在大多数隐私制度中都是非法的这样   收集受隐私法律约束,   审查和纠正主题,   等等。

  •   
  • IT安全政策和ISO 27000等标准禁止明确   密码的文本存储,但差不多   所有Q& A计划都存储了   问题和答案明确

  •   
  • 答案中的信息是公开的   互联网的用户,因而是   使用公共资源找到

  •   

编辑(2018):OWASP似乎重新安排了他们的材料。该方法机器抓获了a copy of the original page

答案 3 :(得分:5)

秘密问题和答案仅与用户所做的一样安全。如果有人对您有所了解,他们可以回答一个简单的问题并重置您的密码。我猜测答案也是哈希,所以答案不是直接存储的。但同样,知道问题的答案就是一切。

存储的散列密码与大多数应用程序一样安全,这很好,因为它是单向的,因此纯文本永远不会存储,也不能被检索。

答案 4 :(得分:3)

我认为秘密的问题/答案组合只是另一种形式的“密码”。然后,我会继续建议秘密答案可能弱于常规密码,因为很少有人建议它应该是除了易受字典攻击影响的常规词之外的任何其他内容。在大多数情况下,答案的字典空间会因问题的背景而大大缩短(但scunliffe的例外情况除外)。

答案 5 :(得分:3)

我会使用一个秘密问题来确定我是否应该通过电子邮件向他们发送新生成的密码。永远不要让他们设置一个新的。然而,在一天结束时,一切都归结为使其尽可能安全。如果您是在线银行或网络网站会产生巨大的差异。

答案 6 :(得分:2)

我去过的一个网站(银行或健康保险)要求我回答六个秘密问题。对于密码重置,他们会随机选择其中的三个,并要求我回答它们。

此外,我认为他们只存储散列答案,而不是纯文本版本。正如DDaviesBrackett所说,密码一个秘密问题。

答案 7 :(得分:2)

我觉得你的问题的一部分被忽略了。因为你我看到我们如何忽略常识,如果你不应该以纯文本存储他们的密码,但你愿意用纯文本存储他们的'秘密问题'的答案,然后允许他们通过一个密码重置他们的密码通过电子邮件发送的链接,比为什么甚至有一个秘密问题,只是通过电子邮件发送给他们重置链当然,您可以轻松加密问题的答案。

似乎包括我自己在内的很多人用一些加密的方式写了他们的问题/答案,问题没有提示,但是我在创建这些问题时总会问自己 - “如果我不记得密码我每次来到这个网站时都会使用,我将如何记住我2年前制作并且从未使用过的答案。“

我的观点:“秘密问题”的整个想法只是一种虚假的安全感,好像添加秘密问题会增加黑客攻击我的帐户的过程更加困难的是,一个额外的步骤将挫败黑客并导致他放弃。

它似乎更有可能只是为你想要惹恼我的朋友或家人提供线索。

答案 8 :(得分:1)

这还取决于秘密问题/答案的相关性。

一个很好的例子,当我看到提出一个问题的选项时,我会提出类似的内容:

Question: Groovy Broccoli?

Answer: International Space Station 431

这些不是我使用的实际问题/答案,但我可以向您保证,我使用的问题无法提供任何答案。

答案 9 :(得分:1)

如果你可以使用机密问题进入系统,那么 系统就像存储机密问题的方法一样安全。

但是,如果用户在其他系统上使用相同的密码,那么至少确保密码被散列可以防止该用户的密码被其他系统(例如他们的在线银行)所占用。

答案 10 :(得分:1)

秘密问题的安全性的关键通常在于备用的可信通信媒介。如果用户正确回答“秘密问题”,则服务器应通过可信信道(例如电子邮件地址)提供随机密码。

然后,使用该随机密码(与用户的电子邮件一样安全),他可以使用它来登录并将密码更改为其他密码。

答案 11 :(得分:1)

这取决于您需要的安全需求......一旦他们已经回答了这一部分。

我必须添加的唯一内容是,您使用MD5加密来存储密码和其他敏感数据。请注意,目前它几乎不可能发现由MD5加密的“短语”。你可以找到很多文章谈论它。并且在您的项目中实施并不困难。

的问候。 FábioAntunes

答案 12 :(得分:1)

“问候,法尔肯教授。” 要么 为什么将任何认证方案建立在非秘密,非随机 - “ish”响应上并不是一个好主意。

并且,如果你试图变得有点棘手,并选择随机 - “ish”回应臭名昭着的婚前姓名问题,并且能够在忘记密码后记住它们(并且可能已经改变了几次自设置“秘密问题”。

不,整个秘密问题计划从一开始就很拙劣。首先,问题并不是秘密,而是向任何声称放错密码的人透露。