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