第三页
2.链接字的产生
初始化字Kunit的值以申请者的蓝牙设备地址、一个PIN码、PIN码的长度和一个随机数作为参数,通过E22
算法产生。而申请者相对校验者而言是需要通过验证的一方。因此,申请者需要正确的PIN码和PIN码的长度。一般来讲,由HCI决定谁是申请者,谁是校验者。
当PIN的长度少于16个八进制数时,可以通过填充蓝牙设备地址的数据使其增大,因此如果循环使用E22可以使链接字的长度增长为128位。
初始化链接字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正确,则建立连接;否则不能建立连接。如果用户不想让每个人都与耳机建立通信,那么可以通过软件要求使用耳机必须通过鉴权。
五、结语
蓝牙系统提供了几种内在的安全机制,从而在一个比较广泛的范围内保证了蓝牙系统的安全性。这不仅对产品开发商有利,而且给用户带来很大的方便。蓝牙技术把便携式电脑、蜂窝移动电话和家用电器等用无线链路连接起来,将计算机与通信更加密切地结合起来,使人们能随时随地进行数据信息的交换与传输。我们相信,蓝牙技术将掀起无线连接与通信的革命。据预测,在最近几年内无线数据通信业务将迅速增长,因此电信业、计算机业、家电业都对蓝牙技术很重视,认为它将对未来的无线数据通信业务产生巨大的促进作用。蓝牙技术是无线数据通信最为重大的进展之一,对蓝牙安全机制的研究和应用具有重要的意义。
网友评论