一种XACML策略规则检测方法技术

技术编号:2821037 阅读:358 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供了一种XACML策略规则检测方法,属于信息安全中的授权策略分析领域,该方法针对XACML策略规则进行了规则状态定义、规则状态相关性定义、冲突类型分析,在此基础上,建立了基于语义树的策略索引并实施具体的XACML策略规则检测,分析了规则冲突和规则冗余,检测方法包含两种类型:基于属性层次操作关联的冲突检测方法;基于状态相关性的其他类型冲突检测方法,冗余分析方面,分别在允许优先、拒绝优先和首次适用消解算法下给出规则冗余的分析判定方法。策略管理者通过检测方法可以准确定位引发冲突的规则以及引发冲突的原因;冗余分析方面,可以根据分析结果优化策略结构,删除不影响访问判定结果的冗余规则,提高策略判定效率。

【技术实现步骤摘要】

本专利技术主要涉及信息安全中的授权策略分析领域,确切给出一种针对XACML策略规则检测的方法。
技术介绍
随着组织间业务协作、分布式计算、跨域资源共享等应用的大量涌现,policy-basedmanagement面临新的挑战。开放式计算环境下,跨组织边界的用户和服务资源动态加入或撤出组织,安全策略需要考虑的安全属性种类繁多,授权决策的辅助参数也趋向复杂,组织内的授权管理灵活多变,共享资源的访问策略通常由多个管理域协同制定。这些情况不可避免导致了内部策略冲突的威胁发生。应用系统的安全管理初衷能否被准确执行、策略间的冲突能否合理消解返回确定可知的安全状态是基于策略的授权系统要解决的难点。 OASIS发布的访问控制策略标记语言XACML(Extensible Access Control MarkupLanguage)基于属性匹配机制定义策略规则,适用于分布式异构访问控制、多管理域策略合成等应用场景,具备丰富动态的描述能力对主客体和系统环境属性进行细粒度刻化,同时也导致其内部比较复杂的策略规则冲突类型。规则间Target定义存在交集而判定结果相反是XACML策略冲突的基本类型;属性层次导致的权限继承以及主体、资源属性层次间的互操作关系也可能引发规则冲突。XACML标准中给出了若干冲突消解算法,从判定结果角度规避了策略冲突对访问请求的影响,但其自身缺乏从管理视图角度分析造成冲突的细节原因以及冲突预测验证能力。 随着XACML策略广泛使用并成为工业界标准,很多研究工作开始关注对其进行分析、推理和验证。Margave是Fisler等基于MTBDDS开发的策略分析工具,将XACML策略转化为多端二元判定图并进行策略验证和策略改动影响分析。Martin等人在Margave基础上借鉴软件测试的方法,生成变异测试用例检测策略有效性,但缺乏策略间的约束分析和冲突检测。Zhang等人基于RW语言提出模型检测算法,验证策略是否满足用户合法需求以及能否阻止非法访问,并将RW验证后的策略转化为XACML形式。Hughes等人应用一阶逻辑分析工具Alloy对XACML策略进行建模,验证策略合并后的特征一致性。Bryans将XACML协议栈在进程代数CSP体系下建模,验证策略实施的行为特征和有效性。Kolovski实现了XACML策略到描述逻辑DL的映射,借助DL分析工具进行策略对比、策略冗余和策略验证。其对策略冗余的各种情况缺乏完整分析,在策略比较时也没有对属性层次引起的冲突进行检测。 总的来看,逻辑方法验证XACML策略需要在逻辑转化方面做大量工作。Margave和RW等缺乏足够支持XACML语义的描述能力,并且策略分析的层面局限在策略满足性验证方面;Alloy等一阶逻辑工具分析能力强大,但大规模策略分析应用会带来难以承受的资源消耗代价。另外,现有工作大多数集中在策略目标的可满足性验证,缺乏对XACML基于属性的特质进行分析推理以发现策略结构性冲突。 XACML策略分析的一个重要瓶颈是如何建立高效的策略索引结构。XACML策略分层定义机制决定了策略匹配是一个约束粒度逐层细化的过程。细化过程会过滤一定数量的不相关策略,但无法避免对策略库的遍历式匹配。大部分应用XACML的项目如Sun XACMLImplementation、eXist、Parthenon Computing等都采用类似方式,将策略集合一次性加载,针对特定查询请求逐条匹配。环境单一的小规模策略环境下,遍历式匹配方法对系统效率没有显著影响。但在大规模策略集成应用场景中,会制约判定实施点PDP检索有效策略的概率。
技术实现思路
针对上述问题,本专利技术的主要目的是提供针对XACML策略规则冲突检测的预定位方法,以及在给定冲突消解算法的情况下对规则冗余的判定。 本专利技术的解决方法立足于策略规则分析,包括一系列基本前提要求规则状态定义、规则相关性定义、冲突类型分析等。在这些工作的基础上,建立策略索引并实施具体的XACML策略规则冲突检测。检测方法包含两种类型基于属性层次操作关联的冲突检测方法;基于状态相关性的其他类型冲突检测方法。冗余分析方面,分别在允许优先(permit-override)、拒绝优先(deny-override)和首次适用(first-applicable)消解算法下分析判定规则冗余。 第一部分 构建形式化分析模型 1)规则状态及相关定义 规则状态subi、resi、aci和eni分别代表Rule中一个主体、资源、动作和环境属性分量,每个分量包括使断言合取式为真的一组属性值,其中断言matchj是作用在属性值上的布尔函数,分别表示各种属性分量的并集,Decision表示Rule的effect类型,则Rule的规则状态表示为 规则状态满足规则状态满足若规则Rulei声明主体SA在环境状态为EA时,可以对资源RA进行访问动作AA,则属性状态向量(SA,RA,AA,EA)满足规则状态Statei,表示为Statei|=(SA,RA,AA,EA)effect。 2)制定XACML中的权限继承和权限蕴含规则 若SA1是SA2的上层属性,表示为 ;若RA1是RA2的上层属性,表示为 权限继承规则 当 若Statei|=(SA1,RA,AA)permit,则Statei|=(SA2,RA,AA)permit;若Statei|=(SA1,RA,AA)deny,则Statei|=(SA2,RA,AA)deny。 正向权限和负向权限都可以沿主体属性层次路径向下层主体属性传播。例如SoftDeveloper角色属性可以继承来自Employee的任意正向权限(允许读系统说明文档)和负向权限(禁止写系统测试文档) 权限蕴含规则 当 若Statei|=(SA,RA1,AA)permit,则不能推导出Statei|=(SA,RA2,AA)permit;若Statei|=(SA,RA1,AA)deny,则Statei|=(SA,RA2,AA)deny。 正向访问动作不能沿资源属性层次路径向下蕴含,负向访问动作可以向下层资源属性蕴含。例如允许读资源″Code/″并不能推导出允许读资源″Code/JavaCode″也成立,禁止写资源″Code/″可以推导出禁止写资源″Code/JavaCode″。 4)规则状态相关性定义 策略分析时需要比较规则间关系,将其转化为规则状态比较,有助于分析规则间可能存在的判定冲突。假设Rulei和Rulej的规则状态分别为和下面分别给出状态覆盖、状态相交和状态无关的定义。 状态覆盖存在关系 则称Statej覆盖Statei,表示为 在的情况下,规则Rulei目标元素中定义的各种属性类型和属性取值范围或者包含在Rulej中(表示为等),或者存在 和 的情况。当 时,下层主体属性 继承上层主体属性 的访问权限,从权限包含的角度可以归为Statej覆盖Statei。当 时,将上层属性 理解为下层属性 的祖先节点,从资源划分的角度可以本文档来自技高网
...

【技术保护点】
一种XACML策略规则检测方法,用于分析规则冲突,其步骤包括: 1)构建XACML策略规则分析的形式化模型,根据XACML描述属性的结构和特征,定义规则状态及规则状态满足; 2)制定XACML中的权限继承和权限蕴含规则; 3)定义XACML中规则状态的关系,分为状态覆盖、状态相交或是状态无关; 4)通过描述属性层次操作关联类型,分析属性层次引起的规则间冲突类型; 5)建立基于资源语义树的策略索引结构; 6)运行基于属性层次操作关联的冲突检测算法,算法输入包括需检测的主体属性策略和其引用继承的上层主体属性的权限策略列表,检测步骤4)中分析的规则冲突类型,输出是由若干冲突规则对组成的集合; 7)运行基于状态相关的其他类型冲突检测算法,算法输入包括要检测的资源属性节点,检测步骤3)中的规则状态相交产生的规则冲突情况,输出是冲突规则对集合和冲突威胁规则对集合。

【技术特征摘要】

【专利技术属性】
技术研发人员:王雅哲冯登国张立武张敏
申请(专利权)人:中国科学院软件研究所
类型:发明
国别省市:11[]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1