保护应用程序沙箱

时间:2011-01-04 16:32:48

标签: iphone cocoa-touch ipad ios

所以我正在开发一个测试应用程序,可以将文件本地下载到应用程序文件存储沙箱中。其中一些文件可能很敏感,需要加以保护。我的应用程序有一个登录机制,所以如果你没有登录,你将无法访问这些文件,所以我主要关注的是能够嗅探内容(也许是在越狱设备上?)。

现在我想知道保护这些文件的最佳方法是单独加密每个文件吗?或者也许有一种方法来加密整个沙箱?或者它是默认加密的?有没有人以前做过这样的事情?

我为一长串问题道歉,我想在做出设计决定之前尽可能多地收集有关这方面的信息......

谢谢!

2 个答案:

答案 0 :(得分:5)

您可能希望了解iOS 4及更高版本中的File Protection机制。这提供了一种将文件标记为“受保护”的方法,因此它将始终以加密方式存储在磁盘上,只有在设备解锁时才能访问(使用密码)。

另见this question

答案 1 :(得分:1)

如果您使用OS 4.x定位iPhone 4,则可以使用操作系统加密整个沙盒。即使在那时,iOS也有一个“托管钥匙串”的概念,它基本上是密码的缓存,并且可能被攻入。据我所知,Mail是唯一一款加密所有内容的应用程序。

为了以这种方式加密您的应用程序数据,您只需设置NSFileProtectionKey中记录的相应NSFileManager。但是,如上所述,这并不完全安全。

您可以在文件管理器上尝试自定义类别,根据您自己的要求对文件进行加密,以便您拥有加密文档。选择是你的。