笔记作者:CDra90n@SecQuan
原文作者:Tiago M. Fernández-Caramès ; Paula Fraga-Lamas
原文标题:Towards Post-Quantum Blockchain: A Review on Blockchain Cryptography Resistant to Quantum Computing Attacks
原文来源:IEEE Access ( Volume: 8 )
原文链接:https://ieeexplore.ieee.org/document/8967098
本论文对后量子密码系统的最新技术进行研究,以及如何将其应用于区块链和DLT。此外,研究了最相关的后量子区块链系统及其主要挑战。针对最有前途的后量子公钥加密和区块链数字签名方案的特性和性能进行了广泛的比较。因此,本文旨在为未来的区块链研究人员和开发人员提供有关后量子区块链安全性的广阔视野和有用指南。
0x01 Introduction
上一篇文章中描述了与区块链及其安全原语有关的基本概念,研究了量子攻击对区块链公钥安全方案和最流行的哈希函数的影响。此外还列举了最相关的后量子方案,重点介绍并指出区块链后量子方案需要提供的主要功能。最后回顾了量子后公钥和数字签名方案的主要类型,并分析了它们在区块链中的应用。
在本文中将介绍最有前途的后量子密码系统在可被区块链节点使用的硬件上运行时的性能,介绍已经考虑使用后量子方案的主要区块链提案。指出后量子区块链方案目前面临的最重大挑战,以及未来研究人员和开发人员应遵循的不同途径。最后总结最相关的发现,并给出结论。
0x02 Performance Comparison of Potential Blockchain Post-Quantum Cryptosystems
A.公钥加密方案
上表比较了在可同时运行常规区块链节点(即仅与区块链交互的节点)或完整区块链节点的硬件上执行时,先前提到的后量子的公钥加密系统(即一个定期存储和更新区块链副本并能够验证区块链交易的节点)。
具体而言,上表列出了每个微处理器用于密钥生成,封装/加密和解封装/解密所需的周期数。不包括LEDACrypt所需的周期,因为在其NIST第二轮文档中,它仅指示算法总执行时间,而不是周期数。对于CRYSTALS-Kyber,第一个表在括号内指出了在解封装过程中包含密钥生成时(避免必须存储扩展的私钥)情况下的估计周期数。
为了以清晰,快速的方式向读者展示哪种算法在表所示的硬件平台上表现更好(即,不规范与使用不同时钟频率有关的性能差异),上图显示了表中列出的算法的平均执行时间的条形图。可以看出,最轻巧的方案如NTRU Prime,Three Bears和SABRE确实非常快。但是,值得注意的是,虽然在低功耗笔记本电脑微处理器中对“Three Bears”和SABRE进行了评估,但在运行英特尔®至强®处理器的服务器上运行NTRU Prime时,却获得了NTRU Prime的结果。
为了公平起见,上表中所示的所有评估微处理器均基于Intel x64体系结构,并禁用了Turbo Boost和超线程功能。由于在比较的密码系统之间英特尔微处理器的版本不同,因此,应考虑微处理机性能的差异来分析获得的结果。为了以公平的方式进行这种分析,下表列出了每个微处理器的最相关的特性,这些微处理器的性能在本文中引用。
因此,比较了不同的时钟频率,主要目标平台(即笔记本电脑,服务器或台式机),微处理器的典型能耗(表示为散热设计功率(TDP))和估计的性能(利用了Passmark CPU基准。另外,出于公平的考虑,表中将获得的性能结果与所需的执行周期数进行了比较,这意味着它们已经通过考虑特定的微处理器时钟频率进行了标准化。
相比之下,SIKE总体上是最慢的方案,而像Classic McEliece这样的密码系统尽管获得了减少的解封装/解密和封装/加密时间,但密钥生成却非常缓慢。但是,必须指出的是,这样的慢速方案可以针对某些计算体系结构进行优化,从而提供最小的执行时间。此外,一旦公开共享后量子方案,其发展速度很快,因此未来可能会发布新的实现方案,以降低其计算复杂度,从而降低所需的执行时间。
B.数字签名方案性能
上表比较了NIST第二轮的后量子数字签名算法的性能。关于表中显示的信息,应考虑以下注意事项:
•对于FALCON,作者根据花费的时间而不是周期来衡量其性能。这与以下事实有关:研究人员使用的处理器根据负载和温度实现了动态频率缩放,这导致测量值变化高达15%。
•对于Rainbow,括号内的值表示键压缩版本的性能,可以看出,由于涉及到解压缩过程,因此它比常规版本需要更多的计算工作量。
•大多数加密系统在针对AVX2(英特尔提供的256位指令集)进行了优化之后,已经进行了评估。唯一的例外是HARAKA版本的SPHINCS +性能,其优化版本的实现是为了利用AES-NI指令集。
通过条形图显示了上表中列出的后量子密码系统的平均执行时间。就像从后量子加密方案获得的结果的情况一样,值得注意的是,比较后的执行时间是在上表中获得的。相似但不完全相同的硬件平台,因此应将性能差异视为估算值。此外,关于上图应考虑以下几个方面:
•根据三个比较时间的总和对获得的结果进行排序,这是对每种算法的整体速度的估计。
•因为没有三个比较参数的数据,所以不包括FALCON。
•除了后量子密码系统之外,还包括两个可比较的前量子方案所需的时间作为参考:ECDSA(P-256)和RSA-3072。作者使用libstrongswan库,该库用作RSA和ECDSA的openssl包装,并且其测量是在配备2.30 GHz Intel Core i7-3610QM CPU的笔记本电脑上进行的。
•获得的结果表明,正如预期的那样,AVX2 / AES-NI优化显然比参考版本要快。
•最快的方案是DILITHIUM,以及LUOV,qTESLA,MQDSS和Rainbow的最轻量版本,就执行时间而言,DILITHIUM的AVX2优化似乎是最有前途的后量子数字签名方案,因为它获得了结果与ECDSA-256非常相似。不幸的是,DILITHIUM密钥的大小大于ECDSA-256所使用的密钥大小,因此研究人员应集中精力开发新的方法来减少它们。
•最慢的密码系统是PICNIC2,GeMSS,Rainbow和SPHINCS的最安全版本。就PICNIC2而言,其速度不足是由于验证和签名过程缓慢。对于GeMSS,Rain bow和SPHINCS,其执行速度受专用于密钥生成时间的影响很大。
0X03 Post-Quantum Blockchain Proposals
不同的作者已经提出了后量子区块链或对当前区块链的修改以应对量子威胁。例如一个旨在在公共分布式网络中共享敏感工业数据的框架。这样的框架能够与行星际文件系统(IPFS,Inter-Planetary File System)和以太坊一起使用,并在SIDH上实现Diffie-Hellman密钥交换。以太坊也进行了修改,但是使用了基于多变量的密码系统Rainbow,在引用的文章中将其性能与当前的以太坊版本(基于ECDSA)进行了比较。
有的作者建议使用TESLA#改进比特币(在ECDSA签名过程中使用Koblitz曲线secp256k1和SHA-256),后者使用BLAKE2和SHA -3 。值得一提的是了一种基于区块链的透明电子投票协议,该协议利用Niederreiter的基于代码的密码系统来证明该系统不受量子攻击。
商用区块链还分析并解决了量子计算机的影响。像IOTA的Tangle这样的DLT声称比比特币更能抵抗影响随机数搜索过程之类的量子攻击。另外,IOTA的优势是基于一次性基于哈希的签名(Winternitz签名),而不是基于ECC。此外,IOTA有望使用三进制硬件(而不是传统的二进制硬件)来实现称为CURL-P的新哈希函数,该函数目前正在审核中。最后,值得一提的是,在后量子时代,还设计了其他区块链来代替比特币,例如Quantum-Resistant Ledger,它用XMSS取代secp256k1。
0x04 Main Challenges and Future Research Topics in Post-Quantum Blockchain
A.量子计算快速进化
量子计算是当前的热门话题,已经引起了学术界和工业界的广泛关注。因此,有可能针对本文所述的后量子密码系统开发新的攻击,因此研究人员将不得不注意量子计算的场景及其发展。
B.从前量子到后量子区块链的过渡
从前量子到后量子的区块链的过渡需要仔细考虑所涉及的步骤。为了这个目的,不同的研究人员已经设计出方法。例如一种方案,当哈希函数或数字签名的安全性受到损害时,可以扩展过去的区块链块的有效性。但是,过渡方案实际上可能暗示着区块链的硬分叉,为避免这种情况可以实施软分叉机制。另一种机制中提出了一种简单的提交-延迟-披露(commit-delay-reveal)协议,该协议使区块链用户能够以安全的方式将资金从量子前的比特币转移到实现后量子的数字签名版本的方案。
C.大密钥和签名大小
通常,后量子密码系统要求使用其大小比当前公共密钥密码系统大得多的密钥(通常在128到4,096位之间)。
在数字签名密码系统的情况下,存在一些基于超奇异同源的方案,在密钥大小方面看似有希望,但它们产生的签名较大,与其他密码系统相比,其性能很差。例如先前所提到的方案针对128位量子安全级别,它使用了2688位公共密钥和384位私有密钥,但是它产生的信号性质为120 KB,这对于像区块链这样的结构来说是一个问题,这些结构必须存储大量的此类签名。同样,基于哈希的方案具有相对较小的公钥/私钥大小,但其签名通常超过40 KB。
相反,某些基于多变量的方法可以提供简短的签名,但是用于生成和验证此类签名的密钥可能会占用几千个字节。关于基于格的方案,DILITHIUM的版本确实非常快,但是其密钥大小约为1,500个字节,其签名长度占用了2,701个字节。
对于后量子公钥加密密码体制,某些优化版本的方案如Round5似乎很有希望,因为它们的性能对于大多数当前的区块链节点硬件来说已经足够好了,同时保持了较小的密钥大小(公钥为2736位,私钥只有128位)。尽管如此,在后量子方案中仍然需要更多的研究,以便在密钥大小和区块链的安全性之间取得良好的平衡。
D.密钥慢生成
为了提高安全性,某些后量子方案限制了使用相同密钥签名的消息的数量。结果,有必要连续生成新密钥,这涉及专用计算资源并减慢某些区块链过程。因此,区块链开发人员将必须确定如何调整此类密钥生成机制以优化区块链效率。
E.计算和能源效率
之前的比较可以得出结论,某些后量子方案需要大量的执行时间,存储和计算资源。此类需求通常会导致能耗增加,因此,未来的开发人员将不得不寻求新颖的方法来优化密码系统,以最大程度地提高其计算效率和能源效率,并因此提高整个区块链的效率。
F.标准化
正如先前提到的那样,目前有多个计划正在分析后量子密码系统,以使其标准化。由于这是一项持续的工作,寻求保证区块链兼容性的研究人员将必须监控后量子的场景,并避免使用非标准,弃用或损坏方案的风险。
G.区块链硬件不适用
一些计算密集型的后量子密码系统可能不适用于当前用于实现区块链节点的某些硬件。因此,后量子方案应该在安全性和计算复杂性之间进行权衡,以免限制可能与区块链交互的潜在硬件。
H.大密文开销
某些密码系统会产生大量开销,可能会影响区块链的性能。为了解决这个问题,未来的后量子开发人员将必须最小化密文开销并考虑潜在的压缩技术。
I.量子区块链
除了使用密码系统从量子前的区块链过渡到后量子的区块链之外,一些研究者还提出了基于量子计算的区块链。例如提议将比特币迁移到量子计算机,而其他人则提出了如何通过修改Grover算法来加速采矿的过程。此外,一些作者已经建议使用量子密码来实现智能合约。此外,有必要对基于密钥建立的物理方法进行更多研究,这些方法统称为量子密钥分配(QKD,Quantum-Key Distribution)。
0x05 Key Findings
在进行全面的文献分析之后,可以得出以下结论:
•发现没有以前的论文能够像本文所提供的那样对后量子区块链的重要性和应用提供广泛的观点。尽管有其他评论讨论了量子计算对区块链的影响,但它们基本上集中在给出量子验证区块链的一般建议或特定领域。本文包括以下主要贡献:
–详细分析量子攻击对区块链公钥密码系统和哈希函数的影响。
–审查最相关的后量子区块链项目和标准化计划。
–详细分析了可能应用于区块链的后量子加密和数字签名方案的主要类型的特征。
–对最有前途的后量子区块链密码系统的性能进行全面比较。
–关于后量子主要区块链挑战和未来趋势的摘要,将为未来的研究人员和开发人员提供指南。
•尽管已经有大型的关于后量子安全性的项目,但是在将这种类型的安全性应用于区块链上并没有发现任何大型的学术计划。
•如今,没有后量子区块链算法可同时提供较小的密钥大小,较短的签名/哈希大小,快速执行,较低的计算复杂度和较低的能耗。这些因素对于资源受限的嵌入式设备(如物联网中使用的设备)尤其重要。
•目前,密码界正在分析其性能在本文中进行过比较的大多数后量子密码系统,目的是选择最适合通过NIST公开调用进行标准化的密码系统。因此,未来的开发人员应在选择特定的后量子算法之前监视NIST的新闻和报道。
•选择后区块链量子密码系统并非易事。未来的开发人员将必须根据其区块链节点硬件,可用资源(即内存,速度),所需的区块链节点性能和必要的安全级别做出此类决定。为此,本文提供的表格可能是非常有用的指南,用于估计哪些可能是最有希望的候选人。但是,必须强调的是,本文提供的结果与特定的硬件平台有关,因此,在为其他硬件实施和优化时,性能将有很大差异。
•关于本文中比较的具体实现,可以对它们在区块链上的应用进行以下一般评估:
–基于编码的密码系统使用大密钥,这些大密钥的管理和操作需要大量的计算资源。对于密钥压缩技术以及某些类型的代码和编码技术的使用,需要进行更多的研究。
–格基密码系统还需要在密钥大小方面进行增强,但是可以说,它们目前是用于实施后量子区块链方案的最有前途的候选者。实际上,本文进行的比较表明,即使在用于笔记本电脑的低功耗微处理器上执行时,基于格的算法Three Bears和SABER确实非常快。
此外,类似于Round5 KEM IoT的方案似乎适合在大多数当前的区块链节点硬件以及不需要很高安全性的许多应用程序中执行。此外,已经提出了基于点阵的数字签名密码系统,并已在不同的实际区块链实现中进行了测试,并且根据本文显示的比较,DILITHIUM和qTESLA的某些优化版本是最快的。
–基于多变量的公共密钥密码系统仍然需要改进,以提高解密速度并减小密钥大小。但是,应注意,针对AVX2指令集(即LUOV,MQDSS和Rainbow)优化的一些基于多变量签名算法显然比大多数比较的数字签名密码系统要快。
–类似于Google测试的混合方案(CECPQ1和CECPQ2)似乎是实际实施纯后量子区块链之前的下一步,但是它们需要利用能够同时处理两种高级安全性的硬件机制和有效载荷。
–基于Unruh变换的超奇异椭圆曲线同源密码学系统似乎很有希望,但仍需要进行优化以减小其签名大小。
–基于哈希的数字签名密码系统总体上性能较差,但是一些研究人员提出了新的更快的算法,该算法对于区块链似乎很实用。
•有必要进一步研究如何通过添加非学术性区块链开发中几乎未使用的某些功能来增强区块链安全性,并在后量子时代验证其安全性。其中一些功能是:
–聚合签名(Aggregate signatures):它们允许从其中几个生成唯一的签名。这个概念对区块链很有吸引力,因为它可以加快验证速度并减少存储和带宽。
–环签名(Ring signatures):它们允许指定一组可能的签名者,而无需透露谁实际产生了签名。一些研究人员已经提出了基于抗量子的格方案来保护环签名,并将其应用于区块链开发。
–身份基加密(IBE,Identity-Base Encryption):它使发送方和接收方可以进行通信,而无需交换公私密钥。为此目的,使用受信任的第三方作为发送方和接收方之间的中间人以生成私钥,私钥应根据请求发送给接收方。该方案也被普遍称为基于身份的广播加密(IBBE,Identity-based Broadcast Encryption),它能够管理多个接收方,而不是仅管理一个接收方。
IBE和IBBE对于像私有区块链这样的封闭用户群来说很有趣,并且已经有实现(甚至对于嵌入式系统),但是他们对受信任的第三方的需求似乎存在冲突公共区块链的概念,其存在正是由于缺乏信任而正当的。
–秘密分享(Secret Sharing):它包括将一条敏感信息分成多个部分,这些部分分布在不同的参与者之间,并且可以通过使用最少数量的部分进行重构。例如引入了一种私钥分发方法,该方法可帮助恢复丢失的私钥,该方法基于秘密共享和网络协议,以保证秘密共享传输的安全性。可以找到另一个示例,其中作者使用秘密共享在区块链中的同级之间安全地分配交易数据。
–同态加密(Homomorphic Encryption):它使第三方服务能够处理交易,而无需向他们透露未加密的数据。已经提出了这种加密方法,以增强比特币协议和基于区块链的物联网系统。
–零知识证明(Zero-Knowledge Proof):这种证明在声明之前不泄露任何秘密。这些证明中有一种特殊类型,称为零知识简洁非知识性知识论证(zk-SNARK),旨在减少证明的复杂性和大小。但是,有必要设计zk-SNARK来利用后量子密码系统或利用zk-STARK等新的后量子方案。另外,可以使用SNAGS(简洁的非交互式自变量),其量子电阻率仍在由研究团体进行研究。
–安全多方计算(SMPC,Secure Multi-Party Computation): SMPC允许区块链中涉及的各方共同行动,但以一种方式,即一方无法访问所有信息,从而防止了秘密数据泄漏。在区块链上使用SMPC的一个例子是Enigma,它首先将哈希存储在区块链上,然后将相关数据存储在SMPC网络上,将其分为多个散布在不同节点之间的片段。
•尽管本文中进行的分析集中在区块链上,但由于其他DLT的工作方式相似,因此将所提供的建议和提取的结论应用于它们非常简单。因此,可以基于有向无环图(DAG)(例如IOTA,Byteball)或哈希图(例如Swirlds )将此类建议和结论外推到DLT。但是,研究人员仍然需要彻底评估已经声称比某些区块链(例如IOTA,抗量子账本)更好地为后量子时代做好准备的DLT实现。
0x06 Conclution
量子计算的最新进展引起了与像区块链这样的DLT合作的研究人员和开发人员的兴趣,在区块链中,公钥密码学和哈希函数是必不可少的。本文分析了量子计算攻击(基于Grover和Shor的算法)对区块链的影响,并研究了如何应用后量子密码系统来缓解此类攻击。为此目的,审查了最相关的后量子方案,并分析了它们在区块链中的应用以及主要挑战。此外,还对最有前途的后量子公共密钥加密和数字签名方案的特性和性能进行了广泛的比较。因此,本文对区块链上的量子威胁提供了广阔的视野和见解,并为下一代抗量子区块链的研究人员和开发人员提供了有用的指南。
安全学术圈招募队友-ing,有兴趣加入学术圈的请联系secdr#qq.com