用于数据保护的密钥包 您所在的位置:网站首页 icloud钥匙串丢失 用于数据保护的密钥包

用于数据保护的密钥包

2024-07-11 22:59| 来源: 网络整理| 查看: 265

用于数据保护的密钥包

在 iOS、iPadOS、Apple tvOS 和 watchOS 上,文件和钥匙串数据保护类的密钥通过密钥包进行收集和管理。这些操作系统使用以下密钥包:用户、设备、备份、托管和 iCloud 云备份。

用户密钥包

用户密钥包是设备常规操作中使用的封装类密钥的储存位置。例如,输入密码后,NSFileProtectionComplete 会从用户密钥包中载入并解封。它是储存在“无保护”类中的二进制属性列表 (.plist) 文件。

对于搭载 A9 之前的 SoC 的设备,该 .plist 文件的内容通过保存在可擦除存储器中的密钥加密。为了给密钥包提供前向安全性,用户每次更改密码时,系统都会擦除并重新生成此密钥。

对于搭载 A9 或后续型号 SoC 的设备,该 .plist 文件包含一个密钥,表示密钥包储存在受反重放值(由安全隔区控制)保护的有锁储存库中。

安全隔区管理用户密钥包并且可用于查询设备的锁定状态。仅当用户密钥包中的所有类密钥均可访问且成功解封时,它才会报告设备已解锁。

设备密钥包

设备密钥包用来储存用于涉及设备特定操作数据的封装类密钥。配置为共用的 iPadOS 设备有时需要在用户登录前访问凭证;因此,需要一个不受用户密码保护的密钥包。

iOS 和 iPadOS 不支持对用户独有的文件系统内容进行单独加密,这就意味着系统使用来自设备密钥包的类密钥,对文件独有密钥进行封装。而钥匙串则使用来自用户密钥包中的类密钥来保护用户钥匙串中的项目。在配置为单用户使用(默认配置)的 iPhone 和 iPad 设备中,设备密钥包和用户密钥包是同一个,并受用户的密码保护。

备份密钥包

备份密钥包在“访达”(macOS 10.15 或更高版本)或 iTunes(macOS 10.14 或更低版本)进行加密备份时创建,并储存在设备被备份到的电脑中。新密钥包是通过一组新密钥创建的,备份的数据会使用这些新密钥重新加密。如前所述,不可迁移钥匙串项仍使用 UID 派生密钥封装,以使其可以恢复到最初备份它们的设备,但在其他设备上不可访问。

密钥包通过设置的密码加以保护,且加密过程会运行一千万次 PBKDF2 密钥派生函数的迭代。虽然迭代次数非常多,但是密钥包并未捆绑特定设备,因此在理论上,尝试在多台电脑上对备份密钥包并行展开暴力破解是可行的。而安全性足够高的密码可以减小这一威胁。

如果用户选择不加密备份,那么不管备份文件属于哪一种数据保护类,备份文件都不加密,但钥匙串仍使用 UID 派生密钥获得保护。这就是只有设置备份密码才能将钥匙串项迁移到新设备的原因。

托管密钥包

托管密钥包用于通过 USB 与“访达”(macOS 10.15 或更高版本)或 iTunes(macOS 10.14 或更低版本)进行同步,还用于移动设备管理 (MDM)。此密钥包允许“访达”或 iTunes 执行备份和同步,而无需用户输入密码,它还允许 MDM 解决方案远程清除用户密码。它储存在用于与“访达”或 iTunes 进行同步的电脑上,或者在远程管理设备的 MDM 解决方案上。

托管密钥包改善了设备同步过程中的用户体验,期间可能需要访问所有类别的数据。当使用密码锁定的设备首次连接到“访达”或 iTunes 时,会提示用户输入密码。然后设备创建托管密钥包,其中包含的类密钥与设备上使用的完全相同,该密钥包由新生成的密钥进行保护。托管密钥包及用于保护它的密钥划分到设备和主机或服务器上,其数据以“首次用户认证前保护”类储存在设备上。这就是重新启动后,用户首次使用“访达”或 iTunes 进行备份之前必须输入设备密码的原因。

在无线 (OTA) 软件更新的情况下,开始更新时系统会提示用户输入密码。这被用来安全地创建一个一次性解锁令牌,该令牌在更新后解锁用户密钥包。此令牌只有在输入用户密码后才能生成,且如果更改了用户密码,则任何此前生成的令牌都将失效。

一次性解锁令牌用于有人值守式或无人值守式的软件更新安装。安全隔区中单调计数器的当前值、密钥包的 UUID 和安全隔区 UID 会生成一个密钥,用来加密一次性解锁令牌。

在 A9(或后续型号)SoC 上,一次性解锁令牌不再依赖计数器或可擦除存储器,而是受到由安全隔区控制的反重放值的保护。

对于有人值守式的软件更新,一次性解锁令牌会在 20 分钟后过期。在 iOS 13 和 iPadOS 13.1 或更高版本中,令牌储存在由安全隔区保护的有锁储存库中。在 iOS 13 之前的版本中,此令牌从安全隔区导出,并被写入可擦除存储器或者受安全隔区反重放机制保护。如果设备未在 20 分钟内重新启动,策略定时器会使计数器增值。

系统检测到可用更新且满足以下条件时,会进行无人值守式软件更新:

iOS 12 或更高版本中配置了自动更新。

用户收到更新通知时选取了“稍后安装”。

用户输入密码后会生成一次性解锁令牌,可在安全隔区中保持有效长达 8 小时。如果还未进行更新,此一次性解锁令牌会在每次锁定时销毁,并在下一次解锁时重新创建。每一次解锁都会使 8 小时的时间窗口重新开始。8 小时后,策略定时器会使一次性解锁令牌失效。

iCloud 云备份密钥包

iCloud 云备份密钥包与备份密钥包类似。该密钥包中的所有类密钥都是非对称的(与“未打开文件的保护”数据保护类一样,使用 Curve25519)。非对称密钥包还可用来保护用于 iCloud 钥匙串恢复的备份钥匙串。

发布日期:2024 年 5 月 7 日另请参阅钥匙串数据保护iCloud 钥匙串安全恢复数据保护类iCloud 云备份安全性

下载本手册的 PDF 版



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有