WCF传输安全弱点

标签 wcf security https

Lowy 撰写的“Programming WCF Services”第 2 版,第 10 章,第 512 页。

Lowy 谈到传输安全:它的主要缺点是它只能保证传输安全点,这意味着当客户端直接连接到服务时。在客户端和服务之间有多个中介会导致传输安全问题,因为这些中介可能不安全。因此,传输安全通常仅由 Intranet 应用程序使用。

HTTPS 是传输安全选项之一,前一段如何适用于 HTTPS ?!!,HTTPS 从头到尾加密所有内容。世界上每一个电子商务应用程序都在使用HTTPS,你怎么能把它限制到内网应用程序!

谢谢

最佳答案

HTTPS 对数据进行点对点加密,一旦数据到达其中一个点并被解密,则从该点开始不再提供安全保证。但是,中间节点无法读取信息。

另一方面,消息安全性可以加密仅由特定接收方解密的数据,该接收方可以是与接收端分离的实体。接收端可能最终将加密的消息转发给能够解密消息的预期接收者。

一个类比是电子邮件。如果您使用传输安全(例如 HTTPS)与邮件服务器建立连接,则可以保证从您的机器到邮件服务器的任何信息都是安全的。但是,任何有权访问邮件服务器的人(例如服务器管理员)都可以阅读电子邮件的内容。

另一方面,如果您使用消息安全来加密消息以便只有指定的收件人可以解密它,则实际的电子邮件消息会被加密(而不仅仅是您和服务器之间的通信),因此即使收到了消息由服务器,它仍然是加密的。只有当电子邮件服务器将您的邮件转发给您的预期收件人时,收件人才能使用他自己的私钥解密邮件,从而在整个传递路径中保持电子邮件的私密性,同时不需要发件人和收件人直接通信,就像传输级安全要求。

当然,邮件的某些部分必须对电子邮件服务器保持可见,例如收件人地址,因此您可能希望同时使用两种安全级别:邮件安全将确保邮件服务器(或收件人以外的任何一方)可以不阅读您的电子邮件的内容,传输安全还将确保监听您和您的邮件服务器之间通信的第三方无法发现您正在向谁发送电子邮件(除非邮件服务器透露向该第三方提供信息)。

关于WCF传输安全弱点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3767660/

相关文章:

c# - 从 WCF 服务生成的模型中重命名属性名称

wcf - DataContractSerializer XML 将 XML 序列化器输出的大小加倍 - 这真的更快且更具可扩展性吗?

Wcf 自定义 userNamePasswordValidationMode 在 IIS Express 上不起作用

javascript - csrf token 困惑。我可以用 wget 获取它,没有跨源问题。那有什么意义呢?

curl - Rustup 说 libcurl 中不支持或禁用协议(protocol) "https"

c# - WCF: "Failed to open System.ServiceModel.Channels.ClientReliableDuplexSessionChannel"

javascript - 如何设置本地环境以使用 Chrome 的最新 SameSite cookie 更改?

php - 如何限制登录尝试 - PHP & MySQL & CodeIgniter

c# - 停止 HSTS HTTPS 执行

java - 间接 Apache HttpClient 和 javax.net.ssl.SSLException : hostname in certificate didn't match