因此,我遇到一种情况,我们需要通过简单易用的应用(例如聊天机器人和离线钱包)为农村地区提供服务。但是,在后端,每个用户在注册时都会获得一个新的密钥对,该密钥对充当我们对提供服务的API的访问密钥。本质上,我们是中间人。
我一直在研究,但无法决定如何最好地存储那些私钥。几种方法;优点和缺点;我想如下
首先:密码
让密码=(secret_salt +用户聊天ID /电话号码)
将pvt密钥作为aes256(privatekey,cipher)存储在数据库中
优点:
快速
便宜
缺点:
第二:信封加密
使用aws KMS生成主密钥加密密钥
为每个用户生成一个数据加密密钥
使用数据加密密钥对用户的私有密钥进行加密,并将其存储在数据库中
使用主密钥加密密钥对数据加密密钥进行加密,并将其存储在数据库中
优点:
无法从云KMS获取私钥
慢一点
缺点:
我不确定第二个是否比第一个好,或者我是否应该完全考虑其他选择。
任何帮助将不胜感激。