存储密码的答案是否比存储密码更安全?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了存储密码的答案是否比存储密码更安全?相关的知识,希望对你有一定的参考价值。
阅读目前recent question关于如何/是否向用户发送密码的最佳答案,我很感兴趣,最受欢迎的答案说如下......
- 以可检索的方式存储密码是不安全的
- 在秘密问题的帮助下使用重置功能是一种有效的替代方案
(这两点似乎是矛盾的。)
我使用散列密码来保证安全性,但我一直认为密码问答方案的安全性更低,因为它们实际上给出了答案可能是什么的提示。 (我经常使用.NET的默认会员提供商。)
有什么我想念的东西,因为我没有费心去使用问答吗?秘密问题和答案,没有包含任何类型的定时电子邮件重置功能,比在数据库中存储密码更安全吗?
跟进:Microsoft's membership provider使用相同的格式存储秘密问题的答案,就像密码一样。如果为密码指定哈希值,则它将以相同的方式存储密码答案。
从下面的帖子中可以看出,如果使用秘密问题/答案机制,除了电子邮件重置方案之外,应该只使用,而不是代替,也应该进行哈希处理。当然,对于像我这样在秘密答案部分放置长串随机字符串的人来说,这可能会出现问题。
我允许自己在这里受到OWASP的指导:
由于以下原因,它们是不可接受的:
- 未经明确同意(例如“母亲的婚前姓名”)收集有关人员的信息在大多数隐私制度中都是非法的。此类收集受隐私法律的约束,受试者的审查和更正等。
- IT安全策略和标准(如ISO 27000)禁止明文密码存储,但几乎所有问答方案都明确存储问题和答案
- 答案中的信息对于互联网的大部分用户是公开的,因此可以使用公共资源找到
编辑(2018年):OWASP似乎重新安排了他们的材料。回归机器捕获了a copy of the original page。
如果您可以使用机密问题进入系统,那么该系统与存储机密问题的方法一样安全。
但是,如果用户在其他系统上使用相同的密码,那么至少确保密码被散列可以使该用户的密码不会被其他系统(例如他们的在线银行)所占用。
秘密问题的安全性的关键通常在于备用的可信通信媒介。如果用户正确回答“秘密问题”,则服务器应通过可信信道(例如电子邮件地址)提供随机密码。
然后,使用该随机密码(与用户的电子邮件一样安全),他可以使用它来登录并将密码更改为其他密码。
这取决于您需要的安全需求......一旦他们已经回答了这一部分。
我必须添加的唯一内容是,您使用MD5加密来存储密码和其他敏感数据。请注意,目前它几乎不可能发现由MD5加密的“短语”。你可以找到很多文章谈论它。并且在您的项目中实施起来并不困难。
问候。 FábioAntunes
“问候,法尔肯教授。”或者为什么不将任何认证方案建立在非秘密,非随机 - “ish”响应上并不是一个好主意。
并且,如果你试图变得有点棘手,并选择随机 - “ish”回应臭名昭着的婚前姓名问题,并且能够在你忘记密码之后记住它们(并且自设置之后可能已经改变了几次) “秘密问题”。
不,整个秘密问题计划从一开始就是拙劣的。首先,问题并不是秘密,而是向任何声称放错密码的人透露。
密码是“秘密”问题的答案。那个问题是,“你的密码是什么?”。
正如Scunliffe指出的那样,添加额外的用户输入字段可能会也可能不会增加密码的安全性 - 这取决于用户的做法。
许多已发表的“电子邮件黑客”(example)已经利用了问答习惯 - 我肯定会避免使用它。
秘密问题和答案仅与用户所做的一样安全。如果有人对您有所了解,他们可以回答一个简单的问题并重置您的密码。我猜测答案也是哈希,所以答案不是直接存储的。但同样,知道问题的答案就是一切。
存储的散列密码与大多数应用程序一样安全,这很好,因为它是单向的,因此纯文本永远不会存储,也不能被检索。
我认为秘密的问题/答案组合只是另一种形式的“密码”。然后,我会继续建议秘密答案可能比常规密码弱,因为很少有任何暗示它应该是除了易受字典攻击的常规词之外的任何其他内容。在大多数情况下,答案的字典空间会因问题的上下文而显着缩短(但scunliffe的例外情况除外)。
我会使用一个秘密问题来确定我是否应该通过电子邮件向他们发送新生成的密码。永远不要让他们设置一个新的。然而,在一天结束时,一切都归结为使其尽可能安全。如果您是在线银行或网络网站会产生巨大的差异。
我去过的一个网站(银行或健康保险)要求我回答六个秘密问题。对于密码重置,他们会随机选择其中的三个,并要求我回答它们。
另外,我认为他们只存储散列答案,而不是纯文本版本。正如DDaviesBrackett所说,密码是一个秘密问题。
我觉得你的问题的一部分被忽略了。因为你我看到我们如何忽略常识,如果你不应该以纯文本存储他们的密码,但你愿意用纯文本存储他们的'秘密问题'的答案,然后允许他们通过一个密码重置他们的密码通过电子邮件发送的链接,比为什么甚至有一个秘密问题,只是通过电子邮件发送给他们重置链当然,您可以轻松加密问题的答案。
似乎包括我自己在内的很多人用一些加密的方式写出他们的问题/答案,问题没有提示,但是我在创建这些问题时总会问自己 - “如果我不记得我的密码我每次来到这个网站时都会使用,我将如何记住我2年前制作并且从未使用过的答案。“
我的意见:“秘密问题”的整个想法只是一种虚假的安全感,好像增加秘密问题的添加会使黑客攻击我的帐户的过程变得更加困难,以至于一个额外的步骤会让人感到沮丧黑客并让他放弃。
它似乎更有可能只是为你想与我搞砸的朋友或家人提供线索。
这还取决于秘密问题/答案的相关性。
举个例子,当我看到提出问题的选项时,我会提出类似的问题:
Question: Groovy Broccoli?
Answer: International Space Station 431
这些不是我使用的实际问题/答案,但我可以向您保证,我使用的问题无法提供任何答案。
以上是关于存储密码的答案是否比存储密码更安全?的主要内容,如果未能解决你的问题,请参考以下文章