2011-04-15 32 views
43

我读到有关WCF安全实现,并发现有两种类型的安全: Transport Mode and Message Mode (or both)WCF交通运输VS消息

如果我使用HTTPS的运输方式,是更多,如果我用邮件安全还安全吗?我问这是因为我明白如下:

https使用SSL协议加密消息...为什么我应该添加消息安全并加密SSL加密消息?还是我误解了东西?

回答

80

WCF的安全性实际上是consists of several features。这两者之间的区别是消息是如何签名和加密的。

传输安全性仅提供点对点通道安全性。这意味着HTTPS仅在客户端和服务器之间建立安全通道。但是,如果这台服务器只是一个负载平衡器或反向代理服务器,它可以直接访问消息的内容。

消息安全性提供端到端的信道安全性。这意味着安全性是传输数据的一部分,只有预定目标可以解密数据(负载平衡器或代理只能看到加密的消息)。在大多数情况下,邮件安全性也使用证书来提供加密和签名,但通常速度较慢,因为传输安全性可以使用硬件加速。

在高级场景中,可以组合这些方法。例如,您可以与受HTTPS保护的负载均衡器进行通信,因为您在负载均衡器之后信任内部网络,但同时您可以签署消息(消息安全性),以便证明它未被更改。

这两者之间的另一个区别是传输安全性与单一传输协议有关,而消息安全性与传输协议无关。

消息安全性基于可互操作的协议(但请注意,并非WCF中的每个配置都可以互操作)。 WCF支持至少部分这些协议:

  • 的WS-Security 1.0和1.1 - 用于加密,签名,令牌传送,时间戳等基本规则
  • 用户名标记轮廓1.0 - 用于输送用户令牌的定义名称和密码。此规范仅部分实现,因为开箱即用的WCF不支持消解的密码,并且需要使用此令牌或者使用传输或消息加密。
  • X509令牌配置文件1.1 - 用于传输证书的令牌定义。
  • Kerberos令牌配置文件1.1 - 用于传输Kerberos票据的令牌定义。
  • SAML 1.1令牌配置文件1.0和1。1 - 用于联合安全的令牌定义。 SAML 2.0由WIF提供。
  • WS-SecurityPolicy 1.1和1.2 - 为在WSDL中定义安全断言提供支持。
  • WS-SecureConversation 1.3和2005年2月 - 为安全会话提供支持,其中仅在首次调用期间交换凭证,而其余通信使用唯一安全令牌。
  • WS-Trust 1.3和2005年2月 - 为联合方案和安全令牌服务(STS)提供支持。

WCF还支持WS-I Basic Security Profile 1.0,它只是具有规定配置的以前协议的子集。

对于不可互操作的功能,WCF提供Windows安全性功能或TLSNego和SPNego(两者应该通常可互操作,但它们在许多SOAP堆栈中不可用)以进行服务凭证交换。

+4

+1 Nice summary。 – razlebe 2011-04-15 07:58:14

+0

看来你知道很多WCF,也许你可以用[this](http://stackoverflow.com/q/8273698/90424)问题来帮助我,也许它与你提到的X509令牌配置文件有关,我没有检查。 – DkAngelito 2011-11-28 14:53:36

+0

对不起,我很慢,但仍然有问题了解跳到跳安全性,如果您使用传输安全性是否意味着消息只在客户端和服务器安全?即消息在传输过程中可能被篡改? – TheWommies 2011-12-01 01:45:16

0

有些情况下,您可能无法进行传输级别加密,因此“回退”到消息级别加密,这对传输级别安全性来说安全性稍低。

这样做会更安全,当然。但是,如果您拥有良好的传输级别安全性,则会有点过大。

0

我想说,它在大多数情况下应该足够与其中一个或另一个。如果您可以使用传输级别的安全性,那么它可以加密整个通信,而不仅仅是消息内容。

5

这个link概述了使用或不使用消息安全的原因。

基本上,运输安全是首选,除非它不能使用。

来回链接的摘录:

优点和传输级别的缺点 安全

交通运输安全具有以下 优点:

不需要的 通信方了解 XML级安全性概念。这可以提高 的互操作性,例如,当HTTPS用于保护 的通信。

性能普遍提高。

硬件加速器可用。

流式传输是可能的。

交通运输安全具有以下缺点 :

只合到跳。

有限且不可延续的组合 凭证。

依赖于运输。消息级安全

信息安全具有以下 缺点

缺点:

性能

不能使用的消息流。

需要实施XML级别的 安全机制并支持 WS-Security规范。这可能会影响互操作性 。

+2

你好!有一些我不明白:你说“基本上,运输安全是首选,除非它不能使用。” - 这个声明是什么建立的?所提供的链接甚至没有说甚么。 – Yogster 2015-04-07 10:30:11