除了可能是腐败的员工,或者是一名黑客从example.com的SAAS上记下电子邮件和密码,然后尝试使用他们的example.com密码登录每个客户的电子邮件帐户(如果他们喜欢的话)我可以多次使用相同的密码),这两种情况都可能发生,还有其他原因可以加密存储密码吗?
答案 0 :(得分:4)
这些原因不够吗?
加密任何类型的信息的唯一原因是那些没有被授权看到它的人将无法获得它。密码包括在内。
加密密码的一个问题是,如果有加密密钥,他们可以解密密码而不会出现问题。这就是为什么更好的解决方案是存储(盐渍)密码哈希。也有方法(例如彩虹表),但它们更安全。
很多时候,黑客进入系统并窃取了用户名和密码,而且你说得对,许多人重复使用相同的密码。
答案 1 :(得分:1)
实际上,您刚才描述的是一个漏洞。恶意内幕是对你的安全的严重威胁,你认识到它很酷。没有人应该知道你的密码,如果任何人发现你的密码,你必须改变它。
关于如何存储密码有非常明确的指导原则,它们由CWE-255父ID进行布局: http://cwe.mitre.org/data/definitions/255.html
在CWE-255下面是CWE-256,它明确指出以明文形式存储密码是一个漏洞。下一个是CWE-257,它指出以“可恢复格式”存储密码是一个漏洞,因此如果您使用“加密”,恶意内部人员可能会“解密”您的密码并攻击您。此外,通过不使用哈希,您使Web应用程序更容易受到SQL注入攻击。常见的SQL注入攻击是从数据库读取密码哈希,如果您可以解密密码,那么黑客可以立即登录。哈希背后的想法是强制它们打破它,这会减慢攻击者的速度。
对于存储密码,sha2系列目前是最佳解决方案。我喜欢sha256,虽然sha512也属于同一个家族,如果你更偏执,可以使用。
答案 2 :(得分:1)
两个答案都很棒,但是(mt)Media Temple不存储纯文本密码。在2009年11月和12月,进行了重大的安全检修。所有密码都存储了哈希值。员工无法看到客户密码,并且自那时起使用短期PIN或密码匹配执行身份验证。
为了您自己的安全,保留多个密码应该是标准做法。虽然许多人在多次登录时都享受单一密码的便利,但绝对不是推荐的方法。与每次登录相关的密码短语将是一种更安全的在线保护帐户的方法。此外,鼓励定期更改密码。我们都忙着,为了方便起见,往往会让个人安全失效。
汉达 支持主管 (mt) Media Temple, Inc