最近,数字证书领域不断爆发出各种安全问题。首先,Comodo公司将mozilla.com的证书兜售给与该公司毫不相关的人。而现在生成证书的方式又出现了很严重的技术问题,但真正的问题还是人的问题。
去年12月27日至30日在柏林召开的“混沌通信”会议上宣布:他们通过利用MD5加密算法漏洞攻破了SSL加密技术,成功搭建一个伪造的证书授权中心(CA),其颁发的证书能够被所有要求SSL的网站接受。
热门web浏览器和很多其他应用程序都拥有可信赖证书授权机构的根证书,这样浏览器就可以验证所打开的网站的证书是由可信类机构颁发的。通过搭建伪造的证书授权机构,研究人员能够创建伪造证书,并且能作为合法凭证通过浏览器的验证,就像合法证书授权机构一样。
研究人员对他们的研究做了充分的报告,为的是使大家明确问题所在,并且研究者们表示,要想复制此破解过程,至少还需要6个月的时间,因此距离黑客利用此法实现真正攻击还有相当遥远的距离,大家也不必过于担心。
这项研究是伟大的,研究人员的创举获得了大家的认可和掌声,也得到VeriSign的认可,VeriSign承认了问题的存在,并正在努力迅速修复所有证书产品中的漏洞。该公司承诺任何受到影响的用户都可以免费得到一个新的未被感染的证书。
在结束本文前,让我们来谈谈hash function(哈希函数功能,哈希函数功能可以使软件在更少且可预见的数据量上运作生成数字签名,却保持与原信息内容之间的高度相关,且有效保证信息在经数字签署后并未做任何修改),也就是此次攻击的目标。
hash function用来采取数据块(可能是很大的数据)并为其创造一个值,其他操作就可以在这个值上进行。hash function通常会为相同的数据库创建相同的哈希函数,但是要扭转这一过程也是不切实际的,不可能根据哈希函数来创建数据库。并且很肯定的是,必然也有可能两个数据块创建相同的哈希函数,虽然很难找出来。
最后一个问题就是“冲突”证书攻击是怎样发生的:破解的尝试共分为两步,其中的第一步运算量巨大,非常适合于运用分布式运算完成。
因此,研究者们在瑞士洛桑联邦理工大学搭建了一个“PlayStation实验室”,使用200台PS3游戏机,平均分配30GB内存进行运算,耗时18个小时完成。而第二阶段运算量较小,并且不适合Cell处理器的SPU运算,因此使用了一台顶级四核心PC耗时3到10个小时完成。
在一个周末的时间内,研究者们共进行了三次尝试,制造MD5“冲突”的总运算量为2的51.x次方。最终他们成功伪造了一个证书授权中心,可以随意签发SSL证书,突破各种SSL加密网站。