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

2024-02-16 08:47张小青石元兵张舒黎王良成
通信技术 2024年1期
关键词:数字签名公钥哈希

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

(1.中电科网络安全科技股份有限公司,四川 成都 610095;2.可信云计算与大数据四川省重点实验室,四川 成都 610095)

0 引言

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

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

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

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

1 基于哈希的签名方案

数字签名在现代密码学的研究历史中处于对称加密、线上密钥协商及公钥加密之后。对于数字签名方案的构造,学术界大概经历了10 年(1976—1986)左右的时间才总结出构造方案可能存在的研究路线[2]。第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方案的演进[3]可以大致划分为有状态的一次性签名方案(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[5]、2019 年IETF 发布的RFC 8554-LMS[6]、2023 年NIST 发布的FIPS205 中 的SPHINCS+[7]。国内目前还未形成后量子密码算法的相关标准,但基于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 方案[6]由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 选为后量子加密标准化过程的一部分[7],于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 仅列出了差异性的可对比参数,其他更多算法参数及含义详见标准[5-7]。

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

1.3.2 方案总结说明

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

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

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

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

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

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

2022 年,美国国家安全局NSA 发布了国家商用安全算法套件Commercial National Security Algorithm Suite 2.0(CNSA2.0)[13],内容涵盖对称加密、公钥加密和相关软件与固件的算法及应用的调整,目的是全面应对量子计算对保护国家安全的密码算法带来的威胁。其中明确了针对软件固件更新使用的特定算法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 方案的技术应用、场景应用和行业应用,在探索实践中不仅要积累经验和能力,还要进行技术融合创新、产品设计创新、应用集成创新,为国内的后量子密码迁移贡献更多力量。

猜你喜欢
数字签名公钥哈希
浅析计算机安全防护中数字签名技术的应用
一种基于混沌的公钥加密方案
基于数字签名的QR码水印认证系统
HES:一种更小公钥的同态加密算法
数字签名简述
基于OpenCV与均值哈希算法的人脸相似识别系统
SM2椭圆曲线公钥密码算法综述
基于维度分解的哈希多维快速流分类算法
基于格的公钥加密与证书基加密
基于同态哈希函数的云数据完整性验证算法