当用户输入错误的密码时,哪个错误消息更好?

时间:2013-02-17 14:30:26

标签: login passwords security

当用户输入错误的密码时,从安全角度来看,以下两条错误消息之间是否存在任何差异?

  

用户名或密码错误。

     

密码错误。

例如,当您在Gmail.com上输入错误的密码时,它会告诉您“您输入的用户名或密码不正确”。出于安全考虑,有任何考虑因素吗?我认为错误消息:“您输入的密码不正确”对用户来说更清楚了,而且,更方便的是,检查Gmail.com上是否存在用户名非常容易:只需点击“无法访问您的帐户?”并输入用户名。如果用户名不存在,它会告诉你。

6 个答案:

答案 0 :(得分:14)

这个想法是不给黑客额外的信息。如果您说错密码,您已经告诉黑客他们有正确的用户名,反之亦然。虽然您所说的是真的,但在某些网站上,您可以通过其他方式确定是否猜到了用户名。

答案 1 :(得分:6)

最简单,最常用的词组是:

“您输入了无效的用户名或密码”

这背后的原因是为了防止有人试图通过“猜测”密码来破坏您的帐户。如果攻击者收到错误,详细说明密码不正确,那么他们可以尝试使用不同的密码,直到正确为止。

但是,如果您提供上述通用消息,则攻击者不知道用户,密码或两者的组合是否正确。

的Fabio @fcerullo

答案 2 :(得分:3)

只需添加一些额外信息。 OWASP指南为您提供有关此问题的建议

https://www.owasp.org/index.php/Authentication_Cheat_Sheet#Authentication_and_Error_Messages

  

应用程序应该响应一般错误消息   用户ID或密码是否不正确它也应该给   没有迹象表明现有帐户的状态。

答案 3 :(得分:2)

在某些情况下,您不希望攻击者能够猜出帐户的存在。因此,您将始终返回通用错误消息,以便攻击者无法猜测此帐户是否存在。

在GMAIL上下文中,gmail可能不希望人们挖掘现有的电子邮件地址以供垃圾邮件机器人使用。

您自己可以决定是否在您的应用程序中强制执行安全性,或者您是否可以提供更加用户友好的错误消息。

答案 4 :(得分:2)

从安全角度来看,这两种消息并没有太大不同。至少对于允许注册的网站。黑客总是可以转到注册页面并尝试使用上述详细信息进行注册。当然,最初由歧义保护的网站将立即大喊“该用户名已被使用!”。看起来在这一点上,安全性是一个神话。

答案 5 :(得分:1)

怎么样

<块引用>

凭据无效。请重试。