掌曉愚 陳驍 錢程
摘要:隨著量子技術的蓬勃發展,傳統的公鑰基礎設施面臨著被破解的風險,抗量子密碼成為未來發展趨勢之一。首先,介紹了量子危機及其應對方式,闡述了抗量子算法的背景、標準化情況與研究現狀,然后提出了一種抗量子算法與數字證書結合的密鑰應用方案,描述了該方案的基本架構和實現步驟,最后對該方案的優勢進行了分析。該方案旨在在已投入使用的公鑰基礎設施系統上,使傳統數字證書具備了抵抗量子技術攻擊的能力,有效地提高了數字證書的安全性,保障抗量子公鑰的可信性。
關鍵詞:量子技術; 抗量子算法;公鑰基礎設施;數字證書;數字簽名
中圖分類號:TN918.91? ?文獻標識碼:A
文章編號:1009-3044(2024)09-0083-03
開放科學(資源服務)標識碼(OSID)
0 引言
近年來,量子技術作為新一輪科技革命和產業變革的前沿領域獲得快速發展。各國在該領域展開角逐,加緊布局以搶占先機。目前,量子科技已經上升到國家安全層面的激烈競爭,各國紛紛提出量子專項計劃,量子領域日趨白熱化的競爭,宣告了全球進入全面推進量子科技發展的時代。
作為信息安全的關鍵技術,密碼學可以提供信息的機密性、完整性以及抗抵賴性。隨著量子計算機的發展,傳統密碼學面臨嚴重的安全威脅。量子計算機基于量子力學的原理進行計算,其應用特性包括量子態疊加、糾纏和量子隱形傳態等,具有量子并行計算能力,數據處理能力強大,遠超經典計算機。量子計算機可以為有些關鍵的經典密碼算法提供指數級加速,這使得傳統密碼學所依賴的大整數分解難題等數學難題被快速攻破,從而傳統密碼學能夠被快速破解,嚴重威脅了信息安全。
密碼技術和產品及產業面臨整體的更新換代,需要研究新的密碼算法保證數據的安全性。目前業界主要有兩種解決方案,其一是基于量子密鑰分發(Quantum key distribution,QKD)技術,其二是抗量子密碼算法(Post-Quantum Cryptography,PQC)。QKD存在較多局限性,QKD密鑰生成速率和傳輸距離有限,需要專用基礎設施,增加了基礎架構成本和內部威脅風險,難以實現端到端的安全性。而抗量子密碼算法可抵御量子計算機的攻擊,又不依賴量子力學,易于實現推廣,已經成為信息安全領域的研究熱點之一。與傳統的公鑰加密算法不同,抗量子密依賴于其他類型的計算難題,例如多變量密碼學中的非線性方程組、格密碼學中的最短向量問題等。這些計算難題被認為在量子計算機上難以解決,因此可以提供更好的安全性。英國國家數字安全中心(The National Cyber Security Centre,NCSC)建議,應對量子計算威脅最好的方案是PQC。
1 抗量子算法國內外現狀
1.1 政策背景
當前,美國、中國、法國以及歐洲各國均將抗量子密碼技術的發展和遷移作為重要任務。具體表現為:2020年12月,歐盟委員會發布《歐盟網絡安全戰略》(EU Cybersecurity Strategy),明確將量子計算和加密列為實現“韌性、技術主權和領導力”“強化預防、威懾與響應能力”“促進全球化、開放化網絡空間”三大關鍵技術。2022年1月,美國總統簽署了國家安全備忘錄——《關于提高國家安全、國防部和情報系統網絡安全》,該文件首次提及抗量子密碼(PQC)。這對美國乃至世界的量子技術和量子安全產生了巨大影響。這份文件是美國國家安全機構在當前的聯邦網絡安全計劃中,首個特別提到抗量子密碼(PQC)的文件。由此可見,抗量子密碼技術已上升至國家安全的高度。
1.2 標準化工作
另一方面,抗量子密碼標準化工作開展得如火如荼。近年來,各國密碼管理部門也開始重視和推進PQC相關研究。在進入實際系統研發和基礎設施推廣建設階段之前,首先要實現算法標準化。因此,國際產業界和標準化組織以及各國密碼管理部門都在積極推進抗量子密碼的標準化工作。在歐洲,歐洲電信標準化協會在網絡安全技術機構下成立小組專門負責PQC方面的標準制定和研究工作。在美國,國家安全局(NSA)于2015年公開宣布計劃將聯邦政府各部門目前使用的ECC/RSA算法體系向抗量子算法進行遷移。次年美國國家標準與技術研究院(NIST)正式啟動抗量子密碼標準競選,2023年8月提交的《Module-Lattice-BasedKey-Encapsulation Mechanism Standard》《Module-Lattice-Based Digital Signature Standard》和《Stateless Hash-Based Digital Signature Standard》3個草案涵蓋了量子密碼封裝和數字簽名。在中國,國務院2021年發布的《計量發展規劃(2021—2035年)》中描述“建設以量子計算為核心、科技水平一流、符合時代發展需求和國際化發展潮流的國家現代先進測量體系?!?022年《“十四五”數字經濟發展規劃》中“提出瞄準傳感器、量子信息、網絡通信、集成電路、關鍵軟件、大數據、人工智能、區塊鏈、新材料等戰略性前瞻性領域,提高數字技術基礎研發能力?!眹颐艽a管理局2021年發布的《GM/T 0108-2021誘騙態BB84量子密鑰分配產品技術規范》和《GM/T 0114-2021誘騙態BB84量子密鑰分配產品檢測規范》技術規范中關于量子密鑰分配產品技術和檢測規范,中國人民銀行《關于開展深化金融科技應用、推進金融數字化轉型提升工程的通知》中也明確提出“提升金融領域密碼算法抵抗潛在量子計算攻擊的能力”的要求。中國密碼學會于2019年面向中國開展了抗量子密碼算法競賽的征集工作,其中復旦大學團隊有4套算法獲獎,是獲獎算法最多的團隊。此外,國際互聯網技術標準化組織IETF將基于哈希函數的簽名體制XMSS納入標準。
1.3 研究現狀
在學術領域,抗量子密碼研究方興未艾。文獻[1]介紹了傳統加密通信與量子通信,分析了發展抗量子密碼的必要性,詳解了抗量子密碼體系與目前的研究成果,并對抗量子密碼的發展做出了展望。文獻[2]在Mostafa Esmaeili方案的基礎上利用Polar碼的極化性質改進了抗量子密碼方案,將信息比特作為原方案中的明文,將凍結比特作為原方案中的隨機比特串。改進后的方案沒有改變原方案的結構,可以抵御目前已知的信息集譯碼攻擊,為5G時代提供了一種新型抗量子密碼方案。文獻[3]將LRPC碼與多變量密碼中的Simple Matrix改進版相結合,構造出新的方案。相比于Cubic Simple Matrix方案,密文擴展率下降了50%,并結合了編碼密碼的優勢,相比于之前提出的基于LRPC碼和多變量的簽密方案在選擇LRPC碼時更加靈活。文獻[4]基于FPGA平臺設計實現了OSKR和OKAI兩種算法的專用電路結構,利用一種四并行的多項式運算模塊,可以實現多種模值參數(3329和7681)下的數論變換、多項式乘法、多項式壓縮等運算過程,從而提升了算法的整體運行效率,并在此基礎上設計了多功能采樣模塊、存儲模塊和編解碼模塊等。文獻[5]利用帶誤差學習(Learning with Errors, LWE)問題的加法同態屬性,提出了一種格上IND-CCA2安全的非適應性平滑投影哈希函數(Smooth Projective Hash Function, SPHF),該函數支持一輪基于格的口令認證密鑰交換(Password-Authenticated Key Exchange, PAKE)協議的構造,并確定了所基于的安全的公鑰加密(Public Key Encryption, PKE)方案中相關參數的大小,從而消除了LWE問題的不完全加法同態屬性對SPHF正確性的影響。盲簽名是一種特殊的數字簽名,可廣泛應用于各種匿名場合。文獻[6]在多變量公鑰密碼和盲簽名的理論基礎上,設計了一種新穎的多變量公鑰密碼體制下的盲簽名方案。該密碼方案借助另一非線性可逆變換L:Fr→Fr將簽名的公鑰和私鑰分離,減少了密鑰對之間的線性關系,提高了盲簽名的安全性。該密碼方案不僅具有盲性、不可追蹤性和不可偽造性,而且還具有計算復雜度低及抗量子計算攻擊的優點。
我國抗量子遷移工作迫在眉睫,但是抗量子算法與傳統公鑰基礎設施相結合的研究較少。針對這種情況,本文提出了一種新型的抗量子密碼遷移應用方案,可在已投入使用的公鑰基礎設施系統上,使傳統數字證書具備使用抗量子算法加密的能力,并保障抗量子公鑰的可信性。下文將對此方案進行詳細闡述。
2 技術方案
2.1 設計思路
在國內,抗量子密碼標準尚未完備,且基于RSA、ECC算法的公鑰基礎設施數字證書體系已經廣泛應用??紤]到技術難度、成本以及獲得的收益,部署新的抗量子算法證書體系完全替代傳統非對稱算法證書體系并不現實。因此,最佳方案是在現有證書體系上進行優化,使其具備抗量子攻擊的能力。
NIST公布了首批四種抗量子算法。其中,CRYSTALS-Kyber算法主要用于加解密,以保護通過公共網絡交換的信息。其優點之一是相對較小的加密密鑰,使雙方可以輕松交換,并且具有較快的操作速度。CRYSTALS-Dilithium、FALCON和SPHINCS+算法則主要用于數字簽名,在需要在數字交易期間驗證身份或遠程簽署文檔時廣泛使用。
本文提出了一種將傳統數字證書與抗量子算法密鑰結合的方案,使傳統數字證書具備抵抗量子算法攻擊和防止抗量子公鑰被篡改的能力。該方案包括以下3個主要部分的實現:
首先,生成抗量子加密算法密鑰,并在數字證書中增加一項擴展項,包含抗量子加密算法公鑰。其次,以抗量子加密算法公鑰作為輸入,使用抗量子算法的CA證書使用抗量子簽名算法對其進行簽名。最后,在數字證書中增加一項擴展項,包含抗量子加密算法公鑰的簽名值。
其中,抗量子加密算法包括但不限于CRYSTALS- Kyber算法;抗量子簽名算法包括但不限于CRYSTALS-Dilithium、FALCON和SPHINCS+算法;數字證書格式包括但不限于符合X.509的證書。
2.2 實施方式
為了使本方案實現的技術手段、創作特征、達成目的與功效易于明白了解,本節將進一步詳細闡述本方案實施步驟與細節。
1) 抗量子算法與數字證書結合具體步驟。參見圖1,抗量子算法與數字證書結合步驟如下:
① 生成抗量子加密算法密鑰:首先需要生成一個抗量子加密算法密鑰對,包括公鑰和私鑰。公鑰用于加密數據,私鑰用于解密數據。
② 擴展數字證書:在數字證書中增加一項擴展項,用于存儲抗量子加密算法公鑰。
③ 使用抗量子簽名算法簽名:使用抗量子簽名算法對數字證書中的公鑰擴展項進行簽名,簽名過程需要使用到CA證書和對應的私鑰。
④ 構造公鑰簽名擴展項:在數字證書中增加一項擴展項,用于存儲公鑰擴展項的簽名值。
⑤ 將公鑰擴展項和公鑰簽名擴展項一起放入數字證書中。
2)抗量子公鑰擴展項定義??沽孔庸€擴展項PQKeyExtension的ASN.1結構定義如下:
PQKeyExtension ::= SEQUENCE {
algorithm? ?OBJECT IDENTIFIER,
pqPublicKey? ? BIT STRING? }
上述結構中,algorithm用于標識具體的抗量子加密算法,pqPublicKey用于表示公鑰,將公鑰的字節數組按照ASN.1編碼成BIT STRING 類型保存在擴展項中。
3) 抗量子公鑰簽名擴展項定義??沽孔庸€簽名擴展項PQSignatureExtension的ASN.1結構定義如下:
pqSignatureExtension? ?BIT STRING
pqSignatureExtension域包含了對PQKeyExtension進行抗量子簽名的結果,采用ASN.1編碼的PQKeyExtension作為輸入,簽名的結果按照ASN.1編碼成BIT STRING類型保存在擴展項中。
2.3 優勢分析
通過分析可以發現,本方案相比傳統方案具有以下優勢:
① 使傳統數字證書具備使用抗量子算法加密的能力,使用證書中攜帶的抗量子公鑰加密,可以避免加密內容被量子計算機破解。
② 保障抗量子公鑰的可信性,使用抗量子簽名算法對抗量子公鑰簽名,可以防止數字證書中抗量子公鑰被破解替換。
③ 可以在已投入使用的存量的公鑰基礎設施系統的基礎上使用,避免全部替換抗量子算法系統帶來的成本和技術問題。
3 結論與展望
本文提出的抗量子算法與數字證書結合的密鑰應用方案可以有效地提高數字證書的安全性,降低量子計算機破解密鑰的風險,還可以防止數字證書被篡改或偽造。該方案的性能主要取決于抗量子加密算法和簽名算法的計算復雜度,由于這些算法通常具有較高的計算復雜度,因此在實際應用中可能需要采取一些優化措施來提高性能,例如使用并行計算、硬件加速等技術來提高計算效率。在實用效果上,該方案可以在已投入使用的公鑰基礎設施系統上實現無縫升級,易于推廣和使用。
參考文獻:
[1] 謝磊,陳智雨,葛冰玉,等.量子通信與抗量子密碼研究[C]//數字中國 能源互聯:2018電力行業信息化年會論文集.2018.
[2] 李喆,韓益亮,李魚.基于Polar碼改進的抗量子密碼方案[J].科學技術與工程,2020,20(13):5198-5204.
[3] 韓益亮,王眾.基于多變量和LRPC碼的抗量子密碼方案研究[J].信息網絡安全,2019(8):36-43.
[4] 胡躍,趙旭陽,劉裕雄,等.格基密鑰封裝算法OSKR/OKAI硬件高效實現[J].計算機學報,2023,46(6):1156-1171.
[5] 尹安琪,汪定,郭淵博,等.可證明安全的抗量子高效口令認證密鑰交換協議[J].計算機學報, 2022,45(11):2321-2336.
[6] 俞惠芳,付帥鳳.抗量子計算的多變量盲簽名方案[J].軟件學報,2021,32(9):2935-2944.
【通聯編輯:梁書】