锐安盾-网站安全加速服务

中国站

联系我们

400-002-9968

售前咨询

售后服务

注册 登录

博客 > 面向后量子密码算法的哈希签名方案

面向后量子密码算法的哈希签名方案

  • 标签:
  • 后量子密码算法
  • 哈希签名
  • HBS 方案
  • 国产SM3算法
  • SM3国密算法

浏览量:1748次评论:0次

作者:锐成网络整理时间:2024-07-01 16:33:49

摘  要:基于哈希的签名方案是后量子密码标准化程度最高的算法,但由于该类方案的一些技术特点和限制,在实际中的应用还处于探索实践阶段。因此,发现并解决应用基于哈希的签名方案的限制和困难对于其广泛应用是非常有必要的。首先概述了基于哈希的签名方案的产生及演变,对目前已标准化的方案进行了横纵对比分析;其次使用国产 SM3 算法实例化 FIPS205 中底层的哈希算法,给出了初步的实验结果和对比分析,进一步表明 SM3 实例化 SPHINCS+ 方案的可行性,推进我国无状态的基于哈希的签名方案的标准化进程;最后对基于哈希签名方案的应用进行了总结和建议,为其广泛应用和后量子密码迁移提供参考。

内容目录:

1 基于哈希的签名方案
1.1 方案演变发展
1.2 已标准化的方案
1.3 方案对比总结
2 SM3 实例化实现及测试
2.1 实现及测试
2.2 对比分析
3 基于哈希签名应用研究初探
4 应用分析建议
5 结  语

量子计算机的发展给现代密码学带来了极大的威胁和挑战,尤其是 Shor 和 Grover 等量子算法的提出。其中,Shor 算法可以通过量子计算机解决目前经典计算机计算困难的因式分解和离散对数问题,这些问题是现在广泛使用的密码算法如 RSA、ECC、Diffie-Hellman、SM2 等算法的安全性依赖。Grover 算法可用于提取对称密码算法的密钥和寻找哈希函数碰撞,并利用量子计算机将搜索固定长度的密钥的操作次数减半。因此,现有主流使用的公钥密码算法完全不具备抗量子攻击能力,需设计提出新的公钥密码算法。对于对称或哈希密码算法而言,可通过将安全参数提高至 2 倍及以上来具备抗量子攻击能力。

密码学界把能够抵抗量子计算攻击的密码算法统 称 为 后 量 子 密 码(Post-Quantum Cryptography,PQC), 也 称 为 抗 量 子 密 码(Quantum-ResistantCryptography,QRC)。目前后量子密码研究主要围绕密钥交换和数字签名,涉及的主流技术路线包括基于哈希、基于格、基于编码、基于多变量、基于同源等,其中,基于哈希的算法构造是最容易理解的技术路线之一,主要用于构造新一代的抗量子数字签名方案,也称为基于哈希的数字签名(Hash-Based Signature,HBS)。表 1 列举了不同技术路线的后量子密码签名方案代表及其安全性依赖,这些方案都有各自的优缺点,在实际应用中如何选择还要取决于应用程序的具体要求和约束。

表 1  不同技术路线的后量子签名方案

面向后量子密码算法的哈希签名方案

本文重点识别总结了 HBS 方案的特点。首先,针对 HBS 的设计思想和方案演变进行了概述,并对目前的后量子签名方案进行了对比分析;其次,利用国产 SM3 算法替代 2023 年 8 月 24 日美国国家标准与技术研究院(National Institute of Standards and Technology,NIST)发布的 FIPS 205 草案对应的 SPHINCS+ 方案底层所使用的哈希函数,并给出了相应的实验结果和分析结论,进一步支撑我国关于无状态 HBS 方案的标准化;最后,对基于哈希签名方案在后量子密码迁移场景下的应用进行了调研和总结,给出了基于HBS方案的特点的应用建议。

1 基于哈希的签名方案

数字签名在现代密码学的研究历史中处于对称加密、线上密钥协商及公钥加密之后。对于数字签名方案的构造,学术界大概经历了 10 年(1976—1986)左右的时间才总结出构造方案可能存在的研究路线。第 1 类是 1976 年 Diffie 和 Hellman 在New Directions in Cryptogtaphy 中定义的单向陷门函数,他们首次提出了基于单向陷门函数构造通用数字签名方案的思想,但并没给出单向陷门函数的具体构造方法,在后续的研究发展中,通用构造所需的函数从单向陷门函数逐渐减弱到了单向函数;第2 类是 1978 年之后开始基于特定的单向陷门函数构造的具体方案,如 RSA、ElGamal、DSA 等方案;第 3 类是 1986 年提出的 Fiat-Shamir 转换方法,该方法实现了数字签名方案通用改造的可能,这里的通用改造指的是从一种密码技术到另一种密码技术的构造,如 FIPS 204 草案对应的 Dilithium 算法和2019 年中国密码算法竞赛获奖的 Aigis-sign 算法均是该设计思想的体现。

HBS 的构造依据属于第 1 类路线中的单向函数构造思想,该类方案的安全性不依赖具体的数学困难问题,而是完全依赖于单向函数的安全性,也就是哈希函数的安全性。此外,在密码学上对哈希函数的研究已经非常成熟和完备,由此也保证了基于哈希构造的签名算法是后量子密码理论安全性最强的技术路线之一。并且不同的 HBS 方案可以理解为所构造的数字签名算法的框架不同,可以保持算法框架不变,通过实例化不同的哈希算法及参数来抵抗量子计算攻击和实现不同的安全级别,目前可供使用哈希的算法包括 SHA256/512、SHAKE、SM3 等。

1.1 方案演变发展

基于哈希的签名方案的研究历史很长,最早的研究工作可以追溯到 1976 年 Lamport-Diffie(LD)提出的一次性签名方案 LD-OTS。截至目前,HBS方案的演进可以大致划分为有状态的一次性签名 方 案(One-time Signature,OTS)、 少 次 签 名方案(Few-time Signature,FTS)、多次签名方案(Many-time Signature,MTS)、分层签名(Hierarchical Signature,HS)的多次签名方案,以及无状态的不限次分层签名方案。如图 1 所示为 HBS 方案的演进框架。

面向后量子密码算法的哈希签名方案

图 1 HBS 方案演进关系

OTS 方案是构成 HBS 方案的基本组成部分,该类方案的思想是一对密钥只能签名一次,不能重复使用,其中,签名密钥即私钥均匀随机生成,签名公钥由私钥和哈希函数派生而成,如图 1 中的 LDOTS、W-OTS(Winternitz-OTS)及其变体 W-OTS+方案。若签名密钥对重复使用,则存在攻击者能从不同消息的两个有效签名成功伪造出第 3 条未签名过的消息及其有效签名的安全性问题。这也导致 OTS 方案中的密钥及签名的大小会随着明文消息的增加呈线性增长,从而导致签名和验证的时间开销也很大。因此,后续研究者们的优化方向就是寻找同一个密钥对签名多条不同消息的方法,这也是FTS 和 MTS 的最初设计思想。

FTS 方案可利用同一个密钥对对多条消息签名,但是签名的安全性会随着签名的消息数量的增加而降低。如图 1 中的哈希获取随机子集(Hash to Obtain Random Subset,HORS)、随机子集森林(Forest of Random Subsets,FORS)等方案。本质上 OTS 和FTS 方案的签名验证都是基于公钥的完整性验证,因此后续的设计优化思路就是寻找能大规模验证公钥且签名安全性不会随消息数量增加而降低的设计方法。

MTS 方案就是从 OTS 和 FTS 方案的不足出发,提出的一种新设计思想,基于 Merkle 树结合 OTS签名方案来构造多次签名方案,如典型的默克尔签名方案(Merkle Signature Scheme,MSS),该类方案的一对密钥对可签名很多条消息,但是签名消息的数量是固定的。后续基于 MSS 方案研究者们构造了现已标准化的一些经典方案,如图 1 中的 LMS 和扩展的默克尔签名方案(eXtended Merkle Signature Scheme,XMSS)。该类方法虽然在某种程度上解决了 OTS 和 FTS 方案的不足,但也引入了额外的机制来保证数字签名算法的正确性。

首先是密钥状态管理的方法,主要涉及签名私钥的同步,需要标记使用过的签名私钥,不允许再用于其他消息的签名,如果用户在实际应用中,没有做好密钥状态的管理,那攻击者很容易利用这点伪造出有效签名。因此,密钥的状态管理在该类方案的安全性中起着至关重要的作用,但同时也限制了该类方案的实用性,并且与现有标准化的密码接口不兼容。其次是树节点之间的身份验证路径,基于 Merkle 树构造的 MTS 方案在签名生成和验证时还构建和验证了身份验证路径(也称为认证路径),主要包括自上而下和自下而上两种方法。其中,自下而上的认证方法用于树内部,即树的根节点是由底层叶节点计算而得,MSS 方案的树构造就是基于该认证方法的一个实例。如果 MSS 方案中的树高很大,则计算 MSS 签名公钥的时间复杂度会比较高,因为需要把 Merkle 树的所有节点都计算出来,才能计算出根公钥及树的根节点。对 Merkle 树的公钥生成时间进行进一步优化,提出了分层签名方案(Hierarchical Signatures Scheme,HSS)的思想,如图 1 中 LMS 方案引入分层设计思想后的 HSS 方案和XMSS引入分层设计思想后的XMSS^MT(eXtended Merkle Signature Scheme^Multi-Tree)方案,本质上是将大量不同的 Merkle 树或 L -树按照自上而下的方法进行连接。该方法用于树与树之间,利用较高子树的叶节点对低一层的子树的根进行签名,从而将两棵树进行连接起来,形成树链。对于基于Merkle 树构造的 HBS 方案,在进行签名验证时,一方面验证相应 OTS 签名及单棵树认证路径的正确性;另一方面还需根据签名中的树与树之间的认证路径重建从相关的一次性公钥到树根的路径,计算出根公钥,然后与发布的签名公钥进行比对,若一致则验证成功,否则验证失败。

在后续研究中,学术界基于类似HSS、XMSS^MT方案,结合自下而上和自上而下的方法构建的广义哈希树均称为超树(HyperTree,HT)。这样设计的好处是可以减少签名公钥的生成时间,允许在签名大小和计算时间之间通过树的层数进行权衡。在RFC 8554 中,对于树高为 25 的 LMS 方案的密钥生成时间长达 1.5 h,而对于两层树,树高为 20/15 的HSS 方案的密钥生成时间才 3 min。因此,该设计在实际应用中根据需求进行参数调整的灵活性得到了极大增强,这一特点也是传统的数字签名方案所不具备的。

基于 MTS 的方案中提到的密钥状态管理,是限制 HBS 广泛应用的一个主要因素。因此,设计无状态的 HBS 方案是近些年来研究者们关注的热点问题。无状态的 HBS 方案与密码学上数字签名算法的定义保持一致,且已标准化的密码接口可以完全兼容,消除了签名生成过程中维护更新签名密钥的操作。无状态 HBS 方案的代表是 SPHINCS 和SPHINCS+,以及其他的变体方案,这些方案均使用了超树结构。在设计中,这些方案一方面使用了更大规模的超树结构来避免密钥的重复使用(与不限数量的有状态 HBS 方案如 XMSS^MT 的设计思想类似);另一方面通过随机或伪随机方式选择密钥来进行消息签名,而不是通过密钥状态管理的顺序选择密钥。虽然这一设计可以使 HBS 方案具有前向安全性,但这也造成了无状态 HBS 方案的签名生成成本较高,另外,无状态 HBS 方案的签名尺寸比有状态 HBS 方案也要大得多。文献 [4] 对比了密钥容量为 260 的 LMS、XMSS^MT、SPHINCS 方案的签名大小,其中,有状态的 LMS 方案的大小为5 KB,XMSS^MT 的大小为 15 KB 或 28 KB,SPHINCS的大小能达到 41 KB。

1.2 已标准化的方案

从技术发展来看,HBS 方案的密码设计及分析较其他技术路线的密码理论相对成熟。从标准化来看,密码学界、工业界和各标准化组织也都在积极推动后量子密码算法的标准化工作,并且制定了系列标准。迄今为止,国际上已标准化的基于哈希的签名算法的标准有 2018 年因特网工程任务组(Internet Engineering Task Force,IETF)发布的 RFC 8391-XMSS、2019 年 IETF 发布的 RFC 8554-LMS、2023 年 NIST 发布的 FIPS205 中 的SPHINCS+。国内目前还未形成后量子密码算法的相关标准,但基于 SM3 的带状态数字签名算法相关标准已形成初步草案,主要是采用国产商密哈希算法 SM3 的两个数字签名算法 LMS-SM3 和 HSSSM3,可用于指导抗量子攻击密码产品的设计、开发和检测。随着国际上无状态 HBS 方案的标准化,相信国内无状态 HBS 方案标准化的进程也会加快。

1.2.1 XMSS

基于哈希的扩展默克尔签名方案是第一个可证明的前向安全和实用的签名方案,具有最小的安全要求:伪随机性和哈希函数的抗碰撞性 [5]。XMSS于 2018 年通过 RFC 8391 进行标准化,该标准的方案主要由 XMSS 和 XMSS^MT 组成,详细的框架组成如图 2 所示。其中,WOTS+ 是构成 XMSS 方案的一次性签名组件,通过随机树哈希、L -树、树哈希算法实现对 WOTS+ 的密钥管理,采用自下而上的方法构成 XMSS 的认证树,可以对有限次数的消息进行签名;XMSS^MT 是 XMSS 方案的超树变体,通过使用自上而下的方法在 XMSS 子树间构建内部认证路径,形成 XMSS 树与树的连接,从而实现对无限数量的消息进行签名。需要注意的是,该标准方案是有状态的 HBS 方案(stateful-HBS,S-HBS),需要对生成的密钥进行状态管理,保证使用时不会出现密钥的重复使用。详细的方案细节及流程可参考文献 [5]。

面向后量子密码算法的哈希签名方案

图 2 XMSS 方案

1.2.2 LMS

LMS方案由Leighton和Micali在1995年改编,遵循了 Lamport、Diffie、Winternitz 和 Merkle 在 该领域的开创性工作,制定了一次性签名方案和通用的数字签名方案,于 2019 年通过 RFC 8554 进行标准化,该标准的方案主要由 LMS 和 HSS 方案组成,详细的框架结构如图 3 所示。其中,LM-OTS是 LMS 方案的一次性签名组件,结合高度为 h 的Merkle 树构造的 MSS 方案形成 LMS 方案,可以签名 2h 个消息,该方案中的公钥认证路径与 XMSS 方案采用的均是自下而上的方法。HSS 方案是在 LMS方案的基础上采用自下而上的方法构建的分层签名系统,能够有效地扩展到更大数量的签名。HSS 方案同样也需要密钥状态管理机制保证密钥不会重复使用。详细的方案细节及流程可参考文献 [6]。

面向后量子密码算法的哈希签名方案

图 3 LMS 方案

1.2.3 SPHINCS+

SPHINCS+ 方案也称为无状态哈希数字签名算法(Stateless Hash-based Digital Signature Algorithm,SLH-DSA), 被 NIST 选为后量子加密标准化过程的一部分 ,于 2023 年 8 月 24 日发布标准草案, 该 标 准 的 方 案 主 要 由 SLH-DSA 组 成, 使 用WOTS+、FORS、XMMS 作为组件来构建,详细的框架结构如图 4 所示。值得注意的是,该标准方案取消了密钥状态的管理,保持了与传统数字签名算法的一致性,详细的方案细节及流程可参考文献[7]。

面向后量子密码算法的哈希签名方案

图 4 SPHINCS+ 方案

1.3 方案对比总结

1.3.1 方案横纵对比

为了加深对 HBS 方案的理解,本节针对不同技术路线的后量子签名方案从算法参数和性能进行横向对比。在 Intel i5,2.4G 的 2 核 CPU,4G 内存,64bits Linux 的测试环境下对经过 AVX2 指令集加速后的后量子数字签名算法进行横向测试对比,测试结 果见表 2, 其 中,SPHINCS+ 指 SPHINCS+-128f的参数尺寸。同时,对已标准化的 HBS 方案在参数规模、签名尺寸方面进行纵向对比。以此发现并总结 HBS 方案及其之间的优缺点,进一步提升 HBS方案应用的精准性。

表 2  后量子数字签名方案参数对比

面向后量子密码算法的哈希签名方案

在RFC 8391、RFC 8554、FIPS 205 的标准中,不同 HBS 方案私钥均采用了伪随机种子的方式生成,因此可通过时空权衡技术的时间换取空间,来减小私钥的尺寸;而对于公钥而言,均对应为超树(树)的根节点,一般为 32 字节或 64 字节。鉴于各 HBS 方案的算法参数差异性较大,尤其是在 w及 h 参数上的选择范围,因此,本节没有对这些标准方案进行性能对比。各方案在相关参数下的性能表现参见文献 [5]、文献 [6] 和文献 [7],仅对不同HBS 方案的签名尺寸做了对比分析,详情如表 3 所示。其中,“—”代表该算法不涉及对应的参数尺寸,表 3 仅列出了差异性的可对比参数,其他更多算法参数及含义详见标准 。

1.3.2 方案总结说明

基于对 HBS 方案的理论研究及 1.3.1 节的横纵对比,可以发现 HBS 方案的一些优缺点。

HBS 方案的优点如下文所述。

(1)具有最低安全性要求。HBS 方案的安全性仅依赖底层哈希函数的安全,而足够长的哈希函数不受量子计算机的威胁,因此,由哈希函数构造的 HBS 可抵抗量子计算攻击。

表 3 LMS、XMSS、SLH-DSA 方案参数对比

面向后量子密码算法的哈希签名方案

(2)灵活性。HBS 方案可理解为一个签名算法的框架,与具体哈希算法无关。一方面,方案实现时可通过满足安全要求的哈希算法进行实例化;另一方面,方案应用时可根据应用程序的环境和资源选择不同的哈希函数以满足所需的性能需求。更值得注意的是,HBS 中使用的某哈希函数出现安全漏洞后,可直接在方案底层替换其他安全的哈希函数即可,这可以保证 HBS 方案的生命周期很长。

(3)参数自适应。HBS 在签名速度和密钥尺寸之间可通过调整方案参数如 Winternitz 参数 w 的大小进行权衡,对于有状态的 HBS 的密钥容量可通过调整树高 h 和层数 d 进行权衡。

(4) 前 向 安 全 性。通 过 伪 随 机 生 成 器(PseudoRandom Number Generator,PRNG)实现前向安全性,即私钥泄露前所生成的所有签名仍安全有效。

HBS 方案的缺点如下文所述。

(1)签名体积较大。从表 2 中可以看出,虽然 SPHINCS+ 方案的公私钥尺寸较其他路线的签名方案小,但是签名的尺寸分别是 Dilithium2 和Aigis-sign 方案的 7 倍和 6 倍左右。

(2)有状态的 HBS 方案存在密钥状态管理机制,需要更新签名后的私钥状态,保证同一状态的私钥不可重用,否则签名方案存在攻击者伪造出有效签名的安全问题。虽然无状态的 HBS 方案解决了该问题,但也增加了签名尺寸增加的代价,如表3中,在使用相同安全级别的 SHA256 算法实例化各不同的 HBS 方案时,有状态的 HBS 方案中签名尺寸最大的才为 14 824 字节,而无状态的 HBS 方案的签名尺寸可长达 29 792 字节和 49 856 字节,这一大小的签名尺寸在多数场景下均不实用。

(3) 性 能 较 慢。从 表 2 中 可 以 看 出,SPHINCS+ 方案的性能表现与基于格的 Dilithium2和 Aigis-sign 方案差很多。其中,SPHINCS+ 在密钥生成方面的性能表现是 Dilithium2 和 Aigis-sig的 1/37 左右;在签名生成方面的性能表现分别是Dilithium2 和 Aigis-sig 的 1/377 和 1/630 左右;在签名验证方面的性能表现分别是 Dilithium2 和 Aigis sig 的 1/100 和 1/125 左右。

2 SM3 实例化实现及测试

我国在密码算法的标准化及使用上一直坚持自主创新的原则,包括在后量子密码算法方面也是如此。2019 年中国密码管理局、中国密码学会联合举办后量子密码算法竞赛来推进国产后量子密码算法的发展。在国内的后量子密码迁移中,也应尽量坚持这一原则,因此国产哈希算法 SM3 实例化国际标准化的 HBS 方案的可行性验证是非常重要的。

2.1 实现及测试

在文 献 [8] 中,作 者使 用哈 希 算 法 SM3 替 代RFC 8391、RFC 8554 和 NIST SP 800-208 中的 LMS、HSS、XMSS 和 XMSS^MT 数字签名方案所使用的哈希函数,并给出了初步的实验结果,这表明了 SM3实例化国际标准化的 HBS 方案是完全可行的。本节使用 SM3 替代 FIPS 205 标准的 SLH-DSA 方案的哈希函数,并将其命名为 SLH-DSA-SM3。通过在文献 [7] 中指明的开源代码中添加 SM3 算法来初步实现 SLH-DSA-SM3,在一台服务器(Intel(R) Xeon(R)Gold 5218(16cores,2.3 GHz))上进行了初步的性能测试,具体测试结果如表 3 所示。在 SLH-DSA 的源码中共实现了基于 SHA2、HARAKE 及 SHAKE三种哈希算法的实例化方案,并给出了 SHA2 和SHAKE 的通用和采用 AVX2 指令集加速的实现版本。基于官方提供的 SLH-DSA 的算法参数,本次实验采用 n=32,h=68,d=17,b=9,k=35,w=16 的算法参数,将 SLH-DSA-SHA256(SPHINCS+-256f)与 SLH-DSA-SM3 进行通用实现的对比,详情见表4。其中,表 4 的性能数据为算法迭代 100 次后的平均值,算法各参数的代表含义请参考文献 [7]。

表 4 SLH-DSA-SHA256 和 SLH-DSA-SM3 性能测试对比

面向后量子密码算法的哈希签名方案

2.2 对比分析

从 表 4 的 性 能 测 试 数 据 可 以 看 出,SM3 和SHA256 分别对应的实例化的 SLH-DSA 方案中,在算法参数相同的情况下,公私钥及签名的尺寸、算法在经典计算和量子计算下的安全强度均一致;SM3 较 SHA256 算法而言,密钥生成和签名生成的TPS 一致,签名验证少 50 TPS,这一数据符合 SM3和 SHA256 算法在 SLH-DSA 方案中表现出的性能差距,这也表明了在无状态的 SLH-DSA 方案中使用 SM3 是可行的,可以推进我国无状态的 HBS 方案标准化的进程,并支撑基于 SM3 的 HBS 方案在国内后量子密码迁移场景中的应用。

3 基于哈希签名应用研究初探

作为 RSA 算法的替换,ECC 大约经历了 20 年才得到广泛使用,而 SHA3 算法从 2007 年的密码算法竞赛开始,到 2012 年宣布获胜,再到 2023 年都没有得到广泛应用。这些历史经验表明,一项基础密码算法从提出到被行业广泛应用,大约至少需要 20 年的时间,而后量子密码算法比传统的密码算法通常更为复杂,因此为了保证在量子时代到来之前的信息安全,业界的众多专家表示后量子密码迁移需立刻开始。这里的后量子密码迁移表示将现有密码安全体系分阶段平稳过渡到后量子密码安全标准体系所需的一系列过程、程序和技术。因此,解决 HBS 方案的技术限制和识别其适用场景是后量子密码迁移中的重要工作之一。

从技术的应用和实践来看,目前针对后量子密码的应用研究还不是很多,尤其是对于 HBS 方案,大多数的研究和分析文章都集中在方案的技术层面,如提供 HBS 方案的技术全景视图、方案细节等内容,将方案与实际应用领域联系结合的探索关联还较少。本节针对业界在 HBS 方案已有的应用研究工作进行了简要的梳理和分析。

有状态的 HBS 方案涉及密钥状态同步和密钥克隆两大问题,而这些在实际应用中很难保证,且目前针对密钥状态管理和克隆问题的研究及可参考的实例化方法也相对较少。目前了解到的关于密钥状态管理方法的首先是 McGrew 等人提出的可以在分层签名方案中实现的状态保留方法和防止私钥状态意外复制的混合方案。其中,状态保留方法主要是通过对需要存储的密钥引入易失性和非易失性层来最大限度地减少同步延迟和同步失败的机会。该方法中私钥和根公钥存储在非易失性层的内存中,其余层的密钥存储在易失性层的内存中,两层之间的私钥不断地进行同步操作来更新私钥的状态。鉴于该方法没有解决密钥克隆的问题,作者又提出了一种混合方案,根层由无状态的 HBS 方案组成,其他层使用有状态的 HBS 方案。其次是 ETSI在 2021 年发布的关于有状态认证机制的状态管理技术报告,该报告针对有状态的 HBS 方案的密钥状态对象的特征、状态索引的重用及部署 HBS 的体系结构和操作进行了讨论和指导,详细内容可参考文献 [9]。

2020 年 NIST发布了关于有状态哈希签名方案 LMS 和 XMSS 的建议,同时明确表示了有状态HBS 方案的应用不适合一般用途,而是适用于具有如下需求的应用场景:(1)需要能抗量子攻击的数字签名方案;(2)数字签名方案可使用周期长;(3)一旦部署实现后,切换到其他不同的数字签名方案的难度和成本太大。

2020 年 Suhail 等人和 2021 年 Kumar 等人针对量子时代下的 HBS 方案应用于物联网设备安全中的重要性、集成时需考虑的各种因素及面临的技术、非技术和社会的挑战进行了分析,并对物联网下集成后量子密码技术的未来研究方向分别提出了相应的建议和展望。

2022 年,美国国家安全局 NSA 发布了国家商用安全算法套件 Commercial National Security Algorithm Suite 2.0(CNSA2.0),内容涵盖对称加密、公钥加密和相关软件与固件的算法及应用的调整,目的是全面应对量子计算对保护国家安全的密码算法带来的威胁。其中明确了针对软件固件更新使用的特定算法 NIST SP 800-208 中的 LMS 和 XMSS,以及给出了立即开始过渡,到 2025 年支持且优先使用,再到 2030 完全使用的部署与实施计划。该文件是第一份将 HBS 算法应用特定化的官方文件,对于HBS 方案的应用推广发挥了重大作用。

无状态的 HBS 方案不存在密钥状态管理问题, 接 口 与 传 统 数 字 签 名 的 应 用 程 序 编 程 接 口(Application Programming Interface,API)完全兼容,因此它的应用与普通的数字签名方案无多大差异,只是无状态 HBS 方案的签名尺寸较大,现实场景中的应用还要结合应用程序的资源要求来选择具体的后量子数字签名方案。

4 应用分析建议

综上所述,可以提出 HBS 在实际应用中的一些分析和建议。HBS 方案分为有状态和无状态两大类。将两类方案进行对比可以发现 [11],有状态 HBS方案的优势在于具有更短的签名尺寸、更快的签名生成时间,不足在于需要密钥状态管理方法来解决密钥状态的同步及密钥复制的问题,适用于性能受限的环境;而无状态的 HBS 方案的优势在于无密钥状态管理问题,不足在于签名尺寸较大,签名生成时间较慢,适用于资源受限的环境。

基于 HBS 方案整体表现出的特点和数字签名本身可提供的安全属性,如真实性、完整性、抗抵赖性,识别出对性能和资源有灵活性调整需求的场景,本文提出了关于 HBS 方案的应用框架,为后量子迁移过程中 HBS 方的应用提供参考。如图 5所示,软件和固件升级场景中的软件和固件升级的频率不会过快,且次数也不会过多,可以自适应参数选择合适的 HBS 方案。物联网下的安全保护体系中对轻量级有特殊需求,可以对 HBS 方案中的底层哈希算法进行轻量化的设计及实现来支撑类似的场景需求。还有基于数字签名技术的电子签章应用,来确保用户行为的不可否认性,此场景下还需深入地识别性能和资源的需求范围,来选择合适的HBS 方案。

面向后量子密码算法的哈希签名方案

图 5 HBS 方案应用

在后量子的数字签名方案应用中,还需注意的一点是,我国在密码算法的标准化及使用上一直坚持自主创新的原则,结合 HBS 方案与具体哈希函数无关的特性,且在使用 SM3 实例化 LMS、XMSS和 SPHINCS+ 的验证均可行的实验结论下,国内的后量子密码迁移场景中,建议优先使用 SM3 实例化的 HBS 方案。

除此之外,为了更好地应对量子时代下的信息安全,关于 HBS 方案的研究实践,与其他相关密码协议、数字证书等密码技术的融合创新,在行业领域中的参数定制化应用还需要持续深入地探索。在这个过程中,一方面考虑提出解决限制 HBS 应用的更多方法。如从应用层角度解决有状态的 HBS方案的密钥状态管理,并考虑与现有的密码接口的兼容。另一方面,考虑后量子迁移强调的加密敏捷性,在使用 HBS 方案的应用系统中提出多样化的算法升级方式和路径。

5 结  语

本文首先介绍了 HBS 方案的演变发展,分析对比了目前国际上已标准化的 HBS 方案,由此总结了 HBS 方案较其他技术路线的优势,以及针对无状态和有状态方案的优缺点。其次,给出了国产SM3 算法实例化 SLH-DSA 方案的实验结果,进一步表明 SM3 算法实例化 HBS 方案的可行性,以推进我国无状态的基于哈希签名方案标准化的进程;最后,对 HBS 方案的应用研究进行了总结和分析,给出了有状态和无状态适用的场景需求,为 HBS 方案在国内的后量子密码迁移提出了一些建议。未来将会持续探索后量子密码迁移中 HBS 方案的技术应用、场景应用和行业应用,在探索实践中不仅要积累经验和能力,还要进行技术融合创新、产品设计创新、应用集成创新,为国内的后量子密码迁移贡献更多力量。

引用格式:张小青 , 石元兵 , 张舒黎 , 等 . 面向后量子密码算法的哈希签名方案 [J]. 通信技术 ,2024,57(1):54-62.
作者简介 >>>
张小青,女,硕士,工程师,主要研究方向为密码技术;
石元兵,男,硕士,正高级工程师,主要研究方向为网络信息安全与密码应用;
张舒黎,男,博士,高级工程师,主要研究方向为密码技术;王良成,男,硕士,工程师,主要研究方向为密码技术;黄  锦,女,硕士,高级工程师,主要研究方向为密码技术;黄  妙,女,硕士,工程师,主要研究方向为密码技术。
选自《通信技术》2024年第1期(为便于排版,已省去原文参考文献)
重要声明:本文来自信息安全与通信保密杂志社,经授权转载,版权归原作者所有,不代表锐成观点,转载的目的在于传递更多知识和信息。

相关阅读:
一篇文了解SSL证书中的RSA 算法、 ECC算法
什么是国密算法?国密算法有哪些?

我的评论

还未登录?点击登录

微信扫码沟通
微信扫码沟通

微信扫码沟通

售前咨询
合作
售后
return head