<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[虫虫的blog  SINCE2004]]></title> 
<link>http://www.zhenghe.biz/index.php</link> 
<description><![CDATA[人生幻灯片  -   前半生(身)，不要怕；后半生(身)，不要悔！]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[虫虫的blog  SINCE2004]]></copyright>
<item>
<link>http://www.zhenghe.biz/read.php/.htm</link>
<title><![CDATA[MD5时代渐行渐远 理智看待最强算法被破译]]></title> 
<author>网络毛毛虫 &lt;admin@yourname.com&gt;</author>
<category><![CDATA[技术文章]]></category>
<pubDate>Fri, 19 Nov 2004 18:32:31 +0000</pubDate> 
<guid>http://www.zhenghe.biz/read.php/.htm</guid> 
<description>
<![CDATA[ 
	<span class="Article_Content">文/飞翔鸟<br /><br />　　前些日子召开的国际密码学年会（Crypto 2004）上，来自中国山东大学王小云教授的一篇关于“破译MD5、HAVAL－128、MD4以及RIPEMD－128算法”的报告引起了轰动，报告中提到的新破译方法几乎标志着世界通信密码标准——MD5堡垒的轰然倒塌。一石激起千层浪，此前一直负责公开征集针对MD5的攻击而设立的权威站点http//www．md5crk．com/宣布“由于MD5破译获得突破性进展，MD5破解项目（MD5CRK Project）即日停止”，并开始提供该站点以往技术资料的下载，预计该站点也将在不久的将来完全关闭。面对MD5被破译，有人一声叹息，有人觉得不可思议，更有人忧虑甚至恐慌……那么究竟MD5有什么来头？它被破译是否意味着“地球将不再旋转”？谁将成为它的继承者？请看——<br /><br />　　<b>一、MD5是何方神圣？</b><br /><br />　　所谓MD5，即“Message-Digest Algorithm 5（信息-摘要算法）”，它由MD2、MD3、MD4发展而来的一种单向函数算法（也就是HASH算法）（图1），它是国际著名的公钥加密算法标准RSA的第一设计者R.Rivest于上个世纪90年代初开发出来的。MD5的最大作用在于，将不同格式的大容量文件信息在用数字签名软件来签署私人密钥前“压缩”成一种保密的格式，关键之处在于——这种“压缩”是不可逆的。<br /><br />　　为了让读者朋友对MD5的应用有个直观的认识，笔者以一个比方和一个实例来简要描述一下其工作过程：<br /><br />　　大家都知道，地球上任何人都有自己独一无二的指纹，这常常成为公安机关鉴别罪犯身份最值得信赖的方法；与之类似，MD5就可以为任何文件（不管其大小、格式、数量）产生一个同样独一无二的“数字指纹”，如果任何人对文件做了任何改动，其MD5值也就是对应的“数字指纹”都会发生变化。<br /><br />　　我们常常在某些软件下载站点的某软件信息中看到其MD5值（图2），它的作用就在于我们可以在下载该软件后，对下载回来的文件用专门的软件（如Windows MD5 Check等）做一次MD5校验，以确保我们获得的文件与该站点提供的文件为同一文件。利用MD5算法来进行文件校验的方案被大量应用到软件下载站、论坛数据库、系统文件安全等方面。<br /><br />　　笔者上面提到的例子只是MD5的一个基本应用，实际上MD5还被用于加密解密技术上，如Unix、各类BSD系统登录密码（在MD5诞生前采用的是DES加密算法，后因MD5安全性更高，DES被淘汰）、通信信息加密（如大家熟悉的即时通信软件MyIM）、数字签名等诸多方面。<br /><br />　　<b>二、MD5的消亡之路</b><br /><br />　　实际上，从MD5诞生之日起，来自美国名为Van Oorschot和Wiener的两位密码学专家就发现了一个暴力搜寻冲突的函数，并预算出“使用一个专门用来搜索MD5冲突的机器可以平均每24天就找到一个冲突”。不过由于该方案仅仅从理论上证明了MD5的不安全性，且实现的代价及其夸张（当时要制造这种专门的计算机，成本需要100万美元），于是MD5自其诞生十多年来一直未有新版本或者被其它算法彻底取代。<br /><br />　　在接下来的日子里，有关MD5的破译又诞生了“野蛮攻击”，也就是用“穷举法”从所有可能产生的结果中找到被MD5加密的原始明文，不过由于MD5采用128位加密方法，即使一台机器每秒尝试10亿条明文，那么要破译出原始明文大概需要10的22次方年，而一款名为“MD5爆破工具”的软件，每秒进行的运算仅仅为2万次（图3）！<br /><br />　　经过无数MD5算法研究专家的努力，先后又诞生了“生日攻击”、“微分攻击”等多种破译方法（相关信息大家可以参考http://www.md5crk.com）。此次山东大学几位教授的最新研究成果，大大推进了MD5算法消亡的进程。尽管在研究报告中并没有提及具体的实现方法，我们可以认为，MD5被彻底攻破已经扫除了技术上的障碍，剩下的仅仅是时间和精力上的问题。<br /><br />　　<b>三、MD5完蛋了，放在银行的存款还安全吗？</b><br /><br />　　由于MD5应用极其广泛，即使是在银行数字签名证书中，它依然占据着比较重要的地位，此次MD5被成功破译的新闻让不少不明所以的人感到“恐惧”，认为这是对整个密码界的彻底颠覆，甚至有人开始担心“自己放在银行或者网络银行账户中的存款也有被盗取的可能”。<br /><br />　　其实这种忧虑完全是杞人忧天，以目前主流的网络银行的加密技术为例，它们都构建于PKI（Pubic Key Infrastructure，公钥加密技术）平台之上，与公钥成对的私钥只掌握在与之通信的另一方，这一“信任关系”是通过公钥证书来实现的。PKI的整个安全体系由加密、数字签名、数据完整性机制等技术来共同保障，其密码算法包括对称密码算法（如DES、3DES）、公开密钥密码算法（如ECC、RSA），即使在同样有应用的HASH算法方面，目前网络银行所采用的大多是SHA-1算法，该算法与MD5的128位加密相比，使用了160位加密方式，比MD5安全性高不少。<br /><br />　　其实，就目前网络银行的安全隐患来看，更多的是来自客户接入端（如Web入口），而非银行的加密技术本身。<br /><br />　　<b>四、MD5的继承者们</b><br /><br />　　“天下没有不透风的墙”，实际上任何一种算法都会有其漏洞，即使是目前大行其道的MD5和SHA-1，当对漏洞的研究发展到其能够被有效利用时，则标志着该算法灭亡的时候到了。所谓“天下无不散之筵席”，MD5逐渐退出历史舞台后，下一个接任者又会是谁呢？<br /><br />　　实际上，长期以来，密码界一直在致力于对新加密算法的研究，而且在高度机密的安全领域，所采用的加密算法也绝非MD5，各国政府、各大公司都在研究拥有独立技术的加密算法，其中比较出色的代表有SHA-1、SHA-224等。此次MD5破译报告发表后，美国国家技术与标准局（NIST）表示，鉴于MD5被破译以及SHA-1漏洞被发现，他们将逐渐放弃目前使用的SHA-1，于2010年前逐步推广更安全的SHA-224、SHA-256、SHA-384和SHA-512。这些算法与MD5的128位加密相比，加密位数和安全性能都提高了很多倍。<br /><br />　　尽管MD5被淘汰已经成为必然，不过鉴于它开源以及免费的特性，而且目前还没有真正有效的快速破解方法，因此它还将继续在历史舞台活跃一段时间。<br /><br /><a href="http://image2.sina.com.cn/IT/upload/20040929/74/1096418514/media/cce/img/586/03901t01.jpg" target="_blank"><img alt="按此在新窗口浏览图片" src="http://image2.sina.com.cn/IT/upload/20040929/74/1096418514/media/cce/img/586/03901t01.jpg" onload="function anonymous()<br/>&#123;<br/>if(this.width>screen.width-300)this.width=screen.width-300<br/>&#125;" border="0" /></a> <br /><b>图1 MD5等HASH算法工作原理图</b><br /><br /><a href="http://image2.sina.com.cn/IT/upload/20040929/74/1096418514/media/cce/img/586/03901t02.jpg" target="_blank"><img alt="按此在新窗口浏览图片" src="http://image2.sina.com.cn/IT/upload/20040929/74/1096418514/media/cce/img/586/03901t02.jpg" onload="function anonymous()<br/>&#123;<br/>if(this.width>screen.width-300)this.width=screen.width-300<br/>&#125;" border="0" /></a> <br /><b>图2 MD5较简单的一种应用</b><br /><br /><a href="http://image2.sina.com.cn/IT/upload/20040929/74/1096418514/images_center/tech/upload/2004-09-29/U74DT20040929083525.gif" target="_blank"><img alt="按此在新窗口浏览图片" src="http://image2.sina.com.cn/IT/upload/20040929/74/1096418514/images_center/tech/upload/2004-09-29/U74DT20040929083525.gif" onload="function anonymous()<br/>&#123;<br/>if(this.width>screen.width-300)this.width=screen.width-300<br/>&#125;" border="0" /></a> <br /><b>图3 MD5暴力破解工具正在进行破译</b><br /></span>
]]>
</description>
</item><item>
<link>http://www.zhenghe.biz/read.php/.htm#blogcomment</link>
<title><![CDATA[[评论] MD5时代渐行渐远 理智看待最强算法被破译]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://www.zhenghe.biz/read.php/.htm#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>