密码错误时为什么`sudo`慢?

时间:2012-02-06 16:23:48

标签: security encryption passwords sudo

当我输入我的密码以获得超级用户权限或登录我的Linux框时,如果我输入正确,它会立即返回,授予我访问权限。但是,如果我犯了一些拼写错误,那么在它告诉我密码错误之前需要等待很长时间。通常,我意识到在计算机出现之前很久就搞砸了。

为什么会这样?据我了解,用户密码已加密并存储在/etc/shadow中,因此我的输入似乎应该加密并与我的用户名中的文件进行比较 - 无论是否大致相同我输入了正确的密码。是否有一些算法原因,比如它必须检查一堆额外的地方才能确认它是不正确的?或者系统可能很快就知道密码不正确,但必须做很多工作才能跟踪错误的登录尝试。或许它只是试图惩罚我搞砸了。

4 个答案:

答案 0 :(得分:5)

这完全是故意的:原因是无法使用字典攻击来猜测密码。

快速周转对字典攻击至关重要。减少不正确的密码是一种减慢攻击速度的方法,使得无法在有意义的时间间隔内执行。

答案 1 :(得分:2)

我不确定这个问题是否与此相关..我也不确定答案的正确性,但我认为这是为了安全。使它慢n倍意味着强力攻击需要花费n倍的时间。

答案 2 :(得分:1)

当您输入错误的密码时,来自sudo的响应缓慢是因为如果您使用sudo安装粗暴的蛮力'尝试并猜测密码'攻击,则每次都会减慢速度你猜错了,所以攻击需要更长的时间。那些合法使用它的人没有理由抱怨。如果你每隔一段时间写错字,你就不会介意了。如果您真的无法输入自己的密码,可能需要将其更改为您可以输入的内容(安全)。

答案 3 :(得分:1)

控制台或SSH登录也很慢。任何需要密码的东西都会“减速”以阻止暴力攻击。