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