如何通过CBCentralManager创建与BLE外围设备的安全连接?

时间:2012-05-02 14:22:06

标签: objective-c ios core-bluetooth bluetooth-lowenergy

我是iOS和Core Bluetooth的新手。我想知道的是如何创建与设备的安全连接。

我的理解是:

[manager connectPeripheral:peripheral options:nil] 

是用于连接BLE设备的API。由此,我如何建立安全连接?

2 个答案:

答案 0 :(得分:3)

所有BT4.0连接都由设备/传感器和iOS进行保护和管理,您无法控制它。

BT4.0设备你也有无限的连接。

有界连接与iOS设备“配对”。一旦限制,他们将无法与任何其他设备通信。这可确保设备始终与有界iOS设备建立安全连接。边界由操作系统(iOS)控制。当需要有界连接的设备与iOS设备通信时,iOS设备将显示一个警报视图,询问您是否要连接到该设备。

无界设备不断广播其服务,并允许任何iOS设备连接到它。操作系统将不记得设备信息,通常应用程序将存储UUID,以便下次可以建立与同一设备的连接。这是大多数BT4.0传感器的正常/推荐方法。

注意:虽然无界设备未与iOS设备“配对”,但它们一次只能与单个iOS设备通信。

答案 1 :(得分:2)

如何定义“安全连接”?根据蓝牙低功耗规范,当在两个不同的BLE设备之间建立一个BLE连接时,连接是安全的,并且为该连接生成链路层分组中的AccessAddress字段。 AccessAddress的值与其他连接不同。如果您想了解更多详细信息,请参阅第36页,共138页,蓝牙核心规范4.0 [vol。 6]。

如果您担心有人会嗅探通过此BLE连接传输的数据,我必须看到它并不容易。只有一个BLE从站连接到与BLE传感器相同的主站,可以嗅探您的BLE数据包,并且功能在Controller端实现,只有少数可以访问Controller固件代码的公司可以启用嗅探器功能。

此外,如果您仍然担心传感器数据,Bluetooth Low Energy还会为BLE数据包提供加密。