首页 > 解决方案 > BLE IoT 设备通常如何生成它们的私有 MAC 地址?

问题描述

BLE IoT 设备是否有任何常用方法来生成其可解析/不可解析的私有设备地址?

例如,在 BR/EDR(经典蓝牙)中,规范似乎要求使用 FIPS PRNG,但我没有看到在蓝牙上可解析的私有设备地址中生成 24 位prand的推荐/强制/流行方法低能耗外围设备。

我想知道资源限制是否会阻止物联网设备使用 FIPS PRNG。到目前为止,我发现的关于 MAC 随机化的结果都是关于移动设备上的 BLE 的……

标签: randombluetoothbluetooth-lowenergymac-address

解决方案


Bluetooth Specification v5.2, Vol 6, Part B, Section 1.3.2.2 (Private device address generation)中描述了可解析私有地址的生成:

要生成可解析的私有地址,设备必须具有本地身份解析密钥 (IRK) 或对等身份解析密钥 (IRK)。可解析的私有地址应使用 IRK 和随机生成的 24 位数字生成。随机数称为 prand,应满足以下要求:

  • prand 的随机部分至少有一位为 0
  • prand 的随机部分至少有一位为 1

在此处输入图像描述

哈希本身是使用以下公式生成的:-

哈希=啊(IRK,普兰德)

其中 ah 是蓝牙规范 v5.2,第 3 卷,H 部分,第 2.2.2 节中定义的随机地址散列函数。您是对的,除了上述要求之外,没有任何生成 prand 的建议,所以这留给用户。

至于不可解析的地址,这在同一节中进行了解释:-

要生成不可解析的地址,设备应生成具有以下要求的 48 位地址:

  • 地址的随机部分至少有一位应为 1
  • 地址的随机部分至少有一位应为 0
  • 地址不应等于公共地址

在此处输入图像描述

这些是一些描述 BLE 隐私的有用链接:-


推荐阅读