论文部分内容阅读
如何确保信息的安全性以及对关键资源的安全访问已经成为重要的研究课题,其中访问控制是确保系统安全的一个重要手段。XACML (eXtensible Access Control Markup Language,可扩展的访问控制标记语言)已经逐渐成为访问控制的主要标准之一,这就要求XACML具有高效的策略评估引擎。然而当规则和策略数达到一定规模时,策略评估性能很容易成为制约系统可用性的瓶颈,所以亟需提升策略评估引擎性能以保证系统可用性。针对这一问题,本文从XACML策略本身潜在的不足出发从规则压缩、冗余消除、属性数值化和动态重排序四个方面对XACML策略进行优化。规则压缩将简单规则压缩成复杂规则,将匹配次数从乘数级降至加数级。冗余消除在不影响策略评估结果的前提下去除策略库中的冗余规则及冗余状态,缩小策略库规模。属性数值化将文本的XACML策略属性转化为数值的属性,使评估引擎匹配方式使用高效的数值匹配,而不是低效的字符串匹配,同时使用Hash表结构存储数值属性与文本属性的映射关系有利于策略维护。动态重排序有效利用策略执行统计数据,同时考虑策略和规则复杂度,动态调整策略和规则在策略库和策略的顺序,使优先级高的策略与规则置于执行队列前端。本文提出的策略优化方法除动态重排序外都属于判定前的策略预处理过程,与策略匹配评估的具体流程相对独立,侵入性较弱,因此可作为共性优化技术与其他策略评估引擎融合使用。在仿真实验与结果分析中,本文为验证所研究和提出优化方法的有效性,列出各种优化方法的运行时间和效率比。实验结果表明与Sun XACML相比各优化方法对性能都有不同程度提升。最后,本文将所有优化方法融合,并与商业应用策略评估引擎XEngine进行综合对比分析。实验结果表明将各优化方法进行融合后策略评估引擎性能进一步得到质的提升,性能远优于Sun XACML,且优于商业应用策略评估引擎XEngine 。