1

有人可以建议在 BLE 通信中是否可以在建立连接之前从外围设备对中心进行身份验证?

示例:1) 外围设备不断通告 2) 中心发现外围设备并发送连接请求 3) 连接已建立并且广告停止 3) 外围设备通过 AES 或配对等方式对中心设备进行身份验证。 4) 如果身份验证成功,则传输数据。

无论哪种方式,一旦这个恶意中心连接到外围设备,正版中心将无法像每个外围设备一样。如果我理解正确,外围设备不能结束连接或开始连接,外围设备不允许同时连接。

我怎么解决这个问题?即使可以通过某种方式终止与外围设备的连接,恶意中心也会继续重新连接,因此本质上是执行拒绝服务(DOS)攻击。

谢谢你!

4

2 回答 2

1

您的顺序略有错误。它应该是 -

  1. 周边广告
  2. Central 发现外围设备并尝试连接
  3. 如果 Central 尚未配对,则请求 PIN
  4. 如果配对成功,则连接完成。如果不返回状态1
  5. 如果连接成功,广告停止并且可以传输数据。

因此,安全性是基于 PIN 的保密性。如果 PIN 是众所周知的(即默认为 0000)或者很容易被发现(打印/显示在设备上并且可以进行物理访问),那么安全性就会受到损害。

理论上,通过重复连接尝试也可能发生 DOS 攻击,但这仍然为合法的中央连接留下了机会。

于 2015-03-02T21:59:54.337 回答
1

好的,这有点晚了,但无论如何:从 v515 开始,您可以使用该AT+TYPEx命令来更改身份验证行为。

x 可以是,根据文档:

  • 0:不需要PIN码(默认)
  • 1:Auth不需要PIN
  • 2:使用 PIN 进行身份验证
  • 3:认证和绑定
于 2016-04-13T16:53:37.913 回答