(武漢理工大學 a.信息工程學院; b.機電學院, 武漢 430070)
摘 要:在制造企業內容管理系統中將角色管理與內容工作流管理相結合,采用一種動靜態權限結合的訪問控制,將任務和角色放在同一層,角色權限決定用戶的靜態權限,任務實例權限決定用戶的當前權限,實現用戶訪問控制;最后以制造企業內容管理系統的設備資源管理模塊中的訪問控制為例進行說明。
關鍵詞:制造企業內容管理; 角色; 任務; 基于任務和角色的訪問控制; 訪問控制; 設備資源管理
中圖分類號:TP31152 文獻標志碼: A
文章編號:10013695(2008)12357503
Taskrolebased access control in manufacturing enterprise
content management system
YAO Tinga, HU Yefab
(a.College of Information Engineering, b. College of Mechanical Electrical Engineering, Wuhan University of Technology, Wuhan 430070, China)
Abstract:
This paper put forward a dynamic and static method of access control based on combining role management with workflow management of manufacturing enterprise content management system,in which roles and tasks put in the same layer. Role decided the user’s static power,and task instance decided the user’s dynamic power. At last, took access control of the equipment resource management for example.
Key words:manufacturing enterprise content management; role; task; taskrolebased access control(TRBAC); access control; equipment resource management
隨著制造企業信息化程度的提高,制造企業內部數字資源的不斷增多,信息急劇膨脹,企業資源信息分散。制造企業內容管理就是將企業資源信息進行組織、分類、管理、存儲、發布和搜索等服務,將這些分散、混亂的數據和信息整合為有組織的內容,提高企業競爭力。制造企業內容管理系統是基于Web的企業資源管理信息系統,由于網絡資源的開放與共享特性,其信息安全與管理問題顯得尤為重要,其中對用戶的訪問進行控制是保證系統安全的主要措施之一。
1 訪問控制
訪問控制(access control)就是通過某種途徑顯式地準許或限制訪問能力及范圍,從而限制對關鍵資源的訪問,防止非法用戶的侵入或者合法用戶的不慎操作造成破壞[1]。
在1992年由Ferraiolo等人[2]提出了基于角色的訪問控制(rolebased access control,RBAC)的模型;2000年NIST(National Institute of Standards and Technology)制定了RBAC的標準[3];此后R. Sandhu等人對RBAC進行了更深入的研究,2000年提出了RBDM(rolebased delegation model),2003年提出了PBDM(permissionbased delegation model)[4];文獻[5]于2005年提出了一個彈性的RBDM。
RBAC防止了用戶與權限的直接關聯,極大地方便了系統對用戶的授權管理。但是RBAC的授權相對于控制環境是靜態的,它沒有將執行操作放在上下環境中考慮,沒有依賴和時序的概念[6~8]。
1997年R.K Thomas等人[9]首次提出了基于任務的授權控制(taskbased authentication control,TBAC)。它是以面向任務的觀點,從任務(活動)的角度來建立安全模型和實現安全機制,在任務處理的過程中提供動態實時的安全管理[1]。但是TBAC可能產生最小權限約束的假象,一個主體往往可以執行多項任務,用戶一旦激活角色就擁有該主體的全部權限,實際操作時擁有多于單獨執行任務的權限,所以TBAC沒有達到真正的最小權限約束。
近年來有學者結合RBAC和TBAC兩種模型優點提出了基于角色和任務的一種新的訪問控制模型TRBAC[6,7,10]。將任務置于角色集與權限集之間,把傳統的RBAC模型的三級訪問控制結構修改為四級結構:用戶—角色—任務—權限。但在內容管理中某些權限是靜態的,不與任務相關,如信息的瀏覽與搜索。因此需要一種靜態與動態相結合的訪問控制。
針對上述系統中的情況,筆者采用一種動靜態權限結合的訪問控制,參考文獻[11]中的三級結構模型,將任務和角色放在同一層。角色權限決定用戶的靜態權限,任務實例權限決定用戶的當前權限。TRBAC在保留傳統RBAC模型的層次結構上,引入TBAC的動態控制,解決了RBAC模型的不足。
2 TRBAC訪問控制
21 TRBAC模型
TRBAC模型如圖1所示。
a)用戶:一般是系統的使用者。
b)角色:根據具體組織中職責的劃分而進行的權限范圍規定。
c)權限:用戶對系統中數據資源的具體操作權限。
d)會話:一個角色實例根據許可權限對系統資源的一次操作。
e)角色層次[3]:它是一個偏序關系,因此角色之間可以傳遞、繼承。
f)任務:工作流程中的一個邏輯單元。它是一個可區分的動作,可能與多個用戶相關,也可能包括幾個子任務。
g)任務流:由任務按照業務的需要按一定依賴和約束組成的工作流。任務之間存在著狀態依賴[10]關系。狀態依賴包括順序依賴、失敗依賴、分權依賴和代理依賴。模型根據狀態依賴這個動態約束進行動態授權。
h)任務實例[12]:一個動態的概念,它是任務流在運行中的實例,換句話說它是任務流的一次執行。
i)UR:根據用戶在組織中的職責被賦予的對應角色。
j)RP:角色按其職責范圍與一組操作許可相關聯。
k)RI:任務實例與角色的映射關系得到角色在一次任務實例時的動態權限。
l)IP:由任務和任務流決定的任務實例的權限。
m)TP:指任務按其范圍與一組操作許可相關聯。
22 TRBAC設計
TRBAC流程如圖2所示。
a)身份驗證:用戶在瀏覽器端輸入用戶名和密碼,提交后傳送到服務器端,通過與從數據庫中提取的解密用戶信息比較。若信息符合則通過身份驗證;否則頁面轉向登錄頁面。
b)角色授權。通過身份驗證,用戶根據用戶/角色信息獲取用戶分配的角色信息和角色繼承信息,再根據角色/權限信息獲得該用戶靜態權限表。
c)任務授權。結合實際業務流程來約束角色分配給用戶的靜態權限,實現用戶當前的權限。一個任務流看成一個復合任務,這個復合任務由一個任務集和與之相關聯的任務間依賴集組成。這個依賴集指定了任務執行的順序和一些其他的約束。任務依賴[12]一般是指任務狀態依賴,而狀態依賴是一個動態的約束,據此進行動態授權。
d)訪問請求過濾。用戶通過身份驗證并獲得了用戶權限表。當用戶發出訪問請求時,服務器端根據會話中保存的訪問權限的描述判斷用戶對該操作是否合法。如果合法,用戶即可向服務器端提出請求,服務器端處理后返回結果。
3 TRBAC在制造企業內容管理系統中的應用
制造企業資源包括制造資源、技術資源和人力資源等。制造企業內容管理系統是將制造企業資源信息進行組織、分類、管理、存儲、發布和搜索等服務活動。而對每種資源服務活動的管理涉及到的部門和用戶繁多,且每種資源的工作流程都不一樣。現以制造企業內容管理系統的制造資源管理中的設備資源管理的角色授權和任務授權為例進行說明。
設備全生命周期管理分為前期和后期管理。在前期管理中又可以劃分為采購計劃、采購申請、審核、驗收、安裝調試和固定資產辦理。后期管理包括設備靜態信息管理(基本信息、技術信息、能力信息和工裝信息)和動態信息管理(設備的檢修、設備的保養和設備的使用)。檢修中又可分為檢修計劃、檢修申請、審核、修理;保養中又包含保養計劃、保養;使用包括設備使用過程信息、當前狀態、設備故障和設備鑒定。設備管理流程如圖3所示。
圖3中S表示順序依賴,只有在當前任務完成后才能進行;F表示分權依賴,兩個任務必須是不同角色;C表示撤銷依賴,當前任務不通過則返回到另一任務;D表示代理依賴,當前任務通過則到達另一任務,圖中的依賴是任務狀態的依賴。所以兩個任務之間的關系為
(Ti,Ti狀態)×(Tj,[依賴集])
一個任務與多個任務之間的關系為
(Ti,Ti狀態)×{[Tj,(依賴集)],…,[Tm,(依賴集)]}
一個任務流是由多個任務組成。一個任務流中任務的關系為
(T1,T1狀態)×{[T2,(依賴集)],…,[Tj,(依賴集)]}
(Ti,Ti狀態)×{[Tn,(依賴集)],…,[Tm,(依賴集)]}
在該系統中,可以動態添加角色和對角色權限進行動態編輯。一個用戶可以擁有多個角色:
U_R(R1,R2,…,Rn)
每個角色都有自己的權限集:
R1_P(Pi…Pj),…,Rn_P(Pm…Pn)
此時用戶擁有的是角色集的權限集的并集
U_P=(R1_P)∪(R2_P)∪…∪(Rn_P)
在設備管理模塊中通常可以添加如表1所示的角色。
表1 角色與對應靜態權限
角色靜態權限
設備管理員 設備采購計劃申請,設備驗收安裝管理,檢修計劃申請,保養計劃,設備鑒定
設備使用管理員 靜態信息管理,使用過程信息管理,當前狀態記錄
設備維修管理員 設備修理記錄,保養記錄,故障記錄
設備領導 負責采購、檢修等計劃申請的審核、資產辦理
根據上述設備管理模塊的角色和設備管理任務流及任務狀態的依賴關系,現在如果用戶U1被授予a、b兩個角色,則用戶U1擁有角色a和b的權限并集的靜態權限;用戶U2、U3分別授予c、d角色,則用戶U2、U3分別擁有角色c、d的靜態權限。當用戶U1開始某一設備采購計劃,則產生一個任務實例I,此時對于實例I只有用戶U1有采購計劃審核的權限。由于任務狀態S、F的約束,接下來僅用戶U4擁有實例I的采購審核權限,隨著這一實例I的任務的完成情況和任務狀態的依賴約束情況從而產生動態權限。
4 結束語
TRBAC很好地解決了RBAC和TBAC的不足,用戶被賦予角色后擁有角色的靜態授權;用戶根據任務實例的具體情況和任務狀態的約束擁有動態權限,實現了對制造企業內容管理系統權限的動/靜態相結合的訪問控制。
參考文獻:
[1]鄧集波,洪帆.基于任務的訪問控制模型[J].軟件學報,2003, 14 (1):7682.
[2] FERRAIOLO D, KUHN R. Rolebased access controls[C]//Proc of the 15th NISTNCSC National Computer Security Conference. 1992:554563.
[3] FERRAIOLO D F, SANDHU R, GAVRILA S. Proposed NIST standard for rolebased access control[J.]ACM Trans on Information and System Security , 2001, 4 (3):224227.
[4] 李懷明,馬甜,王延章.基于角色的動態轉授權模型的研究與實現[J].計算機集成制造系統,2007, 13 (11):21152120.
[5] PARK D G, LEE Y R. A flexible rolebased delegation model using characteristics of permissions[C]//Proc of Database and Expert Systems Applications. Berlin:SpringerVerlag, 2005:31023231.
[6] 王瑜,卿斯漢.一種新的訪問控制模型——TBPMRBAC[J].計算機科學,2005, 32 (2):169172.
[7] 文家福,王嘉禎,楊素敏,等.基于角色和任務的工作流訪問控制模型及其應用[J].計算機應用研究,2007, 24 (9):168169.
[8] 鄭小林,雷宇,陳德人.面向網絡化制造系統的用戶訪問控制研究[J].浙江大學學報:工學版,2005, 39 (11):17351739.
[9] THOMAS R K, SANDHU R S. Taskbased authorization controls(TBAC): a family of models for active and enterpriseoriented authorization management[C]//Proc of IFIP WG11.3 Workshop on Database Security. Lake Tahoe: Chapman Hall, 1997:166181.
[10] OH S, PARK S. Taskrolebased access control model[J].Information System , 2003, 28 (6):533562.
[11] 趙秀鳳,郭淵博.一種基于角色和任務的訪問控制模型[J].微計算機信息,2007, 23 (11):6364.
[12] 洪帆,羅煒.工作流管理系統安全模型[J].華中科技大學學報:自然科學版,2003, 31 (12):46.