计算机系统和攻击者在软硬件方面与时俱进,不断创新非常重要。人们可以想象到的最引人注目的发展,莫过于计算模型范式的变化。量子技术似乎让我们接近这种变化。本文探究网络安全和量子技术研究的交叉领域。
量子技术时代的开端。量子论的发展是20世纪的重大科学革命之一。从早期一直到完整数学形式主义的发展,以及随后第一批应用(比如晶体管和超导体等),量子论在许多不同的环境中非常成功。然而,按预期控制量子系统的能力有限,这限制了技术应用的种类。
近年来,这种情况发生了变化,对量子系统的控制已大大增强,而由于兴趣和投入加大,加上已有的科学突破,似乎有希望在不远的将来取得进一步的进展。全球多国已启动了国家量子技术计划,投入的资金庞大。谷歌、IBM、微软和BAT等各大工业公司及众多量子初创公司已设立了开发量子硬件的实验室。这掀起了所谓的“第二场量子革命”:按预期操控量子系统的能力引领了新时代,众多新技术层出不穷,在一些情况下有望取代现有的解决方案。
可以说,最重要的量子技术将是开发利用量子现象的计算设备(即量子计算机)。量子计算机可能会成为颠覆性创新,提供比经典计算机强大得多的计算能力。
早已取得了杰出的量子技术成就。仅举两例:谷歌最新的量子处理器Bristlecone拥有创记录的72个量子比特,错误率很低。卫星量子密钥分配已实现,可以在7600千米的跨洲距离上实现信息理论安全加密。
量子网络安全。大型量子计算机的发展及其带来的额外计算能力会给网络安全带来可怕的后果。比如说,如果开发出足够大的“容错”通用量子计算机,可高效解决分解因子和离散对数之类的重要问题——这些问题的难度确保了许多广泛使用协议(比如RSA、DSA和ECDSA)的安全性。然而,应对采用量子技术带来的重大风险不是网络安全界的唯一问题,量子技术在网络安全界必将发挥作用。
量子网络安全领域的研究影响通信和计算安全和隐私的方方面面,这都离不开量子技术的发展。
量子技术被对手利用时对网络安全会带来消极影响,但被诚实方使用时则会带来积极影响。量子安全研究一般分为三类,这取决于谁可以使用量子技术、这种技术有多先进(见图1)。在第一类中,我们确保目前可以执行的任务保持安全;在另两类中,我们探究量子技术带来的新前景。
图1.量子网络安全研究领域的示意图
与密码学中一样,先假设资源方面的最糟糕场景:诚实方完全借助经典技术(没有量子能力),而对手可使用任何量子技术(不管这项技术目前是否存在)。尤其是,假设对手拥有大型量子计算机。确保经典协议的安全和隐私保证完好无损就叫后量子安全。
在第二类中,我们允许诚实方使用量子技术以获得增强的属性,但限制只能使用那些现有的量子技术。同样,对手可以使用任何量子技术。在这一类中,我们专注于获得经典功能,但通过使用目前最先进的量子设备,能够增强经典协议的安全或效率。
在第三类中,着眼于更长远的未来,分析因量子计算机而带来的协议具有的安全和隐私。到时会有涉及量子计算机和通信,处理量子信息的任务,有关方想保持数据的隐私,又想要所处理任务的安全有保证。这段时期不会太遥远,因为如今开发的量子设备已突破量子计算的限制,经典超级计算机可以模拟量子计算。
这三类涵盖网络网络的所有方面。本文着重介绍量子计算机给密码攻击和利用新量子硬件漏洞的攻击带来的影响。至于利用现有经典硬件其他漏洞的方法(比如时序攻击),我们预计不会显著受益于量子技术,因而不作深入探讨。
量子计算的误区与现实
量子计算机常被描述成神奇的计算设备,可瞬间解决几乎任何难题。实际上,量子计算机的能力没那么夸张。我们下面澄清下量子计算机和量子对手的计算能力,以及四个最常见的误解。
误区1.量子计算机执行运算方面比经典计算机快得多。
从每秒执行大量操作的角度来看,量子计算机并非速度更快。量子计算机之所以能加快计算速度,是由于量子论允许算法支持经典计算机几乎不可能执行的操作。因此,实现加速需要发明适当使用这些操作的新算法,这并非易事。确实,加速效果主要取决于考虑的特定问题。这解释了为什么量子对手只能破解某些公钥密码系统,其他人只需稍加改动(比如改动密钥长度)就能保持安全。
误区2.量子计算机同时执行(概率)计算的所有分支,可以立即找到接受路径。
量子计算机以一种独特的方式探索新的可能性或计算分支。这类似经典概率计算机(Bpp),重要区别在于量子计算机的行为存在带有复杂值的“概率”。该行为导致某些分支被“取消”。该属性以及利用它的算法带来量子加速。然而在量子计算结束时,仅通过一次读出/测量来获得结果,因此所有“未实现”的分支都不起作用,与这个误区恰好相反:量子计算机并行执行所有分支,某人可以提取那些分支中的所有信息。
误区3.量子计算机可以有效地解决NP完全问题(比如旅行商问题,即TSM问题,是最基本的路线规划问题)。
量子计算机可以有效解决的一类决策问题名为BQP。它与其他已知类的(推测)关系可从图2中看到。尤其是,NP并不包含在BQP中,量子计算机无法有效地解决NP完全问题。不过值得一提的是,量子计算机在处理BQP之外的许多问题(比如二次搜索加速)时,可提供多项式或恒定加速,包括针对NP完全问题的这种加速。针对许多任务,即便这种小幅加速也可能很重要。比如在网络安全界,它影响保证要求的安全级别所需要的密钥大小。
图2.复杂性类的推测关系。
误区4。使用量子计算机难以解决问题,足以使密码协议免遭任何量子攻击。
这是必要但并非充分的条件。量子攻击者会以各种方式使用量子性,不仅为了更快地解决一些经典问题。接下来我们举例(叠加攻击),并指明安全定义和证明技术都需要改动。
后量子安全:量子对手
我们现在需要对付量子攻击者,这有三大原因。首先,安全有可能被未来的技术破解。比如,如果一些机构拦截并存储发送的加密电子邮件,开发出量子计算机后,可以用来解密邮件。其次,开发后量子安全的密码解决方案,获得高效率。对这些解决方案的安全树立信心,需要多个独立顶尖研究小组开展多年的研究。第三,我们改变密码基础设施需要数年的时间。
根据对手使用“量子能力”的方式,可将后量子密码学研究分为三类(见图1)。第一类是对手是经典对手,拥有还能解决BQP问题的额外能力。换句话说,这类对手如同标准的经典对手,可另外访问oracle/量子计算机。在第二类和第三类中,我们为对手赋予额外的能力,比如允许他们发送量子态的输入(查询),然后使用(量子)输出及其量子计算机oracle,以危及协议安全。第二类讨论安全定义的建模和改动以及直接后果。第三类讨论这种新的量子安全模型中(涉及的)证明技术所需的改变。
应注意,就使用的技术而言,后量子安全类别中的所有协议都是完全经典的协议。所有如实步骤都在经典设备中实现。了解量子计算(问题的难度)和总体量子技术(为其他类型的攻击建模)对于证明安全性至关重要。
防范使用oracle量子计算机的敌手。第一个也是研究最深入的领域是,确保所用协议的安全性基于对量子计算机来说仍很难的问题具有的难度。这显然是优先事项,因为一旦制造出量子计算机,攻击涉及的问题对量子计算机并不难的密码系统将轻而易举。如图2所示,存在BQP之外的NP问题;在对手可以访问oracle量子计算机的情况下,公钥密码仍切实可行。
有许多密码系统可以防御这种类型的攻击。它们可以分为基于散列、基于代码、基于格、多元和密钥等密码技术。这里探讨三个问题:信心、易用性和效率。
问题很难,而在一些情况下,问题源自包含复杂性类的理论含义,这种观念常基于无法找到高效的解决方案或无法改进现有解决方案,尽管许多小组长期付出了努力。为经典计算机分解因子面临的困难就是这种情况。我们针对量子计算机分析密码系统中所用的问题具有的难度时,我们的信心一般更弱。更重要的是,量子算法和量子复杂性理论方面的研究也是新的,从量子对手的角度对系统进行适当的密码分析还不如经典计算来得透彻。
最后,可能最大的挑战是效率问题。对于国防和金融市场等某些应用而言,即使以性能较差为代价,也需要最高安全性,但对于众多日常应用,服务速度变慢不可接受。考虑到所有方面,现有的后量子密码系统缺乏效率。改进这方面或确定哪些应用可以容忍这其中一方面效率较低,是活跃的研究领域。
叠加攻击:改动安全概念。安全性通常根据对手在某些假设的交互活动中获胜的可能性方面来加以定义。比如说,有人将不可区分(indistinguishability)定义为对手无法以高于50%的概率获胜的活动,这表明随机猜测明文比特是所能采取的最好方法。
在该活动中,对手获得使用学习阶段的额外能力,可以请求所选择明文的密文。提供这些额外能力的动机基于这种场景:对手可能说服诚实方加密所选择的信息。为了确保隐私,这番操作不会为对手在试图解密消息方面提供任何优势。现在,我们要考虑这种活动中有另外的能力进行量子查询(并接收量子答案)的对手。量子对手可能尝试使用这些叠加密文来破解密码系统。
值得强调的是,拥有叠加与使用所有叠加项不一样。比如说,如果某人直接测量这种叠加,会收到随机选择的明文密文,安全不会受到危害。相反,攻击需要在可揭示密码系统隐藏结构的另一种量子算法中使用密文状态的这种输出叠加。
防范量子对手的证明技术。我们应该将量子对手的内部空间建模为通用量子态,将其所有动作以及与诚实方的通信建模为通用量子操作。用量子手段为对手建模有两个影响。一方面,它给了对手更多的偏离/攻击方式,比如上述的叠加攻击中。另一方面,它对如何证明安全性有影响,因为模拟视角需要模拟量子过程而不是经典过程。请注意,表明证明技术不适用并不意味着找到破解相应密码系统的攻击,只意味着它不再可以被证明是安全的。
量子增强安全:面向经典用户的量子设备
量子技术还可以为网络安全研究提供优势。不妨考虑在(诚实)协议中加入量子步骤的可能性,旨在与相应的完全经典环境相比获得某些改进。改进在原则上是可行的,最有名的例子就是量子密钥分配(QKD)。在QKD中,使用不可信的量子通道和验证身份的经典通道,可以在空间上分离的双方之间建立共享的密钥,并拥有信息理论安全。仅使用经典通信,不可能完成这项任务(实际上是信息理论安全密钥扩展)。重要的是,拥有信息理论安全的协议意味着,其安全并不基于任何计算假设,因此即使攻击者使用量子计算机也保持安全。量子增强的另一个例子是量子指纹,双方可使用少量通信来确定是否在共享同样的比特串。
量子增强安全领域的大部分研究针对QKD,然而存在其他诸多协议和功能,它们承认增强,需要类似或稍微复杂的量子技术。其中一些技术包括:量子随机数生成器、量子指纹识别、量子数字签名、量子硬币翻转、电子投票、拜占庭协议、量子货币、量子秘密信息检索、安全多方计算(SMPC)和位置验证。
量子技术发展迅速,越来越多的量子增强协议变为现实,实用量子设备的前景随之广阔起来。比如说,除了各方之间的简单量子通信外,我们现在可以让各方拥有小型量子处理器。当前是进行这种研究的大好时期,我们可以考虑量身定制的构造,以增强特定的相关加密协议(比如电子投票或SMPC)的性能。
量子实现的安全:安全使用量子计算机
量子计算机在处理许多问题时具有计算方面的优势。如果有这种设备,人们在处理还需要隐私和安全的任务时,自然想利用这额外的计算能力;换句话说,我们寻求量子支持的协议具有安全性。所有安全概念都需要改动,才适用于量子信息和量子计算,比如身份验证、加密以及更复杂的概念(比如加密数据计算和安全多方计算)。当然,这种问题要具有意义,我们先要有相当庞大的量子计算设备,为日常问题提供实在的计算优势。我们有望很快突破经典模拟的极限,正进入量子技术加速的时代。量子加速用于处理重要的日常问题的时间可能也不远了。
这类研究正日新月异,已经有许多协议,适用于量子加密、量子验证、量子非延展性、盲量子计算、安全多方量子计算和功能量子加密等。有多种协议在不同的优值方面进行优化,比如最小化量子(或经典)通信,最小化某几个有关方的整体量子资源或量子资源,提供最高级别的安全(信息理论vs后量子计算)。
这类协议大多数需要双方之间进行量子通信,在大多数情况下,须对通讯的量子信息进行量子计算。这引起了两个问题:一个是理论上,一个是实践上。要实现这种任务,需要与量子通信设备兼容的量子计算设备。一方面,量子通信的最佳平台是光子型的,因为很容易远距离发送用光子编码的量子信息。另一方面,量子计算设备最有前途的一种方法基于超导量子位。对通信和计算而言,优选的量子比特类型并不一致;此外,目前甚至不知道它们是否兼容。目前不知道超导量子计算机是否可以成为“网络架构”的一部分,因为它们目前用单体架构来制造,不清楚是否有可能发送和接收量子态。
未来
安全通信和高效计算的能力对社会无比重要。互联网和物联网对这个世界产生了革命性的影响。今后5至10年,随着量子技术成为主流计算和通信领域的一部分,我们会看到广阔的前景。未来的网络肯定同时包括经典设备及链路,以及量子设备和链路。
实现复杂的经典和量子通信网络,就必须依赖牢固的新基础:能够预见并处理实际实施和新应用的复杂性。
图3.未来的通信和计算网络
后量子安全为经典互联网保持安全性铺平了道路,而量子增强安全旨在从量子互联网发展受益,以实现经典通信无法取得的无与伦比性能。同时,具备各种功能的量子云服务正普及开来。量子支持的安全提供了平台,使潜在用户确信量子云中这种前所未有的新计算能力,具有适当的准确性、可靠性和隐私标准。