基于多种优化机制的xacml策略评估引擎系统的制作方法

文档序号:6400148阅读:210来源:国知局
专利名称:基于多种优化机制的xacml策略评估引擎系统的制作方法
技术领域
本发明属于网络与信息安全技术领域,涉及分布式环境中XACML策略评估技术,具体的说是一种提高分布式环境下XACML策略评估效率的系统,可用于云计算、社交网络、Web服务等分布式环境下对海量用户的访问请求及时进行决策。
背景技术
XACML (extensible Access Control Markup Language)是一种可扩展的访问控制标记语言,它是在 2003 年 2 月由 OASIS (Organization for the Advancement ofStructured Information Standards)组织制定的用于决定用户访问请求的通用访问控制策略描述语言。作为一种访问控制策略描述语言,与其他访问控制策略描述语言相比,XACML具有通用性、可扩展性、功能强大的特点,已成为许多企业应用和商业产品实现安全授权功能的实际标准。XACML策略是用XACML标准描述的访问控制策略,该策略包含若干策略集,每个策略集由多个策略组成,每个策略由一组保证网络资源不被非法使用的规则组成,当用户申请访问资源时,访问控制模块通过评估XACML策略对用户进行授权。云计算、社交网络、Web服务等应用需要指定大量的XACML策略对资源进行细粒度访问控制。但随着系统用户和资源数量的不断增加,如,截止2012年9月30日,新浪微博的用户数量已达
4.24亿,平均每天活跃用户达到4230万,XACML策略包含的规则数越来越多,结构越来越复杂,XACML策略评估效率已成为制约系统可用性的关键瓶颈,亟需一种高效的XACML策略评估引擎对海量用户的请求及时做出正确授权。现有开源的XACML策略评估引擎系统主要有Sun公司的XACML策略评估引擎系统、AXESC0N XACML策略评估引擎系统和Enterprise XACML策略评估引擎系统。其中:Sun公司的XACML策略评估引擎系统采用遍历匹配方式,在当前具有大规模XACML策略的分布式环境中,该系统对用户访问请求进行授权需要遍历匹配所有XACML策略,策略评估效率很低。AXESC0N XACML策略评估引擎系统提供了策略载入和策略缓存功能,但其仍然按照XACML策略文件的嵌套结构逐层匹配,没有对匹配逻辑优化,也没引入高效的索引结构,策略评估效率较低。Enterprise XACML策略评估引擎系统提供了策略索引功能,在一定程度上缩减了策略检索范围,但其索引结构没有考虑规则目标的匹配优化问题,规则仍然是逐层匹配方式,策略评估效率较低。上述开源的XACML策略评估引擎的评估效率都比较低,不能为分布式环境下海量用户的访问请求及时做出正确决策。近年来,XACML策略评估效率问题也引起了学术界的广泛关注。美国学者AlexXLiu等人把字符串XACML策略转化为数值化的XACML策略,把字符串比较变为数值比较,从而提高了 XACML策略评估效率,但该系统只支持XACML策略当中的首次适用合并算法,而不支持其它三种合并算法,此外该系统由于没有考虑对XACML策略中的冗余规则进行精简操作,其冗余规则仍然存在。中国学者王雅哲等人提出的多层次优化技术的XACML策略评估引擎系统,虽然提高了 XACML策略评估效率,但该系统由于不能保证缓存内容一定是频繁调用的,且其XACML策略匹配仍然是字符串比较,因而XACML策略评估效率低,不能满足在云计算、社交网络等分布式环境下需要对海量用户同时发出的访问请求及时做出正确决策的要求。

发明内容
本发明的目的在于针对当前XACML策略评估引擎系统的缺点,提出一种基于多种优化机制的XACML策略评估引擎系统,以提高策略评估效率,满足对云计算、社交网络分布式环境下海量用户同时发出的访问请求需要及时做出正确决策的要求。本发明的技术方案是这样实现的:一.技术原理XACML策略规模庞大和遍历式匹配XACML策略的授权方式是影响XACML策略评估引擎评估效率的两大主要因素,本发明针对这两大主要因素,使用统计分析机制动态精化策略,缩减策略规模,通过数值化机制将文本的XACML策略转化为数值的XACML策略,使评估引擎系统使用高效的整数比较,而不再是低效的字符串匹配,通过多种缓存机制有效降低评估引擎和其他功能部件的通信损耗,将原来的遍历式、字符串匹配转化为选择性的数值比较,提高XACML策略评估引擎的效率。二.系统组成本发明基于多种优化机制的XACML策略评估引擎系统包括:审计服务单元1,用于记录系统的访问请求、请求响应、策略集属性的调用信息,为策略决策服务单元3中的统计分析模块提供最准确的原始数据;策略管理服务单元2,用于提供一个集中式的图形化XACML策略管理平台,完成XACML策略的基本操作、动态XACML策略精化、XACML策略的数值化;策略决策服务单元3,用于根据从属性断言服务单元5和策略持久化服务单元4中获取的相关信息对用户的访问请求进行授权决策;策略持久化服务单元4,用于存储策略管理服务单元2创建的XACML策略、支持多种XACML策略存储方式及XACML策略库的动态添加和注销,并对策略决策服务单元3提供XACML策略检索服务;属性断言服务单元5,用于提供属性断言存储和发布服务,为策略决策服务单元3提供属性检索功能;上述的策略决策服务单元3,包括:上下文处理器模块31,用于将原始用户资源访问请求解析为XACML请求并发送给评估引擎模块32,并将评估引擎模块32返回的判断结果封装为XACML响应格式发给用户;评估引擎模块32,用于从多级缓存模块33中获取属性、请求及对应结果、XACML策略信息,并将获取的相关信息与用户访问请求中指定的实体信息进行匹配,根据匹配结果对访问请求执行授权决策,并将决策结果返回给上下文处理器模块31 ;多级缓存模块33,用于将频繁调用的属性、XACML策略和请求及对应结果信息存储在缓存中,以有效降低评估引擎模块32和其他功能部件的通信损耗,提高决策效率;
统计分析模块34,用于对审计服务的日志信息进行分析,利用统计分析得到的属性、XACML策略和请求及对应结果的调用频率,实时、动态更新缓存内容,调整XACML策略的规则顺序,保证多级缓存模块33中存储的内容都是频繁使用的,保证调用最频繁的规则排在XACML策略的最前面,以提高XACML策略匹配速度。上述基于多种优化机制的XACML策略评估引擎系统,其特征在于策略管理服务单元2,包括:XACML策略基本操作模块21,用于提供创建、修改、删除和更新XACML策略的图形化操作界面;动态XACML策略精化模块22,用于实现XACML策略匹配的前期优化;策略数值化模块23,用于将文本的XACML策略转化为数值化的XACML策略,使评估引擎使用高效的整数比较,而不再是低效的字符串匹配;策略持久化服务远程过程调用模块24,用于为策略管理服务单元2和策略持久化服务单元4提供交互接口。上述的基于多种优化机制的XACML策略评估引擎系统,其特征在于策略持久化服务单元4,包括:策略持久化存储模块41,用于存储系统中的XACML策略文件,支持多种XACML策略存储方式及XACML策略库的动态添加和注销;策略检索模块42,用于响应来自策略决策服务单元3的XACML策略检索请求,并将查找到的XACML策略的内容返回给策略决策服务单元3。上述的基于多种优化机制的XACML策略评估引擎系统,其特征在于属性断言服务单元5,包括:属性存储模块51,用于存储用户属性和资源属性,支持多种属性存储方式及属性库的动态添加和注销;属性检索模块52,用于响应来自策略决策服务单元3的属性检索请求,并将查找到的属性以SAML断言格式返回给策略决策服务单元3。上述的基于多种优化机制的XACML策略评估引擎系统,其特征在于动态XACML策略精化模块22,包括:冗余规则分析模块221,用于利用状态覆盖法,检测XACML策略中不产生实际判定影响的冗余规则,并将冗余规则删除来缩减XACML策略的规模;规则重排序模块222,用于从统计分析模块34获取XACML策略规则的调用频率,并根据调用频率由高到低调整规则顺序。上述的基于多种优化机制的XACML策略评估引擎系统,其特征在于多级缓存模块33,包括:属性缓存模块331,用于保存频繁检索的属性信息,以减少导致系统响应延迟的频繁属性检索操作,提高评估引擎的效率;请求及对应结果缓存模块332,用于保存频繁的访问请求及对应响应结果,当再次访问时,不必触发属性检索、策略检索及策略匹配等导致系统响应延迟的复杂流程,提高评估引擎的效率;策略缓存模块333,用于保存频繁检索的XACML策略文件,以减少导致系统响应延迟的频繁XACML策略检索操作,提高评估引擎的效率。本发明具有如下优点:I)本发明用在云计算、社交网络、Web服务等分布式环境下为海量用户的访问请求及时进行授权决策,其策略决策服务单元采用了统计分析机制可实时、动态更新缓存内容,调整XACML策略规则顺序,保证多级缓存模块中存储的内容都是频繁调用的,保证调用最频繁的规则排在XACML策略的最前面,减少了 XACML策略匹配运算量,提高了 XACML策略评估引擎的效率;2 )本发明的策略管理服务单元由于使用状态覆盖法去除了冗余规则,利用统计分析机制按规则使用频率由高到低的顺序重排序规则,从而缩减了 XACML策略的规模,减少了 XACML策略匹配运算量,提高了 XACML策略评估引擎的效率;3)本发明的策略管理服务单元由于采用数值化技术将文本的XACML策略转化为数值的XACML策略,使评估引擎使用高效的整数比较,而不再是低效的字符串匹配,提高了XACML策略匹配速度,提高了 XACML策略评估引擎的效率;4)本发明的策略决策服务单元由于采用多种缓存机制有效降低评估引擎和其他功能部件的通信损耗,减少了 XACML策略匹配运算量,提高了 XACML策略匹配速度,提高了XACML策略评估引擎的效率;本发明可方便地同分布式环境中访问控制的其他功能部件协同工作,具有易于集成,评估效率高,匹配运算量小,通用性强,功能实用等优点,在分布式环境下能为海量用户同时发出的访问请求及时做出正确决策。


图1是本发明的总体系统框图;图2是本发明中的审计服务单元结构图;图3是本发明中的策略管理服务单元结构图;图4是本发明的策略决策服务单元结构图;图5是本发明的策略持久化服务单元结构图;图6是本发明的属性断言服务单元结构图;图7是基于多种优化机制的XACML策略评估引擎系统的完整评估决策时序图。
具体实施例方式以下参照附图对本发明做进一步详细说明参照图1,本发明主要包含五个功能部件单元:审计服务单元1、策略管理服务单元2、策略决策服务单元3、策略持久化服务单元4和属性断言服务单元5。其中,审计服务单元I记录系统的访问请求、请求响应、策略集属性调用等信息;策略管理服务单元2,提供一个集中式的图形化策略管理平台,完成策略的基本操作、动态XACML策略精化、XACML策略的数值化;策略决策服务单元3,根据从属性断言服务单元5和策略持久化服务单元4中获取的相关信息对用户的访问请求进行授权决策;策略持久化服务单元4,存储策略管理服务单元2创建的XACML策略、支持多种XACML策略存储方式及XACML策略库的动态添加和注销,并对策略决策服务单元3提供XACML策略检索服务;属性断言服务单元5,提供属性断言存储和发布服务,为策略决策服务单元3提供属性检索功能。各功能部件的结构及工作原理如下:(一)审计服务单元I参照图2,审计服务单元I主要由审计日志模块构成,用于记录策略管理服务单元
2、策略决策服务单元3、策略持久化服务单元4、属性断言服务单元5的交互信息,为策略决策服务单元3的统计分析模块34提供最准确的原始数据。 (二)策略管理服务单元2参照图3,策略管理服务单元2包括:策略基本操作模块21、动态策略精化模块22、策略数值化模块23和策略持久化服务远程过程调用模块24。该单元的策略基本操作模块21,主要为系统管理员提供创建、修改、删除和更新策略的图形化操作界面。动态策略精化模块22,用来实现策略匹配的前期优化,其包括冗余规则分析模块221和规则重排序模块222 ;该冗余规则分析模块221,采用状态覆盖法检测不产生实际判定影响的冗余规则并将其删除来缩减策略规模;该规则重排序模块222,从统计信息中获取规则调用频率并根据调用频率由高到低的顺序重新调整去除冗余后的规则顺序。策略数值化模块23,将文 本的XACML策略转化为数值化策略,使评估引擎使用高效的整数比较,而不再是低效的字符串匹配。策略持久化服务远程过程调用模块24,为策略管理服务单元2和策略持久化服务单元4提供交互接口 ;策略管理服务单元2通过该接口既能将管理员创建、修改的策略存储到策略持久化服务单元4,又能对策略持久化服务单元4中存储的策略进行修改、删除和动态精化等操作。(三)策略决策服务单元3参照图4,策略决策服务3包括:上下文处理器模块31、评估引擎模块32、多级缓存模块33和统计分析模块34。多级缓存模块33包括属性缓存模块331、请求及对应结果缓存模块332和策略缓存模块333。属性缓存机制采用两层映射模式,第一层映射由主体标识和属性标识列表构成,每个属性标识对应一个属性值列表构成第二层映射;请求及对应结果缓存机制按照请求标识《会话标识、会话标识^>决策结果两层映射模式构建;策略缓存机制采用两级索引机制,将资源标识作为第一级索引的主键,每个主键指向一系列用来保护该资源的策略列表,第二级索引针对策略内多个规则的目标元素,依次从目标元素中提取资源属性和动作属性,并计算二者的笛卡尔乘积作为二级索引的主键,主体属性列表作为键值。该单元的上下文处理器模块31,将原始用户资源访问请求解析为XACML请求并发送给评估引擎模块32,然后将评估引擎模块32返回的判断结果封装为XACML响应发给用户。评估引擎模块32,先从多级缓存模块33中获取属性、请求及对应结果、策略信息,然后将获取的这些信息与访问请求中指定的实体信息进行匹配,最后根据匹配结果对访问请求执行授权决策,若匹配成功则允许访问,否则拒绝访问。多级缓存模块33,根据统计分析模块34提供的属性、策略和请求及对应结果调用频率,将频繁调用的属性、策略和请求及对应结果信息存储在缓存中,以有效降低评估引擎和其他功能部件的通信损耗,提高决策效率。统计分析模块34,用于对审计服务单元I的日志信息进行分析,利用统计分析得到的属性、XACML策略和请求及对应结果的调用频率,实时、动态更新缓存内容,调整XACML策略的规则顺序,保证多级缓存模块33中存储的内容都是频繁使用的,保证调用最频繁的规则排在XACML策略的最前面,以提高XACML策略匹配速度。(四)策略持久化服务单元4参照图5,策略持久化服务4包括:策略持久化存储模块41和策略检索模块42。该单元的策略持久化存储模块41,用于存储策略管理服务单元2创建的XACML策略文件,支持多种XACML策略存储方式及XACML策略库的动态添加和注销。策略检索模块42,用于响应来自策略管理服务单元2和策略决策服务单元3的XACML策略检索请求,并将查找到的XACML策略的内容返回给策略管理服务单元2和策略决策服务单元3。(五)属性断言服务单元5参照图6,属性断言服务5包括:属性存储模块51和属性检索模块52。该单元的属性存储模块51,用于存储用户属性和资源属性,支持多种属性存储方式及属性库的动态添加和注销。属性检索模块52,响应来自策略决策服务单元3的属性检索请求,并将查找到的属性以SAML断言格式返回给策略决策服务单元3。参照图7,本发明基于多种优化机制的XACML策略评估引擎系统的完整评估决策流程如下:(I)用户发出访问请求,请求中包含用户身份标识、资源标识和执行的操作信息,策略决策服务单元3中的上下文处理器模块31将用户的原始请求转换为XACML格式的访问请求并发给评估引擎模块32进行决策。(2)评估引擎模块32对XACML格式的访问请求进行处理,根据请求和此次会话标识ID在请求及对应结果缓存模块332中检索是否有关于该请求对应的判定结果,若请求及对应结果缓存模块332中存在判定结果,则评估引擎模块32直接将其封装为XACML格式的响应返回给上下文处理器模块31 ;若没有检索到判定结果,则评估引擎模块32首先判断属性缓存模块331中是否有该用户的相关属性;若有该用户的相关属性,则直接返回给评估引擎模块32 ;若没有检索到该用户的相关属性,则从属性断言服务单元5检索用户的属性;若检索到用户的属性,则把检索到的用户属性返回给评估引擎模块32;若没有检索到该用户的相关属性,则提示非法访问。(3)得到用户的属性信息后,评估引擎模块32先根据访问请求中的资源标识作为策略缓存机制的一级索引主键在策略缓存模块333中检索用来保护该资源的策略列表,然后将访问请求中资源属性和动作属性的笛卡尔乘积作为策略缓存机制的二级索引的主键在这些策略列表中检索对应的用户属性集。(4)从保护该资源的XACML策略文件中得到用户属性集后,评估引擎模块32将这些属性集与从属性缓存331或属性断言服务单元5中得到的该用户的属性集进行匹配,若两个属性集相同,则匹配成功,允许用户访问;若两个属性集不相同,则匹配不成功,拒绝用户访问。评估引擎模块32根据匹配结果得到对应的授权决策结果,并将授权决策结果转换为XACML格式的响应返回给上下文处理器模块31,上下文处理器模块31将请求响应返回给用户。为了提高XACML策略评估引擎系统的评估效率,本发明提供了统计分析模块34,系统管理员利用统计分析得到的属性、XACML策略和请求及对应结果的调用频率,实时、动态更新缓存内容,调整XACML策略的规则顺序,保证多级缓存模块33中存储的内容都是频繁使用的,保证调用最频繁的规则排在XACML策略的最前面,以减少XACML策略的匹配运算量,提高XACML策略匹配速度,达到提高XACML策略评估引擎系统评估效率的目的。术语解释:XACML为可扩展的访问控制标记语言,英文全称是extensible Access ControlMarkup Language,它是用于决定请求/响应的通用访问控制策略语言,SAML 为安全断言标记语言,英文全称是 Security Assertion Markup Language,它是用于在不同的安全域之间交换认证和授权数据的标准语言,SunXACML PDP 为开源商业 XACML 引擎,AXESCON XACML 为开源商业 XACML 引擎,Enterprise XACML 为开源商业 XACML 引擎,会话标识为访问请求期内用户激活的访问会话的标识。
权利要求
1.一种基于多种优化机制的XACML策略评估引擎系统,包括: 审计服务单元(1),用于记录系统的访问请求、请求响应、策略集属性的调用信息,为策略决策服务单元(3)中的统计分析模块(34)提供最准确的原始数据; 策略管理服务单元(2),用于提供一个集中式的图形化XACML策略管理平台,完成XACML策略的基本操作、动态XACML策略精化、XACML策略的数值化; 策略决策服务单元(3),用于根据从属性断言服务单元(5)和策略持久化服务单元(4)中获取的相关信息对用户的访问请求进行授权决策; 策略持久化服务单元(4),用于存储策略管理服务单元(2)创建的XACML策略、支持多种XACML策略存储方式及XACML策略库的动态添加和注销,并对策略决策服务单元(3)提供XACML策略检索服务; 属性断言服务单元(5),用于提供属性断言存储和发布服务,为策略决策服务单元(3)提供属性检索功能; 所述的策略决策服务单元(3),包括: 上下文处理器模块(31),用于将原始用户资源访问请求解析为XACML请求并发送给评估引擎模块(32),并将评估引擎模块(32)返回的判断结果封装为XACML响应格式发给用户; 评估引擎模块(32),用于从多级缓存模块(33)中获取属性、请求及对应结果、XACML策略信息,并将获取的相关信息 与用户访问请求中指定的实体信息进行匹配,根据匹配结果对访问请求执行授权决策,并将决策结果返回给上下文处理器模块(31); 多级缓存模块(33),用于将频繁调用的属性、XACML策略和请求及对应结果信息存储在缓存中,以有效降低评估引擎模块(32)和其他功能部件的通信损耗,提高决策效率;统计分析模块(34),用于对审计服务单元I的日志信息进行分析,利用统计分析得到的属性、XACML策略和请求及对应结果的调用频率,实时、动态更新缓存内容,调整XACML策略的规则顺序,保证多级缓存模块(33)中存储的内容都是频率使用的,保证调用最频繁的规则排在XACML策略的最前面,以提高XACML策略匹配速度。
2.根据权利要求1所述的基于多种优化机制的XACML策略评估引擎系统,其特征在于策略管理服务单元(2),包括: XACML策略基本操作模块(21),用于提供创建、修改、删除和更新XACML策略的图形化操作界面; 动态XACML策略精化模块(22),用于实现XACML策略匹配的前期优化; 策略数值化模块(23),用于将文本的XACML策略转化为数值化的XACML策略,使评估引擎使用高效的整数比较,而不再是低效的字符串匹配; 策略持久化服务远程过程调用模块(24),用于为策略管理服务单元(2)和策略持久化服务单元(4)提供交互接口。
3.根据权利要求1所述的基于多种优化机制的XACML策略评估引擎系统,其特征在于策略持久化服务单元(4),包括: 策略持久化存储模块(41 ),用于存储系统中的XACML策略文件,支持多种XACML策略存储方式及XACML策略库的动态添加和注销; 策略检索模块(42),用于响应来自策略决策服务单元(3)的XACML策略检索请求,并将查找到的XACML策略的内容返回给策略决策服务单元(3)。
4.根据权利要求1所述的基于多种优化机制的XACML策略评估引擎系统,其特征在于属性断言服务单元(5),包括: 属性存储模块(51),用于存储用户属性和资源属性,支持多种属性存储方式及属性库的动态添加和注销; 属性检索模块(52),用于响应来自策略决策服务单元(3)的属性检索请求,并将查找到的属性以SAML断言格式返回给策略决策服务单元(3)。
5.根据权利要求2所述的基于多种优化机制的XACML策略评估引擎系统,其特征在于动态XACML策略精化模块(22),包括: 冗余规则分析模块(221),用于利用状态覆盖法,检测XACML策略中不产生实际判定影响的冗余规则,并将冗余规则删除来缩减XACML策略的规模; 规则重排序模块(222),用于从统计分析模块(34)获取XACML策略规则的调用频率,并根据调用频率由高到低调整规则顺序。
6.根据权利要求1所述的基于多种优化机制的XACML策略评估引擎系统,其特征在于多级缓存模块(33),包括: 属性缓存模块(331),用于保存频繁检索的属性信息,以减少导致系统响应延迟的频繁属性检索操作,提高评估引擎的效率; 请求及对应结果缓存模块(332),用于保存频繁的访问请求及对应响应结果,当再次访问时,不必触发属性检索、策略 检索及策略匹配等导致系统响应延迟的复杂流程,提高评估引擎的效率; 策略缓存模块(333),用于保存频繁检索的XACML策略文件,以减少导致系统响应延迟的频繁XACML策略检索操作,提高评估引擎的效率。
全文摘要
本发明提出了一种基于多种优化机制的XACML策略评估引擎系统,解决现有XACML策略评估引擎系统不能为海量用户同时发出的访问请求及时做出正确决策的问题。该系统包括审计服务(1)、策略管理服务(2)、策略决策服务(3)、策略持久化服务(4)和属性断言服务(5);审计服务(1)记录系统的交互信息;策略管理服务(2)提供集中式的图形化策略管理平台;策略决策服务(3)对用户请求进行决策;策略持久化服务(4)提供策略存储和策略检索功能;属性断言服务(5)提供属性存储和属性检索功能。本发明具有评估效率高,匹配运算量小,匹配速率快和易于集成的优点,可用于分布式环境下为海量用户的访问请求及时做出正确决策。
文档编号G06Q10/04GK103198361SQ20131007501
公开日2013年7月10日 申请日期2013年3月9日 优先权日2013年3月9日
发明者牛德华, 马建峰, 马卓, 王蕾, 李辰楠 申请人:西安电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1