启用iOS On-Disk加密

Dev*_*Dev 10 iphone encryption cocoa data-protection ios6

对于我的iOS 6 + -only应用程序,我想启用iOS提供的On-Disk Encryption.

我阅读了本指南,并看到了WWDC 2012的"保护用户数据"视频(会话714).但是,我无法使其发挥作用.

以下是我遵循的步骤:

1-iOS开发人员中心,我创建了一个新的App ID:

启用数据保护

2-在Xcode中,我添加了一个带有密钥的Entitlements文件:

Xcode权利

3-在设备上,我激活了密码锁.

如果我没错,那应该就是全部.我现在期望在设备(在我的情况下:iPhone 5)被锁定时,受保护的文件无法访问.但是......如果我使用iExplorer,即使设备被锁定,我也可以轻松访问我的应用创建的文件.但这正是我想要避免的.我忘记了什么吗?

jat*_*ben 4

您无需解锁设备即可访问文件的原因是已创建托管密钥包。Apple 的iOS 安全指南 (pdf)对此进行了解释对此进行了解释:

\n
\n

托管密钥包用于 iTunes 同步和移动设备管理 (MDM)。此密钥包允许 iTunes 备份和同步,而无需用户输入密码,并且允许 MDM 服务器远程清除用户\xe2\x80\x99s 密码。它存储在用于与 iTunes 同步的\xe2\x80\x99s 计算机上,或管理设备的 MDM 服务器上。

\n

托管密钥包改善了设备同步期间的用户体验,这可能需要访问所有类别的数据。当密码锁定的设备首次连接到 iTunes 时,系统会提示用户输入密码。然后设备创建一个托管密钥包并将其传递给主机。托管密钥包包含与设备上使用的完全相同的类密钥,并受新生成的密钥保护。此密钥用于解锁托管密钥包,并存储在设备上的“受保护直至首次用户身份验证”类中。这就是为什么重启后首次使用 iTunes 备份之前必须输入设备密码的原因。

\n
\n

如果您重新启动手机,则在未解锁一次的情况下将无法访问文件。

\n