当前位置:首页 > 嵌入式 > 嵌入式软件
[导读]WiMAX数据传输加密方案设计与实现

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所示。

[!--empirenews.page--]

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所示。

    程序中实现了802.16 MAC PDU的构建、8 bCRC报头校验、32 bC2RC PDU校验、CCM加密模块、CCM解密模块、AES加密模块。
3.1 算法关键模块实现 
3.1.1 CCM加密模块
    AES-CCM算法中,加密函数使用128 b密钥长度的AES算法。加密前后WiMAX MAC PDU结构变化如图5所示。

    CCM加密模块流程如图6。该模块输入为密钥K和明文P。在计算MAC T和计数块S时,调用AES加密程序。

3.1.2 密钥K
    在密钥生成方法中,采用了随即函数rand()和系统时钟函数tickGet(),可以保证密钥的惟一性和更高的不可推测性。程序如下:

[!--empirenews.page--]
3.1.3 计数器发生函数
   
计数器发生函数产生的计数块,由PDU报头,PN,递增的整数i构造,长16个字节即128 b。函数如下:ctr preload为数组名,该数组用于存放生成的计数块;modu为指向PDU数据的指针;pn vector为PN;i为递增的整数,每计算一次计数块后加1。

3.2 算法模块应用方法设计和实现
   
算法模块的应用方法主要根据TEK(传输加密密钥)和CID(连接标志)的对应关系设计。在802.16协议中每一个CID都对应惟一的密钥资源,因此可以根据CID找到对应的密钥。在系统中创建两个表,一个是TEK表:用于存放加密密钥;另一个是CID表:用于存放CID值和对应密钥索引。CID表中记录结构如图7所示。Type字段表示使用的加密方法,O表示DES-CBC,1表示AES-CCM;Key index字段值表示该CID标志对应的密钥信息,在TEK表中的索引位置;CID字段表示CID标志值。

    发送端算法模块调用流程:在数据发送前,系统检测报头中加密控制位的值,如为1则表示该PDU需要加密处理,再根据报头中密钥索引号及加密模式选择位,选择特定的加密算法和密钥,对数据进行加密处理,如加密方法为AES-CCM,则调用CC2M加密模块对数据进行加密。
    接收端算法模块调用流程:当接收到一个PDU数据时,系统先检测报头中的CID标志值是否存在于本地CID表中,如不存在则丢弃该PDU;如存在则找到对应的CID记录,从中读取Type和Key index的值,根据Key index值,从TEK表中读取解密密钥,然后调用CCM解密模块对PDU进行解密处理。
3.3 算法测试
    测试密钥Key和数据PDU如下:

   
    发送端加密后的密文,一共包含3个部分。起始的10个字节为6个字节的PDU报头和4个字节的PN;从末尾算起的4个字节为32 b的CRC校验码;其余分别是33个字节的净荷密文和8个字节的分组链接模式校验码密文。
    接收端解密后的PDU起始10个字节为报头和PN;其后的33个字节和明文P的33个字节的数据净荷相同;最后的4个字节为CRC校验码,用于接收端的CRC校验。
    第44个到51个字节为解密后的8个字节的分组链接模式校验码。在CCM解密程序中,对解密后得到的PDU,计算分组链接模式校验码,将计算结果和解密所得的分组链接模式校验码相比较,若相同则表示密文在传输过程中没有被篡改破坏,这样可以校验传输数据的完整性。
    上述结果表明本文设计的AES-CCM模块和模块应用方法,能正常工作,能满足WiMAX设备的实际需要。

4 方案比较
    当前,WiMAX设备方案提供商,对数据加密模块主要有2种实现方案:
    (1)采用专门的硬件算法模块;
    (2)采用高速DSP芯片。
    方法(1)的优点是速度快,价格便宜但可扩展性和可升级性不强;方法(2)既有速度快的优点,也有很好的可扩展性和可升级性,但成本比较高。在采用这2种方案的设备中,通常需要一个额外的嵌入式系统来控制通信设备的运行,因此系统会比较复杂,成本较高。
    本文的设计方法,将算法设计成嵌入式系统的一个软件模块,使用时只需直接调用即可。优点是:使用方便,而且由于系统没有外接独立的加密模块,可以有效地降低系统的复杂度和成本。缺点是:加密工作由主控CPU来完成,会占用相当一部分系统资源,因此适用于那些没有复杂功能的通信设备,例如端口较少的无线接入设备或WiMAX网卡等。

5 结 语
    目前在IEEE 802.16和802.11i协议中,都采用AES-CCM算法为数据加密算法,并被包含在RFC3610中。在这种情形下,本文在对该算法深入分析后,对AES算法和CCM模式的隐患给出了改进,并给出了嵌入式WiMAX开发板平台下的AES-CCM算法实现和应用方法的设计及实现。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭