您的位置:首页 > 编程语言 > Java开发

Web Service安全机制探讨-Java基础-Java-编程开发

2008-05-20 04:55 796 查看
google_ad_client = "pub-8800625213955058";

/* 336x280, 创建于 07-11-21 */

google_ad_slot = "0989131976";

google_ad_width = 336;

google_ad_height = 280;

//

  随着 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密钥管理服务(XML Key Management Services,简称XKMS)的备忘录,帮助分发及管理在端点之间进行安全通信所需的密钥。

  端点验证及授权

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

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

  安全性服务描述

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

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

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

  XML相关标准化团体"Organization for the Advancement of Structured Information Standards(OASIS)"的加盟企业成立了制定Web服务安全标准"Web Services Security(WS-Security)"的技术委员会"Web Services Security Technical Committee(WS-Security TC)"。这是OASIS于美国当地时间2002年7月23日宣布的。

  WS-Security标准的目的是确保Web服务应用软件处理数据的完整性及保密性,规定了Web服务协议SOAP的扩展及消息头(Message Header)。这是由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 服务扩展和更高级的特定于应用程序的协议联合使用,以适应多种安全性模型和加密技术。这些机制可以独立使用(例如传送安全性令牌),或以紧密集成的方式使用(例如,对消息签名和加密,并提供与用于签名和加密的密钥相关的安全性令牌层次结构)。
1、WS-Security及有关的规范

  下面介绍一个能够满足真实企业的Web服务安全性需要的基于标准的体系架构。IBM、Microsoft和Verisign联手制定了有关Web服务安全性的计划和指南,用来开发一组提供保护Web服务安全性的规范。这个安全性模型把不同的安全性技术,比如公用密钥基础架构、Kerberos等集中在一起,以保证能够在现有的系统环境中构建安全的Web服务。通过利用Web服务模型核心处的自然可扩展性,这些规范建立在一些基础技术的基础之上,如SOAP、WSDL、XML数字签名(XML Digital Signature)、XML加密(XML Encryption)和SSL技术。这允许Web服务提供者和请求者开发满足他们应用程序的个别安全性需求的解决方案。这是一个由IBM、Microsoft和Verisign提议的WS-Security规范定义,用于保护消息完整性和机密性的核心工具,以及用于把有关安全性的声明与消息关联起来的机制。

  目前,SSL、Transport Layer Security(TLS)和IPSec被用于为Web服务应用程序提供传输级别的安全性。它们的安全性功能包括认证、数据完整性和数据机密性,保证点对点Web服务安全性。Web服务应用程序是个多跳(Multi-Hop)拓扑,依赖于消息处理中介体转发消息。当传输层之外的中介体接收并转发数据时,数据的完整性和任何随数据流动的安全性信息都可能失去。所以,全面的Web服务安全性体系架构必须是一个提供端到端安全性的机制。

[1]

[2]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: