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