• 正文
  • 相关推荐
申请入驻 产业图谱

手把手教你:分析 BLE 设备发出的配对请求命令

06/15 07:18
240
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

一、前言

本篇会结合蓝牙协议文件,抓包消息来分析BLE设备的配对第一阶段中的加密请求。备注:本文采用的配对方式为为传统配对(LE legacy pairing)Just Work方式,也就是最低等级的加密配对。主要针对设备双方都没有输入和输出能力的时候,所谓没有输入和输出能力,也就是没有键盘和显示屏

二、阅读说明

1、泰凌微芯片学习者,前期使用过该芯片。

2、能够知道怎么进行创建工程,下载代码。

3、有一块开发板,板上的芯片可以是8251,8253或者8258。

三、正文

1、使用的SDK使用的sdk和demo为该篇文章描述的“手把手教你:BLE设备如何和手机进行加密配对绑定”,微信公众号文章链接为:手把手教你:BLE设备如何和手机进行加密配对绑定

2、加密请求(Security_Request)所处的位置

第一条指令Security_Request是由从机发出,也就是当前的开发板。

3、加密请求(Security_Request)的作用

加密请求的作用是告知主机接下来需要加密链路,发起配对流程。

4、加密请求(Security_Request)命令格式

    • code:值为0x0BAuthReq:用于表示生成短期密钥和长期密钥所需要的属性信息和绑定信息,具体如下

其中详细的信息介绍如下:Bonding_Flags:表示是需要需要绑定,见下图

MITM:表示是否使用中间人保护,为1为需要使用中间人保护,为0则不需要,我们目前使用的just work方式,该方式不支持中间人保护。

SC:是否支持安全加密,为1则支持,为0则不支持,目前我们设备使用的just work方式不支持

Keypress:表示是否使用按键输入作为配对的方式,目前我们的设备不支持

5、抓包信息显示

如上抓包信息显示,从机设备支持绑定,不支持按键输入,安全加密,中间人保护

6、思考题当前的安全请求命令为可选的,如果从机不发送安全请求命令会怎么样?

五、结尾

本篇讲解了配对流程的第一条指令安全请求(Security_Request)命令,下一篇将讲解配对请求命令。另外我开了一个手写广播设备的合集,该合集的内容为不依赖泰凌微的蓝牙协议栈自己一步一步通过编写代码来实现的BLE广播设备。

相关推荐