c# - 传输安全对于 Internet 上的 WCF 服务来说是一种不好的做法吗?

标签 c# wcf http transport-security

我有一个可通过 Internet 访问的 WCF 服务。它具有 wsHttpBinding 绑定(bind)和消息安全模式,使用用户名凭据来验证客户端。 msdn说我们应该为互联网场景使用消息安全,因为它提供端到端的安全而不是像传输安全那样的点到点的安全。

如果我对 Internet 上的 wcf 服务使用传输安全会怎样?这是一种不好的做法吗?恶意用户会看到我的数据吗?

最佳答案

不,这将是一个很好的做法 - 问题是:当您处理互联网连接时,您无法保证通过任意数量的中间跃点的完整安全连接链。

对于传输安全,您所能保证的只是从您的客户端到第一跳的链接,以及从最后一跳到您的服务器的链接 - 两者之间的任何事情都超出您的控制范围。所以基本上,互联网上的传输安全性是行不通的 - 除非你有一个严格控制的环境,在这个环境中你知道客户端非常直接地连接到你的服务器。

由于这些技术限制,传输安全性仅在企业/LAN 环境中真正起作用。一旦您无法控制路由和中间跃点,您就需要使用消息安全来实现端到端安全。

关于c# - 传输安全对于 Internet 上的 WCF 服务来说是一种不好的做法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2966126/

相关文章:

c# - 使用 Linq to SQL 生成销售报告

c# - 将对象转换为 Dictionary<TKey, TValue>

java - 无法在 WCF 客户端上捕获 Java 自定义错误

c++ - 获取所有访问的 URL,以及响应时间?

python - "No module named ' http_server '"尝试在 networkx 中导入 http_server 时

c# - 插入时插入语句出错

c# - Windows 10 UWP 应用程序 c# - 在组合框中禁用鼠标滚轮

c# - 服务器未提供有意义的回复,这可能是由于契约(Contract)不匹配、 session 过早关闭或内部服务器错误造成的

WCF session 或每次调用传递用户名/密码?

javascript - IE11 不发送 HTTP POST 数据