3月份互联网行业最受关注的安全事件,莫过于某大厂的“养龙虾”产品的SSL证书私钥泄露。这绝不是一个孤立的偶然事件,它暴露了一个存在长达32年之久、并且仍可能继续存在的SSL证书私钥安全管理漏洞。事件发生后,业界和用户对私钥泄露的危害有了更直观的认识,但如何从根本上解决这一问题,却鲜有人深入探讨。而常用处理方式是吊销证书,但这实际上并没有真正解决问题。本文讲清楚如何彻底解决证书私钥泄露问题,供我国关基用户正确选择证书自动化解决方案参考。
PKI体系的核心在于公私钥对:私钥必须严格掌握在用户自己手中,公钥则需要公开,并可供验证其可信性与匹配关系。从安全原则出发,SSL证书的私钥理应在Web服务器上直接生成,确保私钥不出服务器,仅由Web服务器软件用于HTTPS加密的数字签名和加解密,IIS Web服务器正是遵循这一原则。然而,随着Nginx等Web服务器的普及,私钥逐渐以明文字符文件的形式存在。
这本应是由用户在服务器上自行生成私钥和CSR文件的过程,但CA机构或证书代理商出于“便捷”考虑,往往代为在线生成私钥和CSR,并将CA签发的SSL证书与私钥打包后一并通过明文邮件或微信交付用户。这种“便捷”的做法,使得私钥在生成后可能经过多人、多种途径人工传递,大大增加了泄露风险。证签证书申请系统虽然也提供了私钥和CSR在线生成的可选方式,并将私钥自动保存至用户本地电脑,但仍有用户抱怨,为何不能像其他CA那样直接提供打包好的私钥和证书文件——这种对私钥安全的忽视,恰恰暴露了行业长期存在的隐患。
这个私钥管理问题有多严重?大家看看现在几乎所有省政务云平台由于统一采用一个省级域名,所以基本上都是部署一张通配证书和共享同一个证书私钥,这个私钥在一年有效期内不知道要经过多少人的手才能把这一张证书部署到几百台甚至上千台服务器中去使用。大家可以想象一下,这个非常省钱的“损招”的私钥泄露概率几乎是100%。这个关系到政务云安全、关系到各个网银系统安全、关系到关基系统安全的密钥管理大事,已经到了必须高度重视的时候了。
答案是否定的。
证书泄露后的常规处理方式,是向签发CA申请证书吊销。但吊销之后,就真的安全了吗?现实情况是,浏览器为了优化用户体验,早已不再直接访问CA的证书吊销列表服务。曾使用过IE浏览器的用户可能见过类似这样的警告:
这是由于CA的吊销列表服务(包括CRL和OCSP)可能因网络原因超时或出现其他异常,谷歌浏览器干脆选择不再查询CA的吊销列表,而是自建Blocklist数据库供浏览器查询。至于吊销证书何时被收录到Blacklist数据库中,外界无从知晓,甚至可能永远不被收录。其结果是,用户访问部署了已吊销证书的网站时,谷歌浏览器不会给出任何安全警告——这正是当前普遍存在的现状。谷歌浏览器、微软Edge浏览器、火狐浏览器均采取此类处理方式。
如下图所示,某大厂泄露的SSL证书虽然在3月16日被CA吊销,但截至本文发布时,该证书仍未列入谷歌浏览器、微软浏览器和火狐浏览器的吊销列表库中。用户使用这些市场份额合计超过80%的浏览器访问部署了泄露的证书私钥的网站时,依然不会收到任何安全警告。这意味着,吊销证书实际上几乎形同虚设,是真正的“掩耳盗铃”。为了防止泄露的私钥被滥用,正确的做法不仅仅是要吊销证书,而且必须马上停止证书绑定的域名,而不是重签一张同域名新证书。
要彻底解决SSL证书私钥泄露问题,唯一的出路是证书自动化管理——在Web服务器上自动生成私钥,自动完成证书签发与部署。但传统ACME客户端方案,Web服务器管理员仍可接触到证书私钥,这本身就是一条不可忽视的泄露途径。而传统的SSL网关和WAF设备,也都依赖人工导入证书私钥和证书,同样无法保障私钥安全。
数字认证的思路是将私钥牢牢锁进“铁盒子”,让任何人都无法触及。这正是数字认证的SSL自动化网关的核心优势之一。用户完成网站交付设置后,网关会自动生成私钥和CSR文件,自动提交CSR至数字认证云PKI系统,待证书签发后自动取回并部署。整个过程,任何人都无法接触到证书私钥,从源头上杜绝了泄露可能。更值得一提的是:SSL自动化网关采用“一站一密钥一证书”的业界最高密钥安全标准,保证了每一个密钥都绑定一个网站专用,即使是多台网关为同一域名提供负载均衡服务时,也是每台网关为每个网站专用一个私钥,而不是采用不安全的共享密钥的通配证书。
这是目前唯一能够确保私钥绝对安全的解决方案:证书自动化是基础,网安硬件平台是保障。没有这两个条件,就无法实现真正的私钥安全防护。
在我国,USB Key个人证书和单位证书早已遵循这一原则来保障私钥安全。代码签名证书自2023年6月起,也被要求将私钥严格保存在USB Key中。唯独SSL证书,由于HTTPS连接量巨大,难以采用硬件方式保存私钥。可行的替代方案,便是将私钥文件锁死在硬件“铁盒子”中,通过自动化证书管理手段,确保私钥文件在其生命周期内不被任何人触及。
数字认证建议业界采用国际通行做法——由用户生成私钥,而非CA下发私钥。CA生成并下发私钥的规范仅适用于USB Key证书,并不适合国密SSL证书。事实上,在TLS 1.3协议下,HTTPS加密根本用不到加密证书,浏览器与Web服务器可通过协商生成临时加密密钥对,实现前向安全,有效防止已加密数据因加密证书私钥泄露而被解密。
HTTPS加密安全,始于证书私钥的安全。传统的人工证书处理方式,即便辅以层层管理制度规定,只要人能触及,就始终存在泄露风险。即使是当前流行的ACME客户端方案,虽然实现了证书自动化,私钥依然有暴露的可能。真正能够实现“无泄露可能”的,唯有SSL自动化网关——而非那些不支持证书自动化的传统SSL网关。
数字认证之所以将ACME客户端硬件化—ACME网关,核心原因之一正是为了从底层根本上保障证书私钥的安全。只有在这一基础上,HTTPS加密的安全才能真正落地,用户的信任才能真正被守护。
SSL自动化团队
北京数字认证股份有限公司
2026年6月24日