我能想到的唯一原因是需要额外的安全层,因为 Web 服务运行在应用层协议(protocol)之上。这是否意味着需要额外的安全层?
最佳答案
许多刚接触 Web 服务的人将 SOAP 视为通过 HTTP 在两个端点之间交换消息的一种方式。通过 HTTP,可以对调用者进行身份验证、对消息进行签名并对消息的内容进行加密。这使得消息在几个方面是安全的:调用者是已知的,消息的接收者可以验证消息在传输过程中没有改变,并且监视有线流量的实体无法弄清楚正在交换什么数据。然而,对于那些希望通过 SOAP 消息传递来解决更大问题的人来说,仅基于 HTTP 的安全性是不够的。许多更大的问题涉及沿着比请求/响应更复杂的路径发送消息,或者通过不涉及 HTTP 的传输方式发送消息。消息和调用者的身份、完整性和安全性需要在多个跃点上得到保护。沿途可能会使用一个以上的加密 key 。将跨越信任域。 HTTP 及其安全机制仅解决点对点安全问题。更复杂的解决方案需要端到端的安全性。WS-Security 解决了如何在多点消息路径上维护安全上下文的问题。
关于ssl - 为什么 Web 服务使用 WS-Security 而不是使用传输层安全性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17116967/