使用IRK与多个BLE设备通信时遇到问题

时间:2018-04-19 17:29:36

标签: bluetooth-lowenergy ltk

我在使用IRK时面临一个挑战。请指导 - 也许我错过了一些信息。

情境:
BLE 5.0 Device Acting Slave(让它称之为BSL)生成IRK 1并与主设备1绑定(让我们称之为BMS1)。假设它在一段时间后断开连接,BSL将开始使用IRK 1(BSL和BMS1之间共享)生成的地址进行广告宣传。现在,只要主设备想要与BSL通信,它就可以使用IRK1扫描Advertise数据包的解析地址并开始通信。

困难的部分从这里开始:
假设在断开与BSM1的连接后,BSL设备使用新的IRK2与另一个BSM2绑定(根据我的理解,每次设备绑定到新BSM时,BSL都会生成新的IRK)。现在假设,经过一段时间后,与BSM2的连接下降。此时BSL已生成两个IRK:IRK1和IRK2以与BSM1和BSM2通信。

现在我的问题是:
此时哪个地址会有BSL的广告包?使用IRK1生成的地址是可解析的,还是使用IRK2可解析的地址或连续广告包中的两个地址都可以解析?

如果它是IRK1或IRK2地址中的一个,那么即使我没有丢失配对或绑定信息,我也无法与一个设备通信。

如果我的理解错误,请告诉我。

1 个答案:

答案 0 :(得分:0)

您只有一个IRK,通常在工厂为每个设备生成。另一方面,LTK是每个债券一个。

如果IRK没有硬编码,只要存有至少一个债券,它必须至少持续存在。如果您不希望以前绑定的设备跟踪您(如果其他设备未擦除其绑定数据),则在删除所有绑定时重新生成IRK可能是个好主意。