【发布时间】:2011-01-10 09:18:41
【问题描述】:
我有一个 WCF 服务,其安全配置如下。
<security mode="Transport">
<transport clientCredentialType="Windows" protectionLevel="EncryptAndSign"/>
</security>
这对我来说很安全,但谁能告诉我有多安全?这是保护我的服务的好方法吗?是否有任何我应该知道的漏洞?
【问题讨论】:
我有一个 WCF 服务,其安全配置如下。
<security mode="Transport">
<transport clientCredentialType="Windows" protectionLevel="EncryptAndSign"/>
</security>
这对我来说很安全,但谁能告诉我有多安全?这是保护我的服务的好方法吗?是否有任何我应该知道的漏洞?
【问题讨论】:
WCF 中实现传输安全的主要机制有两种:传输安全模式和消息安全模式。
传输安全模式使用传输层协议,例如 HTTPS,来实现传输安全。传输模式的优点是被广泛采用,可在许多平台上使用,并且计算复杂度较低。但是,它的缺点是只能从点对点保护消息。
另一方面,消息安全模式使用 WS-Security(和其他规范)来实现传输安全。由于消息安全性直接应用于 SOAP 消息并包含在 SOAP 信封中,与应用程序数据一起,它具有独立于传输协议、更具可扩展性和确保端到端安全性(相对于点对点);它的缺点是比传输安全模式慢几倍,因为它必须处理 SOAP 消息的 XML 特性。 第三种安全模式使用了之前的两种模式,并带来了两者的优点。此模式称为 TransportWithMessageCredential。在这种模式下,消息安全用于验证客户端,传输安全用于验证服务器并提供消息的机密性和完整性。由于这一点,TransportWithMessageCredential 安全模式几乎与传输安全模式一样快,并以与消息安全相同的方式提供客户端身份验证可扩展性。但是,与消息安全模式不同,它不提供完整的端到端安全性。
【讨论】: