Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

证书吊销

数字证书有到期日期,但是,在到期之前,由于多种原因,证书可能不再有效。您可以在本地以及通过引用证书颁发机构 (CA) 证书吊销列表 (CRL) 来管理证书吊销和验证。

了解联机证书状态协议和证书吊销列表

OCSP 用于检查 X509 证书的吊销状态。OCSP 实时提供证书的吊销状态,在银行交易和股票交易等时间敏感的情况下非常有用。

通过向驻留在 SRX 系列防火墙之外的 OCSP 服务器发送请求来检查证书的吊销状态。根据服务器的响应,允许或拒绝 VPN 连接。OCSP 响应不会缓存在 SRX 系列防火墙上。

OCSP 服务器可以是颁发证书的 证书颁发机构 (CA), 也可以是指定的授权响应方。可以手动配置 OCSP 服务器的位置,也可以从正在验证的证书中提取。首先将请求发送到 CA 配置文件中使用 [edit security pki ca-profile profile-name revocation-check] 层次结构级别的语句手动ocsp url配置的 OCSP 服务器位置;每个 CA 配置文件最多可以配置两个位置。如果无法访问第一个配置的 OCSP 服务器,则会将请求发送到第二个 OCSP 服务器。如果无法访问第二个 OCSP 服务器,则会将请求发送到证书的 AuthorityInfoAccess 扩展字段中的位置。还必须配置该 use-ocsp 选项,因为 证书吊销列表 (CRL) 是默认检查方法。

SRX 系列防火墙仅接受来自 CA 或授权响应方的签名 OCSP 响应。收到的响应使用受信任的证书进行验证。响应验证如下:

  1. 为配置的 CA 配置文件注册的 CA 证书用于验证响应。

  2. OCSP 响应可能包含用于验证 OCSP 响应的证书。收到的证书必须由在 SRX 系列防火墙中注册的 CA 证书签名。CA 证书验证收到的证书后,将使用该证书验证 OCSP 响应。

来自 OCSP 服务器的响应可以由不同的 CA 签名。支持以下方案:

  • 为设备颁发最终实体证书的 CA 服务器也会对 OCSP 吊销状态响应进行签名。SRX 系列防火墙使用 SRX 系列防火墙中注册的 CA 证书验证 OCSP 响应签名。验证 OCSP 响应后,将检查证书吊销状态。

  • 授权响应方对 OCSP 吊销状态响应进行签名。授权响应方的证书和正在验证的最终实体证书必须由同一 CA 颁发。首先使用 SRX 系列防火墙中注册的 CA 证书验证授权响应方。OCSP 响应使用响应方的 CA 证书进行验证。然后,SRX 系列防火墙使用 OCSP 响应检查最终实体证书的吊销状态。

  • 要验证的最终实体证书和 OCSP 响应有不同的 CA 签名者。OCSP 响应由证书链中的 CA 签名,用于验证的最终实体证书。(参与 IKE 协商的所有对等方都需要在其各自的证书链中至少有一个通用可信 CA。OCSP 响应方的 CA 使用证书链中的 CA 进行验证。验证响应方 CA 证书后,将使用响应方的 CA 证书验证 OCSP 响应。

为了防止重放攻击,可以在 OCSP 请求中发送 随机数 有效负载。默认情况下会发送随机数有效负载,除非显式禁用。如果启用,SRX 系列防火墙应 OCSP 响应包含随机有效负载,否则吊销检查将失败。如果 OCSP 响应程序无法使用随机数有效负载进行响应,则必须在 SRX 系列防火墙上禁用随机数有效负载。

在正常业务过程中,证书会因各种原因被吊销。例如,如果您怀疑证书已泄露,或者证书持有者离开公司,您可能希望吊销证书。

您可以通过两种方式管理证书吊销和验证:

  • 本地 — 这是一个有限的解决方案。

  • 通过引用证书颁发机构 (CA) 证书吊销列表 (CRL) — 您可以按指定的时间间隔或 CA 设置的默认时间间隔自动联机访问 CRL。

在第 1 阶段协商中,SRX 系列防火墙验证在 IKE 交换期间从对等方收到的 EE 证书,并使用 CRL 确保 EE 证书未被其 CA 吊销。

如果设备上未加载 CRL,并且对等证书颁发者是受信任的 CA:

  1. Junos OS 通过配置的 LDAP 或 HTTP CRL 位置(即 CRL 分发点 (CDP))检索 CRL(如果在 CA 配置文件中定义)。
  2. 如果未在 CA 配置文件中配置 CRL 分发点,则设备将在 CA 颁发的证书(如果存在)中使用 CDP 扩展。CA 颁发的证书可以是管理员注册的证书,也可以是第 1 阶段协商期间收到的证书。

如果 EE 证书不是由根 CA 颁发的,则每个中间 CA 的证书将经过相同的验证和吊销检查。根 CA 的 CRL 用于检查根 CA 颁发的证书是否已吊销。如果未在根 CA 配置文件中配置 CDP,则设备将使用 CA 颁发的证书(如果存在)中的 CDP 扩展名。

可以将 X509 证书中的 CRL 分发点扩展 (.cdp) 添加到 HTTP URL 或 LDAP URL。

如果证书不包含证书分发点扩展,并且无法通过轻型目录访问协议 (LDAP) 或超文本传输协议 (HTTP) 自动检索 CRL,则可以手动检索 CRL 并将其加载到设备中。

即使禁用了 CRL 检查,也会根据证书吊销列表 (CRL) 验证本地证书。可以通过公钥基础结构 (PKI) 配置禁用 CRL 检查来阻止此操作。禁用 CRL 检查后,PKI 将不会根据 CRL 验证本地证书。

在线证书状态协议与证书吊销列表的比较

联机证书状态协议 (OCSP) 和证书吊销列表 (CRL) 都可用于检查证书的吊销状态。每种方法都有优点和缺点。

  • OCSP 实时提供证书状态,而 CRL 使用缓存的数据。对于时间敏感的应用程序,OCSP 是首选方法。

  • CRL 检查速度更快,因为证书状态的查找是在 VPN 设备上缓存的信息上完成的。OCSP 需要时间来从外部服务器获取吊销状态。

  • CRL 需要额外的内存来存储从 CRL 服务器接收的吊销列表。OCSP 不需要额外的内存来保存证书的吊销状态。

  • OCSP 要求 OCSP 服务器始终可用。当服务器无法访问时,CRL 可以使用缓存的数据来检查证书的吊销状态。

在 MX 系列和 SRX 系列防火墙上,CRL 是用于检查证书吊销状态的默认方法。

示例:手动将 CRL 加载到设备上

此示例演示如何将 CRL 手动加载到设备上。

要求

准备工作:

  1. 生成公钥和私钥对。请参阅 自签名数字证书

  2. 生成证书请求。请参阅 示例:手动为本地证书生成 CSR 并将其发送到 CA 服务器

  3. 配置证书颁发机构 (CA) 配置文件。请参阅 示例:配置 CA 配置文件

  4. 将证书加载到设备上。请参阅 示例:手动加载 CA 和本地证书。

概述

验证证书有效性时,可以手动加载 CRL,也可以让设备自动加载它。若要手动加载 CRL,请从 CA 获取 CRL 并将其传输到设备(例如,使用 FTP)。

在此示例中,您将加载从设备上的 /var/tmp 目录调用 revoke.crl 的 CRL 证书。CA 配置文件称为 ca-profile-ipsec。(最大文件大小为 5 MB。

如果 CRL 已加载到 ca-profile 中,则必须首先运行命令 clear security pki crl ca-profile ca-profile-ipsec 以清除旧的 CRL。

配置

程序

分步过程

要手动加载 CRL 证书,请执行以下操作:

  1. 加载 CRL 证书。

    Junos OS 支持以 X509、PKCS #7、DER 或 PEM 格式加载 CA 证书。

验证

要验证配置是否正常工作,请输入 show security pki crl 操作模式命令。

了解动态 CRL 下载和检查

数字证书在设定的时间段内颁发,在指定的到期日期后无效。CA 可以通过在证书吊销列表 (CRL) 中列出已颁发的证书来吊销该证书。在对等证书验证期间,通过将 CRL 从 CA 服务器下载到本地设备来检查对等证书的吊销状态。

为了便于在未配置 CA 配置文件时对证书进行 CRL 检查,将创建动态 CA 配置文件。将在本地设备上自动创建格式为 dynamic-nnn.

动态 CA 配置文件:

  • 允许本地设备根据对等方的本地证书颁发者下载动态 CA 和动态 CRL(对于相应的 CA)
  • 检查对等方证书的吊销状态

VPN 设备检查对等方的 EE 证书的吊销状态。VPN 设备使用从其对等方 收到的证书执行以下操作:

  • 提取 URL 以动态下载 CA 的 CRL
  • 检查对等方 EE 证书的吊销状态

在 中 图 1,主机 A 可以使用从主机 B 收到的销售 CA 和 EE 证书动态下载销售 CA 的 CRL,并检查主机 B 证书的吊销状态。

图 1: 基于证书的身份验证的多级层次结构基于证书的身份验证的多级层次结构

对于单层次结构 CA 服务器或 CA 证书链,本地 EE 证书和收到的对等 EE 证书从同一 CA 服务器颁发。

以下是基于不同配置的一些 SRX 系列防火墙行为:

  • 如果已使用 trusted-ca 或 trusted-ca 组配置 SRX 系列防火墙,则设备不会验证或信任任何其他 CA。
  • 如果您定义的 CA 配置文件具有一系列 CA,其中 SRX 系列防火墙仅信任根 CA,并且对等方具有由子 CA 签名的此根证书,则动态 CA 和 CRL 将添加到设备中。

表 1 提供了一些未创建动态 CA 或 CRL 的示例方案:

表 1: 示例方案

场景

情况

示例方案 1

在 CA 配置文件中,您已为 ca-profile-name 定义了受信任的 CA,并且您从具有由其他 CA 签名的证书的设备接收连接,该证书未在您的 CA 配置文件中定义为受信任的 CA。

示例方案 2

您已定义一个具有 CA 链的 CA 配置文件,其中 SRX 系列防火墙仅信任子 CA,对等方具有由该子 CA 上一级签名的证书。

要启用动态 CA 配置文件,必须在 [edit security pki ca-profile profile-name] 层次结构级别的根 CA 配置文件上配置该revocation-check crl选项。

对于动态 CA 配置文件,将继承根 CA 配置文件的吊销检查属性。在 中 图 1,用于根 CA 的主机 A 上的 CA 配置文件配置将启用动态 CA 配置文件,如以下输出所示:

在主机 A 上为 Sales-CA 创建动态 CA 配置文件。吊销检查是从根 CA 继承的 Sales-CA 动态 CA 配置文件的。

如果在根 CA 概要文件中配置了revocation-check disable该语句,则不会创建动态 CA 概要文件,也不会执行动态 CRL 下载和检查。

使用命令显示 show security pki crl 从动态 CA 配置文件下载的 CRL 的数据的方式与配置的 CA 配置文件下载的 CRL 的方式相同。动态 CA 配置文件中的 CRL 会定期更新,设备中配置的 CA 配置文件的 CRL 也会定期更新。从 CA 服务器下载的 CRL 的签名验证也需要对等 CA 证书。

需要 CA 证书来验证从 CA 服务器收到的 CRL;因此,从对等方收到的 CA 证书存储在本地设备上。从对等方收到的 CA 证书用于验证 CRL 及其颁发的证书。由于收到的 CA 证书不是由管理员注册的,因此在验证到根 CA 的整个证书链之前,证书验证成功的结果不是决定性的。根 CA 的证书必须由管理员注册。

示例:使用 CRL 位置配置证书颁发机构配置文件

此示例说明如何使用 CRL 位置配置证书颁发机构配置文件。

要求

准备工作:

  1. 在设备中生成密钥对。请参阅 数字证书

  2. 创建一个或多个 CA 配置文件,其中包含特定于 CA 的信息。请参阅 示例:配置 CA 配置文件

  3. 从 CA 获取个人证书。请参阅 示例:手动为本地证书生成 CSR 并将其发送到 CA 服务器

  4. 将证书加载到设备上。请参阅 示例:手动加载 CA 和本地证书。

  5. 配置自动重新注册。请参阅 示例:配置 SecurID 用户身份验证

  6. 如有必要,请在设备上加载证书的 CRL。请参阅 示例:手动将 CRL 加载到设备上

概述

在此示例中,指示设备检查调用 my_profile 的 CA 配置文件的有效性,如果 CRL 未随附 CA 证书且未加载到设备上,则从 URL http://abc/abc-crl.crl 检索 CRL。

配置

程序

分步过程

要使用 CRL 配置证书,请执行以下操作:

  1. 指定 CA 配置文件和 URL。

  2. 如果完成设备配置,请提交配置。

验证

要验证配置是否正常工作,请输入 show security pki 操作模式命令。

示例:验证证书有效性

此示例演示如何验证证书的有效性。

要求

配置此功能之前,不需要除设备初始化之外的特殊配置。

概述

在此示例中,您将手动验证证书,以了解证书是否已吊销,或者用于创建本地证书的 CA 证书是否不再存在于设备上。

手动验证证书时,设备将使用 CA 证书 (ca-cert) 来验证本地证书 ( local.cert)。如果本地证书有效,并且在 revocation-check CA 配置文件中启用了,则设备将验证 CRL 是否已加载且有效。如果 CRL 未加载且无效,设备将下载新的 CRL。

对于 CA 颁发的证书或 CA 证书,必须在设备的配置中配置 DNS。DNS 必须能够在分发 CRL 和 CA 配置文件配置中的 CA 证书/吊销列表 URL 中解析主机。此外,您必须具有对同一主机的网络可访问性才能接收检查。

配置

程序

分步过程

要手动验证证书的有效性,请执行以下操作:

  1. 验证本地证书的有效性。

  2. 验证 CA 证书的有效性。

    还会验证关联的私钥和签名。

验证

要验证配置是否正常工作,请输入 show security pki ca-profile 命令。

如果返回错误而不是正面验证,则失败记录在 pkid 中。

删除加载的 CRL(CLI 过程)

如果不再需要加载的 CRL 来管理证书吊销和验证,则可以选择删除该 CRL。

使用以下命令删除已加载的证书吊销列表:

指定 CA 配置文件以删除与该配置文件标识的 CA 关联的 CRL,或用于 all 删除所有 CRL。