【问题标题】:Other ways to encrypt WCF Connections加密 WCF 连接的其他方法
【发布时间】:2010-09-08 05:14:56
【问题描述】:

我目前正在处理一个需要在 WCF 主机之间传递加密数据的项目。据我了解,只有两种方法可以确保通过 WCF 传递的数据是安全的。

  1. 使用证书
  2. 使用域(或在网络上的每台计算机上使用相同的用户名和密码)

使用证书可能会很昂贵且管理起来很复杂,而且由于我们不能保证在每次部署时都有一台服务器类机器,因此域也是不可能的。如果需要更改密码,让每台机器使用相同的用户名和密码也是有问题的。

目前我们使用 OpenSSH 在主机之间建立隧道连接。框架中是否还有其他我不知道的选项?

【问题讨论】:

  • 我也很好奇这个问题的答案; ssh隧道不足有什么原因吗?
  • 你用的是什么绑定方式?
  • 目前我们使用 net.tcp 绑定,但任何绑定都可以。 SSH 还不够,只是在客户端机器上进行设置很复杂

标签: c# wcf security


【解决方案1】:

加密需要密钥。密钥通常作为证书实现。如果您拥有通信双方,则可以免费创建自己的证书,而无需从受信任的根授权处购买。

【讨论】:

    【解决方案2】:

    这是alternative。无需 IIS 和 SSL/X509 证书即可工作。

    【讨论】:

      【解决方案3】:

      如果您使用的是 http 端点,则可以使用安全传输,例如 https。

      【讨论】:

        【解决方案4】:

        对您放置在 WCF 容器中的数据使用传统加密。可能类似于以下内容:

        http://www.obviex.com/samples/EncryptionWithSalt.aspx

        【讨论】:

        • 我们考虑过这一点,但为了保持函数的强类型化,它必须在低得多的级别上发生。
        【解决方案5】:

        最便宜的方法可能是运行您自己的证书颁发机构。这意味着您可以完全控制证书,但您不必为外部认证付费。如果您适当地自动执行此操作,您可以为您网络上的每台机器提供一个加密身份,并使用您的本地认证将所有内容联系在一起。

        【讨论】:

        • 我不会说这是最便宜的方法。我们确实考虑到了这一点,但设置和维护需要花费一定的精力。
        猜你喜欢
        • 2020-06-25
        • 2020-05-26
        • 1970-01-01
        • 1970-01-01
        • 2022-08-03
        • 2021-03-29
        • 2016-01-07
        • 1970-01-01
        • 2012-09-14
        相关资源
        最近更新 更多