文獻標識碼: 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 引言
隨著芯片集成度越來越高,基于傳統(tǒng)共享總線架構的片上系統(tǒng)(System on Chip,SoC)已經(jīng)不能滿足日益復雜的應用對高帶寬的需求,并且規(guī)模擴展也出現(xiàn)了瓶頸[1-2]。為了有效解決片上系統(tǒng)規(guī)模擴展帶來的問題,基于片上網(wǎng)絡(Network on Chip,NoC)的通信架構被提了出來。
片上網(wǎng)絡是指由路由器按照一定的拓撲結構進行互連形成的數(shù)據(jù)通信網(wǎng)絡,它是一種間接互連方式,采用與計算機網(wǎng)絡類似的數(shù)據(jù)包路由方式。相比于傳統(tǒng)的片上共享總線通信技術,NoC具有許多明顯的優(yōu)勢:可擴展性好、通信效率高、低功耗、規(guī)則性好。
然而,NoC這種通信架構帶來優(yōu)點的同時,也存在相應的易攻擊性,給潛在的攻擊者提供了機會。目前對于NoC的研究主要集中于拓撲結構、映射算法、路由算法,對其安全性的研究相對來說較少。基于NoC的片上系統(tǒng)可能面臨的安全威脅包括拒絕服務攻擊DoS、竊取秘密信息和修改與安全相關的系統(tǒng)行為和配置。當NoC上的IP核執(zhí)行應用任務時,它們之間有時需要交換敏感信息,攻擊者可能利用軟件攻擊或者探針攻擊的手段竊取敏感信息[3-4]。本文通過在網(wǎng)絡接口上增加相應的安全模塊,對攜帶有敏感信息的數(shù)據(jù)包進行認證加密,利用GCM(Galois/Counter Mode)算法對數(shù)據(jù)包包頭認證處理生成認證標簽、對數(shù)據(jù)包數(shù)據(jù)部分進行加密處理生成密文,從而保護NoC敏感數(shù)據(jù)的機密性和完整性。
1 NoC安全防護
1.1 認證加密方案
為了提高運行速度,片上系統(tǒng)把應用任務分布在多個計算資源上執(zhí)行。然而,這個技術要求不同的IP核相互作用。一些帶有敏感信息的應用程序需要通過NoC交換數(shù)據(jù),因此,不同IP核之間的通信需要保持機密性。
方案的設計流程如圖1所示,安全域指的是為保護不同安全需求的信息與信息載體,將系統(tǒng)中具有相同安全需求的可信或不可信部分劃分成不同的安全區(qū)域。把安全域應用到NoC上,就可以把執(zhí)行同一應用任務的幾個IP核劃分在相同的安全域下。安全域劃分完成以后,安全域內(nèi)的IP核之間需要協(xié)商密鑰,密鑰的協(xié)商采用Diffie-Hellman組密鑰交換協(xié)議[5,7]。敏感數(shù)據(jù)傳輸之前,利用協(xié)商好的密鑰,對數(shù)據(jù)進行加密認證,從而保證數(shù)據(jù)的機密性和完整性傳輸。
認證加密(Authenticated Encryption,AE)可以同時為NoC通信提供機密性和完整性[6,8],AE的一個重要優(yōu)點是能夠為包頭信息提供認證。一般來說,包頭信息在數(shù)據(jù)包傳輸過程中不會改變。包頭是以明文的方式發(fā)送的,用它可以產(chǎn)生認證標簽。在發(fā)送方,認證加密模塊加密數(shù)據(jù)明文和認證包頭信息,輸出是密文和一個認證標簽。在接收方,認證加密模塊將會處理密文和包頭信息,輸出是明文和一個認證標簽。然后接收方比較這兩個認證標簽,并且只有這兩個標簽相同時,它才會接收解密后的明文。在本文的方案里,采用GCM實現(xiàn)認證加密功能。
1.2 安全NoC結構
圖2所示是安全NoC的結構圖,其中網(wǎng)絡安全管理員NSM(Network Security Manager)是嵌入在安全IP核內(nèi)一個輕量級的軟件任務,負責安全域的建立以及密鑰的協(xié)商。當出現(xiàn)以下情況時,安全域應該被修改。
(1)一個新的應用任務被映射到系統(tǒng)上;
(2)一個任務映射到的IP核發(fā)生了變化;
(3)NoC處在特殊的操作條件下,例如受到了攻擊。
安全網(wǎng)絡接口(Security Network Interface,SNI)嵌入了硬件安全模塊,安全模塊能夠計算生成協(xié)商密鑰和對數(shù)據(jù)進行加密認證。當安全域被修改時,密鑰也要被重新協(xié)商。Diffie-Hellman協(xié)議是基于公鑰密碼技術的密鑰交換協(xié)議[7],安全域內(nèi)多個IP核之間的組密鑰協(xié)商可以通過它實現(xiàn)。
2 認證加密設計與實現(xiàn)
2.1 安全網(wǎng)絡接口
方案用到的數(shù)據(jù)包格式如圖3所示,包頭信息包括了狀態(tài)位、明文/密文位、源地址和目標地址,這些信息在數(shù)據(jù)包傳輸?shù)倪^程中不會改變。源IP核要發(fā)送的信息在數(shù)據(jù)位,數(shù)據(jù)包的最后是認證標簽。
安全網(wǎng)絡接口SNI可以實現(xiàn)通信功能和安全功能,它的結構如圖4所示。對于通信功能,安全網(wǎng)絡接口負責數(shù)據(jù)包的處理,這能夠通過打包/解包模塊實現(xiàn)。對于安全功能,網(wǎng)絡安全接口實現(xiàn)的安全服務包括了認證和加密。認證保證了數(shù)據(jù)包的完整性,接收方通過比較接收到的標志位是否與自己計算得出的進行比較,判斷數(shù)據(jù)是否被修改。加密使數(shù)據(jù)以密文的方式傳輸,保證了數(shù)據(jù)的機密性。認證和加密是通過認證加密模塊和密鑰處理模塊實現(xiàn)的,密鑰處理模塊負責密鑰的協(xié)商,認證加密模塊完成認證和加密操作。
2.2 密鑰協(xié)商
Diffie-Hellman組密鑰協(xié)商協(xié)議可以使安全域內(nèi)的IP核共享相同的秘密密鑰,相比于使用固定密鑰通信帶來的安全隱患[8],密鑰交換有利于增強通信的安全性。同時,使用Diffie-Hellman協(xié)商密鑰有助于保證密鑰Kg的安全,這是因為安全域內(nèi)的IP核之間只交換中間生成的密鑰ci,而最后生成的密鑰Kg沒有在網(wǎng)絡上傳輸。
每次當前安全域需要改變時,Diffie-Hellman協(xié)議也要被執(zhí)行。假設有一個應用A,它是由任務T1和T2組成,分別被映射到IPa和IPb上。任務T1和T2必須交換敏感數(shù)據(jù),因此它們需要機密性安全服務。網(wǎng)絡安全管理員NSM為了滿足應用A的安全需求,一個新的安全域必須建立起來。
安全管理員NSM、IPa和IPc分別通過安全網(wǎng)絡接口SMI、SNIa和SNIc連接到NoC上。如圖5所示,密鑰協(xié)商一共有6步。第一步,安全管理員給SNIa和SNIc發(fā)送一個控制數(shù)據(jù)包。第二步,每個SNI用它自己私有的數(shù)字(sa和sc)得到一個局部密鑰ci,ci=gs mod p。第三步,當獲得局部密鑰ca和cc后,把它們發(fā)送給安全域內(nèi)的其他成員,ca被發(fā)送給SNIc,cc被發(fā)送給SNIa。第四步,局部密鑰被接收后,SI可以計算得到組密鑰kg。第五步,當SI得到組密鑰kg,它就通知NSM。第六步,當NSM接收到所有安全成員SNIa和SNIc的通知后,NSM釋放通信。SNIa和SNIc得到的密鑰kg,可以用來對稱加密數(shù)據(jù)。
2.3 GCM認證加密
GCM是一種在二元Galois域使用泛散列函數(shù)提供加密認證的分組密碼算法,它可以用一個簡單的密鑰產(chǎn)生密文和消息摘要。由于其采用CTR模式實現(xiàn)加密,采用Galois域的泛HASH函數(shù)進行認證,其硬件實現(xiàn)上具有低成本、低延時和高速率的特點。GCM算法包括AES和GHASH,AES可以用來加密數(shù)據(jù),GHASH可以為附加認證數(shù)據(jù)提供認證。
GCM的硬件實現(xiàn)結構如圖6所示。為了實現(xiàn)這個結構,采用128 bit的AES加密模塊。數(shù)據(jù)包中的每個數(shù)據(jù)也是128 bit,并且數(shù)據(jù)的個數(shù)是固定的。認證標簽也被固定在128 bit,這可以提供更好的安全性。在GCM中,128 bit的AES加密模塊可以同時實現(xiàn)加解密功能。數(shù)據(jù)包頭中的源地址、目標地址等信息在傳輸過程是不變的,因此可以用來生成認證標簽。這個結構的一個優(yōu)點是加解密操作是并行執(zhí)行的,所以當數(shù)據(jù)包中的第一個數(shù)據(jù)加密或解密后,就可以得到密文或明文。當加密或解密完成數(shù)據(jù)后,將會得到認證標簽。安全網(wǎng)絡接口SNI加密完成數(shù)據(jù)包中的數(shù)據(jù),并把認證標簽添加到數(shù)據(jù)包的最后,然后才把數(shù)據(jù)包發(fā)送給路由進行傳輸。數(shù)據(jù)包到達它的目標地址后,將會被GCM認證加密模塊處理。接收方的安全網(wǎng)絡接口解密每個數(shù)據(jù)并最終產(chǎn)生一個認證標簽。兩個認證標簽比較之后,安全網(wǎng)絡接口SNI將會發(fā)送一個認證狀態(tài)信息給IP核,依據(jù)這個信息,IP核將會決定接收還是拒絕這個數(shù)據(jù)包。
3 實驗結果
為了綜合評估該方案對性能的影響和資源消耗,本文在NoCem(Network on Chip emulator)平臺上實現(xiàn)整體方案。NoCem是一個基于VHDL語言的NoC開源仿真環(huán)境,它的數(shù)據(jù)位寬、拓撲結構虛擬通信的數(shù)量都是可配的。圖7所示為帶安全防護的NoC與一般的NoC數(shù)據(jù)包傳輸時間的對比??梢钥闯?,安全NoC傳輸數(shù)據(jù)包時額外增加的延時較少,安全模塊對系統(tǒng)性能的影響很小。
用Xilinx ISE14.2綜合工具對各硬件模塊進行了綜合,目標器件是Virtex-6。安全模塊消耗的資源與整個NoC消耗的資源對比情況如表1所示。從綜合結果可知,增加安全模塊并沒有造成明顯的資源開銷。
4 結束語
本文采用GCM認證加密算法對NoC傳輸?shù)拿舾袛?shù)據(jù)進行保護,保證數(shù)據(jù)的機密性和完整性。并且相比于已有使用固定的密鑰加密的方案[9],本文采用Diffie-Hellman密鑰交換協(xié)議有助于增強加密的安全性。仿真綜合結果表明,在不對性能和面積造成明顯影響的情況下,本文提出的方案有效提高了NoC的安全防護能力。由于認證加密會不可避免地增加了延時,為了進一步優(yōu)化性能,未來工作將研究如何優(yōu)化認證加密算法,盡可能提高NoC的帶寬。
參考文獻
[1] 李輝楷.基于片上網(wǎng)絡架構的安全存儲系統(tǒng)研究[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系統(tǒng)的VLSI設計[C].中國電子學會電路與系統(tǒng)學會第二十二屆年會.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,F(xiàn)LOREZ 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加密認證算法的研究與實現(xiàn)[D].北京:北京郵電大學,2010.
[7] SEPLVEDA J,F(xiàn)L?魷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.