基于组织架构的网络安全权限管理
2015-01-01陈柯李钢
陈 柯 李 钢
(中国电子科技集团公司第28研究所 江苏 210007)
0 引言
大型组织(如跨国企业)的信息资源往往根据组织结构维护,其中存在大量同构的、拥有同类信息资源的单元。采用传统的RABC对于单个独立系统内用户的以及权限的管理是相当有效的,但是传统的RBAC模型在这种环境下需要为每个同构单元定义权限和角色。虽然可以利用RABC模型中的角色继承概念,通过对于角色对于整个层次组织架构的模仿,构建层次,具有继承结构的角色树。但是由于角色继承是一个偏序关系,是对组织机构层次中权限和责任的一种映射,实际的使用中违反了权限最小化原则。如一个企业有总经理、部门经理和材料员,而角色继承表示总经理继承部门经理的权限,部门经理继承材料员的权限,也就是说总经理通过传递关系获取了材料员的权限,而在实际的工作中,总经理是不具备材料员的管理权限。
在分层管理的大型分布式系统中使用基于角色的访问控制往往会面临角色、对象、权限过多的问题。如果在各个机构内部重复建立大量的角色、分配相似的权限,不但工作量大,而且容易出错,而他们之间的区别仅仅在于所属的分支机构不同。特别在同构单元数量很多时授权管理非常困难,尤其是在进行跨域授权时,涉及到互联系统间角色、用户、信息资源和它们之间的相互关系,为了保证访问授权和管理简化这两个目标,这对于安全管理员来说是非常困难的。
按照大型跨国公司的组织架构,划分为公司总部,区域管理中心,分区公司,营运团队以及外部实体这几个层次。大型组织内的信息单元是具有独立性,同时在整个系统内具有大量功能,角色,用户相似的特征。采用这项特质,按照其在组织架构内的特征,划分为管理域(域层)。模型不再使用角色继承来表示组织结构,而是将组织结构引入访问控制模型,用它来组织客体、权限以及之间相互的关系。
1 基于角色的访问控制模型(RBAC)
基于角色访问控制模型由Ferraio1o和 Kuhn在 1992年提出,这是当今使用最为广泛的权限管理模型,这是一个复合的访问控制策略,用户并不直接获取对于资源的权限,而是用户通过担任某些角色而获取访问权限,这能够大大的简化权限管理且易于理解和描述,其中关键的概念如下。
用户(U):系统资源的使用者 U sers={U1,U2,..., Un}
角色(R):多个权限的集合 R oles={R1,R2... Rn}
许可(P):对系统资源的操作权限 P ermissions ={P1,P2...Pn}
用户与角色以及角色与权限之间为多对多的关系
PA⊆ P × R 表示从许可到角色的多对多的关系;
PA⊆ P × R 表示从用户到角色的多对多的关系。
在 RBAC0模型的基础上引入了角色层次关系扩展为RBAC1模型。
PA⊆ P × R 表示角色集 R 上的一个偏序,称为角色继承关系。
引入了了约束形成了RBAC2模型。将RBAC1与RBAC2特性结合形成RBAC3模型,具体的关系见图1。
由于 RBAC将用户从底层的访问控制实现机制中脱离出来,同时可以灵活的表达组织中的各种安全角色,可以映射日常组织架构,在各个领域中均得到了广泛的应用。实际上RBAC访问控制模型应用中采用一级控制模型,即将访问资源的权限授予角色,再将角色授予用户。在传统的独立管理域环境下可以很好的解决权限管理的问题。这种方法在单元和客体较少的情况下还勉强可行,但是数目到了一定规模,模型的管理就非常困难了。现今分布式系统(多域)环境下,造成管理员额外的负担。
图1 RBAC访问控制模型
2 改进的层次RABC
将组织中的一个相对自治的机构划分为域,以此为基础,为解决大型组织中对于海量的用户及对象的管理问题,将系统中的各个要素(U,P,R)划分至不同的域。对应于组织中的相似结构的机构划分为一个组,称为域层。这就为我们简化对于海量权限以及用户的管理提供了前提基础。同一个策略域中的分支机构具有相同的组织结构,在同一个域层次内实施统一的角色,用户,对象组定义。在同一域层内实施统一的用户、角色,当然也可以定义自己私有的特殊角色减少了系统中的角色和权限。将权限授予岗位而不是直接授予企业中的用户,岗位与一组完成岗位任务的角色相对应。当组织内的人员发生流动,只需在权限模型中修改该用户的岗位信息即可,无需针对该用户重新进行权限授予。相比较传统的访问控制模型,可大大减轻管理员的工作负担。
传统的RBAC中权限定义为对客体的操作,其中的客体是独立的对象,如针对某个资源如数据库对象,文件对象等。针对大型的机构中的域,为了简化对客体的定义,引入对象组概念。对象组定义为一组具有相同属性对象的集合,同一个对象依据提取出的不同属性可以被划分到不同的对象组。原先操作定义为对象而现在该为对象组。
这些对象组按照域层管理的要求,对象组中对象允许的操作是一致的,对象必须属于一个对象组且可以属于多个对象组。对象组必须属于一个域或是属于一个域层,隶属于域层的对象被域层内所有的域所拥有;而属于域的对象只能被该域独占。
3 多域环境下用户访问控制管理策略
分布式系统通常按组织机构层次、应用系统范围、管理策略等原则进行安全域划分。在大型企业中,采用按照组织结构的层次进行安全域的划分特别适合这种具有强烈层次结构的组织。在分布式环境中,权限以及权限-角色分配都是本地自治,而不强调全局化。多域之间针对权限的管理较之传统的单一信任域情况下主要体现在域之间的交叉授权问题,需要将域内访问控制规则和域间访问控制规则有机结合起来。核心问题在于计算系统的各种资源处于分级的多个管理域中,分别由相应的访问控制规则进行控制。根据被访问的资源所在管理域的不同,访问控制规则可以分为域内访问控制和域间访问控制。在进行跨域访问的使用场景下,可以根据安全域实际的划分情况采用集中或者分层两种权限管理策略。
在集中式验证的策略下,通过中心安全认证服务器提供域之间的交叉验证和授权,并提供单点登录控制,避免域之间的多个授权交互。
在分布式验证的策略下,为了保证信息交换的正确性,需要在每一个安全域上增加一些相应的路由信息,使各个安全域能够访问其上级和下级安全域,这些路由信息可以从组织架构的层次关系上获取。
3.1 集中式
在网络条件正常,系统服务运行正常的情况下,采用集中式安全策略访问管理,所有的安全策略均由中心安全认证服务器提供。由于所有节点都必须和中心服务器通信,导致中心服务器负载过重,容易形成阻塞,影响效率;但该体系结构简单,最大的缺点在于扩展性不强,不能满足大规模复杂应用。
3.2 分布式
为了提高系统的可靠性,提供系统抗毁性,在分布式系统中,对任何一个安全域的用户-角色分配操作,都把该分配信息推到层次结构中该安全域的上级安全域服务器,利用“推”结构和“拉”结构,高效地进行用户-角色全局性管理。在最差的情况下,采用本节点自己提供的安全信息管理服务。在分布式系统中,对任何一个安全域的用户-角色分配操作,都把该分配信息"推"到层次结构中该安全域的上级安全域服务器。在实施访问控制时,若一个用户在某个安全域没有直接访问某资源的权限,则沿路由信息回溯其上级安全域,“拉”回其需要的用户-角色分配信息。
4 结束语
本文构建的模型,将组织结构划分为域层,并将对象组的概念引入RBAC,减少了角色的重复定义,简化了权限的分配,使 RBAC模型更适合在大型的、具有大量分支机构的系统中应用。在不同的实际使用场景中,依据当时的网络环境采用不同的策略对用户权限进行验证及进行交叉授权。
[1]Sandhu R S.Coyne E J,Feinstein H L,et al.Role-based Access Control Models[J].IEEE Computer,1996.
[2]Ferraiolo D F,Barkley J F,Kuhn D R.A Role-based Access Control Model and Reference Implementation Within a Corporate Intranet[J].ACM Transaction of Information System Security.1999.
[3]Kumar A,Karnik N,Chafle G.Context Sensitivity in Role-based Access Control[J].ACM SIGOPS Operating Systems Review,2002.
[4]徐震,冯登国.一种使用组织结构的访问控制方法.计算机工程.2006.
[5]孙艳俊.基于RBAC模型的应用访问权限系统设计与实现现代电子工程.2013.
[6]余亮.基于CAS的单点登录系统.现代电子工程.2012.