WCF安全3-Transport与Message安全模式

简介: WCF安全3-Transport与Message安全模式

概述:

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

一、Transport安全模式

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

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

 

1.TLSSSLHTTPS

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

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

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

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

 

2.TLS/SSL解决的问题:

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

 

 

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

图片.png

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

 

选择对称加密的原因:

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

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

 

2.Tansport安全模式的优缺点

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

缺点:

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

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

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

 

二、Message安全模式

1.遵循了4个规范

WS-Security

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

WS-Trust

双向验证

WS-Secure Conversation

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

WS-Security Policy

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

2.安全模式的优缺点

优点:

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

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

3)互操作性,跨平台

缺点:

1)性能较之Transport

 

三、混合安全模式

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

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

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

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

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




相关文章
|
存储 算法 安全
WCF安全2-非对称加密
WCF安全2-非对称加密
129 0
WCF安全2-非对称加密
|
安全 数据安全/隐私保护
WCF安全1-开篇
WCF安全1-开篇
WCF安全1-开篇
|
XML 网络架构 数据格式
|
安全 数据安全/隐私保护 Windows
|
安全 数据安全/隐私保护 Windows
|
存储 安全 数据安全/隐私保护
|
XML 网络架构 数据格式
跟着Artech学习WCF(5) Responsive Service 与自定义Soap Message Header
记得以前看.NET各类框架教程在介绍SOAP时经常提到Soap Header 以前一直认为这个玩意就是个理论 应该和具体的编码和应用无关 后来在看到一些关于SOAP安全的书可以在header里 进行加密解密信息的存储 用于安全方面的验证 但一直苦于这个玩意到底是神马东西,一直没见过代码,今天A...
683 0