是否可以使用已知的盐攻击用户密码

You*_*nse 18 php security passwords salt

我被告知电子邮件是一个糟糕的盐,因为它不是唯一的并且与用户连接.
如果用户在2个站点上使用相同的密码,则会有相同的哈希值.

那么,它有什么问题?什么是攻击情形?
假设我们有哈希和盐.因此,其他站点在其数据库中具有相同的哈希值.我们如何在其他网站上对此用户造成任何伤害?我们可以吗?

我没有看到任何可能性,但我不是安全方面的专家,所以,我当然希望听到那些具有实际和具体答案的人.

我不会打破任何事情.我在这个问题的背景下问这个问题:是电子邮件还是(注册时间戳)好盐?

请一定和实际的答案.

Mic*_*rdt 28

盐的重点不是未知,它是为了防止攻击者在站点的所有用户(甚至许多站点的所有用户)上分摊暴力或字典攻击的成本.

因此,使用像电子邮件地址这样的非随机盐的问题在于,它会向攻击者显示用户在多个站点上使用相同的密码,因此如果通过强力攻击或者破解,则可以立即访问多个帐户字典攻击.对于电子邮件地址(以及每个用户唯一的一切),这是一个相当假设的问题,因为它假定攻击者拥有多个站点的帐户数据,这些站点在用户中有相当大的重叠.

使用电子邮件地址的另一个问题是用户希望更改它 - 如果您将其用作盐,除非您将其存储在单独的盐列中,或者要求人们始终将其密码与电子邮件一起更改,否则将无法进行更改.

  • @col.Shrapnel:不,我说的是,相同的哈希显示攻击者哪个密码*肯定*只能获得两个(或更多)帐户的访问权限,只能进行一次暴力攻击.当然,如果我们假设*大多数*用户对多个站点使用相同的密码,这不是非常有价值的信息. (6认同)

小智 0

在安全性方面并不能真正帮助你,但是如果你看看 vBulletin,每个用户都会得到自己生成的盐,他们使用盐来加密密码,如下所示:

$password = md5(md5($clear_password) + $salt);
Run Code Online (Sandbox Code Playgroud)

因此,每个用户和运行 vBulletin 的任何站点的盐都会不同(至少很有可能会不同),因此每个站点存储的密码也会不同。

这不是你所要求的,而是值得冥想的东西:)