在互联网安全领域,证书撤销一直是一个备受关注但难以彻底解决的问题。早在十多年前,安全专家亚当·兰利(Adam Langley)就指出了Web公钥基础设施(PKI)中撤销机制的根本缺陷。然而,尽管近年来Web PKI环境有了显著改善,传统的撤销系统仍难以有效运作,许多人仍希望通过创新技术来直接"解决"撤销问题。然而,实际上,撤销问题已经不再是必须要"解决"的难题,现有的最佳做法是通过缩短证书的生命周期来彻底改变这一局面。传统的撤销机制主要包括在线证明状态协议(OCSP)和证书撤销列表(CRL)。然而,在实际应用中,这两种机制都面临极大的困难。
OCSP响应时间慢且不可靠,且对用户隐私构成威胁,使得浏览器难以一直使用它作为阻断式验证手段。而CRL通常体积庞大,用户难以频繁完整下载,尤其是在移动网络环境下可靠性更低。更重要的是,Web环境中的连接模型限定了客户端、服务器和证书颁发机构(CA)之间的通信方式。浏览器作为依赖方(RP),无法保证直接且实时地与CA连接,因为在全球范围内,CA不可能成为每一次网络连接的阻断节点,否则其承载能力将无法承受。OCSP逐渐被弃用的事实,正是这种连接模型失败的明证。用户终端唯一必然保持连接的,是当前所访问的网站服务器。
浏览器或许借助后台更新机制从软件供应商处获取某些信息,但这些都无法保证在任意时刻都能即时通讯。服务器作为认证方(AP),与CA有着非阻塞的业务联系,主要负责在证书有效期内更新证书。然而,即便证书生命周期缩短至一天,服务器的问题依然是保证自身服务的可用性,无法承担与CA的实时阻塞式通信。撤销机制的失败其实根源于这样一个事实:浏览器客户端不能保证实时连接CA,服务器也难以保证实时获取最新撤销状态。OCSP Stapling曾被提出作为改进方案,即服务器定期向CA请求OCSP响应,缓存后发给浏览器验证。然而OCSP Must-Staple证书标记要求服务器必须提供有效的OCSP应答,否则证书无效。
此一设计无疑对服务器提出了更苛刻的要求,因为服务器必须与同一家CA在及时窗口内保证连接,一旦无法满足,其服务将受到连锁影响,实际等同于令CA成为阻断点,极大影响服务器的可用性和稳定性。这二者对应的基本逻辑是:在目前的Web网络自身结构之下,撤销状态的有效信息只能由服务器在通信时提供,或者由浏览器厂商周期性地推送到客户端。然而服务器仅能保证在发证时获取原始证书,而浏览器厂商由于连接和数据量限制,也只能有限度地推送撤销信息。于是,带有固定有效期的证书本身成了保证安全的基石。撤销信息能传达的,只是该证书是否仍处于有效期内。社会各方不约而同地转向了使用短期证书作为根本解决方案。
短期证书拥有极短的有效期,通常接近或短于前OCSP响应的有效期,理想情况下与浏览器撤销信息更新周期(通常为一到两天)保持同步。这样,即使证书存在安全隐患,最大风险窗口也被限制在其短暂的有效期内。虽然未必完美,但这是现阶段基于Web网络连接模型的最佳实践。目前的趋势显示证书生命周期正不断缩短。过去十年里,证书的最大有效期逐步从2015年的39个月,2018年的825天,到2020年缩减至398天;预计到2029年,更短的47天证书将成为标准。同时OCSP服务器的托管已不再是强制要求,CRL反而被普遍施行,为浏览器厂商提供了处理撤销状态的手段。
基于证书透明度(CT)机制,浏览器能够更早检测恶意或错误发放的证书,提高整体体系的透明度和安全性。自动化工具如ACME协议推进了证书生命周期管理的高效化,多个CA已经开始提供有效期低于一周的短期证书。每次证书有效期的缩短,都在实际降低因证书泄露或失效带来的安全风险。网络环境瞬息万变,从证书颁发到过期之间存在的时间越短,潜在的攻击者所能利用的不良证书模块就越有限。这种做法不仅提升了安全性,也符合现代互联网服务的高可用性和灵活性需求。当然,若想真正超越短期证书带来的安全保障,必须从根本上革新Web PKI的连接模型,即如何保证客户端、服务器与CA之间的实时通信和信任传递。
然而这种变革极可能引入新的中央化信任实体,面临规模巨大和复杂的信任管理挑战。总体而言,撤销在当前公共Web PKI体系中已不再是核心难题。短期证书的推进和浏览器基于CRL的间接撤销信息推广,为安全体系打下坚实基础。除了Web PKI,其他类型的PKI可能有不同的需求和解决方案,但对于广大互联网用户和网络服务提供商而言,不断缩短证书生命周期是持续提升安全防护能力的关键。随着技术发展与业界的共同努力,短期证书正逐渐成为保障互联网通信安全的标配,促使整个网络环境更加可靠和可信。 。