最近,Guido Vranken开发了一种针对 TLS 流密码的新型攻击,称为Bicycle,并在此Websense 的博客文章中引用。
它基于流密码的特性,即明文长度和密文长度之间存在 1:1 的关系(尽管它们可能不相同),从而允许攻击者关联请求中的一些已知数据并发现长度字段(例如密码长度)。如果你知道用户有一个 8 字符的密码,你会从暴力破解中减少很多工作,想出一个字典,几个小时后就能让你进入。
完整的解释在上面链接的第一篇博客文章中托管的PDF中,供那些想了解它的真正工作原理的人使用。
基本上它会影响所有流密码,特别是伽罗瓦计数器模式 (GCM),主要与 TLS 1.2 一起使用,作为 AEAD 密码套件的一部分。快速搜索其他 AEAD 密码表明它们也是流密码,因此也容易受到此问题的影响。还是他们不都受到影响?
所以问题是,可以使用哪种密码?分组密码不受这个特定问题的影响,但它们中的大多数都有自己的问题,这使得这是一个“挑选你的毒药”而不是带来解药的问题。这里有没有人知道可以与 TLS 1.2 一起使用的已知密码(由 NIST 推荐),并且不会将其自身的缺陷带入方程式?