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



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

场景:
BLE 5.0 设备代理从站(我们称之为 BSL)生成 IRK 1 并与主设备 1(我们称之为 BMS1)绑定。假设它在一段时间后断开连接,BSL 将使用使用 IRK 1 生成的地址(在 BSL 和 BMS1 之间共享)开始播发。现在,只要主站想要与BSL通信,它就可以使用IRK1扫描通告数据包的解析地址并开始通信。

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

现在我的问题是:
此时哪个地址会有BSL的广告包?在顺序广告数据包中,生成的地址是使用 IRK1 可解析的,还是使用 IRK2 可解析的地址?

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

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

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

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

相关内容

最新更新