WiMAX数据传输加密方案设计与实现
递增的整数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标志值。
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算法实现和应用方法的设计及实现。
WiMAX设计 相关文章:
- 初步设计WiMAX射频系统(03-29)