iOS如何通过加密存储持久数据?

时间:2011-09-22 07:51:14

标签: iphone ios encryption

iPhone应用可以加密其存储的数据吗?因此即使是拥有越狱iOS设备的用户也无法访问该文件。例如,游戏中心可能与本地数据同步,您不希望用户操纵分数。您也不希望您的IAP被规避。

在写入设备之前,是否有一种简单的方法来加密数据?

也许我的问题不是很清楚。确实他们是:

  1. 当我使用以下内容时:[array writeToFile:path atomically:YES];有没有自动加密确保我的应用只能正确访问该文件?

  2. 如果没有,实现它的最简单方法是什么?

  3. PS:现在我发现NSData可以完成这项工作,但NSDataWritingFileProtectionComplete标志需要#if __IPHONE_4_0 <= __IPHONE_OS_VERSION_MAX_ALLOWED。我想知道在不支持的设备上会发生什么?

2 个答案:

答案 0 :(得分:2)

有关iOS加密的更多信息,请参阅@ GrahamLee对this question的回答以及security.stackexchange.com上其他iOS标记的问题。

基本摘要 - 仅基于iPhone控件:

  • 如果某人拥有该设备且未锁定,则可以访问所有数据
  • 如果某人拥有该设备并且已被锁定,他们可以获取大部分数据,并且可能全部(可能会有一些例外情况)

您可以在存储数据时对应用程序进行模糊处理和使用加密,但攻击者可以对加密代码进行反向工程以进行解密。

您需要弄清楚此类DRM技术的价值,并确定在这种情况下它们是否值得。

答案 1 :(得分:0)