我可以通过签署的中间证书成为我自己的受信任CA吗?


23

我可以从根CA获得证书,然后将其用于签署自己的Web服务器证书吗?如果可能的话,我会使用签名证书作为中介来签署其他证书。

我知道我将必须以某种方式使用“我的”中间证书来配置系统,以便向我的客户提供有关信任链的信息。

这可能吗?根CA是否愿意签署这样的证书?这个很贵吗?

背景

我熟悉SSL的基础知识,因为它与通过HTTP保护网络流量有关。我对信任链的工作方式也有基本的了解,因为如果您使用具有有效链的证书进行加密(一直返回到根CA)(由浏览器确定),则“默认情况下”将确保网络流量的安全/ OS供应商。

我也知道许多根CA已经开始使用中间证书为最终用户(如我)签署证书。这可能需要在我的一端进行更多设置,但否则,这些证书将可以正常工作。我猜想这与保护CA的所有宝贵私钥有关,以及如果我遭到入侵将带来的灾难。

例子

  1. https://www.microsoft.com
  2. https://www.sun.com
  3. https://ecomm.dell.com/myaccount/ga/login.aspx?c=us&cs=19&l=en&s=dhs

现在,我们绝对不是这些组织中的任何一家,但他们似乎在做这样的事情。无疑,这将使这些证书的管理更加可口,尤其是考虑到我们扩展电子商务平台范围的一种方式。

Answers:


9

您的问题对我和其他人都读为:“如何向组织内部和外部的任意互联网用户信任的实体颁发证书?”

如果这是您的问题,那么答案是“您不这样做”。如果不是,请进行说明。

我还建议阅读“ Brian Komar的Windows Server 2008 PKI和证书安全性”,并考虑应用程序的所有各种PKI方案。您无需使用Microsoft的CA就能从书中获得一些东西。


我感谢您的输入,但是我认为我引用的示例将您声明的“您不”部分确定为错误的。查看这些证书的信任链,您会发现在根CA(随浏览器/ OS分发)与Web服务器用于加密HTTPS流量的证书之间存在企业特定的证书。
克林特·米勒

13
这不仅仅是证书。Sun / Microsoft / Dell正在运行中间CA。操作面向公众的企业CA是一项昂贵且复杂的任务,需要定期进行外部审核。Komar的书解释了许多CA方案,并说明了为何如此复杂。如果您的应用程序设计正在带领您迈向成为CA的道路,则需要认真思考您的设计目标和实施策略。
duffbeer703


3

如果您可以这样做,将如何阻止Joe Malware为www.microsoft.com发行证书并通过DNS劫持为您提供自己的“特殊”品牌更新?

FWIW,这是如何获取Microsoft包含在操作系统中的根证书的方法:

http://technet.microsoft.com/zh-CN/library/cc751157.aspx

要求非常苛刻。


好吧,我想两件事。1.显然,没有根CA允许我为不属于我的组织的其他实体签署证书。他们可能无法阻止我一次执行此操作,但是直到他们为我签名的证书在吊销列表上不久,这一切都将结束。2.更重要的是,DNS劫持有哪些“全球”规模的技术?Kaminsky出名的缓存中毒问题已被DNS供应商修补,对吗?
克林特·米勒

如果您所讨论的所有证书都属于您的组织,那么它们是否在同一顶级域中?如果是这样,通配符SSL证书(* .mydomain.com)可能是更好的策略。
Tim Howland

不幸的是,我有更多的域名需要保护,因此通配符(这是最初的策略)对我们不起作用,因为我们已将业务扩展到需要其他域名的情况。我目前的解决方案是SAN证书(主题备用名称),但是为另一个域的每次添加/删除创建一个新的证书有些麻烦。
克林特·米勒

2

从根本上来说,与成为该根CA的经销商几乎没有区别,后者几乎肯定会花费很多精力和金钱。正如Tim所言,这是因为您可以为任何域制作有效的证书,除非您控制该域,否则该证书是不允许的。

一个替代方法是RapidSSL的经销商程序,在该程序中,他们会进行所有艰苦的工作并从其根CA发出问题。


2
我完全不同意!我不想将证书转售给其他人。我想简化企业内部以及企业与客户之间通信安全的管理。蒂姆提出了一个合理的问题,但我认为您没有抓住重点。
克林特·米勒

3
我正从CA的角度来看它-对他们来说,您要的是自己成为一个成熟的CA,这对他们来说是相当冒险的-只是因为您说自己不想为他人制作证书并不意味着您没有技术能力,因此他们需要严格的控制以确保您没有。
TRS-80

2

问问自己这两个问题:

  1. 您是否信任用户将根证书正确导入他们的Web浏览器?
  2. 您是否有资源与现有的根CA合作?

如果答案为1,则CAcert已为您解决了问题。如果对2的回答为是,请查看OpenSSL,Firefox,IE和Safari随附的受信任根证书列表,并找到一个用于签署中间证书的证书。


2

我认为您最好从CA获得通配符证书,这样您就可以在主域的任何子域上使用相同的证书,但不能为其他任何内容颁发证书。


1

根CA可以颁发证书,从而可以颁发其他证书,但只能在特定域下。他们需要设置basicConstraints / CA:truenameConstraints / permitted; DNS.0 = example.com

然后,你可以自由地运行自己的CA,核发证书,像test.example.com(但不test.foobar.com),这反过来将通过公共网站的信任。我不知道提供此服务的任何根CA,但确实有可能。如果有人偶然发现这样的提供者,请告诉我。



0

我知道这是一篇过时的文章,但是我一直在努力寻找与此几乎相同的东西。从其他一些帖子中回声...有可能...全部都是非常昂贵且难以建立的。本文对“谁做”和一般的“涉及的内容”有所帮助。

https://aboutssl.org/types-of-root-signing-certificates/

至于我从一些零散的来源中获得的一些额外服务……其中一些要求要有“大量股权”和“保险”……我发现其中列出的金额从100万美元到500万美元不等。取决于来源。因此,不用说,这对于小型企业来说不是一个选择。

此外,我看到过一些帖子指出,满足所有要求并跳过所有审核工作通常需要将近一年的时间。此外,整个过程涉及的辅助成本范围从10万美元到+100万美元不等,这取决于总承包商+法律+人工成本以及您要进行多少次审核。因此,再次,这不是一个小企业的冒险。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.