虽然彻底改革安全协议为量子计算做准备可能还为时过早,另外目前还没有后量子(post-quantum)加密标准。
后量子密码是能够抵抗量子计算机对现有密码算法攻击的 新一代密码算法。所谓“后”,是因为量子计算机的出现,现有的绝大多数公钥密码算法(RSA、Diffie-Hellman、椭圆曲线等)能被足够大和稳定的量子计算机攻破,所以可以抵抗这种攻击的密码算法可以在量子计算和其之后时代存活下来,所以被称为“后量子密码”或“抗量子密码”。实现后量子密码算法主要有 4 种途径 :
1、基于哈希 (Hash-based):最早出现于 1979 年,主要用于构造数字签名。代表算法:Merkle 哈希树签名、XMSS、Lamport 签名等。
2、基于编码 (Code-based):最早出现于 1978 年,主要用于构造加密算法。代表算法:McEliece。
3、基于多变量 (Multivariate-based):最早出现于 1988 年,主要用于构造数字签名、加密、密钥交换等。代表方法/算法:HFE (HIDden Field Equations)、Rainbow (Unbalanced Oil and Vinegar (UOV) 方法)、HFEv- 等。
4、基于格(Lattice-based):最早出现于 1996 年,主要用于构造加密、数字签名、密钥交换,以及众多高级密码学应用,如:属性加密 (Attribute-based encryption)、陷门函数 (Trapdoor functions)、伪随机函数 (Pseudorandom functions)、同态加密 (Homomorphic Encryption) 等。代表算法:NTRU 系列、NewHope (Google 测试过的)、一系列同态加密算法 (BGV、GSW、FV 等)。
如果你在过去几年里一直在跟踪量子加密安全技术趋势,你肯定听说过“量子计算”这个词,许多人将其称为计算技术的下一个前沿发展趋势。从理论上讲,计算机有可能超越当今最快的超级计算机的能力,从而导致许多新的初创公司将精力集中在量子计算领域。
但量子计算在当前状态下的实践性如何?其中有多少是炒作成分?量子技术的发展对安防行业意味着什么?为了回答这些问题,我们需要简要了解一下量子计算机的全部内容。
传统计算机,包括你最有可能用来阅读本文的计算机,是由硅芯片上的数百万(甚至数十亿)个微型晶体管构成的。这些计算机使用二进制数字或“位”来存储和处理数据,这些数字或“位”表示可以具有恰好一个值(0 和 1)的逻辑状态。这意味着每条数据都可以再现为完全相同的结果,这只是一个开关晶体管的问题。量子计算机依赖的不是位,而是量子位,这是用于量子信息的基本单位。
量子力学中存在某些在非量子世界中没有真正等效的属性,例如叠加,它基本上是指一个量子系统存在于不止一种状态。以电子为例,它可能是向上旋转,也可能是向下旋转,这种特性只有在我们测量电子时才能确定,这意味着它同时处于两种状态,或处于叠加状态。
与传统计算机必须依次分析 1 和 0 不同,叠加的特性允许一个量子位同时表示 1 和 0,从而使数据的分析和计算速度大大加快。一个很好的类比是一个人试图打开密码锁。传统计算机类似于有能力测试一个接一个位置的人,换句话说,它是如何完成的。虽然这最终可以实现,但要解锁密码锁需要很长时间。另一方面,量子计算机可以比作一个人,他可以奇迹般地同时测试所有可能的位置,因此能够在短时间内打开锁。
关于量子计算机,需要了解的一件重要的事情是,它们并不是为了在我们生活的各个方面取代传统计算机而设计的。量子计算机的优势在于其执行复杂模拟和处理非线性系统的能力,如天气和气候模式、仿生设备设计或寻找质数。
另一方面,在提供具体结果和解决实际问题方面,传统的超级计算机仍将占上风。换句话说,量子计算机并不是推动我们进入下一次计算进化的助推器;最有可能的情况是,我们仍然会同时使用传统计算机和量子计算机。
量子计算及其对安全的影响
那么,量子计算和安全有什么关系呢?在目前的状态下,还没有多少进展:今天的量子计算机本质上是科技公司和研究人员试验算法和软件以确定哪些算法和软件有效的试验台。在供应商向公众提供量子计算访问之前,还有很多工作要做。当那一天到来时,几乎可以肯定的是,量子计算机将由供应商托管,并安置在具有极其严格安全协议的专门数据中心。
最有可能的情况是,量子计算机将成为民族国家攻击者使用的工具,而不是普通的地下网络犯罪分子。算法也有可能成为有价值的资源,可能成为间谍或破坏活动的目标。
从更直接的安全影响来看,量子计算最重要的影响可能是它对密码学的影响。与传统计算机不同,传统计算机依赖伪随机随机生成器进行密码学(它们无法自行生成真正的随机数);量子计算机,就其本质而言,具有真正的随机数生成器,这使得它们非常适合加密。不幸的是,量子计算机的强度也会使其成为攻击者手中的危险工具。
从理论上讲,今天的计算机可以破解加密密钥。然而,这样做需要大量的时间和资源。另一方面,回到密码锁的比喻,量子计算机可以同时通过不同的密码组合,使得当前的加密方法——例如高级加密标准 (AES),变得微不足道。
其中一个可能受到量子计算技术严重影响的系统是公钥基础设施,这是一套标准、协议和技术(包括数字证书和代码签名),确保在互联网和云上传递的数据的完整性。公钥基础设施的优势在于其加密过程,它允许在不安全的网络上进行安全通信。虽然使用我们目前的计算技术几乎不可能破解这些过程,但量子计算机可以将破解公钥密码术所需的时间从数年缩短到数小时。
这个问题的一个潜在解决方案可能是制作更长的密钥。然而,这种方法在延迟方面有其自身的一系列挑战:较长的密钥将需要更多的资源来接收和解密数据,甚至可能不适合在许多现代电子产品中使用的微型嵌入式芯片。在这种情况下,想要检索只有几个字节大小的有效载荷的用户可能需要下载一个大几个字节的加密包,例如,一个包含200字节文件的4MB数据包。
虽然这看起来没什么大不了的,但它可能会对现实生活中的使用产生重大影响,尤其是在涉及某些技术的实时数据传输时,例如车辆、飞机、手术机器人和任何需要快速和持续通信,例如,使用很长的密钥,飞机中的涡轮机可能需要 10 秒来解密来自飞行员的命令。
幸运的是,研究人员和政府组织已经开始开发可以在后量子世界中运行的公钥算法。美国国家标准与技术研究院 (NIST) 于 2015 年发现了加密问题,并于 2017 年启动了后量子加密已经。
为后量子时代做好准备
仅在过去的五年里,量子计算就取得了巨大的发展。虽然从商业和公共用途的角度来看,我们似乎离实际可行性还很远,但它可能会在未来10年左右发生。
许多当前的系统和技术都有很长的生命周期,例如,根证书的生命周期为 25 年并不少见。由于量子计算机有可能在大约 10 年内投入商业使用,这意味着没有适当协议的旧证书将非常脆弱,以防止基于量子的攻击。