Encryption 什么是加密/解密密钥管理最佳实践

Encryption 什么是加密/解密密钥管理最佳实践,encryption,cryptography,Encryption,Cryptography,我正在开发一个基于web的应用程序,将被许多第三方组织使用 在世界上许多国家 基于浏览器的客户端将敏感数据馈送到共享后端数据库 所有国家/地区的所有组织都将在同一数据库中读取/写入数据 我希望对在浏览器中输入的数据进行加密,以确保其在传输过程中的安全 到后端数据库。e、 g.客户端加密 我还希望在数据库中静止时对数据进行加密 该应用程序将使用Java、Javascript(REACT.js)和Scala开发 后端数据库将是MongoDB 我找不到一个好的密钥管理示例/说明,例如如何正确生成密钥,

我正在开发一个基于web的应用程序,将被许多第三方组织使用 在世界上许多国家

基于浏览器的客户端将敏感数据馈送到共享后端数据库

所有国家/地区的所有组织都将在同一数据库中读取/写入数据

我希望对在浏览器中输入的数据进行加密,以确保其在传输过程中的安全 到后端数据库。e、 g.客户端加密

我还希望在数据库中静止时对数据进行加密

该应用程序将使用Java、Javascript(REACT.js)和Scala开发

后端数据库将是MongoDB

我找不到一个好的密钥管理示例/说明,例如如何正确生成密钥, 在其生命周期内分发、存储、替换、删除和恢复

我有以下选择/决定要做:-

加密的特点,例如三重加密、RSA、河豚、Twofish、AES等。。 对称/非对称密钥及其长度 我应该如何安全地将密钥分发给我的客户。 如何在后端服务器上保证密钥的安全

密钥是否应该具有生成、分发、存储、替换和删除的生命周期。 当我现在使用Key1或Key2时,如何解密使用Key0加密的数据

我应该如何为我的多个客户端存储多个密钥以使我能够加密/解密 每个客户端都有数据

  • 使用HTTPS和证书固定来保护传输中的数据

  • 使用AES进行加密。不要在新工作中使用TripleDES、RSA、Blowfish或Twofish

  • 使用一个

  • 使用未分发的长寿命密钥加密数据,使用可根据需要更改的长寿命密钥加密该密钥

  • 考虑到项目的范围,请一位密码领域专家设计安全性并审查代码


  • 这可能更适合你。非常感谢你的建议。正是我所需要的。