吳秋新
(北京信息科技大學(xué) 理學(xué)院,北京 100196)
可信計算技術(shù)通過硬件安全芯片為計算平臺提供一個相對安全的運行環(huán)境,進而加強各種計算設(shè)備的安全性。國際上,這種安全芯片主要以可信平臺模塊(TPM)為主,其由TCG組織[1]進行標(biāo)準(zhǔn)化制定和推廣,目前已經(jīng)被廣泛地部署在各種PC終端、筆記本電腦和服務(wù)器等計算設(shè)備上。國內(nèi)的可信計算標(biāo)準(zhǔn)[2]由國家密碼管理局進行制定,遵循標(biāo)準(zhǔn)的芯片被稱為可信密碼模塊(TCM)。
可信密碼模塊TCM是一個硬件安全芯片,其擁有受保護的屏蔽區(qū)域,如平臺配置寄存器PCR、獨立的內(nèi)存空間、非易失性存儲空間等,用來存儲一些秘密信息,TCM外部無法訪問和篡改這些秘密信息。TCM還提供各種可信計算命令,這些命令經(jīng)過授權(quán)后可以訪問TCM內(nèi)部的各種屏蔽區(qū)域,通過使用受保護的秘密信息來達到一定的安全和可信功能。TCM安全芯片和可信計算技術(shù)提供的功能可以總結(jié)為如下3類[2]:
1)平臺度量和報告。通過TCM芯片,計算平臺可以創(chuàng)建其完整性和配置狀態(tài)的報告,而且該報告可以被遠程驗證者信賴,用來證明一個計算平臺的可信狀態(tài)。
2)安全存儲。用戶進程可以使用受TCM保護的密鑰來加密需要保護的數(shù)據(jù),只有當(dāng)平臺狀態(tài)可信時,這些數(shù)據(jù)才能被解密。加密數(shù)據(jù)時,主要是通過TCM提供的命令將機密數(shù)據(jù)與表示平臺狀態(tài)的PCR值綁定在一起。解密數(shù)據(jù)時,只有當(dāng)前平臺狀態(tài)滿足PCR值時,才能獲取TCM內(nèi)部受硬件保護的解密密鑰,進而解密獲得機密數(shù)據(jù)。
3)平臺認(rèn)證。平臺可以通過TCM獲取能證明其身份的密鑰。通常使用平臺身份密鑰(Platform Identity Key,PIK),其私鑰安全存儲在TCM芯片內(nèi)部,公鑰需要被第三方進行認(rèn)證,產(chǎn)生公鑰證書。
可信網(wǎng)絡(luò)接入技術(shù)(TNA)通過使用可信計算的相關(guān)功能來構(gòu)建一個安全的網(wǎng)絡(luò)環(huán)境,特別適合政府、企業(yè)等安全性要求較高的內(nèi)部網(wǎng)絡(luò)。隨著終端的多樣化(桌面PC、智能手機、平板電腦等),網(wǎng)絡(luò)也在不斷的擴展,如移動互聯(lián)網(wǎng)正在快速的發(fā)展。但是,當(dāng)不安全的終端接入網(wǎng)絡(luò)時,就會給網(wǎng)絡(luò)的安全性帶來很大的影響。特別是對于公司內(nèi)部網(wǎng)絡(luò),如果一個黑客冒充合法的員工設(shè)備訪問內(nèi)部網(wǎng)絡(luò),就可能獲取公司內(nèi)部的機密數(shù)據(jù),使公司在商業(yè)上處于弱勢地位。因此,有必要對接入的終端進行訪問控制,保護公司內(nèi)網(wǎng)的安全。
可信網(wǎng)絡(luò)接入(TNA)是一種對終端進行訪問控制的可信計算技術(shù)。一般地,一個終端要接入網(wǎng)絡(luò),除了要驗證基本的用戶信息之外,TNC還強調(diào)對終端設(shè)備固有信息的檢查。對終端設(shè)備固有信息的檢查主要包含兩個方面,其一是驗證終端設(shè)備的身份,其二是驗證終端設(shè)備的完整性狀態(tài)??尚庞嬎慵夹g(shù)的“平臺度量和報告”與“平臺認(rèn)證”可以為這兩種驗證提供解決方案。平臺認(rèn)證為終端設(shè)備提供了一個基于硬件的身份信息,即位于可信安全芯片TCM里的平臺身份密鑰,這樣可以防止偽造身份的攻擊者進入受保護的網(wǎng)絡(luò)。平臺度量和報告可以收集終端的軟件完整性狀態(tài),供網(wǎng)絡(luò)管理員審查,以防止擁有合法身份的內(nèi)部終端被攻擊者植入了病毒,進而對接入的網(wǎng)絡(luò)實施攻擊。
可信網(wǎng)絡(luò)接入的主要思路是:在終端安裝一個代理軟件(稱為可信代理),該代理負(fù)責(zé)收集終端的完整性信息(如進程信息、防火墻信息等),并通過基于TCM平臺身份密鑰的簽名后發(fā)送給網(wǎng)絡(luò)管理員;網(wǎng)絡(luò)管理員會配置相應(yīng)的接入策略,首先驗證TCM平臺身份密鑰,保證接入終端擁有合法的身份,然后驗證收集的終端完整性狀態(tài),只允許符合其預(yù)先定義策略的健康終端接入網(wǎng)絡(luò)。通過這種網(wǎng)絡(luò)訪問控制,可以將惡意的終端屏蔽于受保護的網(wǎng)絡(luò)之外,進而對網(wǎng)絡(luò)進行保護,加強其安全性。
無論學(xué)術(shù)界還是產(chǎn)業(yè)界,都已經(jīng)在可信網(wǎng)絡(luò)接入方面取得了較大的成果。雖然可信網(wǎng)絡(luò)接入技術(shù)能在一定程度上防止一些攻擊行為的發(fā)生,但是目前的TNC方案都還存在一些安全和性能方面的問題,影響其實際推廣與使用,后文將基于一個基本的可信網(wǎng)絡(luò)接入模型,分析其存在的各種問題。最后,針對TNC可能存在的問題,研究了相應(yīng)的解決方案和思路。
網(wǎng)絡(luò)接入控制有很多解決方案,如思科的NAC系統(tǒng)[3]和微軟的NAP系統(tǒng)[4],這都是已經(jīng)實際實現(xiàn)的方案。思科的NAC系統(tǒng)能夠幫助企業(yè)為來訪者提供安全的公司網(wǎng)訪問,確保訪客流量與公司內(nèi)部網(wǎng)絡(luò)流量隔開,并檢查接入的訪客計算機是否帶有可能影響網(wǎng)絡(luò)安全性和可信性的威脅。NAC系統(tǒng)能夠與有線和無線解決方案輕松集成。微軟的NAP系統(tǒng)為組織提供了一種基于策略的靈活體系結(jié)構(gòu),可以防止員工、供應(yīng)商和來訪者有意或無意地將不符合安全策略的計算機終端設(shè)備連接到組織的網(wǎng)絡(luò),NAP的4個基本核心構(gòu)架思路是:策略驗證、隔離、補救和持續(xù)的遵從性。這兩種實際方案已經(jīng)得到一定的應(yīng)用,而且成功地降低了很多公司內(nèi)部網(wǎng)絡(luò)面臨的各種威脅,已經(jīng)被證明是應(yīng)對網(wǎng)絡(luò)安全問題的一種有效的解決方案。
雖然NAC和NAP系統(tǒng)能夠提供一定的網(wǎng)絡(luò)接入訪問控制措施,有效地防止網(wǎng)絡(luò)攻擊的發(fā)生。但其本身還是基于軟件構(gòu)造,缺少硬件級別的可信保護。而且,如果各種公司都只設(shè)計自己的系統(tǒng),會導(dǎo)致缺少互操作性,給其擴展和互聯(lián)互通應(yīng)用帶來一定的麻煩。目前唯一開放的網(wǎng)絡(luò)接入標(biāo)準(zhǔn)和框架是TCG組織的可信網(wǎng)絡(luò)連接TNC方案[5]。TNC和其他網(wǎng)絡(luò)接入解決方案一樣,網(wǎng)絡(luò)管理員基于終端當(dāng)前完整性狀態(tài)來決定是否允許終端訪問受保護的網(wǎng)絡(luò)。TNC的網(wǎng)絡(luò)管理員會指定一個策略,任何想獲得網(wǎng)絡(luò)訪問授權(quán)的終端必須遵守該策略。例如,一個企業(yè)可以強制任何試圖連接企業(yè)內(nèi)部網(wǎng)絡(luò)的終端都必須安裝反病毒軟件,并且病毒庫是最新的。特定的TNC軟件組件負(fù)責(zé)收集反映終端完整性狀態(tài)的必要數(shù)據(jù),并將這些數(shù)據(jù)通過通信發(fā)送給受保護的網(wǎng)絡(luò)。這個過程在TNC中稱為評估(assessment)。TNC網(wǎng)絡(luò)管理員指定的策略定義在評估階段應(yīng)該收集哪些數(shù)據(jù)。如果完整性狀態(tài)驗證失敗,則終端的網(wǎng)絡(luò)訪問會受到限制(強制受限)。
TCG TNC的一個主要特點是其開放性,各種公司可以根據(jù)TCG提供的TNC開放規(guī)范設(shè)計自己的網(wǎng)絡(luò)訪問控制方案,滿足TNC規(guī)范的系統(tǒng)之間可以互相操作,取長補短,不僅在安全擴展上加強,而且為用戶應(yīng)用帶來方便性。TNC與其他網(wǎng)絡(luò)接入方案的另外一個主要的區(qū)別是TNC利用可信計算平臺的能力(TCG規(guī)范)。TNC規(guī)范中通過TCG規(guī)范定義的TPM安全芯片來提供終端身份和完整性信息保護支持,為網(wǎng)絡(luò)接入控制方案提供了基于硬件的保護。TNC@FHH[6]就是基于TNC規(guī)范實現(xiàn)的一個可信網(wǎng)絡(luò)接入系統(tǒng),不過該系統(tǒng)沒有實際的使用可信計算的功能。在其基礎(chǔ)上,tNAC[7]結(jié)合可信計算功能實現(xiàn)了一個可以防止LEP(Lying Endpoint Problem)問題的可信接入解決方案,不過其依賴的可信計算基TCB(基于靜態(tài)信任鏈構(gòu)建技術(shù))太大,實際使用可能存在一定的障礙。文獻[8]中,作者提出了使用DRTM(Dynamic Root of Trust Measurement)來改進可信網(wǎng)絡(luò)接入方案,在使用可信計算功能的同時也縮短了TCB過大造成的煩惱。
網(wǎng)絡(luò)接入體系對平臺的認(rèn)證一般包含兩部分,對平臺身份的驗證和對平臺完整性狀態(tài)的驗證。只有通過這兩個驗證,客戶端才被允許接入并訪問受保護的內(nèi)網(wǎng)資源。注意,本文并不考慮對用戶的認(rèn)證,因為對用戶的認(rèn)證方案已經(jīng)很成熟,大多實現(xiàn)的系統(tǒng)都是采用“用戶名+密碼”的認(rèn)證方式。本文關(guān)注的主要是對用戶使用的終端平臺的認(rèn)證。本節(jié)首先基于在相關(guān)工作(特別是TCG的TNC體系)調(diào)研中對網(wǎng)絡(luò)接入系統(tǒng)的理解,抽象出一個基本的系統(tǒng)模型,通過簡單的系統(tǒng)模型可以直觀了解網(wǎng)絡(luò)接入系統(tǒng)的構(gòu)造。然后,在基本模型的基礎(chǔ)上,給出了一個基本的接入流程。最后,針對基本系統(tǒng)模型和接入流程,對可信網(wǎng)絡(luò)接入系統(tǒng)進行分析,理清其本質(zhì)并發(fā)掘其存在的一些安全和性能問題。
一個基本的網(wǎng)絡(luò)接入系統(tǒng)中,用戶(如公司內(nèi)部人員或者來訪者)使用各種終端設(shè)備(如筆記本或者個人PC電腦等),想要通過聯(lián)網(wǎng)接入一個受保護的公司內(nèi)部網(wǎng)絡(luò)進行資源訪問。接入系統(tǒng)還包含一個由網(wǎng)絡(luò)管理員進行維護的控制中心,該中心負(fù)責(zé)保護公司內(nèi)網(wǎng)資源,對試圖接入網(wǎng)絡(luò)的終端設(shè)備進行平臺身份認(rèn)證和完整性認(rèn)證,只有通過認(rèn)證的終端才被允許接入??刂浦行奶峁┙尤氩呗缘闹贫?,并需要維護兩個系統(tǒng):一個是平臺身份管理系統(tǒng),另一個是平臺完整性管理系統(tǒng)。平臺身份管理系統(tǒng)負(fù)責(zé)對接入平臺的終端身份進行驗證。平臺完整性管理系統(tǒng)負(fù)責(zé)對終端完整性狀態(tài)標(biāo)準(zhǔn)值的維護,并驗證接入終端平臺的完整性狀態(tài)。接入策略中需要同時考慮平臺身份認(rèn)證和平臺完整性認(rèn)證的結(jié)果。接入系統(tǒng)中還包含一個受保護的內(nèi)部網(wǎng)絡(luò),給終端提供網(wǎng)絡(luò)資源訪問(如FTP文件瀏覽等)。這些實體構(gòu)成網(wǎng)絡(luò)接入系統(tǒng)的一個基本架構(gòu),如圖1所示。
圖1 網(wǎng)絡(luò)接入基本模型
可信網(wǎng)絡(luò)接入系統(tǒng),即在每個接入終端中植入可信安全芯片。這里以國產(chǎn)TCM[2]安全芯片為例??尚虐踩酒?fù)責(zé)提供平臺身份,并對平臺完整性進行度量和簽名保護。終端平臺上需要擁有一個軟件代理層,該軟件代理層一方面負(fù)責(zé)與TCM交互,獲取TCM保護的平臺身份和平臺完整性值;另一方面負(fù)責(zé)將獲取的終端平臺數(shù)據(jù)提交給控制中心,以便獲得訪問內(nèi)網(wǎng)的權(quán)限。軟件代理(圖2中的可信代理)訪問TCM硬件需要通過操作系統(tǒng)OS提供的TCM驅(qū)動進行。具體可信網(wǎng)絡(luò)接入系統(tǒng)的邏輯層次如圖2所示。
圖2 基于TCM的可信網(wǎng)絡(luò)接入邏輯層次
基于圖1和圖2的一個基本接入流程可以簡單描述為:
1)用戶通過終端請求接入受保護的內(nèi)網(wǎng)進行網(wǎng)絡(luò)資源訪問。
2)網(wǎng)絡(luò)控制中心收到接入請求后,要求終端提供平臺身份與完整性信息。
3)終端調(diào)用TCM的命令創(chuàng)建一個TCM簽名密鑰(一般為平臺身份密鑰),作為終端平臺的身份信息。終端的可信代理作為平臺配置的一部分,開始收集終端平臺的完整性信息;調(diào)用TCM命令(一般為Sign或者Quote命令)使用簽名密鑰對表示平臺當(dāng)前配置狀態(tài)的PCR進行簽名。終端將簽名公鑰、簽名信息和收集到的完整性信息一起發(fā)送給網(wǎng)絡(luò)控制中心。
4)網(wǎng)絡(luò)控制中心將簽名公鑰發(fā)送給平臺身份管理系統(tǒng)。
5)平臺身份管理系統(tǒng)驗證簽名公鑰,保證該密鑰確實來自一個合法的硬件TCM,確定終端的平臺身份。
6)如果平臺身份驗證通過,網(wǎng)絡(luò)控制中心就使用公鑰驗證簽名,保證完整性數(shù)據(jù)來自擁有合法TCM的終端,并將完整性信息發(fā)送給平臺完整性管理系統(tǒng)進行驗證。
7)平臺完整性系統(tǒng)將終端完整性信息與標(biāo)準(zhǔn)完整性元數(shù)據(jù)(存儲在控制中心本地的數(shù)據(jù)庫中)進行比較,給出判定結(jié)果,將判定結(jié)果返回給網(wǎng)絡(luò)控制中心。
8)網(wǎng)絡(luò)控制中心根據(jù)收到的判定結(jié)果決定是否允許終端接入并且訪問內(nèi)網(wǎng)資源。
上述基于可信計算的網(wǎng)絡(luò)接入技術(shù)是對傳統(tǒng)的網(wǎng)絡(luò)訪問控制的一個擴展,在傳統(tǒng)的基于用戶身份認(rèn)證的基礎(chǔ)上增加了終端平臺身份認(rèn)證和終端平臺完整性驗證兩種機制。雖然在一定程度上,可以防止惡意假冒的終端,保護內(nèi)網(wǎng)安全。但通過仔細(xì)研究,其還存在下述問題:
隱私是安全領(lǐng)域里非常重要的一個問題,隨著網(wǎng)絡(luò)的發(fā)展,人們已經(jīng)越來越意識到隱私問題的重要性。比如,當(dāng)用戶進行網(wǎng)上購物后,可能不希望別人知道其身份、其購買記錄等隱私信息;當(dāng)用戶使用手機搜索附近的基于位置的服務(wù)(Location Based Service,LBS)時,可能不希望泄露自己的身份和位置等信息。在網(wǎng)絡(luò)接入控制系統(tǒng)中也一樣,終端可能希望在獲取內(nèi)網(wǎng)資源的同時,不泄露自己的真實身份信息。特別是在競爭比較激烈的內(nèi)部環(huán)境中,每個人都有自己訪問資源的記錄,可能不希望透漏給自己的競爭者。不希望競爭者通過其身份信息找到其訪問資源的記錄。在對終端平臺進行身份認(rèn)證的同時,又不泄露終端的身份隱私信息,似乎是一個矛盾的問題。不過,通過使用可信計算技術(shù)可以構(gòu)建有效的解決方案。
在TNC的基本模型中,終端的身份通過TCM的簽名密鑰來給出。如果通過該簽名密鑰可以獲知具體的TCM芯片,就可以知道TCM芯片所在的那個終端。因為TCM芯片一般與終端平臺相互綁定,每個終端都有自己唯一的TCM可信硬件模塊。這樣,終端的身份隱私就無法得到保證。需要有效的密碼或者協(xié)議機制,在保證簽名密鑰確實屬于一個合法的TCM的同時,又不泄露具體是哪個TCM,進而保護終端的身份隱私信息。
2)終端完整性信息的隱私問題。
隱私關(guān)系到很多方面,并不只是終端身份而已。在可信網(wǎng)絡(luò)接入中,終端的完整性隱私問題也是一大研究熱點,這也是一個很容易被忽略的問題。考慮這樣一種接入情景,來訪者和公司屬于不同的利益群體。當(dāng)來訪者希望接入其合作公司的內(nèi)部網(wǎng)絡(luò)時,公司內(nèi)部網(wǎng)絡(luò)會采取TNA網(wǎng)絡(luò)接入方案對其進行身份和完整性檢查。雖然公司通過該檢查可以保證自己的網(wǎng)絡(luò)不受來訪者的威脅。但是,從來訪者的角度來看,如果其隨身攜帶的終端設(shè)備(如其筆記本PC)含有自己公司的機密數(shù)據(jù),而對方公司通過可信代理對其終端進行一個全面的掃描,獲取完整性信息,很可能導(dǎo)致其存儲在終端設(shè)備上的機密信息的泄露。如果對方公司獲取其機密信息,對來訪者的公司會是一大損失和威脅,使其在商業(yè)競爭上處于被動地位。因此,在驗證終端完整性信息的同時,很多場景中需要一種機制保證終端的機密數(shù)據(jù)等隱私信息不被竊取。
3)可信代理的欺騙與TCB問題。
從上述TNC中模型和流程中可以得知,收集終端的身份信息和完整性信息需要依賴一個可信代理。該可信代理只是安裝在終端上的一個軟件模塊。如果該可信軟件模塊偽造簽名密鑰或者偽造完整性數(shù)據(jù),就可以達到欺騙控制中心的目的,這也被稱為LEP問題[7],即Lying Endpoint Problem。
利用稻草秸稈為主料的內(nèi)置式反應(yīng)堆技術(shù)能有效的提高棚內(nèi)溫度、地溫和二氧化碳濃度,從而加快植株的生長發(fā)育,提高作物品質(zhì),畝產(chǎn)量提高10%以上,是設(shè)施農(nóng)業(yè)生產(chǎn)值得推廣應(yīng)用的一項好技術(shù)。
為保證可信代理的安全,TNC中使用可信計算技術(shù),一般會在終端平臺上構(gòu)建一條基于TCM的信任鏈。在終端平臺啟動時,對于每段執(zhí)行的代碼,首先會采用TCM提供的哈希技術(shù)進行度量,并擴展到TCM的PCR中進行保護。于是,可信代理的安全性依賴信任鏈中在其之前所有代碼的安全。一般,信任鏈中位于可信代理之前的所有代碼稱為可信計算基(TCB),即可信代理安全運行的基礎(chǔ)保障。從系統(tǒng)啟動開始,這種TCB至少包含TCM本身、BIOS、Bootloader引導(dǎo)代碼、操作系統(tǒng)OS代碼。這樣龐大的TCB本身就是一種安全隱患,一般任何軟件代碼都可能存在被利用的安全漏洞,TCB中Bootloader和OS代碼量都很大,必定存在未知的漏洞。這樣TCB越大,安全威脅就越大。為了保證可信代理的安全,防止其進行欺騙攻擊,必須盡量減小TCB代碼量。
另一方面,龐大的TCB也會導(dǎo)致控制中心驗證完整性信息時的負(fù)擔(dān)。由于完整性信息由可信代理進行收集,可信代理由其TCB進行安全保證。在驗證完整性信息時,需要先驗證其TCB(通常將TCB擴展到PCR中,作為完整性信息的一部分),這樣會給控制中心帶來很大的工作負(fù)擔(dān)。
因此,需要一種機制可以保證可信代理的安全,同時使得其基于的TCB盡可能小。
上文分析了可信網(wǎng)絡(luò)接入方案中可能存在的各種問題,本節(jié)主要針對這些問題進行改進研究。為保護終端身份的隱私性問題,通常需要使用可信第三方,在保證終端身份隱私的同時擔(dān)保其身份的真實性。為保護終端平臺完整性信息的隱私性問題,可能需要在終端設(shè)備和網(wǎng)絡(luò)控制中心協(xié)商一種策略,該策略需要獲取終端必要的完整性數(shù)據(jù),以便通過控制中心的完整性驗證;同時,該策略應(yīng)該將終端的關(guān)鍵隱私信息排除在外,保證存儲在終端上的敏感信息不被控制中心獲取。為了防止可信代理的欺騙以及TCB過大的問題,需要將可信計算技術(shù)依賴的TCB進行縮減,可以將傳統(tǒng)的靜態(tài)信任鏈構(gòu)建技術(shù)(Static Root of Trust for Measurement,SRTM)升級,即采用動態(tài)信任根度量技術(shù)DRTM(Dynamic Root of Trust Measurement),將Bootloader、操作系統(tǒng)OS等排除在TCB之外。
下面將分別對這些改進方案的研究進行詳細(xì)的分析。
在可信計算中,提供身份隱私保護的研究主要有Privacy CA和DAA方案。目前TCG的TPM芯片和國內(nèi)的TCM芯片都支持Privacy CA方案;而只有TPM芯片支持DAA方案。DAA方案稱為直接匿名認(rèn)證,從“匿名”二字就可以體現(xiàn)其身份隱私的保護能力。DAA需要強的密碼簽名算法,可以對給定的機密信息進行簽名,同時簽名者又無法知道這個機密信息。為了讓簽名者知道機密信息確實存在,通常采用零知識證明技術(shù),即不需要知道任何機密信息就可進行知識的證明。雖然DAA已經(jīng)被認(rèn)為是達到身份隱私的最好解決方案,但這僅限于研究上。由于其依賴的密碼機制和假設(shè)比較復(fù)雜,且在實現(xiàn)時效率也很低下。目前,在實際中使用較多的還是Privacy CA方案,即通過一個可信第三方來進行間接的身份驗證,同時保證隱私性。
圖3 獲取PIK證書(平臺身份)
基于Privacy CA獲取表示平臺身份信息的PIK證書的過程如圖3所示,PIK證書不會泄露平臺的身份信息(即EK),保證終端平臺的身份隱私。EK稱為背書密鑰,每個TCM芯片擁有唯一的EK,由廠商固化在TCM芯片內(nèi)部,不會更改。如果采用EK作為平臺的身份信息,其身份信息容易被泄露,因為每個平臺對應(yīng)唯一的EK。使用一次EK后,每個使用EK作為身份信息的平臺都會被關(guān)聯(lián)為同一個平臺。Privacy CA方案一般生成一個平臺身份密鑰PIK作為其平臺身份信息。
具體流程為:1)可信代理通過調(diào)用TCM_MakeIdentity()命令,TCM會生成PIK簽名密鑰對,私鑰加密存儲保護在TCM芯片內(nèi)部,外部無法獲取,公鑰發(fā)送給可信代理;2)可信代理將由廠商簽名的EK證書和PIK公鑰一起發(fā)送給可信第三方Privacy CA;3)可信第三方首先驗證EK證書,確保其是一個合法有效的TCM芯片,然后對PIK公鑰簽名生成一個PIK證書Cert(PIK),并生成一個對稱會話密鑰K對PIK證書進行加密;4)可信第三方使用EK公鑰對PIK公鑰和會話密鑰K進行加密,并連同加密的PIK證書一起發(fā)送給可信代理;5)可信代理調(diào)用TCM_ActivateIdentity命令請求TCM解密獲取密鑰K;6)TCM使用內(nèi)部的EK私鑰(外部無法訪問)解密獲取密鑰K,并發(fā)送給可信代理;7)可信代理使用會話密鑰K可以解密獲取PIK證書Cert(PIK)。
PIK證書通過可信第三方保證其確實屬于一個擁有TCM芯片的可信計算平臺,但是并不會泄露具體是哪個TCM平臺,因此可以保證平臺的身份隱私。當(dāng)可信代理需要向網(wǎng)絡(luò)控制中心出示其平臺身份信息時,發(fā)送PIK證書即可。網(wǎng)絡(luò)控制中心驗證PIK證書的簽名,即可以確定有可信第三方擔(dān)保其是一個真實的平臺身份。不過,需要注意的是,需要保證可信第三方的可信,其不能與網(wǎng)絡(luò)控制中心進行合謀攻擊,否則平臺的身份隱私就會被破壞。
從網(wǎng)絡(luò)控制中心的角度,其需要盡可能多地知道終端完整性狀態(tài),如其運行的所有進程信息,其安裝的防火墻和殺毒軟件信息,其安裝的補丁信息等,這樣控制中心才能有足夠的信息支持,以便其能作出一個正確的接入決定。而從終端設(shè)備的角度(特別是來訪者的設(shè)備),其希望控制中心安裝在其設(shè)備上的可信代理不會去掃描并獲取存儲在其設(shè)備里的機密信息。一般,可信代理根據(jù)某個策略來執(zhí)行掃描和完整性信息搜索,如果這個策略只由控制中心制定,終端設(shè)備無法知道策略是否威脅其機密信息;而如果這個策略只由終端指定,那控制中心不一定能獲取足夠的驗證平臺狀態(tài)可信的信息。因此,一個簡單的解決方法是,這個策略必須經(jīng)過網(wǎng)絡(luò)控制中心和終端用戶雙方同意才能執(zhí)行。這樣,需要雙方進行一個協(xié)商,確定可信代理的搜索策略后才能進行完整性信息的收集。
一個簡單的基于策略協(xié)議的接入驗證流程如圖4所示。
圖4 基于策略協(xié)商的接入驗證過程
具體過程為:1)終端請求接入網(wǎng)絡(luò)訪問內(nèi)網(wǎng)資源。2)控制中心發(fā)起一個策略協(xié)商過程,首先由控制中心制定一個初步的策略InitPolicy,該策略可以最大范圍地作出可信決定,并將InitPolicy發(fā)送給可信代理,終端用戶檢查InitPolicy,如果認(rèn)為該策略不會威脅機密信息,返回一個Agree同意該策略,否則指出可能存在威脅的策略條目發(fā)送給控制中心,控制中心進行進一步調(diào)整后,將最終策略P1發(fā)送給可信代理。3)通過協(xié)商,可信代理和網(wǎng)絡(luò)控制中心擁有最終雙方同意的策略P1,可信代理根據(jù)策略P1進行完整性信息收集,生成完整性數(shù)據(jù)列表IntData。4)可信代理調(diào)用TCM命令,對策略P1,PCR狀態(tài)和完整性數(shù)據(jù)列表IntData使用PIK進行簽名后,連同PIK證書,PCR值和IntData一起發(fā)送給控制中心。5)控制中心首先驗證PIK證書,保證一個合法身份的終端平臺,然后使用PIK公鑰驗證簽名,保證獲取的信息確實來自合法的平臺,接著驗證策略P1是否為協(xié)商的策略,最后基于PCR和IntData驗證終端的完整性數(shù)據(jù)。6)如果所有驗證通過,則同意接入,返回一個“允許”;否則,返回“拒絕”給終端平臺。
由此可見,在進行平臺完整性收集和驗證之前,在終端平臺和網(wǎng)絡(luò)控制中心之間進行一個有效的完整性數(shù)據(jù)策略協(xié)商,可以在一定程度上保證終端完整性隱私信息的泄露。不過,這個策略協(xié)商可能遇到一個死鎖的情況,即雙方都不讓步,策略無法進一步協(xié)商;對于這種情況,可能需要引入可信第三方進行沖裁。
防止終端LEP問題,需要基于可信計算技術(shù)保證可信代理的安全,而提供一個TCB盡可能小的可信計算環(huán)境,需要使用動態(tài)信任根度量技術(shù)DRTM(Dynamic Root of Trust Measurement)。根據(jù)文獻[8]中的設(shè)計,需要在終端平臺上建立一個隔離執(zhí)行環(huán)境,該環(huán)境依賴一個CPU的特殊指令,而不需要Bootloader和OS的介入。為了維護隔離的執(zhí)行環(huán)境,需要一段管理代碼,通常稱為hypervisor層,與傳統(tǒng)虛擬機管理器程序(Virtual Machine Manager)不同,這個hypervisor應(yīng)該盡可能的小,只需包含能夠運行可信代理所需環(huán)境即可,因此也稱為Minivisor(文獻[8]中稱為NACvisor)。目前在終端平臺上能夠提供這種執(zhí)行環(huán)境的主要有AMD的SVM(Secure Virtual Machine)技術(shù)和Intel的TXT(Trusted Execution Technology)技術(shù)。這些技術(shù)可以在系統(tǒng)運行的任何時刻為應(yīng)用程序的執(zhí)行隔離出一個受保護的環(huán)境。這樣,可以在該隔離環(huán)境中運行任何安全敏感的任務(wù),如可信代理。因此,不需要信任之前龐大的TCB,只需要信任運行隔離環(huán)境所需要的那部分代碼。這些代碼是可以動態(tài)加載的,因而成為動態(tài)信任根。
一個簡單的基于動態(tài)信任根的接入流程描述如下:1)終端請求接入;2)網(wǎng)絡(luò)控制中心要求終端提供平臺信息;3)終端基于CPU處理器的特殊指令,開啟一個隔離的執(zhí)行環(huán)境,將可信代理導(dǎo)入隔離環(huán)境中執(zhí)行;4)運行在隔離環(huán)境中的可信代理收集系統(tǒng)完整性信息,并調(diào)用TCM命名進行簽名后,將收集的完整性信息和簽名一起發(fā)送給網(wǎng)絡(luò)控制中心;5)網(wǎng)絡(luò)控制中心進行相關(guān)的認(rèn)證后,決定是否允許終端平臺接入。
通過使用DRTM技術(shù),可信代理依賴的TCB僅包含CPU,TCM和Minivisor,而代碼量很大且經(jīng)常存在漏洞的bootloader和OS等排除在TCB之外。在保護可信代理安全的同時,減少了TCB。不過,此方法目前也僅僅限于研究層面,還無法得到實際的應(yīng)用。原因之一是運行在隔離執(zhí)行環(huán)境之內(nèi)的代碼必須自包含,構(gòu)建這樣的代碼有一定的困難;其次,如何讓位于隔離執(zhí)行環(huán)境的可信代理獲取正常環(huán)境下的平臺完整性信息也是一個難點問題。不過,隨著DRTM技術(shù)的發(fā)展,期待這些問題都會得到很好的解決。
本文通過對可信網(wǎng)絡(luò)接入方面相關(guān)工作的研究,提出了一個基于TCM可信芯片的網(wǎng)絡(luò)接入模型,并根據(jù)該模型對目前網(wǎng)絡(luò)接入方案中可能存在的問題進行了深入的分析和研究。最后,針對目前可信網(wǎng)絡(luò)接入方案存在的問題,進行了改進方案的研究。通過改進的方案,可以在一定程度上改進網(wǎng)絡(luò)接入系統(tǒng)的安全、隱私和性能問題,為其實際應(yīng)用和推廣提供基礎(chǔ)和信心保障??尚啪W(wǎng)絡(luò)接入系統(tǒng)可能存在更多的安全和性能隱患,需要在將來工作中不斷研究和完善。如當(dāng)多臺終端設(shè)備同時接入網(wǎng)絡(luò)時,網(wǎng)絡(luò)控制中心會成為性能瓶頸;終端可能在通過網(wǎng)絡(luò)控制中心的驗證后被攻擊者獲取了權(quán)限,這就需要一個接入后的監(jiān)控機制;如果終端每次接入都要進行各種驗證,對終端用戶來說是一個繁瑣的體驗,因此有必要考慮驗證與接入的時限問題等。
[1] Trusted Computing Group.Trusted platform module main specification.Version,1.2,Revision 103[S].2007.
[2]GM/T 0011—2012,可信計算可信密碼支撐平臺功能與接口規(guī)范[S].2013.
[3] Home of cisco network admission control[EB/OL].[2015-01-31].http://www.cisco.com/en/US/docs/ios/12_3t/12_3t8/feature/guide/gt_nac.html.
[4]Home of Microsoft network access protection[EB/OL].[2015-01-25].http://technet.microsoft.com/en-us/network/bb54587 9.aspx.
[5] TCG trusted network connect,TNC architecture for interoperability[EB/OL].[2015- 01- 15].http://www.trustedcomputinggroup.org/specs/TNC/.Specification Version 1.3.
[6] Homepage of TNC@FHH[EB/OL].[2015-01-20].http://tnc.inform.fh-hannover.de.
[7] BENTE I,HELDEN J.Towards trusted network access control[C]//Proc.the First Interna-tional Conference Future of Trust in Computing 2008.[S.l.]:Springer,2008:157–167.
[8]FENG W,QIN Y,YU A M,et al.A DRTM-based method for trusted network connection[C]//Proc.International Conference on Trust,Security and Privacy in Computing and Communications.[S.l.]:IEEE Press,2011:425-435.