



下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
欢迎阅读本文档,希望本文档能够对您有所帮助!欢迎阅读本文档,希望本文档能够对您有所帮助!感谢阅读本文档,希望本文档能够对您有所帮助!感谢阅读本文档,希望本文档能够对您有所帮助!欢迎阅读本文档,希望本文档能够对您有所帮助!感谢阅读本文档,希望本文档能够对您有所帮助!一种蓝牙配对策略的改进方法王昭顺,楚恩来(北京科技大学信息工程学院计算机系,北京,100083)摘要:蓝牙已成为当前非常流行的短距离无线通信方式。蓝牙配对能够保证两个设备之间的认证和安全连接的建立,但是,在配对过程中会受到多种攻击,例如:中间人攻击。为了提高蓝牙配对策略的安全性和易用性,本文对传统蓝牙配对过程进行了介绍,通过分析针对传统配对的攻击方式,给出一个利用基于椭圆曲线的Diffe-Hellman密钥交换体制和蓝牙带外传输机制的配对策略,既简化了蓝牙配对过程,又增加了蓝牙通信安全性。关键词:蓝牙;配对;安全性;中图法分类号: TP393 文献标识码:AAnimprovementforBluetoothpairingCHUEn-lai1,WANGZhao-shun2(DepartmentofComputerScience,SchoolofInformationEngineering,UniversityofScienceandTechnologyofBeijing,Beijing,100083)Abstract:Bluetoothhasbecomeapopularwirelesscommunication.Bluetoothdevicepairingenablestwodevicestoauthenticateeachotherandestablishasecurewirelessconnection.However,therearemanyattacksduringpairing,e.g.man-in-the-middleattacks.InordertoimprovetheusageandsecurityofBluetooth,Thispaperpresentsthetraditionalpairingprotocolandanalyzestheattacksagainstpreviouslypairing.Itprovidesastrategyofpairing,whichinvolveEllipseCurveDiffie-Hellmankeyexchangeprotocolandoutofbandcommunication.Notonlyitcansimplifytheprocessofpairing,butalsoimprovethesecurityofBluetooth.Keywords:Bluetooth;pairing;security;引言蓝牙技术作为短距离、低功耗、低复杂度的连接手段,致力于将特定的移动电话、便携式计算机以及其他各种便携式通信设备在近距离内实现无缝的资源共享。蓝牙技术已获得了全球认可,它是当今市场上支持范围最广泛,功能最丰富的无线标准。蓝牙技术与其他无线通信技术一样,采用开放的信道作为通信介质,因此,蓝牙无线网络在安全性方面也面临各种威胁,例如假冒、窃听、非授权访问和服务拒绝。不同的安全威胁会给网络带来不同程度的破坏。蓝牙安全体系主要包括三方面的内容:密钥管理、认证和加密。整个安全系统依赖于用户的个人身份识别码(PersonalIdentificationNumber),简称PIN码。其长度为8—128比特。为了通过蓝牙建立连接,在第一次与对方设备建立安全连接时或者是链路密钥丢失时,需要双方设备提供各自的PIN码,完成设备间的认证,这个过程叫做配对。由于蓝牙无线通信技术需要安全保障,使得蓝牙设备在使用时需要配对来提高通信的安全性。蓝牙特别兴趣小组(BluetoothSpecialInterestGroup,简称SIG)给出的一项有关使用问题分布调查结果显示:39%的用户不知道如何将设备进入配对模式,24%输入的PIN码被拒绝,12%的设备没有被授权。这对蓝牙配对策略和安全性提出了新的要求,例如:简化配对过程(减少配对步骤、需要最小程度的用户干预、提高配对速度),提高蓝牙无线通信的安全。传统蓝牙配对策略和安全隐患分析传统配对策略本文的研究是基于蓝牙规范中定义的安全模式3,即在链路层使用蓝牙设备地址、用于认证的链路密钥、加密密钥、128比特的随机数四个实体来建立或维持蓝牙安全性的模式。其中,配对过程的认证方案采用“提问”/“应答”的方式。当一个设备发出请求,另一个设备收到后作出响应,配对就开始了,配对成功表示双方相互认证的成功,从而可以进行加密的数据通信。假设设备A为申请者,设备B为验证者,进行配对主要步骤可用下列过程简要描述:初始化密钥的建立:设备A初始化,产生一个随机数IN_RAND,并将这个随机数通过蓝牙信道传递给设备B。A,B分别利用函数E22生成初始化密钥Kinit,其中输入参数为申请连接的设备地址BD_ADDRa、PIN码,PIN码的长度,随机数IN_RAND。Kinit=E22(BD_ADDRa,PIN,PIN_Len,IN_RAND)验证方的验证:设备B生成鉴别随机数AU_RANDb,将其发送给设备A,设备A利用AU_RANDb,通过基于SAFER+128的认证函数E1,计算得出32比特的响应数SRES1,并将其发送给设备B。设备B同样利用认证函数E1计算得出32bit的响应数SRES1,比较两个SRES1是否一致,一致继续完成配对过程,否则配对失败。SRES=E1(Kinit,BD_ADDR,AU_RAND)申请方的验证:再进行反方向的认证,设备A生成鉴别随机数AU_RANDa,发送给设备B,B计算出SRES2,并将其发送给设备A。A比较自己计算得出的SRES2和设备B传来的是否一致,一致则配对成功,否则配对失败。同时保存在第二次生成SRES时计算出的一个辅助参数——96比特的鉴别加密偏移数ACO,作为输入参数用在生成加密密钥的算法中。至此配对过程完成。传统配对的安全隐患分析传统蓝牙配对策略面临的安全挑战主要包括被动监听(利用监听的PIN码攻击)和主动控制(中间人攻击)两大类。被动监听是指第三方设备监测两个蓝牙设备之间的通信,通过逆向过程推导出双方使用的LinkKey。主动控制是指第三方设备直接充当信息的中转站,控制两个蓝牙设备的通信。PIN码攻击蓝牙技术中在选定密钥长度一定的情况下,加密强度取决于PIN码,可见PIN码在蓝牙安全体系中的重要地位。在传统的配对过程中PIN码的选择一般有三种:①无PIN码:无安全性(无验证、无加密);②固定PIN码:有限安全性(通常为“0000”、“1111”或类似数字);③可变PIN码:最佳安全性(1至16位字母数字字符);这里对安全性相对较高的可变PIN码做安全分析。通过上文的分析可以看出,PIN码在链路密钥产生的过程中是一个重要的参数。但是PIN码在使用过程中会带来一定的问题。如使用较短的PIN码(一个典型的PIN是一个4位十进制数,用户甚至还会选择一些容易记忆的号码,如“1234”),这使得密钥空间只有10000个值,会成为穷举攻击的对象。由于蓝牙设备的地址是公开的,其它参数信息见表1,都是明文传送。只要攻击者对开放的蓝牙链路做监听,就能够容易的获得这些参数。当用穷举法猜到正确的PIN码时,攻击者通过E1算法很容易就可计算出链路密钥,安全的链路就会被攻击者攻破。如果选择较长的PIN码,如最长的128比特。将带来极大的不便,因为,每次配对时都需要输入PIN码来完成认证。表1配对参数表消息标号源目的消息长度备注1ABIN_RAND128位明文2ABLK_RANDa⊕Kinit128位明文,B收到消息后,解开得到LK_RANDa3BALK_RANDb⊕Kinit128位明文,A收到消息后,解开得到LK_RANDb4ABAU_RANDa128位明文5BASRES132位明文6BAAU_RANDb128位明文7ABSRES232位明文穷举猜测PIN码的步骤:列举出所有可能的PIN值,假定PIN码为4个十进制数,那么可能的PIN取值从0000到9999之间。按照顺序取PIN列表中的第一个值,并从监听两设备的蓝牙会话中取得消息IN_RAND,就可以通过公开的算法E22算法,计算得到Kinit。根据消息2和消息3,第二步得到的Kinit,反推计算出LK_RANDa和LK_RANDb(LK_RANDa和LK_RANDb是设备A,B生成的又一组随机数,在第一次认证时使用Kinit作为参数计算认证密钥,以后的认证过程使用由LK_RANDa,LK_RANDb计算得来的认证密钥Kab)。根据LK_RANDa和LK_RANDb以及两个设备的地址等信息,计算得到Kab。由Kab和消息4(AU_RANDa),计算得到SRES,并与信息5的SRES1比较。同样的,用Kab和AU_RANDb,计算得到SRES2,并与信息7进行比较。如果第五步的消息比较相等,则给定的PIN是正确的;如果不匹配,回到第二步,取PIN列表的下一个PIN,重复第二步后的步骤,直到找到个正确的PIN为止。由于配对完成后,接下来的通信不需要再进行交换PIN码的配对,而是直接进行双方认证,这时攻击者不能再监听获得所有的参数来达到攻击的目的。但是,由于蓝牙技术支持在一方设备丢失链路密钥的情况下发送LMP_not_accepted消息告知对方,可以重启配对过程,这一特点给了攻击者可乘之机。在此给出了三种方法实现重启配对过程获得所有参数:方法一,如果在设备A发送AU_RAND给从设备B后,攻击者立即发送伪造了的LMP_not_accepted消息给设备A,A误认为此消息是B发来,重新配对开始。方法二,攻击者在设备A向设备B发送AU_RAND前,伪造A向B发送IN_RAND消息。B误以为A丢失了链路密钥,于是迫使配对过程重新开始。方法三,设备A发送AU_RAND消息给设备B,并等待设备返回SRES。如果在A收到B返回SRES之前,攻击者仿造B向A发出一个随机的SRES,设备A将收到的SRES与设备自身计算的SRES进行比较,比较结果不一样,A于是重新要求认证,当认证失败次数达到一定数量时,配对过程会重新启动。中间人攻击方式假设设备A和设备B之间存在着公共链路密钥,现在攻击者就可以对两个设备进行攻击,如图1所示:图1中间人攻击攻击者假冒A和B,向A、B分别发送Connection_Req命令,A、B分别用LMP_Accept来应答请求,建立连接。A向攻击者发送随机数AU_RANDa来要求验证。攻击者向B转发A发送给它的随机数AU_RANDa要求B进行验证。B产生验证码SRES1发送给攻击者。攻击者把B产生的验证码SRES1转发给A。A通过计算SRES1,验证正确,攻击者通过A的验证。同样通过SRES2的验证正确,攻击者通过B的验证。这样攻击者在不知道设备A和设备B公共链路密钥的情况下冒充设备通过了验证,可以读取或篡改双方设备传递的信息。改进配对策略的研究和实现概述本文对传统配对过程进行改进,给出一种易用性强、安全性高的配对策略,来满足人们对蓝牙安全通信的需要。在易用性方面我们采取的措施是:不用输入PIN码,尽量减少用户对配对过程的干预;安全性方面采用的措施是:利用基于椭圆曲线的Diffe-Hellman密钥交换和蓝牙带外传输机制,并使用了两次认证的方式,防止受到上文中阐述的攻击方式的攻击,实现安全配对。改进配对的过程实现配对过程包括三个阶段:公钥交换、第一次认证、第二次认证。假设设备A为申请者,设备B为验证者进行配对。公钥交换在启动配对过程之前,确保蓝牙设备A是初始化过的,设备A、B生成各自的ECDH(EllipticCurveDiffie-Hellman)密钥对(SKa,PKa)、(SKb,PKb)。配对初始化,选定设备A,发送A的公钥PKa给远端设备B,当B收到A设备的公钥后,将自己的公钥PKb发送给配对发起设备A,这个传递过程在蓝牙链路中完成。两个设备利用各自的私钥SKa,和对方设备的公钥PKb,通过FIPSP-192曲线函数各自计算DHkey,A设备计算它的DHKey函数如下:DHKey=P192(SKa,PKb)。第一次认证设备A、B生成各自128位的随机数Ra,Rb。设备A、B分别利用基于的Hash函数f1计算128位Ca,Cb。A设备计算Ca函数如下:Ca=f1(PKa,PKa,Ra,Rb)这里Rb=0设备A将三个重要参数Ca,BD_ADDRa,Ra,发送给远端设备B,同样,B将他自己的这些信息发送给A。这一步非常关键是保证整个配对过程安全性的关键点。选取蓝牙带外通信手段进行传输,我们将在后面对这部分的实现着重讲解。当设备A收到发送过来的信息后,将计算Ca时使用的Rb由零改为接收到的值,通过函数f1来计算对方的公钥Cb,并且和本地收到对方设备传过来的Cb值作比较,相等继续下面的步骤,不等则返回配对失败;设备B同样重复这样的过程。第二次认证设备A、B分别生成随机数Na,Nb通过蓝牙链路交换。两个设备利用目前各自拥有的参数,通过基于的Hash函数f3计算Ea,Eb进行第二阶段的认证。A设备计算它的Ea值函数如下:Ea=f3(DHKey,Na,Nb,Ra,IOcapA,BD_ADDRa,BD_ADDRb)其中IOcap是24bit的值表示逻辑链路层的I/O能力。设备A将计算出来的Ea值,通过蓝牙链路发给设备B,B收到后利用函数f3计算Ea,与收到设备A传来的Ea比较,如果不等则退出。若相等,则设备B将计算出来的Eb发给A,A设备收到后进行类似第3步的确认,相等则认证完成;否则退出,配对失败。配对成功。两端设备分别计算两方进行加密通信使用的密钥。利用NFC技术完成蓝牙带外数据传输考虑到利用蓝牙带外传输的安全性和可行性。我们采用NFC技术,NFC英文全称NearFieldCommunication,近距离无线通信。是由飞利浦公司发起,由诺基亚、索尼等著名厂商联合主推的一项无线技术。NFC由非接触式射频识别(RFID)及互联互通技术整合演变而来,在单一芯片上结合感应式读卡器、感应式卡片和点对点的功能,能在短距离内与兼容设备进行识别和数据交换。便快捷地进行无线连接,进而实现数据交换和服务。使用NFC技术完成蓝牙带外传输的原因:NFC具有双向连接和识别的特点,工作于13.56MHz频率范围,和蓝牙设备工作频率互不干扰,使NFC便于与蓝牙在同一个产品中共存;NFC的作用距离10厘米左右,并且链路层包括一个加密鉴权程序和防冲突机制,从而排除了第三方进行的中间人攻击;在蓝牙设备之间采用NFC技术作为传输手段,就可以消除用户干预,并使设备之间几乎即时的配对成为可能。从而简化蓝牙数据处理过程中发现和协商阶段的操作。考虑到需要降低功耗,设置NFC芯片在被动通信模式下工作。在一台蓝牙设备发起配对请求后将与自己连接的NFC芯片设置为Target模式,将本地的蓝牙配对数据传递给NFC芯片,等待对方配对数据的到来。另一台设备收到配对请求,将于自己连接的NFC芯片设置为Initiator模式,并将本地的蓝牙配对数据传递给NFC芯片。这里的配对数据包括数据认证密钥Cx、蓝牙地址BD_ADDR、产生的随机数R。这时只需将两个NFC芯片彼此靠拢,即可触发NFC的一个应用会话,交换配对双方的数据。采用这种技术和策略,能在改善安全功能前提下最大限度地减少用户交互操作。结束语本文对传统蓝牙配对和对其进行的攻击方式进行了研究与分析,给出了一种基于NFC技术的蓝牙简单配对的方案,对于在传统配对方式下的PIN码攻击和中间人攻击都有较好的防御功能。在提高了蓝牙安全体系的可靠性基础上,在用户体验的易用性方面也有了很
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年八年级下册课外拓展活动计划
- 企业数据驱动的决策支持系统建设
- 醉酒驾车的社会责任与个人心得体会
- 铁路建设安全技术实施措施
- 企业内部系统的交互优化方案
- 企业创新人才培养与激励
- 2025年环境保护教育工作计划
- 电子行业安全环保专员岗位职责
- 房地产开发公司组织结构与职责
- 人力资源管理系统的安全保障措施
- 农业机械学育苗移栽机械
- 澳大利亚PSC检查经过
- 01-14江苏大学车辆工程考研复试真题答案
- TMYZX 001-2021 酿酒专用小麦原粮
- 2023年湖北国土资源职业学院高职单招(数学)试题库含答案解析
- GB/T 37910.1-2019焊缝无损检测射线检测验收等级第1部分:钢、镍、钛及其合金
- 雷锋叔叔你在哪里教学反思
- (新版)国家统计执法证资格考试备考题库(含答案)
- 项目验收单标准模板
- 小学 三年级 心理健康《最好的老师-兴趣的作用》教学设计
- DB12T 1040-2021 建筑工程规划管理技术规范
评论
0/150
提交评论