【问题标题】:WCF netTCPBinding - Is transport encryption enough?WCF netTCPBinding - 传输加密是否足够?
【发布时间】:2010-09-11 01:41:53
【问题描述】:
我有一个处理一些敏感数据的 WCF 服务。我想确保我不会暴露这些数据,所以我正在研究 netTCPBinding...主要是因为我可以控制它运行的网络并且性能是一个高优先级。
我知道有两个区域可以加密:传输层和消息层。我打算使用证书在传输级别进行加密,据我所知使用 TLS over TCP。
调用客户端也是我的,所以我控制传输级别。由于我预计传输层不会发生变化,我是否需要为消息级加密而烦恼?除非我想要灵活地更改传输方式,否则似乎没有必要。
【问题讨论】:
标签:
.net
wcf
networking
encryption
tcp
【解决方案1】:
当您不控制中介时,需要消息级加密。中介服务需要能够修改soap标头,并且可以出于恶意目的偷看您的敏感数据。但是,如果您控制了从初始发送者到最终接收者的所有内容,那么您就不需要在该级别进行加密。
我从事一个使用 netTCP 进行内部服务的项目,我可以确认它运行良好。
【解决方案2】:
一般来说,只要您处理的是点对点连接,并且双方都在验证证书(特别是如果您使用相互身份验证),那么是的,传输级别的安全性可能就足够了。检查证书有助于确保不会有人取代服务器(或没有中间人妨碍)。
当您需要进行内容签名或需要不可否认性时,尤其是当您在客户端和服务器之间有中介(路由器)并希望确保它们可以在不实际查看的情况下路由消息时,消息级安全性变得更加有用在它的内容。
【解决方案3】:
我认为你是正确的。如果您不打算将其移至另一种传输机制,我不明白为什么您需要消息加密和传输加密。如果性能是一个关键因素,则跳过消息加密将为您节省一些性能,因为您不必在发送/接收每条消息时添加保护。