蓝牙连接及安全基础

这篇具有很好参考价值的文章主要介绍了蓝牙连接及安全基础。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1.蓝牙基础介绍

蓝牙(Bluetooth)一词取自于十世纪丹麦国王哈拉尔HaralBluetooth。而将“蓝牙”与后来的无线通讯技术标准关联在一起的,是一位来自英特尔的工程师 Jim Kardach。他在一次无线通讯行业会议上,提议将“Bluetooth”作为无线通讯技术标准的名称。

蓝牙技术让各种数码设备之间能够无线沟通,让散落各种连线的桌面成为历史。如今,蓝牙已经成为最庞大的无线通讯技术之一,被应用在智能家居、智能穿戴设备、安防设备、远程遥控等各类产品中,并逐渐渗透到各个行业及领域。可以说蓝牙已经融入进我们生活的方方面面,悄无声息地改变着我们的生活习惯,让我们的日常生活变得更加便利。

不过,蓝牙技术的一路发展可谓坎坷曲折,从1.0到4.2 再到现在的5.2,这是一个不平凡的历程。

1.1 蓝牙技术发展历程

第一代蓝牙:关于短距离通讯早期的探索

1999 年:蓝牙 1.0

早期的蓝牙 1.0 A 和 1.0B 版存在多个问题,有多家厂商指出他们的产品互不兼容。同时,在两个设备“链接”(Handshaking)的过程中,蓝牙硬件的地址(BD_ADDR)会被发送出去,在协议的层面上不能做到匿名,造成泄漏数据的危险。

因此,当 1.0 版本推出以后,蓝牙并未立即受到广泛的应用。除了当时对应蓝牙功能的电子设备种类少,蓝牙装置也十分昂贵。

2001 年:蓝牙 1.1

蓝牙 1.1 版正式列入 IEEE 802.15.1 标准,该标准定义了物理层(PHY)和媒体访问控制(MAC)规范,用于设备间的无线连接,传输率为 0.7Mbps。但因为是早期设计,容易受到同频率之间产品干扰,影响通讯质量。

2003 年:蓝牙 1.2

蓝牙 1.2 版针对 1.0 版本暴露出的安全性问题,完善了匿名方式,新增屏蔽设备的硬件地址(BD_ADDR)功能,保护用户免受身份嗅探攻击和跟踪,同时向下兼容 1.1 版。

第二代蓝牙:发力传输速率的 EDR 时代

2004 年:蓝牙 2.0

蓝牙 2.0 是 1.2 版本的改良版,新增的 EDR(Enhanced Data Rate)技术通过提高多任务处理和多种蓝牙设备同时运行的能力,使得蓝牙设备的传输率可达 3Mbps。

蓝牙 2.0 支持双工模式:可以一边进行语音通讯,一边传输文档/高质素图片。

2007 年:蓝牙 2.1

蓝牙 2.1 新增了 Sniff Subrating 省电功能,将设备间相互确认的讯号发送时间间隔从旧版的 0.1 秒延长到 0.5 秒左右,从而让蓝牙芯片的工作负载大幅降低。

第三代蓝牙:High Speed,传输速率高达 24Mbps

2009 年:蓝牙 3.0

蓝牙 3.0 新增了可选技术 High Speed,High Speed 可以使蓝牙调用 802.11 WiFi 用于实现高速数据传输,传输率高达 24Mbps,是蓝牙 2.0 的 8 倍,轻松实现录像机至高清电视、PC 至 PMP、UMPC 至打印机之间的资料传输。

蓝牙 3.0 的核心是 AMP(Generic Alternate MAC/PHY),这是一种全新的交替射频技术,允许蓝牙协议栈针对任一任务动态地选择正确射频。

功耗方面,蓝牙 3.0 引入了 EPC 增强电源控制技术,再辅以 802.11,实际空闲功耗明显降低。

此外,新的规范还加入 UCD 单向广播无连接数据技术,提高了蓝牙设备的相应能力。

第四代蓝牙:主推“ Low Energy”低功耗

2010 年:蓝牙 4.0

蓝牙 4.0 是迄今为止第一个蓝牙综合协议规范,将三种规格集成在一起。其中最重要的变化就是 BLE(Bluetooth Low Energy)低功耗功能,提出了低功耗蓝牙、传统蓝牙和高速蓝牙三种模式。

2013 年:蓝牙 4.1

蓝牙 4.1 在传输速度和传输范围上变化很小,但在软件方面有着明显的改进。此次更新目的是为了让 Bluetooth Smart 技术最终成为物联网(Internet of Things)发展的核心动力。

2014 年:蓝牙 4.2

蓝牙 4.2 的传输速度更加快速,比上代提高了 2.5 倍,因为蓝牙智能(Bluetooth Smart)数据包的容量提高,其可容纳的数据量相当于此前的10倍左右。

蓝牙技术变迁历史

第五代蓝牙:开启「物联网」时代大门

2016 年:蓝牙 5.0

蓝牙 5.0 在低功耗模式下具备更快更远的传输能力,传输速率是蓝牙 4.2 的两倍(速度上限为 2Mbps),有效传输距离是蓝牙 4.2 的四倍(理论上可达 300 米),数据包容量是蓝牙 4.2 的八倍。

支持室内定位导航功能,结合 WiFi 可以实现精度小于 1 米的室内定位。针对 IoT 物联网进行底层优化,力求以更低的功耗和更高的性能为智能家居服务。

低功耗版蓝牙与经典版蓝牙参数

2019 年:蓝牙 5.1

蓝牙 5.1 新增「寻向(direction finding)功能」,配合蓝牙近接(proximity)技术,即可让设备更容易被侦测发现,同时将蓝牙定位的精准度提升到厘米级,借此应用在小型蓝牙设备中实现定位。如此一来,大家在丢失了AirPods这类小巧的蓝牙配件的时候,也就更容易找到了。当然,蓝牙5.1的寻向功能并不只是用于寻找物件,还可以用户更好的室内导览、信息提供等用途。

2020 年:蓝牙 5.2

蓝牙5.2的新特性主要体现在3个方面:增强型ATT协议;LE功耗控制;LE同步信道,其中最引人注目的是下一代蓝牙音频LE Audio的颁布。LE Audio不仅支持连接状态及广播状态下的立体声,还将通过一系列的规格调整增强蓝牙音频性能,包括缩小延迟,通过LC3编解码增强音质等。在通过LE实现短距离万物互联后,加上LE Audio,这将使得蓝牙在物联网时代获得彻底新生和腾飞。

1.2 蓝牙关键技术点

Bluetooth的主要技术特点:

(1)、工作频段:2.4GHz的ISM频段,无需申请许可证。大多数国家使用79个频点,载频为(2402+k)MHz(k=0,1, 2…78),载频间隔1MHz。采用TDD时分双工方式。

蓝牙配对连接过程原理,蓝牙,安全,网络,信息与通信,信号处理,物联网

(2)、传输速率:BR/EDR 1M/2M/3M bps , BLE 1M/2M bps

(3)、调试方式:GFSK

4)、采用跳频技术:跳频速率为1600跳/秒,在建连时(包括寻呼和查询)提高为3200跳/秒。蓝牙通过快跳频和短分组技术减少同频干扰,保证传输的可靠性。

(5)、语音调制方式:连续可变斜率增量调制(CVSD,Continuous Variable Slope Delta Modulation),抗衰落性强,即使误码率达到4%,话音质量也可接受。

(6)、支持电路交换和分组交换业务:蓝牙支持实时的同步定向联接(SCO链路)和非实时的异步不定向联接(ACL链路),前者主要传送语音等实时性强的信息,后者以数据包为主。语音和数据可以单独或同时传输。蓝牙支持一个异步数据通道,或三个并发的同步话音通道,或同时传送异步数据和同步话音的通道。每个话音通道支持64kbps的同步话音;异步通道支持723.2/57.6kbps的非对称双工通信或433.9kbps的对称全双工通信。

(7)、支持点对点及点对多点通信:蓝牙设备按特定方式可组成两种网络:微微网(Piconet)和分布式网络(Scatternet),其中微微网的建立由两台设备的连接开始,最多可由八台设备组成。在一个微微网中,只有一台为主设备(Master),其它均为从设备(Slave),不同的主从设备对可以采用不同的链接方式,在一次通信中,链接方式也可以任意改变。几个相互独立的微微网以特定方式链接在一起便构成了分布式网络。所有的蓝牙设备都是对等的,所以在蓝牙中没有基站的概念。

2.蓝牙连接过程

2.1  BR/EDR 连接过程(ACL连接)

蓝牙配对连接过程原理,蓝牙,安全,网络,信息与通信,信号处理,物联网步骤2  feature 交换蓝牙配对连接过程原理,蓝牙,安全,网络,信息与通信,信号处理,物联网

步骤3  LM发送连接请求

蓝牙配对连接过程原理,蓝牙,安全,网络,信息与通信,信号处理,物联网

步骤4 接受连接或者角色交换【optional】

蓝牙配对连接过程原理,蓝牙,安全,网络,信息与通信,信号处理,物联网

蓝牙配对连接过程原理,蓝牙,安全,网络,信息与通信,信号处理,物联网

步骤5 使能自适应频率选择功能(AFH)【optional】

蓝牙配对连接过程原理,蓝牙,安全,网络,信息与通信,信号处理,物联网

步骤6 鉴权请求【optional蓝牙配对连接过程原理,蓝牙,安全,网络,信息与通信,信号处理,物联网

步骤7 配对鉴权 或 鉴权【optional】

如果在步骤6中,host收到controller的HCI_link_Key_Request请求事件后,本地没有对端设备的link key。则将向controller回复HCI_Link_Key_Request_Negative_Reply。

然后,将有LM层发起配对过程,下图是传统配对流程图。

蓝牙配对连接过程原理,蓝牙,安全,网络,信息与通信,信号处理,物联网

如果在步骤6中,host收到controller的HCI_link_Key_Request请求事件后,本地存储有对端设备的link key。则将向controller回复HCI_Link_Key_Request_ Reply。然后双方进行鉴权过程。

蓝牙配对连接过程原理,蓝牙,安全,网络,信息与通信,信号处理,物联网

步骤8 加密【optional】

当完成了步骤7以后,加密流程可以被启动。

蓝牙配对连接过程原理,蓝牙,安全,网络,信息与通信,信号处理,物联网

步骤9 连接完成

链路层连接完成后,将会向host发送HCI_Connection_Complete事件。Host收到该事件后,可以进行接下来的服务级连接和操作。

蓝牙配对连接过程原理,蓝牙,安全,网络,信息与通信,信号处理,物联网

步骤10 连接断开

当连接不再需要保持时,任何一端可以主动断开连接。通过host层下发HCI_Disconnect命令给controller来进行ACL连接的断开。

蓝牙配对连接过程原理,蓝牙,安全,网络,信息与通信,信号处理,物联网

蓝牙配对连接过程原理,蓝牙,安全,网络,信息与通信,信号处理,物联网

2.2  BR/EDR配对流程

BR/EDR配对的目的是为了协商他们共同的link key,用于两个设备之间的鉴权和数据加密目的。

在BR/EDR中,配对流程都是在芯片(controller)中实现的。在BLE中,配对过程是在host层实现的。

BR/EDR的配对过程分为legacy pairing 和 security simple pairing。只有双方均支持SSP的时候,才能启动SSP配对过程,否则双方启动legacy pairing。

2.2.1  Legacy pairing

蓝牙配对连接过程原理,蓝牙,安全,网络,信息与通信,信号处理,物联网

2.2.2  security simple pairing

蓝牙配对连接过程原理,蓝牙,安全,网络,信息与通信,信号处理,物联网

蓝牙配对连接过程原理,蓝牙,安全,网络,信息与通信,信号处理,物联网

安全简单配对主要分为4个阶段:

n  IO能力交换

两个设备之间通过IO能力交换。来确定下面的阶段要具体使用的身份验证模型:

Numeric comparison, Passkey entry, Out of band.

蓝牙配对连接过程原理,蓝牙,安全,网络,信息与通信,信号处理,物联网

蓝牙配对连接过程原理,蓝牙,安全,网络,信息与通信,信号处理,物联网

公钥交换

蓝牙配对连接过程原理,蓝牙,安全,网络,信息与通信,信号处理,物联网

n  认证阶段1 – 身份认证

认证阶段1有三种模型,可以通过使用 Numeric Comparison 、 Passkey Entry 、 OOB 这三种鉴权模型之一进行身份验证,鉴权模型的选择取决于两个设备的IO能力的组合。

Numeric Comparison当两个设备都具有输出功能时,或者其中一个设备没有输入或输出功能,则将执行数字比较步骤。如果两个设备都有输出功能,则此步骤需要向用户显示确认值这个值应该显示到步骤8结束为止;如果一个或两个设备没有输出功能,则使用相同的协议,但是协议栈Host将跳过要求用户确认的环节,这就是Just Works模型。

其流程图如下,该图省略了用户确认数字的计算过程:

蓝牙配对连接过程原理,蓝牙,安全,网络,信息与通信,信号处理,物联网

此时,一般会在UI界面上弹窗,让用户进行确认。

Passkey Entry在如下两种情况下使用Passkey Entry模型执行省份验证当一个设备仅有数字输入,而另一个设备具有显示或数字输入能力当两个设备都仅具有数字输入能力。

流程图如下:

蓝牙配对连接过程原理,蓝牙,安全,网络,信息与通信,信号处理,物联网

Out of Band:只有当两个设备都有一些OOB信息要使用时,OOB身份验证才会完成。 此身份验证方式不需要用户参与。由于市面上使用该方法验证省份进行配对的蓝牙设备比较少,这里就不做深入分析了。

n  认证阶段2 – DHKey Check

必选步骤,一旦设备经过身份验证,并且DHKey计算已经完成(通过步骤6交换的公钥计算得到的),就会检查生成的DHKey值。如果成功,那么这两个设备都将完成向用户显示信息的操作,因此从Controller向Host发送消息通知双方停止显示此信息。

蓝牙配对连接过程原理,蓝牙,安全,网络,信息与通信,信号处理,物联网

Link Key计算

简单的配对完成,链接密钥(Link Key)就可以从DHKey中计算出来,这应该用作标准相互身份验证的输入,并通过HCI事件上报Host保存。

蓝牙配对连接过程原理,蓝牙,安全,网络,信息与通信,信号处理,物联网

对应的HCI报文如下图:

蓝牙配对连接过程原理,蓝牙,安全,网络,信息与通信,信号处理,物联网

启动加密

必选步骤,鉴权随着Link Key的上报就完成了,那接下来Host就可以使用标准方法对数据交互进行加密。

蓝牙配对连接过程原理,蓝牙,安全,网络,信息与通信,信号处理,物联网

鉴权加密流程成功完成也即是SSP简单配对流程结束,接下来蓝牙l2cap链路就可以安全地建立连接了。

当我们两个设备之间配对过以后,再次连接则不需要再次配对,直接进行启动加密即可。

蓝牙配对连接过程原理,蓝牙,安全,网络,信息与通信,信号处理,物联网

蓝牙配对连接过程原理,蓝牙,安全,网络,信息与通信,信号处理,物联网

2.3  BLE连接过程

蓝牙配对连接过程原理,蓝牙,安全,网络,信息与通信,信号处理,物联网

2.3.1    BLE 链路层连接过程(ACL连接)

蓝牙配对连接过程原理,蓝牙,安全,网络,信息与通信,信号处理,物联网

蓝牙配对连接过程原理,蓝牙,安全,网络,信息与通信,信号处理,物联网

2.3.2    BLE 配对鉴权

BLE的配对鉴权在host层的SMP协议中实现,一般在上述ACL连接完成后进行。大体流程如下:(Vol 3, Part H Security Manager Specification)

蓝牙配对连接过程原理,蓝牙,安全,网络,信息与通信,信号处理,物联网

蓝牙配对连接过程原理,蓝牙,安全,网络,信息与通信,信号处理,物联网文章来源地址https://www.toymoban.com/news/detail-845834.html

到了这里,关于蓝牙连接及安全基础的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • win10无线鼠标需要插拔才有反应和蓝牙配对成功无法连接解决方法

    1,每次开机鼠标都要插拔一下才有反应 把电源设置的 “启动快速启动(推荐)”取消 。     2,蓝牙配对成功了,但是连接不成功 蓝牙和其他设备》更多蓝牙选项》 勾选“允许蓝牙设备查找这台电脑”   ,设置后开机都能自动连上我之前配对成功的蓝牙音响了,之前还要手

    2024年02月04日
    浏览(60)
  • 信息安全-网络安全漏洞防护技术原理与应用

    网络安全漏洞: 又称为脆弱性,简称漏洞。 漏洞 一般是 致使网络信息系统安全策略相冲突的缺陷 ,这种缺陷通常称为 安全隐患 安全漏洞的影响: 主要有机密性受损、完整性破坏、可用性降低、抗抵赖性缺失、可控制性下降、真实性不保等 根据已经公开的漏洞信息,网络

    2024年02月11日
    浏览(51)
  • 小程序 蓝牙连接与回连过程

    小程序蓝牙连接过程包括扫描设备、连接设备和发送数据等步骤 具体步骤如下: 打开蓝牙:在小程序中调用wx.openBluetoothAdapter()函数打开蓝牙适配器。 监听蓝牙适配器状态:使用wx.onBluetoothAdapterStateChange()函数监听蓝牙适配器的状态变化,如蓝牙是否可用、是否已打开等。 扫

    2024年02月20日
    浏览(16)
  • 信息安全概论之《密码编码学与网络安全----原理与实践(第八版)》

    前言:在信息安全概论课程的学习中,参考了《密码编码学与网络安全----原理与实践(第八版)》一书。以下内容为以课件为主要参考,课本内容与网络资源为辅助参考,学习该课程后作出的总结。 该课程不是密码学编程,也不是网络安全攻防课程,而是学生进入信息安全

    2024年02月10日
    浏览(36)
  • 小程序 蓝牙配对

    序:有一个项目遇到连接蓝牙要配对,怎么搞呢?看文档啊wx.makeBluetoothPair(Object object) | 微信开放文档 好吧!蓝牙配对接口,仅安卓支持;你们也知道了,这是不可控的行为,它是系统自带的,设备调起的,直接 wx.createBLEConnection() 创建连接,都会弹出这个配码弹窗,怎么处

    2024年02月11日
    浏览(39)
  • 微信小程序之蓝牙连接全过程封装

    1、初始化蓝牙 不管是ios操作系统还是安卓操作系统,第一步都需要初始化蓝牙 2、获取蓝牙适配器状态 3、ios和安卓的操作系统对蓝牙的连接方式不同 安卓是直接对设备的macAddress进行连接 ios需要对周边的蓝牙设备就行搜索: 4、蓝牙连接 5、获取蓝牙多个service 6、开启notif

    2024年02月15日
    浏览(38)
  • HC05蓝牙模块配对步骤

    如果要使用HC05进行通信的话,配置蓝牙名称,配对密码,设置主从模式,设置波特率,然后退出AT模式,使用HC05连接另一个蓝牙设备即可,使用单片机向连接蓝牙的串口便可以收发数据了。 HC05蓝牙模块的AT模式设置的方法有以下三种: 一、默认设置 模块工作角色:从模式

    2024年02月15日
    浏览(48)
  • 信息与网络安全基础知识汇总

    1.网络信息安全基本概念 信息安全 :是指信息网络中的硬件、软件及其系统中的数据受到保护,不受偶然的或者恶意的原因而遭到破坏、更改、泄露、否认等,系统连续可靠正常的运行,信息服务不中断。 密码学: 是结合数学、计算机科学、电子与通信等学科于一体的交叉

    2024年02月03日
    浏览(39)
  • Android Bluetooth | 蓝牙配对源码分析

    好厚米们,我又来了! 这次分享的是 蓝牙设备执行配对动作时Android源码的执行流程。 下面先来说下, 应用层是如何发起蓝牙配对的: ( ps:大多数业务逻辑,都是扫描到可用设备后,点击可用设备 - 发起配对。) 这里我直接略过点击可用设备的步骤哈,扫描到第一个可用

    2024年02月06日
    浏览(52)
  • 蓝牙模块HC-05 AT指令使用以及两个蓝牙模块的配对

      蓝牙模块用的就 是某宝常见的蓝牙模块,首先要将蓝牙模块进入AT模式,按住蓝牙按键后再通电就会进入蓝牙的AT模式,进入AT模式后蓝牙led慢闪,然后就可以利用TTL或者J-Link与串口助手给模块发送AT指令了,AT指令有很多,这里我讲几个常用的就行。 初始波特率好像是384

    2024年02月03日
    浏览(71)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包