APP下载

面向Web集群应用的改进RBAC模型研究

2015-06-21吴丽颖刘淑瑜范霖君周默

计算机与网络 2015年12期
关键词:访问控制数据源集群

吴丽颖刘淑瑜范霖君周默

(1国家保密科技测评中心(河北省)分中心,河北石家庄 050052)

(2天津中德职业技术学院,天津 300350)

(3北京风行在线技术有限公司,北京 100088)

面向Web集群应用的改进RBAC模型研究

吴丽颖1刘淑瑜1范霖君2周默3

(1国家保密科技测评中心(河北省)分中心,河北石家庄 050052)

(2天津中德职业技术学院,天津 300350)

(3北京风行在线技术有限公司,北京 100088)

随着计算机技术的进步和软件规模的不断增加,应用系统对于安全高效的访问控制策略提出了越来越高的要求。传统的基于角色的访问控制模型受限于当时的技术水平,没有充分考虑到分布式应用管理,不再适用于逻辑复杂的Web集群应用,因此提出了一个逻辑描述更为精细、对分布式应用的处理能力更强的改进RBAC模型,并在此改进模型的基础上,设计出了一套完整的应用体系结构框架。

RBAC Web集群 应用框架

1 引言

近些年,访问控制技术作为信息系统的安全技术,获得了快速发展。其中基于角色的访问控制(RBAC)作为信息安全领域的新技术,已经得到广泛应用。特别是在Web集群应用中,RBAC通常作为权限统一管理和身份认证的解决方案被大量运用[1]。

RBAC核心思想在于授权给用户访问权限,通常由用户在一个组织中担当的角色来确定。它区别于传统的访问控制机制,不直接关联访问的主客体,通过引入角色的概念来达到访问主体与客体的沟通。RBAC简化了权限分配和管理工作,其本身是一种策略中立的访问控制系统,能方便地实现自主型访问控制(DAC)和强制型访问控制(MAC)[2]。通过RBAC能够实现对自身的管理,并且真实的反映现实世界的情况。

2 经典RBAC96模型及其缺陷

目前,最具代表性的RBAC模型为Ravi Sandhu提出的RBAC96模型[3]。该模型打破了以Bell-Lapadula模型和Lampson访问控制矩阵为代表的经典强制访问控制模型和自主访问控制模型的固有形式。

RBAC96模型主要由4个基本要素构成,即用户(U)、权限(P)、角色(R)和会话(S)[4]。模型示意如图1所示,其数学描述如下:

定义1 UA=U×R,UA是用户到角色多对多关系。

定义2 PA=P×R,PA是权限到角色多对多关系[5]。

定义3 Users:R→2U是来自函数,将每个角色映射到用户集中。其中Users(r)={U,(U,r),UA}。

定义4 Permissions:R→2P是来自PA的函数,可以将每个角色映射到权限集中。其中Permissions(r)={P,(P,r),PA}。

定义5,是角色集上的一个偏序关系,称为角色层次关系,记作“≥”。

定义6 Roles(Si):{r,(r1≥r)[(User(Si),r),UA]}。其中,User:S→U,是将各个会话Si映射到一个用户去的函数User(Si)。

定义7 Roles:S→2R是将各会话Si与角色集合连接起来的映射,可随时间变化而变化,且会话Si的授权Ur:Roles(Si)={P, (r1≥r)[(P,r),PA]}[6]。

不难发现,虽然RBAC96模型已经具备完整的逻辑描述,但在当今业务逻辑趋向于分布式应用的条件下,该模型暴露出了对Web集群应用的适应能力不足等问题。

问题一模型侧重于对抽象关系的描述,权限与角色之间是被描述为直接指派关系,在逻辑复杂的应用(特别是Web集群应用)中,这种策略显得过于繁琐和松散,不能直观的反应业务逻辑关系,也不利于应用项目的模块化拆分,导致权限对象的复用度降低。

问题二没有针对权限对象表现形式的描述,抽象的权限对象不易实现细粒度调节,很难做到精确的访问控制,在资源庞杂的Web集群系统中,权限通常不是原子性的单位。

问题三用户、角色和权限三者之间耦合性太强,实现条件约束时会造成侵入性。在Web集群系统中很难构建出通用切面来实现无差别统一管理[8]。另外,对模型中各种要素(特别是权限)在分布式环境下的数据来源也没做出适当的描述。

3 改进RBAC模型

针对以上不足,提出了逻辑描述更为精细的、对分布式应用的处理能力更强的改进RBAC模型。模型主要由用户(U)、权限(P)、角色(R)、会话(S)、应用(A)和控制逻辑(C)6个基本要素组成。改进模型示意如图2所示,下面是相关概念的形式化表示:

定义8 RA=R×A,RA是角色到应用多对多关系。

定义9 AP=A×P,AP是应用到权限多对多关系。

定义10 AH=A×A,AH是应用集上的一个偏序关系,称为应用层次关系。

定义11 Applications:R→2A是来自于RA的函数,它可以将每个角色映射到应用集中。其中Applications(r)={A,(A,r), RA}。

定义12 Permissions:A→2P是来自于AP的函数,它可以将每个应用映射到权限集中。其中Permissions(a)={P,(P,a),AP}。

定义13权限P=OP×RS,可表示为P(OP,RS)。其中,OP为访问控制涉及的操作,RS为访问控制涉及的数据资源。

图2 改进RBAC模型

定义14 OH=OP×OP,OH是操作集上的一个偏序关系,称为操作层次关系。

定义15 SH=RS×RS,SH是资源集上的一个偏序关系,称为资源层次关系。

定义16控制逻辑C=SR∪DR=SR∪(∑DSi),SR是安全域,相当于RBAC96模型中的约束条件;DR是数据域,用于描述模型各种要素的来源;DS是数据源集合,由模型使用者自主设定,DR依赖于数据源集DS。

改进模型中通过引入应用(A)的概念来解决问题1,应用对象处于角色和权限之间,既作为角色的最小授权单位,又作为权限的划分集合。可以简化角色的授权过程,同时又可以对细粒度的权限进行分组管理。在实际运用中,一个应用对象等价于一个Web应用。

通过引入操作和资源对象来解决问题2,通过OP和RS的正交组合完全能够满足任意权限的细粒度划分[9]。此外,操作和资源对象具有等级属性,支持继承关系的描述,可以减少配置数量,增加逻辑条理性。

改进模型利用控制逻辑组件来克服问题3的缺点,控制逻辑中包含了URAP四要素的基类,可以通过基类构建逻辑切面,实现对各要素的无差别控制。控制逻辑包括数据域模型和安全域模型,前者依赖于各种数据源,可以描述URAP在分布式系统中的来源;后者是RBAC96中约束条件的扩展,约束条件不再通过一一映射的策略为每一个要素进行指定,而是在安全域中统一做策略配置。

4 基于改进模型的应用

在上述改进RBAC模型的基础上,将其运用到Web集群系统的集中验证服务框架中,提出了如图3所示框架结构。

在图3所示的框架中,应用模型依托于应用管理器。为了兼容不同Web开发技术(如JSP、ASP、PHP、Flex等)之间数据结构的差异性,框架分离出消息交互服务来单独处理数据通信请求。消息交互服务采用WebService技术,需要根据Web应用所使用的具体技术来配置各自不同的客户端代理,Web应用发给应用管理器的请求完全委托给消息交互服务来处理,从而实现在应用管理器的协调作用下有序的完成各自的数据传输和实时交互任务。

权限解析器用于实现权限模型的管理。解析器从数据域读写服务中获得操作和资源数据,根据最优匹配原则提取出最简权限表达式,并将其封装到相应的权限实体中。操作和资源间支持继承关系的配置,采用类似于正则表达式的策略,实现用最少的数据量表示最多的权限信息。

角色驱动器主要用于管理角色模型。角色实体作为系统框架的核心驱动对象,负责连接用户接口和系统框架的各部分组件。通过授权算法将应用管理器中各种Web应用的操作请求和权限解析器中生成的权限表达式注入到角色实体中。然后将其写入到系统公共数据池中,以供用户接口调用。

数据域读写服务提供通用的数据收集工厂,将分布式环境下的各种数据源(包括JDBC、JNDI、XML、Cache等数据源)所提供的数据进行统一管理[10],通过一系列数据解析和散列算法,将分散的数据整合成为URAP实体。

在系统框架的整个生命周期中,安全域验证服务采用切面管理的方式,在系统框架各组件的执行方法前后加入验证函数,无差别的将业务逻辑中需要施加的约束条件作用到每个组件甚至每个实体对象中,从而保障系统的安全性校验。

图3 基于改进RBAC模型的应用框架图

5 结束语

本文结合实际Web项目的应用需要,对基于角色的访问控制模型进行了分析和扩展。通过实践证明,优化之后的改进RBAC模型在面向Web集群应用的系统中不仅使操作的复杂度明显降低,系统数据管理更加安全、高效,同时也提高了工作效率。在当今日益革新的分布式应用中,RBAC模型中各要素之间的关系会变得更复杂,本文只是从逻辑层面上描述了相对通用的情况。作为完整的解决方案,应当将更为全面的因素考虑进去,因此本文所提出的RBAC模型需要进一步的研究和优化。

[1]薛伟,怀进鹏.基于角色的访问控制模型的扩充和实现机制研究[J].计算机研究与发展(Journal of Comguter Researoh and Developront),2003,40(11):1635-1642.

[2]李兆国,刘广亮,郑健.基于角色与权限扩展的TRBAC[J].科技信息,2010(9):67-69.

[3]施良辉.基于角色的访问控制框架设计及其应用[J].电脑应用技术,2007(70):22-26.

[4]邵奇峰,韩玉民,郑秋生.一种混合授权的RBAC模型及其UML建模[J].武汉大学学报(理学版),2014(5):74-76.

[5]董永峰,陆军,刘建波,等.改进的RBAC模型在信息服务平台上的应用[J].计算机应用与软件,2012,29(5):99-103.

[6]汪厚祥,李卉.基于角色的访问控制研究[J].计算机应用研究,2005(4):125-127.

[7]林磊,骆建彬,邓宪.管理信息系统中基于角色的权限控制[J].计算机应用研究,2002(6):82-84.

[8]乔颖,须德,戴国忠.一种基于角色访问控制(RBAC)的新模型及其实现机制[J].计算机研究与发展,2000(1):37-44.

[9]李晶,李晓林,朱斯思.基于RBAC模型的多级权限访问控制设计[J].软件导刊,2009.8(4):140-142.

[10]李晓航,胡晓鹏.基于元数据的通用数据维护框架设计[J].计算机工程,2010(20):80-82.

Research on Improved RBAC Model Oriented to Web Cluster Application

WU Li-ying1,LIU Shu-yu1,FAN Lin-jun2,ZHOU Mo3
(1.Heibei Branch of National Secrecy Science and Technology Evaluation Center,Shijiazhuang Heibei 050052,China)
(2.Tianjin Sino-Germany Vocational Technical College,Tianjin 300350,China)
(3.Beijing Funshion Online Technologies Co.,Ltd,Beijing 100088,China)

With the progress of computer technology and the constant increase of software scale,the application system puts forward higher requirements for safe and efficient access control strategy.The traditional access control model based on role is limited to the technical level at that time,has not fully considered the distributed application management,and is not suitable for Web cluster application with complicated logic.Therefore,this paper proposes the improved RBAC model with more detailed logical description and stronger processing capability for distributed application,and designs a complete application architecture framework based on this improved model.

RBAC;Web cluster;application framework

TP319

A

1008-1739(2015)12-53-3

定稿日期:2015-05-26

猜你喜欢

访问控制数据源集群
海上小型无人机集群的反制装备需求与应对之策研究
一种无人机集群发射回收装置的控制系统设计
Web 大数据系统数据源选择*
Python与Spark集群在收费数据分析中的应用
基于不同网络数据源的期刊评价研究
ONVIF的全新主张:一致性及最访问控制的Profile A
勤快又呆萌的集群机器人
动态自适应访问控制模型
浅析云计算环境下等级保护访问控制测评技术
大数据平台访问控制方法的设计与实现