我正在为一个分布式应用程序设计身份验证和安全性。
有关规定如下:
1) are是两个分布式组件A和B A和B将始终安装在Windows环境中。A和B可以安装在彼此不信任的两个不同的Windows域中。
2) A和B使用WCF进行通信。
A和B应该能够相互进行身份验证并安全地交换数据。
有哪些方法可以做到这一点?
可能的解决办法是:
a)实现CA,向A和B颁发证书。这两个证书都是由rootCA签名的。但是这个解决方案涉及到我们实现一个成本太高的CA
b)在A上实现密钥生成服务。
这看起来是这样的:
CreateSymmetricKey(string密码,string userName );
A和B将拥有一个自签名证书。A和B之间交换的数据将使用自签名证书进行保护。身份验证是使用userName和密码完成的。
这将生成对称密钥。A和B都将使用本地安全存储来存储此密钥。
该对称密钥将用于A和B之间通信的加密和身份验证。
你能建议一下其他的工作方式吗?
谢谢,Vivek
发布于 2011-01-05 04:20:24
CA并没有那么贵。Windows证书服务器内置于服务器OSes中,可以configured来生成internet托管的CRL,或者,在必要时,您可以使用makecert to create a root certificate,然后从该根生成X509证书,然后生成一个CRL,您可以手动将其加载到托管服务器上的证书存储中。
您将需要任何一种类型的CRL来使WCF满意。
https://stackoverflow.com/questions/4593862
复制相似问题