蓝牙安全吗关于蓝牙安全机制的研究( 三 )


初始化链接字Kint产生后,该单元将产生一个半永久字KA或KAB 。假如产生的是一人KAB,则该单元将用一个随机数LK_RAND周期性地加密蓝牙设备地址,加密后的结果为LK_KA,而各自产生的LK_RAND与当前的链接字进行异或运算后,分别产生新值,永为CA和CA,然后互相交换,从而得到了对方的LK_RAND,并以对方的LK_RAND和蓝牙设备地址作为参数,用E21函数产生新值LK_KB的异或运算得到组合字KAB 。当KAB产生后,首先单向鉴权一次,看KAB变为当前链接字,而丢弃原先的链接字K 。E22的工作原理与E21类似 。
3.蓝牙单元鉴权
在鉴权过程中,LM决定谁是校验者,谁是申请者 。申请者和校验者必须同时拥有一个共同的当前链接字 。而这种口令-应答方式的鉴权实际上是申请者发送一个随机数RAND,随后校验者用当前密钥字、申请者的蓝牙设备地址和RAND作为加密算法的参数得到新值,记为SRES’ 。申请者以同样的参数、算法得到的新值记为SRES 。然后,申请者将SRES传送给校验者,比较SRES’和SRES是否相等 。假如相等,则鉴权通过;否则鉴权失败 。在间隔一定时间后系统重新鉴权 。鉴权机制的安全性是相当高的 。更保险的做法是采用双向鉴权,即一次鉴权成功后,调整申请者和校验者的角色,再次鉴权 。鉴权成功以后,产生了鉴权编码补偿(ACO),以用于加密字的产生 。
4.加密
为了保证蓝牙系统的安全性,必须采用加密技术 。但蓝牙系统对数据包头和控制字段并不加密 。蓝牙系统通过一个再同步的流加密算法对每一个负载加密,由LM最终决定是否加密 。
最后需要注重的是,不仅要对数据包加密,而且要对加密过程的中间数据进行加密,例如对鉴权编码补偿进行加密,这样才能防止系统被攻击和数据被窃取 。
四、简单的使用例子
通过蓝牙技术可以在无线耳机和移动电话之间建立通信 。由于耳机没有人机接口,因上耳机在生产的时候载入了一个固定的PIN,它是一个随机的数字 。在初始化阶段,用户从手机菜单中选取初始化耳机的命令,随后耳机将自动发现手机并建立连接 。此时用户必须输入耳机的PIN 。假如输入的PIN正确,则建

推荐阅读