博客与新闻

亚信互联 认为创建成功的安全网络形象应该容易且负担得起。在这里,您将找到我们的最新 SSL 新闻,行业文章和新闻稿。

PKI 体系结构:设计私有 PKI 系统的基础


PKI 体系结构:设计私有 PKI 系统的基础

我们将通过不同 PKI 架构图和视觉效果的示例,分解您需要了解的有关公钥基础设施架构及其外观的所有信息

公钥基础设施(PKI)是互联网安全的(通常是无名的)英雄。它是通过使用公钥加密使安全的互联网通信成为现实的基础框架。今天我们将专门讨论PKI 架构——系统、服务器和其他你需要的东西(其中大部分是在幕后发现的)——以利用 PKI 的力量为你的企业服务。

PKI 体系结构以多种形式存在,具体取决于您使用 PKI 做什么:

  • 公众信任的 PKI。如果您希望您的数字证书始终被公共渠道(即 Internet)中的客户端和操作系统识别和公开信任,您将需要使用由公开信任的证书颁发机构颁发的数字证书。在这种情况下,PKI 体系结构完全由证书颁发机构运行(即,您只需将他们的证书用于保护面向公众的资源),但如果您很好奇,我们仍将介绍基础知识。
  • 私人信任的 PKI。如果您使用 PKI 来保护内部资产或网络,那么运行私有 CA 可能是最佳选择。在这种情况下,您需要自己决定 PKI 体系结构——我们将在本文中介绍您需要了解的基础知识。

这些 PKI 架构是什么样的?您还可以使用哪些其他类型的 PKI 架构?在本文中,我们将定义什么是 PKI 架构,并介绍组织采用的一些不同类型的架构。这些 PKI 体系结构示例将包括详细的 PKI 体系结构图和其他视觉效果,显示它们的不同组件以及它们如何联系在一起。

让我们把它算出来。

什么是 PKI 架构?PKI 架构的定义

PKI 体系结构描述了所有组织和结构组件,这些组件使创建、使用和管理组织的公钥基础结构成为可能。这包括从托管 CA 的服务器和 HSM 到 CA 的组件(例如根证书和 CRL)的所有内容。

本文将介绍 PKI 架构的两个关键方面:

  • 一般而言,PKI 系统的主要组件,以及
  • 您需要了解运行私有 CA 所需的 IT 和服务器架构。

早在 90 年代,Open Group(一个开发技术标准和认证的全球联盟)就尝试将 PKI 架构分解为组件组。这八大类涵盖了从安全服务和协议到密钥管理和策略服务的所有内容。

除此之外,我们不会再深入研究它,因为那会导致我们陷入另一个兔子洞。因此,如果您想了解有关 The Open Group 组件类别的更多信息,请查看我在上一段中添加的链接。

为了本文的目的,要真正理解 PKI 体系结构,您需要了解某些概念和术语——其中最主要的是公钥基础设施。因此,在我们继续分解不同类型的 PKI 架构之前,让我们首先快速重新梳理一下“公钥基础设施”的含义。

什么是 PKI?几个关键概念的 2 分钟回顾

现在,我们已经写了几篇深入的文章,解释了什么是公钥基础设施以及 PKI 的工作原理。但在继续为您提供 PKI 体系结构的各种示例之前,我们将快速回顾其中的一些组件。

公钥基础设施的快速定义需要使互联网上的安全通信成为可能的一切。它是底层技术(包括数字证书和加密密钥)、策略、流程:

  • 允许客户在您的网站上购物,而不必担心他们的信息会在传输过程中被盗,
  • 使您的员工能够安全地进行通信并通过电子邮件发送敏感信息,以及
  • 帮助您保护您的在线服务、内部站点和其他数字资源免遭未经授权的访问。

在创建加密之前(至少可以追溯到古埃及人),两方必须亲自见面以交换相同的密钥来交换加密通信。但在一个使数据能够以光速传播的全球数字世界中,这种过时的密钥交换方法已不再需要。这就是公钥基础设施发挥作用的地方。  

公钥基础设施的三大要素

  1. 数字证书。这些是小型数字文件,可为 Internet 上的各种用例启用身份和加密。每个证书都包含有关其颁发给的组织或实体的大量识别信息(取决于颁发的验证级别),但有效期有限。常见的数字证书类别包括:
    1. SSL/TLS 证书— 这些证书使安全挂锁图标出现在您网站访问者的浏览器中,并且“不安全”警告消失。SSL/TLS 证书具有三个验证级别选项 — 域验证 (DV)、组织验证 (OV) 和扩展验证 (EV)。
    2. 代码签名证书— 这些数字证书可帮助您保护软件更新的供应链,并向用户保证您的软件是合法的且未被篡改。代码签名证书带有两种验证级别之一——标准验证或扩展验证——后者使 Windows Defender SmartScreen 警告消失,因为它们使您的软件自动受到 Windows 操作系统和浏览器的信任!
    3. 文档签名证书— 这些数字证书使用加密函数(散列)和数字签名,让您可以向用户证明您的文档是合法的,并且在您签名后未被更改。
    4. 电子邮件签名证书— 这些数字证书,也称为 S/MIME 证书,通过在电子邮件内容和附件离开收件箱之前对其进行加密来提供端到端加密。电子邮件签名证书还通过允许您对邮件进行数字签名来提供数字身份,以便您的收件人可以验证信息是否未被更改,并且确实是您发送的。
    5. 客户端身份验证证书— 这些数字证书可在您的内部网络上启用无密码身份验证。这意味着授权用户可以安全地登录并验证其身份,而无需记住或输入繁琐的密码并完成多因素身份验证。
  2. 公私密钥对。这些是您在 Internet 上加密(公钥)和解密(私钥)信息所需的加密工具。
    1. 公钥— 此密钥加密数据以防止未经授权的访问。
    2. 私钥— 此密钥解密数据并由相关证书的所有者保密。
  3. 认证机构。任何 PKI 体系结构的关键组件之一是证书颁发机构,或者通常称为证书颁发机构或 CA。一个组织可以依赖其 PKI 中的一个或多个 CA。当人们想到 CA 时,他们传统上会从根 CA 或颁发 CA 的意义上来考虑它。但是,也有中间 CA。以下是每个的快速描述,以帮助您区分这三个:
    1. 根 CA:根 CA 依赖于根证书,必须将根证书添加到将使用您计划颁发的证书的每台设备上的信任库中,以使其受信任。公共和私有 CA 都有根 CA 和证书。由于所有证书都与这些根证书相关联,因此 CA 会尽其所能确保其相应私钥的安全。这通常涉及在安全环境中离线存储根 CA 私钥并使用硬件安全模块 (HSM)。
    2. 中间 CA:这种类型的 CA 作为证书链中的一个或多个链接,由根 CA 进行数字签名 / 颁发。他们负责向您的组织颁发端点证书(例如您用于保护网站的 SSL/TLS 证书)。本质上,中间 CA 充当端点证书和它们最终链接回的根证书之间的中间人。
    3. 颁发 CA:有时,中间 CA 和颁发 CA 是一体的,有时它们是分开的。区别取决于您的 CA 层次结构以及您在 PKI 体系结构中的层数。(继续阅读以了解我们在谈论 PKI 架构层时的意思……)

术语 PKI 架构可以指公共或私有 PKI

PKI 可能是一个很难缠住你的大脑的话题,因为一些术语在多种情况下常用:

  1. 公共 PKI(公共 CA) ——该术语指的是颁发大多数浏览器和设备自动信任的证书的 PKI。例如,如果您从 The SSL Store 购买 SSL 证书,则该证书由公共 CA 颁发。这是最常用的 PKI 类型。
  2. 私有 PKI(私有 CA) ——这是指仅用于保护您的内部网络的 PKI。证书不会在所有设备上自动受信任 - 您需要先在每台设备上安装适当的根证书。好的一面是您可以更好地控制您颁发的证书。私有 PKI 可以通过 Microsoft CA 等工具或通过托管 PKI 服务(又名 mPKI 或 PKI 即服务)设置。
公共 CA 与私有 CA 的细分以及每个 CA 如何用于保护面向外部或内部的资源。
作为 PKI 管理员,您可以使用公共 CA(左列)颁发数字证书,以保护您的端点、网站和 Internet 上的其他资源。您还可以使用私有 CA 颁发证书和密钥,以保护内部网络上的敏感资源和设备。

我们将在本文后面更深入地探讨所有三种方法:

  1. 公共 CA。
  2. 私人 CA (DIY)
  3. 私有 CA (mPKI)

PKI 的 #1 规则:你不要谈论你的私钥

在设计、实施和管理 PKI 时,您需要做的最重要的事情之一是:不惜一切代价保护您的私钥。例如,如果您的根证书的私钥包含在内,那么您就完蛋了。你曾经从它颁发的每一个证书都必须被撤销。您基本上必须炸毁整个 PKI 并重新开始。

这就是为什么您将看到的有关 PKI 架构的许多最佳实践和建议都强调隔离和保护您的私钥,尤其是您的根证书和中间证书的密钥。让我们通过查看用于将根证书私钥与公共密钥隔离的层次结构来深入了解……

PKI 架构中的一层、二层和三层信任层次结构

PKI 架构在信任层次结构方面可以采用几种不同的格式——每个公司使用的结构取决于其需求。信任层次结构的范围可以从一层到三层体系结构。

三层架构为您的根 CA 私钥和证书颁发方面的可扩展性提供了最高级别的保护。但是,两层层次结构通常足以满足大多数组织的需求。

首先,让我们看一个基本的单层层次结构的示例:

说明 1 层 CA 概念的 PKI 架构图
在此 PKI 架构图示例中,在线根 CA 兼作颁发 CA,因为其根 CA 证书颁发叶证书。

在大多数情况下,您不应使用一层层次结构,因为它也不允许您保护根证书的私钥。现在,让我们看一下两层 PKI 架构:

说明 2 层 CA 概念的 PKI 架构图
在此 PKI 架构图示例中,离线根 CA 证书的私钥对颁发 CA 的证书进行签名。颁发 CA 负责颁发其私钥签名的叶证书。这在根 CA 和叶证书之间提供了一层分离,用虚线表示,将离线与在线 PKI 架构组件分开。

现在,将其与三层 CA 的结构进行比较:

说明 3 层 CA 概念的 PKI 架构图
在这个 PKI 架构图示例中,离线根 CA 证书的私钥对在线中间 CA 的证书进行签名。然后,中间 CA 使用其私钥对颁发 CA(也是在线的)的证书进行签名。颁发 CA 负责使用他们的私钥标志颁发叶证书。这在根 CA 和叶证书之间提供了多层分离。再次,虚线表示在线与离线 PKI 架构组件之间的差异。

看到不同?两层和三层体系结构在根 CA 和颁发给组织的叶证书之间提供缓冲区。因为叶证书不是直接从根 CA 颁发的,所以这些分离程度有助于保护根 CA 私钥不被泄露。

为什么将根 CA 和叶证书分开是一件好事……

有一个游戏叫凯文培根的六度。这个想法是,好莱坞的任何演员都可以通过六个(或更少)介绍与演员凯文·培根联系起来——能够以最少的分离度将演员联系起来的人获胜。PKI 体系结构采用相反的方法——您的根 CA 和您使用的叶证书之间的分离级别越多越好(即,您的 PKI 体系结构越安全)。

如果颁发 CA 的密钥遭到破坏,则只有该 CA 颁发的证书必须被吊销。但是,如果根 CA 的密钥被泄露,则意味着它曾经颁发的每个证书(或由源自该根的中间 CA 或颁发 CA 颁发)都必须被撤销。因此,通过使用颁发 CA 的私钥而不是根密钥对叶证书进行签名,您可以显着减少受影响证书的数量,以防万一 CA 的密钥遭到破坏。

现在我们知道了什么是 PKI 架构以及公司可以使用的层次结构类型,让我们探索几个常见 PKI 架构的示例以及它们是如何构建的。如果你还没有早上喝一杯乔,你现在可能想拿一个杯子——事情即将变得沉重。

3 PKI 体系结构示例(用途和图表)

本节将更深入地探讨这些 PKI 架构中的每一个,并提供每个的图表作为可视化表示。

PKI 架构 #1:公共 CA。

当大多数人想到 PKI 架构时,他们的脑海中自然会想到公共 CA。这包括 DigiCert、Sectigo、Entrust 以及全球数百家其他公司。但是,绝大多数证书是由六个左右的领先 CA 颁发的。

公共证书颁发机构受到公众信任,因为它们遵守特定的行业规则和要求。因此,他们能够颁发操作系统、浏览器和移动设备也公开信任的证书。

这一切的工作方式是这样的:

  • 您(PKI 管理员)从公共 CA 请求您的网站、端点设备等的公共 CA 证书。
  • 所有“魔法”都发生在 CA 的环境中——他们使用他们的资源和人员来验证您的域和 / 或组织的详细信息。
  • 一旦公共 CA 验证了您的组织信息,他们就会颁发符合行业标准和要求的公共信任证书。
  • 公共 CA 颁发证书后,您必须使用内部资源 / 人员并遵循内部策略在公共网络中部署证书。

这是一个快速图形,可让您基本了解此过程的外观:

当您作为 PKI 管理员使用公共 CA 为您的外部资源颁发证书时会是什么样子

但是公共 CA 的 PKI 架构实际上是什么样的呢?CA 不喜欢透露他们架构的所有细节,但下面的基本流程图应该让你对它所包含的内容以及你如何与之交互有一个非常基本的了解:

公共 CA 如何在幕后运作的过程的一般概述
公钥基础结构的说明以及您作为 PKI 管理员和您选择的公共 CA 适合该过程的位置。以蓝色虚线突出显示的所有内容都发生在幕后,因此您看不到它的发生。

请记住,在“公共 CA 的安全设施”泡沫中,PKI 架构本身通常是一个两层 CA 模型,尽管一些证书颁发机构选择三层——后者不太常见。

虽然公共信任的证书很重要并且有多种用途,但它们无法满足您组织的所有安全需求。毕竟,您还需要保护私有网络设备和应用程序,对吗?这就是为什么许多企业和组织选择创建称为私有 PKI 或私有 CA 的东西的原因。

PKI 架构 #2:私有 CA(内部 CA)

私有 PKI、私有 CA、内部 PKI 或内部 CA — 这些都是描述同一事物的不同术语。因此,无论您想怎么称呼它,私有 PKI 归结为拥有 PKI 结构来保护您网络上的网站、服务、设备和其他 IT 资源。

想要颁发在您的网络中受信任的私人用户身份验证证书吗?查看。如何保护您的虚拟专用网络 (VPN) 访问?还要检查。物联网设备?员工证?容器化环境?检查,检查,检查。冒着听起来像一个深夜电视节目主持人的风险,私有 PKI 几乎可以满足您的所有需求——您知道,至少在保护您的内部网络和 IT 基础设施方面如此。

那么,私有 PKI 架构是什么样的呢?以下是所有这些内容的基本概述:

私有 PKI 架构组件如何分类的细分
关于如何对 PKI 体系结构组件进行分类的一般概述。

您可以使用 Microsoft CA 和 AWS 设置私有 CA

运行您自己的私有 CA 会检查公司在 IT、安全和用户管理方面关心的许多问题,它使您可以最大程度地控制您的 PKI。您可以使用 Microsoft CA 或技术上称为 Active Directory 证书服务 (ADCS) 之类的资源来设置和管理您的私有 PKI。

您可以在本地托管您的 PKI 或使用云托管提供商(例如 Amazon Web Services (AWS))来托管您的 Microsoft CA 部署,在 Windows 服务器上部署您的根和从属私有 CA,并使用 AWS Cloud HSM 签署您的证书和存储您的私钥。这意味着您不必费心在本地设置自己的 HSM。

让我们快速浏览一下当您通过 AWS 设置私有 PKI 时的外观:

来自 Amazon Web Services 的混合 PKI 解决方案的说明。 图像源 URL 包含在图像标题中。
通过 AWS 的混合 PKI 解决方案概述。此 PKI 架构图的图像来源:Amazon Web Services。

要仔细查看图像右下象限中用绿色框突出显示的 Virtual Private Cloud (VPC) 以及如果您决定采用云或混合 PKI 路线的情况,请查看下图:

来自 Amazon Web Services 的 AWS 的 Microsoft PKI 架构图的插图。 图像源 URL 包含在图像标题中。
AWS 的 Microsoft PKI 图的屏幕截图。此 PKI 架构图的图像来源:Amazon Web Services。

需要注意的是,上面的 PKI 架构图实际上是快速入门指南的一部分,不包括推荐的组件,例如 HSM。真正的私有 PKI 更复杂,但这至少应该有助于提供架构的基本概念。

建立自己的私有 PKI 的挑战

但是运行私有 PKI 有一个巨大的警告:你必须有预算、基础设施、时间、金钱和技术人员来致力于它。可以想象,设置和管理私有 PKI 的成本远高于电视购物广告 19.99 美元的魔幻价格。对于各种规模的组织来说,正确管理您的 PKI 需要花费大量的时间、人力和资源。

  • 人手不足是一个大问题——来自 Keyfactor 和 Ponemon Institute 的《2021 年机器身份管理状况报告》的数据显示,只有 45% 的公司表示他们有专门管理 PKI 的员工。
  • 许多内部团队不知道如何安全地管理证书颁发机构,因为他们不一定会在日常工作中处理这些职责。

由于这些原因(以及其他原因),许多想要拥有自己的 PKI 的组织最终都会聘请托管 PKI 提供商来为他们设置和管理 PKI。

PKI 架构 #3:托管 PKI(mPKI 或 PKI 即服务)

还记得 2009 年的短语“有一个应用程序”?嗯,对于可以外包给有经验的第三方提供商的安全服务,包括组织公钥基础设施的日常管理,也可以这样说。这是托管 PKI 服务提供商可以让您的工作生活变得更加轻松的地方。

几家信誉良好的 CA 和 PKI 供应商提供业内称为“PKI 即服务”的服务。mPKI 提供商是第三方,负责处理从设置和推出组织的私有 CA 到长期支持它的所有工作。他们使用内部资源来促进这一过程。

因为这是他们整天吃、睡和呼吸 PKI 的东西,每天,他们非常熟悉您的团队不太可能知道或考虑的 PKI 的所有来龙去脉。他们还非常熟悉您在设置 PKI 时可能面临的许多问题——并且他们制定了流程、程序和政策来帮助缓解这些问题。 

但这在 PKI 架构方面是什么样子的呢?我们很高兴你问。让我们采用我们之前共享的基本私有 PKI 架构图并对其进行更新以反映与托管 PKI 相关的更改:

当您与 mPKI 服务提供商合作时,私有 PKI 架构组件如何分类以及您负责处理哪些元素的细分。
一个基本的说明性 PKI 架构图,展示了您的组织负责的区域与您选择的 mPKI 提供商的职责。

作为您组织的 PKI 管理员,如您所见,当您与 mPKI 提供商合作时,许多典型的职责和单调的任务不再完全落在您的肩上。相反,您只需要部分或全部负责实施和管理的部分内容——您的 mPKI 合作伙伴将处理其余部分。这意味着您不必担心必须自己了解所有内容或雇用某人来填补特定的技能空白。您可以依靠 mPKI 专业人员来为您处理大部分事情。

但是,您仍然可以完全控制对您的组织而言重要的事情,例如证书配置文件和验证要求。

无论您拥有何种类型的 PKI 架构,您都需要仔细管理您的证书和密钥……

现在,有一个非常重要的旁注,我们至少必须在这里提及:您的 PKI 的有效性取决于您管理证书和密钥生命周期的程度。生命周期包括从创建和管理证书(及其相应的密钥)到这些证书的重新颁发或(不经常)撤销的所有内容。

此责任是您组织的安全性和合规性能力的决定性因素。因此,掌握 PKI 的证书和密钥生命周期在许多方面都至关重要。即使只有一个证书在面向公众的系统上过期,或者如果单个私钥遭到破坏,您都会受到伤害——您可能不会马上知道……

让我们想想 Equifax 在 2017 年发生的事情。 Equifax 的 IT 安全团队不知道,他们的一个数字证书过期了,直到几个月后他们才意识到这一点。这导致数据泄露事件在两个半月内未被发现,并最终导致公司预计将支付巨额罚款和和解金。

值得庆幸的是,您可以采取一些步骤来避免许多与 PKI 管理相关的问题。

使用 HSM 安全地存储您的 CA 私钥

这些是安全存储设备,可帮助您的组织确保您的私钥安全。您可以使用离线硬件安全模块 (HSM) 来存储根 CA 密钥,并使用在线 HSM 来存储私有 PKI 的中间 CA 密钥。但是如果您不想经历购买和设置 HSM 以在您的环境中使用的麻烦,更好的选择可能是使用使用 HSM 构建的托管 PKI 平台。

使用 PKI 管理工具来管理您的证书和密钥

如果您只有少量证书和密钥需要跟踪和管理,您可能可以使用电子表格来管理您的 PKI。但考虑到来自 Keyfactor 和 Ponemon Institute 的另一份报告显示,组织平均有 88,750 个证书和密钥在其网络上使用,全职 PKI 管理员不可能使用手动方式跟踪所有这些。这就是为什么公司经常使用证书管理平台来帮助他们掌握证书,因此没有任何问题。

关于 PKI 架构的最终想法

在理解和区分每个不同的 PKI 架构以及它们是单独构建的时,显然有很多东西需要了解。我们希望本文为您提供了一些关于 PKI 架构如何设计以及如何使用它们来保护组织的外部和内部资产的有用见解。

我们在整篇文章中包含了许多与 PKI 和证书颁发机构相关的资源。但是,以下是一些您可能会觉得有用的其他相关资源:

  • 如何成为证书颁发机构(公共与私人)
  • 创建您自己的证书颁发机构服务器
  • 根证书和中级证书的区别

上一篇:什么是密钥管理服务?密钥管理服务说明 [2021年11月25日]

下一篇:Phish-mas 的 12 天:网络钓鱼示例的节日观察 [2021年12月23日]