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