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