0

我想减缓攻击者的速度,这些攻击者会暴力破解我的应用程序中泄露帐户信息的部分。(例如,如果您使用正在使用的用户 id 访问注册页面,页面响应会告诉您该用户 id 将有利于随后的字典攻击。)

什么是使连续失败的尝试越来越慢的合适算法?现实世界的例子是 iPhone 上连续的错误密码。

我在 PHP 中实现,但任何伪代码响应将不胜感激。答案的关键部分是:

在尝试失败 N 时,将响应延迟 X。

一个非常好的答案将包括:

M 次尝试在我们对人为错误的容忍范围内,因此曲线“曲棍球棒”接近 M+1

4

1 回答 1

0

简单的几何图形对于拥有普通名字的人来说感觉太苛刻了。(John Smith 可能需要几次尝试才能找到未占用的用户 ID。)

sleep(pow(2,$failed_attempts));

也许我选择了一个愚蠢的常数?

于 2013-01-16T17:25:16.660 回答