我应该在销毁不再使用的 Let's Encrypt 证书之前撤销它们吗?

信息安全 证书 公钥基础设施 证书吊销 让我们加密
2021-08-18 04:05:04

Let's Encrypt 文档建议当证书对应的私钥不再安全时,您应该撤销证书

但是,如果没有迹象表明密钥已被泄露,但您不再需要证书,您是否应该这样做?Let's Encrypt 证书将在 90 天后自动过期。删除证书及其私钥是否足够?

作为背景,这是我的具体场景:

  • 当我们部署新软件时,它将创建新的 EC2 实例,最终将替换现有实例(不可变服务器模式)。
  • 在启动时,新实例将获得一个新的 Let's Encrypt 证书。
  • 证书(及其私钥)永远不会离开 EC2 实例。

因此,当旧实例终止时,分配给该机器的证书将被销毁。此时,我们不再能够访问私钥。

问题:

  • 据我了解,撤销可能是一个好习惯。但严格来说,它不会增加系统的安全性(当然,假设私钥没有被泄露)。那是对的吗?
  • 它会帮助 Let's Encrypt 运营商明确撤销未使用的证书,还是会造成更大的伤害?(我不确定,但撤销可能会触发额外的进程,如果没有迹象表明密钥被泄露,这可能是不必要的。)
4个回答

这是一个主观的成本与风险决策。我们无法为您完成,但我可以帮助您检查所涉及的因素。

成本

给你:撤销证书的努力。如果您必须手动执行此操作,那很烦人,但如果您可以在 10 分钟内编写脚本并将其添加到您的 CloudFormation 播放中,那为什么不呢?正如@Hildred 指出的那样,这也表明您的服务器已退役,这可能被视为隐私/安全问题,具体取决于您的关心程度。

对于 LetsEncrypt:他们需要处理撤销请求,这不是一个特别繁重的请求。每个被撤销的证书都会在他们的CRL中添加一行,传输 CRL 的带宽成本会稍高,并且需要搜索 CRL 的 OCSP 响应者会受到轻微的性能损失。但这当然不是负担,因为该系统实际上就是为此而设计的。

风险

如果攻击者发现您在没有撤销证书的情况下终止了您的虚拟机,他们可以利用它来获得优势吗?流氓管理员(您的或亚马逊的)可能会在虚拟机被终止时从虚拟机中提取证书和密钥,而您不会更聪明。与从实时系统中提取它相比,这可能或更大的威胁吗?可能不是。


所以真的,我们正在处理非常小的成本与非常小的风险。你的选择。感谢您提出这个问题,考虑一下!

从安全的角度来看,如果私钥没有被泄露,则不需要撤销。

不必要的撤销会给 Let's Encrypt 基础架构增加一点负载,但不会太多:https ://community.letsencrypt.org/t/does-revocation-cause-additional-load/25203

您忽略的一种可能性是生成吊销,但在需要时才发布。它确实给您的基础架构带来了轻微的负担,但隐藏了机器的拆除,并且在需要时可以撤销。

这是一个非常主观的问题。

吊销证书没有害处。无论您是想简单地让它在适当的时候到期而不是明确撤销,这实际上取决于您的风险分析。如果您不撤销,当然存在更大的证书泄漏风险,但是如果您认为与维护麻烦相比,这种风险是可以接受的,如果您每次都明确撤销,那么您可以接受风险并这样做。

这种风险是否可以接受,您必须根据自己的基础设施自行评估。您可能希望列举有权访问密钥的人员列表,无论是作为您公司或数据中心的员工,还是通过盗窃等其他风险,并评估这些人中的任何一个人可能意外或故意泄露密钥。您还需要考虑系统中运行的服务列表,评估它们是否可以被滥用来泄露密钥方面的安全风险。您还必须评估密钥的用途,以及这些密钥被滥用会对公司造成多大的损害。基于这些和其他考虑,如果您想接受这些风险,您可以做出明智的决定。