首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否应在登录尝试失败后清除密码字段?

是否应在登录尝试失败后清除密码字段?
EN

Security用户
提问于 2013-07-11 10:41:05
回答 3查看 3.3K关注 0票数 11

,让我们假设在

中登录的工作流如下

( a)在有键盘的设备上:

  1. 我输入我的用户名和密码
  2. 按下回车
  3. 实现我做了一个错误
  4. 密码字段被清除:没什么大不了的,我可以相当快地输入。

( b)在带有触摸屏的设备上

  1. 我输入我的用户名和密码
  2. 按“登录”
  3. 实现我的密码是"password2013",而不是"password2012“
  4. 密码字段被清除:现在我们正在讨论-我宁愿让我的***值,这样我就可以更正单个字符,而不是再次键入整个密码,有时甚至我的用户名也会被清除,这完全是浪费时间。

这里的几个问题:

  • 在密码字段中保留星号是否有效?
  • 是否有任何理由清除字段值,还是仅仅是纯粹的懒惰,在往返到服务器之后不给它们喂食呢?
  • 当使用AJAX表单时--您会保留或清除这些值吗?
  • 使用混合方法(保存值并在任意超时后清除值)是否有意义?

是否存在将密码保留为*** ?

的安全风险?

我离开我的计算机,攻击者看到我打开的选项卡,可以检索我输入错误的密码:http://jsfiddle.net/stefek99/2Uh9T/但逻辑起作用如果攻击者能够访问我的计算机,有比偷看错误密码更有效的方法来伤害我:)

现有示例:

  • Windows 7登录屏幕密码被清除。
  • Mac登录屏幕密码被保留。

是否应该在登录尝试失败后清除密码字段?

EN

回答 3

Security用户

发布于 2013-07-11 13:23:49

它应该被清除。

在这样的情况下,用户输入密码,点击“登录”,然后漫游一段时间,做其他事情,这种情况并不少见。这当然发生在我尝试登录到GMail的地方,一小时后我才知道登录失败。还有一些系统(想到了sudo apt-get -y install,虽然在这种情况下,失败的密码尝试是无法恢复的),您只需要对其进行身份验证,然后忘记它--

在上面列出的GMail情况下,如果我在那个小时内从计算机上站起来,某人可以很容易地获得明文密码(嗯,错误的版本,但通常很容易修复)。

如果攻击者能够访问我的计算机,那么有更有效的方法来伤害我。

如果攻击者知道密码,通常会造成比攻击者刚刚登录的情况更严重的破坏。

然而,这确实取决于系统。对于桌面登录屏幕,只要密码字段不可复制,就无关紧要了。对于在线服务来说,更重要的是。

票数 8
EN

Security用户

发布于 2013-07-11 16:03:17

不清除密码字段有一个不幸的副作用,一些用户只会假设"meh,它这次没有工作“,并将再次提交密码,未经修改。这是人类一般心理的一部分,当某些事情出错时,用户首先会认为这是别人的错误--也就是说,如果登录失败,那么服务器应该负责,而不是他们自己的密码输入。

这种行为意味着服务器上需要做更多的工作(如果服务器存储密码散列时使用慢散列( 就像它应该 ),则会增加服务器的计算负担),并且与某些自动锁定策略(当输入太多错误密码时,帐户被锁定或至少被禁用几分钟,以防止在线字典攻击)。

反映密码的安全性问题是@Manishearth讨论的特点:在一般情况下,密码是敏感的,因此,如果用户能够控制其密码的任何书面副本的生存期,则认为这是最好的。如果服务器在某些情况下向客户端发回密码,则用户无法确保在某个时候无法访问他的密码的任何书面副本。这不是一个非常严重的问题(它需要一个相当特殊的情况才有意义),但仍然值得考虑。

出于这些原因,我建议清除密码字段。触屏用户是该死的,没有人强迫他们购买iPad。

票数 6
EN

Security用户

发布于 2013-07-11 13:18:49

我不认为一个非常复杂的“黑客”会发现document.forms["login"]["password"].value;是窃取仍然输入的密码的一个很好的方法。当然,他们可以对你的电脑做更糟糕的事情,但我想说,作为用户,你有责任做出这样的决定;站点操作员应该尽可能地确保事情的安全。

此外,如果你在银行网站上,没有其他人能做的事情会让你的生活变得更糟…

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

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

复制
相关文章

相似问题

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