【问题标题】:Talk to distributed components securely安全地与分布式组件对话
【发布时间】: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


    【解决方案1】:

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

    您将需要任一类型的 CRL 才能使 WCF 满意。

    【讨论】:

    • 所谓的昂贵是指开发和维护代码库以实现为我的应用程序定制的 CA 解决方案的成本很高。
    猜你喜欢
    • 2020-06-19
    • 1970-01-01
    • 2021-10-16
    • 1970-01-01
    • 2018-08-07
    • 1970-01-01
    • 2015-09-28
    • 2017-03-02
    • 2015-12-13
    相关资源
    最近更新 更多