WCF双向HTTP绑定消息安全性

4
当使用WSDUALHTTPBINDING与消息安全性时,建议同时使用传输安全性[即SSL]吗?也许这取决于具体情况。在我的情况下,客户端和服务端都位于内部网络中。如果服务位于Internet上的Web服务器上,答案会有所不同吗?
现在我知道wsduallhttpbinding不支持传输安全性,那么消息安全性是否安全,或者我应该使用另一种支持我的场景下使用SSL的绑定?
3个回答

4
wsDualHttpBinding 不支持传输级别的安全性,这意味着无法使用 SSL/TLS 加密。以下参考资料证实了 wsDualHttpBinding 绑定不支持传输安全选项: MSDN: WSDualHttpSecurityMode 枚举只有两个选项:MessageNonehttp://msdn.microsoft.com/en-us/library/ms731363(v=vs.110).aspx
http://msdn.microsoft.com/en-us/library/system.servicemodel.wsdualhttpsecuritymode(v=vs.110).aspx 注意:我也检查了 Microsoft® Service Configuration Editor(如下图)以验证选项。 enter image description here 以下在线资源提供了良好的背景信息: http://wcfsecurityguide.codeplex.com/ 注意:场景内网与互联网 Web 服务对答案没有影响,因为无论哪种方式,所提出的配置都将是无效的。因此,除非更改绑定,否则没有 SSL。
敬礼,

3

正如在这里所解释的那样,wsDualHttpBinding不支持传输安全:http://msdn.microsoft.com/en-us/library/ff648589.aspx

绑定限制:传输安全与wsDualHttpBinding不兼容。

您可以依赖于消息安全性。它使用WS-Security来保护每个消息。

更新: 正如我所说,您可以依赖于消息安全,它提供端到端的安全。您可以在此处找到详细的说明:http://msdn.microsoft.com/en-us/library/ff648863.aspx

消息安全的缺点主要是它速度较慢,因为需要加密每个消息,但不用担心,它足够安全,您不需要更改绑定。


2

根据原问题:

当使用带有消息安全性的WSDUALHTTPBINDING时,是否建议同时使用传输安全性[即SSL]?

如上所述,WSDualHttpBinding不支持在Transport层面上提供安全性。因此,原问题有点无从下手。

根据问题更新:

现在我知道wsduallhttpbinding不支持传输安全性,那么消息安全性是否同样安全,或者我应该使用另一个支持我的情况下ssl的绑定?

Message级别的安全性实际上更加优越,因为它提供了端到端的安全性。而Transport级别的安全性仅提供点对点的安全性。

消息安全直接加密和签名消息,因此即使通过中间系统路由消息也不会破坏安全性。您还会得到额外的好处,即消息安全是与传输协议无关的,因此可以与任何传输协议一起使用。

MSDN实际上建议在Internet场景下使用消息安全性:

在以下情况下,请使用消息安全性:

  • 您要向WCF服务发送消息,并且消息可能会转发到其他WCF服务或通过中间系统路由。
  • 您的WCF客户端通过Internet访问WCF服务,而消息可能会通过中间系统路由。

这篇MSDN上的消息和传输安全性文章将对您非常有帮助。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接