已阅读5页,还剩46页未读, 继续免费阅读
(通信与信息系统专业论文)xml及相关安全技术的研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 x m l 和w e b 服务的应用越来越广泛,相关的安全问题引起了人们的重视。本 文主要对基于x m l 的各种安全技术进行了研究,重点讨论了基于x m l 的密钥管 理技术和访问控制技术。最后,对基于x m l 的安全邮件系统提出了设计方案。 本文得到的主要成果如下: 1 对x m l 和相关的技术做了明确的表述,对基于讧l 的w e b 服务及 其安全性进行了讨论。 2 对基于x m l 的各种安全技术以及它们之间的关系进行了详尽的讨 论,可以看出x k m s 是x m l 加密和x m l 签名的基础。 3 详细讨论了基于x m l 的访问控制技术,给出了临时授权模型的概念, 在此基础上,给出了基于x m l 的访问控制的方案。 4 提出了基于x m l 的安全电子邮件系统的设计方案。该方案的特点是 邮件是x m l 格式的,它的安全机制也是基于x m l 的。 5 提出了基于w e b 的邮件系统的设计方案。 关键词:可扩展标记语言,w e b 服务, 名,x m l 加密,x m l 访问控制语言, 公钥基础设旌,x m l 密钥管理,x m l 签 电子邮件 a b s t r a c t x m la n dw e bs e r v i c ea r e w i d e l y u s e di nm a n ya r e o s ,s op e o p l ea r em o r ea n dm o r e c o n c e r n e dw i mt h er e l a t e ds e c u r i t yp r o b l e m s i nt h i sp a p e r , t h ex m lr e l a t e ds e c u r i t y t e c h n i q u e sa r em a i n l yd i s c u s s e d ,a n dx m lk e ym a n a g e m e n ta n dx m l a c c e s sc o n t r o l t e c h n o l o g i e sa r et h ee m p h a s i s f i n a l l y , as c h e m eo f s e c u r ee m a i ls y s t e mb a s e do nx m l i sp r o p o s e d n l em a i nr e s e a r c hr e s u l i sa r e1 i s t e da sf o l l o w s ( 1 ) x m l a n dr e l a t e dt e c h n o l o g i e sa r ep r e s e n t e dt h o r o u g h l y t h ew e bs e r v i c e a n d s e c u r i t yp r o b l e m s b a s e do nx m la r ed i s c u s s e d ( 2 ) t h e v a r i o u ss e c u r i t yt e c h n o l o g i e so fx m la n dt h er e l a t i o no fe a c ho t h e r a r ed i s c u s s e d t h ec o n c l u s i o ni s 恤a tx 日m si st h eb a s i so fx m l e n c r y p t i o na n d x m l s i g n a t u r e ( 3 ) t h ep r o v i s i o n a la u t h o r i z a t i o nm o d e lo f a c c e s sc o n t r o lo fx m li s g i v e n b a s e do nt h i sm o d e l ,a ne x a m p l eo fa c c e s sc o n t r o ls c h e m ei sp r e s e n t e d ( 4 ) as e c u r ee m a i ls y s t e mb a s e do nx m li sp r o p o s e d ,t h ec h a r a c t e r i s t i c so f w h i c ha r et h a tt h ef o r m a to fe m a i li sx m la n di t ss e c u r i t ym e c h a n i s mi s b a s e do nx m l ( 5 ) as e c u r ee m a i ls y s t e ms c h e m eb a s e do nw e bi sp r o p o s e d k e y w o r d s :x m l ,w e bs e r v i c e ,p k i ,x m lk e ym a n a g es p e c i f i c a t i o n ,x m l s i g n a t u r e ,x m le n c r y p t i o n ,x m l a c c e s sc o n t r o l l a n g u a g e ,e m a i l 独创性( 或创新性) 声明 本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研究 成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不 含有其他人已经发表或撰写的研究成果;也不包含为获得西安电子科技大学或其 它教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的 任何贡献均已在论文中作了明确的说明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切相关责任。 本人签名:盛i 越日期型i :! :1 2 关于论文使用授权的说明 本人完全了解西安电子科技大学有关保留和使用学位论文的规定,即:研究 生在校攻读学位期间论文工作的只是产权单位属西安电子科技大学。本人保证毕 业离校后,发表论文或使用论文工作成果时署名单位仍然为西安电子科技大学。 学校有权保留送交论文的复印件,允许查阅和借阅论文:学校可以公布论文的全 部或部分内容,可以允许采用影印、缩印或其它复制手段保存论文。( 保密的论文 在解密后遵守此规定) 本学位论文属于保密,在年解密后使用本授权书。 本人签名:! 盛! 缝日期 翮签乱窭熨日期t ! 兰:! :竺 第一章绪论 第一章绪论 1 1 引言 从来没有任何事物像互联网那样,对人类的生活产生如此深刻的影响。标记 语言在互联网的发展过程中起到了巨大的作用。 网络的发展大约是从8 0 年代开始,第代网络标记语言是1 9 8 5 年开发出的 h t m l 语言,正是它使因特网迅速走出实验室,成为人人皆可使用的工具,以至 于w e b 几乎成了因特网的全部内涵。 在因特网发展早期,h t m l 是一门应用广泛的语言。随着因特网的日趋成熟, 新的需求已经形成:需要一种语言能满足更复杂和更大规模的用途,如满足企业 的功能运转等。h t m l 不能满足这种需求,因而被淘汰。 为了弥补h t m l 的缺点,万维网联盟( w 3 c ,w o r l dw i d ew e bc o n s o r t i u m ) 于1 9 9 6 年开始开发一种新的标记语言,这种新语言比s g m l 更易于使用,比h t m l 的结构更严谨,并把它命名为可扩展标记语言( ) m l ) 。 1 2 标记语言的发展 早在印刷出版技术出现时,当时的作者们就曾经在草稿上作出各种说明,指 导印刷工人如何处理版面安排以及其他制作问题,这些说明被称作标记。而协调 一致用来定义整套语法和文法的标记集合则被称作语言。这可以说是最早的标记 语言。 s g m l 是国际化标准组织( i s o ) 于1 9 8 6 年采纳的一项国际性的数据存储和 交换的标准。但它的根基在通用标记语言领域可追溯到较长的历史,它设计用来 提供一种方法,来生成平台无关和应用程序无关的文档,保留格式、索引和链接 信息。用类似于文法的机制,用户可阱通过创建定制的标记来定义自己的文档格 式。要使用s g m l 描述一个特定的文档,必须创造一个恰当的元素集和文档结构。 它使用文档类型定义( d t d ) 来定义文件结构。但是s g m l 非常复杂,难以使用。 s g m l 是一种元语言,可以用来创建其他的语言。h t m l 和x m l 都可看作是 s g m l 的应用。h t m l 纯粹是门语言,不能进行扩展或创建子集。与其相反, x m l 是s g m l 的一个子集,并且真正可用来创建其他的语言。也就是说x m l 也 是一种元语言。正如它的名字所预示的,x m l 是可扩展的。我们可以用x m l 来 创建描述内容的结构,而不用关心这些内容如何被显示。相反,h t m l 描述文档 如何被显示,但不涉及文档的内容。 h t m l 使因特网迅速走出实验室,成为人人皆可使用的工具,以至于w e b 几 x m l 及相关安全技术的研究 乎成了因特网的全部内涵。因特网发展早期h t m l 是- - 1 7 应用广泛的语言。随 着因特网的日趋成熟,新的需求已经形成:需要一种语言能满足更复杂和更大规 模的用途,如满足企业的功能运转等。h t m l 不能满足这种需求,因而被淘汰。 我们需要这样的替代语言:当我们把数据写成一个结构化的格式时,它能自 动检查语法的有效性和内容结构的有效性。最理想的情况是,文件的作者能同时 定义文件的格式和数据的正确结构。下面我们将会看到这正是x m l 和d t d 所能 完成的事情。 万维网联盟( w 3 c ,w o r l dw i d ew e bc o n s o r t i u m ) 于1 9 9 6 年开始开发一种新的 标记语言,这种新语言比s g m l 更易于使用,比h t m l 的结构更严谨,并把它命 名为可扩展标记语言( x m l ) 。1 9 9 8 年2 月x m l1 0 版正式发布。 x m l 正式规范1 0 中阐述了x m l 的十个设计目标: 1 x m l 应该可以直接用于i n t e m e t 2 x m l 应该支持广泛的、多样化的应用程序 3 x m l 应该与s g m l 兼容 4 x m l 文档的处理程序应该容易编写 5 x m l 中的可选项应尽可能少,理想状况下应为零 6 x m l 文档应该清晰明了,可读性强 7 x m l 应易于设计 8 x m l 的设计应该正式而且简洁 9 x m l 文档应该易于创建 1 0 x m l 标记的简洁性应以保证前面所有目标要求的前提下予以重视 可以看出x m l 是一种更简单、更轻便的标记语言。它很灵活,易于使用,并 可用于国际化文件。x m l 适宜做数据存储,消息发送,同时根据d t d 或者模式, x m l 文件能够被进行有效性检查。 可扩展的标记语言( x m l ) 是w e b 服务( w e bs e r v i c e ) 平台中表示数据的基本 格式。除了易于建立和易于分析外,x m l 主要的优点在于它既是平台无关的,又 是厂商无关的。 1 3 安全问题 随着i n t e m e t 的爆炸性的发展,其安全问题日益受到人们的关注。在利用像 i n t e r n e t 这样的公开性网络进行通信或商业活动时,一个非常重要的和现实的问题 是如何保证信息在系统通信中的保密性、完整性和认证性。确保这一点是i n t e m e t 实用化的关键。 第一章绪论 x m l 提供了一种与标准和平台无关的方式来描述和管理所有数据类型。因为 它是纯文本的,所以能通过几乎所有网络类型,穿过防火墙,也能用于任何平台 上的操作系统。x m l 和h t m l 的共同点是:能够通过防火墙而不用重新配置。所 以可以使用既有的安全系统,因为它们有着相同的w e b 服务器、防火墙和一些传 输和处理协议。 h t m l 着重点在于如何对内容进行格式化,而并不管内容是什么、是否敏感。 更明确的说,h t m l 没有考虑安全问题,无法标记一个元素的安全特性,因此, 无法满足基于内容安全的应用需求。 而x m l 的数据内容和显示格式是分开的,我们就可以对v i l 文档中的元素 和元素的内容进行加密和签名等操作,以满足基于内容安全的应用需求。 随着越来越多的公司通过网络用x m l 来传输结构化的数据,文档的安全问题 也越来越重要。x m l 的优势来自于它的语义和结构的灵活性和可扩展性。但是正 是这些优点引入了一些重要的安全问题。w 3 c ( t h e w o r l d w i d e w e b c o n s o r t i u m ) 、 i e t f ( t h ei n t e m e te n g i n e e r i n gt a s kf o r c e ) 和其他几个团体参与了x m l 安全标准的 开发工作。 1 4 论文的内容安排和主要成果 本论文主要针对x m l 和w e b 服务相关的几个热点安全问题进行了研究,并给 出了相关的研究结果。在此基础之上,我们对基于x m l 的安全邮件系统提出了设 计方案。主要内容和安排如下: 第一章对课题的背景和研究内容进行简略的描述。 第二章主要介绍x m l 和w e b 服务以及相关的知识。首先介绍了x m l 的基础 知识,然后引进了相关的一些重要技术,如x s l ,d o m ,s a x ,模式和名称空间, 这些基础知识和相关技术是后面工作的基础。其次我们介绍了在x m l 基础上发展 起来的w 曲服务,它是一种崭新的分布式计算模型,使得x m l 语言在w e b 上得 到更加广泛的应用。 第三章讨论如何构建可信的w e b 服务以及相关的基于“l 的安全技术。首 先简单介绍了公钥基础设施p i g ,其次对基于x m l 的各种安全技术以及它们之间 的关系做了详细的讨论。再次重点讨论了x m l 访问控制技术x a c l ( e x t e n s i b l e a c c e s sc o n t r o ll a l l g u a g e ) ,给出了访问控制的授权模型和基于x m l 的访问控制策 略和访问决定。 第四章在前面讨论的基于x m l 的安全机制的基础上,提出了基于x m l 的安 全邮件系统的设计方案,该方案的特点是邮件是x m l 格式的,它的安全机制也是 基于x m l 的。同时提出了基于w e b 的安全邮件系统的设计方案。 4 x m l 及相关安全技术的研究 本文得到的主要成果如下: 1 对x m l 和相关的技术做了明确的表述对基于x m l 的w e b 服务及 其安全性进行了讨论。 2 3 4 5 对基于x m l 的各种安全技术以及它们之间的关系进行了详尽的讨 论,可以看出x k m s 是x m l 加密和x m l 签名的基础。 给出了基于x m l 的访问控制技术中的临时授权模型的概念,在此基 础上,给出了基于) m 也的访问控制策略文档。 提出了基于x m l 的安全电子邮件系统的设计方案。该方案的特点是 邮件是x m l 格式的,它的安全机制也是基于x m l 的。 提出了基于w 曲的邮件系统的设计方案。 第二章x m l 及w e b 服务 第二章x m l 及w e b l m 务 h t m l 在因特网的诞生时期非常适合它的发展,但是随着因特网成为商业中 心、信息中心、商务运作中心,h t m l 不再能够满足因特网的需求。下列因素使 人们在未来很难选择h t m l :符合h t m l 标准的因特网浏览器的失败,确认h t m l 文件的困难,链接系统的不灵活,以及缺少国际化的支持。将来在文档化处理复 杂系统时,s g m l 是一个优秀的、强有力的工具,但不幸的是,s g m l 对现在因 特网的需求过于复杂。为了适应网络的发展,需要开发一种新的语言来满足需求。 万维网联盟( w 3 c ,w o r l d w i d ew e b c o n s o r t i u m ) 于1 9 9 6 年开始开发一种新的标记 语言,这种新语言比s g m l 更易于使用,比h t m l 的结构更严谨,并把它命名为 可扩展标记语言( 帆) 。1 9 9 8 年2 月x m l1 0 版正式发布。 2 1 基础知识 图2 一l ,我们表示简单的x m l 文档的例子。x m l 文档是由x m l 元素组成, 元素包含开始标签和结束标签。标签之间的信息称之为元素的内容。x m l 文档中 的标签表示数据的含义而不是数据的显示形式。 元素 一个x m l 元素可以包含子元素。在例1 中, 是 的子元素 , , 是 的子元素。每个x m l 文档都包含一个根元素一 包含了文档所有内容的文档最外层元素。 出,re也rence , , 8 9 5 图2 1x m l 文档例子( b o o k s x r a l ) x m l 及相关安全技术的研究 x m l 元素还包含由属性描述的信息。元素的属性内嵌于元素的开始标签里, 由名称和属性值组成。元素 包含属性c a t e g o r y 。 属性:臣堕亟堕至匦 2 2 文档类型定义( d t d ) 和模式 x m l 和它的祖先s g m l - - 样,都支持文档类型定义( d t d ) 的使用。d t d 将带来一些优越性。首先,通过创建d t d ,能够正式而精确地定义词汇表,所有 词汇表规则都包含在d t d 中。凡是未在d t d 中出现的规则都不属于词汇表的一部 分。许多解析器可以利用d t d 验证文档实例的有效性,只要在文档实例中写入一 条简单的声明语句,解析器就能够获取d t d ,并将其中的内容与文档实例进行比 较。另外,x m l 编辑工具也可以通过类似的方式使用d t d 。一旦选择了d t d ,编 辑工具就能够实施d t d 中的规则,它根据d t d 中说明的结构,仅允许用户在文档 中添加d t d 允许的元素或属性。 x m l 使用元素类型集来定义文档的类型,这就是所谓的文档类型定义d t d ( d o c u m e n t t y p ed e f i n i t i o n s ) 。d t d 规定了文档的文法结构,让x m l 解析器去理解 和解释文档的内容。d t d 包含可以在x m l 文档里出现的标签的列表,规定标签是 什么类型,有什么属性。d t d 包含了组规则来控制x m l 文档的结构,例如,元 素应该如何表示以及元素之间的关系。每天在不同的领域都会涌现出大量的x m l d t d :在金融领域( f i n a n c i a lp r o d u c t sm a r k u pl a n g u a g e s r p m l ) ,元数据 ( m e t a d a t a ) 交换应用领域( x m l m e t a d a t ai n t e r c h a n g e - - x m i ) ,科学研究应用领 域( m a t h e m a t i c a lm a r k u pl a n g u a g e - - m a t h m l ) ,等等。 d t d 可以作为一个单独的文件,从x m l 主文档中分离出来一外部d t d ,或者 被包含在x m l 文档内部一内部d t d 。图2 2 表示了图2 1 中x l v l l 文档的外部d t d 医翮 属 性 士 尸 明 ! e l e m e n tb o o k ( a u t h o r , t i t l e ,p r i c e p ! e l e m e n t a u t h o r ( f f p c d a t a 一 e l e m e n tt i t l e删p c d a t a p 元素声明 _ _ _ _ _ _ - _ _ - _ - _ _ _ _ i 一 实体引用 圈2 2d t d 的例子b o o k s d t d 第二章x m l 及w e b 服务 的例子。在图2 1 中的 声明将x m l 文档和相应的d t d ( b o o k s d t d ) 联系起来。 x m l 文档如果有相应的d t d ,并且文档中的每个元素符合d t d 中定义的规 则,称之为有效的文档。一个x m l 文档如果符合x m l 语法,称为良构( w e l l f o r m e d ) 的文档。图2 一l 中的文档既是有效的又是良构的文档。 x m l 允许用实体来生成可在文档中包含若干次的信息。实体就是基于声明的 可在文档中进行替换的存储单元。实体可以是文本字符串,也可以是整个文件。 实体必须在内部或外部d t d 中进行声明,但可以在d t d 和x m l 文档中调用。图2 2 表示了一个实体声明a t t d e c l ,来代替内容_ c d a t a # r e q u i r e d ”。 这里不得不提一下模式。d t d 存在若干致命的缺点:第一,它是用不同于x m l 的语言写成的,需要不同的分析器技术:第二,它不支持名称空间;第三,没有 数据类型的概念;第四,它主要被设计来用于文档标记,雨不是数据交换,它是 一种封闭的结构。 在认识到d t c l 存在的一些缺陷后,w 3 c 着手收集各种意见,开始开发模式 ( x m l s c h e m a ) ,于2 0 0 1 年3 月正式发布x m ls c h e m a1 1 推荐标准。类似于d t d , 模式也用于描述x m l 数据文档的内容和结构。同样地,模式也被用于确定x m l 文 档的有效性。模式按标准订l 规则书写,其数据类型丰富,而且支持名称空间。 由于模式所具有的突出优点,m 旗式将成为未来的主导方向。 在使用模式的时候,常使用两个文档模型,即实例文档和模式文档。模式描 述一个x m l 文档类,数据文档是该类的一个实例。 2 3 相关技术 x m l 不是一项独立的技术,它包含了一些相关技术,例如x l i n k ,x p o i n t e r , x p a t h ,x s l ,x m l - q l ,d o m ,s a x ,x m l 模式( s c h e m a ) 和名称空间( n 弧e s p a c e ) 。 我们对几项关键技术进行讨论。 2 3 1x s l 可扩展样式单语言x s l ( e x t e n s i b l es t y l e s h e e tl a n g u a g e ) 本身便是x m l 的应 用,它直接架构在x m l 语法之上,共分为两部分:第一部分转换语言( x s l t r a n s f o r m a t i o nl a n g u a g e ,x s l t ) 负责将x m l 文档转换为另一种格式,第二部分格 式化对象( f o r m a t t i n go b j e c t ,x s l - f o ) 提供大量的格式化命令,可用来配合屏幕 显示或进行打印控制,精确地设定外观样式( 如字的大小,摆放的位置等) 。利用 x s l 一个x m l 文档可以根据不同的表示要求有不同的表示形式。 x m l 及相关安全技术的研究 图2 3x s l 样式单处理器 如图2 3 所示,x s l 样式单处理器读取一个x i v l l 文档和一个x s l 文档,并输 出符台样式单的x m l 文档的表示形式。这一过程分为两个子过程:树转换( t r e e t r a n s f o r m a t i o n ) 和格式化( f o r m a t t i n g ) 。树转换包括将一个x m l 文档( 源树) 转换 成另一个x m l 文档( 结果树) ,结果树是用x s l t 语言表示的。 用x s l t 表示的转换包含一组模板规则。个模板规则分为两部分:第一部 分是模式( p a t t e r n ) ,指定模板规则所适用的x m l 源文档树形结构,第二部分是模 板( t e r a p l a t e ) ,用来在与此模式匹配时,将结果树的一部分进行输出。x s l t 用x p a t h 语言来选择源树中要进行处理的节点,指定处理该节点的不同方式的条件,产生 插入到结果树中的文本。 格式化的过程包括将x s l 转换的结果变为可读的形式,它规定了怎样显示一 棵树,例如,将描述变为格式化显示。该显示是按照格式化对象( f o r m a t t i n go b j e c t ) 和格式化属性( f o r m a t t i n gp r o p e r t y ) 描述的。x s l 格式对象还很不完善,处于试验阶 段。 2 3 2 文档对象模型0 a o m ) 和s a x 文档对象模型( d o m ) 是基于树结构的程序访问和维护h ,r m l 和“l 文档的 应用程序接n ( a p i ) 。它以要求的方式处理x l v i l 文档信息,使应用程序或编程语言 可以通过节点树访问文档的内容。d o m 定义了m m 】友档和x m l 文档的逻辑结构, 给出了访问和处理文档的方法。在d o m 中,x m l 文档具有类似于树的逻辑结构, 其中的树的节点表示的是对象而不是数据结构。利用d o m ,程序开发人员可以动 态地创建文档,遍历文档结构,增加,修改或删除元素和文档内容,改变文档的 显示方式等等。 d o m 定义了表示和处理一个文档的接口和对象,这些接口和对象的语义,以 及这些接口和对象之间的关系。 d o m 包含两个标准。l e v e l1 包括访问和处理文档结构和内容的方法,包括 x m l 的接口d t d 接口和h t m l 接口。l e v e l2 包括联合样式单和文档的接口。设 计事件系统的接口,遍历文档子树的接口和访问文档部分内容的接口。 另一个处理x m l 数据的应用程序接口是s a x ( s i m p l ea p i s f o rx m l ) ,由 第二章x v l l 及w e b 服务 “l d e v 邮件列表的成员开发,是事实上的工业标准。 使用s a x ,解析器通过向应用程序报告解析事件流来告知应用程序文档的内 容。s a x 是基于事件的a p i ,一旦事情开始发生,你不需要调用解析器,而是解析 器调用程序。 那么什么时候使用d o m ,什么时候选择s a x 呢? 当我们的应用只需遍历文档一次、只需查找很少的几项、不太关心你所查找 的元素的上下文的文档结构、不需要太多内存时,我们选用s a x 。当我们需要多 次遍历文档、需要对很多元素或属性进行操作、文档的结构和元素的上下文关系 对我们来说很重要、占用内存多少无所谓时,我们选用d o m 。 2 3 3 名称空间 几乎所有的编程语言都有一些约定,将一系列名称限定到一个闭合的名称空 间( 或称命名空间,n a m e s p a c e ) 中,这样相同的名称可以在不同的名称空间中和 平共处,不至于发生冲突。 与编程语言类似,为解决x m l 中的命名冲突,x m l 也引入了名称空间的概 念。这对于x m l j 常重要,如果没有它,x m l 的应用范围将会大大受限制。 根据w 3 c 发布的关于命名空间的规范要求,名称空间应该是一个合法的u r i 。 一个x m l 文档可能包含来自多个资源( 文档) 的元素和属性,在应用中可能会发 生名称冲突。在这种情况下,有必要对其它文档部分进行识别,避免元素含义的 混乱,避免元素和属性名称的重复。x l i n k 和x s l t 都有对应的名称空间。 例如,一个i l q 的标记在被使用于一个人和被使用于一本书时,有不同 的含义。如果两个实体( p e m o n 和b o o k ) 要在同一个文档里定义( 例如在图书馆目 录的条目里,把书和作者联系起来) ,我们需要某个机制来区分他们,以此对文档 里用到的 标记使用正确的语义描述。命名空间提供了这种机制,使x m l 文档 包含的信息能跟许多软件模块相联系。举个例子: ? x m lv e r s i o n = 1 0 ? x m ls a m p l e 2 1 0 1 8 6 8 6 4 0 - 3 4 2 j o e b l a c k p r o f e s s o r 我们可以看到, 标记被用到两次,而且是在不同的上下文里,一次是 x m l 及相关安全技术的研究 在 元素里,另一次是在 元素里。但是应用了名称空间这种机制就很 容易把它们区别开来。 2 4 w e b 服务 随着s o a p 等技术的发展与普及以及电子商务的迅速崛起,一种新的开发 基于w e b 的应用模式( 更确切的说,应该是思想) 正在迅速发展,这就是w e b 服 务( w e bs e r v i c e ) 。w e b 服务基于一些正在发展中的一些技术,比如s o a p 、u d d i 、 w s d l ,提供了以往任何一种技术都不可能提供的不同平台之间的互操作性。 w e b 服务是一个崭新的分布式计算模型,尽管其思想早就存在但其得到迅 速发展却是最近的事情,而电子商务的发展更促进了这种发展。w e b 服务是一系 列标准的综合,这些标准包括x m l 、s o a p 、u d d i 、w s d l 和w s f l 等;这些标 准中许多还不成熟,还处于发展中。w e b 服务利用这些标准提供了一个松散耦合 的分布式计算环境;在w e b 服务的模型中,厂商将其服务封装成一个个相对独立 的w e b 服务,每个服务提供某类功能;客户( 或是其他厂商) 可以通过绑定到 r 几t 的s o a p 来访问这些服务。 2 4 1w e b 服务架构 w e b 服务使用s o a ( 面向服务的架构,s e r v i c eo r i e n t e da r c h i t e c t u r e ) 架构。 该架构由三个参与者和三个基本操作构成。三个参与者分别是服务提供者( s e r v i c e p r o v i d e r ) 、服务请求者( s e r v i c er e q u e s t e r ) 和服务代理( s e r v i c eb r o k e r ) ,而三个 基本操作分别是发布( p u b l i s h ) 、查找( f i n d ) 和绑定( b i n d ) 。服务提供者将他的 图2 4 w e b 服务组件 服务发布到服务代理的一个目录上;而服务请求者需要调用该服务时,他首先到 服务代理提供的目录上去搜索该服务,得到如何调用该服务的信息,然后根据这 些信息去调用服务提供者发布的服务。在w e b 服务体系中,使用w s d l 来描述服 务,u d d i 来发布、查找服务,而s o a p 用来执行服务调用。正在定义中的w s f l 第二章x m l 及w e b 服务 则将分散的、功能单一的w e b 服务组织成一个复杂的有机应用,如图2 4 所示。 2 4 2w e b 服务堆栈 2 0 0 1 年4 月份,w 3 c 的w e b 服务专题研讨会上提出了w e b 服务堆栈( w e b s e r v i c es t a c k ) ,这定义了w e b 服务使用哪些技术( 标准) ,以及将会如何发展,如 图2 5 所示。 从图可以看到,w e b 服务追求得第一目标是简单性。 首先这些协议本身是简单的,无论是h t t p 、s m t p 等传统t c p i p 系统的网 络协议,还是s o a p 、w s d l 、u d d i 、w s f l 等基于x m l 的协议,他们设计原则 中的一个最重要点是力求简单性。 圈2 5w e b 服务堆栈 其次,一个可以使用的w e b 服务应当按照需要选用若干层次的功能,而无需 所有的特性。比如在目前状况下,一个简单应用可能只要使用w s d l s o a p 就可 以架构一个符合规范的w e b 服务了。 最后,所有的机制完全是基于现有的技术,并没有创造一个完全的新体系。 无论是坤v 4 、h 丁r p 、f t p 这些现有的网络协议,还是s o a p 、w s d l 等这些基于 x m l 而定义的协议都遵循着一个原则:继承原有的被广泛接受的技术,这样才能 使得w e b 服务被广泛接受。 从图中还可看出,w e bs e r v i c e 的实现要依赖于以下三个方面: q o s 。由w s d l 描述的使用协议被延伸到w e bs e r v i c e 的聚合、跨w e bs e r v i c e 的事务、工作流等,需要服务质量( q o s ) 的保障。 安全规范。松散耦合的对象环境下,需要运用规范的方法来描述、传输和交换 诸如授权认证、数据完整性( 比如签名机制) 、消息源认证以及事务的不可否认 性等。 管理机制。所有层次的处理都是可管理的。 x m l 及相关安全技术的研究 2 4 3 简单对象访问协议 简单对象访问协议( s o a p ,s i m p l eo b j e c ta c c e s sp r o t o c 0 1 ) 是在分散或分布 式的环境中,通过x m l 交换信息的一种简单协议。 当前有多种创建应用程序的平台。但每种平台都习惯于使用自身的协议( 本 质上通常是二进制代码) 来实现机器间的集成。因此,跨平台的应用程序在数据 共享方面的能力相当有限。认识到这些限制后,人们一直在致力于建立有关数据 格式和数据交换方面的标准,藉此实现“不论服务采用何种软件,使用何种硬件, 都能够跨越这一传统的界限,以w e b 的形式无缝的将它们集成在一起”这一远景 目标。目前,这一目标己迅速发展成为一种新的计算范例。 该目标的核心是互操作性概念,即不同系统能够无缝的进行通信和共享数据。 这也是w e b 服务追求的目标。w e b 服务是一种可以用标准i n t e r n e t 协议来访问的 可编程应用逻辑:从另一个角度来说。w e b 服务是有关机器间和应用程序间透明 通信的、借助于w e b 的标准的具体实现。而s o a p ,正是实现w e b 服务的核心协 议之一。 s o a p 为在一个松散的、分布的环境中使用x m l 对等的交换结构化的和类型 化的信息提供了一个简单的轻量级机制。s o a p 本身并不定义任何应用语义,如编 程模型或特定语义实现,它只是定义了一种简单的机制,通过一个模块化的包装 模型和对模块中特定格式编码的数据重编码机制来表示应用语义。s o a p 的这项能 力使得它可被很多类型的系统用于从消息系统到r p c ( r e m o t ep r o c e d u r ec a l l ) 的 延伸。s o a p 也没有定义任何底层的传输协议,尽管在大部分情况下,s o a p 被“默 认”绑定到h 1 _ r p 协议;但也可以用h i t p 、f t p 、s m r p 甚至是j m s ,或是您自 己定义的某种p 2 p 协议,来传输s o a p 消息。 从某种意义上说,s o a p 可以简单理解为:h t t p + x v l l + r p c 采用h r r p 作为底层通信协议,r p c 作为一致性的调用途径,x m l 作为数据传送的格式,允 许服务提供者和服务客户经过防火墙在i n t e m e t 进行通信交互。s o a p 被设计的一 个主要目的,就是为了实现基于x m l 的r p c ( r e m o t ep r o c e d u r ec a l l ,远程过程 调用) 。尽管h t t p 不是有效率的通信协议,而且x m l 还需要额外的文件解析, 两者使得交易的速度可能大大低于其他方案;但是x m l 是一个独立于编程语言 的、开放、健全、有语义的信息机制,而h r r p 是一个广泛又能避免许多关于防 火墙的问题,从而使s o a p 得到了广泛的应用。 s o a p 的两个主要设计目标是简单性和可扩展性。这就意味着有一些传统消息 系统或分布式对象系统中的某些性质将不是s o a p 规范的一部分。比如:分布式 垃圾收集( d i s t r i b u t e dg a r b a g ec o u e e t i o n ) 、成批传送消息( b o x c a r r i n g o r b a t c h i n go f m e s s a g e s ) 、对象引用 o b j e c t s b y - r e f e r e n c e ( w h i c hr e q u i r e s d i s t r i b u t e d g a r b a g e 第二童x m l 及w e b 服务 c o l l e c t i o n ) 、对象激活 a c t i v a t i o n ( w h i c hr e q u i r e so b j e c t s b y - r e f e r e n c e ) 。 s o a p 消息由一个强制的s o a pe n v e l o p e 、一个可选的s o a ph e a d e r 和一个强 制的s o a p b o d y 组成的x m l 文档。s o a p 消息应当包含如下部分: 一个s o a pe n v e l o p e 。e n v e l o p e 是表示该消息的x m l 文档的顶级元素。 一个s 0 a ph e a d e r 。h e a d e r 是为了支持在松散环境下在通信方( 可能是s o a p 发送者、s o a p 接收者或是一个或多个s o a p 的传输中食) 之间尚未预先达成 一致的情况下为s o a p 消息增加特性的通用机制,这通常应用在认证、事务管 理以及支付等应用中。s o a p 定义了很少的一些属性用来指明谁可以处理该特 性以及它是可选的还是强制的。 一个s o a pb o d y 。b o d y 为该消息的最终接收者所想要得到的那些强制信息提 供了一个容器,即它包含了s o a p 消息的实际内容。此外,s o a p 定义了b o d y 的一个子元素f a m t 用于报告错误。 通常,刚接触s o a p 的用户提出的第一个问题就是s o a p 如何解决安全性 问题。在其早期开发阶段,s o a p 被看作是基于h t t p 的协议,所以认为m t p 的安全性对于s o a p 已经足够了。毕竟目前有数以千计的w e b 应用程序都在使 用h t t p 安全性,所以这对于s o a p 确实已经足够。因此,当前的s o a p 标准 假定安全性属于传输问题,而并不作为安全性问题处理。 当s o a p 扩展至更为通用的协议,并运行于众多传输之上时,安全性问题就 变得突出了。例如,h t t p 提供若干种方法对进行s o a p 调用的用户进行身份验 证,但是当消息从h t l t 路由到s m t p 传输时,怎样传播该身份标识呢? s o a p 是作为构造块协议进行设计的,所以幸运的是,已经有了相应的规范以基于s o a p 为w 曲服务提供额外的安全保护功能。w s s e c u r i t y 规范定义了一套完整的加密 系统,而w s l i c e n s e 规范定义了相应的技术,以保证调用者的身份标识,并确 保只有授权用户才可以使用w 曲服务。 2 5 本章小结 本章主要介绍x m l 和w e b 服务以及相关的技术。第一节介绍了x m l 的基础 知识,给出了x m l 文档的一个典型实例。第二节简单介绍了文档类型定义( d t d ) 和模式,它们主要是定义x m l 数据文档的内容和结构,并用于确定x m l 文档的 有效性。第三节主要讨论x m l 相关的几项重要技术,它们用于x m l 文档的显示 和处理等应用。第四节主要讨论w e b 服务,给出了w e b 服务堆栈,它定义了w e b 服务使用哪些技术( 标准) ,以及将会如何发展,最后讨论了s o a p ,因为它是在 分散或分布式的环境中,通过x m l 交换信息的种简单协议。 为了更好地研究w e b 服务的安全性,需要进一步研究基于x m l 的各种安全 x m l 及相关安全技术的研究 技术,当然这需要付出更多的努力。我们希望理解各种x m l 安全技术之间的关系, 有助于我们构建实际的基于x m l 的安全系统。 第三章x m l 相关的安全技术研究 第三章x m l 相关的安全技术研究 随着w e b 服务( w e bs e r v i c e ) 的逐渐普及和升温,人们在享受w e b 服务带来 的便利的同时,不得不考虑它的安全性如何,值得信赖吗? 目前,w e b 服务存在 两点缺陷: 没有提供可信任与授权的完整的安全构架,以确保基于w e bs e r v i c e 技 术的政务系统和电子商务的安全运作: 与w e bs e r v i c e 相关的现有的标准和规范中,不包括对消息的保护的部 分,即不能保证不被第三方截取或窜改。 下面我们来讨论如何来构建可信的w e b 服务。 可信来源于信任管理( t r u s tm a n a g e m e n t ) ,基本思想是承认开放系统中安全信 息的不完整性,系统的安全决策需要依靠可信任第三方提供附加的安全信息,其 意义在于直接揭示了信任与安全之间的关系,并以此提出了一个适合w e b 应用系 统开放、分布和动态特性的安全决策框架。可信w e bs e r v i c e 技术在安全方面实 现的主要功能就是数据的安全性、身份认证和权限管理
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- ISO 41792024 压力和非压力管道用球墨铸铁管及管件水泥砂浆衬里标准立项发展报告
- ISO 48612023 船舶和海洋技术.打桩船绞车标准立项发展报告
- 2026中国出口商品运输包装适航性标准与国际认证体系对标分析报告
- 气雾剂工常识评优考核试卷含答案
- 铁合金焙烧操作工岗前创新意识考核试卷含答案
- 炼钢准备工复试考核试卷含答案
- 潜水救生员冲突管理竞赛考核试卷含答案
- 锅炉管阀检修工安全理论测试考核试卷含答案
- 轨道交通通信信号设备制造工5S执行考核试卷含答案
- 煤调湿工安全意识强化能力考核试卷含答案
- 招标代理及造价咨询服务方案投标文件(技术标)
- 2025-2030中国职业教育虚拟仿真实训基地建设标准解读
- 1.4-1.5铁路劳动安全-安全权责-安全标志标识
- 《毛泽东思想和中国特色社会主义》课件-专题一 马克思主义中国化时代化
- 苏教版小学数学五年级下册全单元知识梳理与易错点拨总复习知识清单
- 6.2.4 向量的数量积(课件)高中数学人教A版(2019)必修 第二册
- 氘丁苯那嗪治疗迟发性运动障碍临床应用指导建议课件
- 医院应急管理多部门协同预案
- TSG31-2025工业管道安全技术规程解读
- DB43∕T 3134-2024 稻田土壤酸化治理技术规程
- 水利局招考试题及答案
评论
0/150
提交评论