论文部分内容阅读
随着Internet的迅猛发展,越来越多的应用基于网络展开,而作为网络上数据表示和交换的事实标准,XML也被这些应用大量使用。XML作为信息的载体在网络上的广泛应用带来了XML的安全问题。而XML的安全问题在某种程度上限制了XML的进一步应用,因此人们日益关注并重视XML的安全问题。 目前XML安全问题研究的主要领域有:XML加密、XML数字签名和XML访问控制。其中XML加密技术和XML数字签名技术已经比较成熟,W3C也有与它们相关的推荐标准。而XML访问控制技术还处在研究阶段,国内外很多机构和专家都在研究XML访问控制的问题,力求形成一个较为完善和统一的标准。 本文对XML访问控制技术作了详细的研究,主要研究如何使得多个合法用户共享XML文档而不会产生冲突、信息泄漏等问题。在此基础上,本文设计并实现了一个XML访问控制系统——XACS。XACS系统有机结合了本文设计的X-RBAC模型和扩展的XQuery语言。 X-RBAC是RBAC(Role-based Access Control,基于角色的访问控制)的XML实现,用来建立访问控制模型。RBAC模型具有灵活性、方便性和安全性的特点,因此成为访问控制策略的首选。但一股的RBAC模型都是建立在数据库系统基础之上,对数据库系统有一定的依赖性,通用性不够。本系统所设计的X-RBAC通过定义一系列XML文档来建立访问控制模型。由于XML的平台无关性,因此基于XML建立的X-RBAC也同样具有平台无关性。 XQuery是W3C推荐的XML查询语言,并且极有可能成为最终标准,因此本系统采用XQuery作为XML的访问语言。但目前的XQuery语言仅支持查询操作,为此本系统在分析XQuery现有语义和语法的基础上,增加了更新操作的语义和语法。 由于XQuery语言中使用path表达式在XML文档中进行导航式访问,因此XACS系统使用path表达式来定义权限。为了简化管理员对访问控制模型的管理,本文在定义权限的path表达式中引入了参数函数。 本文介绍了扩展XQuery语言的更新语义和语法的设计,X-RBAC模型的设计,对XACS系统的总体框架、各子系统的设计和实现方法作了详细的阐述,并给出了XACS系统的应用实例。 X-RBAC模型的提出、XQuery语言的扩展和path表达式中参数函数的引入构成了本文的特色和创新之处。 在XACS系统中,授权用户通过扩展XQuery语言对XML文档进行查询和更新等各种访问操作,而这些访问操作有效与否则必须通过X-RBAC模型来作出判断。因此,XACS系统有效地解决了多用户共享XML文档所带来的信思泄漏问题,有利于促进XML的进一步广泛应用。