为什么软件不能自动检测密码破解攻击并阻止它们?
长版:
假设有人尝试对某个需要密码验证的程序 XYZ 进行暴力破解密码攻击。
我的理解是,这样的攻击将包括迭代“所有可能的密码”集,依次将每个密码提供给 XYZ,直到其中一个有效。为了使这种策略有任何成功的可能性,攻击者必须能够每秒向 XYZ 提供非常多的候选密码。因此,对 XYZ 进行编程以检测这种模式(也就是说,将其与合法用户几次错误输入正确密码的情况区分开来)并在接下来的 10 分钟内自动升级身份验证要求将是微不足道的。
这个想法是允许 XYZ 的所有者设置两个“密码”:一个“1 级密码”(又名“密码”),它相对容易记住和容易输入,但也相对容易被破解暴力破解,以及一个“2级密码”(又名“密码短语”),它可能非常长,无法通过暴力破解,而且对于(合法的)日常使用也很不方便。
知道方便但弱密码的人几乎不需要使用不可破解但不方便的密码短语。
我确信这个方案存在一些巨大的缺陷,否则密码不会让合法用户感到头疼。解释是什么?