启用iOS On-Disk加密
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了启用iOS On-Disk加密相关的知识,希望对你有一定的参考价值。
对于我的ios 6 + -only应用程序,我想启用iOS提供的On-Disk Encryption。
我读了this guide,我看到了WWDC 2012的“保护用户数据”视频(会话714)。但是,我无法使其发挥作用。
以下是我遵循的步骤:
1-在iOS Dev Center中,我创建了一个新的App ID:
2-在Xcode中,我添加了一个带有密钥的Entitlements文件:
3-在设备上,我激活了密码锁。
如果我没错,那应该就是全部。我现在期望在设备(在我的情况下:iPhone 5)被锁定时,受保护的文件无法访问。但是......如果我使用iExplorer,我可以轻松访问我的应用程序创建的文件,即使设备被锁定。但这正是我想要避免的。我忘记了什么吗?
您可以在不解锁设备的情况下访问文件的原因是已创建了托管密钥包。 Apple的iOS Security Guide (pdf)解释了这一点:
托管密钥包用于iTunes同步和移动设备管理(MDM)。这个密钥包允许iTunes备份和同步,而无需用户输入密码,它允许MDM服务器远程清除用户的密码。它存储在用于与iTunes同步的计算机上,或存储在管理设备的MDM服务器上。
Escrow密钥包可改善设备同步期间的用户体验,这可能需要访问所有类别的数据。当密码锁定设备首次连接到iTunes时,将提示用户输入密码。然后,设备会创建一个Escrow密钥包并将其传递给主机。托管密钥包包含与设备上使用的完全相同的密钥,受新生成密钥的保护。解锁托管密钥包需要此密钥,并在“受保护的直到第一个用户身份验证”类中存储在设备上。这就是在重启后第一次使用iTunes备份之前必须输入设备密码的原因。
如果重新启动手机,则无法在未解锁文件的情况下访问文件。
如果您希望仅在设备解锁时(+约10秒的宽限期)才能使用该文件,请将文件保护设置为NSFileProtectionComplete。确保实现委托方法以了解数据何时变为[un]可用。
以上是关于启用iOS On-Disk加密的主要内容,如果未能解决你的问题,请参考以下文章