- ·上一篇文章:让共享程序自己显示注册码
- ·下一篇文章:利用反弹技术进行DDoS攻击的分析
针对蓝牙PIN码的最新攻击技术细节分析
| |||||
见图2,首先主设备A产生128位的随机数LK_RANDA,从设备B也产生128位的随机数LK_RANDB。在主设备A中,Kinit与LK_RANDA进行位比特逻辑异或运算,异或结果发送给B设备;同样的,在B设备中,Kinit和LK_RANDB进行位比特逻辑异或运算,结果发送给A设备。通过这些交换后,A和B设备都具有相同的Kinit、LK_RANDA和LK_RANDB。按照图2,设备A和B分别用E21算法将LK_RANDA和BD_ADDRA、LK_RANDB和BD_RANDRB加密,并将结果进行异或得到Kab。

图2
.双向认证
双向认证采用challenge-response(挑战-应答)方式。如图3所示,主设备A为应答方,从设备B为请求方。做为应答方的A设备产生一个128位的随机数AU_RANDA,并以明文方式传送至B设备。A、B设备都用E1算法将各自得到的AU_RANDA、Kab和BD_ANDRB加密运算分别生成32位的SRESA和SRESB。B设备将结果SRESB传送给A设备,A设备比较SRESA和SRESB,如果相等,此次认证通过,否则认证不通过。执行完此次认证后,A设备和B设备的角色对换,即A设备做为请求方,B设备做为应答方,采用同样的方式进行认证。
以上就是配对和双方认证过程,在这一过程中,我们提到了三个密码算法E22、E21和E1,这三个算法都是根据SAFER+算法进行少量的修改而成的。SAFER+算法属于分组算法,明文块为128位,提供了128、 192和256三种不同的密钥长度,蓝牙标准采用128位的密钥。SAFER+包括:
1、KSA 一个密钥调度算法,它产生17个不同的128位的密钥
2、8轮运算
3、输出变换 由最后一轮运算的输出和最后一个密钥异或而成。
有兴趣的朋友可以参看有关介绍,这里不详细介绍。

图3



