(计算机软件与理论专业论文)面向xml文档的访问控制研究.pdf_第1页
(计算机软件与理论专业论文)面向xml文档的访问控制研究.pdf_第2页
(计算机软件与理论专业论文)面向xml文档的访问控制研究.pdf_第3页
(计算机软件与理论专业论文)面向xml文档的访问控制研究.pdf_第4页
(计算机软件与理论专业论文)面向xml文档的访问控制研究.pdf_第5页
已阅读5页,还剩58页未读 继续免费阅读

(计算机软件与理论专业论文)面向xml文档的访问控制研究.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 针对x m l 文档的访问控制保证x m l 文档中的敏感信息不会受到非授权的访问。 用户对文档的访问包括读操作和更新操作,现有的x m l 文档访问控制研究多数都以读 操作为例或对更新操作的访问控制没有进行详细的讨论。本文基于现有的面向x m l 文 档的访问控制研究,重点讨论如何对x m l 文档的更新操作实施正确、有效的访问控制, 提出基于操作类型的x m l 文档访问控制技术。主要工作有: 1 ) 明确更新操作与读操作经历的访问控制过程的异同,指出对更新操作实施的访 问控制需要改进的地方。 2 ) 为了提高针对更新操作执行的d t d 验证的效率,并对更新操作的语义进行区 分,定义了操作类型。 3 ) 使用操作类型对访问授权的表示进行扩展,基于扩展的访问授权给出改进的 标记算法,该算法可以避免访问控制中标记过程的重复执行。 4 ) 将访问请求判断过程划分为两步,在第一步中对用户的访问请求进行初步筛 选,这将节省之后的标记以及验证文档有效性所耗费的内存等系统资源。 5 ) 使用给出的基于操作类型的x m l 文档访问控制技术,设计并实现一个访问控 制系统原型。在设计的系统结构图的基础上,分别对系统的各个模块进行详细设计,给 出模块的功能、实现机制,并使用u m l 对系统中的对象进行建模。 6 ) 将x m l 应用于面向x m l 文档的访问控制,设计了访问授权、用户组、 访问请求、访问决策等系统信息的x m l 表示格式。 论文给出的基于操作类型的x m l 文档访问控制技术不仅支持对读操作的访问控 制,也能正确有效地处理用户的更新请求。实例表明,基于操作类型的访问控制技术可 以有效减少用户请求经历的访问控制步骤。进一步的性能分析证明,该访问控制方法在 处理包含更新操作的用户请求时,性能优于现有的访问控制技术。 本课题来源于航空科学基金项目( 2 0 0 6 z c 3 1 0 0 1 ) 。 关键词:x m l ,访问控制,更新操作,d t d 验证 a bs t r a c t a c c e s sc o n t r o lf o rx m ld o c u m e n t se n s u r et h a ts e n s i t i v ei n f o r m a t i o ns t o r e di nt h e d o c u m e n t sw i l ln o tb ea c c e s s e db yu n a u t h o r i z e du s e r s u s e rq u e r i e st ox m ld o c u m e n t s i n c l u d en o to n l yr e a do p e r a t i o n , b u ta l s ou p d a t eo p e r a t i o n s m o s to ft h ee x s i t i n gr e s e a r c h e so n a c c e s sc o n t r o lf o rx m ld o c u m e n t sc o n s i d e rr e a d a c c e s sr e s t r i c t i o n so n l ya n ds e l d o m l yd e a l w i 廿1a c c e s sf i g h t sf o ru p d a t eo p e r a t i o n t h i sp a p e rm a i n l yf o c u s e do nh o wt oe n f o r c ec o r r e c t a n de f f e c t i v ea c c e s sc o n t r o lt o u p d a t eq u e r i e sf o rx m ld o c u m e n t s b a s e do ne x i s t i n g r e s e a r c h e s ,a c t i o n t y p eb a s e da c c e s sc o n t r o lt e c h n i q u ef o rx m ld o c u m e n t si sp r o p o s e d o u r r e s e a r c hi ss u p p o r t e db ya v i a t i o ns c i e n c ef u n du n d e rg r a n tn o 2 0 0 6 z c 310 0 1 w o r k sa c h i e v e d i nt h i sp a p e ra r ea sf o l l o w : 1 ) d e p i c te x p l i c i t l yt h ed i f f e r e n ta c c e s sc o n t r o ls t e p sr e a da n du p d a t eo p e r a t i o n sw e n t t h r o u g h t h e n , p o i n to u tt h ep r o b l e m sn e e dt ob ei m p r o v e di nr e s p e c t so fp e r f o r m a n c ei n d t dv e r i f i c a t i o np r o c e s s 2 ) a c t i o nt y p ei sd e f i n e dt od i s t i n g u i s hu p d a t eo p e r a t i o n ss e m a n t i c a l l y w i t ha c t i o n t y p e s ,t h ee f f e n c i e n c yo fd t d v e r i f i c a t i o nc a nb ei m p r o v e db yr e m o v i n gu n n e c e s s a r yx m l p a r s i n ga n dd o m t r e es e a r c h 3 ) a c c e s sa u t h o u r i z a t i o ni se x t e n d e dt oi n c l u d ea c t i o nt y p e b a s e do nt h ee x t e n d e d a c c e s sa u t h o r i z a t i o n ,an e wl a b e l i n ga l g o r i t h mi sp r o p o s e dw h i c hc a na v o i dr e p e t i t i v e l a b e l i n gp r o c e s se x e c u t e db yt h ex m l a c c e s sc o n t r o ls y s t e m 4 ) d i v i d et h ea c c e s sd e c i s i o np r o c e s si n t ot w os t e p s ,q u e r i e sv i o l a t i n gt h er i g h ta r e f i l t e r e do u ti nt h ef i r s ts t e p ,t h u s ,m e m o r ya n do t h e rs y s t e mr e s o u r c e ss p e n do nt h ef o l l o w i n g a c c e s sc o n t r o lp r o c e s s e sc a nb es a v e d 5 ) d e s i g na n di m p l e m e n tap r o t o t y p es y s t e mb a s e do nt h ep r o p o s e da c c e s sc o n t r o l t e c h n i q u e s y s t e ms t r u c t u r ei sd e s i g n e da c c o r d i n gt ot h ea c c e s sc o n t r o lt e c h n i q u e ,t h e n , a r c h i t e c t u r ea n dm e c h a n i s mf o re a c hm o d u l ei nt h es y s t e mi sd e p i c t e di nd e t a i l w ea l s o m o d e le a c hc o m p o n e n ti nt h es y s t e mw i 也u m l 6 ) a p p l yx m l i n t oa c c e s sc o n t r o lo fx m l d o c u m e n t s ,p r e s e n ts y s t e mi n f o r m a t i o n u s e df o rs t o r a g eo re x c h a n g ei nx m lf o r m a t ,s u c ha sa c c e s sa u t h o r i z a t i o n 、a c c e s sr e q u e s t 、 u s e r - g r o u pe t c i i t h ea c c e s sc o n t r o lt e c h n i q u ep r o p o s e ds u p p o r tn o to n l yr e a do p e r a t i o nb u ta l s ou p d a t e o p e r a t i o n s i tc a n s h o r t e nt h eo v e r a l ls t e p so fa c c e s sc o n t r o lw h e na p p l i n gt os a m p l ep r o b l e m s p e r f o r m a n c ea n a l y s i s 埘mt y p i c a lu s e rq u e r i e sv e r i f i e st h a tt h ep r o p o s e dt h e c h n i q u es h o w b e t t e rp e r f o r m a n c ei na ne n v i r o n m e n tw h e r eu p d a t eq u e r i e so c c u rf r e q u e n t l ya f t e rc o m p a r e d w i me x i s t i n go n e s k e yw o r d s :x m l ,a c c e s sc o n t r o l ,u p d a t eo p e r a t i o n , d t dv e r i f i c a t i o n i i i 西北大学学位论文知识产权声明书 本人完全了解西北大学关于收集、保存、使用学位论文的规定。学校 有权保留并向国家有关部门或机构送交论文的复印件和电子版。本人允许 论文被查阅和借阅。本人授权西北大学可以将本学位论文的全部或部分内 容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存 和汇编本学位论文。同时授权中国科学技术信息研究所等机构将本学位论 文收录到中国学位论文全文数据库或其它相关数据库。 保密论文待解密后适用本声明。 学位论文作者签名: 翌塑 指导教师签名:翻擞 倒彩醚裂 砷年石月姐日加产6 月二阳 西北大学学位论文独创性声明 本人声明:所呈交的学位论文是本人在导师指导下进行的研究工作 及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地方外, 本论文不包含其他人已经发表或撰写过的研究成果,也不包含为获得西 北大学或其它教育机构的学位或证书而使用过的材料。与我一同工作的 同志对本研究所做的任何贡献均己在论文中作了明确的说明并表示谢 :舷 思0 学位论文作者签名:坍耆雪 山胡年多月以日 西北大学硕士学位论文 第一章绪论 本章首先介绍论文的研究背景,指出研究x m l 访问控制的重要意义。通过分析当 前国内外对x m l 访问控制研究工作取得的进展和仍然存在的问题,明确论文研究的侧 重点,最后给出论文的主要研究内容。 1 1 课题背景 由于具有良好的可扩展性以及与平台无关的特性,x m l 1 l ( e x t e n s i b l em a r k u p l a n g u a g e ,可扩展标记语言) 已经成为互联网上信息表示和信息交换的一种新标准。x m l 语言由于其简单性、丰富的数据结构以及卓越的通用特性,已经在电子商务、电子政务、 金融会计、新闻出版、移动通讯、教育科研等领域得到了广泛的应用,在这些应用中, x m l 通常被用于应用集成或系统间通信。 随着x m l 的广泛应用,以x m l 格式存储的信息数量急剧增加。相应的,包含在 这些x m l 文档中的敏感信息数量也增大,保护x m l 文档中敏感信息的安全问题也逐 渐凸现,越来越引起人们的关注,为x m l 文档提供高质量的安全服务变得迫在眉睫。 关于x m l 的安全,不同的研究组织在各个方面都作了不少的工作,并且出现了很多 x m l 安全方面的标准,例如,x m l 加密、x m l 签名、x m l 密钥管理和x m l 访问控 制等【3 1 。 x m l 的安全包括通信安全和管理安全,因此,对x m l 安全的研究也相应分为两 类:保证通信安全的数字签名或加密技术,保证管理安全的访问控制技术。与通信安全 相比,对x m l 文档管理安全的研究现在还基本上处于实验阶段,特别是对x m l 访问 控制模型和机制的研究1 7 1 。本文重点讨论x m l 文档的管理安全,主要对x m l 文档的 访问控制技术进行研究。 1 2 课题研究意义和研究内容 随着x m l 的广泛应用,x m l 的安全问题越来越引起人们的关注,为了保证在 w e b 上广泛分布的、以x m l 文档形式表现的信息不会受到非授权的访问,就必须对用 户的访问请求进行控制。访问控制是保证信息安全的关键技术之一,它保证合法用户合 理地访问资源,防止用户对信息资源的非法访问。为x m l 文档提供访问控制的目标就 是确保x m l 文档中的信息在恰当的时刻被恰当的人员以恰当的方式使用。 第章绪论 x m l 文档具有高度结构化以及树形结构的特点,因此,对x m l 文档实施的访问 控制与对其它资源实施的访问控制不同。一个x m l 文档中包含的数据的敏感程度可能 互不相同,因而保护需求也是不一致的,同一个x m l 文档中的数据对于身份不同的用 户的限制可能是不同的。因此,x m l 文档的访问控制对象应该具体到不同层次:文档 集、整个文档、文档中的元素和属性。同时,x m l 文档本身具有的结构化树型结构使 得对文档内某一具体元素或属性的访问进行控制变得容易。x m l 突破了传统访问控制 无法对部分文档内容进行访问控制这一限制,展现了它在信息安全上的潜力。 为x m l 文档提供成熟的访问控制模型有着极大的实用意义,如何为各种应用中涉 及到的x m l 文档资源提供安全访问控制已经成为当前x m l 安全研究中的一个重要课 题。针对x m l 文档的访问控制技术经过多年的研究也已经取得了一些成果。 1 3 国内外研究现状 在访问控制领域,目前研究的主流是r b a c 4 l ( r o l eb a s e da c c e s sc o n t r o l ,基于角色 的访问控制) ,除此之外还有两种典型的访问控制模型:d a c f , 6 1 ( d i s c r e t i o n a r ya c c e s s c o n t r o l ,自主访问控制) 和m a c t 7 l ( m a n d a t o r ya c c e s sc o n t r o l ,强制访问控制) 。目前广泛研 究的各种面向x m l 文档的访问控制模型基本都是从以上三种传统的访问控制模型发展 而来。 由于具有策略中立、最小特权原则以及高效的访问控制管理等诸多优点,r b a c 成 为目前x m l 访问控制模型研究的主流趋势。很多文献【8 9 ,1o ,1 1 1 都是对传统的r b a c 模型 的局限性和不足提出改进方案,结合x m l 的特性,利用改进了的r b a c 模型实现对 x m l 文档的访问控制。文献【7 ,1 3 】详细研究了基于m a c 的x m l 文档访问控制。还有 一些m l 文档访问控制研究【1 7 , 1 9 1 是基于d a c 的。 当前,面向x m l 文档的访问控制研究的重点仍是如何实施细粒度的访问控制,文 献 1 9 ,2 0 ,2 1 都是讨论基于d t d 的面向x m l 的细粒度访问控制。文献【2 3 】讨论了基于 x m ls c h e m a 实现的面向x m l 文档的细粒度访问控制。 o a s i s 提出的x a c m l t l 4 】用于编写和实施基于x m l 的访问控制策略,x a c m l 为 所有能够以x m l 描述的信息资源定义了一个统一的访问控制策略描述语言规范,文献 1 5 ,1 6 】讨论了如何基于x a c m l 实现对x m l 文档的访问控制。 还有大量的文献是对面向x m l 文档的访问控制的其它方面进行研究。例如,文献 【1 7 ,1 8 】讨论了如何为面向x m l 文档的访问控制模型提供一种统一的访问控制策略描述 2 两北大学硕j 二学位论文 语言。文献 2 5 】引入临时授权的概念,为x m l 文档的访问控制提供了用于表示和实现 更为丰富的访问控制策略。文献 2 6 ,2 7 讨论了如何将传统的服务器端x m l 访问控制移 至客户端,在客户端实施对文档的安全访问控制。 用户对x m l 文档的访问包括读操作和更新操作。因此,实现对x m l 文档有效的 访问控制应该既包括对读操作的访问控制,也包括对更新操作正确、有效的访问控制。 以上的x m l 文档访问控制研究多数都以读操作为例来阐述访问控制技术,对访问控制 技术如何应用于更新操作没有进行详细的研究讨论【硒】,或假设更新操作与读操作经历 的访问控制过程相同【1 9 2 啦6 1 ,未对更新操作的访问控制进行讨论。论文将在以上x m l 文档访问控制研究的基础上,着重研究如何对x m l 文档的更新操作实施正确有效的访 问控制。 1 4 本文研究内容 论文在现有x m l 文档访问控制研究的基础上,详细研究如何对x m l 文档的更新 操作实施正确、有效的访问控制,提出了基于操作类型的x m l 文档访问控制技术。论 文研究的主要内容有: 1 ) 明确在x m l 文档访问控制系统中,读操作与更新操作经历的访问控制处理过 程的异同。为了提高访问控制过程中基于d o m 树的d t d 验证的效率,并对更新操作 包含的语义进行区分,定义了操作类型。 2 ) 引入a c t i o nt y p e 、p r o p a g a t i o n 、p r i o r i t y 项,对访问授权进行扩展。结合扩展的 访问授权,讨论访问控制过程中出现的默认授权及授权冲突解决问题。 3 ) 利用扩展的访问授权,改进访问控制中的标记过程,从而避免标记过程的重复 执行。将用户访问请求判断过程划分为两大步执行,在第一步中实现对用户访问请求的 初步筛选,这将节省在第二步中进行的访问控制步骤所花费的时间。 4 )基于给出的访问控制技术,设计并实现了一个访问控制系统。在给出系统结构 图的基础上,详细设计了各个模块的结构以及实现机制,并利用u m l 对系统的对象进 行建模。由于x m l 具有可扩展性以及平台无关性,将x m l 应用于对x m l 文档的访 问控制,给出了访问请求、用户组、访问授权、访问决策等系统信息的x m l 表示。 5 )将本文给出的访问控制技术应用于请求实例,结果表明,基于操作类型的访问 控制技术可以减少用户请求经历的访问控制步骤。最后,通过几种典型的用户请求对访 问控制技术的性能进行分析评价。 第二章x k l l 访问控制及瑚l 相关技术 第二章x m l 访问控制及x m l 相关技术 为各种应用中涉及到的x m l 文档资源提供安全的访问控制是x m l 技术广泛应用 的前提。x m l 文档以其高度结构化以及树形结构的特点对访问控制技术提出了新的要 求,同时,x m l 文档具有的特殊结构也使面向x m l 文档的访问控制具有与传统访问 控制不同的内容和实现方式。 2 1x m l 概述 x m l l l l ( e x t e n s i b l em a r k u pl a n g u a g e ,可扩展标记语言) 是w 3 c 为解决h t m l t 2 8 】难 以扩展、交互性差等缺点而制定的一种新的结构化数据描述语言规范。w 3 c 于1 9 9 8 年 2 月正式推出x m l l 0 。2 0 0 6 年8 月w 3 c 又推出了x m l l 0 ( 第四版) 【2 9 1 。x m l 是s g m l t 2 ( s t a n d a r dg e n e r a l i z e dm a r k u pl a n g u a g e ,标准通用标记语言) 的一个子集。 由于具有一系列先进特性,如可扩展性、简单性、开放性、互操作性、支持多国语 言等【l 】,x m l 得到了研究人员的广泛关注,并且,x m l 作为数据表示和数据交互的新 标准已经被广泛应用于电子政务、电子商务、网络出版、多媒体教育等领域。 对x m l 以及相关技术的研究已逐步成熟稳固,有着丰富的理论基础,与x m l 相 关的技术、标准已经基本形成了一个家族式的系列。 2 1 1x m l 文档的结构 x m l 文档具有高度结构化的树形结构,这为面向x m l 文档的访问控制提出了新 的特殊要求:需要实现对文档实施细粒度的访问控制。同时,x m l 文档具有的树形化 层次结构使得对文档内某一具体元素或属性的访问进行控制变得容易。 x m l 语言的基本思想是:通过数据元素的标记表达数据所包含的语义,数据元素 之间的关系通过简单的嵌套和引用来表示。 x m l 文档【1 】的基本结构是元素,通过组织元素将许多相关信息组合成一个文件。 元素( e l e m e n t ) 包含一对互相匹配的开始标记( t a g ) 和结束标记,以及它们之间出现的所有 文本。标记表示数据的含义而不是数据的显示形式,标记之间的文本称为元素的内容。 元素的语法格式如下: 文本内容 。 图2 1 给出了一个简单的x m l 文档示例。该文档记录了一本图书的相关内容,该 4 西北大学硕j 二学位论文 图书可以分为标题( t i t l e ) 、作者( a u t h o r ) 、价格( p r i c e ) 等多个组件。这些组件中有的又可以 分解成更小的组件,例如作者组件可以分解成姓( 1 a s t n a m e ) 和名( f w s t - n a m e ) 两个组件。 在x m l 文档中,这些组件被称为元素。 根元素 i 属性 l “l s b n ” 、 元素元素 元素 i 文本兀柔元素文本 t h er o c k $ 2 9 9 5 文本文本 ,m a r g a r e t a t w o o d 图2 ix m l 文档及文档对应的树结构 每一个x m l 文档有且仅有一个文档元素( d o c u m e n te l e m e n t ) ,又称为根元素( r o o t e l e m e n t ) ,它是包含了文档所有内容的最外层元素。图2 1 ( a ) 中文档的根元素是“b o o k 。 元素的组成规则非常灵活,允许文本内容( t e x t ) 、属性( a t t r i b u t e ) 和其它元素的不同 组合。元素可以包含其它元素,称为该元素的子元素( s u be l e m e n t ) 。例如 t h e r o c k 是元素 的子元素,而 m a r g a r e t 和 a t w o o d 元素都是 的子元素。 除了子元素外,元素还可以带有一种称为属性( a t t r i b u t e ) 的附加信息。属性用来描述 元素的特征、记录元素特有的信息或与其它同名元素进行区别。“b o o k ”元素就拥有一 个属性“i s b n ,用来记录该图书的国际标准书号。属性以n a m e = v a l u e 对的格式在标 签的结束符之前出现。属性是字符串,不包含标记。 从元素的角度很容易把一个x m l 文档分解为树型结构,图2 1 ( b ) 所呈现的视图称 为文档的树结构( t r e es t r u c t u r e ) 。 通过以上例子可以看出,一个x m l 文档必须满足以下三项基本规则【l 】: 1 ) 文档以x m l 定义开始。其中, v e r s i o n = 1 0 ”表示其版本编号。 2 ) 文档必须有一个独立的、包含文档所有其它元素的根元素。 3 ) 此外,x m l 文档中的元素必须正确、合理的嵌套,不允许交叉嵌套。 例如: 是正确的嵌套, 5 第二章x m l 访问控制及x m l 相关技术 而 是不正确的嵌套。 2 2 面向x m l 文档的访问控制 2 2 1 访问控制 国际标准化组织0 s o ) 在其网络安全体系的设计标准( i s 0 7 4 9 8 2 ) 中,定义了五大安 全服务:身份认证服务、访问控制服务、数据保密服务、数据完整性服务、不可否认性 服务3 4 1 。访问控制作为五项标准安全服务之一,在网络安全体系结构中具有不可替代的 作用,它可以限制对关键资源的访问,防止非法用户的侵入或者合法用户对系统资源的 非法使用所带来的破坏。 访问控制( a c c e s sc o n t r 0 1 ) 是通过某种途径显式地准许或限制访问能力及范围的一 种方法,允许被授权的主体对客体的访问,同时拒绝非授权的主体的访问。典型的访问 控制包括三个主要实体:主体、资源和动作。记做 。 1 ) s u b j e c t ( 主体) :试图访问敏感信息的主动者,通常,主体可以是用户、用户组、 终端、主机或一个应用。 2 ) o b j e c t ( 客体) :主体请求访问的资源对象,此处的资源对象可以是数据信息,也 可以是服务、网络设备、设施等。 3 ) a c t i o n ( 动作) :主体请求对客体执行的动作。 访问控制系统对用户和资源分配不同的授权,系统根据授权控制用户对资源的访 问。授权是系统赋予主体对资源执行动作的权限,包括主体、资源和动作三个主要实体。 例如,授权“允许财务经理在财务服务器上的发票文件夹中创建文件 ,主体是“财务 经理 ,客体是“财务服务器上的发票文件夹,动作是“创建文件。 如图2 2 所示,在一个访问控制系统中,主体发起访问客体的请求,访问控制实施 模块负责控制主体对客体的访问。其中,访问控制实施模块会调用访问控制决策模块, 后者是访问控制中最主要的部分,它根据授权信息做出是否允许主体执行操作的决定。 访问控制技术作为国内外一个重要的安全研究方向已经历多年发展,并取得了大量 的研究成果。除了两种传统的访问控制技术模型d a c 和m a c 之外,随着当代系统安 全需求的变化,各国学者开始探索新型的访问控制技术。由于能方便、安全、高效的进 行授权管理,并且拥有策略中立化、最小特权原则的特性,r b a c 引起了极大的关注, 成为现在访问控制研究的热点和主流趋势。文献 】1 5 ,2 4 ,3 5 都有对以上三种访问控制模 型的详细介绍和比较。 6 西北大学硕士学位论文 图2 2 访问控制原理图 2 2 2x m l 安全 x m l 具有良好的可扩展性和平台无关性,可以作为一种通用的数据存储和交换格 式。因此,很多w e b 上的应用程序都把x m l 作为其存放信息或与外部世界交换信息的 手段。随着x m l 被越来越多的应用于不同领域,以x m l 文档形式存储和传输的信息 大量增加,当这些信息在网络上传输或在计算机上存储时,如果包含了比较敏感的数据, 就需要采取一些手段确保这些数据的安全性。 与传统的信息安全一样,x m l 文档的安全性也可以分为保密性、完整性、可用性、 不可否认性等。因此,传统的用于保护数据的加密、签名、访问控制技术也可以用于 x m l 文档中的数据 3 0 l 。 x m l 主要用于数据表示和数据交换,因此,x m l 文档的安全可以分为存储的安全 和传输的安全两大部分1 7 1 。加密技术可以保证在网络上传输的x m l 文档的安全,确保 文档在传输过程中不会被截获、修改或删除。x m l 的存储安全是保证存放在计算机系 统中的x m l 文档的安全,阻止非法用户对这些信息进行非授权的检索、修改或删除。 与传输的安全一样,加密可以保证x m l 文档中数据的机密性,签名能保证x m l 文档 中信息的完整性。但是,保证x m l 文档存储的安全性还有一个重要的方法访问控 制。 加密、签名、访问控制等传统的安全机制都是作用于整个文档,x m l 文档本身具 有的结构特点使得实现这些安全机制的方法与传统的实现方法有很大的不同。x m l 文 档不同部分可能具有不同的敏感性,因此,有必要对x m l 文档的某些部分也使用这些 功能。 目前,关于x m l 的安全,不同的研究组织己经在各个方面都作了不少的工作,也 出现了一些x m l 安全方面的标准。例如:x m l 加密( x m le n c r y p t i o n ) 3 1 1 ,x m l 数字 7 第二章x m l 访问控制及删l 相关技术 - 4 签- g ( x m ls i g n a t u r e ) 3 2 1 ,x m l 密钥管理规范冽s ) 【3 3 j ,x m l 访问控制标记语言 ( x a c m l ) 1 4 】等。这些规范保证x m l 文档在传输、存储的过程中不会受到非授权的查询、 修改和删除。 论文主要研究面向x m l 文档的访问控制,因此,不对x m l 加密、x m l 签名等 x m l 安全技术进行详细的介绍,文献 1 5 ,2 4 ,3 5 都有对以上x m l 安全技术的详细介绍。 2 2 3 面向x m l 文档的访问控制 为了保护x m l 文档中敏感信息的安全性,相关的x m l 安全机制相继出现。x m l 加密和x m l 签名技术较好地解决了x m l 文档信息的传输的安全问题。对于保存在本 地或服务器端的x m l 文档,保证安全的一种有效方法就是对文档数据实施访问控制。 为x m l 文档提供访问控制的目标就是确保x m l 文档中的信息不会受到非授权的访问。 访问控制本身是安全领域中的一个重要课题,有着较长的研究历史。传统的访问控 制方法以一整份文档或一个资源为控制对象,无法对文件或资源中的部分内容进行访问 控制。x m l 语言出现之后,以其自身的特殊性为访问控制领域带来了新新的挑战与机 遇。 网上购物应用通常使用x m l 作为信息描述和交换格式,对于图2 - 3 ( a ) 的包含购物 信息以及用户信用卡信息的网上购物定单,商家无权看到用户的信用卡信息,银行则只 关心用户的信用卡信息。图2 3 ( b ) 是一个记录公司员工信息的x m l 文档片段,其中, 员工的薪水 可能比较敏感,普通用户虽然可以查看员工的部i - j , 雇佣日期 等信息,却不能查看员工的薪水信息,而人事经理等高级用户却可 以查看员工的包括薪水在内的所有信息。 x m l 包含的信息是相互关联的,但是,不同信息的敏感程度可能互不相同,访问 文档的不同用户对于文档中的同一个信息具有访问权限可能也会不同。因此,x m l 文 档的访问控制面临的主要问题是:对于同一份x m l 文档,应该使每个用户只能读取被 授权的部分。如果使用传统的访问控制方法解决以上问题,则需要把同一份文档按照安 全需求的不同分成多份不同的子文档,让不同的使用者存取不同的子文档,以此满足使 用者的不同存取要求,这将导致子文档间的重复率提高、文件管理更为复杂。为了有效 解决上述问题,许多专家学者提出利用x m l 自身的特性来改善原有的存取控制模式【3 6 1 。 8 两北大学硕士学位论文 缅歹、 c 2 6 8 8 - 6 7 0 3 7 o p t i c a im o u s e $ 10 3 6 $ 3 6 0 型! 熊m 一 a c c o u n ti n f o 多 v i s a 6 2 2 2 6 0 0 9l8 2 3 7 5 5 f r a n kl e e ,、 ( a ) m o n i e aj o n e s r a m 2 0 0 7 1 2 0 2 c 吾a l a n 4 2 0 0 s a l a f 涝 e m p l b 识疗r 一 f o r dh e a l y j o s 2 _ 0 0 3 - 0 6 - l0 铡哎! ! 竺竺型矽 图2 - 3 包含敏感信息的x m l 片段 通过给x m l 文档的不同元素设置不同的安全属性,现有的访问控制技术【1 9 刎基本 都实现了对x m l 文档的细粒度的访问控制,不仅能在文件级别控制用户对x m l 文档 的访问,也能精确地控制用户对文档中的元素甚至是元素的属性的访问。 x m l 的出现使得访问控制本身具有了新的特点: 1 ) x m l 文档具有结构化的树型结构,这使得对文档内部某一具体元素的访问进 行控制变得容易。在此之前,要对文档内的某一个部分进行访问控制必须在应用中增加 额外的开发量。 2 ) x m l 具有自描述性、可扩展性以及平台无关性,因此,将访问控制中的授权 信息采用x m l 文档的形式表示,便于访问控制系统之间的互操作以及系统的扩展和集 成。 2 3x m l 模式文档 数据库中的模式用来限制存储在数据库中的信息以及信息的类型。同样可以为 x m l 文档定义一种类似的模式,这种模式定义x m l 文档应该具有的格式以及内容所 应具有的规范。d t d 3 7 1 ( d o c u m e n tt y p ed e f i n i t i o n ,文档类型定义) 和x m l s c h e m a 3 8 ( x m l 模式) 是目前两个主要的针对x m l 文档的描述以及验证机制。d t d 和 x m ls c h e m a 规定x m l 文档的逻辑结构,定义页面的元素、元素的属性、元素与元素 之间的关系。d t d 和x m ls c h e m a 定义了文档的语法结构,可以让x m l 解析器理解和 9 第二章x m l 访问控制及x m l 相关技术 解释文档的内容。反过来,x m l 语法分析程序也可以根据d t d 和x m ls c h e m a 中的定 义验证x m l 文档的合法性。 n o t e x m l t o v e j a n i r e m i n d e r d o n tf o r g e tt h ea p p o i n t m e n t ! 以上是一个表示留言信息的简单x m l 文档,图2 4 分别列出定义在该文档之上的 两种模式文档- d t d 文档n o t e d t d 和x m ls c h e m a 文档n o t e x s d 。 ( a ) n o t e d t d n o t e x s d x s :e l e m e n tn a m e = t 0 ”t y p e = x s :s t r i n g ”今 x s :e l e m e n tn a m e 2 ”h e a d i n g ”t y p e = ”x s :s t r i n g 恰 x s :e l e m e n tn a m e 2 ”b o d y ”t y p e 2 ”x s :s t r i n g ”6 - 图2 - 4x m l 文档对应的两种模式文档 ( b ) n o t e x s d 一个x m l 文档如果符合x m l 语法,也就是2 2 1 小节中提到的x m l 文档必须遵 守的三项规则,我们称之为良构( w e l l f o r m e d ) 的文档。如果x m l 文档定义有相应的d t d 或x m ls c h e m a ,并且文档符合d t d 或x m ls c h e m a 中定义的规则,则称之为有效( v a l i d ) 的文档,有效的文档一定是良构的。x m l 文档必须是良构的,但并非一定要求有效。 图2 5 列出的两个文档都是图2 - 4 中的模式文档对应的实例文档。图( a ) 所示的x m l 文档为非良构文档, 标记对应的结束标记变为 , 标记的文本内 容之后缺少相应的结束标记 。图( b ) 所示文档符合x m l 文档的基本语法,是良 构文档,但不是一个有效文档,因为它不符合相应的模式文档。 元素中并没有出 现 子元素,并且,文档中还出现了一个并未在模式文档中定义过的 元素。 1 0 西北大学硕 学位论文 ( a ) 非良构文档( b ) 良构非有效文档 图2 5 良构文档和有效文档 随着x m l 的广泛使用,x m l 文档的数目和种类也会越来越多,当大量的文档需要 进行自动处理,或当大量的相关数据需要在x m l 中进行格式化时,良构但非有效的文 档会遇到很多困难。因此,仅仅是良构的x m l 文档虽然可以存在,但实用意义却并不 大,应该提倡为每一类x m l 文档创建一个模式文档。未来面向x m l 文档的系统将会 越来越多地支持有效文档的处理,因此,本文在研究时假设所有受保护的x m l 文档都 应是有效的。 d t d 从s g m l 出现之初就存在了,所以到目前为止有很多工具可以用来处理带 d t d 的x m l 文档,而用于处理x m ls c h e m a 的工具相对较少。本文将选用d t d 对文 档的结构和规范进行限制,因此,主要对d t d 进行介绍。 d t d 起源于s g m l 规范,同时也是x m l l 0 规范的重要组成部分。d t d 定义在 x m l 文档中允许出现的元素和属性、元素出现的次序、元素之间如何相互嵌套以及关 于x m l 文档结构的其它详细信息。图2 - 6 是一个d t d 文档示例。 厂 _ j i 元素声明p o l o ! a r n 。l s t ! e l e m e n t ! e l e m e n t ! a t t l l s t 图2 - 6d t d 实例d a 鸥d t d d t d 包含的声明主要包括以下部分: 1 ) 元素声明 第二章x m l 访问控制及x i d l 相关技术 d t d 通过元素声明来对有效的x m l 文档中应该出现的元素进行声明。元素声明指 明元素名称和元素可能的内容,元素类型声明的形式: 2 ) 属性声明 为保证文档的合法性,需要在d t d 对元素具有的属性进行声明,属性声明的形式: 3 ) 实体声明 实体是存储了符合语法规则的x m l 文档片段的单元,实体为文档中引用普通文本 或特殊字符提供了快捷方式,d t d 中的实体声明形式: d t d 中每个元素声明都以元素的子元素的正则表达式的形式实现【3 7 1 。使用正则表 达式可以定义父元素与子元素之间非常复杂的关系,例如:定义一个元素只有一个子元 素、有一个或多个子元素等,还可以定义复合关系,比如元素x 含有一个子元素z 或 一个至多个子元素y 。表2 1 列出了d t d 中元素声明的正则表达式中可能出现的元字 符及其含义。 表2 - 1 正则表达式中的元字符及其含义 元字符含义举例 ? 可选,出现或不出现 联系方式必须有联系电话,e m a i l 是可选的 + 出现一次或多次 一个书籍对应一个书名,可以有一个或多于一个 的作者 出现零次或多次 一个部门必须有一个部门名称,可以有员工也可 以没有员工 支付方式必须是现金支付、信用卡支付二者之一 ! e l e m e n t 联系人( 姓名联系方式户 ( ) 一组要共同匹配的表达式 联系人必须由姓名及联系方式组成 ! e l e m e n t 联系人( 姓名,联系方式p 需要遵守顺序要求 联系人必须由姓名及联系方式组成,姓名必须出 现在联系方式之前 假如一个d t d 元素声明片段如下: 1 2 西北大学硕十学位论文 ! e l e m e n t 招聘职位( 职位名称,招聘要求幸,招聘人数,工作地点,月薪? ,发布日 期,联系人审 对于定义的招聘职位,职位名称、招聘人数、工作地点和发布日期默认定义为出现 且只能出现一次;招聘要求是可选的,可以没有也可以有任意多条;必须有一个或一个 以上的联系人;月薪可以出现也可以不出现。 2 4x p a t h 论文中的x m l 访问控制技术使用x p a t h 表达式描述访问授权的客体。 为了从x m l 文档中抽取出特定的数据,曾经出现过多种查询语言,例如q u i l t 、 x q l 、x p a t h 、x q u e r y 掣3 1 ,目前使用较为广泛的是x p a t h 。x p a t h l 3 9 i ( x m lp a t hl a n g u a g e , x

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论