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

手把手教你:分析BLE 配对第二阶段链接层LL_ENC_RSP指令

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

一、前言

本篇将结合抓包数据和蓝牙协议文件,讲解配对的第二阶段链接层从机回复的LL_ENC_RSP指令。

二、阅读说明

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

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

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

三、正文

1、使用的SDK

使用的sdk和demo为该篇文章描述的“手把手教你:BLE设备如何和手机进行加密配对绑定”;

2、配对第二阶段所处的位置

如上图红色框出来的,这个是配对第二阶段,在第二阶段的时候我们使用的是Just Works方式,见上图红色圈出来的。

3、链接层时序所处的位置

如上图所示,链接层的时序位置处于配对第二阶段的最后面,在主从机计算完了STK的后面。

4、LL_ENC_RSP再连接层时序中所处的位置

LL_ENC_RSP如上图红色的框所示

5、LL_ENC_RSP命令在蓝牙协议中的解释

    LL_ENC_RSP的操作码:0x04SKDs:从机的会话密钥IVs:从机的初始化向量

备注:从机在这里会传输给主机自己的会话密钥和初始化向量,后面使用AES CCM进行加密的时候会用到。

6、LL_ENC_RSP空中抓包数据

    • 操作码:0x04Slave Session Key Diversifier:协议里面的SKDs,值为

7620169741025715405

Slave Session Initialization Vector:协议里面的IVs,值为

4207536040

五、结尾

本篇分析了配对流程中第二阶段中链接层LL_ENC_RSP,下一篇将分析主机从发出的SKDm SKDs和IVm IVs的使用用法。

我写了一个合集,不依赖 Nordic、泰凌、瑞萨等厂商商用 BLE 协议栈,从无线底层链路层入手,从零手写 BLE 广播扫描逻辑,拆解蓝牙广播包、信道切换、射频调度、广播数据解析完整流程,适合想吃透 BLE 底层、自主开发蓝牙工具、规避商用协议栈授权限制的嵌入式开发者。

相关推荐