本篇文章是由《中國電機工程學報》(旬刊)國家一級學報,國內外公開發行,全國中文核心期刊。主要出版動力和電力工程領域的新理論、新方法、新技術和新成果。主要服務對象是電力工業和電工制造領域的廣大科技工作者、高級工程技術人員和高等院校師生。
1 引言
可信計算平臺技術已成為信息安全領域中的研究熱點,可信證明(Remote attestation)是可信計算平臺的一個重要內容。目前TCG 發布的遠程認證機制是Privacy CA 和DAA,它們都是基于TPM 身份公鑰AIK(Attestation Identity Key)和反映可信平臺事件記錄的順序的PCR(Platform Configuration Register)。Frederic Stumpf 等人改進了這種基于二進制的認證方案,提出了一種魯棒的完整性報告協議(Robust Integrity Reporting Protocol)可以有效的驗證遠程可信平臺;但基于二進制的認證方案被證明是有其固定缺陷的,Vivek Haldar等人提出的基于虛擬機的遠程語義認證可以驗證遠程客戶機的程序是否真正安全,這種動態的認證方案可以解決二進制認證方案的缺陷, 由于把測試程序的虛擬機放在客戶端,中間網絡的不可靠性使得驗證結果并不是可信的,Liqiang Zhang等人將此工作更進一步,用TPM和密鑰來監視虛擬機的接入,這樣可以保證程序執行結果的可信。然而認證過的程序要一直認證,這樣認證的效率是可想而知的。對于客戶端和服務器這樣機制是不適合的,因為把虛擬機放在客戶端,驗證過程必定增加了大量的數據流量,這給服務器帶來額外的負擔,這是個致命的缺陷。本文正是出于對這些不足的考慮,改進前人的認證方案,提出在客戶端和服務器這種特定結構上程序的可信認證,并通過實驗對Web 服務器上的程序進行具體的認證,實驗結果表明認證結果是可信的且提高了認證效率。
本文組織如下:第二節介紹可信計算的傳統認證機制;第三節討論引入虛擬機概念的可信計算認證;第四節提出服務器上對客戶端程序的認證。第五節對所做的工作進行總結;第六節對與本文相關的工作進行了介紹。了解SLA網絡拓撲顯示論文。
2 可信傳統遠程認證機制
2.1 TCG 簡介TCG 是由包括Intel、微軟、IBM 在內的業界大公司在1999 年牽頭成立,現有近200個公司相繼加入。TCG 的目標是建立并推廣一個開放的、與廠商無關的可信計算構建塊的工業標準和一套跨平臺的軟件接口。
在 TCG 規范中,可信計算平臺技術的核心是一個被稱為TPM(可信平臺模塊)的安全芯片,TPM 具有硬件保護支持功能,即對TPM 內部對象的訪問只能通過TPM 規定的接口實現,并且這些對象只能被其屬主(Owner)通過安全方式訪問。
TCG 認為如果從一個初始的任信根 (Roots of Trust,RT)出發,在平臺計算環境每一次轉換時,這種信任狀態可以通過傳遞的方式保持下去而不被破壞,那么平臺計算環境始終是可信的,可信環境下的各種操作也不會破壞平臺的可信性,平臺本身的完整性得到保證,終端安全自然也得到了保證,這就是信任鏈的傳遞機制。
TCG 規定在建立用戶級進程時,內核將度量其可執行代碼和敏感數據,這些度量值被存儲在PCR(Platform Configuration Register)寄存器和存儲度量日志SML(Stored MeasurementLog)中,每個PCR 可以被定義只與計算平臺的某一類系統特定事件狀態相關。每次相關事件發生時,計算平臺將事件記錄結果保存,并將記錄結果的Hash 值擴充到TPM 中事件對應的PCR 中。將Hash 值擴充到PCR[n]中的過程為PCR[n]=hash(PCR[n]+R)。顯然,PCR值與事件歷史過程相關,并與事件記錄的順序有關,因此它的值實際反映了事件發生的歷史順序。每個計算平臺都通過其內置的TPM 身份公鑰AIK(Attestation Identity Key)標識自己的身份,并利用其AIK 私鑰對消息內容簽名,證明其來源。
2.2 基于二進制的認證—TCG
發布的認證方案目前 TCG 發布的遠程認證方案包括Privacy CA(Privacy Certification Authority)和直接匿名認證DAA(Direct Anonymous Attestation),都是基于二進制的認證方案。它們都是基于把平臺的現在的狀態報告給遠程平臺,每個計算平臺都通過其TPM 身份公鑰AIK 來標示自己,如有必要,存儲度量日志SML(Stored Measurement Log)也用來驗證平臺是否可信。
Privacy CA 是通過可信的第三方來驗證自己,首先平臺向可信第三方發送自己的AIK,可信第三方驗證后發回簽名的AIK;然后平臺通過自己的AIK 和簽名的AIK 向遠程平臺來證明自己。
DAA 則不需要可信的第三方,并可以給同一個TPM 產生不同的AIK,DAA 還引入了時戳標示。基于二進制的認證方案主要有以下一些缺陷:(1)可擴展性差,(2)對隱私的暴露,(3)缺乏開放性,(4)可能有大量的配置信息的存在,(5)由于時戳標示并不能保證執行的實時性,因此在完整性度量值和完整性報告之間可能有較大的時間差異。
2.3 基于屬性的認證
為了克服二進制認證的缺點,A.R.Sadeghi 等人提出的基于屬性的證明(property-basedattestation,PBA)方法是一種更加有效且靈活的遠程證明解決方案,PBA 方法試圖解決平臺配置信息暴露以及系統更新和備份問題。這里的屬性是針對特定需要的平臺行為的表現,每種屬性對應多種平臺配置信息,從而避免了具體平臺配置信息的直接暴露。在此基礎上L.Chen 等人提出了一個基于屬性證書的證明協議,每種屬性以及其對應的每種配置信息對應一個屬性配置證書(Property Configuration Certificates),由一個可信的第三方CA 負責管理和發布。這種證明協議仍然使用大量零知識證明實現屬性的驗證,運算復雜度較高。
這里所說的屬性描述了底層對象(平臺或應用)關于特定需求的行為的某個方面(如,安全相關的需求)。通常,屬性具有不同抽象層次。例如,用平臺屬性描述平臺可以保護隱私。可以描述為,平臺具有內建的符合隱私條例的度量,或平臺可以保證孤立性(如,將每個處理器嚴格的分開),也可以描述為平臺提供多層安全(Multi-Level Security,MLS)等。
是否具有合理的屬性集,主要由用例和需求決定。認證屬性的優勢是不同的平臺,可以提供相同的屬性并且滿足相同的需求,盡管他們使用不同的構件且配置不同。進行屬性認證之前,應該先確定安全屬性。
2.4 傳統認證的缺陷
不論是基于二進制的還是屬性的認證都不能保證遠程平臺的程序在語義層是安全的,即程序的行為是不是安全的;同時它們都是一次是認證,不能動態的認證遠程實體程序的具體執行狀態和結果。
3 基于虛擬機的可信認證
為了從更高的語義層去動態的認證遠程的程序,克服傳統認證方案無法動態的認證程序和一次認證的缺陷,Seshadri 等人提出Pioneer 系統[6],Pioneer 系統提出一種軟件的認證,可以對遠程代碼進行認證,它的核心組成部分是一個運行在遠程系統上的校驗和功能(函數)。Pioneer 系統通過檢查回應時間來防止潛在的攻擊,如果回應時間在一個給定的范圍內則認為回應是可信的。Vivek Haldar 等人將Pioneer 的核心組成部分--校驗和功能(函數)改進為可信的虛擬機,讓遠程的代碼在自己的可信虛擬機上運行得到結果后由認證方來確定結果的可信與否。這種基于虛擬機的認證,比Pioneer 系統的認證結果更可信,文獻提出了語義遠程認證,這也是一種綜合認證方案。先由TPM 對虛擬機進行認證,這里的虛擬機是基于語言的虛擬機,如JVM,然后虛擬機對高層程序的語義屬性進行認證。
在這里要提到的Tal Garfinkel 等人提出的Terra 系統,此系統在可信虛擬監視器上建立多個不同健壯性的虛擬機,把不同的應用運行在不同的虛擬機上。它把虛擬機分為“開放的盒子”虛擬機和“關閉的盒子”虛擬機,在“關閉的盒子”虛擬機上運行可信的操作系統,在此系統上運行特定的應用;“開放的盒子”上運行簡單應用。Terra 系統被證明是一個成功的運用虛擬監視器上的體系結構。
4 可信客戶端程序的認證
4.1 引入過濾機制的虛擬認證
方案虛擬的可信認證能夠有效的提高認證的可信性,并能在一定程度上提高認證的效率,但它仍然存在不足之處。就文獻[7]中Vivek Haldar 等人的認證策略而言,把可信的虛擬機放在客戶端,不能很好的防止中間人攻擊,同時認證過程占用了不少寶貴的網絡帶寬;此認證不夠靈活,對每個遠程的程序都要進行認證,對于特定的服務器來說,有些程序基本上是不可能存在危險,如訪問公共的只讀網頁數據的程序。
在 Vivek Haldar 等人研究的基礎上,結合屬性認證的思想和服務器的特殊要求,對前人的認證方案改進,改進后的方案。
此認證系統是針對服務器的特點而進行的改進,因為特定的服務器它的程序大部分是一類的,比如一個Web 服務器,訪問它的程序大多數是讀數據程序;同時對于服務器而言帶寬是很重要的資源,把可信虛擬機放在客戶端顯然不合適。認證過濾器是負責認證的關鍵部分,通過它可以動態的確定哪些程序的行為不用認證,哪些程序的行為需要認證。這樣認證過濾器的過濾策略就顯得至關重要。
針對有些大型服務器,可能承載很多不同的服務,在此借鑒Terra 的系統設計思想,把可信虛擬機分為多個不同的虛擬機,不同的服務用不同的虛擬機來認證在它上運行的程序,同時不同的虛擬機有不同的認證過濾器,這種認證策略更靈活,認證的效率將明顯提高。此認證系統的認證結構。
4.2 Web 服務器上認證的實現
實驗設計把服務器確定為具體的小型Web 服務器,針對WEB 服務器的特性設計具體的認證過濾器和認證策略,首先把服務器上的程序進行如下分類:1.可執行程序;2.讀數據程序;3.寫數據程序;4.修改配置程序;5.其它程序。再把服務器上的數據分為公開數據和保密數據。接著給用戶設定不同的用戶權限。
用戶的程序到達服務器端后,先經過過濾器中的程序分類器把程序進行分類,分類后的程序類別加上用戶名和程序的HASH 值在程序信任表里查找,若程序信任表有此信息,則可直接訪問服務器,若無此信息把程序送到可信虛擬機上進行行為認證,若可信則讓其訪問服務器,并在過濾器上為此程序建立三元組加入到程序信任表中。具體的認證過程。
實驗采用 Tomcat 服務器,把本機上運行的虛擬機作為可信的虛擬機。對其上運行的程序進行認證,對服務器上第一次運行的100 個不同程序進行認證,先認為其行為是可信的,為它們建立程序信任表花費的時間為20 秒,平均每個0.5 秒。接著再把這100 個不同程序進行認證,查找程序是否在程序信任表里花費的時間為3 秒,平均每個0.03 秒,相對于網絡延遲來說這個時間在可以忽略的范圍內。本計算機職稱論文來源于專業的職稱論文網,如有業務需求請咨詢網站客服人員!
5 結論
與相關工作計算機可信平臺是未來計算機發展的方向,網絡在現代生活中扮演越來越重要的角色,可信平臺的遠程認證則必然將是研究的熱點。能夠從程序的行為上認證程序的語義認證無疑能夠使認證結果更可信。本文提出的認證體系結構,結合服務器的特點和語義認證的優點,對傳統的認證做出了改進,認證效率和認證的策略上還有待改進。
論文指導 >
SCI期刊推薦 >
論文常見問題 >
SCI常見問題 >