4.4 隐私功能
4.4.1 介绍
从蓝牙 4.2 开始,可以在主机或控制器中启用隐私功能: • 主机隐私包括两种用例,在以下部分将详细描述。它们是:
- 随机地址生成 - 在主机内部定期重新生成一个随机地址(可解析或不可解析的私有地址),然后将其应用于控制器。
- 随机地址解析 - 使用存储在绑定设备列表中的 IRK 尝试解析传入的 RPA。当与设备建立连接或进行自动连接扫描时,会执行地址解析。由于需要较高的 MCU 处理能力,具有 RPA 的广告数据包不会自动解析。 只有当控制器无法解析 RPA 时,主机才会默认执行随机地址解析。只有当请求启用主机隐私时,主机才会执行随机地址生成。
• 蓝牙 4.2 引入的控制器隐私包括将本地 IRK 与所有已知的对等 IRK 一起写入控制器,并让控制器执行硬件、完全自动的 RPA 生成和解析。控制器使用解析列表来存储这些条目,列表的大小取决于平台,由 gMaxResolvingListSize_c 给出。对于 RPA 解析,不适合此列表的条目将由主机处理,使用来自绑定设备列表的 IRK 进行解析。
这段文本主要讲述了蓝牙低功耗(Bluetooth Low Energy,BLE)中隐私功能(Privacy)的相关设置和工作流程,具体内容如下:
1. **隐私类型和错误处理**:
- 可以随时启用主机隐私(Host Privacy)或控制器隐私(Controller Privacy),但在另一种隐私类型正在进行时尝试启用其中一种会产生`gBleInvalidState_c`错误。
- 尝试两次启用相同的隐私类型或在隐私未启用时尝试禁用它也会返回此错误。