协同环境中访问控制策略冲突检测系统及方法

文档序号:6436185阅读:232来源:国知局
专利名称:协同环境中访问控制策略冲突检测系统及方法
技术领域
本发明涉及一种协同环境中访问控制策略冲突检测系统及方法,属于计算机网络安全领域。
背景技术
在大多数实际的协同环境中,无论开发者还是管理者都不想完全摈弃已有的权限管理和访问控制体系,希望在授权开放性和系统改造代价间保持平衡和兼顾。基于角色映射的域间互操作能够有效的避免修改大量的访问控制策略带来的维护成本,增强跨域组织间以资源共享方式进行合作的方便性,减少跨域环境下授权体系异构和用户激增带来的管理风险,因此基于角色映射的域间互操作逐渐成为协同环境领域中具有代表性的研究领域,也是本发明的研究背景。然而一方面,随着信息和数据访问需求的增加,人们对数据的安全和私有性越来越关注,因此在基于角色映射的域间互操作协同环境中,各域管理员制定的访问控制策略尤其重要,若出现问题将直接导致自治域资源的未授权访问。另一方面,不同的自治域可能使用不同的语义来描述各自的访问控制策略,而且目前各自治域间进行互操作而映射的角色仍然可能会存在对角色的授权比角色需要的权限多了或少了,这是不能完全避免的,实际授予角色的权限与角色所需求权限的不一致将会导致各自治域访问控制策略冲突问题的产生,最终导致对自治域资源的未授权访问。而目前大多数关于策略冲突的研究并没有考虑不同域制定的访问控制策略语义异构问题,不能够有效的检测冲突,这样用户实现不了对冲突的消解,使得未授权访问等安全问题容易的发生,导致计算机网络系统安全性降低。

发明内容
本发明的技术解决问题克服现有技术的不足,提供一种协同环境中访问控制策略冲突检测系统及方法,能够更有效的检测冲突,防止未授权访问等安全问题容易的发生, 大大提高了计算机网络系统安全性。本发明的技术解决方案一种协同环境中访问控制策略冲突检测系统,其特征在于包括访问控制策略预处理模块、多域策略集成模块和策略冲突检测模块,其中访问控制策略预处理模块将采用XACML描述的两个域的策略文件,即XACML描述的A域策略文件和XACML描述的B域策略文件中的访问控制策略进行语法语义解析,在对访问控制策略进行解析的同时为每条访问控制策略加入序号,作为所述访问控制策略唯一的标识,解析后形成访问控制策略有序集,将所述访问控制策略有序集送至多域策略集成模块;所述域为协同环境的基本组成单元,即协同环境中自主进行访问控制策略制定及管理的组织;所述访问控制策略是约束主体对资源操作权限的规则集;所述主体分为用户和角色;所述资源包含ftp服务器、web服务器、邮件服务器和文件服务器;所述操作权限包含读、写、执行及其组合;所述访问控制策略有序集包含角色继承策略、直接授权策略和用户指派策略;所述角色继承策略是指规定某角色继承另一角色的操作权限的访问控制策略, 形式化为五元组(策略名,‘<’,角色1,角色2,序号),即角色1继承了角色2的权限,‘<’ 符号代表角色间的继承关系;所述角色继承策略又分为本域角色继承策略和跨越角色映射策略,本域角色继承策略中的角色1和角色2都属于本域,跨越角色映射策略中的角色1属于另一个域(即外域),角色2属于本域;所述直接授权策略是指约束角色对资源操作权限的访问控制策略,形式化为六元组(策略名,约束,角色,资源,操作权限,序号),约束分为允许、拒绝,角色包含管理员角色及系统定义的其他角色,资源包含ftp服务器、web服务器、邮件服务器和文件服务器,所述操作权限分为读、写、执行及其组合;所述直接授权策略又分为本域直接授权策略和跨域直接授权策略,本域直接授权策略中的角色和资源都属于本域,跨域直接授权策略中的角色属于本域,而资源属于外域;所述用户指派策略是指将用户指派给角色,并拥有角色所有权限的访问控制策略,形式化为五元组(策略名,指派,用户,角色,序号);所述策略名是指策略制定者制定策略时为策略起的名称,为字符串的形式;所述角色是指可以直接拥有权限的基本单位,分为管理员角色或管理员定义的其他角色 ;所述用户是指资源的使用者;所述指派是指角色和用户之间的指派关系,即将角色所具有的权限分配给用户,使用户拥有角色所拥有的权限;所述序号是指策略的唯一编号;多域策略集成模块根据访问控制策略有序集中的访问控制策略元素属性对访问控制策略预处理模块得到的访问控制策略有序集进行筛选,得到与域间互操作有关的访问控制策略,并结合初始策略本体生成两个域的局部本体,将所述局部本体通过语义映射, 生成访问控制策略元素实例之间的语义映射对,根据语义映射对将局部本体转换为全局本体,得到全局访问控制策略,并将全局访问控制策略送至策略冲突检测模块;所述访问控制策略元素属性是指访问控制策略元素是属于本域L还是属于另外一个域F ;所述L是说明此访问控制策略元素是属于本域的;所述F说明此访问控制策略元素是属于另一个域的, 本域只是对它进行了引用;所述初始策略本体是协同环境中两个域已知的共同本体;所述共同本体即对两个域共享的访问控制策略模型的明确的形式化规范说明,只包含访问控制策略元素的概念间关系;所述访问控制策略元素包含用户、角色、资源、读、写、执行、允许、 拒绝、继承关系、指派关系;所述访问控制策略元素指所述访问控制策略元素的抽象描述, 将访问控制策略元素的概念实例化便形成了访问控制策略元素的实例,即对访问控制策略元素的具体描述;所述局部本体指每个域所使用的访问控制策略元素实例不同,各个域各自使用的访问控制策略元素实例结合上面所述的共同本体,组成了各个域自己的本体,即局部本体,每个域有自己的局部本体;所述全局本体是将各个域使用的访问控制策略元素实例统一起来,再结合所述共同本体,组成了各个域共有的全局本体;所述全局访问控制策略是指不存在语义异构问题的域间角色继承策略;策略冲突检测模块将访问控制策略预处理得到的访问控制策略有序集进行筛选,并结合多域策略集成模块得到的全局访问控制策略,进行隐含策略分析,得到协同环境中隐含的访问控制策略,将访问控制策略有序集、全局访问控制策略和隐含的访问控制策略转换为策略图的形式,同时将冲突规则转换为冲突图的形式,根据策略图中由节点连接的边与边之间的关系,得到策略图中由角色节点出发到资源节点的每条路径,并将所述每条路径与冲突图中的路径进行匹配,若匹配成功,则存在冲突,并得到冲突的类型和原因, 通过反向策略查询,即根据导致冲突的访问控制策略的唯一标识-序号,查找其对应的在输入策略文件中的策略名,此策略名即冲突所在的源策略位置,并生成冲突分析报告显示给用户;若匹配不成功,则不存在冲突,并显示对话框提示用户;所述策略图全称为访问控制策略图,即将访问控制策略中的用户、角色和资源作为图的节点,将直接授权策略作为角色和资源之间的边,将角色继承策略作为角色和角色之间的边,将用户指派策略作为用户和角色之间的边,由此形成的图称之为策略图;所述冲突规则为IF-Then的形式,IF语句为冲突规则的前件,描述了策略冲突发生所具备的条件, Then语句为冲突规则的后件,描述了冲突的类型;所述冲突图是将发生冲突的访问控制策略中的用户、角色和资源作为图的节点,将发生冲突的直接授权策略作为角色和资源之间的边,将发生冲突的角色继承策略作为角色和角色之间的边,将发生冲突的用户指派策略作为用户和角色之间的边,由此形成的图称之为冲突图。所述多域策略集成模块实现过程如下(1)根据访问控制策略有序集中的访问控制策略元素的属性是F还是L,对访问控制策略有序集进行筛选,即根据访问控制策略有序集中的访问控制策略元素属性是F还是 L,对访问控制策略有序集中的访问控制策略进行遍历,当遍历到的访问控制 策略元素属性是F时,说明此访问控制策略元素所在的访问控制策略是与域间互操作有关的访问控制策略,将这些策略保存起来,便得到与域间互操作有关的访问控制策略;(2)以包含访问控制策略元素概念及概念间关系的初始策略本体为基础,将筛选出的访问控制策略中的策略元素添加到初始策略本体对应的概念下,分别形成两个域的局部本体;(3)对局部本体进行语义映射,生成访问控制策略元素实例之间的语义映射对,即根据两个局部本体的本体结构、本体中实例名称和访问控制策略元素间关系,分别计算两个局部本体中对应的角色实例间的近似程度值和资源实例间的近似程度值,两个近似程度值进行加权求和后得到总的近似程度值,近似程度值较大者对应的两个角色即为访问控制策略元素实例之间的语义映射对,同时将语义映射对中的两角色作为实例加入初始策略本体中对应的角色概念下,得到全局本体;(4)根据访问控制策略元素实例前的标识序号,搜索全局本体中各概念下对应同一序号的实例,将各实例进行组合,形成全局访问控制策略。所述策略冲突检测模块实现过程如下(1)根据访问控制策略有序集中的访问控制策略元素的属性是iF(Foreign),还是‘L(Local) ’,对访问控制策略有序集进行筛选,去除与域间互操作有关的访问控制策略, 即属性为iF(Foreign),的访问控制策略,得到属性为‘L(Local),的访问控制策略,包含本域直接授权策略、本域角色继承策略和用户指派策略;(2)结合筛选出的本域直接授权策略、本域角色继承策略、用户指派策略,以及多域策略集成模块得到的全局访问控制策略,根据本域角色继承策略和跨域角色映射策略描述的角色间的权限传递关系,分析角色或用户间接拥有的权限,即隐含权限,得到隐含访问控制策略;(3)将得到的隐含访问控制策略,结合本域直接授权策略、本域角色继承策略、用户指派策略以及全局访问控制策略,抽取其中的角色和资源作为图的节点,将上述策略作为边,形成策略(4)读取冲突规则,将每条冲突规则,抽取其中的用户、角色和资源作为图的节点, 将其中的直接授权策略作为角色节点和资源节点之间的边,将其中的角色继承策略作为角色节点和角色节点之间的边,将其中的用户指派策略作为用户节点和角色节点之间的边, 转换为图的形式,形成冲突图,每个冲突图中包含一条路径;(5)根据策略图中由节点连接的边与边之间的关系,得到策略图中由角色节点出发到资源节点的每条路径,并将每条路径与各个冲突图中的路径进行匹配,若匹配成功,则说明存在冲突,根据匹配成功的冲突图类型,得出策略 图中发生冲突的冲突类型和冲突原因,若匹配不成功,则直接生成不存在冲突的对话框显示给用户;(6)路径匹配成功后,根据序号反向查找策略图中此路径所在的策略对应的在输入策略文件,即XACML描述的A域策略文件和XACML描述的B域策略文件中的策略名,此策略名即冲突所在的源策略位置,将得到的冲突所在的源策略位置,连同步骤(5)中得出的冲突类型及冲突原因,生成冲突分析报告显示给用户。协同环境中访问控制策略冲突检测方法实现步骤如下(1)将采用XACML描述的两个域的策略文件,即XACML描述的A域策略文件和 XACML描述的B域策略文件中的访问控制策略进行语法语义解析,在对访问控制策略进行解析的同时为每条访问控制策略加入序号,作为所述访问控制策略唯一的标识,解析后形成访问控制策略有序集,将所述访问控制策略有序集送至多域策略集成模块;所述域为协同环境的基本组成单元,即协同环境中自主进行访问控制策略制定及管理的组织;所述访问控制策略是约束主体对资源操作权限的规则集;所述主体分为用户和角色;所述资源包含ftp服务器、web服务器、邮件服务器和文件服务器;所述操作权限包含读、写、执行及其组合;所述访问控制策略有序集包含角色继承策略、直接授权策略和用户指派策略;所述角色继承策略是指规定某角色继承另一角色的操作权限的访问控制策略,形式化为五元组 (策略名,‘<’,角色1,角色2,序号),即角色1继承了角色2的权限,‘<’符号代表角色间的继承关系;所述角色继承策略又分为本域角色继承策略和跨越角色映射策略,本域角色继承策略中的角色1和角色2都属于本域,跨越角色映射策略中的角色1属于另一个域 (即外域),角色2属于本域;所述直接授权策略是指约束角色对资源操作权限的访问控制策略,形式化为六元组(策略名,约束,角色,资源,操作权限,序号),约束分为允许、拒绝, 角色包含管理员角色及系统定义的其他角色,资源包含ftp服务器、web服务器、邮件服务器和文件服务器,所述操作权限分为读、写、执行及其组合;所述直接授权策略又分为本域直接授权策略和跨域直接授权策略,本域直接授权策略中的角色和资源都属于本域,跨域直接授权策略中的角色属于本域,而资源属于外域;所述用户指派策略是指将用户指派给角色,并拥有角色所有权限的访问控制策略,形式化为五元组(策略名,指派,用户,角色, 序号);所述策略名是指策略制定者制定策略时为策略起的名称,为字符串的形式;所述角色是指可以直接拥有权限的基本单位,分为管理员角色或管理员定义的其他角色;所述用户是指资源的使用者;所述指派是指角色和用户之间的指派关系,即将角色所具有的权限分配给用户,使用户拥有角色所拥有的权限;所述序号是指策略的唯一编号;(2)根据访问控制策略有序集中的访问控制策略元素属性对步骤(1)得到的访问控制策略有序集进行筛选,得到与域间互操作有关的访问控制策略,并结合初始策略本体生成两个域的局部本体,将所述局部本体通过语义映射,生成访问控制策略元素实例之间的语义映射对,根据语义映射对将局部本体转换为全局本体,得到全局访问控制策略;所述访问控制策略元素属性是指访问控制策略元素是属于本域L还是属于另外一个域F ;所述 L是说明此访问控制策略元素是属于本域的;所述F说明此访问控制策略元素是属于另一个域的,本域只是对它进行了引用;所述初始策略本体是协同环境中两个域已知的共同本体;所述共同本体即对两个域共享的访问控制策略模型的明确的形式化规范说明,只包含访问控制策略元素的概念间关系;所述访问控制策略元素包含用户、角色、资源、读、写、执行、允许、拒绝、继承关系、指派关系;所述访问控制策略元素指所述访问控制策略元素的抽象描述,将访问控制策略元素的概念实例化便形成了访问控制策略元素的实例,即对访问控制策略元素的具体描述;所述局部本体指每个域所使用的访问控制策略元素实例不同, 各个域各自使用的访问控制策略元素实例结合上面所述的共同本体,组成了各个域自己的本体,即局部本体,每个域有自己的局部本体;所述全局本体是将各个域使用的访问控制策略元素实例统一起来,再结合所述共同本体,组成了各个域共有的全局本体;所述全局访问控制策略是指不存在语义异构问题的域间角色继承策略;

(3)将步骤⑴得到的访问控制策略有序集进行筛选,并结合步骤⑵得到的全局访问控制策略,进行隐含策略分析,得到协同环境中隐含的访问控制策略,将访问控制策略有序集、全局访问控制策略和隐含的访问控制策略转换为策略图的形式,同时将冲突规则转换为冲突图的形式,根据策略图中由节点连接的边与边之间的关系,得到策略图中由角色节点出发到资源节点的每条路径,并将所述每条路径与冲突图中的路径进行匹配,若匹配成功,则存在冲突,并得到冲突的类型和原因,通过反向策略查询,即根据导致冲突的访问控制策略的唯一标识-序号,查找其对应的在输入策略文件中的策略名,此策略名即冲突所在的源策略位置,并生成冲突分析报告显示给用户;若匹配不成功,则不存在冲突,并显示对话框提示用户;所述策略图全称为访问控制策略图,即将访问控制策略中的用户、角色和资源作为图的节点,将直接授权策略作为角色和资源之间的边,将角色继承策略作为角色和角色之间的边,将用户指派策略作为用户和角色之间的边,由此形成的图称之为策略图;所述冲突规则为IF-Then的形式,IF语句为冲突规则的前件,描述了策略冲突发生所具备的条件, Then语句为冲突规则的后件,描述了冲突的类型;所述冲突图是将发生冲突的访问控制策略中的用户、角色和资源作为图的节点,将发生冲突的直接授权策略作为角色和资源之间的边,将发生冲突的角色继承策略作为角色和角色之间的边,将发生冲突的用户指派策略作为用户和角色之间的边,由此形成的图称之为冲突图。本发明与现有技术相比的优点在于(1)本发明通过访问控制策略预处理模块、多域策略集成模块和策略冲突检测模块之间的相互作用,使得能够更有效地实现检测冲突,防止未授权访问等安全问题容易的发生,大大提高了计算机网络系统安全性。(2)本发明采用了多域策略集成技术,考虑到协同环境中的访问控制策略语义异构问题,而现有的语义集成方法只考虑了本体结构、实例名称两个因素,本发明除了采用这两个因素外,还采用了访问控制策略元素间关系因素,使得在异构的策略元素间进行语义映射时,其检测准确度更高。(3)本发明采用了策略冲突检测技术方案,不仅能够检测出冲突,更能够准确的定位到冲突所在的策略位置,并提供冲突原因等信息,方便用户采取措施进行冲突消解,而现有的访问控制策略冲突检测技术,大部分并不适用于基于角色映射的域间互操作协同环境,而且在冲突检测方面提供的信息有限,只能检测出是否存在冲突,并未提供具体的冲突报告,不利于用户对检测出的冲突采取进一步应对措施。


图1为本发明 系统结构图;图2为本发明中访问控制策略预处理模块实现过程;图3为本发明中策略集成模块实现过程;图4为本发明中初始策略本体的UML图;图5为本发明中策略冲突检测模块实现过程;图6为本发明中协同环境中访问控制策略的划分。
具体实施例方式如图1所示,本发明协同环境中访问控制策略冲突检测系统由访问控制策略预处理模块、多域策略集成模块和策略冲突检测模块构成。整个实现过程如下访问控制策略预处理模块将采用XACML描述的两个域的策略文件,即XACML描述的A域策略文件和XACML描述的B域策略文件中的访问控制策略进行语法语义解析,在对访问控制策略进行解析的同时为每条访问控制策略加入序号,作为所述访问控制策略唯一的标识,解析后形成访问控制策略有序集,将所述访问控制策略有序集送至多域策略集成模块;所述域为协同环境的基本组成单元,即协同环境中自主进行访问控制策略制定及管理的组织;所述访问控制策略是约束主体对资源操作权限的规则集;所述主体分为用户和角色;所述资源包含ftp服务器、web服务器、邮件服务器和文件服务器;所述操作权限包含读、写、执行及其组合;所述访问控制策略有序集包含角色继承策略、直接授权策略和用户指派策略;所述角色继承策略是指规定某角色继承另一角色的操作权限的访问控制策略, 形式化为五元组(策略名,‘<’,角色1,角色2,序号),即角色1继承了角色2的权限,‘<’ 符号代表角色间的继承关系;所述角色继承策略又分为本域角色继承策略和跨越角色映射策略,本域角色继承策略中的角色1和角色2都属于本域,跨越角色映射策略中的角色1属于另一个域(即外域),角色2属于本域;所述直接授权策略是指约束角色对资源操作权限的访问控制策略,形式化为六元组(策略名,约束,角色,资源,操作权限,序号),约束分为允许、拒绝,角色包含管理员角色及系统定义的其他角色,资源包含ftp服务器、web服务器、邮件服务器和文件服务器,所述操作权限分为读、写、执行及其组合;所述直接授权策略又分为本域直接授权策略和跨域直接授权策略,本域直接授权策略中的角色和资源都属于本域,跨域直接授权策略中的角色属于本域,而资源属于外域;所述用户指派策略是指将用户指派给角色,并拥有角色所有权限的访问控制策略,形式化为五元组(策略名,指派,用户,角色,序号);所述策略名是指策略制定者制定策略时为策略起的名称,为字符串的形式;所述角色是指可以直接拥有权限的基本单位,分为管理员角色或管理员定义的其他角色;所述用户是指资源的使用者;所述指派是指角色和用户之间的指派关系,即将角色所具有的权限分配给用户,使用户拥有角色所拥有的权限;所述序号是指策略的唯一编号;多域策略集成模块根据访问控制策略有序集中的访问控制策略元素属性对访问控制策略预处理模块得到的访问控制策略有序集进行筛选,得到与域间互操作有关的访问控制策略,并结合初始策略本体生成两个域的局部本体,将所述局部本体通过语义映射, 生成访问控制策略元素实例之间的语义映射对,根据语义映射对将局部本体转换为全局本体, 得到全局访问控制策略,并将全局访问控制策略送至策略冲突检测模块;所述访问控制策略元素属性是指访问控制策略元素是属于本域L还是属于另外一个域F ;所述L是说明此访问控制策略元素是属于本域的;所述F说明此访问控制策略元素是属于另一个域的, 本域只是对它进行了引用;所述初始策略本体是协同环境中两个域已知的共同本体;所述共同本体即对两个域共享的访问控制策略模型的明确的形式化规范说明,只包含访问控制策略元素的概念间关系;所述访问控制策略元素包含用户、角色、资源、读、写、执行、允许、 拒绝、继承关系、指派关系;所述访问控制策略元素指所述访问控制策略元素的抽象描述, 将访问控制策略元素的概念实例化便形成了访问控制策略元素的实例,即对访问控制策略元素的具体描述;所述局部本体指每个域所使用的访问控制策略元素实例不同,各个域各自使用的访问控制策略元素实例结合上面所述的共同本体,组成了各个域自己的本体,即局部本体,每个域有自己的局部本体;所述全局本体是将各个域使用的访问控制策略元素实例统一起来,再结合所述共同本体,组成了各个域共有的全局本体;所述全局访问控制策略是指不存在语义异构问题的域间角色继承策略;策略冲突检测模块将访问控制策略预处理得到的访问控制策略有序集进行筛选,并结合多域策略集成模块得到的全局访问控制策略,进行隐含策略分析,得到协同环境中隐含的访问控制策略,将访问控制策略有序集、全局访问控制策略和隐含的访问控制策略转换为策略图的形式,同时将冲突规则转换为冲突图的形式,根据策略图中由节点连接的边与边之间的关系,得到策略图中由角色节点出发到资源节点的每条路径,并将所述每条路径与冲突图中的路径进行匹配,若匹配成功,则存在冲突,并得到冲突的类型和原因, 通过反向策略查询,即根据导致冲突的访问控制策略的唯一标识-序号,查找其对应的在输入策略文件中的策略名,此策略名即冲突所在的源策略位置,并生成冲突分析报告显示给用户;若匹配不成功,则不存在冲突,并显示对话框提示用户;所述策略图全称为访问控制策略图,即将访问控制策略中的用户、角色和资源作为图的节点,将直接授权策略作为角色和资源之间的边,将角色继承策略作为角色和角色之间的边,将用户指派策略作为用户和角色之间的边,由此形成的图称之为策略图;所述冲突规则为IF-Then的形式,IF语句为冲突规则的前件,描述了策略冲突发生所具备的条件, Then语句为冲突规则的后件,描述了冲突的类型;所述冲突图是将发生冲突的访问控制策略中的用户、角色和资源作为图的节点,将发生冲突的直接授权策略作为角色和资源之间的边,将发生冲突的角色继承策略作为角色和角色之间的边,将发生冲突的用户指派策略作为用户和角色之间的边,由此形成的图称之为冲突图;下面进一步说明上述各模块的具体实现过程如下1.访问控制策略预处理模块访问控制策略预处理模块的实现过程如图2所示。(1)读取XACML描述的A域策略文件和XACML描述的B域策略文件。
(2)对XACML描述的A域策略文件和XACML描述的B域策略文件中的访问控制策略进行语法语义解析,解析的同时为每条访问控制策略加入序号,作为所述访问控制策略唯一的标识,解析后形成访问控制策略有序集。 a)解析访问控制策略中的直接授权策略。抽取每条直接授权策略中的策略名、约束、角色、资源和权限,并在其后加入序号作为唯一标识,形成直接授权策略六元组(策略名,约束,角色,资源,操作权限,序号)。b)解析访问控制策略中的角色继承策略。抽取每条角色继承策略中的策略名、继承关系、继承角色、被继承角色,并在其后加入序号作为唯一标识,形成角色继承策略五元组(策略名,‘<’,角色1,角色2,序号)。c)解析访问控制策略中的用户指派策略。抽取每条用户指派策略中的策略名、指派关系、用户、角色,并在其后加入序号作为唯一标识,形成用户指派策略五元组(策略名, 指派,用户,角色,序号)。d)将解析后形成的直接授权策略六元组、角色继承策略五元组和用户指派策略五元组存储在一个文件中,形成访问控制策略有序集。2、多域策略集成模块多域策略集成模块的实现过程如图3所示。(1)多域集成策略筛选根据访问控制策略有序集中的访问控制策略元素的属性是F还是L,对上一模块得到的访问控制策略有序集进行筛选的过程,即为多域集成策略筛选,即根据访问控制策略有序集中的访问控制策略元素属性是F还是L,对访问控制策略有序集中的访问控制策略进行遍历,当遍历到的访问控制策略元素属性是F时,说明此访问控制策略元素所在的访问控制策略是与域间互操作有关的访问控制策略,与域间互操作有关的访问控制策略具体包含跨域直接授权策略和跨域角色映射策略,即当遍历到的访问控制策略是具有F属性的直接授权策略时,此直接授权策略即为跨域直接授权策略,跨域直接授权策略属于直接授权策略的一种,也是六元组的形式(策略名,约束,角色,资源,权限,序号);当遍历到的访问控制策略是具有F属性的角色继承策略时,此角色继承策略即为跨域角色映射策略, 跨域角色映射策略属于角色继承策略的一种,也为五元组的形式(策略名,‘<’,继承角色,被继承角色,序号),将这些策略保存起来,便得到与域间互操作有关的访问控制策略;(2)局部本体自动生成以包含访问控制策略元素概念及概念间关系的初始策略本体为基础,将与域间互操作有关的访问控制策略,即两个域各自的跨域直接授权策略和跨域角色映射策略中的策略元素作为初始策略本体中概念的实例,加入到初始策略本体对应的概念下,并添加相应的instance-of关系,分别形成两个域各自的局部本体,也即本地本体。图4为初始策略本体的UML图。(3)对局部本体进行语义映射,生成访问控制策略元素实例之间的语义映射对语义映射为本算法中的关键步骤,为了叙述方便,分别令上述步骤得到的两个局部本体为局部本体A和局部本体B,对应域A和域B,具体步骤如下a)根据两个局部本体的结构,分别检索到“角色”概念下对应的角色实例。b)在角色实例中,检索出局部本体A中的一个继承角色(因是在跨域角色映射策略中,所以此处的继承角色即A域的外域角色);同时,在局部本体B的角色实例中,检索出其本域角色集合(即域B的跨域直接授权策略中的角色和跨域角色映射策略中的被继承角色),称为角色集合S2。 c)比较局部本地A中的继承角色对应的被继承角色所在的本域直接授权策略与局部本体B的S2中角色所在的跨域直接授权策略的一致性,包括策略条数的一致性、策略中约束元素和权限元素及其关系的一致性,若有不一致,则排除此角色。d)将剩余的角色,比较其各自所在策略中资源元素的近似程度值α以及角色之间的近似程度值β。e)两个因素的近似程度值加权求和α Xweighta + ^ Xweight0,得出总的近似程度值,S2中对应值最大的角色即为步骤b)中局部本体A中检索出的此角色的语义等价角色,两个角色形成语义映射对。f)依次对本体A中的每个继承角色进行b)_e)的过程,得出其余的语义映射对。(4)全局本体生成根据语义映射后得到的策略元素实例的语义映射对(实际为角色实例的语义映射对),将语义映射对中两角色作为实例加入初始策略本体中对应的角色概念下,生成两域共同的全局本体。(5)全局访问控制策略转换,形成全局访问控制策略根据访问控制策略元素实例前的标识序号,搜索全局本体中各概念下对应同一序号的实例,将各实例进行组合,形成全局访问控制策略,此全局访问控制策略元组中的序号为生成全局访问控制策略所用到的访问控制策略的序号集合。3、策略冲突检测模块策略冲突检测模块的实现过程如图5所示。(1)无关策略去除根据访问控制策略有序集中的访问控制策略元素的属性是‘F(F0reign)’还是 ‘L(Local) ’,对访问控制策略有序集进行筛选,去除与域间互操作有关的访问控制策略,即属性为iF(Foreign),的访问控制策略,得到属性为‘L(Local),的访问控制策略,包含本域直接授权策略、本域角色继承策略和用户指派策略。(2)隐含策略分析结合筛选出的本域直接授权策略、本域角色继承策略、用户指派策略,以及多域策略集成模块得到的全局访问控制策略,根据本域角色继承策略和跨域角色映射策略描述的角色间的权限传递关系,分析角色或用户间接拥有的权限,即隐含权限,包含用户对资源的隐含权限和角色对资源的隐含权限,生成隐含的访问控制策略,同时将得出隐含访问控制策略所用的本域直接授权策略、本域角色继承策略、用户指派策略的序号集合作为隐含访问控制策略的序号。(3)策略图及冲突图转换将得到的隐含访问控制策略,结合本域直接授权策略、本域角色继承策略、用户指派策略以及全局访问控制策略,抽取其中的用户、角色和资源作为图的节点,将上述策略作为边,形成策略图;读取冲突规则,将每条冲突规则,抽取其中的用户、角色和资源作为图的节点,将其中的直接授权策略作为角色节点和资源节点之间的边,将其中的角色继承策略作为角色节点和角色节点之间的边,将其中的用户指派策略作为用户节点和角色节点之间的边,转换为图的形式,形成冲突图,每个冲突图中包含一条路径;对策略图和冲突图的节点、边规定如下图中的节点分为了三类用户、角色、资源,用二元组〈type,value〉表示,type有 U、R、S,分别表示用户、角色、资源,value表示具体的用户名、角色名或资源名。图中的边分为三类描述用户指派给角色的用户指派策略形成的边(用类型A表示),描述角色间权限传递的角色继承策略形成的边(用类型T表示),描述角色访问资源的直接授权策略形成的边(用类型V表示),用六元组表示边:<type, value, value, constraint, privilege, location〉,类型(type)有A、T、V三类,两个value为边 所连接的两个节点的value值,约束 constraint 为允许 ρ (permit)、拒绝 d(deny),权限 privilege 为读 r (read)、写 w(write)、 执行e (execute),当类型为A、T时,这constraint字段和privilege字段为空,只有当类型为V时,这两个字段才有值。(4)路径搜索与匹配,检测是否存在冲突、冲突类型和原因根据策略图中由节点连接的边与边之间的关系,得到策略图中由角色节点出发到资源节点的每条路径,并将每条路径与各个冲突图中的路径进行匹配,若匹配成功,则说明存在冲突,根据匹配成功的冲突图类型,得出策略图中发生冲突的冲突类型和冲突原因,若匹配不成功,则直接生成不存在冲突的对话框显示给用户;(5)反向策略查找,查找冲突所在的源策略位置路径匹配成功后,根据上一步骤与冲突图匹配成功的策略图中的路径,根据路径中访问控制策略所应对的序号,反向查找策略图中此路径所在的策略对应的在输入策略文件,即XACML描述的A域策略文件和XACML描述的B域策略文件中的策略名,此策略名即冲突所在的源策略位置。(6)生成冲突分析报告将步骤(4) (5)中得出的是否存在冲突、冲突类型、冲突原因、冲突所在的源策略位置生成冲突分析报告,以报告的形式显示给用户。本发明未详细阐述部分属于本领域公知技术。以上所述是本发明的优选实施方式而已,当然不能以此来限定本发明之权利范围,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和变动,这些改进和变动也视为本发明的保护范围。
权利要求
1. 一种协同环境中访问控制策略冲突检测系统,其特征在于包括访问控制策略预处理模块、多域策略集成模块和策略冲突检测模块;访问控制策略预处理模块将采用XACML描述的两个域的策略文件,即XACML描述的A 域策略文件和XACML描述的B域策略文件中的访问控制策略进行语法语义解析,在对访问控制策略进行解析的同时为每条访问控制策略加入序号,作为所述访问控制策略唯一的标识,解析后形成访问控制策略有序集,将所述访问控制策略有序集送至多域策略集成模块; 所述域为协同环境的基本组成单元,即协同环境中自主进行访问控制策略制定及管理的组织;所述访问控制策略是约束主体对资源操作权限的规则集;所述主体分为用户和角色; 所述资源包含ftp服务器、web服务器、邮件服务器和文件服务器;所述操作权限包含读、 写、执行及其组合;所述访问控制策略有序集包含角色继承策略、直接授权策略和用户指派策略;所述角色继承策略是指规定某角色继承另一角色的操作权限的访问控制策略,形式化为五元组(策略名,‘<’,角色1,角色2,序号),即角色1继承了角色2的权限,‘<’符号代表角色间的继承关系;所述角色继承策略又分为本域角色继承策略和跨越角色映射策略,本域角色继承策略中的角色1和角色2都属于本域,跨越角色映射策略中的角色1属于另一个域(即外域),角色2属于本域;所述直接授权策略是指约束角色对资源操作权限的访问控制策略,形式化为六元组(策略名,约束,角色,资源,操作权限,序号),约束分为允许、拒绝,角色包含管理员角色及系统定义的其他角色,资源包含ftp服务器、web服务器、 邮件服务器和文件服务器,所述操作权限分为读、写、执行及其组合;所述直接授权策略又分为本域直接授权策略和跨域直接授权策略,本域直接授权策略中的角色和资源都属于本域,跨域直接授权策略中的角色属于本域,而资源属于外域;所述用户指派策略是指将用户指派给角色,并拥有角色所有权限的访问控制策略,形式化为五元组(策略名,指派,用户, 角色,序号);所述策略名是指策略制定者制定策略时为策略起的名称,为字符串的形式; 所述角色是指可以直接拥有权限的基本单位,分为管理员角色或管理员定义的其他角色; 所述用户是指资源的使用者;所述指派是指角色和用户之间的指派关系,即将角色所具有的权限分配给用户,使用户拥有角色所拥有的权限;所述序号是指策略的唯一编号;多域策略集成模块根据访问控制策略有序集中的访问控制策略元素属性对访问控制策略预处理模块得到的访问控制策略有序集进行筛选,得到与域间互操作有关的访问控制策略,并结合初始策略本体生成两个域的局部本体,将所述局部本体通过语义映射,生成访问控制策略元素实例之间的语义映射对,根据语义映射对将局部本体转换为全局本体,得到全局访问控制策略,并将全局访问控制策略送至策略冲突检测模块;所述访问控制策略元素属性是指访问控制策略元素是属于本域L(Local)还是属于另外一个域F(Foreign); 所述L是说明此访问控制策略元素是属于本域的;所述F说明此访问控制策略元素是属于另一个域的,本域只是对它进行了引用;所述初始策略本体是协同环境中两个域已知的共同本体;所述共同本体即对两个域共享的访问控制策略模型的明确的形式化规范说明,只包含访问控制策略元素的概念间关系;所述访问控制策略元素包含用户、角色、资源、读、 写、执行、允许、拒绝、继承关系、指派关系;所述访问控制策略元素指所述访问控制策略元素的抽象描述,将访问控制策略元素的概念实例化便形成了访问控制策略元素的实例,即对访问控制策略元素的具体描述;所述局部本体指每个域所使用的访问控制策略元素实例不同,各个域各自使用的访问控制策略元素实例结合上面所述的共同本体,组成了各个域自己的本体,即局部本体,每个域有自己的局部本体;所述全局本体是将各个域使用的访问控制策略元素实例统一起来,再结合所述共同本体,组成了各个域共有的全局本体;所述全局访问控制策略是指不存在语义异构问题的域间角色继承策略;策略冲突检测模块将访问控制策略预处理得到的访问控制策略有序集进行筛选,并结合多域策略集成模块得到的全局访问控制策略,进行隐含策略分析,得到协同环境中隐含的访问控制策略,将访问控制策略有序集、全局访问控制策略和隐含的访问控制策略转换为策略图的形式,同时将冲突规则转换为冲突图的形式,根据策略图中由节点连接的边与边之间的关系,得到策略图中由角色节点出发到资源节点的每条路径,并将所述每条路径与冲突图中的路径进行匹配,若匹配成功,则存在冲突,并得到冲突的类型和原因,通过反向策略查询,即根据导致冲突的访问控制策略的唯一标识一序号,查找其对应的在输入策略文件中的策略名,此策略名即冲突所在的源策略位置,并生成冲突分析报告显示给用户;若匹配不成功,则不存在冲突,并显示对话框提示用户;所述策略图全称为访问控制策略图,即将访问控制策略中的用户、角色和资源作为图的节点,将直接授权策略作为角色和资源之间的边,将角色继承策略作为角色和角色之间的边,将用户指派策略作为用户和角色之间的边,由此形成的图称之为策略图;所述冲突规则为IF-Then的形式,IF语句为冲突规则的前件,描述了策略冲突发生所具备的条件,Then 语句为冲突规则的后件,描述了冲突的类型;所述冲突图是将发生冲突的访问控制策略中的用户、角色和资源作为图的节点,将发生冲突的直接授权策略作为角色和资源之间的边, 将发生冲突的角色继承策略作为角色和角色之间的边,将发生冲突的用户指派策略作为用户和角色之间的边,由此形成的图称之为冲突图。
2.根据权利要求1所述的协同环境中访问控制策略冲突检测系统,其特征在于所述多域策略集成模块实现过程如下(2. 1)根据访问控制策略有序集中的访问控制策略元素的属性是F还是L,对访问控制策略有序集进行筛选,即根据访问控制策略有序集中的访问控制策略元素属性是F还是L, 对访问控制策略有序集中的访问控制策略进行遍历,当遍历到的访问控制策略元素属性是 F时,说明此访问控制策略元素所在的访问控制策略是与域间互操作有关的访问控制策略, 将这些策略保存起来,便得到与域间互操作有关的访问控制策略;(2. 2)以包含访问控制策略元素概念及概念间关系的初始策略本体为基础,将筛选出的访问控制策略中的策略元素添加到初始策略本体对应的概念下,分别形成两个域的局部本体;(2. 3)对局部本体进行语义映射,生成访问控制策略元素实例之间的语义映射对,即根据两个局部本体的本体结构、本体中实例名称和访问控制策略元素间关系,分别计算两个局部本体中对应的角色实例间的近似程度值和资源实例间的近似程度值,两个近似程度值进行加权求和后得到总的近似程度值,近似程度值较大者对应的两个角色即为访问控制策略元素实例之间的语义映射对,同时将语义映射对中的两角色作为实例加入初始策略本体中对应的角色概念下,得到全局本体;(2. 4)根据访问控制策略元素实例前的标识序号,搜索全局本体中各概念下对应同一序号的实例,将各实例进行组合,形成全局访问控制策略。
3.根据权利要求1所述的协同环境中访问控制策略冲突检测系统,其特征在于所述策略冲突检测模块实现过程如下(3. 1)根据访问控制策略有序集中的访问控制策略元素的属性是‘F(Foreign)’还是 ‘L(Local) ’,对访问控制策略有序集进行筛选,去除与域间互操作有关的访问控制策略,即属性为iF(Foreign),的访问控制策略,得到属性为‘L(Local),的访问控制策略,包含本域直接授权策略、本域角色继承策略和用户指派策略;(3. 2)结合筛选出的本域直接授权策略、本域角色继承策略、用户指派策略,以及多域策略集成模块得到的全局访问控制策略,根据本域角色继承策略和跨域角色映射策略描述的角色间的权限传递关系,分析角色或用户间接拥有的权限,即隐含权限,得到隐含访问控制策略;(3. 3)将得到的隐含访问控制策略,结合本域直接授权策略、本域角色继承策略、用户指派策略以及全局访问控制策略,抽取其中的用户、角色和资源作为图的节点,将上述策略作为边,形成策略图;(3. 4)读取冲突规则,将每条冲突规则,抽取其中的用户、角色和资源作为图的节点,将其中的直接授权策略作为角色节点和资源节点之间的边,将其中的角色继承策略作为角色节点和角色节点之间的边,将其中的用户指派策略作为用户节点和角色节点之间的边,转换为图的形式,形成冲突图,每个冲突图中包含一条路径;(3. 5)根据策略图中由节点连接的边与边之间的关系,得到策略图中由角色节点出发到资源节点的每条路径,并将每条路径与各个冲突图中的路径进行匹配,若匹配成功,则说明存在冲突,根据匹配成功的冲突图类型,得出策略图中发生冲突的冲突类型和冲突原因, 若匹配不成功,则直接生成不存在冲突的对话框显示给用户;(3. 6)路径匹配成功后,根据序号反向查找策略图中此路径所在的策略对应的在输入策略文件,即XACML描述的A域策略文件和XACML描述的B域策略文件中的策略名,此策略名即冲突所在的源策略位置,将得到的冲突所在的源策略位置,连同步骤(5)中得出的冲突类型及冲突原因,生成冲突分析报告显示给用户。
4. 一种协同环境中访问控制策略冲突检测方法,其特征在于实现步骤如下 (4. 1)将采用XACML描述的两个域的策略文件,即XACML描述的A域策略文件和XACML 描述的B域策略文件中的访问控制策略进行语法语义解析,在对访问控制策略进行解析的同时为每条访问控制策略加入序号,作为所述访问控制策略唯一的标识,解析后形成访问控制策略有序集,将所述访问控制策略有序集送至多域策略集成模块;所述域为协同环境的基本组成单元,即协同环境中自主进行访问控制策略制定及管理的组织;所述访问控制策略是约束主体对资源操作权限的规则集;所述主体分为用户和角色;所述资源包含ftp 服务器、web服务器、邮件服务器和文件服务器;所述操作权限包含读、写、执行及其组合; 所述访问控制策略有序集包含角色继承策略、直接授权策略和用户指派策略;所述角色继承策略是指规定某角色继承另一角色的操作权限的访问控制策略,形式化为五元组(策略名,‘<’,角色1,角色2,序号),即角色1继承了角色2的权限,‘<’符号代表角色间的继承关系;所述角色继承策略又分为本域角色继承策略和跨越角色映射策略,本域角色继承策略中的角色1和角色2都属于本域,跨越角色映射策略中的角色1属于另一个域(即外域),角色2属于本域;所述直接授权策略是指约束角色对资源操作权限的访问控制策略, 形式化为六元组(策略名,约束,角色,资源,操作权限,序号),约束分为允许、拒绝,角色包含管理员角色及系统定义的其他角色,资源包含ftp服务器、web服务器、邮件服务器和文件服务器,所述操作权限分为读、写、执行及其组合;所述直接授权策略又分为本域直接授权策略和跨域直接授权策略,本域直接授权策略中的角色和资源都属于本域,跨域直接授权策略中的角色属于本域,而资源属于外域;所述用户指派策略是指将用户指派给角色,并拥有角色所有权限的访问控制策略,形式化为五元组(策略名,指派,用户,角色,序号);所述策略名是指策略制定者制定策略时为策略起的名称,为字符串的形式;所述角色是指可以直接拥有权限的基本单位,分为管理员角色或管理员定义的其他角色;所述用户是指资源的使用者;所述指派是指角色和用户之间的指派关系,即将角色所具有的权限分配给用户,使用户拥有角色所拥有的权限;所述序号是指策略的唯一编号;(4. 2)根据访问控制策略有序集中的访问控制策略元素属性对步骤(1)得到的访问控制策略有序集进行筛选,得到与域间互操作有关的访问控制策略,并结合初始策略本体生成两个域的局部本体,将所述局部本体通过语义映射,生成访问控制策略元素实例之间的语义映射对,根据语义映射对将局部本体转换为全局本体,得到全局访问控制策略;所述访 问控制策略元素属性是指访问控制策略元素是属于本域L还是属于另外一个域F ;所述L 是说明此访问控制策略元素是属于本域的;所述F说明此访问控制策略元素是属于另一个域的,本域只是对它进行了引用;所述初始策略本体是协同环境中两个域已知的共同本体; 所述共同本体即对两个域共享的访问控制策略模型的明确的形式化规范说明,只包含访问控制策略元素的概念间关系;所述访问控制策略元素包含用户、角色、资源、读、写、执行、 允许、拒绝、继承关系、指派关系;所述访问控制策略元素指所述访问控制策略元素的抽象描述,将访问控制策略元素的概念实例化便形成了访问控制策略元素的实例,即对访问控制策略元素的具体描述;所述局部本体指每个域所使用的访问控制策略元素实例不同,各个域各自使用的访问控制策略元素实例结合上面所述的共同本体,组成了各个域自己的本体,即局部本体,每个域有自己的局部本体;所述全局本体是将各个域使用的访问控制策略元素实例统一起来,再结合所述共同本体,组成了各个域共有的全局本体;所述全局访问控制策略是指不存在语义异构问题的域间角色继承策略;(4. 3)将步骤(1)得到的访问控制策略有序集进行筛选,并结合步骤(2)得到的全局访问控制策略,进行隐含策略分析,得到协同环境中隐含的访问控制策略,将访问控制策略有序集、全局访问控制策略和隐含的访问控制策略转换为策略图的形式,同时将冲突规则转换为冲突图的形式,根据策略图中由节点连接的边与边之间的关系,得到策略图中由角色节点出发到资源节点的每条路径,并将所述每条路径与冲突图中的路径进行匹配,若匹配成功,则存在冲突,并得到冲突的类型和原因,通过反向策略查询,即根据导致冲突的访问控制策略的唯一标识_序号,查找其对应的在输入策略文件中的策略名,此策略名即冲突所在的源策略位置,并生成冲突分析报告显示给用户;若匹配不成功,则不存在冲突,并显示对话框提示用户;所述策略图全称为访问控制策略图,即将访问控制策略中的用户、角色和资源作为图的节点,将直接授权策略作为角色和资源之间的边,将角色继承策略作为角色和角色之间的边,将用户指派策略作为用户和角色之间的边,由此形成的图称之为策略图;所述冲突规则为IF-Then的形式,IF语句为冲突规则的前件,描述了策略冲突发生所具备的条件,Then 语句为冲突规则的后件,描述了冲突的类型;所述冲突图是将发生冲突的访问控制策略中的用户、角色和资源作为图的节点,将发生冲突的直接授权策略作为角色和资源之间的边, 将发生冲突的角色继承策略作为角色和角色之间的边,将发生冲突的用户指派策略作为用户和角色之间 的边,由此形成的图称之为冲突图。
全文摘要
协同环境中访问控制策略冲突检测系统及方法,首先解决了基于角色映射的域间互操作协同环境中各域所使用的访问控制策略语义异构的问题,并在此基础上解决了这种协同环境中的访问控制策略冲突问题,特别适用于语义异构的协同环境中。本技术采用改进的基于语义集成的策略集成算法和基于子图同构的策略冲突检测算法作为本发明使用的主要算法。协同环境中访问控制策略冲突检测技术的主要活动包括策略预处理、多域策略集成和策略冲突检测活动。它可以检测协同环境中通过角色映射进行域间互操作而产生的访问控制策略冲突,以防止未授权访问等安全问题的发生。
文档编号G06F21/00GK102387145SQ201110322928
公开日2012年3月21日 申请日期2011年10月21日 优先权日2011年10月21日
发明者夏春和, 梁晓艳, 罗杨, 范贝贝, 薄阳 申请人:北京航空航天大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1