徐珊珊
【摘 要】基于角色的訪問控制(RBAC)是一種可以解決統(tǒng)一資源訪問控制的方法,能夠更好地適應(yīng)不同信息系統(tǒng)特定的安全策略,簡化對(duì)信息系統(tǒng)訪問控制的授權(quán)與管理。本文通過對(duì)RBAC模型構(gòu)件分析,對(duì)其特點(diǎn)及應(yīng)用優(yōu)勢進(jìn)行了總結(jié)和研究。
【關(guān)鍵詞】RBAC;角色;授權(quán);信息系統(tǒng);用戶權(quán)限;訪問控制
在一般管理信息系統(tǒng)中,訪問控制方法一般有三種形式:一、自主型,這種訪問控制方法主要借助于訪問控制列表實(shí)現(xiàn)訪問控制;二、強(qiáng)制型,這種訪問控制方法用于軍事應(yīng)用等對(duì)安全級(jí)別要求較高的系統(tǒng);三、基于角色的訪問控制方法(Role-Based Access Control),下文主要對(duì)這種方法進(jìn)行介紹和研究。
作為目前公認(rèn)的可以解決統(tǒng)一資源訪問控制的方法,RBAC的設(shè)計(jì)理念是:權(quán)限與角色相關(guān)聯(lián),用戶通過成為適當(dāng)角色的成員而得到這些角色的權(quán)限。這就極大地簡化了信息系統(tǒng)權(quán)限的管理。這里所說的角色與現(xiàn)實(shí)生活中角色的概念有所不同,它是一組操作的集合,不同的角色具有不同的操作集,這些操作由系統(tǒng)管理員分配給角色。用戶的授權(quán)是指系統(tǒng)管理員賦予用戶一個(gè)角色,只要用戶屬于某個(gè)角色那么他就具備這個(gè)角色的所有操作許可,即該角色所擁有的權(quán)限。系統(tǒng)中的某一個(gè)用戶可以被賦予不同的角色,也就是說用戶與角色是多對(duì)多的關(guān)系,即一個(gè)用戶可以有多個(gè)角色,一個(gè)角色可以被賦予多個(gè)用戶。應(yīng)用RBAC機(jī)制的信息系統(tǒng)中授權(quán)管理的靈活性得到很好的體現(xiàn):1)減少授權(quán)管理的復(fù)雜操作,降低系統(tǒng)管理開銷;2)可以靈活地適應(yīng)信息系統(tǒng)特定安全策略的制定與修改。
1 RBAC模型構(gòu)件分析
我們對(duì)該模型定義如下:
U,R,P,S:用戶,角色,權(quán)限,會(huì)話;
PA?哿P*R:權(quán)限分配,多對(duì)多的關(guān)系;
UA?哿U*R:用戶分配,多對(duì)多關(guān)系;
User:S->U,每一個(gè)會(huì)話S對(duì)應(yīng)單一用戶user(s)的映射;
Roles:會(huì)話S到角色集合role(s)?哿{r|(user(s),r)∈PA}
易見:該模型由三個(gè)實(shí)體組成,分別是:用戶(U)、角色(R)、權(quán)限(P)。其中用戶指自然人,角色就是組織內(nèi)部一件工作的功能或工作的頭銜,表示該角色成員所授予的職責(zé)的許可,系統(tǒng)中擁有權(quán)限的用戶可以執(zhí)行相應(yīng)的操作。
角色權(quán)限分配 PA和用戶角色分配 UA是多對(duì)多的關(guān)系,即一個(gè)用戶可以擁有多個(gè)角色,一個(gè)角色也可被多個(gè)用戶所擁有。同樣的,一個(gè)角色擁有多個(gè)權(quán)限,一個(gè)權(quán)限能被多個(gè)角色所擁有。用戶建立會(huì)話從而對(duì)資源進(jìn)行存取,每個(gè)會(huì)話 S 將一個(gè)用戶與他所對(duì)應(yīng)的角色集中的一部分建立映射關(guān)系,這個(gè)角色會(huì)話子集稱為會(huì)話激活的角色集。于是,在這次會(huì)話中,用戶可以執(zhí)行的操作就是該會(huì)話激活的角色集對(duì)應(yīng)的權(quán)限所允許的操作。
2 RBAC特點(diǎn)
2.1 信息系統(tǒng)訪問權(quán)限與角色相關(guān)聯(lián),不同的角色有不同的權(quán)限
用戶以什么樣的角色對(duì)信息系統(tǒng)進(jìn)行訪問,決定了用戶擁有的權(quán)限以及可執(zhí)行何種操作。在RBAC中,用戶就是一個(gè)可以獨(dú)立訪問信息系統(tǒng)資源的主體。角色是指信息系統(tǒng)中的任務(wù)或者位置,它代表了一種權(quán)利、資格和責(zé)任。許可(特權(quán))就是允許對(duì)一個(gè)或多個(gè)客體執(zhí)行的操作。一個(gè)用戶可經(jīng)授權(quán)而擁有多個(gè)角色,一個(gè)角色可由多個(gè)用戶構(gòu)成;每個(gè)角色可擁有多種許可,每個(gè)許可也可授權(quán)給多個(gè)不同的角色。每個(gè)操作可施加于多個(gè)客體(受控對(duì)象),每個(gè)客體也可以接受多個(gè)操作。系統(tǒng)中主要設(shè)計(jì)如下表格記錄相關(guān)信息:
用戶表(USERS)包括用戶標(biāo)識(shí)、用戶姓名、用戶登錄密碼。用戶表是系統(tǒng)中的個(gè)體用戶集,隨用戶的添加與刪除動(dòng)態(tài)變化。
角色表(ROLES)包括角色標(biāo)識(shí)、角色名稱、角色基數(shù)、角色可用標(biāo)識(shí)。角色表是系統(tǒng)角色集,由系統(tǒng)管理員定義角色。
客體表(OBJECTS)包括對(duì)象標(biāo)識(shí)、對(duì)象名稱??腕w表是系統(tǒng)中所有受控對(duì)象的集合。
操作算子表(OPERATIONS)包括操作標(biāo)識(shí)、操作算子名稱。系統(tǒng)中所有受控對(duì)象的操作算子構(gòu)成操作算子表。
許可表(PERMISSIONS)包括許可標(biāo)識(shí)、許可名稱、受控對(duì)象、操作標(biāo)識(shí)。許可表給出了受控對(duì)象與操作算子的對(duì)應(yīng)關(guān)系。
角色/許可授權(quán)表包括角色標(biāo)識(shí)、許可標(biāo)識(shí)。系統(tǒng)管理員通過為角色分配或取消許可管理角色/許可授權(quán)表。
用戶/角色分配表包括用戶標(biāo)識(shí)、角色標(biāo)識(shí)。系統(tǒng)管理員通過為用戶分配角色、取消用戶的某個(gè)角色等操作管理用戶/角色分配表。
用戶/角色授權(quán)表包括用戶標(biāo)識(shí)、角色標(biāo)識(shí)、可用性。
2.2 角色與角色之間存在繼承關(guān)系
為了提高系統(tǒng)工作效率,避免相同權(quán)限的重復(fù)設(shè)置,RBAC采用了“角色繼承”的概念。角色繼承把角色組織起來,能夠很自然地反映系統(tǒng)內(nèi)部人員之間的職權(quán)、責(zé)任關(guān)系。角色之間可能有互相重疊的職責(zé)和權(quán)力,屬于不同角色的用戶可能需要執(zhí)行一些相同的操作。
2.3 角色限制
角色限制包括角色互斥與角色基數(shù)限制。對(duì)于某些特定的操作集,某一個(gè)用戶不可能同時(shí)獨(dú)立地完成所有這些操作。角色互斥可以有靜態(tài)和動(dòng)態(tài)兩種實(shí)現(xiàn)方式。靜態(tài)角色互斥:只有當(dāng)一個(gè)角色與用戶所屬的其他角色彼此不互斥時(shí),這個(gè)角色才能授權(quán)給該用戶。動(dòng)態(tài)角色互斥:只有當(dāng)一個(gè)角色與一主體的任何一個(gè)當(dāng)前活躍角色都不互斥時(shí),該角色才能成為該主體的另一個(gè)活躍角色。角色基數(shù)限制是指在創(chuàng)建角色時(shí),要指定角色的基數(shù)。在一個(gè)特定的時(shí)間段內(nèi),有一些角色只能由一定人數(shù)的用戶占用。
2.4 最小權(quán)限原則
即指用戶所擁有的權(quán)力不能超過他執(zhí)行工作時(shí)所需的權(quán)限。實(shí)現(xiàn)最小特權(quán)原則,需要分清用戶的工作職責(zé),確定完成該工作的最小權(quán)限集,然后把用戶限制在這個(gè)權(quán)限結(jié)合的范圍之內(nèi)。一定的角色就確定了其工作職責(zé),而角色所能完成的事物蘊(yùn)涵了其完成工作所需的最小權(quán)限。用戶要訪問信息首先必須具有相應(yīng)的角色,用戶無法饒過角色直接訪問信息。
2.5 角色容量
在一個(gè)特定的時(shí)間段內(nèi),有一些角色只能有一定人數(shù)的用戶占用。在創(chuàng)建新的角色時(shí)應(yīng)該指定角色的容量。用戶是一個(gè)靜態(tài)的概念,會(huì)話則是一個(gè)動(dòng)態(tài)的概念。一次會(huì)話是用戶的一個(gè)活躍進(jìn)程,它代表用戶與系統(tǒng)交互。用戶與會(huì)話是一對(duì)多關(guān)系,一個(gè)用戶可同時(shí)打開多個(gè)會(huì)話。一個(gè)會(huì)話構(gòu)成一個(gè)用戶到多個(gè)角色的映射,即會(huì)話激活了用戶授權(quán)角色集的某個(gè)子集,這個(gè)子集稱為活躍角色集?;钴S角色集決定了本次會(huì)話的許可集。會(huì)話表包括會(huì)話標(biāo)識(shí)、用戶標(biāo)識(shí)。會(huì)話的活躍角色表包括會(huì)話標(biāo)識(shí)、角色標(biāo)識(shí)。
3 RBAC應(yīng)用優(yōu)勢
RBAC最突出的優(yōu)點(diǎn)是信息系統(tǒng)中的系統(tǒng)管理員能夠按照安全策略劃分不同的角色,執(zhí)行特定的任務(wù)。一個(gè)系統(tǒng)建立起來后主要的管理工作即為授權(quán)或取消用戶的角色。用戶的職責(zé)變化時(shí)只需要改變角色即可改變其權(quán)限。當(dāng)組織功能變化或演進(jìn)時(shí),則只需刪除角色的舊功能,增加新功能,或定義新角色,而不必更新每一個(gè)用戶的權(quán)限設(shè)置。
總之,基于角色的訪問控制方法可以為應(yīng)用系統(tǒng)建立一個(gè)高安全強(qiáng)度,更易維護(hù)管理,擴(kuò)展能力極強(qiáng)的訪問控制環(huán)境,并能夠有效的控制管理的復(fù)雜性,提供標(biāo)準(zhǔn)化和可以不斷延伸授權(quán)平臺(tái),保證了用戶能按照應(yīng)用規(guī)模和數(shù)量快速地建立訪問控制體系。它能使用戶已建立的訪問控制體系不斷滿足演化的應(yīng)用權(quán)限需求,如支持新應(yīng)用、支持新的權(quán)限、增加用戶數(shù)量、增加用戶類型、增加策略數(shù)量等。這種理念能夠更好地適應(yīng)不同信息系統(tǒng)特定的安全策略,簡化對(duì)信息系統(tǒng)訪問控制的授權(quán)與管理。
[責(zé)任編輯:楊玉潔]