趙劍鋒, 史 崗中國科學(xué)院信息工程研究所 第五實驗室, 北京 中國 100093 中國科學(xué)院大學(xué), 北京 中國 100049
隨著計算機技術(shù)的發(fā)展, 人們享受著信息交流的便利, 網(wǎng)上交易的快捷, 電子支付的簡單。然而,在這些信息處理的過程中, 涉及許多重要的數(shù)據(jù),如銀行賬戶、密碼、隱私文件及個人信息等。這些信息都需要在計算機或手持設(shè)備中存儲、加工處理,然而來自己軟件、系統(tǒng)、芯片等諸多方面惡意攻擊的威脅, 導(dǎo)致信息安全難以得到保障[1-8]。
信息安全已經(jīng)影響到一個國家的政治、軍事、經(jīng)濟(jì)和文化等許多領(lǐng)域, 影響著人們?nèi)粘I畹姆椒矫婷?。信息安全問題已成為國家信息產(chǎn)業(yè)發(fā)展的一個瓶頸。眾所周知, 計算機系統(tǒng)是信息存儲和處理的重要工具, 而處理器是整個計算機系統(tǒng)或手持設(shè)備的核心。處理器的安全是系統(tǒng)安全的基礎(chǔ)。伴隨著攻擊技術(shù)的不斷更新, 信息安全的防護(hù)也逐漸從軟件向硬件過渡和轉(zhuǎn)移, 如在可信計算、工業(yè)控制、身份識別、加密通信、電子支付等許多領(lǐng)域, 都要用到安全處理器[9-15]。
針對處理器的攻擊方式主要包括物理攻擊、邏輯攻擊和應(yīng)用攻擊三種。
物理攻擊方法包括計時攻擊、故障攻擊、能量分析攻擊、電磁波攻擊、信息殘留、窮舉攻擊、反向工程、微探測技術(shù)、FIB(Focused Ion beam)攻擊、紫外線攻擊、背面成像技術(shù)、主動光探測技術(shù)、熱注入技術(shù)、冷凍探測。
例如, 早在1998年, 研究者M(jìn)arkus G. Kuhn針對一塊具有總線加密功能的安全微控制器芯片進(jìn)行了簡單的修改, 使其可以利用個人電腦對微控制器與外部存儲器之間的總線進(jìn)行監(jiān)聽和篡改。隨后通過觀察總線狀態(tài)與微控制器行為之間的關(guān)聯(lián), 成功地分析出了安全微控制器芯片的安全加密方式, 并獲取了微控制器芯片在安全存儲空間中經(jīng)過加密處理的數(shù)據(jù)明文。
邏輯攻擊分為緩沖區(qū)溢出、木馬和病毒攻擊、惡意程序攻擊、未授權(quán)程序裝載。
應(yīng)用攻擊分為密碼體系攻擊、軟件漏洞攻擊、固件攻擊等。
由于存在上述諸多威脅, 對安全處理器的研究變得十分重要, 也十分必要。
有關(guān)安全處理器的綜述主要有以下文獻(xiàn)。
就國外而言, 2002年, 文獻(xiàn)[16]在對網(wǎng)絡(luò)安全處理器研究的基礎(chǔ)上, 提出了一種新的 IPSec設(shè)計方案。隨后, 2003年, Esam Khan等人對網(wǎng)絡(luò)安全處理器的工作模式進(jìn)行了總結(jié), 分成三種, 即旁路模式、直通模式和集成安全模塊模式[17]。
2006年, R.Anderson等人總結(jié)了密碼處理器的詳細(xì)應(yīng)用, 以及密碼處理器遇到的威脅和攻擊: 入侵攻擊(利用電子設(shè)備直接對處理器進(jìn)行分析, 但是會破壞芯片), 半入侵攻擊(對芯片進(jìn)行分析, 但不破壞), 非入侵攻擊(如功耗分析)及遠(yuǎn)程攻擊(分析時序、協(xié)議、應(yīng)用程序接口)。另外提出了相應(yīng)的安全防范措施(如第三方認(rèn)證、形式化驗證等)[18]。
2009年, R. Kannavara 和 N. G. Bourbakis在綜述文章中論述了安全處理器模型; 并根據(jù)加密引擎與處理器的位置關(guān)系分為: 加密引擎在處理器上,加密引擎與處理器分離, 以及協(xié)處理器結(jié)構(gòu), 混合結(jié)構(gòu); 并對一些安全處理器進(jìn)行了量化總結(jié), 指出了安全處理器需要在安全性, 效率, 復(fù)雜性, 以及靈活性之間尋找平衡[10]。
2012年, 文獻(xiàn)[19]主要分析了對嵌入式處理器的攻擊: 硬件攻擊(如冷啟動攻擊、DMA火線攻擊、總線攻擊)和軟件攻擊(如緩沖區(qū)溢出攻擊、代碼注入攻擊)。另外, 總結(jié)了相應(yīng)的安全措施(如看門狗檢測、完整樹、存儲器加密), 并對各種方法進(jìn)行了相應(yīng)的對比研究。
2015年, 文獻(xiàn)[20]主要總結(jié)了各種加密算法, 如AES、DES、RSA在多核處理器上的應(yīng)用, 并對多核處理器上各種加密算法的性能進(jìn)行了分析。
就國內(nèi)而言, 2007年, 江南技術(shù)研究所的仲海梅和紀(jì)斌主要從以下幾個方面進(jìn)行了總結(jié): 安全處理器以功能IP為基礎(chǔ)的系統(tǒng)固件和電路綜合技術(shù)結(jié)合,處理器技術(shù)與安全技術(shù)為一體; 安全處理器的設(shè)計包括軟件與硬件的劃分、協(xié)同設(shè)計、協(xié)同仿真、電路綜合和布局布線等; 安全處理器的特征; 安全處理器的應(yīng)用等[11]。
2010年, 華中科技大學(xué)的霍文捷在博士論文中對2000年到2009年之間的典型安全處理器架構(gòu)進(jìn)行了總結(jié), 并分析了各個架構(gòu)的特點[12]。
2011年, 李超等人從安全處理器與網(wǎng)絡(luò)處理器之間相互位置進(jìn)行分類: 外置型、內(nèi)置型和集成型,并分析了它們的優(yōu)點和缺點; 討論了安全處理器的體系結(jié)構(gòu)[13]。
2014年, 清華大學(xué)的牛赟在博士論文中對網(wǎng)絡(luò)安全處理器進(jìn)行了綜述。討論了網(wǎng)絡(luò)安全處理器的架構(gòu), 工業(yè)界現(xiàn)狀, 學(xué)術(shù)界現(xiàn)狀, 并對網(wǎng)絡(luò)安全處理器的研究趨勢進(jìn)行了展望[21]。
2015年, 華北電力大學(xué)的楊帆在論文中對安全處理器的規(guī)范問題進(jìn)行了討論; 研究了安全處理器相關(guān)文獻(xiàn); 安全處理器采用的核心技術(shù)[14]等。
與以上綜述文獻(xiàn)相比, 本文的貢獻(xiàn)在于: 首次對通用處理器的架構(gòu)研究進(jìn)展做了總結(jié), 找出研究規(guī)律, 并對關(guān)鍵的架構(gòu)技術(shù)特點進(jìn)行了分析; 按照處理器的應(yīng)用場景進(jìn)行了重新分類: 通用安全處理器, 網(wǎng)絡(luò)安全處理器, 嵌入式安全處理器以及其他類安全處理器; 對于通用安全處理器, 網(wǎng)絡(luò)安全處理器, 嵌入式安全處理器及其他類安全處理器, 通過列舉典型案例, 揭示了安全處理器的演化過程;最后, 在展望部分提出了明確的研究課題, 對推動國內(nèi)安全處理器研究具有積極意義。
本文對安全處理器研究進(jìn)展情況進(jìn)行了總結(jié);對比了普通處理器與安全處理器的定義; 對安全處理器進(jìn)行了分類, 在每一類中, 給出典型的安全處理器案例, 分析了每類處理器的技術(shù)特點和不足之處; 最后, 總結(jié)全文, 并對安全處理器將來的研究做了分析與展望。
安全處理器與一般處理器不同。
一般處理器是指可以執(zhí)行計算和控制程序的邏輯芯片, 主要包括控制單元、運算單元、存儲單元和時鐘。運算單元是計算機對數(shù)據(jù)進(jìn)行加工處理的部件, 由算術(shù)邏輯部件、寄存器組和狀態(tài)寄存器組成。控制單元一般包括指令控制邏輯、時序控制邏輯、總線控制邏輯和中斷控制邏輯等幾部分。存儲單元主要是指處理器內(nèi)的指令緩存器和數(shù)據(jù)緩存器。
安全處理器除了具有一般處理器的功能和組成以外, 還要能夠防止物理攻擊、邏輯攻擊或應(yīng)用攻擊。
按照安全處理器的應(yīng)用場景可以分成四類: 通用安全處理器、網(wǎng)絡(luò)安全處理器、嵌入式安全處理器和其他類。下一小節(jié)通過列舉各類安全處理器的典型案例來揭示每類安全處理器的演化過程和特點。
3.1.1 單處理器架構(gòu)
在通用安全處理器中, 比較典型的是斯坦福大學(xué)的XOM安全處理器架構(gòu), 以XOM架構(gòu)為研究基礎(chǔ), 后續(xù)研究人員做了諸多改進(jìn)。
下面結(jié)合典型案例, 對這個系列安全處理器架構(gòu)的研究進(jìn)展做詳細(xì)的介紹。
2000年, 文獻(xiàn)[15]總結(jié)了內(nèi)存受到的威脅, 比如欺騙攻擊(spoofing attack), 重組、拼接攻擊(splicing attack), 重放、重演攻擊(replay attack), 相應(yīng)地介紹了目前內(nèi)存保護(hù)方面所采用的技術(shù), 如斯坦福大學(xué)提出的XOM(eXecute Only Memory)架構(gòu), 它用來保護(hù)數(shù)字版權(quán)問題。
XOM 在處理器內(nèi)部有加密引擎, 程序運行在相互獨立的存儲隔間內(nèi)(Compartment), 不同的數(shù)據(jù)屬于不同的隔間, 系統(tǒng)運行時不允許程序訪問其他隔間的數(shù)據(jù)[54]。下圖是XOM架構(gòu)示意圖。XOM上的軟件由軟件廠商進(jìn)行加密, 它只能運行在特定的處理器上。為了增加安全性并且提高性能, 根據(jù)對稱加密算法(處理速度相對快)和非對稱加密算法(處理速度相對慢)在性能上的不同, XOM使用了密鑰共享協(xié)議。首先, XOM 處理器芯片中存儲一對非對稱密鑰對(Kxom, Kp), 其中, Kxom為私鑰, Kp為對外公開的公鑰。應(yīng)用程序發(fā)布者使用自己的對稱密鑰Ks對程序加密生成相應(yīng)的密文, 然后通過用戶處理器公鑰 Kp來加密密鑰 Ks, 最后將程序密文和加密后的Ks一起發(fā)給用戶。系統(tǒng)運行此應(yīng)用軟件時, 先使用自己的私鑰Kxom來解密得到軟件密鑰Ks, 然后通過Ks來解密程序并運行。通過這種方法, 軟件發(fā)布者可以通過使用相應(yīng)的處理器公鑰Kp來加密Ks, 從而使得相應(yīng)的程序只能運行在特定的處理器上, 實現(xiàn)了對軟件版權(quán)的保護(hù)。
另外, XOM 還通過為流出處理器的數(shù)據(jù)附加MAC值來實施完整性保護(hù)。通過將地址合并計算在MAC中, XOM可以阻止攻擊者替換不同地址處的存儲器塊來破壞完整性。不過, XOM無法對抗重放攻擊。
圖1 XOM安全模型示意圖Figure 1 Schematic diagram of the XOM security model
2003年, 麻省理工學(xué)院人工智能實驗室的B.Grassend等人在XOM架構(gòu)的基礎(chǔ)上提出CHTree(Caches and Hash Trees)[23],它利用了Merkle樹的方法對存儲器中的程序或數(shù)據(jù)進(jìn)行完整性驗證。但是,這種方法對系統(tǒng)性能影響較大, 導(dǎo)致性能最少下降25%。另外, 文獻(xiàn)[31, 34, 37, 49]主要對CHTree方法進(jìn)行了研究和不同的改進(jìn)。
加州大學(xué)的J.Yang等研究人員研究了XOM的硬件實現(xiàn), 并進(jìn)行了改進(jìn), 提出了 OTP(One-Time-Pad)方法來保護(hù)外存數(shù)據(jù)的機密性。該方法優(yōu)點是提升加解密速度, 在原 XOM 基礎(chǔ)上,性能最大提升34.7%, 缺點是增加了存儲開銷[28,29]。文獻(xiàn)[32, 48]對OTP方式進(jìn)行了研究和改進(jìn)。
2003年, 該實驗室的G.E. Suh等人結(jié)合OTP[29]加密方式及 CHTree[23]校驗方式提出了 AEGIS (Architecture for Tamper-Evident and Tamper-Resistant Processing)架構(gòu), 它對內(nèi)存的數(shù)據(jù)提供了機密性和完整性保護(hù)[24]。它假定處理器和操作系統(tǒng)的部分內(nèi)核是安全的(Security Kernel)。它提供了兩種工作模式:TE(Tamper-Evident)和PTR(Private and authenticated Tamper-Resistant)。TE為系統(tǒng)數(shù)據(jù)提供了完整性保護(hù),確保軟件運行過程中能夠探測到對數(shù)據(jù)的篡改行為。PTR提供了對數(shù)據(jù)的完整性和機密性保護(hù)。AEGIS架構(gòu)如下圖2所示。
在Security Kernel中, AEGIS采用安全上下文管理器SCM(Secure Context Manager)來維護(hù)每一個進(jìn)程的相關(guān)安全信息。每條記錄如下表所示。
其中, SPID為安全進(jìn)程ID, 值為0時表示不受安全保護(hù)的普通進(jìn)程。H(Prog)表示相應(yīng)的哈希值。Regs代表相應(yīng)的寄存器及其值。Hmem用于完整性校驗。0/1表示該進(jìn)程的工作保護(hù)模式狀態(tài)(TE或 PTR)。Kstatic為對稱密鑰, 用于加解密應(yīng)用程序, 每個應(yīng)用程序都有一個唯一的 Kstatic, 在程序運行過程中保持不變。程序運行過程中產(chǎn)生的數(shù)據(jù)使用Kdynamic進(jìn)行加密, 不同會話產(chǎn)生的 Kdynamic是不同的, 在會話結(jié)束時該密鑰也就失效了。
圖2 AEGIS安全模型示意圖Figure 2 Schematic diagram of the AEGIS security model
表1 AEGIS的進(jìn)程安全條目[24]Table 1 AEGIS's process security entry [24]
AEGIS架構(gòu)不僅可以用于軟件版權(quán)保護(hù), 也可以用于認(rèn)證執(zhí)行和數(shù)字版權(quán)管理上, 但就機密性和完整性而言, AEGIS采用了直接塊加密和Hash樹校驗方法, 系統(tǒng)延遲開銷較大, 效率較低, 實用性不是很強。
Cerium[74]是 MIT(麻省理工學(xué)院)提出的另外一種可信處理器。它結(jié)合了XOM和AEGIS處理器優(yōu)點, 通過加密被保護(hù)進(jìn)程的地址空間來實現(xiàn)類似IBM4758中的認(rèn)證執(zhí)行。它不是采用硬件加密, 而是采用軟件方式來加密保護(hù)進(jìn)程。它將一個可信微內(nèi)核放入處理器內(nèi)部, 對被保護(hù)進(jìn)程地址空間的所有操作都會觸發(fā)這段微內(nèi)核代碼, 由它來處理加密地址空間。
2006年, C.Y. Yan等人在AES-GSM(AES-Galois/Counter Mode)基礎(chǔ)上, 對完整性檢驗方法做了改進(jìn),它采用了分段式計數(shù)器來實現(xiàn)時間戳[35]。AES-GSM[36]算法將數(shù)據(jù)的加解密和完整性驗證的時間延遲隱藏在系統(tǒng)訪存的過程中, 處理器在做完整性校驗時獲得了較好的性能, 這種性能的提升主要依靠AES-GSM算法。但是作者依然采用完整樹校驗方法, 所以影響性能的提升。
2006年, R. Elbaz等人提出了PE-ICE的加密認(rèn)證方式[38]。PE-ICE基于數(shù)據(jù)塊加密, 它的優(yōu)點在于做加密運算的同時, 進(jìn)行完整性計算, 從而大大提高處理器性能。它的缺點是完整性標(biāo)簽保存在片外存儲器,同樣有安全隱患。2007年, R. Elbza等在PC-ICE的基礎(chǔ)上提出了TEC-Tree方法[43]。TEC-Tree將節(jié)點認(rèn)證與完整樹更新過程并行處理, 提升了處理器性能。但是它只是一個理論模型, 沒有硬件實現(xiàn)和相應(yīng)的性能評估。文獻(xiàn)[63]對PE-ICE架構(gòu)進(jìn)行了研究和改進(jìn)。
2007年, W.D. Shi等人對存儲器加解密方式作了進(jìn)一步改進(jìn), 提出基于使用頻率的密文預(yù)測機制來提升解密的性能[41]。基本原理是: 在處理器內(nèi)設(shè)計一組頻率表, 用來記錄相應(yīng)的數(shù)據(jù)值的使用頻率, 并對使用頻率高的密文進(jìn)行快速緩存, 通過這種方式可以得到 10%至 20%的性能加速比, 不過這種方法是以增加硬件開銷為代價的。
圖3 Cerium系統(tǒng)結(jié)構(gòu)示意圖Figure 3 Schematic diagram of Cerium system structure
圖4 頻率預(yù)測表加密機制示意圖Figure 4 Schematic diagram of frequency prediction table encryption mechanism
2007年, B. Rogers等人提出了 BMT(Bonsai Merkle Tree)完整性校驗方法[42], 設(shè)計了一種與地址無關(guān)的加密方法。BMT并不對全部數(shù)據(jù)塊進(jìn)行加密,BMT只對加密用到的計數(shù)值進(jìn)行完整性校驗, 它不使用完整樹, 需要消耗額外的存儲空間, MAC值保存在片外, 安全程度不高。
以上所述的安全處理器的假設(shè)攻擊模型如下圖所示, 在該模型中, 認(rèn)為存儲器和I/O設(shè)備硬件部分容易受到攻擊。為了保護(hù)存儲器數(shù)據(jù)的機密性和完整性, 在處理器中加入了相應(yīng)的密碼運算和完整性運算等模塊。
現(xiàn)把與 XOM 架構(gòu)相關(guān)的安全處理器的特點列在表2中。
3.1.2 多處理器架構(gòu)
2004年, 喬治亞理工學(xué)院的W.D. Shi等研究人員提出了多處理器安全架構(gòu)來保護(hù)外存數(shù)據(jù)的機密性和完整性[23]。其架構(gòu)原理圖如下所示。
圖5 安全模型示意圖Figure 5 Schematic diagram of security model
表2 以XOM架構(gòu)為基礎(chǔ)的安全處理器特點分析Table 2 Analysis of the characteristics of security processor based on XOM architecture
2005年, Y.T. Zhang等人提出了SENSS(Security Enhancement to Symmetric Shared Memory Multiprocessor)架構(gòu)[33], 該架構(gòu)保護(hù)SMP下的緩存之間消息的安全傳輸及校驗。每個處理器擁有自己的L1和L2緩存, 所有的處理器通過總線共享內(nèi)存。其架構(gòu)如圖示。在SENSS架構(gòu)中, 每個處理器有唯一的公鑰對(Si,ti)i=0,1, …, n。軟件廠商利用對稱加密鑰k對程序進(jìn)行加密, 然后使用處理器的公鑰 Si對對稱密鑰進(jìn)行加密, 然后將程序密文和加密后的密鑰 k分發(fā)給系統(tǒng), 程序發(fā)布者可以指定特定的處理器來執(zhí)行程序。圖中顯示了應(yīng)用程序1使用處理器0、1、2來執(zhí)行, 而應(yīng)用程序2使用了處理器2到n來執(zhí)行, n表示處理器最大標(biāo)識(PID)。特定的處理器分成一組(group), 每組有唯一的標(biāo)識(GID)。
圖6 多處理器安全架構(gòu)示意圖Figure 6 Multi processor security architecture schematic
圖7 SENSS結(jié)構(gòu)示意圖Figure 7 Schematic diagram of SENSS structure
為了保護(hù)某組消息不被其他組篡改, SENSS為每個處理器配置了一個安全硬件單元 SHU(security hardware unit), 該單元只能由硬件來控制, 軟件層(應(yīng)用程序和操作系統(tǒng))無權(quán)訪問。
多處理器的安全假設(shè)與單處理器類似, 也是認(rèn)為存儲器易于受到攻擊, 為了保護(hù)存儲器數(shù)據(jù)的機密性和完整性, 每個處理器架構(gòu)與單處理器安全架構(gòu)類似, 不過, 由于是多處理器架構(gòu), 又增加了其他一些硬件開銷來管理或協(xié)調(diào)各個處理器之間的通信及數(shù)據(jù)傳輸。
網(wǎng)絡(luò)安全處理器是網(wǎng)絡(luò)安全設(shè)備的基礎(chǔ)核心器件, 它包括數(shù)據(jù)傳輸、安全協(xié)議處理和密碼運算三個部分, 其框架圖如下所示[21]。
網(wǎng)絡(luò)安全處理器經(jīng)歷了三個發(fā)展階段, 第一階段主要是實現(xiàn)密碼算法運算及認(rèn)證或密鑰交換算法,第一階段采用的網(wǎng)絡(luò)安全處理器架構(gòu)主要是通用處理器與ASIC相結(jié)合, ASIC實現(xiàn)密碼運算和協(xié)議處理;第二階段集成了安全協(xié)議處理和密碼運算功能, 第二階段采用網(wǎng)絡(luò)處理器與安全模塊相結(jié)合的結(jié)構(gòu),網(wǎng)絡(luò)處理器完成協(xié)議處理, 路由查找, 數(shù)據(jù)包調(diào)度功能, 安全模塊負(fù)責(zé)相應(yīng)的安全功能; 第三階段集成了高速數(shù)據(jù)傳輸模塊, 網(wǎng)絡(luò)安全處理器位于數(shù)據(jù)通路上, 這個階段網(wǎng)絡(luò)安全處理器采用SoC結(jié)構(gòu), 由數(shù)據(jù)傳輸模塊、安全協(xié)議處理和密碼運算三部分組成[21]。
比較典型的案例如下所述。
2002年, M. McLoone和J.V.McCanny提出了基于IPsec的加密處理器[16]。如下圖所示, 該處理器中加入了 Rijindael加密算法邏輯電路, 以及HMAC-SHA-1認(rèn)證算法邏輯電路。
圖8 網(wǎng)絡(luò)安全處理器功能框架圖Figure 8 Network security processor functional framework diagram
圖9 IPSec加密核示意圖Figure 9 IPSec encrypted kernel schematic
就國內(nèi)網(wǎng)絡(luò)安全處理器研究而言, 處理器架構(gòu)基本上也是基于 IPsec, 主要是在這種架構(gòu)基礎(chǔ)上,通過增加安全協(xié)議、提高傳輸速率等手段來提高網(wǎng)絡(luò)安全處理器的安全性和整體性能[25,39,70,73]。典型案例如下所述。
例如, 2010年, 清華大學(xué)微電子學(xué)研究所的王海欣等人設(shè)計了高性能網(wǎng)絡(luò)安全處理器[56]。該處理器支持 IPsec、SSL/TLS網(wǎng)絡(luò)安全協(xié)議, 采用系統(tǒng)級流水線和雙路單向總線設(shè)計, 提高數(shù)據(jù)通路的傳輸速率, 緩解了總線仲裁和數(shù)據(jù)擁塞。
2014年, 文獻(xiàn)[21]研究并實現(xiàn)了單通道 10Gbps在線網(wǎng)絡(luò)安全處理器。它在分析 IPsec協(xié)議基礎(chǔ)上,采取基于流水線的交叉開關(guān)總線數(shù)據(jù)傳輸通路, 實現(xiàn)多模塊之間數(shù)據(jù)的同時傳輸。另外, 提出了一種密碼算法片外可擴展機制, 通過嵌入式CPU配置即可實現(xiàn)外片專用算法替換片內(nèi)通用算法的功能。
網(wǎng)絡(luò)安全處理器結(jié)構(gòu)相對來說比較單一, 現(xiàn)在主要采用SoC結(jié)構(gòu)來實現(xiàn), 數(shù)據(jù)傳輸采用DMA方式,IPSec協(xié)議一般由SoC內(nèi)部的CPU來完成, 另外, 有關(guān)密碼運算的功能由單獨的硬件模塊來實現(xiàn)[21]。
嵌入式安全處理器的架構(gòu)借鑒了通用安全處理器架構(gòu)的一些方法, 來保護(hù)數(shù)據(jù)的機密性和完整性[13,61],但也有不同之處。
比較典型的案例如下所述。
第一, TrustZone是ARM針對消費電子設(shè)備安全提出的一種安全系統(tǒng)架構(gòu)[51]
就處理器架構(gòu)而言, 每個物理的處理器核提供兩個虛擬核, 一個非安全核(Non-secure, NS)和一個安全核(secure), 非安全核與安全核之間的切換機制叫做monitor模式。非安全核只能訪問普通世界的系統(tǒng)資源, 而安全核能訪問所有資源。普通世界的軟件想進(jìn)入到monitor模式, 可以使用SMC指令或者通過硬件異常機制的一個子集實現(xiàn)。可以配置IRQ, FIQ,外部data abort, 外部prefetch abort這幾個異常進(jìn)入到monitor模式。下圖展示了這種切換方式。
圖10 TrustZone切換示意圖Figure 10 TrustZone switching schematic diagram
一般情況下, 如果普通世界的用戶模式需要獲取安全世界的服務(wù)時, 它要先進(jìn)入到普通世界的特權(quán)模式, 在該模式下調(diào)用 SMC, 那么處理器進(jìn)入到monitor模式, monitor模式備份保存普通世界的上下文, 隨后進(jìn)入到安全世界的特權(quán)模式, 此時的運行環(huán)境變成了安全世界的執(zhí)行環(huán)境, 然后再進(jìn)入到安全世界的用戶模式, 執(zhí)行相應(yīng)的安全服務(wù)。這里把安全世界的用戶模式和特權(quán)模式分離, 是因為通過特權(quán)模式中的執(zhí)行環(huán)境是系統(tǒng)級別的, 而用戶模式的安全服務(wù)是應(yīng)用級別的, 兩者的提供者通常是不同的。下圖是軟件架構(gòu)的展示。安全世界的執(zhí)行環(huán)境要管理用戶模式的服務(wù)和應(yīng)用, 并給它們提供編程接口。
圖11 TrustZone軟件架構(gòu)示意圖Figure 11 Schematic diagram of TrustZone software architecture
第二, 2009年, A. Rogers等人提出了一種嵌入式安全處理器架構(gòu)[52]。該架構(gòu)包括三個階段: 安全程序安裝, 安全載入和安全執(zhí)行。在安全安裝階段, 利用驗證架構(gòu), 對可執(zhí)行二進(jìn)制程序進(jìn)行修改, 產(chǎn)生一個安全的可執(zhí)行文件。安全載入為安全運行做準(zhǔn)備。在安全運行階段, 對執(zhí)行的程序進(jìn)行運行檢驗來保證完整性和機密性。這個架構(gòu)可以提供以下幾種模式: 程序無保護(hù)執(zhí)行模式, CIOM(Code Integrity Only Mode), CICM(Code Integrity and Confidentiality Mode), DIOM(Data Integrity Only Mode), DICM(Data Integrity and Confidentiality Mode),以及這幾種模式的組合。
第三, 防止側(cè)信道攻擊和惡意硬件電路的設(shè)計[59, 65]。
例如, 2014年, 文獻(xiàn)[66]提出了一種安全的不可克隆的嵌入式處理器設(shè)計。該處理器安全的前提是:機器碼與執(zhí)行環(huán)境之間要使用內(nèi)置在處理器中的PUFs進(jìn)行相互驗證。在該系統(tǒng)中, 指令在內(nèi)存中有兩種形式obfuscated和challenge word, obfuscated指令不能被處理器執(zhí)行, 要想被執(zhí)行, 需要把challenge word發(fā)送到PUF, 根據(jù)PUF的響應(yīng)(Response)再結(jié)合obfuscated指令恢復(fù)出正確的操作碼, 然后才可以執(zhí)行。
圖12 不可克隆嵌入式處理器結(jié)構(gòu)圖[62]Figure 12 Non-cloned embedded processor structure diagram [66]
第一種, 保護(hù)數(shù)據(jù)機密性和完整性, 防止側(cè)信道攻擊及功耗分析。比較典型的是在處理中加入各種加密算法模塊, 如橢圓曲線加密模塊, RSA加密模塊[26, 30, 40, 44-46, 54, 57, 60, 67-69]。
例如, 2015年, 文獻(xiàn)[68]提出了一種防止側(cè)信道攻擊的安全處理器架構(gòu)。它的原理是: 通過隨機調(diào)度器對每條指令的執(zhí)行做隨機延遲, 從而使每條指令的執(zhí)行功耗隨機化, 增加側(cè)信道功耗分析攻擊的難度。
第二種, 防止緩沖區(qū)溢出攻擊。例如, 2003年,普林斯頓大學(xué)的J.P. McGregor等人提出了一種針對緩沖區(qū)溢出攻擊的處理器架構(gòu)[22]。該處理器中增加了一個安全返回地址棧, 它可以提供內(nèi)置的、動態(tài)的保護(hù), 防止對返回地址進(jìn)行攻擊, 而且不需要用戶和應(yīng)用程序的干預(yù), 對性能幾乎不產(chǎn)生影響。
第三種, 防止硬件木馬攻擊。2009年, 文獻(xiàn)[50]提出: 在芯片中加入監(jiān)測和防御模塊, 包括傳感器、中央控制邏輯和信號控制單元等, 如下圖所示。其中信號探測(signal probe networks, SPN)模塊是可編程的, 實現(xiàn)了對正常電路信號進(jìn)行選擇采樣監(jiān)測; 安全監(jiān)視(security monitors, SM)模塊也是可編程的, 它負(fù)責(zé)分析 SPN送來的信號; 安全控制和處理模塊實現(xiàn)對SPN和SM模塊的重配置編程, 而配置數(shù)據(jù)則以加密的方式存放在安全FLASH中; 加密/解密模塊對存放在安全FLASH中的數(shù)據(jù)進(jìn)行加密和解密; 一旦監(jiān)測模塊發(fā)現(xiàn)異常, 信號控制模塊能提供相應(yīng)的應(yīng)對措施, 以防止危險的發(fā)生。
第四種, 讓程序安全執(zhí)行[53, 55, 58, 62, 64, 68, 71-72]。
例如, 2013年, 文獻(xiàn)[64]提出了一種檢測CPU操作碼的保護(hù)單元, 即PPU(processor protection unit)。如下圖所示。PPU檢查操作碼的合法性、操作碼執(zhí)行時鐘周期的合法性、有限狀態(tài)機的合法性及處理器內(nèi)部信號的合法性。通過檢驗操作碼的取值, 可以防止攻擊者在處理器中植入惡意的指令。有限狀態(tài)機的驗證可以防止攻擊者執(zhí)行非法行為的企圖。
圖13 包含信號探測與監(jiān)視模塊的芯片架構(gòu)Figure 13 Chip architecture with signal detection and monitoring modules
圖14 PPU保護(hù)示意圖Figure 14 Schematic diagram of PPU protection
還有, 文獻(xiàn)[72]提出了一種基于亂碼電路的GarbledCPU架構(gòu), 可以支持高級語言函數(shù)的安全運行。其架構(gòu)示意圖如下, Alice產(chǎn)生亂碼指令(Garbled instruction)和亂碼表(Garbled table), 通過 OT(Oblivious Transfer)發(fā)給Bob, Bob通過GarbledCPU,估算出亂碼輸出, Alice提供輸出映射(Output Map),Bob最終恢復(fù)出原始數(shù)據(jù)。
通過對安全處理器進(jìn)行分類、舉例, 以及特點分析, 可以總結(jié)出以下幾點結(jié)論。
圖15 GarbledCPU示意圖[68]Figure 15 GarbledCPU schematic diagram[68]
(1) 通用安全處理器的研究前提是假設(shè)外部存儲器易于受到攻擊, 為了保護(hù)外部存儲器數(shù)據(jù)的機密性、完整性, 從而在處理器中加入了相應(yīng)的密碼運算和完整性校驗?zāi)K。但是, 一旦加入加解密運算和完整性運算之后, 必然會導(dǎo)致系統(tǒng)性能下降, 所以,整個研究主線是圍繞如何在保證外部存儲器數(shù)據(jù)機密性、完整性的同時, 盡可能地降低對系統(tǒng)性能的影響。通用安全處理器中涉及的密碼算法主要有對稱加密算法 DES、AES, 以及非對稱加密算法 RSA、ECC等; 涉及的完整性校驗算法主要有Merkle樹完整性校驗, 以及對Merkle樹改進(jìn)的完整性校驗算法。研究的難點在于如何在保證外部存儲器數(shù)據(jù)機密性、完整性的同時, 花費盡量小的性能代價和硬件代價。另外, 有關(guān)多處理器安全架構(gòu), 其基本假設(shè)與單處理器類似, 也是為了保護(hù)存儲器數(shù)據(jù)的安全性,只不過處理器的個數(shù)增加, 從而使架構(gòu)變得更為復(fù)雜, 需要加入額外的硬件開銷來實現(xiàn)。
(2) 通過對網(wǎng)絡(luò)安全處理器的研究發(fā)現(xiàn), 在網(wǎng)絡(luò)安全處理器中, 實現(xiàn)網(wǎng)絡(luò)安全協(xié)議規(guī)范中有關(guān)密碼運算的部分一般采用硬件來實現(xiàn); 對于網(wǎng)絡(luò)安全協(xié)議的實現(xiàn)而言, 可以在軟件層面(通用軟件或操作系統(tǒng))實現(xiàn), 也可以用通用硬件來完成。網(wǎng)絡(luò)安全處理器的研究主要著眼于高性能密碼算法模塊的實現(xiàn),以及優(yōu)化硬件結(jié)構(gòu), 提高數(shù)據(jù)的吞吐率, 減小芯片面積。最近幾年, 基于IPSec的安全處理器主要集中在如何降低功耗、采用多核處理器及結(jié)構(gòu)可擴展的研究上。
(3) 嵌入式設(shè)備, 尤其是以手機為代表的手持嵌入式設(shè)備與人們的生活密切相關(guān), 在這些嵌入式設(shè)備中存儲著重要、敏感的數(shù)據(jù)信息, 如賬戶、密碼等。但是, 由于嵌入式設(shè)備易于獲取, 加上應(yīng)用環(huán)境復(fù)雜, 致使惡意攻擊者可以繞過軟件安全機制對嵌入式系統(tǒng)展開攻擊。事實上, 很多安全漏洞來自嵌入式底層硬件設(shè)計的不合理性以及疏漏, 如果攻擊者獲取了嵌入式設(shè)備, 則可以采用多種方式來獲取嵌入式設(shè)備上的有價值的信息。關(guān)于嵌入式安全處理器的研究, 一般先分析嵌入式處理器運行過程中面臨的潛在威脅, 根據(jù)威脅來針對性地提出嵌入式安全處理器架構(gòu), 同時要在成本、性能、功耗以及面積等因素之間進(jìn)行權(quán)衡。
(4) 有關(guān)其他類安全處理器, 基本上是與上述三類是相關(guān)的或相近的, 只不過為了解決特定問題而設(shè)計的, 如有的為了防止緩沖區(qū)溢出[22], 有的為了防止側(cè)信道攻擊[69,71]等。但是, 如果涉及數(shù)據(jù)機密性和完整性保護(hù), 則與其他三類安全處理器類似, 基本上要采用對稱加密算法、流密碼算法及非對稱加密算法等。這也是所有安全處理器的共同點(保護(hù)數(shù)據(jù)機密性和完整性)。
目前我國的高端、高檔處理器主要依賴進(jìn)口,對于那些應(yīng)用于國防系統(tǒng)、政府機構(gòu)、金融、交通等安全敏感領(lǐng)域的處理器來說, 供應(yīng)過程的不可控,使得在使用這些芯片時面臨極大的安全隱患: 攻擊者可以在設(shè)計或制造過程中往芯片中植入惡意硬件,這些惡意可能在將來某個時候被攻擊者觸發(fā), 也可能在某些情況下自行觸發(fā)。因此, 處理器的自主可控是信息安全的基石和保證。雖然我國在安全處理器上已經(jīng)展開了研究, 但剛剛起步, 還有很多工作要做。對于我們來說, 有如下幾個問題值得研究。
(1) 有關(guān)通用安全處理器的研究目前主要集中在對外部存儲器數(shù)據(jù)機密性和完整性保護(hù)上, 研究范圍相對較窄。雖然有少數(shù)針對緩沖區(qū)溢出攻擊、側(cè)信道攻擊的安全處理器, 但是研究尚未形成熱點。因此, 下一步的工作, 應(yīng)該在結(jié)合目前通用安全處理器架構(gòu)優(yōu)點的基礎(chǔ)上, 進(jìn)一步優(yōu)化性能, 在控制安全處理器功耗水平和芯片面積的基礎(chǔ)上, 逐漸增加更多、更難的功能, 另外, 要考慮加解密速度、靈活性及可配置性等性能。
(2) 關(guān)于網(wǎng)絡(luò)安全處理器, 主要研究方向為異質(zhì)多核、計算密集型的SoC數(shù)據(jù)流處理的研究, 例如,如何提高核的使用效率, 降低核的數(shù)量, 另外, 提高數(shù)據(jù)傳輸效率也是難點和挑戰(zhàn); 異質(zhì)多核 SoC的設(shè)計驗證問題也是值得研究的, 因為增加核的數(shù)量以后, 測試周期和測試向量都會急劇增加, 如何降低測試成本, 提高驗證效率, 這些都是新的研究課題。再者, 在網(wǎng)絡(luò)通信中要考慮到側(cè)信道信息泄漏的問題, 對抗側(cè)信道攻擊方法的研究是非常重要的, 也是十分必要的[21]。
(3) 嵌入式處理器在軍事、金融、通信、交通等許多安全敏感領(lǐng)域應(yīng)用廣泛, 所以對嵌入式安全處理器展開研究也是十分重要的。由于嵌入式處理器是針對某一特殊領(lǐng)域的需求設(shè)計的, 所以設(shè)計方要按照應(yīng)用環(huán)境的需求來對芯片做出規(guī)劃, 要保證成本最低、性能最優(yōu)。由此, 在嵌入式安全處理器研究中, 要考慮到加解密運算的延遲開銷, 帶寬開銷, 以及密鑰管理帶來的存儲開銷。與此同時, 功耗也是嵌入式系統(tǒng)的一項重要的性能指標(biāo), 在考慮安全的同時, 要考慮功耗開銷問題, 也就是說, 在設(shè)計嵌入式安全處理器時, 要把成本、性能、功耗和安全性全面客觀地權(quán)衡, 只有這樣, 才有可能設(shè)計出實用的嵌入式安全處理器[13]。
致謝 本文是在對安全處理器的調(diào)研基礎(chǔ)上完成的,通過對有安全處理器的文獻(xiàn)資料研究分析, 跟蹤安全處理器研究進(jìn)展情況。本文是在信息工程研究所第五研究室多位老師指導(dǎo)下完成的, 在此表示誠摯感謝。另外, 對于審稿專家的意見和建議, 表示衷心感謝!
[1] P. Jiang, D.J. Li. “Information countermeasure”.Tsinghua University press, Chinese People’s Public Security University press, pp.8-11. 2007(蔣平,李冬靜. “信息對抗”.清華大學(xué)出版社,中國人民公安大學(xué)出版社2007:8-11.)
[2] B.Kauer, OSLO: Improving the security of Trusted Computing,16th USENIX Security Symposium (Security’07), pp.229-237.2007.
[3] J.Winter. Trusted Computing Building Blocks for Embedded Linux-based ARM Trust Zone Platforms,Proceedings of the 3rd ACM workshop on Scalable trusted computing (STC'08), pp.21-30.2008.
[4] IBM, Microsoft, etc.Workshop on Advancing Computer Architecture Research (ACAR-II): Laying a New Foundation for IT,Computer Architecture for 2025 and beyond, pp.1-20, 2010.
[5] McAfee Corp. New Paradigm Shift: Comprehensive Security beyond the Operating System.White paper, pp.1-10, 2012.
[6] A.Sanjaya, Hardware Assisted Security: Anticipating Digital Threat and Challenges.FIRST TC 2012 IDF (TC’12), pp.1-10,2012.
[7] Ruby B. Lee. Hardware-Enhanced Security. Keynote,ACM CCS,2012.
[8] “EMET Technology”,.https://windowssecrets.com/top-story/protectingpcs-from-the-next-zero- day-threat/. Sept.2013.
[9] C. Shu, S.W. Li, W.J. Zhang and K.F. Feng. “Research of Networking Security Processor”.Journal of the Graduate School of the Chinese Academy of Sciences, vol.19, no.1, pp. 97-101,2002. (舒昶, 呂述望, 張文清, 馮凱鋒, 網(wǎng)絡(luò)安全處理器的研究[J].中國科學(xué)院研究生院學(xué)報, 2002, 19(1): 97-101 )
[10]R. Kannavara and N. G. Bourbakis, “Surveying secure Processor”.IEEE potentials, vol.28, no.1, pp.28-34, 2009.
[11]H.M. Zhong and B. Ji, “Research of security processor”.Computer & Information Technology, no.5, pp. 70-72, 2007. (仲海梅, 紀(jì)斌, 安全處理器的研究[J].計算機與信息技術(shù), 2007,5:70-72)
[12]W.J. Huo. “Research and Design of Secure Run-time Mechnasim for Embedded Processor [Ph.D.dissertation]” ,HuaZhong University of Science and Technology, 2010. (霍文捷. 嵌入式處理器安全運行機制的研究與設(shè)計[博士學(xué)位論文],華中科技大學(xué), 2010.)
[13]C. Li, M.L. Zhang, X. Yang, Y.J. Xu and Z.Y. Luo, “Status and Prospects of Security Processor Architecture”.Journal of Chinese Computer Systems, vol.32, no.10, pp.1942-1946, 2011. (李超,張美琳, 楊旭, 徐勇軍, 駱祖瑩, 安全處理器體系結(jié)構(gòu)的現(xiàn)狀與展望[J]. 小型微型計算機系統(tǒng), 2011, 32(10) : 1942-1946)
[14]F. Yang. “Research on Security Processor ”,North China Electric Power University, 2015. (楊帆. 安全處理器研究[碩士學(xué)位論文],華北電力大學(xué),2015.)
[15]D. Lie, C. Thekkath, M. Mitchell, P. Lincoln, D. Boneh, J. Mitchell and M. Horowitz. Architectural Support for Copy and Tamper Resistant Software.In Proceedings of the 9th International Conference on Architectural Support for Programming Languages and Operating System (ASPLOSIX’2000), pp.169-177, 2000.
[16]M. Mcloone and J.V. McCanny. A single-chip IPSEC cryptographic processor.Signal Processing Systems (SIPS’02),pp.133-138, 2002.
[17]E. Khan, M.W. El-Kharashi, A.N.M. Ehtesham Rafiq, F. Gebali and M. Abd-El-Barr. Network Processors for Communication Security : A Review.2003 IEEE Pacific Rim Conference on Communications, Computers and Signal Processing(PACRIM’03).pp. 173-176, 2003.
[18]R. Anderson, M. Bond, J. Clulow, and S. Skorobogatow.Cryptographic Processors-A Survey.Proceedings of the IEEE, vol.94, no.2, pp.357-369, 2006.
[19]A.K. Kanuparthi, R. Karri, G. Ormazabal and S.K. Addepalli. A Sruvey of Microarchitecture Support for Embedded Processor Security.2012 IEEE Computer Society Annual Symposium on VLSI(ISVLSI’12), pp.368-373, 2012.
[20]V. Jain, P. Sharma and S. Sharma. Cryptographic Algorithm on Multicore Processor : A Review.2015 International Conference on Advances in Computer Engineering and Applicatons(ICACEA’15), pp.241-244, 2015.
[21]Y.Niu. “Research and Implementation on Single Channel 10Gbps In-Line Network Security Processor[Ph.D.dissertation]” ,Tsinghua University, 2014.(牛赟. 單通道10Gbps在線網(wǎng)絡(luò)安全處理器設(shè)計研究與實現(xiàn)[博士學(xué)位論文],清華大學(xué),2014.)
[22]J.P. McGregor, D.K. Karig, Z. Shi and R.B. Lee. A processor architecture defense against buffer overflow attacks.Proceeding of Information Technology Research and Education(ITRE’03),pp.243-250, 2003.
[23]B. Grassend, G. E. Suh, D. Clarke, M.V. Dijk and S. Devadas.Caches and Hash Trees for Efficient Memory Integrity Verification.The 9th International Symposium on High- Performance Computer Architecture(HPCA’03), pp.295-306, 2003.
[24]G.Suh, D.Clarke, B.Gassend, M.dijk and S.Devadas. AEGIS:Architecture for Tamper-Evident and Tamper-Resistant Processing.In Proc. International Conference of Supercomputing (ICS’03),pp.160-171, 2003.
[25]Y. Zhang and Z.G. Sun. Research on the Architecture of the Nest Generation High-performance Network Security Processor Based on IPSec.Journal of National University of Defense Technology,no.2, pp.64-67, 2003. (張怡,孫志剛. 基于IPSec 的下一代高性能安全處理器的體系結(jié)構(gòu).國防科技大學(xué)學(xué)報[J]. 2003, 2:64-67.)
[26]H.Eberle, N. Gura, S.C. Shantz, V. Gupta and L. Rarick. A Public-key Cryptographic Processor for RSA and ECC.Proceeding of the 15th IEEE International Conference on Application-Specific Systems, Architectures and Processors (ASAP’04), pp.98-110,2004.
[27]W.D. Shi, H.H.S. Lee, M. Ghosh and C.H. Lu. Architectural Support for High Speed Protection of Memory Integrity and Confidentiality in Multiprocessor Systems.Proceedings of the 13th International Conference on Parallel Architecture and Compilation Techniques(PACT’04), pp.123-134, 2004.
[28]J. Yang, Y.T. Zhang and L. Gao. Fast Secure Processor for Inhibiting Software Privacy and Tampering. Proceedings of the 36thInternational Symposium on Micro architecture (MICRO’03),pp.351-360, 2003.
[29]J. Yang, L. Gao and Y.T. Zhang. Improving Memory Encryption Performance in Secure Processor. IEEE Transactions on Computer,vol.54, no.5, pp.630-640, 2005.
[30]R.B. Lee, P.C.S. Kwan, J.P. McGregor, J. Dwoskin and Z.H. Wang.Architecture for protecting Critical Secrets in Microprocessors.Proceedings of the 32nd International Symposium on Computer Architecture (ISCA’05), pp.2-13, 2005.
[31]G.E. Suh. AEGIS: A single-chip secure processor.Information Security Technical Report, vol.10, no.2, pp.63-73, 2005.
[32]W.D. Shi, H.S. Lee, M. Ghosh, C.H. Lu and A. Boldyreva. High Efficiency Counter Mode Security Architecture Via Prediction and Precomputation.Proceedings of the 32nd International Symposium on Computer Architecture (ISCA’05), pp.14-24, 2005.
[33]Y.T. Zhang, L. Gao, J. Yang, X.Y. Zhang and R. Gupta. SENSS:Security Enhancement to Symmetric Shared Memory Multiprocessors.Proceedings of the 11th International Symposium on High-Performance Computer Architecture (HPCA’05), pp.352-362, 2005.
[34]F.Y. Hou. “Research on Key Techniques of Memory System Data Confidentiality and Integrity Protection[Ph.D.dissertation]”,National University of Defense Technlology, 2005. (侯方勇. 存儲系統(tǒng)數(shù)據(jù)機密性與完整性保護(hù)的關(guān)鍵技術(shù)研究[博士學(xué)位論文],國防科技大學(xué),2005.)
[35]C.Y. Yan, B. Rogers, D. Englender, Y. Solihin and M. Prvulovic.Improving Cost, Performance, and Security of Memory Encryption and Authentication.Proceedings of the 33rd International Symposium on Computer Architecture(ISCA’06),pp.179-190, 2006.
[36]D.A. McGrew, J. Viega. The Security and Performance of the Galois/Counter Mode(GCM) of Operation.5th International Conference on Cryptology(CRYPT’05), pp.343-355, 2005.
[37]C.H. Lu, T. Zhang, W.D. Shi and H.S. Lee. M-TREE : A high efficiency security architecture for protecting integrity and privacy of software. Journal of Parallel and Distributed Computing, vol.66,no.9, pp.116-128, 2006.
[38]R. Elbaz, L. Torres, G. Sassatelli, P. Guillemin, M. Bardouillet and A. Martinez. A Parallized Way to Provide Data Encryption and Integrity Checking on a Processor-Memory Bus. Proceedings of the 43rd annual Design Automation Conference(DAC’06),pp.506-509, 2006.
[39]S.C. Ma. “Research and Design on Real-Time Digital Security Chip[Ph.D.dissertation]” ,Institue of Computing Technology Chinese Academy of Sciences, 2006.(馬士超. 實時數(shù)字安全處理器研究與設(shè)計[博士學(xué)位論文],中國科學(xué)院計算技術(shù)研究所,2006.)
[40]L. Liu, H.W. Zou and Y. Tang. Research and implementation of programmable security processor.Journal of Guangzhou University(Natural Science Edition), vol.5, no.4, pp. 54-57.(劉磊,鄒候文,唐屹. 一種可編程安全處理器體系結(jié)構(gòu)的研究與實現(xiàn).廣州大學(xué)學(xué)報(自然科學(xué)版)[J], 2006, 5(4) :54-57.)
[41]W.D. Shi and H.S. Lee. Accelerating Memory Decryption and Authentication with Frequent Value Prediction.Proceedings of the 4th International Conference on Computing Frontiers(CF’07).pp.35-46, 2007.
[42]B. Rogers, S. Chhabra, Y. Solihin and M. Prvulovic. Using Address Independent Seed Encryption and Bonsai Merke Trees to Make Secure Processors Os and Performance Friendly.Proceedings of the 40th Annual International Sysposium on Microarchitecture(MICRO’07). pp.183-196, 2007.
[43]R. Elbaz, D. Champagne, R.B. Lee, L. Torres, G. Sassatelli and P.Guillemin. TEC-Tree : A Low-Cost, Parallelizable Tree for Efficient Defense Against Memory Replay Attacks.Cryptographic Hardware and Embedded Systems. pp. 289-302,2007.
[44]R.H. Lu, X.Y. Zeng, J. Han, Y.H. Gu and L. Mai. Design and VLSI Implementation of an Application Specific Instruction Set Security Processor.Journal of Chinese Computer Systems. vol.28,no.9, pp.1724-1728, 2007. (陸榮華,曾曉洋,韓軍,顧葉華,麥浪. 專用指令集安全處理器設(shè)計與 VLSI實現(xiàn).小型微型計算機系統(tǒng)[J]. 2007, 28(9 ) :1724-1728.)
[45]L. Han, J. Han, X.Y. Zeng, R.H. Lu and J. Zhao. A programmable security processor for cryptography algorithms.9th International Conference on Solid-State and Integrated-Circuit Technology(ICSICT’08). pp.2144-2147, 2008.
[46]R. Kannavara, N.G. Bourbakis, A. Dollas and P. Athanas.SCAN-Secure Processor.2008 IEEE National Aerospace and Electronics Conference(INAEC’08). pp.219-224, 2008.
[47]R. Vaslin, G. Gogniat, J.P. Diguet, E. Wanderley and R. Tessier. A security approach for off-chip memory in embedded microprocessor systems.Microprocessors and Microsystems.vol.33, no.1, pp.37-45, 2009.
[48]A. Menezes, P.V. Oorschot and S.A. Vanstone. Handbook of Applied Cryptography.CRC Press, pp.23-45, 1996.
[49]J.A. Garay, V. Kolesnikov and R. Mclellan. MAC Precomputation with Application to Secure Memory. Information Security,no.5735, pp.427-442, 2009.
[50]M.Abramovici and P.Bradley, Integrated circuit security-new threats and solutions.Proceedings of the 5th Annual Cyber Security and Information Intelligence Research Workshop. 2009.
[51]ARM LIMITED. ARM Security Technology Building a Secure System using TrustZone Technology.ARM Publication, pp. 1-30,2009.
[52]A. Rogers and A. Milenkovic. Security extensions for integrity and confidentiality in embedded processors.Microprocessor &Microsystems. vol.33, no.5, pp.398-414, 2009.
[53]B. Xia, Y.H. Bai and Q.S. Zheng. Research and Implementation of a Security Processor Based on Embedded Systems. Journal of Zhongyuan University of Technology. vol.20, no.4, pp.19-21, 2009.(夏冰,白永紅,鄭秋生. 一種基于嵌入式系統(tǒng)的安全處理器研究與實現(xiàn).中原工學(xué)院學(xué)報[J]. 2009, 20(4): 19-21.)
[54]L. Han, J. Han, X.Y. Zeng, R.H. Lu and J. Zhao. Architecture Design and VLSI Implementation of an Application Specific Instruction Set Security Processor.Journal of Chinese Computer Systems. vol.30, no.4, pp.746-751, 2009. (韓林, 韓軍, 曾曉洋,陸榮華, 趙佳. 一種專用指令集安全處理器的架構(gòu)設(shè)計與VLSI實現(xiàn).小型微型計算機系統(tǒng)[J]. 2009, 30(4): 746-751.)
[55]A. Waksman and S. Sethumadhavan. Tamper Evident Microprocessors.2010 IEEE Symposium on Security and Privacy (SP’10),pp.173-188, 2010.
[56]H.X. Wang, G.Q. Bai and H.Y. Chen. Design of a high performance network security processor.Journal of Tsing hua University(Science & Technology).vol.50, no.1, pp.13-17, 2010. (王海欣,白國強,陳弘毅. 高性能網(wǎng)絡(luò)安全處理器的設(shè)計.清華大學(xué)學(xué)報(自然科學(xué)版)[J],2010, 50(1):13-17)
[57]J.M. Szefer, W. Zhang, Y.Y. Chen, D. Champagne, K. Chan, Will X.Y. Li, R.C.C. Cheung, R.B. Lee. Rapid-single-chip secure processor prototyping on the OpenSPARC FPGA platform.2011 22nd IEEE International Symposium on Rapid System Prototyping(RSP’11), pp.38-44, 2011.
[58]P. Williams and R. Boivie. CPU Support for Secure Executables.4th International Conference on Trust and Trustworthy Computing(TRUST’11), pp.172-187, 2011.
[59]S.A. Seyyedi, M. Kamal, H. Noori and S. Safari. Securing Embedded Processors against Power Analysis Based Side Channel Attacks Using Reconfigurable Architecture. 2011 IFIP 9thInternational Conference on Embedded and Ubiquitous Computing(EUC’11), pp.255-260, 2011.
[60]S. Wang, Y. Li, J.B. Liu, J. Han and X.Y. Zeng. A security processor based on MIPS 4KE architecture.2011 IEEE 9th International Conference on ASIC (ASICON’11), pp.751-754, 2011.
[61]R.J. Wang. “The Research of Architecture Design and Implementaion of Security SoC ”,PLA Information Engineering University, 2011.(王瑞蛟. 安全SoC體系結(jié)構(gòu)的設(shè)計與實現(xiàn)研究[碩士學(xué)位論文],解放軍信息工程大學(xué),2011.)
[62]C.F. Deng. “Research of Secure Processor Architecture Based on Stream Cipher”,Chongqing University, 2011.(鄧程方. 基于流密碼的安全處理器架構(gòu)研究[碩士學(xué)位論文],重慶大學(xué),2011.)
[63]S.Y. Cheng. Research on Memory Confidentiality and Integrity Protection Technology. Harbin Engineering University. 2012. (程順燚. 存儲器機密性完整性保護(hù)技術(shù)研究[碩士學(xué)位論文].哈爾濱工程大學(xué). 2012)
[64]D.Dubeuf and R. Karry, “Run-time detection of hardware Trojans:The processor protection unit,”IEEE Eur. Test Symp, pp. 156–161,May 2013.
[65]R. Karri. Securing Processors Against Insider Attacks: A Circuit-MicroArchitecture Co-Design Approach.IEEE Design & Test of Computer, vol.30, no.2, pp.35-44, 2013.
[66]J.X. Zheng, D.F. Li and M. Potkonjak. A Secure and unclonable embedded system using instruction-level PUF authentication.2014 24th International Conference on Field Programmable Logic and Applications (FPL’14), pp.1-4, 2014.
[67]C.H. Gebotys. Security-driven exploration of cryptography in DSP cores.15th international Symposium on System Synthesis(ISSS’02), pp.80-85, 2002.
[68]Z.Q. He, X.R. Deng, B.M. Yang, K. Dai and X.C. Zou. A SCA-resistant processor architecture based on random delay insertion.2015 International Conference on Computing and Communications Technologies(ICCCT’15).pp.278-281. 2015.
[69]W.W Shan, X.Y. Fu and Z.P. Xu. A Secure Reconfigurable Crypto IC with Countermeasures Against SPA, DPA and EMA.IEEE Tansactions on Computer-Aided Design of Integrated Circuits and Systems. vol.34. no.7, pp.1201-1205, 2015.
[70]N.L. Zhu, S.Y. Qu and Z.B. Dai. Design of a Network Security Processor for Terminal Devices.Microelectronics & Computer.vol.32, no.12, pp.80-84. (朱寧龍,曲思源,戴紫彬. 面向終端的網(wǎng)絡(luò)安全處理器體系結(jié)構(gòu)設(shè)計.微電子學(xué)與計算機[J]. 2015,32(12): 80-84.)
[71]D. Whelihan, K. Thurmer and M. Vai. A Key-centric Processor Architecture for Secure Computing.2016 IEEE InternationalSymposium on Hardware Oriented Security and Ttust(HOST’16),pp.173-178, 2016.
[72]E.M. Songhori, S. Zeitouni, G. Dessouky, T. Schneider, A.R.Sadehi and F. Koushanfar. GarbledCPU :A MIPS Processor for Secure Computation.2016 53nd Design Automation Conference(DAC’16), pp.1-6, 2016.
[73]J.X Guo, L.J. Wu, Y. Niu, Z.Q. Wang, W. Jia and C. Zhang. An IPSec Accelerator for Online Network Security Processor SoC.Microelectronics, vol.46, no.1, pp.90-94,2016.(郭金星,烏力吉,牛赟,王自強,賈雯,張春. 一種在線網(wǎng)絡(luò)安全處理器SoC的IPSec加速器.微電子學(xué)[J]. 2016, 46(1) :90-94.)
[74]B.CHEN and T. MORRIS. Certifying Program Execution with Secure Processors.9th Hot Topics in Operating Systems(HotOS’03). pp.1-15, 2003.