一、前言
本篇会讲解安全连接的第二阶段,公钥交换流程。
二、阅读说明
三、正文
1、基础软件说明本篇文章采用的软件是之前文章里面的修改了MTU大小的软件,上一篇文章链接如下:手把手教你:BLE安全连接-修改MTU的大小
2、公钥交换时序流程图
如上图所示,当第一阶段主机和从机的特性交换完毕之后,开始进入第二阶段,第二阶段首先进行的是彼此之间公钥的交换。
3、公钥概念解释
从上面的文字中可以看出来公钥是怎么产生的,首先主机或者从机自己会使用椭圆曲线-迪菲赫尔曼(ECDH)算法来产生自己的密钥对,该密钥对里面就包含了64字节的公钥。备注:该椭圆曲线使用的算法是P256,所以最终产生的公钥为64字节的。
如下是公钥和私钥举例:
该例子使用的蓝牙spec里面的ECDH debug mode中的公钥和私钥,我们在进行调试的时候可以使用debug mode来进行调试,这样的话我们就可以通过抓包来看到加密后的数据了。
4、公钥交换指令
如上图所示,是公钥交换的指令格式,其中公钥X和公钥Y都为32个字节,合起来就是64个字节。
备注:低功耗蓝牙中强制使用P256算法,所以这边的公钥的字节大小会是64个字节。
四、结尾
本篇主要讲解安全连接配对第二阶段的公钥交换过程,并讲解了公钥的概念,下一篇开始讲解抓包的数据
阅读全文
204