这事最不起眼的一个细节,发生在去年6月,比这次曝光早了十六个月。当时Sectigo的工程师就报告过,印度公司eMudhra发布的六份吊销列表,签名验证不过。
按eMudhra事后自己的交代,他们把列表重新签了一遍,案子就算结了。这其实是明晃晃的线索:列表是用原来那把正常的钥匙签的,可证书里登记的公钥是另一把。
两把钥匙对不上,为什么对不上,当时没人往下问。十六个月后,8把能给全世界网站发证的钥匙被人几秒钟算了出来,没一把超过255。
我的判断很直接:这不是飞来横祸,是一个被放过去的预警。再看源头。
2025年4月30日,eMudhra搞了一场密钥生成仪式,一口气做24张中间证书。仪式用的脚本有缺陷,硬件里除了该有的强密钥,还多生成了一对弱的。
两对密钥的标签差不多,经办人把弱的那对拿去提了签发申请。这8张证书的私钥,最后查出来分别是4、56、66、115、155、156、230、237。
公司自己的结论是“多个环节都有人为失误”。这话我信,因为一次拿错只能出一张,8张全拿错,说明中间没人复核过,没有一道关卡拦下哪怕一次。
为什么叫万能钥匙?浏览器和操作系统出厂时都带着一份可信机构名单,名单上的根证书往下派中间证书,中间证书再给千千万万个网站发HTTPS证书。
谁拿着中间证书的私钥,谁就能给任何域名签一张浏览器认账的证书。当然,真要拿来害人,还得先把你的网络流量截住,比如你正好连了个被人做过手脚的公共Wi-Fi。
谷歌后来也提到,这批证书没在公开的证书透明度日志里出现过,所以没有发现被实际利用。可我得说句实在话,没出事不是因为锁结实,是因为外面的人还没来得及动手。
安全研究员斯科特·赫尔姆用一台笔记本,不到一秒把8把全恢复了。Mozilla收到报告后,两个小时内自己独立算出了同样的结果。
后来还有人让AI智能体照着一句提示词重做了一遍,一样成功。我想强调的是,这件事不需要国家级的算力,也不需要什么黑客天赋,会写个小循环的人都够得着。
门槛低到这个程度,才叫真正的危险。再看大厂反应,我是服气的。
10月17日世界协调时18点05分,谷歌收到报告,19点45分,Chrome的拦截更新就上线了,用不着用户升级浏览器。Mozilla在20点06分收到报告,22点59分前,8张证书全部封死。
苹果19日、微软20日在系统层面跟上,安卓手机19日夜里通过Google Play服务拿到了同样的拦截。反倒是eMudhra自己,18日才宣布吊销,比几家巨头还慢一步。
从周六到周二,四道闸门依次落下,说一句连夜拉黑,一点不夸张。更重的一刀,砍在根上。
Mozilla和谷歌先后决定,把给这些中间证书背书的emSign ECC Root CA-G3根证书移出信任库,Chrome从10月27日起全面生效。道理不复杂:有些软件没法逐张封中间证书,那就把上头的根整个拔掉,宁可误伤,不留缺口。
我的看法是,这一刀砍得对,但也让人看清了一件事:根一拔,凡是挂在这条链下的合法证书全跟着失效,无辜的用户和站点得陪着换。一把弱钥匙的账,最后是一大片人在买单。
这里我想多说一层,就是谁说了算。eMudhra是唯一被主流浏览器接纳的印度根证书机构,累计签发超过6000万张证书,业务做到二十多个国家,在印度上市,在国内数字签名领域算头部。
可它的“可信”二字,几家美国公司一个周末就能收走。谁来定名单,谁有权删名单,谁就是裁判。
别国的机构规模再大,在这套规则里也只是选手。这不是技术问题,是规则话语权问题,所以数字时代讲自主可控,不能只盯着芯片和操作系统,信任这一层同样要盯着。
市场的惩罚比规则更直接。eMudhra股价连续跌停,三个交易日累计跌去约四成。
10月22日,董事会宣布退出全球SSL/TLS证书业务,理由是这块只占营收约1%,加上免费证书和合规成本,利润早被挤薄。董事长还抱怨社交媒体放大了事件,关注度和这块业务的分量不成比例。
这话我不认同。1%的业务,拖着另外99%的股价一起下坠,恰恰说明做信任生意的公司,没有“小业务”这一说。
你的牌子挂在全球浏览器的名单上,就得按全球的标准要求自己。把镜头拉远,印度这回的栽法很特别。
2011年,荷兰的DigiNotar被黑客攻破,伪造出包括谷歌域名在内的证书,大批伊朗网民的通信被盯上,公司当年就破产了。2017年,美国的赛门铁克因为长期乱发证书,被谷歌牵头逼着交出业务,卖给DigiCert。
一个死在外部攻击,一个死在长期积弊。印度这家,没有攻击,也没有已知的利用,是自己亲手造出了一串不超过255的数字。
荷兰、美国、印度,三个国家三种倒法,共同点就一个:信任是别人授予的,收回去的时候,连商量的时间都没有。再说那两张看起来很唬人的“护身符”。
这次的钥匙是在通过FIPS 140-2 Level 3认证的硬件加密机里生成的,相关体系还连续两年通过了独立审计,2025年年中就进了各大信任库。认证齐全、审计合格,出来的却是8把弱钥匙。
我的理解是,这些认证管的是设备本身合不合格,审计查的是流程有没有走完,没有一项会去问:生成出来的东西到底对不对?拿公钥跟小整数比对一下,几行代码的事,整个行业几十年没把它变成必选项。
硬件再高级,驱动它的脚本出了岔子,高级也就白搭。事发后eMudhra承诺,要把做过的每一场密钥仪式重新核一遍。
这个动作本身我不反对,但它暴露了问题:这是该在出厂前做的检查,现在是出了事才补。一家按行业规矩运转了好多年的公司,事前没有一道抽检,事后才全面复盘,这种做法不是个别人偷懒,是整个行业默认了“按流程办就等于安全”。
流程是死的,脚本会出错,人会看花眼,标签相似就拿错。真正靠得住的是有人拿结果去倒着验一遍,而不是拿流程去证明自己没毛病。
真正的麻烦在浏览器外面。浏览器能靠黑名单秒级更新,可大量软件自带一份信任列表,压根不看浏览器那套名单。
Go语言项目发了紧急版本,Cloudflare修了自家服务,Firefox为那些收不到黑名单更新的配置单独出了修复版。可是更多软件的信任库埋在依赖包的依赖包里,没有人完整列过清单,补丁打没打到,谁心里都没底。
我常说,企业最怕的不是漏洞,是不知道自己有哪些东西。这次是个好教材,逼着大家把家底翻一遍。
eMudhra自己估算,约3万张证书要迁到别的证书链上,绝大多数是自动签发的。自动化平时省心,根一出事就成了一场集体搬家。
10月27日之后,凡是还挂在这条链下的站点,Chrome用户会直接撞上整页警告。企业有人管,会收到通知。
家里的摄像头、智能音箱、厂区里的工控设备、机房角落没人敢碰的老服务器,固件里的信任库谁来改?这些东西没有自动更新的能力,换也舍不得换,会带着隐患继续联网很多年。
这个尾巴有多长,现在谁也说不准。印度官方的反应也值得看。
10月21日,印度计算机应急响应小组CERT-In发了通告,电子信息技术部成立专门小组调查,同时强调影响有限,本国的数字签名和电子签业务不受波及,还批评社交媒体上有人在制造恐慌。
我理解官方要稳住局面,但把问题圈在“境外业务”里,我觉得说轻了。信任这东西没有国界,一家机构的全球牌子倒了,国内业务的口碑也跟着打折。
你在国际上被拔了名单,国内的客户难道不会多问一句?再说一个让我睡不踏实的趋势。
同一周,PHP官方发布紧急更新,修复了两个严重漏洞,PHP2Shell这个外号就是这么来的。eMudhra的声明里提到,研究员反推弱密钥时,可能用了AI辅助手段,赫尔姆那边也有AI重复得手的例子。
我不敢断言这次究竟是人是AI,但方向很清楚:找漏洞、算弱点的成本在断崖式下降,而守门的流程,还停在十年前那一套。攻防两边的曲线一边往下掉,一边原地不动,迟早要相交。
这次是研究员先发现,下次未必还有这个运气。对咱们自己来说,我觉得有两层要想明白。
一层是家底:我国有《电子签名法》,电子认证服务机构要取得许可,《密码法》也对商用密码管理提出了明确要求。但牌照只管资格,管不了哪个下午哪个脚本出岔子,印度这家公司同样是持牌的。
所以金融、政务、能源这些关键领域,不能只看对方有没有证、过没过审,更要有自己的复核能力,对信任库里“信谁、不信谁”心里有数。另一层是观念:网络安全不是一次验收,是每天都有人盯着的日常功课。
对普通人,我只说三件事。第一,浏览器和手机系统的自动更新别关,安卓手机重启一次,让谷歌推送的拦截尽快到位。
第二,来路不明的链接要你登录或付款,宁可多看一眼,转账走官方App,别在公共Wi-Fi上办银行业务。第三,家里的摄像头、路由器、智能音箱,该升级固件的升级,用不上的干脆断电。
别觉得这是大厂的事,网络世界里最容易出事的,从来是没人管的那一头。回到标题:8把万能钥匙,没一把超过255,这波操作确实骚得离谱,四家巨头连夜拉黑,一点不冤。
但比那串数字更值得琢磨的,是它背后的两个问题:名单由谁定,钥匙由谁验。我的结论是,互联网的安全靠的从来不只是算法,更靠一道道不起眼、没人爱做的检查。
这次的漏洞,不在密码学里,而在没人肯多花五分钟把结果核一遍的懒散里。连最重要的钥匙,都可以不超过255,那些没人盯着的角落,又会是什么样子?
DigiNotar、赛门铁克两例取自公开史实,我没有重新检索,发布前请与大陆权威媒体核对。)
热门跟贴