摘 要: 通過比較現(xiàn)有訪問控制模型的各自特點和適用范圍,,針對現(xiàn)有模型的不足,結(jié)合RBAC和TBAC模型各自的優(yōu)點,,提出了一個新型的訪問控制模型TRBAC,。描述了TRBAC模型的結(jié)構(gòu)和安全控制原則,結(jié)合模型的實際應(yīng)用指出今后工作的主要目標,。
關(guān)鍵詞: 角色,;權(quán)限;訪問控制
隨著信息技術(shù)在現(xiàn)代企業(yè)中的廣泛應(yīng)用,,許多工作已越來越多地依賴計算機得以完成,,因此許多敏感的信息和技術(shù)都需要通過計算機控制和管理。如何確保這些信息和技術(shù)不被竊取和破壞,,即如何安全使用,,是當今計算機技術(shù)的研究熱點。ISO(國際標準化組織)在網(wǎng)絡(luò)安全標準(ISO7498-2)中定義了5個層次型安全服務(wù),,即身份認證服務(wù),、訪問控制服務(wù),、數(shù)據(jù)保密服務(wù)、數(shù)據(jù)完整性服務(wù)和不可否認服務(wù),。訪問控制是其中的一個重要組成部分[1],。
工作流(Workflow)管理技術(shù)起源于20世紀70年代的生產(chǎn)組織和辦公自動化領(lǐng)域,提出的目的是通過將工作分解成定義良好的任務(wù),、角色,,按照一定的規(guī)則和過程來執(zhí)行這些任務(wù)并對其進行監(jiān)控,達到提高工作效率,、降低生產(chǎn)成本,、提高企業(yè)生產(chǎn)經(jīng)營管理水平和企業(yè)競爭力的目標[2]。工作流管理的最大優(yōu)點是將應(yīng)用邏輯與過程邏輯分離,,在不修改具體功能的情況下,,通過修改過程模型改變系統(tǒng)功能,從而完成對生產(chǎn)經(jīng)營過程的集成管理,,可有效地把人,、信息和應(yīng)用工具合理地組織在一起,發(fā)揮系統(tǒng)的最大效能[3],。
由于網(wǎng)絡(luò)行為的開放性和自由性,,工作流管理系統(tǒng)的安全問題越來越重要。確保業(yè)務(wù)過程中各項任務(wù)只能被合法的用戶執(zhí)行,,已經(jīng)成為工作流安全領(lǐng)域中一個重要的課題,。因此,如何將訪問控制技術(shù)應(yīng)用于工作流中是當前研究的熱點問題,,研究工作流系統(tǒng)中的訪問控制具有非常重要的意義,。
1 訪問控制研究現(xiàn)狀
訪問控制的目標是防止對任何資源進行非授權(quán)的訪問,,從而使資源在合法的范圍內(nèi)使用,,它決定用戶能做什么,以及代表一定用戶利益的程序能做什么[4],。當前,,訪問控制技術(shù)的研究熱點主要集中在基于角色的訪問控制RBAC(Role-Based Access Control)和基于任務(wù)的訪問控制TBAC(Task-Based Access Control)。
1.1 基于角色的訪問控制模型
RBAC以角色為核心,,通過用戶,、角色、權(quán)限之間的指派關(guān)系,,實現(xiàn)用戶和訪問權(quán)限的綁定,。它的核心思想是:受保護資源的訪問權(quán)限與角色相聯(lián)系,而給用戶分配各種角色,;用戶與所要求訪問的資源之間沒有直接關(guān)系,,若用戶要訪問某一資源,,則其必須具有可訪問此資源的角色[5],進而擁有相應(yīng)的權(quán)限,。
由于RBAC擁有諸如安全性高,、靈活性強、接近現(xiàn)實世界等優(yōu)點,,一經(jīng)提出就得到了廣泛關(guān)注,,目前已在很多領(lǐng)域得到了應(yīng)用,發(fā)展較為成熟,,但其在分布式應(yīng)用,、工作流應(yīng)用等領(lǐng)域仍顯得力不從心。由于角色是個長期的概念,,不經(jīng)常改動,,因而在面對分布式應(yīng)用的協(xié)作性、實時性時需要經(jīng)常轉(zhuǎn)變角色,,這使得效率降低,,不符合其設(shè)計初衷;而且RBAC不能主動控制任務(wù)執(zhí)行的順序,,無法應(yīng)對工作流系統(tǒng)的控制要求[6],。
1.2 基于任務(wù)的訪問控制模型
與以往的訪問控制策略相反,TBAC是一種主動訪問控制策略,。TBAC是在工作流的環(huán)境中考慮對信息的保護問題[1],。在工作流環(huán)境中,每一步對數(shù)據(jù)的處理都與以前的處理相關(guān),,相應(yīng)的訪問控制也是這樣,,因而TBAC是一種上下文相關(guān)的訪問控制。TBAC不僅能對不同工作流實行不同的訪問控制策略,,而且還能對同一工作流的不同任務(wù)實例實行不同的訪問控制策略[7],。
TBAC擁有主動控制、動態(tài)分配權(quán)限的優(yōu)點,,從而適用于工作流,、分布式處理、多點訪問控制的信息處理,,特別是應(yīng)用于安全工作流管理中,。
1.3 基于任務(wù)-角色的訪問控制
工作流管理系統(tǒng)主要是應(yīng)用于大中型企業(yè)的流程自動化管理,數(shù)據(jù)在工作流中流動,,執(zhí)行操作的用戶在改變,,用戶的權(quán)限也在改變。因此,如果采用RBAC進行權(quán)限控制時需要頻繁地更換角色,,且不適合工作流程的運轉(zhuǎn),,無法實現(xiàn)隨工作流運行需要的動態(tài)授權(quán);雖然TBAC采用了“面向任務(wù)”的觀點,,從任務(wù)的角度來建立安全模型和實現(xiàn)安全機制,,在任務(wù)處理的過程中提供動態(tài)實時的安全管理[1]。但簡單地應(yīng)用TBAC模型時系統(tǒng)必須根據(jù)需要不停地更換用戶的訪問控制策略,,這樣很可能造成用戶權(quán)限分配和訪問控制的混亂,。
考慮到工作流管理系統(tǒng)的實際應(yīng)用環(huán)境以及簡化授權(quán)操作的復(fù)雜性,本文結(jié)合RBAC和TBAC的優(yōu)點,,將基于任務(wù)和角色的訪問控制模型TRBAC(Task-Role-Based Access Control)應(yīng)用于工作流管理系統(tǒng)中,,既解決了動態(tài)的訪問控制策略,又解決了多應(yīng)用和多用戶情況下權(quán)限管理復(fù)雜化的問題,。
2 TRBAC模型及其特點
2.1 TRBAC模型
TRBAC模型在RBAC96模型的基礎(chǔ)上引入“任務(wù)”的概念[6,,8]。模型的基本結(jié)構(gòu)如圖1所示,。其思想是:角色被指派給用戶,,用戶通過承擔的角色獲取要執(zhí)行的任務(wù),執(zhí)行任務(wù)時擁有相關(guān)任務(wù)所允許訪問的客體權(quán)限,。
該模型建立在對任務(wù)分類的基礎(chǔ)上,,從企業(yè)和應(yīng)用級的角度把任務(wù)分為工作流類(WF類)任務(wù)和非工作流類(NWF類)任務(wù)。WF類任務(wù)采用主動訪問控制(AAC),,NWF類任務(wù)采用被動訪問控制(PAC),;根據(jù)任務(wù)的權(quán)限是否可以繼承將任務(wù)分為可繼承權(quán)限的任務(wù)和不可繼承權(quán)限的任務(wù),消除增加私有角色帶來的角色增長的問題,;針對工作流任務(wù),,TRBAC實行動態(tài)權(quán)限分配,在工作流中,,權(quán)限隨著任務(wù)的執(zhí)行而變動,,角色只有在執(zhí)行任務(wù)時才具有權(quán)限,角色不執(zhí)行任務(wù)時不具有權(quán)限,,任務(wù)根據(jù)流程動態(tài)到達角色,,權(quán)限隨之賦予角色,,當任務(wù)完成時,,角色的權(quán)限也隨之收回。
2.2 TRBAC模型的安全控制原則
(1)最小特權(quán)原則
所謂最小特權(quán)原則是指用戶所擁有的權(quán)限不能超過其執(zhí)行任務(wù)時所需的權(quán)限,。這是實現(xiàn)信息完整性的重要保證,。執(zhí)行任務(wù)時只給執(zhí)行任務(wù)的角色分配所需的權(quán)限,未執(zhí)行任務(wù)或任務(wù)終止后該角色不再擁有所分配的權(quán)限;而且,,在執(zhí)行任務(wù)過程中,,當角色的某一權(quán)限不再使用時,系統(tǒng)將自動回收該權(quán)限,。這樣,,對應(yīng)執(zhí)行該任務(wù)的角色的用戶只能在執(zhí)行任務(wù)時得到執(zhí)行該任務(wù)所需的權(quán)限。
(2)責任分離原則
責任分離原則是用來形容多人控制策略的安全原則,,本質(zhì)上要求兩個或多個人負責完成某個處理,。從理論上來說,對于某些特定的操作集,,某一個角色或用戶不能單獨完成所有這些操作,,這樣就保證系統(tǒng)中沒有任何人擁有足夠的權(quán)限獨立進行欺詐活動。
“責任分離”可以有靜態(tài)和動態(tài)兩種實現(xiàn)形式,。靜態(tài)責任分離是指當一個任務(wù)與主體所擁有的其他任務(wù)彼此不互斥時,,這個任務(wù)才能授權(quán)給該主體執(zhí)行。動態(tài)責任分離是指當一個任務(wù)與主體的任何一個當前執(zhí)行任務(wù)都不互斥時,,該任務(wù)才能成為該主體的另一個執(zhí)行任務(wù),。
(3)數(shù)據(jù)抽象原則
權(quán)限不局限于操作系統(tǒng)提供的典型的讀/寫執(zhí)行權(quán)限,它可以抽象為實際工作流的操作權(quán)限,。
3 模型的實例應(yīng)用
TRBAC模型適合基于工作流的辦公自動化,、電子政務(wù)和電子商務(wù)等系統(tǒng)。企業(yè)合同管理系統(tǒng)是一個典型的工作流系統(tǒng),,實現(xiàn)了對企業(yè)合同資料的自動管理和存儲管理,。合同管理的一般流程如圖2所示。合同資料涉及到系統(tǒng)中多個部門,、多個用戶以及多個環(huán)節(jié)的流轉(zhuǎn),,其主要業(yè)務(wù)流程可分為合同準備、簽署,、履行和履行后管理四個階段,。具體描述如下:
(1)合同準備階段:包括合同策劃、調(diào)查,、初步確定準合同對象,、談判、擬訂合同文本,、審核等程序,。
(2)合同簽署階段:包括正式簽署合同、將合同分送相關(guān)部門等程序,。
(3)合同履行階段:包括合同履行,、變更或轉(zhuǎn)讓、終止、處理糾紛等程序,。
(4)合同履行后管理階段:包括合同歸檔保管,、執(zhí)行情況評價等程序。
合同管理的每個環(huán)節(jié)均被看作一個任務(wù),,為其指定相應(yīng)的角色按照固定順序協(xié)作完成,,并且根據(jù)合同的處理情況選擇下一個環(huán)節(jié)。在訪問控制中,,對于不相互排斥的權(quán)限可以由同一個用戶承擔,,否則必須由不同的用戶扮演沖突角色執(zhí)行沖突權(quán)限來保證系統(tǒng)的安全性。如同一份合同中,,“簽署”和“履行監(jiān)管”屬于兩個沖突權(quán)限,,擁有該權(quán)限的任務(wù)屬于沖突任務(wù),執(zhí)行該任務(wù)的角色就是沖突角色,,必須由不同的用戶來擔任,。而在不同的合同中,執(zhí)行“簽署”和“履行監(jiān)管”任務(wù)的角色并不是沖突角色,,角色A可以簽署合同C1,,也可以履行監(jiān)管合同C2。因此,,角色之間的沖突關(guān)系并不是固定不變的,,而是隨著角色權(quán)限的變化而發(fā)生變化。
把TRBAC應(yīng)用到合同管理系統(tǒng)的訪問控制模塊中,,集成了RBAC和TBAC的優(yōu)點,,增強了工作流的訪問控制能力、增強了動態(tài)約束能力,,滿足了實際業(yè)務(wù)流程中對訪問控制的需求,。
訪問控制模型的研究實際是為了更好地模擬現(xiàn)實世界的控制模式,是現(xiàn)實控制模式的計算機化,。訪問控制的發(fā)展是希望能讓控制更“自然”,,從而更高效。加入角色模擬現(xiàn)實中的崗位劃分,;任務(wù)層實際上對應(yīng)不同崗位的不同工作,;權(quán)限則相當于最終訪問數(shù)據(jù)的鑰匙。
本文在研究了訪問控制模型的現(xiàn)狀后,,對現(xiàn)有模型進行分析比較,,總結(jié)了訪問控制模型研究的一些新思路,對如何在工作流管理系統(tǒng)中實現(xiàn)基于任務(wù)和角色的訪問控制機制進行了有益的嘗試和探討,。這種模型能適合于其他類似的應(yīng)用環(huán)境,,具有一定的通用性,。但TRBAC中還存在一些問題,,例如有關(guān)角色的分配與繼承及管理,、任務(wù)的分配與分類等,這些問題都有待于今后深入研究,。
參考文獻
[1] 鄧集波,,洪帆.基于任務(wù)的訪問控制模型[J].軟件學報,2003,,14(1):76-82.
[2] 韻晉峰,,唐慧佳.基于角色和任務(wù)的訪問控制在工作流管理系統(tǒng)中的應(yīng)用[J].成都信息工程學院學報,2008,,23(1):46-49.
[3] 范玉順.工作流管理技術(shù)基礎(chǔ)——實現(xiàn)企業(yè)業(yè)務(wù)過程重組,、過程管理與過程自動化的核心技術(shù)[M].北京:清華大學出版社,2001:28-78.
[4] 黃建,,卿漢斯,,溫紅子.帶時間特性的角色訪問控制[J].軟件學報,2003,,14(11):1944-1950.
[5] 宋昕,,夏輝,王學通.NET環(huán)境下基于RBAC的Web應(yīng)用程序訪問控制[J].計算機技術(shù)與發(fā)展,,2006,,16(4):218-220.
[6] 韓若飛,汪厚祥.基于任務(wù)-角色的訪問控制模型研究[J].計算機工程與設(shè)計,,2007,,28(4):800-807.
[7] SANDHU R, COYNE E J,, LFEINSTEIN H,, et al. Role-based access control models[J]. IEEE Computer, 1996,,29(2):38-47.
[8] OH S,, PARK S. Task-role-based access control model[J]. Information System, 2003,,28(6):533-562.