如何在iOS应用程序中存储危险的敏感信息,如秘密,密钥,令牌,加密密钥

当我们谈论保护iOS应用程序时,我们经常忘记保护最关键的敏感信息,如密钥,密钥,令牌,加密密钥.此信息存储在iOS二进制文件中.所以您的服务器端安全协议都不会帮助您.

有很多建议,我们不应该将这些信息存储在应用程序中,而是存储在服务器中,并通过SSL安全的Web服务调用获取.但这是不可能的所有应用程序.例如如果我的应用程序根本不需要Web服务.

在iOS应用中,我们有以下选项存储信息.

> UserDefault:不适合这种情况
> String Constant:不适用于这种情况.可以反向
工程师检索或使用strings command
>安全数据库:存储在安全和加密的数据库中.但是再次有责任保护数据库用户名和密码.
KeyChain:最好存储关键信息.但是,在安装应用程序之前,我们无法保存信息.要存储在钥匙扣中,我们首先需要打开应用程序,从一些源代码读取并存储在钥匙扣中.也不适合我们的情况.
>自定义哈希字符串常量:不要直接使用来自服务提供商(mixpanel,paypal)的秘密,而是使用自定义密钥的哈希版本的信息.这也不是完美的解决方案.但是在黑客攻击中增加复杂性.

请给这个问题发一些很棒的解决方案.

解决方法

如果您不想使用自己的后端,那么请使用Apple.您可以配置按需资源,并在Apple服务器上使用密钥,秘密保留数据文件.首次下载后,您可以将数据写入Keychain,这样就足够安全了.我猜测iOS和Apple服务器之间的网络也足够安全.

On-Demand Resources Essentials

Accessing and Downloading On-Demand Resources

以上是来客网为你收集整理的如何在iOS应用程序中存储危险的敏感信息,如秘密,密钥,令牌,加密密钥全部内容,希望文章能够帮你解决如何在iOS应用程序中存储危险的敏感信息,如秘密,密钥,令牌,加密密钥所遇到的程序开发问题。

如果觉得来客网网站内容还不错,欢迎将来客网网站推荐给程序员好友。