区块链安全专家朱岩:区块链到底安全吗?可能不安全

这是一篇根据北京科技大学计算机与通信工程学教授朱岩老师在「中国电子学会区块链专委会成立大会」现场演讲内容整理而成。供大家品读。

关于作者:

北京科技大学计算机与通信工程学教授、博士生导师。曾于2005-2012就职于北京大学,任副研究员;并在亚利桑那州立大学和密西根大学开展系统安全与移动安全领域的合作研究。

研究领域包括:信息安全与密码学、随机算法等。曾先后主持或参加多项国家自然基金、国家863/973计划、发改委、国家密码发展基金等科研课题。

目前已在国内外发表第一作者SCI/EI检索论文80多篇,已申请和授权中国、美国及国际专利10余项。

记者 秦晋

演讲全文(略有删减):

这个专题是关于区块链安全技术的专题,比较专业,尽量讲通俗一些,方便理解。

关于安全,先思考一个问题,区块链到底安全不安全?总体来看,可能不完全安全。

从4个方面加以说明。

区块链在设计之初使用大量安全技术。比如:使用分布式记帐,保证分布式安全存储。使用P2P网络,保证运行安全。使用共享机制,保证全网一致协同。使用数字签名技术,实现所有权匿名。

首先,分布式记帐技术是区块链核心。它使用哈希结构。一个是基于哈希链表块链。当前块存储以及前一个区块哈希值作为副指针,保证前面任何一点修改对后面都没影响。

另一个是关于交易安全。采用哈希树,底层是一些交易,通过中间哈希节点连接。通过这个简单哈希技术实现一致性校验。

其次,P2P网络技术。区块链不是一个简单的分布式技术。而是大规模网络下的分布式存储技术。那么这个技支持全球范围、不同地点、分散化的网络结构是如何实现的?

有一个问题是,如何实现高效通信?区块链采用P2P网络结构。其核心是小世界模型,小世界模型在理论上有两大性质,一是高密集型;二是短链原则。

带来的好处是不管命令有多大,互联网发一条信息包括六跳之内可以发布全网,保证信息传播有效性。

再其次,共识机制。对所有任务方达成一致机制。共识技术解决的问题是跨通。最经典例子是拜占廷一致协议。

比特币提出一种思想是块冲突思想,不需要大家选举,而是大家工作使用单向函数沟算,实现快速验证。后续技术包括授权证明等一些新技术。这些技术实现并降低计算开销。

最后,安全特性。是关于数字签名技术。数字签名和加密是密码学中两个主要技术。数字签名技术用来保证协议安全。

区块链中使用数字签名有一个特点,比如实现所有权匿名,也就是通过将只保留在区块链中,保留公钥部分,而不将公钥所有者信息脱落,保证资产接收者只能对资产所有者私钥进行所有权验证。

为回答区块链安全技术,我给出一个表格。竖向是四项技术:分布式账本、P2P网络、共识机制、数字签名。横向是安全性分四个方向:和约安全、交易安全、存储安全、管理安全。

针对它进行如下打分,按分数值排,存储安全分数最高。其次是交易安全、管理安全、合约安全。

这样可以得到非常客观评价。针对很有希望一项技术:和约安全,现在已经推广的一项技术。

什么叫智能和约?智能和约是一个程序。既然是程序,为什么不叫程序而叫和约?程序是单方执行,和约是多方执行。合同最上,要有甲方乙方。

其次和约并不是记帐单,现有比特币还是停留在记帐单时代,记录已有信息,能否体现出智能性,有待于学术界和产业界发挥。

我给出一个综合性定义:智能和约是共同完成具有法律效应的任务。我不是法学家,是搞安全的人。

简单讲,是不是在和约运行时引入一些中立机构、仲裁机构,和约运行使其合法化,不但要看和约运行结果,希望运行过程中保证安全。

安全一般认为有三个特性。一个是公平性和约,各方与公正机构都能公平参与和约运行。二是正确性,和约结果是一致和正确的。三是隐私性,保护和约各方信息隐私性。

针对智能和约安全性要求,我们提出一个基本框架:这个框架很简单,框架下是我们偏红色部分区块链系统,上一层根据智能和约,放在区块链里一些可执行交易。

交易存储在区块链中,如果执行这个交易,会动态形成一些动态执行组。和约各方构成临时性机构。在运行过程中会在区块链中形成若干执行组。

在这个框架内要引入安全多方计算技术,一个很容易理解的技术,数据加密状态完成各种操作技术,数据不脱密情况下能保证安全性,传统密码学可以保证所有权。

什么是安全多方计算理论?首先是理论模型,模型很简单,多方计算模型有N参与者,P1到PN,共同完成某一个计算任务。

是一个程序,每方有一个输入,最终运行结果,每方独立运行会得到Y1到Yn各自输出。这个定义就是多方计算定义。很抽象的一个定义。

这个定义基础上安全多方指什么性质?一是隐私性,各参与方不能获得任何方输入。二是一致性,重视参与者会获得一致性输出结果。Y1等于Y2依此类推。

安全多方计算理论结果,这张表左边阈值是多方攻击者,攻击者分三类,第一类小于n/3,平凡模型下,保证公平性和传输保障性,分别实现计算上的安全。

攻击者数量少于一半以上,平凡模型只需要P2P信道加工和认证,同样可以实现安全和计算。


最后一种情况比较特殊,当攻击者数目占多数,大于n/2,需要采用非平凡模型,只能在广播信道下实现计算安全。

为什么广播信道尤其重要?安全领域最难防范,对不同人进行不同对策,比如只对一个人说假话,对其他人都说真话。

这种在密码学也是最难防的,我们防止采用广播信道,发一个消息大家都能够知道,不存在差异性攻击。

安全多方及理论上可以实现可证明安全。

理论模型在历史上提得比较早。1982年姚期智先生提出姚氏百万富翁问题。1983到1987年以色列的学者Golderich提出若干定义,完善安全多方计算概念。

2000年前,学术界实现安全多方计算可行性分析。2000年后,进入安全多方计算实用化阶段,美国军方和欧洲都有实际例子。

另外一事件是2009年出现一个新词汇叫全同态加密,被认为是安全多方计算的一步,全同态加密可以实现数据同态计算。

但很快被证明不够有效。这是安全单方计算。2011年后,主流集中在多线性映射电路族的安全计算技术。

国内起步不晚,几代密码工作者一直在这方面做大量工作,2006年北大冯荣权教授领导的安全计算获得国家863计划支持。另一位冯教授获得国家科学基金支持。

我们科研团队有幸参与到上述两个研究课题中,保留一些科研成果,其中一些成果给大家展示一下。包括随机函数族生成、代数运算族实现、还有逻辑关系,逻辑比较和位操作。

区块链的出现让我们看到安全多方计算可能应用的一些场景。这里现在已经构造了叫做贝壳链的区块链系统,这个链的特点是提供智能和约安全。两个实例帮大家理解安全多方运算。

如果目前和约计算量很低,我们无法体现出安全多方计算的优势。关于智能科学举两个例子,一是隐私集簇算法,一些数据点归类,现在能做到智能和约里引入安全多方计算语言。

这个语言现有程序语言框架内进行环境定义,以及安全整形定义,只要是安全定义就能进行处理。

区块链平台下形成智能和约,4方参与,这4方对于200个数据点进行集类,200个点聚类,演示时间40秒,实际运行不包括显示这些数据几秒内能够完成。

二是实验关于ID3算法,也是隐私挖掘基本算法,如同神经网络,是一个简单的数据挖掘算法。举一个例子。

一些数据表,这些数据表也许在区块链中一方或者多方共同存储数据表,对它的保密性有要求,我们允许它最终得到一些挖掘后信息,但不允许你获得这些信息,这个体现主要是上一个体现数据的计算,体现的是串类型的PK功能。核心是隐私数据的统计、检索。

现在能够做到检索和代检索完全处于加密状态能够完成工作。

这个结果是四台模拟器下完成的,时间只需要三秒钟,运算量很大,如果把通信放在一块,有12兆。

最后,区块链安全是一个新兴安全技术,是大量工作者和企业把一些新安全技术引入到区块链中。包括这几年提出的零知识证明。零知识证明并不是技术,是密码学概念。我们获取信息泄露是零。连零点几倍都达不到的状态。

其次,这几年出现一些新签名:多重签名、环签名、盲签名。密码学有大量签名方案存在:代理签名、群签名、盲验证、聚合签名、身份签名、门限签名、指定验证者签名,属性签名。

另外,数据隐私数据加密也被引用进来。呼吁我们注重自有知识产权核心技术的开发,这是科技工作者必然使命,同时希望产业界人士能够积极推动这些科研成果的转化。


原文链接:https://mp.weixin.qq.com/s/yI0wrktQpbEURHVsoYsarQ

CLOSE