一、前言
本篇会讲解配对第二阶段中的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做详细的讲解。
194