后量子时代:区块链中密码安全隐患

转载
2176 天前
15030

来源:OK区块链工程院


量子计算与区块链是当下两个热门技术,因为密码学技术联系在一起。区块链使用密码学技术保障系统安全,而量子计算对传统的密码学技术提出了巨大的挑战,进而威胁到区块链系统的安全。

目前对量子计算的认识有两个极端,一种观点是量子计算无所不能,第二种观点是量子计算还很遥远。量子计算可以做哪些事情?对传统密码体制有哪些安全威胁?

对这些问题的把握可以从两个方面入手:

(1)区块链系统采用的密码学技术

(2)量子计算对传统密码体制的威胁

 

区块链是一个去中心化的分布式记账系统,采用密码学技术保护账本不被篡改和实现节点共识。我们以OKChain为例,区块链系统中的主要密码学应用包括:

(1)哈希函数用于PoW计算。哈希函数为系统提供“单向性”:正向计算很容易,逆向求解很困难。在传统的PoW中,找到一个符合条件的原象(挖矿)需要一定的算力保证,但验证一个解是容易的。

(2)签名与多签技术。经典的签名方案有EC-Schnorr和ECDSA,主要基于ECC上的CDH问题设计,即假设CDH问题在数学上是困难的,则密码体制是安全的。OKChain采用了更加高效的BLS多签方案。

(3)可验证随机函数(VRF)。基于VRF,OKChain系统中采用了可验证随机洗牌函数(VRSF),用于共识决定出块者优先级序列。

 

量子计算突破了传统计算的极限,在求解一些重要密码问题上获得了指数加速,对现有密码体制的安全性提出了极大的挑战。但量子计算不是万能的,也不是对所有问题都可以有多项式时间算法。

目前常见的量子算法主要基于Simon算法、Shor算法和Grover算法。

(1)Simon算法用于求解周期计算(finding period)问题。若一个函数为周期函数,则Simon算法可以在多项式时间内计算得到该周期。

(2)Shor算法用于求解整数分解(integer factoring)问题,该算法为多项式时间算法。由于DH问题与整数分解问题在多项式时间内可以相互转化,所以DH体制以及ECC上的DH体制在多项式时间内都可以在量子机上求解。

(3)Grover算法可以在一个无序的数据库中查找符合条件的解(即穷搜),相较于经典遍历穷搜可以获得平方加速。

 

现有很多签名方案如RSA和ECDSA的安全假设是CDH(computational Diffie–Hellman)问题是困难的。目前对量子攻击的担心主要来源于Shor算法对RSA、DH等密码问题的求解,进而威胁到包括BLS在内的大多数签名方案的安全。针对Hash函数等对称密码体制,量子计算目前没有有效的攻击方法。抗量子密码体制研究集中在公钥密钥和数字签名方案领域。

 

由于量子计算对传统密码体制的威胁,抗量子(后量子)密码体制逐渐被提出并标准化。现阶段,所谓的密码体制抗量子一般包括两个方面:

(1)该加密体制可以规约到一个困难数学问题上;

(2)该困难问题是NP-hard的。


2012年,美国国家标准与技术研究院(NIST)启动了后量子密码的标准化并于2016年开始向全世界公开征集后量子算法。截止到2017年11月30日,NIST共收到各种后量子时代公钥密码方案82项。

目前主要有四类算法:

(1)基于格困难问题的密码体制。该类密码算法基于格上的最短向量(SVP)等困难问题设计,如NTRU密码。

(2)基于多变元多项式的密码体制。该类算法基于多变元方程求解的困难性设计,如Rainbow数字签名方案。

(3)基于哈希函数的数字签名方案。该类密码基于Hash函数的安全性设计,如Merkle签名方案。

(4)基于编码问题的密码体制。该类密码基于纠错码设计,随机线性纠错码求解问题已经被证明是NP-hard的。代表性密码如McEliece密码体制。

 

鉴于量子计算带来的安全隐患,已经有团队开展抗量子的区块链体制研究,如ZK-STARK系统。ZK-STARK系统采用了基于Hash函数的数字签名方案来替代基于CDH假设的数字签名方案,从而可以抵抗量子攻击。

OK区块链工程院在抗量子计算和可证明安全等领域开展了基础研究,致力于为用户提供安全、高效的区块链解决方案。