周彥萍,張志業,崔 蕓
(1.河北省應用數學研究所,河北石家莊 050081;2.河北科技大學總務處,河北石家莊 050018; 3.河北科技大學機械電子工程學院,河北石家莊,050018)
基于客體管理的增強型RBAC模型的研究
周彥萍1,張志業2,崔 蕓3
(1.河北省應用數學研究所,河北石家莊 050081;2.河北科技大學總務處,河北石家莊 050018; 3.河北科技大學機械電子工程學院,河北石家莊,050018)
提出了一種基于客體管理的增強型RBAC模型。該增強模型將角色思想應用于處于客體位置的目標和操作,在原有模型的基礎上添加了目標角色和操作角色2個元素,相應地也增加了操作與操作角色、目標與目標角色及操作角色與目標角色的關系。對新添加的角色引入層次繼承關系,對新添加的關系引入靜態約束,并給出了增強模型的形式化描述。
增強型RBAC模型;客體管理;目標角色;操作角色
基于角色的訪問控制(role-based access control,RBAC)與傳統的自主訪問控制和強制訪問控制相比,代表了在靈活性和控制粒度上的一個重大進步,并正逐漸取代傳統的訪問控制模型而成為主流[1],它也是目前采用較多的一種訪問控制機制。
RBAC最先由美國國家標準化和技術委員會(National Institute of Standards and Technology,N IST)的FERRA IOLO D F等人在20世紀90年代提出。其基本思想是將用戶(主體)劃分成與其職能和職位相符的角色,將客體(資源)的訪問權限賦予角色,用戶通過其擁有角色所具備的客體操作權限來實現授權[2]。
RBAC的建模和技術實現是目前RBAC技術的熱點和難點,現有RBAC模型存在一些需要改進的方面,如缺乏對處于客體部分的目標與操作行為的管理,忽略了客體所具有的安全等級特性。另外,模型容易出現權限泛濫,不具備時間性約束。筆者提出了一種改進方案,形成了一個增強的RBAC模型,該模型細化了RBAC的原有元素定義,同時進一步擴展了新的元素。
N IST標準RBAC模型,分別由核心模型(Core RBAC)、角色層次模型(Hierarchy RBAC)、靜態職責分離(static separation of duty relation,SSD)和動態職責分離(dynam ic separation of duty relation,DSD)模型組成。
核心RBAC是基礎模型,其他3種都是在其上的獨立擴展。核心RBAC包含用戶(U sers)、角色(Roles)、目標(Objects)、操作(Operations)、許可權(Perm issions)5個基本元素,權限(Prem s)被賦予角色。當一個角色被指派給用戶時,此用戶就擁有了該角色所包含的權限,會話(Sessions)是用戶與激活的角色集合之間的映射;層次RBAC在核心RBAC的基礎上引入了角色的層次關系,即角色可以通過繼承其他1個或多個角色來自動獲得被繼承角色所擁有的所有權限。角色間的繼承關系可分為一般繼承關系和受限繼承關系;約束RBAC在核心RBAC的基礎上引入了約束概念,約束決定了核心RBAC中各種部件的操作是否可被接受。它可以應用到用戶與角色、角色與權限、用戶與會話及角色與會話等關系中,分為靜態職責分離和動態職責分離[3]。靜態職責分離控制用戶和角色的指定過程,動態職責分離控制角色的激活過程。它們的形式化模型描述見圖1-圖4。
安全應用系統除了有大量的用戶之外,還有各種各樣的客體、動作和過程(如各種業務過程),因此在授權關系上具有更高的復雜性。而N IST RBAC模型的管理重點集中在用戶和角色所處的主體部分,缺乏對處于客體部分的目標與操作行為的管理,忽略了客體所具有的安全等級特性。當用戶、角色或權限集較大時模型就顯得不適應,容易出現權限泛濫,也不具備時間性約束[4-6]。
上述問題的出現,使得N IST RBAC模型在大型安全應用方面顯得力不從心。例如,企業信息資源的更改操作與查看、打印操作的安全性及其具備的安全等級不同,而不同的資源體即使操作行為相同,其呈現的安全等級也不同。如網上銀行、證券交易等網頁的登錄操作與新聞論壇網頁的登錄操作,二者操作引起的風險級別相差巨大,安全級別明顯不同。因此,對安全等級差異懸殊的權限采用不分風險的約束明顯不符合安全性要求。

筆者針對N IST RBAC模型在實際應用中產生的問題,提出了1種基于客體管理的增強型模型。形式化模型描述見圖5。

圖5 基于客體管理的增強型N IST RBACFig.5 Extend N IST RBAC based on objectmanagement
主體部分由用戶(O)、角色(R)和會話(S)組成。角色能夠繼承用戶-用戶角色的多對多關系,同時受到靜態職責分離的約束,用戶角色和會話之間滿足動態職責分離的限制。
客體部分分為目標(OB)與目標角色(ROB)、操作(OP)和操作角色(ROP)。通過為操作角色指定目標角色來形成權限,并將權限賦予用戶角色。
目標指資源或對象,包括文件、目錄、數據庫、網頁等軟件資源,也包括打印機、掃描儀等硬件資源。操作是主體對目標的行為。對目標和操作的特性(如所屬模塊、類別、安全級別等)進行抽象,形成目標角色和操作角色。2種角色滿足層次概念,能夠繼承。從目標或操作集合到其相應的角色集合引入多對多的關系映射,以表示其被賦予角色。目標-目標角色關系、操作-操作角色關系、目標角色的繼承關系、操作角色的繼承關系,都受到靜態的約束,控制角色的指定過程是依據目標或操作的安全級別和安全屬性。
2.3.1 定義1:集合
設I和N為自然數集,U={ui}i∈I為用戶集,RU={rui}i∈I為用戶角色集,S={si}i∈I為會話集,OB= {obi}i∈I為目標集,ROB={robi}i∈I為目標角色集,OP={opi}i∈I為操作集,ROP={ropi}i∈I為操作角色集,P= {pi}i∈I為權限集。
2.3.2 定義2:關系
1)用戶-用戶角色:URU?U×RU,(u,ru)∈URU表示用戶u享有角色ru。
2)用戶-會話:US?U×S,(u,s)∈US表示用戶u創建會話s。
3)用戶角色-會話:RUS?RU×S,(ru,s)∈RUS表示在會話s中激活角色ru。
4)目標-目標角色:OBROB?OB×ROB,(ob,rob)∈OBROB表示目標ob享有角色rob。
5)操作-操作角色:OPROP?OP×ROP,(op,rop)∈OPROP表示操作op享有角色rop。
6)權限-操作角色-目標角色:PR?P×ROP×ROB,(p,rop,rob)∈PR表示權限p定義為能夠對目標角色rob實施操作角色rop所擁有的行為。
7)權限-操作-目標:PA?P×OP×OB,(p,op,ob)∈PA表示權限p定義為能夠對目標ob實施操作op所擁有的行為。
8)用戶角色-權限:RUP?RU×P,(ru,p)∈RUP表示用戶角色ru擁有權限p。
9)用戶角色層次結構偏序關系:RUH?RU×RU,(rui,ruj)∈RUH表示角色rui是角色ruj的父角色,ruj是 rui的子角色,子角色繼承父角色的權限。簡記為rui≤ruj,當rui≠ruj時,記為rui 10)目標角色層次結構偏序關系:ROBH?ROB×ROB,(robi,robj)∈ROBH表示角色robi是角色robj的父角色,robj是robi的子角色,子角色繼承父角色的權限。簡記為robi≤robj,當robi≠robj時,記為robi 11)操作角色層次結構偏序關系:ROPH?ROP×ROP,(ropi,ropj)∈ROPH表示角色ropi是角色ropj的父角色,ropj是ropi的子角色,子角色繼承父角色的權限。簡記為ropi≤ropj,當ropi≠ropj時,記為ropi 2.3.3 定義3:集值函數 1)返回某用戶享有的角色集合:assigned_ru:(u∶U)→2RU,即assigned_ru(u)={ru∈RU|(u,ru)∈URU}。 2)返回指定的某角色的用戶集合:assigned_u:(ru∶RU)→2U,即assigned_u(ru)={u∈U|(u,ru)∈URU}。 3)返回某用戶角色擁有的權限集合:assigned_p:(ru∶RU)→2P,即assigned_p(ru)={p∈P|(ru,p)∈RUP}。 4)返回指定的某權限的用戶角色集合:assigned_ru_p:(p∶P)→2RU,即assigned_ru_p(ru)={p∈P|(ru,p)∈RUP}。 5)返回創建的某會話的用戶:sess_u:(s∶S)→U,即sess_u(s)={u∈U|(u,s)∈US},sess_u(s)只包含1個元素。 6)返回某會話所激活的用戶角色集合:sess_ru:(s∶S)→2RU,即sess_ru(s)={ru∈RU|(ru,s)∈RUS}。 7)返回指定的某目標角色的目標集合:assigned_ob:(rob∶ROB)→2OB,即assigned_ob(rob)={ob∈OB|(ob,rob)∈OBROB}。 8)返回指定的某操作角色的操作集合:assigned_op:(rop∶ROP)→2OP,即assigned_op(rop)={op∈OP|(op,rop)∈O PROP}。 9)返回某會話的相關權限集合:sess_p:(s∶S)→2P,即sess_p(s)=∪ ru∈sess_ru(s)assigned_p(ru)。 10)返回指定權限的相關操作集合:prems_op:(p∶P)→2OP,即prems_op(p)={op∈OP|(p,op,ob)∈PA}。 11)返回指定權限的相關目標集合:prems_ob:(p∶P)→2OB,即prems_ob(p)={ob∈OB|(p,op,ob)∈PA}。 2.3.4 定義4:約束 根據筆者對該增強模型的描述和定義,并比對原有N IST RBAC模型,可知該增強模型的主體部分完全采用了原有模型的相應部分,客體部分嚴格沿用主體部分的結構和規則,不僅沒有影響主體部分的原有性質和合理性,還將其延續到了客體部分。因此,該增強模型完整地保持了原有模型的基本性質和特點。 原有RBAC模型支持最小特權原則、職責分離原則和數據抽象原則,改進后的模型也支持這些安全控制原則。最小特權原則和職責分離原則通過動態約束和靜態約束的設置來實現。安全管理員為用戶分配執行任務所需的權限,未執行任務或任務終止后用戶不再擁有所分配的權限。而且在執行任務過程中,當某一權限不再使用或超時時,會自動將該權限收回;安全管理員將互斥限制、先決限制等加入動態約束和靜態約束中,實現分派權限和會話期間實施權限時應該滿足的約束條件。因為操作權限由安全管理員通過操作角色和具體的操作行為定義來實現,不局限于操作系統提供的讀/寫/執行權限,它可以抽象為實際業務需要的操作權限,所以數據抽象原則也得到了支持。 該增強模型在某些方面有效地解決了資源、安全級別和操作權限的復雜性,具有易管理性,在保持原RBAC模型結構不變的情況下,沿用其已有的角色思想對客體部分增加了新元素,對其主體部分沒有做任何改動。該增強模型本身引入的復雜性是對客體部分的目標和權限各增加1個角色,在它們之間建立3種關系和1種靜態約束,其結構與原模型中主體部分的結構相同。增強部分的管理完全可以沿用原模型中的主體部分,沒有為管理員增加不必要的操作復雜性。 該增強模型對客體部分加強管理,更適于應用系統復雜的安全需求,能夠根據安全等級合理地實現目標和操作權限的分派方案。例如,將目標資源按類別分成設備、網頁、應用軟件、機密信息、一般信息等角色,每種角色包含相應的具體目標,如設備角色包括服務器、微機,甚至打印機、攝像機、U盤、光驅等;將操作權限分為登錄、執行、打印、瀏覽、修改、刪除等角色,登錄角色包括各種網頁的登錄權限,有的登錄需要驗證登錄者身份;利用目標角色的靜態約束記錄同時訪問某目標的最大用戶數和需要滿足的條件等安全屬性,如能夠訪問機密信息的用戶條件(利潤、成本及銷售情況只能由主管經理查詢);利用操作角色的靜態約束記錄某操作權限的有效時間、風險級別、某機密信息的打印份數、重要網頁的最大錯誤登錄次數、具備刪除操作權限的用戶應滿足的條件等。 通過該增強模型能夠對客體部分進行分類和抽象,充分考慮目標和權限的安全屬性與風險等級,合理地將訪問目標的各種權限有機結合,增強了應用系統的安全性能。 筆者提出的基于客體管理的增強型RBAC模型是在N IST RBAC基礎上的一種改進,該模型細化了RBAC的原有元素定義,同時進一步擴展了新的元素,為RBAC模型的實現技術和應用研究有積極意義。 該模型將主體部分按用戶職責分成各類角色,包括系統管理員、安全員、審核員、一般用戶、高級用戶等;在客體部分將目標分為硬件設備、應用軟件、單位機密信息、一般信息、個人信息等目標角色,將操作分為設備讀、設備寫、設備添加、設備刪除、軟件運行、軟件安裝、軟件卸載、增加新信息、信息更改、信息瀏覽、信息打印、信息刪除等角色;用戶角色的靜態和動態約束、目標角色和操作角色的靜態約束、3種角色(用戶角色、目標角色和操作角色)的層次繼承關系等采用關系數據庫的表對象來描述;在用戶角色、目標角色和操作角色之間通過在數據庫里建立關系來實現對用戶角色的授權,通過為用戶指派角色(即用戶-角色對應表)來實現用戶的授權。 該模型設立了系統維護功能,能夠對用戶與用戶角色、目標與目標角色、操作與操作角色進行增刪改,能夠根據實際需求調整各個動態約束和靜態約束的設置,滿足了應用系統不斷變化的安全需求。該增強模型很好地滿足了項目中資源目標的繁雜、龐大和安全級別復雜的要求,權限粒度可大可小,管理靈活、簡便。 [1] 薛 偉,懷進鵬.基于角色的訪問控制模型的擴充和實現機制研究[J].計算機研究與發展(Journal of Comguter Researoh and Develop ront),2003,40(11):1 635-1 642. [2] FERRA IOLO D F,KU HN D R.Role-based access control[A].Proceedings of 15th National Computer Security Conference[C].[S.l.]: [s.n.],1992. [3] FERRA IOLO D F.Proposed N IST standard for role-based access control[J].ACM Transaction on Information and System Escurity, 2001,4(3):224-274 [4] 潘德鋒,彭 霞,吳信才.RBAC和FBAC的適用條件與集成[J].計算機工程(Computer Engineering),2007,33(19):147-149. [5] 王 超.基于角色的訪問控制中權限濫用的限制[J].計算機工程(Computer Engineering),2004,30(6):53-56. [6] 孫 波,趙慶松,孫玉芳.TRDM-具有時限的基于角色的轉授權模型[J].計算機研究與發展(Journal of Computer Research and Development),2004,41(7):1 104-1 109. Research of an extend RBAC model based on object management ZHOU Yan-ping1,ZHANG Zhi-ye2,CU I Yun3 An extend RBAC model based on objectmanagement is p resented.The model app lies the role idea to the object and the operation.The object role and the operation role are added on basisof the o riginalmodel.The relations are added acco rdingly w hich are the operation-operation role,the object-object role and the operation-object role.The hierarchical inheriting relation is introduced into the new roles and the static constraint is introduced into the new relations.Formal descrip tion of the model is given. extend RBAC model;object management;object-role;operation-role TP309 A 1008-1542(2010)03-0227-06 2009-12-14; 2010-01-16;責任編輯:張 軍 河北省自然科學基金資助項目(08M 009) 周彥萍(1962-),女,河北石家莊人,副研究員,主要從事信息安全和計算機應用方面的研究。
2.4 增強型RBAC模型的安全性與合理性分析
2.5 增強型RBAC模型的有效性
3 結 語
(1.Hebei Instituteof App lied Mathematics,Shijiazhuang Hebei050081,China;2.Departmentof Campus Management,Hebei University of Science and Technology,Shijiazhuang Hebei050018,China;3.College of Mechanical and Electronic Engineering, Hebei University of Science and Technology,Shijiazhuang Hebei 050018,China)