量子计算飞驰而来,如何避免数据裸奔?

简介:

一颗定时炸弹正在滴答作响,但计时器上的数字却在忽大忽小地不断跃动着,一会儿能给你足够的时间挽救大局,过一会儿却变成连逃命都来不及。

这不是什么动作电影里的情景,而是量子计算对加密技术构成的奇怪威胁。计算能力即将出现的大幅跃迁会让现有的一些加密系统彻底失效,但这种威胁究竟有多严重呢?如果量子计算要再过30年才会真正登上历史舞台,则完全无需恐慌。但如果它在10年内降临,我们的数据就会遇到大麻烦。麻烦就在于,我们无法确切地预测量子计算会在何时普及。

要避免加密技术的大崩坏,我们就需要开发出新的公钥生成方法。目前研究人员已经在努力。不过,我们还面临着更多的阻碍,就是信息技术与生俱来的那些麻烦事——标准化和部署实施——外加源自那不可测的最后期限的压力。所以我们才把这比喻成定时炸弹。

对于这种局面,一些安全和情报机构已经采取了动作,比如美国国家安全局(NSA)在去年发出号召,让大家开始计划向抗量子计算的加密技术迁移;与此同时,美国国家标准技术研究所(NIST)正在举办一场比赛,以鼓励人们开发后量子计算时代的加密算法。这两件事都表明,学界和业界的安全研究人员正稳扎稳打地向前推进。

不过,这种推进可能需要加快速度了。“我们确实有很多具备潜力的算法,可以用来(修复加密技术),但这项工作的时间表可能是一个问题,因为有一些预测称,实用化的量子计算机最快有可能在15年内问世,” NIST计算机部门的数学家达斯汀·穆迪(Dustin Moody)博士说道,“对此没有人能够十分肯定,因为那是科研上的事情。但是,研究算法、开展标准化工作和部署实施,整个过程需要的时间也许都不止15年。所以,时间表可能有问题,但没有人能清楚地给出答案。”

没有人知道,但米歇尔·莫斯卡(Michele Mosca)博士愿意试着估算一下概率——她是加拿大滑铁卢大学量子计算研究所的副所长。据她估计:到2026年,一些基本公钥将有七分之一的可能性遭到破解;而到2031年时,这个可能性将上升到二分之一。这倒不是说信息安全行业会一直在等到量子计算机全面普及之后才动手。

“我们确实控制着局面,但也有很多变数使我们确信,我们希望这成为人们高度重视的事情,”穆迪说,“我们不希望人们恐慌,量子计算机不会破解所有的加密技术。”事实上,只要密钥长度增加一倍——这是一种比较简单的补救办法——对称算法就是安全的。但得益于计算机科学家彼得·秀尔(Peter Shor)的研究,我们现在知道了:一旦量子计算机问世,我们目前用来保障在线银行和电邮服务安全的公钥将失去作用。

上世纪90年代中期,秀尔在AT&T任职期间编写了一种基于整数分解和离散对数的量子算法,它可以破解加密,一下子就能让RSA加密算法和迪菲-赫尔曼密钥交换(Diffie–Hellman key exchange)失效。“目前所使用的公钥密码系统和签名将遭遇灭顶之灾,”塔尼娅·兰格(Tanja Lange)说,她是荷兰埃因霍温理工大学(Technische Universiteit Eindhoven)编码理论与密码学的讲席教授,并担任欧盟PQCRYPTO项目的召集人——PQCRYPTO的含义是“具有长期安全性的后量子计算密码系统”。

此外,我们也将需要一台足够大的量子计算机来运行秀尔的算法。如果对量子计算这个概念还不是很了解,那可以参阅造就之前发布的相关文章补补课,总而言之就是:它们要比传统计算机强大得多,但它们非常复杂精巧(算法必须分毫不差,否则计算机返回的答案就是不可读的),而且不易建造。

那么,我们已经知道了问题所在,并正在努力解决它。但如果不知道加密技术的“大限”在什么时候到来,我们就很难“按期”完成改进工作。值得庆幸的是,面对量子计算机的潜在威胁,我们不需要等到它们真正到来之后才可以动手。“抗量子计算的计算技术跟量子计算无关(听上去真拗口),”IBM的密码专家瓦迪姆·利约巴什夫斯基(Vadim Lyubashevsky)解释道,“它的存在以及发挥作用不需要依赖量子计算。即使某个人造出了一台量子计算机,手头没有量子计算机的人也有能力抵御这些攻击。”

目前有三种潜在的解决方案正在吸引研究人员的注意,分别是:基于格的加密,基于编码加密,以及多变量加密。NIST预计它们各自都会有代表参与竞争。加密归根到底是艰深的数学,基于格的加密的安全性基础是,要在一个多维网格中找到最近点是极其困难的——其中公钥是一个任意位置,而私钥就是格点;基于编码的加密则取决于破解一般的线性代码有多困难;而多变量二次系统是利用多项式方程来保护加密的。

利约巴什夫斯认为,基于格的加密技术,其背后真正的设计工作已经完成,一些版本已经完成标准化,而且已经有一些机构在使用。“如果有人真的想要使用基于格的加密,那可以在一个月左右的时间里完成,”利约巴什夫斯基说道。事实上,它已经在现实世界中接受过测试。今年早些时候,谷歌(Google)利用“新希望”(New Hope)这一基于格的加密算法,在“金丝雀”(Canary)版Chrome浏览器的部分流量中开展了一项小型测试。但该公司明确表示,他们并非要把基于格的加密做成这版浏览器的标配功能,而只是首次尝试对后量子计算时代的加密技术进行测试。

除了上述三种加密方案外,还有一种基于散列的加密技术也在研究中。然而,这种技术只能用于少数应用场景,比如数字代码签名,所以并不是充分的解决方案。”

除此之外,还将有利用量子计算思路开发的安全手段,并最终由量子计算机本身来提供保护,它们可以提供物理性的加密保障。但是对于今后多年里仍将使用传统计算机的普通人群来说,这样的保护手段实在太过奢侈。

抛开那些不全面或者可望而不可及的方案不谈,在三种最流行的后量子计算时代加密方案中,我们还不知道哪一种是最好的;但愿不止一种能够奏效,并具有广泛适用性。“非常重要的是,现在选出胜者还为时过早,”莫斯卡说,“NIST对少数加密系统进行标准化的计划是非常好的做法,可以推动更大范围的研究和审查。那样,我们就可以对替代加密方案拥有更大的信心。”

然而,NIST并不是在举办加密算法的“达人秀”,该计划还希望推动它们的进步。“我们还不觉得这些算法中有哪一种……已经为标准化以及大规模的部署和使用做好准备,”穆迪说,“就绝大部分而言,很多算法都非常非常新,尚未有很多人对它们的安全性展开研究。就所有的加密算法来说,仅仅是时间的考验——让人们在多年时间里对它们进行考察——就能帮助你对它们的安全性产生更多的信心。”因此就有了这场比赛,它旨在把学界和业界的注意力聚焦于审查这些被提出来的算法。目前,挑战赛的规则正在讨论当中,正式启动的时间在11月份。

在后量子计算加密技术通过了安全性审查和完成了标准化之后(预计需要数年时间),就到了业界着手部署使用新系统的阶段(很有可能也要相当长的时间)。“之前的几次加密算法升级换代都经历了很长时间才完成,一般要5到20年,因此我们很难迅速做出这些改变,”穆迪说道。从2000年开始,NIST就一直在呼吁人们快速向椭圆曲线加密技术迁移,而一些机构到现在才刚刚开始这种过渡。

为什么要花这么长时间呢?首先,做出改变的必要性必须广而告之,这样公司都能对他们需要做的工作有所了解,但向新技术迁移是无法在一夜之间完成的。“一旦某件东西问世并被投入使用,业界需要很长的时间,因为他们不希望替换掉所有那些依然崭新的设备,他们会等待它下线,然后才会用上新的算法。所以,这很耗时,”穆迪补充道。

然而,我们已经没有时间磨磨蹭蹭,这还有另外一个原因:长效型的敏感数据。如果有人现在就收集这类数据,那未来总有一天能用量子计算进行破解。所以,我们可以推定,政府及其情报机构正在收集所有这类数据,哪怕过上几十年,照样有破解的价值。“那为时间表带来了紧迫性,”穆迪说,“如果你希望自己的数据在未来数十年都得到保护的话,那就需要尽快部署抗量子计算的加密算法。”

而且,这个威胁并非捕风捉影。兰格指出,NSA被斯诺登(Edward Snowden)曝光的XKeyscore项目就清楚地显示,情报机构正在囤积数量庞大的加密数据。“一旦大型量子计算机问世,它随随便便就可以破解所有信息,”她说,“目前,诸如医疗记录这样的敏感个人数据是通过互联网在医护人员、会计核算中心和医疗保险公司之间进行传送的,有关的系统无法抵御量子计算机。司法或军用数据也存在类似的问题。”

正因为如此,标准制定机构和组织需要对那个滴答作响的巨型炸弹迅速作出响应。“最大的挑战在于确定一种系统在何时已经成熟到可以进行标准化,”兰格说,“我确信,通过大量的工作,我们将能在3年后拥有更好的系统。那是否意味着我们应该在制定标准方面等待3年时间,以便获得更好的标准?但是这样的代价是不是太大了?谁也说不好。”

虽然兰格和NIST一样认为,标准化的工作仍然为时过早,但她表示,提供一些建议并不嫌早。“那些跟长期机密数据打交道的用户现在就需要专家建议和工具,”她表示,“那些建议必须把机密性和安全性放在便利性的前面。一旦出现一种更加便利的系统,那些用户将会很乐意升级。”简单地说,如果你有这个需要,现在就开始为升级加密技术做准备吧。一旦量子计算机问世,如今的加密数据都必须被默认会遭到破解。对兰格来说,问题是清楚无疑的:“如果我必须确保长期的数据安全,那我夜里肯定会辗转难眠。”

本文转自d1net(转载)

相关文章
|
机器学习/深度学习 安全 大数据
“撞库”成网络黑产源头 从技术和机制寻找解决之道
“撞库”成网络黑产源头 从技术和机制寻找解决之道
“撞库”成网络黑产源头 从技术和机制寻找解决之道
|
域名解析 缓存 运维
一行小错为何产生巨大破坏-Facebook史诗级故障大反思
弱小从来不是生存的障碍,傲慢才是。10月4日FaceBook发生了一次史诗级中断事故,故障期间FaceBook所有旗下APP全面对外服务中断,而且故障的时间长达7个小时之久。根据Facebook最新的声明来看,故障的原因是由于工程师错误地发出了一条指令,切断了Facebook的数据中心“在全球范围内的所有网络连接”。
一行小错为何产生巨大破坏-Facebook史诗级故障大反思
|
算法 区块链
区块链电力消耗问题怎么解决?攻城狮们作出了这些努力
如果说区块链技术将彻底改变我们的交易方式,那么,目前摆在许多计算机科学家面前的一大难题还在于——如何解决区块链技术带来的电力消耗问题?
1086 0
|
安全
各种安全问题(杂)
StringBuilder 的方法不是线程安全的 由于 StringBuilder 相较于 StringBuffer 有速度优势,所以多数情况下建议使用 StringBuilder 类。
1097 0
|
机器学习/深度学习 算法 数据挖掘