LTE安全算法探究和实现.docVIP

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

LTE安全算法探究和实现   摘 要: LTE的系统安全是LTE网络正常工作的必要保证,它涉及到控制平面和用户数据平面两部分,但在协议实现上,面临着跨层带来的许多问题,如较为复杂的系统设计和低时延的数据处理。针对上述问题,在此对LTE安全算法的原理进行了研究,并且给出了加密和完整性保护算法的实现过程。 关键词: 加密; 完整性保护; LTE; 密钥生成 中图分类号: TN929.5?34 文献标识码: A 文章编号: 1004?373X(2014)06?0078?03 0 引 言 LTE系统对数据的安全保护有2种:信令数据的完整性保护以及对信令数据、用户平面数据的加密保护。完整性保护是一种消息鉴权机制,用以防止非法器件拦截与修改信令消息,而加密保护是为了防止非法分子窃听用户数据及信令[1]。 LTE系统采用KDF(Key Derive Function)函数来生成加密算法和完整性保护算法所需的密钥。在此基础上制定了3种加密算法、2种完整性保护算法。下面对这3类安全算法进行研究与实现。 1 KDF函数 1.1 HMAC函数 LTE利用HMAC?sha?256作为KDF函数来产生密钥,HMAC是密钥相关的哈希运算消息认证码,HMAC运算通过哈希算法生成一个消息摘要。 HMAC通过一个加密用散列函数H和一个密钥K来进行定义[2]。HMAC约定算法的表示意义:H表示所采用的HASH算法,K表示认证密码,K0表示Hash算法的密文,B表示H中所处理的块大小,L表示Hash的大小,Opad表示Hash的大小。 HMAC运算公式以及步骤: 1.2 SHA?256 SHA?256是一种安全散列算法,算法思想是将一段明文不可逆的转换成一段密文。SHA?256将任意长度的消息压缩成位数固定为256 b的Hash值。Hash一个消息要经以下步骤([]表示模2加,+表示模32加): (1) 填充消息块,使每个消息块的长度是512 b的整数倍; (2) 扩展消息。填充之后的N个长度为512 b的消息块标记为M(1),M(2),…,M(N),每个消息块分为16个32 b M0(j),M1(j),…,M15(j),最后将这16个32 b消息块扩展式中:POTR(x,n)表示x循环右移n位;SHR(x,n)表示x右移n位。 (3) 函数更新。对于i从0~63,这里Ki是常数,取自前64个素数立方根小数部分的前32 b,Ch,Maj是具有32 b字输入,32 b字输出的函数,然后计算第j步的Hash值,当j=N时的Hash值即为sha-256的Hash值。 2 加密算法 LTE规范中指出LTE的UE端、eNB端和MME端都应实现以下3种加密算法,如表1所示。 表1 LTE加密算法 2.1 SNOW 3G算法 SNOW 3G加密算法的工作流程分为初始化密钥和在时钟周期控制下产生流序列2步。 2.1.1 SNOW 3G的时序操作 (1) LFSR时序操作 (2) FSM时序操作 2.1.2 SNOW 3G算法运算过程 (1) 初始化操作 将密钥和初始变量进行初始化,其中密钥和初始化变量都为128位。密钥包含4个字段R1 R2 R3 R4,每个字段为32位。初始化变量包含4个字段IV3 IV2 IV1 IV0,每个字段为32位。设置LFSR;初始化FSM,使R1,R2和R3均为0;循环操作32次:对FSM进行时序操作;对LFSR采用初始化模式进行时序操作。 (2) 生成密钥流 对LFSR利用密钥流模式进行一次时序操作;对下面操作循环N次(N为需要得到的N个32位输出):对FSM进行一次时序操作,得到32位F;Zt = F⊕S0,得到下一个密钥;对LFSR进行一次时序操作,采用密钥流模式。 2.2 AES算法 Rijndael算法的输入有2部分,分别是明文比特流和密钥比特流,其中明文比特流映射到4×Nb的状态矩阵,密钥比特流映射到4×Nk的状态矩阵。输出是密文比特流。Rijndael算法的核心为轮运算,中间每轮运算由轮密钥加运算、混合列变换、行移位变换、字节替代变换组成。运算的轮数Nr是由Nb和Nk决定的。在当前的LTE系统中,均采用128 b的明文和128 b的密钥的分组方式,即Nb=4和Nk=4,所以执行的轮变换次数为10次[6?8]。如图1所示。 2.3 128位加密算法 发送方将各个输入参数输入到加密算法中,产生KEYSTREAM BLOCK,然后与明文逐比特异或,得到密文。接收方使用相同的输入参数,利用同样的加密算法得到KEYSTREAM BLOCK,再与密文相异或,得

文档评论(0)

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

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

1亿VIP精品文档

相关文档