admin管理员组

文章数量:1539350

2024年4月7日发(作者:)

设计 【l】国集成电路 

China Integrated Circuit 

应用于无线网络安全的 

CCM P和WAPI硬件双模设计 

赵彦光,梅张雄 

(北京中电华大电子设计有限责任公司,北京,100102) 

摘要:介绍了无线局域网中两种加密标准802.11i和WAPI,对其中的数据加密和数据完整性算法进行 

了详细的分析。802.11i采用AES加密算法实现数据加密和数据完整性校验,WAPI采用SMS4加密算法 

实现数据加密和数据完整性校验。结合二者的共同点,对AES和SMS4外围电路进行了复用,同时,在实 

现数据加密和数据完整性校验时,分别对AES和SMS4进行了分时串行复用。本设计采用了一个AES加 

密核,一个SMS4加密核,实现了8O2.11 i和WAPI的数据加密和完整性校验,减小了电路规模,同时也降 

低了吞吐率,但该吞吐率完全满足低成本的IEEE 802.1labg应用场景。 

关键词:802.11i;WAPI;AES;SMS4;IEEE 802.1labg;数据加密;数据完整性校验 

1 引言 

用了SMS4算法翻。两个协议为了成为国际标准,进 

行了长时间的争论,目前IEEE 802.1li已经成为国 

无线局域网标准IEEE 802.1l从1999年成为 

际标准,WAPI还在为国际标准化努力。但在国内, 

国际标准后,其安全性引起了安全加密界的关注。由 

这两个标准已经成为事实标准,作为无线局域网芯 

于其中的WEP(Wired Equivalent Privacy)算法内在 

片供应商,如果所开发的产品只支持其中一种安全 

的缺陷,使得无限局域网安全通信出现了很多致命 

协议,其在市场上的推广势必受到限制。例如,国内 

的漏洞【”。在2001年底,因特网上已经可以得到相 

手机生产商办理带无线局域网功能的手机入网许可 

应的工具,只用很短的时间就能攻破WEP。鉴于 

证,国家强制要求支持WAPI,这个规定限制了很多 

WEP的安全缺陷,IEEE标准组织提出了IEEE 

只支持IEEE 802.1 li协议的手机在国内上市。因此, 

802.1li安全协议,我们国家也提出了具有自主知识 

无线局域网芯片中同时支持802.11i和WAPI两种 

产权的WAPI安全协议。在MAC(Medium Access 

安全协议已经成为业界芯片开发的必然趋势。 

Control,媒体接入控制)层的数据通信中,IEEE 

IEEE 802.1li和WAPI涉及到了无限局域网的 

802.1li的核心算法采用了AES算法[21,而WAPI 

上层认证、密钥协商以及MAC层的数据加密和完 

(wireless local area network authentication and privacy 

整性校验,在芯片开发时,只有MAC层的数据加密 

infrastructure,无线局域网鉴别与保密基础结构)采 

和完整性校验适合硬件实现。 

本文通过分析上述两种安全协议的特点,对其 

http:llwww.cicmag.com 

巾国集成电路 

China Integrated Circuit 

设计 

中的数据加密和完整性校验进行了硬件设计,实现 

上述三个层次的内容,只有无线局域网层的内 

了同时支持IEEE 802.1 li和wAPI的硬件电路。通 

过对IEEE 802.1 li的数据加密和完整性校验进行了 

分时串行运算,省掉一个AES加密核。同理,WAPI 

也省掉一个SMS4加密核的成本。进一步,结合两种 

加密协议的共同点,复用了二者的外围电路,尽可能 

容适合硬件实现,其中的认证层和接人控制都由上 

层软件实现比较合适。本文主要关注无线局域网安 

全体系中可以硬件实现的部分。 

IEEE 802.1li中关于无线局域网层的算法为 

CCMP(Counter mode with Cipher-block chaining with 

地降低了芯片面积。 

Message authentication code Protoco1),主要是指数据 

加密采用CTR(计数器,Countermode)模式,完整性 

、●●●●L●●●J 1●●●I●●●J 

2无线局域网安全算法介绍 

无线局域网的安全体系从上到下,可以分为三 

个层次:认证层、接人控制层、无线局域网层[41,如图 

1所示。 

P’ ’ ’ 。。 。‘‘ ‘ ‘●‘‘‘。 ’ ’’’ ’’’’ 。‘‘ ●--__●●_----__。●_ 

校验采用CBC(密码分组链接,Cipher—block 

chaining)模式。 

鲥髓 

WAPI中关于无线局域网层的算法为WPI(无 

线局域网保密基础结构,WLAN privacy 

infrastructure),其数据加密采用OFB(输出反馈, 

t l 认鼍 

卜 

output feedback)模式,完整性校验采用CBC(密码 

分组链接,Cipher—block chaining)模式。 

曩fI蕞奠 

2.1 CCMP算法介绍 

CCMP主要的工作就是对802.1 1的帧进行加密 

.I.|陆 l 接^控一 

和解密,以及对帧数据的完整性进行校验。如图2所 

示为CCMP的数据封装形式,其中MIC(消息完整 

-*1烈明-一l ■■姗 

●簟 ●‘勒f=^) 

性校验码,message integrity code)是采用CBC运算, 

对MAC头(MAC header)和安全头(CCMP header) 

图1无线局域网安全体系分层 

关键信息,帧体PDU信息进行压缩的结果。CCMP 

采用CTR模式对帧体和MIC进行加密即可得到采 

用CCMP封装后的帧。 

图3是CBC运算,即把当前的输入和上次的输 

出异或后送入AES加密模块,如此不断循环,直至 

认证层主要进行完成对申请者的身份认证,接 

受合法身份的申请者,拒绝非法接人的申请者。 

接人控制层是中间管理层,它防止数据流向敌 

方或者防止敌方信息进入,只 

c 

有申请者认证通过之后,才能 

由敌人变为朋友,才能进行数 

J ourj J }舶f嚣J M jO制OS ~ ̄arp PDU 

Encrypted(note)

MIC 

. 

据通信。 

无线局域网层是工作层, 

也即MAC层的工作,这一层 

IVIKeylD 

4octets 

/ 

. 

ExtendedIV 

4 octets 

0ata 

’ 0 octets 

嘲C l 

8octetsl 

负责处理原始的通信信息、通 

告性能和接收请求加入网络 

PN0 PN1 

\ 

\\ 

的申请,一旦安全内容建立, 

这一层还负责加密和解密。 

Rsvd Rsvd Rsv Ext Key 

lvID 

b0 b3 b4 b5 b6 b7 

PN2 P№ PN4 PN5 

图2 CCMP的封装形式 

http://www.cicmag.com 

设计 

由固集成电路 

China Integrated Circuit 

ccmp—aadl,ccmp

_

aad2为CCMP进行CBC运算时的 

3无线局域网安全算法实现 

从上述描述可以看出CCMP和WPI的完整性 

MAC

_

IV,AAD1,AAD2。ccm为CCMP进行CTR加 

密运算时的输入CTR计数器。 

图14为控制状态机ccmp_wpi_fsin。状态机根 

 

校验都采用了CBC运算,数据加密分别采用了CTR 

据加解密协议,控制数据流动完成CCMP或者WPI

和OFB模式。为了缩小面积,提取二者的共同点,复 

运算。如果是CCMP运算,则状态机进入CCMP运 

用相同的数据通路和加密核,从而得出下面的设计。 

图12给出了数据通路和控制电路的相互关系。其 

中数据流只通过ccmp_wpi—dpath模块,而 

ccmp_wpi

fsin模块对数据通路模块进行流程控制。 

_

算流程。如果是WPI运算,则状态机进入WPI运算 

流程。 

图15是CCMP和WPI的运算流程。结合图 

13~15,以CCMP运算为例,说明本电路的工作原 

理。当加密开始后,数据通路中公用通路以及CCMP 

独有数据通路要参与运算。在开始的初始化运算中, 

由状态机控制,ccmp—cbc_iv、ccmp—aadl、ccmp—aad2 

分别一次进出数据通路,结合AES算法核、以及 

AES的输出(cbc—out)一同参与CBC运算。在该运 

算结束后,开始有规律的数据加密(图15中的 

lthkey、2ndkey等等)和完整性校验运算(图15中 

MPDU1、MPDU2等)。每次运算都是数据加密运算 

先进行,然后再进行完整性校验运算。数据加密运算 

图12 ccmp_wpi模块内部结构 

时,ccm、AES加密核、AES的输出(ccm—ofb—out),明 

详细的数据通路ccmp_wpi_dpath如图13所 

示,CCMP和WPI的数据通路进行了复用,由于 

文dat_i参与运算,当密钥流生成时,其结果会输出 

到ccm—off)一out,该结果与明文dat_i(在进行密钥流 

生成的过程中,并行从存储空间读取)进行异或运 CCMP完整性校验和数据加密采用都采用了AES, 

为了复用AES核,节约面积,CBC和CTR运算采用 

了串行交替运算,同理,WPI也节约 

了一个SMS4的面积。图中的AES 

算,即可得到加密后的数据dat_o,然后根据状态机 

加密核和SMS4加密核为整个加密 

运算的核心,ccm orb reg用来锁存 

CTR运算或者OFB运算的中间结 

果,cbc reg用来锁存CBC运算的中 

间结果。Compare模块在解密时,用 

来比较MIC是否正确。T模块在解 

密时,把解密得到的数据经过大小 

段转换后送入CBC运算模块进行 

_

验运

_

算。 图中的 

wpi

aad1~wpi

aad3为WPI的完整 

性数据校验分段,ccmp cbc—iv, 

图13 CCMP和WPI数据通路 

http:Ilwww.cicmag.com 

巾国集成电路 

China Integrated Circuit 

设计 

的解密数据dat_o,且最后一包数据不足128 bit时, 

无效位要补0。同时在最后加密出的MIC要和从 

dat

i通路读取到的MIC进行比较,如果不相等,则 

mic not

equ给出高电平,表示整个帧完整性校验错 

_

误。 

WPI运算和CCMP运算流程类似,其差别如下: 

1、在初始化运算时,如果参与运算的帧存在qos域, 

则需要多进行一次初始化运算,其输入为wpi_aad3, 

否则和CCMP相同,只进行3次初始化运算(对应 

输入为wpi—cbc—iv、wpi_aadl、wpi—aad2);2、密钥流 

生成采用OFB模式,其初始输人为参与运算的帧头 

中的PN(Package Number),后续的运算中,每次的 

输入都为前一次的输出。3、OFB(key2)运算和CBC 

图14 CCMP和WPI控制状态机 

(key1)运算的密钥不同,在两种运算切换时需要做 

相应的切换动作。 

的命令把这个数据写到对应的存储空间(和完整性 

校验运算并行执行)。当完成一次数据加密后,接着 

会进行完整性校验运算,该运算是把上次初始化运 

AES需要40个时钟周期完成128 bit数据加密 

(为了缩减面积,AES[51也经过串行运算,复用了 

sbox),SMS4需要32个时钟周期完成128 bit数据 

吐率为64 Mbps,WPI的吞吐率为80 Mbps。采用 

SMIC 0.18 m的工艺对该电路进行综合,其规模为 

3.5万门。 

算或者CBC运算的结果cbc_out与明文dat_i异或 

存器中。当最后一包数据被加密后,也即最后一包 

数据对应的完整性校验运算完成后,需要额外进行 

运算后输入AES,当运算完成后,锁存到cbc reg寄 

加密,因此电路在40 MHz频率下工作,CCMP的吞 

次密钥流生成运算(CCM运算),生成加密完整 

性校验结果(锁存在cbc reg中)的密钥(锁存在 

ccm orb reg中),最后一次完整性校验结果和密钥异 

或运算即得到最终的MIC,在状态机控制下,写回到 

相应的存储设备中。 

4无线局域网安全算法并行实现方式 

如图16所示,为CCMP或者WPI的并行运算 

方式,和图15不同之处在于,CBC运算和CTR(或 

者OFB)运算并行进行,比串行的运算速度提高一 

倍。其具体工作原理此处不再赘述。 

_时c.II, MD1 ^^D2 埘训l 啪ot¨ l硼∞嗡 

tdmD血’ m叫II2 m嘲N 

mO由1 呻d 盯 

NPDU(1) Ⅱ u() (n) 

1。I嵋y .J【ey i 妒I唧l m缸{【日 l 

/ 

MP (1)『 

l l 

7 

DL(n)l 

图15 CCMP和WPl运算流程 

1‘ key key 

f 

nth ker 

’ 『 

HIC key 

CCMP的解密流程和加密类似,只是在进行完 

整性校验时,参与运算的数据是经过AES的数据 

ccm

, 

、 、 

k 

r萧Le] …~ 

IIf'叫(n)J U(1)i MPDG()f 

orb

out和dat_i异或运算(数据解密)后得到 

图16 CCMP和WPI运算流程 

已设计 

为了支持并行运算,给出图17和图l8关于 

CCMP和WPI的数据通路。相比图13,可以看出 

CCMP采用了两个AES,WPI也采用了2个SMS4, 

2004[SJ 

【l】国集成电路 

China Integrated Circuit 

『3]GB 15629.1 1/1 102—2003实施指南[S] 

f41马建峰,吴振强.无线局域网安全体系结构[M】. 

北京:高等教育出版社,2008 

[5](美)William Stallings著.密码编码学与网络安 

建明等译.北京:电子工业出版社,2004 

同时二者都有独立的外围电路。 

此结构中,AES需要10个时钟周期完成128 

M】.刘玉珍,王丽娜,傅 

bit数据加密,SMS4需要32个时钟周期完成128 bit 

全一原理与实践(第三版)[

数据加密,因此电路在40 MHz频率下工作,CCMP 

的吞吐率为512 Mbps, 

WPI的吞吐率为160 

Mbps。采用SMIC 0.18 m 

的工艺对该电路进行综 

合,其规模为8.1万门。 

5 结束语 

本文实现了低成本的 

无线局域网双模加密电 

路。通过数据通路的复用, 

数据完整性校验和数据加 

密交替串行运行,最终只 

采用了一个AES加密核, 

图1 7 CCMP数据通路 

个SMS4加密核实现了 

双模加密电路。通过面积 

优化,本电路面积比并行 

运算的电路面积少了4.6 

万门,但其吞吐率仍然可 

以满足IEEE 802.1 labg这 

种低速率应用场景。固 

参考文献 

[1】(英)乔恩・爱德华, 

(美)威廉・阿尔保著.无 

线局域网安全实务一 

WPA与802.1li[M].周正 

等译.北京:人民邮电出版 

社,2006 

【wpi_cbc_aad1—8n。 

wpicbcead2en.wpicbc

aad3-on 

_一—_

[2]IEEE Std 802.1 liTM一 

图18 WPl数据通路 

http://www.cicmag.com 

本文标签: 运算加密局域网进行无线