周彥萍,張志業(yè),崔 蕓
(1.河北省應(yīng)用數(shù)學(xué)研究所,河北石家莊 050081;2.河北科技大學(xué)總務(wù)處,河北石家莊 050018; 3.河北科技大學(xué)機(jī)械電子工程學(xué)院,河北石家莊,050018)
基于客體管理的增強(qiáng)型RBAC模型的研究
周彥萍1,張志業(yè)2,崔 蕓3
(1.河北省應(yīng)用數(shù)學(xué)研究所,河北石家莊 050081;2.河北科技大學(xué)總務(wù)處,河北石家莊 050018; 3.河北科技大學(xué)機(jī)械電子工程學(xué)院,河北石家莊,050018)
提出了一種基于客體管理的增強(qiáng)型RBAC模型。該增強(qiáng)模型將角色思想應(yīng)用于處于客體位置的目標(biāo)和操作,在原有模型的基礎(chǔ)上添加了目標(biāo)角色和操作角色2個元素,相應(yīng)地也增加了操作與操作角色、目標(biāo)與目標(biāo)角色及操作角色與目標(biāo)角色的關(guān)系。對新添加的角色引入層次繼承關(guān)系,對新添加的關(guān)系引入靜態(tài)約束,并給出了增強(qiáng)模型的形式化描述。
增強(qiáng)型RBAC模型;客體管理;目標(biāo)角色;操作角色
基于角色的訪問控制(role-based access control,RBAC)與傳統(tǒng)的自主訪問控制和強(qiáng)制訪問控制相比,代表了在靈活性和控制粒度上的一個重大進(jìn)步,并正逐漸取代傳統(tǒng)的訪問控制模型而成為主流[1],它也是目前采用較多的一種訪問控制機(jī)制。
RBAC最先由美國國家標(biāo)準(zhǔn)化和技術(shù)委員會(National Institute of Standards and Technology,N IST)的FERRA IOLO D F等人在20世紀(jì)90年代提出。其基本思想是將用戶(主體)劃分成與其職能和職位相符的角色,將客體(資源)的訪問權(quán)限賦予角色,用戶通過其擁有角色所具備的客體操作權(quán)限來實(shí)現(xiàn)授權(quán)[2]。
RBAC的建模和技術(shù)實(shí)現(xiàn)是目前RBAC技術(shù)的熱點(diǎn)和難點(diǎn),現(xiàn)有RBAC模型存在一些需要改進(jìn)的方面,如缺乏對處于客體部分的目標(biāo)與操作行為的管理,忽略了客體所具有的安全等級特性。另外,模型容易出現(xiàn)權(quán)限泛濫,不具備時(shí)間性約束。筆者提出了一種改進(jìn)方案,形成了一個增強(qiáng)的RBAC模型,該模型細(xì)化了RBAC的原有元素定義,同時(shí)進(jìn)一步擴(kuò)展了新的元素。
N IST標(biāo)準(zhǔn)RBAC模型,分別由核心模型(Core RBAC)、角色層次模型(Hierarchy RBAC)、靜態(tài)職責(zé)分離(static separation of duty relation,SSD)和動態(tài)職責(zé)分離(dynam ic separation of duty relation,DSD)模型組成。
核心RBAC是基礎(chǔ)模型,其他3種都是在其上的獨(dú)立擴(kuò)展。核心RBAC包含用戶(U sers)、角色(Roles)、目標(biāo)(Objects)、操作(Operations)、許可權(quán)(Perm issions)5個基本元素,權(quán)限(Prem s)被賦予角色。當(dāng)一個角色被指派給用戶時(shí),此用戶就擁有了該角色所包含的權(quán)限,會話(Sessions)是用戶與激活的角色集合之間的映射;層次RBAC在核心RBAC的基礎(chǔ)上引入了角色的層次關(guān)系,即角色可以通過繼承其他1個或多個角色來自動獲得被繼承角色所擁有的所有權(quán)限。角色間的繼承關(guān)系可分為一般繼承關(guān)系和受限繼承關(guān)系;約束RBAC在核心RBAC的基礎(chǔ)上引入了約束概念,約束決定了核心RBAC中各種部件的操作是否可被接受。它可以應(yīng)用到用戶與角色、角色與權(quán)限、用戶與會話及角色與會話等關(guān)系中,分為靜態(tài)職責(zé)分離和動態(tài)職責(zé)分離[3]。靜態(tài)職責(zé)分離控制用戶和角色的指定過程,動態(tài)職責(zé)分離控制角色的激活過程。它們的形式化模型描述見圖1-圖4。
安全應(yīng)用系統(tǒng)除了有大量的用戶之外,還有各種各樣的客體、動作和過程(如各種業(yè)務(wù)過程),因此在授權(quán)關(guān)系上具有更高的復(fù)雜性。而N IST RBAC模型的管理重點(diǎn)集中在用戶和角色所處的主體部分,缺乏對處于客體部分的目標(biāo)與操作行為的管理,忽略了客體所具有的安全等級特性。當(dāng)用戶、角色或權(quán)限集較大時(shí)模型就顯得不適應(yīng),容易出現(xiàn)權(quán)限泛濫,也不具備時(shí)間性約束[4-6]。
上述問題的出現(xiàn),使得N IST RBAC模型在大型安全應(yīng)用方面顯得力不從心。例如,企業(yè)信息資源的更改操作與查看、打印操作的安全性及其具備的安全等級不同,而不同的資源體即使操作行為相同,其呈現(xiàn)的安全等級也不同。如網(wǎng)上銀行、證券交易等網(wǎng)頁的登錄操作與新聞?wù)搲W(wǎng)頁的登錄操作,二者操作引起的風(fēng)險(xiǎn)級別相差巨大,安全級別明顯不同。因此,對安全等級差異懸殊的權(quán)限采用不分風(fēng)險(xiǎn)的約束明顯不符合安全性要求。
筆者針對N IST RBAC模型在實(shí)際應(yīng)用中產(chǎn)生的問題,提出了1種基于客體管理的增強(qiáng)型模型。形式化模型描述見圖5。
圖5 基于客體管理的增強(qiáng)型N IST RBACFig.5 Extend N IST RBAC based on objectmanagement
主體部分由用戶(O)、角色(R)和會話(S)組成。角色能夠繼承用戶-用戶角色的多對多關(guān)系,同時(shí)受到靜態(tài)職責(zé)分離的約束,用戶角色和會話之間滿足動態(tài)職責(zé)分離的限制。
客體部分分為目標(biāo)(OB)與目標(biāo)角色(ROB)、操作(OP)和操作角色(ROP)。通過為操作角色指定目標(biāo)角色來形成權(quán)限,并將權(quán)限賦予用戶角色。
目標(biāo)指資源或?qū)ο?包括文件、目錄、數(shù)據(jù)庫、網(wǎng)頁等軟件資源,也包括打印機(jī)、掃描儀等硬件資源。操作是主體對目標(biāo)的行為。對目標(biāo)和操作的特性(如所屬模塊、類別、安全級別等)進(jìn)行抽象,形成目標(biāo)角色和操作角色。2種角色滿足層次概念,能夠繼承。從目標(biāo)或操作集合到其相應(yīng)的角色集合引入多對多的關(guān)系映射,以表示其被賦予角色。目標(biāo)-目標(biāo)角色關(guān)系、操作-操作角色關(guān)系、目標(biāo)角色的繼承關(guān)系、操作角色的繼承關(guān)系,都受到靜態(tài)的約束,控制角色的指定過程是依據(jù)目標(biāo)或操作的安全級別和安全屬性。
2.3.1 定義1:集合
設(shè)I和N為自然數(shù)集,U={ui}i∈I為用戶集,RU={rui}i∈I為用戶角色集,S={si}i∈I為會話集,OB= {obi}i∈I為目標(biāo)集,ROB={robi}i∈I為目標(biāo)角色集,OP={opi}i∈I為操作集,ROP={ropi}i∈I為操作角色集,P= {pi}i∈I為權(quán)限集。
2.3.2 定義2:關(guān)系
1)用戶-用戶角色:URU?U×RU,(u,ru)∈URU表示用戶u享有角色ru。
2)用戶-會話:US?U×S,(u,s)∈US表示用戶u創(chuàng)建會話s。
3)用戶角色-會話:RUS?RU×S,(ru,s)∈RUS表示在會話s中激活角色ru。
4)目標(biāo)-目標(biāo)角色:OBROB?OB×ROB,(ob,rob)∈OBROB表示目標(biāo)ob享有角色rob。
5)操作-操作角色:OPROP?OP×ROP,(op,rop)∈OPROP表示操作op享有角色rop。
6)權(quán)限-操作角色-目標(biāo)角色:PR?P×ROP×ROB,(p,rop,rob)∈PR表示權(quán)限p定義為能夠?qū)δ繕?biāo)角色rob實(shí)施操作角色rop所擁有的行為。
7)權(quán)限-操作-目標(biāo):PA?P×OP×OB,(p,op,ob)∈PA表示權(quán)限p定義為能夠?qū)δ繕?biāo)ob實(shí)施操作op所擁有的行為。
8)用戶角色-權(quán)限:RUP?RU×P,(ru,p)∈RUP表示用戶角色ru擁有權(quán)限p。
9)用戶角色層次結(jié)構(gòu)偏序關(guān)系:RUH?RU×RU,(rui,ruj)∈RUH表示角色rui是角色ruj的父角色,ruj是 rui的子角色,子角色繼承父角色的權(quán)限。簡記為rui≤ruj,當(dāng)rui≠ruj時(shí),記為rui 10)目標(biāo)角色層次結(jié)構(gòu)偏序關(guān)系:ROBH?ROB×ROB,(robi,robj)∈ROBH表示角色robi是角色robj的父角色,robj是robi的子角色,子角色繼承父角色的權(quán)限。簡記為robi≤robj,當(dāng)robi≠robj時(shí),記為robi 11)操作角色層次結(jié)構(gòu)偏序關(guān)系:ROPH?ROP×ROP,(ropi,ropj)∈ROPH表示角色ropi是角色ropj的父角色,ropj是ropi的子角色,子角色繼承父角色的權(quán)限。簡記為ropi≤ropj,當(dāng)ropi≠ropj時(shí),記為ropi 2.3.3 定義3:集值函數(shù) 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)返回某用戶角色擁有的權(quán)限集合:assigned_p:(ru∶RU)→2P,即assigned_p(ru)={p∈P|(ru,p)∈RUP}。 4)返回指定的某權(quán)限的用戶角色集合:assigned_ru_p:(p∶P)→2RU,即assigned_ru_p(ru)={p∈P|(ru,p)∈RUP}。 5)返回創(chuàng)建的某會話的用戶: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)返回指定的某目標(biāo)角色的目標(biāo)集合: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)返回某會話的相關(guān)權(quán)限集合:sess_p:(s∶S)→2P,即sess_p(s)=∪ ru∈sess_ru(s)assigned_p(ru)。 10)返回指定權(quán)限的相關(guān)操作集合:prems_op:(p∶P)→2OP,即prems_op(p)={op∈OP|(p,op,ob)∈PA}。 11)返回指定權(quán)限的相關(guān)目標(biāo)集合:prems_ob:(p∶P)→2OB,即prems_ob(p)={ob∈OB|(p,op,ob)∈PA}。 2.3.4 定義4:約束 根據(jù)筆者對該增強(qiáng)模型的描述和定義,并比對原有N IST RBAC模型,可知該增強(qiáng)模型的主體部分完全采用了原有模型的相應(yīng)部分,客體部分嚴(yán)格沿用主體部分的結(jié)構(gòu)和規(guī)則,不僅沒有影響主體部分的原有性質(zhì)和合理性,還將其延續(xù)到了客體部分。因此,該增強(qiáng)模型完整地保持了原有模型的基本性質(zhì)和特點(diǎn)。 原有RBAC模型支持最小特權(quán)原則、職責(zé)分離原則和數(shù)據(jù)抽象原則,改進(jìn)后的模型也支持這些安全控制原則。最小特權(quán)原則和職責(zé)分離原則通過動態(tài)約束和靜態(tài)約束的設(shè)置來實(shí)現(xiàn)。安全管理員為用戶分配執(zhí)行任務(wù)所需的權(quán)限,未執(zhí)行任務(wù)或任務(wù)終止后用戶不再擁有所分配的權(quán)限。而且在執(zhí)行任務(wù)過程中,當(dāng)某一權(quán)限不再使用或超時(shí)時(shí),會自動將該權(quán)限收回;安全管理員將互斥限制、先決限制等加入動態(tài)約束和靜態(tài)約束中,實(shí)現(xiàn)分派權(quán)限和會話期間實(shí)施權(quán)限時(shí)應(yīng)該滿足的約束條件。因?yàn)椴僮鳈?quán)限由安全管理員通過操作角色和具體的操作行為定義來實(shí)現(xiàn),不局限于操作系統(tǒng)提供的讀/寫/執(zhí)行權(quán)限,它可以抽象為實(shí)際業(yè)務(wù)需要的操作權(quán)限,所以數(shù)據(jù)抽象原則也得到了支持。 該增強(qiáng)模型在某些方面有效地解決了資源、安全級別和操作權(quán)限的復(fù)雜性,具有易管理性,在保持原RBAC模型結(jié)構(gòu)不變的情況下,沿用其已有的角色思想對客體部分增加了新元素,對其主體部分沒有做任何改動。該增強(qiáng)模型本身引入的復(fù)雜性是對客體部分的目標(biāo)和權(quán)限各增加1個角色,在它們之間建立3種關(guān)系和1種靜態(tài)約束,其結(jié)構(gòu)與原模型中主體部分的結(jié)構(gòu)相同。增強(qiáng)部分的管理完全可以沿用原模型中的主體部分,沒有為管理員增加不必要的操作復(fù)雜性。 該增強(qiáng)模型對客體部分加強(qiáng)管理,更適于應(yīng)用系統(tǒng)復(fù)雜的安全需求,能夠根據(jù)安全等級合理地實(shí)現(xiàn)目標(biāo)和操作權(quán)限的分派方案。例如,將目標(biāo)資源按類別分成設(shè)備、網(wǎng)頁、應(yīng)用軟件、機(jī)密信息、一般信息等角色,每種角色包含相應(yīng)的具體目標(biāo),如設(shè)備角色包括服務(wù)器、微機(jī),甚至打印機(jī)、攝像機(jī)、U盤、光驅(qū)等;將操作權(quán)限分為登錄、執(zhí)行、打印、瀏覽、修改、刪除等角色,登錄角色包括各種網(wǎng)頁的登錄權(quán)限,有的登錄需要驗(yàn)證登錄者身份;利用目標(biāo)角色的靜態(tài)約束記錄同時(shí)訪問某目標(biāo)的最大用戶數(shù)和需要滿足的條件等安全屬性,如能夠訪問機(jī)密信息的用戶條件(利潤、成本及銷售情況只能由主管經(jīng)理查詢);利用操作角色的靜態(tài)約束記錄某操作權(quán)限的有效時(shí)間、風(fēng)險(xiǎn)級別、某機(jī)密信息的打印份數(shù)、重要網(wǎng)頁的最大錯誤登錄次數(shù)、具備刪除操作權(quán)限的用戶應(yīng)滿足的條件等。 通過該增強(qiáng)模型能夠?qū)腕w部分進(jìn)行分類和抽象,充分考慮目標(biāo)和權(quán)限的安全屬性與風(fēng)險(xiǎn)等級,合理地將訪問目標(biāo)的各種權(quán)限有機(jī)結(jié)合,增強(qiáng)了應(yīng)用系統(tǒng)的安全性能。 筆者提出的基于客體管理的增強(qiáng)型RBAC模型是在N IST RBAC基礎(chǔ)上的一種改進(jìn),該模型細(xì)化了RBAC的原有元素定義,同時(shí)進(jìn)一步擴(kuò)展了新的元素,為RBAC模型的實(shí)現(xiàn)技術(shù)和應(yīng)用研究有積極意義。 該模型將主體部分按用戶職責(zé)分成各類角色,包括系統(tǒng)管理員、安全員、審核員、一般用戶、高級用戶等;在客體部分將目標(biāo)分為硬件設(shè)備、應(yīng)用軟件、單位機(jī)密信息、一般信息、個人信息等目標(biāo)角色,將操作分為設(shè)備讀、設(shè)備寫、設(shè)備添加、設(shè)備刪除、軟件運(yùn)行、軟件安裝、軟件卸載、增加新信息、信息更改、信息瀏覽、信息打印、信息刪除等角色;用戶角色的靜態(tài)和動態(tài)約束、目標(biāo)角色和操作角色的靜態(tài)約束、3種角色(用戶角色、目標(biāo)角色和操作角色)的層次繼承關(guān)系等采用關(guān)系數(shù)據(jù)庫的表對象來描述;在用戶角色、目標(biāo)角色和操作角色之間通過在數(shù)據(jù)庫里建立關(guān)系來實(shí)現(xiàn)對用戶角色的授權(quán),通過為用戶指派角色(即用戶-角色對應(yīng)表)來實(shí)現(xiàn)用戶的授權(quán)。 該模型設(shè)立了系統(tǒng)維護(hù)功能,能夠?qū)τ脩襞c用戶角色、目標(biāo)與目標(biāo)角色、操作與操作角色進(jìn)行增刪改,能夠根據(jù)實(shí)際需求調(diào)整各個動態(tài)約束和靜態(tài)約束的設(shè)置,滿足了應(yīng)用系統(tǒng)不斷變化的安全需求。該增強(qiáng)模型很好地滿足了項(xiàng)目中資源目標(biāo)的繁雜、龐大和安全級別復(fù)雜的要求,權(quán)限粒度可大可小,管理靈活、簡便。 [1] 薛 偉,懷進(jìn)鵬.基于角色的訪問控制模型的擴(kuò)充和實(shí)現(xiàn)機(jī)制研究[J].計(jì)算機(jī)研究與發(fā)展(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].計(jì)算機(jī)工程(Computer Engineering),2007,33(19):147-149. [5] 王 超.基于角色的訪問控制中權(quán)限濫用的限制[J].計(jì)算機(jī)工程(Computer Engineering),2004,30(6):53-56. [6] 孫 波,趙慶松,孫玉芳.TRDM-具有時(shí)限的基于角色的轉(zhuǎn)授權(quán)模型[J].計(jì)算機(jī)研究與發(fā)展(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;責(zé)任編輯:張 軍 河北省自然科學(xué)基金資助項(xiàng)目(08M 009) 周彥萍(1962-),女,河北石家莊人,副研究員,主要從事信息安全和計(jì)算機(jī)應(yīng)用方面的研究。2.4 增強(qiáng)型RBAC模型的安全性與合理性分析
2.5 增強(qiáng)型RBAC模型的有效性
3 結(jié) 語
(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)