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
版权声明:本文标题:应用于无线网络安全的CCMP和WAPI硬件双横设计 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/xitong/1712437301a360243.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论