概述:

WCF的安全传输主要涉及认证、消息一致性和机密性三个主题。WCF采用两种不同的机制来解决这三个涉及传输安全的问题,一般将它们成为不同的安全模式,即Transport安全模式和Message安全模式。

一、Transport安全模式

Transport安全模式利用基于传输层协议的安全机制解决传输安全涉及的三个问题(认证、消息一致性和机密性)。

TLS/SSL是实现Transport安全最常用的方式

1.TLS、SSL、HTTPS

(1)SSL->SSL1.0->SSL2.0->SSL3.0->TLS1.0

(2)TLS/SSL本身和具体的网络传输协议无关,既可以用于HTTP,也可以用于TCP。

(3)HTTPS将HTTP和TLS/SSL两者结合起来。对于WCF来说,所有基于HTTP协议的绑定采用的Transport安全都是通过HTTPS来实现的。

(4)NetTcpBinding也提供了对TLS/SSL的支持,一般将TLS/SSL在TCP上的应用称为SSL Over TCP。

2.TLS/SSL解决的问题:

  • 客户端对服务端的验证;
  • 通过对传输层传输的数据段(Segment)进行加密确保信息的机密性

3.TLS/SSL采用的协议是对称加密

客户端和服务端具有一个只有他们批次知晓的会话密钥,所有的请求和回复消息均通过该会话密钥进行加密和解密

选择对称加密的原因:

(1)对称加密/解密比非对称加密/解密需要更少的计算,所以具有更好的性能;

(2)在客户端不提供自身证书的情况下,非对称的加密方式只能确保客户端向服务端请求消息的机密性,而不能保证服务端向客户端回复消息的机密性。

2.Tansport安全模式的优缺点

优点:高性能,虽然TLS/SSL在正式进行消息交换之前需要通过协商建立一个安全的连接,但是这个协商过程完全通过传输层协议来完成,而且可以利用网络适配器的硬件加速。

缺点:

1.依赖于具体的传输协议

2.只能提供点对点的安全传输保障,即客户端直接连接服务器的场景。如果在客户端与服务端的网络需要一些用于消息路由的中间节点,Tansport安全模式则没有了用武之地。

3.在传输层(而不是应用层)解决对客户端的认证。这就决定了可供选择的认证方式(或者说可以采用的凭证)比较少。

二、Message安全模式

1.遵循了4个规范

WS-Security

提供了一个抽象的消息安全模型。在这个安全模型中,通过安全令牌,结合数字签名和加密技术实现对消息交换实体的认证和对消息本身的保护。

WS-Trust

双向验证

WS-Secure Conversation

建立在WS-Security和WS-Trust基础之上,旨在提供一种机制,实现对安全上下文的创建和对整个生命周期的控制

WS-Security Policy

建立在WS-Policy基础上,定义了一系列关于安全传输的策略断言。这些策略断言最终应用在WS-Security、WS-Trust、和WS-SC中。

2.安全模式的优缺点

优点:

(1)较之Transport安全,这种基于应用层实现的安全机制在认证方式上具有更多的选择

(2)能够提供端到端的安全

(3)互操作性,跨平台

缺点:

(1)性能较之Transport差

三、混合安全模式

(1)消息的一致性、机密性和客户端对服务端的认证通过Transport安全模式来实现;

(2)采用Message安全模式实现服务端对客户端的认证;

(3)充分利用Transport安全模式硬件加速优势,以提供高性能和具有高吞吐量的服务;

(4)更多关于客户端安全凭证和认证方式的选择;

(5)只能提供点到点的安全。

WCF安全3-Transport与Message安全模式的更多相关文章

  1. WCF身份验证一:消息安全模式之<Certificate>身份验证

    消息安全模式的证书身份验证方式,基于WSHttpBinding绑定协议的实现过程.主要内容:基本概念,然后是制作证书.服务端配置.客户端配置.总结.这里应该和Transport传输安全模式之证书身份验 ...

  2. WCF wsHttpBinding之Transport security Mode, clientCredentialType=”Basic”

    原创地址:http://www.cnblogs.com/jfzhu/p/4071342.html 转载请注明出处 如何在WCF中使用Transport Security Mode,以及如何创建证书,请 ...

  3. WCF basicHttpBinding之Transport Security Mode, clientCredentialType="None"

    原创地址:http://www.cnblogs.com/jfzhu/p/4071342.html 转载请注明出处 前面文章介绍了<WCF basicHttpBinding之Message Sec ...

  4. 使用wsHttpBinding构建Message安全模式和UserName授权

    http://www.cnblogs.com/artech/archive/2011/05/22/authentication_01.html https://www.cnblogs.com/Fran ...

  5. C# 的 WCF文章 消息契约(Message Contract)在流(Stream )传输大文件中的应用

    我也遇到同样问题,所以抄下做MARK http://www.cnblogs.com/lmjq/archive/2011/07/19/2110319.html 刚做完一个binding为netTcpBi ...

  6. [No0000125]WCF安全体系

    WCF的安全体系主要包括三个方面:传输安全(Transfer Security).授权或者访问控制(Authorization OR Access Control)以及审核(Auditing).而传输 ...

  7. WCF basicHttpBinding之Message Security Mode

    原创地址:http://www.cnblogs.com/jfzhu/p/4067873.html 转载请注明出处 前面的文章<WCF Security基本概念>介绍了WCF的securit ...

  8. WCF 内置绑定在不同的传输安全模式下的信道层

    basicHttpBinding Transport安全模式信道层 Message安全模式信道层 TransportWithMessageCredential安全模式信道层 TransportCred ...

  9. WCF初探-22:WCF中使用Message类(上)

    前言 从我们学习WCF以来,就一直强调WCF是基于消息的通信机制.但是由于WCF给我们做了高级封装,以至于我们在使用WCF的时候很少了解到消息的内部机制.由于WCF的架构的可扩展性,针对一些特殊情况, ...

随机推荐

  1. 一些java面试题

    1.SQL中的having子句用来干啥的? 答:having子句的功能是进行分组(GROUP BY)后的过滤 如:select id,avg(score) from  表 group by 学号 ha ...

  2. 地图源改变之后mxd文件打开很慢的问题

    在使用ArcGIS开发电子地图程序时,有时候需要更换服务器地址,这时打开MXD文件就会非常慢,一直没有找到有效的方法,下面是从网上搜到的方法,还没有验证,下次再碰到这个问题的时候,验证一下: (以下方 ...

  3. Windows 8.1/Server 2012 R2/Embedded 8.1 with Update 3(MSDN最新版)

    微软于12月16日更新了包含Update 3的ISO,此次更新并不会明显改善用户的界面体验,下载后请校验MD5.我整理了中.英文的8.1/服务器版/嵌入式版本/多国语言包. 1,Windows 8.1 ...

  4. Notes for Linux Administration Handbook (1) : Booting and Shutting Down

  5. android 平台搭建

    直接到官网下载 http://developer.android.com/sdk/index.html?utm_source=weibolife

  6. raid性能对比

    1,raid0的特性:采用剥离,数据将在几个磁盘上进行分割.数据被分成很多数据块,每一数据块会被写入不同的磁盘.从而, 每一磁盘的工作负荷都得到了降低,这有助于加速数据传输.RAID-0可让磁盘更好地 ...

  7. java获取点击微信自定义菜单的用户openid

    测试: 先上 请求类 HttpRequesto package reyo.sdk.utils.weixin; import java.io.BufferedReader; import java.io ...

  8. solr python客户端 - solrpy

    solrPy 基础使用: 1)与solr建立连接 import solr s = solr.Solr('http://host:ip/solr/collectionName') 2)查询 r = s. ...

  9. 转:VC解析XML文件-CMarkup的使用详解

    本篇文章是对VC解析XML文件-CMarkup的使用进行了详细的分析介绍,需要的朋友参考下 VC解析XML文件的工具有很多,CMarkup, tinyXML,还有IBM的,MS的等等. 据说tinyX ...

  10. Scala深入浅出实战经典之 List伴生对象操作方法代码实战.

    王家林亲授<DT大数据梦工厂>大数据实战视频 Scala 深入浅出实战经典(1-64讲)完整视频.PPT.代码下载:百度云盘:http://pan.baidu.com/s/1c0noOt6 ...