专家观点:破解MD5和SHA-1不意味密码破解(图)

 更新时间:2007年01月16日 00:00:00   投稿:mdxy-dxy  
破解MD5和SHA-1不意味密码破解

有关山东大学王小云教授破解MD5和SHA-1的报道,让人对电子信息的安全性颇为关注,真相究竟如何?

  要问当今众生,在日常生活中什么对你最重要,什么让你最头痛?相信很多人的回答是密码。“请您输入密码,请再输一遍”,无论是在银行柜台还是在网上冲浪,这样的提示对我们已是司空见惯。银行密码、登录密码、邮箱密码、各种游戏的密码、各个用户名的密码……密码已是世人生活中不可或缺的一部分。最近有关山东大学王小云教授破解MD5和SHA-1报道频频见诸报端,使人们对电子信息的安全性颇为关注,密码真的不可靠了吗?

  何谓破解

  信息安全国家重点实验室教授、密码学专家翟起滨在办公室平静地告诉记者:“MD5和SHA-1属于散列算法,从设计原理来讲,就有产生碰撞的可能,王小云教授的方法缩短了找到碰撞的时间,是一项重要的成果。但她找到的是强无碰撞,要能找到弱无碰撞,才算真正破解,才有实际意义。”

  根据密码学的定义,如果内容不同的明文,通过散列算法得出的结果(密码学称为信息摘要)相同,就称为发生了“碰撞”。散列算法的用途不是对明文加密,让别人看不懂,而是通过对信息摘要的比对,防止对原文的篡改。

  作为中国出席“Crypto′2004”和“RSA 2005”年会的唯一正式代表,翟起滨教授特别强调:“碰撞分为‘强无碰撞’和‘弱无碰撞’。强无碰撞是无法产生有实际意义的原文的,也就无法篡改和伪造出有意义的明文。”通过强无碰撞伪造一个谁也看不懂的东西,没有实际意义。翟教授还让记者浏览了“RSA 2005”年会的会议摘要,国际密码学专家沙米尔(Shamir)在“RSA 2005”年会上就王小云教授找到一对强无碰撞发表观点:“这是个重要的事情,但不意味着密码被破解。”

  现实无忧

  “找到一对强无碰撞和找到有实际意义的碰撞,是有本质区别的。”翟教授认为破解的说法不确切。他介绍说:“在‘RSA 2005’年会上,专家们认为SHA-1目前绝对安全,再使用5~10年没问题,计划在2010年以后考虑更换。”

  我们知道理论上破解密码的方法,如果要在现实中实现,需要通过超级计算机海量的计算,所需时间一般是成千上万年。在实际应用中,破解时间太长意味着破解将失去现实意义。

  中国金融认证中心(CFCA)的技术顾问、原中国建设银行科技部总工程师,曾参加《电子签名法》制定的关振胜介绍:“目前网上银行的认证采用多次散列算法的加密手段。如B to B的交易,首先对网上银行的表单进行SHA-1的摘要计算;然后对客户填写的信息再计算;最后银行收到信息后还要进行签名。如果要篡改其中的信息,必须破解3次(前提是能破解,现在还做不到),既使是你若干天或若干月后破解了,交易早已完成。同时,信息摘要的传输还要在PKI体系(公钥基础设施)下进行,PKI体系现在大多应用RSA算法,该算法的安全性大可放心。所以,对于银行这样的实时系统,篡改信息影响交易过程是绝对不可能的。”

  如果集中所有的军用超级计算机来破解怎么办?哪我们想想,穷全美国之力,破解你一笔商业交易干什么。像散列算法这么弱的算法,部门是根本不会采用的。

  另外,关总还介绍说:“伪造数字证书也是不可能的。数字证书包含了很多特定内容,只有具备了包括序列号等一系列特定信息,这个证书才有意义。根据特定的原文内容,伪造出相应的摘要信息是根本做不到的。”

  我们看到,如果找不到弱无碰撞,或即使找到弱无碰撞但找不到超大型计算机,想干点篡改和伪造的勾当是不可能的。况且,当管理部门一旦发现算法的安全性可能出现风险,换一个新的算法不存在难度。

  从事计算机安全的厂商,对所谓密码破解均不以为然。他们认为,任何产品都有生命周期,产品技术的改进工作时刻都在进行。虽然有人说密码算法不安全,但现在没有任何实质的危害发生。信息安全有多种防范措施保证,散列算法只是其中较弱的一种,不必过分担心。

  魔高一尺,道高一丈。随着技术的发展,任何手段都不可能永远不变。当今世界是安全的,大可不必为了密码寝食难安。

  产生了碰撞,就带来了问题。王小云等人发现了当前所用的散列算法存在的问题,必将帮助未来的新的散列算法设计者考虑到这方面的问题,使得新的散列算法具有更好的安全性。比如DES开始不安全以后,更多更强的加密手段也一一涌现。不管破解的结果如何,王小云教授的成果足以让我们振奋,对商用密码的研究起了促进作用。

链接一

  什么是强无碰撞和弱无碰撞

  散列函数h称为是弱无碰撞的,是指对给定消息x∈ X ,在计算上几乎找不到异与x的x'∈ X,使hx =hx' 。散列函数h被称为是强无碰撞的是指在计算上几乎不可能找到相异的x、 x',使得hx =hx' 。弱无碰撞是对给定的消息x,就是对你想伪造的明文,进行运算得出相同的摘要信息。也就是说你可以控制明文的内容。强无碰撞是指能找到相同的摘要信息,但伪造的明文是什么并不知道。数字签名最多的是文本内容 也就是人类可读内容,如果你产生一个人类不可读的碰撞 并不会对于原文产生重大影响。王小云教授找到的是强无碰撞。

  

  链接二
 

 


  数字签名与验证过程

  网上通信的双方,在互相认证身份之后,即可发送签名的数据电文。数字签名的全过程分两大部分,即签名与验证。

相关文章

最新评论