2

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

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

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

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

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

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

4

1 回答 1

1

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

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

于 2018-04-19T21:16:14.603 回答