QUANTUM-PROOFING THE BLOCKCHAIN(中文版)下

修补区块链的方法

鉴于区块链保护的信息和关系的重要性,以及随之而来的确定区块链经常成为恶意行为者进行网络攻击的目标,我们谨慎地通过设计引入量子抗性并确保最可靠的形式得到利用关键和脆弱的资产。

区块链最重要的安全目标是不可伪造性和双重支出的不可能性。目前,区块链的量子化验证问题可分为两种情况。第一种情况是指对新的区块链进行量子化验证,即从头开始设计量子抗性区块链,而第二种情况是指对现有区块链(如比特币网络)进行量子化验证。第一种情况比第二种情况简单得多。在下面的分析中,我们将考虑量子计算机要么可供所有人使用(我们将称之为对称对手),或仅供少数人使用(我们称之为非对称量子对手)。表1描述了区块链类型和量子对手风味的可能组合。
QUANTUM-PROOFING THE BLOCKCHAIN(中文版)下_第1张图片

从头开始设计量子抗性区块链
从头开始设计量子抗性区块链相对简单:我们可以应用后量子加密方案和量子加密。

使用后量子加密方案
使区块链抵抗量子攻击的最明显且可能具有成本效益的方法是用后量子攻击取代目前部署的基于RSA或EC-DSA的数字签名方案。后量子加密方案从某些数学问题的难度中获得安全性;因此,它们提供了通常所说的计算安全性。

后量子方案的示例是基于格的方案(有错误的学习,LWE),超奇异同构方案,多元多项式方案,基于代码的方案或基于Merkle树的签名.25所有这些协议都被设计为抵抗量子攻击,直到现在还没有人能够发现破坏任何这些方案的攻击。然而,这种稳健的方案伴随着性能成本,因为它们稍微(或有时相当大)的密钥大小和计算速度的显着降低,需要权衡安全性的效率。

不幸的是,直到最近,工业界和政府对于量子威胁的普遍认识采取行动还很慢。目前,世界各地的密码学研究人员越来越关注研究量子抗性算法;但是,在没有国际标准的情况下,结果可能是令人困惑的过多竞争,未充分测试的专有密码系统。
幸运的是,在2016年,美国国家标准与技术研究院(NIST)开始了一个多年的标准化项目,以确定候选量子抗性密码系统.26这要求提交截止日期为2017年11月,随后是三到五年的公众审查,然后是一到两年的标准化阶段 - 在2021年到2024年之间达到NIST标准。这些标准化算法将为组织考虑合并到他们的系统中提供更集中和可管理的替代方案。但是,选择最终获胜者(或获胜者)可能为时尚早,因此加密敏捷性仍然至关重要。

区块链使用量子密码学
原则上,我们可以使用许多量子加密工具来使区块链更安全。量子随机数发生器(QRNG)可能是短期内最实用的工具.27它们避免了与伪随机数发生器相关的密码分析风险,并承诺比传统的基于熵的随机数更基本,更可靠的随机性来源generators.28

此外,量子密钥分发(QKD)系统越来越商业化(尽管仍处于早期阶段).29 QKD是一种使用不受信任的量子信道通过不可信但经过身份验证的通信信道建立对称密钥的方法。这是当今通常使用由公钥签名认证的基于公钥的密钥协议实现的,并且可以在将来使用后量子公钥方案来实现。

与用于密钥建立的后量化方案相比,使用QKD建立密钥的优点是QKD的安全性不依赖于计算假设(即,理论上“信息”安全),因此对密码分析具有弹性。相反,后量子方案基于计算假设,因此存在未来密码分析的一些风险。然而,QKD需要运行专用硬件(如激光器,光纤等),而且我们距离全球QKD网络还有很多年。

在实践中,我们不确定QKD将来如何有助于提高区块链的安全性。在最近提出的基于QKD的区块链提案中,作者描述了一种区块链方案,其中通过参与者之间的QKD网络实现认证,并且通过类似拜占庭协议的协议获得共识.30这种方案的实际用途一项计划尚不清楚。

还有各种量子工具,如量子认证,量子货币和量子指纹,有朝一日可能有助于进一步减少密码分析的威胁。我们也可以考虑一个完全量子的区块链,即基于分布式架构的其中节点是量子计算机,都通过量子通信渠道链接(参见Jogenfors).32对于我们这里的目的,我们只是注意到这些方案通常需要量子计算和通信工具,这些工具将无法使用,特别是对于实际应用而言,未来很多年。

量子对手的味道
不对称量子对手
与经典计算机的发展一样,我们期望量子计算机最初可用于政府,大型研究机构和大型企业等极少数实体 - 换句话说,我们期望量子对手的分布不对称。

让我们考虑一下这种量子计算机对基于PoW的区块链的影响,其中哈希函数用于强制执行事务的不变性。我们假设系统使用量子抗性数字签名来确保交易的真实性。问题是,孤立的量子计算机(或少量量子计算机)对这样的网络造成多大的破坏?

首先,我们注意到唯一的漏洞可能在区块链的PoW组件中,而不在数字签名本身(如果使用量子安全签名方案)。因此,量子对手不能冒充别人并试图花钱。唯一可行的攻击是针对基于散列函数的PoW系统,其中量子对手可能尝试比组合的区块链网络的其余部分更快地验证事务。如果它平均成功,那么它可以在没有网络意识的情况下进行双倍花费。

为了使这个例子更具体,让我们看看当前的比特币网络。随着时间的推移,工作证明的综合难度会不断调整(平均增加),因此平均每10分钟就会找到一个解决方案(因此,验证)。需要进行这种调整,因为注入了新的和改进的硬件随着时间的推移网络。图2显示了2016年9月至2017年8月期间整个比特币网络的组合哈希率增加。2017年8月,该网络每秒执行大约7 * 10 ^ 18个哈希值,这意味着平均每10个哈希值约为4.2 * 10 ^ 21个哈希值。 minutes.33

因此,要成功,量子对手必须在显着小于10分钟的时间内搜索4.2 * 10 ^ 21个散列前映像的空间。最好的攻击是通过Grover的算法,它可以提供时间方面的二次加速。因此,理想的量子计算机(即,不需要纠错)将能够以6.5×10 ^ 10个时间步长执行这种搜索。非常乐观地假设1GHz量子机(即,每秒执行10次操作的量子计算机),该搜索将在大约一分钟内执行。

因此,PoW系统非常容易受到这种理想化的量子机器的攻击,因为后者不仅可以比网络的其他部分更快地验证,而且还可以通过创建一个及时的分支来重写历史记录,为链添加新的虚假交易,以及以足够快的速度验证每个块,使新链最终成为所有网络参与者都接受的有效链。

然而,实际上,量子计算非常容易受到环境噪声的影响,并且需要量子纠错码才能正常工作。量子纠错引入了显着的计算开销,因为需要冗余的信息编码.35乐观地说,我们假设一个量子计算机工作在1Gz频率,物理组件的误差率小于10 ^ -5(这也是一种非常乐观的方法) )。根据这些数字,我们计算出执行攻击需要大约2.2 * 10 ^ 14步,所有这些步骤大约需要两天半。

因此,除非我们在容错量子纠错或新的量子计算架构发挥作用方面取得重大进展,否则这种现实的量子实现不会构成威胁。我们还不知道未来会发生什么,包括新的密码分析攻击的可能性。

正如人们所预料的那样。 在上面的容错示例中,攻击者将需要大约33,000(2 ^ 15)个完全容错的量子计算机来将搜索时间减少到10分钟。

请注意,通过Grover算法进行搜索无法有效并行化.36换句话说,我们能做的最好的事情是将搜索空间拆分为块,并为每个块使用单独的量子计算机。 因此,如果并行使用K量子计算机来搜索大小的空间,则运行时间将成比例 正如人们所预料的那样。 在上面的容错示例中,攻击者将需要大约33,000(2 ^ 15)个完全容错的量子计算机来将搜索时间减少到10分钟。
QUANTUM-PROOFING THE BLOCKCHAIN(中文版)下_第2张图片

对称量子对手
在这种情况下,整个协议可以假设存在广泛的量子计算,包括这种量子计算机对大多数计算节点(或采矿场)的可用性。因此,平均而言,没有外部计算能力可以明显快于网络的其余部分。
因此,我们在此得出结论,区块链可以抵御散列函数上的泛型量子攻击。

量子化证明现有区块链
修补现有的区块链以防止量子攻击可能比从头设计量子安全区块链要困难得多。第一步是用容量较大的加密基元替换易受攻击的加密基元。例如,在比特币网络中,我们需要用量子抗性方案替换数字签名方案,并使用后者签署新的交易。这种方法将为未来的交易提供安全保障。

然而,问题是旧交易会发生什么?我们假设一个钱包从一个地址花了一些加密货币。因为地址是与该钱包相关联的公钥的散列,所以公钥已被公开显示,并且量子对手可以恢复相应的密钥。如果钱包仍然有一些与该地址相关联的加密货币,那么量子对手可以冒充钱包的所有者并花费其余的资金。

这个问题的解决方案:永远不要重复使用公钥,或者确保没有更多资金可用于已公开公钥的地址。如果量子安全数字签名在量子计算机成为现实之前被引入区块链,那么网络可以要求每个用户执行自我转移交易,其中用户转移与他或她的旧的相关的所有资金(非量子 - 安全)公钥到与用户的量子安全公钥对应的地址。

对称与非对称量子对手的讨论遵循与我们的量子对手的风格相同的方式。在最坏的情况下,非对称量子对手能够比网络的其他部分更快地解决加密难题。虽然根据目前的假设,这种情况极不可能,但我们不能将其排除在外。因此,我们需要采取预防措施。
例如,我们可以认为长于固定数量L的块的事务是完全不可变的,并且修改区块链协议,使得不再允许分叉和挖掘长于L的块。 虽然这个选项在某种程度上解决了重写L块之前的历史记录的问题,但它并没有解决量子对手能够比整个网络更快地验证待处理事务的能力,因此无法控制网络。 这个最后一个问题没有明显的解决方案,我们需要更多的研究。 我们可以设计一个量子计算机无法更快解决的可变难度加密谜题。 当然,没有人能够通过搜索来解决这些难题,因为Grover的算法会提供加速。

效率分析
一位公认的专家认为,实施后量子区块链的主要技术难点之一在于后量子数字签名方案所引入的开销.37例如,比特币协议使用EC-DSA进行交易身份验证,其平均大小等于71个字节。相比之下,后量子数字签名方案至少要大六倍(表2),或者比目前部署的EC-DSA要差得多,而且计算速度要慢得多。后量子数字签名方案引入的约束可能对量子抗性区块链构成严重的可扩展性挑战。

例如,超量极同系后量子方案,就其密钥大小(约半千字节)的短小而言非常有希望用于公钥加密,目前在空间受限的环境(如区块链)中作为数字签名方案是不适当的,因为相应的签名大小约为140千字节(与ECDSA的71字节相反)。
QUANTUM-PROOFING THE BLOCKCHAIN(中文版)下_第3张图片
另一方面,基于代码和基于多变量的数字签名具有短的大小,但是用于签名生成和验证的相应公钥/私钥相对较大。因此,对于这两种方 案,PoW区块链中假设块的大小可能比比特币区块链的当前大小大约七倍。但是,所需的PKI将需要更多的存储空间,因为相应的公钥/私钥明显大于当前的EC-DSA密钥。此外,基于多变量的方案拥有相对较多的反对者,因为它们的安全性不如其他方案有说服力。

列表中的下一个候选者是基于LWE的数字签名方案,其遭受稍大的密钥(3-5千字节)。通过硬问题减少论证,这些方案可以渐进地保证安全.39现实参数没有这种严格的安全性证据,但加密社区尚未发现该方案存在任何缺陷或安全问题。公钥/私钥的大小也合理;因此,LWE似乎是量子抗性区块链的可行候选者。

基于哈希的方案在安全性方面是最受信任的方案,并且具有相对较小的公钥/私钥。然而,相应的签名大小超过40千字节长,这在诸如区块链的非常空间受限的环境中是有问题的。

Lamport基于一次性的签名是另一个潜在的候选者.40他们的公钥大小是16千字节,相应的密钥大小也是16千字节,他们的签名大小是8千字节。稍微更有效的方案(在签名大小方面),如Winternitz一次性签名方案也是可行的.41 Winternitz签名压缩减少了私钥和公钥的大小,略小于大块的两倍大小(以比特数和签名因子的一半。计算时间略大于块大小的两倍(以位为单位)。这些方案是一次,也就是说,只要密钥,它们就是安全的签署新交易时不会重复使用。

总之,后量子数字签名方案提供了针对量子对手的安全性,代价是更大的公钥/私钥大小或签名大小。我们需要在量子后数字签名方面进行更多的研究.42在一个强大而有效的量子抗性区块链中,减小签名大小和公钥/私钥大小是至关重要的。

问答:四位专家对区块链安全性的评价
在我们的研究过程中,我们采访了一些区块链专家,讨论当前和未来针对量子对手的区块链协议的安全性。我们向他们询问了组织在实施量子抗性分类账时可能需要解决的挑战和缺陷。
Manfred Lochter博士,德国联邦信息办公室(BSI)

题。您如何在10分钟内看到破坏EC-DSA?
回答。如果存在量子计算机,请不要使用EC-DSA!如果没有,看看它是什么样的攻击以及它如何扩展,或许增加安全性参数.43

问:您是否认为量子计算机会影响基于散列反转的安全性工作量证明系统?
A.哈希是工作量证明系统中问题最少的,但它取决于区块链的类型。例如,区块链的时间戳可能存在严重问题,其中碰撞阻力是至关重要的。如果量子计算机发现碰撞,它可以攻击系统。

问:当前钱包重复使用密钥的频率如何?
A.钱包确实是一个问题。有些钱包使用确定性算法来生成密钥序列。此外,公钥冲突的数量大于预期,主要是因为钱包实施不力.44

Ghassan Karame博士,德国NEC实验室首席安全研究员

题。您如何看待影响区块链的量子威胁?这种威胁有多严重?
回答。威胁不仅仅局限于区块链 - 它适用于所有系统。我不认为区块链是一个例外。 …我们所知道的是,区块链中目前存在大量非活动地址,因为如果10年内有人可以破解这些密钥,那么他/她可以获得大量资金。目前还有相当数量的硬币处于休眠状态[Satoshi的硬币] .45

问:截至目前,区块链实施中最脆弱的部分是什么?
答:许多攻击都在网络层实施上。在大多数区块链中[由于尝试]优化可扩展性并在此过程中丢失安全功能,因此非常弱。 ……这是现有实施中最薄弱的环节之一。 …当涉及用户时,用户成为安全瓶颈,例如,私钥并不总是被妥善管理。

问:钱包重复使用密钥或使用确定性算法生成密钥序列的频率是多少? 你能评论当前的钱包安全问题吗?
答:比特币在收集更改时应默认为您提供一个新地址(除非有人手动更改代码)。 问题是这还不够好。 还有实施问题。

问:你认为量子安全区块链在今天有用吗?
答:是的,这可能有意义。 哈希是量子抗性的,但目前社区的标准困境是如何为区块链的数字签名部分提出适当的密钥管理解决方案。 即使对于当前的EC-DSA密钥管理基础设施,这也是一个问题。 ……我认为我们应该考虑量子安全区块链。

北卡罗来纳州立大学Nadia Diakun-Thibault博士
题。您对区块链基础设施的量子计算攻击有何看法?
回答。目前,尽管是区块链,但我们今天可能有一些量子能力,在SHA-256中是安全的,这是比特币区块链使用的。 ……问题是人类参与其中,他们可能无法很好地保护系统,可能不遵守所有安全规则,或者可能注入人为错误。 ……在区块链确实易受攻击的领域需要更多的研究,例如数字签名,智能合约或云计算中的安全规则和安全应用.46

问:钱包存在执行安全问题/主要软件缺陷的常见程度如何?重大灾难?
答:这就是问题所在。钱包,交易所,账户可能在云端;他们不一定安全。云提供商并不了解云中发生的所有情况。挖掘可以在云中完成。云提供商可以提供哪些保证可以完全应用安全措施?大多数安全问题都在提供商/用户/钱包的末端。

问:关于区块链的量子威胁或监管区块链,是否有任何加拿大政府官方立场或建议?
答:在这个时候,我所知道的都没有。在我看来,这是一个很不愿意评论的领域。政府可以规范使用,但不限制区块链本身 - 没有标准。我认为我们不能“规范”区块链;可以说它类似于规范“数据库”。政府可以规定使用区块链的适当位置,是否允许或许可,参与者是谁,安全要求,合规措施等等。这些是合理的期望。

David Jao博士,滑铁卢大学应用密码学研究中心

题。 构建量子抗性分类账最具挑战性的部分是什么?
回答。 绝对是数字签名。 后量子签名方案仍然比EC-DSA大,并且简单地插入后量子替换对于相对较小的区块链可以正常工作,但是会对诸如比特币的大区块链产生主要的可扩展性问题。 密码学界需要在后量子数字签名领域进行更多研究.47

结论和建议
后量子解决方案尚未完全标准化,因此此时提出强烈建议非常困难。但是,我们现在肯定可以推荐的是构建敏捷的区块链协议,其中数字签名方案是模块化的,因此可以很容易地将其切换出来并用量子抗性替换。虽然从安全角度来看有状态的基于散列的签名是有吸引力的,但是无状态方案(其还包括无状态基于散列的签名)也具有实际优势,例如,基于晶格问题的硬度的数字签名,例如LWE,或者基于代码的数字签名方案。 48请记住,目前还没有提供短签名和短密钥大小的量子抗性数字签名方案。

我们的建议是敏捷并设计一个量子抗性区块链,其中改变数字签名方案应该是代码库的完全集成部分。例如,假设一个用于数字签名的通用应用程序编程接口(API),并设计协议,以便能够在需要时动态更改签名。

我们还强烈建议仔细设计最终用户区块链架构,例如数字钱包基础架构。请记住,最终用户基础结构是加密链中最容易受到攻击的链接。因此,确保其安全至关重要。

一个更困难的问题是如何根据工作证明修补区块链系统。如果量子计算机可以广泛使用,那么我们可以修改网络协议,以便假设每个人都在使用量子搜索来找到散列函数的预映像。但是,如果只有少数用户可以访问量子计算机,那么当链中的所有事务都按顺序修改时,如何避免攻击尚不清楚。可能,区块链网络总是存在不对称性,那些能够访问量子计算机的极少数用户最终将能够妥协长链。

一个强力解决方案只是修改区块链协议,以便不再接受长于指定长度的叉子进行挖掘。此解决方案仅部分解决了该问题:虽然它保证超过指定步骤数的过去事务的完整性,但它不会阻止恶意用户比其他人更快地验证事务并且基本上接管网络。

我们希望这些问题能够提高区块链研究界的认识,从而开发新的保护方案。目前,我们认为哈希反转不是一个非常严重的安全问题,至少在近期和中期都不会。由于纠错,第一代量子计算机很可能会遭受巨大的开销。请记住,在这种情况下,Grover不会真正加快速度,以便散列反转成为安全问题。然而,从现在起25年后,我们可能拥有足够强大的非对称量子对手,他们能够比大多数网络更快地找到哈希预渲染。目前我们缺乏这个问题的完整解决方案,除了前面提到的暴力补丁。

总之,设计量子抗性区块链的最严格要求是认证部分。当前的数字签名方案是易受攻击的,必须在当前的区块链中进行替换,或者从头开始在新的量子抗性分类账中实施。

现有的后量子数字签名方案都不能满足分布式分类帐系统的所有要求,即小尺寸和高效率。我们希望该领域未来的研究能够带来更小,更有效的方案。在此之前,我们建议在架构设计和构建分类帐中保持敏捷性,其中更改数字签名方案应该相对容易(即,内置到协议中或通过简单的更新补丁).49

Open Quantum Safe平台是一项协作开源工作,开发人员可以利用它来测试和标准化区块链应用中的各种量子抗性密钥交换和签名方案。我们希望我们的研究能够激发区块链专家,密码学家和软件开发人员之间富有成效的合作。设计未来的量子抗性分类帐。

你可能感兴趣的:(区块链技术)