V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Pazakui1259
V2EX  ›  Apple

Apple 更新《Apple 平台安全保护》文章增加说明带有触控 ID 的妙控键盘的运作原理和 Apple Watch 解锁等相关安全信息

  •  1
     
  •   Pazakui1259 · 2021-05-18 12:30:49 +08:00 · 1466 次点击
    这是一个创建于 1071 天前的主题,其中的信息可能已经有所发展或是发生改变。

    https://support.apple.com/guide/security/magic-keyboard-with-touch-id-secf60513daa/1/web/1

    · 带有触控 ID 的妙控键盘(以下简称为触控 ID 键盘)只作为一个外置的触控 ID 传感器,可以搭配任何使用 Apple 芯片的 Mac 使用。触控 ID 键盘不存储指纹信息、不进行指纹匹配、不进行安全检查(如检查用户是否在 48 小时内使用密码解锁电脑)。触控 ID 键盘需要安全地配对至 Mac 的安全隔区( Secure Enclave )后才能使用。苹果会在工厂将 Mac 附带的触控 ID 键盘与 Mac 进行配对,配对也可以在后期由用户进行。

    · 内置触控 ID 传感器和触控 ID 键盘是相兼容的。Mac 的安全隔区会以处理内置触控 ID 传感器一样的方式处理触控 ID 键盘,因为所有指纹信息和指纹匹配都在 Mac 的安全隔区内存储和进行,在内置触控 ID 传感器上录制的指纹信息(如 Apple 芯片 MacBook Air ),在触控 ID 键盘上可以直接进行验证,反之亦然。

    · 1 个触控 ID 键盘最多和 1 台 Mac 进行配对,但 1 台 Mac 可以和最多 5 个触控 ID 键盘进行配对。

    · 触控 ID 键盘带有一个公钥加速器( Public Key Accelerator 、PKA )模块,用以提供硬件身份验证和必要的加密操作。在触控 ID 键盘与 Mac 进行配对时,公钥加速器和安全隔区交换以认证的 Apple CA 为根的公钥,然后交换各自硬件所有的证明密钥和 ECDH 密钥来证明自己的身份,对方将其存储在自己的公钥加速器或安全隔区中。安全配对后,Mac 和触控 ID 键盘之间所有的信息交流都会根据其存储的身份信息生成的短暂的 ECDH 密钥来以 AES-GCM 进行加密。

    · 触控 ID 键盘上的触控 ID 传感器会在工厂与公钥加速器模块进行密钥配对,与 Mac 内置触控 ID 传感器和安全隔区在工厂配对的方式一样。

    https://support.apple.com/guide/security/secure-intent-connections-enclave-sec7a94f7d1e/1/web/1

    · iPhone X 和更新机型、Apple Watch Series 1 和更新机型、所有型号的 iPad Pro 、iPad Air ( 2020 )、使用 Apple 芯片的 Mac 电脑都支持从物理按钮到安全隔区之间的全物理链路的安全意图验证。用户在使用 Apple Pay 进行支付、Mac 电脑与触控 ID 键盘进行配对、双击按钮来进行身份验证时都需要用此安全意图验证进行安全证明用户确有此操作的意图。即使拥有 root 权限的软件或内核软件都无法对此系统进行欺骗。

    https://support.apple.com/guide/security/system-security-for-watchos-secc7d85209d/1/web/1#seccb6abc8d7

    · Apple Watch 解锁 Mac 、iPhone 解锁 Apple Watch 、iPhone 在检测到用户口鼻被遮挡的情况下使用 Apple Watch 进行解锁都使用了一样的解锁原理。

    · 两设备之间解锁的交流通过一个会互相验证的站到站( Station-to-Station,STS )协议,该通道直接建立在两设备的安全隔区之间,所有安全信息都会通过该通道进行传输。没有安全隔区的 Mac 电脑,将会在 Mac 内核阶段建立该通道。

    · 开启该功能时,两设备建立 BLE 连接,被解锁设备(目标设备)随机生成一个 32 位长的解锁密码传给进行解锁的设备(发起设备)。目标设备下次进行生物识别解锁或密码解锁后,将会使用这个生成的 32 位长的解锁密码加密利用用户密码和长期 SKP 密钥以及安全隔区 UID 所生成的密码衍生密钥“PDK”,然后将这个 32 位长的解锁密码从内存中删除。

    · 解锁时,两设备建立新的 BLE 连接,然后使用点对点 Wi-Fi 链接通过 802.11v 协议交换带有时间戳的数据包互相计算数据包的传送时间并进行确认比对其是否在合理范围内,以确认两设备间的物理距离很近,如果物理距离很近且安全策略检查通过,发起设备就会将存储的 32 位长的解锁密码发回目标设备,目标设备重新生成一个 32 位长的解锁密码发回发起设备。目标设备然后会检查该 32 位长的解锁密码是否能正确解密之前被加密的解锁密钥“PDK”,如果成功解密即能成功利用其解锁设备,被解密的解锁密钥“PDK”会重新被新的 32 位长的解锁密码加密,然后 32 位长的解锁密码和解锁密钥“PDK”会从内存中删除,设备只存储加密过的解锁密钥“PDK”。

    · iPhone 在检测到用户口鼻被遮挡的情况下使用 Apple Watch 进行解锁时需要满足以下所有安全条件: 1.配对的 Apple Watch 被锁定后重新被戴上手腕并解锁,iPhone 必须以其他方式解锁 1 次才能继续使用 Apple Watch 解锁。 2.iPhone 传感器需要检测到用户口鼻被遮挡。 3.Apple Watch 和 iPhone 之间被设备测量的距离为大概 2-3 米或更低。 4.Apple Watch 不在睡眠模式。 5.Apple Watch 或 iPhone 必须最近被解锁过,或 Apple Watch 最近检测到物理移动表示用户正处于活跃状态(比如不在睡觉)。 6.iPhone 在之前 6.5 小时内被解锁过 1 次。 7.iPhone 的面容 ID 功能处于可用状态且可被用于解锁。

    个人理解及翻译,仅供参考。

    3 条回复    2021-08-03 21:32:10 +08:00
    wooyuntest
        1
    wooyuntest  
       2021-05-18 14:42:40 +08:00
    翻译有一丢丢的瑕疵,32 位密钥应该是 256 位密钥。原文是 32 字节。
    Themyth
        2
    Themyth  
       2021-05-18 19:00:08 +08:00
    @wooyuntest 哈哈 细致入微
    luhe
        3
    luhe  
       2021-08-03 21:32:10 +08:00
    路过,这个页面有官方翻译了,官网也单独上架了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1625 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 16:54 · PVG 00:54 · LAX 09:54 · JFK 12:54
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.