10

对于我的仅限 iOS 6+ 的应用程序,我想启用 iOS 提供的磁盘加密。

我阅读了本指南,并看到了 WWDC 2012(会议 714)的“保护用户数据”视频。但是,我无法让它工作。

以下是我遵循的步骤:

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

启用数据保护

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

Xcode 权利

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

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

4

2 回答 2

4

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

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

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

如果您重新启动手机,您将无法访问文件而无需解锁一次。

于 2013-02-28T18:59:52.823 回答
0

如果您希望这些文件在设备解锁时可用(+ 大约 10 秒的宽限期),请将文件保护设置为 NSFileProtectionComplete。请务必实现委托方法以了解数据何时会变得 [不] 可用。

于 2013-03-22T07:57:41.950 回答