博客 > 面向后量子密碼算法的哈希簽名方案
瀏覽量:4478次評論:0次
作者:銳成網(wǎng)絡整理時間:2024-07-01 16:33:49
摘 要:基于哈希的簽名方案是后量子密碼標準化程度最高的算法,但由于該類方案的一些技術特點和限制,在實際中的應用還處于探索實踐階段。因此,發(fā)現(xiàn)并解決應用基于哈希的簽名方案的限制和困難對于其廣泛應用是非常有必要的。首先概述了基于哈希的簽名方案的產(chǎn)生及演變,對目前已標準化的方案進行了橫縱對比分析;其次使用國產(chǎn) SM3 算法實例化 FIPS205 中底層的哈希算法,給出了初步的實驗結果和對比分析,進一步表明 SM3 實例化 SPHINCS+ 方案的可行性,推進我國無狀態(tài)的基于哈希的簽名方案的標準化進程;最后對基于哈希簽名方案的應用進行了總結和建議,為其廣泛應用和后量子密碼遷移提供參考。
內容目錄:
1 基于哈希的簽名方案
1.1 方案演變發(fā)展
1.2 已標準化的方案
1.3 方案對比總結
2 SM3 實例化實現(xiàn)及測試
2.1 實現(xiàn)及測試
2.2 對比分析
3 基于哈希簽名應用研究初探
4 應用分析建議
5 結 語
量子計算機的發(fā)展給現(xiàn)代密碼學帶來了極大的威脅和挑戰(zhàn),尤其是 Shor 和 Grover 等量子算法的提出。其中,Shor 算法可以通過量子計算機解決目前經(jīng)典計算機計算困難的因式分解和離散對數(shù)問題,這些問題是現(xiàn)在廣泛使用的密碼算法如 RSA、ECC、Diffie-Hellman、SM2 等算法的安全性依賴。Grover 算法可用于提取對稱密碼算法的密鑰和尋找哈希函數(shù)碰撞,并利用量子計算機將搜索固定長度的密鑰的操作次數(shù)減半。因此,現(xiàn)有主流使用的公鑰密碼算法完全不具備抗量子攻擊能力,需設計提出新的公鑰密碼算法。對于對稱或哈希密碼算法而言,可通過將安全參數(shù)提高至 2 倍及以上來具備抗量子攻擊能力。
密碼學界把能夠抵抗量子計算攻擊的密碼算法統(tǒng) 稱 為 后 量 子 密 碼(Post-Quantum Cryptography,PQC), 也 稱 為 抗 量 子 密 碼(Quantum-ResistantCryptography,QRC)。目前后量子密碼研究主要圍繞密鑰交換和數(shù)字簽名,涉及的主流技術路線包括基于哈希、基于格、基于編碼、基于多變量、基于同源等,其中,基于哈希的算法構造是最容易理解的技術路線之一,主要用于構造新一代的抗量子數(shù)字簽名方案,也稱為基于哈希的數(shù)字簽名(Hash-Based Signature,HBS)。表 1 列舉了不同技術路線的后量子密碼簽名方案代表及其安全性依賴,這些方案都有各自的優(yōu)缺點,在實際應用中如何選擇還要取決于應用程序的具體要求和約束。
表 1 不同技術路線的后量子簽名方案
本文重點識別總結了 HBS 方案的特點。首先,針對 HBS 的設計思想和方案演變進行了概述,并對目前的后量子簽名方案進行了對比分析;其次,利用國產(chǎn) SM3 算法替代 2023 年 8 月 24 日美國國家標準與技術研究院(National Institute of Standards and Technology,NIST)發(fā)布的 FIPS 205 草案對應的 SPHINCS+ 方案底層所使用的哈希函數(shù),并給出了相應的實驗結果和分析結論,進一步支撐我國關于無狀態(tài) HBS 方案的標準化;最后,對基于哈希簽名方案在后量子密碼遷移場景下的應用進行了調研和總結,給出了基于HBS方案的特點的應用建議。
1 基于哈希的簽名方案
數(shù)字簽名在現(xiàn)代密碼學的研究歷史中處于對稱加密、線上密鑰協(xié)商及公鑰加密之后。對于數(shù)字簽名方案的構造,學術界大概經(jīng)歷了 10 年(1976—1986)左右的時間才總結出構造方案可能存在的研究路線。第 1 類是 1976 年 Diffie 和 Hellman 在New Directions in Cryptogtaphy 中定義的單向陷門函數(shù),他們首次提出了基于單向陷門函數(shù)構造通用數(shù)字簽名方案的思想,但并沒給出單向陷門函數(shù)的具體構造方法,在后續(xù)的研究發(fā)展中,通用構造所需的函數(shù)從單向陷門函數(shù)逐漸減弱到了單向函數(shù);第2 類是 1978 年之后開始基于特定的單向陷門函數(shù)構造的具體方案,如 RSA、ElGamal、DSA 等方案;第 3 類是 1986 年提出的 Fiat-Shamir 轉換方法,該方法實現(xiàn)了數(shù)字簽名方案通用改造的可能,這里的通用改造指的是從一種密碼技術到另一種密碼技術的構造,如 FIPS 204 草案對應的 Dilithium 算法和2019 年中國密碼算法競賽獲獎的 Aigis-sign 算法均是該設計思想的體現(xiàn)。
HBS 的構造依據(jù)屬于第 1 類路線中的單向函數(shù)構造思想,該類方案的安全性不依賴具體的數(shù)學困難問題,而是完全依賴于單向函數(shù)的安全性,也就是哈希函數(shù)的安全性。此外,在密碼學上對哈希函數(shù)的研究已經(jīng)非常成熟和完備,由此也保證了基于哈希構造的簽名算法是后量子密碼理論安全性最強的技術路線之一。并且不同的 HBS 方案可以理解為所構造的數(shù)字簽名算法的框架不同,可以保持算法框架不變,通過實例化不同的哈希算法及參數(shù)來抵抗量子計算攻擊和實現(xiàn)不同的安全級別,目前可供使用哈希的算法包括 SHA256/512、SHAKE、SM3 等。
1.1 方案演變發(fā)展
基于哈希的簽名方案的研究歷史很長,最早的研究工作可以追溯到 1976 年 Lamport-Diffie(LD)提出的一次性簽名方案 LD-OTS。截至目前,HBS方案的演進可以大致劃分為有狀態(tài)的一次性簽名 方 案(One-time Signature,OTS)、 少 次 簽 名方案(Few-time Signature,F(xiàn)TS)、多次簽名方案(Many-time Signature,MTS)、分層簽名(Hierarchical Signature,HS)的多次簽名方案,以及無狀態(tài)的不限次分層簽名方案。如圖 1 所示為 HBS 方案的演進框架。
圖 1 HBS 方案演進關系
OTS 方案是構成 HBS 方案的基本組成部分,該類方案的思想是一對密鑰只能簽名一次,不能重復使用,其中,簽名密鑰即私鑰均勻隨機生成,簽名公鑰由私鑰和哈希函數(shù)派生而成,如圖 1 中的 LDOTS、W-OTS(Winternitz-OTS)及其變體 W-OTS+方案。若簽名密鑰對重復使用,則存在攻擊者能從不同消息的兩個有效簽名成功偽造出第 3 條未簽名過的消息及其有效簽名的安全性問題。這也導致 OTS 方案中的密鑰及簽名的大小會隨著明文消息的增加呈線性增長,從而導致簽名和驗證的時間開銷也很大。因此,后續(xù)研究者們的優(yōu)化方向就是尋找同一個密鑰對簽名多條不同消息的方法,這也是FTS 和 MTS 的最初設計思想。
FTS 方案可利用同一個密鑰對對多條消息簽名,但是簽名的安全性會隨著簽名的消息數(shù)量的增加而降低。如圖 1 中的哈希獲取隨機子集(Hash to Obtain Random Subset,HORS)、隨機子集森林(Forest of Random Subsets,F(xiàn)ORS)等方案。本質上 OTS 和FTS 方案的簽名驗證都是基于公鑰的完整性驗證,因此后續(xù)的設計優(yōu)化思路就是尋找能大規(guī)模驗證公鑰且簽名安全性不會隨消息數(shù)量增加而降低的設計方法。
MTS 方案就是從 OTS 和 FTS 方案的不足出發(fā),提出的一種新設計思想,基于 Merkle 樹結合 OTS簽名方案來構造多次簽名方案,如典型的默克爾簽名方案(Merkle Signature Scheme,MSS),該類方案的一對密鑰對可簽名很多條消息,但是簽名消息的數(shù)量是固定的。后續(xù)基于 MSS 方案研究者們構造了現(xiàn)已標準化的一些經(jīng)典方案,如圖 1 中的 LMS 和擴展的默克爾簽名方案(eXtended Merkle Signature Scheme,XMSS)。該類方法雖然在某種程度上解決了 OTS 和 FTS 方案的不足,但也引入了額外的機制來保證數(shù)字簽名算法的正確性。
首先是密鑰狀態(tài)管理的方法,主要涉及簽名私鑰的同步,需要標記使用過的簽名私鑰,不允許再用于其他消息的簽名,如果用戶在實際應用中,沒有做好密鑰狀態(tài)的管理,那攻擊者很容易利用這點偽造出有效簽名。因此,密鑰的狀態(tài)管理在該類方案的安全性中起著至關重要的作用,但同時也限制了該類方案的實用性,并且與現(xiàn)有標準化的密碼接口不兼容。其次是樹節(jié)點之間的身份驗證路徑,基于 Merkle 樹構造的 MTS 方案在簽名生成和驗證時還構建和驗證了身份驗證路徑(也稱為認證路徑),主要包括自上而下和自下而上兩種方法。其中,自下而上的認證方法用于樹內部,即樹的根節(jié)點是由底層葉節(jié)點計算而得,MSS 方案的樹構造就是基于該認證方法的一個實例。如果 MSS 方案中的樹高很大,則計算 MSS 簽名公鑰的時間復雜度會比較高,因為需要把 Merkle 樹的所有節(jié)點都計算出來,才能計算出根公鑰及樹的根節(jié)點。對 Merkle 樹的公鑰生成時間進行進一步優(yōu)化,提出了分層簽名方案(Hierarchical Signatures Scheme,HSS)的思想,如圖 1 中 LMS 方案引入分層設計思想后的 HSS 方案和XMSS引入分層設計思想后的XMSS^MT(eXtended Merkle Signature Scheme^Multi-Tree)方案,本質上是將大量不同的 Merkle 樹或 L -樹按照自上而下的方法進行連接。該方法用于樹與樹之間,利用較高子樹的葉節(jié)點對低一層的子樹的根進行簽名,從而將兩棵樹進行連接起來,形成樹鏈。對于基于Merkle 樹構造的 HBS 方案,在進行簽名驗證時,一方面驗證相應 OTS 簽名及單棵樹認證路徑的正確性;另一方面還需根據(jù)簽名中的樹與樹之間的認證路徑重建從相關的一次性公鑰到樹根的路徑,計算出根公鑰,然后與發(fā)布的簽名公鑰進行比對,若一致則驗證成功,否則驗證失敗。
在后續(xù)研究中,學術界基于類似HSS、XMSS^MT方案,結合自下而上和自上而下的方法構建的廣義哈希樹均稱為超樹(HyperTree,HT)。這樣設計的好處是可以減少簽名公鑰的生成時間,允許在簽名大小和計算時間之間通過樹的層數(shù)進行權衡。在RFC 8554 中,對于樹高為 25 的 LMS 方案的密鑰生成時間長達 1.5 h,而對于兩層樹,樹高為 20/15 的HSS 方案的密鑰生成時間才 3 min。因此,該設計在實際應用中根據(jù)需求進行參數(shù)調整的靈活性得到了極大增強,這一特點也是傳統(tǒng)的數(shù)字簽名方案所不具備的。
基于 MTS 的方案中提到的密鑰狀態(tài)管理,是限制 HBS 廣泛應用的一個主要因素。因此,設計無狀態(tài)的 HBS 方案是近些年來研究者們關注的熱點問題。無狀態(tài)的 HBS 方案與密碼學上數(shù)字簽名算法的定義保持一致,且已標準化的密碼接口可以完全兼容,消除了簽名生成過程中維護更新簽名密鑰的操作。無狀態(tài) HBS 方案的代表是 SPHINCS 和SPHINCS+,以及其他的變體方案,這些方案均使用了超樹結構。在設計中,這些方案一方面使用了更大規(guī)模的超樹結構來避免密鑰的重復使用(與不限數(shù)量的有狀態(tài) HBS 方案如 XMSS^MT 的設計思想類似);另一方面通過隨機或偽隨機方式選擇密鑰來進行消息簽名,而不是通過密鑰狀態(tài)管理的順序選擇密鑰。雖然這一設計可以使 HBS 方案具有前向安全性,但這也造成了無狀態(tài) HBS 方案的簽名生成成本較高,另外,無狀態(tài) HBS 方案的簽名尺寸比有狀態(tài) HBS 方案也要大得多。文獻 [4] 對比了密鑰容量為 260 的 LMS、XMSS^MT、SPHINCS 方案的簽名大小,其中,有狀態(tài)的 LMS 方案的大小為5 KB,XMSS^MT 的大小為 15 KB 或 28 KB,SPHINCS的大小能達到 41 KB。
1.2 已標準化的方案
從技術發(fā)展來看,HBS 方案的密碼設計及分析較其他技術路線的密碼理論相對成熟。從標準化來看,密碼學界、工業(yè)界和各標準化組織也都在積極推動后量子密碼算法的標準化工作,并且制定了系列標準。迄今為止,國際上已標準化的基于哈希的簽名算法的標準有 2018 年因特網(wǎng)工程任務組(Internet Engineering Task Force,IETF)發(fā)布的 RFC 8391-XMSS、2019 年 IETF 發(fā)布的 RFC 8554-LMS、2023 年 NIST 發(fā)布的 FIPS205 中 的SPHINCS+。國內目前還未形成后量子密碼算法的相關標準,但基于 SM3 的帶狀態(tài)數(shù)字簽名算法相關標準已形成初步草案,主要是采用國產(chǎn)商密哈希算法 SM3 的兩個數(shù)字簽名算法 LMS-SM3 和 HSSSM3,可用于指導抗量子攻擊密碼產(chǎn)品的設計、開發(fā)和檢測。隨著國際上無狀態(tài) HBS 方案的標準化,相信國內無狀態(tài) HBS 方案標準化的進程也會加快。
1.2.1 XMSS
基于哈希的擴展默克爾簽名方案是第一個可證明的前向安全和實用的簽名方案,具有最小的安全要求:偽隨機性和哈希函數(shù)的抗碰撞性 [5]。XMSS于 2018 年通過 RFC 8391 進行標準化,該標準的方案主要由 XMSS 和 XMSS^MT 組成,詳細的框架組成如圖 2 所示。其中,WOTS+ 是構成 XMSS 方案的一次性簽名組件,通過隨機樹哈希、L -樹、樹哈希算法實現(xiàn)對 WOTS+ 的密鑰管理,采用自下而上的方法構成 XMSS 的認證樹,可以對有限次數(shù)的消息進行簽名;XMSS^MT 是 XMSS 方案的超樹變體,通過使用自上而下的方法在 XMSS 子樹間構建內部認證路徑,形成 XMSS 樹與樹的連接,從而實現(xiàn)對無限數(shù)量的消息進行簽名。需要注意的是,該標準方案是有狀態(tài)的 HBS 方案(stateful-HBS,S-HBS),需要對生成的密鑰進行狀態(tài)管理,保證使用時不會出現(xiàn)密鑰的重復使用。詳細的方案細節(jié)及流程可參考文獻 [5]。
圖 2 XMSS 方案
1.2.2 LMS
LMS方案由Leighton和Micali在1995年改編,遵循了 Lamport、Diffie、Winternitz 和 Merkle 在 該領域的開創(chuàng)性工作,制定了一次性簽名方案和通用的數(shù)字簽名方案,于 2019 年通過 RFC 8554 進行標準化,該標準的方案主要由 LMS 和 HSS 方案組成,詳細的框架結構如圖 3 所示。其中,LM-OTS是 LMS 方案的一次性簽名組件,結合高度為 h 的Merkle 樹構造的 MSS 方案形成 LMS 方案,可以簽名 2h 個消息,該方案中的公鑰認證路徑與 XMSS 方案采用的均是自下而上的方法。HSS 方案是在 LMS方案的基礎上采用自下而上的方法構建的分層簽名系統(tǒng),能夠有效地擴展到更大數(shù)量的簽名。HSS 方案同樣也需要密鑰狀態(tài)管理機制保證密鑰不會重復使用。詳細的方案細節(jié)及流程可參考文獻 [6]。
圖 3 LMS 方案
1.2.3 SPHINCS+
SPHINCS+ 方案也稱為無狀態(tài)哈希數(shù)字簽名算法(Stateless Hash-based Digital Signature Algorithm,SLH-DSA), 被 NIST 選為后量子加密標準化過程的一部分 ,于 2023 年 8 月 24 日發(fā)布標準草案, 該 標 準 的 方 案 主 要 由 SLH-DSA 組 成, 使 用WOTS+、FORS、XMMS 作為組件來構建,詳細的框架結構如圖 4 所示。值得注意的是,該標準方案取消了密鑰狀態(tài)的管理,保持了與傳統(tǒng)數(shù)字簽名算法的一致性,詳細的方案細節(jié)及流程可參考文獻[7]。
圖 4 SPHINCS+ 方案
1.3 方案對比總結
1.3.1 方案橫縱對比
為了加深對 HBS 方案的理解,本節(jié)針對不同技術路線的后量子簽名方案從算法參數(shù)和性能進行橫向對比。在 Intel i5,2.4G 的 2 核 CPU,4G 內存,64bits Linux 的測試環(huán)境下對經(jīng)過 AVX2 指令集加速后的后量子數(shù)字簽名算法進行橫向測試對比,測試結 果見表 2, 其 中,SPHINCS+ 指 SPHINCS+-128f的參數(shù)尺寸。同時,對已標準化的 HBS 方案在參數(shù)規(guī)模、簽名尺寸方面進行縱向對比。以此發(fā)現(xiàn)并總結 HBS 方案及其之間的優(yōu)缺點,進一步提升 HBS方案應用的精準性。
表 2 后量子數(shù)字簽名方案參數(shù)對比
在RFC 8391、RFC 8554、FIPS 205 的標準中,不同 HBS 方案私鑰均采用了偽隨機種子的方式生成,因此可通過時空權衡技術的時間換取空間,來減小私鑰的尺寸;而對于公鑰而言,均對應為超樹(樹)的根節(jié)點,一般為 32 字節(jié)或 64 字節(jié)。鑒于各 HBS 方案的算法參數(shù)差異性較大,尤其是在 w及 h 參數(shù)上的選擇范圍,因此,本節(jié)沒有對這些標準方案進行性能對比。各方案在相關參數(shù)下的性能表現(xiàn)參見文獻 [5]、文獻 [6] 和文獻 [7],僅對不同HBS 方案的簽名尺寸做了對比分析,詳情如表 3 所示。其中,“—”代表該算法不涉及對應的參數(shù)尺寸,表 3 僅列出了差異性的可對比參數(shù),其他更多算法參數(shù)及含義詳見標準 。
1.3.2 方案總結說明
基于對 HBS 方案的理論研究及 1.3.1 節(jié)的橫縱對比,可以發(fā)現(xiàn) HBS 方案的一些優(yōu)缺點。
HBS 方案的優(yōu)點如下文所述。
(1)具有最低安全性要求。HBS 方案的安全性僅依賴底層哈希函數(shù)的安全,而足夠長的哈希函數(shù)不受量子計算機的威脅,因此,由哈希函數(shù)構造的 HBS 可抵抗量子計算攻擊。
表 3 LMS、XMSS、SLH-DSA 方案參數(shù)對比
(2)靈活性。HBS 方案可理解為一個簽名算法的框架,與具體哈希算法無關。一方面,方案實現(xiàn)時可通過滿足安全要求的哈希算法進行實例化;另一方面,方案應用時可根據(jù)應用程序的環(huán)境和資源選擇不同的哈希函數(shù)以滿足所需的性能需求。更值得注意的是,HBS 中使用的某哈希函數(shù)出現(xiàn)安全漏洞后,可直接在方案底層替換其他安全的哈希函數(shù)即可,這可以保證 HBS 方案的生命周期很長。
(3)參數(shù)自適應。HBS 在簽名速度和密鑰尺寸之間可通過調整方案參數(shù)如 Winternitz 參數(shù) w 的大小進行權衡,對于有狀態(tài)的 HBS 的密鑰容量可通過調整樹高 h 和層數(shù) d 進行權衡。
(4) 前 向 安 全 性。通 過 偽 隨 機 生 成 器(PseudoRandom Number Generator,PRNG)實現(xiàn)前向安全性,即私鑰泄露前所生成的所有簽名仍安全有效。
HBS 方案的缺點如下文所述。
(1)簽名體積較大。從表 2 中可以看出,雖然 SPHINCS+ 方案的公私鑰尺寸較其他路線的簽名方案小,但是簽名的尺寸分別是 Dilithium2 和Aigis-sign 方案的 7 倍和 6 倍左右。
(2)有狀態(tài)的 HBS 方案存在密鑰狀態(tài)管理機制,需要更新簽名后的私鑰狀態(tài),保證同一狀態(tài)的私鑰不可重用,否則簽名方案存在攻擊者偽造出有效簽名的安全問題。雖然無狀態(tài)的 HBS 方案解決了該問題,但也增加了簽名尺寸增加的代價,如表3中,在使用相同安全級別的 SHA256 算法實例化各不同的 HBS 方案時,有狀態(tài)的 HBS 方案中簽名尺寸最大的才為 14 824 字節(jié),而無狀態(tài)的 HBS 方案的簽名尺寸可長達 29 792 字節(jié)和 49 856 字節(jié),這一大小的簽名尺寸在多數(shù)場景下均不實用。
(3) 性 能 較 慢。從 表 2 中 可 以 看 出,SPHINCS+ 方案的性能表現(xiàn)與基于格的 Dilithium2和 Aigis-sign 方案差很多。其中,SPHINCS+ 在密鑰生成方面的性能表現(xiàn)是 Dilithium2 和 Aigis-sig的 1/37 左右;在簽名生成方面的性能表現(xiàn)分別是Dilithium2 和 Aigis-sig 的 1/377 和 1/630 左右;在簽名驗證方面的性能表現(xiàn)分別是 Dilithium2 和 Aigis sig 的 1/100 和 1/125 左右。
2 SM3 實例化實現(xiàn)及測試
我國在密碼算法的標準化及使用上一直堅持自主創(chuàng)新的原則,包括在后量子密碼算法方面也是如此。2019 年中國密碼管理局、中國密碼學會聯(lián)合舉辦后量子密碼算法競賽來推進國產(chǎn)后量子密碼算法的發(fā)展。在國內的后量子密碼遷移中,也應盡量堅持這一原則,因此國產(chǎn)哈希算法 SM3 實例化國際標準化的 HBS 方案的可行性驗證是非常重要的。
2.1 實現(xiàn)及測試
在文 獻 [8] 中,作 者使 用哈 希 算 法 SM3 替 代RFC 8391、RFC 8554 和 NIST SP 800-208 中的 LMS、HSS、XMSS 和 XMSS^MT 數(shù)字簽名方案所使用的哈希函數(shù),并給出了初步的實驗結果,這表明了 SM3實例化國際標準化的 HBS 方案是完全可行的。本節(jié)使用 SM3 替代 FIPS 205 標準的 SLH-DSA 方案的哈希函數(shù),并將其命名為 SLH-DSA-SM3。通過在文獻 [7] 中指明的開源代碼中添加 SM3 算法來初步實現(xiàn) SLH-DSA-SM3,在一臺服務器(Intel(R) Xeon(R)Gold 5218(16cores,2.3 GHz))上進行了初步的性能測試,具體測試結果如表 3 所示。在 SLH-DSA 的源碼中共實現(xiàn)了基于 SHA2、HARAKE 及 SHAKE三種哈希算法的實例化方案,并給出了 SHA2 和SHAKE 的通用和采用 AVX2 指令集加速的實現(xiàn)版本?;诠俜教峁┑?SLH-DSA 的算法參數(shù),本次實驗采用 n=32,h=68,d=17,b=9,k=35,w=16 的算法參數(shù),將 SLH-DSA-SHA256(SPHINCS+-256f)與 SLH-DSA-SM3 進行通用實現(xiàn)的對比,詳情見表4。其中,表 4 的性能數(shù)據(jù)為算法迭代 100 次后的平均值,算法各參數(shù)的代表含義請參考文獻 [7]。
表 4 SLH-DSA-SHA256 和 SLH-DSA-SM3 性能測試對比
2.2 對比分析
從 表 4 的 性 能 測 試 數(shù) 據(jù) 可 以 看 出,SM3 和SHA256 分別對應的實例化的 SLH-DSA 方案中,在算法參數(shù)相同的情況下,公私鑰及簽名的尺寸、算法在經(jīng)典計算和量子計算下的安全強度均一致;SM3 較 SHA256 算法而言,密鑰生成和簽名生成的TPS 一致,簽名驗證少 50 TPS,這一數(shù)據(jù)符合 SM3和 SHA256 算法在 SLH-DSA 方案中表現(xiàn)出的性能差距,這也表明了在無狀態(tài)的 SLH-DSA 方案中使用 SM3 是可行的,可以推進我國無狀態(tài)的 HBS 方案標準化的進程,并支撐基于 SM3 的 HBS 方案在國內后量子密碼遷移場景中的應用。
3 基于哈希簽名應用研究初探
作為 RSA 算法的替換,ECC 大約經(jīng)歷了 20 年才得到廣泛使用,而 SHA3 算法從 2007 年的密碼算法競賽開始,到 2012 年宣布獲勝,再到 2023 年都沒有得到廣泛應用。這些歷史經(jīng)驗表明,一項基礎密碼算法從提出到被行業(yè)廣泛應用,大約至少需要 20 年的時間,而后量子密碼算法比傳統(tǒng)的密碼算法通常更為復雜,因此為了保證在量子時代到來之前的信息安全,業(yè)界的眾多專家表示后量子密碼遷移需立刻開始。這里的后量子密碼遷移表示將現(xiàn)有密碼安全體系分階段平穩(wěn)過渡到后量子密碼安全標準體系所需的一系列過程、程序和技術。因此,解決 HBS 方案的技術限制和識別其適用場景是后量子密碼遷移中的重要工作之一。
從技術的應用和實踐來看,目前針對后量子密碼的應用研究還不是很多,尤其是對于 HBS 方案,大多數(shù)的研究和分析文章都集中在方案的技術層面,如提供 HBS 方案的技術全景視圖、方案細節(jié)等內容,將方案與實際應用領域聯(lián)系結合的探索關聯(lián)還較少。本節(jié)針對業(yè)界在 HBS 方案已有的應用研究工作進行了簡要的梳理和分析。
有狀態(tài)的 HBS 方案涉及密鑰狀態(tài)同步和密鑰克隆兩大問題,而這些在實際應用中很難保證,且目前針對密鑰狀態(tài)管理和克隆問題的研究及可參考的實例化方法也相對較少。目前了解到的關于密鑰狀態(tài)管理方法的首先是 McGrew 等人提出的可以在分層簽名方案中實現(xiàn)的狀態(tài)保留方法和防止私鑰狀態(tài)意外復制的混合方案。其中,狀態(tài)保留方法主要是通過對需要存儲的密鑰引入易失性和非易失性層來最大限度地減少同步延遲和同步失敗的機會。該方法中私鑰和根公鑰存儲在非易失性層的內存中,其余層的密鑰存儲在易失性層的內存中,兩層之間的私鑰不斷地進行同步操作來更新私鑰的狀態(tài)。鑒于該方法沒有解決密鑰克隆的問題,作者又提出了一種混合方案,根層由無狀態(tài)的 HBS 方案組成,其他層使用有狀態(tài)的 HBS 方案。其次是 ETSI在 2021 年發(fā)布的關于有狀態(tài)認證機制的狀態(tài)管理技術報告,該報告針對有狀態(tài)的 HBS 方案的密鑰狀態(tài)對象的特征、狀態(tài)索引的重用及部署 HBS 的體系結構和操作進行了討論和指導,詳細內容可參考文獻 [9]。
2020 年 NIST發(fā)布了關于有狀態(tài)哈希簽名方案 LMS 和 XMSS 的建議,同時明確表示了有狀態(tài)HBS 方案的應用不適合一般用途,而是適用于具有如下需求的應用場景:(1)需要能抗量子攻擊的數(shù)字簽名方案;(2)數(shù)字簽名方案可使用周期長;(3)一旦部署實現(xiàn)后,切換到其他不同的數(shù)字簽名方案的難度和成本太大。
2020 年 Suhail 等人和 2021 年 Kumar 等人針對量子時代下的 HBS 方案應用于物聯(lián)網(wǎng)設備安全中的重要性、集成時需考慮的各種因素及面臨的技術、非技術和社會的挑戰(zhàn)進行了分析,并對物聯(lián)網(wǎng)下集成后量子密碼技術的未來研究方向分別提出了相應的建議和展望。
2022 年,美國國家安全局 NSA 發(fā)布了國家商用安全算法套件 Commercial National Security Algorithm Suite 2.0(CNSA2.0),內容涵蓋對稱加密、公鑰加密和相關軟件與固件的算法及應用的調整,目的是全面應對量子計算對保護國家安全的密碼算法帶來的威脅。其中明確了針對軟件固件更新使用的特定算法 NIST SP 800-208 中的 LMS 和 XMSS,以及給出了立即開始過渡,到 2025 年支持且優(yōu)先使用,再到 2030 完全使用的部署與實施計劃。該文件是第一份將 HBS 算法應用特定化的官方文件,對于HBS 方案的應用推廣發(fā)揮了重大作用。
無狀態(tài)的 HBS 方案不存在密鑰狀態(tài)管理問題, 接 口 與 傳 統(tǒng) 數(shù) 字 簽 名 的 應 用 程 序 編 程 接 口(Application Programming Interface,API)完全兼容,因此它的應用與普通的數(shù)字簽名方案無多大差異,只是無狀態(tài) HBS 方案的簽名尺寸較大,現(xiàn)實場景中的應用還要結合應用程序的資源要求來選擇具體的后量子數(shù)字簽名方案。
4 應用分析建議
綜上所述,可以提出 HBS 在實際應用中的一些分析和建議。HBS 方案分為有狀態(tài)和無狀態(tài)兩大類。將兩類方案進行對比可以發(fā)現(xiàn) [11],有狀態(tài) HBS方案的優(yōu)勢在于具有更短的簽名尺寸、更快的簽名生成時間,不足在于需要密鑰狀態(tài)管理方法來解決密鑰狀態(tài)的同步及密鑰復制的問題,適用于性能受限的環(huán)境;而無狀態(tài)的 HBS 方案的優(yōu)勢在于無密鑰狀態(tài)管理問題,不足在于簽名尺寸較大,簽名生成時間較慢,適用于資源受限的環(huán)境。
基于 HBS 方案整體表現(xiàn)出的特點和數(shù)字簽名本身可提供的安全屬性,如真實性、完整性、抗抵賴性,識別出對性能和資源有靈活性調整需求的場景,本文提出了關于 HBS 方案的應用框架,為后量子遷移過程中 HBS 方的應用提供參考。如圖 5所示,軟件和固件升級場景中的軟件和固件升級的頻率不會過快,且次數(shù)也不會過多,可以自適應參數(shù)選擇合適的 HBS 方案。物聯(lián)網(wǎng)下的安全保護體系中對輕量級有特殊需求,可以對 HBS 方案中的底層哈希算法進行輕量化的設計及實現(xiàn)來支撐類似的場景需求。還有基于數(shù)字簽名技術的電子簽章應用,來確保用戶行為的不可否認性,此場景下還需深入地識別性能和資源的需求范圍,來選擇合適的HBS 方案。
圖 5 HBS 方案應用
在后量子的數(shù)字簽名方案應用中,還需注意的一點是,我國在密碼算法的標準化及使用上一直堅持自主創(chuàng)新的原則,結合 HBS 方案與具體哈希函數(shù)無關的特性,且在使用 SM3 實例化 LMS、XMSS和 SPHINCS+ 的驗證均可行的實驗結論下,國內的后量子密碼遷移場景中,建議優(yōu)先使用 SM3 實例化的 HBS 方案。
除此之外,為了更好地應對量子時代下的信息安全,關于 HBS 方案的研究實踐,與其他相關密碼協(xié)議、數(shù)字證書等密碼技術的融合創(chuàng)新,在行業(yè)領域中的參數(shù)定制化應用還需要持續(xù)深入地探索。在這個過程中,一方面考慮提出解決限制 HBS 應用的更多方法。如從應用層角度解決有狀態(tài)的 HBS方案的密鑰狀態(tài)管理,并考慮與現(xiàn)有的密碼接口的兼容。另一方面,考慮后量子遷移強調的加密敏捷性,在使用 HBS 方案的應用系統(tǒng)中提出多樣化的算法升級方式和路徑。
5 結 語
本文首先介紹了 HBS 方案的演變發(fā)展,分析對比了目前國際上已標準化的 HBS 方案,由此總結了 HBS 方案較其他技術路線的優(yōu)勢,以及針對無狀態(tài)和有狀態(tài)方案的優(yōu)缺點。其次,給出了國產(chǎn)SM3 算法實例化 SLH-DSA 方案的實驗結果,進一步表明 SM3 算法實例化 HBS 方案的可行性,以推進我國無狀態(tài)的基于哈希簽名方案標準化的進程;最后,對 HBS 方案的應用研究進行了總結和分析,給出了有狀態(tài)和無狀態(tài)適用的場景需求,為 HBS 方案在國內的后量子密碼遷移提出了一些建議。未來將會持續(xù)探索后量子密碼遷移中 HBS 方案的技術應用、場景應用和行業(yè)應用,在探索實踐中不僅要積累經(jīng)驗和能力,還要進行技術融合創(chuàng)新、產(chǎn)品設計創(chuàng)新、應用集成創(chuàng)新,為國內的后量子密碼遷移貢獻更多力量。
引用格式:張小青 , 石元兵 , 張舒黎 , 等 . 面向后量子密碼算法的哈希簽名方案 [J]. 通信技術 ,2024,57(1):54-62.
作者簡介 >>>
張小青,女,碩士,工程師,主要研究方向為密碼技術;
石元兵,男,碩士,正高級工程師,主要研究方向為網(wǎng)絡信息安全與密碼應用;
張舒黎,男,博士,高級工程師,主要研究方向為密碼技術;王良成,男,碩士,工程師,主要研究方向為密碼技術;黃 錦,女,碩士,高級工程師,主要研究方向為密碼技術;黃 妙,女,碩士,工程師,主要研究方向為密碼技術。
選自《通信技術》2024年第1期(為便于排版,已省去原文參考文獻)
重要聲明:本文來自信息安全與通信保密雜志社,經(jīng)授權轉載,版權歸原作者所有,不代表銳成觀點,轉載的目的在于傳遞更多知識和信息。
相關文章推薦
2025-04-22 15:15:30
2025-04-21 15:20:03
2025-04-02 16:28:39
2025-03-27 15:01:53
2025-03-26 15:37:04
我的評論
還未登錄?點擊登錄