我想把一个Android设备(客户端)连接到一个外部BLE设备(服务器)。我有几个关于私有随机可解析地址机制的问题。
最后我希望BLE连接,使用私有随机可解析地址来保证隐私,同时还能在我的服务器上获得客户端的原始BLE MAC作为内部用途。
如果有人能回答我的问题,我会非常感激。
你好
绑定时,零、一台或两台设备都可以发送Resolving密钥,如果协商好的话。对于每个发送Resolving密钥(IRK)的设备,也总是发送身份地址。这包含了原始蓝牙设备地址,可以是公共的,也可以是静态随机的。就是这个地址,只有绑定的设备才知道。
隐私功能的想法是在Link Layer数据包中永远不使用原始蓝牙设备地址,而是随机生成的地址,每隔x分钟(通常是15分钟)更换一次。这样一来,如果它经常做广告,有人就无法跟踪它,因为15分钟后它就消失了。但是如果你有相应的IRK,那么你就可以确定IRK是否匹配。如果匹配了,你也就知道了原来的蓝牙设备地址,因为你的绑定数据中包含了IRK和原始地址。但是如果你扔掉了这个地址,那么即使你有IRK,也无法恢复原始地址。
如果两个设备中只有一个设备使用随机可解析地址,那么使用可解析地址的设备就不能被非绑定设备追踪,而不使用随机可解析地址的设备可以被追踪。