我目前正在使用spring-boot开发一个可以访问数据库的后端应用程序。数据库的登录凭据存储在名为application.properties的文件中,这只是spring-boot的示例,但这必须与我假定的其他技术类似。
我想知道这是否是存储敏感凭证的最新技术,或者是否存在另一种(更好,更安全)的方式来存储此类信息?存在什么样的技术来应对这些挑战?
您当然不想将这些配置文件推送到任何版本控制存储库中,但是这样存储它“足够安全”吗? 有人可能会争辩说,如果有人可以访问您的后端应用程序的代码,那么您还有其他问题,但我仍然很好奇。
答案 0 :(得分:0)
您使用的参数正确。假设一种选择是加密。即使您对凭据进行加密,应用程序也将使用私钥进行解密,对吗?而且,如果服务器受到攻击,攻击者可以读取源代码,找到私钥并解密凭据。
使其更安全的一种方法是使用请求来收集凭据。可以通过REST请求来完成(该API可以通过请求向您提供应用程序的凭据)。
最安全的方法是使用密码库。 This post对此有很好的内容。