iOS蓝牙BLE安全性和“Just works”关联模型
根据本文档和本白皮书 ,有一些安全措施旨在防止被动窃听蓝牙BLE连接。 有没有办法在iOS中央管理器和外围设备之间实现安全连接?
具体来说,我正在寻求实现“Just works association model”。 我想知道iPhone是否可行。
编辑:
根据此链接中步骤4下的表格,由于您的中央(智能手机)同时具有键盘和显示function,因此执行Just Works配对的唯一方法是传感器没有输入且没有输出function 。
因此,要做到这一点,您必须配置传感器以发送配对响应,其IOfunction设置为NoInputNoOutput。
这将迫使Central(您的iOS设备)执行Just Works配对。
对于BLE连接,iOS支持“Just Works”和基于“PIN”的配对。
对于带外(OOB)配对,没有公共iOS API(尽管Apple将其自身用于Handoff以及其他事项,以便在没有用户交互的情况下无缝配对两台Apple设备。)
请注意,“Just Works”和“PIN”配对都有些破碎。 如果窃听者在初始配对过程中收听, 它可以轻易地强制交换密钥 。
iOS 8.2增加了对BT 4.2的支持 ,其中包括对BLE配对和安全性的一般改进。 我没看过iOS 8.2支持哪些部分。
开始配对:
- 使用外围设备的应用程序需要位于前台(这可以是iOS的设置)
- 连接后,
- 从外围端发送“Slave Security Request”命令(参见蓝牙规范 ), 或者,
- 访问由外围设备或应用程序实现的服务上的“受保护”特征 – 如果设备尚未绑定,这将使iOS自动启动配对过程。 这是Apple推荐的 。