Hash 如果有人获得了salt密钥的访问权限,那么salt密码是否毫无意义?非服务器盐渍?
听到大科技公司最近发生的所有黑客事件,我不禁怀疑他们对密码存储的使用 我知道salting+hashing通常被认为是安全的,但我见过的salting示例都将salt密钥硬编码到密码脚本中,密码脚本通常存储在同一台服务器上 那么,一开始对用户密码进行散列,将散列传递给“salting服务器”或场外存储的某个函数,然后传回该散列,这是合乎逻辑的解决方案吗 我的看法是,如果入侵者获得对包含存储密码的服务器或数据库的访问权,他们将无法立即访问salt密钥。否——即使攻击者知道salt仍然有效 salt的思想是,它使得对大量用户进行字典攻击变得更加困难。在没有盐的情况下,攻击者会对字典中的所有单词进行散列,并查看哪些单词与用户的散列单词相匹配。使用salt时,他必须对字典中的每个单词进行多次散列(每个可能的散列值一次),以确保有一个适合每个用户的单词 乘以几千(或者可能是几百万,取决于你使用的盐的大小)会增加散列所有值的时间,存储需要存储结果——这(你希望)是不切实际的 然而,我应该补充一点,在许多(大多数?)情况下,非常大的盐并不能真正增加很多安全性。问题是,如果您使用(比如)24位salt(大约1600万个可能值),但只有(比如)几百个用户,攻击者可以提前收集您实际使用的salt值,然后仅对这些值而不是全部(比如)1600万个潜在值进行字典攻击。简言之,你的24位盐只会比8位盐增加一点点难度Hash 如果有人获得了salt密钥的访问权限,那么salt密码是否毫无意义?非服务器盐渍?,hash,passwords,salt,Hash,Passwords,Salt,听到大科技公司最近发生的所有黑客事件,我不禁怀疑他们对密码存储的使用 我知道salting+hashing通常被认为是安全的,但我见过的salting示例都将salt密钥硬编码到密码脚本中,密码脚本通常存储在同一台服务器上 那么,一开始对用户密码进行散列,将散列传递给“salting服务器”或场外存储的某个函数,然后传回该散列,这是合乎逻辑的解决方案吗 我的看法是,如果入侵者获得对包含存储密码的服务器或数据库的访问权,他们将无法立即访问salt密钥。否——即使攻击者知道salt仍然有效 salt
OTOH,对于大型服务器(谷歌、Facebook等)来说,情况完全不同——大型salt变得非常有益。即使入侵者知道salt,salt也是有用的 如果密码没有被腌制,就可以使用广泛可用的预计算来快速攻击你的密码 如果您的密码表是salt表,则很难预计算彩虹表-为每个可能的salt表创建彩虹表是不切实际的
如果您对每个密码条目使用不同的随机salt,并将其以明文形式放在其旁边,则入侵者很难攻击您的密码,除非进行暴力攻击。salt密码保护密码免受攻击者拥有哈希密码列表的攻击。有一些常见的散列算法,黑客可以使用这些算法的表来查找散列并检索密码。要想让它起作用,黑客必须侵入密码存储并窃取哈希值 如果密码是salt,则攻击者必须使用哈希算法和salt重新生成其哈希表。根据散列算法,这可能需要一些时间。为了加快速度,黑客还使用最常用的密码和字典单词列表。盐的作用是减缓攻击者的速度 最好的方法是为每个密码使用不同的salt,使其长且随机,并且可以将salt存储在每个密码旁边。这确实减慢了攻击者的速度,因为他们必须为每个密码、每个常用密码和字典单词的组合运行哈希表生成。这将使攻击者无法推断出强密码
我读了一篇关于这方面的好文章,现在找不到了。但谷歌搜索“密码盐”会得到一些好的结果。看一看。我想指出,您用硬编码salt描述的方案实际上不是salt,而是一把钥匙或一个胡椒。盐和胡椒可以解决不同的问题 应为每个密码随机生成一个salt,并可与哈希密码一起存储在数据库中。它可以以纯文本形式存储,即使攻击者知道它的用途,也能完全满足它的需要 胡椒粉是一种密钥,将用于所有密码。它不会存储在数据库中,而是应该存放在安全的地方。如果攻击者知道胡椒,它就没用了 我试着用一个小的例子来解释这些区别,也许你想看看
有道理。对于攻击者来说,似乎付出了太多的努力(除非它是一个具有重大价值或重要性的站点) 所有的网站无论大小,重要与否,都应该把密码哈希作为高度的重要性 只要每个散列都有自己的大随机salt,那么是的,它确实变得不太可行,如果每个散列都使用静态salt,那么您可以使用Rainbow表来清除使用password1的用户散列
使用一个好的散列算法也很重要(使用MD5或SHA1几乎就像现在在多gpu设置中使用明文一样),如果不使用scrypt,则使用bcrypt;如果必须使用PBKDF2,则使用PBKDF2(需要非常高的轮数)谢谢。这正是我想知道的,有道理。对于攻击者来说,似乎付出了太多的努力(除非它是一个具有重大价值或重要性的站点)。谢谢你的快速回复。