为什么您的用户名和密码未经过哈希处理和加盐处理?

为什么您的用户名和密码未经过哈希处理和加盐处理?

由于为了提高安全性,登录时用户名和/或密码失败的常见响应总是返回“您的用户名或密码不正确”,那么为什么系统不存储散列的用户名和密码组合呢?没有什么比不知道我正在使用哪个电子邮件并不得不尝试其他电子邮件更让我恼火的了,尤其是当密码长度可能有最大限制等情况下。

答案1

出于同样的原因,我们不会保密我们的真实姓名:它们用于识别我们,并且在设计上是可以共享的。

这样做的目的是通过不透露攻击者是否正在使用现有用户名来减少他们可能拥有的信息。也就是说,使用“用户名或密码不正确”消息的系统通常与没有这些消息的系统一样容易受到攻击。注册表单(有时是密码重置表单)会告诉您帐户是否存在,因此识别用户名是否存在是微不足道的。因此,这种方法对合法用户的打击可能大于对攻击者的阻碍。

另外,想象一下,如果平台上没有存储朋友的明文用户名,你试图找到他们:你必须逐个字符地获取正确的用户名。这样的系统非常不切实际。拥有秘密用户名类似于拥有第二个密码,而且有比这更好的方法来保护账户。

相关内容