【发布时间】:2010-12-18 01:26:08
【问题描述】:
我正在为应用程序编写一个全面的身份验证系统,并计划记录失败的身份验证尝试以实现更好的安全性。我想检查暴力破解和字典攻击的失败密码,但是我能想到的唯一方法是存储原始密码。
我对这样做的感觉很复杂。虽然我知道失败的登录尝试会经常被清除,但我不喜欢将原始密码存储在数据库中的想法。我知道我经常输入错误的密码,这些密码与我的真实密码非常相似,或者更糟糕的是,我会为特定登录输入错误的密码,而该密码实际上是我所属的另一个网站的有效密码。
但是,如果不存储一些原始密码,就不可能实现高级安全性,所以我正在尝试考虑最好的方法。
以下是我想到的一些可能的解决方案:
- 不要存储超过 24 小时的登录尝试。 这并不是一个真正的解决方案,更多的是在密码被泄露时限制损失。
- 如果用户成功通过身份验证,则清除失败的尝试。
有人对此有任何意见吗?这是一个好/坏主意吗?我应该使用双向加密吗?
【问题讨论】: