基于角色的访问控制系统Role-Based Access Con trol System北京航空航天大学计算机系(北京100083) 李伟琴 杨亚平 【摘要】 主要介绍基于角色的访问控制(RBA C),其中包括特点、优势等,并对其设计考虑以及如何具体实现作了阐述。
关键词:访问控制,计算机网络,计算机安全【Abstract】 Ro le-based access con tro l (RBA C)techno logy is p resen ted,including the featu res,advan tage,design schem e and sp ecific realizing m ethods.Key words:access con trol,co m puter net-work,co m puter safety近年来,随着全球网络化的热潮,网络技术正在日益广泛而深入地被应用到社会的各个领域中,并深刻地改变着社会的行为和面貌。
然而,与此同时,网络安全却成为困扰和阻挠网络技术进一步普及、应用的绊脚石。
尤其在商业、金融和国防等领域的网络应用中,能否保证网络具有足够的安全性是首先要考虑的问题。
安全问题如果不能有效地得到解决,必然会影响整个网络的发展。
为此,国际标准化组织ISO在网络安全体系的设计标准(ISO7498-2)中,提出了层次型的安全体系结构,并定义了五大安全服务功能:身份认证服务,访问控制服务,数据保密服务,数据完整性服务,不可否认服务。
一个可靠的网络,它的可信任程度依赖于所提供的安全服务质量。
1 访问控制研究的定义、内容和范围访问控制(access con tro l)就是通过某种途径显式地准许或限制访问能力及范围的一种方法。
通过访问控制服务,可以限制对关键资源的访问,防止非法用户的侵入或者因合法用户的不慎操作所造成的破坏。
访问控制系统一般包括:1)主体(sub ject):发出访问操作、存取要求的主动方,通常指用户或用户的某个进程;2)客体(ob ject):被调用的程序或欲存取的数据访问;3)安全访问政策:一套规则,用以确定一个主体是否对客体拥有访问能力。
2 传统的访问控制技术2.1 自主型的访问控制DACDA C是目前计算机系统中实现最多的访问控制机制,它是在确认主体身份以及(或)它们所属组的基础上对访问进行限定的一种方法。
其基本思想是:允许某个主体显式地指定其他主体对该主体所拥有的信息资源是否可以访问以及可执行的访问类型。
我们所熟悉的U N I X系统就是采用了自主型的访问控制技术。
2.2 强制型的访问控制M AC强制型的访问控制是“强加”给访问主体的,即系统强制主体服从访问控制政策。
它预先定义主体的可信任级别及客体(信息)的敏感程度(安全级别)。
用户的访问必须遵守安全政策划分的安全级别的设定以及有关访问权限的设定。
这种访问控制方式主要适合于多层次安全级别的军事应用。
3 基于角色的访问控制技术随着网络的迅速发展,尤其是In tranet的兴起,对访问控制服务的质量也提出了更高的要求,以上两种访问控制技术已很难满足这些要求。
DA C 将赋予或取消访问权限的一部分权力留给用户个人,这使得管理员难以确定哪些用户对哪些资源有访问权限,不利于实现统一的全局访问控制。
而M A C由于过于偏重保密性,对其他方面如系统连续工作能力、授权的可管理性等考虑不足。
90年代以来出现的一种基于角色的访问控制RBA C(Ro le -B ased A ccess Con tro l)技术有效地克服了传统・61・访问控制技术中存在的不足之处,可以减少授权管理的复杂性,降低管理开销,而且还能为管理员提供一个比较好的实现安全政策的环境。
在RBA C 中,引入了角色这一重要概念。
所谓“角色”,就是一个或一群用户在组织内可执行的操作的集合。
RBA C 的基本思想是:授权给用户的访问权限,通常由用户在一个组织中担当的角色来确定。
例如,一个银行包含的角色可以有出纳员、会计师和贷款员等。
由于他们的职能不同,所拥有的访问权限显然也各不相同。
RBA C 根据用户在组织内所处的角色进行访问授权与控制。
也就是说,传统的访问控制直接将访问主体(发出访问操作、存取要求的主动方)和客体(被调用的程序或欲存取的数据访问)相联系,而RBA C 在中间加入了角色,通过角色沟通主体与客体。
在RBA C 中,用户标识对于身份认证以及审计记录是十分有用的,但真正决定访问权限的是用户对应的角色标识。
RBAC 对访问权限的授权由管理员统一管理,而且授权规定是强加给用户的,用户只能被动接受,不能自主地决定。
用户也不能自主地将访问权限传给他人。
这是一种非自主型访问控制。
RBA C 中,主体、客体、角色、操作、用户之间的关系如图1所示,其中双箭头表示多对多关系。
图1 RBA C 中各元素相互关系示意图3.1 RBAC 的特点3.1.1 以角色作为访问控制的主体用户以什么样的角色对资源进行访问,决定了用户拥有的权限以及可执行何种操作。
3.1.2 角色继承为了提高效率,避免相同权限的重复设置,RBA C 采用了“角色继承”的概念,定义了这样的一些角色,它们有自己的属性,但可能还继承其他角色的属性和权限。
角色继承把角色组织起来,能够很自然地反映组织内部人员之间的职权、责任关系。
角色继承可以用祖先关系来表示。
如图2所示,角色2是角色1的“父亲”,它包含角色1的属性与权限。
在角色继承关系图中,处于最上面的角色拥有最大的访问权限,越下端的角色拥有的权限越小。
3.1.3 最小权限原则图2 角色继承 所谓最小权限原则是指:用户所拥有的权力不能超过他执行工作时所需的权限。
实现最小权限原则,需分清用户的工作内容,确定执行该项工作的最小权限集,然后将用户限制在这些权限范围之内。
在RBA C 中,可以根据组织内的规章制度、职员的分工等设计拥有不同权限的角色,只有角色需要执行的操作才授权给角色。
当一个主体预访问某资源时,如果该操作不在主体当前活跃角色的授权操作之内,该访问将被拒绝。
3.1.4 职责分离对于某些特定的操作集,某一个角色或用户不可能同时独立地完成所有这些操作。
“职责分离”可以有静态和动态两种实现方式。
静态职责分离:只有当一个角色与用户所属的其他角色彼此不互斥时,这个角色才能授权给该用户。
动态职责分离:只有当一个角色与一主体的任何一个当前活跃角色都不互斥时,该角色才能成为该主体的另一个活跃角色。
3.1.5 角色容量在创建新的角色时,要指定角色的容量。
在一个特定的时间段内,有一些角色只能由一定人数的用户占用。
3.2 RBAC 的优势RBA C 的最大优势在于它对授权管理的支持。
通常的访问控制实现方法,将用户与访问权限直接相联系,当组织内人员新增或有人离开时,或者某个用户的职能发生变化时,需要进行大量授权更改工作。
而在RBA C 中,角色作为一个桥梁,沟通于用户和资源之间。
对用户的访问授权转变为对角色的授权,然后再将用户与特定的角色联系起来。
一旦一个RBA C 系统建立起来以后,主要的管理工作即为授权或取消用户的角色,如图3所示。
・71・图3 角色的桥梁作用RBA C 的另一优势在于:系统管理员在一种比较抽象且与企业通常的业务管理相类似的层次上控制访问。
这种授仅使管理员从访问控制底层的具体实现机制中脱离出来,十分接近日常的组织管理规则。
3.3 访问控制系统的设计方案与实现本访问控制系统实施应用层的访问控制。
系统由以下几部分构成:访问控制服务器A CS (A ccess Con tro l Server )、访问请求过滤服务器A FS(A ccess F ilter Server )、角色及授权管理器RA S (Ro le &A u tho rizati on m anagem en t Server )等安全服务器,以及用户 角色信息库、角色访问权限库等访问控制信息库。
各部分的功能简述如下:图4 访问控制系统流程图 (1)客户方在访问应用服务器之前,首先向身份认证服务器证实自己的身份和角色。
(2)认证之后,客户方向A FS 提出访问请求的具体内容。
A FS 从用户请求中提取有关访问控制信息,如用户的活跃角色、用户所请求的服务等,送访问控制服务器A CS 。
A CS 参照访问权限的授权,分析请求方提交的访问是否合法,以决定接受或拒绝用户的访问请求,然后将决策结果通知A FS 。
如果接受的话,A FS 就将用户的请求定位至某台具体的应用服务器并向该应用服务器提交用户请求,之后将应用服务器的处理结果返回给用户。
(3)用户 角色信息库存储管理员定义角色集和每个用户所属的角色。
角色访问权限库存储每个角色对可访问资源的权限,包括是否可以访问及可执行的访问操作。
(4)角色及授权管理器RA S 与管理界面组成安全管理系统,为网络安全管理员提供一个简单、便捷的角色及其授权管理工具。
3.4 系统设计的几点考虑3.4.1 访问控制信息量的压缩从数学上来讲,访问控制实际上是一个矩阵,列表示资源,行表示用户,行和列的交叉点表示某个用户对某个资源的访问权限。
采用RABC 技术,将用户按照一个组织内部的职责分工,设定有限的一些角色:然后再针对这些角色进行授权,这种方法大大减少了对应的访问控制矩阵的行数。
另外,我们采用授权继承技术来减少对应访问控制矩阵的列数。
根据资源的安全级别,将其按树型结构合理地进行组织,并借鉴M S -W indow s 的资源管理器“共享设置”方法,角色一旦对某个资源树中的某点具有某种访问权限,就对该点以下的资源・81・点也具有同样的访问权限。
权限大的角色能访问的节点多,对一些结点所能执行的访问操作也多:权限小的角色只能访问有限的一些节点,而且能执行的访问操作也有限。
压缩访问控制授权信息,不但简化了授权管理工作,而且有利于提高执行访问控制的效率。
3.4.2 “策略 机制”分离原则通俗地讲,“策略”就象一个决策者,“机制”是执行者。
决策者根据安全政策作出决策,通知执行者“执行”或者“拒绝执行”。
执行者不关心安全政策的具体内容,只关心决策者回答的结果。
无论安全政策简单还是复杂,都不会影响执行者的效率。
在本系统中,首先,访问控制合法性的决策与执行决策结果相分离,分别由访问控制服务器A CS和访问请求过滤器A FS执行。
其次,将角色及对其的授权政策的设置与根据政策作出决定分离开来。
这两部分的工作分别由角色授权管理器RA S和访问控制服务器A CS来完成。
3.4.3 网络安全管理在本访问控制系统中有大量管理信息,需要由安全管理服务来对局部安全网络内的安全访问控制策略进行集中管理,以及为管理员提供方便、简捷的管理工具。