LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 2172|回复: 3

[安全技术]来学嘉 : 客观看待MD5、SHA-1被“破解”

[复制链接]
发表于 2006-3-30 19:43:31 | 显示全部楼层 |阅读模式
转载自 国家信息安全测评认证网
http://www.itsec.gov.cn/webporta ... 2921&OBJ=188594

-----------------

来学嘉 : 客观看待MD5、SHA-1被“破解”(05年第3期)

    ----访密码学家来学嘉教授
(Monday, July 25, 2005 4:11 PM) 本刊记者:向继志

  在2004年8月举行的国际密码学大会上,山东大学王小云教授关于成功破解MD5的报告引起国际密码界的轰动;今年2月13日,王小云及其研究小组宣告破解了安全度更高的SHA-1。此举成为破译MD5之后,国际密码学领域的又一突破性研究成果。破解MD5报告的四名撰写人员之一,著名密码学家来学嘉教授亲历破解MD5报告撰写和提交过程,对其有着深刻的体会,为此本刊记者特别对来教授进行了专访。

    [color="Red"]一、什么是MD5与SHA-1

  记者(以下简称记):来教授,您好!感谢您在百忙之中接受我们的采访。

  有人称“破解MD5和SHA-1意味着现在全世界所有正在使用的数字加密方法,都是不安全的!所有军事、金融、业务等数据系统都是可破解和侵入的。这个成果,对整个世界的数据和控制体系,足以产生毁灭性的影响”。破解MD5真的会产生那么大的影响吗?请您为我们介绍一下什么是MD5和SHA-1?它们有哪些特点?


  来学嘉(以下简称来):这太夸张了,破解MD5不会产生那么大的影响。

  [color="Blue"]MD5与SHA1都属于HASH函数标准算法中两大重要算法,又称杂凑函数,就是把一个任意长度的信息经过复杂的运算变成一个固定长度的数值或者信息串,主要用于证明原文的完整性和准确性,是为电子文件加密的重要工具。一般来说,对于给出的一个文件要算它的HASH码很容易,但要从HASH码找出相应的文件算法却很难。HASH函数最根本的特点是这种变换具有单向性,一旦数据被转换,就无法再以确定的方法获得其原始值,从而无法控制变换得到的结果,达到防止信息被篡改的目的。由于HASH函数的这种不可逆特性,使其非常适合被用来确定原文的完整性,从而被广泛用于数字签名。

  通常来说数字签名有两个步骤,第一个步骤是算出一个文件的HASH码,然后对这个码做签字运算。所以说如果有两个不同的文件,他们生成的HASH码是一样的,如果有一个碰撞的话,就有可能这两个文件的数字签名也是一样的,从而有可能伪造文件。MD5与SHA-1被破解使这种可能性的几率变大。但是在实际应用中,由于文件都有各自不同的内容,现在找到这种破解都是随机的,或者是非常怪的文件,因此它没有什么实际的意义。

  在实际应用中,又有两种情况,一种就是针对一个现有的文件再伪造一个,这是攻击HASH函数的一种常见的攻击方法,但这种攻击目前来说还相当困难,还不能做到;还有一种就是做两个不同的文件,它们有相同的签名,然后拿一个文件来骗一个签字,再拿另外一个文件来作为证据,这种就是所谓的碰撞。但由于现有的文件都有一个固定的格式,而破解的文件又是另外的、完全不同的格式,所以要把这两类文件掺到一块是很难的,要以现在破解的方法,实现这种攻击目标还离得很远。当然,不管怎么说这种破解方法至少开了一个头,表明这种事情我们能做了,而且有可能做到,这在过去根本无法想象,所以说它是一个重要的进步。


  [color="Red"]二、客观看待“破解”——“找到一对碰撞”


  记:记得上个月您在北京举行的一个专题讲座中提到MD5和SHA-1的被破解更多是体现在学术研究上,而与大多数人所理解的实际应用中的破解具有一定的距离,在这里,请您谈一谈应如何客观看待MD5和SHA-1被破解?

  来:一些人对数据世界从此将崩溃的忧患和恐慌主要来自对“broken“这个词的理解有误,虽然无论是中文翻译和英文的原义,这件事情都只能用“broken”这个词,但实际上这决不是传统意义上的“破解”,它的实质只是找到一对碰撞,发现了一个弱点,因此,在这里,我希望人们能把“破解”这个词说得更准确一点。

  我认为针对于这个问题,破解主要分为几类,一类是学术上的“破解”,HASH函数有种破解的方法叫做“碰撞”,它对安全的要求就是它能够抗碰撞。“碰撞”的意思就是找两个不同的输入文件,他们产生相同的“HASH码”,每个HASH函数在理论上都有一个找到碰撞的计算量,高于这个计算量的时候,任何HASH函数都可以破解。但如果你能找到一个碰撞而低于这个计算量,我们就可以说这个HASH函数在理论上被破解了,就是说这个HASH函数没有达到它理想的安全级别。王小云和我做的工作都是这一种破解,就是学术上的破解。

  第二种就是实际上的破解,如果一个HASH函数大家不敢用它了,就是已存在潜在的威胁,不管是做软件还是用户,像DES一样,大家不愿用它,这个时候就可以称为是实际意义上的被破解了。

  特别是对于HASH来说,还有一种破解叫做心理上的破解,(对于密码来说没有心理上的破解,只需要找出一对碰撞,你说找出HASH函数的一个碰撞很困难的话,我就给你一个碰撞的例子,就像在去年美密会上宣布的结果,就起到了这样一个作用,就是一种心理上的破解,也就是找到了一个碰撞的例子。就像MD5破解工程权威网站md5crk要干的事情就是一种心理上的破解,他们准备是花很大的代价,很大的计算量来找到一个碰撞,去年MD5被破解的消息一公布后,这个例子就算找到了,因此随即宣布该网站告关闭。

  我个人认为,我们现在大多数人理解的破解是现在这三种破解的一种混合物。

  此外,从实用的角度上来说,还有一种破解就是真正的对数据产生威胁,在应用方面产生威胁,这才是真正的被破解。但如果一个HASH函数差到那一步,已对应用造成威胁,那么,它就已不再属于密码学的研究对象,或者说还没有等它到这一步,密码产品就已经不用它。打个比方说,比如家里有一把锁,卖锁的人说要打开一把锁要花100万元,但我说我花50万元就可以打开,这就是一种学术上的破解;如果大家听了很多传言后不愿意再买这一把锁,这就是一种实际上的破解;但等到小偷真正把这把锁撬开了,那就已经太晚了,但这种情况,我认为已不是我们这些搞密码的人所研究的对象,而是黑客的研究对象。


  [color="Red"]三、应用实际阶段:基础设施与管理制度均待完善


  记:随着加密技术、签名、密钥协商等密码学技术越来越多地在各种复杂协议中被应用,现代密码学已获得充足的发展。作为我国的密码学领域的权威专家,请您介绍一下:当前国际密码学大环境和我国密码学的发展现状?

  来:密码学对于信息安全来说是一个非常重要的工具,它虽然已形成了一个学科,有一定的发展历史,但是目前的发展还很不完善。现在密码学已经从理论研究进入到实际应用的阶段。公认的算法比如说MD5和SHA-1等,在理论研究方面,其实很多年前大家对它们的安全性已经有怀疑,只是这么多年还没有找到真正的例子,所以好像大家已经接受这个事实了。

  从密码学的现状来看,我们用的产品都是建立在所谓信任的基础上的,我信任它好,但并没有证明他好,现在一旦找到一个不是那么好的例子,这个信任就可能转化为怀疑。但总的来说,现在我们许多人对密码技术比较信任,所以应用得越来越多。

  文件加密、签名验证、密钥协商......伴随着密码技术的快速发展,国际上现代密码学的应用已很广泛且日趋成熟。相关的立法工作也已进入开始阶段,现在世界上大部分国家都在考虑制定《电子签名法》,有几个国家已经真正的开始进入了实施阶段,在我国,也于今年4月开始实施了《电子签名法》。但是,作为一门系统的学科来说,它的发展目前离完善还是比较远。

  不完善的原因,我觉得主要并不是密码技术或者立法的问题,虽然目前我国在软件方面可能不如国外做得好,但总体密码应用技术与国外差不了多少,问题的关键在于我们的计算机等最基础设施还没有赶上,还不够完善,同时还受到来自习惯、管理、应用环境、规章制度等方面的影响和制约。比如现在在国内许多银行都需要填很多张表并需要逐一签字,手续比较繁琐。我个人觉得,其实这里面很多程序都可以省略掉,或者用数字技术来实现。在国外,密码技术的应用比较广泛而且趋于习惯化,比如说在国外的一些公司内部发EMAIL都需要加密和签字,但在国内就很少有人使用。我知道在2000年和2001年的时候,国内关于电子银行的相关产品早已出来,从技术的角度来说我们早就能够做到这一点,但银行却没有采用和实施,我认为形成这种状况最主要的原因还是管理问题,也许,这同时还受到来自多个方面的影响。


  [color="Red"]四、多算几次与新的设计原则

     ——关于冲击之后


  记:MD5被破解后,md5crk网站随即宣布关闭;美国国家标准与技术局(NIST)也随即表示,美国政府5年内将不再使用SHA-1,并计划在2010年改用其他更长更安全的算法(如SHA-224、SHA-256、SHA-384和SHA-512)来替代;微软、SUN等知名公司的专家也发表了应对之策。MD5和SHA-1相继被破解给世界带来的冲击堪称巨大,对于我国来说又将带来什么样的挑战与机遇呢?

  来:无论是国内还是国外,目前,MD5和SHA-1相继被破解给我们带来的冲击更多地体现为一种心理破解的效应。

  正是因为现在大家对密码的信任体系已经建立起来了,一旦有什么不好的消息,就会带来很大的影响。但其实这在密码学界是非常正常的,它就是一种算法找到一个弱点,然后再针对此进行改进。目前来说,(破解)对我国的实际应用不会带来什么冲击。但是MD5和SHA-1相继被破解将为人们设计和选择算法时多提供一种参考。同时,我认为用其他的“SHA”来代替也长不了。今年11月,NIST还将在美国开会专门讨论这个关于“HASH函数被两次攻破后产生的影响和未来走势”的相关问题。

  可以说除了一些人因不了解“破解”的实质,而产生的关于数据世界由此崩溃等恐惧外,“破解”给我们带来的危机是很小的。而机遇倒是不错,它表明:我国在这一领域的研究技术已达到世界领先水平,而我们国家的研究成果也完全可以提交到世界交流的平台上去。对于人们的日常生活我个人认为不应有任何反应,因为现在针对这样的情况其实是有很多办法去补救的。我的相关补救建议其实很简单:就是多算几次。同时,人们可以尝试以一种新的设计原则来发展未来的HASH函数。


  [color="Red"]五、不影响国家安全的前提下尽量提倡学术自由——面对另一种声音的回答


  记:中国教授公开“破解”的结果后,人们的反应中除了称赞外亦不乏异样的声音。有网友用“公开对我们国家的密码学应用来说,意味着白白葬送了一个致命性的战略工具”来表示内心中的惋惜,提出“为什么这么重大的科学突破,竟在国际会议上公开而不是先为我国的战略利益服务”的疑问,对此您如何看待?

  来:他所说的是破掉别人的密码,然后获取别人的信息,这也许是他的理解,但是HASH是另外一回事。MD5和SHA-1都只是一种完全公开的HASH函数,它们本身并不是涉密的。科学研究的结果应该公开发表,因为它是推动人类不断前进的动力和源泉。我觉得,提出这样的疑义是一种对HASH函数不了解的一种反映。

  面对这样的理解畸义,更让我感觉到将其称之为“破解”是非常地不恰当,它的实质只是找到了一个碰撞,找到了一个弱点。比如再拿门锁的例子来比喻,只是说你的锁没有制造商说得那么好,只是这个意思,但距离用一种方法把这个锁打开还差得非常的远。当然,通过这件事情,同时也表明了我们国家的力量并不比外国人差,而且在这一点上我们做得比别人要好。

  毫无疑问,任何一个科学研究的结果都会或多或少地与国家利益有关。在美国也是一样,像美国RSA文章出来后,美国政府以国家安全为由也曾经阻扰过不让发表。但在这里,我们需要清楚,“破解”二者的影响力绝对不象提出疑问的人所想的那样大,它只是一种学术上的科学发现和证明,离转换为一种战略性武器的可能性还很远。当然,既然这种发现已指出这种算法的安全隐患和漏洞,它是可以为人们设计更好的算法提供相关基础作用的。

  总体而言,在是否公开这个问题上,我觉得这是在任何一个学科的研究工作都会遇到的情况。我认为最重要的是:要划清学术自由和国家安全之间的界限,应该是在不影响国家安全的前提下尽量提倡学术自由!



编者注:
来学嘉是IDEA加密算法的设计者和发明者,著名国际密码学专家,上海交通大学教授。
发表于 2006-3-31 07:10:03 | 显示全部楼层
萝莉 MM 的帖子要顶
回复 支持 反对

使用道具 举报

发表于 2006-3-31 07:11:41 | 显示全部楼层
文章不错。不过建议排版不要大量使用粗体字,这样难以阅读。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-3-31 07:48:00 | 显示全部楼层
Post by jhuangjiahua
萝莉 MM 的帖子要顶

花花谢顶


把记者的话改成粗体了,原来的大段粗体的确很刺眼,谢谢ideawu。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表