0

我已经阅读了大量关于散列和加盐密码、做什么、不做什么等的信息。我看到的问题是:如果黑客要通过窃取散列密码列表的努力,他不是吗?那么可以访问所有受密码保护的数据吗?这就像将组合存储在保险箱中一样。闯入,窃取组合。如果我是小偷,我会拿走钱。

现在,一家大公司可能有一个单独的服务器,仅用于身份验证。然而,黑客想要的是数据,而不是密码。因此,如果两台服务器相同,我会闯入保存数据的那台。

我在这里遗漏了一些计算机安全的基本缺陷吗?是否有非社交方式在没有哈希文件的情况下破解密码?

感谢你的协助。

——戴夫

4

3 回答 3

4

原因之一是大多数用户对多个帐户使用相同的密码。未经哈希处理的密码意味着我在其他网站上的帐户可能会受到威胁——尤其是因为电子邮件是登录的常用字段。通过散列密码,如果一个站点的数据库被盗,我可以防止我的电子邮件帐户同时被盗。

于 2009-11-18T23:17:48.560 回答
4

您假设这样的人可以访问整个数据库。情况并非总是如此。他们可能偶然发现了哈希值意外暴露给用户的页面(因此无法访问数据库的其他部分),或者他们可能使用 SQL 注入以有限的方式提取某些数据(例如,他们可能已经知道您的 users 表被调用users,但不是您的 credit cards 表被调用lolcats)。

另一个安全考虑是您的内部 IT 人员。对数据库具有合法访问权限的开发人员通常仍然不应该以明文形式看到每个人的密码。

于 2009-11-18T23:23:07.903 回答
2

大多数用户将在多个系统中重复使用密码。如果攻击者闯入您的系统,您不希望他能够使用您的数据闯入您在不同网站上的用户帐户。

此外,如果您使用用户密码加密数据,并且只存储密码的哈希值,那么即使攻击者获取了您的整个数据库,他也无法做任何事情,除非他能够破解哈希值。请注意,这将完全不可能实现“忘记密码”功能,除非您有办法使用安全答案解密数据(使其成为第二个密码)

于 2009-11-18T23:24:20.310 回答