一、前言
本篇是介绍安全连接中的配对随机值(Pairing Random)。
二、阅读说明
1、泰凌微芯片使用者。
2、蓝牙 spec学习者
三、正文
1、长期密钥计算流程图
如上图所示,主机和从机分别进行计算长期密钥LTK
2、长期密钥(LTK)的计算公式框图
上图红框所示,为长期密钥的计算公式,其中使用f5算法,将DHKey,Na,Nb,A,B带入进来,然后计算得到的低16字节为LTK,高16字节为MacKey。
3、f5算法解析
f5函数所使用的是AES-CMACt通过带入128-bit key T来进行计算,其中输入的参数为W,N1,N2,A1,A2这几个值。首先我们需要通过AES-CMACsalt,来计算出key T,带入的参数为W,其中W的值为DHKey,也就是使用ECDH计算出来的共享密钥,如下图所示:
之后使用AES-CAMCt来计算长期密钥LTK。通过如下的公式来进行计算
可以看到上述的AES-CMACt进行了两次计算,其中一次计算的是MacKey,第二次计算的是LTK。其中LTK是低16字节,MacKey是高16字节,蓝牙spec中的描述如下图所示:
关于N1,N2,A1,A2的解释如下可参考下图
四、结尾
本篇主要介绍了安全连接中长期密钥如何进行生成,下一篇将继续讲解剩下的过程。
阅读全文
254