在WCF中,为什么我们说Transport是安全性最低的选项?

时间:2017-12-12 03:25:46

标签: c# wcf security

我读到有关WCF配置错误:传输安全性已启用的强化article。似乎运输安全是最不安全的选择......运输安全选项很容易受到中间人攻击......

我不确定原因......有人能给我更具体的细节吗?

2 个答案:

答案 0 :(得分:2)

基本上有两种方法可以在WCF中提供安全性。

传输安全性 - 保护传输通道称为传输安全。每个(http,tcp等)都有自己的方式来提供传输安全性,如实现SSL(安全套接字层)。

传输安全性的主要缺点是,安全性仅适用于将信道的一个端点传输到另一个端点,并且没有为多跳提供安全性或通过中间节点进行路由。

假设一个实例,在消息或数据包到达表单服务器端点到客户端端点之后,有一个反向代理或负载均衡器将消息发送/转发到另一个目的地,这里有可能消息可以被中间人(中间人)篡改,他们/正在转发数据包,因为安全性结束/仅限于不在信道之外的信道。因此,传输安全性是WCF中考虑最少的安全选项。

要解决此问题,您可以使用Message Security

消息安全性 - 通过在客户端和服务器之间封装每个SOAP请求的安全凭证来保护消息本身称为消息安全性。

它提供了端到端的安全性,因为消息安全性直接对消息进行签名和加密,而中间人不会破坏安全性,但性能会受到影响。

答案 1 :(得分:1)

如果您的消息从 A 转到 C B ,请执行以下操作:

A > https > B > https > C

服务器 B 可以查看并篡改它。

以下情况:

A > https > B > http > C

外部MITM是可能的:

A > https > B > http > X > http > C

但是在2个端点的简单情况下:

A > https > C

这将是非常安全的。