APP下载

基于iX-MIDD的XACML安全策略评估* 1

2016-07-08罗霄峰罗万伯

通信技术 2016年5期
关键词:安全策略访问控制

罗霄峰,罗万伯

(1.四川大学 锦江学院,四川 成都 610065;2.四川大学 计算机学院,四川 成都 610065)



基于iX-MIDD的XACML安全策略评估* 1

罗霄峰1,罗万伯2

(1.四川大学 锦江学院,四川 成都 610065;2.四川大学 计算机学院,四川 成都 610065)

摘要:从提高策略评估效能出发,研究应用iMIDD方法对XACML策略进行评估。介绍了XACML和iMIDD与iX-MIDD的基本概念,对策略集、策略、规则及策略树进行了定义,并给出了两种方案将XACML策略转换成iMIDD与iX-MIDD图。方案一处理对象的次序完全符合XACML标准,但处理效率上可能稍差。方案二效率方面更好,但对象处理次序却不一定完全符合XACML标准。给出了用iX-MIDD评估访问请求的处理过程。用GEYSERS项目的实际访问控制策略进行了仿真实验,表明用此方法进行XACML策略评估效率高,非常实用。

关键词:访问控制; 安全策略; 策略评估; XACML

0引言

访问控制是最基本的安全技术之一[1-2]。使用XACML(eXtensible Access Control Markup Language, 可扩展的访问控制标记语言)来表示访问控制策略及访问请求,已经得到广泛应用[3-4]。

XACML的研究涉及多方面。包括XACML的分析,新需求,完善,测试,验证,应用等。其中应用是根本,而效率是关键,特别是策略数量很大时更必要。

我们从提高XACML策略评估效能出发,在深入分析现有研究成果基础上,研究应用iMIDD方法,对XACML策略决策进行评估的技术。

1现状及问题的提出

由结构化信息标准促进组织(Organization for the Advancement of Structured Information Standards, OASIS)批准的XACML是一种基于XML的开放性标准语言,用于描述安全策略。2003年发布第1版。现在的版本是第3版,2013年发布。自从推出XACML以来,围绕XACML策略的分析、测试、验证和优化等进行了大量的工作[5-12]。

从实际应用的角度说,XACML策略的执行效率非常重要,吸引了不少研究。Sun公司第一个实现并得到广泛应用的XACML策略的评估引擎,对业界影响很大。但是,由于它采用的是对策略中的所有规则逐个比较的方式,因此效率低。针对效率问题,业界从不同方向进行了努力。

Fisler等人在Margrave项目中用MTBDD(Multi-Terminal Binary Decision Diagram,多端二叉决策图)来处理XACML策略评估,效果很好[5]。Liu等人开发的XEngine通过把每一个属性值映射为数字值,以及把策略树变换成一种具有“第一个可用(first-applicable)” 策略组合算法的平坦结构,提高了决策效率[6]。Ros等人采用了另一种不同的图方法,即匹配树和组合树这两种树来提高决策效率[7]。文献[8-9]则按照不同的原则重新排序(re-ordering)组织策略和规则,提高了效率。Rao 等人用FIA(Fine-grained Integration Algebra,精细集成代数)精细地集成复杂的策略,也基于MTBDD生成实际的XACML集成策略,使总规则数量及每个规则中的原子布尔表达式数量均大幅减少[10]。Ngo 等人构建了XACML逻辑模型,提出一种利用数据区间划分汇聚的决策图来管理XACML策略[11-12]。该方法时间复杂度只与属性数及属性值数量有关,空间复杂度也合理,代表了当前水平。实验表明,比Sun公司的XACML 引擎的性能区别显著。改进的MIDD(iMIDD)在保留[12]显著性能基础上,对这种多数据类型区间决策图(MIDD,Multi-data-type Interval Decision Diagrams)进行了改进,可以更精细和更准确地表示和处理XACML策略。

本文研究用改进的多数据类型区间决策图iMIDD(improved MIDD)来处理XACML策略评估中的一些问题。文章是这样组织的:首先是XACML和iMIDD的一些基本知识,然后是基于iMIDD的策略处理,最后是总结。

2预备

2.1XACML

XACML策略从结构上可以分为策略集(Policyset),策略(Policy)和规则(Rule)3层。它们都有惟一的标识符(id)(必备),还可能有称为“对象(target)”的元素、“义务(obligation)”元素和“忠告(advice)”元素等。

对象元素是主体、资源和行为等的简化了的条件集,一个访问请求只有满足策略集、策略和规则的对象后,才可能被批准。

义务可以理解为一个伪指令。当一个访问请求满足匹配条件后,PDP(policy decision point,策略决策点)将它返回给PEP(policy enforcement point,策略执行点)执行。忠告元素与义务类似。因此,可以将它们合在一起考虑。

规则是最基本且完备的原子授权约束。除前述的公共元素外,规则还可能有条件(conditions)元素。规则的结果(effect)可能是“许可(Permit)”,也可能是“拒绝(Deny)”,即:effect∈{Permit,Deny}。

规则不能独立存在,只能包含在一个策略中。

策略包含规则集(一至多个规则)和规则组合算法(rule combining algorithm)。

策略集可能包含任意数量的策略元素和策略集元素,以及策略组合算法(policy combining algorithm)。

策略集中对象和策略组合算法的作用域是整个策略集,包括该策略集包含的策略集、策略以及它们的规则。

策略中对象、规则组合算法和义务及忠告列表的作用域包括该策略的所有规则。

XACML定义的规则组合算法和策略组合算法见表1。它们分别包含在策略或策略集中,指导PDP进行策略处理。

表1 XACML组合算法

2.2iMIDD方法

iMIDD方法的核心是用一种有根、有向无循环图(rooted, directed acyclic graphs)表示基于属性的安全策略中属性及条件元素。它定义了两种图。一种是表示安全策略中属性(包括条件)元素匹配函数的iMIDD。另一种是表示策略决策函数的iX-MIDD。

iMIDD的外结点(亦称匹配-叶结点)具有值元组(T,O)。T表示“真(True)”或“匹配(Matched)”。O表示义务及忠告列表,可以为空。内结点具有值元组(x,C)。x表示结点变量(即属性变量)。元组(ed,c)数组C的c为ed的下结点,ed为输出边元组(p,s)。其中p是上结点变量的一个简约区间划分;s∈{F,IN},是其状态标志[12]。如果上结点变量x值重要,s=IN,否则s=F。

iX-MIDD的外结点(亦称决策-叶结点)具有值元组(e,O,ca)。e∈{P,D},是规则或策略的结果:“准许”或“拒绝”。O是义务及忠告列表,可以缺少(为空)。ca是规则集或策略组合算法列表。内结点是一个元组(x,O,C)。其中,x是结点变量。C是元组(ed,c)数组。c为ed的下结点。下结点可能是一个内结点,也可能是外结点。ed为一条输出边,是一个元组(p,s),p是上结点变量的一个简约区间划分;s∈VR:={P,D,N,INP,IND,INPD}是其状态值。如果结点变量x的值不是重要的,则s=N;否则s=INe。此处e等于外结点(e,O,ca)中的e。

iMIDD和iX-MIDD中的结点输出边是简约区间划分,这点非常重要。因为它在覆盖相同数据范围的区间划分中具有最少的区间数。为了得到简约区间划分,需要对数据域进行相应的操作,以得到它们的联合(Union),交(Intersect)和补(Complement)[12]。由于利用决策图进行策略决策的过程涉及结点输出边匹配,评估的时间复杂度和空间复杂性都只与属性数量及属性值数量有关,与规则和策略数量、策略树高度以及它们的对象表达式的逻辑公式的复杂度等均无关,因此,特别实用。

3XACML策略评价

3.1XACML策略树

下面先对XACML策略做比较规范的描述。

定义1(策略集)策略集是一个6元组:

PS=(id,t,P,Ps,CA,O)

其中id是该策略集的标识符,在作用域内惟一;t是该策略集的对象元素,可以为空;P={p1,p2,…,pn} 是该策略集直接包含的策略集合;Ps={ps1,ps2,…,psn} 是被该策略集直接包含的策略集集合;CA是策略组合算法,不能为空;O义务及忠告列表,可以为空。P和Ps中至少应有一项不为空。

定义2(策略)策略是一个5元组:

P=(id,t,R,CA,O)

其中id是该策略的标识符,在作用域惟一;t是该策略的对象元素,可以为空;R={r1,r2,…,rn}是该策略直接包含的规则的集合,不能为空;CA是规则组合算法,不能为空;O是义务及忠告列表,可以为空。

定义3(规则)规则是一个5元组:

r=(id,t,e,cn,O)

其中id是该规则的标识符,在作用域惟一;t是该规则的对象元素,可以为空;e是该规则的结果,e∈ {P,D},不能为空;cn是布尔条件,用于评估对象元素(例如,主体,资源,操作等),可以为空;O是义务及忠告列表,可以为空。

定义4(策略树)一个不被其他的策略集包含的策略集称为一颗策略树。

该策略集与它直接包含的策略构成策略树的第1层(又称根层),其直接子策略集直接包含的策略构成树的第2层。以此类推,最后一个不间断的子策略集所在的层次加1就是该策略树的层次。

3.2使用

3.2.1预处理

为了应用iMIDD方法管理XACML策略,需要对XACML策略做如下预处理。

(1)对象加入。将策略集的对象加入到其直接子策略集和直接策略中。将策略的对象加入到策略所包含的规则中。此过程一直到全部加入到对应的规则中。结果形成的规则对象是各层对象的“与(and)”,且根层的对象在第一,原规则的对象在最末。

(2)组合算法加入。将策略集的组合算法加入到其直接子策略集和直接策略中。将策略的组合算法加入到策略所包含的规则中。此过程一直到全部加入到对应的规则中。结果形成作用于规则的组合算法队列。

(3)义务及忠告列表加入。将策略集的义务及忠告列表加入到其直接子策略集和直接策略中。将策略的义务及忠告列表加入到策略所包含的规则中。此过程一直到全部加入到对应的规则中。结果形成规则的合并的义务及忠告列表。

3.2.2从XACML策略树构建iX-MIDD

方案一

第1步:从策略树的各规则开始,分别形成各层各规则的iMIDD图。

第2步:按照下述方法,将各规则的iMIDD图转换成iX-MIDD图:

(1)用(e,ca,O)代替匹配-叶结点中的T,将iMIDD的T-叶结点改为决策-叶结点。其中,e∈{P,D},是规则或策略的结果;ca是规则集或策略组合算法;O是义务及忠告列表,可以缺少(为空)。

(2)iMIDD内结点m:=(x,C)处理。

C中ed.s转换:如果ed.s=F,则转换成新状态值N;如果ed.s=IN,则转换成新状态值INe,此处e等于决策-叶结点的e。

增加O:如果C中各元素的ed中至少有一个ed.s≠N,O同决策-外结点的O;否则O为空。

第3步:形成策略的iX-MIDD图。按照该策略的规则组合算法,将该策略各个规则的iX-MIDD合并成该策略的iX-MIDD图。

第4步:形成策略集的iX-MIDD图。对于所有只包含策略、而没有子策略集的层,按照该层的策略组合算法,合并该层所有策略的iX-MIDD图,成为一个子策略集的iX-MIDD,参加上一层的处理。对于既有策略的集合,又有策略集的集合的层,按照该层的策略组合算法,合并该层所有策略及策略集的iX-MIDD图,成为一个子策略集的iX-MIDD,参加上一层的处理。对于只有策略集的集合的层,所有子策略集的iX-MIDD图按照该层的策略组合算法做类似处理。如此,到第一层,达到策略树的iX-MIDD图。

方案二

属性重新排序后,再使用iMIDD方法。

第0步:将策略树对象中的属性表达式按照属性出现频度重新排序:频度最高的排列在第一,最低的排在最后。

第1步至第8步:同方案一。

两种方案比较

XACML给出的策略评估标准过程是:对于一个包含子规则的策略,首先评估策略的对象,然后才是规则的对象[3]。方案一的处理步骤,完全满足OASIS标准要求。

iX-MIDD图变量的次序对图的复杂度有影响。方案二的属性重新排序,这样得到的iX-MIDD图不一定是最佳的,但平均路径长度会较短,总的路径数也可能比较少。当然,经过重新排序,评估过程可能不一定满足策略对象优先的要求。

可根据不同要求,选择合适的方案。

3.2.3策略评估

下面介绍用iX-MIDD进行策略评估的处理过程。

输入:访问请求X=(xi|i=1…n,X[xi]∈Di),根为m的iX-MIDD图。

输出:评估决策。

(1)初始化:node=m。

(2)如果node是叶结点,则返回(node.e,node.O,node.ca)。

(3)如果node.x∈X,则转(4)。否则,转(5)。

(4) 检查元组(ed,c)数组node.C,如果X.[node.x]∈ed.p,则,node=c,转(2)。

(5)检查元组(ed,c)数组node.C,如果至少有一个ed.s=N,则返回空数据包(emptybag);否则,返回INe。

3.3仿真实验

我们用C++编程进行了仿真实验。

实验所用的策略是[12]进行有效性实验用过的三个策略库之一的GEYSERS。它是在GEYSERS项目中使用的实际的策略,有3个策略层次,6个策略集,7个策略,33个规则,3个属性。采用3.2节方案一形成iX-MIDD图。

实验环境处理器Intel CPU 2.20GHz,内存8GB,64位 Windows 7家庭普通版,Service Park 1。

访问请求决策实验中产生100万个随机访问请求案例,其中50万个覆盖全部可能路径,以及50万个不能匹配。上述过程,重复20遍,以尽量减少Windows系统后台程序影响。最后得到每个访问请求的平均决策时间及标准差(见表2)。

表2 访问请求决策实验结果

我们只用方案一进行了实验,而没有对方案二进行实验,其原因是GEYSERS策略的3个属性出现频度完全相等,因此,其方案一效果与方案二没有差别。从实验结果看出,使用iX-MIDD进行访问决策,完全实用。

4结语

访问控制策略及访问请求用XACML表示,已经是发展趋势,而性能问题特别突出,特别是策略数量很大时。

我们从提高XACML策略评估效能出发,在深入分析现有研究成果基础上,选择应用iMIDD方法,对XACML策略进行评估。iMIDD和iX-MIDD中的结点输出边是简约区间划分,用它做策略评估,空间复杂度和时间复杂性都只与属性数量及属性值数量有关,与规则和策略数量等无关,特别实用。本文给出了两种方案将XACML策略转换成iMIDD与iX-MIDD图。方案一直接从策略树出发,处理对象的次序完全符合XACML标准,但处理效率上可能稍差。方案二首先将对象中的属性按照频度重新排序后再处理,效率更好,对象处理次序却不一定完全符合XACML标准。可根据不同要求,选择合适的方案。给出了用iX-MIDD评估访问请求的处理过程。用GEYSERS项目的实际访问控制策略进行了仿真实验,实验结果得到每个访问请求的平均决策时间在微秒级,表明用iX-MIDD方法进行XACML策略评估完全实用。

下阶段计划从应用的角度,开发工具包,以便用户使用。

参考文献:

[1]罗霄峰,罗万伯,胡月等. 网络舆情治理研究[J]. 通信技术,2010,43(04):81-83.

LUO Xiao-feng, LUO Wan-bo, HU Yue, et al. A Study on Governance of Net Public Sentiments [J]. Communications Technology, 2010, 43(04):81-83.

[2]郑昌安,吴学智. 一种改进的基于挑战/应答机制的短波接入认证系统研究与设计[J]. 通信技术,2015,48(06):729-737.ZHENG Chang-an, WU Xue-zhi. Design of Short Wave Access Authentication System based on Symmetric Key[J]. Communications Technology, 2015,48(06):729-737.

[3]OASIS. eXtensible Access Control Markup Language (XACML) Version 3.0[ EB/OL]. (2013-1-23)[2016-3-12]. http://docs.oasis-open.org/xacml/3.0/xacml-3.0-core-spec-os-en.html.

[4]OASIS.Available XACML Implementations. [EB/OL]. (2016)[ 2016-3-12]. https:// www.oasis-open.org/committees/tc_home.php?wg_abbrev=xacml#other.

[5]Fisler K, Krishnamurthi S, Meyerovich LA, et al. Verification and Change-Impact Analysis of Access-Control Policies[C]// Proceedings of the 27th International Conference on Software Engineering. New York, NY, USA: ACM; 2005:196-205.

[6]LIU A X, CEHN F, WANG J H, et al. Designing Fast and Scalable XACML Policy Evaluation Engines[J]. IEEE Transactions on Computers, 2011, 60(12): 1802-1817.

[7]Santiago Pina Ros, Mario Lischka, Félix Gómez Mármol. Graph-based XACML Evaluation[C]// Proceedings of the 17th ACM Symposium on Access Control Models and Technologies. ACM New York, NY, USA. 2012: 83-92.

[8]Marouf S,Shehab M,Squicciarini A, et al. Adaptive Reordering and Clustering-based Framework for Efficient XACML Policy Evaluation[J]. IEEE Transactions on Services Computing, 2012, 4(4):300-313.

[9]戚湧, 陈俊, 李千目. 一种基于重排序的XACML策略评估优化方法[J]. 南京理工大学学报:自然科学版, 2015,39(02): 187-193.

QI Yong, CHEN Jun, LI Qian-mu. XACML Policy Evaluation Optimization Method based on Reordering[J]. Journal of Nanjing University of Science and Technology (Natural Science), 2015,39(02): 187-193.

[10]RAO P, LIN D, E Bertino, et al. Fine-Grained Integration of Access Control Policies [J]. Computers and Security, 2011, 30(2-3):91-107.

[11]Ngo C, Makkes M X, Demchenko Y, et al. Multi-Data-Types Interval Decision Diagrams for Xacml Evaluation Engine[C]// 2013 IEEE Eleventh Annual International Conference on Privacy, Security and Trust (PST).2013:257-266.

[12]Canh Ngo, Yuri Demchenko, Cees de Laat. Decision Diagrams for XACML Policy Evaluation and Management[J]. Computers & Security, 2015, 49(2015):1-16.

XACML Policy Evaluation based on iX-MIDD

LUO Xiao-feng1, LUO Wan-bo2

(1.Jinjiang College, Sichuan University,Chengdu Sichuan 610065,China;2.School of Computer Science, Sichuan University,Chengdu Sichuan 610065,China)

Abstract:In order to make effectiveness evaluation of XACML policy, the application of iMIDD approach is discussed. The fundamental concepts of XACML, iMIDD and iX-MIDD are expounded, the policy set, policy, rule and policy tree described, and the two schemes for transforming XACML policies into iMIDD and iX-MIDD also proposed. For scheme one, the ordering to evaluate target element is completely up to the evaluation standard in XACML, but may be less in evaluation efficiency, while scheme two is better in efficiency, but the ordering not sure to the standard. The procedure to evalute access request is given. And the simulation with actual access control policy for GEYSERS project indicates that iX-MIDD-based policy evaluation is effective and practicable.

Key words:access control; security policy; policy evaluation; XACML

doi:10.3969/j.issn.1002-0802.2016.05.022

* 收稿日期:2015-12-08;修回日期:2016-03-20Received date:2015-12-08;Revised date:2016-03-20

中图分类号:TP309;TP391

文献标志码:A

文章编号:1002-0802(2016)05-0627-05

作者简介:

罗霄峰(1974—),男,博士,讲师,主要研究方向为信息安全;

罗万伯(1946—),男,硕士,教授,主要研究方向为信息安全,计算机应用。

猜你喜欢

安全策略访问控制
基于认知负荷理论的叉车安全策略分析
基于飞行疲劳角度探究民航飞行员飞行安全策略
一种防火墙安全策略冲突检测方法*
浅析涉密信息系统安全策略
ONVIF的全新主张:一致性及最访问控制的Profile A
2012 R2安全策略经验谈
动态自适应访问控制模型
浅析云计算环境下等级保护访问控制测评技术
大数据平台访问控制方法的设计与实现
如何加强农村食盐消费安全策略