什么是 OCSP 装订以及如何使用?

如今,所有网站都必须获得由可信的证书颁发机构签署的有效 SSL 证书。 如果您的证书已过期或被撤销,浏览器将不再信任您的证书。 浏览器使用在线证书状态协议(OCSP)来确定 SSL 证书的有效性。 然而,最初的 OCSP 有一些缺点,而 OCSP 订书技术成功地克服了这些缺点。

在本文中,你将了解什么是 OCSP stapling、它如何工作以及它在 SSL 管理和基础架构中的重要性。


目录

  1. 什么是 OCSP?
  2. 什么是 OCSP 订书钉?
  3. OCSP 订书机如何工作
  4. OCSP 订书钉有哪些优势?
  5. OCSP 订书钉有哪些限制?
  6. 哪些浏览器支持 OCSP 订书?
  7. 如何验证服务器是否启用了 OCSP 装订?
  8. 如何启用 OCSP 订书钉?

什么是 OCSP?

简单地说,OCSP是一种让设备(手机或台式机)检查网站使用的数字证书是否仍然有效的方法。

SSL 证书可验证网站和在线交易的身份,并对用户浏览器和网站服务器之间交换的数据进行加密,从而确保网站和在线交易的安全。 不过,所有可信证书都有过期日期。 此外,在发生重大安全事件时,它们可能会被撤销,不再受到信任。

这就是 OCSP 的作用所在。 当您使用 HTTPS 访问网站时,浏览器会与网站的证书颁发机构(CA)进行核对,查看证书是否仍然有效。

该过程在后台进行,如果证书不再有效,浏览器会显示警告信息,提醒您注意潜在的安全风险。


什么是 OCSP 订书钉?

OCSP 订书钉是一种技术,可提高网络浏览器为验证网站 SSL 证书而进行的在线证书状态协议(OCSP)检查的性能和安全性。

通过 OCSP 订书机,网站服务器从证书颁发机构获取 OCSP 响应,并在 SSL 握手过程中将其 “订 “到 SSL 证书上。 然后,装订好的响应会连同证书一起发送给浏览器,这样浏览器就不需要单独进行 OCSP 检查了。

什么是 OCSP 必须加密?

OCSP Must-Staple是一种安全扩展,可添加到 SSL 证书中,以确保每次访问网站时都检查证书状态。 当证书启用 OCSP 必须标记时,网站服务器在收到 SSL 证书时必须向客户端发送 OCSP 标记。

如果服务器在检查证书状态时无法得到有效响应,网站就无法加载。 这有助于防止攻击者利用被吊销的证书冒充网站或截取敏感数据。


OCSP 戳记与 CRL 有何不同?

OCSP 订书钉和证书吊销列表(CRL)用于检查 SSL 证书的吊销状态。 不过,它们的运行方式和对 SSL 握手过程的影响有所不同。

证书吊销列表(CRL)是包含已吊销证书列表的存储库。 客户端通过 SSL 连接服务器时,服务器会向客户端发送数字证书。

然后,客户端通过从证书颁发机构的存储库下载证书废止列表,并将证书序列号与废止证书列表进行比较,来检查证书的废止状态。 如果证书在 CRL 上,客户端将拒绝证书并终止握手。

另一方面,OCSP 订书机是一种机制,允许服务器在证书状态请求中提供带签名和时间戳的 OCSP(在线证书状态协议)响应及其数字证书。

由于它已包含证书的吊销状态,客户端只需检查服务器直接提供的 OCSP 应答器,而无需下载 CRL 并对照吊销证书列表验证证书状态。


为什么 OCSP 订书钉很重要?

访问 HTTPS 网站时,浏览器会检查数字证书的状态。 为了确认证书是否仍然有效,浏览器会使用 OCSP 与证书颁发者(即证书颁发机构)联系。 由于 CA 是掌握 SSL 证书关键信息的唯一实体,它必须实时回答大量 OCSP 请求,尤其是来自高流量网站的请求。

从经济上讲,这对 CA 来说是一种消耗成本的做法,但最终用户也会受到影响,因为多个 OCSP 响应会降低加载速度。 使用普通 OCSP 时,浏览器必须向网络服务器和证书颁发机构查询证书。 OCSP 订书机简化了整个过程。


OCSP 订书机如何工作

如你所知,当浏览器连接到安全网站时,它必须联系证书颁发机构的 OCSP 服务器,以检查 SSL 证书的有效性。 这个过程会延迟页面加载时间,因为浏览器需要等待 OCSP 服务器做出响应。

OCSP stapling 改进了 OCSP 协议,让网络服务器而不是浏览器查询 CA 的 SSL 证书状态。 当网络服务器与 SSL 供应商联系时,CA 会提供高度安全的数字时间戳响应。 现在,当网络服务器连接到浏览器时,它就会将签名的时间戳与 SSL 证书绑定,从而加快验证速度。 浏览器不会联系 CA,而是验证服务器的时间戳,因为它形成了一个可靠的 CA,所以浏览器会信任证书。


OCSP 订书钉有哪些优势?

OCSP 订书钉具有多种优势,但主要是增强了安全性、提高了性能和降低了网络流量。

  • 增强安全性。 OCSP 订书防止因证书被吊销而可能发生的安全攻击。 钉书针式响应可确保客户端掌握最新的证书吊销状态,从而降低中间人攻击和其他证书漏洞的风险。
  • 提高性能。 OCSP 订书钉可减少与证书吊销检查相关的延迟,从而提高性能。 客户端无需直接查询 CA 的 OCSP 服务器,服务器可在SSL 握手过程中提供钉书针式响应,从而减少往返次数,加快连接建立速度。
  • 降低网络流量。 由于无需直接联系 CA 的 OCSP 服务器,OCSP 装订可显著减少网络流量和服务器负载。 这有助于提高网站的可扩展性和可靠性,尤其是在高流量时期。

OCSP 订书钉有哪些限制?

虽然 OCSP 订书机提供了一些好处,但它也有局限性和潜在的缺点。 下面是其中的一些:

  • 可能存在的安全风险。 OCSP 订书涉及在网络上以明文发送敏感信息,这会带来潜在的安全风险。 例如,攻击者可能会截获并修改装订好的响应,从而给客户端带来虚假的安全感。
  • 依赖证书颁发机构。 OCSP 装订要求网络服务器从证书颁发机构的 OCSP 服务器获取装订响应。 如果 CA 的 OCSP 服务器出现故障或问题,网络服务器将无法提供有效的装订响应。
  • 缓存问题。 OCSP 订书机响应由客户端和服务器缓存,如果缓存不定期更新,就会产生问题。 如果证书在装订响应缓存后被撤销,客户端仍可信任该证书,直到缓存被更新。

哪些浏览器支持 OCSP 订书?

大多数现代网络浏览器(如 Chrome、Firefox、Safari 和 Microsoft Edge)都支持 OCSP 订书。 不过,一些较旧或不常用的浏览器可能不支持该功能,或者支持程度因具体版本和配置而异。


如何验证服务器是否启用了 OCSP 装订?

您可以使用在线工具或OpenSSL 等命令行实用程序来测试服务器是否默认启用了 OCSP 装订。 具体步骤取决于您使用的服务器类型。 在下一节中,我们将说明如何在 Windows、Apache 和 Nginix 上检查 OCSP 装订状态并启用它。


如何启用 OCSP 订书钉?

下面,我们提供了在常用的 Windows、Apache 和 Nginx 服务器上启用 OCSP 装订的说明。

在 Windows 上启用 OCSP 订书钉

Windows Server 2008 及更高版本默认启用 OCSP 装订。 如果运行的是较早的 Windows Server 版本,则无法启用 OCSP 订书钉。 请升级到 Windows 2008 或更高版本。


在 Apache 上启用 OCSP 订书钉

Apache 从 Apache HTTPD Web Server 2.3.3+ 开始支持 OCSP 订书钉。 如果不知道运行的是哪个版本,请使用以下命令:

apache2 -v
httpd -v

接下来,检查是否启用了 OCSP。 请按照以下步骤操作:

  1. 在 OpenSSL 中输入以下命令:

    openssl.exe s_client -connect[yourdomain .com]:443 -status

    如果启用了 OCSP,您将在 OCSP 响应数据部分收到以下响应:”OCSP 响应状态:成功 (0x0)”。 如果未启用 OCSP,则不会看到任何 OCSP 响应数据。 在这种情况下,请确保中间证书已正确安装。
  2. 验证 Apache 服务器是否已成功连接到 OCSP 服务器。 运行以下命令

    curl ocsp.digicert.com/ping.html
  3. 要启用 OCSP 订书钉,需要使用自己选择的编辑器编辑网站的虚拟主机配置文件(your-domain.com-ssl.conf)。 配置文件通常位于以下目录:etc/apache2/sites-available/your-domain.com-ssl.conf
  4. Open the file and make the following changes:
    • 在<VirtualHost> 标记内添加以下几行:

      开启 SSLUseStapling
      SSLStaplingResponderTimeout 5
      SSLStaplingReturnResponderErrors 关闭

    • 在标记内添加一行,指向可信证书链文件。 其中必须按顺序包含中间证书和根证书:

      SSLCACertificateFile /etc/apache2/ssl/full_chain.pem
    • 在<VirtualHost> 标记外添加以下一行:

      SSLStaplingCache shmcb:/var/run/ocsp(128000)
  5. 测试配置

    apachectl -t
  6. 重启 Apache 服务器

    apachectl restart

在 NGINX 上启用 OCSP 钉书机功能

OCSP 订书钉在 NGINX 13.7 或更高版本上可用。 检查您的 NGINX 网络服务器版本:
nginx-v

使用以下 OpenSSL OCSP 装订命令行:

  1. 检查是否启用了 OCSP 装订。 在 OpenSSL 中运行以下命令:

    openssl s_client -connect[yourdomain .com]:443 -status
  2. 如果启用了 OCSP,则 OCSP 响应数据部分应显示OCSP 响应状态:成功 (0x0)
  3. 如果未启用,则不会看到任何 OCSP 响应数据。 如果没有收到已启用 OCSP 的确认,请使用本故障排除指南
  4. 要启用 OCSP 装订,首先要编辑网站的服务器块配置文件(如果不使用服务器块,则编辑 nginx.conf):

    nano /etc/nginx/sites-enabled/my-domain.com-ssl.conf



    nano /etc/nginx/nginx.conf

    注意:如果只需在一个服务器块上启用 OCSP 装订,则该服务器块必须是 “default_server”。 如果需要在多个服务器块上启用,则必须先在 “默认服务器 “上启用。 然后就可以在任何其他服务器模块上启用它。
  5. 在服务器块内添加两行,打开 OCSP 装订并启用服务器检查 OCSP 装订:

    开启 ssl_stapling;
    ssl_stapling_verify开启;

  6. 指明可信证书链文件,其中按顺序包含中间证书和根证书:

    ssl_trusted_certificate /etc/nginx/ssl/full_chain.pem
  7. 检查您的配置:

    sudo service nginx configtest
  8. 重启 NGINX:

    sudo service nginx reload

结论

OCSP 订书钉是不断增加的 SSL/TLS 扩展功能中的又一项有用功能。 随着网络的发展,证书管理技术也在不断进步。 通过在初始握手中包含数字签名响应,服务器可避免客户查询 CA 的 OCSP 响应器,从而减少延迟和潜在的隐私问题。

立即订购 SSL 证书, 可节省 10% 的费用!

快速发行, 强大加密, 99.99% 的浏览器信任度, 专业支持和 25 天退款保证. 优惠券代码 SAVE10

撰写人

经验丰富的内容撰稿人, 擅长 SSL 证书. 将复杂的网络安全主题转化为清晰, 引人入胜的内容. 通过有影响力的叙述, 为提高数字安全作出贡献.