胡兆瑋
(吉林師范大學(xué) 計算機(jī)學(xué)院,吉林 四平 136000)
使用控制UCON(Usage Control)系統(tǒng)主要關(guān)注客體資源被發(fā)布到一個遠(yuǎn)程操作平臺后的使用情況,由于客體資源的所有者并不能完全控制客體的使用情況[1],因此,客體資源所有者必須在遠(yuǎn)程操作平臺上建立可信的使用控制措施,保證客體完全按照預(yù)期的、可行的策略被使用.屬性是UCON系統(tǒng)中的重要因素,對資源的使用必然會引起屬性的變化.用戶要想在遠(yuǎn)程客戶端執(zhí)行屬性更新的相關(guān)操作,則其操作行為必須符合遠(yuǎn)程操作的訪問策略要求[2].為了防止信息泄露,客體資源所有者必須采用一定的遠(yuǎn)程訪問策略來確保所有信息都流向既定的目標(biāo);如果信息被導(dǎo)向未被授權(quán)的單元,則該操作不符合訪問策略的要求.通過監(jiān)測客戶端的屬性更新行為和信息流在遠(yuǎn)程客戶端的流向,可以有效地防止信息外泄,確保信息安全[3].
本文從使用控制系統(tǒng)的信息安全角度出發(fā),定義并討論了UCON系統(tǒng)中的屬性更新行為和信息流向行為,并進(jìn)一步探討了其安全問題.
屬性(Attribute)是一個與系統(tǒng)狀態(tài)相關(guān)聯(lián)的變量,每個實體都由一個非空、有限的屬性集來表示,如組關(guān)系、角色、安全標(biāo)簽等.屬性更新AU(Attribute Update)是一種對系統(tǒng)狀態(tài)進(jìn)行改變的行為.系統(tǒng)對屬性更新行為的監(jiān)控,由行為管理單元BM(Behavior Manager)負(fù)責(zé).BM是安裝在客戶端的UCON設(shè)施,它在可信計算基規(guī)則下捕捉所有屬性更新行為和信息流動的變化行為,與訪問者進(jìn)行交互.BM綜合執(zhí)行一個或多個屬性更新進(jìn)程AUP(Attribute Update Procedure),AUP運行于客戶端,主要負(fù)責(zé)客戶端的屬性更新,其輸入有兩種類型,客體的屬性和常量.當(dāng)用戶試圖去執(zhí)行屬性更新進(jìn)程AUP行為,或隨后執(zhí)行的一系列屬性更新行為,都被記錄在一個屬性流圖AFG(Attribute Flow Graph)中.
定義1:屬性流圖AFG(Attribute Flow Graph)是一個有向圖(G,V),其中G是表示客體屬性或常量的點集合,V是表示屬性更新的線集合.屬性流圖主要用來儲存的是更新的屬性和執(zhí)行這種更新所需要的輸入量之間的關(guān)系.從oi.a到oj.b的有向線表示oi.a的屬性更新,形式化表示為(oi.a=dom(ATT),oj.b=dom(ATT)),即對oi.a進(jìn)行屬性更新操作后變?yōu)閛j.b.所有由常量組成的點的集合叫常量集(CONST).
圖1 屬性流圖
屬性流圖結(jié)構(gòu)如圖1所示,從圖中可以看出,對同一個客體屬性集,對AUP輸入不同的值,會執(zhí)行不同的屬性更新.在屬性流圖中,從目標(biāo)點指向一個常量點的有向線表示把一個客體的屬性更新為一個常量.
在一個可信計算基結(jié)構(gòu)中,AFG的初始值和對初始值所執(zhí)行的一系列操作都被記錄在屬性更新日志AUL(Attribute Update Log)中.在初始化階段,BM利用初始化標(biāo)識INIT首先對AUL進(jìn)行初始化,隨后便時刻監(jiān)控所有的屬性更新進(jìn)程AUP,一旦收到訪問信號,BM馬上在AUL中創(chuàng)建一個實體.任何對AUL的操作都會通過注冊表擴(kuò)展行為模塊pcr_extend記錄在遠(yuǎn)程平臺配置注冊表PCR(Platform Configuration Registor)中,如圖2所示.
圖2 屬性更新日志
屬性更新進(jìn)程(AUPx)主要負(fù)責(zé)執(zhí)行一些特殊的更新行為,而這些操作也會通過注冊表擴(kuò)展行為模塊pcr_extend記錄在遠(yuǎn)程平臺配置注冊表PCR中.執(zhí)行一個更新操作后,PCR最終的屬性更新值可以通過以下公式計算.
PCR= SHA-1(SHA-1(PCR||
當(dāng)管理員獲得屬性更新日志AUL時,會運用基本策略,將其與訪問策略的規(guī)則比對、檢查,以確保在客戶端執(zhí)行的所有屬性更新行為可信、合法.
為確保發(fā)生在遠(yuǎn)程客戶端的屬性更新行為是可信的,管理員必須確信對于每一種更新行為,在客戶端都存在一個滿足其要求的基本策略;此外,還必須確信負(fù)責(zé)執(zhí)行屬性更新的更新進(jìn)程是可信的.因此,必須按以下步驟對可信性、合法性做出檢測和判斷.
①首先確定在客戶端對配置注冊表PCR進(jìn)行的操作行為是可信的,確保PCR的安全性、可信性.
②確信屬性更新日志AUL與客戶端配置注冊表PCR對應(yīng)一致.在AUL中記錄的對象和屬性更新進(jìn)程都會賦予PCR一個最終的值,因此,需要確定對AUL修改都對應(yīng)于PCR的返回值.對AUL中的每一個實體AUL,對應(yīng)PCR的值PCR可通過以下公式計算.
PCR=SHA-1(SHA-1(PCR
③在屬性更新行為檢測中,必須依據(jù)基本策略來確保在所有屬性更新行為中并不存在針對目標(biāo)平臺的非法更新行為,且負(fù)責(zé)執(zhí)行更新操作的更新進(jìn)程是可信的.在AFG中,對代表屬性更新的每一條邊,必然存在一個對其相應(yīng)屬性進(jìn)行更新的基本策略.常量的屬性更新,必須與滿足基本策略的常量集相一致.
該過程可以形式化定義為:
定義2:
?v∈V?cn∈Cn?uo∈Cn.target(uo)=target(v)
∧?s∈sources(uo).s=source(v)
∧?o.a∈v.value(o.a)=avalue(o.a,uo)
其中,uo是基本策略Cn中的更新操作,target(uo)是更新操作的輸出,sources(uo)是對更新操作的輸入,value(o.a)是在更新進(jìn)程中返回的客體o的屬性a的值,avalue(o.a,uo)是從屬性元組uo中返回的屬性o.a的屬性值.
如果以上條件完全滿足AFG,則資源所有者可以肯定在客戶端執(zhí)行的所有的屬性更新操作,都完全符合UCON使用策略的要求.因此,屬性更新行為AU可定義為:
定義3:
AU.behavior=trusted if and only if
?v∈V?cn∈Cn?uo∈Cn.target(uo)=target(v)
∧?s∈sources(uo).s=source(v)
∧?o.a∈v.value(o.a)=avalue(o.a,uo)
∧?a∈AUPx.a.behavior=trusted
因此,發(fā)生在客戶端的所有屬性更新行為都符合資源所有者制定的使用控制策略中的基本策略,且所有負(fù)責(zé)對目標(biāo)客體執(zhí)行屬性更新的進(jìn)程都是可信的,則屬性更新行為是可信的,對客體資源的使用是安全的.
信息流IF(Information Flow)概念是由 Denning 教授于1976 年提出來,指信息間相互影響交互的一種關(guān)系,在使用控制系統(tǒng)中對信息流的控制的主要目的是控制信息的非授權(quán)流動.在UCON系統(tǒng)中,為監(jiān)控和掌握信息的流向,行為管理機(jī)BM主要通過信息流向管理機(jī)IFM(Information Flow Manager)來執(zhí)行該功能,作為UCON中重要的實施部分,IFM主要通過維護(hù)訪問權(quán)限圖結(jié)構(gòu)的完整性,來確保信息的安全性.
定義4:訪問權(quán)限圖ARG(Access Rights Graph)是一個有向圖(H,W),其中H是所有客體組成的點集合,W是所有權(quán)限組成的權(quán)限集合.訪問權(quán)限圖是記錄一個客體被授予對其他客體訪問許可權(quán)信息的圖狀結(jié)構(gòu).從h1到h2的有向邊r表示h1擁有對h2的訪問權(quán)限r(nóng),其中h1,h2∈H,R∈2R,R表示權(quán)限集合.
圖3 訪問權(quán)限圖
圖3表示一個訪問權(quán)限圖,在該圖中,從s2到o1和o3的有向線段表示s2對o1擁有刪除權(quán),對o3擁有打印權(quán).與屬性流圖AFG相同, ARG的初始值保存在訪問權(quán)限日志ARL(Access Right Log)中,在初始化階段,ARL通過初始化標(biāo)志INIT完成初始化.UCON的決策模塊作出任何的決策,都會被ARL捕獲,且記錄在ARL中.在ARL中通過增加實體來記錄額外的節(jié)點,如果這樣的邊在ARG中不存在,則增加一條從s到o的一條有向邊r,且在集合中增加元素r.如果該有向邊已存在,權(quán)限r(nóng)將被添加到代表權(quán)限的邊的集合中.在ARL中每增加一個實體,都表示s對o的額外訪問權(quán)限的授予.圖4顯示一個由不同使用決策生成的訪問權(quán)限日志ARL.
圖4 訪問權(quán)限日志
ARL每增加一個實體,其哈希結(jié)構(gòu)圖將會通過信息流管理器進(jìn)行計算后擴(kuò)展,且通過注冊表擴(kuò)展行為模塊pre_extend對配置注冊表PCR中儲存的值進(jìn)行擴(kuò)展.在管理員認(rèn)證期間,ARL和PCR返回值都必須與資源所有者預(yù)定的使用策略結(jié)構(gòu)相對應(yīng).
為了保證ARL的安全性、可信性,必須確定PCR返回值的可信性,在ARL中的每一個實體ARL都被順次賦予PCR中最終的值.PCR的值可以通過以下公式計算.
PCR=
SHA-1(PCR||SHA-1(AUL)
通過檢測ARL中的實體,資源所有者可以確定ARL是否被篡改.對于ARL中的每一個實體,在ARL圖中均會有所體現(xiàn),系統(tǒng)在生成ARG圖的同時,會相應(yīng)地生成一個信息流圖.
定義5:信息流圖IFG (Information Flow Graph)是一個有向圖(I,U),其中I是由表示客體的節(jié)點組成的點集合,U是在有向邊中表示可能的信息流向的邊的集合.從i1到i2的邊表示信息可能由i1流向i2,其中i1,i2∈I.
圖5 信息流圖
ARG是IFG的基礎(chǔ),IFG圖中的每一個實體,都是ARG圖中客體的體現(xiàn).在ARG圖中,從s引出的分別指向o1和o2的有向圖表示s分別擁有對o1和o2進(jìn)行某些操作的權(quán)限;而在IFG圖中,孤立的節(jié)點表示無信息流向,且這種節(jié)點會被刪除.IFG圖結(jié)構(gòu)如圖5所示,分別有信息流向o1和o2,而o3 無信息流,將會被刪除.
IFG圖和ARG圖一一對應(yīng),資源所有者可以通過檢測它們之間的一致性來判斷信息流向的安全性.
因此,訪問權(quán)限圖中每一個節(jié)點、每一條邊的增加和刪除都符合訪問控制策略,訪問權(quán)限日志未被非法篡改,且ARG圖、ARL表和IFG圖完全,則信息流行為是可信的,對客體資源的使用是安全的.
屬性更新是促使系統(tǒng)狀態(tài)發(fā)生轉(zhuǎn)變的重要因素,包括使用控制的可變性和使用決策的連續(xù)性,是使用控制系統(tǒng)中的一個重要特性,屬性更新行為是信息安全系統(tǒng)需要考慮的首要行為.隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,信息流安全日益受到重視,信息流安全策略也變得越來越重要.與傳統(tǒng)訪問控制策略相比,通過規(guī)定系統(tǒng)中不同客體間的信息流動關(guān)系來保證信息的合法流動.當(dāng)屬性更新行為可信時,表明所有訪問符合訪問策略,系統(tǒng)中對信息資源的使用是安全的.同時,如果遠(yuǎn)程訪問中信息資源的流向是可靠的,即信息流都按照既定的訪問策略流動,則訪問也是安全的、可信的.用戶對客體資源的使用,必然會導(dǎo)致客體資源的屬性發(fā)生變化,并引起系統(tǒng)中的信息流動.如果屬性更新是可信的,信息流動是可靠的,則遠(yuǎn)程認(rèn)證是有效的,資源使用是安全的.
使用控制模型是一個高度靈活、功能強大的訪問控制模型,它允許資源管理者為資源定制詳細(xì)的訪問控制策略,同時通過遠(yuǎn)程認(rèn)證支持客戶端的遠(yuǎn)程使用.本文從信息安全的角度入手,深入研究了UCON系統(tǒng)中的兩種重要行為:屬性更新行為和信息流行為,詳細(xì)討論了如何儲存、監(jiān)控這兩種行為,以確保遠(yuǎn)程認(rèn)證的有效性;同時系統(tǒng)地論證了資源管理者如何通過這兩種行為確定本地信息資源的安全性和遠(yuǎn)程客戶端操作的可信性.