[摘 要]角色訪問控制(Role-Based Access Control,RBAC)技術(shù)是近年來計算機網(wǎng)絡訪問控制研究的熱點技術(shù)之一。將角色訪問控制技術(shù)應用于圖書館的圖書流通系統(tǒng)中,能夠降低授權(quán)管理的復雜度,提高系統(tǒng)的安全性。
[關(guān)鍵詞]RBAC;訪問控制;圖書流通系統(tǒng);角色
[中圖分類號]G250.71 [文獻標識碼]B [文章編號]1008-0821(2010)02-0102-02
The Application of Role-based Access Control Technology
in Library Books Circulation SystemZhang Haiou
(Liaoning Provincial Library,Shenyang 110015,China)
[Abstract]Role-based access control is one of the hot technologies in network access control research in recent years.Using role-based access control technology in library books circulation system could reduce the complexity of authorization,and improve the security of the system.
[Keywords]RBAC;access control;books circulation system;role
隨著計算機技術(shù)、網(wǎng)絡技術(shù)在圖書館的廣泛應用,圖書館管理所面臨的信息環(huán)境和服務模式發(fā)生了深刻的變化。在現(xiàn)代網(wǎng)絡化的圖書館中,圖書流通系統(tǒng)是圖書館管理的核心部分。在這樣一個開放的信息傳播與交流系統(tǒng)中,我們經(jīng)常需要面對非法用戶的入侵和授權(quán)管理等一系列復雜的問題,這就需要研究探索行之有效的控制手段,以提高系統(tǒng)的安全性能,有效拒絕非法用戶的入侵?;诮巧脑L問控制技術(shù)在信息安全領(lǐng)域已得到廣泛應用。實踐證明,這一技術(shù)不僅能夠提高系統(tǒng)的安全性,有效地拒絕未經(jīng)授權(quán)的非法用戶的入侵,而且可以大大增強計算機管理系統(tǒng)的訪問控制能力,降低授權(quán)管理的復雜度。鑒于此,筆者試圖將基于角色的訪問控制技術(shù)應用于圖書館的圖書流通系統(tǒng),以期有效解決圖書館網(wǎng)絡管理系統(tǒng)中用戶非法入侵和授權(quán)管理的一系列復雜的難題。
1 角色訪問控制
角色訪問控制(Role-Based Access Control,RBAC)是在自主訪問控制(Discretionary Access Control)和強制訪問控制(Mandatory Access Control)的基礎(chǔ)之上發(fā)展起來的。其具體的工作原理如圖1所示。角色訪問控制的實質(zhì)就是將對用戶的授權(quán)分成兩部分,用角色來充當用戶行使權(quán)限的橋梁。一個用戶可以被賦予若干角色,一個角色也可以被賦予給若干個具體用戶,用戶和角色之間是多對多的關(guān)系,用戶添加到角色中,就自動繼承了角色的權(quán)限。同樣,一個角色可以具有多項權(quán)限,一項權(quán)限也可被賦予給多個不同的角色,角色和權(quán)限之間也是多對多的關(guān)系。這樣,用戶與角色之間以及角色與權(quán)限之間就形成了兩個多對多的關(guān)系。
圖1 RBAC的基本原理 其訪問機制為:用戶承擔不同的角色——不同的角色執(zhí)行不同的操作——不同的操作權(quán)限規(guī)定了用戶不同的訪問資源的方式。在這個控制系統(tǒng)中,角色之間可以有層次關(guān)系,一個角色可以擁有它下層角色的操作權(quán)限。這樣在一定程度上可簡化授權(quán)的操作。角色訪問控制使訪問控制適應性更強,管理者可以通過調(diào)節(jié)用戶所屬的角色、角色相關(guān)的操作、角色之間的層次關(guān)系等,靈活地控制用戶訪問資源的方式。
2 角色訪問控制應用于圖書流通系統(tǒng)的方案分析
2.1 角色訪問權(quán)限控制的設(shè)計
值得強調(diào)的是,角色訪問控制的所有權(quán)限控制與實現(xiàn)歸根結(jié)底都是在圖書流通系統(tǒng)原有的各功能模塊下進行設(shè)計。當用戶進行相應的操作時,系統(tǒng)應該首先判斷出該用戶是否為合法的授權(quán)用戶。中間一系列過程對用戶來說是透明的,其中所涉及的技術(shù)正是本課題需要解決的重點和難點。
在基于角色的權(quán)限控制設(shè)計中,需要賦予管理系統(tǒng)原有的每一種子功能一個惟一的編號(權(quán)限代號)。當用戶登錄系統(tǒng)時,系統(tǒng)首先對用戶的身份進行驗證,判斷該用戶的身份是否合法。在通過身份認證后,系統(tǒng)根據(jù)用戶身份去獲取該用戶的角色,再由角色去獲取相應的權(quán)限代號,這一組編號經(jīng)過加密后存儲于Cookie中,至此一個用戶的所有的權(quán)限就已經(jīng)確定了;當用戶進行訪問操作時,系統(tǒng)自動到Cookie中去查找權(quán)限字符串(即功能編號的集合)來確定用戶的訪問權(quán)限。
2.2 用戶、角色、權(quán)限的管理分配
2.2.1 用戶管理與角色分配
用戶管理與角色管理有相似之處,但是用戶信息對于角色而言又有一定的獨立性。用戶信息既可以作為單獨的與權(quán)限無關(guān)的信息進行訪問,又可以作為權(quán)限控制的一部分來實現(xiàn)基于角色的訪問控制。用戶管理主要是定義用戶信息表,用來存貯用戶的基本信息;角色分配主要是為定義好的用戶分配角色,其實質(zhì)就是把用戶和角色的關(guān)聯(lián)信息存入用戶——角色關(guān)系表中。
2.2.2 角色管理與權(quán)限分配
角色管理主要是對角色的定義、刪除和修改。系統(tǒng)允許用戶根據(jù)自己的需要(崗位、職權(quán)和責任)定義相應的角色。圖書流通系統(tǒng)大體分為5類角色:讀者、借書員、還書員、系統(tǒng)管理員和系統(tǒng)安全員。當定義完一個角色后,需要為該角色分配相應的權(quán)限。這個過程是通過對角色——權(quán)限關(guān)系表的修改來實現(xiàn)的,即通過添加和刪除關(guān)系表的相關(guān)記錄來實現(xiàn)為角色添加和刪除相應的權(quán)限。當一個角色被刪除后,與之相關(guān)的關(guān)系表中的信息均應刪除,以保證數(shù)據(jù)的一致性。
期角色訪問控制技術(shù)在圖書流通系統(tǒng)的應用Feb.,2010Vol.30 No.23 角色訪問控制在圖書流通系統(tǒng)中的實現(xiàn)
3.1 系統(tǒng)設(shè)計原則
3.1.1 最小權(quán)限原則
這是訪問控制中一個很重要的策略原則,即指每個用戶所擁有的權(quán)限不應該超過完成工作任務所需要的權(quán)限。在設(shè)計系統(tǒng)時要盡可能地將權(quán)限細化。
3.1.2 職責分離原則
這是要求系統(tǒng)中不同的職責盡量由不同的用戶承擔,避免權(quán)限過度集中。職責分離有靜態(tài)和動態(tài)兩種實現(xiàn)方式。
3.1.3 一對一原則
規(guī)定每個用戶只能有惟一的用戶名。如果一個用戶擁有多個用戶名,則系統(tǒng)管理員無法知道該用戶到底有多少權(quán)限,造成管理的混亂,很難保證最小權(quán)限原則和職責分離原則。
3.2 系統(tǒng)數(shù)據(jù)庫設(shè)計
訪問控制系統(tǒng)主要由用戶表、角色表、權(quán)限表、用戶——角色關(guān)系表、角色——權(quán)限關(guān)系表、角色層次關(guān)系表構(gòu)成。
①用戶表(YHYHB):主要保存系統(tǒng)的所有登錄號,包括用戶的真實信息,如姓名、性別、部門等。
②角色表(YHRole):主要保存所有的角色類型。根據(jù)流通部工作的特點,可以將所有用戶劃分為5種角色,分別為:讀者,可檢索、查詢、預約;借書員,可借書、查詢、續(xù)借、掛失等;還書員,可還書、查詢、掛失、丟賠處理等;系統(tǒng)管理員,可添加、修改、刪除部門內(nèi)部數(shù)據(jù)等;系統(tǒng)安全員。前3種角色為普通角色,分別賦予讀者和借書、還書崗位的工作人員;管理角色,只能賦予管理人員。系統(tǒng)管理員可以根據(jù)實際需要獨立添加、刪除、修改普通角色,并協(xié)同系統(tǒng)安全員對用戶——角色關(guān)系表和權(quán)限——角色關(guān)系表等適時進行維護。
③權(quán)限表(YHPurview):保存所有的系統(tǒng)權(quán)限以及權(quán)限之間的層次關(guān)系,授權(quán)時以樹型結(jié)構(gòu)顯示所有權(quán)限。系統(tǒng)中的權(quán)限劃分為查詢、借書、還書、修改、添加、刪除等多種。權(quán)限定義中并不體現(xiàn)操作的對象,而在進行操作時,角色所擁有的權(quán)限要與部門、角色等信息相結(jié)合才能確定用戶是否可進行操作。
④用戶——角色關(guān)系表(YHUserRole):保存用戶和角色之間的關(guān)聯(lián)信息。
⑤角色——權(quán)限關(guān)系表(YHRolePurview):保存角色和權(quán)限之間的連接關(guān)系。
⑥角色層次關(guān)系表(YHSuccessive):保存角色之間的繼承關(guān)系。
各表之間的關(guān)系如圖2所示。
3.3 角色劃分規(guī)則定義
規(guī)則按部門和角色定義。劃分規(guī)則表定義為:劃分規(guī)則表(規(guī)則號,劃分對象表,角色編號,作用域,劃分依據(jù))。其中,“作用域”字段表示角色可以訪問的數(shù)據(jù)項,“”表示所有數(shù)據(jù)項;“劃分依據(jù)”字段包括部門號、角色編號,兩種依據(jù)可以組合使用。在用戶發(fā)出訪問請求后,權(quán)限驗證模塊根據(jù)用戶的角色和部門號在劃分規(guī)則表中查詢與其擁有角色相符合的劃分規(guī)則,根據(jù)規(guī)則表中的“作用域”字段和“劃分依據(jù)”字段建立視圖實現(xiàn)角色劃分。
3.4 權(quán)限驗證流程
當用戶請求訪問系統(tǒng)中某種資源時,權(quán)限驗證模塊首先獲得該用戶當前激活的角色,確定其訪問權(quán)限;然后根據(jù)其角色和所屬部門查詢角色的劃分規(guī)則圖2 數(shù)據(jù)庫設(shè)計
表,找到對應記錄的“作用域”字段和“劃分依據(jù)”字段對數(shù)據(jù)表進行劃分,返回數(shù)據(jù)。4 結(jié)束語
綜上所述,將角色訪問控制機制應用于圖書流通管理系統(tǒng),可以充分發(fā)揮角色訪問控制技術(shù)的優(yōu)越性,進一步完善與健全圖書館圖書流通系統(tǒng)的安全機制,強化了圖書流通管理系統(tǒng)的功能,使圖書館圖書流通工作中的一切都在掌控之間,一些復雜的棘手的問題從此變得極其簡單化,極大地減輕了授權(quán)管理的負擔,必將為圖書館的日常管理和讀者服務工作帶來客觀的效益。
參考文獻
[1]蘇彬.網(wǎng)絡安全原理與應用[M].北京:人民郵電出版社,2005:86-96.
[2]Ferraiolo,D.and Kuhn,R.Role Based Access Controls.In15th NCSC National Computer Security Conference,1992:554-563.
[3]Nyanchama,M.and Osborn,S.Access Ringhts Administration in Role-Based Security Systems.In IFIP WGll.3 Database Securiy,1994:37-56.
[4]David F.Fwrraiolo,D.Richard Kuhn and Ramaswanmy Chandramouli.Role-Based Access Control.Artech House,2003,ISBN:1-58053-370-1.
[5]徐寧.基于角色的訪問控制技術(shù)在數(shù)字圖書館的應用[J].情報雜志,2007,(11):62-64.