当我们谈及 XML Web Service 时,人们最关心的问题就是其安全性。 XML Web Service 安全吗? 要解决 XML Web Service 的安全性问题,我们需要考虑以下问题: 要达到什么样的目的?- 仅允许授权用户访问 XML Web Service;禁止他人未经授权擅自查看消息等。 保护连接安全 让我们先来回顾一下保护现有基础结构的各种选择,了解它们的功能。 保护基础结构的安全 详细了解潜在的环境危险(例如病毒、黑客和自然灾害)。 如果您确切知道哪些计算机需要访问您的 XML Web Service,则可以使用防火墙规则将访问限制在已知 IP 地址的计算机范围内。如果需要限制对专用网络(例如公司的 LAN/WAN)中的计算机的访问,并且不用担心将消息内容保留为秘密(加密),那么这种技术非常有用。防火墙(例如 Microsoft Internet Security and Acceleration [ISA] Server)可以提供先进的基于策略的规则,这些规则可以根据客户端的原始位置或标识,对不同的客户端提供不同的限制。当不同的客户端访问相同 XML Web Service 上的不同功能(方法)时,这种技术很有用。 安全套接字层可用于在非托管网络(例如 Internet)上建立安全连接。SSL 可以对客户端和服务器之间发送的消息进行加密和解密。通过加密数据,您可以防止消息在传送过程中被读取。SSL 先对客户端的消息进行加密,然后将其传送到服务器。服务器接收到消息后,SSL 将对其进行解密并验证消息是否来自正确的发送者(此过程称为身份验证)。服务器或者客户端和服务器可能具有证书,这些证书用作身份验证过程的一部分在连接加密的顶层提供身份验证功能。虽然 SSL 是创建安全通信的一种非常有效的方法,但应当考虑其性能成本。Microsoft XML Web Service 既支持客户端中的集成 SSL,也支持服务器中的集成 SSL。 虚拟专用网络是专用网络的扩展,它可以连接共享网络或公共网络(如 Internet)。VPN 使您可以在两台安全连接的计算机之间发送数据。VPN 与 SSL 相似,但 VPN 是一个长期的点对点连接。这使 VPN 可以高效安全地应用于 XML Web Service,但要求建立长期的连接并保持运行才能达到这种效果。 身份验证和授权 授权:完成对当事者标识的身份验证后,便可以进行授权了。服务器通过检查有关当事者的某些访问控制信息(例如访问控制列表 [ACL])来确定访问权限。客户端可能具有不同的访问级别。例如,某些客户端可以完全访问 XML Web Service;而其他客户端则只能访问某些操作。某些客户端可以完全访问所有数据,某些客户端只能访问数据的子集,而某些客户端只能进行只读访问。 在 XML Web Service 中实现身份验证的一个简单而直接的方法是,利用信息交换所使用的协议的身份验证功能。对于大多数 XML Web Service 来说,这意味着利用 HTTP 的身份验证功能。将 Microsoft Internet Information Server (IIS) 和 ISA 服务器与 Windows 2000 服务器配合使用,能为 HTTP 提供多种身份验证机制的集成支持。 基本身份验证 - 使用客户端的非安全或半安全标识,因为用户名和密码是以 base64 编码文本发送的,而该文本易于解码。如果凭据能与有效的用户帐户匹配,IIS 将授予客户端访问 XML Web Service 的权限。 在 XML Web Service 中进行身份验证的其他方法包括:使用第三方服务(例如 Microsoft? .NET Passport 中的服务),使用 Microsoft ASP.NET 的会话功能,或者创建自定义身份验证方法。 下一步:互操作性 为满足这些需要并增强 XML Web Service 的互操作性,Microsoft 及其合作伙伴正在制定一套安全规范。该规范建立于 SOAP 规范的扩展性机制之上,提供集成至 XML Web Service 结构中的增强型安全保护功能。 这套安全规范的核心是 XML Web Service 安全语言 (WS-Security),它为 SOAP 消息提供了三种增强功能:凭据传送、消息集成和消息保密。这些功能自身不能提供完整的安全保护解决方案;但 WS-Security 是一个构建块,它可以与基础结构和其他 XML Web Service 协议结合使用,以满足各种应用程序的安全保护要求。Microsoft Global XML Web Service 体系结构是 WS-Security 和相关规范的主要内容,它为 XML Web Service 基础结构的发展提供框架。 |
温馨提示:喜欢本站的话,请收藏一下本站!