.net 将wsHttpBinding SSL传输安全性与消息安全性结合使用有什么好处吗?

.net 将wsHttpBinding SSL传输安全性与消息安全性结合使用有什么好处吗?,.net,wcf,ssl,wcf-security,.net,Wcf,Ssl,Wcf Security,在WCF中,当将wshttpbinding与消息安全性(对通过网络发送的序列化XML进行加密)一起使用时,我们为什么需要SSL传输安全性,它也使用SSL证书进行加密?要解决这个问题,最好先从一些基本的 通过理解其中一些关键点,您的问题的答案应该变得清晰 WCF关键安全功能 任何面向服务的体系结构(SOA)都需要支持为客户机和服务之间交换的消息提供审核、身份验证、授权、机密性和完整性的安全特性 审核。有效的审计和记录(即不可否认性)。不可否认性保证用户不能拒绝执行操作或启动事务 身份验证。自信

在WCF中,当将
wshttpbinding
与消息安全性(对通过网络发送的序列化XML进行加密)一起使用时,我们为什么需要SSL传输安全性,它也使用SSL证书进行加密?

要解决这个问题,最好先从一些基本的

通过理解其中一些关键点,您的问题的答案应该变得清晰

WCF关键安全功能

任何面向服务的体系结构(SOA)都需要支持为客户机和服务之间交换的消息提供审核、身份验证、授权、机密性和完整性的安全特性

  • 审核。有效的审计和记录(即不可否认性)。不可否认性保证用户不能拒绝执行操作或启动事务

  • 身份验证。自信地确定您服务的客户。这些可能是最终用户、其他服务、流程或计算机

  • 授权。确定经过身份验证的用户可以访问哪些系统资源和操作

  • 保密性。确保数据保持私有和机密,且未经授权的用户无法查看数据的过程。加密经常用于强制执行机密性

  • 完整性。保证数据不受意外或故意修改的影响。传输中数据的完整性通常通过使用散列技术和消息身份验证代码来提供

有关上述内容的更多信息,请参见:


WCF安全模型

在WCF中,提供传输安全性有多种选择,主要分为(但不限于)以下传输安全模式

  • 传输。在传输级别提供相互身份验证和消息保护

  • 消息。在消息级别提供相互身份验证和消息保护

  • 两者都有。传输层和消息层都提供了相互身份验证和消息保护

此机制还有其他混合变体,有关此主题的更多信息可在此处找到:


运输安全

关于WSHttpBinding的传输安全性使用HTTP传输,保护传输的主要机制是通过HTTP(通常称为HTTP)实现的

传输安全性仅在客户端和服务器之间提供点对点安全通道,如果该服务器是负载平衡器或代理服务器,则生成的服务器在不安全的情况下可以直接访问邮件内容

有关运输安全的更多信息,请参见:


消息安全性

关于WSHttpBinding的消息安全性使用WS-security规范来保护消息。WS-Securityspecification描述了对SOAP消息传递的增强,以确保SOAP消息级别(而不是传输级别)的机密性、完整性和身份验证

消息安全性与传输安全性的不同之处在于,它将安全凭据和声明与每条消息以及任何消息保护(签名或加密)一起封装。通过修改消息的内容将安全性直接应用于消息,允许安全消息在安全方面具有自包含性。这将启用某些在使用传输安全性时不可能实现的场景

更多信息可以在这里找到


传输和消息安全

现在回答您的问题,在某些高级情况下,传输和消息安全可以结合使用。例如,将安全性传输到负载平衡器或某种代理,并将消息安全性传输到其最终目的地,以确保消息没有更改,或内容保持私有

使用hyprib方法的另一个示例可能是以用户为中心的web应用程序中的场景,其中web应用程序在其自己的服务器上运行,并在单独的服务器上与业务服务对话。web应用服务器代表用户与业务服务器对话

在大多数情况下,不需要将传输和消息安全结合起来,而且由于传输安全使用硬件加速,而消息安全不使用硬件加速,因此可能存在不需要或不适合的额外性能开销


有关传输和消息安全的更多信息,请参见此处

注意,这实际上是一个很好的问题,对大多数人来说并不明显,因此我冒昧地按照原始帖子的精神重新格式化了这个问题