蓝牙的信息安全机制及密钥算法改进
[09-12 00:07:32] 来源:http://www.88dzw.com 电子基础知识 阅读:8268次
文章摘要:(2)认证:如果两个单元没有发生过通信联系,则使用初始化密钥作为链路密钥。每次执行认证规程,均发布新随机参数AU_RANDA。在相互认证中,首先在一个方向执行认证规程,成功后再反向执行认证。认证成功将得到一个辅助参数ACO,即认证加密偏移量。它将用于生成加密密钥。 (3)生成单元密钥:单元密钥在蓝牙单元首次运行时生成,根据E21算法生成并几乎不改变。初始化时,通信双方通常选用一个内存容量较少的单元中的密钥作为链路密钥。 (4)生成联合密钥:联合密钥是分别在A单元与B单元中生成的两个数字的组合。生成过程是:每个单元生成随机数LK_RANDA与Lk_RANDB,采用E21算法与各自的随机数
蓝牙的信息安全机制及密钥算法改进,标签:电子基础,电子基础知识应用,http://www.88dzw.com(2)认证:如果两个单元没有发生过通信联系,则使用初始化密钥作为链路密钥。每次执行认证规程,均发布新随机参数AU_RANDA。在相互认证中,首先在一个方向执行认证规程,成功后再反向执行认证。认证成功将得到一个辅助参数ACO,即认证加密偏移量。它将用于生成加密密钥。
(3)生成单元密钥:单元密钥在蓝牙单元首次运行时生成,根据E21算法生成并几乎不改变。初始化时,通信双方通常选用一个内存容量较少的单元中的密钥作为链路密钥。
(4)生成联合密钥:联合密钥是分别在A单元与B单元中生成的两个数字的组合。生成过程是:每个单元生成随机数LK_RANDA与Lk_RANDB,采用E21算法与各自的随机数、蓝牙地址分别生成另一个随机数LK_KA与LK_KB,并通过其他操作后两个单元得出联合密钥。然后开始互相认证过程以确认交互过程成功。联合密钥交换分配成功后将放弃使用原链路密钥。
(5)生成加密密钥:加密密钥Kc根据E3算法,由当前链路密钥、96bit“加密偏移数”COF和一个128bit随机数导出。
(6)点对多点配置情况:实际上,主单元通知几个从单元使用一个公共链路密钥广播加密消息,在多数应用中这个公共链路密钥是临时密钥,记为Kmoster。Kmoster被从单元接收后便可用它替代原链路密钥Kmoster的产生过程为:首先由2个128bit的随机数RAND1与RAND2生成新链路密钥Kmoster:Kmoster=E22(RAND1,RAND2,16)。然后将第3个随机数RANO发往从单元,主、从单元根据E22、当前链路密钥及RAND计算出128bit扰乱码overlay,主单元将overlay与新链路密钥按位“异或”结果发送给从单元,再计算出Kmoster。在后面的认证过程中计算出一个新ACO值。
1.3 加密规程
对有效载荷加密通过流密码算法实现,流密码与有效载荷同步,加密原理图如图2所示。流密码系统由三部分组成:执行初始化、生成密钥流比特、执行加密或解密。有效载荷密钥生成器将输入比特流以恰当顺序进行组合并移人密钥流生成器使用的4个线性反馈移位寄存器LFSR。第二部分是主要部分,密钥流比特根据Massey与Rueppel提出的方法生成,该方法经过一定的分析与研究,证明具有较高的加密性能,但此法可能受到相关攻击,其改进方法在本文后面详细描述。
1.3.1 商定加密密钥长度与加密模式
实现基带标准的蓝牙设备需要定义最大允许密钥字节长度Lmax,1≤Lmax≤16。在生成加密密钥前,有关单元必须商定密钥实际长度。主单元将建议值L(M)sug发送给从单元。如果L(S)min≤L(M)min并且从单元支持建议值,从单元对此给予确认,L(M)min成为本链路加密密钥长度值。如果不满足上述条件,从单元将向主单元发送新的建议值L(S)min〈L(M)sug,主单元对此建议评估。重复此规程直至达成协议或一方放弃商谈。
1.3.2 加密算法
加密规程使用流密码加密。加密系统使用线性反馈移位寄存器(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。加法生成器输出由下述方程给出:
式中,T1[.]与T2[.]是GF(4)上两个不同的线性双射。
密钥流生成器工作前需要为4个LFSR(总共128bit)装载初始值并且确定C0与C-14bit值,这些132bit初始值使用密钥流生成器由规定的输入量导出,输入量分别为密钥Kc、48bit蓝牙地址和26bit主单元时钟CLK26-1。加密算法初始化过程:(1)由128bit加密密钥Kc生成有效加密密钥,记为K'c,令L(1≤L≤16)为用8bit组数目表示的有效密钥长度,则K'c(x)=g2(L)(x)(Kc(x)modg1(L)(x))。(2)将K'c、蓝牙地址、时钟以及6bit常数111001移入LFSR。加密算法初始化完成后,从加法组合器输出密钥流用于加密/解密。
Tag:电子基础知识,电子基础,电子基础知识应用,电子基础知识
- 上一篇:PCB设计中的注意事项
《蓝牙的信息安全机制及密钥算法改进》相关文章
- › 蓝牙的信息安全机制及密钥算法改进
- 在百度中搜索相关文章:蓝牙的信息安全机制及密钥算法改进
- 在谷歌中搜索相关文章:蓝牙的信息安全机制及密钥算法改进
- 在soso中搜索相关文章:蓝牙的信息安全机制及密钥算法改进
- 在搜狗中搜索相关文章:蓝牙的信息安全机制及密钥算法改进
分类导航
最新更新
- · 电工基础知识
- · 运动控制术语
- · 什么是cpu卡
- · 锂离子电池的基本知识
- · 电动机型号与轴承的关系
- · 滤波电路原理分析
- · 电感和磁珠的选型
- · 什么是SPICE模型
- · 什么是双极型集成电路
- · 什么是熔断器