WiMAX数据传输加密方案设计与实现

WiMAX数据传输加密方案设计与实现,第1张

0 引 言

  在各种通信设备和终端电子产品设计方法中,为使产品具有更强大的功能,越来越多地采用了嵌入式系统,WiMAX无线通信设备亦是如此。因此设计和开发现代网络和通信技术中的安全技术时,必须和嵌入式技术结合在一起。本文提出和实现了一种基于AES-CCM加密算法和ARM+VxWorks嵌入式系统的WiMAX无线接入设备加密技术解决方案,并给出了算法模块在设备中的应用方法。

1 算法实现原理

  AES对称密码已经广泛应用于数据的保密和数据完整性认证。在具体运用时,都会选择一种具体的工作模式。目前AES算法已有多种工作模式,例如:ECB,CBC,CFB,OFB,CRT,CCM,GCM和AESKW。其中CCM(Counter with Cipher Block Chaining-Message AuthenTIcaTIon Code)模式是一种同时提供加密和鉴别服务的全新 *** 作模式。

  1.1 CCM模式原理

  使用CCM模式的基本条件包括,发送方和接收方定义相同的分组密码算法Ek()(这里为AES加密算法)、密钥K、记数器发生函数、格式化函数F()和鉴别标记长度Tlen、有效载荷长度Plen、随机值N。加密算法过程如下:

  Step 1:计算格式化函数F(N,A,P),产生数据块序列B0,B1,…,Br(每块为128 b);

  格式化函数F将N,A,P整合在一起,并分组为r个数据块。对数据块加密,得到MAC值T,加密计数器发生函数产生的计数块,加密所得sj和P与T异或得到密文C。解密过程则相反。

  1.2 AES算法原理

  AES算法加密过程由4个不同的处理阶段组成,称为:字节代换、行移位、列混淆、轮密钥加。输入数据数组state进行10轮上述处理后,得到加密密文。结构如图1所示。

2 WiMAX中CCM应用规则改进

  在802.16协议中规定PDU数据包加密后结构如图2所示。

  6个字节的包头和4个字节的PN不需要经过加密处理。PN(Packet Number)在协议中规定用于防止重放攻击,如当前收到的数据包的PN小于前一个数据包的PN时,当前收到的数据包将被丢弃。PN在发第一个包时值为1,以后每发一个包则加1。由于PN和包头都未经加密处理,当窃听者得到一个PDU时,将得到当前PN,并推导出以后各个数据包的PN值。因此引进CCM模式虽然能提高攻击者进行重放攻击的难度和成本,但并不能在技术上彻底防止重放攻击。这里采用对PN进行加密处理来防止由于PN值泄露而遭受可能的重放攻击。加密算法选择AES算法,密钥为802.16协议中的密钥加密密钥(KEK)。AES,KEK在系统中是用于对传输加密密钥(TEK)进行加密处理的,本身已经存在于系统中,而且被良好地设计,在控制信息交互过程中,KEK定时更新。因此采用该方法不会给系统带来额外的开销,不需要引入新的加密算法,不需要维护密钥。采用该方法PDU加密后结构如图3所示。

  由于对PN进行AES加密处理,因此加密后的PN长度将为16个字节。这降低了传输数据中有效载荷DATA的百分比,不过在实际应用中DATA往往达到上千或上万个字节。因此为提高安全性和抗攻击性,牺牲如此少的传输效率是值得的。

3 AES-CCM算法实现及结果分析

  算法模块基于富士通3400 wiMAx开发板ARM+VxWorks平台开发,采用通用C库函数,可以方便地移植到各种需要安全加密处理的嵌入式产品中。程序提供两个接口,AES算法接口和AES-CCM算法接口。前者可以用于对传输加密密钥TEK的加密处理,后者可以用于对传输数据的加密处理,使用者只需简单的调用函数即可。程序框图如图4所示。

WiMAX数据传输加密方案设计与实现,第2张

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/2712989.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-17
下一篇 2022-08-17

发表评论

登录后才能评论

评论列表(0条)

保存