王小云院士:区块链的起源性技术

王小云院士:区块链的起源性技术

来源:火星财经


王小云现任清华大学高等研究院杨振宁讲座教授,2017年当选中国科学院院士,2019年当选国际密码协会会士(IACR Fellow),同年获得未来科学大奖,该奖项被誉为“中国诺贝尔奖”,王小云为首位获奖的女科学家。


公开报道显示,MD5和SHA-1曾是最先进的国际通用密码,被专家认为需要运算100万年才有可能破解。2004年和2005年,这两大“固若金汤”的算法被王小云先后破解,在国际密码学界引发强烈“地震”。


以下为演讲全文:


01

密码技术为什么重要?

尊敬的王市长、各位来宾,我今天的报告是从密码技术的角度来介绍一下区块链技术,这个报告我最近作了很多次,可能有一点点变化,但我还是想从底层技术层面介绍一下区块链的密码含义是在哪里。

首先我介绍一下密码学的重要性,对区块链技术发表一点个人感想,区块链技术出来以后,从我们个人的观望到投资者的热情,到今天我们考虑它的技术创新,推动我们产业发展,我想这个过程有几年的时间。最近密码法已经出台了,密码是保障网络与信息安全的核心技术和基础支撑,所有的关键问题都是数学问题,这是毫无疑问的。密码领域比较特别,我对密码领域的理解就是基础数学、应用数学和技术应用是三个合并一体的,分不开的。

我们每一个技术的突破用了大量的基础数据的研究方法和工具,我们突破了以后,基本上行业遍地都用。计算机通信系统,互联网系统的主体系统的安全性都是用密码系统保证的,所以密码技术是通信系统和基础设施融合在一起的,是分不开的技术。

美国的微软和IBM在80年代初期,它的密码团队是非常杰出的融合发展模式,我们国家我非常高兴,今天我们也到了融合发展的阶段。

今天我们所有的网络,包含计算机、手机、卫星、物联网,特别是物联网,应该是一个国家能够发展好新一代信息技术非常重要的环节,也使密码技术提到更高的环节。另外还有大数据,云计算等,现在我们的数据都上云了,但安全是怎样的,我想大家都比较清楚。

密码技术为什么这么重要?就是因为整个互联网和各种网络,我们的信息从产生到处理到传输,需要四个安全属性:机密性,就是加密算法,这个很简单。

可认证性和不可抵赖性,这是数字签名算法;完整性,就是防数据篡改的Hash函数,Hash函数是区块链的起源性技术,也是密码学的基本工具。为什么说是一个基本工具?我举个例子,我们的电子签名对一个数据库进行签名,花100个小时签名才结束,它一个是慢,100个小时,还不安全。大家就问:我们的数字签名有什么用呢?这么慢、又不安全,怎么办呢?Hash函数,Hash函数对一个文件提炼出指纹就行了,它就可以把一百个小时变成一个小时,大家知道一百倍的提速,并且还是安全的,这就是区块链技术,大家不要把区块链技术想象得非常神秘。

Hash函数的电子签名技术就是标准的区块链技术,它是高效而安全的。

王小云院士:区块链的起源性技术

02

密码学的两大发展方向

密码学的发展有两大方向:第一个方向就是ENIGMA。1932年是数学方法,1939年是破译机,破译机的出现导致二战西欧战场提前两到三年结束,1949年香农(Shannon)提出是数码学的图像。

一个密码系统把密钥破解了就完全破解了,求解密钥的难度,就是一个攻击者攻击这些明文密文,它没有任何的数学关系不要紧,对破解密钥没有任何影响。传统密码里面,如ENIGMA密码,算法公开了,就意味着这个算法破解了。最早的密码破解就是情报人员拿到了图纸。
    
到了1973年1976年,美国国家安全局形成了较为系统的对称密码理论体系,宣布算法公开。对称加密AES,DES算法涉及56次计算(即秘钥长度为56位,下同)。    

比特币10分钟出一个块,奖励12.5个比特币,涉及270次计算,远比单次破解的难度难。

对数学发展的研究最终发展到了密码分析的自动化,再进一步就是人工智能的介入,所以这个领域,所有的密码分析都可以转化为商用密码的特征。

还有一个领域是公钥密码学的发展,我们的计算机网络是一到多的,互联网时代一天一万个人进行安全通信,密钥通信,全是情报人员分布密钥。现在要对一万个人进行安全通信,一万个人的密钥是要生成的,现在密码学一秒钟可以同时跟很多人建立安全频道,跟每个人都可以修出一个安全的密钥通道,攻击者可以加入安全通信,但它拿不到我们的密钥,我给对方可以生成共同的加密密钥,这就是一到多的安全通信。

网络安全通信涉及对数问题,计算速率,算法速率,代数几何,关系到到很多领域的数学难题。我们在分析算法安全性的时候,我们就要跟其它的数学领域结合,所以密码学是一个多学科交叉的领域,研究的一个是数学难题,尤其是交叉的是多个领域,不仅是在这个领域,在更多的领域。
    
SM3是我们国家的标准加密算法,也是RS的标准。密码算法设计了以后,保证每个算法是安全可以做到,但不可以用单一的算法保证一个系统——所有的计算机网络通信系统要涵盖多算法,要实现四大功能,大多数都有四个安全属性,也就是需要三种密码算法。

我们要建立一个传输层的安全通信协议,就是SSL、TLS协议,TLS是SSL的升级版,它是达到安全可控的。出现信息泄露事件,大家一定不要认为是SSL出问题了,这个协议是非常安全的,原因在于,在实现过程中出现了问题。算法安全、协议安全、实现安全是保证整个系统是安全运营的,“实现不安全”永远是会导致非常可怕的攻击。

整个密码领域,从算法的研究到协议的设计,到协议的运营是需要培养高水平的科技人才。网络层是保证路由器安全的IPsec协议,无线局域网是WEP协议,它是行业标准,不是密码学设计的,它出来以后很快被破解了,图灵奖获得者被破解了,现在的安全协议是安全的。手机通信是行业标准,是二级,不管是算法还是协议,很多漏洞,是各种攻击方法都出现了,用了相当于没用,看起来什么都有,但都是不安全的。所以说到了3GPP(3rd,Generation Partnership Project),就是支持3G、4G、5G安全通信,不管是3G、4G、5G,只有公开拿出来让大家研究的才是安全的,藏着的,到目前为止,事实证明没有一个是安全的。所以大家一定要注意,如果你认为你的协议是安全的,你不妨拿出来让大家公开分析,有漏洞不要紧,因为现在密码设计的能力非常强,很短的时间就可以把漏洞补上,逐渐变成安全,所以怕的就是大家说安全,又不公开,那问题比较严重,如果内部的人知道,内部的人可以做一定的攻击。   

王小云院士:区块链的起源性技术

03

国家层面急需制定密码协议标准与规范

目前我们国家急需抢先制订物联网、车联网、区块链、国产操作系统等密码协议标准与技术规范,这些领域实事求是地讲,我们跟任何一个国家是站在同一个起跑线上,我不认为其它国家比我们国家更先进,但是如果谁抢先,在这些领域制定出密码算法的标准与协议,就是协议的标准,肯定相对来讲还是比较领先的。

在密码领域,算法协议设计出来以后,要兼顾软件实现和硬件实现。硬件实现就是芯片实现。做好抗攻击的芯片实现,这个领域说实话比较难,我们国家这方面的优秀人才不多。

为什么要抗特性的攻击?所有的密码算法和协议都基于数学难题,假定我们的软件实现有一个bug,数学难题是非常容易破解的数学问题,如果我们注入了一个错误,数学难题变成简单的数学问题,它需要抗特性的攻击密码芯片。十几年前我有一个观点,说有的密码芯片是最高级的,因为其它的芯片不需要研究抗特性攻击的能力,但是密码芯片不行,因为它就是要依靠各种各样的攻击,包含物理手段的攻击。

我再来说一下软件实现,软件实现就是白盒安全实现,现在一个领域发展起来了,它不可能做到理论安全,只能做到实践安全,比如别人研究的白盒实现三个月破了,我们做的五年破不了,五年以后升级就可以了,是这么一个概念,我们要达到实际安全。

密码芯片一定要抗各种各样的攻击,这里不多说了。

王小云院士:区块链的起源性技术

04

区块链与密码学

我想讲一下密码Hash函数,就是区块链的起源性技术。1953年,IBM的一次历史性讨论,对数据库的文件进行检索,每个文件带一个电子指纹,相当于人的指纹一样,搜索的时候搜索指纹就把文件搜索起来了,非常简单。1981年,为避免电子签名标准RSA等存在的伪造攻击,由Davis和Price提出密码Hash函数的概念,就是防止数据篡改,你的数据被篡改了,你的电子指纹一定要发生变化,就发现被篡改了,保证电子签名是安全的。我们对于一份文件进行签名,需要对它的指纹进行签名就行了。我们的指纹是多长呢?128、160、192、256、384或512比特。这是非常高效的,采用这种方式,对一个数据库签名一百小时,现在一个小时就签完了,还安全,何乐而不为。如果我们这个技术放在交易后台的管理,这么高效安全的技术,何乐而不为呢,所以是值得推广的一个技术。

大家知道,区块链主要是实现防数据篡改的功能,目前防数据篡改只有两三种方法,没有任何其它的数据篡改的技术,只有三种技术:第一种技术就是攻击者同时得到一个合同,100万或2000万的合同电子指纹是一样的,它的签名一定是一样的。而100万和2000万哪个是真的哪个是假的,你不知道,我说的是这种攻击。256比特的电子指纹,全球计算资源上千万亿年不可能找到两个文件电子指纹是相同的,这个大家不要担心。

第二种攻击是比特币,大家一定要注意,你在学比特币,你看这张片子就行了,其它的都不要看,比特币就来了,只要会原像攻击就会比特币了。原像攻击是怎样的呢,给出一个电子指纹外,你找到一个原像M,M的电子指纹就是p、y,口令就行了,如果我的计算机存放的是Y,也就是动态的,我的电子指纹Y,口令猜出来的概率是多少呢?假如这个口令是256比特电子指纹,上千万年是不可能成功实施原像攻击的。但是这个y如果只规定70比特,对一个70比特的Y,我找一个M,只有r的70次计算,这是比特币,也就是说我找一个Y,对应着70个比特的0,或者1都无所谓,Y是70比特,y的70次计算,全球是十分钟就可以找到这个原像,我相信不可能所有人都在找比特币,只有少数的在找比特币,十分钟就可以找到这个M,这个M就是比特币,比特币就产生了。

第二原像攻击,攻击者找到假的消息M2替换合法消息M1,但是替换的前提条件不是电子指纹,因为现在都是数据库,在替换的情况下,必须要跟电子指纹相同才能合法应用,所以不是想替换就能替换,这时候也是破不了的。

Hash函数我跟大家说,我们的密码算法如何能够证明有数学难题,必须有可证明安全的技术,就是知识证明,我用知识证明证明这个密码算法是安全的,在证明的过程中完成了加密和签名功能,需要交互128次256次,按照今天的安全长度,最后大家都不干了,那怎么办,很不有效。用Hash函数,使用了Hash函数以后就比较好了,一次性就可以完成证明,所以这是Hash函数的概念,知识证明。

既然我们有高效的证明方法,有的密码系统都要按照可证明安全,必须是用Hash函数,所有的密码技术都是区块链技术,因为必须是交互一百多次才能共,使用了Hash函数一次两次三次四次五次,一般不超过五六次就完成了。所以我们所有的密码系统都是区块链技术,当时区块链放在哪里呢?是Hash函数的一个变量叫Blockchain,后来就是我们现在的Blockchain,最早是Hash函数迭代过程中的一个专业术语,它的从Hash函数提出来就有的概念,大家记住这是一个老概念。

现在我们好多密码都离不开Hash函数。这就是Hash函数,我在1995年到1996年开始做Hash函数,大家可以看出来,1995年之前主要的Hash函数算法除了160没有被破解以外,那五个都是我们首次给出碰撞攻击,破解以后,当时SHA是2005年提出来的,它是后补的,它只有60个比特的指纹,SHA补了265、384、512比特的指纹,SHA就是破解以后新设立的标准。

MD5破解以后,发生了一个事件,伪造了一个数字证书,通过了浏览器的认证,这是2009年十大黑客技术之一,攻击架构是我提出来的,毫无疑问,整个攻击架构是我提供的。2010年这个技术就到了一个火焰病毒,火焰病毒是目前为止认为最为复杂的一个网络病毒。

这是新一代的Hash函数ISO、IEC标准。美国设计的的SHA-2,SHA-3,我们国家的SM3,目前我们国家的区块链技术就是SM3了,国产化的区块链已经使用了SHA-3,因为这是唯一的标准,还没有其它的标准产生。

王小云院士:区块链的起源性技术

05

区块链技术起源

最后说一下区块链技术起源,大家知道,Hash函数是任意的长度压缩成一个定长,我们没有想要的数学函数满足要求,所以密码学家Ralph Merkle在博士论文中首次描述Merkle-Damgard结构,第一次压缩M1、M2,把所有的数据分块压缩,这是比特币的结构,也是区块链的早期数据结构。

中本聪提出的比特币,找一个原像就是比特币,很容易。这就是比特币的区块链结构,这就是区块链结构,横着的就是这两条,只是M的长度有所变化,因为压缩的过程是自由组合的,可长可短,M一定长,把好多M组合在一起,就是比较大的M,所以可以灵活搭配,横的就是那个链,这里面就是Hash函数的压缩过程,这里面就是真正的Hash函数,F就是MD5,正向的运算过程。这就是区块链的数据结构。

比特币的系统运行就是交易,交易结构是怎样的,挖出12.5个比特币就是一个交易,求出一个原像就是一个交易,我拿比特币买了一件衣服是一个交易,我拿比特币买了一些食品是一个交易,我有这个交易以后要全球广播,广播以后要在平台上广播,广播完了以后,大家同步把我的交易信息放在M里面。大家一定要注意,这是交易信息进行压缩,最后一步才是我搜的,M2一块搜,前面都是全球一定时间内的交易信息,把交易信息都放在这里面,有了交易新的再放进来,再搜出一个电子指纹,等于70个0,这等于新的比特币就产生了,所以方法非常简洁。最后验证,研发合法性以后再进行挖矿,基本上这个过程。这个“?”就是比特币。

分布式系统得到了很好的利用,我们要进行共识协议,所有的数据达成一致,使用分布式环境下用户的数据达成一致,上世纪80年代有一个拜占庭共识协议,是分布式计算研究领域的重要方向,为什么区块链能解决这个技术,所有的密码算法,只有Hash函数有三个属性,其它的算法属性很少,并且想来就来,想走就走,非常灵活,所以为什么去中心化,它没有密钥,但有了密钥就可以去中心化。

它的一致性即所有的记录是一样的,就是分布式系统,我们的区块链增长速度要稳定,大家知道一个链,一个币同时三个人挖出来和六个人挖出来谁是合法的呢?你挖完以后再挖第二个链第三个链,谁先挖到第六个链谁是合法的,所以必须是先挖六个链。区块链要抵抗各种攻击,我们2018年有两篇区块链的论文,山东大学有一篇,就是在一个小时十分钟的延迟后,挖一个比特币的延迟是安全的,目前有三类区块链,一个是逆向的,正向的就是压缩的过程,一秒钟可以10G,谁的权重大,它就是建链的概率高。第二就是分布式系统的拜占廷协议,数字签名本身就是区块链技术。

目前我们国家有一个供应链金融,有一个供应商,有一个采购商,采购商要采购一批货物,要支付200万,但它没钱,从银行贷款,传统的就是银行要检测供应商的供应能力和信用能力,然后要检查采购方的支付能力,可能半年才能放贷。但是区块链链上一检查,大家知道,我们任何一个信息上千万年以上才能篡改,篡改不了。所以在链上一检查就可以放贷了,非常高效。
    
这是疫苗,打了疫苗以后出问题,你可以看零售商、中间商、原材料商、生产商,每个环节都很清楚,非常便捷。

我的报告结束了,谢谢大家!

王小云院士:区块链的起源性技术


未来智能实验室是人工智能学家与科学院相关机构联合成立的人工智能,互联网和脑科学交叉研究机构。


未来智能实验室的主要工作包括:建立AI智能系统智商评测体系,开展世界人工智能智商评测;开展互联网(城市)云脑研究计划,构建互联网(城市)云脑技术和企业图谱,为提升企业,行业与城市的智能水平服务。


  如果您对实验室的研究感兴趣,欢迎加入未来智能实验室线上平台。扫描以下二维码或点击本文左下角“阅读原文”

王小云院士:区块链的起源性技术

原文始发于微信公众号(人工智能学家):王小云院士:区块链的起源性技术

 

注:本站文章除标明原创外,均来自网友投稿及分享,如有侵权请联系dongxizhiku@163.com删除。

         

发表评论