PKI基础设施和使用问题

我在一家小型软件解决scheme公司(50名员工)工作,最近我负责试验networking服务。 由于我们主要提供Windows解决scheme,所以我开始使用微软的WCF 4(.NET 4.0)。 基本上,这些networking服务将最终被我们的客户通过互联网消费。 我们也将通过我们的内联网在内部使用它们。

保护这些Web服务是我现在处于亏损状态的地方。 我想用一个在支持/维护方面造成最小负担的scheme。 基本上,我想确保只有我们(例如付款给我们的客户)“authentication”的客户才能使用我们的networking服务。

使用Windows Identity Foundation(WIF)的联合身份validation看起来非常整齐,我有几个使用自签名证书和自托pipe服务(Web服务和STS)的工作示例。 如果我使用Federatedscheme,这些将最终托pipe在IIS中。 根据我的理解,STS将拥有由根CA颁发的证书。 Web服务以及客户端也将具有由相同的根CA颁发的证书。 然后,客户端可以通过STS通过证书authentication来使用Web服务。

现在,我的问题是:

我们公司没有PKI。 如果我们拥有一个CA(以及一个可用的PKI所需的全部内容),我们域外的客户是否可以使用我们的Web服务和我们的CA颁发的证书? 这是我仍然泥泞的地方。 这将如何工作? 客户如何申请证书? 他们能够将我们的CA添加到他们信任的CA吗? 他们将如何访问我们的CRL? 我正在考虑使用Active Directory证书服务的Windows Server 2008 R2。

我在这里走了吗? 有什么简单的吗?

谢谢

你可以部署你自己的PKI。 您的主要限制将是让您的所有客户将您的CA Cert安装为受信任的根证书。 也就是说,当你说一台服务器是安全的时,让所有人都信任,这是一个非常广泛的声明,大部分IT部门都会反对。

否则你build议的工作。

我可能会build议寻找使用OpenID或Windows Live ID或类似的服务来处理身份validation。 你可以跟踪授权(哪些ID被接受),并且不需要担心保存密码。 encryption和不可否认可以通过基本的SSL或TLS和公共CA的廉价证书轻松处理。 联合服务适用于紧密合作的公司,但通常不用于偶然的客户关系。

PKI确实是devise用于跨不安全通道进行安全通信。 我不认为PKI会限制访问。

我真的不知道有关WIF的任何信息,但我猜测PKI证书对于客户端来说更能够对服务器进行身份validation,就像现在在浏览器中所做的那样。