丁偉民,王 燕
(濰坊學院,山東 濰坊 261061)
角色訪問控制模型在管理信息系統中的設計與實現*
丁偉民,王 燕
(濰坊學院,山東 濰坊 261061)
本文采用基于角色的訪問控制模型設計與實現管理信息系統的訪問控制功能,以提高管理信息系統的訪問控制安全性,使管理信息系統采用角色來充當用戶行駛權限的中介,將用戶的授權分為角色委派及權限委派兩部分組成,實現了操作權限與訪問用戶分離,降低了的管理復雜度。
角色;管理信息系統;授權;訪問控制
管理信息系統(Management Information System)是一個由人、計算機及其他外圍設備等組成的能進行信息的收集、傳遞、存貯、加工、維護和使用的系統。
目前,管理信息系統中普遍存在員工類別繁多,權限更換頻繁的現狀。在管理信息系統中采用基于角色的訪問控制技術是實現系統訪問控制安全性能的一個理想選擇,一是因為角色的數目比用戶少得多,縮小了訪問控制的復雜度,二是當用戶改變部門或角色時,避免了權力的回收和重新授權,三是當幾個用戶同時執行同一個任務時,便于動態授權。
在管理信息系統中,操作對象主要是指系統中訪問界面的控制對象,如窗體、菜單、按鈕等界面元素。操作對象定義需要實現的功能有對象信息創建、對象信息修改、對象信息刪除、對象信息查看。
權限是對系統中操作對象訪問的許可,每一項權限是由一個操作對象及對該對象的一個行為構成。在管理信息系統中,權限的定義就是結合操作對象的定義信息。權限定義實現的功能有權限信息創建、權限信息修改、權限信息刪除、權限信息查看。
系統的最終使用者是用戶,因此必須建立用戶的身份認證功能,登記用戶的身份信息。每個用戶都屬于一個部門管理,用戶信息是與組織結構結合在一起的,用戶信包含所屬的部門信息。用戶定義實現的功能有用戶信息創建、用戶信息修改、用戶信息刪除、用戶信息查看。
角色定義內容包括角色基本信息定義、角色的繼承信息定義、角色的互斥信息定義三部分。
角色對應于組織中某一特定的職能崗位,系統應提供角色定義工具,根據企業職權、職位以及分擔的權利和責任定義相應的角色。在管理信息系統中存在諸多機構層次,每個機構層次都有一些部門,每個部門里一般都有一些固定的職務。這些固定的職務可以定義對應的角色。
角色繼承關系自然的反映了一個組織內部權利和責任的關系。角色之間有相應繼承的關系,當一個角色r1繼承另一個角色r2時,r1就自動擁有了r2的訪問權限。角色繼承可以使新定義的角色在已有角色的基礎上產生,角色繼承關系允許多繼承,即一個子角色繼承多個父角色。在管理信息系統中的角色繼承需要滿足以下規則要求:
●子角色可以繼承多個父親角色
●角色之間存在單向繼承關系,子角色只能繼承上一
層次的父親角色
●子角色擁有其所有父親角色的權限,包含直接父親直到最終
角色的互斥關系是用于指定兩個角色具有不同的職責,不能讓一個用戶同時擁有。角色間的互斥關系是固定的,在系統設計階段,不能隨意增加和刪除。角色互斥需要滿足以下規則要求:
●角色的產生不能從互斥的多個角色中繼承
●互斥的角色不能存在繼承關系
●互斥的角色具有靜態互斥約束關系
互斥的角色存在互斥狀態(動態或靜態),如果互斥狀態為靜態,互斥的角色不能委派同一個用戶。如果互斥狀態為動態,互斥的角色能夠委派同一個用戶,但只能選擇其中的一個角色登陸。
角色定義實現的功能有角色信息創建、角色信息修改、角色信息刪除、角色信息查看。
在授權完成后可檢查登錄用戶所擁有的能力表信息,審查給用戶的權限是合適,如不合適可重新進行用戶委派和收回部分權限的處理。目前系統只能以對用戶組管理的模式對一個用戶組內的用戶進行部分權限收回處理。權限審查實現的功能有用戶權限信息查看、用戶權限信息撤銷。
系統通過定義登錄模塊驗證用戶身份是系統安全管理的必須步驟。用戶驗證的目的就是鑒別用戶身份,在管理信息系統中通常使用登陸名、密碼兩方面內容來驗證用戶身份。
角色委派建立并維護用戶與角色之間的綁定關系。由于角色定義描述了角色以及角色之間繼承的關系信息,所以當用戶委派某個角色時,用戶不僅擁有對應角色自身關聯的功能操作,而且用戶也擁有其子角色關聯的功能操作。角色委派實現的功能有角色用戶信息創建、角色用戶信息修改、角色用戶信息刪除。
權限委派建立并維護角色與權限之間的綁定關系。權限委派實現的功能有角色權限信息創建、角色權限信息修改、角色權限信息刪除。
基于角色的訪問控制技術設計思想就是把對用戶的授權分成兩部份,用角色來充當用戶行駛權限的中介。用戶與角色之間以及角色與權限之間就形成了兩個多對多的關系。
根據管理信息系統的訪問控制需求,管理信息系統中的角色訪問控制功能可以劃分為對象定義模塊、權限定義模塊、角色定義模塊、用戶定義模塊、權限審查模塊、用戶驗證模塊、角色委派模塊、權限委派模塊八個模塊,如圖1所示。

圖1 功能劃分
在管理信息系統中,通過創建角色訪問控制數據庫存儲系統訪問控制信息,角色訪問控制數據庫中涉及的實體有:操作對象、權限、角色、用戶、角色用戶關系、角色權限關系、對象權限關系、角色繼承關系、角色互斥關系,其實體間關系如圖2所示:

圖2 實體關系圖
根據實體關系圖,設計如下:
①操作對象信息表
對象信息表存儲了各功能模塊、數據、界面元素(包括菜單、按鈕等各種界面上能控制的控件)等的基本信息,主要字段描述如下:
對象編號[主鍵]、對象名稱、對象描述信息、對象級別編號、對象屬性、所控制的對象編號。
②權限信息表
權限信息表存儲操作對象及其操作許可的基本信息,主要字段描述如下:
權限編號[主鍵]、權限名稱、訪問權限(允許、禁止)。
③角色信息表
角色信息表存儲角色的基本信息,主要字段描述如下:
角色編號[主鍵]、角色名稱、所屬部門編號、角色容量、啟用否、啟用開始日期、啟用結束日期。
④用戶信息表
用戶信息表存儲系統用戶的基本信息,主要字段描述如下:
用戶編號[主鍵]、用戶登錄名、用戶名稱、登陸密碼、最后一次登錄的時間、登陸次數、輸入密碼錯誤的次數、用戶部門編號[外鍵]、啟用否、啟用日期、電子郵箱、聯系電話、家庭住址。
⑤角色用戶關系表
角色用戶關系表存儲用戶與角色之間的關聯信息,主要字段描述如下:
關聯編號[主鍵]、角色編號[外鍵]、用戶編號[外鍵]、說明、備注。
⑥角色權限關系表
角色權限關系表存儲角色與權限之間的關聯信息,主要字段描述如下:
關聯編號[主鍵]、權限編號[外鍵]、角色編號[外鍵]、說明、備注。
⑦對象權限關系表
對象權限關系表存儲操作對象與權限的關聯信息,主要字段描述如下:
關聯編號[主鍵]、對象編號[外鍵]、權限編號[外鍵]、說明、備注。
⑧部門信息表
部門編號[主鍵]、部門名稱、部門說明、備注。
⑨角色繼承關系表
角色繼承關系表反映了角色的單向繼承關系,即只關聯存儲父親角色信息。通過分析,管理信息系統中允許多繼承,表中字段如下:
關系編號[主鍵]、角色編號、父親角色編號[外鍵]。
⑩角色互斥關系表
互斥角色關系表反映了同一層次中互斥的角色信息,其中一個角色可以存在多個互斥角色。表中字段如下:
關系編號[主鍵]、角色編號、互斥角色編號[外鍵]。
輸入參數:用戶名、密碼
算法描述:
①搜索用戶信息表,驗證用戶身份及登陸次數,失敗退出。
②創建角色臨時表存儲用戶的角色信息。
③搜索角色用戶關系表中用戶的角色以及繼承的角色信息,并存儲到角色臨時表,如搜索結果為空,退出。
④遍歷角色臨時表,根據角色編號搜索角色權限信息表。
⑤根據用戶的權限信息設置菜單、相關窗體、按鈕的訪問屬性。
⑥關閉登陸窗體。
⑦顯示用戶的訪問主界面。
角色委派操作是首先在用戶列表中選中用戶,然后在角色列表中選擇委派的角色,進行角色委派算法驗證與角色委派信息的保存。
角色委派驗證算法描述:
①根據所選角色的編號搜索角色關系表,驗證所選角色容量的限制要求,如超過角色容量限制,退出。
②驗證用戶的部門編號與委派角色所屬的部門編號是否一致,否則退出。
③根據所選用戶編號遍歷所擁有的角色,搜索角色互斥關系表,驗證用戶擁有的角色與所選角色是否存在互斥關系,存在退出。
④驗證用戶所選角色是否是用戶擁有角色的子角色,如果是,退出。
⑤將委派關系存入角色用戶關系表中。
本文根據管理信息系統在安全訪問控制方面的實際需求,設計并實現了適用于管理信息系統的基于角色的安全訪問控制功能,實現了操作權限與訪問用戶分離,避免越權行為,降低了管理復雜度。
[1]劉偉,孫玉芳.基于角色訪問控制模型及其在操作系統中的實現[J].計算機科學,2003,30(8):166-168.
[2]陳鳳珍,洪帆.基于任務的訪問控制(TBAC)模型[J].小型微型計算系統,2003,24(3):621-624.
[3]鄧集波,洪帆.基于任務的訪問控制模型[J].軟件學報,2003,14(1):76-82.
[4]王小明,趙宗濤,郝克剛.工作流系統帶權角色與周期時間訪問控制模型[J].軟件學報,2003,14(11):1841-1849.
[5]Ravis,Sandhu.Role-based access control model[J].IEEE computer,1996,29(2):38-47.
(責任編輯:肖恩忠)
TP391
A
1671-4288(2010)06-0049-04
2010-09-12
丁偉民(1979-),男,山東濰坊人,濰坊學院數學與信息科學學院講師。