【IT168 资讯】最近破解密码算法事件屡屡见诸报端,来自美国和欧洲的研究人员在德国柏林召开的第25届Annual Chaos Communication Congress大会上展示了如何利用大约200个Sony PlayStation游戏机来创建伪造的MD5(Message-Digest algorithm 5)数字证书散列算法。MD5过去一直被用于创建某种数字证书,由VeriSign来对网站授权。
哈希功能可以被用于创建公共密钥算法以加密文件、生成网站数字签名以授权应用,同时这项功能还被用于一系列应用和产品的认证体系中,例如用户在Web和VPN内部进行通信的Secure Sockets Layer。哈希值还可以被用于检测冗余数据文件、文件版本变更和类似应用的标记,或者作为校验和来防止数据发生意外损毁。
攻破MD5意味着伪造数字证书可能误导网站访问者,让他们以为一个伪造的网站是合法的,这显然会导致钓鱼网站愈加猖獗。就在研究人员公布了这一消息不久,VeriSign就用SHA-1(Secure Hash Algorithm-1)更新升级了所有已经发布证书的MD5算法。
早在好几年前就有分析人员提醒部门机构停止使用已经很落后的MD5算法,并建议至少用SHA-1取代MD5。但是后来有专家表示,SHA-1可能只有几年时间是有用的,之后就无法再提供不同层级的安全性。
Cryptography Research总裁兼首席科学家Paul Kocher曾经参与了SSL 3.0标准的制定,他表示:“现在MD5算法被完全攻破了,但是仍然有很多人在使用这一算法。最近一些研究人员的研究结果表明了MD5证书是极其容易被伪造的。”但是Kocher还表示,那些已经升级到SHA-1算法的部门机构可能未来几年还会面临必须升级落后算法的问题。
Kocher表示:“现在还不清楚SHA-1的下一次破解会发生在什么时候。”SHA-1最大的一次破解是在2005年,但是我国研究队伍证明了用以产生数字签名的SHA-1算法并不是牢不可破,可以通过巨型计算机成功破解2**69哈希运算。大多数加密专家认为SHA-1被完全攻破是只是个时间问题。Kocher表示:“看着这些算法破解就好像看着油漆逐渐变干,不过这样也好,因为这让我们有时间远离SHA-1。”
The National Institutes of Standards and Technology (NIST)等不及SHA-1被完全攻破了。最近这家标准组织启动了一项开放竞赛,开发能够替代目前使用的SHA-1和SHA-2的新一代SHA-3算法。该组织是在2007年11月启动这项竞赛的,预计新算法将在2012年公布。
Kocher解释说:“就现在来说我们会建议用户,如果他们正在使用MD5的话就应该马上转换到使用SHA-256。如果他们正在使用SHA-1的话就不用变更了,直到我们公布新的算法。也就是说,未来当出现其他削弱SHA-1的破解出现的时候,做好切换的准备是很重要的。”
对于那些对处理联邦认证哈希算法的推荐策略感兴趣的机构,NIST发布了Special Publication 800-107 Recommendation for Applications Using Approved Hash Algorithms,其中提供了关于如何使用经过Federal Information Processing Standard(FIPS)认证的加密算法来达到可接受层级安全性的指南。
去年10月,NIST通过发布FIPS 180-3简化了FIPS。NIST删除了一些特殊技术特性让FIPS变得更容易应用。NIST还增加了认证算法,其中包括:SHA-1、SHA-224、SHA-256、SHA-384和SHA-512。
NIST还发布了Special Publication 800-106(或者Randomized Hashing for Digital Signatures),其中详细阐述了如何通过收集信息来加强数字签名有关的加密哈希算法。与文档或者信息相关的计算哈希功能保证内容不会被篡改。
在SP 800-107中,NIST发现虽然一种加密哈希功能不适合一个应用,但是它可能适合另一个不要求相同安全工具的应用,NIST出版的指南中还详细阐述了每一种经过验证的算法的优点。
这些文档值得一看,因为SHA-1三到四年的生命周期是个不短的事件。不过,一些已经提交给NIST的算法看上去很不错。Kocher表示:“目前NIST正在进行筛选,看提交的算法中有没有一个可以满足所有需要。这个过程中会产生一些伟大的研究成果。不过他们必须谨慎挑选,因为最终选择出来的算法可能会被我们使用十几年的时间。”