摘 要:在研究傳統(tǒng)RBAC訪問(wèn)控制模型的基礎(chǔ)上,提出了一種應(yīng)用于圖紙管理系統(tǒng)的RBAC模型,詳細(xì)討論了安全控制中的資源對(duì)象、權(quán)限劃分與角色定義等概念,對(duì)RABC基本模型進(jìn)行擴(kuò)展。根據(jù)用戶的需求,建立了圖紙管理系統(tǒng)的權(quán)限劃分方法,并設(shè)計(jì)出數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)且對(duì)數(shù)據(jù)庫(kù)的設(shè)計(jì)過(guò)程和思路進(jìn)行了詳細(xì)的論述。系統(tǒng)的實(shí)際應(yīng)用結(jié)果表明:采用RABC模型的圖紙管理系統(tǒng)避免了用戶和權(quán)限的直接聯(lián)系,很好地實(shí)現(xiàn)數(shù)據(jù)庫(kù)的安全訪問(wèn)。關(guān)鍵詞:訪問(wèn)控制; 圖紙管理; 數(shù)據(jù)庫(kù)模型; 基于角色; 訪問(wèn)控制
中圖分類(lèi)號(hào):TN919-34; TP311文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1004-373X(2010)18-0104-02
Application of Role-based Access Control in Blueprint Management System
XIAO Feng
(School of Computer Science and Engineering, Xi’an Technological University, Xi’an 710032, China)
Abstract: Based on the research of the access control model RBAC, a RBAC model which applies to the blueprint management system is presented, the concept of resource object, purview division and role definition for the security control is discu-ssed in detail and the RABC basic model is extended while designing this new model. According to customer needs, the purview division method of the blueprint management system is established, the logical structure of the database is designed, as well as the process and ideas of designing the database of the blueprint management system are elaborated. The actual application shows that the blueprint management system using the RABC model could avoid the direct connection between the users and privileges. The database security access was realized.Keywords: access control; blueprint management; database model; role-based access control
0 引 言
隨著電力信息系統(tǒng)的應(yīng)用范圍擴(kuò)大,電力信息系統(tǒng)中的軟件流程和流程內(nèi)業(yè)務(wù)功能越來(lái)越多,并且用戶、權(quán)限和流程模塊功能交叉分配,使得對(duì)該系統(tǒng)的安全管理和訪問(wèn)控制很難進(jìn)行,存在著很多信息安全方面的問(wèn)題,其中較為突出的有:
(1) 程序繁瑣。眾多用戶面對(duì)多個(gè)系統(tǒng)要重復(fù)輸入帳號(hào)、口令等信息,不僅繁瑣,而且容易造成口令丟失,而帶來(lái)不可估量的損失。
(2) 管理難度增加。由于每個(gè)應(yīng)用系統(tǒng)都有自己的用戶和訪問(wèn)控制功能模塊,那么在具體的授權(quán)管理時(shí),每個(gè)應(yīng)用系統(tǒng)都需要專門(mén)的管理員獨(dú)立地進(jìn)行操作,用戶信息的大量重復(fù),極大地增加了管理員保持所有用戶信息一致性的管理難度。
因此,系統(tǒng)急需有一個(gè)統(tǒng)一的、具有較高安全體制的身份驗(yàn)證系統(tǒng),以保證數(shù)據(jù)安全和用戶使用方便。
雖然RBAC(基于角色的訪問(wèn)控制)的基本思想已經(jīng)在一些應(yīng)用系統(tǒng)中出現(xiàn),但較少涉及管理方法以及訪問(wèn)控制規(guī)則等問(wèn)題,并且對(duì)于系統(tǒng)管理者而言,很難將抽象的RBAC模型應(yīng)用于現(xiàn)實(shí)系統(tǒng)。在此采用RABC模型的思想,根據(jù)繼電保護(hù)圖紙管理系統(tǒng)的組成情況和業(yè)務(wù)功能需要設(shè)計(jì)了應(yīng)用于繼電保護(hù)圖紙管理系統(tǒng)的RBAC模型。
1 基于角色的訪問(wèn)控制策略[1-5]
基于角色的訪問(wèn)控制是美國(guó)NIST(national institute of standards and technology)提出的一種訪問(wèn)控制技術(shù)。該技術(shù)主要研究將用戶劃分成與其在組織結(jié)構(gòu)體系相一致的角色,以減少授權(quán)管理的復(fù)雜性,降低管理開(kāi)銷(xiāo),為管理員提供一個(gè)比較簡(jiǎn)單的安全策略。基于角色的訪問(wèn)控制方法的思想就是把對(duì)用戶的授權(quán)分成兩部分,用角色來(lái)充當(dāng)用戶行使權(quán)限的中介[6]。
RBAC包含3個(gè)實(shí)體:用戶、角色和權(quán)限.用戶是對(duì)數(shù)據(jù)對(duì)象進(jìn)行操作的主體。權(quán)限是對(duì)某一數(shù)據(jù)對(duì)象可操作的權(quán)利。角色是指一個(gè)組織或任務(wù)中的工作或位置,它代表了一種資格、權(quán)力和責(zé)任[7-8]。角色的概念源于實(shí)際工作中的職務(wù),一個(gè)職務(wù)就代表了在工作中處理某些事務(wù)的權(quán)利。將這個(gè)概念引入到權(quán)限管理中來(lái),就使得角色作為中間橋梁將用戶和權(quán)限聯(lián)系起來(lái)。一個(gè)角色可以看成是一組權(quán)限的集合,也可以看成是若干具有相同身份的用戶集合。RBAC遵循了最小權(quán)限、權(quán)利分散和數(shù)據(jù)抽象等安全原則[9]。
在RBAC的體系中,一個(gè)用戶可以被賦予多個(gè)角色,一個(gè)角色也可以被賦予多個(gè)用戶;同樣,一個(gè)角色可以擁有多項(xiàng)權(quán)限,一個(gè)權(quán)限可以分配給多個(gè)角色。系統(tǒng)管理員根據(jù)單位中不同的崗位定義不同的角色,用戶根據(jù)其職能和責(zé)任被賦予相應(yīng)的角色,權(quán)限被授權(quán)給角色。這樣,一個(gè)用戶可以通過(guò)他具有的角色的權(quán)限,判斷他可以訪問(wèn)的系統(tǒng)資源和對(duì)該資源可進(jìn)行的操作,整個(gè)訪問(wèn)過(guò)程就分成了2個(gè)部分,即訪問(wèn)權(quán)限與角色相關(guān)聯(lián),角色再與用戶相關(guān)聯(lián),從而實(shí)現(xiàn)了用戶與訪問(wèn)權(quán)限的邏輯分離,極大地方便了權(quán)限管理[10]。RBAC模型結(jié)構(gòu)圖如圖1所示。
圖1 RBAC模型結(jié)構(gòu)圖
2 RBAC模型在圖紙管理系統(tǒng)中的應(yīng)用
根據(jù)圖紙管理的業(yè)務(wù)工作需求,從資源對(duì)象控制、權(quán)限劃分、角色定義、數(shù)據(jù)庫(kù)設(shè)計(jì)等方面描述了RBAC模型在圖紙管理系統(tǒng)中,數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)的設(shè)計(jì)以及訪問(wèn)控制的具體實(shí)現(xiàn)。數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu)見(jiàn)圖2。
圖2 關(guān)系的邏輯結(jié)構(gòu)
角色表 角色表用于存儲(chǔ)角色信息。角色編號(hào)是指本角色的編排序號(hào);基本角色編號(hào)指本角色編號(hào)對(duì)應(yīng)的上級(jí)角色(父角色)的編號(hào);角色級(jí)別是指角色的等級(jí)分類(lèi);角色容量指限制角色可援權(quán)給用戶的最大數(shù)量。該表的資深鏈接實(shí)現(xiàn)了角色(角色編號(hào))與父角色(基本角色編號(hào))的等級(jí)聯(lián)立關(guān)系。基本角色編號(hào)可以為空值。如果角色表中基本角色編號(hào)為空則該角色編號(hào)為頂級(jí)角色。他不屬于任何角色;如果基本角色編號(hào)不為空,則該角色編號(hào)為下級(jí)角色,他的父角色就是基本角色編號(hào)對(duì)應(yīng)角色。角色編號(hào)和基本角色編號(hào)是一對(duì)零或多的關(guān)系,意思就是指角色可以從屬于零個(gè)或多個(gè)角色(角色可以擁有零個(gè)或多個(gè)父角色)。
權(quán)限集合表 存儲(chǔ)電力系統(tǒng)自定義目錄及圖紙文件的權(quán)限級(jí)別信息。權(quán)限級(jí)別指目錄/文件編號(hào)對(duì)應(yīng)功能的訪問(wèn)權(quán)限等級(jí)信息。該表是權(quán)限的基本信息存儲(chǔ)表。
用戶角色關(guān)系表 存儲(chǔ)某用戶相對(duì)應(yīng)的角色信息。用戶表和用戶角色關(guān)系表是一對(duì)零或多的關(guān)系,意思就是指某個(gè)用戶可以指派零或多個(gè)角色。角色表和用戶角色關(guān)系表是一對(duì)零或多的關(guān)系,意思就是指某個(gè)角色可以指派給零或多個(gè)用戶。在現(xiàn)實(shí)生活中,一個(gè)用戶被授予某個(gè)角色往往依賴于很多條件。
角色權(quán)限關(guān)系表 存儲(chǔ)某角色相對(duì)應(yīng)的權(quán)限信息。角色表和角色權(quán)限關(guān)系表是一對(duì)零或多的關(guān)系,意思就是指某個(gè)角色可以指派零或多個(gè)權(quán)限。權(quán)限集合表和角色-權(quán)限關(guān)系表是一對(duì)零或多的關(guān)系,意思就是指某個(gè)權(quán)限可以指派給零或多個(gè)角色。
角色互斥限制表 存儲(chǔ)某一角色是否與另一角色具有的互斥關(guān)系信息。角色和角色互斥限制表是一對(duì)零或多的關(guān)系,指某個(gè)角色可以實(shí)現(xiàn)零或多個(gè)互斥限制關(guān)系;某個(gè)角色對(duì)應(yīng)零或多個(gè)互斥角色。
權(quán)限互斥限制表 存儲(chǔ)某一角色的目錄/文件權(quán)限與另一目錄/文件權(quán)限的互斥關(guān)系信息。權(quán)限集合表和權(quán)限互斥限制表示一對(duì)零或多的關(guān)系(基本原理機(jī)制同角色互斥限制表)。角色表和權(quán)限互斥限制表是一對(duì)零或多的關(guān)系,意思就是指某個(gè)角色下的某個(gè)權(quán)限與多個(gè)權(quán)限互斥。
3 結(jié) 語(yǔ)
角色權(quán)限控制在圖紙管理系統(tǒng)中的應(yīng)用,使軟件系統(tǒng)安全性與管理效率得到有效的提高,根據(jù)角色的業(yè)務(wù)需要進(jìn)行權(quán)限分配其在軟件系統(tǒng)中的訪問(wèn)資源,實(shí)現(xiàn)了動(dòng)態(tài)權(quán)限管理,管理員可以根據(jù)現(xiàn)實(shí)的需要增加、修改和刪除角色,動(dòng)態(tài)地改變用戶所擁有的權(quán)限,能有效進(jìn)行不同級(jí)別用戶的工作分配;權(quán)限的賦予是面向角色而不是面向用戶個(gè)體的,系統(tǒng)可以適應(yīng)企業(yè)內(nèi)部結(jié)構(gòu)的調(diào)整,具有較大的靈活性,使得系統(tǒng)能夠適應(yīng)企業(yè)特定的安全策略,使權(quán)限管理更加靈活和接近現(xiàn)實(shí)。
參考文獻(xiàn)
[1]David F FERRAIOLO, SANDHU Ravi, SERBAN Gavrila D, et al. NIST standard for role-based access control[J]. ACM Transactions on Information and System Security, 2001, 4(3): 224-274.
[2]SANDHU Ravi, COYNE Edward J. Role-based access control models[J]. Computer, 1996(2): 38-47.
[3]SCHAAD Andreas, MOFFETT Jonathan, JACOB Jeremy. The role-based access control system of a european bank:a case study and discussion[C]//SACMAT 2001: 6th ACM Symposium on Access Control Models and Technologies. VA, USA: ACM, 2001: 3-9.
[4]SANDHU Ravi, FERRAIOLO David, KUHN Richard. The NISTModel for role-based access control: towards a unified standard[C]//Proceeding of the Fifth ACM Workshop.[S.l.]: ACM, 2000: 47-63.
[5]陳怡,耿國(guó)華,李吉.動(dòng)態(tài)訪問(wèn)控制技術(shù)的研究與應(yīng)用[J].計(jì)算機(jī)技術(shù)與發(fā)展,2006,16(2):223-225.
[6]單智勇,孫玉芳.通用訪問(wèn)控制框架擴(kuò)展研究[J].計(jì)算機(jī)研究與發(fā)展,2003,40(2):228-234.
[7]李孟軻,余祥宣.基于角色的訪問(wèn)控制技術(shù)及應(yīng)用[J].計(jì)算機(jī)應(yīng)用,2000(10):44-47.
[8]黃益民,楊子江,平玲娣,等.安全管理系統(tǒng)中基于角色訪問(wèn)控制的實(shí)施方法[J].浙江大學(xué)學(xué)報(bào),2004(4):408-413.
[9]蔣韜,李信滿,劉積仁.信息安全模型研究[J].小型微型計(jì)算機(jī)系統(tǒng),2000(10):1076-1081.
[10]劉國(guó)麗,郭鐵柱,玉海,等.基于角色的管理信息系統(tǒng)安全設(shè)計(jì)[J].河北工業(yè)大學(xué)學(xué)報(bào),2004,33(3):45-49.