Java web应用程序中用于加密的密钥存储
我正在构建一个web应用程序,到目前为止,它只收集和存储低灵敏度的数据,在接下来的几个月里,web应用程序将需要开始收集更敏感的数据,因此我决定需要确保数据在存储在数据库中时进行加密,以便即使数据库受到破坏也无法访问 我已经读了很多书,其中大部分都很有道理,但是有一点我想不通 规则-如果未加密的密钥 与数据一起存储,则数据的任何泄露都将很容易发生 把钥匙也放进去。未加密的密钥不应驻留在 与数据相同的计算机或群集 可能的解决方案:Java web应用程序中用于加密的密钥存储,java,spring,security,cryptography,Java,Spring,Security,Cryptography,我正在构建一个web应用程序,到目前为止,它只收集和存储低灵敏度的数据,在接下来的几个月里,web应用程序将需要开始收集更敏感的数据,因此我决定需要确保数据在存储在数据库中时进行加密,以便即使数据库受到破坏也无法访问 我已经读了很多书,其中大部分都很有道理,但是有一点我想不通 规则-如果未加密的密钥 与数据一起存储,则数据的任何泄露都将很容易发生 把钥匙也放进去。未加密的密钥不应驻留在 与数据相同的计算机或群集 可能的解决方案: 将未加密的密钥存储为root,通过环境变量将密钥加载到启动时作为权
root
,通过环境变量将密钥加载到启动时作为权限较低的用户运行的应用程序中,因此该密钥仅存储为root用户。--这不符合OWASP规则,因为密钥仍位于服务器上是否有建议或公认的解决方案来解决此问题 虽然问题与技术无关,但欢迎使用特定于技术的解决方案,我目前正在使用:
- 爪哇
- 弹簧
- 冬眠
- MySQL
- 森托斯