从随机私有可解析地址获取 BLE MAC
Get BLE MAC from random private resolvable address
我想将 Android 设备(客户端)连接到外部 BLE 设备(服务器)。我有几个关于私有随机可解析地址机制的问题。
- 据我从 BLE 核心规范中了解到,身份解析密钥可用于判断地址是否是使用此密钥生成的,但是它不能用于解析原始 BLE MAC 正确的 peer.Is 地址?
- 有没有办法获取原始 BLE MAC 地址,同时仍然在服务器端使用私有随机可解析地址?也许它是绑定信息的一部分?
- 只有服务端使用私有随机可解析地址,客户端不使用,是否可以解决问题?这是否会破坏隐私保护,私有随机可解析地址机制提供?
最后我想要一个 BLE 连接,它使用私有随机可解析地址来确保隐私,并且仍然能够获得我服务器上客户端的原始 BLE MAC 用于内部目的。
如果有人能回答我的问题,我将不胜感激。
最佳
大卫
当绑定时,零个、一个或两个设备可以在协商的情况下发送解析密钥。对于发送解析密钥 (IRK) 的每个设备,也始终发送身份地址。这包含原始蓝牙设备地址,可以是 public 或静态随机地址。这个地址只有绑定的设备知道。
隐私功能的想法是永远不要在 Link 层数据包中使用原始蓝牙设备地址,而是随机生成一个每 x 分钟(通常为 15 分钟)更改一次的地址。这样,如果它定期投放广告,则不会有人跟踪它,因为它会在 15 分钟后消失。但是,如果您有相应的 IRK,则可以确定 IRK 是否匹配。如果匹配,您也知道原始蓝牙设备地址,因为您的绑定数据包含 IRK 和原始地址。但是,如果您丢弃该地址,那么即使您有 IRK,也无法恢复原始地址。
如果两个设备中只有一个使用随机可解析地址,那么具有可解析地址的设备无法被非绑定设备跟踪,而没有使用随机可解析地址的设备可以被跟踪。
我想将 Android 设备(客户端)连接到外部 BLE 设备(服务器)。我有几个关于私有随机可解析地址机制的问题。
- 据我从 BLE 核心规范中了解到,身份解析密钥可用于判断地址是否是使用此密钥生成的,但是它不能用于解析原始 BLE MAC 正确的 peer.Is 地址?
- 有没有办法获取原始 BLE MAC 地址,同时仍然在服务器端使用私有随机可解析地址?也许它是绑定信息的一部分?
- 只有服务端使用私有随机可解析地址,客户端不使用,是否可以解决问题?这是否会破坏隐私保护,私有随机可解析地址机制提供?
最后我想要一个 BLE 连接,它使用私有随机可解析地址来确保隐私,并且仍然能够获得我服务器上客户端的原始 BLE MAC 用于内部目的。
如果有人能回答我的问题,我将不胜感激。
最佳 大卫
当绑定时,零个、一个或两个设备可以在协商的情况下发送解析密钥。对于发送解析密钥 (IRK) 的每个设备,也始终发送身份地址。这包含原始蓝牙设备地址,可以是 public 或静态随机地址。这个地址只有绑定的设备知道。
隐私功能的想法是永远不要在 Link 层数据包中使用原始蓝牙设备地址,而是随机生成一个每 x 分钟(通常为 15 分钟)更改一次的地址。这样,如果它定期投放广告,则不会有人跟踪它,因为它会在 15 分钟后消失。但是,如果您有相应的 IRK,则可以确定 IRK 是否匹配。如果匹配,您也知道原始蓝牙设备地址,因为您的绑定数据包含 IRK 和原始地址。但是,如果您丢弃该地址,那么即使您有 IRK,也无法恢复原始地址。
如果两个设备中只有一个使用随机可解析地址,那么具有可解析地址的设备无法被非绑定设备跟踪,而没有使用随机可解析地址的设备可以被跟踪。