APP下载

Web服务下基于属性的动态访问控制模型研究

2014-06-13郭银章太原科技大学计算机科学与技术学院太原030024

太原科技大学学报 2014年3期
关键词:访问控制客体动态

陈 凯,郭银章(太原科技大学计算机科学与技术学院,太原 030024)

Web服务是一种新型的分布式计算模式,通过标准的Web协议提供服务,从而确保不同平台的应用服务可以进行互相操作。这种分布式的应用服务给访问控制提出了新的挑战,要求访问控制能满足Web服务的分布性、异构性和动态性的特点。

访问控制是通过某种方法允许或拒绝主体对客体的访问,访问控制的核心是访问策略,访问策略就是定义一套主体对客体拥有访问能力的准则,访问控制技术在当前的很多的的领域发挥着重要的作用。访问控制模型主要包括以下几种模型:自主访问控制 (Discretionary Access Control,DAC),强制访问控制 (Mandatory Access Control,MAC),基于角色的访问控制 (Role Based Access Control,RBAC)[1],基于任务的访问控制 (Task Based Access Control,TBAC)[2-3],基于属性的访问控制 (Attribute Based Access Control,ABAC)[4-6]。DAC与MAC都是被动访问控制模型,难以适应复杂的分布式环境。RBAC是在用户和权限之间引入角色,实现用户与权限的逻辑分离,RBAC缺少对主客体的描述以及上下文的关联,不能适应动态授权的访问控制系统。TBAC从任务的角度来实现访问控制,是一种基于上下文环境的访问控制模型,但是TBAC不能细粒度的实现Web环境下的动态授权的访问控制系统。而ABAC是一种基于主客体属性的访问控制技术,考虑当时请求者的属性,被访问资源的属性以及当时环境的属性来判定是否具有访问权,所以ABAC能够适应Web服务环境下复杂的动态授权访问控制。

目前,国内外学者对Web服务环境下的访问控制进行了大量的研究,文献[5]在Web服务环境下,提出一种基于角色的相关的访问控制策略,实现了同一域名下多站点间的访问控制。在动态变化的网络环境下,该访问控制模型具有局限性。文献[6]提出了在Web服务环境下的基于策略的访问控制(PBAC)模型,分析了PBAC对策略语言的和策略管理架构的需求,但是该模型的策略不适用应用服务的跨平台的互操作。文献[7]提出了Web服务下基于角色的动态访问控制模型(RBDAC),模型可以根据用户访问时的上下文的环境来激活角色分配和相应权限的分配,实现动态的访问控制。文献[8]提出了基于属性的Web服务访问控制策略框架,对访问控制策略进行了形式化表达。

WEB服务环境下系统具有动态性、分布性及异构性的特点,其访问控制策略必须考虑当前网络的上下文环境以及被请求资源的状态迁移和约束依赖而引起的权限状态的变化问题。本文提出一种基于属性的WEB服务环境下的动态访问控制策略,通过对请求主体、访问资源、访问方法、访问环境以及访问策略属性的动态调用,实时地进行系统的动态访问控制。同时,基于SAML与XACML的映射,进行了策略判定点与策略执行点的实现。

1 Web服务环境下基于属性的访问控制模型

本文针对Web服务的访问控制系统环境所具有的分布性、异构性和动态性特点,在分析了Web Service下访问控制主客体授权和上下文环境关联的基础上,提出了一种基于属性的Web Service动态访问控制模型(ABAC-Web)。

定义1WEB服务环境下基于属性的访问控制模型可定义为:

ABAC—WEB=(S,O,A,E)

其中:主体(Subject,S)是动态访问授权的主体,是对象操作的执行者和执行权限的申请者。被请求资源客体(Object,O)是动态访问的客体对象,它定义了一组访问对象及可实施的操作。访问方法(Action,A)是请求者主体对访问资源客体的一组动作操作。访问环境(Environment,E)是指访问权限请求过程中上下文环境的描述,引入AE属性的定义,可以动态地确定访问资源客体权限状态的迁移以及依赖约束,上下文访问环境的变化,能够对系统的访问权限的判定产生影响,从而能够实现主客体的访问控制的动态性。

定义2基于属性的访问请求(AAR)。AAR是由一组主体、客体、动作和环境属性取值组成的,也就是AAR是一个(S,O,A,E)组成的四元组。

定义3条件(Condition)。条件是一个属性表达式,属性表达式是某一个属性变量值满足的某种关系运算的三元组,表示为Condition=AttrAttr-value其中Attr表示属性变量,Attr-value表示属性变量值,Op是关系运算符,Op∈{>,<,=,≤,≥,≠}.如一个属性表达式{age≥20},age就是属性变量,是关系运算符,20是属性变量值。

定义4访问控制规则(Access Control Rule)。Rule={Target,Condition,Effect},其中Target是由主体、客体、动作和环境的组成的一个属性集合,表示为:Target={Subject,Object,Action,Environment}.

Condition1∧Condition2∧…Conditionn(n≥1)→Effect,Effect是条件合取的结果,Effect∈{Permit,Deny},Permit是表示规则允许,Deny表示规则拒绝。

定义5WEB服务环境下基于属性的访问控制过程可定义为:

Process-ABAC-Web=(PEP,PIP,PDP,PAP)

其中:策略判定点(Policy Enforcement Point,PEP)接受主体访问请求,按照当前的主体属性、客体属性、访问方法属性以及访问环境属性,构建当前状态下主体访问对相关的请求属性集的管理单元。策略信息点(Policy Information Point,PIP)是一个系统属性信息的描述库,包含了当前主客体属性、访问方法属性以及上下文属性的数据,是构造访问请求的信息来源的管理单元。策略决策点(Policy Definition Point,PDP)是根据访问控制规则以及主体的访问请求属性进行系统访问授权的决策管理单元。策略管理点(Policy Administration Point,PAP)是对访问控制判定规则的创建、管理单元。

WEB服务环境下基于属性的访问控制过程如图1所示。

图1 基于属性的WEB服务环境下访问控制过程

用户(User)发起对Web服务的访问请求,首先将请求传给策略判定点(PEP),PEP将请求再次传递给上下文处理器(Context handler),上下文处理器从策略信息点(PIP)中获取请求所需要的请求主体、访问资源以及上下文环境的属性,然后传给策略决策点(PDP),PDP从策略管理点(PAP)取到相应的策略进行判定。最后将结果传给PEP,PEP决定用户对资源是否有访问权。

2 Web服务环境下基于属性的访问控制实现策略

Web Service是基于XML的Web服务,在Web服务环境下的基于ABAC模型的访问控制体系架构中,利用SOAP作为传输的对象访问协议,结合SAML(Security Assertion Markup Language)、XACML(eXtensible Access Control Markup Language)两种基于XML的语言工具,实现Web服务环境下的访问控制。

SAML是一种安全断言标记语言,它是一个基于XML在跨信任域之间进行互操作的安全访问控制协议[9],SAML允许双方进行身份认证、授权和一些基本信息的交换,提供属性断言以及属性的查询、响应。可扩展的访问控制标记语言XACML是一种基于XML的开放标准语言[10],XACML是一种对访问控制策略语言和执行授权策略进行相关的决定请求的框架,XACML对策略的格式、授权决策请求/响应信息和评价策略进行了相关的定义。

在模型中,SAML定义了授权决策断言和协议模式,SAML的属性断言要在XACML上属性上进行映射,SAML主体对属性的标识,表示XACML中的主体、资源或者环境的相关的属性,SAML的属性要和XACML的属性相互对应。XACML的授权决策查询(XACML Authz Decision Query)对SAML的协议模式进行了相应的扩展,模型需要SAML在请求中对XACML请求信息提交。XACML的授权决策声明(XACML Authz Decision Statement)对SAML的断言模式进行了扩展,从而能够使SAML能够包含XACML授权决策响应的上下文,SAML响应中能够对XACML授权决策的传递进行实现。SAML对元素XACML策略查询(XACML Policy Query)和XACML策略声明(XACML Policy Statement)也进行了定义。

WEB服务环境下基于属性的访问控制实现策略如图2所示。

(1)策略信息点(Policy Information Point,PIP。也称为属性权威AA):策略信息点是一个属性库,包含了用户请求所需要的属性,其中主体(subject)是指对资源执行操作的实体,主体的属性包括主体的角色、年龄等属性,资源(resource)是指被主体操作的实体,资源的属性包括资源的标识、URL、创建时间等其他属性,环境(environment)是指访问发生的时间以及当时的上下文环境,环境的属性包括当时的系统时间、系统的安全状态等其他属性。在XACML中分别用来标识主体、资源与环境,每一个标识有一系列以及对应的

(2)策略判定点(Policy Enforcement Point,PEP):策略判定点是策略的判定者,接受SOAP的请求,PEP将请求者、请求的资源以及访问方法等相关属性组成一个访问请求传给PDP,PEP向属性库发出Attribute Query请求,从属性库中调用所需要的属性,属性库以Attribute Statement返回所需属性值。然后PEP以XACML Aughz DecisionQuery向PDP发出授权决策查询,PDP以XACML Authz Decision Statement发出回应。

图2WEB服务环境下基于属性的访问控制实现策略
Fig.2Theimplementationofattribute-basedaccesscontrolstrategyinthewebservicesenvironment

(3)策略管理点(Policy Administration Point,PAP):策略管理点对策略进行创建、管理,在XACML中有三个重要元素,分别表示规则、策略以及策略集合。

组成,其中是由组成的属性集合,是条件,是一个属性表达式,表示此规则的判定结果是允许(permit)或者拒绝(deny)。

组成,其中是规则组合算法,由Deny-overrides、Permit-overrides、First-applicable等算法组成,其中deny-overrides称为拒绝覆盖算法,在多条规则中,只要有一条规则为Deny,那么整个策略评估结果就为Deny.Permit-overrides称为允许覆盖算法,在多条规则中,只要有一条规则为permit,整个策略评估结果就为permit.First-applicable是最先应用算法,把第一条响应规则的评估结果可以当做最后评估结果。

是策略集合,由组成,策略语言元素相互关系如图3所示。

(4)策略决策点(Policy Definition Point,PDP):

图3 XACML策略语言模型

PDP是策略的决策者,PDP得到XACML授权决策查询请求,向PAP发出XACML PolicyQuery请求,调用相应的策略,然后PAP以XACMLPolicyStatement方式返回PDP所需的策略,策略中所需的属性还要从属性库中调用,从而判定用户是否具有访问权。

(5)上下文处理器(Condext Handler):模型中的上下文处理器功能是将SAML请求能够转化为XACML上下文的请求,可以把XACML上下文的响应转化为相应的SAML响应。由于PIP 是把属性以SAML形式传递给PDP,所以PDP在使用属性之前要用上下文处理器转换为XACML属性格式。

3 结束语

本文在分析了Web服务环境下的访问控制,提出了一种WEB服务环境下基于属性的访问控制模型,与其他的访问控制模型相比,该模型具有灵活性、动态性以及扩展性,能够细粒度地进行动态访问授权。Web Service安全性制约着它的发展,而ABAC访问控制结合SOAP,XACML,SAML很好的解决了其安全性问题。

参考文献:

[1] SANDHU R,COYNE E J.Role based access control models[J].IEEE Computer,1996,29(2):38-47.

[2] THOMAS R K,SANDHU R S.Towards a task-based paradigm for flexible and adaptable access control in distributed applications[C]∥Proceedings of the 1992-1993 ACM SIGSAC New Security Paradigms Workshops.1993:45-60.

[3] 邓集波,洪帆.基于任务的访问控制模型[J].软件学报,2003,14(1):45-53.

[4] 李晓峰,冯登国,陈朝武,房子河.基于属性的访问控制模型[J].通信学报,2008,29(4):90-98.

[5] WANG L Y,JESEKERA D W,JAJODIA S.A logic-based framework for attribute based access control[C]∥Proceedings of the 2004 ACM Workshop on Formal Methods in Security Engineering.2004:45-55.

[6] ZHANG X W,LI Y J,NALLA D.An attribute-based access matrix Model[C]∥Proceedings of the 2005 ACM Symposium on Applied Computing.New York:ACM,2005:359-363.

[7] 宋善德,戴路,郭翔.Web环境下基于角色的透明访问控制[J].计算机工程与科学,2004,26(11):120-129.

[8] 沈海波,洪帆.基于策略的Web服务访问控制研究[J].计算机科学,2007,34(5):140-148.

[9] 王维林,张来顺,张远洋.基于角色的Web Service动态访问控制模型[J].计算机应用,2006,26(11):49-58.

[10] 姜皇勤,张红旗,任志宇,单棣斌.组合Web服务访问控制策略合成.计算机应用[J]2012,32(12):56-65.

[11] OASIS STANDARD.Security Assertion Markup Language(SAML)[EB/OL].[2013-10-10].https://www.oasis-open.org/standards#samlv2.0

[12] OASIS STANDARD.eXtensible Access Control Markup Language(XACML)[EB/OL].[2013-10-11].https://www.oasis-open.org/standards#xacmlv2.0.

猜你喜欢

访问控制客体动态
一种跨策略域的林业资源访问控制模型设计
国内动态
国内动态
国内动态
动态
浅议犯罪客体
浅议犯罪客体
犯罪客体要件与法益概念的功能性反思
ONVIF的全新主张:一致性及最访问控制的Profile A
对不授予专利权客体认定的困扰——论患病风险度评估方法的可专利性