序列号中缺少随机位的问题
一个看似很小的问题导致证书行业出现大麻烦:许多证书颁发机构在证书中使用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要求违反规则的证书在被发现后的五天内必须撤销。要求已经传达给了许多受影响的证书颁发机构。对它们来说,通知客户并替换所有受影响的证书将是一个挑战。
短新闻
- F5在其产品中发布了一个针对padding oracle漏洞的安全更新。
- 最近的一篇研究论文提出了一种在具备zero-round-trip会话恢复机制(0-RTT)的TLS中实现正向保密的新方法。
- Adi Shamir,RSA算法的发明者之一,在参加RSA年度大会时被美国拒签。
- OpenSSL发布了Chacha20-Poly1305加密模式中一个携有长nonces(一个在加密通信只能使用一次的数字,在认证协议中,它往往是一个随机或伪随机数,以避免重放攻击)的低危漏洞的信息。
- 一篇博客文章报道了用于内部主机名的Let's Encrypt证书的用法。
- 用于自动颁发证书的ACME协议现在标准化为RFC 8555。此标准化版本是ACME协议的第二个版本,Let's Encrypt宣布了逐渐废弃旧的ACME v1协议的计划。
- Cloudflare发布了一些工具用于分析中间件对TLS的拦截,并在一篇博客文章中详细的展示了关于TLS拦截普遍程度的研究结果。
- 研究人员分析了AES对抗量子攻击的安全性。他们的结论是:“AES似乎是后量子世界以及经典世界中的一种抗性基元(primitive: 计算机编程里面,基元指机器指令和翻译的最小的或最基本单位)。”
- 在Go 加密库中,Salsa20算法中的一个安全漏洞被修复,当超过256GB的数据被加密时,这个漏洞就会出现,导致计数器溢出。
- CERT/CC的Will Dormann报告称:CERT/CC在Android应用程序中发现了大量私钥,其中一些与公开可信证书相连。根据Baseline Requirements要求:已知密钥已损坏的证书必须撤销。
- Inria的研究人员Leo Perrin阐述了他对Russian Streebog和Kuznyechik 密码的S-boxes设计的担忧。
- TLS-Attacker的开发人员在一篇博客文章中解释了该工具的使用以及最近新添的一些特性。
- 汉堡大学的研究人员在研究通过在不同的主机之间共享地址验证来加速QUIC的可能性。
文稿来源:Feisty Duck