哪个更好地在两个数据库中存储用户名和密码?

时间:2011-01-14 20:31:55

标签: security database-design

我很想知道每个人的想法。

这个想法是将单向加密用户名存储在由一个连接保护的一个数据库中,然后将另一个数据库中相应的单向加密密码存储在另一个数据库中。它们可能是单独的服务器,但我不认为这是必要的。结果是,如果攻击者获得了访问一个数据库而没有另一个数据库,那么这些信息将毫无用处。 然后,使用该信息的应用程序将仅检查匹配的散列用户凭据以及匹配的索引列。

我意识到可能存在一些性能问题,但我的想法是它们会很小。对我来说,这将是用户信息最安全的。

3 个答案:

答案 0 :(得分:1)

我将密码存储在一个单独的受限数据库中。为了增加您的原因,用户,组和其他一些设置列表可以是公开的,而密码(即使加密)也应该得到很好的保护。例如,类UNIX系统通常存储用户特定的信息(例如用户ID,组ID,shell等)。在公共场所。但是,密码的MD5哈希值对每个人都是隐藏的。在它们曾经可用之前,这些时候存在很大的安全风险,因为现在可以通过使用暴力来解码MD5。

答案 1 :(得分:0)

从我有限的知识...我会猜测任何事情后,用户名和密码都是矫枉过正的,你从那里开始就很好。

答案 2 :(得分:0)

有趣的概念,虽然我使用的每个系统都在一个模式中处理,甚至同一个表。真的有可能,但不像你提到的那样必要。