蓝牙的信息安全机制及密钥算法改进论文.docVIP

蓝牙的信息安全机制及密钥算法改进论文.doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
蓝牙的信息安全机制及密钥算法改进论文.doc

  蓝牙的信息安全机制及密钥算法改进论文 .freelodm) n≥0。 式中α和c为常量,m为模数,均为正整数。αXn+c对m作模运算后得到Xn+1。开始时以某种方式给出一个种子数X0;然后使用前一个随机整数Xn生成下一个随机整数Xn+1,由此产生整数随机数列{Xn}。 1.2 密钥管理 蓝牙单元密钥长度不能由单元制造者预置,不能由用户设置。蓝牙基带标准规定不接收由高层软件给出的加密密钥以防止使用者完全控制密钥长度。 1.2.1 密钥类型 链路密钥是一个128位随机数,为通信双方或多方共享的临时性或半永久性密钥。半永久性链路密钥可以用于共享链路单元之间的几个相继认证过程中。临时密钥的典型应用是:在点对多点通信情况下,同一信息需要安全地发往多个接收端,这时采用主单元密钥取代当前链路密钥。蓝牙标准定义了四种链路密钥:①联合密钥KAB;②单元密钥KA;③临时密钥Kmoster;④初始化密钥Kinit。此外还定义了加密密钥Kc,由当前链路密钥生成。对蓝牙单元来说,单元密钥KA在单元A中生成,依赖于该单元,很少改变。联合密钥KAB。由单元A、B方共同生成。临时密钥Kmoster仅在当前会话中使用,也称主单元密钥。初始化密钥Kinit是蓝牙初始化过程中使用的链路密钥。该密钥由一个随机数、一个通常为十进制的PIN码以及发起单元的蓝牙设备地址BD_ADDR生成。PIN码可由用户选择也可以是随蓝牙一起提供的固定数。目前大多数应用中PIN码为4位的10进制数,无法提供较高的安全性。蓝牙基带标准要求PIN码长度为1~16位,因此建议尽量使用较长的PIN码以增强安全性。 1.2.2 密钥生成与初始化 每一对要实现认证与加密的蓝牙单元都要执行初始化过程,其过程由以下几部分组成: (1)生成初始化密钥Kinit:为初始化过程中临时使用的链路密钥。该密钥由E22算法及相关参数生成,其生成原理图见图1。E22输出的128位初始化密钥Kinit用于链路密钥的交换分配过程。如果申请者与证实者没有交换过链路密钥,则Kinit用于认证过程,否则不再使用。该过程必须保证能够抵御一定的攻击,例如攻击者使用大量的假蓝牙地址BD_ADDR来测试大量PIN等,如果设备地址固定则每次测试PIN码等待间隔应按指数增加。 (2)认证:如果两个单元没有发生过通信联系,则使用初始化密钥作为链路密钥。每次执行认证规程,均发布新随机参数AU_RANDA。在相互认证中,首先在一个方向执行认证规程,成功后再反向执行认证。认证成功将得到一个辅助参数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的产生过程为:首先由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。在生成

您可能关注的文档

文档评论(0)

ggkkppp + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档