
针对 Apple 设备的管理式设备证明
管理式设备证明在 iOS 16、iPadOS 16、macOS 14、Apple tvOS 16、visionOS 1.1、watchOS 9 或更高版本中可用,且使用安全隔区提供有关设备身份及其安全态势的加密保障。iPad、iPhone、Apple TV 设备需要搭载 A11 仿生或后续型号芯片,Mac 电脑则只有搭载 Apple 芯片才受支持。管理式设备证明有助于防范以下威胁:
遭入侵的设备谎报属性
遭入侵的设备提供过期证明
遭入侵的设备发送其他设备的标识符
从异常设备上提取私钥使用
攻击者劫持证书请求以骗取证书颁发机构 (CA) 为其签发证书
通过管理式设备证明,设备可请求获得来自 Apple 证明服务器的证明,Apple 证明服务器会返回由叶证书和中间证书(植根于 Apple 企业证明根证书颁发机构)组成的数据数组。视设备类型而定,叶证书可能包含下表所示的特定属性。
OID 和值 | 支持的最低操作系统版本 | 描述 | |||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
1.2.840.113635.100.8.9.1 序列号 | iOS 16 iPadOS 16 macOS 14 Apple tvOS 16 visionOS 1.1 watchOS 9 | 代表设备序列号,可用于识别设备。为保护用户隐私,通过用户注册使用管理式设备证明时将不包括此值。 | |||||||||
1.2.840.113635.100.8.9.2 UDID | iOS 16 iPadOS 16 macOS 14 Apple tvOS 16 visionOS 1.1 watchOS 9 | 代表唯一的硬件 ID,可用于识别设备。在 Mac 上,UDID 与设备的预置 UDID 相匹配。为保护用户隐私,通过用户注册使用管理式设备证明时将不包括此值。 | |||||||||
1.2.840.113635.100.8.10.2 sepOS 版本 | iOS 16 iPadOS 16 macOS 14 Apple tvOS 16 visionOS 1.1 watchOS 9 | 代表安全隔区固件版本。 | |||||||||
1.2.840.113635.100.8.11.1 动态刷新码 | iOS 16 iPadOS 16 macOS 14 Apple tvOS 16 visionOS 1.1 watchOS 9 | 唯一且无法预知的验证码,可识别特定证明。这表示证明是在验证码创建之后生成。 | |||||||||
1.2.840.113635.100.8.13.1 SIP 状态 | macOS 14 | 代表搭载 Apple 芯片的 Mac 上的 SIP 启用状态。 | |||||||||
1.2.840.113635.100.8.13.2 安全启动状态 | macOS 14 | 代表搭载 Apple 芯片的 Mac 上的已选安全启动配置。 | |||||||||
1.2.840.113635.100.8.13.3 允许的第三方内核扩展 | macOS 14 | 代表搭载 Apple 芯片的 Mac 上是否允许第三方内核扩展。 | |||||||||
1.2.840.113635.100.8.10.3 LLB 版本 | iOS 16 iPadOS 16 macOS 14 Apple tvOS 16 visionOS 1.1 watchOS 9 | 代表底层引导载入程序版本。 | |||||||||
1.2.840.113635.100.8.10.1 操作系统版本 | iOS 16 iPadOS 16 macOS 14 Apple tvOS 16 visionOS 1.1 watchOS 9 | 代表操作系统和 iBoot 版本。 | |||||||||
1.2.840.113635.100.8.9.4 软件更新设备 ID | iOS 16 iPadOS 16 macOS 14 Apple tvOS 16 visionOS 1.1 watchOS 9 | 证明 | |||||||||
证明请求由设备管理服务发送的 DeviceInformation 请求发起,或通过安装 ACME 配置发起。在这两种情况中,设备会从设备管理服务或 ACME 解决方案接收动态刷新码。使用 DeviceInformation 证明时,动态刷新码是请求中所指定 DeviceAttestationNonce 的值。使用 ACME 证明时,动态刷新码是 device-attest-01 质询中令牌的 SHA-256 哈希值。生成的值作为属性包含于叶证书中,并且允许设备管理服务或 ACME 解决方案验证证明是否与请求匹配。
一旦收到证明,后端服务需要仔细执行验证检查。此类检查包括确保叶证书由 Apple 企业证明根证书颁发机构签发,将动态刷新码的哈希值与预期值比对,以及检查证明中的其他属性。
视组织的部署机型而定,管理式设备证明可为时新的安全部署提供重要的基础,并可通过不同方式使用:
使用 ACME 签发的证书认证从客户端到设备管理服务的连接,并利用
DeviceInformation证明来持续验证设备属性。验证设备的身份及其安全态势,并使 ACME 解决方案在签发证书前执行信任评估。这样可确保只有满足所需标准的设备才会收到证书。
将证明中的设备属性嵌入到 ACME 证书,并在信赖方处执行信任评估。
硬件绑定密钥
作为使用 ACME 协议签发证书中的一环,设备可能会被要求提供证明,这也会使得关联密钥对受安全隔区保护,从而让设备受益于其强大的硬件安全并有助于防止私钥导出。
若要创建硬件绑定密钥,ACME 配置需要使用 ECSECPrimeRandom 算法且密钥大小为 256 或 384 位。这会按照 NIST SP 800-186 中的定义指定 P-256 或 P-384 曲线上的密钥对。
若要生成私钥,安全隔区首先会使用以下内容创建封装的加密密钥:
其硬件真随机数生成器 (TRNG) 的组合
储存在安全隔区的安全非易失性存储器中的熵
数据保护密钥
操作系统会储存封装的密钥,但后者本身没有用处。若要派生私钥,安全隔区需要使用相同的密钥、相同的已储存熵以及相同的数据保护密钥。由于储存的熵和数据保护密钥对于该特定的安全隔区而言唯一,所以仅该安全隔区能生成私钥,后者能有效地将硬件绑定密钥与该安全隔区绑定在一起。
抹掉设备后,安全隔区会抹掉储存的熵。正因如此,在备份并恢复后,即使恢复到同一台设备,也无法重新生成硬件绑定密钥。
在恢复后,包含使用硬件绑定密钥的 ACME 有效负载的任何配置都会移除。如果硬件绑定密钥作为设备管理服务客户端身份使用,设备会取消注册。在这种情况下,如果设备曾通过自动设备注册进行了注册,那么它会再次取回其注册描述文件并重新注册。