综述:关于蓝牙安全机制的研究介绍

互联网 | 编辑: 杨雪姣 2007-11-29 17:33:00转载 一键看全文

第二页

二、蓝牙系统安全性要求

由于蓝牙系统简单可靠,从而产生了各种不同的应用,例如电脑、鼠标、打印机、接入点、移动电话和话筒等都可以使用蓝牙协议无线地连接在一起,进行语音和数据的交换。同时,还可以通过无线或有线的接入点(如PSTN、ISDN、LAN、XDSL)与外界相连。不同应用对各自的系统必然提出不同的要求,并且不是所有的系统都对安全性有很高的要求。

先介绍几个概念:

1)蓝牙设备地址(BD_ADDR):是一个对每个蓝牙单元唯一的48位IEEE地址。

2)个人确认码(PIN:Personal Identification Number):是由蓝牙单元提供的1-16位(八进制)数字,可以固定或者由用户选择。一般来讲,这个PIN码是随单元一起提供的一个固定数字。但当该单元有人机接口时,用户可以任意选择PIN的值,从而进入通信单元。蓝牙基带标准中要求PIN的值是可以改变的。

3)鉴权字:是长度为128位的数字,用于系统的鉴权。

4)加密字:长度8-128位,可以改变。这是因为不同的国家有许多不同的对加密算法的要求,同时也是各种不同应用的需要,还有利于算法和加密硬件系统的升级。

区分鉴权字和加密字的目的是在不降低鉴权过程作用的前提下使用更短的加密字。

虽然蓝牙系统的跳频机制对于来自系统内部其它设备的偶然传输干扰起到了一定的保护作用,但是很显然仅有这种保护是不够的。它不能防止有人在两个传输单元之间对数据的窃听和偷取,尤其在无线传输数据时,窃取数据者可以轻松地屏蔽自己而不让用户发现,因此蓝牙系统需要加入相应的安全机制。在一般的系统中,通常对所传输的数据包进行加密,但仅有这种做法是不够的。更重要的是在通信连接建立以前,确保通信单元的安全性。例如用户相同时跟几个用户通信,就需要对这些用户进行确认。因此,在蓝牙系统中间时运用了鉴权和加密技术。

三、蓝牙安全机制

1、字管理机制

蓝牙链字是长度为128位的随机数,它是蓝牙系统鉴权和加密的基础。为了支持不同阶段、模式的要求,蓝牙系统在链路层上用了4种不同的字来保证系统的安全性。包括单元字KA组合字是KAB,临时字Kmaster及初始化字Kinit。

单元字KA与组合字KAB仅产生方式不同,执行的功能是完全相同的。也就是说,KAB是由两个单元A,B共同产生的,而KA仅由一个单元A产生,因此KA在初始化阶段产生后就基本不变了。系统的内存比较小时通常选择KA,而系统对稳定性要求比较高时选择KAB。

临时字Kmaster只是临时取代原始字。例如,当主机想与多个子机通信时主机将用同一个加密字,因此把它存放在临时字中,以便于使用。

初始化字Kinit仅仅在初始化阶段有效,也主是单元字KA,KAB产生的阶段,它不仅仅是初始化阶段的一个临时字,其产生需要一个PIN。

半永久性的链接字在特定的时间内被称作当前链接字。当前链接字和其它链接字一样,用于鉴权和加密过程。此外,还用到了加密字KC,加密字被LM的命令激活后将自动被改变。

另外,鉴权字和加密字在不同的阶段执行不同的功能。例如:在两个单元没有建立连接的阶段和已经建立连接的阶段有很大的不同,前者必须首先产生加密字,而后者可以继续使用上次通信的加密字。相应地不同的阶段对字的管理是不一样的。此外当主机想广播消息,而不是一个一个地传送消息时,需要特殊的字管理方法。正是蓝牙系统有力的字管理机制,才使得系统具有很好的安全性,而且支持不同的应用模式。

未完,请翻页

提示:试试键盘 “← →” 可以实现快速翻页 

一键看全文

本文导航

相关阅读

每日精选

点击查看更多

首页 手机 数码相机 笔记本 游戏 DIY硬件 硬件外设 办公中心 数字家电 平板电脑