蓝牙通信中的安全性研究论文.docx

上传人:b****8 文档编号:28614233 上传时间:2023-07-19 格式:DOCX 页数:21 大小:274.06KB
下载 相关 举报
蓝牙通信中的安全性研究论文.docx_第1页
第1页 / 共21页
蓝牙通信中的安全性研究论文.docx_第2页
第2页 / 共21页
蓝牙通信中的安全性研究论文.docx_第3页
第3页 / 共21页
蓝牙通信中的安全性研究论文.docx_第4页
第4页 / 共21页
蓝牙通信中的安全性研究论文.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

蓝牙通信中的安全性研究论文.docx

《蓝牙通信中的安全性研究论文.docx》由会员分享,可在线阅读,更多相关《蓝牙通信中的安全性研究论文.docx(21页珍藏版)》请在冰豆网上搜索。

蓝牙通信中的安全性研究论文.docx

蓝牙通信中的安全性研究论文

安徽农业大学

毕业论文(设计)

 

论文题目蓝牙通信中的安全性研究

姓名学号

院系信息与计算机学院专业通信工程

指导教师职称

 

中国·合肥

二o一五年五月

安徽农业大学学士学位论文(设计)开题报告

课题名称

蓝牙通信中的安全性研究

课题来源

导师指定

学生姓名

专业

通信工程

学号

指导教师姓名

职称

讲师

研究内容

研究蓝牙通信安全机制,分析目前蓝牙通信协议和安全机制,分析蓝牙探测和攻击的方法,并以此提出攻击检测或防护方法。

演示蓝牙之间控制传递。

研究计划

3月1日~3月15日收集相关的资料,解决不懂的知识

3月15日~4月1日熟悉蓝牙通信安全机制

4月1日~4月30日分别调试各个模块

5月1日~5月15日将所有的模块进行联调

5月15日~6月1日撰写毕业设计论文,准备答辩

特色与创新

1.数据通信规约:

自主设计,稳定性好。

2.系统稳定,抗干扰能力强,控制模式多。

3.系统具有较强的实际应用价值。

指导教师意见

教研室意见

学院意见

目录

1引言1

1.1研究的现实意义1

1.2研究的背景和现状2

2蓝牙技术特点2

3蓝牙安全体系4

3.24

3.3显示模块NOKIA5110屏部分硬件电路设计5

3.4温湿度传感器硬件电路设计6

3.5红外控制电路设计7

3.5.1红外发射电路设计………………………………………………………………..…………7

3.5.2红外接收控制电路设计8

4主程序设计8

4.1温湿度传感器硬件电路设计9

4.2NOKIA5110程序设计13

4.3红外发射程序设计14

4.4红外接收程序设计14

4.5上位机程序设计15

5结论17

6参考文献18

7英文摘要18

8致谢19

附录1:

红外发射部分原理图..................................................19

附录2:

温湿度检测及红外发射原理图20

附录3:

红外接收上传程序20

附录4:

上位机程序……………………………………………………………………………22

附录5:

实物图…………………………………………………………………………………24

蓝牙通信中的安全性研究

学生:

黄廷伟,指导教师:

朱诚

(安徽农业大学信息与计算机学院合肥230036)

摘要:

蓝牙网络是近年来国际上的研究热点,安全性研究是不容忽视的一个重要方面。

蓝牙网络特有的节点运算能力有限、使用无线链路连接、拓扑经常变化以及节点缺乏有效的物理保护等特点使得蓝牙网络安全性保障遇到巨大挑战。

对蓝牙的功击威胁从码的攻击、蓝牙地址的嗅探,到利用网络构造和路由的漏洞,以及对服务访问认证的不完整性和不方便性都严重影响蓝牙技术的应用,在现实的应用中,也迫切需要有效地解决这些问题。

本文主要从三个方面来对蓝牙网络的安全性进行研究在网络的攻击和防御方面通过深入分析已有的安全协议体系结构,对于针对码的攻击提出在生成初始化密钥之前,增加一个过程来增加加密的时间,使攻击者攻击码的时间复杂度大大增加。

试验表明,使用防御方案后,对于通常的位码的攻击由原来的秒级增加到小时级的时间,有效地防止了对于码的攻击同时又针对蓝牙协议体系结构中潜在的中间人攻击给出了一种基于时间戳的防御方案。

关键词:

温湿度传感器,STC89C52,PC远程监控,上位机

1引言

1.1研究的现实意义

蓝牙的迅猛发展给信息产业和信息技术带来了前所未有的机遇,蓝牙技术作为无线通

信技术领域最新的进展,代表着短距离无线通信技术的未来发展潮流。

但是,蓝牙中的安

全问题却也越来越多地出现我们周围对于使用带有蓝牙功能手机的朋友,明明自己不怎

么爱发短信,却发现自己短信费用突然增高或者自己与朋友合影的照片被不认识的人登

在了网上或者自己的手机莫名其妙地向外拨号,非常重要的商业伙伴信息被对手通过手

机得到。

反病毒厂商赛门铁克也发表声明,在平台已经开始滋生蓝牙蠕虫,蠕虫试不图利用蓝牙进行传播。

一旦感染一台计算机,它就会搜索其它支持蓝牙的设备,并向找到的设备发送它自己的拷贝。

而且,理论和实践都证明,所有的蓝牙设备基本都可以扫描嗅探到。

1.2蓝牙的应用和发展现状

从年开始实施,蓝习技术的应用在近几年中得到了迅猛的发展各种移动设备与固定设备,在近距离内都能不用电缆就可以很方便地连接起来,实现相互操作与数据共享。

虽然蓝牙无线通信的首要目标是取代设备间的缆线,但是它也支持许多新的应用。

对于用户来说,在不久的将来,所有的设备如笔记本电脑、鼠标、键盘、打印机、、移动电话和数码相机等都能使用协议无线地连接在一起,进行语音和数据的交换。

同时,还可以通过无线或有线的接入点如,等与外界相连。

蓝牙网络作为近年来国际上的研究热点,安全性研究是不容忽视的一个重要方面。

国内外对蓝牙网络的安全性研究,虽然己经有一些成果,但是仍然处在起步阶段,多数成果还只是概念性的,距离蓝牙网络的实用还相差很远。

本论文的研究,是密切跟踪国际最新的研究动向,对蓝牙网络特性和本身的安全体系进行深入剖析,来做出一系列有意义的面向应用的研究工作。

本课题欲对蓝牙网络的安全体系进行深入的分析,对蓝牙网络中存在的某些攻击给出合适的防御方案。

同时针对安全路由协议和安全服务发现协议,给出了一些改进策略或具体安全构造方案,这些策略或方案将充分考虑蓝牙网络的特性,如带宽小、能量少、轻量计算等特点。

 

2蓝牙技术特点

蓝牙是一种低耗无线技术,目的是取代现有的PC,打印机,传真机和移动电话等设备上的有线接口。

主要优点有:

可以随时随地用无线借口去代替悠闲电缆连接,并且有很强的移植性,可用于很多通信场合,如GSM,WAP,DECT,等等,引入身份识别后可以灵活实现漫游:

功耗低,对人体危害小;蓝牙集成电路应用简单,成本低廉,实现容易,易于推广。

2.1蓝牙设备地址(BD_ADDR):

是一个对每个蓝牙单元唯一的48位IEEE地址。

2.2个人确认码(PIN:

PersonalIdentification Numben):

是由蓝牙单元提供的1-16位(八进制)数字,可以固定或者由用户选择。

一般来讲,这个PIN码是随单元一起提供的一个固定数字。

但当该单元有人机接口时,用户可以任意选择PIN的值,从而进入通信单元。

蓝牙基带标准中要求PIN的值是可以改变的。

 2.3鉴权字:

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

 2.4加密字:

长度8-128位,可以改变。

这是因为不同的国家有许多不同的对加密算法的要求,同时也是各种不同应用的需要,还有利于算法和加密硬件系统升级。

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

  虽然蓝牙系统的跳频机制对于来自系统内部其它设备的偶然传输干扰起到了一定的保护作用,但是很显然仅有这种保护是不够的。

它不能防止有人在两个传输单元之间对数据的窃听和偷取,尤其在无线传输数据时,窃取数据者可以轻松地屏蔽自己而不让用户发现,因此蓝牙系统需要加入相应的安全机制。

在一般的系统中,通常对所传输的数据包进行加密,但仅有这种做法是不够的。

更重要的是在通信连接建立以前,确保通信单元的安全性。

例如用户相同时跟几个用户通信,就需要对这些用户进行确认。

因此,在蓝牙系统中间时运用了鉴权和加密技术。

3.蓝牙安全机制

2.3.1字管理机制

  蓝牙链字是长度为128位的随机数,它是蓝牙系统鉴权和加密的基础。

为了支持不同阶段、模式的要求,蓝牙系统在链路层上用了4种不同的字来保证系统的安全性。

包括单元字KA组合字是KAB,临时字Kmaster及初始化字Kinit。

  单元字KA与组合字KAB仅产生方式不同,执行的功能是完全相同的。

也就是说,KAB是由两个单元A,B共同产生的,而KA仅由一个单元A产生,因此KA在初始化阶段产生后就基本不变了。

系统的内存比较小时通常选择KA,而系统对稳定性要求比较高时选择KAB。

  临时字Kmaster只是临时取代原始字。

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

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

  半永久性的链接字在特定的时间内被称作当前链接字。

当前链接字和其它链接字一样,用于鉴权和加密过程。

此外,还用到了加密字KC,加密字被LM的命令激活后将自动被改变。

  另外,鉴权字和加密字在不同的阶段执行不同的功能。

例如:

在两个单元没有建立连接的阶段和已经建立连接的阶段有很大的不同,前者必须首先产生加密字,而后者可以继续使用上次通信的加密字。

相应地不同的阶段对字的管理是不一样的。

此外当主机想广播消息,而不是一个一个地传送消息时,需要特殊的字管理方法。

正是蓝牙系统有力的字管理机制,才使得系统具有很好的安全性,而且支持不同的应用模式。

2.2.2.链接字的产生

  初始化字Kunit的值以申请者的蓝牙设备地址、一个PIN码、PIN码的长度和一个随机数作为参数,通过E22

  算法产生。

而申请者相对校验者而言是需要通过验证的一方。

因此,申请者需要正确的PIN码和PIN码的长度。

一般来讲,由HCI决定谁是申请者,谁是校验者。

  当PIN的长度少于16个八进制数时,可以通过填充蓝牙设备地址的数据使其增大,因此如果循环使用E22可以使链接字的长度增长为128位。

  初始化链接字Kint产生后,该单元将产生一个半永久字KA或KAB。

如果产生的是一人KAB,则该单元将用一个随机数LK_RAND周期性地加密蓝牙设备地址,加密后的结果为LK_KA,而各自产生的LK_RAND与当前的链接字进行异或运算后,分别产生新值,永为CA和CA,然后互相交换,从而得到了对方的LK_RAND,并以对方的LK_RAND和蓝牙设备地址作为参数,用E21函数产生新值LK_KB的异或运算得到组合字KAB。

当KAB产生后,首先单向鉴权一次,看KAB变为当前链接字,而丢弃原先的链接字K。

E22的工作原理与E21类似。

2.2.3蓝牙单元鉴权

  在鉴权过程中,LM决定谁是校验者,谁是申请者。

申请者和校验者必须同时拥有一个共同的当前链接字。

而这种口令-应答方式的鉴权实际上是申请者发送一个随机数RAND,随后校验者用当前密钥字、申请者的蓝牙设备地址和RAND作为加密算法的参数得到新值,记为SRES’。

申请者以同样的参数、算法得到的新值记为SRES。

然后,申请者将SRES传送给校验者,比较SRES’和SRES是否相等。

如果相等,则鉴权通过;否则鉴权失败。

在间隔一定时间后系统重新鉴权。

鉴权机制的安全性是相当高的。

更保险的做法是采用双向鉴权,即一次鉴权成功后,调整申请者和校验者的角色,再次鉴权。

鉴权成功以后,产生了鉴权编码补偿(ACO),以用于加密字的产生。

2.2.4.加密

  为了保证蓝牙系统的安全性,必须采用加密技术。

但蓝牙系统对数据包头和控制字段并不加密。

蓝牙系统通过一个再同步的流加密算法对每一个负载加密,由LM最终决定是否加密。

  最后需要注意的是,不仅要对数据包加密,而且要对加密过程的中间数据进行加密,例如对鉴权编码补偿进行加密,这样才能防止系统被攻击和数据被窃取。

 

3.蓝牙安全的重要性

蓝牙系统提供了几种内在的安全机制,从而在一个比较广泛的范围内保证了蓝牙系统的安全性。

这不仅对产品开发商有利,而且给用户带来很大的方便。

蓝牙技术把便携式电脑、蜂窝移动电话和家用电器等用无线链路连接起来,将计算机与通信更加密切地结合起来,使人们能随时随地进行数据信息的交换与传输。

我们相信,蓝牙技术将掀起无线连接与通信的革命。

据预测,在最近几年内无线数据通信业务将迅速增长,因此电信业、计算机业、家电业都对蓝牙技术很重视,认为它将对未来的无线数据通信业务产生巨大的促进作用。

蓝牙技术是无线数据通信最为重大的进展之一,对蓝牙安全机制的研究和应用具有重要的意义

 

2针对蓝牙协议本身的攻击

对蓝牙协议本身的攻击可以分为两类:

主动(Active)攻击和被动(Passive)攻击。

主动攻击是没有被认证的第三方对传输过程中的数据流进行修改。

主动攻击包括伪装

CMasquerading、中继(Replay)、信息修改(MessageModification)以及拒绝服务

(Denial-Of-Service)。

被动攻击可以是对传输内容进行窃听,也可以是对通信模式进行监听获

取相关信息。

下面对具体的攻击类型进行分析。

2.1节点密钥攻击

假如一个设备A只能使用节点密钥(UnitKey,例如KA作为和设备B及其他所有设

备的链路密钥。

由于和不同设备建立使用相同的密钥,这将存在以下问题:

当B和A通信完成后,B

知道A所使用的链路密钥,B可以通过修改本身的BD_ADDR变成A的地址后就可以以A的身份和其他设备进行通信,例如和C通信,而此时C以为在和A通信。

也可能B伪装成C和A通信,因为B知道A的链路密钥,所以B能够通过A的认证和A进行连接,此时A并不能确定它是否在和真正的C通信。

由于当前协议允许在和不同设备进行通信时使用相同的密钥,主要是由于一些设备由于

存储空问有限所以协议在设计时允许使用节点密钥,再者是为了方便,但这样就可能出现第

三方通过改变白己的BD_ADDR和已知的链路密钥伪装身份与其他设备进行通信。

解决此

类问题只有尽量避免使用节点密钥,多使用组合密钥,对一些存储空问有限的设备可使用临时密匙。

2.2离线PIN攻击(OfflinePinCracking)

如果两设备通信过程的联结和鉴权全过程被监听,就会遭受此类攻击,此类攻击的过程

是:

利用一些高科技工具,首先通过扫描对附近正在进行通信的设备进行检测,检测到后对

联结和鉴权过程中传输的in-rand,Kinit,AURANDA,SRES,AU_RANDB等数据进行获

取,列举0000到9999的PIN(如果pin是4位),对每一个PIN值进行验证,直到找到正

确的PIN值}s}。

经试验证明在一些电脑配置中破解4位的PIN码仅需要0.06秒。

当前情况下可以通过设定8位PIN码来预防此类攻击,因为当前情况下破解8位PIN

码还需要一定的时问,但随着计算机的快速发展,仅仅通过这类方法不能从根本上解决问题,

此时需要从根本上改进算法来防止此类攻击。

2.3中继攻击(RelayAttack)

RelayAttac是通过在通信双方增加中继来进行窃取信息。

当A和B建立连接的时候,

第三方在A和B之问增加C1和C2,A和B不会直接通信,而是要通过C1,C2。

在联结

和鉴权期问,当A向B质询时,命令通过C1,C2最后传给B,B把结果在返回给C2,在

每次A到B的数据传输过程中,数据的传输顺序是A-C1-C2-B,此时C1,C2不需要

有AB通信的链路密钥,当A向B质询数据时C1把请求传递给C2,C2在传给B,B把结果

传给C2,结果就被反向的传递给A,在这种情况下C虽然没有AB的链路密钥仍然能通过A

的鉴权认证与A连接,同理C2也可以与B连接。

要进行此类攻击要求设备EB离A设备比较近,它对A向B发出的连接请求(同时EB

也会收到)作出的回应要比EB快,首先A发送LMP_hostreq命令给EB,EB接受到连接

请求回应首先回应LMP_accepted,然后EA向B发出LMP_hostreq命令发起连接建立程序,

B以为它在和A通信,并接受EA请求,回应LMP_accepted,如果此时A和B通信的链路

密钥没有变化,则攻击者不需要知道密钥,如果现在要改变链路密钥,这种攻击也不可能避

免,所使用的随机数只需要把截获到的数据与现在的链路密钥XOR即可得到,A发送加密

过的随机数BAND_NRA到EB,EA再将其转发至B,B收到这些数后发送白己加密过的

RAND_NRB到EA,EA再将其转发给EB,EB把收到的数再传给A,此时A以为是从真正的B直接得到的数,所以会产生新的密钥,然后A,B计算出新的密钥,认证的过程相似,EA把A发送的请求LMP_aurand命令转发给EB再转发给B,虽然EA计算不出SRESA,但是

B能计算出并能传递给EA,所以EA能通过A的鉴权,同理EB也能通过B的鉴权,因为中

继攻击只需要把双方通信的数据先截获在发送即可,不需要知道其他的信息,只有时问距离

上的要求,所以不论是否要改变密钥又或者是要参数密钥都不影响此类攻击的效果。

 

4.蓝牙模块的引脚说明

1.STATE:

蓝牙状态输出,持续高电平表示数据链路已经连通。

可以接单片机的IO口来查询蓝牙的状态。

这个STATUS不是必须连接的。

 

2.VCC:

电源接口,接5V必须连接。

 

3.GND:

电源负极必须连接。

 

4.TXD:

数据输出接口,需要连接单片机的数据输入接口,一般单片机IO的名称为RX或者RXD。

 

5.RXD:

数据接收接口,需要连接单片机的数据发送接口,一般单片机IO的名称为TX或者TXD。

6.EN:

主模块清除配对功能的管脚。

一般接单片机的某一个IO,单片机输出一个500ms的低电平,然后再上拉输出高电平,实现清除蓝牙主机配对信息的功能。

 

单片机之间通过串口TXD,RXD与蓝牙模块从机连接,进行串口通讯

接收机接受到主模块的控制命令后,将数据命令转换为I/O口高点电平控制命令,从而实现蜂鸣器的打开和关闭。

 

4.1单片机控制电路:

单片机是控制单元的核心。

起着控制蜂鸣器状态和接受发送蓝牙数据的作用。

单片机控制模块使用的是STC89C52,使用该芯片很容易实现对其他模块的控制。

通过对单片机STC89C52写入程序,可以方便的用软件来控制整个过程.

4.2单片机最小系统:

包括单片机主机、复位电路、时钟电路。

 

4.3蓝牙串口通信系统:

将蓝牙模块的从机与单片机串口相连,主机和从机的连接情况一样。

 

其中单片机的RXT端为P3.0引脚,TXD端为P3.1引脚。

串口通讯的设置为波特率9600,数据位为8位,校验位0,停止位为1。

 

按键设置

主机的按键分别设置为P1.0和P1.1。

当按下P1.0对应的按键后,P1.0的引脚变为低电平,单片机检测到引脚变为低电平之后,通过蓝牙向从机发送打开蜂鸣器的指令。

从机接收到之后改变蜂鸣器的引脚电平状态,使电平为低电平,此时蜂鸣器发出声音。

当按下P1.1对应的按键后P1.1的引脚变为低电平,单片机检测到引脚变为低电平之后,通过蓝牙向从机发送关闭蜂鸣器的指令。

从机接收到之后改变蜂鸣器的引脚电平状态,使电平为高电平,此时蜂鸣器停止发出声音。

 

主机的通讯程序

#include

sbitDuanDian=P1^0;

sbitKaiShi=P1^1;

sbitTingZhi=P1^2;

intflag=0;

unsignedchardataS;

voiddelayms(unsignedint);

voidmain()

{

TMOD=0X20;

TL1=0xFD;

TH1=0xFD;

TR1=1;

SCON=0x50;

while

(1)

{

if(DuanDian==0)

{delayms(20);

if(DuanDian==0)

{

flag=1;

dataS='1';

while(!

DuanDian);

}}

if(KaiShi==0)

{delayms(20);

if(KaiShi==0)

{

flag=2;

dataS='2';

while(!

KaiShi);

}}

if(TingZhi==0)

{delayms(20);

if(TingZhi==0)

{

flag=3;

dataS='3';

while(!

TingZhi);

}}

if(flag!

=0)

{

SBUF=dataS;

while(!

TI){}

TI=0;

flag=0;

}

}

}

voiddelayms(unsignedintaa)

{unsignedintx,y;

for(x=aa;x>0;x--)

for(y=110;y>0;y--);

}

 

从机的通讯程序

#include

voidDelay(unsignedinti);

//sbitLED=P2;

sbitBeep=P2^1;

intflag=1,Enable=3;

voidmain(void)

{

unsignedcharldat;

PCON=0x80;

TMOD=0X20;

TL1=0xF3;

TH1=0xF3;

TR1=1;

SCON=0x50;

while

(1)

{

if(flag==0)

{

Beep=0;

}

elseBeep=1;

if(RI){

ldat=SBUF;

RI=0;

if(ldat=='1')flag=0;//?

?

?

?

?

?

elseif(ldat=='2')flag=1;

elseif(ldat=='3')Enable=0;

SBUF=ldat;

while(!

TI);

TI=0;

}

}

}

voidDelay(unsignedinti)

{

charj;

for(i;i>0;i--)

for(j=200;j>0;j--);

}

5结论

经过一个月的准备,在朱诚老师的悉心指导和严格要求下,我终于完成了《蓝牙通性中的安全性研究》的论文和实物的焊接。

从课题选择、方案论证、电路的设计到实物的焊接与调试,都是很大的尝试和挑战。

在具体设计的过程中,我遇到过很多的难题,但都在老师和同学的帮助下顺利解决了,我不断地给自己提出新的问题,然后去论证、推翻,再接着提出新的问题。

这次毕业设计使我学到了很多,也深刻体会到实践对于学习的重要性,以前只是明白理论,没有经过实践考察,对知识的理解不够明确,通过这次的设计,使我真正做到了理论与实践相结合。

总之,通过毕业设计,我深刻体会到要做好一个完整的事情,需要有系统的思维方式和方法,对待要解决的问题,要耐心、要善于运用已有的资源来充实自己。

同时我也认识到不论做什么事都要真真正正用心去做,才会使自己更加的成长,没有学习就不可能有实践的能力,没有自己的实践就不会有所突破,希望这次的经历能让我们在以后的学习生活中不断成长与进步。

参考文献

[1]于永,刘波。

51单片机C语言常用模块与综合系统设计实例精讲[M].北京:

电子工业出版社,2008.10.

[2]郭天祥.51单片机C语言教程.北京.电子工业出版社,2009.12.

[3]黄友锐,孙力.单片机原理及应用[M].合肥:

合肥工业大学出版社,2006.11.

[4]倪健,董强.编码解码技术在红外

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 企业管理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1