我正在开发类似CMDB的应用程序,我必须存储我们的安全凭证(服务器用户名和密码......)。
我正在寻找安全存储它们的最佳方法:
我不是要求应用程序(https,...)或数据库(没有公共访问,......)安全问题本身,而只是关于存储方面(甚至不能在数据库中......?加密)文件或其他东西...):是否有可能阻止某人,甚至访问应用程序代码或数据库内容(最糟糕的情况),能够读取解密的凭据?
我知道我要求一些神奇的解决方案,但我想知道它是否存在; o)
答案 0 :(得分:2)
您要求做的一般情况是不可能的。所有类型的现代密码学都是mechanical advantage。也就是说,他们使用一个小秘密来保护更大的秘密。如果你不能保守小秘密,那就没有安全感了。如果您希望能够通过密码将密码密码提供给某人,那么您实际上是在向他们提供秘密 - 密码 - 他们需要访问相关项目。
这就是为什么存在联合身份系统(Kerberos / Active Directory /等)系统的原因 - 允许中央机器对用户进行身份验证而不向所述用户泄露秘密。但是,使用联合身份系统需要系统与登录系统和身份服务之间的合作。