我们正在使用 Firebase 数据库规则来保护我们的数据库。我们还希望通过加密敏感的用户信息来增加额外的安全性。现在我们的加密方法是:
在用户将数据写入数据库之前使用公钥加密用户数据客户端在通过 GET 请求将数据传递给用户之前使用服务器上的私钥解密
我们的私钥是在服务器代码中硬编码的字符串。我们希望使用 KMS 的加密/解密方法来保护私钥,并且只在代码中存储加密的私钥。
加密后的私钥将存储在服务器代码中,并在运行时使用 KMS 解密,这样开发人员将无法访问私钥。
但是,我们不确定是否有更好的方法使用 Cloud KMS。KMS 可以同时用于客户端加密和服务器端解密吗?或者使用 KMS 增强数据库加密的最佳实践是什么?