您的位置: turnitin查重官网> 计算机 >> 计算机工程 >对于蓝牙蓝牙安全机制在学上运用学位

对于蓝牙蓝牙安全机制在学上运用学位

收藏本文 2024-03-10 点赞:5175 浏览:15188 作者:网友投稿原创标记本站原创

【摘 要】分析了蓝牙加密机制中的加密算法,包括这些算法的背景、原理以及工作流程,探讨了蓝牙认证、蓝牙安全配对协议的应用、蓝牙安全技术在PIN码破译攻击等蓝牙安全机制在学上的应用。
【关键词】加密算法;AFER+;认证协议
蓝牙是用在无线网络,表示不同的无线通信设备在不同的操作平台上能进行无线通信的技术。蓝牙技术允许不同厂家生产的无限装置在不同的操作系统下进行通信,其技术特点是能耗低,计算量小,适合简单、小型的通信装置。如今许多便捷式设备都有蓝牙功能,如PDA、手提电脑、手机及各式嵌入式系统等。由于受计算能力的限制,蓝牙技术只能使用不需要许多计算资源算法。

1.蓝牙加密算法运行机制

蓝牙是在PICO网上实现的一个自组织和自配置的动态无线网,它允许新设备动态加入和动态离开网内设备,同时不需要使用固定的通信设施和无线网切入点。一个PICO网一般可以支持8个通信设备使用在同一个频道通信,PICO网内所有的设备是对等的,可直接进行通信。
蓝牙使用SAFER+分组加密算法认证设备,SAFER+即SAFER的改进版。SAFER是“安全与快速加密程序”的缩写,它是由JAMES L.MASSEY于1993年设计的,SAFER是FEISTEL体系的一种具体实施,其分组大小为64比特,而且同AES一样允许三种长度的密钥,分别为256比特、192比特和128比特。蓝牙使用密钥长度为128比特的SAFER+,记为SAFER+K-128。
与任何FEISTEL体系相同,SAFER+K-128包含一个子钥产生算法及加密和解密算法。SAFER+K-128加密算法由8轮相同的运算和一个输出转换组成,共需要17个子钥:每轮运算过程中各需要两个子钥,而输出转换则需要一个子钥。SAFER+子钥:
令K=x1x2x3……xk为k字节二元字符串,并令X[i]表示第i个字节xi,X[i:j]表示子串xi……xj,其中0≤i≤j≤k,令K=k0k1……k15为128比特密钥,每个ki长1字节,i=0,1,……15,令k16=k0k1…… k15。
令X为一个字节,令LSk(X)表示对X执行k次左循环运算后得到新的字符串。SAFER+按以下方式产生128比特子钥K1K2……K17:首先令K1=K,然后令Ke←k0k1……k15 k16
并按以下方式生成其余子钥Ki(i=2,……,17):首先对Ke中每个字节做LS3运算即连续做3次循环的方式依次选取16字节的二元字符串。令Li为按上面方式从第i-1次选取中得到的字符串,i=2,3……,17。令Bi为一个长为16字节的常数字符串,在此处称为偏移向量。

2.蓝牙算法

蓝牙用SAFER+和一个经过修改的SAFER+算法构造E1,并用修改后的SAFER+算法构造E21和E22,修改后的SAFER+算法与原算法的不同点在于它将第一轮运算的输入Y1和第三轮运算的输入Y3用和8运算,给出新的Y3,这样做的目的是使得修改后的算法不可逆。
Y3[2j-2]←Y3[2j-2]Y1[2j-2]
Y3[2j-1]←Y3[2j-1]Y1[2j-1]
记Ar表示SAFER+加密算法,Aˊr表示修改后的SAFER+加密算法
令K为16字节长的密钥,ρ为16字节二元字符串,α为6字节地址,定义T如下:
T[0]=K[0]8233,T=K229 T=K8233,T[3]=K[3]193
用扩张函数E将α循环扩张成16字节长的二元字符串,定义如下:
E(α)=α‖α‖α[0:3]
E1将r、K和α作为输入,其输出为一个16字节的二元字符串,定义如下:
E1(K,ρ,α)=A’r(T,[Ar(K,ρ)ρ]8E(α)

3.蓝牙安全机制在学上的应用

3.1 蓝牙认证

每台蓝牙设备都有一个L字节长度的PIN码,其中1≤L≤16。即为蓝牙设备DA和DB建立安全配对

源于:毕业生论文www.udooo.com

,其中DA为通信发起者,双方必须具有相同的PIN码,它可以预先存在设备中或由用户输入得到。另外,每个设备还具备一个6比特长的地址,记为BD_ADDR。蓝牙产生一把初始密钥Kinit和一把链接KAB,用于设备之间认证。
(1)初始链接密钥
当DA与DB发起通信时,DA首先产生一个16字节的伪随机二元字符串,记为IN_RANDA,并将其以明文形式发送给DB。DA和DB同时按以下方式各自计算初始密钥Kinit。
Kinit=E(PIN,IN_RANDA,BD_ADDRB)。
蓝牙设备DA和DB产生初始密钥Kinit后各自计算链接密钥KAB。首先DA产生一个16字节伪随机二元字符串LK_RANDA,DB则产生一个16字节伪随机二元字符串LK_RANDB。然后DA将LK_RANDinit发送之DB,DB将LK_RANDB发送给DA。因此DA得到LK_RANDB,DB得到LK_RANDA,DA和DB各自按下面所列的方式计算KAB:
KAB=E(LK_RANDA,BD_ADDRA) E(LK_RANDB,
BD_ADDRB)
(2)设备认证
蓝牙设备应用挑战-回应机制认证设备。如果设备DA需要认证设备DB,则DA首先产生一个16字节的伪随机二元字符串AU_RANDA,并将其作为挑战序列以明文形式发送给DB。DB收到此信息后按以下方式计算一个4字符的签字回应,记为SRES:
SRESA=E(KAB,AU_RANDA,BD_ADDRB)[0:3]

摘自:本科毕业论文评语www.udooo.com

copyright 2003-2024 Copyright©2020 Powered by 网络信息技术有限公司 备案号: 粤2017400971号