摘要:提出了一種基于角色和任務的工作流訪問控制模型RTBWAC,描述了模型中用戶、角色、許可、活動等要素間的指派關系和該模型的靜態、動態約束規則,最后給出了該模型在實際工作流系統中的應用。
關鍵詞:工作流; 訪問控制; 角色; 任務
中圖分類號:TP309
文獻標志碼:A
文章編號:1001-3695(2007)09-0168-02
工作流技術目前在辦公自動化、電子商務和電子政務等領域得到了廣泛關注。工作流是一類能夠完全或部分自動執行的任務過程[1]。這些任務相互依賴以一種特定的方式執行。為了保證每個任務只有經過授權的用戶才能執行,就應該有一個合適的訪問控制機制。與以系統為中心的訪問控制不同,工作流訪問控制不僅要保證流程中的每個流程任務由授權的主體執行,還要保證授權本身要隨著工作流的演進而改變,也就是說工作流授權的具體實施要依賴于流程的上下文。
近二十年來研究人員提出許多訪問控制模型。早期的訪問控制模型有Harrison、Ruzzo和Ullman提出的HRU模型,Jones等人提出的TakeGrant模型等。后來,又有自主訪問控制模型(discretionary access control,DAC)和強制訪問控制模型(mandatory access control,MAC)被提出[2]。近年來訪問控制技術研究的熱點集中于Ferraiolo和Huhn提出的基于角色的訪問控制(rolebased access control,RBAC)和Thomas和Sandhu提出的基于任務的授權控制(taskbased authentication control,TBAC)上[3~5]。
TBAC采用的是面向任務的觀點,從任務執行的角度來建立安全模型,對象的訪問權限隨著所執行任務的上下文環境的改變而發生變化。而TBAC的缺陷在于不適合大型企業的應用,因為工作流管理系統主要是應用于大型企業的流程自動化管理,那么該系統的訪問控制就會不可避免地牽涉到許多任務以及許多用戶的權限分配問題,而TBAC只是簡單地引入受托人集合來表示任務的執行者。這樣的系統雖然達到了基于任務授權和提高安全性的目的,但是管理異常復雜;另外,該模型也沒有對執行任務過程所需要的操作權限的控制。
基于角色的訪問控制是根據主體所扮演的角色被賦予的權限來決定主體訪問權限的一種訪問控制模式。角色的概念被定義為同一個特殊工作活動聯系在一起的行動和能力集。一個用戶可經授權而擁有多個角色,一個角色可由多個用戶構成;每個角色可執行多種操作,每個操作也可以由不同的角色執行;每個操作可以施加于多個客體,每個客體也可以接受多個操作。RBAC的優點是便于授權管理,便于職責分離。而RBAC只是從系統的角度(控制環境是靜態的)出發保護資源。它沒有將執行操作所處的上下文環境考慮在內,這樣容易造成安全隱患。
鑒于兩種訪問控制技術在工作流應用訪問控制中的不足,筆者提出了一種基于角色和任務的工作流的訪問控制模型RTBWAC。RTBWAC的目標是建立一種工作流環境下基于角色與任務的訪問控制,既能保護工作流應用數據不被非法用戶訪問,又適合大型企業應用。
1基于角色和任務的工作流訪問控制
1.1主要概念
RTBWAC的基本概念包括用戶、角色、許可、權限、活動、應用數據、數據對象、操作、靜態約束和動態約束。
a)用戶(user)是完成系統活動實例的參與者,既可以是人,也可以是某個應用程序;
b)角色(role)是根據部門、職責、權限等抽象出來的某一類型的用戶的描述;
c)許可(permission)是指具有執行某個應用數據操作的能力;
d)權限(privilege)是具體的對某個數據對象的操作能力;
e)活動(activity)是為實現某一目標由人工或自動完成的任務的集合;
f)應用數據(application data)是工作流系統中應用到的數據;
g)數據對象(data object)是指某個活動所處理的具體數據,如某份公文、某個訂單等;
h)操作(operation)是用戶可以對對象進行的動作,如文件的讀、寫操作,打印機的打印操作等。
在工作流環境中,為了減少商業欺詐的風險,用戶、角色、許可和活動均需要一定的限制。Botha和Elof將它們歸結為四種類型的沖突:沖突許可、沖突角色、沖突活動和沖突用戶[6]。這些沖突可以通過授權約束規則進行描述。授權約束分為靜態約束(static constraint)和動態約束(dynamic constraint)兩種類型。靜態約束是在用戶、角色、許可和活動配置時進行檢查,獨立于任何過程實例;動態約束則是依賴于過程實例的執行歷史,在過程實例的運行過程中進行沖突檢查。
1.2RTBWAC模型
RTBWAC模型構成如圖1所示。一個用戶可以屬于不同的角色,一個角色也可以擁有多個用戶;每個工作流活動可以由多個角色中的用戶來完成,一個角色也可以分配完成不同的活動;許可對應為二元組(操作,應用數據)。在運行時,一個活動往往會存在多個活動實例,一個用戶屬于某個活動關聯的角色,僅僅意味該用戶具有完成該活動的能力,但并不意味該用戶具有完成所有活動實例的權限,用戶權限的授予是動態進行的。角色層次定義了角色之間的繼承關系。角色繼承關系自然地反映了一個組織內部的權利和責任關系。下面是對RTBWAC模型的描述。
1.2.1模型各組成要素間的關系
定義1用戶全集、角色全集、活動全集、操作全集、應用數據全集、許可全集分別記為USERS、ROLES、ACTS、OPS、APDATA、PRMS。模型各個要素間的關系表述如下:
a)用戶/角色分配URUSERS×ROLES,角色r所分配用戶的集合users(r)={u∈USERS∧(u,r)∈UR};
b)角色/活動分配RAROLES×ACTS,活動a所分配的角色集合roles(a)={r∈ROLES ∧(r,a)∈RA};
c)PRMS=2APDATA×OPS,PRMS中的每一元素p=(d, o)代表一種許可,代表對應用數據d進行o操作;
d)活動/許可分配APACTS×PRMS,活動a所分配的許可集合permissions(a)={p∈PRMS∧(p,a)∈AP}。
1.2.2靜態約束規則
定義2RHROLES×ROLES是一種ROLES上的偏序關系,用表示。設r1,r2∈ROLES,有r1r2,表示r1擁有r2的所有許可。則可表示角色r∈ROLES的授權許可集合permissions(r)={p∈PRMS|r′r,(p,r′)∈PR},授權用戶集合users(r)={u∈USERS|r′r,(u,r′)∈UR}。
定義3角色r允許分配的最大用戶數稱為r的基數,記為cardinality(r)。
定義4若CPPRMS,且CP中任意兩個許可沖突,則稱CP是一個沖突許可集合;同理有沖突角色集合CR、沖突用戶集合CU和沖突活動集合CA。
模型靜態約束規則包括:
a)同一用戶不能屬于沖突的角色,表示為沖突角色集合CR∑r∈CR|users(r)|=|∪r∈CRusers(r)|;
b)沖突的用戶不能屬于沖突的角色,表示為沖突角色集合CR,沖突用戶集合CU|∪r∈CR(users(r)∩CU)|≤1;
c)同一活動不能分配沖突的角色,表示為a∈ACTS,沖突角色集合CR|roles(a)∩CR|≤1;
d)同一活動不能分配沖突的許可,表示為a∈ACTS,沖突許可集合CP|permissions(a)∩CP|≤1;
e)角色所擁有的最大用戶數不能超過角色的基數,表示為r∈ROLES|users(r)|≤cardinality(r)。
1.2.3動態約束規則
定義5若BAACTS,且在運行時BA中所有活動在同一過程實例中對應的活動實例必須由同一用戶完成,則稱BA是一個綁定活動集合。完成活動實例ai的用戶記為user(ai)。
模型動態約束規則包括:
a)完成活動實例的用戶屬于對應活動的分配角色,表示為a∈ACTS,活動wa的實例waiuser(wai)∈∪r∈roles(a)users(r);
b)在一個過程實例中,同一用戶不能完成沖突活動的實例,表示為過程實例wai,aiswai,若ais對應的活動集合為沖突活動集合,則|∪ai∈ais{user(ai)}|=|ais|;
c)在一個過程實例中,沖突用戶不能完成沖突活動的實例,表示為沖突用戶集合CU,過程實例waiI,aiswai若ais對應的活動集合為沖突活動集合,則|∪ai∈ais{user(ai)}∩CU|≤1;
d)在一個過程實例中,綁定活動集合對應的活動實例必須由同一用戶完成,表示為過程實例wa,aiswai若ais對應的活動集合為綁定活動集合,則{user(ai)|ai∈ais}=1。
2RTBWAC的應用舉例
RTBWAC模型適合于基于工作流的辦公自動化、電子政務和電子商務等系統。該模型在筆者開發的一個軍內的辦公系統中得到了應用。系統主要由資源服務器、訪問控制服務器和工作流執行服務器等部件組成。
下面就一個部門的公文生成工作為例。公文的生成由以下五個活動完成:擬文、審稿、核稿、簽發和校正。假定參與為五人,分別用u1、u2、u3、u4、u5表示;角色分為三類:科員、科長、處長,其層次關系為處長支配科長,科長支配科員。五個用戶的角色分別是u1和u2是科員,u3和u4是科長,u5是處長。系統的安全策略是科員只能進行擬稿和校正;審稿和核稿只能由科長或處長來處理;稿件簽發必須由處長來完成;執行校稿和擬稿的必須為同一用戶;執行核稿的用戶不能是執行審稿的用戶。圖2為公文生成的活動流程圖。
3總結
本文在分析工作流授權需求的基礎上提出了一種基于角色和任務的工作流訪問控制模型RTBWAC。該模型通過任務把角色和權限關聯起來,用戶通過指派的角色分配的任務獲得可執行的任務,然后在執行任務的過程中獲得任務所允許的對客體的操作權限。給出了靜態和動態授權約束規則,保證了工作流應用數據的安全性。實踐表明,該模型能較好地滿足對工作流的訪問控制需求,系統管理方便。
參考文獻:
[1]洪帆, 李靜. 基于任務的授權模型[J].計算機研究與發展, 2002, 39(8):998-1003.
[2]SNYDER L. Formal models of capabilitybased protection systems[J].IEEE Transactions on Computers, 1981, 30(3):172-181.
[3]PEREIRA S, PUN T. Robust template matching for affine resistant image watermarks[J].IEEE Transactions on Image Processing, 2000, 6(9):1123-1129.
[4]SANDHU R S, COYNE E J, FEINSEIN H L, et al. Role based access control models[J].IEEE Computer, 1996, 29(2):38-47.
[5]史美林, 楊光信, 向勇,等.WFMS:工作流管理系統[J].計算機學報, 1999, 22(3):325-334.
[6]BOTHA R A, ELOFF J H P. Separation of duties for access control enforcement in workflow environments[J].IBM Systems Journal, 2001, 40(3):666-682.
注:“本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文”