




已阅读5页,还剩63页未读, 继续免费阅读
(计算机应用技术专业论文)基于soap的web服务安全通信机制的研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 论文在研究基于s o a p 的w e b 服务安全通信机制的基础上,设计实现了 x m l 加密组件、x m l 签名组件和访问控制组件。通过把这些独立的安全组件在 a x i s 中集成实现,提高了w e b 服务通信的安全性。最终,通过对测试结果的分 析,验证了安全组件实现的可行性。具体工作如下t ( 1 ) 对w e b 服务及其关键技术s o a p 、w s d l 、u d d i 、x m l 和w s s e c u r i t y 规范等进行了研究。 ( 2 ) 结合二进制安全令牌设计实现了x m l 签名组件,该组件为消息提供 了完整性,由于安全令牌传输的数字证书代表了用户的身份,签名组件同时还能 提供身份验证和不可否认性;结合w s s e c u r i t y 规范设计实现了x m l 加密组件, 该组件满足了s o a p 消息的机密性:为了适应w e b 服务动态性和开放性的要求, 论文结合更加灵活的基于角色的访问控制模型,设计实现了基于角色授权的访问 控制组件,该组件能够为服务提供授权,它通过以角色为中介,实现了用户权限 与资源访问的映射,降低了授权管理的复杂度。 ( 3 ) 对s o a p 引擎a x i s 进行了分析研究,将所设计的安全组件:x m l 签 名组件、x m l 加密组件和访问控制组件等,通过h a n d l e r 在a x i s 上有机集成并 实现,并以网上银行系统的主要功能对其进行安全性测试。最后通过分析a x i s 提供的s o a p m o n i t o r 工具截获的安全处理后的消息,验证了论文所设计的安全 组件的安全性和可行性。 本课题来源于陕西省自然科学基金( 2 0 0 6 f 5 0 ) 和航空科学基金项目 ( 0 6 z c 3 】0 0 1 ) 。 关键词:w e b 服务,简单对象访问协议,x m l 签名,x m l 加密,基于角色的访 问控制 a b s t r a c t r e s e a r c ha n di m p l e m e n t a t i o no fam e c h a n i s mf o rs o a p b a s e d bs e r v i c e ss e c u r ec o m m u n i c a t i o n s a b s t r a c t w i t ht h er e s e a r c ho fam e c h a n i s mf o rs o a p - b a s e dw 曲s e r v i c e ss e c u r e c o m m u n i c a t i o n s ,x m le n c r y p t i o nc o m p o n e n t ,x m ls i g n a t u r ec o m p o n e n ta n d a c c e s sc o n t r o lc o m p o n e n ta r ed e s i g n e da n di m p l e m e n t e di nt h i st h e s i s t h es e c u r i t y f o rw e bs e r v i c e sc o m m u n i c a t i o n si si m p r o v e db yi n t e g r a t i n ga n di m p l e m e n t i n gt h e s e s e p a r a t es e c u r i t yc o m p o n e n t s t h ef e a s i b i l i t yo fa c h i e v i n gs e c u r i t yc o m p o n e n t si s v e r i f i e db ya n a l y z i n gt e s t i n gr e s u l t s d e t a i l sa r ea sf o l l o w s : ( 1 ) t h e s et h e o r i e sa r es t u d i e d ,i n c l u d i n gw e bs e r v i c e s ,s o a p , w s d l ,u d d i , x m la n dw s s e c u r i t ys t a n d a r di nt h i st h e s i s ( 2 ) x m ls i g n a t u r ec o m p o n e n ti sd e s i g n e da n di m p l e m e n t e dc o m b i n e dw i t h b i n a r ys e c u r i t yt o k e n t h ec o m p o n e n tp r o v i d e si n t e g r i t y , a n da l s oa u t h e n t i c a t i o n , n o n - r e p u d i a t i o n ,b e c a u s et h eu s e r si d e n t i t yi s i n c l u d e di nd i g i t a lc e r t i f i c a t e so f s e c u r i t yt o k e n ;c o m b i n e dw i t hw s s e c u r i t ys t a n d a r d ,x m le n c r y p t i o nc o m p o n e n ti s d e s i g n e dw h i c he n s u r e st h ec o n f i d e n t i a l i t yo ft h es o a pm e s s a g e s ;t om e e tt h e d y n a m i ca n do p e nn a t u r eo fw e bs e r v i c e s ,ar o l e - b a s e da c c e s sc o n t r o lc o m p o n e n ti s d e s i g n e da n di m p l e m e n t e dc o m b i n e dw i t ht h em o r ef l e x i b l er o l e - b a s e da c c e s sc o n t r o l m o d e l t h ec o m p o n e n tp r o v i d e sa u t h o r i z a t i o nf o rs e r v i c e sa n dr e a l i z e st h em a p p i n g o fu s e r s p e r m i s s i o na n dr e s o u r c e s ,s ot h ec o m p l e x i t yo fa u t h o r i z e dm a n a g e m e n ti s r e d u c e d ,b ym a k i n gr o l ea si n t e r m e d i a r i e s ( 3 ) t h es o a pe n g i n ea x i si sa n a l y z e di nt h et h e s i s t h e nt h ex m ls i g n a t u r e , x m le n c r y p t i o na n da c c e s sc o n t r o lc o m p o n e n t sa r ei n t e g r a t e da n di m p l e m e n t e di n a x i sb yh a n d l e r t h es e c u r i t yi st e s t e do nt h em a i nf u n c t i o n so fa ni n t e m e tb a n k i n g s y s t e m b ya n a l y z i n gs o a pm e s s a g e sa f t e rt h es a f eh a n d l i n gw h i c hi n t e r c e p t e db y t h ea x i s st o o ls o a p m o n i t o r , t h es e c u r i t ya n df e a s i b i l i t yo fs e c u r i t yc o m p o n e n t sa r e i i a b s t r a c t v e i l f l e d t h i s p a p e ri ss u p p o r t e db ys h a a n x in a t u r a ls c i e n c ef u n d s ( 2 0 0 6 f 5 0 ) a n d a v i a t i o ns c i e n c ef u n d s ( 0 6 z c 310 0 1 ) k e y w o r d s :w e bs e r v i c e s ,s o a p , x m ls i g n a t u r e ,x m le n c r y p t i o n ,r o l e b a s e d a c c e s sc o n t r o l i l l 西北大学学位论文知识产权声明书 本人完全了解西北大学关于收集、保存、使用学位论文的规定。 学校有权保留并向国家有关部门或机构送交论文的复印件和电子版。 本人允许论文被查阅和借阅。本人授权西北大学可以将本学位论文的 全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫 描等复制手段保存和汇编本学位论文。同时授权中国科学技术信息研 究所等机构将本学位论文收录到中国学位论文全文数据库或其它 相关数据库。 保密论文待解密后适用本声明。 学位论文作者签名:i 圣盈至盈摹指导教师签名: ) oo g 年6 月f e e t 优豸年6 , q to 日 西北大学学位论文独创性声明 本人声明:所呈交的学位论文是本人在导师指导下进行的研究工作及取得的研究 成果。据我所知,除了文中特别加以标注和致谢的地方外,本论文不包含其他人已经 发表或撰写过的研究成果,也不包含为获得西北大学或其它教育机构的学位或证书而 使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确 的说明并表示谢意。 学位论文作者签名:,l 币群群 瑚甚年6 月o 日 第一章绪论 1 1 研究背景及意义 第一章绪论 随着i n t e m e t 的出现和发展,越来越多的企业开始利用互联网来进行商业活 动。但是,仅有网络是远远不够的,当今孤立的系统、应用程序和w e b 站点随 处可见,它们就好像是“信息孤岛 ,彼此之间要进行交流面临着很大的困难。 如何轻松实现企业不同系统之间的集成和交互,一直是一个热点问题。传统e a i ( 企业应用集成) 即利用中间件、应用程序接口和定制代码实现e a i ,是一项艰 巨的工作,但它的不灵活性和高昂的费用阻碍了它的发展。w e b 服务( w e b s e r v i c e s ) 以其松散耦合性、基于国际标准、与编程语言无关性、跨平台等特性 应运而生【l 】。与传统的e a i 相比,w 曲服务具有简单、互操作性好、灵活、动态 性好和成本低等优势,它的出现使上述问题可以得到很好的解决。 w e b 服务的主要目标就是在现有各种不同平台的基础上构筑一个通用的、与 平台无关、语言无关的技术层,各种不同平台上的应用依靠这个技术层来实施彼 此的连接和集成,以便为用户提供各种各样的服务【2 】,因此w e b 服务日益受到广 大商业实体的青睐。但是,随着w e b 服务技术应用的深入,出现了很多新的挑 战,尤其是安全问题。 w e b 服务的安全性问题相当广泛,但是首先要解决的是w e b 服务的通信安 全问题。w e b 服务使用s o a p 作为它的消息传输协议,s o a p 最大的特点就是简 单性,它尽可能利用已有的标准和协议来实现相应的功能,在设计之初并没有过 多地考虑它的安全性,因此w e b 服务在经由i n t e m e t 来进行信息交换时,不可避 免的存在信息丢失、被窃听、被篡改等安全风险,s o a p 消息的安全承载着w e b 服务安全的绝大部分。现在普遍使用的s s l t l s 以及h t t p s 是点到点的安全技 术,它在保护w e b 信息安全方面已经十分成熟,但是运用在w e b 服务上时只能 为传输过程提供消息完整性和机密性,却无法保障w e b 服务有中介参与时端到 端的安全。要保证w e b 服务的通信安全,需要一种端到端的消息级安全解决方 案。另外,对w e b 服务实施访问控制也是必须的。w e b 服务是一种部署在w e b 第一章绪论 上的对象组件,它在为用户提供服务的同时,很可能会受到一些未授权用户的 非法访问,因此可以通过访问控制技术来防止对任何资源的非授权访问。目前, w e b 服务的访问控制技术已经成为一个研究热点。传统的面向数据对象的访问控 制技术,很难满足w e b 服务的动态性、开放性的要求。w e b 服务需要的是一种 更加灵活有效的访问控制机制。 1 2 国内外研究现状 w e b 服务要被广大用户所接受,必须解决它的安全问题。w e b 服务的安全 需求与信息安全一样,主要包括机密性、身份验证、授权、完整性和不可否认性。 针对以上w e b 服务的安全需求,国内外一些标准化组织、公司和社会团体都在 进行相关的研究。 x m l 签名规范( x m ld i g i t a ls i g n a t u r e ) 【3 】是第一个官方推荐的x m l 安全 标准,它是由w 3 c ( w o r l dw i d ew 曲c o n s o r t i u m ) 和i e t f ( i n t e m e te n g i n e e r i n g t a s kf o r c e ) 共同开发的,是许多w e b 服务安全技术的构件。x m l 签名不但解 释了如何签名x m l 文档的一部分,还解释了如何将任何数据的数字签名表示为 x m l 格式。 x m l 加密规范( x m l e n c r y p t i o n ) 【4 】是由w 3 c 提出的一个规范,它不仅提 供了加密x m l 文档的一部分的方法,而且还提供了加密任何数据和用x m l 表 示加密数据的方法。x m l 签名和x m l 加密共同构成了w e b 服务安全的基础。 w 3 c 的另一个工作组还制定了x m l 密钥管理规范x k m s ( x m lk e y m a n a g e m e n ts p e c i f i c a t i o n ) 【5 1 ,用于让用户获取加密密钥信息( 例如机密密钥, 证书等) ,并允许用户进行密钥管理,例如密钥的注册和撤消等等。x k m s 是给 p k i ( 公钥基础设施) 提供接口的w e b 服务,简化了实现p k i 的必要步骤。 安全断言标记语言s a m l ( s e c u r i t y a s s e r t i o nm a r k u pl a n g u a g e ) 6 1 是由o a s i s ( o r g a n i z a t i o nf o rt h ea d v a n c e m e n to fs t r u c t u r e di n f o r m a t i o ns t a n d a r d s ) 开发的一 个复杂规范,是基于x m l ( 扩展标记语言) 的,用于在多个信任合作者之间传 输认证和授权信息的安全访问控制框架体系和协议。作为x m l 的一种描述语言, s a m l 关注的重点并不局限于信息的描述,而是侧重于如何用s a m l 实现信息 2 第一章绪论 的安全共享,在多个信任合作者之间交换安全信息。s a m l 还提供了单点登录的 机制。 x m l 访问控制标识语言x a c m l ( x m la c c e s sc o n t r o lm a r k u pl a n g u a g e ) 【7 】是o a s i s 组织提出的另一个安全规范,是一种通用的访问策略定义语言。它 提供了一种策略语言,允许管理员定义访问控制需求,以便获得所需的应用资源。 x a c m l 还包括一种访问决策语言,用于描述运行时对资源的请求。 由i b m 和m i c r o s o f t 以及v e r i s i g n 等公司共同提出的w s s e c u r i t y l 8 1 规范主要 描述如何向s o a p 消息附加签名和加密报头以及如何向消息附加安全令牌。 w s s e c u r i t y 将所有安全信息保存在s o a p 消息报头中,从而为w 曲服务安全性 提供了端到端的解决方案。但是w s s e c u r i t y 只是一种构件,并不提供完整的安 全性解决方案,它必须与其它w e b 服务扩展和更高级的特定于应用程序的协议 联合使用,以适应多种安全性模型和加密技术【9 1 。 随着与w e b 服务安全相关的各种规范的出台,各大公司都相继开发出相应 的工具对各种规范进行支持。 全球领先的应用基础结构软件公司b e a 的w e b l o g i cw e bs e r v i c e 可以支持 w e b 服务的数字签名和加密【1 0 】。它的应用服务器是开发和部署可靠w e b 服务的 领先平台,提供了一个基于标准的安全框架,可以支持面向连接的点到点的安全, 以及w e b 服务操作的授权和认证。 i b m 的w e b s p h e r e 应用服务器提供了传输层的安全,同时支持w s s e c u r i t y 规范【1 1 1 。 微软的w s e ( w e bs e r v i c e se n h a n c e m e n t s ) 可以支持w s a d d r e s s i n g 、 w s - s e c u r i t y 、w s t r u s t 、w s s e c u r e c o n v e r s a t i o n 、w s - p o l i c y 、w s p o l i c y a s s e r t i o n s 和w s s e c u r i t y p o l i c y 等w 曲服务安全技术。它还提供了一个完整的基于角色的 授权模型,用来保护对服务的访问【12 1 。 s u n 的j a v a 系统应用服务器平台【1 3 1 可以支持x m l 数字签名、x m l 数字加 密和w s s e c u r i t y 技术。 另外,一些开源组织也相继推出针对某些规范进行支持的开发包。v e r i s i g n 公司的可信服务集成工具包t s i k ( t r u s ts e r v i c e si n t e g r a t i o nk i t ) 提供了对x m l 签名、x m l 加密、w s s e c u r i t y 、s a m l 和x k m s 规范的支持。a p a c h e 推出的 第一章绪论 w s s 4 j ,支持x m l 签名、x m l 加密和w s s e c u r i t y ,还包含对s a m l 的部分支 持。 国内针对w e b 服务安全性规范研究的相对较弱,研究成果主要是在安全标 准的应用方面,也取得了一定的成果。金蝶在2 0 0 4 年开发出w e b 服务来支持 x m l 数字签名、x m l 数字加密和w s s e c u r i t y 技术【1 4 】。2 0 0 4 年东方通遵循 w 曲服务协议栈,并支持w e b 服务安全性规范w s s e c u r i t y 和s a m l 等,通过 使用安全标记,实现s o a p 消息的机密性、完整性和不可否认性。 w e b 服务安全问题还是一个比较新的研究课题,有很多方面值得我们进一步 的研究和探索。 1 3 主要研究内容 本人在研究生期间主要从事基于s o a p 的w e b 服务的安全通信机制的研究 工作,本课题来源于陕西省自然科学基金( 2 0 0 6 f 5 0 ) 和航空科学基金项目 ( 0 6 z c 3 1 0 0 1 ) 。如何构建一个完善的w e b 服务安全解决方案,是当前w e b 服务 的一个研究热点。论文的主要研究内容如下: ( 1 ) 对w e b 服务的概念及特征进行了分析研究,并详细研究了w e b 服务 的关键技术:s o a p 、w s d l 、u d d i 、x m l 。对w e b 服务安全规范w s s e c u r i t y 进行了深入的研究和探讨。 ( 2 ) 分析研究了传统的安全传输机制存在的不足,传统的安全传输机制主 要采用s s l t l s ,是点到点的安全技术,不能保证基于s o a p 通信的w e b 服务 有中介参与时端到端的安全。针对当前w e b 服务存在的安全需求:机密性、身 份验证、完整性和不可否认性、授权,论文将x m l 签名组件、x m l 加密组件 和访问控制组件结合使用,形成了一套基于s o a p 的w e b 服务的安全通信解决 方案。 ( 3 ) 通过j a v a 的组件技术,对x m l 签名组件、x m l 加密组件和访问控制 组件进行具体的设计与实现。利用s o a p 的可扩展性,通过将安全令牌与x m l 签名相结合,使得论文设计的x m l 签名组件提供了数据的完整性,满足了身份 验证和不可否认性。结合w s s e c u r i t y 规范设计实现的x m l 加密组件提供了数 4 第一章绪论 据的机密性。采用基于角色的访问控制模型所设计的访问控制组件为w e b 服务 提供了授权。另外,由于签名组件和加密组件使用数字证书包含的密钥信息来进 行实际的操作,因此论文还设计实现了认证服务中心,它利用j a v a 提供的密钥 库k e y s t o r e 为用户颁发数字证书,是整个安全方案得以正常运行的基础。 ( 4 ) 分析了s o a p 引擎a x i s ,将论文所设计的x m l 签名组件、x m l 加密 组件和访问控制组件在a x i s 上集成实现,并将它们部署到需要安全策略支持的 网上银行系统中,以此来对功能组件进行安全性验证。通过分析使用a x i s 提供 的s o a p m o n i t o r 工具截获的安全处理后的消息,验证了论文设计的安全机制的 安全性和可行性。 第二章相关技术理论基础 2 1w e b 服务概述 第二章相关技术理论基础 2 1 1w e b 服务的概念及特征 m 将w e b 服务定义为“w e b 服务是自包含的模块化应用程序,它可以通 过网络进行描述、发布、定位和调用”【1 6 】。w 3 c 对w e bs e r v i c e s 的定义是:w 曲 s e r v i c e s 是由u r i ( u n i f o r mr e s o u r c ei d e n t i f i e r ) 标识的一个软件应用,其接口和 绑定可以通过x m l 文档定义、描述和发现;它使用基于x m l 的消息通过互联 网协议与其它软件之间直接交互【”1 。 w e b 服务建立在x m l 标准之上,是可以使用任何编程语言、协议或平台开 发的通过i n t e m e t 标准技术传递的、松散耦合的软件组件。通俗的讲,w e b 服务 就是为一些功能提供接口,让它们可以被w e b 上的其它程序来访问的一种技术。 这里的功能可能是执行一个数学运算,从数据库获取数据或是其它更复杂的任 务。 w 曲服务采用面向服务的体系结构,包括服务提供者、服务请求者和服务注 册中心三种角色,以及相关的三种运行关系:注册、发现和调用服务。也有可能 存在不包含服务注册中心角色的两层模型。图2 1 表示了w 曲服务的体系结构。 图2 1w e b 服务的体系结构 w 曲服务提供者就是w 曲服务的所有者,他将自己的服务发布在i n t e m e t 上, 供其他用户和服务使用,是提供服务访问的平台。w 曲服务请求者也就是w 曲服 务使用者,他进行发现并调用服务提供者提供的服务。w 曲服务注册中心是一个 6 第二章相关技术理论基础 可搜索的服务注册中心,服务提供者在此发布他们的服务描述。服务请求者通过 它来查找需要的服务并获取服务的绑定信息。w 曲服务注册中心实质上充当着管 理者的角色,它的作用是把一个w 曲服务请求者与合适的、e b 服务提供者联系在 一起。服务注册中心是体系结构中的可选角色,因为服务提供者可以把描述直接 发送给服务请求者。 w 曲服务的一个典型运作过程是:服务提供者把他的、b 服务发布到服务注 册中心的一个目录上,当服务请求者需要调用该服务时,他首先到服务注册中心 提供的目录上搜索该服务并得到如何调用该服务的相关信息,然后根据这些信息 调用服务提供者发布的服务。 w e b 服务实际上是一种远程过程调用r p c ( r e m o t ep r o c e d u r ec a l l ) 机制, 这种远程过程调用机制是通过交换基于x m l 的文档来执行的【1 8 】。这是因为,以 x m l 格式表示的消息易于阅读和理解,并且x m l 文档具有跨平台和松散耦合 的结构特点;从商务应用的角度看,从工作流到查询数据库,直到同贸易伙伴交 换信息,x m l 格式表示的消息封装了词汇表,可以同时在行业组织内部和外部 使用;它还有较好的弹性和可扩展性,允许使用附加的信息,并且x m l 标签提 供了可访问的进程入口,从而可强化商业规则,并且增强了互操作性,为信息的 自动处理提供了可能【1 9 】。w 曲服务是一种部署在w 曲上的对象组件,它具有以 下特征【2 0 】: ( 1 ) 完好的封装性:w e b 服务既然是一种部署在w e b 上的对象,自然具备 对象的良好封装性。对于使用者而言,他能且仅能看到该对象提供的功能列表。 ( 2 ) 松散耦合:这一特征也是源于对象组件技术,当一个w e b 服务的实 现发生变更的时候,调用者是不会感到这一点的。对于调用者来说,只要w e b 服务的调用接口不变,w e b 服务实现的任何变更对他们来说都是透明的,甚至 当w e b 服务的实现平台从j 2 e e 迁移到n e t 或者反向迁移时,用户都可以对此 一无所知。对于松散耦合而言,尤其是在i n t e m e t 环境下的w e b 服务而言,需要 有一种适合i n t e m e t 环境的消息交换协议。而x m l s o a p 正是目前最为适合的 消息交换协议。 ( 3 ) 使用协约的规范性:这一特征从对象而来,但相比一般对象,其界面 规范更加规范化和易于被机器理解。首先,作为w e b 服务,对象界面所提供的 7 第二章相关技术理论基础 功能应当使用标准的描述语言来描述( 比如w s d l ) ;其次,由标准描述语言描 述的服务界面应当是能够被发现的,因此这一描述文档需要被存储在私有的或公 共的注册库里面。同时,使用标准描述语言描述的使用协约将不仅仅是服务界面, 它将被延伸到w e b 服务的聚合、跨w e b 服务的事务、工作流等,而这些又都需 要服务质量( q o s ) 的保障。安全机制对于松散耦合的对象环境十分重要,因此 需要对诸如授权认证、数据完整性( 比如签名机制) 、消息源认证以及事务的不 可否认性等运用规范的方法进行描述、传输和交换。最后,所有层次上的处理都 应当是可管理的,因此需要对管理协约运用同样的机制。 ( 4 ) 使用标准协议规范:作为w e b 服务,其所有公共的协约完全需要使用 开放的标准协议进行描述、传输和交换。这些标准协议具有完全免费的规范,以 便由任意方进行实现。一般而言,绝大多数规范将最终由w 3 c 或o a s i s 作为最 终版本的发布方和维护方。 ( 5 ) 高度可集成能力:由于w e b 服务采取简单的、易理解的标准w e b 协议 作为组件界面描述和协同描述规范,完全屏蔽了不同软件平台的差异,因此,无 论是c o r b a ( c o m m o no b j e c tr e q u e s tb r o k e ra r c h i t e c t u r e ,公共对象请求代理体 系结构) 、d c o m ( d i s t r i b u t e dc o m p o n e n to b j e c tm o d e l ,分布式组件对象模型) 还是e j b ( e n t e r p r i s ej a v a b e a n s ,企业版j a v a b e a n s ) ,都可以通过这一种标准的 协议进行互操作,实现了在当前环境下最高的可集成性。 2 1 2w e b 服务协议栈 为了完成在松散耦合环境下的对象访问,以及在基本对象访问之上的事务、 工作流、安全机制等,要实现一个完整的w e b 服务体系架构需要有一系列的协 议规范来支撑。这一系列的开放标准协议规范( 比如x m l 、s o a p 、w s d l 、u d d i 等) 相互依赖、相互影响,就像一个堆栈那样共存协作,被称为是“w e bs e r v i c e s s t a c k ( w e b 服务协议栈) ,图2 2 展示了当前投入使用的w e b 服务协议栈。 w e b 服务协议栈的最底层是网络传输层,它也是协议栈的基础。i n t e m e t 上 可以访问的w e b 服务使用已普遍部署的网络协议,如h t t p 、s m t p 、f t p 和 m q ( m e s s a g eq u e u i n g ) 等。其中h t t p 凭借其普遍性,成为i n t e m e t 环境下w e b 服务使用的标准网络协议。第二层基于x m l 的消息层( x m l b a s e dm e s s a g i n g ) 第二章相关技术理论基础 主要体现怎么去调用w e b 服务。现在运用比较广泛的主要有两种,一种是 x m l r p c ( x m l r e m o t ep r o c e d u r ec a l l ) ,另一种是s o a p ( s i m p l eo b j e c t a c c e s s p r o t o c 0 1 ) 。相比之下s o a p 比x m l r p c 有一定的优势:s o a p 在处理复杂数据 ( 如数组等) 时要比x m l r p c 更容易一些;x m l l 冲c 没有标准化错误代码。 第三层服务描述层( s e r v i c ed e s c r i p t i o n ) 主要是对w e b 服务的描述,向客户端 说明服务提供了什么样的接口可供调用,怎么样去调用和到哪里去调用。这一层 中主要的协议是w s d l ( w e bs e r v i c e sd e s c r i p t i o nl a n g u a g e ) 。另外,服务发现 集成协议u d d i 以及w e b 服务流程语言w s f l ( w e bs e r v i c e sf l o wl a n g u a g e ) 都是目前开发的w e b 服务的相关标准协议。 w 吼c 三至三 s t a t i c u d d i d i r c c t u d d l w s d l s o a p h r r p ,f r p ,m q , e m a i l ,e r e 2 2s o a p 协议分析 图2 2 w e b 服务协议栈 s o a p 即简单对象访问协议提供了一种简单且轻量的机制,可用于在分散 分布式环境中的对等体之间进行结构化和类型化的数据交换2 1 1 。因为它是一个 基于x m l ( e x t e n s i b l em a r k u pl a n g u a g e ) 标准的协议,可以用来在不同的系统 不同的语言之间进行通信。在w e b 服务中,s o a p 充当在服务使用者和服务请 求者之间交换信息时消息交换协议的角色,是w e b 服务的核心。s o a p 规范主 要由下列元素组成【2 2 】: ( 1 ) s o a p 信封规范:它定义了一个s o a p 消息表示框架。s o a p 消息通 常包括一个s o a p 信封,带有0 个或多个附件。s o a p 信封包含可选的报头 9 第二章相关技术理论基础 ( h e a d e r 元素) 和必需的报体( b o d y 元素) 。其中,报头是一种用来向s o a p 消息添加额外特性的通用机制,s o a p 定义了一些属性来指出谁应该处理某个特 性及这个特性是可选的还是必须要处理的;报体包含发送给最终目标节点的信 息。图2 3 显示带附件的s o a p 消息的结构。 ( 2 ) s o a p 编码规则:定义了一组数据编码规则,它是由编程语言、数据 库和应用程序所需的半结构化数据表示的一组通用数据类型。s o a p 编码支持简 单类型值和复合类型的值。 ( 3 ) s o a pp r c 约定:定义了一个用于表示远端过程调用和响应的约定。 在s o a pp r c 请求和响应中,方法调用被串行化为s o a p 编码规则定义的、基 于x m l 的数据类型。 ( 4 ) s o a p 绑定:定义了一个使用底层传输协议来完成在节点间交换s o a p 信封的约定。 图2 3 带附件的s o a p 消息的结构 s o a p 的主要设计目标是简明性和可扩展性。简明性主要表现在整个s o a p 规范定义的消息结构非常简单,除了这个基本消息结构外,s o a p 没有定义额外 的表述结构标准,没有定义自己的编码格式和传输协议。可扩展性则主要表现在 s o a p 可以使用任意的模式定义方式来定义内部传输内容的结构( 编码方式一般 使用x m ls c h e m a ) ,可以与任意的网络传输协议联合使用完成传输。 s o a p 提供复合的单向消息交换框架,以便在s o a p 节点之间传输x m l 。 这些s o a p 节点表示s o a p 消息路径的实体,执行消息路由或处理功能。在s o a p 1 0 第二章相关技术理论基础 消息中,s o a p 节点可以是s o a p 发送方( 生成和发送消息的一方) 、s o a p 接 收方( 最后接收,并以s o a p 响应、消息或故障的形式处理消息的一方) 或s o a p 中间方( 既可以是s o a p 发送方,也可是s o a p 接收方,是s o a p 消息可到达 的某一个应用程序) 的任何一种。在s o a p 消息交换模型中,s o a p 消息从发送 方经0 个或多个中间方( 每一个中间方提供特定功能,并提供到下一消息目标位 置的路由) 传递到最终目标位置。s o a p 消息交换模型如图2 4 所示。 2 3w s - s e c u r i t y 规范 图2 4 基本的s o a p 消息交换模型 w 曲服务安全规范w s s e c u r i t y 是由i b m 、m i c r o s o f t 和v e r s i g n 公司共同提 出的,已经成为保护w e b 服务安全以及提供w e b 服务可互操作的事实标准。它 提供了将安全令牌( 用户名密码令牌、x 5 0 9 证书或k e r b e r o s 票据等) 和s o a p 消息关联起来的通用机制,定义了如何利用x m l 加密和x m l 签名以及安全令 牌来对s o a p 消息进行加密和签名。 w s s e c u r i t y 主要就是用于保护s o a p 消息的,实际上是对s o a p 协议的扩 展【2 3 】,它解释如何将安全信息包含在s o a p 消息的报头中。规范本身并没有提 出新的加密算法或安全模型,而是在利用现有的安全标准和规范的基础上提供了 一个可扩展的框架,开发人员可以根据实际情况自由的将各种相关协议和加密技 术、安全模型有机地结合起来,以实现w e b 服务环境下消息的完整性、保密性 和消息的认证。w s s e c u r i t y 规范在s o a p 中引入现有的签名和加密标准,根据 这些标准,它定义了一系列的s o a p 消息头( h e a d e rb l o c k ) 来包含数字签名、 加密信息和安全令牌等安全信息。下面是一个典型的s o a p 消息报头: m i i e z z c c a 9 c g a w l b a g l q e m t j z c o 在上面的结构中,s e c u r i t y 报头块是由w s s e c u r i t y 定义的。它除了封装安 全令牌外,还提供有关在s o a p 消息中使用x m l 签名和x m l 加密的信息。每 个s o a p 消息可以包含有多个s e c u r i t y 报头块,每个报头块都可以通过s :a c t o r 属性来指定哪个s o a p 节点将对其进行处理。s :m u s t u n d e r s t a n d 属性设置为1 时 说明,强制接收方处理s e c u r i t y 报头记录项。如果接收方不能处理安全信息,处 理将失败。 w s s e c u r i t y 主要提供了三种机制:安全令牌传输、消息完整性和消息机密 性。 ( 1 ) 安全令牌传输 在s o a p 消息头中,w s - s e c u r i t y 定义了安全元素( s e c u r i t ye l e m e n t ) 来传递 各种安全令牌。消息的接收者通过发送者的安全令牌来验证用户的身份。安全元 素包含三种子类型的元素2 4 1 ,它们分别是u s e m 锄e t o k e n ,b i n a r y s e c u r i t y t o k e n 和s e c u r i t y t o k e n r e f e r e n c e 。 u s e m a m e t o k e n l 2 5 元;素定义了在s o a p 中封装用户名和口令信息的方 式。使用用户名和密码来验证用户的身份是最普通也最常见的方法。 1 2 第二章相关技术理论基础 b i n a r y s e c u r i t y t o k e n 2 6 1 元素用来传递经过编码的二进制安全令牌。二进 制安全令牌( 例如x 5 0 9 数字证书或者k e r b e r o s 票据) 必须经过编码才 能包含在s o a p 消息的报头中。上面的s o a p 消息头就封装了一个x 5 0 9 形式的二进制安全令牌。其中属性e n c o d i n g t y p e 指定二进制数据的编码 类型( b a s e 6 4 编码和十六进制编码两种类型) 。属性v a l u e t y p e 指定安全 令牌的类型。 s e c u r i t y t o k e n r e f e r e n c e 元素提供了一种引用安全性令牌的可扩展机制。 它是通过指定一个外部u r i ,由接收者根据这个u r i 去获取相应的安全 令牌。 ( 2 ) 消息的完整性 w s s e c u r i t y 采用了w 3 c 的x m l 签名标准对s o a p 消息进行数字签名,保 证s o a p 消息在经过中间节点时不被篡改。w s s e c u r i t y 并没有彻底改造已有的 标准,而是简单的利用它们,并就如何在s o a p 消息中使用这些规范提出了一些 具体细节。w s s e c u r i t y 允许对s o a p 消息其中的一部分进行数字签名,允许为 相同的消息创建多个签名,这样数据经过的不同机构或个人就可以独立地对同一 个x m l 文档的不同部分进行添加、删除或修改,并只对自己的处理结果签名, 而且所有签名之间完全不会相互影响,从而能够更好地分工协作,权责更明晰, 效益也更显著,从而扩大签名的作用范围。w s s e c u r i t y 提供了对多种签名算法 和签名格式的支持。 ( 3 ) 消息的机密性 w s s e c u r i t y 使用w 3 c 的x m l 加密规范对s o a p 消息进行加密,保证s o a p 消息在传递过程中即使被监听,监听者也无法提取出有效信息。w s s e c u r i t y 允 许对s o a p 消息进行选择性的加密( 可以部分加密或是全部加密) ,这样就可以 只对敏感信息加密,减少以往因对整个消息加密所导致的性能损失。w s s e c u r i t y 也支持多种加密算法和加密格式。 总之,w s s e c u r i t y 是一个灵活的、极具扩展性的安全规范。上述三种机制 既可以单独使用,也可以组合使用,以实现不同强度的安全性。例如,对消息进 行签名和加密,并提供与签名加密密钥相关的安全性令牌。 论文所设计的安全通信机制就是基于w s s e c u r i t y 的。w s - s e c u r i t y 规范的采 第二章相关技术理论基础 用使得应用程序能够构建安全的s o a p 消息交换机制,保证了s o a p 消息的机 密性,完整性和不可否认性,并且实现了支持端到端的消息级安全性而非仅仅传 输级安全性。 2 4w e b 服务其它关键技术 2 4 1x m l 可扩展标记语言( l ) 是所有w e b 服务标准的基础,它是w 3 c 认可的 用于结构化数据和内容以及交换电子文档的标准数据格式2 7 1 。x m
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025南平国网顺昌县供电公司车辆驾驶服务项目驾驶员招聘模拟试卷及一套完整答案详解
- 2025黑龙江双鸭山饶河县竞聘农场社区工作者笔试考前自测高频考点模拟试题附答案详解(考试直接用)
- 2025年春季中国商飞公司校园招聘和年度社会招聘考前自测高频考点模拟试题及1套参考答案详解
- 2025江苏盐城市滨海县卫生事业单位校园招聘专业技术人员22人考前自测高频考点模拟试题附答案详解
- 2025年白山市教育系统“进校园”招聘高校毕业生(52人)模拟试卷及答案详解(全优)
- 2025黄河科技学院应用技术学院招聘(河南)考前自测高频考点模拟试题附答案详解(模拟题)
- 2025贵州剑河县农村集体经济组织选聘职业经理人(总经理)17人模拟试卷及答案详解(全优)
- 2025江西吉水县某行政单位招聘4人模拟试卷参考答案详解
- 2025年广东深圳公务员考试(行政执法素质测试)综合试题及答案
- 第8课 短撇、平撇教学设计小学书法练习指导四年级上册人美版
- QGDW11703-2017电力视频监控设备技术规范
- 军工涉密项目管理制度
- 16949体系培训计划
- T/CAZG 003-2019亚洲象饲养管理技术规范
- 《智慧仓储管理》课程标准
- 火锅店股东协议合同协议
- 电梯曳引钢丝绳维护保养制度
- 沪教版(五四学制)(2024)六年级下册单词表+默写单
- 茶叶加工工(中级)模拟试题与答案
- 高考语文复习【高效课堂精研】打造议论文分论点+课件
- 《SAP培训资料》课件
评论
0/150
提交评论