我想将 Android 设备(客户端)连接到外部 BLE 设备(服务器)。我有几个关于私有随机可解析地址机制的问题。
- 据我从 BLE 核心规范了解,身份解析密钥可用于判断是否使用此密钥生成地址,但它不能用于解析对等方的原始 BLE MAC 地址。正确吗?
- 有没有办法获取原始 BLE MAC 地址,同时仍然在服务器端使用私有随机可解析地址?也许它是绑定信息的一部分?
- 如果只有服务器使用私有随机可解析地址而不是客户端,我可以解决问题吗?这会破坏私有随机可解析地址机制提供的隐私保护吗?
最后,我想要一个 BLE 连接,它使用私有随机可解析地址来确保隐私,并且仍然能够获取服务器上客户端的原始 BLE MAC 以用于内部目的。
如果有人能回答我的问题,我将非常感激。
最好的
大卫
绑定时,零个、一个或两个设备可以发送解析密钥(如果协商如此)。对于发送解析密钥 (IRK) 的每个设备,也始终会发送身份地址。它包含原始蓝牙设备地址,可以是公共地址,也可以是静态随机地址。只有绑定设备知道这个地址。
隐私功能的想法是永远不会在链路层数据包中使用原始蓝牙设备地址,而是使用随机生成的地址,每 x 分钟(通常为 15)更改一次。这样,如果它定期做广告,别人就无法追踪它,因为它会在 15 分钟后消失。但是,如果您有相应的 IRK,那么您可以确定 IRK 是否匹配。如果匹配,您还知道原始蓝牙设备地址,因为您的绑定数据包含 IRK 和原始地址。但如果你扔掉该地址,那么即使你有 IRK,你也无法恢复原始地址。
如果两个设备中只有一个使用随机可解析地址,则具有可解析地址的设备无法被非绑定设备跟踪,而不使用随机可解析地址的设备可以被跟踪。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)