Web Services 指南之:Web Services 的安全

安全对于 Web Services 来讲至关重要。但是,不管是 XML-RPC 还是 SOAP 规范都没有做任何明确的安全或认证要求。
有三个特定的与 Web Services 相关的安全问题:
  • 保密性
  • 认证
  • 网络安全

保密性

如果一个客户端发送一个 XML 请求到一台服务器,我们能否保证通信过程的保密性?
答案在这里:
  • XML-RPC 和 SOAP 主要运行于 HTTP 之上
  • HTTP 支持 SSL
  • 通信可以通过 SSL 进行加密
  • SSL 是一个久经考验并被广泛应用的技术
单个的 web service 可能会由一系列的应用组成。例如,一个大型服务可能会把三个其他应用的服务捆绑在一起。在这种情况下,SSL 是不够的;每个服务路径的节点都需要对消息进行加密,每个节点都代表一个潜在的薄弱的环节。目前为止还没有就此问题达成一个一致的解决方案,但是一个很有前景的解决方案是 W3C XML 加密标准。这一标准为整个或部分 XML 文档的加密和解密提供了一个框架。更多信息查看 http://www.w3.org/Encryption

认证

如果一个客户端连接到一个 web service,我们该如何识别用户?该用户被授权使用服务了吗?
可以考虑以下选项,但目前还没有达成一个明确的强大授权方案。
  • HTTP 包含内置基本和摘要式身份验证支持,因此服务可以像目前 HTML 文档的保护那样进行保护。
  • SOAP 数字签名(SOAP-DSIG)使用公钥来对 SOAP 消息进行数字签名。它允许客户端或服务器端验证对方的身份。更多信息参考 http://www.w3.org/TR/SOAP-dsig
  • 结构化信息标准促进组织(OASIS)目前正致力于安全断言标记语言(SAML)的研发。

网络安全

这个问题目前还没有一个轻松的答案,它一直是有一个具有争议的问题。目前,如果你真想对 SOAP 或者 XML-RPC 消息进行过滤,一个可行的办法就是去将所有 HTTP POST 请求进行过滤,将其内容类型设置为 text/xml。
另外一个选择是过滤 SOAPAction 的 HTTP 头属性。防火墙厂商们目前也在致力于用于过滤 web service 流量的工具的开发。
原文链接: http://www.tutorialspoint.com/webservices/web_services_security.htm
已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 创作都市 设计师:CSDN官方博客 返回首页