(计算机应用技术专业论文)web服务安全性研究与应用.pdf_第1页
(计算机应用技术专业论文)web服务安全性研究与应用.pdf_第2页
(计算机应用技术专业论文)web服务安全性研究与应用.pdf_第3页
(计算机应用技术专业论文)web服务安全性研究与应用.pdf_第4页
(计算机应用技术专业论文)web服务安全性研究与应用.pdf_第5页
已阅读5页,还剩62页未读 继续免费阅读

(计算机应用技术专业论文)web服务安全性研究与应用.pdf.pdf 免费下载

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

文档简介

摘要 随着计算机网络与通讯技术飞速发展,人们越来越多地到网上冲浪,而网 络安全则成为人们日益关注的对象。服务作为新一代网络技术,它的松散耦合 性、跨平台和跨语言性己被许多用户喜爱和许多企业支持。尽管w e b 服务有许 多优点,但是安全性的确是值得关注的问题。w e b 服务日益成为该领域主流技 术,但前提条件是要解决其安全性问题。 目前w e b 服务技术还处在刚刚起步的阶段,有很多相关技术成为1 1 r 业热 点研究课题,w e b 服务安全性更是热点中的热点。随着向动态电子商务转变的 势头越来越强,w e b 服务的优点在t r 基础架构的每一层正变得愈发明显。然而, 这种转变要想取得成功,最关键是要建立一个清晰的、全面的且标准的方法来 确保现有的w 曲服务的安全性。 本文着重分析研究了x m l 加密解密、x m l 签名验证和x m l 密钥管理规范。 介绍了基本原理和处理流程。介绍了w s s e c u r i t y 规范,同时对访问控制、身 份验证和w e b 服务安全通信技术进行了深入的研究探讨。在研究和总结w e b 服务相关安全性元素和s o a p 安全应用模式的基础上,结合典型的w e b 服务应 用模式和基于w e b 服务的应用支撑环境的特殊安全需求,讨论了基于 w s s e c u r i t y 安全技术的w e b 服务安全体系结构,同时在这个安全体系结构基 础上,提出了w e b 服务安全性模型,这个基于消息层的w e b 服务安全模型不仅 保证了s o a p 消息的机密性和完整性,还提供了端到端的安全性和可扩展性, 对w e b 服务提供了全面的安全保障。然后对模型中的各个部分进行了详细的说 明,并对模型中的安全处理器进行了实现。并且在智能大厦o a 系统中,对公 共信息模块中的票务子系统应用了安全处理器,达到了安全通信的效果。从而 验证了该安全体系结构和模型的安全性,基本满足了w e b 服务安全性的要求。 关键词:x m l 加密解密,x m l 签名,访问控制,w e b 服务安全模型 a b s t r a c t w i t ht h e r a p i dd e v e l o p m e n t o fc o m p u t e rn e t w o r ka n dc o m m u n i c a t i o n t e c h n o l o g y , p e o p l eh a v em o r ea n dm o r et i m ew e b - s m 恤g , a n dn e t w o r ks e c u r i t y a t t r a c t sm o r ea n dm o r ea t t e n t i o n s s e r v i c ea san e wg e n e r a t i o no fn e t w o r k t e c h n o l o g y , i t sl o o s ec o u p l i n g , c r o s s - p l a t f o r ma n dc r o s s - l i n g u i s t i cc h a r a c t e r i s t i c s h a v eb e c o m et h ef a v o r i t eo fm a n yu s e r sa n dt h es u p p o r to fm a n ye n t e r p r i s e s a l t h o u g ht h ew e bh a sm a n ya d v a n t a g e s ,b u ts e c u r i t yi sm o r et h a nam a t t e ro f o o l l c e r n w e bs e r v i c ei n c r e a s i n g l yb e d 3 m c sm a i n s t r e a mt e c h n o l o g yi nt h ef i e l d , b u t t h ep r e r e q u i s i t ei st or e s o l v ei t ss e c u r i t yp r o b l e m s c u r r e n t l yw e b s e r v i c et e c h n o l o g yi ss t i l lt h eb e g i n n i n gs t a g e s ,t h e r ea r em a n y r e l a t e dt e c h n o l o g yb e c o m et h ei ti n d u s t r yh o tt o p i c s , w e bs e r v i c es e c u r i t yi st h e h o u e s ti s s u e s w i t ht h et r e n do ft h ec h a n g i n gd y n a m i c so fe - e o m m c r c ei sg r o w i n g , w c ba d v a n t a g e si nt h er ri n f i - a s t m c t u r eo fe a c hl a y e ri sb e c o m i n gi n c r e a s i n g l y o b v i o u s h o w e v e r , t h i sc h a n g ei no r d e rt ob es u c c e s s f u l , t h ek e yi st oe s t a b l i s ha c l e a r , c o m p r e h e n s i v ea n ds t a n d a r d i z e dm e t h o d o l o g yt o e n s u r et h a te x i s t i n gw e b s e c u r i t y t h i sp a p e ra n a l y z e sa n ds t u d i e st h ee n c r y p t i o na n dd e c r y p t i o no fx m l , x m l s i g n a t u r ev e r i f i c a t i o na n dx m lk e ym a n a g e m e n ts p e c i f i c a t i o n e x p o u n d e dt h ew s s e c u r i t ys t a n d a r d , a n dc o n d u c t e da l li n - d e p t hs t u d yi n a c c e s sc o n t r o l , i d e n t i t ya u t h e n t i c a t i o na n ds a f e l yc o m m u n i c a t i o no f w c bs e r v i c e b a s eo nt h er e s e a r c ha n ds u m m a r i z i n go fs e c u r i t ye l e m e n t sr e l a t e dt ow e b s e r v i c ea n ds o a ps e c u r i t ya p p l i c a t i o nm o d e l ,c o m b i n e dw i t ht h et y p i c a lw e b s e r v i c ea p p l i c a t i o nm o d e la n dt h es p e c i a ls e c u r i t yn e e d sb a s e do nt h ew e bs e r v i c e a p p l i c a t i o ne n v i r o n m e n tw ed i s c u s st h ew e bs e r v i c es e c u r i t ya r c h i t e c t u r eb a s e do n w s s e c u r i t y a tt h es a m et i m eb a s e d 衄t h i sa r c h i t e c t u r e , e s t a b l i s h e daw e b s e r v i c e s e c u r i t ym o d e lb a s e do ni n f o r m a t i o nl a y e rw h i c hn o to n l yg u a r a n t e e s t h e c o n f i d e n t i a l i t ya n di n t e g i i t yo fs o a pi n f o r m a t i o na l s op r o v i d e se n d - t o - e n ds e c u r i t y a n ds c a l a b i l i t ya n dp r o v i d e sa c o m p r e h e n s i v es e c u r i t y n t h e nd e t a i l e da np a r t so ft h i sm o d e la n dc a r r i e do u tt h es e c u r i t yp r o c e s s o ro f t h i sm o d e l i nt h ei n t e l l i g e n tb u i l d i n gs o a s y s t e m ,t h eu s i n gs e c u r i t yp r o c e s s o ri n t h et i c k e t i n gm o d u l eo fp u b l i ci n f o r m a t i o na c h i e v e sas c c u r cc o m m u n i c a t i o nr e s u l t s t h u sv e r i f i e st h es e c u r i t yo ft h es e c u r i t ya r c h i t e c t u r ea n ds e c u r i t ym o d e la n dm e e t s b a s i cs a f e t yr e q u i r e m e n t so ft h ew e bs e r v i c es e c u r i t y k e yw o r d s :x m le n c r y p t i o na n de n c r y p t i o n , x m ls i g n a t u r e ,a c c e s sc o n t r o l , w e b s e r v i c es e c u r i t ym o d e l i i i 此页若属实,请申请人及导师签名。 独创性声明 本人声明,所呈交的论文是我个人在导师指导下进行的研究工 作及取得的研究成果据我所知,除了文中特别加以标注和致谢 的地方外,论文中不包含其他人已经发表或撰写过的研究成果, 也不包含为获得武汉理工大学或其它教育机构的学位或证书而使 用过的材料。与我一同工作的同志对本研究所傲的任何贡献均已 在论文中作了明确的说明并表示了谢意 研究生签名;碎日蚴l 关于论文使用授权的说明 本人完全了解武汉建工大学有关保留、使用学位论文的规定, 即:学校有权保留送交论文的复印件,允许论文被查阅和借阅; 学校可以公布论文的全部内容,可以采用影印、缩印或其他复制 手段保存论文 。 ( 保密的论文在解密后应遵守此规定) 研究生躲避? 签名冷数赢 注:请将此声明装订在学位论文的目录前 武汉理工大学硕士学位论文 第1 章绪论 1 1 研究的目的、意义 在当今的r r 领域,w e b 服务技术正日益受到关注,除了万维网协会t w 3 c ) 在关注这个主题之外,m m 、微软以及s u n 这样的大公司也开始制定w e b 服务 策略。这些处于领袖地位的大公司中有一种理念已经出现,即通过网络将各种 服务链接到一起,合并业务应用程序,最终达到占领市场和提高竞争力的目的。 简而言之,w e b 服务( w e bs e r v i c e s ) 1 】就是通过w e b 提供的服务。在w e b 服务方案中,w c b 应用程序利用s o a p l 2 1 协议向处于特定u r i 的服务发送请求 信息( 通过哪,s m t p 或者f i p 之类的通信协议) 。服务接受请求消息,对其 进行处理并返回响应消息。服务的u r i 是已知的,也可以利用u d d l l 3 】来获得。 另一方面,w c b 服务也是一种程序,它在基于i n t e r n e t 的协议前提下利用 基于x m l 的消息与其他应用程序进行交互。发布这种程序的目的是为了将其 集成到w c b 上的业务应用程序中。w c b 服务不一定是单一的业务模型;与此相 反,它允许编程人员集成常用的、经过良好测试的代码库,从而提供跨业务的 兼容性。由于代码可以在各种不同的平台和编程语言中使用,所以具备了普遍 性和互操作的优点。从使用者的角度而言,w e b 服务实际上是一种部署在w e b 上的对象或组件。应用程序是通过使用多个不同来源的w e b 服务构造而成,这 些服务相互协同工作,而不管它们位于何处或者如何实现。 另外,虽然s s l 在点对点( p o i n tt op o i n t _ 1 1 4 j 的情况下能为传输过程提供消息 完整性和机密性,但无法保障端到端( e n dt oe n d ) 的安全【习,而这就需要消息层 的保护。此外,这还与s o a p 中间节点的概念有关s o a p 消息可被传递至各 种具备不同的传输协议的主机上,它这种与传输无关的特性意味着只依赖传输 层的安全措施是不够的。在w c b 服务的典型应用中,由于s o a p 消息是由中介 体接收并处理的,在经过一系列的中间节点时,每个节点都会对s o a p 消息做 一定的处理。虽然s s l 可以确保s o a p 消息在两节点之间的通信链路是可信任 的,但是由于在节点内部s o a p 消息是以明文方式存在的,因此一旦节点被攻 击者接管,他就可以查看甚至篡改s o a p 消息。也就是说当传输层之外的中介 武汉理工大学硕士学位论文 体接收并转发数据时,数据的完整性和任何随数据流动的安全性信息都可能会 丢失,这就迫使任何上行消息处理器都要依赖先前中介体所进行的安全性评价 并完全信任它们对消息内容的处理。而全面的w e b 服务安全性体系架构中所需 的东西是一个提供端到端的安全性的机制。 针对现有安全技术的局限性和全面的w c b 服务安全体系需要端到端的安 全性,本文提出了一种基于消息层的w e b 服务安全模型。安全模型使用安全性 令牌中心实现端到端的安全性,提供认证、加密解密、签名验证等。本文把这 个安全性模型应用到了智能大厦中的票务子系统之中。 1 2 国内外研究动态 保护w e b 服务安全的最简单的一种方法是确保客户端与服务器之间的连接 安全,s s l ( s e c u r es o c k e t sl a y e r ,安全套接字层1 技术被广泛采用。s s l 虽然 能够在点对点( p o i n t - t o - p o i n t ) 情况下为传输过程提供消息完整性和机密性, 但无法保障端到端( e n d - t o - e n d ) 的安全。 目前的解决方法是在消息层上引入安全机制,通过对s o a p 消息头扩展实 现的。w 3 c c ( t h e w o r l dw i d c w e b c o n s o r t i u m ) ,i e i f ( t h e i n t e r a c t e n g i n r i n g t a s kf o r c e ) 以及o a s i s ( o r g a n i z a t i o nf o r t h ea d v a n c e m e n to fs t r u c t u r e d i n f o r m a t i o n s t a n d a r d s ) 等制定了一系列的x m l 安全标准和w 曲服务安全的一系 列标准。 1 9 9 9 年1 0 月,w 3 c 发布x m l 数字签名工作草案。 2 0 0 1 年,由w 3 c 和i e t f 共同提出x m l 签名规范。它除了解释如何签名 x m l 文档的一部分之外,还解释了如何将任何数据的数字签名表示为x m l 格 式。 2 0 0 1 年o a s i s 组织提出的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 ) ,为w e b 服务公钥基础设施p k i 中密钥的注册和分 发而建立的一个规范。x k m s 对p i g 的革新在于建立了一套与平台无关的标准, 并简化了实现p k j 的必要步骤。 2 0 0 2 年,w 3 c 提出x m l 数据加密的规划6 】它不仅提供了加密x m l 文档 的一部分的方法,而且还提供了加密任何数据和用x m l 表示加密数据的方法。 x m l 加密使加密功能更容易部署。 2 武汉理工大学硕士学位论文 2 0 0 2 年4 月,i b m 、微软和v e r i s i g n 公司制定了w e bs e r v i c e s 安全规范, 并提交给o a s i s 。 2 0 0 3 年,o a s i s 组织提出了基于x m l 格式的s a m l 安全断言标记语言 ( s e c u r i t y a s s e r t i o n s m a r k u p l a n g u a g e ) 规范来表示有关终端用户的身份验证、授 权以及属性信息的方法。s a m l 不提供身份验证,但是可以表示关于过去发生 的身份验证或者授权行为的信息。 2 0 0 3 年,o a s i s 组织提出了x a c m lx m l 访问控制标记语言( x m l a c c e 蟠c o n t r o lm a r k u pl a n g u a g e ) 用x m l 格式来表示访问控制的规则。用s a m l 断言表示的授权策略可以基于用x a c m l 表示的规则。 2 0 0 4 年4 月6 日,o a s i s 制订了o a s i sw s s e c u d t y l 0 标准 t w s s e c i l r i t y 2 0 0 4 ) 作为正式官方标准。w s s e c u r i t y 规范是现有x m l 规范的一 个集合,几乎包含了有关w e b 服务安全性的所有方面,并向用户提供了充足的 可扩展性能。 2 0 0 5 年2 月微软发布了w s e2 0s p 3 。它支持w s s e c u r i t y , w s p o l i c y , w s - t r u s t , w s s e c u r ec o n v e r s a t i o n 和w s - a d d r e s s i n g , 在帮助软件程序员增强 网络服务应用程序的安全性。 这些安全规范描述了把安全性功能程序放到安全服务的实用方法服务环 境中的方法,提供了一种构建w e b 安全性模型,实现了w e b 服务通讯的安全。 1 3 本论文的研究目标和技术线路 在现代网络中,安全性势必成为一个无法忽略的重要方面。传统的信息安 全解决方案大多都是从底层出发,不能够很好的同基于w e b 尤其是基于j 2 e e 平台的系统结合。 本课题是针对w e b 服务安全机制,涉及面广,且结构复杂,为了保证此系 统开发的成功率和生产率,采用软件工程学的生命周期方法学进行开发。此方 法分为8 个阶段,分别如下: 1 问题定义。此阶段就是了解问题,回答要解决的问题是什么,即要知道 问题的性质、工程目标和规模。 2 可行性研究。此阶段确定上阶段定义的问题有无行得通的解决办法。可 行性研究要求比较简短,这个阶段不是具体解决问题,而是研究问题的范围, 3 武汉理工大学硕士学位论文 探索这个问题是否值得去解,是否有可行的解决办法。 3 需求分析。这个阶段的任务仍然不是具体地解决问题,而是准确地确定 “为了解决这个问题,目标系统必须做什么”,主要是确定目标系统必须具备哪 些功能,也就是确定系统逻辑模型。 4 总体设计。这个阶段要做的关键是确定如何解决这个问题。首先,应该 考虑几种可能的解决方案,充分权衡各种方案的利弊,确定一个最佳方案。然 后设计软件的结构,也就是确定程序由哪些模块组成以及模块间的关系。 5 详细设计。总体设计阶段以比较抽象概括的方式提出解决问题的办法。 详细设计阶段则是把解法具体化,设计出程序的详细规格说明。 6 编码和单元测试。这个阶段的关键任务是写出正确的容易理解、容易维 护的程序模块。 7 综合测试。此阶段需要完成的是通过各种类型的测试( 及相应的调试) 使软件达到预定的要求。 8 软件维护这个阶段要通过各种必要的维护活动使系统持久地满足用户 的需要。 一 1 4 本论文的组织 本文共分七章。 第一章为概述,介绍了w e b 服务存在的安全问题,保护w e b 服务安全措施, w e b 服务安全研究的意义。并讨论了国内外研究动态,最后给出了本文的研究 目标、技术路线和结构组织。 第二章分析了w e b 服务体系及安全性问题。首先阐述了w e b 服务的构架特 点,接着介绍了w e b 服务核心技术,然后对w e b 服务的结构研究论述了w e b 服务的安全性问题以及安全目标结构。 第三章论述了x m l 安全研究,论述了x m l 主要的安全机制:x m l 签名, x m l 加密,x k m s 规范。 第四章论述了w s 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 签名。 第五章为w e b 服务安全模型的设计和实现。这章阐述了安全模型的建立: 安全模型的需求分析、基于消息层的w e b 服务安全模型以及模型的处理流程、 4 武汉理工大学硕士学位论文 访问控制实现。然后,阐述了模型的实现。主要是安全处理器的实现,以及安 全处理流程、安全性分析。其中包括加解密处理器,签名和签名验证处理器。 第六章为安全处理器在智能大厦中的应用。分析实现了安全处理器的加解 密处理器,和签名、签名验证处理器在票务子系统中的应用实现。 第七章为总结与展望。 5 武汉理工大学硕士学位论文 第2 章w e b 服务技术及安全性分析 2 1w e b 服务构架及特点 2 1 1w e b 服务体系架构耦合 w e b 服务技术是为解决在i n t e m e t 环境下,松散耦合的w e b 服务之间进行 相互调用、互相集成而设计的技术框架。以x m t s o a p ( 简单对象访闯协 议) w s d l ( w e b 服务描述语言) u d d l ( 统一描述,发现和集成协议) 为主干的w e b 服务技术赋予了w e b 服务一个与传统对象调用技术相似又不太相同的体系架 构。如图2 1 w 曲服务体系架构。 图2 1w e b 服务体系架构 w e b 服务的三角形设计模式被称为面向服务的架构s o a ( s e r v i c e - o r i e n t e d a r c h i t e c t u r e ) ,它包括三个清晰的角色定义和三种功能操作。 9 1 1 角色 服务提供者( s e r v i c ep r o v i d e r ) :负责使用w s d l 来描述和定义那些可以通 过网络来访问的应用程序的功能,在服务代理( 即u d d i 商业注册中心) 中发布 这些服务的信息。使其可以被其他应用访问、接收和处理w e b 请求者的调用。 服务请求者( s e r v i c er e q u e s t o r ) i l o l :负责通过一个或者多个服务代理寻找 他们所需的w e b 服务后,下载定义服务的w s d l 文档,并且根据服务定义来 6 武汉理工大学硕士学位论文 绑定( b i n d ) 和调用( i n v o k e ) 匣务提供者提供的w e b 服务。 服务代理( s e r v i c eb r o k e r ) :负责宣传服务提供者发布的w e b 服务和允许 服务请求者查询发布在此服务代理中的服务定义。服务代理扮演一个服务提供 者和服务请求者媒介的角色,作用与电话簿的黄页相同。 2 功能操作 发布( p u b l i s h ) :提供w e b 服务注册或者宣传的功能,是服务提供者与服 务代理之间交互的操作。发布的具体细节取决于服务代理是如何被实施的。 发现( f i n d ) :和发布相对的功能,是服务请求者与服务代理之间交互的操 作。服务请求者描述诸如服务类型、服务质量等搜索规范,服务代理从自己发 布的w e b 服务中寻找与搜索规范相匹配的w e b 服务。 绑定( b i n d ) 【1 1 l :决定服务请求者和服务提供者运行时的关系。服务请求 者向w e b 服务提供者发出请求消息,w e b 服务提供者返回响应消息。 发布和发现操作都涉及到服务代理( u d d i 注册中心) ,u d d i 解决了企业遇 到的大量问题。首先,它能帮助拓展企业与企业( b 2 b ) 交互的范围并能简化交互 的过程。对于那些需要与不同用户建立许多种关系的厂家来说,每家都有自己 的一套标准与协议,u d d l 支持一种适应性极强的服务描述,几乎可以使用任 何接口。u d d i 提供一种能实现这一目标的方法。规范企业在注册中心所提供 的服务,这样发现企业及服务就变得高效而简单了。 2 1 2w e b 服务体系特点 从外部使用者的角度来看,w e b 服务是一种部署在w e b 上的对象组件, 它具备以下特征: 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 r n e t 环境下的w e b 服 务而言,需要有一种适合i n t e m e t 环境的消息交换协议。而x m l s o a p 正是目 前最为适合的消息交换协议。 7 武汉理工大学硕士学位论文 3 使用协约的规范性。这一特征从对象而来,但相比一般对象,其界面规 范更加规范化和易于机器理解。首先,作为w e b 服务,对象界面所提供的功能 应当使用标准的描述语言来描述( 比如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 、d c o m 还是e j b 都可以通过这一种标准的协议进行互操作,实现了 在当前环境下最高的可集成性 2 2w e b 服务的核心技术 密码学不是信息安全的全部,但绝对是信息安全的重要基础之一,没有安 全的密码算法,就绝不会有信息安全,在密码学的领域中,主要有两大类的密 码系统。第一类为对称密钥( s y m m e t r i ck e y ) 密码系统或称秘密密钥( s e c r e tk e y ) 密码系统,第二类为非对称密镀 ( a s y m m e t r i ck c y ) 或称公开密镊 ( p u b l i ck e y ) 密 码系统,两种系统各有其优点及缺点,可以结合使用,互补长短。 2 2 1w e b 服务的调用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 ) 是由m i c r o s o f t , i b m 等公司共同提出 的规范,目的是实现大量异构程序和平台之间的互操作,从而使存在的应用程 序能够被广泛的用户所访问。s o a p 是w e b 服务交换x m l 消息的标准协议。 8 武汉理工大学硕士学位论文 一般意义上的s o a p 是一种用x m l 封装信息的机制,因此它可以用来实现消 息系统。对于w e b 服务来说,s o a p 主要用来通过x m l 文档传递方法参数, 进行w e b 调用。s o a p 具有和远程过程调用( r p c ) 协议相同的目的,即把本地 计算机上的信息发送到远程计算机上,远程计算机执行远程方法,然后返回结 果。对于本地用户来说,就好像在调用本地方法一样。s o a p 为在一个松散的、 分布的环境中使用x m l 对等地交换结构化和类型化的信息提供了一个简单且 轻量级的机制。s o a p 本身并不定义任何应用语义,如编程模型或特定语义实 现,它只是定义了一种简单的机制,通过一个模块化的包装模型和对模块中特 定格式编码的数据的重编码机制来表示应用语义。s o a p 的这项能力使得它可 被很多类型的系统用于从消息系统到p r c ( 远程过程调用) 的延伸。1 1 2 1 s o a p 由以下四部分组成: s o a p 信封:它构造定义了一个整体的s o a p 消息表示框架,可用于表示 消息中的内容是什么,是谁发送的,谁应当接受并处理它,以及这些处理操作 是可选的还是必须的等。 s o a p 编码规则:它定义了一个数据的编序机制,通过这样一个编码机制 来定义应用程序中需要使用的数据类型,并可用于交换由这些应用程序定义的 数据类型所衍生的实例。 s o a pp r c 表示:定义了一个用于表示远端过程调用和响应的约定,例如 如何使用h t r p 或s m t p 协议与s o a p 绑定,如何传输过程调用,在具体传输 协议的哪个部分传输过程响应,如我们可以在h t r p 的响应的时候传递过程响 应。 s o a p 绑定:它定义了一个使用底层传输协议来完成在结点间交换s o a p 信封的约定。 2 2 2w e b 服务的描述语言w s d l 1 概述 有了s o a p ,我们就可以发出各种s o a p 消息来请求感兴趣的w e b 服务。 但是w e b 服务相对于其他应用计算技术来说,最重要的特点之一就是“松耦合”, w e b 服务客户端在开发时无需关心w e b 服务使用的编程技术、它所处的平台和 它在i n t e m e t 上的位置等信息。你如何知道某个w e b 服务是否满足我的需要, 如果满足了我的需要,它又包含哪些操作,通过什么网络协议调用这些操作, 9 武汉理工大学硕士学位论文 这些操作又需要哪些参数,返回哪些结果等信息呢? 答案就在于w s d l 。它是 描述w e b 服务的语法规范,它使用x m l 语法规定了用户调用w e b 服务所应了 解的一切,包括位置、参数信息和支持的协议1 1 4 】。客户端的w e b 服务代理能依 据w s d l 准确地产生格式适当的消息,并能无误地理解响应。简单地说,可以 把w s d l 理解为w e b 服务的接口定义,它是用户调用w e b 服务所需了解的一 切。 2 组成 一个w s d l 文档是包含在一对 标记中的一段x m l 文档。它可 以包含一个t y p e s 元素,多个m e s s a g e 、p o r t t y p e 、b i n d i n g 和s e r v i c e 元素。 元素后通常紧跟着以下属性声明: n a m e :用来说明服务的目的。 t a r g e t n a m e s p a c e :关于服务信息的逻辑名称空问定义。 x m l n s :s o a p 和x m l n s :x s d :指定特定的s o a p 的信息和数据类型的标准命名 空间的定义。 x m l n s :默认的w s d l 文档的命名空问。 元素中通常包含以下元素: t y p e s 元素:用来定义服务所使用的任何复杂数据类型。 m e s s a g e 元素:通信消息的数据结构的抽象类型化定义。使用t y p e s 所定义 的类型来定义整个消息的数据结构。 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 元素:定义了一个端口集合,描述服务位于哪里。 2 2 3w e b 服务的注册发布u d d i 统一描述、发现和集成( u n i v e r s a ld e s c r i p t i o nd i s c o v e r ya n di n t e g r a t i o nu d d l ) 相当于w e bs e r v i c e 的一个公共注册表,通俗点说它就是电子商务应用与服务的 “网络黄页”。它旨在以一种结构化的方式来保存有关各公司及其服务的信息。 通过u d d i ,人们可以发布和发现有关某个公司及其w e b 服务的信息,然后就 可以根据这些发布在u d d i 的信息,通过统一的调用方法来享受这些服务了。 u d d i 技术的功能包括两方面:注册和查询。对于w e b 服务的开发和使用者来 武汉理工大学硕士学位论文 说,发布w e b 服务是在u d d i 商业注册中心注册自己的企业和服务;发现w e b 服务是根据某个查询标准在u d d i 商业注册中心中查找感兴趣的企业和服务。 2 2 4w e b 服务安全问题 基于消息的w e b 服务体系结构和日益增加的跨信任边界的异构环境带来了 新的挑战。越来越多的w e b 服务面临着来各种各样的安全威胁,如图2 - 2 所示。 图2 - 2w e b 服务面临的安全威胁 1 未授权的访问:攻击者可以利用弱的身份验证和授权机制,对信息和操 作进行未授权的访问。 2 参数操纵:参数操纵是指对w e b 服务客户与w e b 服务之间发送的数据 进行未经授权的修改。例如,攻击者可以截获w e b 服务消息( 例如,在通过中 间节点到达目标的路由中) ,然后再将其发送到目标终结点前对其进行修改。 3 网络窃听:通过网络窃听,当w e b 服务消息在网络中传输时,攻击者可 以查看这些消息。例如,攻击者可以使用网络监视软件检索s o a p 消息中包含 的敏感数据。其中有可能包括敏感的应用程序级别的数据或凭据信息。 4 配置数据的泄漏:w e b 服务配置数据的泄漏的方法主要有两种。第一种, w 曲服务可能支持动态生成w e b 服务描述语言( w s d l ) ,或者可能在w e b 服务 器上的可下载文件中提供w s d l 信息。第二种,如果异常处理不充分,w e b 服 务可能会泄漏对攻击者有用的敏感的内部实施详细信息。 5 消息重播:w e b 服务消息可能会在传递过程中经过多个中间服务器。通 1 1 武汉理工大学硕士学位论文 过消息重播攻击,攻击者可以捕获并复制消息,并模拟客户端将其重播到w e b 服务。消息可能被修改,也可能保持不变。 2 2 5w e b 服务安全性目标 为了消除w e b 服务所面临的安全隐患,满足w e b 服务的上述需求【1 3 1 ,w e b 服务的安全目标应包括以下五个方面【1 4 1 : 1 机密性:保证没有授权的用户或进程实体无法窃取信息。在一个w e b 服务网络环境中,维护信息的机密性是推广应用的重要保障。因此,要防止非 法信息的存取和信息在传输过程中被非法窃取【1 5 1 。 2 完整性:保证信息在传输的过程中不被偶然或故意地破坏,保持信息的 完整、统一 3 不可否认性:保证信息的发送者不能抵赖或否认对信息的发送,要在信 息的传输过程中给实体提供可靠的标志。 在网络应用中,实现不可否认性有很重要的现实意义,比如,电子商务网 站的消费者不能否认其发出的订单请求,而网站的服务者也不能否认对订单的 响应。一般通过非对称密钥加密来实现不可否认性,发送者使用私钥对发送消 息的摘要进行加密,即数字签名。而私钥只有发送者一个人拥有,因此其他人 不能使用发送者的私钥进行数字签名。只要利用发送者的公钥对签名验证成功, 就可证明发送者曾经发送过这条消息。在w e b 服务环境中,对于传输的x m l 消息,使用x m l 签名操作即可保证发送行为的不可否认性。 4 身份验证:提供合适身份证明的实体才能访问企业应用和数据,不能提 供合适身份的实体拒绝访问企业的资源。 5 授权:就是确定一个用户能够做什么的过程,将不同的权限分配给不同 类型的用户。 对于不可否认性,包括对消息源的认证,也包括数据的完整性。数据完整 性和消息来源的认证的差别在于前者不能保证消息的重复攻击。总之,w e b 服 务的安全应满足上述五个方面的要求。 武汉理工大学硕士学位论文 2 31 i b 服务安全性结构 2 3 1w e b 服务安全结构 从体系结构的角度上可将w e b 服务的安全性可分为三个可扩展的层次: 1 w e b 服务本身( 包括资源对象与服务对象) 的数据描述与数据内容的安 全性; 2 w e b 服务在消息传输与通信过程中( 即协议栈) 的安全性; 3 w e b 服务访问与交互操作过程中( 即角色对象以及操作方法) 的安全性。 表2 - 1w e b 服务的应用安全层次结构 w e b 服务应用层安全协议 w e b 服务消息安全 w s - s e c u r i t y w e b 服务授权与访问控制r b a c w e b 服务身份验证数字证书 w e b 服务完整性x m l 签名 w e b 服务机密性x m l 加密,x m l 解密 w e b 服务p k ix k m s 这种层次分析方法逻辑上非常清晰,但不易于w e b 服务的安全实现,为此, 结合w e b 服务安全定义可设计一个易于集成与应用的w e b 服务应用安全层次结 构( 见表2 1 ) ,其中,最底层为w e b 服务的p k i 层,它通过x k m s 协议为w e b 服务提供了基础的x m l 公钥体系p k i ,即x k m s 是给p k i 提供接口的w e b 服 务,为模型中的所有对象提供了可信的安全基础环境。x k m s 具有以下优点; 减少客户复杂性;易于编码;容易部署p i g 新特性;便于集中的信任管理。处 于最顶层的w e b 服务消息安全层采用w s s e c u r i t y 协议并结合下面各层的技术 协议为s o a p 消息通信过程提供安全支持。下面具体探讨每一层次的关键技术。 武汉理工大学硕士学位论文 第3 章x m l 安全研究 3 1x m l 签名 1 0 - 1 p 7 i 由于在x m l 环境中数字签名的需求日益增长,w 3 c 协同i e t f ( i n t e m e t e n g i n e e r i n gt a s kf o r c e h t c m 哦工程任务组) 在1 9 9 9 年6 月开始创建规范【4 l ,用 来支持那些使用x m l 语法的文档的数字签名。因为结合了w 3 c 在x m l 方面 的专长和i e t f 在加密方面的专长,这个工作组在2 0 0 2 年2 月发布了一系列的 规范,用来支持x m l 语法的数字签名的创建和表示。 3 1 1x m l 签名的功能和结构 x m l s i g n a t u r e 包括以下的功能【1 明: 1 x m l s i g n a t u r e 可以对任何能够以u r i 形式( u n 强o r m 坞峨i d e n t i f i e r ) 定位的资源做签名。既包括与签名同在一个x m l 文件中的元素,也包括其他 x m l 文件中的元素,甚至可以是非x m l 形式的资源( 比如一个图形文件) ,只 要能被u r i 定位到的资源都可以应用x m l 签名这也代表了x m l 签名的对象 可以是动态变化的。 2 x m ls i g n a t u r e 可以对x m l 文件中的任一元素做签名,也可以对整个文 件做签名。 3 x m

温馨提示

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

评论

0/150

提交评论