加密WCF连接的其他方法

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

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

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

目前,我们使用OpenSSH来隧道连接主机之间的连接。 框架内置了另一个我不知道的选项吗?

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

这是另一种选择 。 没有IIS和SSL / X509证书。

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

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

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

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