在WCF中使用wshttpbinding
和Message Security(加密通过网络发送的序列化XML)时,为什么我们需要SSL传输安全性,它也使用SSL证书加密?
答案 0 :(得分:0)
要解决这个问题,最好从Windows Communication Foundation (WCF)
的一些基础开始通过了解其中一些关键点,您的问题的答案应该变得清晰
WCF密钥安全功能
任何面向服务的体系结构(SOA)都需要支持安全功能,这些功能为客户端和服务之间交换的消息提供审核,身份验证,授权,机密性和完整性。
<强>审核即可。有效的审计和记录(即不可否认性)。不可否认性保证用户不能拒绝执行操作或启动交易。
<强>验证即可。自信地识别您的服务的客户。这些可能是最终用户,其他服务,进程或计算机。
<强>批准即可。确定经过身份验证的用户可以访问哪些系统资源和操作。
<强>保密即可。确保数据保持私密和机密,以及未经授权的用户无法查看的过程。加密经常用于强制保密。
<强>完整性即可。保证数据免受意外或故意修改。通常使用散列技术和消息验证代码来提供传输中数据的完整性。
有关上述内容的更多信息,请访问:WCF Security Fundamentals
WCF安全模型
在WCF中,您有多种选择来提供传输安全性,主要分为(但不限于)以下传输安全模式
<强>运输即可。传输级别提供相互身份验证和消息保护
<强>消息即可。消息级别提供了相互身份验证和消息保护
<强>两个即可。传输和消息
此政权还有其他混合变体,有关此主题的更多信息,请访问:Message and Transport Security
运输安全
关于WSHttpBinding的传输安全性使用HTTP传输,并且通过HTTP Secure Sockets Layer (SSL)保证传输的主要机制是HTTPS,通常称为Transport Security Overview。
传输安全性仅在客户端和服务器之间提供点对点安全通道,如果该服务器是负载平衡器或代理服务器,则生成的服务器可以直接访问邮件内容(如果不安全)
有关运输安全的更多信息,请访问:Message Security in WCF
邮件安全
关于WSHttpBinding的消息安全性使用WS-Security规范来保护消息。 WS-Securityspecification描述了SOAP消息传递的增强功能,以确保SOAP消息级别(而不是传输级别)的机密性,完整性和身份验证。
通过将安全凭证和声明与每封邮件一起封装以及任何邮件保护(签名或加密),邮件安全性与传输安全性不同。通过修改其内容将安全性直接应用于消息允许安全消息相对于安全性方面是自包含的。这样可以实现使用传输安全性时无法实现的一些场景。
可在此处找到更多信息Message and Transport Security
传输和邮件安全
现在回答你的问题,在某些高级情况下,可以结合传输和消息安全性。一个示例是您的负载均衡器或某种代理的传输安全性,以及到其最终目的地的消息安全性,以确保消息未被更改和/或内容分别保持私有。
使用hyprib方法的另一个示例可能是以用户为中心的Web应用程序中的场景,其中Web应用程序在其自己的服务器上运行并与单独服务器上的业务服务进行通信。 Web应用程序服务器代表用户与业务服务器进行协商
在大多数情况下,不需要组合传输和消息安全性,并且由于传输安全性使用硬件加速并且消息安全性没有,因此可能存在额外的性能开销,这是不需要或不合适的
有关传输和邮件安全的更多信息,请访问{{3}}