Bra*_*pit 13 encryption cryptography
如果攻击者有多个不同的项目(例如:电子邮件地址)并且知道每个项目的加密值,攻击者是否可以更轻松地确定用于加密这些项目的秘密密码?意思是,他们能否在不诉诸蛮力的情况下确定密码?
这个问题可能听起来很奇怪,所以让我提供一个用例:
替代方案
我可以发送一个随机数或单向哈希的电子邮件地址(加上随机盐).这消除了存储秘密密码短语,但这意味着我需要在数据库中存储该随机数/散列.上面的原始方法不需要存储在数据库中.
我倾向于单向散列存储在数据库中,但我仍然想知道答案:确实有多个未加密的电子邮件地址和它们的加密对应物使得更容易确定密码短语用过的?
尽管通过一些研究,您可能可以选择足够强大的加密方法来抵御已知明文攻击,但仅仅为了避免在数据库中存储哈希值真的值得吗?
使用单个密码来加密所有注册请求似乎添加了不必要的单点漏洞:如果攻击者确实以某种方式破解了该密码,他们可以注册任意数量的帐户。另一方面,如果您为每个新帐户请求生成一次性哈希(例如,电子邮件地址+随机数)来验证确认 URL,那么即使黑客拦截了帐户 A 的确认电子邮件,也不会更接近您。访问 B、C 或 D。
无论如何,您可能希望在数据库中存储一些有关确认过程的状态信息:确认 URL 的有效时间可能应该有一个时间限制。
| 归档时间: |
|
| 查看次数: |
908 次 |
| 最近记录: |