【发布时间】:2011-01-06 13:28:45
【问题描述】:
我正在为分布式应用程序设计身份验证和安全性。
要求是:-
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 之间交换的数据将使用自签名证书进行保护。 使用用户名和密码完成身份验证。
这将生成一个对称密钥。 A 和 B 都将使用本地安全存储来存储此密钥。
此对称密钥将用于 A 和 B 之间通信的加密和身份验证。
您能否提出其他可行的方法?
谢谢, 维韦克
【问题讨论】:
标签: c# .net security wcf-security