不考虑中间人攻击 /钓鱼问题。
各网站通常采取先验证口令,验证成功再弹出 TOTP 验证 6 位数,感觉有点不合理:
- 如果口令不对就不会要求验证 TOTP,那么爆破不也可以正常进行?(以前有次忘带盛大那个密保令牌,居然被我蒙对了。。)
- 次数过多封 IP,可以通过代理解决。
- 暂时封禁账户,好了号主都被连累。
也见过些采取口令和 TOTP 同时要求输入的站点,没有绑定 TOTP 就留空,绑定了就必须口令和 TOTP 同时对,但也会提醒口令不对或者 TOTP 不对。
我的想法是:
- 口令和 TOTP 都同时验证,但如果口令或 TOTP 有错误就必须连续三次其一验证成功才提示,并且限制 30 秒同一 IP 验证错误次数,应该能解决爆破问题。