Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# WCF传输与消息_C#_Wcf_Wcf Security - Fatal编程技术网

C# WCF传输与消息

C# WCF传输与消息,c#,wcf,wcf-security,C#,Wcf,Wcf Security,我阅读了有关WCF安全性实现的内容,发现有两种类型的安全性: 传输模式和消息模式(或两者兼有) 如果我使用HTTPS作为传输模式,那么如果我也使用消息安全性,是否会更安全?我这样问是因为我的理解如下: https使用SSL协议对消息进行加密。。。那么,我为什么要添加消息安全性并加密SSL加密的消息呢?还是我误解了什么?在某些情况下,您可能无法使用传输级加密,因此“退回”到消息级加密,而消息级加密的安全性比传输级安全性稍差一点 当然,两者都做会更安全。但是,当您具有良好的传输级别安全性时,这就有点

我阅读了有关WCF安全性实现的内容,发现有两种类型的安全性:
传输模式和消息模式(或两者兼有)

如果我使用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还支持WS-I基本安全配置文件1.0,它只是具有指定配置的以前协议的子集

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

这概述了使用或不使用消息安全性的原因

基本上,运输安全是首选,除非无法使用。

该链接的摘录:

运输水平的利弊 保安

运输安全有以下几个方面 优点:

不要求 沟通方理解 XML级安全概念。这个可以 提高互操作性,例如 例如,当使用HTTPS来保护 沟通

性能普遍提高

硬件加速器可用

流媒体是可能的

运输安全有以下几个方面 缺点:

只跳到跳

有限和不可张集 证书

依赖于运输

消息级别的缺点 保安

消息安全性具有以下特性 缺点:

演出

无法使用消息流

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


看起来你知道很多WCF,也许你可以帮我解决这个问题,也许它与你提到的X509令牌配置文件有关,我还没有检查。对不起,我速度慢,但在理解跳到跳安全性方面仍然存在问题,如果你使用传输安全性,这是否意味着消息只在客户端和服务器上安全?ie消息在传输过程中可能被篡改?@Ladislav Mrnka你能帮我解决这个问题吗消息需要HTTPS连接吗?你好!有一件事我不明白:你说“基本上,交通安全是首选的,除非它不能被使用。”-这句话的依据是什么?提供的链接甚至没有说任何与此相近的内容。