我需要在基于java的web应用程序(使用jasypt)中加密用户输入的数据,该数据库持久存储在MySQL数据库中,我希望能够定期更改加密密钥/密码短语(例如90天).该应用程序位于Web上的服务器上.
现有的已加密数据需要使用新密钥重新加密,但为了做到这一点,它当然需要旧密钥.
我希望没有单一的答案,但我想得到一些提示,指针和流行语来调查正确的方向.
首先,了解密钥轮换的目的非常重要.您的用例是加密静态数据.在这种情况下,密钥轮换的目的是在密钥泄露或加密数据集泄露并遭受强力解密攻击的情况下包含数据泄露.关键轮换的常见做法:
使密钥可用于系统:这通常使用密钥管理服务器来完成.该服务器的核心是根据参数向请求者分发(通常是对称的)密钥.服务器可以选择安全地存档生成的密钥以供以后检索,或者确保它们是基于固定功能生成的,保证在给定相同参数集的情况下生成相同的密钥.
您可以选择编写自己的服务器或购买/许可服务器.如果您需要满足特定的安全合规性准则并且需要检查合规性项目,则许可此组件可能是更好的选择.对于现成的解决方案,请查看StrongAuth或Porticor作为示例.
| 归档时间: |
|
| 查看次数: |
5157 次 |
| 最近记录: |