基于SOAP信息通信加密传输机制研究学士学位论文1.doc_第1页
基于SOAP信息通信加密传输机制研究学士学位论文1.doc_第2页
基于SOAP信息通信加密传输机制研究学士学位论文1.doc_第3页
基于SOAP信息通信加密传输机制研究学士学位论文1.doc_第4页
基于SOAP信息通信加密传输机制研究学士学位论文1.doc_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

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

文档简介

理工大学学士学位论文摘 要论文在研究基于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加密;基于角色的访问控制abstractwith the research of a mechanism for soap-based communication encrypted transport,xml encryption component,xml signature component and access control component are designed and implemented in this thesis.the security for web services communications is improved by integrating and implementing these separate security components by python. firstly,these theories are studied,including web services,soap,wsdl,uddi,xml and ws-security standard in this thesis.secondly,xml signature component is designed and implemented combined with binary security token.the component provide integrity,and also authentication,non-repudiation,because the users identity is included in digital certifications of security token;combined with ws-security standard,xml encryption component is designed which ensures the confidentiality of the soap messages;to meet the dynamic and open nature of web services,a role-based access control component is designed and implemented combined with the more flexible role-based access control model.the component provides authorization for services and realizeds the mapping of users permission and resources,so the complexity of authorized management is reduced,by making role as intermediaries.thirdly,through the python software, combined with rsa algorithm on the xml encryption transmission was designed, implemented and tested, and finally through the analysis of the security after processing the message, verify the safety and feasibility of the design of the security component. keywords:web services,xml signature,xml encryption,role-based access control 目 录1 绪论1 1.1 研究背景及意义1 1.2 国内外研究现状2 1.3 本文结构42 web服务及安全传输机制特性分析6 2.1 web服务概述6 2.1.1 web服务的概念及特征6 2.1.2 web服务协议栈8 2.2 soap协议分析9 2.3 ws-security规范11 2.4 xml技术13 2.5 xml签名以及xml加密技术14 2.6 wsdl技术14 2.7 uddi技术15 2.8 本章小结153 基于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 本章小结204 基于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 本章小结275 soap信息通信加密组件的设计与实现28 5.1 xml加密组件的设计28 5.1.1 xml加密的基本结构28 5.1.2 xml加密组件的设计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 中文翻译53581 绪论1.1 研究背景及意义随着internet的出现和发展,越来越多的企业开始利用互联网来进行商业活动。但是,仅有网络是远远不够的,当今孤立的系统、应用程序和web站点随处可见,彼此之间要进行交流面临着很大的困难。如何轻松实现企业不同系统之间的集成和交互,一直业内的一个热点问题。传统eai(企业应用集成)即利用中间件、应用程序接口和定制代码实现eai,是一项艰巨的工作,但它的不灵活性和高昂的费用阻碍了它的发展。最近几年来,一种新兴技术web服务(web services)在成为业界、学术界研究的重点,这一技术正在加速推动着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签名规范(xml digital signature)3是第一个官方推荐的xml安全标准,它是由w3c(world wide web consortium)和ietf(internet engineering task force)共同开发的,是许多web服务安全技术的构件。xml签名不但解释了如何签名xml文档的一部分,还解释了如何将任何数据的数字签名表示为xml格式。xml加密规范(xml encryption)4是由w3c提出的一个规范,它不仅提供了加密xml文档的一部分的方法,而且还提供了加密任何数据和用xml表示加密数据的方法。xml签名和xml加密共同构成了web服务安全的基础。w3c的另一个工作组还制定了xml密钥管理规范xkms(xml key management specification) 5,用于让用户获取加密密钥信息(例如机密密钥,证书等),并允许用户进行密钥管理,例如密钥的注册和撤消等等。xkms是给pki(公钥基础设施)提供接口的web服务,简化了实现pki的必要步骤。安全断言标记语言saml(security assertion markup language) 6是由oasis (organization for the advancement of structured information standards)开发的一个复杂规范,是基于xml(扩展标记语言)的,用于在多个信任合作者之间传输认证和授权信息的安全访问控制框架体系和协议。作为xml的一种描述语言,saml关注的重点并不局限于信息的描述,而是侧重于如何用saml实现信息的安全共享,在多个信任合作者之间交换安全信息。saml还提供了单点登录的机制。xml访问控制标识语言xacml是(xml access control markup language) 7是oasis组织提出的另一个安全规范,是一种通用的访问策略定义语言。它提供了一种策略语言,允许管理员定义访问控制需求,以便获得所需的应用资源。xacml还包括一种访问决策语言用于描述运行时对资源的请求。由ibm和microsoft以及verisign等公司共同提出的ws-security8规范主要描述如何向soap消息附加签名和加密报头以及如何向消息附加安全令牌。ws-security将所有安全信息保存在soap消息报头中,从而为web服务安全性提供了端到端的解决方案。但是ws-security只是一种构件,并不提供完整的安全性解决方案,它必须与其它web服务扩展和更高级的特定于应用程序的协议联合使用,以适应多种安全性模型和加密技术9。全球领先的应用基础结构软件公司bea的weblogic web service可以支持web服务的数字签名和加密10。它的应用服务器是开发和部署可靠web服务的领先平台,提供了一个基于标准的安全框架,可以支持面向连接的点到点的安全,以及web服务操作的授权和认证。ibm的websphere应用服务器提供了传输层的安全,同时支持ws-security规范11。微软的wse(web services enhancements)可以支持ws-addressing、ws-sercurity、ws-trust、ws-secureconversation、ws-policy、ws-policy assertions和ws-sercurity policy等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加密组件提供了数据的机密性。 2 web服务及安全传输机制特性分析2.1 web服务概述2.1.1 web服务的概念及特征ibm将web服务定义为“web服务是自包含的模块化应用程序,它可以通过网络进行描述、发布、定位和调用” 16。w3c对web services的定义是:web services是uri(uniform resource identifier)标识的一个软件应用,它的接口和绑定可以通过xml文档定义、描述和发现;它使用基于xml的消息通过互联网协议与其他软件之间直接交互17。web服务建立在xml标准之上,并且是可以使用任何编程语言、协议或平台开发的,一种通过internet标准模式传递的软件组件。通俗的讲,web服务就是为一些实际功能提供接口,让它们可以被web上的其它程序来访问的一种技术。这里的功能可以使执行一个数学运算,从数据库中获取的数据或者是其他的难度更好的任务。web服务采用面向服务的体系结构,包括服务提供者、服务请求者和服务注册中心三种角色,以及相关的三种运行关系:注册、发现和调用服务。也有可能存在不包含服务注册中心角色的两层模型。图2.1表示了web服务的体系结构:服务注册中心发现服务 注册服务服务提供者服务请求者 调用服务 图2.1 web服务的体系结构web服务提供者就是web服务的所有者,他将自己的服务发布在internet上,供其他用户和服务使用,是提供服务访问的平台。web服务请求者也就是web服务使用者,他进行发现并调用服务提供者提供的服务。web服务注册中心是一个可搜索的服务注册中心,服务提供者在此发布他们的服务描述。服务请求者通过它来查找需要的服务并获取服务的绑定信息。web服务注册中心实质上充当着管理者的角色,它的作用是把一个web服务请求者与合适的web服务提供者联系在一起。服务注册中心是体系结构中的可选角色,因为服务提供者可以把描述直接发送给服务请求者。web服务的一个比较经典的运行的过程是,web服务的提供者把他的web服务发布到服务注册中心的一个主目录上,当服务请求者使用该web服务时,他首先需要到服务注册中心提供的主目录上,寻找该服务并且获取如何使用此web服务的相关的内容,然后通过这些相关的内容来调用服务提供者所提供的web服务。web服务实际上是一种远程过程调用rpc(remote procedure call)机制,这种远程过程调用机制是通过交换基于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(common object request broker architecture,公共对象请求代理体系结构)、dcom(distributed component object model,分布式组件对象模型)还是ejb(enterprise javabeans,企业版javabeans),都可以通过这一种标准的协议进行互操作,实现了在当前环境下最高的可集成性。2.1.2 web服务协议栈为了完成在松散耦合环境下的对对象进行的访问,以及在基本对象访问之上的事务、工作流、安全机制等等,要实现一个完整的web服务体系的总体架构需要有一系列的协议规范体系来进行支撑。这一系列的开放标准协议(比如xml、soap、wsdl、uddi等)相互依赖并且相互影响着,就像一个堆栈那样共同协作完成任务,他们在一起被统称为是“web services stack(web服务协议栈)”,图2.2展示了当前投入并且使用的web服务协议栈。web服务协议栈的最底层是网络传输层,它也是协议栈的基础。internet上可以访问的web服务使用已普遍部署的网络协议,如http、smtp、ftp和mq(message queuing)等。其中http凭借其普遍性,成为internet环境下web服务使用的标准网络协议。第二层基于xml的消息层(xml-based messaging)主要体现怎么去调用web服务。现在运用比较广泛的主要有两种,一种是xml-rpc(xml-remote procedure call),另一种是soap(simple object access protocol)。相比之下soap比xml-rpc有一定的优势:soap在处理复杂数据(如数组等)时要比xml-rpc更容易一些;xml-rpc没有标准化错误代码。第三层服务描述层(service description)主要是对web服务的描述,向客户端说明服务提供了什么样的接口可供调用,怎么样去调用和到哪里去调用。这一层中的主要协议是wsdl(web servies description language)。另外,服务发现集成协议uddi以及web 服务流程语言wsfl(web services flow language)都是目前开发的web服务的相关标准协议。 wsfl service discovery staticuddiservice publicationdirectuddiservice descriptionwsdl soapxml-based messaging http,ftp,mq,email,etcinternet securitymanagementquality of serviceservice flow图2.2 web服务协议栈2.2 soap协议分析近几年来,网上电子商务交易发展迅猛,其中b2b以及b2c的电子商务模型发展首当其冲,引领着整个行业的发展。使用xml对商务信息进行描述使得b2b/b2c应用在数据层上获得了开发以及集成的能力,然而,这从网络传输的层面来看,其仅仅完成了实际应用领域的最低层次的开发集成:数据层集成。而在模块层,soap的出现使得该层能够以一种开放、集约、统一的方式进行集成和信息的交互。soap(simple object access protocol)即简单对象访问协议提供了一种在分散或者分布式的环境中交换信息的简单且轻量的机制。因为它是一个基于xml(extensible markup language)标准的协议,可以用来在不同的系统不同的语言之间进行通信。在web服务中,soap充当在服务使用者和服务请求者之间交换信息时消息交换协议的角色,是web服务的核心。soap规范主要由下列元素组成:(1)soap信封规范:它定义了一个soap消息表示框架。soap消息通常包括一个soap信封,带有0个或多个附件。soap信封包含可选的报头(header元素)和必须的报体(body元素)。其中,报头是一种用来向soap消息添加额外特性的通用机制,soap定义了一些属性来指出谁应该处理某个特性及这个特性是可选的还是必须要处理的;报体包含发送给最终目标节点的信息。图2.3显示带附件的soap消息的结构。(2)soap编码规则:定义了一组数据编码规则,它是由编程语言、数据库和应用程序所需的半结构化数据表示的一组通用数据类型。soap编码支持简单类型值和复合类型的值。(3)soap prc约定:定义了一个用于表示远端过程调用和响应的约定。在soap prc请求和响应中,方法调用被串行化为soap编码规则定义的、基于xml的数据类型。(4)soap绑定:定义了一个使用底层传输协议来完成在节点间交换soap信封的约定。 soap消息头header项soap信封(主mime部分)header项附件 soap主体body项附件body项 图2.3带附件的soap消息的结构soap的主要设计目标是简明性和可扩展性。简明性主要表现在整个soap规范定义的消息结构非常简单,除了这个基本消息结构外,soap没有定义额外的表述结构标准,没有定义自己的编码格式和传输协议。可扩展性则主要表现在soap可以使用任意的模式定义方式来定义内部传输内容的结构(编码方式一般使用xml schema),可以与任意的网络传输协议联合使用完成传输。soap提供复合的单向消息交换框架,以便在soap节点之间传输xml。这些soap节点表示soap消息路径的实体,执行消息路由或处理功能。在soap消息中,soap节点可以是soap发送方、soap接收方或者是soap中间方,三种其中的任何一种。在soap消息交换模型中,soap消息经由发送方,途经0或多个中间方,最终传递到其所指的目标位置。soap消息交换模型如图2.4所示:soap中间方soap接收方soap发送方 图2.4 基本的soap消息交换模型2.3 ws-security规范ws-security规范是有ibm、microsoft和versign三大公司共同提出的,目前ws-security规范已经成为了保护web服务安全以及应用进程操作安全的标准。ws-security规范定义了如何利用xml签名、xml加密以及安全令牌来对soap消息进行签名和加密,并且提供了将安全令牌和soap消息进行紧密联系的体系。ws-security规范的主要作用就是保护soap消息的传输安全,实际上其是对soap协议的扩展,它解释了如何将安全信息包含在soap消息的报头中。ws-security规范并没有提供出新的签名/加密算法或是安全模型,而是在利用现有安全规范的基础上提供了一个可以进行扩展操作的框架,应用程序开发人员可以根据实际情况将各种不同的加密解密技术以及相关的协议标准结合起来,以实现web服务的完整性、保密性和访问的控制ws-security规范在soap中引入现有的签名和加密标准,根据这些标准,它定义了一系列的soap消息头(header block)来包含数字签名、加密信息和安全令牌等安全信息。下面是一个典型的soap消息的报头: miiezzcca9cgawibagiqemtjzco. . .在上面的结构中,security报头块是由ws-security定义的。它除了封装安全令牌外,还提供有关在soap消息中使用xml签名和xml加密的信息。每个soap消息可以包含有多个security报头块,每个报头块都可以通过s:actor属性来指定哪个soap节点将对其进行处理。s:mustunderstand属性设置为1时说明,强制接收方处理security报头记录项。如果接收方不能处理安全信息,处理将失败。ws-security主要提供了三种机制:安全令牌传输、消息完整性和消息机密性。(1)安全令牌传输在soap消息头中,ws-security定义了安全元素(security element)来传递各种安全令牌。消息的接收者通过发送者的安全令牌来验证用户的身份。安全元素包含三种子类型的元素,它们分别是usernametoken,binarysecuritytoken和securitytokenreference。(2)消息的完整性ws-security采用了w3c的xml签名标准对soap消息进行数字签名,保证soap消息在经过中间节点时不被篡改。ws-security并没有彻底改造已有的标准,而是简单的利用它们,并就如何在soap消息中使用这些规范提出了一些具体细节。ws-security允许对soap消息其中的一部分进行数字签名,允许为相同的消息创建多个签名,这样数据经过的不同机构或个人就可以独立地对同一个xml文档的不同部分进行添加、删除或修改,并只对自己的处理结果签名,而且所有签名之间完全不会相互影响,从而能够更好地分工协作,权责更明晰,效益也更显著,从而扩大签名的作用范围。ws-security提供了对多种签名算法和签名格式的支持。(3)消息的机密性ws-security使用w3c的xml加密规范对soap消息进行加密,保证soap消息在传递过程中即使被监听,监听者也无法提取出有效信息。ws-security允许对soap消息进行选择性的加密(可以部分加密或是全部加密),这样就可以只对敏感信息加密,减少以往因对整个消息加密所导致的性能损失。ws-security也支持多种加密算法和加密格式。以上的三种ws-security机制既可以单独使用,也可以组合起来使用,以实现不同要求的web安全服务。总的来说,ws-security是一个可操作性强的、自由度高的、扩展性高的安全规范。论文所设计的信息通信加密传输机制就是基于ws-security规范的,通过ws-security规范的使用,使得应用程序能够形成安全稳定的soap消息交换机制,保证了soap消息的机密性,完整性和不可否认性,并且能够实现支持端到端的消息级别的安全性,而不仅仅是传输级别的安全性。2.4 xml技术xml即extensible markup language,可扩展标记语言的简写,他是所有web服务标准的基石,是w3c认可的元标记语言,这些标记将文档分为许多组件,并对这些组件加以标记,其定义了和特定领域有关的、语义的、结构化的标记语言的句法语言。和html一样,xml同样基于标准通用标记语言sgml(standard generalized markup language),但是与html不同的是,xml是一种能定义其他语言的语言。xml最初的设计目的是弥补html的不足,以其灵活多变以及扩展性强的特点来方便网络信息的发布,而后来由于网络需求的发展,其逐渐用于了网络数据的转换和描述。xml是一种开放的语言,能够对应用程序的开发提供极大的方便,并且能够在不同用户和程序之间互相交换数据,且这些编辑与开发都和平台无关。xml的另一个特征便是其可扩展性,用户可以根据不同项目、不同产品的不同需要,自定义新的标识以及属性名称,从而更好地从语义上表示数据,同时这也比较符合我们平常使用的自然语言的表达习惯。xml的以上特征使得其成为了构建web服务的基础描述语言,并且它促进了更加标准化以及可读性更强的消息的创建。2.5 xml签名以及xml加密技术xml数字签名技术可以为所有类别的数据提供数据完整性、不可否认性和消息源的认证性,xml数字签名规范包括描述签字信息的语法规范和语义处理规则两部分。xml加密技术可以为所有类别的数据提供保密性的服务。与xml数字签名类似,xml加密规范也由语法规范和语义处理规则两部分组成。2.6 wsdl技术wsdl(web services description language,web服务描述语言)是基于xml语言的规范,是web服务的一种扩展性描述语言,它用于对web服务的定义以及对其进行调用,还定义了用于查找web服务的地址信息。因为其是基于xml语言而形成的,因此wsdl也是与平台无关的。可用于描述使用任何语言实现、部署在任何平台上的服务。wsdl定义文档的主要构成元素如下:(1),它是wsdl文档中的根元素,定义web服务的名称,并声明wsdl其余部分使用的命名空间。(2),该元素描述了web服务与服务用户之间交换消息所使用的所有数据类型,它使用某种类型系统(默认的使用xml schema中的类型系统)。(3),通信消息数据结构的抽象类型化定义。描述单向消息,可表示发送到或来自web服务的请求或响应。(4),对 web服务所支持的操作的抽象描述,一般单个描述了一个访问入口的请求/响应消息对。(5),定义了web服务所支持的各项操作的抽象集合。这些操作可以由一个或多个服务访问点来支持。(6) ,指定用于表示通信中的特定元素定义的操作和消息的具体数据格式和协议。(7),定义为协议/数据格式绑定与具体web访问地址组合的单个服务访问点。(8),该元素代表端口的集合和相关服务访问点的集合。2.7 uddi技术通用描述、发现和集成协议uddi(universal description,discovery and integration)是web服务的另一项核心技术,它也是基于xml而构建的独立于现有的各种平台以及开发工具的标准规范,它是为了解决web服务的发布和发现问题而制订的基于internet的电子商务技术标准。uddi提出了一种形成商业注册中心的方法。该商业注册中心记录并且保存各个企业以及企业提供的web服务的全球目录,而由于uddi协议是基于xml打造的,因此uddi更像是一个储存容量巨大的电话本。uddi规范的核心组件是uddi商业注册中心,它使用一个xml文档来描述与记录企业的信息以及其所提供的所有web服务。uddi商业注册中心所记录的信息包括三个部分:(1)白页:包含企业的基本信息,比如企业的名称、地址以及联系方式等信息;(2)黄页:包含了企业所提供的web服务的分类信息;(3)绿页:包含了企业所提供的web服务的技术信息。uddi是一种特殊的,新兴的web服务,也是一种新兴的技术手段,uddi给电子商务的发展带来了源动力,也因此推动了整个互联网行业的发展。2.8 本章小结 本章首先对web服务进行了调查以及研究,主要是针对web服务的概念以及特征的研究,然后对web服务的一些基础性协议、语言以及规范技术进行了研究,包括soap协议、ws-security规范、xml技术、wsdl技术以及uddi技术,为后续的论文的实践性研究提供了坚实的理论基础。3 基于soap信息传输加密机制分析研究3.1 密码学理论密码学是对信息进行编码,实行信息隐藏的一门学科,它是安全技术的基础。采用密码学的方法可以隐藏和保护用户需要进行保密的信息,使没有得到授权的人不能得到信息,其中,被隐藏的消息被称为明文(plaintext)。密码可以将明文通过一定的变换,变成另一种隐藏、加密的形式,称为密文(ciphertext)。以上所说的这种变换过程被称为加密(encryption),而其逆过程,即从密文通过类似的变换恢复出明文的过程被称为解密(decryption),对明文进行加密的一组规则被称为加密算法(encryption algorithm),反之对密文进行解密的一组规则被称为解密算法(decryption algorithm)。发送消息的一方称为发送者(sender),所传输消息的接收一方被称为接收者(receiver)。加密和解密通常是在一对密钥(key)的控制下进行的,分别被称为加密密钥以及解密密钥。另外,用于加密与解密的数学函数别称为密码算法,其安全性是基于密钥的安全性的,而不是基于对两种算法的细节的保密。密码学的主要目标是保证消息通信的机密性,发送者将明文的消息进行加密,而接收者对密文的数据进行解密。但是密码学发展至今,现代的密码学已经不仅仅是被用于保护消息以及数据的机密性,还能提供比如身份认证与数字签名等一系列的功能。一个密码系统采用的基本工作方式称为密码体制。密码体制的基本要素是密码算法与密钥。密码体制的数学表达如下:它是一个五元组(p,c,k,e,d)满足条件:(1) p是可能明文的有限集;(明文空间)(2) c是可能密文的有限集;(密文空间)(3) k是一切可能密钥构成的有限集;(密钥空间)(4) 任意kl,k2k,有一个加密算法ekle和相应的解密算法dk2d,使得ekl:p一c和dk2:cp分别为加密解密函数,满足dk2(ek1(x)=x,xp。根据密钥的特点,可以将密码体制分为对称密码体制(k1=k2)与公开密码体制(k1k2)。3.1.1 对称密码体制对称密码体制又称为传统密码体制和私钥密码体制。在该体制下,加密密钥与解密密钥相同或者能从其中一个导出另外一个。因此,消息的发送者与接收者必须预先共享私钥密钥。对称密码体制实现消息的加密与解密的过程如图3.1所示: 加

温馨提示

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

评论

0/150

提交评论