wcf - 我对 WCF 与 Internet 上的 SSL 的传输级安全性感到非常困惑

标签 wcf security ssl asp.net-web-api https

我读过很多文章说在 WCF 中有两种安全类型,一种是传输级别,另一种是消息级别。当您有 Intranet 连接时,必须使用传输级别安全性,因为它提供点对点安全性,底层协议(protocol)应该是 SSL....

但是如果我搜索如何保护公共(public)网站,他们都说再次使用 HTTPS(SSL) SSL。

这两种说法是矛盾的。

问题:

  1. 这里的点对点安全到底是什么意思?
  2. 如果 SSL 只是点对点(而不是端到端),那么为什么人们将它用于公共(public)网站?

最佳答案

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

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

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

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

当然,邮件的某些部分必须对电子邮件服务器保持可见,例如收件人地址,因此您可能希望使用两个级别的安全性:邮件安全性将确保邮件服务器(或任何一方,除了收件人)无法阅读您电子邮件的内容,并且传输安全将另外确保监听您和您的邮件服务器之间通信的第三方无法找出您正在向谁发送电子邮件(除非邮件服务器将该信息泄露给该第三方

取自WCF Transport security weakness

在这里阅读更多 https://msdn.microsoft.com/en-us/library/hh273109(v=vs.100).aspx

问题 2 的答案:

因为一旦它到达由公司本身/或数据中心托管的 IIS 服务器,该服务器具有所有防火墙和其他难以绕过的安全措施,这意味着没有人可以从该服务器读取您的消息,除非可以无处不在,它可以节省 tcp 安全性。

关于wcf - 我对 WCF 与 Internet 上的 SSL 的传输级安全性感到非常困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41768126/

相关文章:

python - 在 python web 服务器上执行数学用户代码,最简单的安全方法是什么?

mysql - 无法在 Google Compute 上使用带有 PDO 的 SSL 连接到 Google Cloud MySQL

sql-server - 在最近的 Windows 补丁和 TLS1 被禁用后,FreeTDS 无法连接到 SQL Server

c# - 如何在没有程序集版本号的情况下指定 wcf BehaviourExtension 类类型?

ios - 与 Silveright 和 iPad 客户端一起使用的推荐绑定(bind)是什么

c# - WCF + EF 4.1 预加载和序列化问题

使用 Windows 身份验证的 WCF 调用

.net - 通过 HTTP 记录错误 - 安全隐患

firefox - 是什么导致FF产生SSL_ERROR_BAD_MAC_READ?

c# - 使用带有 Objective C 问题的 WCF 服务