【问题标题】:How do BLE IoT devices usually generate their private MAC addresses?BLE IoT 设备通常如何生成它们的私有 MAC 地址?
【发布时间】:2020-10-27 02:18:40
【问题描述】:

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

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

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

【问题讨论】:

    标签: random bluetooth bluetooth-lowenergy mac-address


    【解决方案1】:

    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

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

    hash = ah(IRK, prand)

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

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

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

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

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

    【讨论】:

    • 这些只是生成的设备地址的格式。有趣的是,当您从 [Vol 6] Part B, Sec. 开始您的旅程时。 6.1 可解析私有地址生成间隔,您可能会陷入 [Vol 6] Part B, Sec. 的循环中。 1.3.2.2: 私有设备地址生成 -> [Vol 3] Part H, Sec. 2.2.2: 随机地址散列函数 -> [Vol 3] Part C, Sec. 10.8.2.1 不可解析私有地址生成过程(-> [第 6 卷] B 部分,第 1.3.2.2 节:私有设备地址生成)。
    • 我对这项安全规定背后的常用(伪)随机数生成器及其使用原因很感兴趣。
    • 我很确定大多数平台都会采用任何可用的安全数字生成器。可能是直接的“真数生成器”,或者是由这样的一个播种的 csprng。例如,蓝牙芯片上的 trng 可以基于无线电背景噪声。有关 nRF52832,请参阅 infocenter.nordicsemi.com/topic/…
    • 我想知道将原始熵填充或扩展到 BLE MAC 的 22 位或 46 位随机部分的确定性方法。根据 MobiQuitus 2019 的一篇论文,现在这些私有地址的生成间隔可以低于一秒,我怀疑物联网设置中的熵源本身是否可以产生这么多真正的随机性。任何符合 FIPS 标准的 PRNG 的具体 BLE IoT 使用?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-06-23
    • 2016-06-14
    • 1970-01-01
    • 2017-02-18
    • 1970-01-01
    • 2022-11-23
    • 2019-06-09
    相关资源
    最近更新 更多