C# WCF传输与消息
我阅读了有关WCF安全性实现的内容,发现有两种类型的安全性:C# WCF传输与消息,c#,wcf,wcf-security,C#,Wcf,Wcf Security,我阅读了有关WCF安全性实现的内容,发现有两种类型的安全性: 传输模式和消息模式(或两者兼有) 如果我使用HTTPS作为传输模式,那么如果我也使用消息安全性,是否会更安全?我这样问是因为我的理解如下: https使用SSL协议对消息进行加密。。。那么,我为什么要添加消息安全性并加密SSL加密的消息呢?还是我误解了什么?在某些情况下,您可能无法使用传输级加密,因此“退回”到消息级加密,而消息级加密的安全性比传输级安全性稍差一点 当然,两者都做会更安全。但是,当您具有良好的传输级别安全性时,这就有点
传输模式和消息模式(或两者兼有)
如果我使用HTTPS作为传输模式,那么如果我也使用消息安全性,是否会更安全?我这样问是因为我的理解如下:
https使用SSL协议对消息进行加密。。。那么,我为什么要添加消息安全性并加密SSL加密的消息呢?还是我误解了什么?在某些情况下,您可能无法使用传输级加密,因此“退回”到消息级加密,而消息级加密的安全性比传输级安全性稍差一点
当然,两者都做会更安全。但是,当您具有良好的传输级别安全性时,这就有点过头了。我想说,在大多数情况下,它应该满足其中一种。如果您可以使用传输级别的安全性,这是最好的,因为它加密了整个通信,而不仅仅是消息内容。实际上是WCF中的安全性。这两者的区别在于消息的签名和加密方式 传输安全性仅提供点对点通道安全性。这意味着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—用于联邦安全的令牌定义。SAML2.0由WIF提供
- WS-SecurityPolicy 1.1和1.2-支持在WSDL中定义安全断言
- WS-SecureConversation 1.3和2005年2月-提供对安全会话的支持,其中凭据仅在第一次呼叫期间交换,其余通信使用唯一的安全令牌
- WS-Trust 1.3和2005年2月-提供对联合场景和安全令牌服务(STS)的支持
看起来你知道很多WCF,也许你可以帮我解决这个问题,也许它与你提到的X509令牌配置文件有关,我还没有检查。对不起,我速度慢,但在理解跳到跳安全性方面仍然存在问题,如果你使用传输安全性,这是否意味着消息只在客户端和服务器上安全?ie消息在传输过程中可能被篡改?@Ladislav Mrnka你能帮我解决这个问题吗消息需要HTTPS连接吗?你好!有一件事我不明白:你说“基本上,交通安全是首选的,除非它不能被使用。”-这句话的依据是什么?提供的链接甚至没有说任何与此相近的内容。