艾 俊, 吳秋新
(北京信息科技大學(xué) 計(jì)算機(jī)學(xué)院,北京 100192)
自ARPA 網(wǎng)問世以來, 計(jì)算機(jī)網(wǎng)絡(luò)在技術(shù)上、規(guī)模上和應(yīng)用領(lǐng)域上得到了飛速發(fā)展。互聯(lián)網(wǎng)的應(yīng)用大大地改善了人們的工作和生活方式,但網(wǎng)絡(luò)用戶也不得不面臨大量的網(wǎng)絡(luò)安全問題,如惡意攻擊、計(jì)算機(jī)病毒、垃圾郵件和不健康信息等。互聯(lián)網(wǎng)的安全性受到了越來越多的關(guān)注,如何構(gòu)建一個(gè)安全可信可控的互聯(lián)網(wǎng)絡(luò)成為人們關(guān)注和研究的焦點(diǎn)。這里提出了一種基于中國自主知識(shí)產(chǎn)權(quán)的TCM芯片的可信網(wǎng)絡(luò)接入認(rèn)證模型,試圖控制作為網(wǎng)絡(luò)中不安全因素的源頭的終端的接入,從而實(shí)現(xiàn)網(wǎng)絡(luò)的可信可控。
目前業(yè)界對(duì)可信網(wǎng)絡(luò)有不同的理解, 有的認(rèn)為是基于認(rèn)證的可信、有的認(rèn)為是基于現(xiàn)有安全技術(shù)的整合、有的認(rèn)為是網(wǎng)絡(luò)的內(nèi)容可信、有的認(rèn)為是網(wǎng)絡(luò)本身的可信、有的認(rèn)為是網(wǎng)絡(luò)上提供服務(wù)的可信等, 然而對(duì)可信網(wǎng)絡(luò)的目的都有統(tǒng)一的認(rèn)識(shí):提高網(wǎng)絡(luò)和服務(wù)的安全性, 使整個(gè)人類在信息社會(huì)中受益??尚啪W(wǎng)絡(luò)可以提高網(wǎng)絡(luò)的性能, 簡(jiǎn)化因不信任帶來的監(jiān)控、防范等系統(tǒng)的開銷, 提高系統(tǒng)的整體性能[1]。同時(shí), 動(dòng)態(tài)行為的信任可以提供比身份信任更細(xì)粒度的安全保障。因此認(rèn)為一個(gè)可信的網(wǎng)絡(luò)應(yīng)該是網(wǎng)絡(luò)和用戶的行為及其結(jié)果總是可預(yù)期與可管理的, 能夠做到行為狀態(tài)可監(jiān)測(cè)、行為結(jié)果可評(píng)估、異常行為可管理[2]。
TNC是TCG的TNC工作組制定的標(biāo)準(zhǔn),是一套開放的標(biāo)準(zhǔn)網(wǎng)絡(luò)接入控制架構(gòu)[3]。TNC架構(gòu)包括了開放的終端完整性架構(gòu)和一套確保安全互操作的標(biāo)準(zhǔn)。它的體系結(jié)構(gòu)如圖1所示。
圖1 TNC架構(gòu)
TNC架構(gòu)在縱向分為三個(gè)層次,從下到上為:網(wǎng)絡(luò)訪問層,用于支持傳統(tǒng)的網(wǎng)絡(luò)連接技術(shù); 完整性評(píng)價(jià)層,負(fù)責(zé)評(píng)估所有請(qǐng)求訪問網(wǎng)絡(luò)的實(shí)體的完整性; 完整性度量層,收集和校驗(yàn)訪問請(qǐng)求者的完整性相關(guān)信息的組件[4]。
TNC架構(gòu)圖中的三列代表TNC結(jié)構(gòu)中的三個(gè)實(shí)體:訪問請(qǐng)求者、策略實(shí)施點(diǎn)和策略決定點(diǎn)[5]。
在每個(gè)實(shí)體中又有若干個(gè)組件。需要指出的是,TNC結(jié)構(gòu)并沒有排斥其他網(wǎng)絡(luò)訪問控制或安全技術(shù)所使用的組件。在系統(tǒng)中實(shí)現(xiàn)訪問控制的組件并不僅是TNC結(jié)構(gòu)中所定義的組件。
訪問請(qǐng)求者實(shí)體中的組件有:①發(fā)起網(wǎng)絡(luò)請(qǐng)求NAR;②TNC客戶TNCC;③完整性測(cè)量收集器(IMC)[6]。
策略實(shí)施點(diǎn)包含如下的組件:策略實(shí)施點(diǎn)(PEP)[7],通常為網(wǎng)關(guān)或防火墻。
策略決定點(diǎn)實(shí)體的組件有: ①網(wǎng)絡(luò)訪問授權(quán)(NAA);②TNC 服務(wù)器(TNCS);③完整性測(cè)量鑒別器(IMV)。
可信網(wǎng)絡(luò)連接的建立過程如下:
在建立網(wǎng)絡(luò)連接之前。TNC 客戶端需要準(zhǔn)備好所需要的完整性信息,交給IMC。在一個(gè)擁有TPM的終端里面,也就是將網(wǎng)絡(luò)策略所需信息經(jīng)散列后存入PCRs ,TPM 服務(wù)端需要預(yù)先制定完整性的要求,并交給IMV[8]。
① 向PEP發(fā)起訪問請(qǐng)求,這個(gè)策略執(zhí)行者通常是一個(gè)網(wǎng)絡(luò)接入網(wǎng)關(guān);
② PEP將訪問請(qǐng)求描述發(fā)往網(wǎng)絡(luò)訪問授權(quán)者;
③ 假設(shè)授權(quán)被允許了,網(wǎng)絡(luò)訪問授權(quán)者將請(qǐng)求發(fā)往TNC服務(wù)端;
④ TNC服務(wù)端開始對(duì)客戶端的授權(quán)驗(yàn)證;
⑤ TNC客戶端告訴IMC開始了一個(gè)新的網(wǎng)絡(luò)連接,這個(gè)網(wǎng)絡(luò)連接需要一個(gè)完整性握手協(xié)議。IMC返回所需信息。TNC服務(wù)端將這些信息交給IMV;
⑥ 在這個(gè)過程里面, TNC客戶端和TNC服務(wù)端需要交換一次或多次數(shù)據(jù),直到TNC服務(wù)器端滿意為止;
⑦ 當(dāng)TNC服務(wù)器完成了對(duì)客戶端的完整性握手,它將發(fā)送一個(gè)推薦信給NAA,要求允許訪問。這里需要特別注意,如果還有另外的安全考慮,此時(shí)NAA 仍舊可以不允許網(wǎng)絡(luò)訪問者的訪問;
⑧ NAA傳遞訪問決定給PEP ,PEP將最終執(zhí)行這個(gè)決定,來控制NA的訪問。
終端平臺(tái)中已嵌入TCM 芯片,所謂TCM芯片是以中國自主研發(fā)的密碼算法和引擎為基礎(chǔ),使用SoC技術(shù)和工藝,構(gòu)建在主板上的一個(gè)安全芯片[9]。同時(shí)實(shí)現(xiàn)了支持其上層應(yīng)用的TSM組件。安全芯片能夠安全存儲(chǔ)終端的完整性測(cè)量值,在認(rèn)證過程中,以加密方式將完整性測(cè)量值傳送到內(nèi)網(wǎng)認(rèn)證服務(wù)器。
提出的認(rèn)證模型中有三個(gè)實(shí)體:訪問請(qǐng)求者、決策執(zhí)行者、可信決策者。如圖2所示。
圖2 基于TCM芯片的可信網(wǎng)絡(luò)接入認(rèn)證模型
上圖中模型的設(shè)計(jì)以TNC架構(gòu)的三層模型為指導(dǎo),縱向上分為四層,分別為:網(wǎng)絡(luò)訪問層、完整性評(píng)價(jià)層、完整性度量層、系統(tǒng)恢復(fù)層。
各層的主要功能描述如下:
① 網(wǎng)絡(luò)訪問層主要實(shí)現(xiàn)接入主機(jī)與服務(wù)器的之間的數(shù)據(jù)交換,建立兩者之間的數(shù)據(jù)通道,為上層提供發(fā)送與接收數(shù)據(jù)的接口;
② 完整性評(píng)價(jià)層不僅作為完整性度量層與網(wǎng)絡(luò)訪問層之間的中介,還是決定和實(shí)現(xiàn)訪問授權(quán)的重要功能單元,服務(wù)器端的接入決策器根據(jù)度量層返回的結(jié)果決定對(duì)接入主機(jī)的訪問授權(quán),然后將訪問決策傳送給接入主機(jī)上的接入控制器,接入主機(jī)上的接入控制器根據(jù)服務(wù)器作出的訪問決策實(shí)現(xiàn)接入控制;
③ 完整性度量層是完整性評(píng)價(jià)層和系統(tǒng)恢復(fù)層的中介,主要完成完整性信息收集和度量的功能;
④ 系統(tǒng)恢復(fù)層通過還原卡或類似Ghost的軟件實(shí)現(xiàn)方法實(shí)現(xiàn)系統(tǒng)恢復(fù)到上次可信狀態(tài)。
步驟1 開始網(wǎng)絡(luò)連接,TNC 客戶端需要準(zhǔn)備好所需要的完整性信息,交給IMC;
步驟2 客戶端的網(wǎng)絡(luò)訪問點(diǎn)模塊檢查TCM芯片中的上次可信度量信息,若信息表明客戶端處于一個(gè)不可信的狀態(tài),則網(wǎng)絡(luò)訪問點(diǎn)禁止網(wǎng)絡(luò)連接請(qǐng)求,客戶端將通過系統(tǒng)恢復(fù)層恢復(fù)到上次可信狀態(tài)。否則開始進(jìn)行接入認(rèn)證;服務(wù)器的網(wǎng)絡(luò)授權(quán)點(diǎn)模塊同樣在啟動(dòng)時(shí)檢測(cè)服務(wù)器主機(jī)的運(yùn)行狀態(tài),以決定服務(wù)器主機(jī)的網(wǎng)絡(luò)連接狀態(tài);
步驟3 客戶端上的網(wǎng)絡(luò)訪問點(diǎn)向策略實(shí)施點(diǎn)發(fā)起網(wǎng)絡(luò)訪問請(qǐng)求,這個(gè)策略實(shí)施點(diǎn)通常是一個(gè)網(wǎng)絡(luò)接入網(wǎng)關(guān);
步驟4 接收到連接請(qǐng)求后,策略實(shí)施點(diǎn)將訪問請(qǐng)求描述發(fā)往網(wǎng)絡(luò)訪問授權(quán)者;
步驟5 假設(shè)授權(quán)被允許了, 網(wǎng)絡(luò)訪問授權(quán)者通知上層的TNC服務(wù)端有網(wǎng)絡(luò)接入請(qǐng)求到來。
服務(wù)器端的網(wǎng)絡(luò)授權(quán)點(diǎn)要求客戶端進(jìn)行身份認(rèn)證和完整性校驗(yàn),并通知上層的決策器有網(wǎng)絡(luò)接入請(qǐng)求到來;
步驟6 TNC服務(wù)端開始對(duì)客戶端的授權(quán)驗(yàn)證;
步驟7 TNC客戶端告訴完整性收集者開始了一個(gè)新的網(wǎng)絡(luò)連接,需要進(jìn)行身份認(rèn)證和完整性校驗(yàn),并通過PTS服務(wù)接口獲取TCM芯片的平臺(tái)證書和PIK證書作為客戶端的身份信息。完整性收集者返回所需信息。這個(gè)網(wǎng)絡(luò)連接需要一個(gè)完整性握手協(xié)議。TNC服務(wù)端將這些信息交給完整性驗(yàn)證者;
步驟8 策略實(shí)施點(diǎn)把獲得的身份認(rèn)證和完整性信息通過服務(wù)器的公鑰加密,發(fā)送給決策器,進(jìn)行認(rèn)證授權(quán)。在這個(gè)過程里面, TNC客戶端和TNC服務(wù)端需要交換一次或多次數(shù)據(jù),直到TNC 服務(wù)器端滿意為止;
步驟9 服務(wù)器端的狀態(tài)度量器,根據(jù)決策器接收到的客戶端身份認(rèn)證和完整性信息進(jìn)行狀態(tài)度量,決定是否授權(quán)網(wǎng)絡(luò)訪問,并將客戶端的身份信息作為注冊(cè)信息保存在本地列表中;
步驟10 服務(wù)器端的接入決策器將接入決策發(fā)送給客戶機(jī)的接入控制器;
步驟11 接入控制器根據(jù)接收到的接入決策對(duì)網(wǎng)絡(luò)請(qǐng)求發(fā)起者做出允許接入網(wǎng)絡(luò)、允許接入受限子網(wǎng)或拒絕接入決定。如:客戶端平臺(tái)由于種種原因(如長(zhǎng)時(shí)間停機(jī),斷網(wǎng)等),殺毒軟件病毒特征庫沒有及時(shí)更新,一些系統(tǒng)漏洞也沒有打上補(bǔ)丁。這樣在完整性驗(yàn)證的時(shí)候,服務(wù)端根據(jù)完整性信息判斷出這個(gè)平臺(tái)漏洞補(bǔ)丁狀態(tài),病毒特征庫版本非最新狀態(tài),服務(wù)端這時(shí)將做出接入受限子網(wǎng)的決定,客戶端可以進(jìn)行平臺(tái)更新?;蚩蛻舳似脚_(tái)由于病毒或木馬的入侵,系統(tǒng)一些關(guān)鍵部位受到損壞(硬件的非法改動(dòng)),服務(wù)端可以根據(jù)完整性信息判斷出平臺(tái)的受損情況,服務(wù)端做出的評(píng)估將是拒絕接入,客戶端可以通過系統(tǒng)恢復(fù)層恢復(fù)到上次可信狀態(tài)。
3.4.1 完整性度量過程
可信網(wǎng)絡(luò)連接的可信建立在完整性度量值的匹配基礎(chǔ)上,可信網(wǎng)絡(luò)連接度量的主要步驟和參與實(shí)體:
(1)參考度量生成
合法源(例如生產(chǎn)商)創(chuàng)建組件的完整性度量參考值,這個(gè)參考度量值來自生產(chǎn)廠家或可信第三方,是最原始的度量值,代表了未被修改的系統(tǒng)組件最初的狀態(tài)。這些度量值通過下一步的收集之后由參考度量值列表(RIMM)數(shù)據(jù)庫發(fā)布,為策略庫提供靜態(tài)參考度量值,在以后的TNC 服務(wù)器端對(duì)請(qǐng)求訪問方進(jìn)行驗(yàn)證時(shí)提供服務(wù)。
(2)運(yùn)行狀態(tài)度量
在系統(tǒng)運(yùn)行中,若一方請(qǐng)求接入網(wǎng)絡(luò)獲得服務(wù),帶有TCM和相應(yīng)存儲(chǔ)設(shè)備的請(qǐng)求方對(duì)其平臺(tái)組件(硬件、固件、軟件和應(yīng)用程序設(shè)置)進(jìn)行完整性度量,這個(gè)度量值反映了請(qǐng)求訪問網(wǎng)絡(luò)方當(dāng)前的狀態(tài)信息。
通過PTS 服務(wù)由IMC 對(duì)運(yùn)行度量值進(jìn)行收集,并在同策略決策方IMV的通信中向其進(jìn)行報(bào)告,IMV在確認(rèn)請(qǐng)求方身份(這個(gè)過程是通過不可遷移密鑰實(shí)現(xiàn)的)后對(duì)接收的度量值根據(jù)策略進(jìn)行分析,然后作出決策決定是否接受請(qǐng)求方訪問網(wǎng)絡(luò)的請(qǐng)求。并將該決定交由策略執(zhí)行點(diǎn)進(jìn)行執(zhí)行。
3.4.2 信任鏈的傳遞
可信度量依據(jù)的是信任鏈傳遞的思想,可信鏈傳遞是從系統(tǒng)啟動(dòng)開始,從TCM可信信任根出發(fā),如果每次系統(tǒng)的控制權(quán)轉(zhuǎn)移,信任都能夠被傳遞下來,則認(rèn)為整個(gè)系統(tǒng)可信,在終端專用硬件可信的基礎(chǔ)上進(jìn)行信任鏈傳遞,達(dá)到網(wǎng)絡(luò)連接的可信[9]。
信任鏈傳遞示意如圖3所示。
圖3 信任鏈傳遞
以安全BIOS 和TCM 安全芯片作為可度量的核心信任源(CRTM),為最初的信任根,然后構(gòu)建一條信任鏈,即從信任根開始到硬件平臺(tái)、到操作系統(tǒng)、再到應(yīng)用,一級(jí)度量認(rèn)證一級(jí),一級(jí)信任一 級(jí)[10]。從而把這種信任擴(kuò)展到整個(gè)計(jì)算機(jī)系統(tǒng)。然后通過對(duì)網(wǎng)絡(luò)驅(qū)動(dòng)進(jìn)行度量,通過后將平臺(tái)的控制權(quán)交給驅(qū)動(dòng),然后由驅(qū)動(dòng)對(duì)平臺(tái)信任服務(wù)(PTS)進(jìn)行度量,通過后控制權(quán)轉(zhuǎn)移到PTS 服務(wù),然后由PTS 服務(wù)對(duì)網(wǎng)絡(luò)連接進(jìn)行度量操作,系統(tǒng)的信任就這樣傳遞下來,從而達(dá)到網(wǎng)絡(luò)連接的可信。
基于TCM標(biāo)準(zhǔn)的可信計(jì)算平臺(tái),借鑒TCG的TNC規(guī)范,提出了一種可信網(wǎng)絡(luò)接入認(rèn)證模型,該模型采用先評(píng)估再接入認(rèn)證的方法,即客戶端首先對(duì)自己進(jìn)行評(píng)估,只有在認(rèn)為自己可信的情形下才向策略決定點(diǎn)申請(qǐng)接入請(qǐng)求,這樣做到有問題早發(fā)現(xiàn),提高了整個(gè)模型的執(zhí)行效率。并詳細(xì)闡述了整個(gè)接入認(rèn)證的詳細(xì)步驟及消息流程。此模型在TNC三層模型上增加了一層系統(tǒng)恢復(fù)層,服務(wù)端不再簡(jiǎn)單的將客戶端踢出網(wǎng)絡(luò),而是做出一個(gè)柔性的策略,允許客戶端進(jìn)入受限網(wǎng)絡(luò)進(jìn)行更新或客戶端通過系統(tǒng)恢復(fù)層修復(fù)系統(tǒng),給用戶一種可接受的處理模式,主動(dòng)升級(jí)和被動(dòng)恢復(fù)是可信網(wǎng)絡(luò)的需要,也是每個(gè)可信計(jì)算平臺(tái)的需要,主被動(dòng)相結(jié)合進(jìn)一步增強(qiáng)了網(wǎng)絡(luò)的健壯性。最后闡述了實(shí)現(xiàn)該模型使用的關(guān)鍵技術(shù)可信度量和信任鏈傳遞。該模型的正確實(shí)現(xiàn)需要安全增強(qiáng)操作系統(tǒng)以及相應(yīng)的服務(wù)處理組件等技術(shù)的支持。
[1] 林闖,彭雪海.可信網(wǎng)絡(luò)研究[J].計(jì)算機(jī)學(xué)報(bào),2005,28(05):751-758.
[2] 張新剛,劉妍.可信計(jì)算與可信網(wǎng)絡(luò)[J].信息安全與通信保密,2006(11):85-87.
[3] Trusted Computing Group. TCG Trusted Network Connect TNC Architecture for Interoperability. Specification v1.1 rev2[EB/OL].(2006-05-01).[2009-10-28].http://www.trustedco mputinggroup.org.
[4] Trusted Computing Group. TNC IF-TNCCS Specification v1.0[EB/OL].(2006-05-01).[2009-10-28].http://www.trustedcomput inggroup.org May 2006.
[5] Trusted Computing Group. TNC IF-T Specification v1.0[EB/OL] .(2006-05-01).[2009-10-28].http://www.trustedcomputinggroup org May 2006.
[6] Trusted Computing Group. TNC IF-IMC Specification v1.1 [EB/OL].(2006-05-01).[2009-10-28].http://www.trustedcomputinggroup org May 2006.
[7] Trusted Computing Group. TNC IF-PEP Specification v1.0[EB/OL] .(2006-05-01).[2009-10-28].http://www.trustedcomputinggroup org May 2006.
[8] Trusted Computing Group. TNC IF-IMV Specification v1.1 [EB/OL].(2006-05-01).[2009-10-28].http://www.trustedcomputinggroup org May 2006.
[9] 國家密碼管理局.可信計(jì)算密碼支撐平臺(tái)功能與接口規(guī)范[EB/OL].(2007-12-11)[2009-08-21].http://www.tjgmj.gov.cn/uploadfil e/2009 1228/20091228222134200.pdf.
[10] 朱慧君,李子臣.可信密碼支撐平臺(tái)的功能及原理[J].通信技術(shù),2009,42(06):115-117.