论文部分内容阅读
可扩展访问控制标记语言XACML(eXtendible Access Control Markup Language)是一种专门用于描述安全访问控制策略,具有可扩展性、可重用性、分布式和描述能力强等特点的语言。它解决了访问控制策略规则描述的专制性问题,建立了一个通用的访问控制语言规则。目前基于角色的访问控制系统(RBAC, Role-based Access Control)大多是采用数据库表形式描述权限策略的。然而,数据库表形式对权限数据的描述表达能力不强,描述的专制性强、交互性弱,权限数据管理集中,XACML语言以其自身特有的优势弥补了以上的不足。随着基于XACML语言策略描述形式的新型访问控制系统的出现和普及,就会要求原有的基于数据库表形式描述策略的访问控制系统能够快速迁移到新型访问控制系统中去,其中权限策略数据的移植就成为一个首要突出的问题:即如何将数据库表形式描述的具有RBAC特点的策略数据转换成以XACML语言形式描述的策略数据。针对该问题,论文系统地研究了RBAC理论模型、XACML语言特点、XACML语言的RBAC描述框架以及转换技术XSLT/XPATH,提出了存储在数据库中具有RBAC特点的策略数据到XACML语言策略的转换方案的设计与实现。在实际的访问控制应用中,为了能够更好地对XACML策略进行分布式管理和维护,以及快速的检索,研究了XACML策略的存储方案。鉴于数据库表形式的数据和XACML语言形式的数据都是结构化数据,且都可以方便地用XML语言形式来描述,所以论文采用了成熟的XSLT/XPATH转换技术,实现了基于RBAC模型的数据库表形式策略和XACML形式策略之间的转换。论文研究了如何将XACML策略存储在具有分布式特点的LDAP服务器中,提出了两种存储方案:第一种是基于XACML策略RBAC框架特点的存储方案,在LDAP服务器中建立了框架中四类策略相对应的分支,分别存储不同类型的策略,策略的内容作为一个整体存入条目某个属性中;第二种是基于XACML策略模型特点的存储方案,一个XACML策略中的元素对应LDAP服务器中目录信息树的某个条目,策略中的元素属性对应该条目的属性,一个XACML策略就是由许多条目组成,这些条目之间组成了一个树型结构。论文根据XACML规范的数据流图模型,建立了基于XACML策略的访问控制系统,其中策略的存储是基于上述第二种存储方案实现的。