【问题标题】:Enable iOS On-Disk Encryption启用 iOS 磁盘加密
【发布时间】:2013-02-28 15:26:18
【问题描述】:

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

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

以下是我遵循的步骤:

1-iOS Dev Center中,我创建了一个新的App ID:

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

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

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

【问题讨论】:

标签: iphone cocoa encryption ios6 data-protection


【解决方案1】:

您无需解锁设备即可访问文件的原因是已创建托管密钥包。这在 Apple 的 iOS Security Guide (pdf) 中进行了解释:

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

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

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

【讨论】:

【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 2013-04-14
    • 1970-01-01
    • 2021-06-13
    • 2022-01-20
    • 2014-12-12
    • 1970-01-01
    • 2019-02-25
    • 2011-07-29
    • 2021-12-11
    相关资源
    最近更新 更多