与蓝牙设备配对和连接的区别是什么?

7
我正在开发一个连接到蓝牙IOT设备的Flutter应用程序。我正在使用flutter_blue库。该库允许扫描附近的蓝牙设备。基于该扫描,您可以“连接”到设备。没有与设备配对的概念。
根据我以前在手机上使用蓝牙的经验(当连接到我的汽车和蓝牙扬声器时),我必须在Android操作系统上配对设备。
我很好奇,在高层次上,配对设备和连接设备之间有什么区别。此外,更具体地说,操作系统内配对设备与从应用程序扫描和连接设备之间有什么区别?

根据我个人使用蓝牙设备的经验,配对意味着你之前已经连接过,因此连接信息被记住了。这意味着下一次连接时,你不需要启动蓝牙配对,只需确保蓝牙设备已打开、在范围内,然后在手机的蓝牙设置中点击即可。 - Doh09
2个回答

5
根据Bluetooth Core Specification Version 5.2 | Vol. 1, Part A, Chapter 5.1的定义,配对(pairing)是指创建一个或多个共享秘密密钥的过程。这些密钥本身不会被共享,而是使用一种称为Diffie-Hellman 密钥交换的过程来建立。这意味着只有在连接加密时才需要配对。如果您连接到需要安全措施的设备,则Android将自动提示应用程序用户进行配对请求。
另一个可能听说过的术语是bonding,它的定义是:存储在配对期间创建的密钥的行为,以便在后续连接中使用并形成受信任的设备对。Bonding允许重新连接您的设备而无需进行另一个配对过程,因为密钥已在先前建立。
当使用Bluetooth Low Energy(BLE)进行配对时,无需在操作系统中手动配对设备。您可以始终扫描广告其存在的设备。如前所述:如果需要,操作系统会自动处理配对。

5
在高层次上,您将始终使用“连接”来连接设备,但您可能需要先“配对”设备。蓝牙配对是一种安全程序。这是一项一次性的设置步骤,为配对中的两个设备配备了一系列共享的安全密钥,这些密钥允许通信进行加密。
蓝牙低功耗设备可以具有三个安全级别,其中最低级别不需要配对,然后是需要配对的两个级别。
选择不配对的设备提供了最大的简单性,但显然没有安全性。通信未加密,任何其他设备都可以连接。
可以使用的两种配对方法在连接时提供相同的安全级别。然而,在配对过程本身中,其中一种方法比另一种更安全。 Passkey配对是两种过程中最安全的,需要输入6位数字。这提供了防止机器中间人(MITM)攻击的保护。 Just Works配对不太安全,但不需要输入任何内容,因此非常简单易用。
一旦建立配对,就可以无需每次建立配对即可进行连接。

有关配对选项的更详细说明可在以下链接中找到: https://www.bluetooth.com/blog/bluetooth-pairing-part-1-pairing-feature-exchange/


不要忘记配对方法:带外(OOB)和数字比较。 - Michael Kotzjan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接