担心OpenSSL使用被NSA染指的密码?这个Bug帮大忙了
英文原文:Worried OpenSSL uses NSA-tainted crypto? This BUG has got your back
由于美国和英国间谍对当今加密系统关键技术的掣肘,人们的担忧与日俱增,但是 OpenSSL 的用户在这件事上可以松口气了。
据透露,被大量软件使用的加密工具包,从基于 HTTPS 的 web 浏览器到基于 SSH 的安全终端,并没有使用臭名昭著的随机数字生成算法 Dual EC DRBG。
而这却是由于一个现已被确定无法修复的 bug。
在函数库中的一处代码缺陷阻止“使用”椭圆双曲线(Dual EC)伪随机位生成算法(DRBG)的,而支持这一不安全的加密算法的不是别人,正是 NSA。
我们得知,OpenSSL 使用的其它 DRBG 算法没有受影响。
“从这个 bug 的性质可以知道,没有人使用过 OpenSSL 的 Dual EC DRBG 算法。”OpenSSL 软件基金会的 Steve 侯爵在昨天写给约翰普金斯大学信息安全研究所的 Stephen Checkoway 和 Matt Green 的邮件中记入了这一发现。
这个在 fips_drbg_ec.c 文件中的 bug 可以通过一行代码的变化,让 Dual EC DRBG 的状态更新,从而使它的输出过期。这是一个罕见的软件缺陷产生正面效果的实例。
密码学家们对 Dual EC DRBG 算法的信任已有 6 年的历史了。而该技术在今年初被美国政府技术标准组织 NIST 否定[PDF],同时 EMC 的安全部门 RSA 也告诫公众不要采用该算法。
计算机科学家们现在都已经相信该算法在开发过程中就被故意设计成有缺陷,进而有效的创建了一个后门[PDF],这样使用该算法的加密系统可以被轻易的破解。这种加密系统依靠密码安全随机数生成器使得他们非常难以预测。
考虑到 Dual EC DRBG 算法“无论出于何种目的都是非常有害的”,我们得知,目前没有任何修复该 bug 的计划,这样做只会带来更多的麻烦。最好的也是最直接的解决方案是抛弃这门到现在都被美国政府支持的技术。
“FIPS 140-2 标准验证模块不可更改,除非付出很大的代价。而我们最近已经启动了一项计划,从正式的验证模块中彻底的删除 Dual EC DRBG 的代码。”Steve 侯爵补充道。
翻译: 伯乐在线 - deathmonkey