我正在开发CMDB应用程序,我必须存储我们的安全证书(服务器用户名&密码,...)。如何将安全凭证存储在数据库中
我正在寻找最好的方式将它们安全地与这些约束存储:
- 大多数用户将无法访问到所有凭证(取决于用户角色)
- 我们不希望所有密码使用相同的密钥进行加密(已经尝试过:当用户离开公司时,改变密钥是一种痛苦......)
- 事实上,我们不希望任何私钥被硬编写在应用程序源代码中,或者甚至存储在任何地方(在我们以前的版本中,私钥存储在我们的耳朵之间......)
- 我们需要实现密码强度审计(即。从脚本中解析解密的密码)
- 不能有任何情况,我们不能再访问我们的凭证(丢失密钥,...)=>我们不希望未经授权的人看他们,但我们不想要将它们松开=>解决此约束可能会正常导出到物理更衣室...
我不是在询问应用程序(https,...)或数据库(没有公共访问权限,。 ..)安全关心他们自己,但只涉及存储方面(甚至可能不在数据库中......?加密文件或其他...):是否有可能阻止某人,甚至可以访问应用程序代码或数据库内容(最坏的情况),能够读取解密的凭据?
我知道,我问了一些神奇的解决方案,但我想知道,如果它的存在; O)
如果您的系统整体存在明显的安全漏洞,则凭证管理系统毫无价值。 – rook 2012-07-24 17:45:44
简单:用户使用*自己的*密码登录并根据ACL获取访问权限。 – 2012-07-24 18:30:53
@tc。当然,他们会(使用LDAP认证),但正如我所说的,我不要求应用程序方面的安全性,但存储方面。 – 2012-07-24 19:35:15