一种访问控制策略合成方法及系统与流程

文档序号:16307909发布日期:2018-12-19 05:09阅读:130来源:国知局
一种访问控制策略合成方法及系统与流程
本发明属于计算机信息安全
技术领域
,更具体地,涉及一种访问控制策略合成方法及系统。
背景技术
随着电子商务和电子政务的快速发展,越来越多的参与者在泛在的计算环境中进行协作,协作过程中数据的生成,传输和共享同时进行。这些合作极大地促进了多机构协作的有效性和生产力。需要注意的是,过程之间的数据应该是敏感的,并且为了安全考虑而被加密。各机构可以根据各自需求独立指定访问控制策略,之后则需要将多方访问控制策略合成到单一策略中;系统对已经合成完毕的访问控制策略进行响应,而不是对每个策略进行验证。例如,组织a的访问控制策略要求只有护士才能读取数据,而组织b的访问控制策略描述一个人必须是医生才能访问,当各机构制定的访问控制策略产生冲突的时候,对所有的机构指定的访问控制策略用指定的规则合并就显得尤为重要。将不同机构指定的访问控制策略合并为单个全局的访问控制策略,可以便于识别请求是否可以访问共享数据,但是,由于没有一个单一的策略能够适用于每个存在的问题,访问控制策略的合成取决于应用程序和相关机构的要求和环境。在混合有基于身份和基于属性的多级访问控制中,随着参与者增多,访问控制策略往往越来越复杂,其中包含着着大量重复的语意冗长的访问控制策略。属性是访问控制策略授权判断的基础和依据,访问请求者满足访问控制策略规定的属性条件即可获得策略规定的访问权限。所以可以通过识别包含有相同属性的规则,合并这些规则所在的访问控制策略。在978-1-4673-7281-7/152015ieee《automatedpolicycombinationfordatasharingacrossmultipleorganizations》中提出了一种核心思想为先将不同策略的规则按照动作属性以及条件属性是否完全相同分解为多个类别,然后合并动作属性和条件属性都相同的类别从而得到紧凑的全局策略的技术。其分类及合并的方法基于在多个规则中比较他们动作属性和条件属性。该方法能够实现访问控制策略的合成,但是其中大量的属性字符串的比较过程会占用大量的cpu时间,访问控制策略合成的时间花销过大将会引起访问控制系统无法尽快响应访问控制请求;同时大量的属性字符串的存储将占用大量的内部存储器空间,挤占访问控制系统其他业务的可用内存空间。技术实现要素:针对现有技术的缺陷和改进需求,本发明提供了一种访问控制策略合成方法及系统,其目的在于,基于二进制编码的方法将访问控制策略转换为二进制形式,从而在合成访问控制策略的过程中减少存储消耗并提高合成速度。为实现上述目的,按照本发明的第一方面,提供了一种访问控制策略合成方法,包括如下步骤:(1)获得由所有待合成访问控制策略的全部规则构成的规则集合;(2)对规则集合中每一条规则的属性进行编码,使得属性相同的规则具有相同的属性编码,且属性不同的规则具有不同的属性编码;(3)根据属性编码将规则集合划分为多个规则子集,使得属性编码相同的规则位于同一个规则子集中;(4)对于任意一个规则子集,若每一个待合成访问控制策略均有规则属于该规则子集,则按照规则冲突算法处理该规则子集中属于同一访问控制策略的规则之间的冲突;否则,剔除该规则子集;(5)根据策略冲突算法,合并剩余的规则子集,从而得到合成规则集合;将合成规则集合作为数据存储系统新的访问控制策略进行存储,由此实现访问控制策略的合成。进一步地,步骤(2)包括如下步骤:(21)从规则集合中提取出条件属性和动作属性,以及每一个条件属性的所有属性键和每一个动作属性的所有属性键;(22)对于任意一个条件属性,根据其属性键的个数对该条件属性的属性键进行二进制编码,从而得到该条件属性每一个属性键的属性键码;对于任意一个动作属性,根据其属性键的个数对该动作属性的属性键进行二进制编码,从而得到该动作属性每一个属性键的属性键码;(23)将所有条件属性和所有动作属性按第一顺序排列,用于表示规则的属性;对于规则集合中的任意一条规则,将其属性所对应的属性键码进行移位与求和,使得该规则所对应的属性键码按照第一顺序排列,从而得到该规则的二进制编码形式的属性编码;其中,条件属性用于表示用户属性,且所有条件属性用于标识用户身份;动作属性用于表示对共享数据可执行的操作;属性键为条件属性或动作属性的一个取值。进一步地,步骤(3)中,根据属性编码将规则集合划分为多个规则子集的方法包括如下步骤:获得规则集合中不同属性编码的总数m,并创建m个规则子集,分别于m个不同的属性编码一一对应;按照属性编码从大到小或从小到大的顺序对规则集合中的规则进行排序;遍历排序后的规则集合,将每一条规则依次加入到与其属性编码对应的规则子集中。进一步优选地,按照属性编码从大到小或从小到大的顺序对规则集合中的规则进行排序时,若其中一个待合成访问控制策略的规则在规则集合中按照属性编码有序,并且规则集合中该待合成访问控制策略的规则数目m与待排序的规则数目n满足:0<m≤lg(n),则排序顺序与该待合成访问控制策略的规则顺序相同且排序算法为插入排序;若其中一个待合成访问控制策略的规则在规则集合中按照属性编码有序,并且规则集合中该待合成访问控制策略的规则数目m与待排序的规则数目n满足:lg(n)<m,则排序顺序与该待合成访问控制策略的规则顺序相同且排序算法为归并排序;若按照属性编码,所有待合成访问控制策略的规则在规则集合中均无序,则排序算法为归并排序或计数排序。进一步地,步骤(4)中,对于任意一个规则子集,判定每一个待合成访问控制策略均有规则属于该规则子集的方法包括:根据待合成访问控制策略的个数,对待合成访问控制策略的编号进行二进制编码,从而得到每一个待合成访问控制策略的策略编码,并将规则所属的待合成访问控制策略的策略编码作为该规则的策略编码;按照策略编码从小到大或从大到小的顺序对该规则子集中的规则进行排序;若该规则子集中规则的策略编码连续,且其中最大的策略编码和最小的策略编码分别与所有待合成访问控制策略中最大的策略编码和最小的策略编码分别相等,则判定每一个待合成访问控制策略均有规则属于该规则子集。进一步地,步骤(3)中,根据属性编码将规则集合划分为多个规则子集的方法包括如下步骤:获得规则集合中不同属性编码的总数m,并创建m个规则子集,分别于m个不同的属性编码一一对应;根据待合成访问控制策略的个数,对待合成访问控制策略的编号进行二进制编码,从而得到每一个待合成访问控制策略的策略编码,并将规则所属的待合成访问控制策略的策略编码作为该规则的策略编码;将规则集合中每一条规则的属性编码和策略编码按第二顺序排列,从而得到该规则的规则编码,并使得策略编码位于规则编码的低位;按照规则编码从大到小或从小到大的顺序对规则集合中的规则进行排序;遍历规则集合,将每一条规则依次加入到与其属性编码对应的规则子集中。进一步优选地,按照规则编码从大到小或从小到大的顺序对规则集合中的规则进行排序时,若其中一个待合成访问控制策略的规则在规则集合中按照规则编码有序,并且规则集合中该待合成访问控制策略的规则数目m与待排序的规则数目n满足:0<m≤lg(n),则排序顺序与该待合成访问控制策略的规则顺序相同且排序算法为插入排序;若其中一个待合成访问控制策略的规则在规则集合中按照规则编码有序,并且规则集合中该待合成访问控制策略的规则数目m与待排序的规则数目n满足:lg(n)<m,则排序顺序与该待合成访问控制策略的规则顺序相同且排序算法为归并排序;若按照规则编码,所有待合成访问控制策略的规则在规则集合中均无序,则排序算法为归并排序或计数排序。进一步地,步骤(4)中,对于任意一个规则子集,判断是否每一个待合成访问控制策略均有规则属于该规则子集的方法包括:若该规则子集中规则的策略编码连续,且其中最大的策略编码和最小的策略编码分别与所有待合成访问控制策略中最大的策略编码和最小的策略编码分别相等,则判定每一个待合成访问控制策略均有规则属于该规则子集。进一步地,步骤(4)中,按照规则冲突算法处理规则子集中属于同一访问控制策略的规则之间的冲突,包括:对于其中任意两条存在冲突的规则,若两条规则所属的待合成访问控制策略的规则冲突算法为许可覆盖(po),则从第二约束条件中剔除第一约束条件与第二约束条件的交集;若两条规则所属的待合成访问控制策略的规则冲突算法为拒绝覆盖(do),则从第一约束条件中剔除第一约束条件与第二约束条件的交集;其中,第一规则为规则效果为肯定的规则,第二规则为规则效果为否定的规则,第一约束条件为第一规则的约束条件,第二约束条件为第二规则的约束条件;规则效果用于指示能否对共享数据执行操作,若规则效果为肯定,则表示能够对共享数据执行指定的操作;若规则效果为否定,则表示不能对共享数据执行指定的操作。进一步地,步骤(5)中,根据策略冲突算法,合并剩余的规则子集,从而得到合成规则集合,包括:对于剩余的规则子集中的任意一个规则子集,将其中规则效果为肯定的规则的约束条件合并从而得到约束条件r'y,并将该规则子集中规则效果为否定的规则的约束条件合并从而得到约束条件r'n;若策略冲突算法为同意优先(pd),则该规则子集的肯定约束条件为:ry=r'y,且该规则子集的否定约束条件为:rn=r'n-r'y;若策略冲突算法为否定优先(dp),则该规则子集的肯定约束条件为:ry=r'y-r'n,且该规则子集的否定约束条件为:rn=r'n;由此得到合成规则,合成规则的属性编码为该规则子集对应的属性编码,规则效果为肯定,且约束条件为肯定约束条件;或者,合成规则的属性编码为该规则子集对应的属性编码,规则效果为否定,且约束条件为否定约束条件;将每一个规则子集得到的合成规则均加入到新创建的集合中,从而得到由合成规则构成的合成规则集合。按照本发明的第二方面,提供了一种访问控制策略合成系统,包括:规则集合获取模块,用于获得由所有待合成访问控制策略的全部规则构成的规则集合;属性编码模块,用于对规则集合中每一条规则的属性进行编码,使得属性相同的规则具有相同的属性编码,且属性不同的规则具有不同的属性编码;规则子集划分模块,根据属性编码将规则集合划分为多个规则子集,使得属性编码相同的规则位于同一个规则子集中;规则冲突处理模块,用于按照规则冲突算法处理覆盖了所有待合成访问控制策略的规则子集中属于同一访问控制策略的规则之间的冲突,并剔除未覆盖所有待合成访问控制策略的规则子集;策略冲突处理模块,用于合并经规则冲突处理模块处理后剩余的规则子集,从而得到合成规则集合;策略存储单元,用于将合成规则集合作为数据存储系统新的访问控制策略进行存储;其中,对于任意一个规则子集,若每一个待合成访问控制策略均有规则属于该规则子集,则该规则子集覆盖了所有待合成访问控制策略;否则,该规则子集未覆盖所有待合成访问控制策略。总体而言,通过本发明所构思的以上技术方案,能够取得以下有益效果:(1)本发明所提供的访问控制策略合成方法,提取所有待合成访问控制策略的全部规则后,对规则的属性进行编码,并基于属性编码完成访问控制策略的合成,一方面,用数值的比较替代了字符串的比较,有效减少了方法的时间复杂度,提供了访问控制策略的合成效率;另一方面,通过存储属性编码的方式实现对规则属性的存储,能够有效降低访问控制系统中访控策略的存储成本。(2)本发明所提供的访问控制策略合成方法,分别按照规则冲突算法和策略冲突算法处理冲突,既能有效处理属于同一访问控制策略的规则之间的冲突,又能处理属于不同访问控制策略而属性相同的规则之间的冲突,因此能够增强访问控制系统的稳定性。(3)本发明所提供的访问控制策略合成方法,在不同的情况下选用特定的排序算法,能够保证排序的算法复杂度较低,从而提高排序效率。附图说明图1为本发明实施例提供的访问控制策略合成方法的流程图;图2为本发明实施例提供的规则属性编码流程图;图3为本发明实施例提供的访问控制策略合成系统的示意图;图4为本发明实施例提供的集成了访问控制策略合成系统的应用场景。具体实施方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。在详细描述本发明的技术方案之前,先对本发明中的相关术语解释如下:规则,指访问控制的对资源描述的最小单位,包括条件属性、动作属性、规则效果以及约束条件;条件属性用于表示用户属性,且所有条件属性用于标识用户身份;动作属性用于表示对共享数据可执行的操作;规则效果用于指示能否对共享数据执行操作,若规则效果为肯定,则表示能够对共享数据执行指定的操作;若规则效果为否定,则表示不能对共享数据执行指定的操作;约束条件,表示对用户属性的进一步限定。例如,一条规则x,对应的共享数据为所有某类病人病例,规则x的描述如表1所示。表1规则x的描述条件属性职级:医生,科室:外科动作属性增删查改规则效果肯定约束条件年龄大于40所属策略p规则x表示,职级是医生,科室是外科的对象,在满足年龄大于40的条件下,能对所有某类病人病例做操作增删查改。再例如,一条规则y,对应的共享数据同样为所有某类病人病例,规则y的描述如表2所示。表2规则y的详细描述条件属性职级:医生,科室:外科动作属性增删查改规则效果否定约束条件年龄小于50所属策略p规则y表示,职级是医生,科室是外科的对象,在满足年龄小于的条件下,能对所有某类病人病例做操作增删查改。访问控制策略,指访问控制的对资源描述的单位,包含多条规则,以及用于处理其规则之间冲突的规则冲突算法;在xacml中有四个基本规则组合算法,分别是拒绝覆盖(denyoverrides,do)、许可覆盖(permitoverrides,po)、否定优先(deny-unless-permit,dp)以及肯定优先(permit-unless-deny,pd);一个策略中的多条规则可以根据这些组合算法进行评估并处理规则之间的冲突;否定覆盖(do):如果任意一条规则被评估为“否定”,则合并结果是“否定”;如果没有规则评估为“否定”,并且至少有一个规则评估为“肯定”,则合并结果是“肯定”;如果所有规则评估为“不适用”,则合并结果是“不适用”许可覆盖(po):如果任意一条规则被评估为“肯定”,则合并结果是“肯定”;如果没有规则评估为“肯定”,并且至少有一个策略评估为“否定”,则合并结果为“否定”;如果所有规则评估为“不适用”,则合并结果是“不适用”;否定优先(dp):如果任意一条策略被评估为“肯定”,则合并结果是“肯定”;否则,合并结果是“否定”;“不适用”不能为结果;同意优先(pd):如果任意一条策略被评估为“否定”,则合并结果是“否定”;否则,合并结果是“肯定”;“不适用”不能为结果。例如,对于访问控制策略p,包含上述规则x和y,由于规则x和y对于年龄位于(40,50)这一范围的对象的权限描述是相悖的,因此规则x和规则y之间存在冲突,需要根据策略p的规则冲突算法处理规则x和y之间的冲突;若策略p的规则冲突算法为许可覆盖(po),则冲突部分遵守规则效果为肯定的规则,即规则x,因此,规则x和y合并的结果如表3所示:表3冲突算法为许可覆盖时规则x和y的合并结果若策略p的规则冲突算法为否定覆盖(do),则冲突部分遵守规则效果为否定的规则,即规则y,因此,规则x和y合并的结果如表4所示:表4冲突算法为否定覆盖时规则x和y的合并结果在访问控制策略合成时,众多参与机构也会制定用于处理策略之间冲突的策略冲突算法,具体的策略冲突算法与规则冲突算法相同,在此不再重复描述。以下结合附图及实施例,对本发明进行进一步详细说明。本发明所提供的访问控制策略合成方法,如图1所示,包括如下步骤:(1)提取数据存储系统的每一个待合成访问控制策略的全部规则,并依次将每一个待合成访问控制策略的全部规则加入到新创建的集合中,从而得到由所有待合成访问控制策略的全部规则构成的规则集合;在本实施例中,共有4个访问控制策略需要合成,这4个访问控制策略依次是policy1~policy4;策略冲突算法为同意优先(pd);(2)对规则集合中每一条规则的属性进行编码,使得属性相同的规则具有相同的属性编码,且属性不同的规则具有不同的属性编码;如图2所述,在一个可选的实施方式中,步骤(2)具体包括如下步骤:(21)从规则集合中提取出条件属性和动作属性,以及每一个条件属性的所有属性键和每一个动作属性的所有属性键;(22)对于任意一个条件属性,根据其属性键的个数对该条件属性的属性键进行二进制编码,从而得到该条件属性每一个属性键的属性键码;对于任意一个动作属性,根据其属性键的个数对该动作属性的属性键进行二进制编码,从而得到该动作属性每一个属性键的属性键码;所提取的属性、属性键以及编码后每一个属性键的属性键码如表5所示:表5属性键码(23)将所有条件属性和所有动作属性按第一顺序排列,用于表示规则的属性;对于规则集合中的任意一条规则,将其属性所对应的属性键码进行移位与求和,使得该规则所对应的属性键码按照第一顺序排列,从而得到该规则的二进制编码形式的属性编码;在本实施例中,属性排列的第一顺序为att3、att2、att1依次排列;经过编码,每一个规则的属性编码如表6所示:表6规则属性编码(3)根据属性编码将规则集合划分为多个规则子集,使得属性编码相同的规则位于同一个规则子集中;在一个可选的实施方式中,步骤(3)具体包括:获得规则集合中不同属性编码的总数m,并创建m个规则子集,分别于m个不同的属性编码一一对应;按照属性编码从大到小或从小到大的顺序对规则集合中的规则进行排序;遍历排序后的规则集合,将每一条规则依次加入到与其属性编码对应的规则子集中;其中,按照属性编码从大到小或从小到大的顺序对规则集合中的规则进行排序时,若其中一个待合成访问控制策略的规则在规则集合中按照属性编码有序,并且规则集合中该待合成访问控制策略的规则数目m与待排序的规则数目n满足:0<m≤lg(n),则排序顺序与该待合成访问控制策略的规则顺序相同且排序算法为插入排序;若其中一个待合成访问控制策略的规则在规则集合中按照属性编码有序,并且规则集合中该待合成访问控制策略的规则数目m与待排序的规则数目n满足:lg(n)<m,则排序顺序与该待合成访问控制策略的规则顺序相同且排序算法为归并排序;若按照属性编码,所有待合成访问控制策略的规则在规则集合中均无序,则排序算法为归并排序或计数排序;(4)对于任意一个规则子集,若每一个待合成访问控制策略均有规则属于该规则子集,则按照规则冲突算法处理该规则子集中属于同一访问控制策略的规则之间的冲突;否则,剔除该规则子集;在一个可选的实施方式中,对于任意一个规则子集,判定每一个待合成访问控制策略均有规则属于该规则子集的方法包括:根据待合成访问控制策略的个数,对待合成访问控制策略的编号进行二进制编码,从而得到每一个待合成访问控制策略的策略编码,并将规则所属的待合成访问控制策略的策略编码作为该规则的策略编码;按照策略编码从小到大或从大到小的顺序对该规则子集中的规则进行排序;若该规则子集中规则的策略编码连续,且其中最大的策略编码和最小的策略编码分别与所有待合成访问控制策略中最大的策略编码和最小的策略编码分别相等,则判定每一个待合成访问控制策略均有规则属于该规则子集;按照规则冲突算法处理规则子集中属于同一访问控制策略的规则之间的冲突,包括:对于其中任意两条存在冲突的规则,若两条规则所属的待合成访问控制策略的规则冲突算法为许可覆盖(po),则从第二约束条件中剔除第一约束条件与第二约束条件的交集;若两条规则所属的待合成访问控制策略的规则冲突算法为拒绝覆盖(do),则从第一约束条件中剔除第一约束条件与第二约束条件的交集;其中,第一规则为规则效果为肯定的规则,第二规则为规则效果为否定的规则,第一约束条件为第一规则的约束条件,第二约束条件为第二规则的约束条件;(5)根据策略冲突算法,合并剩余的规则子集,从而得到合成规则集合;将合成规则集合作为数据存储系统新的访问控制策略进行存储,由此实现访问控制策略的合成;在本实施例中,根据策略冲突算法,合并剩余的规则子集,具体包括:对于剩余的规则子集中的任意一个规则子集,将其中规则效果为肯定的规则的约束条件合并从而得到约束条件r'y,并将该规则子集中规则效果为否定的规则的约束条件合并从而得到约束条件r'n;由于策略冲突算法为同意优先(pd),该规则子集的肯定约束条件为:ry=r'y,且该规则子集的否定约束条件为:rn=r'n-r'y;由此得到合成规则,合成规则的属性编码为该规则子集对应的属性编码,规则效果为肯定,且约束条件为肯定约束条件;或者,合成规则的属性编码为该规则子集对应的属性编码,规则效果为否定,且约束条件为否定约束条件;将由每一个规则子集得到的合成规则均加入到新创建的集合中,从而得到由合成规则构成的合成规则集合。在一个可选的实施方式中,上述步骤(3)中,根据属性编码将规则集合划分为多个规则子集的方法包括如下步骤:获得所述规则集合中不同属性编码的总数m,并创建m个规则子集,分别于m个不同的属性编码一一对应;根据待合成访问控制策略的个数,对待合成访问控制策略的编号进行二进制编码,从而得到每一个待合成访问控制策略的策略编码,并将规则所属的待合成访问控制策略的策略编码作为该规则的策略编码;将所述规则集合中每一条规则的属性编码和策略编码按第二顺序排列,从而得到该规则的规则编码,并使得策略编码位于规则编码的低位;按照规则编码从大到小或从小到大的顺序对所述规则集合中的规则进行排序;遍历所述规则集合,将每一条规则依次加入到与其属性编码对应的规则子集中;其中,按照规则编码从大到小或从小到大的顺序对规则集合中的规则进行排序时,若其中一个待合成访问控制策略的规则在规则集合中按照规则编码有序,并且规则集合中该待合成访问控制策略的规则数目m与待排序的规则数目n满足:0<m≤lg(n),则排序顺序与该待合成访问控制策略的规则顺序相同且排序算法为插入排序;若其中一个待合成访问控制策略的规则在规则集合中按照规则编码有序,并且规则集合中该待合成访问控制策略的规则数目m与待排序的规则数目n满足:lg(n)<m,则排序顺序与该待合成访问控制策略的规则顺序相同且排序算法为归并排序;若按照规则编码,所有待合成访问控制策略的规则在规则集合中均无序,则排序算法为归并排序或计数排序;并且上述步骤(4)中,对于任意一个规则子集,判断是否每一个待合成访问控制策略均有规则属于该规则子集的方法包括:若该规则子集中规则的策略编码连续,且其中最大的策略编码和最小的策略编码分别与所有待合成访问控制策略中最大的策略编码和最小的策略编码分别相等,则判定每一个待合成访问控制策略均有规则属于该规则子集。在上述实施例中,由于插入排序时间复杂度为o(m*n),归并排序时间复杂度为o((m+n)*lg(m+n)),当m为1时,插入排序时间复杂度为o(n),归并排序时间复杂度为o(n*lg(n)),此时插入排序时间复杂度低于归并排序时间复杂度;当m为lgn时,插入排序时间复杂度为o(n*lgn),归并排序时间复杂度为o((n+lgn)*lg(n+lgn)),此时插入排序时间复杂度低于归并排序时间复杂度;当m=n时,插入排序时间复杂度为o(n2),归并排序时间复杂度为o((2n)*lg(2n)),此时插入排序时间复杂度高于归并排序时间复杂度;因此,当其中一个待合成访问控制策略的规则在规则集合中按照属性编码或规则编码有序时,根据m和n的不同取值,选择相应的排序算法,能够最大程度地优化整个排序过程的时间复杂度;由于归并排序的时间复杂度为o((m+n)*lg(m+n)),计数排序的时间复杂度接近于o(m),因此,当按照属性编码或规则编码,所有待合成访问控制策略的规则在所述规则集合中均无序时,采用归并排序或计数排序,能够保证排序的时间复杂度较低。结合上述访问控制策略合成方法的实施例,本发明提供的访问控制系统,如图3所示,包括:规则集合获取模块,用于获得由所有待合成访问控制策略的全部规则构成的规则集合;属性编码模块,用于对规则集合中每一条规则的属性进行编码,使得属性相同的规则具有相同的属性编码,且属性不同的规则具有不同的属性编码;规则子集划分模块,根据属性编码将规则集合划分为多个规则子集,使得属性编码相同的规则位于同一个规则子集中;规则冲突处理模块,用于按照规则冲突算法处理覆盖了所有待合成访问控制策略的规则子集中属于同一访问控制策略的规则之间的冲突,并剔除未覆盖所有待合成访问控制策略的规则子集;策略冲突处理模块,用于合并经规则冲突处理模块处理后剩余的规则子集,从而得到合成规则集合;策略存储模块,用于将合成规则集合作为数据存储系统新的访问控制策略进行存储;其中,对于任意一个规则子集,若每一个待合成访问控制策略均有规则属于该规则子集,则该规则子集覆盖了所有待合成访问控制策略;否则,该规则子集未覆盖所有待合成访问控制策略。图3所示的访问控制策略合成系统中,各模块的具体实现方式,可参考上述方法实施例中的描述,在此不做赘述。图4所示为一个集成了图3所示的访问控制策略合成系统的应用场景,其中包括:认证服务器、数据拥有者、组织者、用户、云存储系统、策略执行(policyenforcementpoint,pep)单元、策略决策(policydecisionpoint,pdp)单元以及访问控制策略合成系统;认证服务器根据属性信息识别每一个对象的身份;组织者和数据拥有者均可有多个,所有组织者和数据拥有者均可以参与访问控制策略的制定过程;数据拥有者还会将其数据上传至云存储系统上以向用户提供数据;通过获得所有由组织者及数据拥有者制定的访问控制策略,便可以从中提取规则并得到规则集合;访问控制策略合成系统通过获得所有由组织者及数据拥有者制定的访问控制策略,实现访问控制策略的合成,合成后的新的访问控制策略存储于访问控制合成系统的策略存储模块中;用户发出请求访问云存储系统中的请求时,策略执行单元将用户请求进行转换处理,并将转换后的请求传递至策略决策单元;策略决策单元从访问控制策略合成系统的策略存储模块中获取经过合成的访问控制策略,并由此验证用户是否能够获得与请求相对应的访问权限;在策略决策单元作出决策后,由策略执行单元根据决策结果对用户请求作出响应。本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1