通过WSE的策略框架实现WEB怎么写作安全

更新时间:2024-03-08 作者:用户投稿原创标记本站原创 点赞:6806 浏览:23111

摘 要 :Web Services Enhancements(WSE)策略框架提供了一种机制,以描述Web怎么写作需要执行的约束和要求.文章将介绍WSE中策略框架的工作方式,讨论WSE3.0支持的安全方案.

关 键 词 :WSE;策略框架;Web怎么写作;安全

中图分类号:TP393文献标识码:A文章编号:1009-3044(2007)18-31542-01

Secure Web Services Through The Policy Framework In WSE

HUA Hui,CHEN Jia-hong

(Jinling Institute of Technology,Nanjing 210001,China)

Abstract:The Web Services Enhancements(WSE) policy framework provides a mechani to describe the constraints and requirements that need to be enforced for a Web service. In this paper, I will describe how the policy framework works in WSE. and discuss security scenarios supported by WSE 3.0.

Key words:WSE,Policy Framework,Web services,Security

1.引言

Web怎么写作是通过HTTP执行远程方法调用的一种新方法,是分布式计算的重要标准,也是未来软件开发的技术趋势.通过Web怎么写作,应用软件之间可以实现跨平台、跨编程语言的联接和互操作.Web 怎么写作基于一套描述软件通信语法和语义的核心标准,其中,XML 提供表示数据的通用语法;简单对象访问协议 (SOAP) 提供数据交换的语义;Web 怎么写作描述语言 (WSDL) 提供描述 Web 怎么写作功能的机制.其他规范统称为 WS-* 体系结构,其中的WS-Security 规范用于定义Web 怎么写作安全性方面的功能.SOAP是基于XML的 Web怎么写作的通信协议,定义了机器间通信的消息传送格式,SOAP消息采用 XML 格式,在Web怎么写作提供者和消费者之间传送的消息就是SOAP消息.Web怎么写作基于消息的体系结构和跨越信任边界的异构环境需要我们处理消息级的安全问题,以支持跨平台的互用性和通过多个中间节点进行路由.在默认情况下,SOAP消息以明文方式传递.因此保护SOAP 消息的安全就保护了Web怎么写作消息级的安全.

为了构建安全的Web 怎么写作,需要了解相关的威胁.如今,针对 Web 怎么写作的最大威胁主要有:未授权访问、参数操作、网络、配置数据泄漏和消息重放.因此,在设计Web怎么写作时,我们需要重点考虑的安全性要求有:身份验证要求、私密性和完整性要求、资源访问标识和代码访问安全.

Microsoft 发布了Web 怎么写作安全性开发工具包(Web Services Enhancements) 的3. 0 版(WSE 3. 0) ,主要目的就是为开发人员提供用来开发符合WS - Security 规范的消息级安全性的解决方案.因此,本文主要阐述如何使用WSE3.0的策略框架中提供的安全断言,实现上述安全性要求中的消息私密性、完整性和身份验证.


2.WSE策略框架

WSE 策略框架描述了Web 怎么写作进行通信的约束和要求.在Web怎么写作的客户端和怎么写作之间交换任何消息之前,策略的一个实例被转换成运行时组件,这个过程称为策略编译.这些组件在消息发送方和接收方应用和执行策略中的要求.

一个策略包含一个有序的策略断言列表.每个策略断言定义一个对 Web 怎么写作的要求.由每个策略断言生成的筛选器负责对进入和离开终结点的SOAP 消息进行截获和处理,来执行对Web 怎么写作的要求.策略断言生成筛选器遵循策略中断言的顺序,而管线表示了这个输入筛选器和输出筛选器的集合.图1显示了策略编译在管线中按照SOAP筛选器的顺序表示成策略断言的要求和顺序.

图1 通过SOAP筛选器的断言实现的策略

3.策略的定义和应用

WSE中,策略的定义方式有两种:在代码中定义和在外部XML文件中定义.在代码中定义策略时,可以完全控制对使用怎么写作时需要满足的要求的定义.但是,应用程序发布之后,我们就不能再更改这些策略定义了.

相反,当策略要求不能固定时,我们就可以在外部XML文件中声明策略.这样,我们就可以在代码中只提供应用程序的逻辑,策略的要求可以随时改变,因此实现了程序逻辑和策略的相互独立.这种方式具有更大的灵活性,本文即采用这种方式来定义一个策略,在XML文件wseolicy.config中有这样的定义:

为了将定义好的策略应用于web怎么写作或怎么写作写作技巧,我们首先需要在该应用程序的配置文件中提供包含策略声明的XML文件的名称,如下所示:

[WebServiceBinding(ConformsTo 等于 WsiProfiles.BasicProfile1_1)]

[Policy("ServerPolicy")]

public class Service : System.Web.Services.WebService

{public Service () {

[WebMethod]

public string HelloWorld() {

return "Hello World",}}

如果我们要将策略应用于客户端上的怎么写作写作技巧,我们可以调用怎么写作写作技巧上的SetPolicy方法,如下所示:

ServiceWse sw 等于 new ServiceWse(),

sw.SetPolicy("ClientPolicy"),

由上可以看出,怎么写作端和客户端使用了不同的策略,同时,他们的策略应用的方式也存在差别.

4.安全断言

在WSE提供了六种安全断言,每一个安全断言就是一组预先定义好的安全操作所组成的安全策略,每个策略均设法提供验证、消息完整性和保密性,但每个策略实现这些安全目标的方式不同.下面阐述每个安全断言的应用情景:


本文为全文原貌 未安装PDF浏览器用户请先下载安装 原版全文4.1 AnonymousForCertificateAssertion安全断言

该安全断言只针对web怎么写作使用X.509证书对其自身进行到客户端的验证,对客户端不验证.例如,我们在网上书店购写某本书时,怎么写作端对书的等信息进行了签名和加密,怎么写作端就不可以对书的等信息抵赖.但是,由于书店的客户很多,不可能对每个客户逐一验证,此时就可以把信用卡等信息的验证责任转给银行来完成.

4.2 MutualCertificate10Assertion安全断言和MutualCertificate11Assertion安全断言

在企业对企业的Web怎么写作中,客户和怎么写作器都好控制,客户和怎么写作器都可以分配有证书,这时,就可以选择MutualCertificate10Assertion或MutualCertificate11Assertion安全断言.这两种断言逻辑上很相似,但第一种依赖于WS-Security 1.0规范,第二种则使用较新的WS-Security 1.1规范.

4.3 UsernameForCertificateAssertion安全断言和UsernameOverTransportAssertion安全断言

虽然使用证书对客户端进行验证很方便,但会带来维护公钥基础结构(PKI)的成本.所以,所以,我们一般会使用简单的用户名和对客户端进行验证.UsernameForCertificateAssertion和UsernameOverTransportAssertion支持此类验证.它们之间的区别是:UsernameOverTransportAssertion要依赖安全的传输协议(如HTTPS)来提供完整性、保密性和怎么写作器身份验证保证.但是,当消息需要在不可控的中间结点路由并且要进行端到端的验证时,基于点对点的安全传输机制(如SSL、IPSec)不再适用,此时我们就可以使用UsernameForCertificateAssertion.在使用UsernameForCertificateAssertion时,怎么写作端使用X.509证书进行验证,客户端则使用用户名令牌(UsernameToken)进行验证.

4.4 KerberosAssertion安全断言

当客户端和怎么写作端位于同一个支持Kerberos票证的Intra中时(例如,它们加入到同一个Windows信任域),就可以使用KerberosAssertion进行身份验证.

5.结束语

面向怎么写作的软件开发方法正在成为软件开发中的重要方法.Web 怎么写作的安全问题一直是阻碍Web 怎么写作发展的主要问题.通过使用WSE3.0的策略框架,我们就可以方便快捷的构建安全的Web怎么写作.