关注网络安全
和行业未来

三月行业新闻回顾

序列号中缺少随机位的问题

一个看似很小的问题导致证书行业出现大麻烦:许多证书颁发机构在证书中使用63位熵的序列号,然而Baseline Requirements告知CA 64位熵才是他们需要的。

这个问题最初是在阿联酋的DarkMatter证书颁发机构的证书中发现的。据路透社发布的一份报告,对于DarkMatter是存有争议性的。Adam Caudrill是首位通过博客将这个问题公之于众的人。

问题本身是微妙的。Baseline Requirements说证书序列号需要有64位熵。受影响的证书序列号虽使用64位整数,但是其中一个整数是负数,Baseline Requirements规定证书序列号必须是正数。这意味着负数被丢弃,因此这些证书实际上只有随机的63位。

这一行为在EJBCA(用于证书颁发机构的一款自由软件)中是默认的。许多证书颁发机构使用EJBCA,因此许多证书都受到同一问题的影响。在过去的几周里,越来越多的证书颁发机构站出来向Mozilla的安全策略邮件列表报告了这个问题。

从安全的角度来看,这个问题几乎毫无意义。弱哈希函数的使用会导致攻击,因此引入了对熵的要求(以减缓攻击)。基于MD5中的碰撞攻击使研究人员可以伪造证书,研究人员在2008年的Chaos Communication Congress演讲中解释过。这种攻击依赖于这一事实:目标证书颁发机构在证书中使用连续序列号;这使研究人员证书能够充分的猜测最可能的序列号。

这种攻击只会发生在哈希函数被加密破坏且不具备冲突抵抗性的情况下。在证书生态系统中,MD5和SHA1弱哈希函数已被弃用,对此攻击也就不需要关注了。熵要求仍然是一种有用的深入防御机制,以防现代哈希函数SHA256在将来也出现类似的弱点,但实际中似乎没有起到太大作用。即使有类似的弱点,63位足以抵抗这样的攻击了。

但是,Baseline Requirements具有这样的规则:无论是否存在实际的安全风险,必须撤销违反规则的证书。TLS社区中的许多人谨慎处理并支持现有规则,反其道而行可能会给更严重的违规行为提供一个糟糕的先例。

Baseline Requirements要求违反规则的证书在被发现后的五天内必须撤销。要求已经传达给了许多受影响的证书颁发机构。对它们来说,通知客户并替换所有受影响的证书将是一个挑战。

短新闻

文稿来源:Feisty Duck

评论 抢沙发