证书吊销列表(CRL)简介

在数字安全领域,通信与交易的信任至关重要。证书吊销列表(CRL)是维护这一信任的关键组件。本文将深入探讨 CRL 及其运作方式,以及它们如何增强数字通信安全。

什么是证书吊销列表

证书吊销列表是由证书颁发机构(CA)维护的记录,列出在其计划到期日之前已被吊销的数字证书。不应使用 CRL 中的证书建立安全连接,因为它们不再被视为可信或安全。CRL 能揭示被撤销的证书,这正是其在公钥基础设施(PKI)系统中不可或缺的原因。CRL 揭示证书是否已被吊销,但不像 OCSP 那样实时校验证书的当前可靠性。

为何需要证书吊销列表

CRL 对数字安全至关重要,因为它确保被盗或遭篡改的证书失效。若被篡改的证书落入欺诈者之手,可能引发安全漏洞,对数字交易构成重大威胁。CRL 的重要意义在于列出 CA 已吊销的证书,系统定期核查这些列表以帮助识别被吊销证书、防范安全漏洞。

CA 为何将证书列入 CRL

CA 将证书列入 CRL 的原因有多种,以下两个最为突出:

密钥泄露:若入侵者获取与证书关联的私钥,便可欺诈性地冒充真实所有者、解密私密通信或实施其他恶意行为。企业私钥一旦落入错误之手,黑客即获得访问权限。CA 通过将受损证书加入 CRL 来降低此风险。

CA 自身遭入侵:若不幸事件导致 CA 自身被攻破,CA 被迫吊销此前签发的任何证书,以避免证书被滥用。即便看似极端,这也是为了维护终端用户的信任。例如,若攻击者攻破 CA 系统并获取根证书,该 CA 签发的所有证书都将被视为欺诈;CA 判定这些证书构成真实安全风险后,会将其吊销并列入 CRL。

证书吊销列表包含哪些内容

颁发者(Issuer):此部分注明负责签发证书注册列表的 CA,由其 oversee 数字证书生命周期(含签发与吊销)。例如,若 DigiCert 签发了该 CRL,"DigiCert"即显示为 CA。

发布信息(Present Information):注明 CRL 的发布时间与日期,以及下一次计划修订时间,以确保 CRL 准确性并告知用户下次更新时间。例如,CRL 可能注明本次更新于 2024 年 9 月 22 日 10:00 发布,计划于 2024 年 10 月 22 日 10:00 更新。

已吊销证书(Revoked Certificates):列表中所有已被吊销的证书。每条记录通常含吊销证书的序列号与吊销日期,使系统能识别并拒绝不再有效的证书。例如某吊销记录可能为"吊销日期:2024 年 9 月 15 日,序列号:1234567890"。

吊销理由(Revocation Justifications):如可得,此处给出各证书的吊销原因,常见包括密钥泄露、CA 泄露、隶属关系变更、证书过时与业务终止。例如因密钥泄露被吊销的证书可能标注"理由:密钥泄露"。

证书吊销列表如何运作

证书吊销:若证书因私钥公开、所有者不再需要或其他原因受损,CA 将其吊销,随后把证书(含所有被注销证书的序列号)追加至 CRL。

CRL 分发:CA 定期更新并发布 CRL,列表可在 CA 官网及其他授权渠道获取。

CRL 检查:系统遇到证书时,会在 CRL 中查找其序列号。若证书在 CRL 中,系统将拒绝使用,标记为无效,确保被吊销证书不被信任。

定期更新:CRL 虽定期传输,但吊销与 CRL 更新之间可能存在延迟;不过可结合在线证书状态协议(OCSP)实现实时状态校验。

数字证书为何被吊销

为维护数字通信的机密性与信任,数字证书可能被吊销,原因包括错误信息、恶意行为、所有权或职位变更、或政策违规。当证书私钥遭入侵时也会被吊销,使其在交易中不再可信。CRL 仅信任真实证书,对保护安全与完整性、防止使用受损证书、抵御潜在攻击至关重要。

浏览器如何检查证书吊销

当浏览器怀疑某 SSL 或 TLS 证书遭入侵或不再有效时,会查找证书吊销。通常采用两种主要方法:

证书吊销列表(CRL):由 CA 提供的已吊销证书序列号列表。浏览器下载该列表后核查争议证书是否在内。

OCSP(在线证书状态协议):浏览器借此向 CA 的 OCSP 服务器查询证书状态的实时信息,服务器返回证书未知、已吊销或良好的详情。浏览器可根据配置与证书参数选用其中一种或两者结合。

CRL 的类型

证书吊销列表主要分为两类:

完整 CRL(Full CRLs):列出 CA 签发的全部已吊销证书及其序列号,详尽但可能体积庞大,尤其对吊销量大的 CA。

增量 CRL(Delta CRLs):仅含自上次完整 CRL 生成以来新吊销的证书,体积更小、处理更高效,作为完整 CRL 的增量补充。

CRL 面临的挑战

CRL 面临多种问题:延迟(因定期更新,吊销信息可能无法即时获取);体积(大型 CRL 下载与处理较慢);隐私顾虑(OCSP 等方法通过向 CA 发送查询可能暴露用户浏览历史)。

CRL 的替代方案

尽管 CRL 常被使用,仍有更高效的证书吊销校验方案:

在线证书状态协议(OCSP):浏览器实时查询 CA 以校验证书吊销状态的方法。

CRL Sets:部分浏览器(如 Chrome)使用的 CRL 集合,可快速校验证书吊销而无需下载完整 CRL。

CRL 示例

以下是一个 CRL 的示例结构(含颁发者、发布时间、已吊销证书序列号与吊销日期、吊销理由等字段)。

CRL 使用场景

CRL 在各类安全敏感应用中验证证书有效性方面不可或缺,包括:网页浏览(确保网站使用有效、未吊销证书进行安全通信);邮件安全(通过校验加密或签名邮件的证书保护通信);软件分发(确保软件更新由真实证书签名,避免安装欺诈软件)。

结语

总而言之,CRL 通过验证证书、防范使用未授权证书可能引发的危险,维护了数字通信的信任。它强化了数字交互的安全性,强调证书的定期更新与审计的重要性。