加载中...
今天是:
设为首页 | 加入收藏 | 全站地图 | RSS订阅
您现在的位置:中国电力资料网 >> 电力调度 >> 调度技术 >> 浏览文章
安全 电力 农电 用电 开展 2009 农安 全员

蓝牙通信安全性探讨

作者:未知     文章来源:网友提供    更新时间:2006年05月18日     
内容预览

蓝牙通信安全性探讨

宋明中1,侯思祖1,马昕霞2,李永光2

(1.华北电力大学,河北保定 071003;2.上海电力学院,上海 200090)


     :蓝牙是一种新的短距离无线通信技术.对蓝牙协议栈及蓝牙安全机制进行分析,主要探讨了鉴权、加密和密钥管理等安全措施,并指出了目前存在的问题.
    关键词:蓝牙;安全;协议;鉴权;加密


 
  蓝牙技术作为一种无线接入方式,是实现语音和数据无线传输的开放性通信标准.其目的是取代现有的PC、打印机、传真机、笔记本电脑、数码相机、移动电话、高品质耳机等设备上的有线接口.从而形成一个无线个人区域网络,真正实现设备之间可移动的、自动的互联,使得近距离内各种设备能够实现无缝资源共享.蓝牙技术采用公开技术标准,一经推出就获得业界的广泛认同.目前,蓝牙技术已经成为短距离无线通信数据领域的最热门的研发方向.
  蓝牙技术是一种通过无线电波来进行通信的技术,鉴于无线电波信号很容易被截获和蓝牙系统的移动性、普遍性与无执照全面开放性,因而其安全保密问题显得尤为突出,特别是办公室内通过蓝牙微微网(Piconet)传输的重要数据,需要一个完备的安全机制.因此,蓝牙安全倍受关注.
1 蓝牙协议栈
  蓝牙协议规范的目标是允许遵循规范的应用能够进行相互间操作.不同应用可运行于不同协议栈,但是,每一协议栈都使用同一公共蓝牙数据链路和物理层.整个蓝牙协议体系结构可分为底层硬件模块、中间协议层和高端应用层,如图1所示.

蓝牙通信安全性探讨
  蓝牙的底层模块由链路管理层(LM)、基带层(BB)和射频(RF)构成.RF通过2.4GHz无需授权的ISM频段,实现数据位流的过滤和传输.BB层负责跳频和蓝牙数据及信息帧的传输.LM层负责连接的建立和拆除,以及链路的安全和控制.
  中间协议层包括逻辑链路控制协议(LM)与适配协议(L2CAP)、服务发现协议(SDP)、串口仿真协议(RFCOMM)和电话控制协议规范(TCS).L2CAP完成数据拆装、服务质量控制、协议复用和组提取等功能,是其他上层协议实现的基础,因此也是蓝牙协议栈的核心部分.SDP为上层应用程序提供一种机制来发现网络中可用的服务及其特征.RFCOMM依据ETSI标准TS07.10在L2CAP上仿真9针RS-232串口的功能.TCS提供蓝牙设备间话音和数据的呼叫控制信令.
  在蓝牙协议栈的最上层是高端应用层,它对应各种应用模型的剖面,是剖面的一部分.
2 蓝牙安全机制
  蓝牙提供短距离的对等层之间的通信技术.蓝牙技术采用数据加密和使用者鉴权等措施来保证通信的安全性.这些措施适合对等的环境,对每个蓝牙设备使用相同的方法进行鉴权和加密.
2.1 安全级别
2.1.1 安全模式
  蓝牙规范定义了包含设备功能和应用的3个安全模式.
  模式1 非安全.不采用信息安全管理和不执行安全保护和处理.它不受链路层安全功能鉴权.
  模式2 业务层安全.采用信息安全管理并执行安全保护和处理,这种安全机制建立在L2CAP中和它之上的协议中.此模式可以为设备和业务定义安全级别.
  模式3 链路层安全.采用信息安全管理并执行安全保护和处理,这种安全机制建立在芯片中和LMP(链路管理协议).
2.1.2 设备信任级别
    蓝牙设备有3个信任级别:
  1 可信任设备 事先被鉴权,链路密钥存储在设备数据库中,设备标记为信任(trusted),对所有业务都不限制;
  2 不信任设备 事先被鉴权,链路密钥存储在设备数据库中,设备未被标记为信任(trusted),接入业务受到限制;
  3 未知设备 没有有效的安全信息,也可以称为不信任设备.
2.1.3 业务安全级别
  业务的授权(允许或否定接入一个业务)、鉴权(说明链路另一端的身份)和加密都是单独设置的.在安全模式2中,蓝牙设备业务安全要求至少包含以下3个属性:
    1 授权要求 经过授权程序后,可信任设备可以自动接入,不信任设备则要求授权处理;
  2 鉴权要求 在接入应用之前,链路另一端的设备必须被鉴权;
  3 加密要求 在进入业务之前,链路必须变换为加密模式.
  链路层的安全性需要4个不同的功能实体:
每个用户具有一个唯一的公用地址(BD_ADDR)、两个密钥(鉴权密钥和加密密钥)和每次新业务使用的随机数.
2.2 随机数发生器
  每一个蓝牙设备都有一个随机数发生器,在安全方面,随机数有很多用途.例如:可以用于质询-响应(Challenge-Response)方案,还可以生成鉴权和加密密钥.随机数发生器通过软件来实现.在蓝牙系统中,对随机数的要求是随机数“没有重复”和能够“随机生成”.没有重复的意思是鉴权生存期内重复自己的可能性比较小.随机生成是指基本上不可能预测它的值.
3 密钥管理
  为了确保数据传输的安全性,蓝牙系统有几种不同的密钥.其中最重要的密钥是链路密钥,由参与安全交易的两方或多方共享,是实现安全交换的基础.链路密钥本身用于鉴权例程.此外,它还是导出加密密钥的一个参数.
3.1 链路密钥
  为了满足不同类型的应用要求,定义了4种类型的链路密钥.所有的密钥都是128位的随机数,它们可以是半永久性的或临时性的.
    链路密钥主要有以下4种类型.
  1 单元密钥KA 单元密钥在单元A生成,并依赖于该单元.一旦安装蓝牙单元,单元密钥就生成,并很少改变.KA经常用于那些存储空间较小的单元或有大量用户访问的单元.
  2 组合密钥KAB 组合密钥从单元A和单元B中的信息导出,而且总依赖于这两个单元.两个单元每次新的组合都导出新的组合密钥,并应用于安全性要求较高的业务.由于每对单元之间的链路都需要一个独立的密钥,因此,要求单元有足够的存储空间.
  3 临时密钥Kmaster 它是一种链路密钥,只用于当前的会话,临时性地代替原始链路密钥.
  4 初始化密钥Kinit 也是一种链路密钥,用于初始化过程.初始化密钥可用于保证初始化参数的传输.生成该密钥需要3个参数:一个随机数、一个L字节的PIN码和一个BD_ADDR.
3.2 加密密钥KC
  该密钥从当前的链路密钥导出.每进行一次加密过程,加密密钥就会自动地发生变化.把鉴权密钥和加密密钥分开的目的是为了便于使用一个较短的加密密钥,且不削弱鉴权的强度.
3.3 PIN码
  PIN码是一个数值,它可以由蓝牙单元提供,也可以由用户任意选择.对于很多应用,PIN码将是一个相对短的数字串,一般它由4位十进制数组成.尽管很多情况下它可充分满足安全需要,但还存在无数更敏感的其他情况,因此,PIN长度可以在1~16位(八进制)之间进行选择.
3.4 密钥生成和初始化
  密钥的交换在初始化阶段完成,并且必须对需要鉴权和加密的每对单元分别进行处理,初始化过程包括以下5个部分:
    1 初始化密钥的生成;
    2 鉴权;
    3 链路密钥的生成;
    4 链路密钥的交换;
    5 在各个单元中生成的加密密钥.
  初始化过程后,各单元可以进行通信,也可以与链路断开连接.
4  
  通过加密分组的净荷可以保护用户的信息.接入码和分组头不加密.加密过程使用流密系统E0来完成,一般原理如图2所示.  
  流密码系统E0由3部分组成.第一部分执行初始化(生成净荷密钥),第二部分生成密钥流比特,第三部分执行加密与解密.净荷密钥生成器非常简单,它只是把输入序列按适当的次序进行组合,之后送到4个线性反馈移位寄存器(LFSR1,LFSR2,LFSR3,LFSR4)中,加密系统最重要的部分是第二部分,因为它还用于初始化,使用求和密钥生成器产生密钥流.该流密算法由Massey和Rueppel提出.

蓝牙通信安全性探讨

5  
  蓝牙中实体的鉴权使用质询-响应(Challenge-Response)方式,通过两步(2move)协议使用对称密钥对申请方的密钥知识进行检测.在后面的部分,假设一个正确的申请方/验证方使用相同的密钥,例如K.在质询-响应方案中,验证方使用鉴权密码E1向申请方发出质询,要求对随机输入AU_RANDA进行验证,申请方返回一个结果SRES到验证方,如图3所示.

蓝牙通信安全性探讨
  E1的输入还包括申请方的AU-RANDA和BD_ ADDR.使用该地址是为了防止简单的反射攻击.单元A和单元B共享的密钥是当前的链路密钥.每进行一次鉴权产生一个新的AU_RANDA(随机数).
  使用对称密钥系统的质询-响应方案如图4所示.在蓝牙系统中,验证方不一定是主单元.应用中将指出谁将被谁鉴权.某些应用只要求进行单向鉴权.然而,在某些点对点的通信中,需要相互鉴权.原因是在两个鉴权过程中,双方都要作为验证方.LM调整指示鉴权参数并决定在哪个方向上进行鉴权.

蓝牙通信安全性探讨

6 安全技术的局限性
  鉴权只是对蓝牙单元进行鉴权,而没有对用户实施鉴权.若要对用户进行鉴权必须实现应用层安全.
  蓝牙没有对各个业务的授权单独定义.若要对各个业务的授权单独定义,可以在蓝牙结构中不改变蓝牙协议栈,但必须改变安全管理和注册过程.
  在链路密钥方案中,鉴权和加密是基于双方共享链路密钥这个前提的,这个过程使用的其他信息也是公共的,然而这将导致一个基本的问题.假设设备A与B通信,使用A的单元密钥作为它们之间的链接密钥,同时设备C与A通信,也使用A的单元密钥作为它们之间的链接密钥.这就意味着B先拥有A的单元密钥,B可以用这个单元密钥和一个伪蓝牙设备地址计算出加密密钥,并以此对数据流进行监听.
  蓝牙地址对每个设备来说都是唯一的,一旦各个个体的行动都可以被记录,隐私就会得不到保密.
7 结束语
  尽管蓝牙系统的保密安全机制已制定得较为严格,除跳频技术提供了一定安全保障外,还有用户个人识别标识、链路密钥论证和保密密钥3重处理,但鉴于蓝牙系统的移动性、普遍性与无执照全面开放性,使得其安全保密问题显得尤为突出,而且在很大程度上还决定于应用目标范畴.设计和规划蓝牙的安全依然是需要倍加小心考虑与处理的重要问题.

参考文献
[1] Bluetooth SIG.Specification ofthe Bluetooth System.Core[EB/OL].Version,2001.
[2] BluetoothSIG.Specificationofthe BluetoothSystem.Profiles[EB/OL].Version,2001.
[3] Vainio J.Bluetooth Security[EB/OL].http://www.niksula.cshut.fi/~jiitv/bluesec.html.2000.
[4] Jakobsson M,Wetzel S.Security Weakness in Bluetooth[EB/OL].http://www.bell-labs.com/user/markusj/bt.html.2001.

发表评论】【告诉好友】【打印此文】【收藏此文】【关闭窗口
0% (0)
0% (10)


网友评论

顶客DIGG排行
最新帖子
最新电力书籍
赞助商链接
建议使用1024X768分辨率浏览本站,本站网络实名:中国电力资料网
客服QQ:56143402 | 网站500人超级QQ群:52321122 |变电群号:14754363|投稿信箱:56143402@QQ.com| 24小时联系电话:189-920-82051
Copyright © 2002-2008 WWW.52data.CN All Rights Reserved.陕ICP备05002507号