防止密码提示正确输入密码

时间:2009-09-30 21:23:34

标签: algorithm security passwords

我正在实施密码+密码提示码I,并希望阻止用户密码提示立即显示实际密码。

以下是我想要阻止的方案:

让我们说密码是: foobar123

然后密码提示不能是:

  • “foobar123”
  • “密码为:foobar123”
  • “f-o-o-b-a-r-1-2-3”(或任何其他x len分隔符)
  • “f00bar123”(用零替换o)

几个问题:

  1. 我是否会过度使用它?我是否应该让用户为不知不觉的安全付出代价?
  2. 我是否错过了一个我需要预防的明显场景?
  3. 可以使用正则表达式评估每个方案吗?这是我能想到的最可扩展的添加未来检查的方法。

8 个答案:

答案 0 :(得分:6)

我只是给用户一组固定的问题供他们选择,他们提供答案。通过这种方式,您永远不会公开用户输入值,只会显示用户从预先选择的预选列表中选择的值。这样可以完全避免您的问题。

或者,如果您拥有用户的电子邮件地址,则只需重置密码即可发送带有编码密钥的链接,该密钥允许一次性更改密码。这样您就不需要提供提示,只需更改密码以响应其中一个一次性票证。

答案 1 :(得分:2)

  1. 就我个人而言,我说你可能会过火了。但它在某种程度上取决于受损数据的严重程度(例如,这是一个投票给高中女士的网站,还是高端拍卖行的网站,还是CIA的网络访问表格?),用户数量,以及在使用不良提示并使其访问受到损害后,任何人因设计疏忽而起诉你的可能性。

  2. 您可以为最愚蠢的人使用正则表达式(例如,获取密码的6个字符的子字符串并在提示中匹配这些子字符串),以及智能的字符数那些。例如。如果提示使用密码中60%到80%的字符(按计数),则拒绝它。 一个更细微的解决方案是计算位置,例如只有在“f”之后才计算“o”。但这也可能过分了。

  3. 还要考虑非提示解决方案(多种选择,非语言提示,电子邮件密码更改请求)

答案 2 :(得分:2)

如果您的威胁模型提供了可接受的密码提示,我认为您的密码密码暴露预防会过度。

然而,如果你的威胁模型不能让它们被接受,但是你被迫提供这个功能,那就尽量做法西斯主义。

最后,不要限制人们使用密码提示。他们非常讨厌。他们暗示知道生活中的公共知识是什么,而不是公共知识。大多数网站我都注意到仅限密码提示,提供 all 的提示是公共记录的。

祝你好运!

答案 3 :(得分:1)

是否需要成为提示模型?

我过去这样做的方式是:

A-有安全问题 B-有验证码。
C-只为首次使用时必须更改的电子邮件提供新的临时密码。

答案 4 :(得分:1)

你不能阻止用户做一些愚蠢的事情。无论你采取什么保护措施,他们都会找到解决问题的方法。例如:

  • “321raboof backwards”
  • “foo and bar123”
  • “foobar(124 - 1)”

答案 5 :(得分:1)

我不相信有一种确定的生成提示的方法,除非您将密码限制为 birthdays 或给定名称。

但他们不会是强密码吗?

让用户提示一个提示 - 并为明显的价格付出代价。

提供大量建议,提示不应该是显而易见的,但我认为必须由用户决定。

答案 6 :(得分:0)

如果他们破坏了帐户的安全性,那不是问题。节省不必要的编码和测试,只是不用担心这个功能!

答案 7 :(得分:0)

我即将将密码提示模型更改为具有固定选项的模型。对于那些说这是用户自己的问题,如果他们提出一个愚蠢的问题和答案,我会提到它成为那些为我们的技术支持技术支持工作的人的问题。这就是我们想要避免的。