一种基于二进制序列集合的访问控制策略合成方法

文档序号:7861579阅读:188来源:国知局
专利名称:一种基于二进制序列集合的访问控制策略合成方法
技术领域
本发明涉及的是一种分布式系统中域间授权安全互操作方法,具体地说,是一种基于二进制序列集合(Bsset)的访问控制策略合成方法。
背景技术
随着大规模分布式网络应用的迅速发展,自治域之间的合作也会越来越频繁。其中,域间访问控制策略合成是分布式技术中聚合资源访问的关键安全要素。基于属性的访问控制能解决复杂系统中的细粒度的访问控制,为开放的分布式环境提供了较为理想的访问控制方案。并且利用离散代数可以将复杂的基于属性的策略合成方式用严谨的代数系统表达,基于代数的域间访问控制策略合成方法具体是指一类首先在逻辑层面对策略合成语义进行分析和定义,进而建立运算规则系统(即代数系统)进行合成演算的基于属性授权的访问控制策略合成方法。这类方法通常需要将实际的访问控制策略通过逻辑转换器转化为 逻辑代数符号才能由计算机程序实现合成演算,因此可实现性差、运算效率低。经对现有技术的文献检索发现,Bertino、Li Ninghui等人在《An Algebra forFine-Grained Integration ofXACML Policies)) 一文中基于 XACML 策略描述形式提出用MTBDD(Multi-Terminal Binary Decision Diagrams)策略树转译实际策略的方法,以及相应的策略合成代数系统可解决细粒度的域间访问控制策略合成。这是目前已报道的最佳解决方法。但是,这一方法虽然解决了逻辑代数符号的转换代价,却由于策略树自身数据结构对于布尔属性约束的依赖性,会造成合并过程中的冗余以及系统规模庞大的问题,这也限制了该方法的合成运算性能。

发明内容
针对上述现有技术存在的不足,本发明要解决的问题是提供一种基于二进制序列集合的访问控制策略合成方法,采用二进制序列集合对域间访问控制策略进行基于属性约束的建模,这种建模方式无需通过逻辑转换器就可被计算机程序实现,并且基于这种建模方式设计了授权项间的逻辑算子,可进行多样化的域间策略合成演算。本发明可作为一种高效和易实现的域间访问控制策略合成方法。为实现上述目的,本发明采用的技术方案是首先定义二进制序列集合元素以及基于二进制序列的集合运算规则,根据以上定义,从属性约束层对实际的策略进行属性分解,并通过集合内部元素分离将策略正确的表达成为基于二进制序列的逻辑表达式。然后通过语义检查和移位合并,用以消除规则冗余和语义冲突问题。在此基础上,根据实际的安全需求定义基于二进制序列集合的逻辑合成算子,将合成方式转换成逻辑表达式。利用二进制序列可直接作为数据结构的特点,根据逻辑表达式可直接对基于二进制建模的策略空间计算合成结果,作为一种无需逻辑转换的策略代数实现机制。最后,将基于二进制集合形式的合成策略翻译成属性项策略。本发明所述的基于二进制序列集合的访问控制策略合成方法,包括如下步骤
步骤一策略面向属性层分解;步骤二 对步骤一的策略进行基于BSset的逻辑转换;步骤三对步骤二进行语义检查和移位化简;步骤四推导基于BSset的合成语义算子;步骤五根据步骤三和步骤四,用逻辑表达式刻画合成结构;步骤六对步骤五实现合成演算,输出策略合成结果。进一步的,所述的步骤一,具体操作是先对主体属性约束、客体属性约束、行动属性约束等基于属性约束翻译成一个原子布尔表达式aT*v,* e (=,〈,<,>,>)。然后对一个策略集中含有有限个不同的原子布尔表达式,依次编码X。一条策略规则就可以被抽象为通过逻辑符号与“ Λ ”和或“ V ”连接的原子布尔表达式组成的一个复合布·尔表达式。进而,策略就可以用三组布尔表达式逻辑集合分别表示三值策略的允许集,拒绝集,以及“不适用”集,由于“不适用”的策略评估是允许集和拒绝集产生的矛盾,所以暂不考虑。进一步的,所述的步骤二,具体为首先根据二进制序列和序列集合的定义,步骤一所得策略二元组进一步转换成基于二进制序列集合BSset的逻辑形式;其次,将策略属性项集合进一步通过元素分离(I)策略的允许集[31和拒绝集[S]N分别与空集Φ进行并运算U; (2)去除[S]Y和[S]N集合之间的交集部分[s]Y H [S]N。即(I) [S]Y=[S]Y U Φ , [S]N=[S]N U Φ ;(2) [S]Y=[S]Y-([S]Y η [s]N),[s]N=[s]N-([s]Y n [s]N);通过上述两个步骤转换成定义的二进制序列集合形式。进一步的,所述的步骤三,具体为检查步骤二后的二进制序列集合,是否存在语义冲突的项,若存在用条件判断语句检测并删除冲突路径。然后进行移位合并算法,消除冗余路径。进一步的,所述的步骤四,具体为根据实际的策略合成安全需求,组合基于BSset集合运算<11/1,-,々设计的5个基础语义算子+,&,]>,推导出满足合成期望的合成语义算子。进一步的,所述的步骤五,具体为根据步骤三的结果,基于BSset的逻辑建模策略,和步骤四的结果,根据安全需求推导出的合成语义算子,将多策略的合成方式转换为合成逻辑表达式。进一步的,所述的步骤六,具体为根据步骤五的逻辑表达式,对合成空间计算合成结果,实现合成演算,并且对每次合并的结果进行语义冲突检测,去除矛盾的二进制序列,再进行移位合并化简,输出策略合成布尔表达式并进一步转换成语义描述形式。本发明采用二进制序列集合元素对基于属性的访问控制策略进行逻辑建模,这种建模方式可被计算机程序直接实现。其次,将策略描述层的代数规则扩展到逻辑层,设计了基于二进制序列集合的逻辑运算合成算子。从而将多策略的合成方式转换为合成逻辑表达式实现合成演算,建立了一种新型的基于属性的细粒度策略代数合成方法。与基于MTBDD策略树的策略代数合成方法相比,消除了对于布尔表达式评估顺序依赖的特性,减小了系统规模,并且扩展了合成语义算子,具有更好的实际应用前景。


通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显图I为基于二进制序列集合实施策略合成框架图。
具体实施例方式下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进。这些都属于本发明的保护范围。本发明提出的是一种基于二进制序列集合的访问控制策略合成方法,为更好的理解本发明,首先给出相关定义。 定义I : 二进制序列一个二进制序列BinaryString(简称BS)为形如XtlX1. . . Xlri的字符串,用以表示析取布尔表达式 X。Λ X1 Λ …Λ χη-1 即 BS = (X0X1. . . Xlri),其中每一个 XiQ=O, I,. . . , Π-1)的取值e {O, 1,*}。在策略属性中,Xi表示第i个属性约束;根据属性布尔表达式的香农分解若\值为I表示属性约束Xi取值为真;若Xi值为O表示属性约束Xi取值为假。并且引入*元素,简单将其看作I V 0=*合并,对于在某条规则中无需评估的原子布尔表达式,Xi取值就为*。在具体方法中,*经转换可用O和I表示,因此属性约束的取值可只用O和I表示,每个Xi可看作是一个二进制位bit。定义2 :二进制序列集合一个二进制序列集合[S](简称BSset)是由η个长度相等的二进制序列所组成的集合,[Sl = IS1, S2,, Sn_J表示布尔表达式S1 V S2 V... V Slri,且Si n Sj=null (i古j, I < i, j < η)。其中,每个Si表示析取布尔表达式xQ Λ X1 Λ…· Λ χ^。定义3 :二进制序列间两种关系定义关系c S1 ^ S2 (i=0,l,...,n-l),S1的第i位值和S2的第i位值相同,或S2的第i位值为*。关系辽Si1(X Sf2 O 5\和 S2 不满足4 Cl S2 ο定义4 :二进制序列及集合间的逻辑运算定义二进制序列间的三种二元运算u ,η,-和一种一元运算η,以及二进制序列集合间的三种二元运算U,η,-和一种一元运算I。定义5 :基于二进制序列集合的合成语义算子策略代数模型具体是,将各种策略合成方式抽象为策略代数表达式。基于属性的代数系统中基础算子是<4,4,+,&^>,并已证明其完备性和最小性。因此,根据二进制序列集合及定义的集合运算<11,(1,-,1>推导出这5个基本算子,其他合成语义算子都可由这5个符号逻辑组合表示。定义4中的各运算规则具体如下 二进制序列S1 H S2与运算规则
二进制序列S1和S2按位进行与操作,位与运算按照以下运算法则
权利要求
1.一种基于二进制序列集合的访问控制策略合成方法,其特征在于包括如下步骤 步骤一策略面向属性层分解;步骤二 对步骤一的策略进行基于二进制序列集合BSset的逻辑转换;步骤三对步骤二结果进行语义检查和移位化简;步骤四推导基于二进制序列集合BSset的合成语义算子;步骤五根据步骤三和步骤四,用逻辑表达式刻画合成结构;步骤六对步骤五实现合成演算,输出策略合成结果。
2.根据权利要求I所述的一种基于二进制序列集合的访问控制策略合成方法,其特征是,所述的步骤一,具体操作是先对基于属性约束翻译成一个原子布尔表达式aT*v,aT为属性名称,*e (=,〈,<,>,>),v为属性的值,然后对一个策略集中含有η个不同的原子布尔表达式,依次编码X = x0,X1,.,其中Xi, 1=0, I, 2..,表示不同的属性约束,取为真或假;一条策略规则就能被抽象为通过逻辑符号与“ Λ ”和或“ V ”连接的原子布尔表达式组成的一个复合布尔表达式,进而,策略能用三组布尔表达式逻辑集合分别表示三值策略的允许集,拒绝集,以及“不适用”集,“不适用”的策略暂不考虑,最终得到策略二元组。
3.根据权利要求2所述的一种基于二进制序列集合的访问控制策略合成方法,其特征是,所述基于属性约束包括主体属性约束、客体属性约束、行动属性约束。
4.根据权利要求I所述的一种基于二进制序列集合的访问控制策略合成方法,其特征是,所述的步骤二,具体为首先根据二进制序列和序列集合的定义,步骤一所得策略二元组进一步转换成基于二进制序列集合BSset的逻辑形式;其次,将策略属性项集合进一步通过元素分离(I)策略的允许集[3\和拒绝集[S]N分别与空集Φ进行并运算U;(2)去除[31和[S]N集合之间的交集部分[s]Y H [S]N;通过上述两个步骤转换成定义的二进制序列集合形式。
5.根据权利要求I所述的一种基于二进制序列集合的访问控制策略合成方法,其特征是,所述的步骤三,具体为检查步骤二转换后的二进制序列集合,是否存在语义冲突的项, 若存在用条件判断语句检测并删除冲突路径,然后进行移位合并算法,消除冗余路径。
6.根据权利要求I所述的一种基于二进制序列集合的访问控制策略合成方法,其特征是,所述的步骤四,具体为根据实际的策略合成安全需求,组合基于BSset集合运算 <υ,Π,-ρ>设计的5个基础语义算子<4,匕,+,&,1>,推导出满足合成期望的合成语义算子; 其中5个基础语义算子如下Py 算子all permit 策略;Pn算子all deny策略;+算子策略加运算;&算子策略与运算;,算子策略非运算。
7.根据权利要求I所述的一种基于二进制序列集合的访问控制策略合成方法,其特征是,所述的步骤五,具体为根据步骤三的结果,基于BSset的逻辑建模策略,和步骤四的结果,根据安全需求推导出的合成语义算子,将多策略的合成方式转换为合成逻辑表达式。
8.根据权利要求I所述的一种基于二进制序列集合的访问控制策略合成方法,其特征是,所述的步骤六,具体为根据步骤五的逻辑表达式,对合成空间计算合成结果,实现合成演算,并且对每次合并的结果进行语义冲突检测,去除矛盾的二进制序列,再进行移位合并化简,输出策略合成布尔表达式并进一步转换成语义描述形式。
9.根据权利要求1-8任一项所述的一种基于二进制序列集合的访问控制策略合成方法,其特征是,所述BSset是指一个二进制序列集合[S],是由η个长度相等的二进制序列所组成的集合,[S] = {Si,S2,, Sn_J表示布尔表达式S1 V S2 V . . · V Slri且Si Π Sj = null (i关j, I彡i, j彡η),其中,每个Si表示析取布尔表达式χ。Λ X1 Λ . . · Λ X^1 ο
全文摘要
本发明公开一种基于二进制序列集合的访问控制策略合成方法,首先定义二进制序列集合元素以及基于二进制序列的集合运算规则,根据以上定义,从属性约束层对实际的策略进行属性分解,并通过集合内部元素分离将策略正确的表达成为基于二进制序列的逻辑表达式。然后通过语义检查和移位合并,用以消除规则冗余和语义冲突问题。在此基础上,根据实际的安全需求定义基于二进制序列集合的逻辑合成算子,将合成方式转换成逻辑表达式。利用二进制序列可直接作为数据结构的特点,根据逻辑表达式可直接对基于二进制建模的策略空间计算合成结果,作为一种无需逻辑转换的策略代数实现机制。最后,将基于二进制集合形式的合成策略翻译成属性项策略。
文档编号H04L29/06GK102932328SQ201210364329
公开日2013年2月13日 申请日期2012年9月26日 优先权日2012年9月26日
发明者潘理, 刘晨燕, 訾小超 申请人:上海交通大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1