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

手把手教你:解析BLE 传统配对第二阶段Confirm Value值

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

一、前言

本篇会延续上一篇文章“手把手教你:BLE 传统配对 Pairing Confirm 指令深度解析”的内容,主要讲解配对第二阶段中的Pairing Confirm指令中的Confirm Value。

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

二、阅读说明

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

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

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

三、正文

1、使用的SDK

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

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

3、Pairing Confirm报文结构

该报文结构由一个code值和Confirm Value的值产生,其中code为0x03占据一个字节,Confirm Value占据16个字节。

4、Confirm Value详解

4.1、主机产生的Mconfirm

如上图所示,Mconfirm是由c1算法的来的,其中c1算法需要传入以下内容:

    TK,这里的TK为0
    Mrand:主机产生的随机数,128 bit
    Pairing Request command:配对请求命令,56 bit
    Pairing Response command:配对响应命令,56 bit
    initiating device address type:主机地址类型,1 bit
    initiating device address:主机地址,48 bit
    responding device address type:从机地址类型,1bit
    responding device address:从机地址,48 bit

4.2、主机产生的Sconfirm

如上图所示,Sconfirm是由c1算法的来的,其中c1算法需要传入以下内容:

    TK,这里的TK为0
    Srand:从机产生的随机数,128 bit
    Pairing Request command:配对请求命令,56 bit
    Pairing Response command:配对响应命令,56 bit
    initiating device address type:主机地址类型,1 bit
    initiating device address:主机地址,48 bit
    responding device address type:从机地址类型,1bit
    responding device address:从机地址,48 bit

由4.1和4.2可以看出,Mconfirm和Sconfirm的计算方法都是一样,其中只有一个数据不一样就是Mrand和Srand。

五、结尾

本篇讲解了Pairing Confirm指令中的Confirm Value值的计算方法,下一篇讲解Mrand和Srand。

相关推荐