平震宇
(江蘇信息職業(yè)技術(shù)學(xué)院計(jì)算機(jī)工程系,江蘇無錫 214101)
網(wǎng)絡(luò)可信平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)
平震宇
(江蘇信息職業(yè)技術(shù)學(xué)院計(jì)算機(jī)工程系,江蘇無錫 214101)
介紹了網(wǎng)絡(luò)可信平臺(tái)的研究與實(shí)現(xiàn),采用可信度量機(jī)制以保證網(wǎng)絡(luò)計(jì)算終端的安全為基礎(chǔ),利用遠(yuǎn)程證明機(jī)制對(duì)網(wǎng)絡(luò)接入終端的可信性驗(yàn)證,根據(jù)驗(yàn)證結(jié)果決定對(duì)整個(gè)網(wǎng)絡(luò)計(jì)算環(huán)境的訪問控制,利用傳統(tǒng)網(wǎng)絡(luò)安全技術(shù)和可信計(jì)算技術(shù)實(shí)現(xiàn)了全新的網(wǎng)絡(luò)安全體系結(jié)構(gòu).
可信計(jì)算;可信認(rèn)證;遠(yuǎn)程證明;網(wǎng)絡(luò)安全
目前,大部分信息安全系統(tǒng)主要由防火墻、入侵監(jiān)測(cè)等環(huán)節(jié)組成,其主要以共享信息資源為中心在外圍對(duì)非法用戶和越權(quán)訪問者進(jìn)行封堵,以防止外部攻擊,而對(duì)訪問者源端不加控制.此外,由于操作系統(tǒng)的不安全因素導(dǎo)致系統(tǒng)出現(xiàn)各種漏洞,同時(shí),許多計(jì)算機(jī)應(yīng)用程序都采用分布式結(jié)構(gòu),整個(gè)系統(tǒng)為保證系統(tǒng)功能能正確執(zhí)行,客戶端組件在其中扮演著重要的角色.因而無法從根本上解決安全問題.造成終端不可信的原因很大程度上是因?yàn)榻K端上運(yùn)行了不可信的程序代碼,如果能夠識(shí)別出不可信的代碼程序,那么就有可能建立起一個(gè)安全可信的終端運(yùn)行環(huán)境[1].網(wǎng)絡(luò)可信平臺(tái)的核心思想是系統(tǒng)的啟動(dòng)從一個(gè)可信信任源開始,任何將要獲得控制權(quán)的實(shí)體,都需要先通過完整性認(rèn)證,從而通過構(gòu)建一套安全機(jī)制,來消除或者最大程度的限制惡意代碼的作用范圍和作用程度[2,3].
本文介紹了網(wǎng)絡(luò)可信平臺(tái)的研究與實(shí)現(xiàn),采用可信度量機(jī)制以保證網(wǎng)絡(luò)計(jì)算終端的安全為基礎(chǔ),利用遠(yuǎn)程證明機(jī)制對(duì)網(wǎng)絡(luò)接入終端的可信性驗(yàn)證,根據(jù)驗(yàn)證結(jié)果來確定對(duì)整個(gè)網(wǎng)絡(luò)計(jì)算環(huán)境的訪問控制,即利用傳統(tǒng)網(wǎng)絡(luò)安全技術(shù)和可信計(jì)算技術(shù)實(shí)現(xiàn)了全新的網(wǎng)絡(luò)安全體系結(jié)構(gòu).
針對(duì)當(dāng)前安全模型對(duì)可執(zhí)行權(quán)限沒有專門的定義和描述,設(shè)計(jì)出一種系統(tǒng)完整性度量模型,對(duì)客體的可執(zhí)行權(quán)限嚴(yán)格的定義和描述,對(duì)被執(zhí)行的客體實(shí)施完整性度量,確保其完整性不被破壞,防止惡意代碼的執(zhí)行,保護(hù)系統(tǒng)的完整性.
初始安全狀態(tài),即系統(tǒng)中不包含惡意代碼,所有可執(zhí)行代碼的完整性都沒有被破壞,那么在其他任意時(shí)刻,只要確保主體所執(zhí)行的代碼的完整性沒有被破壞,即代碼完整性特征值與預(yù)期完整性值相同,就可保證主體所執(zhí)行的代碼的安全,從而確保整個(gè)系統(tǒng)的完整性不被破壞.在系統(tǒng)運(yùn)行時(shí),僅當(dāng)可執(zhí)行程序是這個(gè)“白名單”的成員且保持完整性才被允許執(zhí)行.通常情況下,可執(zhí)行程序的運(yùn)行還需要其他的相關(guān)客體,如需要裝載的動(dòng)態(tài)庫(kù)、讀取配置文件、安全策略文件.如果這些與可執(zhí)行程序相關(guān)客體的完整性被破壞,就不可能保證主體所執(zhí)行的代碼的安全,更不可能確保整個(gè)系統(tǒng)的完整性不被破壞.如個(gè)人防火墻的安全策略文件被非法改變,由高安全性變?yōu)榈桶踩?這雖然也沒有破壞被執(zhí)行客體的完整性,但是卻使個(gè)人防火墻保護(hù)終端的能力降低,給系統(tǒng)的安全性帶來極大的隱患.基于上述思想,我們定義嚴(yán)格的安全公理.
定義1 si∈S,oi為一帶有惡意代碼的客體(oi∈O),if請(qǐng)求rq(si,oi,e)被允許,則系統(tǒng)被惡意代碼入侵.
定義2 fr為定義在客體o上的函數(shù),oi∈O, fr(o)={o和O執(zhí)行相關(guān)其他客體的集合}.如,fr (o)由可執(zhí)行的客體 o,及其 o執(zhí)行時(shí)需要輸入數(shù)據(jù),如加載的動(dòng)態(tài)庫(kù)、配置文件、安全策略文件等客體組成.
安全公理 一個(gè)系統(tǒng)狀態(tài)V為安全狀態(tài),iff b (S:e)?Op,且?oi∈b(S:e),?ok∈fr(oi),使得fc(ok)=unmodified.其中,b(s:x1,x2,…,xn)表示 b中主體S對(duì)其具有訪問權(quán)限xi的所有客體的集合.態(tài)序列 Z是一個(gè)安全狀態(tài)序列,iff對(duì)于每一個(gè)t∈T,z∈Z都是安全狀態(tài).
在模型中,我們對(duì)執(zhí)行權(quán)限做了嚴(yán)格的定義和描述.首先,客體的執(zhí)行權(quán)限必須由可信主體授權(quán),即只有經(jīng)過可信認(rèn)證的客體才可能被允許執(zhí)行.為了維護(hù)系統(tǒng)的完整性和一致性,在增加一個(gè)新的完整性保護(hù)的客體前,必須確保其完整性.因此,在安裝新軟件時(shí),通常要求軟件發(fā)布者對(duì)其發(fā)布軟件的摘要進(jìn)行數(shù)字簽名.即在安裝新軟件時(shí),由可信主體驗(yàn)證數(shù)字簽名和軟件的完整性后,才能將其加入到可信集合中.同時(shí),在允許客體執(zhí)行前,應(yīng)進(jìn)行嚴(yán)格的完整性度量,以確保客體以及與它相關(guān)的其他客體的完整性沒有被破壞,客體才能被允許執(zhí)行.完整性度量模型是對(duì)當(dāng)前安全模型的補(bǔ)充,它與其他安全模型的結(jié)合,可為系統(tǒng)提供更加細(xì)致和完善的安全策略.
為構(gòu)建可信網(wǎng)絡(luò)連接,我們必須把信任延伸到網(wǎng)絡(luò)中,而遠(yuǎn)程證明機(jī)制正是使信任能夠在網(wǎng)絡(luò)環(huán)境下傳遞的方法.遠(yuǎn)程證明的實(shí)質(zhì)是一種基于二進(jìn)制的完整性驗(yàn)證[1],該方式存在以下問題:①證明過程需要驗(yàn)證方知道各種平臺(tái)可能配置的完整性數(shù)據(jù),這些數(shù)據(jù)的獲得與管理較困難,因而該方式僅適用于封閉的網(wǎng)絡(luò)環(huán)境中;②平臺(tái)配置值的完整性狀態(tài)不能表達(dá)更多的平臺(tái)安全信息;③配置信息暴露會(huì)導(dǎo)致平臺(tái)更容易攻擊.
基于屬性的遠(yuǎn)程證明模型可以很好的解決上述問題[4].基于屬性的遠(yuǎn)程證明過程包含3個(gè)參與方:訪問請(qǐng)求者Challenger),不違反任何特定安全需要的實(shí)體——可信第三方(Trusted Third Parth,TTP),服務(wù)提供方.遠(yuǎn)程證明過程如圖1所示.
圖1 基于屬性的遠(yuǎn)程證明過程
遠(yuǎn)程證明過程具體為:第一步,發(fā)送被驗(yàn)證平臺(tái)的系統(tǒng)完整性報(bào)告給可信第三方;第二步,可信第三方根據(jù)這個(gè)完整性報(bào)告,并對(duì)照其擁有的屬性安全策略,包括平臺(tái)組件屬性及完整性特征值、運(yùn)行后平臺(tái)屬性以及基于平臺(tái)屬性的訪問控制策略,形成一個(gè)授權(quán)書;第三步,可信第三方頒發(fā)證書給被驗(yàn)證平臺(tái);第四步,被驗(yàn)證平臺(tái)向服務(wù)提供方證明自己的屬性和權(quán)限,獲得服務(wù)方資源.
這種基于屬性的遠(yuǎn)程證明機(jī)制有以下優(yōu)點(diǎn):①便于完整性數(shù)據(jù)的有效管理,易實(shí)現(xiàn)復(fù)雜開發(fā)網(wǎng)絡(luò)環(huán)境下的異構(gòu)平臺(tái)之間的驗(yàn)證;②根據(jù)訪問控制策略生成證書方式靈活;③避免直接暴露平臺(tái)配置給未知驗(yàn)證方;④用戶可以控制那些屬性用于平臺(tái)驗(yàn)證.
在建立可信網(wǎng)絡(luò)連接時(shí),網(wǎng)絡(luò)中的實(shí)體不僅要求鑒別身份,證明它們被授權(quán)允許訪問網(wǎng)絡(luò),而且要求驗(yàn)證它們運(yùn)行環(huán)境和程序是否可信.基于屬性的遠(yuǎn)程證明機(jī)制借助可信第三方擁有的完整性數(shù)據(jù)和屬性策略驗(yàn)證平臺(tái)的屬性,可以實(shí)現(xiàn)任意平臺(tái)間的認(rèn)證,使系統(tǒng)更適于開發(fā)的網(wǎng)絡(luò)環(huán)境[3,4].
可信網(wǎng)絡(luò)平臺(tái)本質(zhì)上就是采用可信度量機(jī)制以保證網(wǎng)絡(luò)計(jì)算終端的安全為基礎(chǔ),利用遠(yuǎn)程證明機(jī)制對(duì)網(wǎng)絡(luò)接入終端的可信性進(jìn)行驗(yàn)證,根據(jù)驗(yàn)證結(jié)果決定對(duì)整個(gè)網(wǎng)絡(luò)計(jì)算環(huán)境的訪問控制.可信網(wǎng)絡(luò)平臺(tái)系統(tǒng)結(jié)構(gòu)如圖2所示. 3.1 初始配置階段
圖2 可信網(wǎng)絡(luò)平臺(tái)系統(tǒng)結(jié)構(gòu)圖
完整性度量方法所具有的一個(gè)重要特點(diǎn)是:檢測(cè)結(jié)果依賴于檢測(cè)依據(jù),也就是預(yù)期完整性度量值.即只有首先確定度量依據(jù),才能進(jìn)行度量,度量依據(jù)的確定是度量方法的先決條件.保護(hù)存儲(chǔ)能針對(duì)需要保護(hù)的敏感文件實(shí)施機(jī)密性與完整性雙重保護(hù),通過對(duì)其加密確保其機(jī)密性,利用一致性檢查和禁止授權(quán)以外的其他程序或冒名的授權(quán)程序訪問文件確保其完整性[3].在初始配置時(shí),需要收集的信息包括:①系統(tǒng)和用戶的身份信息(Identity Information);②系統(tǒng)完整信息(Integrity Information)包括系統(tǒng)配置信息,應(yīng)用程序信息;③其他系統(tǒng)有效信息,包括注冊(cè)表掃描信息,病毒軟件掃描信息,端口掃描等信息.把所有終端信息生成摘要并使用TTP公鑰加密后保存在TTP的已經(jīng)建立好的PCR中.
3.2 可信第三方確認(rèn)階段
當(dāng)訪問請(qǐng)求者(Access Requestor,AR)需要通過策略實(shí)施點(diǎn)(Policy Enforcement Point)PEP進(jìn)行網(wǎng)絡(luò)訪問時(shí),策略實(shí)施點(diǎn)發(fā)送認(rèn)證請(qǐng)求給訪問請(qǐng)求者的可信認(rèn)證服務(wù).當(dāng)可信認(rèn)證服務(wù)收到認(rèn)證請(qǐng)求后,需要尋找合法的TTP,進(jìn)入到可信第三方確認(rèn)階段.
首先,可信認(rèn)證服務(wù)客戶端TASC產(chǎn)生一個(gè)160bit的隨機(jī)數(shù)random,發(fā)送確認(rèn)請(qǐng)求Chreq到TTP可信認(rèn)證服務(wù)服務(wù)端TASS;其次,TTP將自己的特征信息,以及TASC發(fā)送過來的random使用自己的私鑰AIK priv計(jì)算摘要Quote=sig{PCR,random}AIK-priv;再次,TTP發(fā)送回復(fù)信息到 TASC,ChRes (Quote);最后,TASC收到后,使用TTP證書中的公鑰驗(yàn)證接收到PCR以及random時(shí)候正確.如果驗(yàn)證正確說明可信第三方平臺(tái)是預(yù)期的合法平臺(tái),可以進(jìn)行下面的認(rèn)證階段.
3.3 可信認(rèn)證階段
當(dāng)訪問請(qǐng)求者找到合法的TTP后,開始可信認(rèn)證階段.具體步驟如下:第一步,TASC要求完整性度量收集器(Integrity Measurement Collectors,IMC)根據(jù)策略實(shí)施點(diǎn)發(fā)送認(rèn)證請(qǐng)求(即網(wǎng)絡(luò)訪問端口信息)查找網(wǎng)絡(luò)訪問者信息,計(jì)算訪問者可執(zhí)行程序、動(dòng)態(tài)庫(kù)、配置文件的Hash值,使用自己的私鑰簽名產(chǎn)生認(rèn)證信息,AuthData=sig{(Exec,LIB,Config File) hash}USERpriv,將認(rèn)證信息發(fā)送到TTP的TASS;第二步,TTP的TASS接受到信息后,由完整性度量鑒別器(Integrity Measurement Verifiers,IMV)對(duì)IMC信息進(jìn)行分析,如果IMV需要更多的完整性信息,它將向TASC發(fā)送信息.如果IMV己經(jīng)對(duì)IMC的完整性信息做出判斷,它將結(jié)果通過發(fā)送給TTP的TASS;第三步,當(dāng)TASS已經(jīng)完成了和TASC之間的完整性檢查握手后,它發(fā)送TASS動(dòng)作建議給NAA.這里要注意的是,即使AR通過了TASS的完整性檢查,如果它的某些安全屬性不滿足NAA的要求,NAA仍然可以拒絕AR的網(wǎng)絡(luò)訪問請(qǐng)求;第四步,NAA發(fā)送網(wǎng)絡(luò)訪問決策給PEP讓其執(zhí)行.NAA也必須向TASS說明它最后的網(wǎng)絡(luò)訪問決定,這個(gè)決定也將會(huì)發(fā)送給TASC.一般PEP還要向TTP說明其執(zhí)行決策的情況.
當(dāng)合法訪問程序被病毒或木馬感染后,簽名值將發(fā)生改變,網(wǎng)絡(luò)可信平臺(tái)在比較簽名值后,能在被病毒或木馬感染的程序建立網(wǎng)絡(luò)通訊之前中斷通訊.基于此原理,即便是未知的病毒或木馬都無法傳播到核心數(shù)據(jù)服務(wù)網(wǎng)絡(luò).
3.4 系統(tǒng)實(shí)現(xiàn)與分析
本文在Xen隔離Compartment的平臺(tái)上實(shí)現(xiàn)電子政務(wù)可信網(wǎng)絡(luò)平臺(tái)系統(tǒng).系統(tǒng)中可信硬件層使用的是符合TPM規(guī)范的Nation SemiConductor TPM安全芯片.使用開源虛擬機(jī)控制器Xen實(shí)現(xiàn)虛擬機(jī)監(jiān)控層,Xen Hypervisor實(shí)現(xiàn)各虛擬機(jī)的強(qiáng)隔離,可信第三方平臺(tái)的TASS,NAA,IMV分別運(yùn)行于虛擬機(jī)的操作系統(tǒng)內(nèi)核中.終端IMC與TASC分別在windows與linux系統(tǒng)上實(shí)現(xiàn).
電子政務(wù)公文傳輸系統(tǒng)運(yùn)行環(huán)境由收發(fā)文終端以及應(yīng)用服務(wù)器構(gòu)成.收發(fā)文終端一般構(gòu)成為:個(gè)人計(jì)算機(jī)、USBKEY驅(qū)動(dòng)程序和TASC.應(yīng)用服務(wù)器則由TASS,中心數(shù)據(jù)庫(kù)服務(wù)器,身份認(rèn)證服務(wù)器等構(gòu)成.收發(fā)文終端的安全狀況依賴于終端個(gè)人計(jì)算機(jī)的安全配置.USBKEY驅(qū)動(dòng)程序和TASC,只是作為一般的應(yīng)用程序裝入操作系統(tǒng).其安全性也依賴于個(gè)人計(jì)算機(jī)的安全性.一旦個(gè)人計(jì)算機(jī)的安全防御被攻破就暴露在不安全狀態(tài)下,有可能被惡意木馬或者病毒改寫.應(yīng)用服務(wù)器的狀況也大致類似,并且公文傳輸?shù)南到y(tǒng)服務(wù)程序以及包含用戶的各種信息的數(shù)據(jù)庫(kù)的安全性也依賴于應(yīng)用服務(wù)器計(jì)算機(jī)的安全配置.一旦服務(wù)器崩潰,不但正常的服務(wù)受影響,更有信息泄漏的危險(xiǎn).為解決上述安全隱患,電子政務(wù)可信網(wǎng)絡(luò)平臺(tái)系統(tǒng)具體方案實(shí)現(xiàn)如下:
在初始化階段,對(duì)應(yīng)用程序做完整性記錄,進(jìn)而在運(yùn)行使用階段,對(duì)應(yīng)用程序做完整性檢測(cè),如果檢測(cè)結(jié)果與記錄不一致,則發(fā)出警報(bào).對(duì)于終端方面,當(dāng)接收到認(rèn)證請(qǐng)求時(shí),IMC模塊度量可執(zhí)行程序和相關(guān)的系統(tǒng)和動(dòng)態(tài)鏈接程序,需要度量的部件是USBKEY驅(qū)動(dòng)程序和安全中間件.安全啟動(dòng)在裝載操作系統(tǒng)之前開始,包括度量操作系統(tǒng)的組件.內(nèi)核組件裝載執(zhí)行之后,它們度量驗(yàn)證其他平臺(tái)安全策略指定的組件.如果度量驗(yàn)證過程中任何時(shí)刻發(fā)現(xiàn)背離安全策略的情況,平臺(tái)可以選擇中止執(zhí)行,或者選擇繼續(xù)啟動(dòng)到一個(gè)等待修正的狀態(tài),以便更新組件或者安全策略.USBKEY驅(qū)動(dòng)程序在安裝過程中作為操作系統(tǒng)的服務(wù)嵌入操作系統(tǒng),對(duì)其實(shí)現(xiàn)的度量可以把它看作操作系統(tǒng)的某一個(gè)組件,在安全啟動(dòng)過程就實(shí)施度量.鑒于USBKEY驅(qū)動(dòng)是基于系統(tǒng)標(biāo)準(zhǔn)接口開發(fā)的,未經(jīng)授權(quán)的程序也有可能調(diào)用該驅(qū)動(dòng),進(jìn)而取得數(shù)字證書等用戶相關(guān)信息數(shù)據(jù).為此,應(yīng)用TPM的安全存儲(chǔ)機(jī)制,對(duì)USBKEY中的證書等信息數(shù)據(jù)進(jìn)行封裝再存儲(chǔ),安全中間件調(diào)用驅(qū)動(dòng)程序取得數(shù)據(jù)之后,經(jīng)過TPM的解封裝再使用,如此將大大增強(qiáng)系統(tǒng)身份認(rèn)證的安全系數(shù).中間經(jīng)過TPM的可信保障,未授權(quán)的程序即使取得用戶數(shù)據(jù),也因?yàn)椴荒芡ㄟ^TPM的驗(yàn)證而得不到數(shù)據(jù)的解封裝,從而無法使用.安全中間件主要負(fù)責(zé)向身份認(rèn)證服務(wù)器發(fā)送身份認(rèn)證請(qǐng)求,對(duì)其實(shí)現(xiàn)的度量可以在用戶單點(diǎn)登陸時(shí),作為裝載的應(yīng)用程序進(jìn)行度量. TASS維護(hù)與各個(gè)AR的會(huì)話組件樹.TASC與TASS進(jìn)行通信認(rèn)證時(shí),TASS新建會(huì)話,首次證明時(shí)將計(jì)算整個(gè)會(huì)話組件樹,用根節(jié)點(diǎn)擴(kuò)展PCR,TPM簽名生成證明憑證,當(dāng)與AR關(guān)聯(lián)組件發(fā)生更新時(shí),組件管理器將觸發(fā)TASS對(duì)會(huì)話樹進(jìn)行更新.TASS將收集的信息協(xié)同完整性度量鑒別器IMV完成檢驗(yàn)工作后發(fā)送結(jié)果給NAA.最后,NAA告知執(zhí)行機(jī)構(gòu).在實(shí)驗(yàn)中,系統(tǒng)進(jìn)行組件證明的平均通信時(shí)間為1.315 s,更新證明平均時(shí)間為1.123 s.此也表明,系統(tǒng)能夠滿足終端的訪問請(qǐng)求延時(shí)要求.
本文將傳統(tǒng)的網(wǎng)絡(luò)安全技術(shù)和可信計(jì)算技術(shù)有機(jī)結(jié)合,建立可信網(wǎng)絡(luò)體系結(jié)構(gòu),從而構(gòu)建可信應(yīng)用環(huán)境.采用可信度量機(jī)制以保證網(wǎng)絡(luò)計(jì)算終端的安全為基礎(chǔ),并利用遠(yuǎn)程證明機(jī)制對(duì)網(wǎng)絡(luò)接入終端的可信性驗(yàn)證,從而為網(wǎng)絡(luò)計(jì)算環(huán)境穩(wěn)定、安全地運(yùn)行提供可靠保證.
[1]王 飛,劉 毅.可信計(jì)算平臺(tái)管理中心的設(shè)計(jì)與實(shí)現(xiàn).微計(jì)算機(jī)信息,2007,24(3):91-93.
[2]Anderson R.Cryptography and Competition Policy Issues with“Trusted Computing[C]//Proc.22nd ACM Ann.Symp.Principles of Distributed Computing.New Y ork:ACM Press,2003.
[3]Marshall D A,Michael V J.Trusted systems concepts[J].Computer and Security,1995,103(14):45-56.
[4]沈昌祥.構(gòu)造積極御綜合防護(hù)體系[J].信息安全與保密, 2004,22(5):17-18.
[5]閔應(yīng)驊.可信系統(tǒng)與網(wǎng)絡(luò)[J].計(jì)算機(jī)工程與科學(xué),2001,23 (5):21-28.
[6]Anderson RJ.Security engineering:A guide to building dependable distributed systems[M].New Y ork:Wiley Press,2001.
Design and Realization of Trusted Network Platform
PING Zhenyu
(Department of Computer Engineering,Jiangsu College of Information Technology,Wuxi 214101,China)
The research and implementation of trusted network platformwas introduced,which was based on the security of network calculating termination by reliability measuring system.Telnet was used to confirm the reliability that the system has to the network input termination.With the confirmed outcomes,access control for the whole calculating environment would be decided.The traditional network security technology and trusted computing technology were used to realize a brand-new network security system.
trusted computing;trusted certification;remote attestation;network security
TP309
:A
1004-5422(2010)02-0150-04
2010-01-26.
平震宇(1975—),男,講師,從事計(jì)算機(jī)網(wǎng)絡(luò)與數(shù)據(jù)庫(kù)安全研究.