使用Windows身份验证和TCP连接的WCF有多安全

时间:2011-01-10 09:18:41

标签: .net wcf security

我有一个WCF服务,其安全配置如下。

<security mode="Transport">
     <transport clientCredentialType="Windows" protectionLevel="EncryptAndSign"/>
</security>

这对我来说非常安全,但有人能告诉我有多安全吗?这是保护我服务的好方法吗?我应该知道哪些漏洞?

1 个答案:

答案 0 :(得分:2)

两种主要机制用于在WCF中实现传输安全性:传输安全模式和消息安全模式。

传输安全模式使用传输级协议(如HTTPS)来实现传输安全性。传输模式具有被广泛采用的优点,可在许多平台上使用,并且计算复杂度较低。但是,它的缺点是只能从点到点保护消息。

另一方面,消息安全模式使用WS-Security(和其他规范)来实现传输安全性。由于消息安全性直接应用于SOAP消息并且包含在SOAP信封中,与应用程序数据一起,因此具有独立于传输协议,更具可扩展性以及确保端到端安全性的优势(相对于点) -to-点);它的缺点是比传输安全模式慢几倍,因为它必须处理SOAP消息的XML特性。 第三种安全模式使用前两种模式并带来两者的优点。此模式称为TransportWithMessageCredential。在此模式下,消息安全性用于对客户端进行身份验证,传输安全性用于对服务器进行身份验证并提供消息机密性和完整性。由于这一点,TransportWithMessageCredential安全模式几乎与传输安全模式一样快,并以与消息安全性相同的方式提供客户端身份验证可扩展性。但是,与消息安全模式不同,它不提供完整的端到端安全性。