抗量子密码学——应对即将到来的量子密码末日
至少对关注计算机与信息安全的从业者而言,“天塌下来”的预警绝非虚言。目前广泛用于保护数字生活方方面面的基础密码算法,将在数年内被量子计算机轻易破解。这些算法覆盖我们日常生活的各个场景:从网购、信用卡交易,到护照与身份门禁系统验证,甚至包括支撑电网运行的控制系统管理。
这一即将到来的节点被称为“量子密码末日”,指量子计算将使现有事实上的密码技术彻底过时的必然时刻。具体而言,作为现代安全、通信与身份识别系统核心基础的 RSA 和 ECC 加密算法,将无法抵御量子计算机的攻击。
但值得庆幸的是,现在化解这场危机还为时不晚。目前业界已在推进新型抗量子密码算法的落地应用。面对量子密码末日,全行业各个领域的公钥基础设施(PKI)系统都需要全面升级改造,以适配这些新型密码算法,从而保障数字系统的安全与正常运行。
加密技术
在深入分析量子计算机如何破解现有安全系统之前,我们首先需要了解加密是什么,以及它的工作原理。
加密是将称为明文的可读数据转换为称为密文的编码格式的过程。如果不对密文进行解密还原为原始明文格式,就无法读取其中内容。加密过程依赖必须严格保密的加密密钥。
用最通俗的方式解释,加密之所以能有效保护数据,是因为数据的加密和解密计算操作相对简单,但破解加密系统的难度极高。也就是说,通过暴力攻击获取加密密钥是非常困难的。
攻击者没有加密密钥就无法解密数据,因此他们往往会尝试获取或窃取加密密钥。如果黑客找不到窃取密钥的途径,就可能发动“暴力攻击”,即尝试所有可能的加密密钥组合。就目前使用的加密算法而言,即便攻击者知道所用的加密算法,不耗费巨量的计算时间也无法获取密钥、解密已加密的数据。对于 RSA-2048 来说,当前计算机通过暴力攻击获取 RSA 密钥大约需要300 万亿年。
随着算力提升,密码实现方案一直通过增加密钥长度来提供持续可靠的加密安全保障。不过,由于加密使用者和攻击者的算力以相近速率提升,只要采用了更长的密钥长度,这些系统的整体安全性就仍能保持稳固。
讨论加密时需要注意,大多数安全系统通常使用两类加密方式。
非对称加密与对称加密
多数安全协议和系统会同时使用对称加密和非对称加密。例如,传输层安全协议(TLS)会在会话初始阶段使用非对称加密安全交换秘密对称密钥,随后在密钥交换流程完成后,切换为使用该秘密密钥的对称加密。
对称加密
对称加密的原理非常简单。通信双方使用同一个共享的秘密密钥(见图 1)。
当然,这里存在一个问题:如何交换密钥才能避免被人或设备截获?这正是非对称加密的作用——它可以实现对称加密密钥的安全交换。
非对称加密
非对称加密使用由公钥和私钥组成的密钥对(见图 2)。每个节点都有自己的密钥对。私钥必须严格保密,而公钥可以分发给其他节点。
密钥对的生成机制保证:用公钥加密的数据只能用对应的私钥解密,反之亦然。如果设备 A 要向设备 B 发送数据,设备 A 可以使用设备 B 的公钥对数据进行加密。这些数据只能使用设备 B 的私钥解密。只有设备 B 持有该私钥,因此只有设备 B 能够解密这条消息。
所有密钥对都存在数学关联,以此实现上述加密/解密流程。极为关键的一点是,仅可交换公钥,且私钥绝不可被交换。公钥与私钥之间的数学关系确保了:使用公钥加密的数据仅能通过对应的私钥解密,也就是说,只有目标接收方的私钥才能解码该数据。
非对称加密的一个主要缺点是,其消耗的CPU周期很容易达到对称加密的100倍。这种处理负载会给所有系统带来问题,对于执行时间敏感型操作和/或系统资源有限的嵌入式设备而言影响更为严重。对应的解决方案是:首先运行非对称加密会话,仅用于建立初始加密连接以交换保密的对称密钥,后续通信会话的剩余部分均使用该对称密钥完成。
公钥基础设施(PKI)、证书与加密
公钥基础设施(PKI)体系是几乎所有现代计算系统的身份与安全基础。基础互联网功能、物联网安全、借记卡与信用卡交易,乃至包括护照在内的现代身份系统,均依赖于PKI以及由PKI系统签发的数字证书。
数字证书采用非对称加密机制,其中公钥被公开,用于认证持有对应私钥的用户或设备身份。证书与驾驶执照十分相似,可为密钥持有者提供身份凭证。换言之,证书中包含密钥合法使用者的相关信息,该身份可以是网站域名(例如sectigo.com)、物联网设备的设备ID,或是电子邮件地址。
RSA与ECC密钥的特性
对于RSA算法而言,公钥是由两个大素数生成的较大整数,这两个素数同时也是私钥的构成基础。受传统计算机的运行机制限制,素数分解的难度极高,因为计算机只能逐一尝试所有组合。这正是RSA加密的安全基础:由于素数分解的计算成本极高,攻击者无法在合理时间内通过公钥推导出私钥。
椭圆曲线密码学的安全性源于椭圆曲线的数学特性,对于传统计算机而言,求解椭圆曲线上两点的对应关系极其困难,因此几乎无法从公钥推导出私钥,这使得针对此类密码系统的暴力破解攻击失效。
而量子计算的出现,使得我们整个安全架构所依赖的上述根本前提不再成立。量子计算机能够在合理时间内通过公钥推导出私钥。
量子计算与密码破译
量子计算机的运行机制与传统计算机存在本质区别。传统计算机中的所有信息都以非0即1的传统数据比特形式存储,而量子计算机使用量子比特(qubit,即量子位)运行。量子比特不仅可以表示0或1,还可以表示这两种状态的叠加态;更值得注意的是,量子比特之间可以发生量子纠缠,甚至产生相互干涉。
量子比特具备的特殊特性使得部分计算问题的求解难度大幅降低。借助量子计算,超大素数分解突然具备了计算可行性。对于量子计算机而言,不仅加密操作十分简单,破解传统非对称加密算法同样容易。
值得注意的是,对称加密算法与哈希算法目前并不受量子计算威胁,无需替换。非对称加密被破解的风险,会波及绝大多数依赖非对称加密完成对称加密密钥建立流程的加密系统。抗量子加密的核心方向是替换用于密钥交换和数字签名操作.
逼近的量子启示录——我们需要在何时开始警惕?
“量子启示录”指的是量子计算发展到实用化水平的时间节点:届时解密能力将得到大幅提升,加密与密码破解之间的能力平衡将被打破。换言之,在这个时间点,破解加密所需的算力差距不再悬殊到足以形成安全壁垒,攻击者能够在足够短的、具备实用性的时间范围内解密我们的加密数据。
谈及量子启示录,众人最关心的关键问题自然是这一场景何时会发生。量子计算研究所联合创始人Michele Mosca提出了一套框架,用于评估该事件的发生时间以及判断我们的准备就绪程度。
Mosca不等式为 X + Y >? Z。
换言之,X + Y 是否大于 Z?在这个等式中,X 是加密密钥需要保持安全的时长,也就是安全保质期;Y 是重构安全系统以适配抗量子密码算法所需的时间,即迁移周期;Z 是建成大规模量子计算机所需的时间,也就是现有加密体系的崩溃时间。
难点在于 X、Y、Z 三个值均不确定,且实际上会因系统不同而存在差异。
我们来逐一分析这三个变量。
X 是安全密钥(更准确地说是经这些密钥加密的数据)必须受到保护的时长。该时长显然取决于具体应用场景。对于采集数据、用于实时决策后即丢弃数据的 IoT 传感器系统而言,X 可能是数分钟、数天,最长也不过数周。
对于笔记本电脑与网上银行系统之间涉及密码传输的交易,X 是用户更换密码前的时长。对大多数用户来说,这个周期为一年或数年。良好的密码使用习惯可以缩短该周期,但传输的信息中还包含个人金融信息,这类信息的保质期通常可达数年。其他信息,例如商业机密、政府机密文件或其他高敏感数据的通信,保质期可能长达数十年。X 的巨大差异性确实大幅提升了通过 Mosca 不等式评估即将到来的“量子末日”发生时间的复杂度。
如前文所述,Y 是重构安全系统以使用抗量子密码算法所需的时长。
这本身是一个复杂议题,将在另一篇白皮书中详细展开,不过该流程的这一要素可以拆分为两个子部分:开发抗量子密码算法所需的时间,以及将现有系统迁移至使用这些算法所需的时间。
NIST 一直在牵头开展一套抗量子密码算法的开发与评审工作。该流程始于2016年,预计在2022至2024年间完成。截至2019年1月,NIST 已确定26个候选算法进入nd该流程的第二轮评审。
除了算法开发所需的时间,我们还必须考虑更新现有公钥基础设施(PKI)系统,以及所有使用密码算法的企业系统、IoT 系统、自动化系统、Web 服务和其他身份系统所需的时间。这类系统中有许多结构复杂,更新工作绝非易事。往最低限度估算,简单场景的更新周期从数月不等,而包含多组件、多依赖项的复杂系统,更新周期可达数年。
这方面有一个利好消息:我们无需等到 NIST 完成全部评审流程再启动系统重构工作。两项工作可以基于 NIST 的候选算法并行开展。此外,证书续期自动化解决方案以及“密码敏捷性”(即新密码算法可用时能够快速完成迁移的能力)的落地,有助于降低后续向新加密算法迁移的最终负担。
最后,Z 是研发出性能足够强大、可在合理时间内攻破现有加密方案的量子计算机所需的时间。
所谓在“合理时间内”攻破 RSA 2048 到底是什么意思?
这并不指对 TLS 加密的信息流进行实时解密。要实现 TLS 流的实时解密,需要攻破基于 Diffie-Hellman 的 TLS 密钥协商机制,这要求拦截密钥交换消息、破解加密密钥、读取加密流并完成实时解密。
更大的威胁在于攻击者记录下数据流后,能够在合理时间内对其进行追溯解密。在这个语境下,合理时间可以指一两个月,而非需要耗费数代人的时间,就像当前计算系统下的情况一样。
分析这个问题时需要牢记一个重要事实:量子计算机对不同密码技术的影响并不相同。AES 等对称加密算法以及 SHA 哈希算法等哈希算法不受量子攻击影响。这些算法仅凭自身的运行机制就具备抗量子能力,不受 Shor 算法影响。量子计算的发展可能会要求哈希算法使用更长的比特数,但从根本上说,这类算法不会被量子计算机攻破。
Shor 算法
如前文所述,RSA 极难攻破,因为使用传统计算机分解质因数的难度极高。一台现代计算机需要数万亿年才能破解一个 RSA-2048 密钥.
然而,量子计算机的出现改变了这一局面。Peter Shor 早在1994至1995年间就提出了 Shor 算法。该算法提供了一种求解给定整数质因数的几何方法,其原理是寻找函数内的周期性,而质因数本身确实存在特定模式或序列规律。Shor 算法可在量子计算机上高效运行,因此当量子计算机性能足够强大时,该算法将被用于攻破 RSA 加密技术。
在抵御传统计算机发起的攻击时,系统可通过延长算法密钥长度获得极高的安全性。例如,企业可以切换至 RSA 4096。但面对量子计算机,这种方法将不再有效。尽管 RSA 4096 的密钥长度是 RSA 2048 的两倍,但量子计算机破解 RSA 4096 与 RSA 2048 所需的时间差异可忽略不计。要抵御量子计算攻击,必须采用原理完全不同的加密算法。
从具体技术参数来看,多数专家认可:要在我们所说的“合理”时长内破解 RSA 2048,目前大约需要 5000 到 10000 个量子比特。截至 2020 年,最先进的通用量子计算机已实现约 50 个量子比特,而 D-Wave 这类量子退火计算机的量子比特数量要高得多。此外,2020 年 D-Wave 设备的量子比特数达到 2000,但它并非通用量子计算机,也不具备纠错能力。因此,其量子比特的构建难度更低,但运行时需要大量纠错处理。
各方估算存在差异,但 D-Wave 设备经纠错后的“通用量子比特”数量仅为物理量子比特数的 0.1% 到 10%,因此其等效通用量子计算机的量子比特规模在 2 到 200 之间。
滑铁卢大学的 Michele Mosca 等研究人员预测,量子计算的发展速度将持续加快,我们将以接近线性的进度,从当前的 50 个量子比特逐步发展到 500、1000、5000 乃至 10000 个量子比特。
当我们实现 5000 到 10000 个量子比特时,当前的加密算法就会被破解。
关于具体时间的预测各有不同,但多数专家一致认为,量子计算机将在 2026 年至 2031 年之间的某个时间点破解 RSA 加密。
概要
如果回顾 Mosca 不等式,再考虑到部分数据需要长达数十年的保护周期,那么对于某些应用场景而言,我们已经错过了应对“量子末日”的启动时点。
对大多数系统而言,目前仍有时间开发应对方案,但 2026 年已经非常临近。要在六年内完成整套复杂基础设施的替换是一项极为艰巨的任务,更何况抗量子加密算法还需要数年时间才能完成标准化。
这是需要全行业通力协作的紧要局面。
这一危机不容忽视,行业内的所有参与者都需要重视抗量子密码技术。作为受信任的第三方证书颁发机构(CA),Sectigo 目前正投入研发抗量子公钥基础设施(PKI)解决方案,帮助公钥基础设施(PKI)用户启动向新型抗量子加密算法的迁移工作。
这是一个复杂的议题,我们将提供一系列资源,帮助客户理解问题并制定应对方案。在 Sectigo Quantum Labs,我们正与行业领军企业合作开发解决方案,支持向新算法的迁移,确保客户为“量子末日”做好准备。



