我需要知道是否有一种方法可以加密我的应用程序和第三方应用程序的数据?这意味着我的.DOC文件永远不会以未加密的形式存储在设备上. (这里的动机是我的应用程序下载包含敏感信息的文档,我希望在iPad上读取这些文档,但需要使用磁盘加密保护层.)
我正在阅读Advanced App Tricks @ apple.com,“使用磁盘加密保护数据”部分,但无法找到任何相关信息.
解决方法 首先,让我们将硬件加密方面排除在外:iOS支持磁盘上所有内容的硬件加密.它使用与您的设备密码无关的密钥加密.此功能允许快速擦除设备的数据(通过覆盖设备加密密钥).但是,它并不能真正保护您的数据不会被熟练的闯入者检索到,因为他们可以获取您的设备;越狱将绕过这个.
通过Data Protection API进行每文件加密:可以告诉iOS,通过在其上设置标志来加密某些文件.然后使用设备密码加密它们(如果已设置).注意:如果用户未设置密码,则不会应用此额外保护!因此,从技术上讲,这种保护是您无法控制的,除非您的用户在执行密码锁定策略的组织中工作(使用iPhone配置实用程序或类似工具).
使用CommonCrypto进行加密:您可以使用此类加密API手动执行自己的加密/解密.请注意,如果您不知道自己在做什么,很容易滥用此类API并最终导致加密不是很安全.但是,有一些包装器如RNCryptor使得滥用这些API变得更加困难.
保护第三方应用使用的文件:您能说明您的应用如何与第三方应用共享文件吗?
更多信息:
> http://support.apple.com/kb/HT4175
> http://www.ilounge.com/index.php/articles/comments/ios-encryption-and-data-protection/
> http://developer.apple.com/library/ios/#documentation/security/Conceptual/cryptoservices/Introduction/Introduction.html#//apple_ref/doc/uid/TP40011172-CH1-SW1
> https://github.com/rnapier/RNCryptor
更新
在使用UIdocumentInteractionController时:
一旦您使用此方法将文档移交给另一个应用程序,数据就会无法掌握,第三方应用程序可以随意使用它.如果您对此感到满意,并且主要关注的是将文档以受保护的方式存储在您的设备上,那么有几种可能性:
>依靠Data Protection API来保护磁盘上的文档(用户必须设置密码,并且需要告诉iOS要保护特定文件才能使其工作)
>使用here中提到的NSURLProtocol技巧即时解密磁盘上的加密文件
以上是内存溢出为你收集整理的objective-c – iPad On Disk Encryption是否仅影响一个应用程序或整个系统全部内容,希望文章能够帮你解决objective-c – iPad On Disk Encryption是否仅影响一个应用程序或整个系统所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)