XML语言中命题逻辑的安全策略复合分析
2018-01-28张达利
【摘 要】因为网络系统的异构性,以及个人对安全需求的不同,安全策略多样性可能导致的不一致和冲突现象使用安全策略分析成为必要,本文从命题逻辑的理论框架和分析算法对策略的一致性和变化影响分析,冲突检测。能够实现对安全策略自动分析服务。
【关键词】安全策略;算法;检测
【中图分类号】TP309.2 【文献标识码】A
【文章編号】2095-3089(2018)33-0007-01
Abstract:Because of the heterogeneity of network systems and the differences in security needs of individuals, it is necessary to use security policy analysis for inconsistencies and conflicts that may result from the diversity of security policies. In this paper, the theoretical framework and analysis algorithm of propositional logic are used to analyze the consistency and variation of policy, and conflict detection. It can automatically analyze the security policy.
Key words:security strategy; algorithm; check
命题演算大概是在所有当前使用的逻辑演算中最简单的一种,它是使用命题形式把世界抽象成符号的一套语言体系。它的特征是具有强大的表达能力同时非常的简单。
一、问题描述
网络中系统的互联提高了网络数据资源的共误享性和协作能力,而资源的拥有者或管理者希望在资源上加上访问约束,来限制非法用户的访问,否则数据资将存在严重的安全威胁,这势必造成同样的资源上有各方的安全需求,因为每个角色对数据的安全需求并不相同,安全策略会把某些敏感重要的权限分配给了不可知用户,而检测这种情况是非常困难的。这可归为一种潜在的安全威胁。
二、命题逻辑安全策略的分析
1.命题逻辑安全策略分析。
Wijesekera在命题逻辑层次上提出了一种安全策略复合的框架,命题逻辑层次指的是把安全策略看做一些抽象的符号以及把他们的语义看做为指派给主体的许可集的任意转化器——>如果主体 s 由一个策略指派了许可集中一个集合 x,那么 x 中仅有一个许可集可以指派给 s,但是怎样选择那个许可集是随意的。从这个角度将,此方法的语义跟安全策略中的标准概念有很大的不同,但它是安全访问策略或许可指派约束的元策略的一种典型,比如义务约束的分离。
一个许可可表示成{object, action},而许可集就是上述许可的集合。比如{(file1,+read),(file1,-write)}便是一个许可集。而{Alice,PermitSet}指许可集PermitSet 指 派 给 对 象 Alice , (Alice, {{(file1,+read), (file1,-write)},{(file1,-read),(file1,+write)}) 指 Alice 被 指 派 了 许 可 集 或 者 为{(file1,+read),(file1,-write)} , 或 者 为(file1,-write)},{(file1,-read),(file1,+write)},但两者不可兼得。使用了 T:(s,PermSet) –>(s,PermSet)转化,意为对 s 的许可集指派从 PermSet 转化为PermSet。注意 T 可能是不确定的,因为对象 s 可能被指派两个或更多的许可集。既然策略是一种指派,那么策略操作可以用关系或者几何理论操作符来表达。它们被分为两类:外部和内部操作符。大部分操作符如合取和析取都有这两类的扩展。比如合并,内部合并的结果为两个策略许可集的许可合并形成的许可集,而外部合并的结果为两个策略许可集合并成新的包含许可集的许可集集合。运算符有:(外部析取), (外部合取), (外部差), (外部否定), (内部析取), (内部合取), (内部差), (内部否定),(失效符), (外部投影),(外部指配), (顺序合并), (open 完全,指允许所有), (close 完全,指拒绝所有),min(选择否定集),max(选择肯定集),(闭包),(内部指配)。
此方法提供的框架可以合并不一致,不完全,不确定的策略。这主要是通过上述操作符的分类来实现的,它提供四种对不确定策略的支持。策略是否是确定的是可以通过内部操作符来分析的。同时,本方法定义了主体,对象,状态,动作,授权,来完善命题逻辑复合框架的语义。完善了命题逻辑在安全控制描述方面的语义完整性,通过它可以验证策略的一致性和检测策略的冲突。
D. Wijesekera 给出了一个表达和复合举例,此例说明了在基于角色的安全可控制中集合断言的需要。
2.命题逻辑安全策略D—Algebra 复合分析。
由于 XACML 在产生决策时缺乏正常的语义,在复合领域 XACML 会产生预料之外的决策结果。那如何解决这个问题呢?明显的,我们需要找到一种合适的决策建模方法,来弥补 XACML 的缺陷,于是产生了D—代数,它是一种决策复合的方法。
在这里,需要提到一种跟 XACML 有着很深渊源的逻辑代数,即 L∞-代数,因为它支持多值的特性极大的支持了 XACML,但是它有极大的缺陷,而不能直接转化成 XACML,比如它的让人无法忍受的计算高复杂性。于是 Qun Ni 等人提出了一种解决办法,即 D-代数。它满足了决策建模的需求,能支持 XACML 的合并算法以及其他问题。比如将在第三节讲到的投票问题。
通常决策集合加上其上的运算符就可组成 D-代数。它是一种代数的结构
在D-代数中不支持 x⊕x=x,因为多个跟一个总是不相同的,因为这一点可以应用于下文讲到的投票问题。从上述三个运算符,可以衍生出其他常用的运算符,比如⊙, ,其中前者可理解为合取,而后者表示集合的差集,他们都可以用前面的运算符表示出来。比如
D-代数的代数依赖于应用及其规则。比如 XACML,如果相关的属性信息没有错误,给定一个请求,所有的策略规则将产生下面三个其中的一个决策,permit,deny 或者 notapplicable.它们都被称为确定的决策。我们用{p},{d},{na}来表示。相对的,便有一种不确定的决策,用{p,na},{d,na}来表示。它们的意思为返回的决策结果是不确定的,或为前者,或为后者。
据此,针对 XACML 的解释,给定 P-解释。
涵义与式 1 相同.
从从上述解释来看,P-解释是 8 值的(2^3)。Qun Ni 验证了 D-代数的计算上表达的有效性,即针对每个决策矩阵构造相应的 P-解释的表达式。决策矩阵类似于真值表,维数可变。
其中,2 维决策矩阵就可表达 XACML 的相应合并算法,比如 permit-overides。维数越大,表达的策略就可越复杂。在语言的问题描述中,本文提到由于 XACML 在一些合并算法中缺少规范的语义,导致了不明确的决策结果。XACML 定义了五种标准的规则合并算法,六种标准的策略合并算法。但是因为“indeterminate”的出现,一些算法,比如 first-applicable 会产生不恰当的结果。D-代数很好的解决了这个问题,它将从每个算法的思想出发,结合 XACML 原有算法,利用自己的解释,给出更规范的语义定义。比如first-applicable表述如下:
三、结束语
当然,因为其表达的有效性,所有的 XACML 算法,P-解释都可以容易的表达出来,上图的First-Applicable 有点复杂。其他的算法表达比较容易。但是,鉴于其精确性和有效性,其在此处键入公式。有点已经远远大于其表述形式上的表述。命题逻辑应用的是许可集不确定指派的转化思想来表达策略的效果。
参考文献
[1]李程程,张永胜,刘广钰.一种安全的语义Web服务模型研究.计算机技术与发展,2010.
[2]Qun Ni,Elisa Bertino,Jorge Lobo.D-Algebra Composing Access Control Policy Decisions.ASIACCS09 March 10-12,2009.
[3]张松慧,陆标光.基于XACML的Web服务安全访问控制.计算机应用研究.
[4]徐金芳,张永胜,隆坤.XCAML中策略/规则组合算法优化.微计算机信息,2009.
[5]D.Wijesekera and S.Jajodia.A propositonal policy algebra for access control .ACM Transactions on Information and System Security (TISS),6(2):286-325,2003.
作者简介:张达利(1983-),男,浙江温岭人,浙江工商职业技术学院教师 网络工程师,主要从事计算机网络方面研究。