基于.Net WSE的Web服务消息安全实现
VIP免费
摘要
Web服务的安全性问题是一个非常复杂的问题,目前与Web服务安全有关的规
范主要有WS-Security和WS-Policy等;但是这些安全规范只是提出了安全模型的
框架;因此,微软提出了WSE3.0(Web Services Enhancements)开发工具可以支持
Web服务安全技术来保护Web服务的访问。
Web服务请求所发送的SOAP消息需要经过一个或者多个中间节点接收并处理,
然而不是所有的SOAP消息都需要中间节点去处理的,有些元素甚至可能对中间
节点保密。因此,本文在分析了WS-Security规范与.NET WSE3.0工具之后,提出
了用自定义策略断言实现SOAP消息中部分元素签名和加密的方法,并在.NET
WSE 3.0下进行了实证分析。
本文对以下几个方面进行研究和讨论:
(1) 分析了Web服务的安全性需求,研究了Web服务安全,包括安全技术、安全
性规范和最新发展。然后,分析了WSE3.0的工作过程与内置的关守安全策略断言。
(2) 通过分析WSE的策略框架及原理,针对Web服务的安全性需求,设计了基
于WSE的安全策略断言。给出了总体框架,并对安全消息交换的处理过程进行了
描述。
(3) 研究了自定义安全策略断言的创建,并在.NET环境下,开发并验证了基于
WSE3 .0的对SOAP消息的部分签名和加密的自定义策略断言。
关键词:Web 服务 SOAP 消息 WSE3.0 安全策略 安全断言
ABSTRACT
Web Services security is a complex issue, and some protocols have established,
such as WS-Security, WS-Policy and so on. Based on these protocols, Web Services
security modules have developed on different SOA platforms, Microsoft provided the
WSE3.0 (Web Services Enhancements) to support Web Services security technology
and protect access to Web services.
The SOAP message sent out by Web Services requester may pass and process by
different intermediaries before arrived at the final destination, In general the SOAP
message has to received and processed in one or more intermediate nodes, but not all of
the elements of SOAP message need to handle by the intermediate nodes, some
elements may be confidential for an intermediary. This kind of security requirement is
not supported by WS-Security. So a SOAP message part signature and encryption
assertion is designed in this article, and give an example in .NET WSE3.0.
In this article, the following are discussed:
(1) The requirements of Web services security is analyzed, the Web Services
security technology, safety specifications and the latest developments are studied. Then,
the work process of WSE3.0 is analyzed, and the built-in security policy assertions are
detailed described.
(2) By analyzing the WSE framework and principles, according to the requirements
of Web services security, an assertion which is based on the WSE security policy is
designed. The security messaging framework and process are described.
(3) The creation of custom security assertion is studied, SOAP message part
signature and encryption is developed and verified in .NET WSE3.0.
Key Word: Web Services, SOAP Message, WSE3.0, Security
Policy, Security Assertion
目录
中文摘要
ABSTRACT
第一章 绪论.....................................................................................................................1
§ 1.1 课题的来源及意义...........................................................................................1
§ 1.2 国内外的研究现状...........................................................................................3
§ 1.3 本论文研究的主要内容...................................................................................5
§ 1.4 论文的组织结构...............................................................................................6
第二章 Web 服务及其服务平台.....................................................................................8
§ 2.1 Web 服务基本概念...........................................................................................8
§ 2.1.1 Web 服务的概念和特征.........................................................................8
§ 2.1.2 Web 服务模式.......................................................................................10
§ 2.2 Web 服务协议栈.............................................................................................12
§ 2.3 .Net 平台技术组成.........................................................................................17
§ 2.3.1 .Net 技术概述.......................................................................................17
§ 2.3.2 .Net 框架介绍.......................................................................................18
§ 2.3.3 .Net 的Web.config 介绍.......................................................................19
第三章 Web 服务安全及 WSE 安全性分析..................................................................21
§ 3.1 Web 服务安全及其相关技术.........................................................................21
§ 3.1.1 Web 服务安全简介...............................................................................21
§ 3.1.2 传统的 Web 安全技术..........................................................................22
§ 3.1.3 目前所使用的安全技术.......................................................................23
§ 3.2 WSE 介绍及其安全特性................................................................................25
第四章 WSE3.0 的策略断言及应用..............................................................................27
§ 4.1 WSE3.0 的策略框架分析...............................................................................27
§ 4.1.1 WSE3.0 的相关概念.............................................................................27
§ 4.1.2 策略与断言的关系...............................................................................29
§ 4.2 WSE3.0 的策略断言.......................................................................................30
§ 4.2.1 WSE3.0 的关守安全断言.....................................................................30
§ 4.2.2 自定义安全策略断言...........................................................................31
§ 4.2.3 SOAP 消息的安全交换........................................................................32
§ 4.3 应用安全策略.................................................................................................42
§ 4.3.1 将策略应用于服务端...........................................................................42
§ 4.3.2 将策略应用于客户端...........................................................................43
第五章 SOAP 消息部分加密签名的设计及实现.........................................................44
§ 5.1 自定义安全策略总体设计.............................................................................44
§ 5.2 运行平台.........................................................................................................46
§ 5.3 安全需求.........................................................................................................46
§ 5.4 实验准备.........................................................................................................47
§ 5.5 实现过程.........................................................................................................48
§ 5.5.1 添加 SOAP 头,实现 SOAP 头的操作................................................48
I
§ 5.5.2 实现自定义的用户名令牌管理器.......................................................48
§ 5.5.3 创建自定义安全策略断言...................................................................50
§ 5.5.4 在Web 服务端配置策略文件..............................................................53
§ 5.5.5 将策略应用于 Web 服务端..................................................................53
§ 5.5.6 将策略应用于客户端...........................................................................54
§ 5.6 实验结果及分析.............................................................................................55
第六章 总结与展望........................................................................................................59
§ 6.1 总结.................................................................................................................59
§ 6.2 展望.................................................................................................................60
参考文献.........................................................................................................................61
II
第一章 绪论
第一章 绪论
§ 1.1 课题的来源及意义
Web服务(Web Services)是构建在Internet之上,为企业应用提供了一个灵活的、
松散耦合的分布式计算环境;它通过将业务逻辑功能封装成Internet的软件组建—
—服务,并发布该服务供其他用户使用,从而使得Web不仅成为信息共享的平台,
而且成为服务共享的平台。
Web服务这种分布式、异构的本质[1], 使得Web服务的安全变得很复杂。Web
服务技术基于许多不同软件应用程序的互操作性,而这些应用程序通过Internet在
各地的各种系统中运行,通过使用XML(可扩展标记语言)、SOAP(简单对象访问协
议)、UDDI(统一发现、描述和目录)、WSDL(Web服务描述语言)以及其他协议和机
制,可以通过Internet实现跨域且独立于平台的交互作用。
为了实现“松散耦合的、跨平台的、与语言无关的”数据交换,Web服务是基
于SOAP协议传输信息的,而SOAP是一种基于XML的技术,SOAP消息是用XML
来编码的,支持在一个分散的、分布的环境中进行信息交换。而SOAP作为轻量级
协议在设计时没有考虑到任何安全相关的问题,因此说SOAP消息在传输的时候
是基于XML明文形式传输的,存在信息丢失、被篡改、被窃听等安全风险。所以,
在消息传递过程中,确保SOAP消息的机密性和完整性,是Web服务安全的主要
内容。
传统Web应用程序常常依赖于传输层的安全机制,支持点对点(Point-to-Point)
的情况下传输过程中提供消息完整性和机密性,如安全套接字层(SSL)和传输层安
全性(TLS)等安全传输协议;然而,当Web服务所发送的SOAP消息为端对端(End-
to-End)的消息传递,在到达最终目的地或接受方之前一般要经过一个或多个中介
体(如应用网关)接收并处理,在经过一系列中间节点时,每个节点都会对SOAP消
息做一定得处理,虽然,SSL可以确保SOAP消息在两节点之间的通信链路是可信
的,但传输层之外的中介体接受并转发数据时,就不能保证数据的完整性,因此
需要消息层的保护。
为了适应Web服务对安全的特殊要求,Web Services的发起者IBM 和微软联合
Verisign公司于2002年4月发布了WS-Security(Web Service Security,Web服务安全)
规范[2]。在Web 服务使用SOAP(XML格式)作为消息传输协议的背景下,分别产生
了XML数字签名(XML Digital Signature),XML加密(XML Encryption)和安全性断
言标记语言(Security Assertion Markup Language,SAML)-XML格式的安全令牌,
而WS-Security规范提出了一套标准的SOAP 安全扩展方法,通过对消息的加密、
数字签名以及认证,保证了消息端对端的安全传输[34]。
微软最初用工具包Web Services Enhancements 1.0 for.net (简称为WSE 1.0) 实
现符合WS-Security等规范的SOAP消息安全,它作为一个类库用来实现高级Web
服务协议,保护其SOAP消息传递的安全就是保护Web服务安全中一个重要的内
1
基于.Net WSE 的Web 服务消息安全实现
容[3]。通过使用WSE,使SOAP消息可以自己验证其完整性,并可利用规范中的机
制进行签名和加密。
在2005年底微软推出了Visual Studio2005版本,其中WSE推出了3.0版本,并
直接构建到Visual Studio 2005中,作为Web服务的安全性开发工具,WSE (1.0和
2.0)推出的主要目的是提供一种实际可行的设计方法,来实现WS-Security规范,
而3.0版本的目的是因为Web服务已应用到许多开发领域,它必须扩充Visual
Studio中现有的Web服务支持,解决、简化开发人员所面临的问题。和WSE2.0一样
WSE3.0可以允许开发者使用配制文件来定义需求,这些需求包含接收和发送消息
的安全约束,这些配置文件包含了一系列命名的策略,每一个策略定义了一系列
的SOAP消息交换的安全需求;WSE3.0可以把安全代码和程序代码分开来,简化
了WSE之前的安全模型。
与以往的Web安全技术对SOAP消息中的XML数据直接加密或者签名所不同,
WSE3.0是通过创建安全策略断言来实现对SOAP消息的安全处理,这种安全策略
断言又是通过WSE的策略框架实现的。
但是WSE在默认的情况下是对SOAP消息的整个Body进行加密和签名,当
Body信息量较大时,无论在Web服务请求端还是提供端,对整个SOAP消息的
Body加密和签名都需要复杂计算,这就会影响服务性能和响应速度;并且在
SOAP消息传输的过程中,会通过一个或多个中介体,有一些机密信息可能只想
让其中一个中介体进行修改或者查看,并不需要所有的中介体进行查看或修改,
这样如果对SOAP消息Body中的信息全都加密,就不符合需求。而对SOAP消息中
的部分机密信息元素进行加密和签名时,WSE没有提供相应的安全策略断言。本
文介绍了利用WSE3.0的策略断言对SOAP消息进行部分签名和加密来保护Web服
务安全的方法,实现了Web服务安全的灵活处理,提高了Web服务的安全性。
§ 1.2 国内外的研究现状
针对Web服务的安全问题,W3C(World Wide Web Consortium,万维网联盟)、
OASIS(Organization for the Advancement of Structured Information Standards)、WS-
I(Web Services Interaction Interoperability Organization)、JCP(Java Community Process)
等组织致力于Web服务安全规范、路线和工具的研究。
Web服务的关键技术都是以XML为基础的,因此XML的安全技术对于保证
Web服务安全有重要意义。目前的安全规范中,与XML相关的主要有:XML签名
和XML加密[4]。由IETF和W3C共同组建的XML Signature工作组在2001年8月20日
公布了XML数字签名的推荐版本,作为数字签名的规范推出。W3C在2002年结束
时宣布通过了关于XML语言的两项加密规范,在Web服务安全建设道路上又迈出
了一大步。XML签名和加密本身并不是一项Web服务安全技术,但却是许多Web服
务安全技术的基础构件。XML签名用于确保XML文件内容的完整性。XML加密为
需要结构化数据安全交换的应用程序提供了一种端到端安全性。使用XML加密,
可以加密交换数据的一部分,进行多方(不止两方)之间的安全会话。
为了加强Web服务的安全性,IBM和Microsoft公司于2002年4月发布了Security
in a Web Services World: A Proposed Architecture and Roadmap[5]的发展规划,描述
了Web服务环境的安全发展策略。根据这个发展规划,将开发一系列的Web月及务
2
摘要:
展开>>
收起<<
摘要Web服务的安全性问题是一个非常复杂的问题,目前与Web服务安全有关的规范主要有WS-Security和WS-Policy等;但是这些安全规范只是提出了安全模型的框架;因此,微软提出了WSE3.0(WebServicesEnhancements)开发工具可以支持Web服务安全技术来保护Web服务的访问。Web服务请求所发送的SOAP消息需要经过一个或者多个中间节点接收并处理,然而不是所有的SOAP消息都需要中间节点去处理的,有些元素甚至可能对中间节点保密。因此,本文在分析了WS-Security规范与.NETWSE3.0工具之后,提出了用自定义策略断言实现SOAP消息中部分元素签名和加密的...
相关推荐
作者:高德中
分类:高等教育资料
价格:15积分
属性:57 页
大小:813.57KB
格式:DOC
时间:2024-11-19