从随机私有可解析地址获取 BLE MAC

Get BLE MAC from random private resolvable address

我想将 Android 设备(客户端)连接到外部 BLE 设备(服务器)。我有几个关于私有随机可解析地址机制的问题。

最后我想要一个 BLE 连接,它使用私有随机可解析地址来确保隐私,并且仍然能够获得我服务器上客户端的原始 BLE MAC 用于内部目的。

如果有人能回答我的问题,我将不胜感激。

最佳 大卫

当绑定时,零个、一个或两个设备可以在协商的情况下发送解析密钥。对于发送解析密钥 (IRK) 的每个设备,也始终发送身份地址。这包含原始蓝牙设备地址,可以是 public 或静态随机地址。这个地址只有绑定的设备知道。

隐私功能的想法是永远不要在 Link 层数据包中使用原始蓝牙设备地址,而是随机生成一个每 x 分钟(通常为 15 分钟)更改一次的地址。这样,如果它定期投放广告,则不会有人跟踪它,因为它会在 15 分钟后消失。但是,如果您有相应的 IRK,则可以确定 IRK 是否匹配。如果匹配,您也知道原始蓝牙设备地址,因为您的绑定数据包含 IRK 和原始地址。但是,如果您丢弃该地址,那么即使您有 IRK,也无法恢复原始地址。

如果两个设备中只有一个使用随机可解析地址,那么具有可解析地址的设备无法被非绑定设备跟踪,而没有使用随机可解析地址的设备可以被跟踪。