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

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

无论哪种方式,一旦此恶意中心连接到外围设备,正版中心都将无法作为每个外围设备使用。如果我已正确理解,外围设备将无法结束连接或开始连接,并且外围设备不允许同时进行连接。

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

谢谢!

最佳答案

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

  • 外围设备宣传
  • Central发现外围设备并尝试连接
  • 如果中央尚未配对,则要求
  • PIN
  • 如果配对成功,则连接完成。如果未返回状态1
  • 如果连接成功,广告将停止并且可以传输数据。

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

    从理论上讲,通过反复尝试连接也可能会导致DOS攻击,但这仍然为合法的中心连接留下了机会。

    关于ios - 具有Hm10外围设备的iOS Corebluetooth BLE安全,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28818039/

    10-12 06:15