安全地与分布式组件对话

时间:2011-01-04 13:01:49

标签: c# .net security wcf-security

我正在为分布式应用程序设计身份验证和安全性。

要求是: -

1)两个分布式组件A和B. A和B将始终安装在Windows环境中。 A和B可以安装在两个不相互信任的Windows域中。

2)A和B使用WCF进行通信。

A和B应该能够相互验证并安全地交换数据。

有什么方法可以做到这一点?

可能的解决方案是: -

a)实施CA,向A和B颁发证书。这两个证书都由rootCA签名。但是这个解决方案涉及我们实施一个成本太高的CA

b)在A上实施密钥生成服务。

这看起来像是: -

CreateSymmetricKey(string userName,string password);

A和B将拥有自签名证书。 A和B之间交换的数据将使用自签名证书进行保护。 使用userName和密码完成身份验证。

这将生成对称密钥。 A和B都将使用本地安全存储来存储此密钥。

此对称密钥将用于A和B之间通信的加密和身份验证。

你能否提出其他可行的方法?

谢谢, 的Vivek

1 个答案:

答案 0 :(得分:1)

CA并不昂贵。 Windows证书服务器内置于服务器操作系统中,可以configured生成Internet托管的CRL,或者,您可以使用makecertcreate a root certificate,然后从中生成X509证书root,然后生成一个CRL,您可以手动将其加载到托管服务器上的证书存储区中。

您需要任何一种类型的CRL才能让WCF满意。