基于soap信息通信加密传输机制研究学位论文.docx

上传人:b****6 文档编号:5082014 上传时间:2022-12-13 格式:DOCX 页数:49 大小:220.36KB
下载 相关 举报
基于soap信息通信加密传输机制研究学位论文.docx_第1页
第1页 / 共49页
基于soap信息通信加密传输机制研究学位论文.docx_第2页
第2页 / 共49页
基于soap信息通信加密传输机制研究学位论文.docx_第3页
第3页 / 共49页
基于soap信息通信加密传输机制研究学位论文.docx_第4页
第4页 / 共49页
基于soap信息通信加密传输机制研究学位论文.docx_第5页
第5页 / 共49页
点击查看更多>>
下载资源
资源描述

基于soap信息通信加密传输机制研究学位论文.docx

《基于soap信息通信加密传输机制研究学位论文.docx》由会员分享,可在线阅读,更多相关《基于soap信息通信加密传输机制研究学位论文.docx(49页珍藏版)》请在冰豆网上搜索。

基于soap信息通信加密传输机制研究学位论文.docx

基于soap信息通信加密传输机制研究学位论文

 

学士学位论文

 

基于SOAP信息通信加密传输机制研究

摘要

论文在研究基于SOAP信息通信加密传输机制的基础上,充分研究了XML加密组件、XML签名组件和访问控制组件。

论文主要通过把XML加密组件在Python中集成实现,提高了Web服务通信的安全性。

本文首先对Web服务及其关键技术SOAP、WSDL、UDDI、XML和WS-Security规范等进行了研究。

然后,结合二进制安全令牌对XML签名组件进行了研究,该组件为消息提供了完整性,由于安全令牌传输的数字证书代表了用户的身份,签名组件同时还能提供身份验证和不可否认性。

结合WS-Security规范设计实现了XML加密组件,该组件满足了SOAP消息的机密性。

此外,为了适应Web服务动态性和开放性的要求,论文结合更加灵活的基于角色的访问控制模型,对基于角色授权的访问控制组件进行了研究,该组件能够为服务提供授权,它通过以角色为中介,实现了用户权限与资源访问的映射,降低了授权管理的复杂度。

最后,通过Python软件,结合RSA算法对XML加密传输进行了设计、实现以及测试,最后通过对经过安全处理后的消息进行分析,验证了论文所设计的安全组件的安全性和可行性。

关键词:

Web服务;XML签名;XML加密;基于角色的访问控制

 

Abstract

WiththeresearchofamechanismforSOAP-basedcommunicationencryptedtransport,XMLEncryptioncomponent,XMLSignaturecomponentandaccesscontrolcomponentaredesignedandimplementedinthisthesis.ThesecurityforWebServicescommunicationsisimprovedbyintegratingandimplementingtheseseparatesecuritycomponentsbyPython.

Firstly,Thesetheoriesarestudied,includingWebServices,SOAP,WSDL,UDDI,XMLandWS-securitystandardinthisthesis.Secondly,XMLSignaturecomponentisdesignedandimplementedcombinedwithbinarysecuritytoken.Thecomponentprovideintegrity,andalsoauthentication,non-repudiation,becausetheuser’sidentityisincludedindigitalcertificationsofsecuritytoken;CombinedwithWS-Securitystandard,XMLEncryptioncomponentisdesignedwhichensurestheconfidentialityoftheSOAPmessages;TomeetthedynamicandopennatureofWebServices,arole-basedaccesscontrolcomponentisdesignedandimplementedcombinedwiththemoreflexiblerole-basedaccesscontrolmodel.Thecomponentprovidesauthorizationforservicesandrealizedsthemappingofuser’spermissionandresources,sothecomplexityofauthorizedmanagementisreduced,bymakingroleasintermediaries.Thirdly,ThroughthePythonsoftware,combinedwithRSAalgorithmontheXMLencryptiontransmissionwasdesigned,implementedandtested,andfinallythroughtheanalysisofthesecurityafterprocessingthemessage,verifythesafetyandfeasibilityofthedesignofthesecuritycomponent.

Keywords:

WebServices,XMLSignature,XMLEncryption,Role-BasedAccessControl

 

目录

1绪论1

1.1研究背景及意义1

1.2国内外研究现状2

1.3本文结构4

2Web服务及安全传输机制特性分析6

2.1Web服务概述6

2.1.1Web服务的概念及特征6

2.1.2Web服务协议栈8

2.2SOAP协议分析9

2.3WS-Security规范11

2.4XML技术13

2.5XML签名以及XML加密技术14

2.6WSDL技术14

2.7UDDI技术15

2.8本章小结15

3基于SOAP信息传输加密机制分析研究16

3.1密码学理论16

3.1.1对称密码体制16

3.1.2公开密码体制17

3.2密码学技术18

3.2.1完整性技术18

3.2.2数字签名技术19

3.2.3数字证书技术19

3.3本章小结20

4基于SOAP信息通信加密传输机制的详细设计21

4.1基于SOAP的Web服务的安全性分析21

4.1.1传统的安全传输机制的不足21

4.1.2基于SOAP的Web服务的安全需求22

4.2信息通信加密传输机制的设计22

4.2.1基于SOAP的Web服务的安全性挑战22

4.2.2基于SOAP信息通信加密传输机制研究的总体架构23

4.3通信处理25

4.4安全机制的分析26

4.5本章小结27

5SOAP信息通信加密组件的设计与实现28

5.1XML加密组件的设计28

5.1.1XML加密的基本结构28

5.1.2XML加密组件的设计29

5.1.3系统实现环境Python的简介31

5.2加密组件在Python上的实现31

5.2.1安全机制的验证系统32

5.2.2相关程序的代码32

5.2.3基于SOAP的加密传输的测试与结果分析36

5.2.4使用Wireshark软件进行抓包测试37

5.3本章小结40

结论41

致谢43

参考文献44

附录A英文原文46

附录B中文翻译53

1绪论

1.1研究背景及意义

随着Internet的出现和发展,越来越多的企业开始利用互联网来进行商业活动。

但是,仅有网络是远远不够的,当今孤立的系统、应用程序和Web站点随处可见,彼此之间要进行交流面临着很大的困难。

如何轻松实现企业不同系统之间的集成和交互,一直业内的一个热点问题。

传统EAI(企业应用集成)即利用中间件、应用程序接口和定制代码实现EAI,是一项艰巨的工作,但它的不灵活性和高昂的费用阻碍了它的发展。

最近几年来,一种新兴技术Web服务(WebServices)在成为业界、学术界研究的重点,这一技术正在加速推动着Intemet的发展,并逐渐成长为下一代Web应用的基石[1]。

与传统的EAI相比,Web服务具有简单、互操作性好、灵活、动态性好和成本低等优势,它的出现使上述问题可以得到很好的解决。

随着Web服务技术的飞速发展,新规范的陆续出现以及原有规范的不断完善,Web服务在电子商务、企业应用集成(EAI)、B2B应用及电子政务等多个领域正发挥着越来越重要的作用。

由于上述原因及应用的推动,具有松散藕合、基于国际标准、与平台和语言无关、跨越Internet、使用已有网络通讯协议等特性的Web服务技术应运而生。

Web服务的主要目标就是在现有的各种异构平台的基础上构筑一个通用的与平台无关,与语言无关的技术层,各种不同平台之上的应用依靠这个技术层实施彼此的连接和集成。

这将无疑极大地促进各种商务系统,企业系统的集成,降低成本,提高效益,从而为动态电子商务等Web服务的应用的发展奠定了坚实的基础。

Web服务的主要目标就是在目前现有的各种不同平台的基础上构建一个通用的、与平台无关、语言无关的技术层,各种不同平台上的应用依靠这个技术层来实施彼此间的交互和集成,以便为用户提供各种各样的服务[2]。

但是,随着Web服务技术应用的深入,出现了很多新的挑战与问题,尤其是Web服务的安全问题。

Web服务的安全性问题普遍存在着,但是首先要解决的是Web服务的通信安全问题。

Web服务使用SOAP作为它的消息传输协议,其最大的特点就是简单方便,及时可用。

它尽可能利用已有的标准和协议来实现相应的功能,但是其在设计之初并没有过多地考虑其所存在的安全性问题。

因此Web服务在途经网络来进行信息交换时不可避免地存在信息丢失、被窃听、被篡改等安全风险。

SOAP消息的安全极大程度上影响着Web服务的安全。

现在普遍使用的SSL/TLS以及HTTPS是点到点的安全技术,它们在保护Web信息安全方面已经十分成熟,但是运用在Web服务上时只能为传输过程提供消息完整性和机密性,却无法保障Web服务有中介参与时端到端的安全。

要保证Web服务的通信安全,需要一种端到端的消息级安全解决方案。

另外,对Web服务实施访问控制也是必须的。

Web服务是一种部署在Web上的对象、组件,它在为用户提供服务的同时,极有可能会受到一些未授权用户的非法访问,因此可以通过访问控制技术来防止对任何资源的非授权访问。

目前Web服务的访问控制技术已经成为一个研究热点。

传统的面向数据对象的访问控制技术,很难满足Web服务的动态性、开放性的要求。

Web服务需要的是一种更加灵活有效的访问控制机制。

1.2国内外研究现状

Web服务的安全性问题涉及的议题虽然相当广泛,但是首先要解决的基本问题是Web服务通信安全问题,即基于XML的SOAP消息的安全性问题。

Web服务的通信安全首先要保证通信中传输的数据的安全,抵抗窃听、篡改、假冒、重放、业务否认等安全攻击,确保数据的机密性、完整性、可用性、消息源认证性和不可否认性。

其中,机密性是指消息接收者能够识别消息内容,而入侵者无法识别消息内容;完整性是指消息接收者能够验证传输过程中消息没有被篡改;可用性是指消息接收者能够正确获取所需的消息内容;消息源认证性是指消息接收者能够确认消息的确来源于消息发送者,且入侵者不可能伪装成消息发送者发送同样的消息;不可否认性是指消息发送者无法否认他已经发送过的消息,消息接收者也无法否认他已经接收到的消息。

这些功能自身并不提供完全的安全解决方案,但WS-Security规范能用来和其他Web服务协议一起来满足多种类型的应用安全性的需要。

Web服务要被广大用户所接受,其安全问题的解决刻不容缓。

Web服务的安全需求与信息安全一样,主要包括机密性、身份验证、授权、完整性和不可否认性。

针对以上Web服务的安全需求,国内外一些标准化组织、公司和社会团体都一直在进行相关的研究,致力于解决Web服务的安全问题。

XML签名规范(XMLDigitalSignature)[3]是第一个官方推荐的XML安全标准,它是由W3C(WorldWideWebConsortium)和IETF(InternetEngineeringTaskForce)共同开发的,是许多Web服务安全技术的构件。

XML签名不但解释了如何签名XML文档的一部分,还解释了如何将任何数据的数字签名表示为XML格式。

XML加密规范(XMLEncryption)[4]是由W3C提出的一个规范,它不仅提供了加密XML文档的一部分的方法,而且还提供了加密任何数据和用XML表示加密数据的方法。

XML签名和XML加密共同构成了Web服务安全的基础。

W3C的另一个工作组还制定了XML密钥管理规范XKMS(XMLKeyManagementSpecification)[5],用于让用户获取加密密钥信息(例如机密密钥,证书等),并允许用户进行密钥管理,例如密钥的注册和撤消等等。

XKMS是给PKI(公钥基础设施)提供接口的Web服务,简化了实现PKI的必要步骤。

安全断言标记语言SAML(SecurityAssertionMarkupLanguage)[6]是由OASIS(OrganizationfortheAdvancementofStructuredInformationStandards)开发的一个复杂规范,是基于XML(扩展标记语言)的,用于在多个信任合作者之间传输认证和授权信息的安全访问控制框架体系和协议。

作为XML的一种描述语言,SAML关注的重点并不局限于信息的描述,而是侧重于如何用SAML实现信息的安全共享,在多个信任合作者之间交换安全信息。

SAML还提供了单点登录的机制。

XML访问控制标识语言XACML是(XMLAccessControlMarkupLanguage)[7]是OASIS组织提出的另一个安全规范,是一种通用的访问策略定义语言。

它提供了一种策略语言,允许管理员定义访问控制需求,以便获得所需的应用资源。

XACML还包括一种访问决策语言用于描述运行时对资源的请求。

由IBM和Microsoft以及VeriSign等公司共同提出的WS-Security[8]规范主要描述如何向SOAP消息附加签名和加密报头以及如何向消息附加安全令牌。

WS-Security将所有安全信息保存在SOAP消息报头中,从而为Web服务安全性提供了端到端的解决方案。

但是WS-Security只是一种构件,并不提供完整的安全性解决方案,它必须与其它Web服务扩展和更高级的特定于应用程序的协议联合使用,以适应多种安全性模型和加密技术[9]。

全球领先的应用基础结构软件公司BEA的WebLogicWebService可以支持Web服务的数字签名和加密[10]。

它的应用服务器是开发和部署可靠Web服务的领先平台,提供了一个基于标准的安全框架,可以支持面向连接的点到点的安全,以及Web服务操作的授权和认证。

IBM的WebSphere应用服务器提供了传输层的安全,同时支持WS-Security规范[11]。

微软的WSE(WebServicesEnhancements)可以支持WS-Addressing、WS-Sercurity、WS-Trust、WS-SecureConversation、WS-Policy、WS-PolicyAssertions和WS-SercurityPolicy等Web服务安全技术。

它还提供了一个完整的基于角色的授权模型,用来保护对服务的访问[12]。

Sun的Java系统应用服务器平台[13]可以支持XML数字签名、XML数字加密和WS-Sercurity技术。

􀄴

国内对于Web服务的安全性的研究相对较少,投入的力度也不是很大,研究的成果主要是在安全标准的应用方面,也有取得了一些阶段性的成果。

比如说,金蝶在2004年开发出Web服务来知识XML数字签名、XML数字加密以及WS-Security技术[14]。

另外,2004年东方通[15]遵循Web服务协议栈,并且支持了Web服务的标准安全性规范WS-Security和SAML等等,通过对安全标记的使用,实现了SOAP信息在传输过程中的机密性、完整性以及不可否认性。

Web服务对国内研究人员来说是一个相对来说崭新的课题,有很多尚待探知的方面需要我们来进行研究与探求。

1.3本文结构

本论文的主要章节结构如下:

第一章对本论文的研究背景、意义以及国内外的研究现状进行了介绍。

第二章对Web服务的相关概念以及主要特征进行了初步的分析与研究,并详细研究以及探讨了Web服务的多项关键技术,包括SOAP、WSDL、UDDI、XML。

另外,对Web服务的各种安全规范进行了深入的探讨与研究,其中主要包括的是WS-Security安全规范。

第三章对SOAP信息传输的加密机制以及加密理论进行了研究以及讨论。

另外研究了与SOAP信息加密有关的多项密码学技术,包括完整性技术、数字签名技术以及数字证书技术。

第四章研究并且分析了传统的SOAP信息通信加密传输机制所存在的缺陷:

传统的SOAP信息通信加密传输机制使用的主要是SSL/TLS技术,是属于点到点的安全技术,不能保证SOAP信息传输的过程中,如果有中介参与的情况下,端到端的整体的安全性。

另外,针对我们对当前的SOAP信息传输主要体现出来的安全需求:

机密性、完整性、身份验证、不可否认性以及授权,论文将XML签名组件、XML加密组件和访问控制组件结合在一起进行了使用,从而形成了一套比较成熟的SOAP信息通信加密传输机制。

第五章通过组件技术,论文主要针对了SOAP通信的机密性,对XML加密组件进行了具体的设计与研究,结合WS-Security安全规范实现的XML加密组件提供了数据的机密性。

 

2Web服务及安全传输机制特性分析

2.1Web服务概述

2.1.1Web服务的概念及特征

IBM将Web服务定义为“Web服务是自包含的模块化应用程序,它可以通过网络进行描述、发布、定位和调用”[16]。

W3C对WebServices的定义是:

WebServices是URI(UniformResourceIdentifier)标识的一个软件应用,它的接口和绑定可以通过XML文档定义、描述和发现;它使用基于XML的消息通过互联网协议与其他软件之间直接交互[17]。

Web服务建立在XML标准之上,并且是可以使用任何编程语言、协议或平台开发的,一种通过Internet标准模式传递的软件组件。

通俗的讲,Web服务就是为一些实际功能提供接口,让它们可以被Web上的其它程序来访问的一种技术。

这里的功能可以使执行一个数学运算,从数据库中获取的数据或者是其他的难度更好的任务。

Web服务采用面向服务的体系结构,包括服务提供者、服务请求者和服务注册中心三种角色,以及相关的三种运行关系:

注册、发现和调用服务。

也有可能存在不包含服务注册中心角色的两层模型。

图2.1表示了Web服务的体系结构:

发现服务注册服务

调用服务

图2.1Web服务的体系结构

Web服务提供者就是Web服务的所有者,他将自己的服务发布在Internet上,供其他用户和服务使用,是提供服务访问的平台。

Web服务请求者也就是Web服务使用者,他进行发现并调用服务提供者提供的服务。

Web服务注册中心是一个可搜索的服务注册中心,服务提供者在此发布他们的服务描述。

服务请求者通过它来查找需要的服务并获取服务的绑定信息。

Web服务注册中心实质上充当着管理者的角色,它的作用是把一个Web服务请求者与合适的Web服务提供者联系在一起。

服务注册中心是体系结构中的可选角色,因为服务提供者可以把描述直接发送给服务请求者。

Web服务的一个比较经典的运行的过程是,Web服务的提供者把他的Web服务发布到服务注册中心的一个主目录上,当服务请求者使用该Web服务时,他首先需要到服务注册中心提供的主目录上,寻找该服务并且获取如何使用此Web服务的相关的内容,然后通过这些相关的内容来调用服务提供者所提供的Web服务。

Web服务实际上是一种远程过程调用RPC(RemoteProcedureCall)机制,这种远程过程调用机制是通过交换基于XML的文档来执行的[18]。

这是因为,以XML格式表示的消息易于阅读和理解,并且XML文档具有跨平台和松散耦合的结构特点[19]。

Web服务是一种部署在Web上的对象/组件,它具有以下五大特征[20]:

(1)完好的封装性:

Web服务既然是一种部署在Web上的对象,自然就具备了对象的良好的封装性。

对于使用者而言,他能且仅能看到该对象提供的功能列表。

(2)松散耦合:

这一特征也是源于对象/组件技术,当一个Web服务的实现发生变更的时候,调用者是不会感到这一点的。

对于调用者来说,只要Web服务的调用接口不变,Web服务实现的任何变更对他们来说都是透明的,甚至当Web服务的实现平台从J2EE迁移到.NET或者反向迁移时,用户都可以对此一无所知。

对于松散耦合而言,尤其是在Internet环境下的Web服务而言,需要有一种Internet环境的消息交换协议。

而XML/SOAP正是目前最为适合的消息交换协议。

􀄱􀄱

(3)使用协约的规范性:

这一特征从对象而来,但相比一般对象,其界面规范更加规范化和易于被机器理解。

首先,作为Web服务,对象界面所提供的功能应当使用标准的描述语言来描述(比如WSDL);其次,由标准描述语言描述的服务界面应当是能够被发现的,因此这一描述文档需要被存储在私有的或公共的注册库里面。

同时,使用标准描述语言描述的使用协约将不仅仅是服务界面,它将被延伸到Web服务的聚合、跨Web服务的事务、工作流等,而这些又都需要服务质量(QoS)的保障。

安全机制对于松散耦合的对象环境十分重要,因此需要对诸如授权认证、数据完整性(比如签名机制)、消息源认证以及事务的不可否认性等运用规范的方法进行描述、传输和交换。

最后,所有层次上的处理都应当是可管理的,因此需要对管理协约运用同样的机制。

􀃳􀃳􀄱

(4)使用标准协议规范:

作为Web服务,其所有公共的协约完全需要使用开放的标准协议进行描述、传输和交换。

这些标准协议具有完全免费的规范,以便由任意方进行实现。

一般而言,绝大多数规范将最终由W3C或OASIS作为最终版本的发布方和维护方。

􀃳

(5)高度可集成能力:

由于Web服务采取简单的、易理解的标准Web协议作为组件界面描述和协同描述规范,完全屏蔽了不同软件平台的差异,因此,无论是CORBA(CommonObjectRequestBrokerArchitecture,公共对象请求代理体系结构)、DCOM(DistributedComponentObjectModel,分布式组件对象模型)还是EJB(EnterpriseJavaBeans,企业版JavaBeans),都可以通过这一种标准的协议进行互操作,实现了在当前环境下最高的可集成性。

2.1.2Web服务协议栈

为了完成在松散耦合环境下的对对象进行的访问,以及在基本对象访问之上的事务、工作流、安全机制等等,要实现一个完整的Web服务体系的总体架构需要有一系列的协议规范体系来进行支撑。

这一系列的开放标准协议(比如XML、SOAP、WSDL、UDDI等)相互依赖并且相互影响着,就像一个堆栈那样共同协作完成任务,他们在一起被统称为是“WebServicesStack(Web服务协议栈)”,图2.2展示了当前投入并且使用的Web服务协议栈。

Web服务协议栈的最底层是网络传输

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 军事

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1