eMudhra因Python脚本缺陷致私钥截断退出CA业务

印度CA机构eMudhra因Python脚本缺陷致私钥截断,已退出认证业务。该失误导致48字节ECDSA私钥中47字节被忽略,使密钥极易被恢复。Mozilla等浏览器厂商随即停止信任其证书。

前证书颁发机构 eMudhra 近日在 Bugzilla 上披露了导致其签发不安全数字证书的根源,将其归咎于一个存在缺陷的自定义 Python 脚本。

47字节私钥数据被忽略

据用户 Naveen Kumar ML 描述,事件发生在 2025 年 4 月 30 日的单一密钥生成仪式中。当时,eMudhra 的 B 系列和 C 系列下属 CA(证书颁发机构)的 16 个密钥对在硬件安全模块(HSM)上正确生成,随后通过该 Python 脚本进行包装和解包处理。

eMudhra 的目标是创建八个 ECDSA P-384 私钥,标准长度应为 48 字节。然而,Kumar 指出,由于导入代码中存在错误/缺陷,脚本未能从未包装的对象中正确读回数据,导致私钥值被截断。这一失误使得认证公钥对应的私有标量符号低于预期范围,攻击者可通过公开信息恢复私钥。

问题的核心在于严重的字节遗漏:在 48 字节的私钥中,似乎有 47 个字节被忽略。

Kumar 强调,尽管错误性质严重,但这仅是一个在孤立仪式主机上运行的自定义脚本所致。eMudhra 之所以依赖此脚本,是因为“全球供应链限制”导致其无法获取用于生成美国证书所需的 HSM 设备。

具体操作流程显示,eMudhra 使用 Utimaco 公司制造的 HSM 生成密钥,并计划将生成的密钥转移至 Crypto4A 公司的另一套 HSM 中。这种跨厂商的设备迁移操作被认为是不寻常的举措。

遗憾的是,该公司既未发现脚本中的错误,也未对生成的密钥进行测试。Mozilla 团队成员率先注意到这些密钥极其脆弱,并警告攻击者可借此签发欺诈性证书。浏览器制造商随即调整软件,不再信任 eMudhra 颁发的证书。

在此之后,这家印度企业正式退出了 SSL/TLS 认证业务。Kumar 的新帖子列出了 eMudhra 结束认证业务的三个步骤,其中包含一项看似周密的退出计划。

评论 0

0/500

评论需审核后展示,请文明发言

💬
还没有评论,来说两句

相关阅读