Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/98.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Security iPhone应用程序和安全性?_Security_Ios_Ios4 - Fatal编程技术网

Security iPhone应用程序和安全性?

Security iPhone应用程序和安全性?,security,ios,ios4,Security,Ios,Ios4,如何将密钥安全地插入iPhone应用程序 我有一个客户端应用程序使用的API密钥,不希望任何人看到它,只有应用程序能够读取它 1) 如何将其安全地存储在应用程序中?将其存储到变量中?足够好吗 2) 如果有人解密我的应用程序会发生什么?(可能吗?考虑将钥匙存储在iPhone的钥匙链存储库中。请在此处查看苹果提供的钥匙链示例应用程序: 希望这有帮助。祝你好运。这里有很多问题,让我一次回答一个: 如何将密钥安全地插入iPhone应用程序 我假设您正试图从应用程序的用户那里保护它。这是不可能的,除非您

如何将密钥安全地插入iPhone应用程序

我有一个客户端应用程序使用的API密钥,不希望任何人看到它,只有应用程序能够读取它

1) 如何将其安全地存储在应用程序中?将其存储到变量中?足够好吗


2) 如果有人解密我的应用程序会发生什么?(可能吗?

考虑将钥匙存储在iPhone的钥匙链存储库中。请在此处查看苹果提供的钥匙链示例应用程序:


希望这有帮助。祝你好运。

这里有很多问题,让我一次回答一个:

如何将密钥安全地插入iPhone应用程序

我假设您正试图从应用程序的用户那里保护它。这是不可能的,除非您使用的是一个平台,即一个可以信任的平台,服从其所有者的命令(有时出于这个原因而被称为平台)。据我所知,iPhone并不是这样一个平台

我有一个客户端应用程序使用的API密钥,不希望任何人看到它,只有应用程序能够读取它

如果您的应用程序可以读取它,那么运行应用程序的平台的所有者也可以读取它。(例外情况是可信计算平台——见上文。)

如何将其安全地存储在应用程序中

你不能

将其存储到变量中

也许吧

足够好吗

没有

如果有人解密我的应用程序会发生什么

然后他拿到你的钥匙

可能吗

如果你不想让你的用户知道你的密钥,那么首先不要把它给他们。设置应用程序将连接到的代理服务器,并在那里保存您的机密


有一句老话,每一个秘密都必须被当作公共知识来对待,除非只有两个人知道。这也适用于软件。

我同意格雷格·汤普森(Greg Thompson)的观点,苹果公司建议使用钥匙链来存储凭证等安全数据

另一方面,网络上有几篇文章说钥匙链不再是“安全地带”,因为有些人能够解码它的数据(而且相当快)

在iOs 4.0及更高版本中,对安全性进行了一些改进,这就是所谓的数据保护(你可以像谷歌一样搜索它:iOs数据保护)。。如果您对本主题感兴趣,您会发现第209课时-保护WWDC 2010课时视频中的应用程序数据非常有趣。。。您可以通过iTunes商店-iTunes U免费获取此视频


希望这有帮助

钥匙链用于存储用户的数据,并且用户可以访问。任何应用程序数据都必须包含在应用程序源代码或文件中。Keychain用于存储用户数据,并且用户可以访问。任何应用程序数据都必须包含在应用程序源代码或文件中