1

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

我的理解是:

[manager connectPeripheral:peripheral options:nil] 

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

4

2 回答 2

3

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

BT4.0 设备也有有界和无界连接。

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

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

注意:尽管不受限制的设备不会与 iOS 设备“配对”,但它们在任何时候都只会与单个 iOS 设备通信。

于 2012-05-22T19:34:12.887 回答
2

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

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

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

于 2012-05-16T16:01:15.480 回答