劉國華
廣州海格通信集團股份有限公司,廣東 廣州 510663
隨著計算機網(wǎng)絡(luò)和通信技術(shù)的迅猛發(fā)展,信息資源由集中存儲轉(zhuǎn)為分布存儲,網(wǎng)絡(luò)應(yīng)用服務(wù)層出不窮,當(dāng)前我們面臨一個由眾多分布、異構(gòu)和自治的資源和服務(wù)系統(tǒng)組成的多管理域環(huán)境[1]。分布性、異構(gòu)性、自治性、動態(tài)性是當(dāng)前多管理域環(huán)境的典型特征。隨著企業(yè)和用戶需求不斷提高,越來越多的應(yīng)用需要獲取和使用不同管理域上的資源和服務(wù),實現(xiàn)多個軟硬件協(xié)同操作。然而,這些資源和服務(wù)可能分布在異構(gòu)環(huán)境的多個管理域中,這給多管理域中的任務(wù)執(zhí)行帶來了新的安全問題,特別是工作流安全。一個工作流由若個干子任務(wù)按照一定的邏輯時序組成,子任務(wù)可能涉多個不同的管理域環(huán)境,而不同的管理域可能采用不同的計算模式和安全策略實現(xiàn)機制。即使是同一計算模式下不同的管理域,其安全策略的數(shù)據(jù)格式、數(shù)據(jù)語義、存儲語義等也往往是異構(gòu)的。在多管理域環(huán)境中,為了保證工作流任務(wù)安全執(zhí)行,工作流訪問策略是這些異構(gòu)策略按某種邏輯的時序組合,其基本需求是實現(xiàn)一定的訪問主體在一定的時間段或者時間周期內(nèi)對一定的客體的訪問權(quán)限。
在多管理域環(huán)境中,如何在多個可供選擇的安全訪問策略中選取出一個安全級別更高的策略來執(zhí)行子任務(wù)將是需要解決的一個問題。傳統(tǒng)的做法是進行靜態(tài)分配,但是,隨著網(wǎng)絡(luò)應(yīng)用難度和復(fù)雜度日益提高,安全策略的人為靜態(tài)分配將變得越來越不可行。文獻[2]將風(fēng)險的概念引入訪問控制作為一種基本屬性并進行具體量化。策略之間的風(fēng)險等級往往不相同,風(fēng)險等級越低,安全級別越高,反之亦然。
很多策略訪問控制語言允許一個策略包含多個子策略,如XACML[3],SPL,EPAL,XACL和防火墻策略語言,其中XACML提供跨平臺且靈活的方式 ,而且應(yīng)用最為廣泛。但是,采用XACML描述訪問控制策略組合時,也存在以下問題:①沒有體現(xiàn)單個子策略之間風(fēng)險等級;②沒有提供分布式環(huán)境下根據(jù)用戶請求動態(tài)進行策略組合算法描述方法。
針對以上問題,根據(jù)文獻[2]提取策略的相關(guān)特征,擴展XACML引入相對應(yīng)的特征元素,描述訪問控制策略之間的安全等級;并且基于XACML提出一種基于用戶請求的可描述的策略組合算法的形式化方法。本文的組織結(jié)構(gòu)如下:第2節(jié)介紹相關(guān)工作;第3節(jié)是工作流策略風(fēng)險描述以及提出新的一種描述方法來描述新的策略描述算法;接下來第4節(jié)對全文進行總結(jié)和展望。
近年來,工作流訪問控制成為國內(nèi)學(xué)者研究的熱點,并且取得重大的突破,提出了許多的工作流訪問控制模型,如:基于角色的工作流訪問控制模型[4]、基于任務(wù)的工作流訪問控制模型、基于工作流狀態(tài)的訪問控制模型、面向服務(wù)的工作流訪問控制模型等。
在工作流訪問控制模型發(fā)展的同時,策略描述語言也取得了長足發(fā)展,其中以XACML為典型代表。XACML由三個元素組成:規(guī)則、策略和策略集。策略集中的策略通過組合算法組合起來,得出一個效果,作為策略集的最終效果。但沒有提供描述一個策略的安全等級的元素,進而也沒有體現(xiàn)策略集的安全等級。XACML策略組合標(biāo)準(zhǔn)組合算法(Policy Combining Algorithm,PCA)有允許重寫、否定重寫、第一個可用和只有一個可用。多管理環(huán)境的一個顯著特點是自治,各自管理自已的用戶以及權(quán)限配置。這種方式的一個顯著特點即用戶集合不可預(yù)知。如何描述根據(jù)用戶請求動態(tài)策略組合算法,XACML沒有提供支持方式。
(3)金融結(jié)構(gòu)通過促進人才流動加速技術(shù)轉(zhuǎn)移和擴散。Alfaro et al的研究表明,金融市場的發(fā)展對人力資本的成長和先進技術(shù)的吸收具有顯著的正向作用。[23]王永齊則認為金融市場效率將增強資本的可獲得性,促進R&D企業(yè)內(nèi)部人力資本學(xué)習(xí)水平上升,進而提高人力資本由R&D企業(yè)流出轉(zhuǎn)而建立自己的企業(yè),從而加速技術(shù)擴散。[24]李平和許家云的研究進一步佐證了這一傳導(dǎo)途徑,他們采用中國1997—2008年30個省份的面板數(shù)據(jù)檢驗了金融結(jié)構(gòu)對海歸歸國創(chuàng)業(yè)的影響,得出金融市場通過鼓勵海歸創(chuàng)業(yè),促進技術(shù)轉(zhuǎn)移和擴散效果,最終加速了中國技術(shù)進步和高新產(chǎn)業(yè)發(fā)展,而金融中介這一效果并不明顯。[25]
針對以上問題,本文主要貢獻在于:
(1) 根據(jù)策略的風(fēng)險屬性,提取相應(yīng)特征,在XACML中引入相對應(yīng)元素,達到直觀、簡潔體現(xiàn)策略之間的安全等級;
(2) 對XACML標(biāo)準(zhǔn)策略組合算法,提出一種基于用戶請求的策略組合算法形式化描述方式。
在工作流的任務(wù)執(zhí)行過程中,子任務(wù)有多種可供選擇的安全策略,如何評估一條策略的安全等級將是研究的一個重點。安全與風(fēng)險是相對的,安全級別越高,風(fēng)險越低,反之亦然。因此,一些學(xué)者在研究中將風(fēng)險作為訪問控制策略的一個基本屬性并具體量化,文獻[2]將風(fēng)險形式化表示如下:
其中RB(perm)代表風(fēng)險等級,aOL表示對非授權(quán)訪問的客體對象的價值的評估,aSL表示對用戶主體信任度的評估[5],m表示訪問事件中所有客體對象的安全等級的極限,mid 為TI取值范圍的中點,k表示傾斜系數(shù)[6]。從公式(3_1_1)和(3_1_2)可以看出,風(fēng)險依賴于參數(shù)OL、SL和K。擴展XACML策略描述語言中,在規(guī)則的條件元素中引入相對應(yīng)的風(fēng)險特征子元素,一般形式描述如下:
其中<Risk>代表風(fēng)險元素,包含子元素非授權(quán)訪問客體對象的安全級元素< RiskOL>、訪問事件主體的安全級元素<RiskSL>和傾斜系數(shù)<RiskSlope>。<Condition>元素可以零個或者多個<Risk>子元素,而<Risk>元素與其子元素一一對應(yīng)。
多管理域中工作流由多個子工作流組成,但每個子工作流占有的重要權(quán)重有所不同,比如網(wǎng)絡(luò)管理系統(tǒng)中故障管理流程,包括發(fā)現(xiàn)故障、找到故障源和處理故障,其中找到故障源的子流程排除故障源按應(yīng)用層、傳輸層、網(wǎng)絡(luò)層、數(shù)據(jù)鏈路層和物理層依次排查,越到底層,訪問級別越高,占有的權(quán)值越高,因此,工作流策略組合的風(fēng)險值為各個子策略的風(fēng)險值求權(quán)之和,即:
其中RB(total)代表整個工作流風(fēng)險總和,RB(perm)i代表單個子任務(wù)風(fēng)險等級,Ki代表子任務(wù)在整個工作流任務(wù)的權(quán)值。
在多域環(huán)境中,工作流訪問控制策略是由多個在不同管理域中的異構(gòu)策略按時序組合而成。當(dāng)外部域的一個主體請求訪問一個本地域的資源時,可以將外部域中的訪問請求形式化為一個時間序列:REQ(req(1),req(2),…,req(n)).某個具體的外部域中的主體訪問請求可以表示成:REQ={({O,A})},其中請求序列中的每個元素表示為二元組集合{<O,A>},表示請求主體所請求的本地域中的客體對象及其操作。
在XACML描述策略組合時,策略集中的策略按照策略組合算法,得出的四種效果,即:允許(P)、否定(D)、不可用(NA)和不確定(IN)。一般來說,一個指定的策略組合算法組合的子策略應(yīng)該是有限個。依照以下定義1,從兩個子策略的組合擴展到有限個子策略的組合,即從一個策略組合操作擴展到策略組合算法:
定義1:設(shè)∑={P,D,NA,IN}。當(dāng)給定一個策略組合操作h∶∑×∑=∑,那么它的遞歸策略組合算法PCA函數(shù)g∶∑* → ∑定義如下:
g(φ)=NA (表示子策略為空時,返回結(jié)果為不可用)
g(x)=x;
g(x1,x2)=h(x1,x2);
g(x1,…,xn)=h(g(x1,…,xn-1),xn) n>2
依據(jù)以上定義,當(dāng)從第一個子策略組合到最后一個子策略時,組合策略結(jié)果就是把第一個和第二個策略組合,再把結(jié)果與第三個子策略組合,依此下去。
從定義1可以看出,文獻沒有考慮用戶的請求的動態(tài)性,是一種靜態(tài)的策略組合形式化描述。但從中我們可以得到啟發(fā),推導(dǎo)出一種根據(jù)用戶請求動態(tài)策略組合形式化方式。設(shè)請求序列R={req1,req2,…,reqi,..ε},其中ε代表空請求,∑={P,D,NA,IN},Z={R,∑},一個動態(tài)策略組合操作(Dynamic Policy Combining Operator,DPCO)利用二元操作符可表示成k:Z×Z=Z。那么,依照定義2,從動態(tài)策略組合操作可擴展成動態(tài)策略組合算法。
定義2:設(shè)請求序列R={req1,req2,…,reqi,..
ε},a其中ε代表空請求,∑={P,D,NA,IN},Z={R,∑}。那么,遞歸動態(tài)策略組合算法DPCA函數(shù) l∶
Z*→ Z定義如下:
l(ε,x)=x (當(dāng)請求為空時,策略效果保持不變);
l((r1,x1),(r2,x2))=k((r1,x1),(r2,x2));
l((r1,x1),(r2,x2)…(rn,xn))=k(l((r1,x1),(r2,x2)…(rn-1,xn-1)),rn,xn);(n>2)
圖2 XACML基本PCA有限狀態(tài)圖
根據(jù)以上策略組合函數(shù)g,可通過確定限自動機(Deterministic finite automaton DFA)來描述策略組合算法。XACML標(biāo)準(zhǔn)策略組合算法:否定重寫和允許重寫有限狀態(tài)轉(zhuǎn)換圖如圖1(a)和(b)所示。我們也利用確定型有限狀圖來描述動態(tài)策略組合函數(shù)。Z={R,∑ }為DFA的輸入集合,Z∪{S}為DFA的狀態(tài)轉(zhuǎn)換集合,S為起始狀態(tài)。由于XACML策略組合效果已經(jīng)固定,動態(tài)策略組合有限狀態(tài)圖與策略組合有限狀圖基本一致,但也有區(qū)別。動態(tài)策略的輸入值為一對值Z=(R, ∑),在利用以下有限狀態(tài)圖時,需將Z映射到∑。在此,引入一個前置處理,實現(xiàn)Z到∑的映射。
當(dāng)外部域的一個主體請求訪問一個本地域的資源時,可以將外部域中的訪問請求形式化為一個時間序列:REQ(req(1),req(2),…,req(n)).某個具體的外部域中的主體訪問請求可以表示成:REQ={({O,A})},其中請求序列中的每個元素表示為二元組集合{<O,A>},表示請求主體所請求的本地域中的客體對象及其操作。對于REQ(req(1),req(2),…,req(n))中每一個子請求,采用一種風(fēng)險等級低、安全等級高的策略執(zhí)行,得出允許、否定、不可用和不確定其中一種效果,按照任何一種策略組合算法,都可利用定義1形式化以及通過確定型有限狀態(tài)機描述出策略組合的效果。
近年來,工作流訪問控制安全成為工作流領(lǐng)域的學(xué)者和專家的研究熱點之一,特別是工作流訪問控制策略組合。在國外,該領(lǐng)域已被研究多年,提出了多種策略組合語言,但在國內(nèi)還處于開始階段。本文以應(yīng)用最廣泛的策略組合描述語言XACML,引入風(fēng)險元素,直觀、簡潔表達策略之間的安全等級差異;并對XACML標(biāo)準(zhǔn)策略組合算法進行形式化,利用二元操作符,可描述新的策略組合算法。但在研究過程中,發(fā)現(xiàn)了一些新的問題:比如多域中工作流訪問控制策略是多個不同自治域中異構(gòu)策略的時序組合,如何在描述語言體現(xiàn)策略的時態(tài)安全約束。這將是將來有待解決的問題。
[1]L. Gong, X. Qian. Computational Issues in Secure Interoperation. IEEE 1996, 22(1)∶43-52
[2]劉國華. 基于風(fēng)險的工作流訪問控制時序策略組合模型研究.湖南大學(xué)碩士論文,2010.
[3] XACML TC. OASIS eXtensible Access Control MarkupLanguage (XACML).http∶//www.oasis-open.org/committees/xacml/.
[4]許峰,賴海光等.面向服務(wù)的角色訪問控制技術(shù)研究.計算機學(xué)報,2005,28(4)∶686-693.
[5]B. Aziz, S.N. Foley, J. Herbert and G.Swart. Reconfiguring Role Based Access Control Policies Using Risk Semantics. Journal of High Speed Networks, Special issue on Security Policy Management.2006,15(3)∶261-27
[5]Pau-Chen Cheng, Pankaj Rohatgi, Grant M.Wagner, et all. Fuzzy Multi-Level Security ∶An Experiment on Quantified Risk-Adaptive Access Control. IEEE Symposium on Security and Privacy.2007∶222-230