手机端下拉列表
400-002-9968

博客 > 如何构建可扩展的公共和私有PKI?| 访谈

如何构建可扩展的公共和私有PKI?| 访谈

  • 标签:
  • 公钥基础设施(PKI)
  • 公共PKI
  • 私有PKI

浏览量:3349次评论:0次

作者:Claire时间:2019-09-02 02:28:54

在我们第一次采访DigiCert高级PKI架构师Darin Andrew的时候,我们知道了,在做出有关PKI架构方面的决策时,要记住5到10年这个时间段,我们也知道了顶级企业使用PKI来增强网络安全的三种方式。


现在,我们又向他请教有关公共和私有PKI之间的区别,针对不同的使用案例,哪个是最好的,以及一些顶级企业是如何成功地构建了可扩展PKI的。现在,我们从起点开始——讨论根证书的目的。


Q:什么是根证书?


DA:


通过签名流程,公钥基础设施(PKI)能够将一个身份和公共秘钥捆绑在一起。


该签名是由根来执行的(或者用一个锁住根的中间体)。这就是你识别证书是否有效,以及你是否想要信任它的方法。


如果你拥有签发证书的根的公钥,那么你就可以知道,绑定公钥的身份是有效的,可以受到信任。这全都是因为这个证书是由根签发的。


Q:什么是公共根?


DA:


无论用私有还是公共根签发,签发证书过程中所使用的技术都是一样的。我们并没有改变密码学或签名,我们只是说,已经将公众可信任的根分配出去,给了浏览器,操作系统,手机等。诸如Chrome和Firefox那样的浏览器都有根存储库,在那里保存着他们可以信任的根列表。


私有根与公共根是不同的,因为私有根没有被分配到主要浏览器和操作系统的信任库。私有根是由公司或CA机构创建的,而且并不会包含在谷歌和Mozilla浏览器的信任列表中。


它是一个私有根,因为它受到了公司想要在内部将根分配给它的所有系统的信任。他们可以将私有根分配到其服务器上,或其部分服务器、手机、台式机和笔记本电脑上。他们可以从该私有根签发证书,用以检查证书是否有效,而这个根将被他们交付的任何系统所信任。


因为公共和私有根背后的技术是相同的——证书看起来一样,并且能够使用相同的hash算法来签发证书——所以接下来的问题将是,什么时候使用私有根,什么时候又使用公共根?


Q:什么时候应该使用私有根,什么时候又该使用公共根?


DA:


私有根对内部操作是有帮助的。然而,当你谈论面向公众的网页时,你就需要一个来自公共根的证书。


想想你的网站吧。当用户访问你的站点时,他们的浏览器拥有根吗?如果是私有根,答案取决于网站是否是通过企业管理的计算机访问的。


如果你已经将私有根分配给了这个设备,浏览器就能拥有私有根。如果证书是由私有根签发的,而该私有根已经添加到了浏览器的信任存储列表中,那么当证书连接到网页时,浏览器就会信任它。


但是,如果这是一个世界上任何人都可以访问的公共网页呢?情况又会是什么样?除非你已经将你的私有根分配给了所有用来访问页面的单个设备上(这是不可能的),用户将会收到一条警告信息,称签发证书的根是不可信的。


如今,浏览器正在发出严重警告信息。这样,用户要么不能访问页面,要么会被强迫更改其设置,以便进行连接。显然,这不是一个好的事情。


Q:私有/公共根情景将如何影响电子邮件签名等事宜?


DA:


如果你在向自己公司内部的人员发送电子邮件,通过使用由私有根签发的证书,你就可以对你的电子邮件进行签名——这是可行的。收件人查看签名时,会看到它是由已经存在于其电脑上的私有根签发的,并且系统会显示一条信息:“该证书是有效的。”


但是,当你发送电子邮件的对象是另一家公司的,他们并没有你的私有根,情况又会怎么样呢?他们会看到系统弹出一条警告消息,称签名是无效的。


比如,这种情况就会在Outlook中自动发生。Outlook会进行检查,查看签发证书的根是否存在于操作系统的根存储库中。当它发现它没有在其中时,Outlook就会显示一条消息,警告签名是无效的。


为电子邮件使用私有根是没有道理的。你之所以对电子邮件进行签名,是为了让另一端的人相信,他们可以信任这条你发送的信息,并且该信息并没有被篡改过。


但是,当你将电子邮件发送给另一个组织时(这是电子邮件的本质),如果你使用的是私有根,那么这就会导致出现一条不受信任的信息。现在你就破坏了对电子邮件进行签名的目的。在这种情况下,你就需要由公共根签发的公众可信任的证书。


简言之,私有根将帮助保护内部操作。但是,当你向组织外部的实体共享信息时——如对电子邮件进行签名——你就需要一个分发给浏览器和操作系统的公共根。


Q:因此,私有根在何种情景中是有帮助的?


DA:


内部服务认证是私有根的一个强大的使用用例。比如,私有根对验证虚拟专用网络(VPN)、内部Wi-Fi,wiki页面、或其他支持多因素认证的服务的连接是非常有用的。


在所有这些案例中,你能够控制检查证书有效性的服务器实例,因此,私有根将可以很好进行工作。你的内部操作团队可以将你自己的私有根指定为证书的发行者,当系统对有效性进行检查时,它可以看到它是由你自己的私有根签发的。


相比公共根,使用私有根有属于它自己的好处。如果它是你的企业的专用私有根,那么只有你的团队才能从这个根签发证书。其他任何人都不可以从这个根签发证书。在配置证书文件方面,以及对于在证书中指定的主体来说,从私有根签发的证书有更大的灵活性。


私有根在身份认证方面的好处可以归结于控制。如果你有一个属于自己的专用的私有根,那么你就会对签发流程、证书文件和在证书中指定到的主体有更多的控制权。因为你拥有更多的控制权,所以你的确定性会更大,知道只有你自己才有权利从私有根签发证书。


Q:大多数企业都有公共或私有PKI吗?


DA:


企业使用两种混合的PKI是最常见的。比如,一家公司可能会为其面向公众的网站使用公共CA。然后,为了验证其内部服务的连接——如VPN或wiki——这家公司可能就会设置一个可以签发证书的私有根。


Q:假设我已经决定建立一个混合PKI解决方案,那么接下来呢?


DA:


下一步,你会想要决定,是为你的私有PKI使用一个托管的解决方案,还是构建属于你自己的内部CA。


通常,人们认为公共PKI是托管式的,而私有PKI并没有被托管——情况并不是这样。公共和私有PKI都可以进行托管。问题在于,你是否拥有一个内部CA,或者你是否为你的私有PKI使用了一个托管的CA。


在接下来对Darin的采访中,我们将探讨,是否使用托管的还是内部的CA解决方案。


现在,当你在公共和私有PKI之间做出决策时,你可以参考以下三个要点:


1. 遵循最佳实践——大多数企业都采用的是包括公共和私有PKI的混合解决方案。


2. 确定公共和私有PKI的正确组合,以便保护网页,内部服务,电子邮件等。


3. 识别内部服务(如VPN,Wi-Fi,wiki等)的连接,而该内部服务是可以使用私有根来认证的。

我的评论

还未登录?点击登录

微信扫码沟通
微信扫码沟通

微信扫码沟通

售前咨询
合作
售后
return head