1 / 10
文档名称:

基于XPath 分解XML 文档的完整性检查.doc

格式:doc   页数:10
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

基于XPath 分解XML 文档的完整性检查.doc

上传人:1006108867 2013/12/5 文件大小:0 KB

下载得到文件列表

基于XPath 分解XML 文档的完整性检查.doc

文档介绍

文档介绍:基于XPath分解XML文档的完整性检查
刘宝龙收稿日期: 2012-04-10
作者简介:刘宝龙(1976-),男,西安工业大学计算机科学与工程学院,博士,主要从事XML安全技术方面的研究。Email: @ 手机:**********
*通讯作者:刘宝龙 Email: @
*, 刘念, 陈桦
(西安工业大学计算机科学与工程学院,中国,西安,710032)
摘要:XML文档的分解在XML数据安全、文档发布中有着广泛的应用,XML文档在分解时需要考虑两个问题:首先,每一个分解的子文档应该是有意义的。其次,数据完整性机制应能检查每一个子文档的完整性。本文利用Xpath路径表达式实现XML数据的分解,并提出建立一个XML数据完整性检查池来提供分解后的XML数据完整性检查。利用XPath表达式,在保持子文档有效性的同时易于实现XML文档的分解。利用建立的数据完整性检查池,用户可以检查所得数据的完整性,而不需要和其他用户的协作。该方法的提出为细粒度安全环境中对XML文档的保护及发布提供了新的思路,为XML应用奠定了安全基础。
关键词:XPath;完整性检查池;DOM-HASH;DTD
中图号: 文献标志码:A
XML文档分解在XML数据安全中有着广泛的应用,比如:基于信任第三方文档的发布、基于工作流的多重XML数字签名及加密等。文献[1]中提出了一种XML文档分解的方案。该方案假定文档可以被分解成一系列不交叉的更小的子文档,记为,其中每一个仅包含一个独立的对象,并假定是一个顺序序列,因此整个文档可以看做是这些子文档连接的结果,即:。尽管上述方法可以分解一个XML文档,但是该方案的一个主要缺陷是:假设每一个文档可以被分割成一系列的子文档,并且每一个子文档是有效的。这是一个严格的假设,因为一个完整的有效的主题或许包含一个文档的几个部分。保持这些子文档的完全有效性是不容易的。利用XML数据的结构,文献[2]采用Xpath路径集合来分解一个文档,并生成一系列子文档,其中代表XPath表达式。通过XPath表达式,用户
可以容易的获得一个子文档。这个方案的主要优点是基于Xpath分解的文档可以保证每个文档的完整含义。然而,这个方案中存在两个明显的缺陷。首先,在文档分解过程中,每一个子文档的完整性检查依赖公式,这表明原始文档的每一个部分必须被完全的分派,否则完整性检查将是不可行的。比如,假设一个文档由5个部分组成,实际应用中只需要对其中的3个部分进行处理。这样一来,其余2部分并没有被分派,按照公式进行完整性检查时总会返回一个失败的完整性检查;其次,子文档的完整性检查需要所有分解结果在线协同检查,这在实际应用中随着分解数目的增加是不现实的。
基于以上分析,本文利用XPath表达式来分解XML数据,并设计一个完整性检查池来检查分解子文档的完整性。该方案的基本思路是对原XML数据进行最小单位的XPath分解,并将分解的结果利用HASH算法进行处理,采用自下而上的验证过程,用户利用完整性检查池中提供的对应路径的摘要值,可自行完成分派数据的完整性检查,不需要同其用户进行协同检查,而且XML数据不需要全部被分解,可以离线完成完整性验证。该方法的提出为细粒度安全环境中对XML文档的保护奠定了基础,为X