5

我正在尝试制作一个真正安全配对的 BLE 设备。据我所知,一旦交换了“长期密钥”,传输加密(使用 AES)在所有版本的 BLE 中都是安全的。

低功耗蓝牙 4.1

BLE 4.1 和更早的版本使用对称加密,并且密钥 (PIN) 只有 6 位数字,因此被动窃听配对、暴力破解密钥并从中导出 LTK 是微不足道的。这似乎在设计上是不安全的,因为人们认为低功耗 BLE 设备没有足够的能力来进行非对称加密。

低功耗蓝牙 4.2

BLE 4.2 添加了“安全连接”。这显然也被破坏了,更重要的是它在 2008 年在蓝牙 2.1 中使用相同的配对方法时被破坏了!它并没有完全破坏配对 - 只有密码输入方法 - 你只学习密码,而不是 LTK。但如果每次配对尝试都没有更改密钥,它确实允许攻击者执行中间人攻击。

带外配对

Out-of-Band 配对方法将是一个很好的选择,然后我可以使用 QR 码或其他东西。但是,在 Android 或 iOS 上都没有公共 API 可以访问 OOB 方法。Android 支持通过 NFC 进行 OOB 配对,但 iOS 不支持,所以就这样了。

似乎剩下的唯一选择是实施自定义加密方案,但这是一项荒谬的工作。

我的问题是:

  1. 为什么蓝牙 SIG 在 BLE 4.2 中指定了 6 年前就已经知道不安全的配对方法?

  2. 是否有任何现有的 BLE 加密方案可以保护它?理想情况下是开源的并且经过充分测试,但可以是商业的。我还能使用 GATT 吗?

4

0 回答 0