基于角色的權限管理系統設計的問(wèn)題和策略論文
中圖分類(lèi)號:TP311.52 文獻標識碼:A 文章編號:1009-3044(2012)33-7918-04
不同于自主或強制訪(fǎng)問(wèn)控制模型,基于角色的訪(fǎng)問(wèn)控制(簡(jiǎn)稱(chēng)RBAC,下同) 以角色作為中介,系統首先給角色授權,然后將角色分配給用戶(hù),角色架起了訪(fǎng)問(wèn)控制中訪(fǎng)問(wèn)主體與客體之間的一座橋梁。之所以不直接將權限授予用戶(hù),是因為角色比用戶(hù)更具穩定性。當因為系統需求對用戶(hù)進(jìn)行變更時(shí),只需修改角色與該用戶(hù)的關(guān)聯(lián),而不必對角色與訪(fǎng)問(wèn)控制客體之間的關(guān)聯(lián)進(jìn)行修改,使系統設計的靈活性有所增強。
1 層次RBAC模型
在基于角色的訪(fǎng)問(wèn)控制模型(RBAC)中,通常采用分層技術(shù)對角色的職權和責任能力進(jìn)行描述。通過(guò)添加對角色分層的支持,能夠提高RBAC的管理效率、明晰角色間的邏輯關(guān)系。層次RBAC模型在RBAC角色集定義的基礎上,提出了角色層次的概念,并添加了相應的訪(fǎng)問(wèn)控制規范。層次RBAC模型如圖1所示。
層次RBAC中包含兩類(lèi)角色分層,常規角色層次和有限角色層次。常規角色層次在角色分層中支持任意偏序關(guān)系,可以實(shí)現不同角色間的許可集和用戶(hù)集從屬關(guān)系的多重繼承;有限角色層次強加限制了角色分層系行為,使系統中分層技術(shù)被限制在簡(jiǎn)單的邏輯結構中,有利于增強系統授權的安全性。
2 角色控制的權責分割
權責分割是系統設計中常用的一條安全法則,主要用于加強有利害關(guān)系策略的沖突性。該沖突性允許一個(gè)用戶(hù)可以同時(shí)獲得兩個(gè)(或以上)的沖突角色,通過(guò)角色分層和個(gè)性化角色集為高層次的組織安全策略提供約束機制。為了便于權限管理系統的設計,參照RBAC標準的有關(guān)內容,我們將權責分割分為兩大類(lèi):靜態(tài)權責分割和動(dòng)態(tài)權責分割。
2.1靜態(tài)權責分割
靜態(tài)權責分割(SSD)屬于靜態(tài)約束,在角色集定義時(shí)就實(shí)施訪(fǎng)問(wèn)控制約束。SSD定義了一個(gè)包含兩個(gè)(或以上)角色的集合,為角色集指定限制條件,限制用戶(hù)指派關(guān)系。SSD還通過(guò)基數對策略違例做出了規定:如果系統的局部組織中有一個(gè)由5個(gè)角色組成的角色集,則在授權過(guò)程中僅能有不超過(guò)4個(gè)的用戶(hù)角色數目。
2.2 動(dòng)態(tài)權責分割
動(dòng)態(tài)權責分割(DSD)屬于動(dòng)態(tài)約束,在激活角色時(shí)才實(shí)施訪(fǎng)問(wèn)控制約束。DSD限制了對用戶(hù)有效的許可,為每個(gè)用戶(hù)的最小權限提供了不同的擴展支持。我們定義DSD(×N)是動(dòng)態(tài)權責分割中(rs,n)對的集合,其中rs代表角色集,n代表基數。我們認為在任意一個(gè)(rs,n)DSD的情況下,不存在用戶(hù)會(huì )話(huà)能從rs中同時(shí)獲得大于等于n的角色個(gè)數。該結論證明如下:
設t是rs的一個(gè)子集,據上述定義可得到:
SSD能夠在用戶(hù)指派角色時(shí),解決潛在的利害沖突;DSD則是在角色激活時(shí),解決產(chǎn)生的策略沖突。
3 基于角色的`訪(fǎng)問(wèn)控制應用
在權限管理系統中,SSD用于用例設計,主要是對訪(fǎng)問(wèn)控制核心角色的定義;DSD用于訪(fǎng)問(wèn)控制,主要是對權限管理核心類(lèi)的描述。
3.1系統用例設計
在采用RBAC模型的權限管理系統中,角色功能圖的用例框圖如圖2所示。
該用例框圖中的角色控制執行者主要有3個(gè):安全管理員、用戶(hù)和角色領(lǐng)域工程師。角色領(lǐng)域工程師是權限管理系統的核心角色,主要用于描述權限集,實(shí)施角色分層和附加約束操作。安全管理員管理負責管理基于角色的權限系統,為用戶(hù)授權。用戶(hù)被定義為一個(gè)真實(shí)的人或者一個(gè)外部的系統,他可以通過(guò)角色策略,要求系統執行針對某個(gè)對象的某種操作。
3.2 訪(fǎng)問(wèn)控制模塊
訪(fǎng)問(wèn)控制模塊是整個(gè)權限管理系統的核心部分,它的主要功能是用來(lái)驗證用戶(hù)或其角色是否具有訪(fǎng)問(wèn)權限。對外部系統而言,訪(fǎng)問(wèn)控制模塊采用黑盒設計,通過(guò)返回值確定允許或拒絕用戶(hù)的操作申請。此模塊的流程圖如圖3所示,從建立權限與資源的對應關(guān)系入手,逐步實(shí)現角色實(shí)體與權限實(shí)體之間調用權限操作,從而建立權限實(shí)體與層次結構的關(guān)聯(lián)。
訪(fǎng)問(wèn)控制模塊設計中的主要成員類(lèi)有User、Session、Role、Permission、Constrain、Object,其中Role是核心類(lèi)用作主要類(lèi)的連接。
User是一個(gè)接口,它包括RBAC 控制模塊中不同功能的實(shí)現類(lèi),每一個(gè)User對應一個(gè)Session。在用戶(hù)Logon成功后Session由系統提供,當會(huì )話(huà)時(shí)鐘超時(shí)系統會(huì )要求用戶(hù)重新進(jìn)行身份驗證。每一個(gè)Logon用戶(hù)可以在自己的Session中激活符合條件的角色,在激活角色之前系統先要調用Constrain檢查,確認用戶(hù)角色之間是否存在沖突。Role類(lèi)的設計也和Session一樣使用了多例設計模式,其目的同樣是為了控制被激活角色的數量。
3.3角色管理實(shí)現
權限管理系統中的角色管理包括:增加角色、角色管理范圍設定、角色變更、角色刪除等四部分功能, 角色管理功能可通過(guò)點(diǎn)擊左邊角色管理欄菜單或右鍵菜單來(lái)實(shí)現,權限管理系統中角色管理的部分源碼如下。
4 結論
在權限管理系統中,角色控制比用戶(hù)控制具有更好的靈活性,能夠有效實(shí)現權責分割;诮巧臋嘞薰芾硐到y已經(jīng)能夠很好滿(mǎn)足單域環(huán)境中的系統授權,針對跨域訪(fǎng)問(wèn)的授權機制和對權責分割理論的優(yōu)化,是今后進(jìn)一步工作的重點(diǎn)。
參考文獻:
[1] David F,Richard K.Role-Based Access Control [C].Proceedings of 15th National Computer Security Conference,1992:1-11.
[2] 鐘華,馮玉琳.擴充角色層次關(guān)系模型及其應用[ J] .軟件學(xué)報,2000,11(6):779-784.
[3] 呂宜洪,宋瀚濤,龔元明.基于RBAC改進(jìn)模型的角色權限及層次關(guān)系分析[J] .北京理工大學(xué)學(xué)報, 2002,22(5) :611-614.
[4] 余文森,張正秋,章志明,等.基于角色的訪(fǎng)問(wèn)控制模型中私有權限問(wèn)題的研究[J].計算機應用研究,2004(4):50-51.
[5] 鞠成東,廖明宏.基于RBAC模型的角色權限及層次關(guān)系研究[J].哈爾濱工業(yè)大學(xué)學(xué)報,2005,10(4):95-99.
[6] 余文森,張正球.基于角色的訪(fǎng)問(wèn)控制模型中私有權限問(wèn)題的研究[J].計算機應用研究,2004,21(4):5.
[7] 廖俊國,洪帆,朱賢,等.動(dòng)態(tài)角色轉換的關(guān)聯(lián)優(yōu)化[J].計算機工程與應用,2006(5).
[8] 馮學(xué)斌,鄭峰,洪帆.IRBAC2000角色轉換沖突處理策略[J].計算機工程與科學(xué),2007,29(9):53-55.
【基于角色的權限管理系統設計的問(wèn)題和策略論文】相關(guān)文章:
基于系統設計的科研管理論文03-21
基于A(yíng)SP的遠程培訓管理的系統設計與實(shí)現論文10-21
基于協(xié)同辦公的會(huì )議管理系統設計系統分析的論文10-29
淺談基于.NET的高校教材管理系統的分析與設計論文07-03
基于A(yíng)SP的圖書(shū)管理系統設計與實(shí)現研究論文10-30
探究基于構件技術(shù)的信息管理系統的設計論文10-31
基于A(yíng)SPnet績(jì)效工資管理系統設計與實(shí)現論文10-21