我已经阅读了大量关于哈希和腌制密码的信息,不管怎样,不需要等等。我看到的问题是:如果黑客要经历窃取密码列表的努力,那么然后他可以访问所有受密码保护的数据吗?这就像将组合存放在保险箱中, in 保险箱。闯入并窃取组合。如果我是小偷,我会拿钱。
现在一家大公司可能只有一个单独的服务器用于身份验证。但是,黑客需要数据,而不是密码。因此,如果两个服务器都相同,我会闯入保存数据的服务器。
我在这里缺少一些计算机安全的基本缺陷吗?是否有非社交方法在没有哈希文件的情况下破解密码?
感谢您的协助。
- 戴夫
答案 0 :(得分:4)
一个原因是大多数用户拥有多个帐户的相同密码。未加密的密码意味着我在其他网站上的帐户可能会受到损害 - 特别是因为电子邮件是登录的常见字段。通过散列密码,如果某个网站的数据库被盗,我就可以防止我的电子邮件帐户被同时泄露。
答案 1 :(得分:4)
您假设此人可以访问整个数据库。情况并非总是如此。他们可能偶然发现了一个页面,其中哈希值意外暴露给用户(因此无法访问数据库的其他部分),或者他们可能使用SQL注入以某种有限的方式提取某些数据(例如,他们可能已经发现您的用户表名为users
,但不是您的信用卡表名为lolcats
)。
另一个安全考虑因素是您的内部IT人员。对数据库具有合法访问权限的开发人员通常不应该以纯文本形式查看每个人的密码。
答案 2 :(得分:2)
大多数用户将在多个系统中重复使用密码。如果攻击者闯入您的系统,您不希望他能够使用您的数据侵入不同网站上的用户帐户。
此外,如果您使用用户的密码加密数据,并且只存储密码的哈希值,那么攻击者即使获得整个数据库也无法做任何事情,除非他能破解哈希值。请注意,这将使完全无法实现“忘记密码”功能,除非您有办法使用安全答案解密数据(使其实际成为第二个密码)