(计算机系统结构专业论文)web+services环境中的pki服务化及应用.pdf_第1页
(计算机系统结构专业论文)web+services环境中的pki服务化及应用.pdf_第2页
(计算机系统结构专业论文)web+services环境中的pki服务化及应用.pdf_第3页
(计算机系统结构专业论文)web+services环境中的pki服务化及应用.pdf_第4页
(计算机系统结构专业论文)web+services环境中的pki服务化及应用.pdf_第5页
已阅读5页,还剩83页未读 继续免费阅读

(计算机系统结构专业论文)web+services环境中的pki服务化及应用.pdf.pdf 免费下载

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

文档简介

中文摘要 摘要 p k i 作为解决网络环境中安全问题的一项优秀技术。在过去十多年间得到了 迅速的发展以及广泛的关注。但由于涉及安全和网络等众多领域、系统结构复 杂、难于实现和使用,导致其进一步发展受到了阻碍。 w e bs e r v i c e s 是一种新出现的分布式计算模型。它采用x m l 、s o a p 等与平 台无关的中立技术,解决了分布应用程序中的异构性问题,可能成为分布式计 算的发展趋势。但它的进一步发展还有许多问题需要解决,其中一个关键问题 便是安全。 本文将w e bs e r v i c e s 技术引入p k i ,研究如何使p k i 以w e bs e r v i c e s 的形式提 供服务。基于i e t fp k i x 的i n t e m e t x 5 0 9p k i ,做了如下几方面工作: 定义和实现了通用的证书c r l 库访问w e b 服务,该服务支持基于多种关键 词的查询。 对o c s p 进行了详细分析,使用x m ls c h e m a 重新定义了协议消息,并基于 此实现了w e bs e r v i c e s 形式的o c s p 响应器。 基于前人的工作,更详细地分析了p k i x 的t s p 协议,使用x m ls c h e m a 重 新定义了协议消息,并实现 w e bs e r v i c e s 形式的时间戳服务。 对w e bs e r v i c e s 安全体系进行了简单讨论,分析了p k i 及本文工作在其中的 作用。实现了一个遵循w s s e c u r i t y 的a p a c h ea x i s 认证模块,可使服务双 方不显式调用安全服务而完成双向认证。 以w e bs e r v i c e s 的形式提供服务,可使p k i 融入至l j w e bs e r v i c e s 这一新的计算 环境中,保留系统已有投资,降低p k l 的使用难度,简化应用对p k i 服务的集 成。另一方面也为w e bs e r v i c e s 体系提供了必要的安全支撑,使构建可信的w e b 服务成为可能。 关键词:公钥基础设旋,p k i 的服务,w e bs e r v i c e s ,安全 英文摘要 t h es e r v i c i z a t i o na n d a p p l i c a t i o n o fp k ii nw e bs e r v i c e s e n v i r o n m e n t j i a n f e n gg u o ( c o m p u t e ra r c h i t e c t u r e ) d i r e c t e d b ya s s o p r o f x i a o f a n gz h a o p k ii sa l le x c e l l e n t t e c h n o l o g yi nr e s o l v i n gt h es e c u r i t yp r o b l e mo f o p e n n e t w o r k e n v i r o n m e n t i td e v e l o p e dq u i c k l ya n dr e c e i v e dg r e a ta t t e n t i o ni nl a s td e c a d e b u t b e c a u s ei tc o v e r sn u m e r o u s f i e l d s ,s u c ha sc r y p t o g r a p b y , n e t w o r ke t c ,a n di t ss t r u c t u r e i sc o m p l e x ,p k li sh a r dt oi m p l e m e n ta n du s ew h i c hr e s t r i c t si t sf u r t h e rd e v e l o p m e n t w 曲s e r v i c e si san e wd i s t r i b u t e dc o m p u t i n gm o d e l b yu s i n gp o w e r f u ln e u t r a l b a s et e c h n o l o g i e ss u c ha sx m l ,s o a pe r e ,w e bs e r v i c e sh a sm a d e h e t e r o g e n e i t yn o t a no b s t a c l ef o rd i s t r i b u t e da p p l i c a t i o n sa n dm a yb e c o m et h et r e n do fd i s t r i b u t e dc o m p u t i n g b u t t h e r ea r es t i l lm a n yp r o b l e m st h a tp r e v e n ti t sw i d e r a d o p t i o n a m o n g t h e r e s t ,s e c u r i t yi sak e yp r o b l e m t h i st h e s i si n t r o d u c e sw e bs e r v i c e st e c h n o l o g yi n t op k i ,s t u d i e sh o wt or e a l i z e p k i ss e r v i c e si nt h ef o r i l lo fw 曲s e r v i c e s b a s e do nt h ei n t e r n e tx 5 0 9p k id e f i n e d b y t h ei e t fp k i x w o r k i n gg r o u p ,w e d i dt h e f o l l o w i n g c o n c r e t ew o r k s ,w h i c ha i ea l s o t h em a i nc o n w i b u t i o n so f t h i sd i s s e r t a t i o n ag e n e r a l - p u r p o s ec e r t i f i c a t e c r ls t o r ea c c e s sw e bs e r v i c e ,w h i c hs u p p o r c s k e y w o r d - b a s e dq u e r i e s , i sd e f i n e d a n d i m p l e m e n t e d o c s pi sa n a l y z e di nd e t a i l t h ep r o t o c o lm e s s a g e sa r ed e s c d b e da n e wi nu s i n g x m ls c h e m a b a s e do nt h en e wf o r m a t ,t h eo c s p r e s p o n d e rw e b s e r v i c ei s d e f i n e da n d i m p l e m e n t e d b a s e do no t h e r sw o r k p k i x st s p p r o t o c o l i sa n a l y z e di nm o r ed e t a i l e d s i m i l a r t oo c s p , t h e p r o t o c o lm e s s a g e s a l ed e s c r i b e da n e wi nu s i n gx m ls c h e m aa n d t h et i m e s t a m ps e r v i c ei sd e f i n e da n di m p l e m e n t e d t h ea r c h i t e c t u r eo fw e bs e r v i c e ss e c u r i t yi ss t u d i e db r i e f l y t h er e l a t i o n s h i p b e t w e e nw e bs e r v i c e ss e c u r i t ya n dp k i ,e s p e c i a l l yo u rd e f i n e ds e r v i c e s ,i sd i s 一t t l w e bs e r v i c e s 环境中的p k i n 务化及应用 c u s s e d aw s s e c u r i t y c o n f o r m e da p a c h ea x i sa u t h e n t i c a t i o nm o d u l ei si m p l e m e n t e d b yu s i n gi t ,t h es e r v i c el l s e ra n dp r o v i d e rc a l la c c o m p l i s hb i d i r e c t i o n a l i d e n t i t ya u t h e n t i c a t i o nw i t h o u te x p l i c i t l yc a l ls e c u r i t ys e r v i c e s t h l o u 曲o f f e r i n gs e r v i c e si nt h ef o r mo fw e bs e r v i c e s ,p k ic a nj o i nt h i sn e w d i s t r i b u t e dc o m p u t i n ga r e a t h i sc a n p r e s e r v et h es i g n i f i c a n ti n v e s t m e n t i nl e g a c yp k i s y s t e m s ,r e d u c et h ed i t 矗c u l t yi nu s i n gt h es y s t e ma n ds i m p l i f yt h ei n t e g r a t i o no fp k i s e r v i c e s o nt h eo t h e rh a n d ,p k ic f l no f f e rn e c e s s a r ys u p p o r tf o rr e s o l v i n gt h es e c u r i t y p r o b l e m o f w e bs e r v i c e sa n dm a k ei tp o s s i b l et oc o n s t r u c tt r u s tw e bs e r v i c e k e y w o r d s :p u b l i c k e yi n f r a s t r u c t u r e ,p k is e r v i c e s ,w e bs e r v i c e s ,s e c u r i t y 一一 声明 本人声明所呈交的论文是我个人在导师指导下进行的研究 工作及取得的研究成果。就我所知,除了文中特别加以标注和 致谢的地方外,论文中不包含其他人已经发表或撰写过的研究 成果。与我一同工作的同志对本研究所做的任何贡献均已在论 文中作了明确的说明并表示了谢意。 作者签名:盔l 魈日期:翘必 关于学位论文使用授权的说明 中国科学院计算技术研究所有权处理、保留送交论文的复 印件,允许论文被查阅和借阅;并可以公布论文的全部或部分 内容,可以采用影印、缩印或其它复制手段保存该论文。 作者签名:盈蛾 日 期:迎芏:j :j 导师签名:越羞 日期:幽21 第一章引言 第一章引言 公钥基础设施( p u b l i ck e yi n f r a s t r u c t u r e ,p k i ) 是使用公钥密码理论解决 开放网络安全问题的技术。它通过可信的第三方为用户签发公钥证书,使得公 钥密码机制在开放环境中的应用成为可能,从而解决了网络通信中的实体认 证、数据完整性和数据机密性等安全问题。p k i 是一项优秀的技术,被认为是某 些网络安全问题的最终解决方案,在过去十多年间得到了迅速的发展和广泛的 关注。p k i 在技术方面已经相当成熟,但由于它覆盖的内容相当广泛,涉及众多 的领域、系统结构复杂、难于实现和使用,导致其进一步发展受到了阻碍。 w e bs e r v i c e s 1 是一种用于分布式环境的新的计算模式。它描述了组 用于分布应用程序交互的协议和规范,允许w e b 站点放置可编程的元素以实 现基于w e b 的分布计算和处理。由于w e bs e r v i c e s 采用x m l ( e x t e n s i b l em a r k u p l a n g u a g e ) 2 1 、s o a p 3 1 等平台无关的技术作为基础,使异构性不再是阻碍分布 式应用的障碍。虽然它诞生不久,但已经在短短的时问内飞速发展并展示了在 电子商务等方面的广阔应用前景。 本文将w e bs e r v i c e s 技术引入p i g 系统,研究如何使p k i 以w e bs e r v i c e s 的形 式提供服务。研究这一问题主要有以下几方面的意义: 1 借助w e bs e r v i c e s 的特点,可降低p k i 的使用难度,简化应用对p k i 服务的 集成。现有应用需通过连接客户端软件来使用p k i 的服务。若想在应用程 序中直接访问服务,开发人员必须投入大量精力了解特定于服务的函数库 细节。另外,现有方式要求不同的平台使用不同的客户端程序,不同平台 的应用程序使用不同的函数库来访问服务,不能满足客户端跨平台的要 求。w e bs e r v i c e s 采用x m l 等与平台无关的中立技术,并提供了一套规范 的方法来描述、发布、发现和调用服务,因此可解决分布应用的异构性和 跨平台问题,从而大大减轻客户端应用开发人员的负担。 2 可使p k i 系统成功加入w e bs e r v i c e s 体系。当前,w e bs e r v i c e s 技术飞速发 展,分布式网络计算已成为计算模式的发展趋势。如何使传统应用系统加 入这个新的环境以保留已有投资成了一个重要问题。 3 安全是w e bs e r v i c e s 亟待解决的一个关键问题。使p k i 提供服务的形式 与w e bs e r v i c e s 的应用模式相一致,可为w e bs e r v i c e s 体系提供必要的安全 一1 一 w e bs e r v i c e s 环境中的p r d n 务化及应用 支撑,使构建可信的w e b 服务成为可能。 本文不以设计新的证书格式和p k i 体系为目的,而是基于现有的p i g 体系 ( i e t fp k i x i 作组定义的i n t e m e tx 5 0 9p k if 4 1 ) 讨论如何以w e bs e r v i c e s 的形 式实现p k i 的服务。重点是定义服务的接口。本文的主要工作和贡献可以概括为 如下几点: 基于p k i 证书库的特点,定义和实现了访问p k i 证书库的w e b j l l 务。用户 可对证书库进行基于各种关键词的查询。 对o c s p 5 】协议进行了详细分析。由于现有协议不适合以w e bs e r v i c e s 的形 式实现服务,使用x m ls c h e m a 【6 】重新定义了x m l 格式的协议消息。基于 此格式定义和实现了w e bs e r v i c e s 形式的o c s p 响应器。 对如何在w e bs e r v i c e s 中实现时间戳服务进行了讨论。a x e l l ea p v r i l l e 和 v i n c e n tg i r i e r 在文章“x m ls e c u r i t yt i m e s t a m p i n gp r o t o c o l ” 7 1 中分析了 t s p 【础协议,并给出了一种x m l 格式的协议消息。本文在此基础上,对t s p 进 行了更详细的分析,并使用x m ls c h e m a 定义了完整的x m l 格式的协议消 息,最后讨论了时间戳w e b 服务的实现。 对w e bs e r v i c e s 体系的安全问题进行了简单讨论分析了p i g 及本文工作在 其中的作用。实现了一个基于a p a c h e a x i s f 9 1 的安全模块,可使w 曲服务的 提供者和使用者在不修改原有代码的条件下,完成双向认证。该安全模块 生成的s o a p 消息符合w s s e c u r i t y 【。 本文其余章节的组织如下 第二章对本文用到的相关知识做集中介绍。主要包括:p i g 的定义、 组成及提供的服务;w e bs e r v i c e s 及其三个核心标准一s o a p 、w s d l ; h u d d i ;a s n ,1 以及b e r 、d e r 和x e r 等编码规则;w 3 c 建议的对x m l 文 档进行签名处理的x m l s i g n a t u r e 。 第三章解决证书库访问服务在w e bs e r v i c e s 体系中的实现问题。 第四章解决o c s p n 务在w e bs e r v i c e s 体系中的实现问题。 + w 曲服务( w e bs e r v i c e ) 是使用w e bs e r v i c e s 技术创建的斑用实例。 一2 一 第一章引言 第五章解决时间戳服务在w e bs e r v i c e s 体系中的实现问题。 第六章简单讨论w e bs e r v i c e s 体系的安全问题,以实例介绍本文所做工作 在其中的作用。 第七章总结全文。 附录中给出了本文所讨论的各个服务的w s d l 描述文件以及重新定义的 o c s p 和t s p 消息的x m ls c h e m a 。 w e b s e r v i c e s 环境中的p k i j 日务化及应用 第二章背景知识 2 1 公开密钥基础设施一p k i 以i n t e m e t 为代表的网络技术的飞速发展正在逐渐改变人类的生活方式。但 网络设计的开放性使得在网上窃听、窜改消息等都十分容易,阻碍了它的进一 步应用。网络用户面临的安全问题主要有三类:数据机密性、数据完整性以及 认证。机密性保证数据在传输中不能被未授权的第三方读懂。完整性保证数据 在传输中不能被修改。认证保证通信双方能够确认对方的身份。 保证网络安全常用密码学的方法。密码学包括对称密码体制和非对称密码 体制。非对称密码体制也称公钥密码体制,被认为最符合开放网络的安全需 求。在公钥密码体制中,每个实体都拥有一对密钥:公钥和私钥。公钥可以公 开发布,而私钥则需保密。使用一个密钥编码的信息只能使用相应的密钥才能 解码。其它实体可使用某实体的公钥来加密传输消息,使得消息只能被该实体 阅读:某实体可使用私钥来签名消息使得其它实体可以使用公钥验证签名以对 其身份进行认证。 应用公钥密码机制的基本前提是通信双方能够可信地获得对方的公钥, p k i 为此提供了一套解决方案。在p k i 中,存在一些称为c a 的权威实体。它们对 包含终端实体公钥及身份信息的数据结构进行数字签名,签名后的结构称为公 钥证书( c e r t i f i c a t e ) 。由于证书是由c a 签名的,所以是可信的;由于证书中有 实体的身份信息,所以可以确定公钥的拥有者。 当前,证书格式主要有x 5 0 9 证书、s p k i s d s i 证书、p g p 证书以及属性 证书】等几种。不同类型的p k i 系统使用不同的证书格式。本文的研究重点 是i n t e m e t s l 程任务组( i n t e m e te n g i n e e r i n gt a s kf o r c e ,i e t f ) p k i x i 作组基于 x 5 0 9 证书定义的i n t e m e tp k i 。下面将首先介绍x 5 0 9 证书的发展历史,x 5 0 9 占 据了p k i 发展历史中最主要的部分;之后以p k i x 的i n t e m e t x 5 0 9p k i 为基础介 绍p k i 的概念;最后介绍p k i 提供的服务。 2 1 1 x 5 0 9 证书及i e t fp k i x t 作组 1 9 7 6 年,w h i t f i e l dd i n e 和m a r t i nh e l l m a n 在经典论文 n e wd f f e c f i o n si n c r y p t o g r a p h y ” 1 2 】中提出了非对称密码体制的思想。但他们在文章中没有给 4 第二章背景知识 出满足要求的具体例子,只是讨论了这样的密码杌制存在的可能。 1 9 7 8 年,r i v e s t 、s h a m i r 和a d l e m a n 基于大整数因子分解的困难性提出r s a 算法【”】,是最早且最通用的公钥算法之一。同年,k o h n f e l d e r 在其学士学位论 文 1 4 】中首次提出数字证书的概念。 x 5 0 9 是i s o 和u t ( 前身c c i t t ) x 5 0 0 系列标准 1 6 】的一部分,它 在1 9 8 8 年发布,定义了一个标准的证书格式。1 9 8 8 年定义的证书格式称为 版本1 ( v 1 ) ,随后在1 9 9 3 年推出了版本2 ( v 2 ) 。 在发布于1 9 9 3 年的关于p e m 的一个r f c 中( r f c l 4 2 2 ) ,包含有基于 x 5 0 9v l 证书的p i g 的描述。在r f c l 4 2 2 的实施过程中,显示了x 5 0 9v l 芹f l v 2 版 本证书的某些不足。i s o i e c i t u 和a n s ix 9 为满足这些需求开始定义x 5 0 9 v 3 证书格式,且于1 9 9 6 年完成v 3 i y 书基本格式的标准化 1 5 。 i s o i e c i t u 和a n s ix 9 也定义了可用于v 3 证书扩展域的标准扩展,这些 扩展的适用范围很广。为使x 5 0 9v 3 证书适用于在i n t e r a c t 环境中建立i n t e r n e t p k i 的需要,i e t f 在1 9 9 5 年成立了一个负责p i g 及x 5 0 9 的工作组,称为p k i x q - 作组。 除基于x 5 0 9 证书的p i c a 外,还有一些其它形式的p k i 系统。女f l p h i lz i m m e r m a n n 在9 0 年代初提出的用于保证电子邮件安全的p g p ( p r e t t yg o o dp r i v a c y ) 【1 8 ,以及针对x 5 0 9 复杂性和难于实现而提出的s p k s d s i ( s i m p l ep u b 1 i ek e y l n f r a s t r u c t u r e s i r n p l ed i s t r i b u t e ds e c u r i t yi n f r a s t r u c t u r e ) 旧2 0 】等。 2 1 2p k i 的组成 p 是用公钥密码概念和技术来实施和提供安全服务的具有普适性的安全基 础设施。p 系统主要由如下几部分组成,图2 1 是p y j x 给出的系统体系结构的 简化模型。其中终端实体是p k 系统的用户也就是证书的主体。 认证机构( c e r t i f i c a t i o na u t h o r i t y ,c a )域的信任中心,负责签发及管理 证书。证书的管理主要包括证书更新、证书撤销、证书撤销列表( c e r t i f i c a t er e v o c a t i o nl i s t ,c r l ) 8 队2 2 】的签发等操作。信任模型不同,担 任c a 的角色也不同。如在p k i x 的i n t e r n e tx 5 0 9p k i 中,由可信的第三方 + 证书具有一个有效期限,净证书过期后,证书将不能正常使用:然而,在有效捌范围内, 可能由于密钥泄漏、从属关系改变等原因,需要撒销证书。c r l 是r r u t 在1 9 8 8 年随x5 0 9 证书 提出的。一种证书撤销机制。 5 w e bs c w i c c s 环境中的p 服务化及应用 图2 1p k i x 的p i c i 体系模型 担任c a 。而在p g p 的“w e bo f t r u s t ”模型中,用户自己便是自己的c a ,所 有的信任决定于用户自身而不是第三方。 注册机构( r e g i s t r a t i o n a u t h o r i t y ,r a ) p i g 系统的可选组件。代理c a 完 成某些功能,如实体身份的确认。r a 的主要目的就是分担c a 的一定功能 以增强系统的可扩展性并降低运营成本。 证书c r l 库存储证书和c r l 的分布系统。向终端实体分发证书和c r l 。 操作协议用于终端实体从证书c r l 库获取证书和c r l 。操作过程基于 l d a p 、h t t p 、f t p 、x 5 0 0 等协议定义。 管理协议用来支持p k i 系统各实体( 如终端实体同c a ,以及两c a ) 间的在 线交互。管理协议支持的功能有:注册、初始化、认证、密钥恢复、密钥 更新、撤销请求,以及交叉认证等。 客户端软件独立于应用程序,负责p k i 的客户端功能。应用程序本身不连接 各种p 服务器,而是通过标准接口与客户端软件连接。 2 1 3p k i 提供的服务 p f - j 提供的服务分为核心服务以及建立在核心服务之上的支撑服务。p k 主 要提供三种核心服务:认证、数据完整性和数据机密性。 6 第二章背景知识 认证分为实体身份认证和数据来源认证。实体身份认证就是简单地证明实 体的身份。数据来源认证是鉴定指定的数据是否来自于特定的实体。 数据完整性确保数据在传输中没有被有意或无意地修改。 数据机密性确保数据不能被未授权的实体读懂。 认证使用的密码技术是数字签名,完整性使用数字签名或消息认证码,机 密性使用加密算法。 除上述三种核心服务外,p k i 还提供建立在核心服务基础之上的支撑服务。 它们不是任何p k i 的基本或本身固有的功能,各种p k i 实现可以选择是否支持这 些服务。p k i 的支撑服务主要有如下几种; 安全通信核心服务结合传统网络和通信协议而产生的服务。使得发送方向接 受方传输的数据具有认证、完整性和机密性中的一个或多个特征。如安全 电子邮件、安全w e bj 务器访问等都是安全通信的例子。 安全时间戳由可信的时间权威用一段可认证的完整数据来表示时间戳。该 服务使用核心服务中的认证和完整性。安全时间戳服务也是本文第五章的 讨论对象。 公证p k i 中提供公证服务的实体称为公证人,它被其它实体所信任。公证人 验证数据是否有效或正确,“正确”的意义取决于数据被验证的方式。公证 服务依赖于核心服务中的认证,通常它还需要安全时间戳服务。 不可否认不可否认用于从技术上保证实体对他们行为的诚实。主要有数据来 源的不可否认、接收后的不可否认、创建的不可否认、传输的不可否认、 同意的不可否认等类型。不可否认除依赖于p k i 的核心服务外,还依赖于 安全时间戳和公证服务。它是p k i 中最困难、最复杂的服务。 特权管理特权管理包括身份鉴别、访问控制、权限管理、许可管理、能力管 理等方面。特权管理就是为实体创建和管理安全策略,以便规定实体在特 定环境中的权限。 本节只介绍了p k i 的基本概念,关于p k i 更多的细节可以参看公开密钥基 础设施一概念、标准和实施f 2 3 - - 书,而密码学的知识可以参看( h a n d b o o k o f a p p l i e dc r y p t o g r a g r a f i h y 2 4 】以及密码学导引1 2 5 。 一7 一 w e bs e r v i c e s 环境中的p 服务化及应用 2 2w e bs e r v i c e s w e bs e r v i c e s 是一种用于分布式环境的新的计算模式,采用x m l 、s o a p 1 3 ,2 s ,z ,l 等技术作为基础,致力于解决阻碍分布式应用的异构性问题。由于它的 灵活性和平台无关性,现已得到了业界广泛的支持。如i b m 在其w e b s p h e r e 、 t i v o l i 、l o t u s d d b 2 等产品中提供了对w e bs e r v i c e s 的支持,另p f m i c r o s o f l 新的 开发平台n e t 也是围绕w e bs e r v i c e s 建立的。 w e b h l l 务是使用w e bs e r v i c e s 技术而创建的应用实例,它是一组被封装成 单个实体并发布到网络上供其它程序使用的功能集合。w e b 服务是应用代码 的一种抽象表示,可以向使用者屏蔽应用代码所在的平台以及编程模型等实 现细节。w e bs e r v i c e s 的目标是在异构的分布式开放网络中,提供一个面向 服务的体系结构,使使用者能够动态地发现和调用服务。图2 2 所示的是w e b s e r v i c e s 中各个实体的交互模型。服务提供者( s e r v i c ep r o v i d e r ) 通过服务注册 中心( s e r v i c er e g i s t r y ) 来发布它所提供的服务;服务使用者( s e r v i c eu s e r ) 通过注册中心来查询满足需要的服务,获得服务的描述;而后通过服务描述来 绑定服务提供者,调用服务。 图2 2 w e bs e r v i c e s 的交互模型 当前对于w 曲服务并没有一个统一的定义,这里只引用万维网联盟( w o r l d w i d ew e bc o n s o r t i u m ,w 3 c ) w e bs e r v i c e s 体系结构工作组给出的定义 2 8 】: aw e bs e r v i c ei sas o f t w a r es y s t e md e s i g n e dt os u p p o r ti n t e m p e r a b l e m a c h i n e t o m a c h i n ei n t e r a c t i o no v e ran e t w o r k i th a sa l li n t e r f a c ed e s c r i b e di nam a c h i n e p r o c e s s a b l ef o r m a t ( s p e c i f i c a l l yw s d l ) o t h e rs y s 。 t e m si n t e r a c tw i t ht h ew e bs e r v i c ei nam a n n e rp r e s c r i b e db yi t sd e s c r i p t i o n 8 第二章背景知识 u s i n gs o a pm e s s a g e s t y p i c a l l yc o n v e y e du s i n gh t t p 谢也a nx m ls e r i a l i z a t i o ni nc o n j u n c t i o nw i t ho t h e rw e b - r e l a t e ds t a n d a r d s ? w e bs e r v i c e s 体系基于请求应答的消息模型,它对w e b r 务的唯一要求是能 够遵循标准来发送和接收消息。现在,一套与w e bs e r v i c e s 体系相关的标准已 经被提出。上述定义中提到的s o a p 、w s d l1 2 9 ,以及另外一个标准一u d d i 3 0 】是w e bs e r v i c e s 的核心,已经得到了广泛的支持和接受。 2 2 1 消息封装及传输机制一s o a p s o a p 定义了如何使用x m l 在分布式环境中传递结构化信息。它本身没有 定义任何应用程序语义( 如编程模型和特定语义的实现) ,但通过提供模块化 的打包模型和模块中数据的编码规则,定义了一个可以表示应用程序语义的 简单机制。就是这种与特定语义无关的机制使得s o a p 能够用于从消息传递到 r p c 的各种系统。 s o a p 当前最新的版本是1 2 ,s o a p1 2 规范分为三个部分: p a r t0 【3 】是对s o a p 的非标准的介绍; p a r t1 2 6 1 定义t s o a p 消息的结构、处理模型以及s o a p 与底层协议绑定的 框架。p a r t1 是遵循规范的s o a p 实现必须实现的部分; p a r t2 【2 7 】定义了一个数据模型和一套编码规则,介绍了s q a p 如何同 h t t p 绑定。这部分的实现是可选的。 图2 3s o a p 消息的结构 9 w e bs e r v i c e s 环境中的p k i n 务化及应用 s o a p 消息对应的最外层元素是e n v e l o p e ,如图2 3 所示。它由两个子元素组 成:可选的h e a d e r 和必须存在的b o d y 。 h e a d e r s o a p 的一种扩展机制。它为应用提供了一种在s o a p 消息中传递非 应用信息( 主要包括辅助接收者处理消息的信息,如进行身份认证、事务 管理相关的信息) 的方法。h e a d e r 的子元素称为h e a d e r b l o c k 。有三个可 选的属性可以用于h e a d e rb l o c k : r o l e :指示b l o c k 的目标接收者; m u s t u n d e r s t a n d :指示b l o c k 的处理是强制的还是可选的; r e l a y :指示是否转发不能处理的b l o c k + 。 b o d y包含需要传输和处理的实际的消息。任何可e h x m l 语法表示的数据都 可以放在b o d y 中。s o a p 提供了一个错误模型来应付消息处理过程中发生 的错误。该模型使用的表示错误信息的f a u l t 元素( 包含c o d e 、r e a s o n 、 d e t a i l 、n o d e 和r o l e 五个子元素) 便是作为b o d y 的子元素来传递给服务使 用者的。 这里介绍的只是s o a p1 2 的消息结构,并未说明消息的处理模型、s o a p 与 底层协议的绑定、数据模型和编码规则等问题。它们的细节可以参看s o a p 1 2 的规范。由于s o a p1 2 推出不久,大多数实现只对其提供了部分支持,当前 很多应用还在使用s o a p1 1 。对于s o a p1 1 和1 2 的区别,s o a p1 2p a r to 第六 节1 3 1 有详细说明。 2 2 2 服务描述语言一w s d l w 3 c 定义的w s d l ( w e bs e r v i c ed e s c r i p t i o nl a n g u a g e ) 是w e bs e r v i c e s 服务 描述语言事实t 的标准。w s d l 当前最新的版本是处于工作草案( w 3 c w o r k i n g d r a f t ) 的2 0 3 2 3 ”,但应用最广的是1 1 口9 】( w 3 cn o t e ) 。由于2 0 推出不久, 而且处于草案阶段,当前大多数工具支持的是1 1 。下面对w s d l 的介绍将基 于1 1 。 w s d l 描述的是服务的抽象接口,服务使用者通过此接口与服务提供者进 行绑定。w s d l 对w e b f l 务的描述使用了如下一些概念: + r o l e s s o a p11 l 中的a c t o r 语义* t l n l ,r e l a y 是s o a pl ,2 新定义的属性。 一1 0 一 第二章背景知识 s e r v i c e :多个相关的网络节点( p o r t ) 的集合; p o r t :p o r t 既有抽象定义( p o r tt y p e ) 也有具体的定义( b i n d i n g ) ; p o r tt y p e :服务的软件接口,是o p e r a t i o n 的抽象集合; o p e r a t i o n :对服务支持的操作的抽象描述( 与函数原型类似) ,如 m e s s a g e 的交换模式; b i n d i n g :描述p o r t 所使用的底层协议( 女p s o a p ) : m e s s a g e :服务双方所传输数据的抽象表示。m e s s a g e 可包含多个p a r t , p a r t 是数据类型的实例: 7 r 押e s :使用类型系统( t 蝈x m l s c h e m a ) 定义的数据类型。 图2 4 ( + 表示未展开的元素) 所示的是g o o g l e 提供的与其搜索引擎对应 的w e b 日务( g o o g l ew e ba p i s 3 5 】) 的w s d l ,完整的w s d l 文件可以通过链 接“h t t p :a p i g o o g l e c o m g o o g l e s e a r c h w s d l ”获得。w s d l 的开头定义了一些数据 类型( t y p e s 元素) 以及调用服务需要交换的消息( m e s s a g e 元素) ;随后描述了 服务提供的全部方法( p o r t t y p e 元素,o p e r a t i o n 元素) 以及各个方法的实现细节 ( b i n d i n g 元素) ;最后给出了服务所在的位置( s e r v i c e 和p o r t 元素) 。 w s d l 为服务提供者提供了一个标准和结构化的方法来描述服务,使得开 发和维护服务变得相当简单。w 曲服务的开发者无需手工书写服务的w s d l 描 述,许多w e bs e r v i c e s s e 具都能够由服务代码自动生成服务的w s d l 文件。另 外,大多数支持w s d l 的w e bs e r v i c e s 工具也能够根据w s d l 描述生成调用服务 的代码,这样就大大减轻了服务使用者的编程负担。 w s d l 为服务使用者提供了调用服务所需的全部信息,问题是怎样才能得 到服务的w s d l 描述。下面将要介绍的u d d l 为此提供了一个解决办法,它定义 的可查询服务及服务描述的注册中心使用户能够自动地发现所需的服务。 2 2 3 服务注册及查询机制一u d d 结构化信息标准促进组织( o r g a n i z a t i o n f o r t h e a d v a n c e m e n t o f s t r u c t u r e d i n - f o r m a t i o ns t a n d a r d s ,o a s i s ) 的u d d i ( u n i v e r s a l d e s c r i p t i o n ,d i s c o v e r ya n d i n t e g r a t i o n ,统一描述、发现和集成协议) 项目的目标是定义一个注册中心( u d d i r e g i s t r y ) ,使公司、商业组织等服务提供者可以注册自己的服务及服务描述, w e bs e r v i c e s 环境中的p k i n 务化及应用 图2 4w s o l 的- 个例子:g o o g l ew e b a p i s 使用者可以自动地发现自己所需的服务。u d d i 两部分组成:服务相关数据的 注册和管理,以及查询数据的操作。u d d i 中注册的信息分为三类:商业组织、 公司等服务提供者的信息;它们所提供的服务;以及服务的技术描述。 u d d i 基于h t t p 、x m l 、x m ls c h e m a 、s o a p 等标准定义,当前最新的版 本是3 0 3 0 1 。u d d i 注册中心存储的信息是称为e n t i t y 的数据结构的实例,它们 用x m l 表示。u d d i 定义了如下四种主要的e n t i t y : 一1 2 第二章背景知识 b u s i n e s s e n t i t y描述商业组织、公司等w 曲服务提供者的信息

温馨提示

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

评论

0/150

提交评论