标题: 保护 Web 服务 [打印本页] 作者: 无悔 时间: 2004-4-4 11:43 标题: 保护 Web 服务
介绍
现在,当以电子方式处理业务的企业试图把它们的流程和它们的伙伴、客户和供应商的流程集成在一起的时候,它们面临着各种各样的风险。诸如 SOAP、WSDL 和 UDDI 之类的 Web 服务核心技术能够使连接应用程序所必需的集成基础架构简化(streamline)和标准化,尽管这种能力至关重要,但它们并不直接提供保护企业资产所必需的安全性机制。IBM、Microsoft 和 VeriSign 认识到了这一点,它们已经联合起来致力于解决客户和业界通常所关心的问题,为 Web 服务开发一个全面的安全性模型。
由于正在开发的创新的指南是以 Web 服务基础架构为基础的,它第一次能够将以前不能互操作的各种安全性技术(例如,公共密钥基础架构(PKI)、Kerberos 和其它技术)集合在一起,为客户提供了构建安全的 Web 服务的实用的、现实的方法。
本文的目的是介绍所提议的安全性模块的基本原理并阐明它的优点。为实现这个目的,我们将探讨几个能说明模型的设计与使用的业务案例。我们将通过把指南中罗列的规范应用到虚构的但却普遍的业务问题上来阐明这些情况。
SOAP
一种被提议的标准格式,用于在应用程序之间使用标准的因特网技术交换业务消息。
WSDL
一种被提议的标准格式,用于描述 Web 服务的功能和要求。
UDDI
一个规范的集合,它阐明了 Web 服务在因特网上和私有业务关系内是如何被分类以及被发现的。
PKI
一个流行的网络安全性体系结构,它提供了基于加密派生的密钥的高级别的保护,该密钥用以声明人们的身份并检测未授权的篡改。
Kerberos
麻省理工学院(Massachusetts Institute of Technology,MIT)开发的一个流行的网络认证协议。
X.509 证书
用在 PKI 基础架构中一种标准令牌类型,以声明访问者的身份。
Kerberos 票据
用在 Kerberos 环境中的一种令牌类型,用以声明人们访问指定资源的身份和授权。
挑战
我们的许多客户已经指出,至少在早期阶段,Web 服务技术将主要以有助于简化它们的内部业务流程的方式实现 — 例如,把业务流程、供应链以及客户关系集成在一起,并使它们自动化。虽然客户实现这些解决方案时本来需要解决很多问题,但出现最频繁的是安全性方面的问题。当一家公司希望用因特网作为通信通道把它的业务系统和伙伴的业务系统集成在一起时,这两家公司怎样才能确信它们的信息得到了适当的保护呢?
Acme Parts 公司是一家虚构的汽车零件制造商,它已经开始向完全集成的电子商务基础架构转换。它们已经设计并实现了基于工作流的电子采购和供应链自动化系统,该系统将它们和它们的供应商及客户直接联系在一起。Acme Parts 认识到投资上的良好收益后,已经将注意力转移到简化它们的管理流程上了,首先从人力资源部门开始。
We-R-HR.com 是一家 HR(人力资源)管理公司,它提供了一整套供外包的 HR 管理解决方案。We-R-HR.com 提供的产品包括各种工资单、津贴、在线教育(e-learning)和业绩跟踪应用程序,每一项都作为 Web 服务向客户公开。
We-R-HR.com 推出这个基于费用的(feebased)服务的集合所采用的方法遵循一个自助服务(self-service)模式,该模式允许 Acme Parts 公司将 We-R-HR.com 的功能直接集成到它们公司内部网的门户中。图 1 阐明了 Acme Parts 公司选用的解决方案的高级拓扑结构。
图 1. Acme Parts Co. 的 HR 解决方案高级拓扑结构
在这个视图中,我们注意到 Acme Parts 和 We-R-HR 都必须解决的许多关键问题。
由于雇员数据的高度敏感特性,Acme Parts 要求 We-R-HR.com 实现一个严格的安全性策略和隐私权策略,确保只允许那些在 Acme Parts Co. 的内部网内操作的 Acme Parts Co. 的雇员、经理和行政人员通过 We-R-HR.com 服务访问 Acme Parts 雇员数据,并且确保仅在安全的网络通道上交换信息。
Acme Parts Co. 已经决定所有的 Employee HR 数据都必须存储在 Acme Parts 防火墙后面,而不是将它们现有的旧雇员 HR 数据库迁移到 We-RHR.com(并且保持对数据较紧密的控制),同时要求赋予 We-RHR.com 应用程序穿过防火墙访问必要信息的访问权。按照合同,不允许 We-R-HR.com 持续存储任何 Acme 雇员的信息。
Acme Parts 和 We-R-HR.com 各自实现不同的安全性模型和信任模型。Acme 依靠基于 PKI 的基础架构,We-R-HR.com 使用基于 MIT Kerberos 规范的 Kerberos 系统。只有当请求者持有有效的 We-R-HR.com Kerberos 票据时,他才能访问 We-R-HR.com 的 HR 服务。只有当请求者持有有效的 Acme Parts X.509 证书时,他才能访问 Acme 的雇员数据库。
实现这个解决方案的关键问题很清楚:当雇员信息在两家公司之间来回交换时,如何保证雇员信息的安全性、完整性和机密性以及如何赋予每个公司适当的访问权,以使 HR 外部引进具有商业意义。在这个上下文中,“完整性”意味着我们能更好地检测出数据在途中是否已经被篡改或损坏。通过应用正被提议的 Web 服务安全性模型的原则,解决方案也变得明朗起来。
解决方案
Web 服务安全性模型引入了一个由各个相互联系的规范组成的集合,这些规范描述了把安全性功能程序放到 Web 服务环境中的方法。体系结构被设计成允许对规范进行混合匹配,使实现者能够仅部署他们需要的那部分。这些规范中的第一个 — Web 服务安全性(Web Services Security)(或称 WS-Security)文档 — 提供了把消息完整性和机密性功能程序添加到 Web 服务中所必需的基本元素,并且提供把安全性令牌(例如,数字证书和 Kerberos 票据)关联到 SOAP 消息的方法。WS-Security 为正提议的 Web 服务安全性模型打下了基础。随着时间的推移,除安全性外,还将引入其它规范来解决安全性策略、信任、隐私权和授权。
图 2. Web 服务安全性指南
有望成为 Web 服务安全性模型的部分内容的规范有:
WS-Security:该规范定义了如何将元素添加到一条 SOAP 消息,这条 SOAP 消息有助于保护在企业应用程序之间交换的消息的完整性和机密性,并且提供了将发送者身份和消息关联在一起的方法。
WS-Policy:该规范描述了决定企业应用程序必须如何与另一个企业应用程序集成在一起的业务、安全性、隐私权和信任策略。
WS-Trust:该规范描述了如何在 Web 服务环境中建立企业之间的信任关系。
WS-Privacy:该规范描述了如何把隐私权策略以及首选项与 Web 服务相关联。
WS-SecureConversation:描述了如何将集合消息作为更复杂的企业事务的一部分安全地交换。
WS-Federation:描述了一个模型,该模型用于把不兼容的安全性机制,或部署在不同域中的、类似的机制集成在一起。例如,如果两个 IBM 业务伙伴都实现基于 PKI 的身份基础架构,或者如果其中一个伙伴碰巧实现了 Kerberos 系统,WS-Federation 规范将提供一个关于如何应用 Web 服务技术把那些系统联系到一起的指南。
WS-Authorization:描述了如何在 Web 服务基础架构中提供应用程序授权请求和决定(例如,允许 Sally 访问 Employee 数据库)。
可能 WS-Security 体系结构最重要的优点之一就是正在通过面向动态电子商务的 IBM Web Services Toolkit 给开发者提供开始工作的工具。您可以通过 IBM alphaWorks 站点(http://alphaworks.ibm.com/tech/webservicestoolkit)获取这个工具箱的最新发行版,它包括 WS-Security 规范的安全性令牌(把用户的身份和一个 Web 服务请求相关联)以及实现数字签名(保护消息免受未授权的篡改)组件。
总结
自从两年多以前 Web 服务技术涌现在主流 IT 产业中,我们的客户和业界普遍已经表示出对于在企业环境中广泛应用 Web 服务技术的潜在安全性问题的关注。IBM 感觉到正被提议的安全性模块是解决这些问题的第一个全面的,也是最现实的方法。
IBM 将全力以赴和我们的客户、伙伴、标准组织以及一般行业一起合作来进一步发展这个体系结构。随着这项工作连续结出硕果,我们将发行技术预览,从目前可用的 IBM Web Services ToolKit 开始,这将使开发者获得使用新规范的实际经验。