APP下载

基于SOA的属性访问控制模型研究

2011-03-06曹宝香

通信技术 2011年3期
关键词:电子图书访问控制定义

刘 君,曹宝香

(曲阜师范大学 计算机科学学院,山东 日照 276826)

0 引言

传统访问控制模型存在着一定的局限性。在面向服务的架构的环境下,由于服务的动态性,传统访问控制机制,已经不能完全满足面向服务的架构(SOA)环境的要求,主要表现在以下两个方面[1-2]:

①在传统的管理信息系统中,只需要对系统已知的用户进行处理,用户也只有权限对已知的系统进行访问;

②传统访问控制模型都是静态的、粗粒度的,不能够为SOA访问控制策略提供丰富的语义支持。

为了能够适应各种业务场景中多样化的用户,一个设计良好的基于SOA的访问控制模型[3-4]必须具备非常好的灵活性。在SOA环境下,可以采用一种新型的ABAC模型[5]。

1 ABAC的策略定义

如图1所示为ABAC模型。

图1 基于属性的访问控制模型

ABAC根据参与决策的相关实体的主体、资源和环境属性授权。

①主体属性(Subject Attribute)。主体是对客体进行操作的实体。一个主体可能被其它的主体访问,这时候,这个被访问的主体就可以作为资源看待。主体属性是与主体的身份和特点相关的属性,例如,身份、角色、姓名、年龄、职位等;

②资源属性(Resource Attribute)。资源可以是一份公告,一则新闻或者一个数据表格。资源属性是与资源的自身特点相关的属性,例如,一份公告就有题目、作者、创建日期等属性等;

③环境属性(Environment Attribute)。环境属性描述业务执行时的上下文,主要包括时间、日期等。

ABAC的形式化定义如下所示:

①s,r和e分别表示主体、资源和环境;

②SAk(1≤k≤K),RAm(1≤m≤M),EAn(1≤n≤N)分别是主体属性、资源属性和环境属性;

③ATTR(s)⊆ SA1× SA2×…× SAKATTR(r) ⊆RA1×RA2×…× RAM ATTR(e) ⊆ EA1× EA2×…× EAN。当然,也可以用符号法对单个属性进行赋值,例如:SystemTime(e)=“2010-9-13”;

④判断一个主体s是否应该被授予在环境e下对资源r的访问权限,是根据主体 s,资源 r以及当前上下文环境 e的具体属性来决定的。

can_access(s,r,e) ← f (ATTR(s),ATTR(r),ATTR(e)),其中,access通常代表一系列操作,f函数是表示访问控制策略规则的一个布尔函数,描述了主体对资源进行访问时必须满足的条件,通过主体s,资源r和环境e的属性值对f函数进行计算,从而决定主体s是否应该被授予在环境e下对资源r的访问权限;

⑤策略库中有多条访问控制策略。这些策略关系到SOA中的许多主体和资源。进行访问控制决策的过程就是对访问请求,通过在策略库中选出可用策略进行评估的过程。

2 ABAC与RBAC的实例对比分析

通过一个电子图书网站的实例,比较ABAC和RBAC。

表1 电子图书级别适合人群

会员的年龄和电子图书的分级级别(如表1所示)都是与访问控制相关的重要属性,在制定访问控制策略规则时,必须将它们列入考虑范围。由于RBAC是根据用户的角色来进行访问控制的判断,所以如果在该例的电子图书网站要采用基于角色的访问控制,就必须预先定义三种角色:儿童、青少年和成年人。电子图书网站必须给每个会员分配这三种角色中的一种。而且电子图书网站还需要定义三种权限:阅读R级的电子图书;阅读PG-10级的电子图书;阅读G级的电子图书。

成年人的角色将获得全部以上三种权限;青少年的角色能够获得阅读PG-10级的电子图书和阅读G级的电子图书两种权限;儿童的角色只能获得阅读G级的电子图书的权限。系统管理员必须手工为用户分配角色并且定义角色到权限的映射。

而如果在该案例中的电子图书网站要采用基于属性的访问控制模型,就没有必要进行角色和权限的定义了。一个用户u是否可以访问一部电子图书m是由该用户u自身的属性(年龄Age(u))和电子图书的相关属性(分级级别Rating(m))来决定的(将环境属性暂时忽略不计)。相关的访问控制策略规则如下:

可以看到在基于属性的访问控制模型中,不需要定义和维护静态的角色和权限,同时也没有必要手工为用户分配角色及定义角色到权限的映射。

如果由于业务逻辑越来越复杂,更多的属性需要考虑,那么,这种差异就会变得非常显著。现在,电子图书网站根据电子图书的发行时间将所有的电子图书分为新书(New Release)和旧书(Old Release)两类,同时根据会员交纳的会费金额将所有的用户分为高级会员(Senior)和普通会员(Ordinary)两类。电子图书网站的业务规则也发生了一定的变化:只有高级会员才能够阅读最近发行的新书。

如果采用基于角色的访问控制,需要预先定义的角色的数量将增加一倍,具体如下:普通成年人会员;高级青少年会员;普通青少年会员;高级儿童会员;普通儿童会员;

同样,需要预先定义的权限的数量也将增加一倍:阅读R级的新书;阅读R级的旧书;阅读PG-10级的新书;阅读PG-10级的旧书;阅读G级的新书;阅读G级的旧书。而为用户分配角色以及定义角色到权限的映射的工作也将变得更为复杂。

一般来讲,如果在进行访问控制授权时,需要考虑到K个主体的属性,M个资源的属性,那么,需要创建的角色和权限数目分别为[6]:

其中,函数 Range()表示属性可能的取值数量。

然而,在基于属性的访问控制模型中,我们之前定义的规则仍然是有效的,只需要加入一条新的规则:

这条新的规则和旧的规则共同描述新的业务,即:

根据上面的实例,能够看出相对于RBAC来说,ABAC拥有更高的灵活性和更细的访问控制粒度,能够表现语义更丰富的访问控制策略[7]。当业务逻辑变得更加复杂时[8],RBAC需要定义新的角色和权限,而ABAC只是根据现实中的语义修改策略规则就可以。特别是当业务逻辑变得非常复杂时,以至于需要考虑数目比较大的属性,这时,RBAC就会非常缺乏柔性,需要创建的角色和权限数目将急剧增多,为用户分配角色以及定义角色到权限的映射的工作将变得特别糟糕。随着主体和资源属性数目的增长,RBAC需要创建的角色和全新数目呈指数级增长;而 ABAC 需要定义的策略规则的数量则呈线性增长。

上面的实例还没有考虑到环境属性,RBAC不支持环境属性。例如:对于这个策略,普通会员只具有阅读某一段时期内(比如,今天的日期作为促销日期)的新书的权限,而不能阅读其它时期的新书。然而,ABAC可以通过添加新的规则的方式,对于这个环境属性是否处于某一段时期内进行判断。因此,基于属性的访问控制(ABAC) 融合了一些现存的访问控制机制的优点及特性,将主体、资源、环境属性都考虑在内,综合进行动态授权决策,从而能够提供更丰富的语义,实现更细粒度的访问控制。

3 ABAC模型中用户安全的实现

这里的系统应用实现以山东省日照市中泰阳光客户关系管理系统为例,系统在实施后获得了较好的运行效果。

4 结语

相对于其它访问控制机制来说,ABAC拥有更高的灵活性和更细的访问控制粒度,能够表现语义更丰富的访问控制策略,因而更适用于SOA环境。

[1] 傅鹤岗,李竞.基于属性的Web服务访问控制模型[J].计算机科学,2007,34(05):111-113.

[2] 沈海波,洪帆.面向Web服务的基于属性的访问控制研究[J].计算机科学,2006,33(04):92-96.

[3] COETZEE M,ELOFF J H P.Towards Web Services Access Control[J].Elsevier Computers and Security,2004,23(07):559-570.

[4] 沈海波,洪帆.基于属性的授权和访问控制研究[J].计算机应用,2007,1(27):115-116

[5] 沈海波,洪帆.Web服务中结合 XACML的基于属性的访问控制模型[J].计算机应用,2005,25(12):2765-2767.

[6] 覃章荣,王强,欧镔进,等.基于角色的权限管理方法的改进与应用[J].计算机工程与设计,2007,28(06):1282-1283.

[7] 李敏,高悦翔.动态角色访问控制模型的研究与应用[J].通信技术,2009,42(05):221-223.

[8] 李岚.基于角色的数据库安全访问控制的应用[J].通信技术,2008,41(10):70-72.

猜你喜欢

电子图书访问控制定义
ONVIF的全新主张:一致性及最访问控制的Profile A
动态自适应访问控制模型
出版社纸质图书与电子图书出版的价值链比较
浅析云计算环境下等级保护访问控制测评技术
大数据平台访问控制方法的设计与实现
成功的定义
修辞学的重大定义
电子书是否会取代传统图书?
山的定义
教你正确用(十七)