《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 動態(tài)可信度量分析的硬件安全機制研究
動態(tài)可信度量分析的硬件安全機制研究
2015年電子技術應用第1期
周 驊,劉 橋
貴州大學 電子與信息學院,貴州 貴陽550025
摘要: 以可信計算理論為基礎,根據(jù)TCG組織的TPM1.2規(guī)范中對于信任鏈的構建中實現(xiàn)動態(tài)可信度量分析的描述,提出了一種基于FPGA動態(tài)可重構的動態(tài)可信度量分析實現(xiàn)DRTM的設計方法。并且通過建立基于ARM的嵌入式系統(tǒng)與FPGA結合的系統(tǒng)驗證平臺對設計進行了測試及分析,給出了相對應的測試系統(tǒng)。通過測試證明,基于FPGA動態(tài)可重構的DRTM設計對于TPM中構建動態(tài)信任鏈是一種有益的方法。
中圖分類號: TP391.9
文獻標識碼: A
文章編號: 0258-7998(2015)01-0115-03
Dynamic trusted measurement research with hardware security mechanisms
Zhou Hua,Liu Qiao
School of Electronic and Information, Guizhou University, Guiyang 550025,China
Abstract: In this paper, based on the theory of trusted computing, a trust chain building method with DRTM is proposed, which is described by the based TPM1.2 specification from the TCG organization and uses the dynamic reconfigurable FPGA. A verification platform is established through combining the ARM-based embedded systems and FPGA, which is used to test and verify the proposed design in this paper. The test proves that the DRTM design based on reconfigurable FPGA is a useful way to build dynamic trust chain for TPM.
Key words : trusted computing;DRTM;FPGA dynamic reconfigurable

 

0 引言

  針對計算機系統(tǒng)的安全問題,TCG組織發(fā)布了TPM1.1規(guī)范[1],該規(guī)范制定了靜態(tài)可信度量根(SRTM)的標準。然而使用SRTM的計算機系統(tǒng)存在以下安全隱患:(1)引導裝載程序(BootLoader)作為系統(tǒng)引導程序是整個平臺啟動的關鍵,但是其存在的一些漏洞使其容易受到攻擊[2];(2)針對BIOS的攻擊源于計算機生產廠家允許使用者對BIOS進行固件升級,這就給攻擊者創(chuàng)造了條件,通過BIOS實現(xiàn)對計算平臺的攻擊;(3)針對惡意重啟TPM的攻擊,通過重啟TPM,破壞其建立的信任鏈,實現(xiàn)攻擊的目的。

  為了彌補SRTM功能的不足,TCG發(fā)布了TPM1.2規(guī)范,該規(guī)范在TPM1.1的基礎上增加了平臺配置寄存器(PCR)以便能夠實現(xiàn)動態(tài)可信度量根(DRTM)?;赥PM1.2規(guī)范的DRTM由可信硬件出發(fā),同TPM一起構建起一個動態(tài)可信度量架構。TPM1.2規(guī)范中新增的8個PCR可以在需要重新構建信任鏈時將信任鏈重置而不需要重啟整個平臺[3]。但是TPM1.2規(guī)范中只是定義了DRTM,而沒有給出具體的實現(xiàn)。

  本文基于TPM1.2規(guī)范中的DRTM,提出一種基于FPGA動態(tài)可重構技術的DRTM設計實現(xiàn)方法,同時基于嵌入式系統(tǒng)的計算環(huán)境對其進行驗證。

1 信任鏈的構建

  1.1 信任鏈的選擇

  基于TPM模塊構建可信計算的信任鏈是建立可信計算環(huán)境的核心,SRTM只在系統(tǒng)啟動時參與建立信任鏈,系統(tǒng)啟動完成后以及系統(tǒng)運行中不再對信任鏈進行評估。而DRTM可以在任意時刻重新構建信任鏈,這是與SRTM根本的區(qū)別,同時DRTM重構信任鏈時對系統(tǒng)的正常運行沒有影響。SRTM是BIOS軟件的一部分[4],而DRTM始于CPU的安全指令跟BIOS無關,因此可以避免針對BIOS的攻擊,同時基于DRTM的信任鏈也能夠保證BootLoader的可信。因此基于DRTM的可信計算度量是真正意義上的完整性度量,為可信計算平臺建立了堅實可信的信任鏈。

  TCG的信任鏈中可信度量根(CRTM)是在TPM之外存在于BIOS中的第一個軟件模塊, TPM有3個可信根:度量可信根RTM(a Root of Trust for Measurement)、報告可信根RTR(a Root of Trust for Reporting)和存儲可信根RTS(a Root of Trust for Storage)?;谲浖目尚哦攘扛菀妆还?,而硬件則不容易被篡改,如果將RTM、RTS以及RTR全部集成在TPM芯片中,可以避免遭到軟件攻擊,提高平臺安全性[5],國內也有針對這方面的相關內容研究[6-7]。本文基于上述分析給出基于硬件實現(xiàn)CRTM的方案,其基本結構如圖1所示。

001.jpg

  基于這種結構的信任鏈的可靠性得到很大的提高,但是RTM、RTS以及RTR全部集成在TPM芯片中,硬件資源負擔較重,并且需要對現(xiàn)有計算平臺的系統(tǒng)結構重新設計,成本較高。為實現(xiàn)安全可靠且節(jié)約硬件成本開銷的目的,采用加入第三方度量模塊,即使用FPGA動態(tài)可重構技術來實現(xiàn)CRTM。FPGA既是硬件同時又可以利用軟件編程的方式來配置其內部結構,實現(xiàn)硬件的可編程能力,而基于FPGA的動態(tài)可重構技術可以在不重啟系統(tǒng)的情況下改變其硬件配置結構,完全適合這里的需求。本文使用星形動態(tài)信任鏈結構,信任鏈結構如圖2所示。

002.jpg

  1.2 動態(tài)信任鏈的模型

  對于信任鏈模型的建立需要考量兩方面:(1)對應用程序的動態(tài)行為進行行為建模;(2)判斷建模后該應用程序的行為是否以所期望的方式朝著預期目標發(fā)展。這里提出了一種基于DRTM的完整性度量模型(Dynamic Integrity Measurement Model,DIMM)。DIMM采用度量代理,在加載應用程序后對運行的進程進行實時的監(jiān)控,以完成真正意義上的動態(tài)度量。

  根據(jù)進程所產生的行為是否對系統(tǒng)的完整性造成破壞,分為觀察行為和修改行為。DIMM將進程分為可信、可疑、攻擊三類:針對修改行為進行判斷,如果進程可信,則在該進程執(zhí)行完畢之后更新完整性基準庫和安全策略;如果不能確定為可信進程,則進行隔離;對于攻擊性的進程則立即停止其運行。DIMM構架如圖3所示。

003.jpg

  應用程序在載入時,首先要通過度量模塊度量其完整性,然后將結果與標準值相比較,如果相同,則其得到信任并且獲得控制權。針對修改的進程,度量代理將該進程交給以下四個模塊進行完整的動態(tài)度量:判定模塊依據(jù)制定的安全策略判定該進程是否被許可,并進一步判定是否可信;度量模塊的作用是針對進程展開完整性度量;核實模塊檢測系統(tǒng)的完整性是否遭到破壞;隔離模塊將異常進程隔離起來以免影響正常的系統(tǒng)進程。

2 設計及驗證

  2.1 基于FPGA的動態(tài)可重構

  基于DRTM的動態(tài)可信度量分析需要在系統(tǒng)運行時能夠根據(jù)需要重建信任鏈并且又不影響系統(tǒng)的運行,這里采用FPGA的動態(tài)可重構技術來實現(xiàn)。動態(tài)可重構技術是指擁有特殊結構的FPGA,使用SRAM編程技術,在特殊情況下能夠實現(xiàn)電路的功能和邏輯結構進行重新配置的特性。FPGA動態(tài)可重構技術本質是對FPGA的內部結構或者邏輯連接進行部分或者整體的更新,這些更新的運行是實時的,并且不會影響到整個系統(tǒng)的正常運行。

  2.2 系統(tǒng)搭建


004.jpg

  根據(jù)動態(tài)信任鏈的構建方式,基于ARM嵌入式系統(tǒng)及可重構FPGA搭建了一個系統(tǒng)驗證平臺,其架構如圖4所示。系統(tǒng)上電后,控制權首先掌握在FPGA手中,F(xiàn)PGA將ARM復位,阻止其與其他設備的通信并啟動TPM,然后將指令發(fā)送給TPM并調用SHA-1算法;TPM啟動之后其PCR[0]內會獲得一段摘要值,F(xiàn)PGA將這段值與存儲在片內的標準值進行比對,如果不相同則平臺將不會被啟動,并且會更新存儲日志,否則將繼續(xù)對系統(tǒng)變量進行度量。若FPGA獲得摘要值均可信,則FPGA將平臺控制權移交給ARM。

  ARM啟動后加載BootLoader,初始化各種外設并且調用代碼度量模塊。度量模塊調用SHA-1算法,并且將擴展值存儲在PCR[4]中,F(xiàn)PGA再次進行比對,只有度量值和標準庫的值一樣時,F(xiàn)PGA才正式將控制權交給ARM,然后才正式啟動系統(tǒng)內核?;贔PGA的系統(tǒng)整體結構如圖5所示。

005.jpg

  其中CM模塊是整個系統(tǒng)的核心,該模塊負責控制其他模塊的運行,因此對該模塊的穩(wěn)定性要求很高,這里使用有限狀態(tài)機來實現(xiàn)CM模塊的設計。針對CM狀態(tài)機進行仿真的時序波形如圖6所示。

006.jpg

3 測試及分析

  本文算法部分采用Xilinx公司的Virtex-5系列FPGA進行驗證,運用AES算法對DRTM中的重要數(shù)據(jù)進行加密。通過對密鑰、明文和密文進行測試,圖7為仿真結果。

007.jpg

  針對建立的DRTM的測試從以下幾個方面進行:(1)DRTM是否可以正常運行;(2)模擬各種類型的攻擊,測試DRTM抵御攻擊的能力;(3)添加有DRTM模塊的可信驗證平臺比未安裝的優(yōu)勢在哪里。通過搭建測試平臺,分別模擬針對TPM命令、標準庫、引導程序、內核與根文件的攻擊,對應這些攻擊的日志返回值分別為:0x00、0x01、0x02、0x03和0x04,如果正常啟動則返回0xaa。

  測試流程包括:打開TPM命令,將原文的第二個字節(jié)改為不同的值;將修改后的命令文件加載到NAND Flash中,然后重啟系統(tǒng);下載不含CM模塊的程序到FPGA內,然后重啟系統(tǒng);將未修改的TPM命令文件和完整的FPGA程序下載到對應芯片中,然后重啟系統(tǒng)。

  通過測試,添加DRTM模塊的平臺啟動后有著較好的抵御攻擊的能力,這種能力主要體現(xiàn)在:在保證平臺安全啟動的同時,將動態(tài)度量延伸到程序加載之后對進程的度量,這就實現(xiàn)了實時的動態(tài)可信度量分析。

4 結束語

  通過模擬攻擊實驗可以發(fā)現(xiàn),添加有DRTM系列模塊的可信驗證平臺有著很好的抵御攻擊的能力;可信計算驗證平臺的啟動時間比普通平臺慢3 s左右,這個時間不會對平臺的使用者產生明顯的影響。本系統(tǒng)在保證平臺安全啟動的同時,將動態(tài)度量延伸到程序加載之后的階段,達到了預期目標。

參考文獻

  [1] HOFMANN O,DUNN A,KIM S.Ensuring operating system

  kernel integrity with OSck[C].Proceeding of the 16th Inter-

  national Conference on Architectural Sup- port for Progra-

  mming Languages and Operating Systems,2011:164-177.

  [2] Feng Dengguo,Qin Yu.A property-based attestation pro-tocol for TCM[J].Science China(Information Sciences),2010(3):243-255.

  [3] AZAB A M,Peng Ning,SEZER E C.HIMA:a hypervisor-based integrity measurement agent[C].Proceedings of the 2009 Annual Computer Security Application Conference,2010:1356-1360.

  [4] Xu Ziyao,He Yeping,Deng Lingli.An integrity assurance mechanism for run-time programs[C].Lecture Notes in Computer Science,2009:45-53.

  [5] 詹靜,張煥國,徐卜偉,等.基于狀態(tài)機理論的可信平臺模塊測試研究[J].武漢大學學報(信息學版),2008,33(10):1067-1069.

  [6] 蘇培培,劉寶明.基于國產處理器的可信系統(tǒng)研究與實現(xiàn)[J].電子技術應用,2012,38(1):136-138.

  [7] 倪樂,戴紫彬,楊同杰,等.可重構雙基雙域模乘器設計與實現(xiàn)[J].電子應用技術,2012,38(10):136-139.


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