从HCI层分析BLE SMP配对流程

概况

BLE SMP配对流程,不管是legacy方式还是secure connection方式,都是分为3个阶段,如下图core spec描述:
在这里插入图片描述

  • 阶段一:

配对双方交换IO Capability,比如支不支持显示,有没有输入能力等,以此作为步骤二配对方式的依据。

  • 阶段二:

根据不同的配对方式(有四种方式:just works, passkey entry, OOB和Numeric comparison),根据一定的算法,进行身份验证,最后再算出链路数据加密所需的密钥。

  • 阶段三:

分发步骤二算出的各种密钥,这个legacy和sc配对后分发的密钥也不一样。

再看看HCI Log:
在这里插入图片描述
从上图可以看到阶段一,二,三在HCI层表现的非常清晰,而且阶段二还细分了两个阶段,即SMP Authentication stage 1和SMP Authentication Stage 2,分两个步骤做身份验证,具有非常强的安全性,可以从这份HCI LOG看出手机和耳机是Numeric Comparison方法,Secure Connection配对方式。

详解:

阶段一:

在这里插入图片描述
上图是手机发起的pairing request,耳机回复了pairing response,我们注意关注两个参数:IO capability和CT2,手机可以显示,耳机没有输入,也没有显示。CT2置上了表示需要用secure conection方式配对加密。

阶段二:

1:交换公钥

在这里插入图片描述
手机和耳机由于采用的是非对称加密,私钥用于解密,公钥用于加密,耳机和手机会保留各自的私钥,然后交换公钥,然后双方用各自的私钥和对方的公钥通过椭圆曲线算法P256算出DHKey。

2:身份验证

2.1:阶段1----随机数验证

在这里插入图片描述

从上图可以看到,耳机首先发给手机一个随机数Confirm值,这个值是耳机通过随机数加上两边的公钥,用一个公开的算法得出,这个值为Cb,然后手机发送自己的随机数Na给耳机,耳机发送自己的随机数Nb给手机,然后双方各自做验证,看看算出的Confirm值是不是相同,看看core spec给出的原理图:
在这里插入图片描述

2.2:阶段2----DHKEY验证

在这里插入图片描述
从HCI Log看,就是手机发送一个Ea给耳机,耳机发送一个Eb给手机,双方互相验证是否一致,Ea和Eb。但这一步还会算出LTK和MacKey(message authentication code,一个校验码,用于防止中间人攻击),看看core spec给出的原理图:
在这里插入图片描述

3:密钥分发

在这里插入图片描述
从上图可以看出SC配对方式,耳机和手机需要交换的密钥信息,分别是IRK,CSRK,和地址。
IRK:用于解析可解析的随机地址。
CSRK:用于校验数据的完整性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

jiang_bluetooth

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值