蓝牙技术安全性解析_第1页
蓝牙技术安全性解析_第2页
蓝牙技术安全性解析_第3页
蓝牙技术安全性解析_第4页
蓝牙技术安全性解析_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选优质文档-倾情为你奉上蓝牙技术安全性解析摘要:简要介绍蓝牙技术( IEEE 802. 15) 的基本概念和原理,在此基础上重点分析蓝牙技术的两种安全模式,从抗网络攻击角度出发,提出完善蓝牙安全的一些策略和方法。关键词:蓝牙;协议栈;鉴别与加密;授权;自组网1 蓝牙概述蓝牙(Bluetooth) 是一项先进的短距离无线网络技术,遵循蓝牙协议的各类数据及语音设备能够用无须许可证的2. 4GHz ISM频段的微波取代电缆进行通信,从而解决小型移动设备间的无线互连问题。蓝牙( IEEE 802. 15) 是一项最新标准, 它是微微网(Piconet) 形成和通信的基础,与802. 11 相互补充。

2、在安全性方面,WAP 和蓝牙一直被认为是互补的技术,蓝牙保证了物理层和无线链接层的安全性,而WAP 则提供应用和传输层的安全性1 。1. 1 微微网的拓扑结构蓝牙网络通信是一种基于邻近组网原则的对等通信,但链路级存在主从关系。一个微微网由一个单独的主控设备(Master) 和邻近的从属设备(Slave) 构成。多个微微网在时空上部分重叠,形成散列网(Scatternet) 。典型散列网的拓扑结构如图1 所示。图1 散列网拓扑结构当微微网中的设备处于链接状态时,根据功率消耗和响应灵敏度使用四种基带模式。无链接状态时,基带处于待机(Standby) 状态2 。通过休眠成员地址(8 位) ,微微网中

3、主控设备可连接休眠的不超过255 个的从属设备,但最多只能有7个处于激活状态;通过基带模式的转换,休眠设备可以获得活动成员地址(AMADDR ,3 位) 重新进入活动状态。基带的具体模式由链路管理器控制。1. 2 蓝牙协议栈蓝牙技术规范的核心是协议栈,该协议栈允许多个设备进行相互定位、连接和交换数据,并实现互操作和交互式的应用。蓝牙协议栈及安全体系结构如图2 所示。图2 蓝牙协议栈及安全体系结构图传输协议组所包含的协议主要用于蓝牙设备的相互定位,并能创建、配置和管理物理和逻辑链路,方便高层协议传输数据。中间协议组包括SIG为蓝牙制定的协议和第三方及业内一些标准协议,如串行短口仿真协议(RFCO

4、MM) 和服务发现协议(SDP) 等。应用组包含使用蓝牙的实际应用。1. 3 蓝牙模块蓝牙通信技术的特征主要通过蓝牙模块体现(如图3) 。蓝牙无线收发系统是一个用GFSK技术实现跳频扩频(FHSS) 的无线系统。收发双方只有知道频率同步的算法才能进行数据交换。蓝牙设备地址(BDADDR) 和蓝牙设备时钟(内时钟) 是蓝牙所有操作的两个最基本要素。前者决定跳频序列的相位(Phase) ;后者是蓝牙设备最稳定的实体,确定跳频序列。设备发送的基带分组数据单元(BBPDU) 包含三个部分: 接入码(Access Code) 、头部和净荷(Payload) ,所含的接入码主要用来识别和同步微微网;通过链

5、路管理器协议(LMP) ,链路管理器之间非实时交换报文LMPPDU 来控制链路,进行传输调度和链路管理,如安全管理(设备鉴别和链路加密) 、功率管理和QoS 管理等。2 蓝牙安全模式分析如图2 所示,蓝牙协议的一般接入应用中定义了三种安全模式:模式1 无安全机制;模式2 服务级;模式3 链路级。安全模式2 与安全模式3 的本质区别在于:安全模式2下的蓝牙设备在信道建立以后启动安全性过程,即其安全性过程在较高层协议进行;安全模式3 下的蓝牙设备在信道建立以前启动安全性过程,即其安全性过程在低层协议进行。模式2 中的安全性管理器主要包括储存安全性信息、应答请求、强制鉴别和(或) 加密等关键任务。设

6、备的三个信任等级和三种服务级别3 ,分存在设备数据表和服务数据表中且由安全管理器维护。下面先分析针对模式3 的鉴别(Authentication) 和加密;再说明模式2 机制的授权(Authorization) 。2. 1 密钥管理设备之间的所有安全事务都由链路密钥来处理,它用于鉴别和作为一个参数来产生加密密钥。链路密钥分临时密钥和半永久性密钥,后者在一个共享该密钥的设备通过鉴别后仍能用;前者仅在一对多的连接上传播相同信息(广播) 时使用,用完后即被丢弃。链路密钥(Klink) 可以是合成密钥、设备密钥、主控设备密钥和初始密钥(Kinit ) ,具体要依赖于当前应用的类型。PIN 的长度一般是

7、416 字节,用于产生Ki nit ;在产生Klink的过程中,该Kinit用来进行密钥交换,Klink一旦产生,Kinit即被丢弃。数据加密密钥由Klink决定。2. 2 鉴别与加密假设两台设备进行通信,图4 表示蓝牙鉴别与加密的模型,该模型主要步骤可用下列过程简要描述(顺序略有不同) :(1) 匹配(Pairing) 创建链路密钥(Klink)系统根据询问/ 应答(Challenge/ Response) 创建Klink ,基本步骤如下:a) 初始化密钥的创建A B :Rand ;表示设备A 产生一个随机数RAND ,并发向设备B ,下同。A:Klink = E22 (Rand ,BDAD

8、DRb ,PIN) ;表示设备A 用流密码E22 算法根据系数计算Klink ,下同。B : Klink = E22 (Rand , BDADDRb , PIN) ;b) 设备密钥作为链路密钥(用于网内广播)IF 设备A 没有设备密钥THEN A:KA = E21 (Rand , BDADDRA)A B :KA XOR Kinitc) 合成密钥作为链路密钥(点对点)A: HA = E21 (BDADDRA ,RANDA) ;B : HB = E21 (BDADDRB ,RANDB) ;A B : RANDA XOR Kinit ;A B : RANDB XOR Kinit ;A: HB = E

9、21 (BDADDRB ,RANDB) ;B : HA = E21 (BDADDRA ,RANDA) ;A: KAB = HA XOR HB ;B : KAB = HA XOR HB ;(2) 用当前链路密钥(Klink) 来鉴别A B :RAND;A:MAC1 = Hash(Klink ,RAND ,BDADDRB ,6) ;B :MAC2 = Hash(Klink ,RAND ,BDADDRB ,6) ;A B :MAC20 , *,3 ;A:Check IF MAC10 , *,3 =MAC20 , *,3 THEN ACO =MAC14 , *,15 ;(3) 鉴别后加密密钥的产生A:

10、 IF 当前链路密钥是主控设备密钥THEN 加密偏移数COF = 串联两个主控设备BDADDR;ELSE COF = 鉴别加密偏移数ACO;A B :RAND;A:Kencrypt = Hash(Klink ,RAND ,COF ,12) ;B :Kencrypt = Hash(Klink ,RAND ,COF ,12) 。图4 蓝牙鉴别与加密的模型2. 3 加密通信流密码E0 算法用由(3) 产生的加密密钥进行通信数据加密,具体过程如图5 所示。蓝牙数据加密系统对每个数据包的净荷(Payload) 进行加密,这通过硬件由流密码E0 完成。2. 4 服务级安全策略安全模式2 能定义设备和服务的

11、安全等级。蓝牙设备访问服务时分可信任、不可信任和未知设备。可信任设备可无限制地访问所有服务,不可信任设备访问服务受限,未知设备也是不可信任设备。对于服务定义了三种安全级别:1) 需要授权和鉴别的服务,只有可信任设备可以自动访问服务,其它设备需要手动授权;2) 仅需要鉴别的服务,授权是不必要的;3) 对所有设备开放的服务,授权和鉴别都不需要。通过鉴别的设备对服务或设备的访问权限取决于对应的注册安全等级1 ,各种服务可以进行服务注册,对这些服务访问的级别取决于服务自身的安全机制,因而这也是蓝牙本身的不足。图5 数据加密流程图3 自组网攻击分析安装了蓝牙的设备,在一定距离内形成一个自组网(adhoc

12、 network) ,典型的结构如图1 所示。这种网络有一些不同于固定网的安全特性,它没有固定的节点和框架,网中设备能充当路由器来中转信息到发送端不能直接到达的节点上。根据蓝牙两种安全模式的分析和自组网动态而复杂的拓扑结构,自组网可能会遭到以下类型的攻击:鉴别攻击鉴别是基于设备间相同链路密钥的共享。如果链路密钥是初始化密钥,那么每次通信都依赖于PIN。PIN 一般是一个4 个数字的数,这使得密钥空间只有10 ,000 个值,攻击者用穷举法很容易获得PIN。如果链路密钥由设备密钥产生,则会产生冒充攻击等。在使用设备密钥作为链路密钥的方案里,如果设备A 和设备B 通信,然后又和设备C 通信。既然A

13、 和C 使用A 的设备密钥,假设A 和B 使用相同的密钥,那三个设备使用相同的密钥,且能够相互冒充身份。加密攻击一种攻击是基于PIN 弱点的。在匹配创建链路密钥的过程中,入侵者截取第一次握手过程中的通信数据包,为了推导出各种相关参数包括链路密钥,对PIN 尝试强力攻击(Brute -force Attack) 。另一种攻击是基于加密算法。链路级的加密算法一般都采用流密码系列算法E0、E1、E21、E22 和E3 ,这种算法加密速度快,易用硬件实现,但是没有块密码强健,易受到反折攻击(Reflection Attack) 。通信攻击一种通信攻击是“冒充”。这种攻击扫描并记录下有效用户的移动标识号

14、(MIN) 和电子序列号(ESN) ,攻击者用MIN 和ESN 发出呼叫,通知那些没有对此引起怀疑的用户。蓝牙规范中,数据帧有三处要被编辑3 。用这些修改伪造过的数据帧,攻击者伪造用户的ID 并发出呼叫,用编码扰频器搞乱用户和网络的通信,或以中转方式,重发先前的会话帧破坏被攻击者的重要数据。跳频攻击虽然跳频(FH) 攻击方案较为困难,但是跳频本身有一些易遭攻击的弱点。蓝牙设备里运行着一个28 位的内时钟,破坏性攻击者可以用低能量激光(LEL) 或电磁脉冲(EMP) 来破坏时钟,使其不能和其它设备通信,但这种攻击可能性较小。电波的强度、穿透性、全方位传播和蓝牙设备的中转使得设备通信的范围扩大,使

15、攻击者容易偷听到网络和通信的相关信息,包括跳频算法和相关参数。4 鲁棒自组网安全策略的完善针对以上分析,可以从以下几个方面来完善蓝牙技术规范,增强其安全性。1) 跳频伪随机数发生器和电源管理方式蓝牙安全策略的基点之一是跳频发射时所用的伪随机数。要增强抗攻击性和抗干扰性,须优化硬件跳频算法和相关参数,选择产生周期长、不呈明显模式和点分布均匀的方法来产生伪随机数,保证跳频序列的高随机性,增强抗攻击性。蓝牙电源管理不仅和跳频有关,还和设备的其它硬软件功能有关。除了会影响蓝牙的所有功能外,还会影响频率选择模式FSM。优化硬件电源管理方式,可增加设备间相互调节功率的能力,减轻电源管理攻击对频率选择模式F

16、SM的影响。使用适当的射频功率,从而可适当减小可侦听电磁波的范围,最大程度上确保不被偷听和攻击。2) 加密管理增加蓝牙设备存储(密钥或PIN) 能力,避免使用内置固定PIN 的蓝牙设备;增加PIN 的长度,上层应用程序限制适当的密钥长度下限,增大密钥值空间,从而增加对PIN 强力攻击的难度;提高更换PIN 的频率,避免弱密钥加密方案;少用设备密钥作为链路密钥,多使用合成密钥作为链路密钥;经常更换链路密钥。优化白化(Whitening) 算法,增加净荷数据扰码后的随机性,降低发送数据的DC 偏置值。增大线性反馈移位寄存器LFSR 的周期,改进流密码的算法,或采用块密码等其它较适合算法,重新设计加

17、密硬件。3) 查询策略硬件上优化设计,减少发送频率合成器的切换时间;优化退让机制(算法) ,避免多个设备对查询ID 分组响应时发生冲突而多次重传数据包,降低重传率,减少建立连接前各种连接参数的过分暴露。4) 服务安全与服务发现在链路级安全的基础上,完善服务注册机制,增加和完善中间组件和应用程序本身的安全策略;增强应用服务自身的安全性,减轻服务攻击。优化服务发现协议(SDP) ,减少SDP 无线接口上的数据通信量,提高其灵活性,避免延长整个通信过程的初始化时间,降低功率消耗,使SDP 能提供一套强壮而全面的服务发现和访问机制。5) 路由管理在蓝牙中间组件组或应用组中增加更安全的路由协议,优化散列网的路由算法,保证网络中转访问过程中数据的安全,避免中转攻击,降低设备功率消耗

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论