繁体   English   中英

在Web应用程序中隐藏非常敏感的凭据的正确方法

[英]Proper way of hiding very sensitive credentials in a web application

我目前正在开发Spring Boot Web应用程序。 它是一个REST api代理,使用一些非常敏感的凭据连接到另一个api。 目前,凭证是硬编码的,但显然不应该如此。 隐藏它们的正确方法是什么?

我已经考虑过使用诸如jasypt之类的库对它们进行编码,并将编码后的值放在属性文件中,并且密钥隐藏在某个地方,也许在系统变量中(但这只是混淆的另一层,不是吗?)

如何正确隐藏这些敏感凭据?

您可以使用服务器环境隐藏属性。 只需使用真实的凭据将您的application.properties存储在生产服务器上,并保护访问,因此只有您的应用程序才能访问属性文件。

根本的问题是,如果您曾经需要计算机程序的内存中以明文形式保存安全凭证,并且有些人具有对计算机的“ root”访问权限,那么这些人中就有一个可能获得对凭据的访问权限。

因此,您需要设计安全性,以便无需将凭据保存在服务器的内存中。

如果您真的很想解决此问题,则需要研究硬件安全模块 但是,HSM方法将变得复杂且昂贵,并且可能需要您重新构造身份验证协议。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM