APP下载

细粒度XML数字签名的上下文参考完整性研究

2016-02-27刘宝龙

计算机技术与发展 2016年7期
关键词:数字签名完整性文档

陈 桦,杨 威,刘宝龙

(西安工业大学 计算机科学与工程学院,陕西 西安 710021)

细粒度XML数字签名的上下文参考完整性研究

陈 桦,杨 威,刘宝龙

(西安工业大学 计算机科学与工程学院,陕西 西安 710021)

针对XML签名元素的上下文关联信息保护缺失的问题,文中提出了签名元素的上下文参考完整性,建立了签名元素的上下文关联元素的获取规则,设计了上下文关联元素的获取算法以及上下文参考完整性的验证方案。研究结果表明:基于文中的获取规则及算法,可实现签名元素的上下文关联元素的自动获取,进而保护上下文关联元素的完整性,加强XML签名元素原始语义的保护。上下文参考完整性验证方案为有效地检测XML重写攻击提供了理论基础。

签名元素;原始语义;上下文关联元素;上下文参考完整性;语义相关

0 引 言

细粒度的XML数字签名中,除了针对修改签名元素自身的攻击行为,还可以通过修改签名元素的上下文关联元素来改变签名元素的原始语义,进而实现攻击目的。而且,这种利用签名元素原始语义保护缺失的攻击行为,已有的攻击检测方案[1-5]并不能检测到。为此,文中提出了签名元素的上下文参考完整性。通过保护签名元素的上下文关联元素的完整性,来保护签名元素和上下文关联元素之间的语义关联关系,加强了细粒度中XML数字签名原始语义的保护,提高了XML数字签名的安全性以及针对XML重写攻击的检测能力,增强了Web服务的安全性。

1 相关概念

定义1:XML文档树。

XML文档通常被转换为一棵有根的、带标签的树。XML元素转换为树中的节点,每个节点都有一个标签。如果一个XML节点有子节点,则称此XML节点为内部节点;否则,称其为叶子节点。

根据XML节点标签的语义及节点之间的关系,XML树中的节点可分为属性节点、实体节点和连接节点[6-7]。属性节点表示现实世界中实体的某一属性,其子节点为叶子节点。实体节点表示现实世界中的实体,并且具有相同标签的实体节点对应于现实世界中具有相同类型的实体,其子节点为属性节点、实体节点或连接节点。连接节点用于将一些紧密联系的节点包装起来或将一些类似的节点聚合起来,其子节点为实体节点或属性节点。XML树实际上是由现实世界中的实体、属性和属性值抽象而来的实体节点、属性节点以及属性值对应的叶子节点构成的具有关联关系的节点集合。

观察图1中的XML文档树,编号为2,3的实体节点分别对应于现实世界中的issue实体;编号为4,7的属性节点分别表示出版物的volume属性;编号为6,9,17的连接节点用于将一组相同类型的节点聚合起来。

图1 XML文档树实例

定义2:语义清晰的XML文档[8-9]。

语义清晰的XML文档是指转换生成的XML树中,任意一个节点的标签都不与其祖先节点的标签重名;具有相同标签的不同实体节点具有相同的实体类型,并且位于同一层次上。如图1中的节点2,3都表示issue实体;节点10,11,12,13都表示article实体。

定义3:最低层公共祖先[10]。

令n1,n2,…,nk为XML文档T中的节点。如果对任意的ni,v是ni(1≤i≤k)的祖先节点,而且不存在另外一个节点u,u是的v后裔,且u是n1,n2,…,nk的祖先节点,则称v是n1,n2,…,nk的最低层公共祖先,简称为LCA,记为lca(n1,n2,…,nk)。

定义4:关系树[11]。

令T为一棵XML文档树,n1和n2为T中的两个节点,且n为n1和n2的最低层公共祖先,Tn为以节点n为根的T的子树。如果删除Tn中除n1和n2本身以及n1或n2的祖先节点以外的所有节点,称这样的子树为n1和n2的关系树,表示为T|n1,n2。

定义5:语义互连关系及语义相关概念[12-13]。

令T为一棵XML文档树,n和n0为T中的两个节点。n和n0的最短无向路径由n和n0的最低层公共祖先分别到n和n0的路径组成,并将这两条路径组成的树表示为关系树T|n,n0。T|n,n0描述了节点n和n0之间的关系。当n和n0满足以下两条件之一时,称n和n0是语义互连的:

(1)T|n,n0中不存在两个具有相同标签的不同节点;

(2)T|n,n0中唯一具有相同标签的两个不同节点为n和n0本身。

T|n,n0中,如果节点n和n0是语义互连的,那么它们就是语义相关的;否则,就是语义无关的。

2 上下文参考完整性的建立

细粒度的XML数字签名中,由于XML文档的结构特点,签名元素的完整语义相关联于同一文档中其他的元素,文中将这种元素之间的语义关联称为上下文关联,并将与签名元素语义相关的元素称为上下文关联元素。如果签名元素的上下文关联元素改变了,必然会导致签名元素原始语义的改变。这样,XML数字签名就会失去它原有的意义。为了加强细粒度中XML数字签名的原始语义保护,文中构建了元素的上下文参考完整性,用于定义元素之间的上下文关联,并对这种上下文关联关系进行保护。

假设T为签名文档中的节点集合,v为T中的签名元素,结合内容及结构完整性[14-15],签名元素v的上下文参考完整性CRI(v)定义为:

CRI(v)=h(h(w.content‖w.attribute)‖ (h(path(r,w))))

其中,w为v的上下文关联元素,且w∈T;h是一个抗冲突的单向Hash算法。

w.content=w.name∪w.value包含了元素的标签名和元素值,w.attribute为元素的属性,通过h(w.content||w.attribute)保护w的内容完整性。path(r,w)为根节点到当前节点w的绝对路径字符串。通过h(path(r,w)),保护w的结构完整性。将w的内容及结构完整性融合在一起,就构成了v的上下文参考完整性。

3 上下文关联元素的获取

上下文参考完整性通过保护XML签名元素的上下文关联元素的内容及结构完整性,来保护签名元素和上下文关联元素之间的语义关联关系,进而加强签名元素原始语义的保护。只有获取了上下文关联元素,才能去保护其完整性。

3.1 上下文关联元素的获取规则

XML签名元素的上下文关联元素就是指同一XML文档中与签名元素在语义上相关的元素。对于一个XML文档,人们可以从常识上直接识别出签名元素的语义相关元素。但是,由于XML文档的语义隐式的表达在文档的标签和结构中,这导致计算机并不能直接从XML文档中识别出签名元素的语义相关元素。

为此,文中基于语义清晰的XML文档、节点之间的语义互连关系及语义相关概念,建立了签名元素的上下文关联元素的获取规则,使计算机可以从XML文档的大量元素中自动获取签名元素的语义相关元素,进而保护上下文关联元素的内容及结构完整性。

上下文关联元素的获取规则如下:

令T为一棵XML文档树,n0为T中的签名节点,n为T中的其他任意节点。当n0和n的关系树T|n0,n满足以下两条件之一时,节点n0和n就是语义相关的,并称n为n0的上下文关联元素:

(1)T|n0,n中同一层次上不存在两个具有相同标签的不同实体节点。

(2)T|n0,n中同一层次上唯一具有相同标签的两个不同实体节点为n0和n本身。

在节点n0和n的关系树中,如果n0和n的同一层次上的祖先节点中存在两个具有相同标签的实体节点,那么n0和n就是分别属于两个具有相同类型的不同实体。因此,它们在语义上是不相关的;否则,它们是语义相关的。

获取规则基于XML树中节点标签的语义,根据现实世界中实体或属性之间的关联关系,进而确定XML树中由现实世界中实体或属性抽象而来的实体节点或属性节点之间的关联关系。由此,依据节点之间的语义关联关系,从XML文档中筛选出人们从常识上认为与签名节点在语义上相关的实体节点或属性节点。

3.2 上下文关联元素的获取算法

XML文档可能包含大量的XML节点,不可能将所有的节点都与签名节点进行语义相关的判定。而且,由于XML文档的树形结构特点,所有的节点都判定一次也完全没有必要。如果签名节点或其祖先节点和某个节点的祖先节点是语义无关的,那么签名节点和某个节点就是语义无关的;否则,语义相关。

文中依据上下文关联元素的获取规则,并结合XML文档的层次结构特点,设计了一种上下文关联元素的获取算法。算法如下:

令T为一棵XML文档树中的节点集合,n0为T中的签名节点,ni(1≤i≤k)为n0的祖先节点,其中nk为根节点。Φ(ni)(0≤i

(1)从n0的兄弟节点Φ(n0)开始,判定n0与Φ(n0)的语义相关性,依据获取规则,它们是语义相关的。因此,将Φ(n0)添加到Σ中。

(2)获取n0的父节点n1,判定n1与Φ(n1)是否具有相同的标签,从左向右依次进行比较,将和n1标签不同的Φ(n1)添加到Σ中。

(3)获取n1的父节点n2,判定n2与Φ(n2)是否具有相同的标签,从左向右依次进行比较,将和n2标签不同的Φ(n2)添加到Σ中。

(4)如此进行下去,直到获取的父节点为根节点nk,算法结束。此时,Σ即为签名节点n0的上下文关联节点集。

在上述算法中,如果n0的祖先节点ni(1≤i

4 上下文参考完整性的验证

上下文参考完整性提供了签名元素和上下文关联元素之间的一个关联。在签名的有效性验证时,如果签名元素的上下文关联元素改变了,上下文参考完整性验证失败,将导致签名的有效性验证失败。

在获取上下文关联元素后,签名元素v的上下文参考完整性CRI(v)表示为:

CRI(v)=CI(w)||ST(w)=h(w.content‖w. attribute)‖h(path(r,w))

其中,w为上下文关联元素;CI(w)为w内容的HASH结果,表示w的内容完整性;ST(w)为w结构信息的HASH结果,表示w的结构完整性。

为了验证签名元素的上下文参考完整性,文中提出以下定理。

在签名的有效性验证时,该定理可用于检查签名元素的上下文关联元素的变化。如果上下文关联元素发生了变化,则签名的原始语义可能被改变,那么签名的有效性验证失败。也就是说,即使签名元素自身未发生变化,但是,如果上下文关联元素发生变化(内容或结构变化),那么签名依旧被认为是无效的。

5 结束语

文中获取规则的建立以及获取算法的设计实现了签名元素的上下文关联元素的自动获取,并结合内容及结构的完整性,实现了签名元素的上下文参考完整性,从而将签名元素和其语义相关的上下文关联元素进行了关联,进而保护了签名元素和上下文关联元素之间的语义关联关系,加强了细粒度中XML数字签名的原始语义保护,提高了XML数字签名的安全性。上下文参考完整性的验证则增强了签名的有效性验证中针对XML重写攻击的检测能力。

[1]MclntoshM,AustelP.XMLsignatureelementwrappingattacksandcountermeasures[C]//Proceedingsofthe2005ACMworkshoponsecurewebservices.Fairfax,USA:ACMPress,2005:20-27.

[2]RahamanMA,MartenR,SchaadA.Aninlineapproachforsecuresoaprequestsandearlyvalidation[C]//ProceedingsoftheOpenWebApplicationSecurityProjectEuropeconference(OWASP).Leuven,Belgium:[s.n.],2006:1-15.

[3]GajekS,LiaoLJ,SchwenkJ.Breakingandfixingtheinlineapproach[C]//Proceedingsofthe2007ACMworkshoponsecurewebservices.NewYork,NY,USA:ACM,2007:37-43.

[4]GajekS,JensenM,SchwenkJ.Analysisofsignaturewrappingattacksandcountermeasures[C]//ProcofIEEEinternationalconferenceonwebservices.[s.l.]:IEEE,2009:575-582.

[5]BarhoomTS,RasheedRSK.PositionofsignedelementforSOAPmessageintegrity[J].InternationalJournalofComputerInformationSystems,2011,2(1):21-25.

[6]LiuZ,ChenY.IdentifyingmeaningfulreturninformationforXMLkeywordsearch[C]//Proceedingsofthe2007ACMSIGMODinternationalconferenceonmanagementofdata.NewYork,NY,USA:ACM,2007:329-340.

[7]NguyenK,CaoJ.ExploitkeywordquerysemanticsandstructureofdataforeffectiveXMLkeywordsearch[C]//Proceedingsofthe21stAustralasianconferenceondatabase.Brisbane,Australia:[s.n.],2010:133-140.

[8] 李新叶,苑津莎.一种快速的XML语义检索算法[J].电子学报,2007,35(11):2220-2225.

[9] 李新叶.基于XML文档结构语义的信息检索方法与应用研究[D].保定:华北电力大学,2008.

[10]LiY,YuC,JagadishHV.Schema-freeXQuery[C]//ProceedingsofVLDBconference.Toronton,Canada:[s.n.],2004:72-83.

[11]CohenS,KanzaY,SagivY.GeneratingrelationsfromXMLdocuments[C]//Proceedingsof9thinternationalconferenceondatabasetheory.Siena,Italy:[s.n.],2003.

[12]CohenS,MamouJ,KanzaY,etal.XSEarch:asemanticsearchengineforXML[C]//Proceedingsofthe29thVLDBconference.Berlin,Germany:[s.n.],2003.

[13]CohenS,KanzaY,SagivY.InterconnectionsemanticsforkeywordsearchinXML[C]//CIKM’05.Bremen,Germany:[s.n.],2005:389-396.

[14]ChenH,LiuN,LiuBL,etal.ResearchonXMLdatastructural-integrityinXMLsignature[J].AppliedMechanics&Materials,2014,496-500:1844-1848.

[15]LiuBL,LuJ,YipJ.XMLdataintegritybasedonconcatenatedhashfunction[J].InternationalJournalofComputerScience&InformationSecurity,2009,1(1):31-40.

Research on Context-referential Integrity in Fine-grained XML Digital Signature

CHEN Hua,YANG Wei,LIU Bao-long

(School of Computer Science and Engineering,Xi’an Technological University,Xi’an 710021,China)

For the lack of protection of context-sensitive information of signature element,context-referential integrity of signature element is proposed in this paper.It builds a rule to get the context-sensitive elements of signature element and designs an acquisition algorithm of context-sensitive elements and a verification scheme of context-referential integrity.The results show that based on the rule and algorithm,the context-sensitive elements of signature element can be screened out automatically,thereby protecting the integrity of the context-sensitive elements and strengthening the protection of original semantics of signature element.Context-referential integrity verification scheme lays a theoretical foundation for the effective detection of XML rewriting attacks.

signature element;original semantics;context-sensitive element;context-referential integrity;semantic relation

2015-09-08

2015-12-11

时间:2016-05-25

教育部留学归国人员科研启动金资助项目(2013693);面向重大装备和能源化工的制造业信息化综合应用示范项目(2012BAF12B04);陕西省教育专项科研计划项目(15KJ1350)

陈 桦(1962-),男,教授,博士,研究方向为XML数据安全技术。

http://www.cnki.net/kcms/detail/61.1450.TP.20160525.1706.022.html

TP309.2

A

1673-629X(2016)07-0100-04

10.3969/j.issn.1673-629X.2016.07.021

猜你喜欢

数字签名完整性文档
浅谈Matlab与Word文档的应用接口
有人一声不吭向你扔了个文档
关于防火门耐火完整性在国标、英标、欧标和美标中的比对分析
交通运输行业数字签名系统的设计与实现分析
浅析计算机安全防护中数字签名技术的应用
ELM及IS/OS完整性对年龄相关性黄斑变性预后视力的影响
更正说明
数字签名技术在计算机安全防护中的应用
Word文档 高效分合有高招
Persistence of the reproductive toxicity of chlorpiryphos-ethyl in male Wistar rat