为什么不正确的密码检查很慢?

use*_*199 4 password 12.04 14.04

在许多 Ubuntu 版本上多次观察它。如果您在 UI 模式或终端中输入错误的密码,它会在声明错误的密码之前花费更多的时间。

正确的密码检查几乎是即时的,但错误的密码需要稍长的时间。它的时间不多,但仍然不仅仅是正确的密码。

为什么会这样?

Bla*_*ack 5

正如 Marc 已经提到的,这种机制应该会减慢自动密码猜测的速度。

Linux 通常使用pam_unixas 模块来检查本地用户的密码。这个(和许多其他身份验证模块)的默认值是

[...] 请求延迟两秒。

pam_unix手册页中所述(请参阅参数nodelay

因此,攻击者的速度大大减慢(每分钟不超过 30 次猜测)。某些实现还会增加输入正确密码之前的延迟)。