0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

蓝牙配对系列之Out of Band

蓝牙技术联盟 来源:xx 2019-08-10 09:25 次阅读

在之前的蓝牙配对系列博文中,提到了PassKey和Numeric Comparison等配对方法。今天我会介绍另外一种方法,即Out of Band,OOB。

OOB关联模型适用于使用带外(out of band)机制来发现设备、以及交换或传送将在配对过程中使用的加密信息等场景。OOB对于开发者来说是一项灵活的选择,能够让他们定义自己的配对机制,因此安全级别取决于带外保护功能。今天就让我们一起来深入探讨吧!

1. 第1阶段 - 配对特性交换

在我的博文《蓝牙配对系列第四篇》中,有一个类似于表1的表格。这是配对请求/响应(Pairing request/response)的框架结构。在该表中,有一名为“OOB数据标志”(OOB Data Flag)的字段,长度为1个字节。

Table 1, 配对请求/响应

表1

关于“OOB数据标志”的定义,请参考表2。

Table 2, OOB数据标志位定义

表2

OOB数据标志定义了用于指示OOB认证数据是否可用的值。

2. 低功耗传统配对

当两台蓝牙设备都使用低功耗传统配对时,这一过程就很容易理解。有关传统配对方法选用的详细信息,请查看表3。我已经在此表中对选用OOB的单元格进行了黄色标注, 这样就一目了然:

如果使用OOB进行配对,两台设备必须设置其OOB数据标志;

如果其中一台设备设置了OOB数据标志,而另一台设备未设置,则两台设备都需要检查在表1中“AutheReq”字段中的MITM标志(表1中绿色高亮部分)。如果其中任何一台设备设置了MITM标志,则可通过IO Capabilities与配对方法的映射来选择配对方法。有关映射的详细信息,请参阅蓝牙5核心规格、第3卷、H部分、表2.8。

其他情况,则使用“直接连接(Just Works)”方法配对。

Table 3,OOB配对规则速查表

表3

Picture 1 OOB配对流程图

图1

在图1中,高亮标注的部分与《蓝牙配对系列第三篇》传统配对的PassKey相同。之后,两台设备的安全管理器(Security Manager)将:

首先,创建两边的随机值Mrand和Srand。之后,带外机制可用于交换信息,例如设备地址和128位临时密钥(TK)值,以助于设备发现。正如我在第三篇“传统配对—PassKey”中所解释的,TK值是由伪随机数引擎产生的128位随机数,引擎应符合蓝牙核心规格的要求。

第1步

通过公式c1计算Mconfirm和Sconfirm,对于任何加密工具箱,均可参阅蓝牙5核心规格、第三卷、H部分、第2.2节。

第2步

交换Mconfirm、Sconfirm和Mrand。

第3步

响应设备通过发起设备传送的Mrand值来再次执行Mconfirm的计算,来验证计算出的值与Mconfirm值是否一致。

如果响应设备计算得出的Mconfirm值与发起设备发来的Mconfirm值不匹配,则配对过程会中止,响应设备会发送原因代码为“确认值失败(Confirm Value Failed)”的配对失败指令。

如果响应设备计算得出的Mconfirm值与发起设备发来的Mconfirm值相匹配,则响应设备会向发起设备发送Srand。

发起设备通过响应设备传送的Srand值来再次执行Sconfirm的计算,来验证计算出的值和Sconfirm值是否一致。

如果发起设备计算得出的Sconfirm值与响应设备发来的Sconfirm值不匹配,则配对过程或被中止,发起设备会发送原因代码为“确认值失败(Confirm Value Failed)”的配对失败指令。

如果发起设备计算得出的Sconfirm值与响应设备发来的Sconfirm值相匹配,则发起设备会计算出短期密钥(Short Term Key,简称STK ),并通知控制器(Controller)启用加密。

3. OOB的简便之处

目前,低功耗蓝牙已经成为智能手机和平板电脑的标准配置。设备间采用蓝牙进行连接的方法也是多种多样的 。在这些方法当中,还有一种通过蓝牙连接设备的常用方法就是使用NFC进行“一键配对”。由于NFC的传输范围非常有限,一些开发者在设备之间借助NFC确保两台设备正确地进行配对。因此,NFC可以为OOB配对提供良好的通信接口。当使用OOB进行配对时,用户的体验略有不同。例如,用户的智能手机和手环两台设备都具有低功耗蓝牙和NFC接口。用户先让两台设备相接触,然后会看到配对选项。如果选择“是”,则配对成功。所以这是一种一键式的体验,交换的信息在两台设备中都能使用,是不是超酷呢?

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 蓝牙
    +关注

    关注

    114

    文章

    5765

    浏览量

    169787
  • 蓝牙配对
    +关注

    关注

    3

    文章

    6

    浏览量

    3174
  • OOB
    OOB
    +关注

    关注

    0

    文章

    6

    浏览量

    3926
收藏 人收藏

    评论

    相关推荐

    蓝牙耳机连接不上怎么办

    配对模式。不同的蓝牙耳机开启和配对的方式可能有所不同,通常需要长按耳机上的电源键或配对键,直到耳机指示灯开始闪烁,表示耳机已经进入配对模式
    的头像 发表于 10-28 15:45 608次阅读

    低功耗蓝牙安全配对外设可能无法与中央器件连接

    电子发烧友网站提供《低功耗蓝牙安全配对外设可能无法与中央器件连接.pdf》资料免费下载
    发表于 09-03 11:46 0次下载
    低功耗<b class='flag-5'>蓝牙</b>安全<b class='flag-5'>配对</b>外设可能无法与中央器件连接

    在例程 ”BLE_GATTS_SPP“中,手机第一次连接蓝牙服务时,怎么添加配对密码?

    在例程 ”BLE_GATTS_SPP“中,手机第一次连接蓝牙服务时,怎么添加配对密码?
    发表于 07-19 08:28

    配对过IOS13.5的手机无法连接删除绑定信息的esp32蓝牙,怎么解决?

    你好,我的IDF版本是4.1,手机是IOS13.5版本的,APP是nRF Connect。 当IOS手机配对连接esp32蓝牙成功后,把esp32本地存储的蓝牙绑定信息删除掉,IOS手机就没办法再次
    发表于 06-25 07:56

    安卓手机无法正常配对esp32蓝牙怎么解决?

    我最近在大量进行手机测试。目前测试到华为P20,红米6手机在进行密码配对时,设备使用 public addr,第一次配对成功后,如果设备删除绑定关系,重新进行连接配对时就再也连不上,更奇怪的是,即使
    发表于 06-25 07:24

    ESP32作为Server,手机作为Client,在蓝牙配对连接时,如何获取手机的设备名称?

    ESP32作为Server,手机作为Client,在蓝牙配对连接时,如何获取手机的设备名称(不是esp32的名称)
    发表于 06-13 08:04

    芯科科技领先提供CBAP解决方案支持基于证书的身份验证和配对

      “基于证书的身份验证和配对(CBAP)”有助于简化低功耗蓝牙(BluetoothLE)设备的身份验证和配对过程。它具有内置的安全功能,无需使用二维码、密码或基于 NFC 的配对来手
    的头像 发表于 06-04 11:35 669次阅读

    蓝牙模块选型蓝牙功能

    蓝牙模块,是一种集成蓝牙功能的PCBA板,用于短距离无线通讯,蓝牙模块将芯片和外围硬件电路集成到一个PCB上,开发出所需的内置程序实现蓝牙功能的设备。可以通过相关接口和MCU控制设备进
    的头像 发表于 05-28 17:48 635次阅读
    <b class='flag-5'>蓝牙</b>模块选型<b class='flag-5'>之</b><b class='flag-5'>蓝牙</b>功能

    蓝牙模块配对机制基础知识

      蓝牙是当今应用最多的技术之一,采用 蓝牙模块 技术,我们可以实现数据的传输以及其它功能。为了统一规范,蓝牙在2.1版本引入了安全简单的配对机制,从而加强了
    的头像 发表于 05-24 16:18 877次阅读

    左蓝微电子发布高性能及小尺寸Band26、Band20双工器

    近日,基于TC-SAW技术,左蓝微电子发布高性能及小尺寸Band26、Band20双工器。本次发布的TC-SAW高性能Band26/20双工器封装尺寸为1.6mm × 1.2mm,相比于1814封装尺寸,面积缩小约24%,
    的头像 发表于 05-09 10:12 386次阅读
    左蓝微电子发布高性能及小尺寸<b class='flag-5'>Band</b>26、<b class='flag-5'>Band</b>20双工器

    有什么蓝牙音频发射模块支持单片机控制连接需要配对码的设备

    目前我找到的蓝牙发射模块都不能连接需要输入配对码的蓝牙设备,比如特斯拉的中控音响,谁能推荐一款模块或芯片可以完成以下功能的:1、连接到需要配对码的
    发表于 04-08 14:25

    关于BlueNRG 355MC蓝牙与其他蓝牙模块配对的问题求解

    BlueNRG(主机)与其他蓝牙模块(从机)(非ST)使用passkey配对时,输入错误的密钥时,会马上触发disconnect事件,错误码是0x08,没有触发配对完成事件,输入正确的密钥时,没有
    发表于 03-28 07:59

    手机与BLE配对PIN密码如何指定为固定的,而不是动态生成?

    手机与BLE配对时的PIN 6位密码是BLE自己产生的,如何代码里指定此密钥?类似于蓝牙耳机和音箱的 1234、8888这样的PIN配对密码。不甚感激解答
    发表于 02-19 06:38

    华为freebuds5i怎么配对 华为freebuds5i使用说明

    华为 FreeBuds 5i 是一款无线蓝牙耳机,可以提供优质音频体验。在使用之前,用户需要将 FreeBuds 5i 和设备进行配对。下面详细介绍了华为 Freebuds 5i 的配对步骤以及
    的头像 发表于 01-26 16:50 2.7w次阅读

    蓝牙耳机怎么连接电脑配对

    蓝牙耳机连接电脑配对是一项非常方便的功能,它可以让您在工作、娱乐或学习时无需使用有线耳机,更加自由和便捷。在本文中,我们将详细介绍如何连接蓝牙耳机到电脑并完成配对。 第一步:检查电脑
    的头像 发表于 01-11 16:53 1929次阅读