(计算机应用技术专业论文)基于pi演算的soap安全性分析与验证.pdf_第1页
(计算机应用技术专业论文)基于pi演算的soap安全性分析与验证.pdf_第2页
(计算机应用技术专业论文)基于pi演算的soap安全性分析与验证.pdf_第3页
(计算机应用技术专业论文)基于pi演算的soap安全性分析与验证.pdf_第4页
(计算机应用技术专业论文)基于pi演算的soap安全性分析与验证.pdf_第5页
已阅读5页,还剩60页未读 继续免费阅读

(计算机应用技术专业论文)基于pi演算的soap安全性分析与验证.pdf.pdf 免费下载

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

文档简介

摘要 基于x m l 技术的w e b 服务体系是一种新兴的分布式计算模型,其核心的消息交换协 议为s o a p ( s i m p l e0 b j e e t a c c e s sp r o t o c o l ,简单对象访问协议) 。在分布式环境中, w e b 服务之间通过传递s o a p 消息进行通信。尽管w s s e c u r i t y 、w s p o l i c y 等标准在理论 上保证了端对端的消息层安全,但由于s o a p 可扩展机制的灵活性,依然使w e b 服务容 易受到一些特定攻击的威胁,如x m l 重写攻击等。 通过对典型实例的分析得知,由于w s s e c u r i t y 缺少对s o a p 拓扑结构的描述,x m l 重写攻击可以在不被数字签名技术侦测到的情况下,恶意修改s o a p 消息的拓扑结构( 例 如插入含有有害代码的伪元素) ,然后重新发送出去。针对这个问题的解决方案为,由 发送端向即将发出的s o a p 消息中额外加入记录消息拓扑的信息,并由接收端在策略驱 动验证之前进行验证。除此之外,有必要建立一个端对端的消息层安全模型,用于批量 处理应用了上述解决方案的s o a p 消息。 此解决方案的性能分析结果是理想的。一方面,扩展的x m l 安全元素无论是在发送 方还是在接收方,都没有占用更多的网络带宽和c p u 资源;另一方面,借助p i 演算从理 论上证明了该模型具有安全性和认证性。从而可知,由上述解决方案和安全模型相结合 的安全体系将成为w e b 服务中防御x m l 重写攻击的有效手段。 关键词:w e b 服务,s o a p ,安全模型,x m l 重写攻击,p i 演算 a n a l y s i sa n dv e r i f i c a t i o no f t h es o a ps e c u r i t y b a s e do i lp ic a l c u l u s w uz h e n g ( c o m p u t e ra p p l i c a t i o nt e c h n o l o g y ) a b s t r a c t x m l - b a s e dw e bs e r v i c e st e c h n o l o g yi san e wm o d e lo fd i s t r i b u t e dc o m p u t a t i o n i t sc o r e m e s s a g ee x c h a n g ep r o t o c o li ss 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 ) i nt h ed i s t r i b u t e d e n v i r o n m e n t , w e bs e r v i c e si n t e r a c tw i t he a c ho t h e rv i as o a pm e s s a g e s d u et ot h ef l e x i b i l i t y o fs o a pe x t e n s i b l em e c h a n i s m s ,w e bs e r v i c e sm a yb ev u l n e r a b l et oc e r t a i na t t a c k ss u c ha s x m l r e w r i t i n g ,a l t h o u g hv a r i o u ss t a n d a r d sl i k ew s s e c u r i t ya n dw s - p o l i c y 锄t h e o r e t i c a l l y s u i t a b l ef o re n s u r i n ge n d t o - e n dm e s s a g el e v e ls e c u r i t y b ya n a l y z i n gs o m et y p i c a li n s t a n c e s ,i ti sk n o w nt h a tb e c a u s eo fl a c k i n gt h ed e s c r i p t i o n o fs o a pt o p o l o g yi nw s s e c u r i t y ,x m lr e w r i t i n ga t t a c kc a nm o d i f yt h et o p o l o g yo fs o a p m e s s a g em a l i c i o u s l y ,f o re x a m p l e ,t oi n s e r tb o g u sd e m e n t si n c l u d i n gb a dc o d e s ,a n dt h e n r e t r a n s m i ti tw i t h o u tb e i n gd e t e c t e db yd i g i t a ls i g n a t u r e t h es o l u t i o no ft h ep r o b l e mi sa d d i n g a d d i t i o n a ls o a pt o p o l o g yi n f o r m a t i o ni n t oo u t g o i n gs o a pm e s s a g e sa n dv a l i d a t i n gt h i s i n f o r m a t i o nb e f o r ep o l i c y - d r i v e nv a l i d a t i o na tt h er e c e i v i n ge n d h o w e v e r , i t sn e c e s s a r yt o e s t a b l i s ha ne n d - t o - e n dm e s s a g el e v e ls e c u r i t ym o d e lb a s e do nt h es o l u t i o na b o v ef o r p r o c e s s i n ga s e to fm e s s a g e s t h ep e r f o r m a n c ea n a l y s i sr e s u l to ft h i ss o l u t i o ni s s a t i s f y i n g o nt h eo l l eh a n d , t h e e x t e n d e dx m ls e c u r i t ye l e m e n td o e sn o to c c u p ye i t h e rm o r en e t w o r kb a n d w i d t ho r a d d i t i o n a lc p uc y c l e sa tb o t ht h es e n d e rs i d ea n dt h er e c e i v e rs i d e o nt h eo t h e rh a n d , u s i n g p ic a l c u l u s ,i ti sp r o v e dt h a tt h i sm o d e li sa c c o r d 、) i ,i t l ls e c u r i t ya n da u t h e n t i c i t y s o ,t h e s e c u r i t ys y s t e mt h a tc o m b i n e st h i ss o l u t i o na n dm o d e li sg o i n gt ob et h ev a l i dm e t h o df o r d e f e n d i n gt h ex m lr e w r i t i n ga t t a c k si nw e bs e r v i c e s k e yw o r d s :w c bs e r v i c e ,s o a p ,s e c m i t ym o d e l ,x m lr e w r i t i n ga t t a c k ,p ic a l c u l u s 关于学位论文的独创性声明 本人郑重声明:所呈交的论文是本人在指导教师指导下独立进行研究工作所取得的 成果,论文中有关资料和数据是实事求是的。尽我所知,除文中已经加以标注和致谢外, 本论文不包含其他人已经发表或撰写的研究成果,也不包含本人或他人为获得中国石油 大学( 华东) 或其它教育机构的学位或学历证书而使用过的材料。与我一同工作的同志 对研究所做的任何贡献均已在论文中作出了明确的说明。 若有不实之处,本人愿意承担相关法律责任。 学位论文作者签名:羔;彗 日期: 。g 年3 - 月7 6 日 学位论文使用授权书 本人完全同意中国石油大学( 华东) 有权使用本学位论文( 包括但不限于其印 刷版和电子版) ,使用方式包括但不限于:保留学位论文,按规定向国家有关部门 ( 机构) 送交学位论文,以学术交流为目的赠送和交换学位论文,允许学位论文被 查阅、借阅和复印,将学位论文的全部或部分内容编入有关数据库进行检索,采用 影印、缩印或其他复制手段保存学位论文。 保密学位论文在解密后的使用授权同上。 学位论文作者签 指导教师签名: 日期:d9 年,月7 9e t 日期:d 吕年,月76e l 中国石油大学( 华东) 硕士学位论文 1 1引言 第一章绪论 随着计算机网络的蓬勃发展和信息量的不断增加,如今的i n t e r n e t 不再只和电子邮 件和w e b 站点有关,信息处理技术也从传统的集中式处理转变为分布式处理。在这个 背景下,新兴的w e b 服务成为处理分布式计算的首选技术。 w e b 服务是对象组件技术在i n t e m c t 中的延伸,是封装成单个实体且发布到网络上 以供其它程序使用的功能集合。在w e b 服务的体系中,电子商务、电子政务、企业应 用等一系列与人们工作生活密切相关的活动被分割为高内聚、弱耦合的单个服务,可以 w e b 服务的形式被调用和访问。从本质上讲,w e b 服务是放置于w e b 站点上的可重用 构件,通过互相调用以协同完成各种活动。 w e b 服务是独立的、模块化的应用程序,能够在i n t e :r n e t 上被描述、发布、查找和 调用。它的实现离不开三个标准: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 o l ,简单对象访问 协议) 、w s d l ( w e bs e r v i c e sd e s c f i p t i o nl a n g u a g e ,w e b 服务描述语言) 、u d d i ( u n i v e r s a l d e s c d p t i o n 、d i s c o v e r ya n di n t e g r a t i o n ,通用描述、发现和集成) 。其中,s o a p 以x m l 形式提供了一个简单、轻量的用于在分布式环境中交换结构化和类型化信息的机制。通 过“绑定( b i n d ) 等技术,它尽可能的利用已有标准和协议来实现相应的功能,而不 是另起炉灶,重新定义一个崭新的协议。正是由于s o a p 的简单性、实用性和兼容性, 使得它成为w e b 服务中一个不可或缺的协议,为w e b 服务带来无尽的发展潜力。 但是,在w e b 服务给人们带来巨大好处的同时,对隐私性和安全性也提出了新的 挑战。原先的“后端系统 不再与外部世界隔绝,在向i n t e m e t 开放重要业务功能的过 程中,w e b 服务会把有价值的数据、资料和系统暴露给各种外部威胁。不难想象,任何 一种威胁所造成的后果很可能是灾难性的。安全性问题已经成为研究w e b 服务时不可 回避的话题。尽管不断有人提出w e b 服务安全的解决方案,但基本上都是在某个单一 层面中解决某个单一问题,对w e b 服务的安全防御自然是采用“拼凑式”。而作为w e b 服务重要传输协议的s o a p ,更是由于自身的安全缺陷,时常受到攻击。如何有效的解 第一章绪论 决w e b 服务安全性问题成为众多学者研究的焦点。 1 2 研究与发展现状 w e b 服务的安全性问题涉及的议题虽然相当广泛,但是首先要解决的基本问题是 w e b 服务通信安全问题,即基于x m l 的s o a p 消息的安全性问题。w e b 服务的通信安 全需要保证通信中传输数据的安全,防御窃听、篡改、假冒、重放、否认等安全攻击, 确保w e b 服务数据通信的机密性、完整性、身份验证、不可否认性和授权。 w e b 服务的安全需求是通过对s o a p 消息头进行扩展实现的。但是在如何扩展这个 问题上缺乏一个统一的标准。2 0 0 2 年4 月,微软、i b m 和v c r i s i g n 联合发表了w e b 服 务安全规范“w s s e c u r i t y 和w e b 安全蓝图“s e c u r i t yi na w e bs e r v i c e s w o r l d 白皮书。 这个规范实际上是对s o a p 消息头的扩展。w s s e c u r i t y 规范为w e b 服务提供了一种保 障服务安全性语言。w s s e c u r i t y 提供了三种主要方法:安全令牌传播、消息完整性和 消息机密性。w s s e c u r i t y 规范提供了一个通用的机制来将证书( 签署了的信任声明, 如x 5 0 9 证书或者k e r b e r o st i c k e t s 等) 与消息关联,而不需要指定特殊的格式。x m l 数 字签名( x m ls i g n a t u r e ) 可以保证消息的完整性,而证书则用来确保消息在传递时不被 修改。同样的,消息机密性可以由x m l 加密( x m le n c r y p t i o n ) 和证书一起来提供, 共同保证s o a p 消息各部分的机密性。这些规范自身并不提供完全的解决方案,但 w s s e c u r i t y 规范能用来和其它w e b 服务协议一起来满足多种类型的应用安全的需要。 目前,利用w e b 服务规范描述的安全协议变得越来越复杂。研究人员正在应用形 式化方法来验证各类协议和规范的安全性。随着新的安全问题的暴露,规范也要随之发 展。微软s a m o a 项目就是在利用严密的形式化方法对w e b 服务规范做分析的众多项 目之一。研究中发现,x m l 重写攻击是现实存在的一个很常见但是一直没有解决的威 胁。在国外,微软研究中心的m o h a m m a da s h i q u rr a h a m a n 和a n d yg o r d o n 等人致力于 这方面的研究。目前在国内进行这方面研究的人很少,尚未见到公开发表的相关学术论 文或研究成果。 作为形式化语言的一种,p i 演算自1 9 9 1 年米尔纳提出【2 9 】以来,不断发展。围绕p i 演算的很多研究工作也已展开,大致可以分为两方向:( 1 ) p i 演算本身的理论研究,如 p i 演算的互模拟等价性、类型系统以及p i 演算的有穷公理化问题等;( 2 ) p i 演算作为 2 中国石油大学( 华东) 硕士学位论文 建模工具在计算机软件系统各个研究方向上的应用,如人工智能、模型分析、网络协议 验证等。 在利用p i 演算验证网络安全模型领域,国内已有不少高校和科研院所从事这方面 的研究,其中以上海交通大学傅育熙教授的课题组成果最为丰硕,多数为研究网络安全 协议验证的【2 8 1 3 3 】:贵州大学李祥教授的美国g e n e c h i u 基金资助项目也是一个方向的代 表,主要是研究自动化验证的【3 4 1 【3 5 1 。近几年,已有更多的人参与到其中进行研究,这方 面的理论也较为成熟,研究热点进一步深入,应用领域也越来越广泛。目前,大家更多 的是在研究如何使计算机读懂形式化语言并自动推导出结论,以期解决日益复杂的问 题。 1 3 论文主要研究内容 本论文在讨论w e b 服务及其安全性的基础上,仔细研究了s o a p 的标准规范、通 信机制、核心技术以及s o a p 的安全需求、传输层和消息层的主要安全技术。通过研究 发现,s o a p 消息的完整性会受到一种常见但尚未有效防御的攻击威胁。这种攻击可以 通过改变s o a p 消息拓扑结构的方式欺骗原有数字签名对消息体的信息进行篡改,因此 被称为x m l 重写攻击。如何实现防御策略是本论文研究的方向。 本论文主要研究工作有以下几点: ,1 w e b 服务安全分析。对现有常用的安全技术性能进行比较,指出各自存在的安 全缺陷; 2 s o a p 协议安全性研究。掌握w s s e c u r i t y 和w s p o l i c y 等标准的安全描述,分 析s o a p 安全扩展、x m l 数字签名和x m l 加密的原理; 3 分析x m l 重写攻击的特点,发现其安全隐患及内在原因,提出通过规范s o a p 消息拓扑结构的方法来防御x m l 重写攻击,即在s o a p 规范中引入了 元素,并在w s p o l i c y 中完善对 的约束,起到使自身不 受x m l 重写攻击破坏的作用; 4 在研究现有s o a p 通信模型的基础上,结合前面两项工作,设计出一个可以防 御x m l 重写攻击的实现端对端安全性的s o a p 通信模型; 5 研究了形式化语言p i 演算在分析验证模型方面的应用,并对提出的模型模型进 3 第一章绪论 行验证。 1 4 论文的组织 论文共分为六章,除本章外,其余各章组织如下: 第二章介绍了w e b 服务及s o a p 协议的基本原理和基本组成。 第三章分析了常见网络安全技术的优劣以及s o a p 的安全性需求。着重讨论x m l 数字签名、x m l 加密的规范,并指出传输层和x m l 安全性缺陷。 第四章根据前面章节对s o a p 的分析,总结了x m l 重写攻击的特点。提出了一种 防御x m l 重写攻击的方案,建立了一个可以防御x m l 重写攻击的安全模型。 第五章介绍了p i 演算及相关理论。着重讨论了如何利用这些理论对模型进行分析 和验证。并在本章的最后,对反x m l 重写攻击模型的有效性、认证性和安全性做出验 证。 第六章为论文的结论,总结了论文的研究工作,并给出了进一步的研究方向。 4 中国石油大学( 华东) 硕士学位论文 2 1w e b 服务 第二章w e b 服务及s o a p 概述 随着w e b 服务技术的日益成熟,众多基于w e b 的分布式应用系统都选择了具有简 单性、标准性和可互操作性的w e b 服务技术作为其实现的关键技术基础。 从使用者的角度而言,w e b 服务是一些包装在i n t e m e t 通信协议中,可以在i n t e m e t 中组装和运行的组件。这些组件之间可以在不需人工干预的情况下自动相互通信,既可 以运行在防火墙之内的i n t r a n e t 之中,也可以跨越企业网运行在整个i n t e m e t 环境之中。 从设计者的角度而言,w e b 服务是一种完全基于x m l 的软件技术。它提供了一个 标准的方式,用于应用程序之间的通信和互操作,而不管这些应用程序运行在什么样的 平台上和使用什么架构。 1 4 1 2 i 1w e b 服务协议栈 为了完成在松散耦合下的对象访问,w ,e b 服务定义了一系列的协议规范【1 0 1 ,如图 2 1 所示: 5 服务发布发现:u d d i 旧 母去 4 服务描述:w s d l 尉 驰 3 x 池消息:s o a p 售 目 2 传输协议:h t r p ,s m t p 懿 蚕 i i n t e m e t :l p v 4 ,i p v 6 窆 图2 - 1w e b 服务协议栈 f i 醇- l w e bs e r v i c ep r o t o c o ls t a c k 其中,第1 、2 层是已经定义好的并且广泛使用的传输层和网络层的标准:m 、h i t p ( h y p e r t e x t t r a n s f e r p r o t o c o l ,超文本传输协议) 、s m t p ( 简单邮件传输协议,s i m p l e m a i l t r a n s f e rp r o t o c 0 1 ) 等。而第3 、4 、5 层是目前开发的w e b 服务的相关标准协议,包括服 务调用协议s o a p 、服务描述协议w s d l 和服务发现集成协议u d d i 。图中右侧部分是 5 第二章w e b 服务及s o a p 概述 各个协议层的公用机制,这些机制一般由外部的正交机制来完成。 其中,u d d i 是一种用于服务代理的目录技术,用于建立w e b 服务组件的目录信息, 以便服务申请者查找自己需要的服务。w s d l 是用于建立服务描述的语言,不仅可以描 述服务代码所处的位置和运行方式,而且可以提供更高层次的信息,例如这项服务所涉 及的业务类型和关键字等信息。s o a p 是服务提供者、服务代理和服务申请者相互通信 的工具,它基于x m l 技术用于在网络应用之间交换结构化信息。一个w e b 服务组件一 经建立,首先要用s o a p 来向服务代理发布其服务描述,此后,服务代理、服务申请者 和服务提供者之间的所有交互将通过s o a p 来完成。 2 1 2w e b 服务的调用过程 利用w e b 服务可以建立面向服务的集成系统。这就是说,不用改变现有的各种应 用,也不必考虑它们技术的不同,利用w e b 服务的消息驱动机制,让它们协同工作和 交互。w e b 服务体系结构最基础的支柱是s o a p 消息传递,w e b 服务请求者通过在传 输层协议之上绑定s o a p 消息来请求服务。 中间节点 w e b 服务 发送接收 s o a p w e b 服务 s o a p 提供者 请求者 接收中间节点发送 图2 1 2w e b 服务的消息传递模式 n 9 2 - 2m e s s a g et r a n s m i tm o d eo fw e bs e r v i c e s 图2 2 【习表示w e b 服务的消息传递模型。假设s o a p 绑定在h ”限之上,那么它就 会利用i - i t t p 的请求响应消息模型,将s o a p 请求的参数放在h t t p 请求里面,而将 s o a p 响应的结果放在h t t p 响应里面。w e b 服务的这种调用模式使得应用程序的集成 更为方便快捷。部署的w e b 服务将可以随时在不同的环境下通过网络进行访问。 2 i 3w c b 服务的三个基本角色和操作 一个用户或者一个程序如果希望使用w e b 服务,它首先必须找到所需要的服务描 述,然后与这个服务建立绑定关系。为了实现这一点,在w e b 服务中需要三个基本角 6 中国石油大学( 华东) 硕士学位论文 刨9 】( 如图2 3 ) :服务提供者( s e r v e rp r o v i d e r ) 、服务代理( s e r v e rb r o k e r ) 和服务申 请者( s e r v e rr e q u e s t e r ) 。 图2 - 3w e b 服务架构 f i 9 2 - 3 w e bs e r v i c e sa r c h i t e c t u r e 这三个角色需要执行发布( p u b l i s h ) 、查找( f i n d ) 和绑定( b i n d ) 三类操作。发布 操作使有关w e b 服务组件的信息能被别的计算机或者程序所了解。即发布操作是w e b 服务描述广泛传播的基础;查找操作为计算机或者程序查找和了解w e b 服务的内容、 所在地和连接方法提供手段;绑定操作使w e b 服务组件能被申请者所用。 2 2s o a p s o a p 作为实现w e b 服务通信的重要协议,是由m i c r o s o f t 、m 等公司共同提出 的规范,目的是为了实现大量异构程序和平台之间的互操作性,从而使存在的应用程序 能够被用户访司【引。它具有简单性、灵活性和平台无关性的特性,采用了已经广泛使用 的两个协议:h t t p 和x i v i l 。其中,肿p 用于实现s o a p 的r p c 风格的传输,而舭 是它的编码模式。因此,s o a p 被称为第一个“没有发明任何新技术的新技术一。 2 2 1s o a p 规范 s o a p 规范主要由四部分组成【1 】: ( 1 ) s o a p 封装( e n v e l o p e ) :定义了一个整体框架,用来表示消息中包含哪些内 容,是谁发送的,由谁来接收并处理这些内容,以及这些内容是可选的还是必需的等。 ( 2 ) s o a p 编码规则( e n c o d i n gr u l e s ) :定义了一个数据的编码机制,用以定义应 用程序中所需的数据类型,并交换这些应用程序定义的数据类型实例。 ( 3 ) s o a pr p c 表示( r p cr e p r e s e n t a t i o n ) :定义了一个用来表示远程过程调用和 7 第二章w e b 服务及s o a p 概述 应答的协定。 ( 4 ) s o a p 绑定( b i n d i n g ) 使用底层传输协议来完成节点问的s o a p 信息交换。 虽然这四个部分在s o a p 中被放在一起描述,但它们在功能上是独立的。特别的, 封装和编码规则是在不同的x m l 名字域中定义的,这种模块化的定义保证了s o a p 的简单性。 2 2 1 1s o a p 封装 s o a p 消息的主体部分是“t e x t x m l 形式的m i m e ( m u l t i p u r p o s ei n t e r a c tm a i l e x t e n s i o n s ,多功能i n t e m e t 邮件扩充服务) 类型,它必须包括一个s o a p 封装。封装 是一个x m l 文档,包括s o a p 消息头( 可选) 和s o a p 消息体( 必选) 。 9 1 封装中的 消息体表示最终接收的消息,而头元素可以确定执行中间处理的目标节点。附件、二进 制数字及其他项目可以附加到消息体上。 s o a p 提供了一种让客户端指定哪个中间处理节点必须处理消息头的方法。由于 s o a p 消息头与s o a p 消息体内容是互不相关的,所以可用它们给消息添加信息,而不 会影响对消息内容的处理。例如,消息头可用于为消息中包含的请求提供数字签名。在 这种情况下,身份验证和授权服务器可以独立处理消息头,并可以剥离信息以验证签名。 一旦通过验证,封装的其余部分将被传递给s o a p 服务器,它将对s o a p 消息体进行处 理。 2 2 1 2s o a p 编码规则 s o a p 规范中还定义了数据编码规则1 2 1 ,称为基准编码或“s e c t i o n5 一编码。其编 码格式基于一个简单的类型系统,它概括了程序设计语言、数据库和半结构化数据等类 型系统的共同特性。s o a p 编码可以简短的描述成简单值或者复合值的集合。简单值可 以是简单类型,如整型、浮点型和字符型,或者是x m l 架构规范第二部分中定义的内 置类型,包括各种数据类型,如字节型数组和枚举。复合值包括结构、数组和x m l 架 构制定组定义的复杂类型。最后,s o a p 数据编码指定了对象序列化规则,即通过网络 排列和分散数据流的机制。这些基准编码在任何情况下都不是强制的,这样客户端和服 务器可以自由的使用不同的数据编码规范,只要它们符合格式就行,但是这样,就使得 8 中国石油大学( 华东) 硕士学位论文 s o a p 在网络上提供标准化服务方面非常薄弱。 2 2 1 3s o a pr p c r p c 表示远程过程调用。虽然s o a p 也可以完成电子文档交换,但实际上,w e b 服务更多地使用s o a p 来进行r p c 调用。s o a p 协议也特别为r p c 规定了s o a p 消息 的格式。它包括如何在s o a p 消息中串行化远程调用的方法、参数及返回结果。 与h t t p 相似,r p c 使用请求响应模型交换消息。使用s o a p 调用远程方法的主 要工作就是构造s o a p 消息。s o a p 请求消息代表方法调用,被发送给远程服务器,s o a p 响应消息代表调用结果,返回给方法的调用者。 2 2 1 4s o a p 绑定 s o a p 绑定使s o a p 消息可以与传输层协议( 如h t r p 、s m t p 等) 捆绑在一起, 利用这些协议的调用响应机制,完成s o a p 的调用和响应。早先的s o a p1 0 规范强制要 求使用h t r p 作为传输协议。随后,s o a p1 1 规范则允许使用f t p 、s m t p ,甚至是原 始的t c p i p 套接字。 由于h t r p 的广泛存在性及人们对它的熟知程度,再加上它的安全、监控、负载平 衡技术都很成熟,故除了个别专用的w e b 服务外,大多数s o a p 消息都绑定到h t t p 协议上。具体地说,s o a p 消息会作为这些协议的正文被发送。这种与底层传输协议绑 定在一起的设计在很大程度上保证了s o a p 协议的简单性和兼容性。 2 2 2s o a p 的核心技术 s o a p 采用了已经广泛使用的两个协议:h t f p 和x m l 。h n p 用于实现s o a p 的r p c 风格的传输,而x m l 是它的编码模式。采用几行代码和一个沮解析器,m 仰服务器 ( 如m s 的s 或a p a c h e ) 就可以成为s o a p 的o r b ( o b j e tr e q u e s tb r o k e r ,对象请求代 理) 。s o a p 通讯协议使用h t r p 来发送x m l 格式的消息。h t r p 与r p c 的协议很相似, 它简单、配置广泛,并且对防火墙比其它协议更容易发挥作用。h t t p 请求一般由w e b 服务器来处理,但越来越多的应用服务器产品正在支持h r t p 。x m l 作为一个更好的网 络数据表达方式,s o a p 把帆的使用代码转化为请求响应参数编码模式,并用h t r p 第二章w e b 服务及s o a p 概述 作传输。具体地讲,一个s o a p 方法可以简单地看作遵循s o a p 编码规则的h t t p 请求和 响应,一个s o a p 终端则可以看作一个基于唧的u r l ,它用来识别方法调用的目标。 像c o r b a 、i i o p 一样,s o a p 不需要具体的对象绑定到一个给定的终端,而是由具体实 现程序来决定怎样把对象终端标识符映像到服务器端的对象。 2 3 本章小结 术。 本章主要介绍了w c b 服务的实现机制与基本框架以及s o a p 协议的规范与核心技 l o 中国石油大学( 华东) 硕士学位论文 第三章w e b 服务及s o a p 安全性分析 3 1 网络安全技术概述 3 1 1网络安全需求 网络上各种类型的应用,本质上都是信息交换。因此保护信息不被监听、篡改和丢 失就显得尤为重要。为了保证信息的安全性,要求信息交换具备下面五个方面的安全需 世 1 1 3 1 1 5 0 3 、o 机密性( c o n f i d e n t i a l i t y ) :保证没有经过授权的用户或进程无法窃取信息。在一个 开放的网络环境里,维护信息机密是全面推广w e b 艮务的重要保障。因此,要预防非法 的信息存取和信息在传输过程中被非法窃取。 授权( a u t h o r i z a t i o n ) :确定允许用户可以做什么的过程。可将不同的特权给予不 同类型的用户。 数据完整性( d a mi n t e g r i t y ) :保证没有经过授权的用户不能修改或删除信息,使 信息在传输过程中不会被偶然或故意破坏。 身份认证( i d e n t i t ya 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 ) :保证信息的发送方不能否认已发送的信息,信息 的接收方不能否认已收到的信息。要在信息的传输过程中为参与交易的个人、企业或国 家提供可靠的标识。 相应的,目前网络中存在的威胁主要表现在以下几个方面: 非授权访问:没有预先经过同意,就使用网络或计算机资源的操作被看作非授权访 问。它主要有以下几种形式:假冒、身份攻击、非法用户进入网络系统进行违法操作、 合法用户以未授权方式进行操作等。 信息遗漏丢失:指敏感数据在有意或无意中被泄漏出去或丢失。 破坏数据完整性:以非法手段窃得对数据的使用权,删除、修改、插入或重发某些 重要信息,以取得有益于攻击者的响应;恶意添加,修改数据,以干扰合法用户的正常 第三章w e b 服务及s o a p 安全性分析 使用。 拒绝服务攻击:是一种比较简单,却日益流行的攻击和禁用企业信息资源的手段。 在拒绝服务攻击中,攻击者发送大量的信息流量,使w e b 服务器、主机、路由器和其它 网络设备负担过重。通过这种方式,使得企业网络在很长一段时间内无法被访问。 针对这些威胁,下面将介绍几种常见安全技术,并分析它们的安全性能。 3 1 2 防火墙 防火墙( f i r e w a u ) 安全保障技术主要是为了保护与互联网相连的企业内部网络或 单独节点。它具有简单实用的特点,并且透明度高,可以在不修改原有网络应用系统的 情况下达到一定的安全要求。防火墙一方面通过检查、分析、过滤从内部网流出的d 包, 尽可能地对外屏蔽被保护网络或节点的信息和结构,另一方面对内屏蔽外部某些危险地 址,实现对内部网络的保护。 防火墙一般实施两个基本设计方针之一: 拒绝访问一切未予特许的服务; 允许访问一切未被特别拒绝的服务。 第一种方针比较保守,遵循“我们所不知道的都会伤害我们 的观点,因此能够提 供较高的安全性,但是这样,能够穿过防火墙为我们所用的服务,无论在数量上还是类 型上都会受到很大的限制。第二种则较灵活,虽然可以提供较多的服务,但是所存在的 风险也比第一种大。而且当受保护网络的规模越来越大时,对它进行完全监控就会变得 越来越难。 图3 1 防火墙 l 3 - 1 f i r e w a l l 防火墙通过过滤不安全的服务来降低子网上主系统的风险,这样可以大大提高网络 安全性,并有助于实施更加复杂化的安全策略。w e b 安全体系架构中防火墙是至关重要 的一个部分,它能强制执行边界处理规则,有效隔离内部网络和外部网络,保证内部网 中国石油大学( 华东) 硕士学位论文 络安全。如图3 1 中,防火墙只允许来自“被授权 请求者的那些消息穿过防火墙。 防火墙还可以提供先进的基于策略的规则,这些规则可以根据客户端的原始位置或 标识,对不同的客户端提供不同的限制( 签发不同的授权证书) 。当不同的客户端访问 相同w e b 服务上的不同功能时,这种技术很有用【1 8 1 。 3 1 3s s l 厂i l s s s l ( s e c u r i t ys o c k e tl a y e r ,安全套接字层) 由n e t s c a p c 公司提出,采用了r s a 公 开密钥加密算法,用于保护浏览器和w e b 服务器之间的重要数据传输。s s l 技术为应 用层间数据通信提供安全的途径,它位于可靠的传输层之上,为高层的应用提供透明的 服务,保证传输信息的机密性、可靠性和不可否认性。目前,s s l 是w e b 上具有真正意 义上的安全通讯标准。在w e b 上获得了广泛应用后,i e t f 对s s l 作了标准化,即 r f c 2 2 4 6 ,并将其称为t l s ( t r a n s p o r tl a y e rs e c u r i t y ,传输层安全) ,从技术上讲,t l s i 0 - 与s s l 3 o 的差别非常微小【1 l 】。 l c l i e n t l s e r v e r c l i e n t h e l l o s e r v e r h e l l o c e r t i f i c s r e * c e r t i f i c a t e r e q u e s t s e r v e r k e y e x e h a n 2 e c ! e r t i f i c a t e * c l i e n t k e y e x c h a n g e c e r t i f i c a t e v e r f f y c h a n g ec i p h e rs p e c f i i s b e d c h a f i n b h e d i p l e d rs p i 1, 土 a p p h c a f i o nd a t a a p p l i c a t i o nd a t a 注:加号的为可选条款 图姐s s l 握手协议 f i 9 3 - 2 s s lh a n d s h a k ep r o t o c o l 1 3 第三章w e b 服务及s o a p 安全性分析 s s l 的核心协议是s s l 握手协议,如图3 2 ,通过s s l 握手协议发送方和接收方首先 进行了相互验证,并协商了在之后的数据传输过程中的安全参数。在数据传输过程中, s s l 先对发送方的消息进行加密,然后将其传送到接收方。接收方接收到消息后,s s l 将对其进行解密并使用m a c ( m e s s a g ea u t h e n t i c a t i o nc o d e ,消息验证码) 来验证消息 是否来自正确的发送者。通过加密数据,可以防止消息在传送过程中被读取。发送方和 接收方可能具有证书,这些证书用作身份验证过程的一部分,在连接加密的顶层提供身 份验证功能。 但是s s l 也具有一定的缺点,具体表现如下: 1 性能问题 性能是实现s s l 所必须考虑的问题。当使用s s l 时,客户机和服务器之间的整个通 道被保护起来,数据以加密的方式被传输。因此,客户机和服务器端不得不对每个用户 的请求进行加密和解密操作,这样重复频繁的操作将会影响通讯性能,系统花费大量的 时间用于解密和加密通信信息。 2 中间节点问题 w e b 服务应用程序是一个多跳( m u l t i h o p ) 的拓扑结构,它依赖于消息传输路径的 中间节点转发消息。这些中间节点可能是一些组织的服务器。s s l 只能保护点对点的安 全通讯。如果中间存在恶意节点,那么整个w e b 服务的安全性将受到破坏。 此外,s s l 仅仅能够保护h t r p 传输的安全。在许多情况下,s o a p 消息传输需要穿 越不同的协议层,因此可能与不同的传输层协议进行绑定,如h t i p 、s m t p 等。当消 息需要经过不同的传输层协议时,s s l 就不能发挥作用了。 3 选择性保护问题 当使用s s l 时,将对所有的通信信息进行加密。然而并不是所有的信息都是需要保 护的。对于一些敏感的信息,如信用卡账号、用户名和密码,必须采取加密处理,而大 量的非敏感信息没有必要进行加密。s s l 不能满足w e b 服务实施选择性保护的要求。 3 i 4h t t p 身份验证 多数情况下,w e b 服务器的资源并不是对所有的用户都开放,需要进行访问控制。 最简单的办法就是给每个用户一个用户名和口令,然后由服务器鉴别。目前w e b 服务器 1 4 中国石油大学( 华东) 硕士学位论文 对用户有如下的认证方式: 1 h t t p 基本认证 它可以为w e b 服务器上树状结构文件中指定的分支提供基于口令的保护措施,也可 以将其授权为某口地址范围内的用户访问。多数浏览器和w e b 服务器都支持h t t p 基本认 证方式。认证信息中的用户名和口令经过b a s e 6 4 编码后放在h t t p 头部中递交给w e b 服 务器。 但是口令和用户名是以明文的方式传输,很容易被截获,任何获得用户名和口令的 人都可以访问这些受保护的资源。所以基础认证是一种功能很弱的方式,不适合需要较 强认证机制的t c p i p 应用,通常要结合使用s s l 来提高其安全性。 2 h t t p 摘要认证 针对基本认证的弱点,哪! 1 提出了改进的用户认证和授权方案,称为摘要认证。 与基础认证类似,摘要认证也是校验双方都知道的一个密码,但是密码的传输不是明文 传输,而是加密后传输。w e b 服务器用一个随机当前值询问浏览器,浏览器给w e b 服务 器一个返回值,这个数值是包含用户名、口令、当前状态以及用户请求资源的哈希值; 服务器收到用户返回的哈希值后,就检查该摘要值的有效性来判定用户的合法性。用户 和服务器可以协商所选择的哈希值的算法。摘要认证的优点在于口令为密文传输,而且 在服务器上也是以密文的方式存储,避免被有访问服务器权限的人窃取。 3 基于证书的认证 为了使用户对服务器进行认证,可以在传输层使用公钥证书。用户端证书也可以用 于服务器对用户的鉴别,不过目前证书认证方式不普及。w e b 服务器使用站点证书,个 人用户使用个人证书的认证系统主要依靠普及的公钥系统基础设施,不仅包括授权给合 法用户,还包括回收和废除授权。实际上这样广泛的公钥基础设施不存在,目前只有在 小范

温馨提示

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

评论

0/150

提交评论