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

手把手教你:BLE 传统配对 Pairing Confirm 指令深度解析

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

一、前言

本篇会讲解配对第二阶段中的Pairing Confirm指令,用于启动生成STK密钥,如果是安全连接则会启动生成LTK。

该命令中会携带Confirm Value的值,该值是使用算法进行计算得出的,主机和从机都会彼此传输Confirm Value的值,该值会被暂时保存到本地,之后主机和从机还会传输彼此的Mrand和Srand,主机和从机拿到该之后之后会进行计算Confirm Value的值,计算完成之后会和本地保存的进行比对,如果匹配则配对成功,不匹配则失败,匹配成功之后,最后会进行一个STK的计算。

注意上面描述的Mrand和Srand本篇文章中不会进行讲述,之后的文章中会进行讲述。

备注:本文采用的配对方式为为传统配对(LE legacy pairing)Just Work方式,也就是最低等级的加密配对。主要针对设备双方都没有输入和输出能力的时候,所谓没有输入和输出能力,也就是没有键盘和显示屏

二、阅读说明

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

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

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

三、正文

1、使用的SDK

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

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

3、主机发送给从机的Pairing Confirm指令

    操作码(Opcode):0x03配对确认值(Confirm Value):d02d38460cdf0e4545d4f696a0c3c03f

4、Pairing Confirm指令协议解释

4.1、整体描述

该段描述了Pairing Confirm的作用,是为了生成STK的,也就是短期密钥,如果是安全连接则用来生成LTK,也就是长期密钥。

4.2、报文结构

该报文结构由一个code值和Confirm Value的值产生,实际的抓包请看第3小节。

4.3、报文内容描述

五、结尾

本篇讲解了Pairing Confirm指令,下一篇将针对该命令中的Confirm Value做详细的讲解。

相关推荐