Meet device management for Apple Watch
System & Services 进阶 20m

认识 Apple Watch 设备管理

Meet device management for Apple Watch

2023年6月5日

在 Apple 官方观看视频

一句话判断

watchOS 终于支持 MDM 设备管理了——企业可以像管理 iPhone 和 Mac 一样批量部署和配置 Apple Watch,配对流程中的安全令牌机制确保了设备和身份的可信绑定。

这场 Session 讲了什么

企业教育技术团队的 Melissa Nierle 介绍了 watchOS 的设备管理功能。Apple Watch 已经在沃尔沃等企业中用于员工工单记录和客户沟通,但一直以来缺乏系统级的设备管理能力。watchOS 10 改变了这一点。

核心设计原则是 iPhone 和 Apple Watch 作为配对设备一起管理。它们共享应用、限制策略和任务交接,所以管理也必须协同进行。

注册流程从 iPhone 端发起。前提条件是:iPhone 必须已经注册到 MDM 并且处于受监督状态,MDM 服务器必须支持声明式设备管理(Declarative Device Management),Apple Watch 必须处于全新或重置后的配对状态。

流程分为三步:管理员向 iPhone 推送 Watch Enrollment Configuration 声明;用户在 iPhone 上发起 Apple Watch 配对并同意远程管理;通过一套安全的令牌交换协议完成 iPhone-Apple Watch 配对关系的验证。

Session 重点讲解了安全令牌交换协议的细节——这是整个注册流程中最精巧的部分,确保了 MDM 服务器能可信地验证设备配对关系。

值得深挖的点

双令牌安全协议:注册过程涉及两次往返验证。Apple Watch 首次联系 MDM 服务器时没有 pairing token,服务器返回 403 和一个 security-token;Apple Watch 把这个 token 传给 iPhone,iPhone 通过新的 GetToken CheckIn 请求向 MDM 服务器获取 pairing token;最终 Apple Watch 携带 pairing token 完成注册。这种三方握手设计确保了配对关系的真实性。

GetToken CheckIn——新的 MDM 消息类型:今年新增了 get token 类型的 CheckIn 消息,允许设备为各种服务请求安全令牌。TokenServiceType 标识服务类型,TokenParameters 包含服务特定的参数。这个设计是可扩展的,未来可能支持更多类型的令牌服务。

强制性的声明式设备管理:Apple Watch 的 MDM 注册必须使用声明式设备管理,不支持传统的命令式 MDM。这是 Apple 推动管理协议现代化的明确信号。

全局配对触发:一旦 iPhone 上安装了 Watch Enrollment Configuration,所有后续配对的 Apple Watch 都会自动尝试 MDM 注册。这对企业批量部署很友好,但也意味着需要提前规划好管理策略。

代码片段

<!-- Watch Enrollment Configuration 声明 -->
<dict>
    <!-- MDM 注册端点 URL -->
    <key>EnrollmentURL</key>
    <string>https://mdm.example.com/enroll</string>

    <!-- 可选:锚点证书引用(用于验证注册服务器) -->
    <key>AnchorCertificateAssetReferences</key>
    <array>
        <string>anchor-cert-asset-id</string>
    </array>
</dict>
// Apple Watch 首次请求 - 服务器返回 403
// Request: Apple Watch 向 EnrollmentURL 发送 signed machine info
// Response (HTTP 403):
{
    "ErrorCode": "WatchPairingTokenMissing",
    "Details": {
        "security-token": "A1B2C3D4-E5F6-7890-ABCD-EF1234567890"
    }
}
<!-- iPhone 的 GetToken CheckIn 请求 -->
<dict>
    <key>MessageType</key>
    <string>GetToken</string>
    <key>TokenServiceType</key>
    <string>WatchPairing</string>
    <key>TokenParameters</key>
    <dict>
        <!-- 从 Apple Watch 收到的安全令牌 -->
        <key>SecurityToken</key>
        <string>A1B2C3D4-E5F6-7890-ABCD-EF1234567890</string>
        <!-- iPhone 和 Apple Watch 的 UDID -->
        <key>UDID</key>
        <string>iphone-udid-here</string>
        <key>WatchUDID</key>
        <string>watch-udid-here</string>
    </dict>
</dict>

最佳实践

  • 利用注册数据构建设备关系图:在 MDM 服务器端记录 iPhone 和 Apple Watch 的配对关系,为 IT 管理员提供直观的设备配对视图。
  • 提前准备声明式设备管理:如果你的 MDM 服务器还不支持声明式管理,这是必须先完成的前置工作。Apple Watch 注册强制依赖它。
  • 重置现有设备:已经配对的 Apple Watch 无法直接注册到 MDM,需要先重置。规划好迁移时间线,避免影响用户正常使用。
  • 管理锚点证书声明:Watch Enrollment Configuration 中引用的锚点证书必须已经作为 asset 声明存在于 iPhone 上。确保证书声明先于注册配置安装。
  • 为用户设计清晰的引导流程:配对过程中会出现远程管理确认提示,确保用户理解这一步的含义。

还有什么值得关注

  • Apple Watch 设备管理为企业场景打开了大门——医疗系统可以用它管理护士的 Apple Watch,物流公司可以管理司机的设备。
  • Session 提到沃尔沃已经在用 Apple Watch 进行工单记录和客户沟通,这说明 Apple Watch 在企业场景中的实际应用已经比较成熟。
  • 强制要求声明式设备管理意味着 Apple 在逐步淘汰传统的命令式 MDM 协议。对于 MDM 服务商来说,这是必须要跟上的技术趋势。
  • 注册流程的安全设计相当严格——三方握手确保了配对关系的真实性,即使攻击者拦截了通信也无法伪造有效的 pairing token。
  • watchOS 的管理能力(限制策略、应用分发等)与 iOS 基本一致,这意味着企业可以统一管理策略而无需为 Apple Watch 单独设计。
WWDC 2023