事件概述:一家印度 CA 的中间证书私钥,弱到在笔记本上秒破
2026 年 10 月 17 日,安全研究者向各大浏览器根证书计划报告:印度证书颁发机构 eMudhra(emSign)有 8 张中间 CA 证书的私钥在生成时存在严重缺陷。正常情况下,P-384 椭圆曲线私钥应当具备约 384 位的密钥空间,而这 8 个私钥的实际整数值分别只有 4、56、66、115、155、156、230 和 237——全部小于 256,相当于只有一个字节的有效熵。研究者 Scott Helme 在一台普通笔记本上不到一秒就恢复了全部私钥。
事件响应速度罕见地快:Chrome 当天通过 CRLSet 按公钥哈希封锁了受影响的 6 张 TLS 中间证书;Mozilla 当晚通过 OneCRL 封锁受影响证书,并在 10 月 20 日发布 Firefox 158.0.1(以及 ESR 115.43.1 / ESR 153.5.1),把更新后的证书封锁名单直接打进客户端;苹果 10 月 19 日、微软 10 月 20 日相继跟进。eMudhra 则在 10 月 18 日吊销了全部 8 张受影响中间证书。据 CERT-In 10 月 21 日前后的信息,目前没有公开证据表明这些私钥已被实际滥用。
弱私钥是怎么产生的:密钥生成仪式的一次"手滑"
按 eMudhra 10 月 21 日的声明,问题源于 2025 年 4 月 30 日一次密钥生成仪式(KGC):流程中的一个 wrap/unwrap(包装/解包装)步骤出现缺陷,在生成一套正常强密钥的同时,额外产出了一套弱密钥,而最终被发布到浏览器信任库里的恰恰是这套弱密钥。这些密钥自 2025 年年中进入浏览器信任列表,2025 年 5 月还经过 Sectigo 的 AAA Certificate Services 交叉签名,等于"有效公开"了约 17 个月。
eMudhra 同时强调:受影响的是其全球 TLS 业务下的 8 张中间 CA,根 CA 私钥未受影响;其印度本土的数字签名证书(DSC)与 eSign 业务使用完全独立的基础设施和密钥,未受波及。公司在事发后与可能受影响的客户一对一沟通换发证书,并继续调查根因。
影响范围:不只是浏览器
先说清楚哪些东西没有出问题。据 Google 的检查,在封锁生效前,证书透明度(CT)日志中没有发现任何链到受影响中间证书的伪造 TLS 证书;eMudhra 也称这些中间证书均未签发过终端实体证书,且除一张外都未部署到生产环境。也就是说,截至目前这是一次"险些发生"的事故,而非已经发生的规模化中间人攻击。
但风险敞口是真实存在的。任何拿到这些私钥的人,都可以为任意域名签发浏览器信任的 TLS 证书——冒充银行、邮箱、软件更新服务器,在能拦截网络流量的位置(公共 Wi-Fi、被攻陷的路由器、运营商链路等)实施中间人攻击,读取或篡改"看起来有效"的加密通信;受影响的代码签名中间证书则可能让恶意软件看起来像来自可信发布者。
容易被忽略的是浏览器之外的软件。Go、Python、Rust、curl、各 Linux 发行版以及大量容器镜像都内置了自己的信任库,它们不会随浏览器封锁自动更新。Cloudflare 披露,其在 10 月 19 日获悉问题后,向 WARP 客户端、1.1.1.1 App 和 cloudflared 推送了更新,并在 10 月 20 日完成 CDN 与 Zero Trust 产品的缓解部署,未发现自身服务上存在实际利用。使用这类自带信任库的软件、网关、探针和 IoT 设备的企业,需要逐家确认是否已更新。

为什么普通用户也值得关注
很多读者会觉得"CA 的事离我很远"。其实地址栏那个小锁的可信度,完全依赖"被信任的 CA 只为合法域名签发证书"这一假设。中间证书私钥相当于一张"万能介绍信"——拿着它就能给任何网站开出可信身份证明。一旦这类密钥泄露或被预测,理论上任何人都能造出一个浏览器不报警的假网站。
对个人用户来说,这次事件的实际情况是:主流浏览器在报告当天就完成了封锁,绝大多数用户什么都不做也已受到保护;Firefox 158.0.1 只是为那些通过策略禁用了远程设置(RemoteSettings)更新的用户补上最后一块短板。真正需要普通用户做的,是保持浏览器和操作系统更新,以及在看到证书错误警告时永远不要点"继续访问"——这次事故没有证据显示被利用,但下一次未必这么幸运。
站长和企业运维的排查与处理建议
如果你负责网站或企业内网,建议按以下思路自查(操作以各厂商官方公告为准):
1. 确认浏览器和终端版本。Firefox 用户检查"菜单 → 帮助 → 关于 Firefox",桌面与 Android 应为 158.0.1 或更高,ESR 用户应为 115.43.1 / 153.5.1;Chrome、Edge、Safari 保持自动更新即可。企业内网如通过策略固定了浏览器版本,重点核查是否处于受影响区间。
2. 排查自有证书链。在浏览器中点击地址栏锁标志 → "连接安全" → 查看证书,确认颁发机构是否为 emSign / eMudhra 相关中间证书;也可以登录服务器用 openssl s_client -connect 域名:443 -servername 域名 查看证书链。除 Web 服务器外,别忘了 CDN、WAF、负载均衡、API 网关和邮件系统上配置的证书。
3. 确认使用受影响证书后的动作。如确认命中,联系证书颁发机构换发证书;换证属于生产变更,建议先在测试环境验证新链,再选择业务低峰期操作,并提前备份现有配置。据 eMudhra 声明,其正在协助受影响客户换发,以降低服务中断。
4. 更新非浏览器信任库。通过系统更新升级 ca-certificates、NSS 等信任库包;对 Go、Python、Rust 等运行时与容器基础镜像,按各项目官方渠道升级到已包含新信任库的版本;对无法自动更新的嵌入式设备,盘点是否有内置信任库并制定更新计划。
5. 关注 10 月 27 日前后的根证书库变更。Google 已宣布 Chrome Root Store 将移除签发受影响中间证书的 emSign ECC Root CA - G3,预计 10 月 27 日起逐步到达设备;Mozilla 也在 NSS 3.131.1 中移除了该根证书。依赖该根链的业务需提前确认换证进度,避免根证书移除后合法证书突然不被信任。
后续观察
这一事件值得持续关注的有三点:一是 eMudhra 的根因调查结论,尤其是密钥生成仪式为何会额外产出弱密钥、审计流程为何未能发现;二是 Chrome、Mozilla 移除 emSign ECC Root CA - G3 的推进情况,以及是否有网站因此出现访问异常;三是 CT 日志中是否会出现链到受影响中间证书的可疑证书——目前没有,但这正是判断"事故是否变成事件"的关键信号。
对行业的启示同样清晰:HTTPS 的安全水位不取决于最强的环节,而取决于最弱的 CA 密钥。浏览器根证书计划这次用"小时级"响应证明了封锁机制的有效性,但那张弱私钥毕竟在信任库里待了 17 个月。对普通用户,结论是及时更新、别点"继续访问";对站长和运维,结论是盘好自己链上的每一张证书——包括那些不随浏览器自动更新的信任库。
本文信息基于 Mozilla 安全公告(MFSA 2026-111)、CERT-In 公告(CICA-2026-3649)、eMudhra 官方声明及公开安全媒体报道整理,具体处置请以各厂商官方公告为准。











暂无评论内容