《蓝牙技术安全性分析与安全策略论文.docx》由会员分享,可在线阅读,更多相关《蓝牙技术安全性分析与安全策略论文.docx(28页珍藏版)》请在三一办公上搜索。
1、编号: 0513225 毕 业 (学位) 论 文( 2009届本科)题 目: 蓝牙技术安全性分析与安全策略 系(部)院: 计算机系 专 业: 计算机科学与技术 作者姓名: 卢耀华 指导教师: 方媛 职称: 讲师 完成日期: 2009 年 4月 22 日蓝牙技术安全性分析与安全策略卢耀华Lu yaohua摘 要在蓝牙网络中,没有固定的基础组织,其拓扑结构随时都有可能变化,所有的设备都通过无线方式连接,而且设备间的通信不一定是直接进行的,可能是由网络中某个设备来转达的,这个设备即在网络中起着路由的作用。在这样的网络中,安全问题是相当复杂的,网络特别容易泄密和遭受攻击。本文通过对蓝牙技术的介绍,主要
2、针对蓝牙技术安全性问题,分析了蓝牙系统的安全需求和安全威胁,并对蓝牙的安全机制的框架做了详细介绍。提出了蓝牙安全结构,针对蓝牙系统安全的两种主要模式即链路级安全模式和服务级安全模式,进行了重点分析。同时,蓝牙技术的无线传输特性使它非常容易受到攻击,蓝牙技术特别设计了快速跳频方案以确保链路稳定,这样增强了系统抗干扰性,并在一定程度上保证了系统的安全性。最后,提出了解决蓝牙安全问题的安全策略。关键词:蓝牙;安全分析;安全策略;鉴权与加密;授权AbstractIn the bluetooth network, does not have the fixed foundation organizati
3、on, its topology all has the possibility change as necessary, all equipment all through wireless way connection, moreover correspondence between the equipment not necessarily is carries on directly, possibly is, this equipment which some equipment conveys by the network in namely in the network is p
4、laying the route role.In such network, the security problem is quite complex, the network is specially easy to divulge a secret and to suffer the attack.This article through to the blue tooth technology introduction, mainly aims at the blue tooth technology secure question, has analyzed the blue too
5、th system security requirements and the safe threat, and has made the detailed introduction to the blue tooth safety mechanism frame.Proposed the blue tooth safety mechanism, in view of the blue tooth system safety two kind of main patterns is the link level safe mode and the service level safe mode
6、, has carried on the key analysis.At the same time, the blue tooth technology wireless transmission characteristic causes it extremely easily to come under the attack, the blue tooth technology designed the fast-frequency hopping plan to guarantee the link specially to be stable, like this strengthe
7、ned the system anti-jamming, and has guaranteed the system security to a certain extent.Finally, proposed solves the blue tooth security problem security policy.Keywords: Bluetooth; Safe analysis; Security policy; Warning power and encryption; Authorization目 录第一章 引 言71.1 选题的意义71.2 选题的应用现状71.3 选题主要工作
8、内容8第二章 蓝牙技术的安全问题92.1蓝牙技术的安全问题分为生态安全和信息安全92.1.1生态安全92.1.2 信息安全92.2 蓝牙系统中的安全威胁92.3 蓝牙系统安全的任务102. 3.1 蓝牙系统的安全任务10第三章蓝牙安全机制的框架113.1蓝牙的安全结构113.2 蓝牙的安全设置123.3 蓝牙的安全级别133.4 蓝牙技术的安全机制133. 4.1 设备鉴权133.4.2加密143.4.3 快跳频14第四章 蓝牙安全威胁分析154.1私秘性威胁154.2数据保密性存在安全隐患154.3 PIN机制有缺陷164.4数据完整性威胁164.5访问控制威胁164.6拒绝服务威胁164.
9、7伪随机序列发生器的潜在威胁174.8安全构架设计的局限性17第五章 蓝牙安全策略185.1.1密钥185.1.2鉴别和加密185.1.3加密通信205.1.4认证205.1.5服务级安全策略215.2自组网攻击分析215.2.1 鉴别攻击215.2.2加密攻击225.2.3 通信攻击225.2.4 跳频攻击225.3鲁棒自组网安全策略的完善225.3.1 跳频伪随机数发生器和电源管理方式225.3.2 加密管理235.3.3查询策略235.3.4 服务安全与服务发现235.3.5 路由管理235.3.6 鉴别的本地化安全策略236.1246.2蓝牙安全技术存在的问题246.3 局限性256.
10、4 简单的使用例子25第一章 引 言1.1 选题的意义随着计算机网络和移动电话技术的迅猛发展,人们越来越感觉到发展一定范围内的无线数据与语音通信的迫切需要。蓝牙提供了一种短距离的无线通信标准,解决了小型移动设备间的无线互连问题。它以规范的公开性、频带的无须授权性等优点而越来越受到人们的重视。但蓝牙安全体系中存在的一些问题,旨在探讨蓝牙技术在应用过程中如何能够实现一个真正的无电缆连接、方便快捷、安全可靠的通信环境。同时,蓝牙技术的无线传输特性使它非常容易受到攻击,蓝牙技术特别设计了快速跳频方案以确保链路稳定,这样增强了系统抗干扰性,并在一定程度上保证系统的安全性。在安全性方面,WAP 和蓝牙一直
11、被认为是互补的技术,蓝牙保证了物理层和无线链接层的安全性,而WAP 则提供应用和传输层的安全性。1.2 选题的应用现状蓝牙技术是一种无线数据和语音通信的开放性全球规范,它支持点对点以及点对多点通信。几个蓝牙设备相互连接,形成一个特别网络,称为微微网。几个相互独立、以特定方式连接在一起的微微网构成分布式网络,一个微微网最多可由8个蓝牙设备组成,而一个分布式网络最多可连接达10个微微网。蓝牙系统分布式网络的安全特性与传统的分布式网络是不同的。蓝牙提供了一种短距离的无线通信标准,解决了小型移动设备间的无线互连问题。蓝才设备依靠专用的蓝才微芯片使设备在短距离范围内发送无线电信号,来寻找另一个蓝才设备。
12、一旦找到,相互之间便开始通信。在10米到100米的空间内所有支持该技术的移动或非移动设备可以方便地建立网络联系、进行音频通信或直接通过手机进行Internet冲浪。其应用范围相当广泛,可以应用于局域网络中各类数据及语音设备,如PC、拨号网络、笔记本电脑、打印机、传真机、数码相机、移动电话和高品质耳机等,使用无线的方式将它们连成一个微微网(Pi-conet),多个Piconet之间也可以互连形成Scatternet,从而方便快速地实现各类设备之间随时随地的通信。它以规范的公开性、频带的无须授权性等优点而越来越受到人们的重视。蓝牙技术的应用范围也已经从替代各种移动信息电子设备之间的电缆,向信息家电
13、、电子商务、汽车、航空、医疗、交通等更加广阔的领域中拓展。同时,由于蓝牙工作在ISM214GHz 开放频段上,很容易受到干扰。因此,它的安全性就显得尤为重要。1.3 选题主要工作内容在蓝牙网络中,没有固定的基础组织,其拓扑结构随时都有可能变化,所有的设备都通过无线方式连接,而且设备间的通信不一定是直接进行的,可能是由网络中某个设备来转达的,这个设备即在网络中起着路由的作用。在这样的网络中,安全问题是相当复杂的,网络特别容易泄密和遭受攻击。因此,蓝牙的安全问题长期以来备受业界关注,它是除价格之外直接制约蓝牙技术广泛应用的瓶颈之一。分析蓝牙技术的两种安全模式,从抗网络攻击角度出发,提出完善蓝牙安全
14、的一些策略和方法。不过,正如一些专家所指出的那样,蓝牙的安全体系结构并不是万无一失的,仍然有一些漏洞存在。比如蓝牙设备被偷走或借用时,还能够像原来的合法用户一样使用。如果需要对用户鉴权,就必须在蓝牙内置的链路级安全机制的基础上,增加应用级安全机制,例如当蓝牙设备进行电子商务应用时,在用户界面上增加用户和密码等要求用户输入的高层鉴权内容。为此:第一,在所有的蓝牙技术装置中建立连接安全激活设置;第二,使用安全的应用软件,如点对点封装协议,安全套接层或虚拟个人网络;第三,评估产品的用户界面,使用户设立和管理安全问题易如反掌;第四,树立员工的安全意识,鼓励用户养成良好的安全习惯并使用适当的配置。第二章
15、 蓝牙技术的安全问题在传统网络中存在的安全问题在蓝牙中同样也存在,而且由于蓝牙的无线传输特性,蓝牙系统中的安全问题有其特殊性。2.1蓝牙技术的安全问题分为生态安全和信息安全2.1.1生态安全生态安全问题是指当蓝牙设备靠近人体时是否带来危害。蓝牙使用的是和微波炉一样的频率范围,而蓝牙的功率(只有1 mW)仅仅是微波炉使用功率的百万分之一,而在这些输出中,也只有一小部分被人体吸收。常规的移动电话现在通常被认为是安全的,而蓝牙的功率还不及蜂窝电话。来自世界卫生组织等组织的专家组成的一个小组公开宣布:没有可信的或有说服力的证据来证实在可接受的辐射范围内的无线设备所发出的辐射能够对人的身体健康带来不良影
16、啊。由此可见,我们并不需要担心蓝牙技术所带来的辐射。2.1.2 信息安全它是指要保证通讯双方所传递的信息不被窃听和篡改,蓝牙系统必须在链路层和应用层上提供安全措施。2.2 蓝牙系统中的安全威胁蓝牙系统中的安全威胁主要来源于:非法窃听、非法访问、服务拒绝和耗能攻击。不同的安全威胁会给网络带来不同程度的破坏。1 非法窃听:它是指攻击者通过对传输媒介的监听非法获取传输的信息,是对通信网络最常见的攻击方法。这种威胁源于无线链路的开放性,但是由于无线传输距离受到功率和信噪比的限制,窃听者必须与源结点距离较近。蓝牙技术标准建议采用较低的发射功率,标准通信距离仅有十米,这在一定程度上保证了网络的可靠性。2
17、非法访问:指入侵者伪装成合法用户来访问网络资源,以期达到破坏目的;或者是违反安全策略,利用安全系统的缺陷非法占有系统资源或访问本应受保护的信息。必须对网络中的通信设备增加认证机制,以防门非授权用户使用网络资源。3服务拒绝:指入侵者通过某些手段使合法用户无法获得其应有的网络服务。在蓝牙网络中,这种威胁包括阻比合法用户建立连接,或通过向网络发送大量垃圾数据来破坏合法用户的正常通信。对于这种威胁,通常可采用认证机制和流量控制机制来防门。4 耗能攻击:耗能攻击也称为能源消耗攻击,现有蓝牙设备为节约电池能量,使用节能机制,在不进行通信时进入体眠状态。能源消耗攻击目的是破坏节能机制,如不停地发送连接请求,
18、使设备无法进入节能模式,最终达到消耗能量的目的。目前对这种攻击还没有行之有效的办法。2.3 蓝牙系统安全的任务2. 3.1 蓝牙系统的安全任务1 可用性:对于蓝牙系统,可用性就是确保网络中的节点在受到各种网络攻击时仍然能够提供相应的服务。可用性攻击主要有阻塞类攻击和能源消耗攻击。2 机密性:由于蓝牙系统采用了无线信道,所以很容易受到被动窃听性攻击,往往无法察觉。虽然可以限制信号的发射范围来阻止一定的窃听攻击,但完全阻止是不可能的。所以在网络中传输的敏感信息需要保证其机密性。3 授权与密钥管理:授权与密钥管理也是一个复杂的问题,由于网络没有固定拓扑,无法确定业务授权中心。同时,如果网络中结点数目
19、较多,并且移动性较强,就会造成认证机制相对复杂,通常需要第三方介入。使用的密钥交换算法要能很好地解决网络移动性强,拓扑不固定的问题。4 身份识别与完整性:由于无线信道的开放性,必须对信道进行加密,必须有完整的认证机制,对通信单元进行身份识别,同时,也要保证信息在传输过程中的完整性。5 认证:在蓝牙系统中,认证就是要确认通信对方实体是真实的。6 不可抵赖性:不可抵赖性是用来保证蓝牙系统中的移动节点不能抵赖它以前的行为。第三章蓝牙安全机制的框架3.1蓝牙的安全结构蓝牙的安全体系结构由用户接口、应用程序、RFCOMM 或者其他复用协议、L2CAP、链路管理器/ 链路控制器、安全管理器(Securit
20、y Manager) 、通用安全管理实体、HCI、服务数据库、设备数据库、注册等模块组成。其安全体系结构如图1 所示。其中实线为“询问”过程,虚线为“注册”过程。该体系结构各个部件的功能如下。其中安全管理器是蓝牙安全体系结构中的关键部件。它主要完成以下六种功能:存储和查询有关服务的相关安全信息;存储和查询有关设备的相关安全信息;回应来自协议实体或应用程序的访问请求(允许或拒绝) ;在连接到应用程序之前进行认证或加密;通过初始化或处理ESCE(外部安全控制实体,例如设备用户) 的输入来建立设备级的信任关系;初始化呼叫及查询由用户输入的个人标识码PIN ,PIN 输入也可以由应用程序来完成。服务数
21、据库为每个服务提供相关的安全入口。在起始阶段存储在非易失性存储器NVM 或服务寄存器中。信任设备必须储存在设备数据库NVM中。如果入口因故而被删除,那么设备就看成未知设备,而且被设为默认的访问级别。用户接口其功能是为实现授权而产生的用户交互对话,如输入PIN 等,如果安全管理器需要PIN ,可以使用对ESCE 的调用,也可以直接从链路管理器中取得。RFCOMM或其它复用协议是需要对服务访问作决定的其它复用协议(如RFCOMM) 以与L2CAP 同样的方式查询安全管理器,但有另外的附加注册过程,它允许对连接到复用协议本身的连接去设置访问策略。L2CAP 接口要求安全管理器在导入和导出请求状态下有
22、访问数据库的权利。HCI/ 链路管理器的接口模块可实现以下功能: 鉴权请求; 加密控制; 远程设备的名称请求; 在链路层设置加密策略; 在链路层设置鉴权策略。有一些注册过程是必须的,如:有安全级别和协议栈信息的服务、在L2CAP 层之上的复用协议。注册由负责在BT 协议栈中设置路径的实体完成,它的具体实现取决于注册的实体,如果没有注册,就使用缺省设置。该体系结构指出何时关联用户(如输入PIN) ,以及为了支持预期的安全检验功能底层的蓝牙协议需要执行的动作。蓝牙安全体系建立在L2CAP 层之上,它可以实现对服务的选择性访问。利用中央安全管理器很容易实现灵活的访问机制,因为协议及其它实体的接口很简
23、单,并且它们被局限于请求/ 答应和注册这样一种过程,访问控制封装在安全管理器中。因此,实现更为复杂的访问不会影响其他部分的实现。在该体系结构中,访问一个信任设备的信息流,连接的建立过程依次为:(1) HCI 向L2CAP 发送连接请求。(2) L2CAP 请求安全管理器给予访问权限。(3) 安全管理器查询服务数据库。(4) 安全管理器查询设备数据库。(5) 如果有必要,安全管理器执行鉴权和加密过程。(6) 安全管理器给予访问权限。(7) L2CAP 继续建立连接。3.2 蓝牙的安全设置蓝牙为确保与有线通信相似的安全性能,它在底层和高层为数据的传输定义了多种安全模式和安全级别。蓝牙规范中定义了三
24、种安全实现模式:安全模式1 :无安全机制安全模式2 :服务级安全机制安全模式3 :链路级安全机制安全模式1 :无任何安全需求,无须任何安全服务和机制的保护。此时任何设备和用户都可以访问任何类型的服务;其典型的应用有:电子名片(vCard) 的交换、电子日历(vCalendar) 等数据传输。安全模式2 :对系统的各个应用和服务需要进行分别的安全保护,包括授权访问、身份鉴别和加密传输。加密和鉴别发生在逻辑链路控制和适配协议(L2CA 信道建立之前) 。安全模式3 :对所有的应用和服务的访问都需要实行访问授权、身份鉴别和加密传输。这种模式的鉴服务层安全模式和链路层安全模式的本质区别就在于:对服务层
25、安全模式来说,设备是在通信信道建立以后才开始进行安全程序的,而对链路层安全模式来说,设备是在通信信道建立之前就开始进行安全程序的。3.3 蓝牙的安全级别蓝牙定义了两类安全级别,即设备安全级别和服务安全级别。1 设备的安全级别对于设备而言,它有两种不同的信任级别:信任设备:设备已鉴权,链路密钥已保存在设备数据库中,并标记为信任。信任设备一般是有固定关系(配对)的,它可不受限制地访问所有服务;非信任设备:设备已鉴权,链路密钥已保存在设备数据库中,但没有标记为信任。非信任设备没有永久固定关系(或是临时的),或有固定关系但并不认为它是信任的设备,它对服务的访问要受到一定的限制。另外,未知设备也是未非信
26、任设备,它没有有效的安全信息。2 服务的安全级别对于请求授权的服务、鉴权和加密可分别地设置。访问请求允许定义3种安全级别:要求授权和鉴权的服务,自动访问只允许对信任设备进行,其它设备需要用人工授权;仅仅要求鉴权的服务,无须授权;对所有设备开放的服务,不要求鉴权。另外,蓝牙还定义了缺省安全级别,用于提供继承应用的需要。3.4 蓝牙技术的安全机制 蓝才技术的无线传输特性使它非常容易受到攻击,因此安全机制在蓝才技术中显得尤为重要。虽然蓝牙系统所采用的跳频技术已经提供了一定的安全保障,但是蓝才系统仍然需要链路层和应用层的安全管理。在链路层中,蓝才系统使用认证、加密和密钥管理等功能进行安全控制。在应用层
27、中,用户可以使用个人标识码(PIN)来进行单双向认证。 3. 4.1 设备鉴权蓝才设备的鉴权是指对蓝才设备用户身份的鉴别和确认,可防比对关键数据和功能的非法访问,也可防比黑客试图伪装成授权用户进行欺骗。首先,校验者向申请者发送一个LMP_ au_ rand PDU(其中带有一个16字节的随机数)进行询问,申请者用这个随机数进行相应的运算,并在LMP_ sres PDU 中把运算的结果返回给校验者。如果返回的结果符合要求,那么校验者就认为申请者是一个通过鉴权的设备。当然,校验者和申请者的角色可以互换,进行反向鉴权。3.4.2加密 加密是在发送端将数据按一定的规律扰乱后再进行传送,到接收端再通过解
28、密进行复原,这样可以保持链路中的机密性,以防门他人窃听。蓝牙要求你为每一台蓝牙设备设置访问密码,只有提供正确访问密码的蓝牙设备才可以处理网络数据。蓝牙采用密匙为数据加密,如图二所示。在进行蓝牙设备的初始设置时,密匙被存入加密芯片。接收信息时,加密芯片利用密钥对信息加密;发送信息时,加密芯片再利用密匙对信息解密。网络中,只有那些拥有相同加密芯片和密匙的蓝才设备才能读懂信息,其他没有密匙的用户并不能解密任何信息。3.4.3 快跳频跳频就是不同的频进之间迅速而随机地跳变,这将非常有利于保证数据的安全性和完招性,因为如果在一个频进上遇到干扰,就可以迅速跳到可能没有干扰的另一个频进上工作;如果在一个频进
29、传送的信号因受到干扰而出现了差错,就可以跳到另一个频进上重发。蓝才的运行方式不仅能够保证数据出错时允许重发,而目_还能保证重发必定是在不同的频进上进行的。蓝牙技术把ISM频段分判成79个跳频信进,以每秒1600次的伪随机跳频序列,在79个信进之间改变频率。如果在某个频率点上有强大的干扰,那么受其影响所丢失的传输也只有不到1 ms的时间。为了增加可靠性,蓝牙系统可以将每个数据重复发送三遍。采取跳频和重发机制之后,在一个房间内的几十个人就可以同时使用蓝牙设备,而不会出现明显的干扰。第四章 蓝牙安全威胁分析通过上述讨论,可以发现蓝牙在其系统的高层和底层设立了一系列广泛的安全机制,然而,这些安全机制也
30、并非万能,依然存在着不少的漏洞,主要表现在以下几个方面:4.1私秘性威胁对每个蓝牙设备来说,其48位IEEE设备地址(BD_ADDR)是唯一的,它一方面保证了设备不会被人冒用,而另一方面又导致了另一个问题的产生,也就是私秘性问题。由于它的唯一性,因此用户在移动使用的过程很容易被人追踪,个人行为容易暴露,私秘性可能会受到侵害。4.2数据保密性存在安全隐患蓝牙系统的鉴权和加密是基于一个假设,即假设蓝牙网络的参与者共享链路密钥,通常在使用的过程中,所有的信息都是公开的,这就可能导致另一个安全问题的出现,现讨论如下:1 假设设备A和B使用A的密钥作为它们的链路密钥;2 在以后或同一时刻,设备C可能也与
31、A通信,并且使用A的密钥作为链路密钥;3 B可以使用A的密钥去解密A与C的通信。如图4所示,设备B在早期就获得了A的设备密钥,它就可能使用带有假BD-ADDR的设备密钥去推算加密密钥,因此可监听A与C的通信,它还可以通过鉴权而伪装成A和C。尽管这种攻击实现起来有一定的困难,但也代表了一种不安全的因素。4.3 PIN机制有缺陷由图2可知,E22初始化密钥生成算法来源于PIN和一个随机数。对很多用户来说,使用较长的PIN是难以忍受的,当使用4位PIN时,有10000种可能性,在一般情况下,PIN为0000的可能性有50%。因此,初始化密钥的可信度是很低的。解决这个问题的方法之一就是使用较长的PIN
32、,或者一个密钥交换系统。4.4数据完整性威胁蓝牙不检查数据的完整性,当恶意用户可能拥有了二个通信接点的共享秘密后,它就可以以中间人的身份去攻击和修改数据,而通信的参与者却没有手段了解数据是否被人篡改,节点也不能验证信息源。4.5访问控制威胁蓝牙的访问控制主要建立在鉴权基础之上的,鉴权一般定义为验证申请者的身份,在一些小的个人网络中,实体鉴权的概念也许是切实可行的,因为设备的所有者往往是同一个人,假定这个人有能力管理自己的蓝牙设备,在两节点间创立一定的知识和共享的秘密,节点间的相互鉴权实际上就是验证另一个是否知道它们之间的秘密。然而,当用户想把个人网络连接到另一个网络上时,由于两个设备之间没有预
33、先商定的知识,彼此无法识别,所以鉴权的概念就不再可行了。比如,一个掌上电脑和一LAN访问点,相互之间的鉴权是不可能的,因为它们之间无法相互识别。4.6拒绝服务威胁蓝牙还容易受到拒绝服务攻击。蓝牙工作在2.4GHzISM频段,与微波炉工作在同一频段,当它受到这类强大干扰时,系统将瘫痪。另外,蓝牙与WLAN的共存性尚未解决,尽管制造商们宣称它们已完成了与WLAN共存的测试,但却没有公布测试的方法,因此也有理由相信蓝牙与其它技术无干扰的共存是不可能的,蓝牙系统在开放环境中可能常遇到拒绝服务攻击。另一个拒绝访问的可能是电池的耗尽,当然这不是大问题。4.7伪随机序列发生器的潜在威胁伪随机序列数是蓝牙系统
34、加密算法的基础,但蓝牙规范对它的要求没有明确的说明,也没有说明它的统计测试概率,因此,伪随机序列发生器的实现完全独立地取决于制造商。这种对伪随机序列发生器的低要求可能导致威胁所有蓝牙系统的安全。4.8安全构架设计的局限性除了上述安全隐患外,蓝牙安全构架在设计上还存在着一些局限性,主要表现在以下几方面:1 蓝牙只鉴权设备,而不鉴权用户,因此,对用户的鉴权不得不在应用层上去完成;2 蓝牙BT没有单独为服务授权的机制;3 不支持继承应用,继承应用不调用安全管理器。第五章 蓝牙安全策略5.1 链路级安全策略在链路层使用4个实体(Enitity)来建立或维持安全性。它们分别是:48比特的蓝牙设备地址:它
35、是对每个蓝牙设备唯一的IEEE地址;专用链路密钥:用来认证的一个128比特随机数;专用加密密钥:用来加密的8128比特数;一个随机数(RAND):由蓝牙本身产生的一个128比特随机数或伪随机数。5.1.1密钥蓝牙设备间的安全事务管理都是通过密钥(Key)进行的。在蓝牙系统中,有4种密钥用以确保安全性,最重要的是用于两蓝牙设备鉴别的链路密钥(KLink)。单元密钥KA:在单元A安装蓝牙设备时产生;联合密钥KAB:产生于单元A和B,用于需要更高的安全性时;主密钥KMaster:也称之为临时密钥,用于主设备传信息送给多个设备的时候,它临时代替当前链路密钥;初始密钥KInit:用于保护传输中的初始化参
36、数。链路密钥是一个128比特的随机数,分为永久密钥,半永久性和临时性密钥。链路密钥用于认证过程,同时也作为加密密钥的一个参数。5.1.2鉴别和加密假设两台设备进行通信,图4 表示蓝牙鉴别与加密的模型,该模型主要步骤可用下列过程简要描述(顺序略有不同) :(1) 匹配创建链路密钥系统根据询问/ 应答创建Klink ,基本步骤如下:a) 初始化密钥的创建A B :Rand ;表示设备A 产生一个随机数RAND ,并发向设备B ,下同。A:Klink = E22 (Rand ,BDADDRb ,PIN) ;表示设备A 用流密码E22 算法根据系数计算Klink ,下同。B : Klink = E22
37、 (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 = E21 (BDADDRB ,RANDB) ;B : HA = E21 (BDADDRA ,RANDA) ;A: KAB
38、 = 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: IF 当前链路密钥是主控设备密钥THEN 加密偏移数COF = 串联两个主控设备BDADDR;ELSE COF =
39、 鉴别加密偏移数ACO;A B :RAND;A:Kencrypt = Hash(Klink ,RAND ,COF ,12) ;B :Kencrypt = Hash(Klink ,RAND ,COF ,12) 。图4 蓝牙鉴别与加密的模型5.1.3加密通信 流密码E0 算法用由产生的加密密钥进行通信数据加密。蓝牙数据加密系统对每个数据包的净荷(Payload) 进行加密,这通过硬件由流密码E0 完成。在进行加密时,首先协商加密模式,主从设备必须保持一致的加密模式,一旦确定后,便可开始加密。在启动加密之前,高层数据通信必须暂时休眠,以防止直接接收损坏的数据,加密启动有以下三个步骤完成:配置主设备:
40、发送未经加密的信息分组,接收己加密的信息分组; 配置从设备:发送和接收已加密的信息分组;配置主设备:发送和接收已加密的信息分组。在撤消加密之前,高层数据通信也必须休眠,以避免接收到损坏的数据,加密的撤消由三个步骤完成(过程与启动过程相似)。5.1.4认证蓝牙系统的认证机制采用“询问应答”式,首先,认证服务器向提出请求的客户机发送一个需要认证的随机数,然后等待客户端回送结果,如果收到的结果与本地计算的结果相同,就表明认证成功。如果认证失败,蓝牙设备会推迟一段时间重新请求认证,每增加一次认证请求,推迟时间就会增加一倍,直到推迟时间达到最大值。同样,认证请求成功后,推迟时间也相应地成倍递减,直到达到
41、最小值。5.1.5服务级安全策略安全模式2 能定义设备和服务的安全等级。蓝牙设备访问服务时分可信任、不可信任和未知设备。可信任设备可无限制地访问所有服务,不可信任设备访问服务受限,未知设备也是不可信任设备。对于服务定义了三种安全级别:1 需要授权和鉴别的服务,只有可信任设备可以自动访问服务,其它设备需要手动授权;2 仅需要鉴别的服务,授权是不必要的;3 对所有设备开放的服务,授权和鉴别都不需要。通过鉴别的设备对服务或设备的访问权限取决于对应的注册安全等级,各种服务可以进行服务注册,对这些服务访问的级别取决于服务自身的安全机制,因而这也是蓝牙本身的不足。通过鉴别的设备对服务或设备的访问权限取决于
42、对应的注册安全等级,各种服务可以进行服务注册,对这些服务访问的级别取决于服务自身的安全机制,因而这也是蓝牙本身的不足。5.2自组网攻击分析安装了蓝牙的设备,在一定距离内形成一个自组网(adhoc network) ,典型的结构如图1 所示。这种网络有一些不同于固定网的安全特性,它没有固定的节点和框架,网中设备能充当路由器来中转信息到发送端不能直接到达的节点上。根据蓝牙两种安全模式的分析和自组网动态而复杂的拓扑结构,自组网可能会遭到以下类型的攻击。5.2.1 鉴别攻击鉴别是基于设备间相同链路密钥的共享。如果链路密钥是初始化密钥,那么每次通信都依赖于PIN。PIN 一般是一个4 个数字的数,这使得
43、密钥空间只有10 ,000 个值,攻击者用穷举法很容易获得PIN。如果链路密钥由设备密钥产生,则会产生冒充攻击等。在使用设备密钥作为链路密钥的方案里,如果设备A 和设备B 通信,然后又和设备C 通信。既然A 和C 使用A 的设备密钥,假设A 和B 使用相同的密钥,那三个设备使用相同的密钥,且能够相互冒充身份。5.2.2加密攻击一种攻击是基于PIN 弱点的。在匹配创建链路密钥的过程中,入侵者截取第一次握手过程中的通信数据包,为了推导出各种相关参数包括链路密钥,对PIN 尝试强力攻击(Brute -force Attack) 。另一种攻击是基于加密算法。5.2.3 通信攻击一种通信攻击是“冒充”。
44、这种攻击扫描并记录下有效用户的移动标识号(MIN) 和电子序列号(ESN) ,攻击者用MIN 和ESN 发出呼叫,通知那些没有对此引起怀疑的用户。蓝牙规范中,数据帧有三处要被编辑。用这些修改伪造过的数据帧,攻击者伪造用户的ID 并发出呼叫,用编码扰频器搞乱用户和网络的通信,或以中转方式,重发先前的会话帧破坏被攻击者的重要数据。5.2.4 跳频攻击虽然跳频(FH) 攻击方案较为困难,但是跳频本身有一些易遭攻击的弱点。蓝牙设备里运行着一个28 位的内时钟,破坏性攻击者可以用低能量激光或电磁脉冲来破坏时钟,使其不能和其它设备通信,但这种攻击可能性较小。电波的强度、穿透性、全方位传播和蓝牙设备的中转使
45、得设备通信的范围扩大,使攻击者容易偷听到网络和通信的相关信息,包括跳频算法和相关参数。5.3鲁棒自组网安全策略的完善针对以上分析,可以从以下几个方面来完善蓝牙技术规范,增强其安全性。5.3.1 跳频伪随机数发生器和电源管理方式蓝牙安全策略的基点之一是跳频发射时所用的伪随机数。要增强抗攻击性和抗干扰性,须优化硬件跳频算法和相关参数,选择产生周期长、不呈明显模式和点分布均匀的方法来产生伪随机数,保证跳频序列的高随机性,增强抗攻击性。蓝牙电源管理不仅和跳频有关,还和设备的其它硬软件功能有关。除了会影响蓝牙的所有功能外,还会影响频率选择模式FSM。优化硬件电源管理方式,可增加设备间相互调节功率的能力,
46、减轻电源管理攻击对频率选择模式FSM的影响。使用适当的射频功率,从而可适当减小可侦听电磁波的范围,最大程度上确保不被偷听和攻击。5.3.2 加密管理增加蓝牙设备存储(密钥或PIN) 能力,避免使用内置固定PIN 的蓝牙设备;增加PIN 的长度,上层应用程序限制适当的密钥长度下限,增大密钥值空间,从而增加对PIN 强力攻击的难度;提高更换PIN 的频率,避免弱密钥加密方案;少用设备密钥作为链路密钥,多使用合成密钥作为链路密钥;经常更换链路密钥。优化白化(Whitening) 算法,增加净荷数据扰码后的随机性,降低发送数据的DC 偏置值。增大线性反馈移位寄存器LFSR 的周期,改进流密码的算法,或采用块密码等其它较适合算法,重新设计加密硬件。5.3.3查询策略硬件上优化设计,减少发送频率合成器的切换时间;优化退让机制(算法) ,避免多个设备对查询ID 分组响应时发生冲突而多次重传数据包,降低重传率,减少建立连接前各种连接参数的过分暴露。5.3.4 服务安全与服务发现在链路级安全的基础上,完善服务注册机制,增加和完善中间组件和应用程序本身的安全策略;增强应用服务自身的安全性,减轻服务攻击。优化服务发现协议