微波EDA网,见证研发工程师的成长!
首页 > 射频和无线通信 > 射频无线通信文库 > 蓝牙安全管理SM的配对方法

蓝牙安全管理SM的配对方法

时间:09-26 来源: 点击:

28-bit随机数Srand,并使用这个Srand结合一些其他的输入,使用密码工具箱中c1计算出一个128-bit的Sconfirm值:

  Sconfirm = c1(TK, Srand,

  Pairing Request command, Pairing Response command,

  initiating device address type, initiating device address,

  responding device address type, responding device address)

  然后Initiator将其计算的Mconfirm值通过Pairing Confirm包发送给Responder,而Responder也将其计算的Sconfirm值通过Pairing Confirm包发送给Initiator;

  Initiator收到Sconfirm后,再将Mrand值通过Pairing Random包发送给Responder;

  Responder收到Mrand值后计算它的Mconfirm值,再跟前面那个Initiator送过来的Mconfirm值进行比较,若不同说明配对失败了。若相同,则Responder也会将它的Srand值通过Pairing Random包发送给Initiator;

  而Initiator也会计算收到的Srand值的Sconfirm值,并跟前面那个Responder送过来的Sconfirm值进行比较,若不同说明配对失败了,若相同,继续;

  Initiator计算STK,并通知其Controller允许链路加密:

  STK = s1(TK, Srand, Mrand)

  纵观以上各过程,其实就是两者互送一个128-bit随机数用来生成STK。窃听者或攻击者只要知道TK,这步骤是很容易破解的。

  LE Secure Connections的第二阶段

  即LTK的生成,比Legacy pairing还是复杂很多的,这也是BT 4.2安全性要高很多的原因了。这部分这里只简单说明下内容,详细的过程需对照Spec的流程图了。

  Public Key交换

  Authentication阶段1-Just Works或Numeric Comparison

  Authentication阶段1-Passkey Entry方式

  Authentication阶段1-Out of Band方式

  Authentication阶段2和LTK计算

  BR/EDR, LE交叉Key引用

  这部分是指蓝牙双模设备,且支持Secure Connections,配对Key其实可以相互共享使用的,这样可以省略掉一些重复配对,不过Key也有个换算的算法的,即密码工具箱中的h6。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top