Bluetooth 蓝牙低能量配对与非配对通信

Bluetooth 蓝牙低能量配对与非配对通信,bluetooth,bluetooth-lowenergy,android-bluetooth,ios-bluetooth,Bluetooth,Bluetooth Lowenergy,Android Bluetooth,Ios Bluetooth,据我所知,无论是否配对,都可以建立蓝牙低能量通信。这是在移动发展的背景下,更具体地说是安卓,但我相信iOS或多或少是一样的 有没有一个人会选择一个而不是另一个?目的是什么?从技术上讲,什么是成对通信,什么是不成对通信 我已经涉猎了一些不同之处,甚至制作了一些与BLE相关的仅用于演示的应用程序,但我没有找到一个明确的解释,如果我所做的实际上被认为是成对的还是不成对的 编辑: 我问这个问题的原因是,我相信我正在寻找加密不成对的不可复制连接。在某些情况下,本质上是我的主要使用案例,移动设备可能希望在一

据我所知,无论是否配对,都可以建立蓝牙低能量通信。这是在移动发展的背景下,更具体地说是安卓,但我相信iOS或多或少是一样的

有没有一个人会选择一个而不是另一个?目的是什么?从技术上讲,什么是成对通信,什么是不成对通信

我已经涉猎了一些不同之处,甚至制作了一些与BLE相关的仅用于演示的应用程序,但我没有找到一个明确的解释,如果我所做的实际上被认为是成对的还是不成对的

编辑:


我问这个问题的原因是,我相信我正在寻找加密不成对的不可复制连接。在某些情况下,本质上是我的主要使用案例,移动设备可能希望在一天中的不同时间随机连接到多个不同的外围设备,物理上接受配对请求的过程似乎不必要,而且相当耗时。我所说的“随机”是指,如果我的公寓里散落着一打,我个人不知道是哪一个,但我没有亲自检查。我不知道第一次在房间里走什么,必须手动配对每个设备,如果我有100个设备,那就太疯狂了。请注意,这些设备不一定要同时连接,但可以。还要注意的是,我知道这通常不是典型的外设到移动设备用例的主要用例。

这里有一些区别:

如果您绑定设备,链接将被加密,因此它将变得更安全。所以“配对”通信基本上意味着链路是加密的,加上设备“知道”它与什么通信

远程设备还会识别您手机的IRK(身份解析密钥),该密钥可用于以后识别手机。默认情况下,手机每15分钟左右旋转一次蓝牙设备地址。在不知道IRK的情况下,外设无法识别手机

如果设备是绑定的,一件好事是远程设备的gattdb得到缓存,这意味着在下一次连接时,您不必等待很长时间来完成服务发现

在Android上,由于API缺少“地址类型”位(公共/随机地址),因此在不进行首次扫描的情况下通过蓝牙设备地址连接将被中断。如果Android“猜测”错误,您将连接到错误的设备,因此失败。但是,如果设备已绑定,则会根据蓝牙设备地址存储和查找地址类型,从而使其按预期工作。因此,如果您计划在引导时在后台自动连接到外围设备,那么绑定设备是一个好主意

一个小细节是,GATT服务器还应存储客户端特征配置描述符值,并在绑定设备重新连接后恢复,这样就不必重写描述符值


某些蓝牙配置文件需要绑定,例如HID(至少在iOS和Android上)。

因此,如果Android通过某个应用程序与特定设备进行显式通信,则外设与Android进行未配对通信的唯一方式是?它只能这样做,如果它定期扫描设备,然后它似乎或如果它可以存储mac地址,并连接以后,如果它是在范围内。在配对的情况下,android手机本身会知道之前配对的设备是谁,并且能够在不通过应用程序进行通信的情况下绑定所有设备?您通常需要一个应用程序来与可配对设备进行通信。也有一些例外,例如HID设备,您可以通过蓝牙设置绑定和连接到这些设备。HOGP(HID over GATT配置文件)规范要求绑定。规范(HOGP 1.0、6.1)规定:“HID设备应绑定并使用LE安全模式1、安全级别2或3,这两种模式都需要加密链接。”@ouah是否可以为“Just works”连接增加安全性?我一直在做很多研究,试图找出一个解决办法。“Just works”似乎是我需要使用的方法,但似乎没有/几乎没有加密支持。我是否必须在实际的ble通信之上的应用层提供支持,或者我是否错过了一些可以通过ble本机提供这种支持的东西?你说的“为正常工作添加安全性”是什么意思?与Just Works配对后,链接会自动加密。除了Emil的答案,请参阅以下帖子:-