如何在移动应用程序中进行客户端加密时以安全的方式存储我的加密密钥?

Posted

技术标签:

【中文标题】如何在移动应用程序中进行客户端加密时以安全的方式存储我的加密密钥?【英文标题】:How to store my encryption key in secure way while doing client side encryption in mobile app? 【发布时间】:2017-02-16 12:44:19 【问题描述】:

我想在移动应用程序中进行客户端加密,加密后的数据将保存在服务器中。当用户登录另一台设备时,数据也应该被解密。 有没有其他方法可以安全地存储“密钥”,用于加密和解密我的服务器以外的数据?通常我们将加密“密钥”存储在服务器中,但我需要比我的服务器更安全的地方?

我们可以为此使用 AWS KMS 等解决方案吗?

【问题讨论】:

【参考方案1】:

您永远不能将(可能是对称的)密钥存储在设备上,而是使用Password-Based Key Derivation Function 确定性地在每个会话中重新生成密钥

【讨论】:

以上是关于如何在移动应用程序中进行客户端加密时以安全的方式存储我的加密密钥?的主要内容,如果未能解决你的问题,请参考以下文章

如何修改form表单中的input值并加密

移动端安全 - 安卓Android - 漏洞修复方案整理

HTTPS 加密方式

数据库怎么加密?

BitLocker 如何使用

如何在显示旋转时以编程方式更改布局约束