面向无线局域网安全领域的片上网络多核架构

摘 要:
在计算机系统和通信网络中,安全协议和密码算法用于保护敏感信息,但如何快速计算上述协议和算法成为难题。为此,提出一种面向无线局域网安全领域的片上网络多核架构。该片上网络架构包括4 个类MIPS 的精简指令集处理器和12 个面向安全领域的专用指令集处理器(ASIP)。每个ASIP 中含有一个改进的并行查找表用来加速高级加密标准算法。该架构凭借任务并行能够获得较高的计数器模式密码块链消息完整码协议吞吐率。在SMIC 0.13 "m 标准CMOS 工艺下,实现该架构需要约308 万等效门。实验结果表明,该系统的最大工作频率为84 MHz,能获得787 Mb/s 的吞吐率。

1 概述
随着无线技术的高速发展,在无线系统中的信息很容易被监听,这使得通信安全问题越发成为关注的焦点。为此,人们制定了多种安全协议对无线通信提供安全保证。
在无线局域网中,IEEE 802.11i[1]标准中建议采用计数器模式密码块链消息完整码协议(Counter CBC-MAC Protocol,CCMP)。传统做法是采用通用处理器来处理诸如CCMP这些加密协议中的复杂运算,但随着越来越多的数据需要经过高强度的安全加密处理,通用处理器有限的处理能力就成为运算瓶颈。本文提出一种基于片上网络(Network on Chip, NoC)的异质多核架构。通过任务的并行处理,该架构能够快速进行CCMP 中的相关加密运算。该架构采用4×4 的mesh 拓扑结构,包含有4 个精简指令集处理器(Reduced InstructionSet Computer, RISC)和12 个面向安全领域的专用指令集处理器(Application Specific Instruction-set Processor, ASIP)。

其中,RISC 处理器作为主控器承担着运行操作系统,封装以及解封数据包,为12 个ASIP 调配加密任务等职能。每个ASIP 内部都有一个并行查找表可以快速实现AES 加密。

2 AES 算法及 CCMP 协议

2.1 高级加密标准

高级加密标准是一种对称分组密码,美国国家标准与技术研究院推荐将AES 用于块数据的加密,现已被很多安全协议所采用,其具体算法在FIPS PUB-197[2]中被明确规
定。CCMP 协议中所用到的AES 的密钥宽度是128 位,它是CCMP 的核心运算。

128 位的AES 算法要进行10 轮运算。在其中每一轮,128 位的明文被划为一个4×4 的字节阵列,要进行4 种操作,具体说来包括字节替换、行移位、列混淆和轮密钥加。这些运算的详细过程可以参考文献[2]。需要指出的是,在AES 的10 轮运算中,前9 轮每一轮都需要执行这4 种运算,而最后一轮不需要列混合运算。

AES 算法可以用查找表的方式来实现。文献[3]采用了一种并行查找表的方式。如图1 所示,该方法可以通过简单的查表方式来实现字节替换、行移位和列混淆的复杂运
算过程,因此可以极大地提高AES 的加密速度。

图1 AES 算法及其并行查找表实现方式

图1 AES 算法及其并行查找表实现方式

2.2 CCMP 协议
CCMP 协议是建立在AES 基础之上,以计数器(CTR)方式对数据进行加密,以密码分组链(CBC-MAC)方式计算消息的认证码(Message Integrity Check, MIC)。
图2 展示CCMP 的加密过程。具体说来可以分为3 步。首先,从MAC 协议数据单元(MAC Protocol Data Unit,MPDU)中提取出CCMP 头、MAC 帧头等信息,并对明文进行封装打包。之后,对封装好的信息进行2 种模式的AES 运算:(1)在CBC-MAC 模式下通过AES 加密计算出MIC 值以保证数据的有效性及完整性。(2)待加密的数据
及MIC 值经过CTR 模式的AES 加密保证其机密性。在解密时,用相同的密钥把密文还原成明文,并计算所还原明文的MIC 值,其值与解密所得到的MIC 值对比,若相同,则接收该帧;若不同,则表明该帧在数据传递过程中出现问题,拒绝该帧并作后续处理。

图 2 CCMP 的加密流程

图 2 CCMP 的加密流程

2.2.1 CBC-MAC 模式
图3 展示了AES 的密码分组链消息认证码(CipherBlock Chaining Message Authentication Code, CBC-MAC)模式的流程。首先通过构造的CCMP 头与原始的MAC 帧头来产生起始的待加密数据(MIC_IV, MIC_HDR1,MIC_HDR2)。对这部分数据与明文以16 Byte 为单位进行数据分组,并且按照顺序依次对每一组进行加密和异或处理。对明文的最后数据进行分组时,不足16 Byte 则补零。这样可以最终得到16 Byte 加密数据,选择其中的8 个字节作为MIC 值。

图 3 CBC-MAC 模式的 AES 加密

图 3 CBC-MAC 模式的 AES 加密

2.2.2 CTR 模式
在CTR(计数器)模式下,明文与在CBC-MAC 模式下得到的MIC 值一起进行加密。同样的,数据以16 Byte 为单位进行分组,每组都会异或上一个AES 加密的结果,如
图4 所示。其中,明文的最后部分以及MIC 值由于不足16 Byte,因此异或操作时会从AES 加密的结果中截取出相应字节数。对于每一次的AES 加密, 其加密的内容
(CTR(x))为不同的计数值,其值与分组序号有关。

图 4 CTR 模式的 AES 加密

图 4 CTR 模式的 AES 加密

3 面向 CCMP 的异质多核架构及任务分配

3.1 ASIP 架构
如前所述,AES 加密是CCMP 的核心运算。为了加速CCMP,本文设计了加速AES 加密的ASIP。如图5 所示,该ASIP 是一个拥有5 级流水线结构的精简指令集处理器。特别地,在执行级引入改进的并行查找表来加速AES 运算。

图 5 ASIP 架构

图 5 ASIP 架构

在硬件中引入PTLU 的同时,在软件中本文也扩展了相应的专用指令,如表1 所示。其中r1、r2 表示处理器中的2 个全局寄存器,p1 是一个特殊寄存器。

表 1 扩展的 AES 专用指令

表 1 扩展的 AES 专用指令

3.2 异质多核架构
本文所设计的异质多核架构采用4×4 的mesh 拓扑结构[4],如图6 所示。采用传统的x-y 路由算法来传递数据包。4 个具有MIPS 架构的精简指令集处理器作为主控单元来处理系统的一般性事务。在处理CCMP 协议时,它们负责从共享存储器中读取MPDU 并将它们打包后分发给各个ASIP,之后将加密后的MDPU 存回共享存储器。

图 6 4×4 mesh 拓扑的异质多核架构

图 6 4×4 mesh 拓扑的异质多核架构

3.3 CCMP 任务分配
在2.2 节讲述了CCMP 的加密流程。观察到由于MIC值的计算是一个串行的过程,因此这个过程不能通过任务的并行来进行加速。相反地,由于CTR 运算中各个分组中
的AES 加密彼此间没有任何的相关性,因此对于一个MDPU 可以将 CTR 运算与MIC 值的计算用2 个ASIP 来加速,如图7 所示。对于第1 个MDPU 帧,它的MIC 值运
算由ASIP1 来完成,而CTR 运算由ASIP2 来完成。注意到ASIP1 与ASIP2 任务的起始时间并不相同,这是由于数据在NoC 网络上的传输延时所引起的。为了减少传输延时所带来的性能损耗,MIC 值的CTR 计算并不是传给ASIP2来进行的,而是立刻在ASIP1 上完成。

可以看到,对于每个MDPU 帧来说,MIC 值的计算由于数据的相关性无法并行展开,因此其是最为耗时的部分。但是如图7 所示,本文所提供的拥有12 个ASIP 的NoC 架构可以以2 个ASIP 为一组同时加密6 个MDPU 帧,因此能够极大地提高CCMP 的加密速度。

图 7 CCMP 的任务划分

图 7 CCMP 的任务划分

4 实验结果
本文设计并实现该面向CCMP 的异质多核NoC 架构,采用SMIC 0.13 μm 的标准CMOS 工艺,对RTL 代码进行综合。综合结果表明该系统最大工作频率为84 MHz,面积为308 万等效门。表2 列举了该系统中各主要模块的面积,单位是万等效门。其中,MIPS 指代图5 中MIPS 架构的精简指令集处理器。从表中看到,对于整个系统来说,存储器消耗了大量的面积资源。表3 比较了本文异质多核方案与其他设计方案。相比较与文献[5-6]的处理器设计方案,本文所提出的架构能够获得更高的吞吐率,达到787 Mb/s,同时能够获得很高的效率值(吞吐率/频率)。虽然文献[7]的专用集成电路(ASIC)设计方案能够获得较高的吞吐率,但是ASIC 的灵活性远不如本文所采用的多核方案。

表 2 本文方案各主要模块的面积

表 2 本文方案各主要模块的面积

表 3 本文异质多核方案与其他设计方案实验结果对比

表 3 本文异质多核方案与其他设计方案实验结果对比

5 结束语
本文提出一种面向无线局域网安全领域的片上网络多核设计方案。实验结果表明,该方案能够获得较高的吞吐率,可以胜任IEEE 802.11i 及IEEE 802.11n 等标准。同时由于具有可编程的特性,因此本文方案还可以进一步兼容SMS4, SHA-1 等安全算法。

参考文献
[1] LAN/MAN Standards Committee. IEEE Std: 802.11i-2004 Part11:Wireless LAN Medium Access Control(MAC) and PhysicalLayer(PHY) Specifications[S]. 2004.

[2] National Institute of Standards and Technology. FIPS: 197-2001dvanced Encryption Standard(AES)[S]. 2001.

[3] Fiskiran A M, Lee R B. Fast Parallel Table Lookups to AccelerateSymmetric-key Cryptography[C]//Proc. of International ConferenceonInformation Technology: Coding and Computing.

4] 欧阳一鸣, 董少周, 梁华国. 基于2D Mesh 的NoC 路由算法设计与仿真[J]. 计算机工程, 2009, 35(22): 227-229.

[5] Smyth N, McLoone M, McCanny J. WLAN Security Processor[J].IEEE Trans. on Circuits and Systems, 2006, 53(7): 1506-1520.

[6] Bae D, Kim G, Kim J. Design and Implementation of Efficient Cipher Engine for IEEE 802.11I Compatible with IEEE 802.11n and IEEE 802.11e, Lecture Notes in Computer Science[C]//Proc.of IEEE CIS’05. [S. 1.]: IEEE Press, 2005: 439-444.

[7] Hoseini S A, Khodabandeloo B, Mamaghani M J. High Throughput Low Power CCMP Architecture for Very High Speed Wireless LANs[C]//Proc. of the 15th CSI International Symposium on Computer Architecture and Digital Systems. [S. 1.]: IEEE Press,

王 帅,韩 军,李 阳,曾晓洋
(复旦大学专用集成电路与系统国家重点实验室,上海 201203)

--电子创新网--
粤ICP备12070055号