文献标识码: A
DOI:10.16157/j.issn.0258-7998.2016.07.012
中文引用格式: 陈松涛,徐金甫,刘航天. 基于认证加密的NoC安全防护研究[J].电子技术应用,2016,42(7):50-52,56.
英文引用格式: Chen Songtao,Xu Jinfu,Liu Hangtian. NoC security reserch based on authenticated ancryption[J].Application of Electronic Technique,2016,42(7):50-52,56.
0 引言
随着芯片集成度越来越高,基于传统共享总线架构的片上系统(System on Chip,SoC)已经不能满足日益复杂的应用对高带宽的需求,并且规模扩展也出现了瓶颈[1-2]。为了有效解决片上系统规模扩展带来的问题,基于片上网络(Network on Chip,NoC)的通信架构被提了出来。
片上网络是指由路由器按照一定的拓扑结构进行互连形成的数据通信网络,它是一种间接互连方式,采用与计算机网络类似的数据包路由方式。相比于传统的片上共享总线通信技术,NoC具有许多明显的优势:可扩展性好、通信效率高、低功耗、规则性好。
然而,NoC这种通信架构带来优点的同时,也存在相应的易攻击性,给潜在的攻击者提供了机会。目前对于NoC的研究主要集中于拓扑结构、映射算法、路由算法,对其安全性的研究相对来说较少。基于NoC的片上系统可能面临的安全威胁包括拒绝服务攻击DoS、窃取秘密信息和修改与安全相关的系统行为和配置。当NoC上的IP核执行应用任务时,它们之间有时需要交换敏感信息,攻击者可能利用软件攻击或者探针攻击的手段窃取敏感信息[3-4]。本文通过在网络接口上增加相应的安全模块,对携带有敏感信息的数据包进行认证加密,利用GCM(Galois/Counter Mode)算法对数据包包头认证处理生成认证标签、对数据包数据部分进行加密处理生成密文,从而保护NoC敏感数据的机密性和完整性。
1 NoC安全防护
1.1 认证加密方案
为了提高运行速度,片上系统把应用任务分布在多个计算资源上执行。然而,这个技术要求不同的IP核相互作用。一些带有敏感信息的应用程序需要通过NoC交换数据,因此,不同IP核之间的通信需要保持机密性。
方案的设计流程如图1所示,安全域指的是为保护不同安全需求的信息与信息载体,将系统中具有相同安全需求的可信或不可信部分划分成不同的安全区域。把安全域应用到NoC上,就可以把执行同一应用任务的几个IP核划分在相同的安全域下。安全域划分完成以后,安全域内的IP核之间需要协商密钥,密钥的协商采用Diffie-Hellman组密钥交换协议[5,7]。敏感数据传输之前,利用协商好的密钥,对数据进行加密认证,从而保证数据的机密性和完整性传输。
认证加密(Authenticated Encryption,AE)可以同时为NoC通信提供机密性和完整性[6,8],AE的一个重要优点是能够为包头信息提供认证。一般来说,包头信息在数据包传输过程中不会改变。包头是以明文的方式发送的,用它可以产生认证标签。在发送方,认证加密模块加密数据明文和认证包头信息,输出是密文和一个认证标签。在接收方,认证加密模块将会处理密文和包头信息,输出是明文和一个认证标签。然后接收方比较这两个认证标签,并且只有这两个标签相同时,它才会接收解密后的明文。在本文的方案里,采用GCM实现认证加密功能。
1.2 安全NoC结构
图2所示是安全NoC的结构图,其中网络安全管理员NSM(Network Security Manager)是嵌入在安全IP核内一个轻量级的软件任务,负责安全域的建立以及密钥的协商。当出现以下情况时,安全域应该被修改。
(1)一个新的应用任务被映射到系统上;
(2)一个任务映射到的IP核发生了变化;
(3)NoC处在特殊的操作条件下,例如受到了攻击。
安全网络接口(Security Network Interface,SNI)嵌入了硬件安全模块,安全模块能够计算生成协商密钥和对数据进行加密认证。当安全域被修改时,密钥也要被重新协商。Diffie-Hellman协议是基于公钥密码技术的密钥交换协议[7],安全域内多个IP核之间的组密钥协商可以通过它实现。
2 认证加密设计与实现
2.1 安全网络接口
方案用到的数据包格式如图3所示,包头信息包括了状态位、明文/密文位、源地址和目标地址,这些信息在数据包传输的过程中不会改变。源IP核要发送的信息在数据位,数据包的最后是认证标签。
安全网络接口SNI可以实现通信功能和安全功能,它的结构如图4所示。对于通信功能,安全网络接口负责数据包的处理,这能够通过打包/解包模块实现。对于安全功能,网络安全接口实现的安全服务包括了认证和加密。认证保证了数据包的完整性,接收方通过比较接收到的标志位是否与自己计算得出的进行比较,判断数据是否被修改。加密使数据以密文的方式传输,保证了数据的机密性。认证和加密是通过认证加密模块和密钥处理模块实现的,密钥处理模块负责密钥的协商,认证加密模块完成认证和加密操作。
2.2 密钥协商
Diffie-Hellman组密钥协商协议可以使安全域内的IP核共享相同的秘密密钥,相比于使用固定密钥通信带来的安全隐患[8],密钥交换有利于增强通信的安全性。同时,使用Diffie-Hellman协商密钥有助于保证密钥Kg的安全,这是因为安全域内的IP核之间只交换中间生成的密钥ci,而最后生成的密钥Kg没有在网络上传输。
每次当前安全域需要改变时,Diffie-Hellman协议也要被执行。假设有一个应用A,它是由任务T1和T2组成,分别被映射到IPa和IPb上。任务T1和T2必须交换敏感数据,因此它们需要机密性安全服务。网络安全管理员NSM为了满足应用A的安全需求,一个新的安全域必须建立起来。
安全管理员NSM、IPa和IPc分别通过安全网络接口SMI、SNIa和SNIc连接到NoC上。如图5所示,密钥协商一共有6步。第一步,安全管理员给SNIa和SNIc发送一个控制数据包。第二步,每个SNI用它自己私有的数字(sa和sc)得到一个局部密钥ci,ci=gs mod p。第三步,当获得局部密钥ca和cc后,把它们发送给安全域内的其他成员,ca被发送给SNIc,cc被发送给SNIa。第四步,局部密钥被接收后,SI可以计算得到组密钥kg。第五步,当SI得到组密钥kg,它就通知NSM。第六步,当NSM接收到所有安全成员SNIa和SNIc的通知后,NSM释放通信。SNIa和SNIc得到的密钥kg,可以用来对称加密数据。
2.3 GCM认证加密
GCM是一种在二元Galois域使用泛散列函数提供加密认证的分组密码算法,它可以用一个简单的密钥产生密文和消息摘要。由于其采用CTR模式实现加密,采用Galois域的泛HASH函数进行认证,其硬件实现上具有低成本、低延时和高速率的特点。GCM算法包括AES和GHASH,AES可以用来加密数据,GHASH可以为附加认证数据提供认证。
GCM的硬件实现结构如图6所示。为了实现这个结构,采用128 bit的AES加密模块。数据包中的每个数据也是128 bit,并且数据的个数是固定的。认证标签也被固定在128 bit,这可以提供更好的安全性。在GCM中,128 bit的AES加密模块可以同时实现加解密功能。数据包头中的源地址、目标地址等信息在传输过程是不变的,因此可以用来生成认证标签。这个结构的一个优点是加解密操作是并行执行的,所以当数据包中的第一个数据加密或解密后,就可以得到密文或明文。当加密或解密完成数据后,将会得到认证标签。安全网络接口SNI加密完成数据包中的数据,并把认证标签添加到数据包的最后,然后才把数据包发送给路由进行传输。数据包到达它的目标地址后,将会被GCM认证加密模块处理。接收方的安全网络接口解密每个数据并最终产生一个认证标签。两个认证标签比较之后,安全网络接口SNI将会发送一个认证状态信息给IP核,依据这个信息,IP核将会决定接收还是拒绝这个数据包。
3 实验结果
为了综合评估该方案对性能的影响和资源消耗,本文在NoCem(Network on Chip emulator)平台上实现整体方案。NoCem是一个基于VHDL语言的NoC开源仿真环境,它的数据位宽、拓扑结构虚拟通信的数量都是可配的。图7所示为带安全防护的NoC与一般的NoC数据包传输时间的对比。可以看出,安全NoC传输数据包时额外增加的延时较少,安全模块对系统性能的影响很小。
用Xilinx ISE14.2综合工具对各硬件模块进行了综合,目标器件是Virtex-6。安全模块消耗的资源与整个NoC消耗的资源对比情况如表1所示。从综合结果可知,增加安全模块并没有造成明显的资源开销。
4 结束语
本文采用GCM认证加密算法对NoC传输的敏感数据进行保护,保证数据的机密性和完整性。并且相比于已有使用固定的密钥加密的方案[9],本文采用Diffie-Hellman密钥交换协议有助于增强加密的安全性。仿真综合结果表明,在不对性能和面积造成明显影响的情况下,本文提出的方案有效提高了NoC的安全防护能力。由于认证加密会不可避免地增加了延时,为了进一步优化性能,未来工作将研究如何优化认证加密算法,尽可能提高NoC的带宽。
参考文献
[1] 李辉楷.基于片上网络架构的安全存储系统研究[D].上海:复旦大学,2012.
[2] FIORIN L,SILVANO C,SAMI M.Security aspects in networks-on-chips: Overview and proposals for secure implementations[C].Digital System Design Architectures,Methods and Tools,2007.DSD 2007.10th Euromicro Conference on.IEEE,2007:539-542.
[3] 李辉楷,韩军,张随欲,等.安全的NoC系统的VLSI设计[C].中国电子学会电路与系统学会第二十二届年会.2010.
[4] PAPASTEFANAKIS E,MAITRE B,RAGOT D.Security challenges in manycore embedded systems based on Networks-on-Chip(NoCs)[C].Proceedings of the WESS'15:Workshop on Embedded Systems Security.ACM,2015:10.
[5] SEPULVEDA J,FLOREZ D,GOGNIAT G.Reconfigurable security architecture for disrupted protection zones in NoC-based MPSoCs[C].Reconfigurable Communication-centric Systems-on-Chip(ReCoSoC),2015 10th International Symposium on.IEEE,2015:1-8.
[6] 屈善新.基于FPGA的GCM加密认证算法的研究与实现[D].北京:北京邮电大学,2010.
[7] SEPLVEDA J,FL?魷REZ D,GOGNIAT G.Reconfigurable group-wise security architecture for NoC-based MPSoCs protection[C].Proceedings of the 28th Symposium on Integrated Circuits and Systems Design.ACM,2015:26.
[8] SAJEESH K,KAPOOR H K.An authenticated encryption based security framework for NoC architectures[C].Electronic System Design(ISED),2011 International Symposium on.IEEE,2011:134-139.
[9] KAPOOR H K,RAO G B,ARSHI S,et al.A security framework for noc using authenticated encryption and session keys[J].Circuits,Systems,and Signal Processing,2013,32(6):2605-2622.