我正在开发一个基于网络的应用程序,它将被世界上许多国家的许多第三方组织所使用。
基于浏览器的客户端将向共享后端数据库提供敏感数据。
所有国家的所有组织都将在同一个数据库中读取/写入数据。
我希望加密在浏览器中输入的数据,使其在传输到后端数据库时安全。客户端加密。
我还希望在我的数据库中休息时加密数据。
这个应用程序将使用Java、Javascript (REACT.js)和Scala开发。
后端数据库将是MongoDB。
我找不到一个很好的密钥管理示例/描述,例如,密钥是如何正确生成、分发、存储、替换、删除和恢复的。
我有下列选择/决定:
加密的味道,如TripleDES,RSA,Blowfish,Twofish,AES等。密钥对称/非对称及其长度如何安全地分配给我的客户端。如何使我的钥匙在我的后端服务器上安全。
如果密钥应该具有生成、分发、存储、替换、删除的生命周期。当我现在使用Key0或Key2时,如何解密用Key1加密的数据?
如何为多个客户端存储多个密钥,使我能够加密/解密每个客户端数据。
发布于 2016-12-06 12:29:45
https://stackoverflow.com/questions/40993782
复制相似问题