BlueZ中连接和配对的区别

时间:2017-07-19 03:14:15

标签: linux bluetooth dbus bluez

我正在浏览BlueZ 5.44中的Device API,对连接和配对设备之间的区别感到有些困惑。我看到连接是基于配置文件,而配对似乎独立于配置文件。配对似乎更多地与SDP和身份验证有关。

然而,在阅读该文档之后,我仍然对一个人开始和另一个结束的地方感到困惑。例如,设备必须先配对才能连接吗?如果有人有任何蓝牙文档或BlueZ文档详细说明这一点,他们将非常感激。

2 个答案:

答案 0 :(得分:0)

这是假设OP打算询问经典蓝牙的答案。 经典配对需要较低层蓝牙经典连接。设备是否需要与其他设备配对是由所涉及设备的安全级别(在通用访问配置文件中定义)决定的。大多数移动电话使用SecurityMode 4,Level 4强制配对除SDP以外的大多数配置文件。这意味着可以在不配对的情况下完成服务发现,但需要服务级别连接的配置文件需要配对。请参阅core_v5.0蓝牙规范(https://www.bluetooth.com/specifications/bluetooth-core-specification)中GAP配置文件5.2节中的安全模式的详细信息。如果您看到服务级别/配置文件级别连接并且较低,则可以避免在您提及的文档中出现混淆 - 层连接。

答案 1 :(得分:0)

让事情变得尽可能简单。 什么是配对:它是为安全连接创建链接密钥(两个设备将具有相同的加密密钥)的过程。您不希望其他人通过蓝牙听到您所说的内容。

配对程序当然需要连接。

设备可以选择是否加密链接,并可以决定蓝牙堆栈上的哪个级别开始加密,即配置文件,协议或低级别数据链接。

SDP作为配置文件是不同的,因为它是一个向其他设备显示本地功能的配置文件,因此当连接SDP时,它基本上不需要配对。