iOS 蓝牙 BLE 安全和 "Just works" 关联模型

iOS Bluetooth BLE security and "Just works" association model

根据 this document and this whitepaper,有一些安全措施旨在防止被动窃听蓝牙 BLE 连接。有没有办法在 iOS 中央管理器和外围设备之间实现安全连接?

具体来说,我希望实施 "Just works association model"。我想知道 iPhone.

是否可行

对于 BLE 连接,iOS 支持 "Just Works" 以及基于 "PIN" 的配对。

对于带外 (OOB) 配对,没有 public iOS API(尽管是 Apple 自己用于 Handoff 等的私有配对,以无需用户交互即可无缝配对两台 Apple 设备。)

请注意,"Just Works" 和 "PIN" 配对都有些损坏。如果窃听者要监听初始配对过程,it could brute force the exchanged keys easily.

iOS 8.2 added support for BT 4.2,其中包括对 BLE 配对和一般安全性的各种改进。不过我还没看 iOS 8.2 支持哪些部分。

开始配对:

  • 一个正在使用外围设备的应用程序需要在前台(这可以是iOS'设置)
  • 连接后,
    • 从外围端发送"Slave Security Request"命令(见Bluetooth Specification), 或者,
    • 访问由外围设备或应用程序实现的服务的 "protected" 特征——如果设备尚未绑定,这将使 iOS 自动启动配对过程。 This is what Apple recommends.

已编辑:

根据 this link 中步骤 4 下的 table,因为您的 Central(智能手机)同时具有键盘和显示器,执行 Just Works 配对的唯一方法是传感器具有 没有输入也没有输出能力

因此,为此,您必须将传感器配置为发送配对响应,并将 IO 功能设置为 NoInputNoOutput。

这将强制 Central(您的 iOS 设备)执行 Just Works 配对。