


下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、蓝牙的信息安全机制及密钥算法改进(一)摘要:重点分析了蓝牙的信息安全机制,对其各部分的算法及实现步骤进行了详细讨论。并对现有蓝牙规范安全性做了一定的评估,根据其不足提出了由DES算法构建的一种新的安全机制,能够满足安全性要求较高的蓝牙应用。关键词:蓝牙密钥DES算法安全机制蓝牙作为一种新兴的短距离无线通信技术已经在各个领域得到广泛应用,它提供低成本、低功耗、近距离的无线通信,构成固定与移动设备通信环境中的个人网络,使得近距离内各种信息设备能够实现无缝资源共享。由于蓝牙通信标准是以无线电波作为媒介,第三方可能轻易截获信息,所以蓝牙技术必须采取一定的安全保护机制,尤其在电子交易应用时。为了提供使用
2、的安全性和信息的可信度,系统必须在应用层和链路层提供安全措施。本文重点讨论了蓝牙信息安全机制的构成原理及相关算法,并指出其在安全性方面存在的不足与问题。因为对于大多数需要将保密放在首位来考虑的应用来说,蓝牙现行标准所提供的数据安全性是不够的。蓝牙现行规范采用的128位密钥长度的序列的加密在某些情况下可以被破解。本文同时提出了一种蓝牙安全机制的改进方案,即采用DES加密体制构建强健的加钥算法,能够在计算上证明此加密算法是安全可靠的。1蓝牙的安全机制蓝牙采取的安全机制适用于对等通信情况,即双方以相同方式实现认证与加密规程。链路层使用4个实体提供安全性:一个公开的蓝牙设备地址,长度为48bit;认证
3、密钥,长度为128bit;加密密钥,长度为8128bit;随机数,长度为128bit。以下重点讨论蓝牙安全机制的组成及相关算法。11随机数发生器随机数发生器在蓝牙标准中有重要应用,例如在生成认证密钥和加密密钥中以及查询-应答方案中等。产生随机数的理想方法是使用具有随机物理特性的真实随机数发生器,例如某些电子器件的热噪声等,但是在实际应用中通常利用基于软件实现的伪随机数发生器。蓝牙系统对于随机数的要求是“随机生成”和“非重复性”。“随机生成”是指不可能以明显大于零的概率(对于长度为L位的蓝牙加密密钥,概率大于12L)估计出随机数值。目前在众多类型的伪随机数发生器中,线性同余发生器(LinearC
4、ongruentialGenerator)被最广泛地研究与使用。其表达式为:Xn+1=Xn+c(modm)n0。式中和c为常量,m为模数,均为正整数。Xn+c对m作模运算后得到Xn+1。开始时以某种方式给出一个种子数X0;然后使用前一个随机整数Xn生成下一个随机整数Xn+1,由此产生整数随机数列Xn。12密钥管理蓝牙单元密钥长度不能由单元制造者预置,不能由用户设置。蓝牙基带标准规定不接收由高层软件给出的加密密钥以防止使用者完全控制密钥长度。121密钥类型链路密钥是一个128位随机数,为通信双方或多方共享的临时性或半永久性密钥。半永久性链路密钥可以用于共享链路单元之间的几个相继认证过程中。临时密
5、钥的典型应用是:在点对多点通信情况下,同一信息需要安全地发往多个接收端,这时采用主单元密钥取代当前链路密钥。蓝牙标准定义了四种链路密钥:联合密钥KAB;单元密钥KA;临时密钥Kmoster;初始化密钥Kinit。此外还定义了加密密钥Kc,由当前链路密钥生成。对蓝牙单元来说,单元密钥KA在单元A中生成,依赖于该单元,很少改变。联合密钥KAB。由单元A、B方共同生成。临时密钥Kmoster仅在当前会话中使用,也称主单元密钥。初始化密钥Kinit是蓝牙初始化过程中使用的链路密钥。该密钥由一个随机数、一个通常为十进制的PIN码以及发起单元的蓝牙设备地址BD_ADDR生成。PIN码可由用户选择也可以是随
6、蓝牙一起提供的固定数。目前大多数应用中PIN码为4位的10进制数,无法提供较高的安全性。蓝牙基带标准要求PIN码长度为116位,因此建议尽量使用较长的PIN码以增强安全性。122密钥生成与初始化每一对要实现认证与加密的蓝牙单元都要执行初始化过程,其过程由以下几部分组成:(1)生成初始化密钥Kinit:为初始化过程中临时使用的链路密钥。该密钥由E22算法及相关参数生成,其生成原理图见图1。E22输出的128位初始化密钥Kinit用于链路密钥的交换分配过程。如果申请者与证实者没有交换过链路密钥,则Kinit用于认证过程,否则不再使用。该过程必须保证能够抵御一定的攻击,例如攻击者使用大量的假蓝牙地址
7、BD_ADDR来测试大量PIN等,如果设备地址固定则每次测试PIN码等待间隔应按指数增加。(2)认证:如果两个单元没有发生过通信联系,则使用初始化密钥作为链路密钥。每次执行认证规程,均发布新随机参数AU_RANDA。在相互认证中,首先在一个方向执行认证规程,成功后再反向执行认证。认证成功将得到一个辅助参数ACO,即认证加密偏移量。它将用于生成加密密钥。(3)生成单元密钥:单元密钥在蓝牙单元首次运行时生成,根据E21算法生成并几乎不改变。初始化时,通信双方通常选用一个内存容量较少的单元中的密钥作为链路密钥。图3(4)生成联合密钥:联合密钥是分别在A单元与B单元中生成的两个数字的组合。生成过程是:
8、每个单元生成随机数LK_RANDA与Lk_RANDB,采用E21算法与各自的随机数、蓝牙地址分别生成另一个随机数LK_KA与LK_KB,并通过其他操作后两个单元得出联合密钥。然后开始互相认证过程以确认交互过程成功。联合密钥交换分配成功后将放弃使用原链路密钥。(5)生成加密密钥:加密密钥Kc根据E3算法,由当前链路密钥、96bit“加密偏移数”COF和一个128bit随机数导出。(6)点对多点配置情况:实际上,主单元通知几个从单元使用一个公共链路密钥广播加密消息,在多数应用中这个公共链路密钥是临时密钥,记为Kmoster。Kmoster被从单元接收后便可用它替代原链路密钥Kmoster的产生过程
9、为:首先由2个128bit的随机数RAND1与RAND2生成新链路密钥Kmoster:Kmoster=E22(RAND1,RAND2,16)。然后将第3个随机数RANO发往从单元,主、从单元根据E22、当前链路密钥及RAND计算出128bit扰乱码overlay,主单元将overlay与新链路密钥按位“异或”结果发送给从单元,再计算出Kmoster。在后面的认证过程中计算出一个新ACO值。13加密规程对有效载荷加密通过流密码算法实现,流密码与有效载荷同步,加密原理图如图2所示。流密码系统由三部分组成:执行初始化、生成密钥流比特、执行加密或解密。有效载荷密钥生成器将输入比特流以恰当顺序进行组合并移人密钥流生成器使用的4个线性反馈移位寄存器LFSR。第二部分是主要部分,密钥流比特根据Massey与Rueppel提出的方法生成,该方法经过一定的分析与研究,证明具有较高的加密性能,但此法可能受到相关攻击,其改进方法在本文后面详细描述。131商定加密密钥长度与加密模式实现基带标准的蓝牙设备需要定义最大允许密钥字节长度Lmax,1Lmax16。在生成加密密钥前,有关单元必须商定密钥
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年隧道养护市场分析报告
- 多画面彩色电视灯项目投资可行性研究分析报告(2024-2030版)
- 医院健康促进课件
- 医疗服务政策解读课件
- 衡南县房屋收费管理办法
- 计划与资源管理暂行办法
- 财政部评审管理暂行办法
- 足球俱乐部印章管理办法
- 辽宁省境外入境管理办法
- 运动员超市进货管理办法
- 消防装备维护保养课件教学
- 【公开课】三角形的边+课件+2025-2026学年人教版八年级数学上册
- 2025年广东省普通高中学业水平合格性考试模拟一历史试题(含答案)
- 【公开课】+分子动理论的初步知识(教学课件)2025-2026学年初中物理人教版(2024)九年级全一册
- 设备安全培训
- 2025至2030中国角膜塑形镜行业产业运行态势及投资规划深度研究报告
- 2023aki的预防诊断和管理
- 2025年4月自考03346项目管理试题
- 慢性肾衰竭患者心理的护理
- 艾梅乙反歧视培训课件
- 小学数学课堂教学实践与创新
评论
0/150
提交评论