仲華惟
摘要:基于角色的訪問(wèn)控制在信息管理系統(tǒng)應(yīng)用時(shí)缺少對(duì)分級(jí)授權(quán)的支持。多級(jí)訪問(wèn)控制模型在基于角色的訪問(wèn)控制模型基礎(chǔ)上,使用角色樹表現(xiàn)角色的層次關(guān)系,將用戶域、角色域和許可域組合為管理域來(lái)限定分級(jí)授權(quán)的操作范圍,實(shí)現(xiàn)了權(quán)限在角色樹上的逐級(jí)分發(fā),支持信息管理系統(tǒng)的分級(jí)授權(quán)要求。
關(guān)鍵詞:訪問(wèn)控制;多級(jí)模型;角色樹;管理域;許可
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2014)22-5167-03
1 概述
訪問(wèn)控制的目的在于防止非法用戶進(jìn)入系統(tǒng)和合法用戶對(duì)系統(tǒng)資源的非法使用[1] 。為達(dá)到這個(gè)目的,訪問(wèn)控制常以用戶身份認(rèn)證為前提,在此基礎(chǔ)上實(shí)施各種訪問(wèn)控制策略來(lái)控制和規(guī)范合法用戶在系統(tǒng)中的行為[2]?;诮巧脑L問(wèn)控制(RBAC)模型及其擴(kuò)展模型是現(xiàn)在應(yīng)用最廣泛的訪問(wèn)控制模型[3],簡(jiǎn)化了各種環(huán)境下的授權(quán)管理,將訪問(wèn)權(quán)限分配給角色(Role),用戶擔(dān)任一定角色,角色是相對(duì)穩(wěn)定的,角色實(shí)際上是與特定工作崗位相關(guān)的一個(gè)權(quán)限集。當(dāng)用戶改變時(shí)只需要進(jìn)行角色的撤銷和分配。RBAC模型分離了權(quán)限與用戶的耦合關(guān)系,將權(quán)限關(guān)聯(lián)在角色上。用戶通過(guò)扮演適當(dāng)?shù)慕巧@得合適的權(quán)限。這樣可以有效簡(jiǎn)化權(quán)限管理的內(nèi)容和步驟。
基于RBAC模型作為一種訪問(wèn)控制方法,在信息系統(tǒng)中得到廣泛應(yīng)用。但是在大型系統(tǒng)中RBAC的管理過(guò)程非常復(fù)雜,單純RBAC不能滿足系統(tǒng)的訪問(wèn)控制分級(jí)管理的要求。尤其在信息系統(tǒng)中存儲(chǔ)和管理大量企業(yè)單位的敏感數(shù)據(jù),一旦這些數(shù)據(jù)被泄露或竊取,會(huì)給帶來(lái)難以彌補(bǔ)的損失[4]。傳統(tǒng)的委任全局的、單一的、完全可信的系統(tǒng)管理員來(lái)管理整個(gè)系統(tǒng)的訪問(wèn)控制,會(huì)致使系統(tǒng)安全存在隱患。同時(shí)在企業(yè)運(yùn)營(yíng)中常需要對(duì)組織部門和人員工作調(diào)整,相應(yīng)地需要修改系統(tǒng)中訪問(wèn)控制主體和權(quán)限的關(guān)系。而系統(tǒng)管理員不可能了解調(diào)整內(nèi)容,相應(yīng)的授權(quán)工作就要滯后,而且修改后也不一定能準(zhǔn)確反映調(diào)整狀態(tài),常需要多次補(bǔ)充修改,這導(dǎo)致授權(quán)效率較低,影響正常的業(yè)務(wù)工作進(jìn)程。該文在RBAC模型基礎(chǔ)上進(jìn)行擴(kuò)展,建立有效地分級(jí)授權(quán)管理機(jī)制,從技術(shù)和效率兩方面加以考慮,滿足信息訪問(wèn)控制管理要求。
2 訪問(wèn)控制管理
隨著企業(yè)信息化水平的提高,大量數(shù)據(jù)納入信息系統(tǒng)管理的范疇,訪問(wèn)控制是保證數(shù)據(jù)的一致性和安全性的基礎(chǔ)。如何對(duì)訪問(wèn)控制的主體、客體和授權(quán)進(jìn)行管理,尤其是進(jìn)行分級(jí)授權(quán),即由上級(jí)領(lǐng)導(dǎo)對(duì)下級(jí)員工進(jìn)行訪問(wèn)控制的管理成為必須的功能。
ARBA在RBAC模型基礎(chǔ)上定義獨(dú)立的“管理角色”實(shí)施RBAC的管理操作。SARBAC[5]在角色層級(jí)基礎(chǔ)上定義了“管理范圍”來(lái)界定管理角色的控制范圍。但是由于引入新的管理角色,除了維護(hù)原有系統(tǒng)角色,還要在對(duì)管理角色進(jìn)行控制,這實(shí)際將權(quán)限管理問(wèn)題變得更為復(fù)雜。Li[6]建立UARBAC模型提出“RBAC管理RBAC”的方式,將用戶和角色看作客體,使用統(tǒng)一的方式描述訪問(wèn)權(quán)限和管理權(quán)限,明確操作的管理域,有利于通過(guò)委托實(shí)現(xiàn)分散授權(quán)。劉偉[7]指出由于隱式授權(quán)導(dǎo)致UARBAC管理操作存在缺陷,角色層次是隱式授權(quán)產(chǎn)生的一個(gè)因素。
上述的訪問(wèn)控制模型和方法滿足了信息系統(tǒng)對(duì)訪問(wèn)控制中主客體多樣性的管理要求,但是由于增加了授權(quán)主體和客體的種類,相對(duì)增加了管理的復(fù)雜性,實(shí)際應(yīng)用中雖然方法可行,但管理效率較低。對(duì)于信息統(tǒng)訪問(wèn)控制模型的分級(jí)管理方面,還缺少有效的模型和方法。
3 多級(jí)訪問(wèn)控制管理模型
為了解決信息系統(tǒng)中訪問(wèn)控制管理的問(wèn)題,適當(dāng)簡(jiǎn)化授權(quán)工作量,提高權(quán)限管理效率,該文提出了基于角色的多級(jí)授權(quán)管理模型(Multi-Hierarchies Role-Based Access Control,MH- RBAC)。MH-RBAC在盡量減少引入新的建模元素、簡(jiǎn)化應(yīng)用的前提下,完善了訪問(wèn)主體的層次結(jié)構(gòu),支持多級(jí)權(quán)限管理關(guān)系,增強(qiáng)了信息系統(tǒng)訪問(wèn)控制的適應(yīng)性。
3.1 MH-RBAC定義
MH-RBAC模型結(jié)構(gòu)如圖1所示。各部分定義如下:
· 用戶([U]),角色([R]),操作([OPS]),許可([P])和關(guān)系[UA],[PA]的定義與NIST RBAC標(biāo)準(zhǔn)模型一致。
· [TR?R×R]:角色樹(Role Tree)表示角色集合上的一個(gè)樹形關(guān)系。
· [ASr=
· [AOPS]:管理操作(Administrate Operation)授權(quán)管理操作的集合,包括[TR]和[AS]的維護(hù)等操作。
· [PA]:管理許可(Administrate Permission),進(jìn)行管理操作所需要的權(quán)限許可集合,[PA∈P]。
3.2 MH-RBAC層次模型
3.2.1 角色樹
在RBAC模型中訪問(wèn)主體包括角色和用戶兩種粒度,授權(quán)只針對(duì)角色進(jìn)行。角色層次定義了角色之間的繼承關(guān)系。[RH?R×R]是角色[R]上的偏序關(guān)系,如[r1?r2]表示角色[r1]繼承角色[r2],即角色[r1]具有[r2]的所有權(quán)限,所有[r1]的用戶同時(shí)是[r2]的用戶。角色層次是表示角色關(guān)系的一種方法,反映組織的權(quán)利和職責(zé)。在角色層次中高級(jí)角色位于頂部,低級(jí)角色位于底部。 圖2(a)是一個(gè)典型的角色層次圖。
角色層次的定義指出高級(jí)角色通過(guò)繼承的形式獲得低級(jí)角色的權(quán)限,這就意味著基于角色層次的授權(quán)是自下而上的過(guò)程。角色[r]的權(quán)限集合可以表示為:
在角色層次中低級(jí)別的角色首先獲得權(quán)限許可,高級(jí)別的角色通過(guò)繼承間接獲得。可以看到當(dāng)刪除角色[r]時(shí),等級(jí)高于[r]的所有角色(記為[↑r])會(huì)自動(dòng)失去繼承自角色[r]的所有權(quán)限。所以在角色層次中高級(jí)角色依賴低級(jí)角色的授權(quán),這與信息系統(tǒng)中高級(jí)角色管理低級(jí)角色進(jìn)行分級(jí)授權(quán)的要求相矛盾。角色層次中存在多繼承關(guān)系,這樣雖然可以簡(jiǎn)化角色的數(shù)量,但在分級(jí)授權(quán)中意味著一個(gè)角色會(huì)同時(shí)被多個(gè)父角色管理,在應(yīng)用中必然引發(fā)權(quán)限授予回收等操作沖突。
為了解決這個(gè)問(wèn)題,該文建立了角色樹。角色樹是一個(gè)樹形的角色層次。在角色樹中除了根角色沒有父角色外,其他角色有且只有一個(gè)父角色。角色樹中角色之間不再是繼承關(guān)系,而是自上而下的包含關(guān)系,如圖3所示,為了實(shí)現(xiàn)樹形約束,將角色APE分為兩個(gè)獨(dú)立角色APE1和APE2。在角色樹中若角色[r1]等級(jí)高于[r2],記為[r1>r2]。
在角色樹中沒有角色重用的概念,取消間接繼承的許可,賦予角色的權(quán)限許可都直接與角色關(guān)聯(lián),許可之間根據(jù)角色樹自上而下約束。若[r1>r2],則[θ(r1)>θ(r2)],其中[θ(r)]表示賦予角色[r]的所有許可集合。角色樹的層次約束會(huì)增加權(quán)限回收的操作步驟,但是從根本上支持了主體分級(jí)授權(quán)模式。由于角色繼承需要在運(yùn)行時(shí)遞歸計(jì)算繼承權(quán)限的合集,而角色樹沒有遞歸計(jì)算的步驟,因此訪問(wèn)執(zhí)行效率較高。而權(quán)限訪問(wèn)操作頻率要遠(yuǎn)遠(yuǎn)高于控制操作,因此角色樹將整體上提高系統(tǒng)的執(zhí)行效率。
3.2.2 管理域
管理域[AS]定義了一個(gè)可以被用戶管理的角色、用戶和權(quán)限許可的集合??梢员硎緸槿M[
[RS]:角色域表示可以被角色[r]管理的角色子集,這個(gè)子集由角色樹[RT]約束,是[RT]的以[r]根的子樹。[RSr={s∈R:s [US]:用戶域表示可以被角色[r]授權(quán)的用戶集合,由[↑r]指定并受[↑r]的用戶域約束。[r1 [PS]:表示可以被角色[r]分發(fā)的所有許可的集合,為了提高M(jìn)H-RBAC的應(yīng)用效率,避免過(guò)于復(fù)雜的管理域再管理操作,規(guī)定[PSr=PDA(r)]。[r]的用戶都具有將本角色具備的所有許可分發(fā)給低級(jí)角色[↓r]的權(quán)利。 可以看到,若角色[r]是管理角色,則其[RS]和[PS]根據(jù)角色[r]在[TR]中的上下文信息自動(dòng)生成,[US]需要由上級(jí)角色用戶手工指定。 定理1 管理域是一個(gè)偏序集合,若管理域[AS(r1)]等級(jí)低于[AS(r2)],記為[ASr1≤AS(r2)], [ASr1≤ AS(r2)?RSr1? RS(r2)∧USr1? US(r2)∧PSr1?PS(r2)]。 顯然,管理域的偏序關(guān)系實(shí)際依賴角色樹中角色的偏序關(guān)系,[r1≤r2? ASr1≤ AS(r2)],即低級(jí)角色的管理域等級(jí)低于高級(jí)角色的管理域。 基于管理域的角色分級(jí)授權(quán)管理過(guò)程,遵循以下兩個(gè)約束規(guī)則: 1) [r∈R,u∈U∧u,r∈UA→u?US(r)∧US(↓r)],表示用戶[u]不能管理自身,也不能被子級(jí)角色的用戶管理。 2) [r,r'∈R∧r≥r'∧u,r∈UA→u,r'?UA],表示用戶[u]不能被授予比自身角色等級(jí)低的其他角色。這個(gè)約束保證最少授權(quán)原則,同時(shí)保證同一用戶的管理域不會(huì)嵌套也不會(huì)相交,一個(gè)管理域內(nèi)發(fā)生的權(quán)限管理操作不會(huì)影響其他域。 3.2.3 管理許可 在MH-RBAC模型中,具有管理許可[PA]的角色稱為管理角色。管理角色[rA]的用戶可以在[rA]管理域范圍內(nèi)進(jìn)行管理操作。一個(gè)用戶可以授予多個(gè)管理角色并在一次會(huì)話中同時(shí)被激活,但一次只能在一個(gè)管理域內(nèi)進(jìn)行管理操。用戶[u]可以在角色[r]執(zhí)行操作的許可條件為: [adminpermsu,r=p∈PA|?r'∈R,r'≥r∧u,r'∈UA∧r',p∈PA] 管理許可與其他一般許可一樣可以被授予給管理域中的任意角色,也可基于角色樹傳遞,即[PA∈PDA(r)→PA∈PS(r)]。通過(guò)這種管理許可的傳遞實(shí)現(xiàn)權(quán)限的分級(jí)下發(fā),從而實(shí)現(xiàn)分級(jí)授權(quán)的需求。 4 結(jié)論 基于RBAC模型作為一種訪問(wèn)控制方法,在信息系統(tǒng)中得到廣泛應(yīng)用。但是在大型信息管理系統(tǒng)中對(duì)于角色和權(quán)限管理過(guò)程非常復(fù)雜,傳統(tǒng)的RBAC不能滿足分級(jí)授權(quán)的管理要求。多級(jí)訪問(wèn)控制模型在基于角色的訪問(wèn)控制模型基礎(chǔ)上,使用角色樹表現(xiàn)角色的層次關(guān)系,定義了管理域來(lái)限定分級(jí)授權(quán)的操作范圍,實(shí)現(xiàn)了權(quán)限在角色樹上的逐級(jí)分發(fā),從而支持信息管理系統(tǒng)的分級(jí)授權(quán)需求。 參考文獻(xiàn): [1] 劉宏月,范九倫,馬建峰.訪問(wèn)控制技術(shù)研究進(jìn)展[J].小型微型計(jì)算機(jī)系統(tǒng),2004,25(1):56-60. [2] 盧亞輝,張力,劉英博.基于域的綜合訪問(wèn)控制模型[J].計(jì)算機(jī)集成制造系統(tǒng),2006,12(12):1978-1986. [3] Ferraiolo David.Proposed NIST Standard for Role-Based Access Control[C].ACM Transactions on Information and System Security,2001:224-274. [4] 蔡紅霞,俞濤,方明倫.產(chǎn)品數(shù)據(jù)管理系統(tǒng)中訪問(wèn)控制模型的研究[J].中國(guó)機(jī)械工程,2006,17(8): 262-266. [5] Crampton J,Loizou G.Administrative Scope: A Foundation for Role-Based Administrative Models[C].ACM Transactions on Information and System Security,2003,6(1):201-231. [6] Li N,Mao Z.Administration in Role Based Access Control[C].ASIACCS 2007. United States: ACM,2007:127-138. [7] 劉偉,蔡嘉勇,賀也平.基于角色的管理模型隱式授權(quán)分析[J].軟件學(xué)報(bào),2009,20(4):1048-1057.