后量子密码迁移研究

admin 2023年10月27日02:53:11评论5 views字数 9216阅读30分43秒阅读模式

后量子密码迁移研究

量子计算技术对传统密码算法安全性的威胁非常大。在量子计算模型下,公钥密码将被破解,对称密码和杂凑密码的安全性将减半。研究和应用抵抗量子计算攻击的密码技术日趋紧迫,美国国家标准与技术研究所(National Institute of Standards and Technology,NIST)于 2022 年 7 月遴选出 4 种拟标准化的候选算法。随着算法标准化进程接近尾声,后量子密码迁移活动被提上日程。就该领域展开系统性研究,归纳总结主流的后量子密码迁移问题、方案、技术和方法等,并以政务云平台系统进行后量子密码迁移为例进行阐述,为后续的密码应用迁移提供参考。

密码技术是信息安全的核心技术,也是网络空间安全的基石,而密码技术的安全性依赖于密码算法的安全性。随着计算机运算性能的提升及密码分析技术的进步,特别是量子计算技术的发展,密码算法的安全性受到了严重的挑战。

量子计算(Quantum computing)是利用量子态的性质(如叠加原理和量子纠缠)来执行计算的一种新型技术。其中,量子计算机的发展非常迅速,预计 5~15 年后,会对密码算法将造成严重威胁的实用量子计算机将被制造出来。由于量子计算机带来了运算算力的提升,量子算法(如 Shor 算法和Grover 算法)能降低破解传统密码算法的计算难度,使得破解传统的公钥密码算法(如 SM2、SM9 等)成为可能,特别是基于大数因子分解问题和离散对数问题的密码算法易被破解,此外,破解对称密码算法和杂凑密码算法的时间消耗会大约降为原来所需的一半。

为了应对量子计算技术的威胁,后量子密码应运而生。后量子密码是在经典计算机上运行的、能抵抗量子计算攻击及经典计算攻击的密码算法和密码协议。目前,人们讨论最广泛的是公钥密码算法。

美国主导了后量子公钥密码算法标准化的进程 。美国国家标准与技术研究所(National Institute of Standards and Technology,NIST)在 2016年面向全球启动了征集后量子公钥密码算法的活动,得到了世界密码学界的广泛响应,共征集到 69份算法方案。历时 6 年多,经过了 3 轮的评估,于2022 年 7 月确定了 4 种拟标准化的后量子密码算法,分别为密钥封装机制 Crystals-Kyber、数字签名算法Crystals-Dilithium、Falcon 和 Sphincs+,同时确定了位翻转密钥封装(Bit Flipping Key Encapsulation,BIKE)、Classic McEliece 和汉明准循环(Hamming Quasi-Cyclic,HQC)这 3 种密钥封装机制进入第 4轮评估。NIST 计划于 2023 年发布后量子公钥密码算法标准草案以征求公众意见,并于 2024 年颁布正式标准。

为了有效解决传统密码算法面临的量子计算 攻 击 的 安 全 威 胁, 同 时 考 虑“ 先 收 集, 后 破解 ”(Store-Now-Decrypt-Later,SNDL)潜 在攻击的长时性及全套密码算法(包括公钥密码算法、 对 称 密 码 算 法 和 杂 凑 密 码 算 法) 替 换 的 时间( 数 十 年), 使 用 传 统 密 码 技 术 的 信 息 技 术(Information Technology,IT)和操作技术(Operation Technology,OT)系统需要尽快切换使用后量子密码技术,这项工作被称为后量子密码迁移 。

受到量子计算安全威胁的 IT 和 OT 系统主要包括:

(1)系统的安全性依赖于量子不安全的密码算法;

(2)系统的安全性依赖于以量子不安全的密码算法构建的密码协议;

(3)系统的安全性同时依赖于上述两者。一般地,目前广泛使用的密码算法大多数是量子不安全的,仅有少量的算法如 AES-256、SHA-512 等可被认为是量子安全的。后量子密码迁移不仅仅是替换密码算法,它还包括将密码协议、密码方案、密码组件、密码基础设施等更新为量子安全的密码技术,甚至还包括密码系统的灵活更新机制的能力构建及密码应用信息系统的迭代更新等。

目前传统的(量子不安全)密码技术已经广泛应用和部署,进行后量子密码迁移的工作量很大。当然,人们希望在迁移时对现有系统的改动量越少越好,但这个需求实现起来并不容易。后量子密码技术相比于传统密码技术,其公钥密码算法在密钥尺寸和密文尺寸等方面要大几倍到几十倍,另外一些后量子公钥密码算法速度非常慢,且非常耗费运算资源。因此,人们正努力在各种密码应用系统中尝试使用后量子密码算法,特别是在通信协议和公钥基础设施(Public Key Infrastructure,PKI)系统中,并探索相关问题的解决方法和思路,期望在不久的将来可以平稳过渡到后量子密码 。

本文第 1 节介绍后量子密码迁移的一些重要问题及相关解决思路,第 2 节介绍后量子密码迁移可能用到的一些有价值的技术,第 3 节介绍政务云平台系统的后量子密码迁移,第 4 节对我国后量子密码迁移提出建议,最后进行归纳总结。

1

迁移问题及解决思路

后量子密码迁移面临许多技术、标准化及工程应用方面的问题,下面就这些问题做简单探讨,并提供一些解决思路。

1.1 技术困难

传统密码算法与后量子密码算法,特别是公钥密码算法,在算法参数尺寸、运算效率、算法机制等方面存在较大差异,不能简单地直接将传统密码算法替换成后量子密码算法。传统公钥密码算法,如 SM2,提供加解密、签名验签、密钥协商等功能;公、私钥长度为 64 字节和 32 字节,加密数据长度为任意字节,密文长度较明文数据长度增加 96 字节;签名原文数据长度任意,经过杂凑后进行签名,签名结果长度为 64 字节;可与 Diffie-Hellman 算法结合进行密钥协商。但单种后量子密码算法不能提供全面的运算功能,可将它们可分为两类:一类为密钥封装算法,如 Kyber768,提供加解密、密钥封装等功能,公、私钥长度为 1 184 字节和 2 400 字节,密钥封装功能原文数据长度为 32 字节,封装密文长度为 1 088 字节,不可与 Diffie-Hellman 算法结合作密钥协商;另一类是签名算法,如 Dilithium3,仅提供签名验签功能,公、私钥长度为 1 952 字节和 4 000 字节,签名长度为 3 293 字节。在运算速度上,部分后量子公钥密码算法较 SM2 算法更快,如 Kyber768 使 用 高 级 向 量 扩 展(Advanced Vector Extensions,AVX) 并 行 指 令 优 化 后 较 SM2 快 10倍左右,另一些后量子公钥密码算法较 SM2 慢很多,如 Sphincs+ 的签名速度是 SM2 的约千分之一。表 1 列出了部分对比结果,其中,* 表示使用 CPUAVX2 加 速, 在 I5 1135G7 2 核 CPU 上 测 试;LAC是我国学者提出的密钥封装算法。

另外,后量子公钥密码算法种类特别多,目前没有一种算法能像 SM2 算法这样通用,因此,在不同的应用场景下,需要选用不同的后量子公钥密码算法,而算法的选择和互通性会给迁移带来不小的挑战。

解决的方法和思路可以从两方面考虑:一是加大算法理论和实现的研究,增大算法及相关技术的储备,为迁移提供更多更优的候选算法;二是结合具体的应用场景,挖掘创新型应用模式,加强密码灵活性研究,避免密码算法和密码技术在系统中固化,为后续新密码算法、密码算法参数和密码技术的切换更新提供能力保障。

表 1  SM2 算法与后量子密钥封装机制的对比

后量子密码迁移研究

1.2  标准化推广

迄今为止,后量子公钥密码算法中只有扩展默克签名(eXtended Merkle Signature Scheme,XMSS)和基于 Leighton-Micali 哈希的签名(Leighton-Micali Hash-Based Signatures,LMS)这两种基于杂凑的密码算法在 RFC 体系中完成标准化,但这两种算法的应用非常受限,只能用于签名总次数特别少的场景中,如设备升级。量子安全的对称密码算法 AES-256 和杂凑密码算法 SHA2-512、SHA3-512 已经标准化,但这些都是国际算法,我国的后量子公钥密码算法、对称密码算法和杂凑密码算法没有一个完成标准化,不能为应用提供支撑。但可喜的是,我国量子安全的密码算法标准化的工作正加快推进,如基于 SM3 算法的后量子公钥密码算法、量子安全的 ZUC-256 对称密码算法等已经提上标准化日程。

解决我国后量子密码算法缺失问题的方法和思路分为两个方面:一是加快推进后量子密码算法簇的标准化工作,特别是前期的技术研究铺垫,同时可借鉴和引用国际上后量子领域内的技术标准;二是大力鼓励国内学术团体及产业单位等进行广泛的后量子密码算法和技术的实验性应用,为密码算法和技术的标准化提供建议和参考。

1.3 传统密码技术摸底

IT 和 OT 系统已广泛使用传统密码技术来保障其安全,从底层的硬件芯片、板卡、操作系统到上层的应用、服务都可以看到传统密码技术的身影。然而在不同的信息系统密码应用场景下,传统密码技术的应用模式却是千差万别,如有的使用了标准的算法、协议和流程,有的则进行了定制化更新和修改;有的使用公钥密码算法来进行身份鉴别,有的则使用对称密码算法来进行;有的使用 SM3 杂凑算法来保证完整性,有的则使用 SM3-HMAC 算法来保证完整性,等等。不光密码算法使用模式变化多端,密钥的使用也变幻莫测。密钥安全是密码算法安全的基础,密钥安全的需求是保证其全生命周期的安全,有的系统使用内建的密钥管理机制,更多的系统则使用复杂的密钥管理系统。在后量子密码迁移前,需要对 IT 和 OT 系统使用到的密码技术进行摸底和评估,找到迁移的密码资产、迁移系统的具体位置等,并进行工作量评估,方便进行迁移计划制定和实施。

传统密码技术摸底可使用调查访问的方式,或结合使用自动化的密码检测工具。调查访问通常采用填写调查问卷表的形式进行,而自动化的密码检测工具则需借助一些智能化的工具和技术,静态和动态地跟踪监测密码技术的使用。调查访问在某些场景下实施起来有一定难度,且效率和准确性难以保证,而结合自动化的检测工具则可达到更理想的效果。然而,目前缺乏相应的密码检测工具套件,需要加大这方面的研发力度。

1.4  旧系统改造

基于传统密码技术建设的且正在运行并发挥密码应用功能的 IT 和 OT 系统称为旧系统。旧系统是后量子密码迁移的主要对象,需要对其中的密码技术进行替换升级改造,但程序复杂且耗时,而且情况各异,需要具体情况具体分析。某些旧系统保护的数据资产,其保密时限不长,如两三年,或其数据资产价值不高,其价值还没有后量子密码迁移花费的成本高,则可以不进行后量子密码的迁移。

某些旧系统进行后量子密码迁移的总体代价太高,超过了用户可接受的范围,也没必要进行。某些系统比较庞大,在进行系统安全性评估后,可以只进行部分后量子密码迁移,其他部分采用另外的方式(如物理网络隔离等)来保证其安全。总之,在迁移前,需要对旧系统进行专业的系统安全性评估,根据评估结论采用不同的迁移策略,同时应尽量减少后量子密码对 IT 和 OT 系统的侵入。

如果旧系统必须进行后量子密码迁移,需要考虑密码灵活性的设计和实现。旧系统通常缺乏这方面考虑,此时密码技术的替换升级变为整个系统的替换升级,如银行领域中的发卡系统,由于原有系统跟密码技术深度融合,当使用国密技术来替换旧的国际密码技术时,只能进行整个系统的升级和重建。

1.5 新建系统

相比旧系统改造,新建 IT 和 OT 系统面临的限制条件就少得多,但新建系统仍然需要根据自身实际情况采用合适的后量子密码技术。在考察选用后量子密码技术时,通常需要专业的密码技术咨询,特别是对后量子密码技术比较陌生的系统承建方。

总体而言,新建系统首先应考虑后量子密码标准组织推荐的密码算法和密码技术;其次根据自身实际情况和专家的意见,选用合适的密码算法、协议和方案等;最后要考虑密码的灵活性设计,为将来的密码技术替换升级预留足够的空间。

迁移技术

后量子密码迁移使用的技术是一个种类繁多的大家族,目前仍在不断完善和补充,比较流行的技术包括算法混合使用、算法替换使用和灵活性设计等。

2.1 算法混合

密码算法混合使用主要针对公钥密码算法,它是指将传统公钥密码算法与后量子公钥密码算法混合使用,如将 SM2 算法和 Dilithium2 混合使用进行双重认证,使密码系统的安全强度不低于传统公钥密码算法,且具备抵抗量子计算攻击的能力。使用算法混合的另一个好处是它遵循了当前的密码产品规范和检测标准,可以获得当前的密码产品认证。

密码算法混合使用主要包括混合密钥协商和双重签名两种方式。

(1)混合密钥协商。传统公钥密码算法仍然使用 Diffie-Hellman 进行密钥协商,同时加入后量子公钥密码算法的密钥封装功能,得到两部分协商出的密钥中间值,再将中间值作异或等处理得到最终的会话协商密钥。

(2)双重签名。如图 1 所示,使用传统公钥密码算法对消息进行签名后,再使用后量子公钥密码算法对消息等(可包括传统密码签名结果)签名,输出两次签名结果的组合,或者调换签名顺序,先进行后量子公钥密码算法签名,再进行传统公钥密码算法签名,验证时只有两段签名结果都验证成功,才认为验证成功。

后量子密码迁移研究

图 1 双重签名混合签名原理

2.2 算法替换

算法替换是指将一种算法或算法使用模式变成另一种算法或算法使用模式,如将对称密码算法的电码本(Electronic Codebook,ECB)运算模式换成密文分组链接(Cipher Block Chaining,CBC)运算模式。在网络通信协议中,身份鉴别是必不可少的功能,一般的身份鉴别是通过公钥密码算法的签名验签功能来实现,但是后量子密码算法签名结果特别长(最大到几兆字节),采用后量子密钥封装功能来代替签名完成身份鉴别也是可行的,且密钥封装密文的长度少得多,只有 2 000 字节左右。

2.3 灵活性设计

密码灵活性(或敏捷性)设计是指在对 IT 和OT 系统不做修改或做极少修改的情况下完成对密码算法、密码参数、密码技术等的切换升级,即系统设计时需要考虑密码技术的更新换代,使系统具备灵活的自我密码更新能力。

灵活性是软件开发领域的一个主要目标,而后量子密码迁移将灵活性与密码技术进行结合,带来了新的密码技术框架和结构。密码灵活性设计包括几个层次:在密码技术标准上,除算法外的标准应考虑支持不同的密码算法和密码协议,为新的密码技术预留兼容空间;在工程实现上,可采用合适的密码抽象层和依赖倒置的设计思想,以最大限度地减少由后续密码技术变化引起的再次迁移的工作量。

迁移应用场景研究

对独立的 IT 和 OT 系统来说,后量子密码迁移需要保证系统内部子系统间交互功能正常有序,并按照设定好的次序,对子系统进行逐一升级改造,最后整合验证即可。然而,对于通信交互的多个系统来说,则需要考虑系统间通信的兼容性及迁移工程进度的协调一致,这要求在总体上进行统一规划和部署,过程控制更加严格。下面以政务云平台系统为例进行迁移规划及方案的说明。图 2 是政务云密码应用的典型架构,政务云平台系统提供密码服务、管理服务及态势感知服务等功能,从上到下分为密码应用层、密码服务层、密码支撑层、网络层和密码设施层 5 层。图中,字体加粗处模块需要进行后量子密码迁移,箭头表示数据传输通道。

后量子密码迁移研究

图 2 政务云密码应用典型架构

3.1 基础设施

如图 2 所示,在进行后量子密码迁移时,需要在密码支撑层和密码设施层配备具有后量子密码功能的设施资源,才能对上层提供后量子密码服务,这些设施资源称为后量子密码迁移的基础设施。

迁移基础设施包括硬件设施、软件设施及软硬结合的支撑系统等。在政务云密码服务平台系统中,硬件设施包括提供后量子密码功能的云服务器密码机、SSL VPN、IPSec VPN、安全网关等;软件设施包括后量子密码算法软库、协议软库等;软硬结合的支撑系统包括后量子证书系统、密钥管理系统、数据加解密服务系统、电子文件验证系统等。

因为国内的后量子密码算法标准仍未颁布,在进行迁移时,可以先使用 NIST 推荐的后量子密码算法。

国内后量子密码相关的硬件设施非常匮乏,主要是因为硬件设备需要经过国家主管部门的检测认证才可上市销售,而国内不具备鉴定测评后量子密码功能的条件,因此,硬件设施只能采用定制化的方式来获取。在要求不高的情况下,可以使用软件设施来代替。

后量子密码软件设施发展非常快,目前已有liboqs、libpqcrypto、PQClean 等开源软件算法库,它们集成实现了主流的后量子公钥密码算法。但是这些开源软件库发布的时间较短,使用面不广,而且可能存在安全性、稳定性等方面的问题,作为迁移实验使用没有问题,但如果作为产品部件应用在密码应用系统中是不合适的,这需要借助专业的密码产品提供商的帮助。

软硬结合的支撑系统则面临硬件设施匮乏和软件设施安全性、稳定性较低等问题,需要解决的困难更多。

3.2 整体规划

后量子密码迁移的整体规划是对迁移活动的工作步骤、进度安排、资源投入等进行通盘的考虑和布局。对政务云平台系统进行后量子密码迁移的主要工作是密码服务层、密码支撑层和密码设施层的迁移,需要保证对密码应用层的改造尽量少。下层的密码设施层需要增加后量子密码技术功能,完成密码设施的替换更新即可,但它是密码服务层和密码支撑层功能的依赖项,需要优先进行,完成后再对密码支撑层和密码服务层作替换迁移,最后再根据应用层对密码服务层的调用依赖情况进行迁移。

同时,密码管理服务和态势感知服务的部分功能也会进行后量子密码迁移。

另外,对该密码服务平台的迁移需要预估整体的工作量,制定迁移项目预算,安排合适的人力、物力资源等,并指定项目负责人,制定初步的进度安排等。

3.3 系统调研

后量子密码迁移项目实施的第一步是对密码应用系统进行调研,确定哪些数据作为重要资产需要得到后量子密码的保护,系统中使用了哪些传统的密码算法和技术,身份认证关系怎么构建,系统中的密钥如何保护和使用等。

在政务云平台系统中,调研可以按照调用层次关系,从上到下逐层调查用到的密码技术及功能服务交互的接口。密码服务层及以下的密码支撑层和密码设施层主要由云密码服务平台提供,参考平台相关技术文档就可以完成,但密码应用层的调研比较复杂,一方面因为业务应用较多,另一方面业务应用调用云密码服务平台的方式可能存在较大差异。另外,调研时还需关注业务系统的非功能需求和限制条件,因为后量子密码技术可能对业务系统造成影响,如使得密码参数尺寸变大。

3.4 方案制定及论证

根据系统调研报告制定初步的迁移方案,确定迁移优先级及步骤,再通过分析论证,得到可行实用的迁移方案。

政务云平台系统的后量子密码迁移方案中应包括如下内容:

(1)确定下层的密码服务平台需要全部迁移到后量子密码技术上来,同时保留以前的所有密码服务功能及交互接口,而上层业务系统分阶段进行迁移,先迁移对数据保护或身份鉴别等安全功能要求高、价值高的系统。

(2)确定迁移需要用到的新资源和新技术等,在原有系统架构中进行补充。因为后量子密码数据加密和认证功能运算速度变慢,所以需要根据业务量负载需求情况考虑是否增加云服务器密码机等资源。

(3)定义各交互层后量子密码技术的交互接口,下层完成后量子密码技术的具体功能,上层完成调用,同时考虑密码灵活性,如采用依赖倒置的面向对象设计思想。另外,还需考虑兼容性需求等,因为应用系统迁移是分阶段完成的,需要保证未迁移的业务系统仍能正常工作。

(4)按照各层依赖关系,制定迁移顺序和步骤,从下到上逐层进行,并制定测试验证计划,保证各层能独立地验证各层后量子密码相关功能。

(5)预估迁移风险,制定风险应对措施等。

3.5 实施及验证

遵照后量子密码迁移方案实施迁移,在正式的迁移实施之前,可能还需要做一些实验性的迁移演练。实施时进行迁移工作包拆分,指定责任人,进行进度控制、成本控制等,同时对迁移方案不明确的地方进行细化完善。

迁移实施过程中和完成后都需要测试验证,政务云平台系统按逻辑层进行分步迁移,需要验证每层的独立密码功能,同时验证各层整合在一起后的密码功能和业务功能是否正常。测试验证完成后可在小范围试运行,试运行一定时间(如 1 年)后,再根据系统实际运行情况,决定是否正式运行并进行政务云平台系统中其他业务系统的后量子密码迁移。

国内迁移建议

4.1 积累技术和经验

在算法理论分析方面,国内的后量子密码算法已有一定的积累,其中基于格理论技术路线的居多,但广度和深度仍需加强,其他的技术路线研究较少,成果也不多,需要进行更多的研究并积累经验,特别是为设计和标准化我国的后量子密码算法作准备。在工程应用方面,可以借用 NIST 推荐的后量子密码算法进行工程应用实验,建立实验原型和框架,并适时地开展局部的应用试点,加强应用方面的积累,为我国后量子密码产业化提供案例和指导。

4.2 算法标准化

国内后量子密码算法标准化总体进展缓慢,需要国家密码主管部门统筹规划,加快推进标准化进程,并适时推出标准化的国产后量子密码算法。

4.3 提前规划和布局

我国的后量子密码迁移需要提前进行规划和布局,虽然国内重要行业的商密改造正在进行,但在早期完成改造的金融领域已经运行了五六年时间,但在面对量子计算威胁,特别是在量子计算技术以摩尔定律高速发展的背景下,传统密码技术的安全性随时都可能崩塌,因此做好准备、未雨绸缪非常有必要。实际上,后量子密码迁移已经非常紧迫,因为它是一个长期且花费巨大的工程,随着科技的进步,未来实用的量子计算机的出现时间可能早于预期,且不一定被公开,所以需要尽早进行布局,做到有备无患。

4.4 协同合作

后量子密码是较新的技术,涉及面广且复杂,短期内不容易取得突破性进展,但后量子密码迁移时间紧迫,因此需要集中我国密码学界中的产、学、研、管等力量,协同合作,共同推进国内后量子密码技术的发展。

结 语

量子计算技术带来了对传统密码技术的安全威胁,也促进了密码技术的革新,后量子密码是革新路上的一个典型代表,它是一类新型的密码技术,与以往的所有密码技术有相似点,也有不同之处。这是科学技术进步的必然选择,即使大规模使用的量子计算机不出现,密码技术的自我修复、自我完善的机制也将不断进行,后量子密码只是碰巧在这个时间阶段出现在人们面前。

后量子密码带来了新的密码算法和密码应用模式,在进行后量子密码迁移过程中,必然会出现更多的迁移创新方法和思路,同时,迁移实践将会进一步推动后量子密码技术的发展。

面对后量子密码迁移中的问题和困惑,需要结合现实应用场景,不断尝试,小心验证,通过应用实践来积累后量子密码迁移的经验,为将来更快、更好地迁移打下基础。

免责声明:本文转自信息安全与通信保密杂志社,原作者王良成 , 石元兵 , 张舒黎,张小青,黄  锦,黄  妙,。文章内容系原作者个人观点,本公众号编译/转载仅为分享、传达不同观点,如有任何异议,欢迎联系我们!

转自丨信息安全与通信保密杂志社

作者丨王良成 , 石元兵 , 张舒黎,张小青,黄  锦,黄  妙,

后量子密码迁移研究

原文始发于微信公众号(全球技术地图):后量子密码迁移研究

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年10月27日02:53:11
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   后量子密码迁移研究http://cn-sec.com/archives/2133649.html

发表评论

匿名网友 填写信息