公钥基础设施 PKI

公钥基础设施(PKI)最显着的特点是它使用一对密钥来实现底层的安全服务。 密钥对由私钥和公钥组成。

由于公钥处于开放域中,因此它们很可能被滥用。 因此,有必要建立和维护某种可信的基础设施来管理这些密钥。

密钥管理

不言而喻,任何密码系统的安全性都取决于其密钥管理的安全程度。 如果没有处理加密密钥的安全程序,则可能会失去使用强加密方案的好处。

据观察,加密方案很少因其设计中的弱点而受到损害。 然而,它们经常因密钥管理不善而受到损害。

密钥管理的一些重要方面如下 −

  • 加密密钥只不过是特殊的数据片段。 密钥管理是指对加密密钥的安全管理。

  • 密钥管理涉及整个密钥生命周期,如下图所示−

密钥管理生命周期
  • 公钥加密的密钥管理有两个具体要求。

    • 私钥保密。 在整个密钥生命周期中,除了所有者并被授权使用密钥的人之外,密钥必须对所有各方保密。

    • 公钥保证。 在公钥密码学中,公钥位于开放域中并被视为公共数据。 默认情况下,无法保证公钥是否正确、可以与谁关联或者可以用于什么用途。 因此,公钥的密钥管理需要更加明确地关注公钥用途的保证。

"公钥保证"这一最关键的要求可以通过公钥基础设施 (PKI) 来实现,PKI 是一种支持公钥加密的密钥管理系统。

公钥基础设施 (PKI)

PKI 提供公钥保证。 它提供公钥的识别及其分发。 PKI 的结构由以下部分组成。

  • 公钥证书,通常称为"数字证书"。
  • 私钥令牌。
  • 认证机构。
  • 注册机构。
  • 证书管理系统。

数字证书

打个比方,证书可以认为是发给个人的身份证。 人们使用驾驶执照、护照等身份证件来证明自己的身份。 数字证书在电子世界中执行相同的基本操作,但有一点不同。

数字证书不仅可以颁发给个人,还可以颁发给计算机、软件包或任何其他需要在电子世界中证明身份的东西。

  • 数字证书基于 ITU 标准 X.509,该标准定义了公钥证书和认证验证的标准证书格式。 因此,数字证书有时也称为 X.509 证书。

    与用户客户端相关的公钥与其他相关信息(例如客户端信息、到期日期、用途、颁发者等)一起由证书颁发机构 (CA) 存储在数字证书中。

  • CA 对整个信息进行数字签名,并将数字签名包含在证书中。

  • 任何需要保证客户端的公钥和相关信息的人,都使用 CA 的公钥来执行签名验证过程。 成功的验证可确保证书中给出的公钥属于证书中给出的详细信息的人员。

下图描述了个人/实体获取数字证书的过程。

数字证书

如图所示,CA 接受客户端的申请来验证其公钥。 CA在验证客户端身份后,向客户端颁发数字证书。

认证机构 (CA)

如上所述,CA 向客户端颁发证书并协助其他用户验证证书。 CA负责正确识别请求颁发证书的客户端的身份,并确保证书中包含的信息正确并进行数字签名。

CA的主要功能

CA的主要功能如下 −

  • 生成密钥对 +minus; CA可以独立生成密钥对,也可以与客户端联合生成密钥对。

  • 颁发数字证书 − CA 可以被认为是相当于护照代理机构的 PKI。 客户提供凭据以确认其身份后,CA 颁发证书。 然后,CA 对证书进行签名,以防止证书中包含的详细信息被修改。

  • 发布证书 − CA需要发布证书以便用户可以找到它们。 有两种方法可以实现这一目标。 一是以相当于电子电话簿的形式公布证书。 另一种是通过某种方式将您的证书发送给您认为可能需要它的人。

  • 验证证书 − CA 在环境中提供其公钥,以协助验证其在客户端数字证书上的签名。

  • 吊销证书 − 有时,CA 会因某种原因(例如用户私钥泄露或对客户端失去信任)而撤销颁发的证书。 撤销后,CA 维护环境中可用的所有已撤销证书的列表。

证书类别

证书有四种典型类别 −

  • 1级 − 通过提供电子邮件地址即可轻松获取这些证书。

  • 2 级 − 这些证书需要提供额外的个人信息。

  • 3 级 − 只有在检查请求者的身份后才能购买这些证书。

  • 4 级 − 它们可能被需要高度信任的政府和金融组织使用。

注册机构 (RA)

CA 可以使用第三方注册机构 (RA) 对请求证书的个人或公司进行必要的检查,以确认其身份。 RA 在客户端看来可能是 CA,但他们实际上并不签署所颁发的证书。

证书管理系统(CMS)

这是一个管理系统,通过它可以发布、暂时或永久暂停、更新或撤销证书。 证书管理系统通常不会删除证书,因为可能出于法律原因可能需要在某个时间点证明其状态。 CA 与关联的 RA 一起运行证书管理系统,以便能够跟踪他们的责任和义务。

私钥令牌

虽然客户端的公钥存储在证书上,但关联的秘密私钥可以存储在密钥所有者的计算机上。 一般不采用这种方法。 如果攻击者获得了计算机的访问权限,他就可以轻松获得私钥。 因此,私钥存储在安全的可移动存储令牌上,对其的访问通过密码进行保护。

不同的供应商通常使用不同的、有时是专有的存储格式来存储密钥。 例如,Entrust 使用专有的 .epf 格式,而 Verisign、GlobalSign 和 Baltimore 使用标准的 .p12 格式。

CA 的层次结构

鉴于庞大的网络和全球通信的需求,仅由一个受信任的 CA 来让所有用户获取其证书实际上是不可行的。 其次,如果 CA 受到损害,只有一个 CA 的可用性可能会导致困难。

在这种情况下,分层认证模型很有趣,因为它允许在两个通信方与同一 CA 没有信任关系的环境中使用公钥证书。

  • 根 CA 位于 CA 层次结构的顶部,根 CA 的证书是自签名证书。

  • 直接从属于根 CA 的 CA(例如 CA1 和 CA2)拥有由根 CA 签名的 CA 证书。

  • 层次结构中下级 CA 下的 CA(例如 CA5 和 CA6)的 CA 证书由更高级别的下级 CA 签名。

证书颁发机构 (CA) 层次结构反映在证书链中。 证书链跟踪从层次结构中的分支到层次结构的根的证书路径。

下图显示了一个 CA 层次结构,其中包含从实体证书到两个从属 CA 证书(CA6 和 CA3)到根 CA 的 CA 证书的证书链。

CA 层次结构

验证证书链是确保特定证书链有效、正确签名且值得信赖的过程。 以下过程验证证书链,从为身份验证提供的证书开始 −

  • 真实性正在验证的客户端提供其证书,通常连同直到根 CA 的证书链。

  • 验证者获取证书并使用颁发者的公钥进行验证。 颁发者的公钥可在颁发者的证书中找到,该证书位于客户端证书旁边的链中。

  • 现在,如果验证者信任已签署颁发者证书的更高 CA,则验证成功并在此停止。

  • 否则,将以与上述步骤中为客户端执行的类似方式验证颁发者的证书。 此过程将持续下去,直到在两者之间找到受信任的 CA,否则一直持续到根 CA。