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

手把手教你:拆解BLE 配对第二阶段时序过程

06/26 08:11
161
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

一、前言

本篇讲解配对的第二阶段时序,主从机都做了什么动作。

二、阅读说明

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

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

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

三、正文

1、使用的SDK

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

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

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

3、配对第二阶段时序图

由上图所示,现在来详细讲解下该时序图的流程:

第一步:在第一阶段交换了彼此的配对特性之后,如上图的第1和2

第二步:创建随机数,主机为Mrand,从机为Srand,并且创建临时秘钥TK,just work默认的TK为0,之后调用c1函数计算confirm,主机为Mconfirm,从机为Sconfirm,如上图中的3。

第三步:主从机交换confirm,如上图中的4和5,。

第四步:主从机将彼此的rand发送给对方,如上图中的6和7,并且拿到对方的rand之后反向的计算confirm是否和之前接收到的匹配,如果匹配则继续下一步,不匹配则退出配对。

第五步:计算短期秘钥STK,通过调用s1函数,其中s1函数需要带入TK,Srand和Mrand的值。第六步:链路层开始加密,使用上一步计算出来的短期密钥STK。

五、结尾

本篇讲解了配对流程中第二阶段中时序过程,下一篇将讲解配对第二阶段的链路层加密相关的内容。

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

相关推荐