Web Service安全机制探讨

随着Web服务由技术概念到实践应用的不断发展,种种迹象表明Web服务将是未来应用架构的一个极为重要的模式。当Web服务用于试验计划和大规模生产时,拥有一种松散耦合的、与语言和平台无关的、在组织内跨企业、跨因特网链接应用程序的方法的好处正变得愈发明显。我们的客户、业界分析家和新闻界确定了当Web服务日益成为主流时要解决的关键问题:安全性。这篇文章就是讨论如何选择并实现基于标准的安全体系架构,满足真实企业的Web服务安全需要。

Web服务体系架构的关键是能够交付集成的、可互操作的解决方案。通过应用这个安全模型,确保Web服务的完整性、机密性和安全性,这对软件商和它们的客户来说都至关重要。将会出台的Web服务基本的安全规范包括:

用于整合的Web服务描述语言、用于认证和授权的安全性声明标记语言、用于渠道保密的安全槽层(SSL)、用于高度机密的XML加密标准和用于高级授权的XML数字签名。此外,其他几项规范也会陆续出台,包括:

Web服务安全性规范(包括XML-加密和XML-数字签名)、XML密钥管理规范和用于授权的可扩展访问控制标记语言规范等等。

为Web服务提供安全功能和组件的模型需要把现有的流程和技术与将来的应用程序的安全性需求集成起来。统一的安全技术就必须把应用程序对安全的需求从特定的机制中抽象出来。目的是让开发者能够容易地使用异类系统建立可互操作的安全解决方案。成功的Web服务安全方法需要一组灵活的、可互操作的基本元素,通过策略和配置,这些安全性基本元素可以使多种安全解决方案成为可行的方案。可行的Web服务安全性机制需要满足和包括下列组件的要求:

网络安全性

支持如SSL等提供机密性和完整性的安全传输机制。

XML消息安全性

1)XML数字签名,以便接收方可以证明消息发送方的身份。

2)XML加密,提供数据元素的机密性使能够验证交换。W3C发布XML密钥管理服务(XMLKeyManagementServices,简称XKMS)的备忘录,帮助分发及管理在端点之间进行安全通信所需的密钥。

端点验证及授权

1)支持在企业之间交换信息的合同中定义哪些雇员可以使用哪些服务。中介体负责审计和服务原始性证明。

2)支持网络内部的、可信任的第三方验证服务,例如Kerberos。

安全性服务描述

1)描述是否支持数字签名、加密、验证和授权以及如何支持它们。Web服务请求者使用服务描述的安全性元素,来查找符合政策要求及其安全性方法的服务端点。

2)OASIS成立了一个技术委员会来定义授权和验证断言(AuthorizationandAuthenticationAssertions,简称SAML),帮助端点接受和决断访问控制权。

3)OASIS同时成立了另一个技术委员会来标准化访问控制权的表达(eXtensibleAccessControlMarkupLanguage,简称XACML),帮助端点能够以一致的方式解析SAML断言。

XML相关标准化团体"OrganizationfortheAdvancementofStructuredInformationStandards(OASIS)"的加盟企业成立了制定Web服务安全标准"WebServicesSecurity(WS-Security)"的技术委员会"WebServicesSecurityTechnicalCommittee(WS-SecurityTC)"。这是OASIS于美国当地时间2002年7月23日宣布的。

WS-Security标准的目的是确保Web服务应用软件处理数据的完整性及保密性,规定了Web服务协议SOAP的扩展及消息头(MessageHeader)。这是由IBM、微软和VeriSign共同研究制定的。WS-Security融合了多种安全模式、结构和技术,是面向Web服务的标准规格之一。各种系统可以通过平台及不依赖语言的方法确保相互兼容。

WS-Security描述通过消息完整性、消息机密性和单独消息认证提供保护质量对SOAP消息传递的增强。这些机制可以用于提供多种安全性模型和加密技术。WS-Security还提供关联安全性令牌和消息的通用机制。WS-Security不需要特定类型的安全性令牌。它在设计上就是可扩展的(例如支持多安全性令牌格式)。举例来说,客户机可能会提供身份证明和他们有特定商业认证的证明。

另外,WS-Security还描述如何对二进制安全性令牌编码。此规范特别描述如何对X.509证书和Kerberos票据编码以及如何加入难于理解的加密密钥。它还包括可以用于进一步描述消息中包含的凭证特征的扩展性机制。

WS-Security很灵活,它被设计成用来构建多种安全性模型(包括PKI、Kerberos和SSL)的基础。WS-Security特别为多安全性令牌、多信任域、多签名格式和多加密技术提供支持。规范提供了三种主要的机制:安全性令牌传播、消息完整性和消息机密性。这些机制本身并不提供完整的安全性解决方案。相反,WS-Security是一种构件,它可以与其它Web服务扩展和更高级的特定于应用程序的协议联合使用,以适应多种安全性模型和加密技术。这些机制可以独立使用(例如传送安全性令牌),或以紧密集成的方式使用(例如,对消息签名和加密,并提供与用于签名和加密的密钥相关的安全性令牌层次结构)。

时间: 2024-11-17 04:02:39

Web Service安全机制探讨的相关文章

IBM SmartCloud Entry基于Restlet的Web Service安全机制

本文将简要介绍 IBM SmartCloud Entry 自带的两种 Web Service 安全机制,以及如何在各种客户端编程通过这些安全机制的认证. 环境准备 一个运行的 IBM SmartCloud Entry 系统 Eclipse 3.6 或者更高版本 开始之前 在正式开始之前,先对本文将用到的一些名词做基本的解释. Restlet:诞生于 2005 年,是一个针对 Java 语言开发人员的开源项目.Restlet 旨在以一种简单的方式,向开发人员提供各个应用场景下实现 REST Web

IBM SmartCloud Entry 的 Web services 安全机制揭秘

环境准备 一个运行的 IBM SmartCloud Entry 系统 Eclipse 3.6 或者更高版本 基于 Restlet 的 Web Service 安全机制 开始之前 在正式开始之前,先对本文将用 到的一些名词做基本的解释. Restlet:诞生于 2005 年,是一个针对 Java 语言开发人员的开源项目.Restlet 旨在 以一种简单的方式,向开发人员提供各个应用场景下实现 REST WebService 的方法.目前 Restlet 的最新稳定版本是 2.1.1,本文的所有内容

在 .NET 中使用 WEB SERVICE 的CallBacks机制 (5)

web 3. Web Form对于WebService"A"我们使用的浏览器作为客户端. 每个 Web Methods有自己的按钮触发事件,在栈(Stack)中来保存Session类的状态. 页面的更新基于下面的机制:事件处理程序把数据压到Session栈,在Page_Load时提取出来并且插入到ListBox control中.另一个议题是以异步方式调用DoSomeWorkA方法,它可以产生和处理callback,这就是我们为什么能送另一个请求给WebService"A&q

C#利用Web Service实现短信发送

web 通过编程方式实现短信息的发送对很多人来说是一件比较烦杂的事情,目前一般的解决方法是通过计算机和手机的连线,通过可对手机编程的语言编写相关的手机短信息程序来实现,而这种方法对于一般人来说是很难达到的,因为此种方法不仅要有很多必备的硬件设备,也还需懂得手机编程的相关知识.本文就来探讨一下另外一种通过Visual C#发送短信息的简单实现方法,这种方法在实现过程中比我们想象的要简单许多,只需拥有Visual C#一般编程基础,并确定您的计算机接入互联网即可.下面就来详细介绍一下Visual C

可靠的 XML Web Service (1)

web|xml 可靠的 XML Web Service Eric SchmidtMicrosoft Corporation,XML Core Services 组,项目经理 2001 年 12 月 11 日 下载此专栏的示例代码. 注意:要下载与本文相关的代码,您需要:Visual Studio .NET Release Candidate(英文) SQL Server 2000(英文) 在 PDC 上,我谈论了有关可靠的 XML Web Service(Web 服务)的话题,这个话题源于过去一

架构Web Service:什么是Web服务?

web|web服务|架构 本文是架构Web服务的系列文章的第二篇,从Web服务的技术定义开始,来探讨什么是Web服务.首先,作者从技术角度详细分析了Web服务作为Internet环境下的软件组件的基本角色,从这个基本角色开始,详细介绍了这个组件对象的包装规范Web Service "stack",并对Web服务的应用做了分类,最后借助Garnter Group的材料考察了Web服务的当前发展状况.在本系列的上一篇文章中,我就为什么需要Web服务,从商业利益需求的角度进行了分析.本文将结

Java RESTful Web Service实战(第2版)

Java核心技术系列 Java RESTful Web Service实战 (第2版) 韩陆 著 图书在版编目(CIP)数据 Java RESTful Web Service实战 / 韩陆著. -2版. -北京:机械工业出版社,2016.7 (Java核心技术系列) ISBN 978-7-111-54213-1 Ⅰ. J-   Ⅱ. 韩-   Ⅲ. JAVA语言-程序设计   Ⅳ. TP312 中国版本图书馆CIP数据核字(2016)第156331号 Java RESTful Web Servi

《SOA Web Service合约设计与版本化》目录—导读

版权声明 SOA Web Service合约设计与版本化 Authorized translation from the English language edition, entitled Web Service Contract Design and Versioning for SOA, 978-0136135173 by Thomas Erl, Anish Karmarkar, Priscilla Walmsley, Hugo Haas, Umit Yalcinalp, Canyang

Ajax的错误处理机制探讨(2)

ajax|错误|错误处理 实际的例子:把客户端错误传递到服务器上 现在我们知道了XMLHttpRequest和JavaScript错误处理的一些基础知识了,我们来看一个同时使用了两者的实现例子.你可能认为JavaScript错误可以很简单地在流行的"黄色死亡三角"中显示出来,但是仍然有一些错误传递到了几家篮筹股公司的公共web站点的质量部门了. 因此,我将提供一个用于捕捉错误并把错误记录到服务器上的方法,这样其他人就可能修补这些问题.首先,我们考虑客户端.客户端必须提供一个类,它被用作