量子时代,网络安全会崩溃?全世界的密码系统都该升级了

蒂姆·福尔杰 环球科学ScientificAmerican 2016-09-13

本文原载于《环球科学》,首发于公众号“创新地标”(ID: kejitouzi)。




一旦量子计算机研制成功,其大幅增长的计算性能将轻易破解现有的加密系统。我们该何去何从?




撰文 蒂姆·福尔杰(Tim Folger)

翻译 张春梅 韩云光 钱泳君 李亚平 

审校 陈巍


1979年10月,一个阳光明媚的下午,在波多黎各首都圣胡安的一篇沙滩上,两位科学家刚刚解决了一个并不存在的问题。刚从康奈尔大学获得博士学位的吉勒·布拉萨尔(Gilles Brassard)泡在午后温暖的的加勒比海水中,这时一个黑头发的陌生人向它游过来。他们讨论的问题是——如何制作出不能伪造的钞票。几年前,哥伦比亚大学的研究生斯蒂芬·威斯纳(Stephen Wiesner)提出了将光子嵌入钞票的方案,在它的方案中,每一张钞票都会包含一个由一串光子组成的独有的量子序列号。根据量子力学定律,任何企图测量或复制光子的行为都会瞬间改变光子的特性,因此该序列号不能被复制。


“毫无疑问,我当时感到很惊奇,但还是礼貌地倾听着。”布拉萨尔现在已经身为蒙特利尔大学信息科学领域的教授,在他看来这次讨论改变了他的人生。与他讨论的是IBM的物理学家查尔斯·本内特(Charles Bennett),本内特在之前的一次学术会议上知道了布拉萨尔。虽然他们都对量子钞票的想法很感兴趣,但他们也认为这在技术上是行不通的。即使在37年后的今天,仍然没有人知道如何在一张纸上捕获、固定并存储光子。毕竟,光子总是处在非常高速的运动中。


 “虽然我们当前的技术已经有所进步,但离实现可用的量子钞票还差十万八千里。”布拉萨尔说。“量子钞票的概念在实用性上纯属荒谬,但作为思想实验是一个全新的起点,对未来产生了深远的影响。因为正是基于这一设想,本内特和我冒出了量子密钥分配的想法。”


量子密钥分配(Quantum-key distribution, QKD)是一种用光量子进行编码并传输数据的技术,这种加密方法在理论上是牢不可破的。在海滩相遇之后,本内特和布拉萨尔开展了长达5年的合作,开创了史上第一个依赖于物理定律而非数学复杂度的密码术。1984年,本内特和布拉萨尔发表了他们关于量子密钥分配的研究结果,但当时只有很少人注意到了这项工作,对此加以认真研究的学者则更少。布拉萨尔说:“当时,哪怕是注意到了我们的研究的学者都认为这是一项很边缘化的研究,甚至是我们自己也没有给予它足够的重视。”


现在的情况已经大大不同。30年前,除了政府情报机构外,几乎没有任何人使用密码技术。而现在,密码技术已经成为了处理互联网日常事务的必需环节。所有Web浏览器都内置有复杂的程序,只要有人在网上输入口令或者信用卡号,这些程序就会在后台工作,保护输入的信息免遭网络窃贼的窃取。加拿大滑铁卢大学量子计算研究中心的研究员瓦季姆·马卡罗夫(Vadim Makarov)认为:“这是一项行之有效的技术,每个人都需要用到,但没有人意识到这一点。”


但是现行的工作模式很可能难以为继。随着量子计算机的到来,几乎所有如今在使用的加密方案都有可能被淘汰。当前,各种精心设计的密码保护着从亚马逊网站购物到电力网络安全的方方面面,而量子计算机却有能力攻破这些密码体系。尽管目前尚未有人造出成熟的量子计算机,但是全世界学术机构、企业和政府实验室的研究人员都在向该目标努力迈进。在揭秘者爱德华·斯诺登(Edward Snowden)发布的文件中,美国国家安全局开展了一项名为“攻坚”(Penetrating Hard Targets)的秘密项目,该项目投入了7970万美元来制造量子计算机。美国洛斯阿拉莫斯国家实验室的物理学家雷·纽厄尔(Ray Newell)认为:“很难说量子计算机不会在10到15年之内出现。


基于本内特和布拉萨尔32年前提出的理论还可以实现另一种量子“魔术”,即密码网络技术(cryptographic networking technology)。一旦第一台量子计算机启动,该技术就可能成为反制前者的强大破译能力的最有效手段。量子加密是一种利用单个光子的奇特性质进行编码传输的方法,这比实现量子计算机要更加简单。目前,科学家已经建立并运行了一些小规模的量子加密项目。当前仅存的问题是:用量子加密系统替换掉世界上现有的加密系统可能比开发量子计算机花费的时间更久。“如果认为量子计算机的威胁在10到15年内有可能成为现实,那我们应该更早开始利用量子技术升级现有加密系统,”纽厄尔说,“现在才开始或许已经太晚了。”


用大数加密


在网络商务中,人们只需在电脑屏幕上轻松点击鼠标,但在其背后作为支撑的,则是由两种不同的密码体系组成的精巧且复杂的数学架构。这两种密码体系分别是:使用相同的密钥进行加密和解密的对称密码体系,和使用不同的密钥进行加密和解密的非对称密码体系。互联网上每一次安全的信息交互都会用到这两种方法。


为了在家庭电脑和网络零售商的Web服务器之间进行通信,消费者和零售商需要首先创建一个对称密钥,并通过因特网共享这个密钥。这个密钥可以用来加密顾客的信用卡卡号和其他私密信息。密钥在本质上是一组关于如何加密信息的指令的集合。举一个非常简单的例子:可以将信用卡的每一位卡号乘以3作为密钥。在实际使用中,从数学的角度来讲密钥是非常复杂的。当人们在网络购物时,在家庭电脑的Web浏览器和线上零售商的服务器之间交换的密钥可以保证通信的安全。然而,如何在密钥交换这一初始阶段保证密钥本身的私密性呢?这就需要再增加一层安全防护手段,即使用非对称加密技术对上述的对称密钥进行加密。


20世纪70年代,英国情报部门和学术机构的研究人员各自独立发明了非对称加密方法。它使用两个不同的密钥:一个公钥和一个私钥。在一次交易的加密过程中,两个密钥都是必需的。例如,在进行线上购物时,供应商的服务器把公钥发送到消费者的电脑,这个密钥是公开的,可以被所有消费者获取并使用。消费者的电脑用该公钥加密一个密钥,后者将作为与供应商共享的对称密钥。在收到经过加密的对称密钥之后,供应商的服务器将用一个自己独有的私钥对之进行解密。一旦双方安全地共享了对称密钥,就可以用其完成后续交易的加解密。




非对称密钥体系中的公钥和私钥源于大数的因子,更具体地说是指大数的大素数因子。素数是只能被1和自身整除的数。我们可以用两个大素数作为私钥,而用它们的乘积作为公钥。将两个素数相乘非常简单,即便是小孩子也会算,但是相反的运算——把一个大数分解为两个素数,却会使计算能力最强的计算机也不堪重负。非对称密钥通常会使用几百位长的数字,寻找如此大的数字的质因子,就像要把一罐彩色颜料的所有颜色分离出来一样困难。纽厄尔说:“混合颜料轻而易举,分离则截然不同。”


应用最广泛的非对称加密方法叫做RSA。20世纪70年代后期,罗恩·里韦斯特(Ron Rivest)、阿迪·沙米尔(Adi Shamir)和伦纳德·阿德尔曼(Leonard Adleman)在麻省理工学院工作时提出了该方法,RSA也正是用这三位发明人的名字命名的。当前,计算机运算的速度持续提升,先进的破译技术不断涌现。为了保证密钥不被更快的计算机和更先进的破译技术破译,需要持续增加密钥的长度。现用的非对称密钥的长度一般是1024位,即使抛开量子计算机不谈,这样的长度或许仍不足以抵挡未来的网络攻击。


 “美国国家标准与技术研究院(NIST)正在建议,将RSA的密钥长度升级到2048位,”洛斯阿拉莫斯实验室的物理学家理查德·休斯(Richard Hughes)说。“但是增加密钥的长度需要更高性能的计算机。如果你点击‘购买’时出现了讨厌的卡顿和延迟,这正是执行公钥密码所带来的影响。密钥的长度越长,时间延迟也就越长。”增加密钥的长度会大大提高解密所需的运算量,而电脑处理器的计算能力却没能得到同步提升。“从很多方面看,这都是一个令人担心的问题,”休斯说,“如果你正在运行一个有多个并发公钥进程的云系统,或者运行一个像电网那样的庞大系统,就不能允许存在这样的时间延迟。”


当量子计算机出场时,即使是NIST推荐的升级方案也会变得过时。对于RSA即将到来的2048比特密钥,量子计算研究所的创始人之一米歇尔·莫斯卡(Michele Mosca)是这样评价的:“我认为到2030年的时候,量子计算机有一半的概率能够攻破RSA-2048。”NIST的首席网络安全顾问唐娜·多德森(Donna Dodson)则认为:“过去五年里,该领域已经有了大量进展,这促使我们考虑当量子计算机真的出现时,我们需要做什么样的准备。毕竟量子计算机是很有可能实现的。”


编码和量子比特


为什么量子计算机如此强大?在常规的计算机中,任何单个的比特信息只能是0或1。 然而,基于亚原子世界中的奇特性质,单个粒子可以同时处于多种状态,量子计算机正是利用了这一特性。一个量子比特的信息可以同时是0和1,就像箱子里的薛定谔猫一样——同时处于生存和死亡状态,直到有人打开箱子看一看。(一个物理的量子比特可以是一个同时处于两种自旋状态的电子。) 一台有1000量子比特的量子计算机可以容纳2^1000种可能的量子态,这个数目远远超过了宇宙中所有粒子的总数。但这并不意味着一台量子计算机可以存储无限的数据:任何试图观测量子比特的行为都会立即使它们变成一个1000比特的数。如果能够通过精巧的编程,在不进行观测的前提下操控大量的量子态,就可以完成常规计算机不可能完成的计算任务。


1994年,AT&T;贝尔实验室的数学家彼得·肖尔(Peter Shor)证明了量子计算机可以分解用于RSA加密中的大数,并写出了第一个面向量子计算机的程序。而正如前所述,这种非对称加密方法在互联网交易中用于保证交换对称密钥时的安全性。传统计算机的计算是一次一步,依次进行的,而量子计算机与之不同,可以同时进行所有的操作。肖尔充分利用了量子计算机的这一性质。“肖尔算法会粉碎RSA。”莫斯卡说。(编者注:今年,MIT等机构的研究者已经实现了可扩展的量子计算机,可以运行Shor算法对15分解质因数,该研究发表在3月4日的Science上。)但是对称加密方法即使在量子计算机出现以后仍然是安全的。最常见的对称加密算法是由NIST于2001年提出的高级加密标准(AES)。


以AES为代表的对称加密程序不使用质数编码密钥,而使用随机生成的0、1比特序列作为对称密钥来进行加密。这个比特序列通常包含128比特,这将使密钥有2128种可能的选择,也意味着一个黑客需要从超过10^36种密钥组合中进行筛选。世界上最快的计算机是中国的天河二号,它的持续计算能力高达3.38亿亿次/每秒。即使用它来进行运算,也需要超过一万亿年才能搜索完所有可能的密钥。即使是用量子计算机来进行破译,对如此巨大的搜索量也没有直接帮助。然而,在互联网交易中所使用的大量对称密钥是由RSA等非对称加密算法进行加密的,而黑客可以利用肖尔分解算法来攻击这些非对称加密算法。


肖尔算法攻破RSA的前提条件是,首先要研制出性能足够强大的量子计算机,这样才能使程序有效地运行。莫斯卡预计到2017年全球将会有多个实验室建造出量子计算机的原型系统,包含数十个量子比特。莫斯卡认为:“可能至少需要2000个量子比特同时工作,才能对一个2048比特的RSA密钥进行高效的因式分解。”将量子比特的数目从数十个扩展到数千个可能需要十年时间,但他认为在这个过程中并没有技术上的障碍。他说:“实现大规模量子计算机需要考虑很多性能指标,而对于一个有扩展潜力的系统来说,并不总是需要同时兼顾所有指标,可以适时放弃一部分。”


量子网络


好消息是,目前量子加密技术的发展要比量子计算机更加超前。量子加密技术的高速发展可以从1991年开始算起。当时,牛津大学的物理学家阿图尔·埃克特(Artur Ekert)在著名期刊《物理评论快报》(Physical Review Letters)上发表了一篇关于量子密码的文章,他提出了另一种利用量子力学来进行加密的方法。埃克特当时并不知道本内特和布拉萨尔之前的工作,但他的工作让科学家从另一个角度重新理解了本内特和布拉萨尔提出的方案,而后者被证明比埃克特自己的方案更加实用。



然而,直到21世纪初,量子加密技术才走出实验室,进入商用阶段。量子加密设备中必不可少的、同时也是最昂贵的部件是光子探测器,而就在当时,物理学家发明了用电流代替液氮来冷却光子探测器的方法,从而大大改善了它的实用性。“当我在1997年开始攻读博士学位时,你需要把探测器浸入装液氮的杜瓦瓶里来冷却它们。这在实验室里是没问题的,但如果你想在数据中心里这样做就不太现实了。”ID Quantique公司的首席执行官格雷瓜尔·里博尔迪(Grégoire Ribordy)说。ID Quantique是瑞士的一家公司,该公司在2007年研制了第一个商用的量子加密系统。瑞士政府购买了该系统用于数据中心的信息安全防护,这家公司还把产品卖给了瑞士银行,并且正在和美国的巴特尔纪念研究所合作,在该公司位于美国俄亥俄州哥伦布市的总部和位于华盛顿特区的分部之间部署一个网络。


在一个天气阴郁的夏日,巴特尔研究所的物理学家尼诺·瓦伦塔(Nino Walenta)在哥伦布的地下实验室里向我展示了一个加密设备。“我们所需的一切都在这个机架上:所有的量子光学器件,以及用来生成和分发密钥所需的设备,都在这儿。”瓦伦塔指着一个金属箱子说道。他的身旁是一个两米高的机柜,金属箱子就放在机柜的架子上。箱子的大小和一个大号的公文箱差不多,里面摆着实现量子密码方案所用的物理设备。此时,距离本内特和布拉萨尔首次提出这个方案已经过去了30多年。


箱子里的硬件包括一个小巧的激光二极管,与DVD播放器以及条形码扫描机里的相似。它发出的光脉冲对准一个玻璃滤光器,这个滤光器几乎吸收了所有的光子,平均一次只让单个光子通过。然后,这些单光子的偏振状态被调整为两个方向中的一个,这两个方向分别对应比特值1或0。这些光子通过滤波和偏振调制成为密钥的载体,并通过光缆传送到指定的接收方。接收方用自己的硬件对光子的偏振方向进行测量,就可以完成密钥的解码。


光量子密钥与传统密钥不同,前者几乎可以做到防窃听(后面会对“几乎”的含义再加以阐述)。任何试图截取光子的窃听行为都会干扰光子,使其状态发生改变。通过比对部分密钥,合法的收发双方可以检查接收到的光量子的状态是否与发送的原始量子态相同。如果检测到窃听,他们则抛弃密钥,重新开始。“现在的密钥通常使用几年都不更换,”瓦伦塔说,“但是有了量子密钥分配,我们就可以每分钟甚至每秒钟更换一次密钥,这会使系统更加安全。”


巴特尔研究所已经在哥伦布总部和相距此地56千米的都柏林生产基地之间建立了一个量子网络,用于传送财务报告和其他敏感文件。然而,由于光纤对光子存在吸收效应,当通信距离过长时,信号的质量会迅速恶化,而上述网络的通信距离已经接近了这一极限。


巴特尔研究所的研究人员正与ID Quantique公司合作研发一种可以接收和重发量子信号的中继器,以打破量子信号在传输距离上的限制,这一技术被称为“可信节点”(trusted nodes)。研究人员希望藉此扩展量子网络,使其可以覆盖哥伦布的更多地方,并在不久的将来覆盖整个华盛顿哥伦比亚特区。“可信节点”内部包含灵敏的光子探测器,这个探测器通常被冷却到–40℃。为了保护探测器,“可信节点”通常会放在隔离、密封的单元中。如果有人试图攻入该节点,内部设备将会停止工作,同时删除自身的数据。巴特尔研究所从事量子密码研究的物理学家唐·海福德(Don Hayford)对此的描述是:“设备将会停止产生密钥。”


海福德说:“如果由可信节点组成的链路可以稳定工作,就可以用来组建更大规模的网络。”他递给我一本小册子,小册子里有一副量子网络的规划图,从中可以看到,未来的量子网络将可以覆盖美国的大部分地区。“我们的愿景是使用量子网络保护美联储所有的银行系统,”他说。“如果能够用量子网络连接所有的美联储银行,那将会非常完美。完成这一目标大约需要75个节点,乍听起来这好像很多,但其实在传统光纤网络中也需要部署中继器,而中继器之间的距离与量子网络节点间的距离大致相同。”


中国政府已经开始采用此类技术建设从北京到上海的量子网络(即“京沪量子干线”)。该网络长达2000千米,将主要用于政府和金融机构。海福德所想的和中国政府所做的,都是利用量子网络保护银行等机构的专网,但这一技术未必适合扩展到互联网的普遍领域。计算机通过可信任节点组成的是一种链状网络而非树状网络,其拓扑结构并不适合网络中的计算机进行灵活便捷的通信。贝思·努德霍尔特(Beth Nordholt)是一名刚刚从洛斯阿拉莫斯国家实验室退休的物理学家,在她看来,这种点对点的连接方式让她想起19世纪末期通讯产业刚起步时的混乱场景——街道上垂挂着大量盘根错节的电缆。她说:“那个时候,如果你想和一个人打电话谈谈,你必须占用一条单独的线路,而这种方式很难有效地扩展。”


努德霍尔特与丈夫理查德·休斯,还有他们在洛斯阿拉莫斯国家实验室的同事纽厄尔和格伦·彼得森(Glen Peterson)正在努力使量子密码技术更具可扩展性。他们已经制作了一个记忆棒大小的装置,叫做QKarD,可以将手机、家用电脑,甚至是电视机等任何连上网络的设备连接到安全的中央服务器并进行量子密钥交换。



量子路由器:洛斯阿拉莫斯国家实验室的研究人员研制的QKarD可以通过一个安全的中心服务器,在大量的电脑、手机和其他设备之间交换密钥。


努德霍尔特说:“单光子探测器和保证探测器正常工作的冷却装置是量子密码设备中最昂贵的部件。”有鉴于此,她和同事将其放置在网络的中心枢纽处。客户端的每个计算机都会配备一个QKarD,并通过光缆与中枢设备相连,客户端之间并不直接进行连接。QKarD作为发射机,自带一个小型激光器,它发出的光量子经过光纤传送到中枢设备。


网络内的每台电脑都通过QKarD将自己的对称密钥编码到一串光量子流上,并发送给中枢设备,这类似于电话交换机的工作模式。量子加密取代了通常所用的RSA加密,用来保护对称密钥的传输安全。当密钥在客户终端和中枢设备之间完成交换后,中枢设备就可以将其作为密钥,采用AES等算法加密非量子的经典数据,从而在多个客户端之间实现敏感信息的安全中继。


努德霍尔特团队已经运行了一个QKarD的原型系统。虽然整个系统放置在洛斯阿拉莫斯的一个小实验室内,但他们在实验工作台下放置了整整50千米长的光纤,绕在圆筒上,除了用来连接系统的各个组件之外,还用来模拟真实世界中的长距离信道。目前,QKarD技术已经获得了面向怀特伍德加密系统进行商业开发的许可。休斯估计,如果该设备最终能够推向市场,一个可以连接1000个QKarD客户的中枢设备的价格可能为10000美元,而批量生产的QKarD模块的价格可低至50美元。


 “我们可以把QKarD集成到手机或平板电脑内部,用以建立到服务器的安全连接,”努德霍尔特说,“也可以把QKarD固定放置在办公室里来上传密钥到服务器。我们可以把多种应用模式有机地结合,以组建高效的网络。”


量子的未来


全球用于加密的基础设施全部更新换代,可能需要十年以上。“一项技术应用得越广泛,就越难被修正,”莫斯卡说,“即使我们可以在技术层面解决这个问题,还需要让所有人就操作方法达成一致意见,并使新一代加密设施在全球性范围内互联互通。然而,我们甚至还没能在电力设备上做到这一点——各国的居民供电电压和频率都不一致,以至于我们出国旅行时都要携带电源适配器。”


这是一个艰巨而充满挑战的任务,也正因为如此,我们才需要立即行动起来。“这不仅仅是保护信用卡密码那么简单,”努德霍尔特说,“形势正变得越发严峻。”几年前,美国爱达荷国家实验室开展的一项研究发现,黑客可以通过给网络发送攻击数据从而控制电网,最终可以炸毁发电机。“我不想提世界末日,”她说,“但是这种潜在风险确实会影响每个人的生活。”


电网可能并不是量子计算机的首选攻击目标。许多密码学领域的研究人员认为,美国国家安全局和世界各地的情报机构都在储存数量庞大的、来自互联网的加密数据。这些数据用现有技术还无法破解,美国国家安全局等机构保存它们的目的,是寄希望于可以在未来用量子计算机来破解它们。一旦假想成真,不仅在未来几十年内公民的隐私将受到持续威胁,当前我们自以为安全的通信也都会变得不再可靠。


如果以为不会有人把信息捕获存储下来以待更先进的技术进行破译,就太天真了。”布拉萨尔说。“因此,虽然到现在为止还没有可用的量子计算机出现,甚至在未来20年内可能也不会出现,但一旦量子计算机研制成功,之前使用经典加密技术发送的所有信息都将面临威胁。”


即使量子加密得到广泛应用,加密与窃听的猫鼠游戏仍将继续。从传统密码技术的发展历史来看,完备的理论与实际设备之间通常存在不小的差距,这一状况在量子加密技术中仍将存在。RSA公司(即提出RSA算法的里韦斯特、沙米尔和阿德尔曼共同成立的公司,以把他们的算法商业化)的技术总监佐勒菲卡尔·拉姆赞(Zulfikar Ramzan)以RSA算法为例说明了这一观点:当RSA加密技术刚刚提出时,它的安全性被认为是完美无缺的。但在1995年,就读于斯坦福大学的本科生保罗·科克(Paul Kocher)发现,通过观察加密数据所需要的时间长短可以轻易破解RSA加密方法。


拉姆赞说:“如果密钥中的1比0多,那么RSA加密过程将花费更多时间。仅仅通过重复观察并测量时间,我们就能获得整个RSA密钥。”针对这一攻击的解决办法也很简单,就是在计算中加入一些随机过程来隐藏计算时间。然而,拉姆赞指出:“很多情况下,只有当攻击被提出或发生之后,人们才会意识到这些攻击手段的存在,上述就是此类问题一个实例。所以在量子计算的背景下可能也存在一些相似的攻击。”


事实上,第一起量子黑客攻击事件已经发生了。5年前,挪威科学技术大学的马卡罗夫研究小组,将一个装有光学设备的手提箱接入由ID Quantique建造的光纤量子密码通信线路,通过用激光脉冲来暂时致盲加密设备的单光子探测器,他们能够攻破原本在安全设计上本应牢不可破的通信线路。


马卡罗夫认为,这种攻击超出了普通黑客的能力范围。他说:“这不是小孩能干的事,也不是在地下室就能玩得转的,通常要有机会进入光学实验室才可以。”尽管ID Quantique公司就这一漏洞对产品进行了升级,使其可以免受此类攻击,但马卡罗夫的攻击打破了量子密码术不可战胜的神话。马卡罗夫说:“破坏远比建造要容易得多。


我们有理由相信,由本内特和布拉萨尔几十年前想出的那个绝妙想法对未来全球网络的安全性是至关重要的,即使这个想法并不是那么完美。布拉萨尔说:“我们需要积极利用量子技术来提高全球网络的安全性,虽然这将花费巨大,但就像我们必须斥以巨资来应对全球气候的变化一样,如若置之不理,我们将会付出难以想象的高昂代价。


更多精彩

- 5个原子构成的量子计算机,或颠覆整个互联网加密系统

- 这颗小行星可能撞上地球,所以NASA刚刚向它发射了个探测器




本文来自《环球科学》,首发于公众号“创新地标”(ID: kejitouzi),

转载请先联系授权。




欢迎关注环球科学的微信公众号(ID: huanqiukexue),《环球科学》9月号已上市,点击文末读原文即可进入微店购买。



本站仅按申请收录文章,版权归原作者所有
如若侵权,请联系本站删除
觉得不错,分享给更多人看到