5.4.5 Privacy feature(page-278)

  这一章节是属于LE security中一部分,所以读的时候应该站在安全的角度去理解。蓝牙 LE 支持通过频繁更改蓝牙设备地址来降低在一段时间内跟踪 LE 设备的能力的功能。

  为了让一个使用隐私特性的设备重新连接到已知的设备,设备本身的地址(被称为隐私地址)必须是其他设备可以解析的。私有地址是使用设备在绑定过程中交换的解析身份密钥 (IRK) 生成的。

  术语“resolution”是指设备根据接收到的私有地址和 IRK 计算设备身份地址的过程,而“resolved”状态是解析成功的结果。

  隐私功能有两种变体。在第一种变体中,私有地址由主机解析和生成。在第二种变体中,在Host提供Controller设备身份信息后,不涉及Host的情况下,由Controller解析和生成私有地址。此外,当控制器中的解析列表无法存储绑定设备所需的所有设备身份解析密钥时,第二个变体可能涉及主机。

  隐私有两种模式:设备隐私模式和网络隐私模式。处于设备隐私模式的设备只关心设备的隐私,并且会接受来自对等设备的包含其身份地址以及包含私有地址的广播数据包,即使对等设备过去已分发其 IRK 。在网络隐私模式下,设备将只接受来自包含私有地址的对等设备的广播数据包。默认情况下,当控制器解析和生成私有地址时,使用网络隐私模式。

  主机通过添加和删除设备标识来维护一个解析列表。主机可以向控制器提供一个完整的解析列表或解析列表的子集。设备身份由对等方的身份地址以及本地和对等方的 IRK 对组成。当Controller进行地址解析,Host需要引用解析列表中包含的对端设备时,会使用对端的设备标识地址。同样,所有从控制器到主机的传入事件都将使用对等方的设备标识,前提是对等方的设备地址已被解析。如果 Controller 无法解析广播数据中对等方的设备身份地址,它可能会将事件传递给 Host 以在 Host 中解析。

  当在 Controller 中执行地址解析时,设备过滤变得可能,因为可以在检查它是否在白名单中之前解析对端的设备身份地址。

  图5.4显示了控制器解析列表和控制器白名单列表。解析列表和白名单的实际实现不需要遵循这个模型。解析列表可以独立于白名单。

注意:白名单中的设备并非都是设备标识地址。

  当地址解析仅在主机中执行时,设备可能会遇到功耗增加的情况,因为必须禁用设备过滤。