(计算机软件与理论专业论文)web+service安全模型的研究与实践.pdf_第1页
(计算机软件与理论专业论文)web+service安全模型的研究与实践.pdf_第2页
(计算机软件与理论专业论文)web+service安全模型的研究与实践.pdf_第3页
(计算机软件与理论专业论文)web+service安全模型的研究与实践.pdf_第4页
(计算机软件与理论专业论文)web+service安全模型的研究与实践.pdf_第5页
已阅读5页,还剩56页未读 继续免费阅读

(计算机软件与理论专业论文)web+service安全模型的研究与实践.pdf.pdf 免费下载

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

文档简介

摘要 随着信息化的不断发展,企业对应用集成和应用互操作性的要求越来越高,但是由 于不同应用系统间的异构性,使得仓业间及部门间的数据交换、集成面临着很大的困难, 极易导致信息孤岛的形成。为了解决这些问题,相继出现了d c o m 、c o r b a 、r m i 等 分布式对象技术,可是这些技术却往往受限于特定的领域和平台。而基于x m l 的分布 式中间件平台w e bs e r v i c e 的出现,可以较好的解决这一问题。但由于w e bs e r v i c e 技术 的不完善及其通信协议( s o a p ) 的简单性,导致w e bs e r v i c e 缺少相关安全措施,使其 应用面临着一定的安全风险。针对这种情况,本文从消息和服务本身的安全角度出发对 w e bs e r v i c e 的安全机制进行了以下几方面的研究。 首先,基于w e bs e r v i c e 的安全性要求及安全现状,对w 曲s e r v i c e 的安全体系进行 了深入分析,构建了w e bs e r v i c e 安全模型,并对其安全技术存在的问题进行了探讨, 提出了解决方案。具体而言,在x m l 加密方面,通过对加密后s o a p 消息结构的分析, 发现x m l 加密技术存在一定程度的信息泄露。针对这种信息泄露,提出x m l 成组加 密的方法,防止了可能的信息泄露。在x m l 签名方面,采用w s s e c u r i t y 进行签名传 ,输,并通过w s s e c u r i t y 实现了签名与加密的有机结合,进一步加强w e bs e r v i c e 的安 全性。同时,针对现今w e bs e r v i c e 安全解决方案常常忽略服务本身安全的情况,对服 务本身的安全进行了着重考虑,并将w e bs e r v i c e 访问控制机制纳入了安全模型中,实 现了对服务本身的保护,防止未授权用户获取服务信息。 其次,从企业应用现状出发,应用组件化设计思想,对w e bs e r v i c e 安全模型进行 了功能设计。采用e j b 组件技术,实现了w e bs e r v i c e 安全模型,并给出了其中每个组 件的处理流程。 最后,通过对s o a p 引擎的消息处理机制的分析,设计了w e bs e r v i c e 安全模型的 j a x - r _ p c 安全处理程序,实现了w e bs e r v i c e 安全模型和s o a p 引擎的紧密结合。在此 基础之上,以具体实例对w e bs e r v i c e 安全模型进行了具体的应用验证。 关键词:x m lw e bs e r v i c e 安全模型s o a p 引擎e j b 组件 项目资助:国家科技部社会公益专项资金项目敦煌文物保护数字化研究( 项目编号:2 0 0 1 d i b l 0 0 6 0 ) a b s t r a c t w i t ht h ed e v e l o p m e n to fi n f o r m a t i o n i z a t i o np r o c e s s ,e n t e r p r i s e sh a v em o r ed e m a n d so n a p p l i c a t i o ni n t e g r a t i o n a n di n t e r o p e r a b i l i t y h o w e v e r , t h eh e t e r o g e n e i t yb e t w e e nd i f f e r e n t a p p l i c a t i o ns y s t e m s m a k e si n f o r m a t i o n e x c h a n g e a n d i n t e g r a t i o n b e t w e e nd i f f e r e n t e n t e r p r i s e s o rd i f f e r e n td e p a r t m e n t sd i f f i c u l t w h a ti sw o r s e ,i te v e nl e a d st oi n f o r m a t i o n i s o l a t i o n i no r d e rt os e t t l et h e s ep r o b l e m s ,t h e r ee m e r g e st h ed i s t r i b u t e do b j e c tt e c h n i q u e l i k ed c o m ,c o r b a ,r m i ,e t c b u tt h e s et e c h n o l o g i e sa r eo f t e nl i m i t e dt os p e c i f i cf i e l d s a n dp l a t f o r m s t h ee m e r g e n c eo fw e b s e r v i c e ,w h i c hb a s e so nt h ex m l ,c o u l db e t t e rs e t t l e t h i sp r o b l e m b u tw e bs e r v i c ei sn o tp e r f e c ta n di t sc o m m u n i c a t i o n p r o t o c o lo f s o a pi st o o s i m p l e ,i tl a c k sr e l e v a n ts a f e t ym e a s u r e sw h i c h m a k e si td a n g e r o u sw h e n p u t i n t oa p p l i c a t i o n 。 t h i st h e s i s ,f r o mt h ea s p e c t so fm e s s a g ea n ds e r v i c e ,c a r r i e so u ti t sr e s e a r c ho nw e bs e r v i c e s e c u r i t y a sf o l l o w f i r s to f a l l ,b a s i n go nt h es e c u r i t y r e q u i r e m e n ta n d i t sc u r r e n ts i t u a t i o n ,t h et h e s i sa n a l y z e s t h es e c u r i t ys y s t e mo ft h ew e bs e r v i c ea n dp r e s e n t st h ew e bs e r v i c es e c u r i t ym o d e l i t d i s c u s s e st h es e c u r i t yp r o b l e m sa n dp u tf o r w a r dt h es o l u t i o n s f o rt h ex m l e n c r y p t i o n ,i t a n a l y z e st h ee n c r y p t e ds o 巍pm e s s a g ea n df i n d st h a tt h e r ee x i s t si n f o r m a t i o nl e a k a g et o s o m ee x t e n t i n o r d e rt os e t t l et h i s p r o b l e m ,t h et h e s i sp r o p o s e s t h em e t h o do fg r o u p e n c r y p t i o n a s f o rx m l s i g n a t u r e ,i ta d o p t st h ew s - s e c u r i t yp r o t o c o lt oc a r r yo u tt h e s i g n a t u r ei n f o r m a t i o na n dt h r o u g ht h ew s - s e r v i c ep r o t o c o lt oc o m b i n e t h es i g n a t u r ea n dt h e e n c r y p t i o nt o g e t h e r , t h u sc o n s o l i d a t et h es e c u r i t y o fw e bs e r v i c e c o n s i d e r i n gt h a tt h e c u r r e n ts o l u t i o n sf o rs e c u r i t yu s u a l l yi g n o r et h e s e c u r i t yo fs e r v i c ei t s e l f , t h et h e s i sp a y s s p e c i a la t t e n t i o n st ot h es e c u r i t yo fs e r v i c ea n dl a t e rb r i n g st h ea c c e s s i n gc o n t r o ls y s t e mi n t o t h es e c u r i t ym o d e l ,t h u ss u c c e s s f u l l yp r o t e c tt h es e r v i c ea n d p r e v e n tt h eu n a u t h o r i z e du s e r t o o b t a i nt h ei n f u r m a t i o n , s e c o n d l y , b a s e do n t h ec u r r e n ta p p l i c a t i o ns i t u a t i o no f e n t e r p r i s e s ,i td e s i g n st h es t r u c t u r e o f t h ew e bs e r v i c es e c u r i t ym o d e la n dt h e nu s i n gt h ee j b t e c h n o l o g y t or e a l i z ei t f i n a l l y , t h et h e s i sa n a l y z e st h ec h a r a c t e r i s t i c so ft h es o a pe n g i n ea n ds e t u pt h e j a x r p cp r o g r a ma n dt h u sr e a l i z e st h ec o m b i n a t i o no ft h es e c u r i t ym o d e la n dt h es o a p e n g i n e o nt h eb a s i so fa l la b o v e ,t h et h e s i sc a r r i e so u tt h ea p p l i c a t i o nr e s e a r c hf o rt h e s e c u r i t ym o d e l k e y w o r d s :x m l w e bs e r v i c e s e c u r i t ym o d e l s o a p e n g i n e e j b 儿 原创性声明 本人郑重声明:本人所呈交的学位论文,是在导师的指导下独立进行 研究所取得的成果。学位论文中凡引用他人已经发表或米发表的成果 数据、观点等,均已明确注明出;处。除文中已经注明引用的内容外,j f 包含任何其他个人或集体已经发表或撰写过的科研成果。对本文的研究成 果做出重要贡献的个人和集体,均已在文中以明确方式标明。 本声明的法律责任由本入承担。 论文作者签名:掏遭主一一 - t 期:氇! 啦垒。遁一 关于学位论文使用授权的声明 本人在导师指导下所完成的论文及相关的职务作品,知识产权归属兰 州大学。本人完全了解兰州大学有关保存、使用学位论文的规定,同意学 校保存或向国家有关部门或机构送交论文的纸质版和电子版,允许论文被 查阅和借阅;本人授权兰州大学可以将本学位论文的全部或部分内容编入 有关数据库进行检索,可以采用任阿复制手段保存和汇编本学位论文。本 人离校后发表、使刚学位论文或与该论文直接相关的学术沦文或成果时, 笫一署名单位仍然为兰州大学。 保密论文在解密后应遵守此规定。 论文作者签名:立i 赶:主导帅签名篪吟日期:型:翌 w e bs e r v i c e 安全模型的研究与实践 1 1 研究背景及意义 第一章绪论 随着互联网络的广泛应用和发展,越来越多的商业实体开始将他们的商业活动转移到互联网上。 互联网络为他们提供了发现新客户、供应流、新服务的各种机会,使得各个商业实体从i n t e m e t 上 获得了空前的安全的经济回报。这同时也使商业实体内部部门之间、实体之间的合作与交流变的越 来越频繁和复杂,但是由于部门之间、商业实体之间的应用系统所采用的编程语言、开发部署平台、 协议以及数据格式往往存在着差异,使得系统问的集成和交互相当困难,极易形成信息孤岛。因此, 相继出现了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 ,分布式组件对象模型) 、r m l ( r e m o t em e t h o di n v o c a t i o n , 远程方法调用) 等分布式对象技术,但是这些技术由于各自有一套独立的体系结构和私有协议,不同 模型的应用系统之间通信十分不便、客户端与服务端必须紧密耦合、客户与服务器之间网络通信量 很大,使得它们不适用于极端异构的i n t e m e t 环境。而基于x m l 的分布式中间件平台w e bs e r v i c e s 的出现使得这一问题可以得到很好解决。 w e b s e r v i c e 的主要目标就是在现有的各种异构平台的基础之上构筑一个通用的、与平台无关、 语言无关的技术层,各种不同的平台依靠这个技术层实施彼此的连接和集成。从本质上讲,w e b s e r v i c e 是一种放置于i n t e m e t 上的可重用构件,它可以分散于w e b 的各个地方,通过互相调用来协 同完成业务活动。它是对象组件技术在i n t e m e t 中的延伸,是封装成单个实体且发布到网络上以供 其它程序使用的功能集合。在w e bs e r v i c e 的体系中,应用系统被分割为高内聚、弱耦台的单个的 服务,然后通过w e b 进行调用和集成。通过采用w e bs e r v i c e ,可以使应用系统开发的代价得到显 著降低,程序员也无需与多种平台进行交互。而且部署和集成的费用得到降低,流程的更改也无需 更改大量代码,甚至通过t 具的支持。根本无需更改程序代码。同时随着新的w e bs e r v i c e 技术, 如w s d l u d d u w s f l 的大量使用,w e bs e r v i c e 在运行时进行动态装配将成为现实,甚至可以应用 户的需要进行实时装配。 w e bs e r v i c e 的核心基础是可扩展性标记语言x m l ( e x t e n d e d m a r k u pl a n g u a g e ) ,它使用w s d l ( w e bs e r v i c e d e s c r i p t i o nl a n g u a g e ) 定义服务,利用s o a p ( s i m p l eo b j e c t a c c e s sp r o t o c 0 1 ) 作为请 求者和服务提供商之间的通信协议,通过u d d i ( u n i v e r a ld e s c r i p t i o n ,d i s c o v e r ya n di n t e r g r a t i o n ) 进 行服务的注册。这些基丁x m l 的技术的使用,使w e bs e r v i c e 可以通过h t t p 、s m t p 等网络上是 常使用的通信方式携带信息,使其能穿越企业的防火墙,方便异构系统间的交互。通过x m l 来传 递信息,使s o a p 信息可由任何一种平台上的任何一种程序语言所产生或解读,即实现对程序语言、 操作系统的独立性,这是c o r b a 、j a v a r v i i 及d c o m 这些以专属二进制格式传送数据的分布式对 象技术所不能及的。正是因为w e bs e r v i c e 技术具有的这些优点,使其得到以i b m 、s k i n 、m i c r o s o f t 等前沿厂商的大力支持。 虽然,现今w e bs e r v i c e 技术在许多领域获得了飞速的发展,并展示了巨大的应用前景,但要 将w e bs e r v i c e 技术完美的应用到这些领域,还有一系列棘手的问题需要解决,尤其是安全问题。 w e b s e r v i c e 存在的安全问题是由于其通信协议s o a p 的简单性,协议中没有相关安全措施所引起的。 在实际应用中,通常采用h t t p s 、s s l 实现通信链路的安全,使用x m l 加密、x m l 数字签名技术 来保证消息本身的安全。通信级别的安全技术现今已经非常成熟,可以较好保证通信链路的安全, 而消息级别的安全技术,例如x m l 数字签名、x m l 加密技术等还存在着不足之处,无法保证服务 安全t 特别是服务本身的安全。根据w e bs e r v i c e 技术的特点和安全现状,我们希望通过现有安全 兰州大学钡 一学位论文 技术的结合、改进来最火程度的保障w e bs e r v i c e 安全。在本文中,我们通过对w e b s e r v i c e 安全机 制的分析,提出了w e bs e r v i c e 安全模型,并其中的安全技术存在的问题进行分析,提出了解决方 案。最后对w e b s e r v i c e 安全模型进行了实现和应用验证。 1 2 研究内容 w e bs e r v i c e 以s o a p 协议作为通信基础,但s o a p 协议的一个重要特征就是它的简单性,它尽 可能的利用已有的标准和协议来实现其功能,这使得在设计之初没有考虑s o a p 协议的安全问题, 导致w e bs e r v i c e 存在着安全隐患。现今如何提高w e bs e r v i c e 的安全性,已经成为开发w e b s e r v i c e 应用的热点问题,安全性已经成为开发和部署w e b 服务的重要i j 容之一。本文的主要研究内容就是 从信息交换和服务本身安全的角度出发,去解决w e bs e r v i c e 所存在的安全问题。 归纳起来,本文的主要研究内容为: 现今在考虑w e bs e r v i c e 安全时,对各种安全技术通常是单独处理的。如何在w e bs e r v i c e 现有安全技术的基础上,实现这些技术的整合和改进,使它们能够更好保护w e bs e r v i c e 资 源。 x m l 加密、x m l 签名可用于保证信息内容的安全,但是这些技术应用于w e bs e r v i c e 时存 在一些问题。例如x m l 加密存在着信息泄露问题,数字签名信息的传递问题。应该如何解 决这些问题,以防止出现可能的安全漏洞。 通常对于w e bs e r v i c e 安全,人们只考虑x m l 加密和x m l 签名,但这两者只能实现消息 的机密性和完整性,无法对服务本身进行保护,不能防止一些针对w e b 服务本身的攻击, 不能对用户访问权限进行控制,无法实现服务质量控制等问题。因此,如何采取适当措施 保护服务本身,对用户访问权限进行控制,防止非法用户访问服务以及可能的网络攻击。 在保护w e bs e r v i c e 时,m 。加密、x m l 签名以及对服务本身保护这三者的关联关系是怎 样的,如何使它们之间盼相互配合、相互支撑,达到最大程度保护w e bs e r v i c e 。 1 3 本文工作 本文讨论了开发和部署w e bs e r v i c e 时所面临的安全问题,通过对w e bs e r v i c e 安全机制的分析, 构建了w e bs e r v i c e 安全模型,并对其安全技术存在的问题进行了深入研究,提出我们的解决方案, 最后对此安全模型进行了功能设计和应用研究。本文主要完成的工作和取得的结果如下: 第一,基于w e bs e r v i c e 的安全性要求及安全现状,通过对w e bs e r v i c e 的安全体系的分析,我 们构建了w e bs e r v i c e 安全模型,实现了现有技术在保护w e bs e r v i c e 时相互配合、相互支撑。 第二,针对x m l 加密存在的信息泄露问题,提出了x m l 成组加密的方法。通过x m l 加密与 访问控制的相互结合解决了w e bs e r v i c e 中密钥交换问题,并实现对密钥的有效期控制,将密钥的 使用范嗣控制在一定时间段内,防止了可能的密钥破解或泄露。 第三,采用了w s - s e c u r i t y 在s o a p 消息头中携带x m l 签名信息,并讨论了x m l 签名如何和 x m l 加密相配合进行用户身份确认问题。利用w s s e c u r i t y 的扩展性,实现用户角色信息的传递, 提供了对w e bs e r v i c e 访问控制的支持。 第四,从保护服务本身的角度出发提出w e bs e r v i c e 访问控制问题,将基于角色的访问控制模 型应用到w e bs e r v i c e 安全控制中,并对其进行了深入讨论。但由于访问控制只能实现对用户访问 权的控制,无法控制用户访问状态,例如单位时间内的访问次数、是否允许并发、限定用户于特定 网段内等。因此,我们在访问控制中添加了崩户访问限制条件,实现对用户访问状况的控制,并同 时防止可能的网络攻击。 2 堕! ! ! :堡! 窒全堂型堕型塑生塞堕一一 第五,对在w e bs e r v i c e 安全模型中x m l 加密、x m l 签名及访问控制相互支撑、相互配合问 题进行了讨论,_ = f :采用e j b 技术对w e bs e r v i c e 模型进 r 了设计及实现,并对其中每个模块进行了 研究。 第六,讨论了如何在实际中应用w e bs e r v i c e 安全模型,并进行了应用验证。 1 4 论文组织结构 本文第一章为绪论,回顾了w e bs e r v i c e 的发展过程,简述本文的研究内容及主要工作。第一一: 章对w e bs e r v i c e 技术及相关协议进行了论述,并给出w e bs e r v i c e 安全性要求。第三章是本文的重 点部分,基于w e bs e r v i c e 的安全性要求及安全现状,通过对w e bs e r v i c e 的安全体系的分析,我们 构建了w e bs e r v i c e 安全模型,并对其安全技术存在的问题进行了探讨,并提出了相应的解决方案。 第四章是在第三章的基础上研究和设计了w e bs e r v i c e 安全模型的功能结构,并且对其中每个组件 的具体操作流程进行了详细说明。第五章论述了如何在实际应用使用w e b 服务安全模型以及应该注 意的问题。第六章给出了论文的总结,并对w e bs e r v i c e 安全模型的下一步发展作了展望。 附录一为e n c r y p t e d g r o u p 元素的x m ls c h e m a 描述 附录二为安全模型的部分核心代码 3 兰州大学硕士学位论文 2 1x m l 第二章相关技术 x m l t l l 是整个w e bs e r v i c e 技术的基础,本文涉及的各种w e bs e r v i c e 协议都是以x m l 作为信 息描述和交换的标准手段。x m l 或者称为可扩展标记语言,它是一种元标记语言,即是用于定义与 特定领域相关的、结构化标记语言的句法语言。它和h t m l 一样都是从( s g m l s t a n d a r dg e n e r a l i z e d m a r k u dl a n g u a g e ) 进化来的,但它去除h t m l 的不完美之处,使得能够在w e b 上能够传输、处理 各类复杂的文件;它舍弃了s g m l 中复杂的不常用及不利丁在w e b 传送的功能,让使用者可以很 容易地定义属于自己的文件形态,程序设计师也能在更短的时间开发x m l 相关的应用程序。由于 x m l 所具体的一些革命性特征,使它成为目前服务集合和服务交互技术中最根本、最重要的技术, 以下就是它具有重要特性“o 自描述性:自描述性使差异性可以存在,使计算机可以在没有人干涉的情况下,理解数据 的含义。 可扩展性:文档通过d t d 或x m ls c h e m a 来定义文档结构,使其它信息系统自动了解文 档的内容。 可校验性:用户可以通过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 的约束。 层次性结构:能够保证信息的层次性描述。 丰富的链接定义:对应于h t m l 单一的单向单通道链接,x m l 提供各种不同的链接,如 一对多、多对一和双向链接。 多样的样式表支持:x m l 将数据内容和它们的表现形式分开。这样既保可以只关心数据的 逻辑结构,也可以通过样式表来格式化数据的表现。 保值:x m l 文件不会因为时问的变换而变得不可读,不可处理,因为x m l 格式之间的转 化是很容易的。这也是s g m l 希望拥有的特性,但是s g m l 由此而变得庞杂,x m l 相比 而言简单而且更加灵活。 可精确搜索:x m l 标签表达了内容的定义,从而搜索引擎可以通过搜索x m l 文档得到更 精确的内容。 x m l 是面向的内容的,可以更多的的反映文档的内容和逻辑结构,它的标记也是可扩展的,用 户可以根据自己的需要定义标记米表示想要表示的内容及其结构。x m l 文档可以通过提供d t d ( d o c u m e m t y p ed e f i n i t i o n ) 或是x m ls c h e m a 文档描述的内容模式对文档的内容进行限制。d t d 是近几年在x m l 领域,“泛使用的一种模型,但是由丁其不能满足x m l 自动化处理的要求,例如不 能很好实现应用程序不同模块间的相互协调,缺乏对文档结构、属性、数据类型约束的足够描述等 方面的不足,因此w 3 c ( w o r l d w i d e w e b c o n s o r t i u m ) 将x m l s c h e m a 推荐为x m l 的标准模式。 与d t d 相比,x m ls c h e m a 不但包括d t d 所有功能,而且它本身就是规范的x m l 文档,具有很 强的描述能力、扩展能力和处理维护能力,大大弥补d t d 的不足。x m ls c h e m a 具有丰富的数据类 型、支持用户自定义类型、属性分组、名字空间,而且其内容模型是开放,可随时进行更新,使得 x m l 开发人员能够可以更加快速、方便的开发x m l 应用。 现今,x m l 在i n t e m e t 应用中的得到了不断普及,从w e b 网站的内容管理、内容描述起步,逐 渐发散到其它基ti n t e m e t 的应用中,这些应用包括内容管理发布、电子商务应用、数据层集成、 应用层集成、系统配置信息描述等。 4 w e bs e r v i c e 安全模型的研究与实践 2 2w e bs e r v i c e 概述 2 2 1 什么是w e bs e r v i c e 什么是w e bs e r v i c e ? 从表面上看,w e bs e r v i c e 就是一个应用程序,它向外界暴露出一个能够 通过w e b 进行调用的a p l ( a p p l i c a t i o np r o g r a mi n t e r f a c e ) 。也就是说,你能够用编程的方法通过w e b 调用来实现某个功能的应用程序。从深层次上看,w e bs e r v i c e 是一种新的w e b 应用程序分支,它 们是白包含、白描述、模块化的应用,可以在网络( 通常为w e b ) 被描述、发布、查找以及通过w e b 来调用。w e bs e r v i c e 是基于网络的、分布式的模块化组件,它执行特定的任务,遵守具体的技术规 范,这些规范使得w e bs e r v i c e 能与其他兼容的组件进行互操作。它可以使用标准的互联网协议, 例如:超文本传输协议h r r p 、简单邮件传输协议s m t p ,将功能体现在互联网和企业内部网上。 w e bs e r v i c e 平台是一套标准,它定义了应用程序如何在w e b 上实现互操作性。你可以用任何语言, 在任何平台上写w e b s e r v i c e 。作为一种部署在w e b 上的对象,w e b s e r v i c e 具有以下几方面特征川: 完好的封装性,w e b 服务作为一种部署在w e b 上的对象,同时也具备对象的良好封装 性,对于使用者而言,他能且仅能看到该对象提供的功能列表。 松散耦合,这一特征也是源于对象组件技术,当一个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 r n e t 环境的消息交换协议。 而x m l s o a p 正是目前最为适合的消息交换协议。 使用协约的规范性,这一特征从对象而来,但相比般对象其界面规范更加规范化和易于 机器理解。首先,作为w e b 服务,对象界面所提供的功能应当使用标准的描述语言来描 述( 比如w s d l ) ;其次,由标准描述语言描述的服务界面应当是能够被发现的,圆此这 一描述文档需要被存储在私有的或公共的注册库里面。同时,使用标准描述语言描述的使 用协约将不仅仅是服务界面,它将被延伸到w e b 服务的聚合、跨w e b 服务的事务、工 作流等,而这些义都需要服务质量( q o s ) 的保障。我们知道安全机制对丁松散耦合的对象 环境的重要性,因此需要对诸如授权认证、数据完整性( 比如签名机制) 、消息源认证 以及事务的不可否认性等运用规范的方法来描述、传输和交换。最后,所有层次的处理都 应当是可管理的,因此需要对管理协约运用同样的机制。 使用标准协议规范:作为w e b 服务,其所有公共的协约完全需要使用开放的标准协议进 行描述、传输和交换。这些标准协议具有完全免费的规范,以便由任意方进行实现。般 而言,绝大多数规范将最终有w 3 c 或o a s i s 作为最终版本的发布方和维护方。 高度可集成能力:由于w e b 服务采取简单的、易理解的标准w e b 协议作为组件界面描 述和协同描述规范,完全屏蔽了不同软件平台的差异,无论是c o r b a 、d c o m 还是e j b 都可以通过这一种标准的协议进行互操作,实现了在当前环境下最高的可集成性。 w e bs e r v i c e 可以集合其它w e bs e r v i c e 以提供一套更高级的功能。应用程序是通过使用多个不 同来源的w e bs e r v i c e 构造而成的,这些服务相互协同工作,而不管它们位于何处或者如何实现。 2 2 2w e b s e r v i c e 服务模型【3 】【4 】 w e b s e r v i c e 是基于服务的体系架构,在这个体系架构中,对传统应用系统体系结构的设计作了 兰州人学硕上学位论文 彻底的变革,实现了具体的事务信息、服务和j 具体客户的分离。在传统的企业麻用系统中t 需要明 确地确定对丁该戍用系统的客户,然后以此为中心进行设计。而在基于服务的体系结构中,对_ 客 户的标准没有严格的定义,而是尽可能地把系统的服务设计得灵活,咀便在以后不断变化的环境中 能够吸引更多的潜在的客户。 图2 1w e bs e r v i c e 体系结构 w e bs e r v i c e 体系结构( 如图2 1 ) 基于三种角色( 服务的提供者、服务注册中心和服务的请求 者) 之间的交互。交互具体涉及到发布、查找和绑定操作。这些角色和操作一起作用于w e bs e r v i c e 构件:w e bs e r v i c e 软件模块及其描述。在典型情况下,服务提供者提供可通过网络访问的软件模块 ( w e bs e r v i c e 的一个实现) 。服务提供者定义w e bs e r v i c e 的服务描述,并把它发布到服务请求者或 服务注册中心。服务请求者使用查找操作从本地或服务注册中心搜索服务描述,然后使用服务描述 与服务提供者进行绑定,并调用相应的w e bs e r v i c e 实现,同它进行交互。服务提供者和服务请求 者角色是逻辑结构。 w e bs e r v i c e 体系结构中的角色包括如下: 服务提供者:它是一个网络结点,它为处理一系列特定任务的软件资源提供服务接口。服 务提供者能代表商业实体的服务,或者它甚至能代表可重用的子系统的服务接口。 服务请求者:它进行发现并调用其它商业实体提供的服务。服务请求者常常代表商业应用 程序组件执行远端的过程来调用分布式对象,即服务提供者。在某些情况下,提供者结点 就在本地的企业内部网上,或者在其它情形下,它可能存在于远端的因特网上。 服务注册中心:这是可搜索的服务描述注册中心,服务提供者在此发布他们的服务描述。 在静态绑定开发或动态绑定执行期间,服务请求者查找服务并获得服务的绑定信息( 在服 务描述中) 。对静态绑定的服务请求者,服务注册中心是体系结构中的可选角色,因为服务 提供者可以把描述直接发送给服务请求者。同样,服务请求者可以从服务注册中心以外的 其它来源得到服务描述,例如。本地文件、f t p 站点、w e b 站点、a d s 文本文件( a d v a n c e a n d d i s c o v e r yo f s e r v i c e ) 或d i s o c o 文件( d i s c o v e r yo f w e b s e r v i c e ) 。 这三种参与者通过发布( p u b l i s h ) 、查找( f i n d ) 和绑定( b i n d ) 三个基本操作相互作用。服务 提供者向服务注册中心发布服务。服务请求者通过服务注册中心查找所需要的服务,并绑定到这些 服务上,从而完成所需的服务。 2 2 3w e b s e r v i c e 协议栈 w e b s e r v i c e 并不是一个新的系统构架、新的编程环境,它只是在继承原有系统构架丰u 实现技术 的基础上,作了一个新的技术层。而要实现一个完整的w e bs e r v i c e 体系需要一系列新的协议规范 来支撑。我们用一个协议栈【3 】加以描述。如图2 2 所示: 6 w e bs e r v i c e 安全模型的研究与实践 t o o 】 l a y e r b 1 1 sh e s si s s u e s r o u t i n g ,r e l i a b i l i t ya n dt r a n s a c t i o n w o r k f l o ww s f l 雪 s e r v i c ed i s c o v e r y , i n t e g r a t i o nu d d l 蚤 茸 s e r v i c ed e s c r i p t i o nw s d l 囊 j m e s s a g i n g s o a p 蛩电 t r a n s p o r th 1 1 p - f t p , s m t p 曼 量 8 i n t e r n e t i p v 4 , p v 6 幽2 2w e bs e r v i c e 协议栈结构图 其中,底层两部分是先前已经定义好的并且j 泛使j i = | j 的传输层利网络层的标准:i p 、h t l 甲、 s m t p 、m q ( m e s s a g e q u e u e i n g ) 等。协议的选择是基于安全性、可靠性、性能的需求,当然最重 要的还是麻用软件的需求,依照协议适用的普遍性和安全性,现在般都采用h t t p 作为传输协议。 中问部分是目前开发的w e bs e r v i c e 的相关标准协议,包括服务调用协议s o a p 、服务描述协议w s d l 和服务发现集成协议u d d i ,以及服务工作流描述语台w s f l 。而上层部分描述的是更高层的待开 发的关于路由、可靠性以及事务等方面的协议。右边部分是各个协议层的公用机制这些机制一般 由外部的正交机制来完成。 从以上的技术层次图可以看到,w e bs e r v i c e 追求第一目标是简单性。 首先,这些协议本身都是简单的,无论是h t t p ,f 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 的协议,他们设计原则中的一个最重要点就是力求简 单性。 其次,一个可以使用的w e b 服务应当按照需要选用若干层次的功能,而无需实现所有的特性。 比如在目前状况下,一个简单应用可能只要使用w s d l s o a p 就可以架构一个符合规范的w e b 服 务了。 最后,所有的机制完全是基于现有的技术,并没有刨造一个完全的新体系。无论是l p v 4 、h t t p 、 f t p 这些现有的网络协议,还是s o a p 、w s d l 等这些基于x m l 而定义的协议都是遵循着一个原 则:继承原有酊被广泛接受的技术,这样才能使得w e b 服务被广泛接受。 2 3 s o a p 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 的协议。s o a p 技术有助于实现大量异构程序和平台之间的互操 作性,从而使存在的应用能够被更多的用户所访问。s o a p 把成熟的基丁二h t t p 的w e b 技术与x m l 的灵活性和可扩展性结合在了一起。 s o a p 为在一个松散的、分布的环境中使用x m l 对等地交换结构化的和类型化的信息提供了- 个简单且轻量级的机制。s o a p 本身并不定义任何应用语义,如编程模型或特定语义实现,它只 是定义了一种简单的机制通过一个模块化的包装模型和对模块中特定格式编码的数据的重编码机 制来表示应用语义。s o a p 的这项能力使得它可被很多类型的系统用于从消息系统到r p c ( r e m o t e p r o c e d u r ec a l l ) 的延伸。 7 w e bs e n i c e 安争模型的研究与实践 2 3 。1 协议的组成 s o a p 协议主要由幽部分组成,它们分别为1 5 j 1 6 1 : s o a p 信封( s o a pe n v e l o p e ) :它构造定义了一个整体的表示框架,可用于表示在消息 ( m e s s a g e ) 中的是什么,谁应当去处理它,以及这是可选的还是强制的( 所谓的可选就是 可以由目标应用程序自己选择是否需要处理,而强制的则是表明必须进行处理,如果无法 处理,则需要返同错误) 。 s o a p 编码规则( s o a p e n c o d i n g r u l e s ) :它定义了一个数组的编序机制,通过这样的一个编 序机制来定义应用程序中需要使用的数据类型,并可用于交换由这些应用程序定义的数据 类型所衍生的实例。例如,可能就订单采取服务的需要,使用s o a p 编序规则定义了订单 的数据类型,并可以在订单生成的客户端与订单服务之间交换订单实例 s o a pr p c 表示( s o a pr p cr e p r e s e n t a t i o n ) :它定义了一个用于表示远程过程调用和响应 的约定。 s o a p 绑定( s o a pb i n g i n g ) 它定义了一个使用底层传输协议来完成在结点间交换s o a p 信封的约定。 为了简化s o a p 的复杂度,这四部分在功能上是正交的。特别的是,信封和编码规则是被定义 在不同的x m l 命名空间( n a m e s p a c e ) 中,这样有利于通过使用模块化的设计来获得实现的简明性。 2 3 2s o a p 信息封装模型 s o a p

温馨提示

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

评论

0/150

提交评论