摘要: 基于角色訪問控制(RBAC)是一種方便安全和高效的訪問控制機制。本文首先分析了基于角色的訪問控制模型的特點,并以RBAC的基本模型為依據,設計并實現了適合于電子政務的授權體系。
關鍵詞:RBAC;角色;權限
中圖分類號:TP311文獻標識碼:A文章編號:1009-3044(2008)17-21439-03
1 引言
隨著計算機技術和網絡技術的迅猛發展,基于網絡的應用系統對安全性提出了越來越高的要求,基于角色的訪問控制方法RBAC(Role—BasedAccessControl)由于較好地滿足了現實領域中的安全需求,故得到了廣泛應用。基于角色的訪問控制是一種主動型的訪問控制方式[1]。RBAC相對于自主訪問控制DAC(DiscretionaryAccessControl)以及強制訪問控制MAC(MandatoryAccessControl)將用戶與訪問權限直接對應的做法,減少了用戶工作職責的變動對系統穩定性的影響,因為用戶職責或任務易于變化,而根據工作職責設置的角色則相對穩定。近年來,基于角色的訪問控制(RBAC)模型以其授權管理簡單、權限變更靈活、開銷低、易操作等特性得到了廣泛的認可和應用[2]。
本文提出的授權模型正是采用基于角色的訪問控制(RBAC)模式。授權體系把各個應用軟件的分散認證和授權功能集中起來,建立一個認證授權中心,便于集中的認證和授權的管理。授權體系負責用戶的認證、會話管理和授權。用戶登錄時登錄請求由認證授權模塊認證后,這一模塊為這一用戶建立一個會話。
2 授權模型
授權模型采用基于角色的訪問控制(RBAC)模式。模型如圖1所示:
這種模型的優點如下:
(1)機構關于工作崗位的策略可以直接反映為角色的定義和用戶的角色賦予; (2)為得到更大的靈活性和規則的簡約性,角色可以進行結構化;(3)為了功能的靈活性,用戶可以同時激活多個會話,有些任務可能需要多個視圖或不同類型的行為;(4)我們可以增加UML約束,以表明有些角色不能用于同一個會話或被賦予給同一個用戶(職責分離);(5)用戶組可以作為角色成員,這樣可以大大降低授權規則和角色分配的數目。
3 授權體系的功能模塊劃分
3.1 授權體系的功能模塊說明
授權體系的功能模塊劃分如圖2所示:
具體功能模塊說明見表1。
3. 2模塊的細化
3.2.1 權限設定
權限設定模塊根據功能的不同又可分為:權限分配模塊和授權體系配置模塊。
(1)權限分配模塊的主要構成元素如下表:
(2)授權體系配置模塊的主要構成元素如下表:
3.2.2 參數處理
結合應用實例并且考慮到可擴展性和通用性。需要做一個通用接口,在權限驗證之前把數值轉換為對應權限這樣在權限驗證時只比較權限,不涉及到數值的問題。
3.2.3 權限驗證
完成權限的比較與數據庫的讀寫操作,把比較結果交給結果處理模塊。這里有一個重要的工作:權限的結構設計。
3.2.4 結果處理
授權體系的結果只有兩種情況:(1)通過驗證,結果是授權信息的記錄號;(2)沒有通過驗證,結果是拋出一個異常。
3.2.5 數據庫操作
數據庫操作可分為兩個模塊:權限操作模塊與授權信息登記模塊。這樣設計的原則是權限操作與授權信息可以是不同類型的數據庫。(例:權限操作是一個LDAP,而授權信息是一個Oracle,也可都是一個Oralce具有可擴展性,通用性)
3.3 驗證算法
授權體系做為一個Service來提供相應的功能, 請求參數這是為使用授權體系而必須要提供的參數,驗證邏輯是為了完成授權請求的驗證比對所提供的依據,參考圖2所示 。
驗證算法:完成一次授權驗證的步驟如下:
第一步:(由Login模塊來完成)完成操作人與授權人的身份核實
第二步:(由調用授權體系的模塊來完成)完成操作類型的區分和授權參數的初始化,并且向授權體系提交授權參數。
第三步:授權體系接收授權參數,并且進行參數的處理操作(即根據請求類型和操作類型查出對應的信息)
第四步:完成請求權限的驗證(即驗證操作人與授權人是否有此權限)。 批準的條件:
(1)請求參數中的授權人,操作人和請求數值與設定的相同或在允許的范圍。
(2)請求參數中的授權人與權限設置表中的一至且請求數值與設定的相同或在允許的范圍。
(3)請求參數中的授權人,操作人和請求數值小于設定的數值。
(4) 請求參數中的授權人,操作人和請求數值大于設定的數值,返回可以使用的數值。
第五步:完成授權處理(即如果符合就批準并且建立相應的記錄,如果不符合就返回一個Exception)
4 授權體系的數據存儲結構設計
以下給出授權體系的主要的數據存儲結構,在實際的應用中,還是要更具需要添加相應的表和字段信息。
4.1 授權記錄的存儲結構
(1) 授權信息表
(2)操作人表
(3)授權人表
5 結束語
基于角色的數據訪問控制(RBAC)是提高系統安全性的一種靈活有效的訪問控制策略,它可以根據需求的不同,建立不同的角色關系和操作權限集。既可以管理內部用戶,也可以管理遠程用戶,大大地方便了系統的管理。為電子政務系統面臨的多用戶、多分支機構的矛盾問題提供了很好的安全解決方案。
參考文獻:
[1] D Heuscher , K Brown , F Noo.Redundant data andexact helical conebeam reconstruction[J].phys Med Biol,2004(49);2219-2238.
[2] Sandhu R , Coyne E , Feinstein. Role - based Access Cont rolModel [J] . IEEE Computer ,1996 ,29 (2) :38 - 47.
注:本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文