向華萍,王英華,付智輝
(華東交通大學(xué)1.軟件學(xué)院;2.電氣與電子工程學(xué)院,江西南昌330013)
協(xié)作系統(tǒng)是多部門、多用戶、多任務(wù)環(huán)境下的集成體系,用戶為了完成共同目標(biāo)互相溝通協(xié)同工作。協(xié)作系統(tǒng)的交互特性既要求協(xié)作用戶能及時得到其所需要的資源信息,又要保證信息的安全性。因此,協(xié)作系統(tǒng)需要制定有效的訪問控制策略,保證合法用戶對授權(quán)信息進行及時訪問,同時防止非法用戶的侵入和合法用戶對未授權(quán)資源的非法使用。
國內(nèi)外很多學(xué)者都從不同角度、不同層次對訪問控制進行了深入研究。Sandhu等[1]提出的基于角色的訪問控制(RBAC)是一個行之有效的安全技術(shù),可以減少訪問控制的復(fù)雜性,降低系統(tǒng)管理的開銷。文獻(xiàn)2針對協(xié)同系統(tǒng)中共享資源訪問控制策略的權(quán)限復(fù)雜問題,將角色訪問控制策略應(yīng)用到協(xié)同系統(tǒng)中,并設(shè)計了基于角色的系統(tǒng)功能權(quán)限的位映射算法來降低授權(quán)管理的復(fù)雜性。文獻(xiàn)3提出一個專門針對協(xié)同環(huán)境下CAD模型的多層次動態(tài)的安全訪問控制(MLDAC)模型,實現(xiàn)了權(quán)限的動態(tài)授權(quán)管理,增強了對協(xié)同設(shè)計操作的有效控制。但這些模型的訪問控制策略都是由安全管理員制定,在協(xié)作系統(tǒng)中,為了完成共同的任務(wù),經(jīng)常需要為某些用戶授予一些臨時的權(quán)限,任務(wù)完成后撤銷權(quán)限。如果這些臨時權(quán)限的授予都要由安全管理員來實施,顯然是不可行的,因此也需要讓其他用戶具有授權(quán)的權(quán)限。文獻(xiàn)4支持委托授權(quán)解決了分布式系統(tǒng)中權(quán)限集中管理的問題,允許普通用戶將一部分權(quán)限委托給他人,由其執(zhí)行某些任務(wù),任務(wù)結(jié)束后系統(tǒng)或委托者撤銷委托的權(quán)限,但忽略了訪問控制的時效問題,使得模型的描述能力受到限制。為此,本文針對上述問題對協(xié)作環(huán)境下的訪問控制技術(shù)進行深入研究,提出一個支持委托的動態(tài)訪問控制模型(DS-RBAC)。
RBAC的核心思想就是將訪問權(quán)限與角色相聯(lián)系,通過為用戶分配適合的角色,讓用戶與訪問權(quán)限相聯(lián)系。R.Sandhu等人于1996年提出了一個基于角色的訪問控制參考模型,對角色訪問控制產(chǎn)生了重要影響,被稱為RBAC96模型。該模型由于系統(tǒng)全面地描述了RBAC多方面、多層次的意義而得到了廣泛認(rèn)可。RBAC96模型包括4個不同層次,分別為RBAC0,RBAC1,RBAC2和RBAC3。下面將對這個模型進行簡單介紹。
RBAC0包含RBAC模型的核心部分,是最基本的模型。RBAC0形式化的定義如下。
定義1 RBAC0模型定義了支持RBAC的最小需求,如用戶、角色、權(quán)限、會話等概念。
●U,R,P,S分別表示所有的用戶、角色、權(quán)限以及會話的集合;
●UA?U×R是多對多的用戶角色指派關(guān)系;
●PA?P×R是多對多的權(quán)限角色指派關(guān)系;
●user:S→U表示映射每個會話到一個用戶;
●roles:S→2R表示映射每個會話s到一組角色roles(s)?{r|(user(s),r)∈UA},并且會話s擁有權(quán)限Ur∈roles(s){p|(p,r)∈PA}。
定義2 RBAC1模型包含RBAC0,并且定義了角色繼承關(guān)系。RBAC1增加了如下元素:
●RH?R×R是R上的偏序關(guān)系,記為≥,稱作角色繼承;
●roles:S→2R修改為roles(s)?{r|(?r′≥r)[(user(s),r′)∈UA]},同時會話s擁有權(quán)限Ur∈roles(s){p|(?r″≤r)[(p,r″)∈PA]}。
RBAC1體現(xiàn)了RBAC模型中角色繼承關(guān)系的語義。一個會話擁有的角色包含UA關(guān)系里面指定的角色以及它們的父角色,會話擁有的權(quán)限包含其擁有的所有角色在PA關(guān)系里面的權(quán)限以及它們的子角色對應(yīng)的權(quán)限。
RBAC2模型同樣包含RBAC0,并且從語義上給出了一些約束形式的簡短說明,主要包括兩種約束機制:角色互斥和角色基數(shù)約束,這也是實際系統(tǒng)中最通??紤]的兩種限制形式。
RBAC3包含RBAC1和RBAC2,自然也包含RBAC0,是一個完整的RBAC模型,包含一切模型元素,也是最復(fù)雜的一種模型。角色層次和約束機制同時存在,約束也可以作用在角色層次之上。
圖1和圖2分別給出了RBAC96模型層次圖和基本原理圖。
圖1 RBAC96模型層次圖
圖2 RBAC96模型的基本原理圖
協(xié)作環(huán)境面向的主要對象是各部門、各企業(yè)間的協(xié)作項目,協(xié)作項目在邏輯上可分解為若干相關(guān)聯(lián)的子任務(wù),這些子任務(wù)在執(zhí)行過程中需要不同的用戶參與。為了更高效地執(zhí)行協(xié)作項目,縮短工作時間,降低協(xié)作費用和風(fēng)險,以完成協(xié)作項目中的任務(wù)為目標(biāo),安全協(xié)調(diào)各類信息資源為準(zhǔn)則來設(shè)置虛擬組織,實現(xiàn)臨時性動態(tài)聯(lián)盟。
協(xié)作環(huán)境下虛擬組織的協(xié)同工作涉及到協(xié)作任務(wù)、協(xié)作成員、協(xié)作資源等多種因素。協(xié)作成員是協(xié)作任務(wù)的執(zhí)行者;協(xié)作任務(wù)是協(xié)作成員所要共同完成的目標(biāo);協(xié)作資源是協(xié)作任務(wù)執(zhí)行過程中涉及到的信息、工具、設(shè)備等信息。通常情況下,協(xié)作系統(tǒng)需要根據(jù)涉及的部門、任務(wù)的性質(zhì)的特點將協(xié)作項目分解成各子任務(wù)委托給協(xié)作成員。分解規(guī)則如下:(1)若虛擬組織中的協(xié)作成員可以獨立完成某個任務(wù),則不需要委托和分解;(2)若虛擬組織內(nèi)成員無法獨立完成協(xié)作任務(wù),可以將任務(wù)分解成更細(xì)的子任務(wù)并委托給相關(guān)協(xié)作成員共同完成;(3)不需要再分解的任務(wù)或子任務(wù)稱為基本任務(wù),基本任務(wù)是具有最小單位的任務(wù)。協(xié)作系統(tǒng)中各因素的相互關(guān)系如圖3所示。
企業(yè)在執(zhí)行協(xié)同項目的過程中,協(xié)作資源處于相對開放的網(wǎng)絡(luò)環(huán)境,非常需要有效地訪問控制技術(shù)保證協(xié)作資源的安全。協(xié)作系統(tǒng)的訪問控制應(yīng)具備以下幾種特性:(1)上下文相關(guān)性。在協(xié)作任務(wù)執(zhí)行過程中,協(xié)作資源的訪問權(quán)限控制并不是靜止不變的,而是隨著執(zhí)行任務(wù)的上下文環(huán)境的變化而變化,每一步對信息的處理都與以前的處理相關(guān),相應(yīng)的訪問控制也一樣。(2)時效性。在協(xié)作系統(tǒng)中用戶通過網(wǎng)絡(luò)共享資源,為了提高資源的使用效率,需要從時間、空間上合理安排用戶的請求。另外用戶擁有的權(quán)限也具有時效性。(3)授權(quán)靈活性。協(xié)作系統(tǒng)的大多數(shù)任務(wù)都需要分解后再由多個成員共同完成。因此協(xié)作成員需要靈活的自主授權(quán)和撤銷授權(quán)的權(quán)限。
RBAC模型由于缺乏對時間約束、授權(quán)委托等方面的描述,不具備上述幾種特性,因此本文從協(xié)作任務(wù)、時間約束、授權(quán)委托等方面對傳統(tǒng)的RBAC模型進行擴展,設(shè)計并實現(xiàn)了支持委托的動態(tài)訪問控制模型(DS-RBAC),能夠很好地滿足協(xié)作環(huán)境中的訪問控制需求。DS-RBAC的基本原理如圖4所示。
圖3 協(xié)作系統(tǒng)虛擬組織結(jié)構(gòu)
圖4 DS-RBAC模型的基本原理
虛擬組織中基本任務(wù)的訪問權(quán)限不是靜態(tài)的,而是依照任務(wù)執(zhí)行情況以及各基本任務(wù)間的關(guān)系的變化而改變,各基本任務(wù)的執(zhí)行有一定的順序依賴關(guān)系。因此需要在協(xié)作系統(tǒng)中建立上下文相關(guān)信息以及基本任務(wù)、角色、權(quán)限之間的映射關(guān)系,同時引入時間約束保證協(xié)作任務(wù)的時效性。
定義3 BT={bt1,bt2,…,btn1}表示協(xié)作任務(wù)分解后的基本任務(wù)的集合。
定義4 BTS?2BT表示基本任務(wù)的順序依賴關(guān)系。
定義5 BTR?BT×R表示基本任務(wù)與角色多對一的映射關(guān)系?;救蝿?wù)是不需要再分解的任務(wù),由一個角色獨立完成,一個角色可以執(zhí)行多個基本任務(wù)。
定義6 BTP?BT×P表示基本任務(wù)與權(quán)限多對多的映射關(guān)系。一個基本任務(wù)可以包含多個權(quán)限,一個權(quán)限也可以指派給多個基本任務(wù)。
定義7 T={t1,t2,…,tn2}表示時間的集合。用戶的權(quán)限是具有時間性的,本模型通過增加時間約束,來保證用戶操作的時效性。
定義8 UAT?U×R×T,表示多對多的具有時間約束的用戶角色指派。
定義9 PAT?P×R×T,表示多對多的具有時間約束的角色權(quán)限指派。
授權(quán)委托機制能夠為協(xié)作成員提供靈活的自主授權(quán)。協(xié)作任務(wù)完成后,系統(tǒng)將撤銷委托者委托的權(quán)限,以滿足安全訪問控制中“最小特權(quán)原則”。
定義10 URDT?U×U×R×T是多對多的具有時間約束的角色委托。角色委托(u1,u2,r,t)∈URDT,是一個四元組,表示委托者u1在時間t內(nèi)將角色r委托給受托者u2。
定義11 UPDT?U×U×P×T是多對多的具有時間約束的權(quán)限委托。權(quán)限委托(u1,u2,p,t)∈UPDT,是一個四元組,表示委托者u1在時間t內(nèi)將權(quán)限p委托給受托者u2。
用戶可以通過用戶角色指派關(guān)系UAT和角色權(quán)限指派關(guān)系PAT由安全管理員為用戶分配角色,從而獲得相應(yīng)權(quán)限;也可以通過委托機制URDT和UPDT由協(xié)作項目負(fù)責(zé)人臨時委派角色或權(quán)限來完成指定任務(wù)。
DS-RBAC模型能夠較好地解決協(xié)作環(huán)境下用戶訪問控制問題,提高系統(tǒng)的靈活性和權(quán)限管理效率。DS-RBAC的實現(xiàn)是由多種機制協(xié)作完成,包括時間約束機制、安全策略管理機制、授權(quán)委托機制、上下文約束機制、授權(quán)驗證機制等。
時間約束包括周期時間約束CT和區(qū)間時間約束RT。CT可以由一個四元組(m,dM,dW,h)實現(xiàn),m表示月份約束,是一個具有12位有效字節(jié)的二進制數(shù),可以轉(zhuǎn)換成整數(shù),例如5的二進制101,表示有效月份是1月和3月;dM和dW都是日約束,dM用來指定每月的哪幾天,dW表示每個星期的哪幾天,dM和dW是互斥的,只需要設(shè)置其中一個,不需設(shè)置的元素用“”表示;h是小時約束,指定每天可以執(zhí)行操作的時間。dM,dW和h都是用二進制表示,也可以轉(zhuǎn)換成整型。(m,dM,dW,h)的四個元素的值也可以是通配符“*”,表示所有的意思。
RT是一個二元組(t start,t end)用來指定整個有效時間的起始和結(jié)束時間,t start和t end是三元(y,m,d)指明年月日。一個時間約束同時需要指明周期時間約束和區(qū)間時間約束。
例如,rt1=((2008,3,1),(2010,12,31)),ct1=(60,,31,*)(即ct1=(111100,,11111,*)),則時間t1=rt1∩ct1表示從2008年3月1號到2010年12月31號的3至6月的(工作日)。
安全策略管理機制是訪問控制模型的基礎(chǔ)部分,為安全管理員提供一個定義和維護系統(tǒng)安全策略的接口,主要包括對角色和權(quán)限的管理與維護,設(shè)置用戶角色指派和角色權(quán)限指派。在實際中,用戶的操作都具有時效性,因此管理員在設(shè)置的用戶角色指派和角色權(quán)限指派是受時間約束的。例如,如果Mike要在上述的t1時間擔(dān)任財務(wù)處的出納職務(wù),則安全管理員需要將出納的角色r1指派給用戶Mike,即有:(Mike,r1,t1)∈UAT。
上下文約束機制主要是解決協(xié)作環(huán)境下多個用戶共同完成協(xié)作項目的問題。上下文約束機制主要的工作包括將協(xié)作項目分解成若干基本任務(wù),設(shè)置基本任務(wù)角色映射關(guān)系和基本任務(wù)權(quán)限映射關(guān)系,以及設(shè)置基本任務(wù)的順序依賴關(guān)系。上下文約束機制的實施是由項目管理員負(fù)責(zé)。例如,根據(jù)需要將協(xié)作項目分解為5個基本任務(wù)BT={bt1,bt2,…,bt5},角色r2可以執(zhí)行bt1和bt2兩個任務(wù),則有(r2,bt1)∈BTR,(r2,bt2)∈BTR。若設(shè)置{bt1,bt3,bt4}∈BTS,表示這三個任務(wù)的執(zhí)行順序是:bt1→bt3→bt4。
項目管理員通過上下文約束機制分解協(xié)作項目并作相應(yīng)的設(shè)置后,系統(tǒng)將會增加一些新的臨時的角色和權(quán)限,如果這些角色和權(quán)限的指派都由安全管理員執(zhí)行,必將加重安全管理員的負(fù)擔(dān),而且安全管理員對具體項目的了解程度是不及項目管理員。授權(quán)委托機制就是為項目管理員或其他用戶提供一個委托角色或權(quán)限的機制。如果具有委托權(quán)的用戶Jim設(shè)置(Jim,A lice,r2,t2)∈URDT(其中t2滿足上述時間約束的設(shè)置),表示用戶Jim將角色r2委托給用戶Alice,則Alice在時間t2內(nèi)就擁有r2包含的權(quán)限。
用戶登錄后與系統(tǒng)建立會話,系統(tǒng)先獲取該用戶所有的權(quán)限,組成一個權(quán)限時間約束集,此權(quán)限時間約束集給出該用戶被授權(quán)的所有權(quán)限及相應(yīng)的約束時間,權(quán)限時間約束集中的權(quán)限并非都是有效權(quán)限,有效與否取決于當(dāng)前時間是否在權(quán)限對應(yīng)的有效時間內(nèi),以及權(quán)限所屬的基本任務(wù)的順序依賴關(guān)系。
授權(quán)驗證機制包括兩個過程:用戶權(quán)限獲取過程和權(quán)限有效性驗證過程。(1)用戶權(quán)限獲取過程:遞歸遍歷用戶的所有角色及其子角色,以及角色包含的基本任務(wù),遍歷到權(quán)限時,計算權(quán)限的有效時間,然后把權(quán)限及有效時間加入到權(quán)限時間約束集中。(2)權(quán)限有效性驗證過程:遞歸遍歷用戶下的權(quán)限時間約束集,找到相應(yīng)權(quán)限,并判斷其有效時間是否包含當(dāng)前時間,滿足要求返回權(quán)限有效,否則返回權(quán)限無效。
結(jié)合某高校綜合信息系統(tǒng)中對該模型的應(yīng)用進行簡要說明。高校綜合信息系統(tǒng)是一個對高校所有資源信息進行統(tǒng)籌管理,為學(xué)校各部門之間信息交流和協(xié)同工作提供數(shù)據(jù)支持,由若干個子系統(tǒng)集成的綜合信息系統(tǒng)。系統(tǒng)中很多任務(wù)不能由一個部門獨立完成,必須由多個部門協(xié)同合作。例如,教務(wù)處根據(jù)市場調(diào)查,結(jié)合軟件專業(yè)與應(yīng)用背景專業(yè)接軌的思想,擬新增加一個“軟件+橋梁”專業(yè),其相關(guān)工作必須由教務(wù)處、軟件學(xué)院和土木學(xué)院共同完成,因此三個單位相關(guān)人員需要臨時組成一個相互協(xié)作的虛擬組織。首先由教務(wù)處(即項目管理員)分解任務(wù),并完成各種指派和映射關(guān)系,虛擬組織的其他人員得到授權(quán)后在規(guī)定時間內(nèi)完成自己的子任務(wù)。高校綜合信息系統(tǒng)運行結(jié)果表明,DS-RBAC模型能夠有效解決多部門、多用戶的集成系統(tǒng)中跨部門的協(xié)作項目的訪問控制問題,實現(xiàn)協(xié)作環(huán)境下的臨時性動態(tài)聯(lián)盟和安全資源共享。
隨著計算機網(wǎng)絡(luò)的飛速發(fā)展,多領(lǐng)域大范圍的協(xié)同合作成為一種趨勢,不同組織為了共同的利益建立協(xié)作關(guān)系,研究多領(lǐng)域協(xié)作環(huán)境下的訪問控制模型成為必要。本文設(shè)計的支持委托的角色訪問控制模型能夠滿足多領(lǐng)域協(xié)作環(huán)境下訪問控制的上下文相關(guān)性、時效性以及授權(quán)靈活性等特殊需求,具有豐富的訪問控制的描述能力,有效地解決了協(xié)作環(huán)境中不同部門、不同企業(yè)間的相互協(xié)作以及資源互訪問題。
[1] SANDHU R S,COYNEK E J,F(xiàn)EINSTEINKH L,etal.Role-based access controlModels[J].IEEE Computer,1996,29(2):38-47.
[2] 付喜梅.協(xié)同環(huán)境中基于RBAC模型的訪問控制策略[J].計算機工程,2009,35(11):140-142.
[3] 方萃浩,葉修梓,彭維,張引.協(xié)同環(huán)境下CAD模型的多層次動態(tài)安全訪問控制[J].軟件學(xué)報,2007,18(9):2 295-2 305.
[4] 魏永合,王成恩,馬明旭.工作流系統(tǒng)中的委托授權(quán)機制研究[J],計算機集成制造系統(tǒng),2009,15(1):160-165.
[5] 李黎青.財政收費系統(tǒng)中的信息安全策略研究[J].華東交通大學(xué)學(xué)報,2005,22(5):121-123.