公钥基础设施
当人们提到 国家 or 私立 PKI [01],实际上是指 公众信任 和 私人信任 基础设施。 请记住,公钥和私钥与公钥和私钥无关 PKI.
而且,这两种情况都涉及托管 PKI or PKI即服务(PKIaaS)解决方案。 内部(或本地托管) PKI 可以私人工作 PKI,但是要花费大量的精力和资源来实现从托管服务器获得的工具和服务 PKI or PKIaaS提供商。
从根本上讲 PKI 有两个功能:
- 管理公共场所[02] 和私钥,以及
- 将每个密钥与单个实体(例如个人或组织)的身份绑定。
通过签发称为身份证的电子身份文件来建立绑定 数字证书 [03]。 证书使用私钥加密签名,以便客户端软件(例如浏览器)可以使用相应的公钥来验证证书的 真实性 (即它是由正确的私钥签名的)和 诚信 (即未进行任何修改)。
公共信任和私人信任 PKI
而两者 PKI 配置提供相同的功能,它们的区别非常简单。
公共 PKI客户端软件自动信任,而私有 PKI必须由用户手动信任(或在公司和IoT环境中,由域管理员将其部署到所有设备),然后再颁发 PKI 可以验证。
维护公众信任的组织 PKI 被称为 证书颁发机构 (CA)。 要获得公众信任,必须按照诸如CA / B论坛的基准要求之类的标准对CA进行审核。 [04] 并被诸如Microsoft受信任的根存储计划之类的公共信任存储所接受。
虽然是私人的 PKI 实施与公共实施一样安全,默认情况下它们不受信任,因为它们无法证明符合这些要求并被信任程序接受。
为什么选择公众信任的 PKI?
公众信任意味着公众信任 根证书 (将CA的身份与其官方公钥相关联)已在大多数客户端中分发。 浏览器,操作系统和其他客户端软件随附此类信任公用密钥的内置列表,用于验证它们遇到的证书。 (也可以期望负责的供应商在更新其软件时更新这些列表。)相反,私有信任的根证书(私有需要) PKI)必须先手动安装在客户端中,然后才能获得来自此类私有服务器的证书 PKI可以验证。
因此,如果您试图保护可公开访问的网站或其他在线资源,则必须使用由公众信任的证书 PKI (即CA)是必经之路,因为要求每个访问者手动安装私有 PKI在其浏览器中使用根证书是不切实际的(并且可能会产生一致的安全警告,这会对您的网站声誉产生负面影响)。
为什么选择私人信任 PKI?
公共 PKI必须严格遵守法规并接受定期审核,而私人信任 PKI 可能会放弃其操作人员认为合适的审核要求,并偏离标准。 尽管这可能意味着他们没有严格遵循最佳做法,但也允许客户使用私有 PKI 他们的证书政策和操作有更多自由。
一个示例:基准要求禁止公共信任的CA颁发内部域的证书(例如, example.local
)。 私人的 PKI 可以根据需要为任何域(包括此类本地域)颁发证书。
公共信任证书还必须始终以其控制法规严格定义的方式包括特定信息,并以映射到已接受的公共证书X.509标准的证书概要文件的格式进行格式化。 但是,某些客户可能需要自定义证书配置文件,专门针对其组织的预期用途和安全性考虑而定制。 私人的 PKI 可以使用专门的证书配置文件颁发证书。
除了证书本身之外,私有 PKI 还允许完全控制身份和凭据验证过程。 客户自己的访问控制系统(例如单点登录或LDAP目录)可以与私有服务器集成。 PKI 轻松向运营商已经信任的各方提供证书的服务。 相反,公众信任 PKI 在颁发任何证书之前,必须对合格的数据库执行严格的手动和自动检查以及验证。
证书透明度
我们还应注意,私人 PKI 不需要参加 证书透明度 [05].
Chrome等浏览器现在强制执行 [06] 所有公共信任证书的CT,这要求CA将发布到公共可访问数据库的所有证书发布。 私人的 PKI 但是,运营商没有义务实施CT,因此可能会为敏感应用程序提供更好的隐私,或者在公开披露内部网络结构被认为有害的情况下 [07].
结论
选择一个 PKI 解决其他问题并不是一个微不足道的决定。 公共和私人 PKI 优点和缺点,您的选择取决于许多因素,包括对公共访问的需求,易用性以及对基础结构进行控制的安全性和策略要求。
在这里 SSL.com,我们很乐意帮助您建立有效的 PKI 适合您组织独特需求的计划。