孙俊丽
摘 要: 本文基于角色的访问控制,简单介绍了核心思想,详细分析了RBAC96模型,归纳了工作原理,为更深入研究奠定了理论基础。
关键词: 角色 访问控制 模型
20世纪90年代初期,美国国家标准和技术研究院[2]对一种新的访问控制技术着手组织——基于角色的访问控制技术(RBAC)。这种技术能优化授权管理,通过弱化授权管理的复杂性、降低管理开销等提高各项特性[3],还能提供一个比较好的安全环境给管理员。
1.RBAC总体描述
RBAC的核心思想就是将角色与访问权限联系起来,通过对用户分配合适的角色,让用户与访问权限相联系。系统管理员可以根据职能或机构的需求策略,创建角色、对角色分配权限和对用户分配角色。用户可以根据需要进行角色转换,系统可以添加、编辑和删除角色,还可以对角色进行权限的添加和删除。
2.RBAC模型
RBAC96模型是1996年由Ravi Sandhu等人提出来的。该模型为开发实际的应用系统提供了一个总方针,并为RBAC用户提供了评判系统的标准。
该模型分四个层次,具有如图1所示的包含关系。
图1 RBAC96模型间的关系
RBAC0是最基本的模型,包含了RBAC模型的核心部分,规定了任何RBAC系统所必需的最小需求。RBAC1在RBAC0基础上定义了角色的继承关系,在RBAC0的基础上增加了角色等级。RBAC2在RBAC0基础上定义了限制的概念。RBAC3是一个完整的RBAC模型,在包含了RBAC0的基础上,也包含了RBAC1和RBAC2。
定义1:RBAC0(基本模型)包含如下元素:
(1)若干实体集U,R,P,S:用户集,角色集,权限集,会话集。
(2)UA?哿U×R,用户与角色分配,多对多的关系。
(3)PA?哿P×R,权限与角色分配,多对多的关系。
(4)user:S→U,映射每个会话到一个用户。
(5)roles:S→2R,映射每个会话到一组角色roles(s)?哿{r|(user(s),r)∈UA},并且会话s拥有权限) r∈roles(s){p—(p,r)∈PA}。
RBAC0模型指明用户、角色、访问权限和会话之间的关系。一个用户可以同时拥有多个角色,一个角色也可同时被多个用户拥有。用户对资源进行存取主要通过会话的建立。
定义2:RBAC1包含如下元素:
(1)U,R,P,S,UA,PA,user与RBAC0一致。
(2)RH?哿R×R是R上的偏序关系,记为≥,称作角色继承。
(3)roles:S→2R修改为roles(s)?哿{r|(?埚r′≥r)[(user(s),r′)∈UA]},同时会话s拥有权限)r∈roles(s){p—(?埚r′′≤r)[(p,r′′)∈PA]}。
有时由于某些因素,不希望全部的权力都被继承者继承,这时就可以创建一些新的角色,叫做私有角色,并对这些私有角色分配用户。
定义3:RBAC2包含如下元素:
RBAC0中的所有元素都包含于RBAC2中,RBAC2中在RBAC0的基础上加入限制。RBAC2除了继承了RBAC0已有的特征外,还把限制集合引入,规定了是否可接受RBAC0各种部件的操作,只有可接受的操作才被允许。
定义4:RBAC3包含如下元素:
RBAC3是在RBAC0基础上RBAC1和RBAC2二者的结合。角色层次和限制同时存在,限制也可以作用在角色层次上。RBAC3是一个完整的RBAC模型,包含一切模型元素,是最复杂的一种模型。
3.RBAC工作原理
基于角色的访问控制方式就是通过定义角色的权限,为系统中的主体分配角色实现访问控制,用户先经认证后获得一定角色,把一定的权限分派给角色,用户以特定角色对系统资源进行访问,访问控制机制对相关角色的权限进行检查,决定访问是否被允许。基于角色的访问控制,从控制主体的方向出发,通过管理中相对稳定责任和职权把角色划分;与传统直接对用户授权方式(MAC和DAC)不同的是,RBAC将访问权限与角色相关联,其中,用户是以一定的角色访问系统,而不是自始至终以同样的注册身份和权限。
4.结语
本文首先简单介绍了基于角色的访问控制,其次详细分析了RBAC96模型,模型的元素,以及元素之间的关系,最后总结了基于角色访问控制的工作原理,为以后更深入研究奠定了理论基础。
参考文献:
[1]Park J S. Sandhu R S. Ghanta S. RBAC on the Secure Cookies,1999.
[2]李立新.强制访问控制在基于角色的安全系统中的实现[J].软件学报,2000.
[3]陈新疆.基于RBAC的访问控制在信息系统中的应用[J].临沂师范学院学报.
[4]杜萍.一种改进的基于角色的访问控制模型[J].计算机工程与应用,2006.
[5]李晓林.信息系统中基于角色的访问控制[J].微机发展,2004.