




已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 / 12蓝牙的信息安全机制及密钥算法改进摘要:重点分析了蓝牙的信息安全机制,对其各部分的算法及实现步骤进行了详细讨论。并对现有蓝牙规范安全性做了一定的评估,根据其不足提出了由 DES 算法构建的一种新的安全机制,能够满足安全性要求较高的蓝牙应用。关键词:蓝牙 密钥 DES 算法 安全机制蓝牙作为一种新兴的短距离无线通信技术已经在各个领域得到广泛应用,它提供低成本、低功耗、近距离的无线通信,构成固定与移动设备通信环境中的个人网络,使得近距离内各种信息设备能够实现无缝资源共享。由于蓝牙通信标准是以无线电波作为媒介,第三方可能轻易截获信息,所以蓝牙技术必须采取一定的安全保护机制,尤其在电子交易应用时。为了提供使用的安全性和信息的可信度,系统必须在应用层和链路层提供安全措施。重点讨论了蓝牙信息安全机制的构成原理及相关算法,并指出其在安全性方面存在的不足与问题。因为对于大多数需要将保密放在首位来考虑的应用来说,蓝牙现行标准所提供的数据安全性是不够的。蓝牙现行规范采用的2 / 12128 位密钥长度的序列的加密在某些情况下可以被破解。同时提出了一种蓝牙安全机制的改进方案,即采用 DES 加密体制构建强健的加钥算法,能够在计算上证明此加密算法是安全可靠的。1 蓝牙的安全机制蓝牙采取的安全机制适用于对等通信情况,即双方以相同方式实现认证与加密规程。链路层使用 4 个实体提供安全性:一个公开的蓝牙设备地址,长度为 48bit;认证密钥,长度为 128bit;加密密钥,长度为 8128bit;随机数,长度为 128bit。以下重点讨论蓝牙安全机制的组成及相关算法。11 随机数发生器随机数发生器在蓝牙标准中有重要应用,例如在生成认证密钥和加密密钥中以及查询-应答方案中等。产生随机数的理想方法是使用具有随机物理特性的真实随机数发生器,例如某些电子器件的热噪声等,但是在实际应用中通常利用基于软件实现的伪随机数发生器。蓝牙系统对于随机数的要求是“随机生成”和“非重复性” 。 “随机生成”是指不可能以明显大于零的概率(对于长度为 L 位的蓝牙加密密钥,概率大于 12L)估计出随机数值。目前在众多类型的伪随机数发生器中,线性同余发生器(Linear Congruential Generator)被最广泛地研究与3 / 12使用。其表达式为:Xn+1=Xn+c(modm) n0。式中 和 c 为常量,m 为模数,均为正整数。Xn+c 对 m 作模运算后得到 Xn+1。开始时以某种方式给出一个种子数 X0;然后使用前一个随机整数 Xn 生成下一个随机整数 Xn+1,由此产生整数随机数列Xn。12 密钥管理蓝牙单元密钥长度不能由单元制造者预置,不能由用户设置。蓝牙基带标准规定不接收由高层软件给出的加密密钥以防止使用者完全控制密钥长度。121 密钥类型链路密钥是一个 128 位随机数,为通信双方或多方共享的临时性或半永久性密钥。半永久性链路密钥可以用于共享链路单元之间的几个相继认证过程中。临时密钥的典型应用是:在点对多点通信情况下,同一信息需要安全地发往多个接收端,这时采用主单元密钥取代当前链路密钥。蓝牙标准定义了四种链路密钥:联合密钥 KAB;单元密钥 KA;临时密钥 Kmoster;初始化密钥 Kinit。此外还定义了加密密钥 Kc,由当前链路密钥生成。对蓝牙单元来说,单元密钥 KA 在单元 A 中生成,依赖于该单元,很少改变。联合密钥 KAB。由单元 A、B 方共同生成。临时密钥 Kmoster 仅在当前会话中使用,也称主单元密钥。初始4 / 12化密钥 Kinit 是蓝牙初始化过程中使用的链路密钥。该密钥由一个随机数、一个通常为十进制的 PIN 码以及发起单元的蓝牙设备地址 BD_ADDR 生成。PIN 码可由用户选择也可以是随蓝牙一起提供的固定数。目前大多数应用中 PIN 码为 4 位的 10 进制数,无法提供较高的安全性。蓝牙基带标准要求 PIN 码长度为 116 位,因此建议尽量使用较长的PIN 码以增强安全性。 122 密钥生成与初始化每一对要实现认证与加密的蓝牙单元都要执行初始化过程,其过程由以下几部分组成:(1)生成初始化密钥 Kinit:为初始化过程中临时使用的链路密钥。该密钥由 E22 算法及相关参数生成,其生成原理图见图 1。E22 输出的 128 位初始化密钥 Kinit 用于链路密钥的交换分配过程。如果申请者与证实者没有交换过链路密钥,则 Kinit 用于认证过程,否则不再使用。该过程必须保证能够抵御一定的攻击,例如攻击者使用大量的假蓝牙地址 BD_ADDR 来测试大量 PIN 等,如果设备地址固定则每次测试 PIN 码等待间隔应按指数增加。(2)认证:如果两个单元没有发生过通信联系,则使用初始化密钥作为链路密钥。每次执行认证规程,均发布新随机参数 AU_RANDA。在相互认证中,首先在一个方向执5 / 12行认证规程,成功后再反向执行认证。认证成功将得到一个辅助参数 ACO,即认证加密偏移量。它将用于生成加密密钥。(3)生成单元密钥:单元密钥在蓝牙单元首次运行时生成,根据 E21 算法生成并几乎不改变。初始化时,通信双方通常选用一个内存容量较少的单元中的密钥作为链路密钥。图 3(4)生成联合密钥:联合密钥是分别在 A 单元与 B单元中生成的两个数字的组合。生成过程是:每个单元生成随机数 LK_RANDA 与 Lk_RANDB,采用 E21 算法与各自的随机数、蓝牙地址分别生成另一个随机数 LK_KA 与 LK_KB,并通过其他操作后两个单元得出联合密钥。然后开始互相认证过程以确认交互过程成功。联合密钥交换分配成功后将放弃使用原链路密钥。(5)生成加密密钥:加密密钥 Kc 根据 E3 算法,由当前链路密钥、96bit“加密偏移数”COF 和一个 128bit 随机数导出。(6)点对多点配置情况:实际上,主单元通知几个从单元使用一个公共链路密钥广播加密消息,在多数应用中这个公共链路密钥是临时密钥,记为 Kmoster。Kmoster 被从单元接收后便可用它替代原链路密钥 Kmoster 的产生过6 / 12程为:首先由 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。在生成加密密钥前,有关单元必须商定密钥实际长度。主单元将建议值 L(M)sug 发送给从单元。如果 L(S)minL(M)min 并且从单元支持建议值,7 / 12从单元对此给予确认,L(M)min 成为本链路加密密钥长度值。如果不满足上述条件,从单元将向主单元发送新的建议值L(S)minL(M)sug,主单元对此建议评估。重复此规程直至达成协议或一方放弃商谈。1 加密算法加密规程使用流密码加密。加密系统使用线性反馈移位寄存器(LFSRs),寄存器系统输出由具有 16 状态的有限状态机进行组合,状态机输出或是密钥流序列,或是初始化阶段的随机初始值。加密算法需要提供加密密钥、48bit 蓝牙地址、主单元时钟比特与 128bit 随机数 RAND,加密算法原理如图 3 所示。其中,有 4 个 LFSR(LFSR1,LFSR4),比特长度分别为 L1=25,L2=31,L3=33,L4=39,反馈多项式(抽头多项式,特征多项式)。4 个寄存器长度之和是 128bit。 这些多项式都是本原多项式,汉明重量都为 5,可以兼顾生成序列具有良好的统计特性与减少硬件实现所需要的异或门数两方面的要求。令 xit 表示 LFSRit 时刻输出状态比特,由四元组(x1t,x4t)得 Yt 为:,式中 Yt 为整数,取值为 0,1,2,3 或 4。加法生成器输出由下述方程给出:8 / 12式中,T1.与 T2.是 GF(4)上两个不同的线性双射。密钥流生成器工作前需要为 4 个 LFSR(总共 128bit)装载初始值并且确定 C0 与 C-14bit 值,这些 132bit 初始值使用密钥流生成器由规定的输入量导出,输入量分别为密钥 Kc、48bit 蓝牙地址和 26bit 主单元时钟 CLK26-1。加密算法初始化过程:(1)由 128bit 加密密钥 Kc 生成有效加密密钥,记为 Kc,令 L(1L16)为用 8bit 组数目表示的有效密钥长度,则 Kc(x)=g2(L)(x)(Kc(x)modg1(L)(x)。(2)将 Kc、蓝牙地址、时钟以及 6bit 常数 111001 移入LFSR。加密算法初始化完成后,从加法组合器输出密钥流用于加密解密。132 认证蓝牙技术认证实体使用所谓查验-应答方案。通过“两步”协议,申请者是否知道秘密密钥使用对称密钥进行证实。这意味着,一个正确的申请者证实者对,在查验-应答方案中将共享相同密钥 Kc,证实者对于申请者是否能够认证算法 K1 认证随机数 AU_RANDA,并返回认证结果SERS,进行查验。其认证及加密密钥生成函数可以参考相关资料,此处略。?2 蓝牙安全机制的方案改进9 / 12现有蓝牙安全机制主要存在两个主要问题。一个是单元密钥的使用问题:在鉴权和加密过程中,由于单元密钥没有改变,第三方利用此密钥来窃取信息。128 位密钥长度的 E0 序列加密在某些情况下可通过不是很复杂的方法破解。另一个是蓝牙单元提供的个人识别码(PIN 码)的不安全问题:由于大多数应用中 PIN 码是由 4 位十进制数组成,所以采用穷举法很容易攻击成功。克服这些安全性问题的解决方法除了增加 PIN 码长度外,关键是要采取更为强健的加密算法,如用数字加密标准 DES 代替序列加密算法。DES 是一种块加密方法,加密过程是针对一个个数据块进行的。在 DES 算法中,原始信息被分为 64 位的固定长度数据块,然后利用 56 位的加密密钥通过置换和组合方法生成 64 位的加密信息。与蓝牙序列的加密算法不同,数学上可以证明块加密算法是完全安全的。DES 块密码是高度随机和非线性的,其产生的密文和明文与密钥的每一位都相关。DES 的可用加密密钥数量非常庞大,应用于每一位明文信息的密钥都是从这个庞大数量的密钥中随机产生的。DES 算法已经被广泛采用并认为非常可靠。采用 DES 加密算法的蓝牙技术可以将蓝牙应用到安全性较高的应用中去,例如电子金融交易、ATM 等。21 DES 算法1977 年美国国家标准局公布了联邦数据加密标准10 / 12DES。由于 DES 算法保密性强,迄今尚无切实可行的破译方法,所以 DES 得到了广泛地应用。DES 是一种分组密码体制,它将明文按 64 位一组分成若干组,密钥长为 56 位。其基本思想是采用变换的组合与迭代,将明文中的各组变为密文组。在 DES 系统中,乘积变换是加密过程的核心,连续进行 16 次操作,每次更新一组密钥。移位变换 B 是移位变换 A 的逆变换。图 4 为 DES 体制加密流程,图的右侧表示DES 系统的密钥生成过程。初始密钥是一串 64bit 的随机序列。经过反复移位变换,产生 16 组子密钥(K1K16),每组子密钥用于一次乘积变换。所谓初始重排(IP)就是打乱输入分组内比特原有排列次序,重新排列,排列方式是固定的。DES 的一次乘积变换运算步骤为:(1)把 64bit 输入码分成左右两组,每组 32 位比特,分别用 Li-1 和 Ri-1 代表。其中 i 代表第 i 次乘积变换,i=116。(2)把该次乘积变换输入分组的右组 32 位比特变为输出分组的左组 32位比特,即 Li=Ri-1。(3)输入分组右组 32 位比特经过扩展操作变为 48 位比特码组。(4)扩展变换输出的 48 位比特与子密钥 Ki 的 48 位比特按模 2 相加,输出的 48 位比特分为8 组,每组 6 位。(5)把每组 6 位比特进行密表(S-盒)替代,产生 4 位比特。输入的 6 位比特的第 1、6 两位决定密表内11 / 12所要选择的行数,其余 4 位决定密表内的列数。(6)把 8 组密表输出合并为 32 位比特,然后与本次乘积变换输入左组Ci-1 按位模 2 相加,即可得到第 i 次乘积变换的右 32 位输出 Ri。 22 DES 算法的特点DES 算法具有以下特点:(1)DES 的保密性仅仅取决于对密钥的保密,算法公开。(2)在目前水平下,不知道密钥而在一定的时间内要破译(即解析出密钥 K 或明文)是不可能的,至少要建立 2 56 或 2 64 个项的表,这是现有资源无法实现的。(3)由于“雪崩效应” ,无法
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 关于《伪君子》的教学课件
- 2025年企业战略管理实战案例分析题集
- 2025年特岗教师招聘面试初中语文口语表达技巧与模拟试题
- 2025年初中音乐特岗教师招聘考试趋势与备考策略解析
- 2025年汽车维修工初级面试技巧与答案集
- 2025年建筑工程师招聘面试模拟题集及答案手册
- 2025年初中地理特岗教师招聘模拟考试试卷及答案解析
- 2025年初级瑜伽教练技能考核试题集与实操指南
- 2025年英语能力测试模拟题集听力阅读写作等含答案解析
- 2021年小暑介绍主题教育班会某校图文班会模板
- 体态与健康课件视频教学
- 甘肃省兰州市西北中学2024-2025学年高一下学期期末语文试题(含答案)
- 2024年四川省德昌县公开招聘城市协管员试题带答案详解
- 2025-2030中国苯氧树脂市场发展趋势与前景运营动态规划报告
- 内务条令考试试题及答案
- 电影院安全生产责任制度
- GB 36889-2025化学纤维单位产品能源消耗限额
- 超声辅助制备Cu-Al(-TiB2)组织和性能研究
- 建设工程施工现场供用电安全规范2014
- 无障碍产品设计-洞察阐释
- 和平精英考试题及答案
评论
0/150
提交评论