本文由区块链与数字货币技术专题特约编辑斯雪明教授和陈文光教授推荐
区块链起源于比特币,其核心是去中心化、去信任、防篡改、防伪造、可溯源,因此在任何高价值数据的管理、存储与流通的过程中都可以用到区块链.区块链已经在多种场景中得到应用,但是区块链的安全问题一直存在,且对用户权益影响极大.拟态防御是由中国的研究团队提出的新型网络防御技术,对新型系统的网络防御具有重要的作用.首先介绍区块链面临的安全威胁以及目前存在的应对方案,然后对拟态防御中核心的动态异构冗余(dynamic heterogeneous redundance,简称DHR)架构进行介绍;其次,针对区块链存在的潜在安全问题,借鉴动态异构冗余架构和密码抽签的思想,结合安全性定义和参数选择规则,从动态异构共识机制以及动态异构冗余签名算法两个角度提出了区块链的安全解决方案,称为拟态区块链;最后进一步分析了拟态区块链的安全性和性能,结果显示,动态异构冗余区块链可以在多个方面得到比典型区块链更好的安全性.
Blockchain, originated from Bitcoin, for whose core is decentralized, detrusted, tamper-resistant, unforgeable, and traceable, can be used in management, storage, and circulation of high value data. Blockchain has been applied in a variety of scenarios, but the security problems of blockchain have always existed and have great influence on users' rights and interests. Mimetic defense is a new network defense technology proposed by Chinese research team, which plays an important role in network defense of a new class of system. This paper first introduces the security threats faced by the blockchain and the existing solutions. Then the core ideas of mimetic defense, the typical dynamic heterogeneous redundance (DHR) architecture are introduced. Second, in view of the potential security problems of blockchain, combining the definition of security and parameter selection, dynamic heterogeneous consensus mechanism and DHR signature mechanism are put forward from the ideas of DHR architecture and cryptographic sortition to construct a security solution for blockchain which is called the mimic blockchain in this paper. Finally, the security and property of the mimic blockchain is further analyzed, the result shows that the dynamic heterogeneous blockchain can provide increased security over the typical blockchain in many aspects.
区块链起源于2008年中本聪发表的比特币白皮书.比特币的成功促进了密码货币的发展, 从莱特币开始, 成百上千种密码货币出现[
拟态防御[
在动态异构共识机制中, 每一个共识节点在每一轮共识中通过密码抽签技术确定需要采用的共识机制, 并完成共识.在传播共识区块的同时, 需要同时提交共识节点相应的密码抽签凭证.根据密码抽签凭证判断此轮的最终共识节点, 同时, 其他节点对此共识节点的共识区块和密码抽签凭证进行验证.在动态异构冗余签名机制中, 采用3种不同体制的签名算法, 这3种签名算法结构不同, 难度不同, 基于的困难问题也不同.攻击者即使能够成功伪造一种签名算法, 也无法使得更改后的数据生效.同时增加了动态的特性, 在动态异构冗余签名机制中, 会提前部署更多的签名算法, 例如基于格、基于编码的后量子签名算法, 一旦有哪种签名算法被破解, 可以随时更换.
本文第1节重点介绍动态异构冗余模型, 同时对密码抽签技术进行简要介绍.第2节分别从安全性定义、共识机制、签名机制和节点处理算法的角度对动态异构区块链的核心内容进行介绍, 并给出相应的参数选择方法, 使其满足定义的安全性.第3节对第2节提出的动态异构共识机制和动态异构冗余签名机制的安全性进一步分析, 并给出部分签名算法效率测试结果.第4节对全文进行总结.
在本文中,
动态异构冗余架构是一种基于架构技术的融合式防御方法, 其核心思想是引入结构表征的不确定性, 使异构冗余架构的执行体具有动态化、随机化的内在属性, 并在空间上严格隔离异构执行体之间的协同途径或同步机制.DHR理论上要求系统具有视在结构表征的不确定性, 包括非周期地从功能等价的异构冗余体池中随机地抽取若干个元素组成当前服务集, 或者重构、重组、重建异构冗余体自身, 或者借助虚拟化技术改变冗余执行体内在的资源配置方式或视在运行环境, 或者对异构冗余体做预防性或修复性的清洗、初始化等操作, 使攻击者在时空维度上很难有效地再现成功攻击的场景.
DHR系统一般由输入代理、异构构件集、动态选择算法、执行体集和表决器组成(如
DHR典型构造
Typical structure of DHR
这种DHR的典型构造可以用
密码抽签是一种在分布式网络中, 通过去中心化的方式, 利用密码学技术完成可信、可认证的抽签选举的技术.图灵奖得主Sivio Micali的Algorand区块链协议将密码抽签技术运用到了区块链中.在Algorand中, 系统需要创建并不断更新一个参数, 称为种子, 种子不可能被攻击者预测, 也不可能被其控制.在每一轮共识过程中, Algorand根据种子公布一个可验证的随机函数(verifiable random functions, 简称VRF).每个用户利用自己的私钥执行VRF, 得到一个对应的凭证.凭证满足一定条件的用户被认定为此共识轮的验证者, 每个验证者完成一个区块, 并随自己的凭证一起公布.此轮中, 凭证的字典序最小的验证者被认定为领导者.最后, 所有的验证者针对领导者的区块运行拜占庭协议.密码抽签在区块链中的应用主要有以下优势.
● VRF的随机性质决定了验证者和领导者的选举过程很难被预测和操纵;
● 验证者的选举过程是秘密进行的, 只有当用户公布自己的凭证时才能证明自己的验证者身份, 但是此时区块信息已经公布, 即使攻击者可以瞬间腐化验证者, 但是公布的区块信息已经不能撤回;
● 领导者的产生是在所有的验证者公布自己的凭证后, 通过比较产生的, 可以认为是公共选举产生.
目前, 多数区块链可以视为一个静态同构冗余系统, 区块链中的各个节点运用同样的算法, 保存同样的数据, 这样可以保证单点被攻击时, 整个系统还可以正常运行.但是当所有节点共同依赖的部件, 比如签名算法、共识算法等被攻击时, 整个系统仍然面临安全威胁.本节将从安全性定义、动态异构共识机制、动态异构冗余签名机制、共识节点处理算法等4个方面说明拟态区块链应该具有的性质, 从而建立拟态区块链系统.
在比特币系统中, 当区块深度大于6时, 可以被认为是大概率安全的.在Algorand系统中, 由于采用基于VRF的PoS, 并结合拜占庭容错协议(Byzantine fault-tolerant algorithm, 简称BFT)[
传统区块链一旦签名算法出现问题, 交易是可以伪造的.以比特币为例, 如果使用的签名算法ECDSA被攻击成功, 那么用户地址对应的比特币将全部丢失.拟态区块链的签名机制通过先执行后表决的DHR模型, 使得在安全性假设拓展至:单一签名算法产生的签名可伪造的情况下, 也可以保证交易的不可伪造.
目前, 区块链大多只存在一种共识算法, 当然也有的区块链采用两种或者多种共识算法串行运行的机制, 例如Elastico采用工作量证明+拜占庭容错协议, 2-hop采用工作量证明+权益证明机制, Algorand采用权益证明+拜占庭容错协议等等.共识算法是保证区块链安全的重要因素, 现存的共识算法, 无论是公有链中常用的工作量证明、权益证明, 还是联盟链中常用的实用拜占庭容错算法等的安全性都是在某些假设下保证的.例如工作量证明的安全性要求系统中超过50%的算力是诚实的, 但是已有研究成果说明采取某些措施后, 可以得到50%以上的算力, 同时在某些条件下甚至只需要1/3的算力, 同样可以对系统造成严重的危害[
考虑到现有的单个共识机制或者多个共识机制的串行模式都会受到某些攻击威胁, 本文认为, 随机性、动态性是共识机制安全性的根本保证.所以借鉴拟态防御的思想, 本文给出的异构共识机制中存在3种不同的共识算法.同时, 动态异构共识机制借用了密码抽签技术, 在每一共识轮中, 每个共识参与者需要根据上一个区块的哈希值以及目前的区块序号形成的哈希值的签名值做一个密码抽签凭证, 这里的密码抽签凭证有两个功能:一是密码抽签凭证最小的用户在某些胜选的共识算法中具有重要地位, 比如PBFT的leader; 另外一个功能是根据密码抽签凭证确定每个节点在此共识轮中需要采用的共识算法.下面给出动态异构共识机制的具体步骤.
为了更好地描述动态异构共识机制的安全性, 对一切与共识不符的行为定义为敌手做出如下假设:
其中,
执行对应的共识.
(1) 以PoW胜选为例, 若第
(2) 以Casper的PoS胜选为例, 假设参与投票的PoS权益为
(3) 以PBFT胜选为例,
动态异构共识机制
Dynamic heterogeneous consensus mechanism
根据Decker等人的测试结果[
为了给出区块可分叉参数
如果区块共识是PoW, 则敌手生成区块的平均成功概率满足:
如果区块共识是PoS或PBFT, 将
然后考虑如果存在某个共识算法是可以完全被控制的, 即其敌手成功生成区块的概率为1, 设置一个足够小的安全参数
所以,
设置可分叉参数
参数选取示例
Example of parameters selection
共识权益度量 | 二项分布 | ||||
180 | 0.168 2 | 0.582 0 | 10-4 |
26 |
|
300 | 0.161 8 | 0.547 0 | 10-4 |
23 |
|
1 000 | 0.180 3 | 0.576 9 | 10-4 |
26 |
由
签名算法的安全性是区块链发展过程中面临的重要问题.防篡改、防伪造是区块链最重要的特征, 但是这些特征的前提是区块链中签名算法、私钥生成算法等是安全的.但是现在认为安全的椭圆曲线算法、RSA算法、哈希算法等随着密码分析技术、计算技术、量子计算机等的发展, 可能会变得不够安全.IBM和Google等公司不断宣布关于量子计算机研究的最新进展, 2017年, IBM宣布50比特的量子计算机原型机也已研制成功, 在2018年的美国物理学会上, Google实验室的公布了最新一代量子处理器Bristlecone, 这是一款72位量子位处理器, 错误率只有1%.最为重要的是, Google实验室谨慎且乐观地认为:如果一切运行良好的话, 量子霸权将在未来几个月到来.因此, 考虑到未来区块链的安全性, 采用抗量子的签名算法是十分必要的.但是抗量子的签名算法比基于公钥的签名算法复杂度高很多, 目前在椭圆曲线算法相对安全的时期换用抗量子的签名算法会带来较高的代价.但是一旦量子计算机的性能达到攻击椭圆曲线算法的能力, 将瞬间对区块链系统带来致命的打击, 因此我们要事先对抗量子签名算法进行部署准备.
除了量子计算机的威胁外, 计算技术、密码分析技术的发展也对目前的签名算法带来威胁, 并且一旦某种签名算法被攻破, 则与其采用相同体制, 或者基于相同计算难题的签名算法都将受到威胁.受到拟态防御思想的启发, 对异构冗余系统攻击的难度大于对同构冗余系统的攻击难度, 同时, 对同构冗余系统的攻击难度又大于对单一系统的攻击难度.本文认为:目前的区块链系统在系统级是单一系统, 虽然从用户级来看是同构冗余的, 为了达到更高的安全等级, 本文考虑将单一系统调整为异构冗余系统.这里考虑的异构冗余部分主要集中在签名算法方面, 当然考虑的不是对单一算法的改进, 例如环签名、聚合签名、门限签名、多重签名等, 一旦某一种密码体制受到攻击, 在此密码体制之上的签名变种都会受到致命的打击.本文主要考虑的是采用不同密码体制的异构冗余.
本文给出了异构签名算法, 其思想简单, 主要是采用3种签名算法代替之前的单一的签名算法.如果考虑对于每一个消息, 消息发出者分别利用自己的3个私钥形成3个签名, 消息的大小为现有系统的3倍, 这会影响每个区块容纳消息的数量, 进一步影响区块链系统的吞吐率.因此, 本节决定采用先执行后表决的DHR模型, 进行交易的输入脚本中只有一个签名和该签名对应的公钥哈希, 输出脚本中包含3个签名对应的公钥哈希, 使得每个消息的大小与现有消息的大小基本相同.在动态异构区块链中的每个节点都拥有6种签名算法的公私钥对, 其中3个公私钥对{(
为了更好地叙述先决策后表决的DHR模型, 需要对交易做出假设.
假设是合理的:首先, 前向安全的签名体制公钥或者Monero中的一次性公钥都可以满足公钥的一次性; 另外, 其他交易模型可以根据1对1交易推出.
这里的交易结果采用比特币中的UTXO模式表示(可与余额模式互相转换), 对每一个消息, 需要交易发送者
动态异构冗余签名机制
Dynamic heterogeneous redundance signature mechanism
我们假设可以容忍某种签名算法可伪造, 一旦某种签名算法伪造, 例如(
决策机制
Decision-making mechanism
由于
根据动态异构共识机制要求, 共识算法产生速度要基本一致, 可以通过调整难度参数
节点处理算法
Node processing algorithm
节点处理算法 |
输入: |
输出: |
算法: |
|
|
for |
if |
|
else continue; |
endif; |
endfor; |
|
Case 0: |
return |
Case 1: |
return |
Case 2: |
return |
endswitch; |
● 1/
1/
● 类自私挖矿攻击
自私挖矿攻击是指共识节点完成共识任务后, 并不在第一时间内公布自己的共识区块, 而在此基础上继续进行下一轮的共识任务, 然后在适当的时候, 同时公布自己的多个共识区块, 达到自己获利以及使其他用户工作无效的目的.目前, 在原始的自私挖矿攻击的基础上发展出了多种更加有效的攻击方法.在拟态区块链中, 由于每个共识轮中共识节点的产生是通过密码抽签的形式产生, 需要大部分共识节点的密码抽签凭证的比较.因此, 共识过程具有更强的随机性与不可预测性, 而且遇到PoS类和PBFT类的共识, 自私挖矿产生的区块不能被超过2/3共识节点认可, 所以可以有效抵御类自私挖矿攻击.
● 日蚀攻击
日蚀攻击通常与51%攻击相结合, 攻击者首先发送代币给接收方, 等待交易上链后, 通过非正常途径产生大量节点与想要隐瞒的接收方节点链接, 然后通过强大的共识权力造成区块分叉, 新的区块包含将原本代币发送给其他接收方的交易以多次获利.拟态区块链的下一轮共识与密码抽签结果一起公布, 只拥有某种强大共识权力的攻击者不一定会成为下一轮共识节点, 而且分叉需要公布大量连续区块, 在难度调节机制中, 某类共识块的连续出现将会提升该类共识块的出块难度.因此, 拟态区块链可以使得日蚀攻击更加困难.
● 量子计算机威胁
传统区块链用的传统非对称签名体系对于量子计算中的shor算法是不安全的, 随着量子计算机的可计算能力提高, 如果不提供一种可以抵抗量子计算的实用策略, 区块链上的高价值数据会有很大的安全隐患.但是现有较为安全的后量子非对称签名体制公钥长度过长、签名速度过慢, 对于区块链的性能和存储都有不利影响.动态异构冗余签名机制通过将后量子签名算法公钥哈希
初始使用的3个签名机制是SM2算法、基于编码的CFS签名算法[
测试环境
Test environment
CPU | Intel(R) Core(TM) i7-4510U@2.00GHz 2.60GHz |
内存 | 8GB |
操作系统 | Windows 7 |
开发环境 | VS 2015 |
得到如下测试结果, 见
测试结果
Test result
ECDSA算法 | SM2算法 | |
预处理 | 对签名消息不作处理 | |
预处理速度 | 0 | 4ms |
计算 | 计算随机数和签名第1项 | 计算随机数, 计算椭圆曲线点的横坐标, 计算签名第2项的第1个乘数 |
签名速度 | 2 889ms | 2 935ms |
验证速度 | 1 790ms | 2 013ms |
根据各算法的验证速度可知, 拟态区块链快速处理能力受限于SM2算法的验证时间和共识算法时间.
区块链的安全问题是影响区块链发展的重要问题.从网络密码分析的角度看, 在算法、协议、实现、使用与系统的各个方面, 区块链都存在安全问题.而区块链逐渐被应用在金融、网络安全等其他核心环境中, 在这些环境中, 安全性要求都特别高, 因此要使得区块链能够真正得到实际应用, 解决其安全性是首要条件.本文从拟态防御的角度出发, 分别设计了动态异构共识机制和动态异构冗余签名机制, 从而搭建了拟态区块链架构.对拟态区块链的安全性进行了定义和分析, 提出了参数选取方案, 并且对签名机制进行了效率测试.目前, 我们的拟态区块链架构的动态异构共识机制还属于动态异构阶段, 未来将进一步考虑动态异构冗余架构, 增强区块链的安全性.另外, 动态异构冗余签名机制还需要解决后量子密码算法公钥量大、算法速度慢的问题, 未来会考虑有效的部署方案.
Gandal N, Halaburda H. Competition in the cryptocurrency market. Social Science Electronic, 2014, 10:14-17.[doi: 10.2139/ssrn. 2506463]
doi: 10.24251/HICSS.2017.506]]]>
doi: 10.1109/WiMOB.2017.8115844]]]>
doi: 10.1145/3054977.3055003]]]>
doi: 10.1109/SCNS.2016.7870552]]]>
Sato M, Matsuo S. Long-term public blockchain: resilience against compromise of underlying cryptography. In: Proc. of the IEEE European Symp. on Security and Privacy Workshops. IEEE, 2017. 1-8.
et
et
Melanie. Blockchain: Blueprint for a New Economy. O'Reilly Media, 2015.
doi: 10.1007/978-3-319-42448-4_15]]]>
doi: 10.1117/12.2262793]]]>
Bender MA, Farach-Colton M, Pemmasani G,
et
doi: 10.1007/978-3-662-54970-4_30]]]>
doi: 10.1109/TDSC.2016.2616861]]]>
doi: 10.1155/2017/4746586]]]>
Yuan C, Xu M, Si X,
et
doi: 10.15302/J-SSCAE-2016.06.013]]]>
doi: 10.15302/J-SSCAE-2016.06.013]]]>
Wu JX. Research on cyber mimic defense. Journal of Cyber Security, 2016, 1(4):1-10. (in Chinese with English abstract)
邬江兴.网络空间拟态防御研究.信息安全学报, 2016, 1(4):1-10.
Yuan C. Research on key technology of privacy protection in blockchain[MS. Thesis]. Zhengzhou: Information Engineering University, 2018. (in Chinese with English abstract)
苑超.区块链隐私保护关键技术研究[硕士学位论文].郑州: 信息工程大学, 2018.
doi: 10.1145/571637.571640]]]>
et
doi: 10.1007/978-3-319-52153-4_16]]]>
doi: 10.1109/P2P.2013.6688704]]]>
doi: 10.1007/3-540-45682-1_10]]]>