文獻標識碼: 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.