《電子技術應用》
您所在的位置:首頁 > 通信與網(wǎng)絡 > 設計應用 > 基于認證加密的NoC安全防護研究
基于認證加密的NoC安全防護研究
2016年電子技術應用第7期
陳松濤,徐金甫,劉航天
解放軍信息工程大學,河南 鄭州450001
摘要: 片上網(wǎng)絡的敏感信息在傳輸過程中可能會遭到竊取,針對這一安全威脅,提出了基于認證加密的NoC安全防護技術。把執(zhí)行同一應用、需要交換敏感信息的IP核劃分在一個安全域內(nèi),安全域內(nèi)的IP核用Diffie-Hellman協(xié)議協(xié)商密鑰,密鑰協(xié)商完成以后,用GCM認證加密算法對攜帶敏感信息的數(shù)據(jù)包進行加密和認證運算,從而有效保護數(shù)據(jù)包的機密性和完整性。仿真綜合結果表明,該安全防護方案造成的傳輸延時小、資源消耗少,提高了NoC的安全性和可靠性。
中圖分類號: TN47;TP309.2
文獻標識碼: 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.
NoC security reserch based on authenticated ancryption
Chen Songtao,Xu Jinfu,Liu Hangtian
PLA Information Engineering University,Zhengzhou 450001,China
Abstract: Sensitive information during transmission on NoC may be extracted. In order to solve this security threat, NoC security technology based on authentication encryption is proposed. IP cores that execute the same application and need to exchange sensitive information are divided into one security domain. IP cores in the security domain use Diffie-Hellman protocol to negotiate key. After the key agreement is completed, GCM authenticated encryption algorithm is used to encrypt and authenticate the packets carrying sensitive information, so as to effectively protect the confidentiality and integrity of data packets. Simulation and synthesis results show that the transmission delay caused by safety protection scheme is small, and resource consumption is low, improving the safety and reliability of the NoC.
Key words : network on chip;security domain;Diffie-Hellman;authenticated encryption;Galois/Counter Mode

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核之間的通信需要保持機密性。wdz5-t1.gif

    方案的設計流程如圖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)以下情況時,安全域應該被修改。

wdz5-t2.gif

    (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ù)包的最后是認證標簽。

wdz5-t3.gif

    安全網(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é)商,認證加密模塊完成認證和加密操作。

wdz5-t4.gif

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ù)。

wdz5-t5.gif

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ù)包。

wdz5-t6.gif

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)性能的影響很小。

wdz5-t7.gif

    用Xilinx ISE14.2綜合工具對各硬件模塊進行了綜合,目標器件是Virtex-6。安全模塊消耗的資源與整個NoC消耗的資源對比情況如表1所示。從綜合結果可知,增加安全模塊并沒有造成明顯的資源開銷。

wdz5-b1.gif

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.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權禁止轉載。