一、前言
本篇会结合抓包文件和蓝牙spec来分析主机支持的配对类型,其类型有两类第一类为传统配对,第二类为安全连接。
二、阅读说明
1、泰凌微芯片使用者。
2、蓝牙 spec学习者
三、正文
1、基础软件说明本篇文章采用的软件是之前文章里面的修改了MTU大小的软件,上一篇文章链接如下:手把手教你:BLE安全连接-修改MTU的大小
2、主机发送的配对请求指令的位置
该指令是在从机发出了加密请求之后才开始发送的。注意当前的配对是出于第一阶段。
3、分析主机发出的配对请求指令
Frame 8375: 37 bytes on wire (296 bits), 37 bytes captured (296 bits) on interface wireshark_extcap3720, id 0Nordic BLE SnifferBluetooth Low Energy Link LayerBluetooth L2CAP ProtocolBluetooth Security Manager ProtocolOpcode: Pairing Request (0x01)IO Capability: Keyboard, Display (0x04)OOB Data Flags: OOB Auth. Data Not Present (0x00)AuthReq: 0x2d, Secure Connection Flag, MITM Flag, Bonding Flags: Bonding001. .... = Reserved: 0x1...0 .... = Keypress Flag: False.... 1... = Secure Connection Flag: True.... .1.. = MITM Flag: True.... ..01 = Bonding Flags: Bonding (0x1)Max Encryption Key Size: 16Initiator Key Distribution: 0x0f, Link Key, Signature Key (CSRK), Id Key (IRK), Encryption Key (LTK)Responder Key Distribution: 0x0f, Link Key, Signature Key (CSRK), Id Key (IRK), Encryption Key (LTK)
如上所示,主机发出的AuthReq字段中Secure Connection Flag标志为1,这说明当前主机是支持安全连接的,如果从机也支持安全连接,那么接下来采用的配对为安全连接。
备注:从机随后会发出配对响应指令,该指令中也会携带AuthReq字段,如果从机中Secure Connection Flag标志为1,那么主机和从机就会走完全连接,如果两方有一个不为1,那么就会走安全连接。
前一篇文章中的从机发送的加密请求指令里面也是携带了AuthReq字段的,该字段只是告诉主机我支持什么类型,主机可以采用也不可以不采用,我们要以从机的配对响应命令里的AuthReq为标准。
4、蓝牙spec中配对请求指令描述
我们今天分析的是AuthReq指令里面的Secure Connection Flag,其他的字段的意思就不再进行讲解了,需要了解的请看《手把手教你:分析 BLE 设备发出的配对请求命令》。
四、结尾
本篇主要讲解了主机配对请求命令,下一节开始讲解从机发出的配对响应命令。
132