我读到有关WCF安全实现,并发现有两种类型的安全: Transport Mode and Message Mode (or both)
WCF交通运输VS消息
如果我使用HTTPS的运输方式,是更多,如果我用邮件安全还安全吗?我问这是因为我明白如下:
https使用SSL协议加密消息...为什么我应该添加消息安全并加密SSL加密消息?还是我误解了东西?
我读到有关WCF安全实现,并发现有两种类型的安全: Transport Mode and Message Mode (or both)
WCF交通运输VS消息
如果我使用HTTPS的运输方式,是更多,如果我用邮件安全还安全吗?我问这是因为我明白如下:
https使用SSL协议加密消息...为什么我应该添加消息安全并加密SSL加密消息?还是我误解了东西?
WCF的安全性实际上是consists of several features。这两者之间的区别是消息是如何签名和加密的。
传输安全性仅提供点对点通道安全性。这意味着HTTPS仅在客户端和服务器之间建立安全通道。但是,如果这台服务器只是一个负载平衡器或反向代理服务器,它可以直接访问消息的内容。
消息安全性提供端到端的信道安全性。这意味着安全性是传输数据的一部分,只有预定目标可以解密数据(负载平衡器或代理只能看到加密的消息)。在大多数情况下,邮件安全性也使用证书来提供加密和签名,但通常速度较慢,因为传输安全性可以使用硬件加速。
在高级场景中,可以组合这些方法。例如,您可以与受HTTPS保护的负载均衡器进行通信,因为您在负载均衡器之后信任内部网络,但同时您可以签署消息(消息安全性),以便证明它未被更改。
这两者之间的另一个区别是传输安全性与单一传输协议有关,而消息安全性与传输协议无关。
消息安全性基于可互操作的协议(但请注意,并非WCF中的每个配置都可以互操作)。 WCF支持至少部分这些协议:
WCF还支持WS-I Basic Security Profile 1.0,它只是具有规定配置的以前协议的子集。
对于不可互操作的功能,WCF提供Windows安全性功能或TLSNego和SPNego(两者应该通常可互操作,但它们在许多SOAP堆栈中不可用)以进行服务凭证交换。
有些情况下,您可能无法进行传输级别加密,因此“回退”到消息级别加密,这对传输级别安全性来说安全性稍低。
这样做会更安全,当然。但是,如果您拥有良好的传输级别安全性,则会有点过大。
我想说,它在大多数情况下应该足够与其中一个或另一个。如果您可以使用传输级别的安全性,那么它可以加密整个通信,而不仅仅是消息内容。
这个link概述了使用或不使用消息安全的原因。
基本上,运输安全是首选,除非它不能使用。
来回链接的摘录:
优点和传输级别的缺点 安全
交通运输安全具有以下 优点:
不需要的 通信方了解 XML级安全性概念。这可以提高 的互操作性,例如,当HTTPS用于保护 的通信。
性能普遍提高。
硬件加速器可用。
流式传输是可能的。
交通运输安全具有以下缺点 :
只合到跳。
有限且不可延续的组合 凭证。
依赖于运输。消息级安全
信息安全具有以下 缺点
缺点:
性能
不能使用的消息流。
需要实施XML级别的 安全机制并支持 WS-Security规范。这可能会影响互操作性 。
你好!有一些我不明白:你说“基本上,运输安全是首选,除非它不能使用。” - 这个声明是什么建立的?所提供的链接甚至没有说甚么。 – Yogster 2015-04-07 10:30:11
+1 Nice summary。 – razlebe 2011-04-15 07:58:14
看来你知道很多WCF,也许你可以用[this](http://stackoverflow.com/q/8273698/90424)问题来帮助我,也许它与你提到的X509令牌配置文件有关,我没有检查。 – DkAngelito 2011-11-28 14:53:36
对不起,我很慢,但仍然有问题了解跳到跳安全性,如果您使用传输安全性是否意味着消息只在客户端和服务器安全?即消息在传输过程中可能被篡改? – TheWommies 2011-12-01 01:45:16