後量子密碼研究思考與實踐

後量子密碼研究思考與實踐

中國電信翼支付後量子密碼研究思考與實踐

量子計算的威脅

2022年10月,法國物理學家阿蘭•阿斯佩Alain Aspect,美國理論與實驗物理學家約翰•弗朗西斯•克勞澤John F. Clauser以及奧地利科學家安東•塞林格Anton Zeilinger共同獲得了諾貝物理學獎,以褒獎三位物理學家用實驗方式證實了被愛因斯坦所描述的糾纏態粒子間“鬼魅般的超距作用(spooky action at a distance)”。隨着量子計算、量子通信、量子密碼等的不斷髮展,量子技術近年來走上了大衆視野,並得到廣泛關注,量子研究正穩步向前、走向成熟。

作爲量子領域的最關鍵的應用之一,量子計算機具備運行速度快,解決特定問題處理能力強等特點,因此受到了國內外衆多學者和技術研究機構的關注,發展尤爲迅猛。從上世紀 80 年代初期,美國物理學家Paul Benioff首次提出量子計算的概念並設計出可執行的、有經典類比的量子圖靈機以來,包括中國、美國、英國、日本等在內的多個國家均宣佈其在量子計算機的理論和工程領域取得了巨大進展。

  • 2019年10月,谷歌宣佈了完成53量子比特的量子計算機。
  • 2020年12月由中國科學技術大學宣佈成功構建基於光量子的76量子比特高斯玻色採樣原型機“九章”,使中國成爲全球第二個實現“量子優越性(Quantum Supremacy)”的國家。
  • 2022年11月,IBM公佈了成功實現了可以處理433量子比特的超導量子處理器Osprey。根據量子處理器開發路線(圖1),IBM計劃在今年實現超1000量子比特處理器Condor,並在2025年通過多處理器模塊化組合實現4158量子比特的處理器Kookaburra。可以說,量子計算機已經由曾經虛幻的物理問題發展成當前一項具有重大實際意義的複雜工程問題。

圖1. IBM量子處理器開發路線

img

儘管量子計算機的出現與發展給計算性能帶來了極大的提升,但同時也給個人和企業的數據隱私造成了現實的安全威脅。根本原因在於,當前大多數密碼算法,如Diffie-Hellman(DH)、RSA、ECC等,其安全性都是基於傳統的數論難題,例如離散對數Discrete Logarithm和大整數分解Integer Factoring問題。而在量子計算時代,這些問題都不再“困難”。事實上,

  • 早在1994年,美國MIT數學家Peter W. Shor就提出了多項式時間內解決離散對數和大整數素分解的量子算法,對於經典的RSA-2048算法來說,Shor算法可以依託2048個量子比特的量子計算機【現在都沒有產生】將其破解。
  • 很多密碼學者也預測經典的RSA-2048算法將在2030年左右被量子計算機攻破,如果按照IBM的開發路線來看,可能在2025年後RSA-2048算法就不再安全。
  • 2023年1月中國科研團隊發表的一篇文章[2]就指出,理論上可以使用對數級量子比特來破解RSA-2048問題,並在實驗中證明了所提出的算法使用10個量子比特破解了48位的整數分解問題。儘管受限於硬件的限制,所提出技術尚未在更大規模的量子計算機中測試,但如果該算法被證實有效,那麼僅利用372個量子比特攻破RSA-2048就將成爲可能。

同時,由於當前互聯網中廣泛使用的安全協議和密碼系統多數基於DH、RSA、ECC等經典算法進行設計和構造,當這些底層算法在量子計算機面前不再安全時,利用這些協議和系統保護的敏感數據也就存在被攻破的風險。

圖2. 後量子密碼遷移時間線

圖片

應對量子計算機給數據安全帶來挑戰的有效方法是完成算法與協議的後量子(可抵禦量子計算機攻擊)密碼遷移(Post-Quantum Cryptography-PQC Migration),也就是將所有目前採用的基於傳統數論難題的公鑰密碼算法,替換爲抗量子計算攻擊的後量子密碼算法版本,使其既能在傳統的計算機上面高效運行,又能在有效時間內抵抗量子計算機攻擊。目前,學術界與工業界針對後量子密碼算法的研究已持續多年,主流後量子密碼算法類別包括:

1)基於哈希(Hash based)的密碼系統,其中,由Merkle設計的Hash-Tree的公鑰簽名方案是此類密碼的典型方案;

2)基於編碼(Coding based)的密碼系統,例如由McEliece設計的“Hidden-Goppa-Code”公鑰加密方案,以及由我國王新梅教授的新梅方案等[4];

3)格基密碼(Lattice based),基於格上難題構造的密碼算法目前吸引了越來越多的關注,早期格基密碼的一個典型代表是著名的NTRU方案;

4)多變量(Multivariate based)公鑰密碼,如1988年Matsumoto設計的多變量加密、簽名方案;

5)基於超奇異同源(Supersingular Isogeny)的算法,提供了基於特殊橢圓曲線代數結構上的後量子密鑰交換算法;

6)其它密碼算法,如基於零知識證明ZKP、分組密碼算法AES256等。

量子計算機的威脅不是一個即時問題,而是一個持久問題,攻擊者完全可以由公開信道提前獲取並大量存儲由經典加密系統加密的密文,以待足夠強大的量子計算機出現後再進行破解,即“現存後解”(Store Now and Decrypt Later-SNDL)攻擊。在 2022年5月《自然》雜誌發表的《後量子密碼遷移指南》[3]中,對SNDL攻擊以及後量子密碼遷移時間線(如圖2)進行了說明。可以說,後量子密碼遷移是一項長期的工作,需儘早佈局並儘可能提前完成後量子密碼遷移工作,以保證個人、企業以至國家的核心數據在量子時代的安全。

後量子密碼的原理

目前,對傳統基於數論的密碼系統造成威脅的攻擊算法主要有兩種:Shor算法和Grover算法。前者能解決

  • 在循環羣上的數論困難問題如整數分解、離散對數等,後者
  • 可以提升暴力搜索攻擊的效率。

Shor算法:由Peter W. Shor提出,使用了量子疊加的比特位來高效的運算離散傅里葉變換(DFT),使得在量子計算機下降爲\(O(log^2 N)\)。利用這個特性,Shor算法可以有效解決有限交換羣的隱藏子羣問題(HSP),進而解決大整數分解和離散對數問題並對現有的RSA、DH、ECC等公鑰加密系統構成嚴重威脅。

Grover算法:也稱爲量子搜索算法,由Lov K. Grover於1996年提出。算法基於量子疊加態和量子相位干擾原理,相對於傳統搜索算法,可在無序序列中以平方倍的速度搜索出特定數。Grover算法主要是針對傳統密碼學中的對稱加密算法或哈希函數。目前已知的針對對稱加密算法AES和安全哈希函數的攻擊方法,複雜度爲\(O(N)\)。利用Grover算法,在量子計算機上進行同樣的攻擊需要\(O(N^{1/2} )\)的複雜度,因此,只需要提高加密算法的安全參數就可以做到後量子安全,比如使用AES512替代AES256,或將Sha-3的輸出長度翻倍等。

綜上所述,後量子密碼遷移的關鍵在於替換易被Shor算法攻擊的公鑰密碼算法,如RSA和ECC。當前較通用的解決方法是採用格密碼算法或基於哈希的後量子數字簽名系統。

格密碼

這一類加密系統的安全性可以歸約到向量空間上的計算困難問題。如最短向量,最近鄰搜索等。格密碼的優勢主要是在性能方面,可以與經典的公鑰加密系統相當,因此可以用來實現更復雜的密碼協議,如同態加密和安全多方計算協議等。但是格密碼需要謹慎的選擇安全參數,以確保安全性。

格的定義:

格是維歐式空間的個線性無關向量組\(b1,b2,…,bn\)(稱爲格基)的所有整係數線性組合。同一個格可以用不同的格基來表示。m稱爲格的維數,n稱爲格的秩,m=n時,二維格和格基如圖2所示。

圖3. 二維格示例

圖片

如圖3所示, (V1,V2 ),(V1',V2' )是二維格的兩組格基,(V1',V2' )趨於正交,稱爲優質基,(V1,V2 )夾角較小,稱爲劣質基

格上的困難問題:

a) 最短線性無關向量問題(SIVP):對於一個維度足夠高的格,通過一組格基找到一組短格基是困難的;

b) 最近向量問題(CVP):給定一組格基向量bi和目標向量V,能否有效找到一組整係數Ci,使得由這組整係數和格基向量所確定的向量V'=∑i Ci bi 距離目標向量V最近,在一個足夠複雜的空間裏,CVP問題是NP難問題。

格密碼算法所基於的困難問題通常是容錯學習(Learning With Error-LWE)。LWE問題的輸入是矩陣A和向量v,v=As+e,從中恢復出s是困難的,LWE問題可以歸約到上述的SIVP問題。

一個簡單的基於環Ring-LWE問題的密碼方案:

a) 密鑰生成:公鑰記爲(a,b=as+e),私鑰記爲s。a,b,s,e均爲多項式,且s,e的係數是比較小的。

b) 加密:將待加密的消息記爲{0,1}係數多項式m,隨機選取三個係數較小的多項式r,e1,e2,計算密文(c,d),其中c=ar+e1,d=br+e2+m(q-1)/2。

c) 解密:通過d-cs的方式還原m,如果d-cs的第i個係數距離0更近,則令m的第i位爲0;如果d-cs的第i個係數距離(q-1)/2更近,則令m的第i位爲1。【通過判斷每一位來獲得整個消息】

正確性驗證:

\(d-cs=br+e2+m(q-1)/2-(ar+e1)s=er+e2-e1s+m(q-1)/2\)

如果m的第i位爲0,則d-cs的第i位爲er+e2-e1s的第i個係數,而r,e1,e2都是係數比較小的多項式,因此結果靠近0;如果m的第i位爲1,則d-cs的第i位爲多項式er+e2-e1s的第i個係數加上(q-1)/2,此時結果更靠近(q-1)/2。

以上就是一個簡單的格公鑰密碼方案,除了前面提到的需要謹慎選擇安全參數來保證格上數學問題的困難性,還需要選取適當的參數來保證算法的正確性。

基於哈希的數字簽名

數字簽名不同於公鑰加密,其過程可以存在信息損失。在傳統計算機中,數字簽名的存在性等價於單向函數(One Way Function)的存在性。因爲可將哈希函數看作任意布爾電路,進而將其安全性歸約到NP完全問題上,因而理論上通過哈希函數就可以構造出足夠安全的數字簽名算法。

Lamport一次簽名方案

a) 密鑰生成:預設待簽名消息長度爲\(t\),隨機選取Hash函數的原相\((x_0^1,x_1^1),(x_0^2,x_1^2),...,(x_0^t,x_1^t)←{0,1}*\)。對於所有\(a∈{0,1},i∈[t]\),計算公鑰\(y_a^i=h(x_a^i)\)。輸出密鑰對\((sk,pk)←({x_a^i},{y_a^i}),a∈{0,1},i\in [t]\)

b) 簽名:定義\(m_i\)爲消息\(m\)的第\(i\)個比特,輸出簽名\(sig←{x_{m_i}^i },i∈[t]\)

c) 驗證:驗證\(y_{m_i}^i=h(x_{m_i}^i))\)

以上簽名方案只能進行一次簽名,這是因爲:如果得到兩個超過1位不同的消息的簽名,就可以構造第三個合法簽名,從而破壞簽名方案的存在不可僞造性。不過,結合Merkle樹可以將一個一次簽名方案擴展爲可多次簽名的方案,且允許簽名的數量可預先設定,如圖3所示。

圖4. Merkle簽名示意圖

圖片

如圖4所示,假設要對消息\(m_{19}\)進行簽名,在利用某個一次簽名方案簽名\(m_{19}\)後,可以輸出節點19到根節點1的路徑上所有相鄰節點的私鑰共同作爲完整簽名,即\(K_{18},K_8,K_5,K_3\)。簽名驗證過程中,通過兩個子節點對應的簽名聯合計算並驗證是否與父節點對應簽名匹配,直到驗證到根節點\(K_1\)

除此之外,後量子安全的密碼算法還包括多變量加密系統基於橢圓曲線同源的系統基於編碼的加密系統等。但這些加密系統有的性能表現太差,不具備實用性,有的沒法歸約到經典的計算困難問題上,因而沒有成爲主流後量子密碼選項。

上述算法一定是抗量子的嗎?現在看來是的,但未來卻不一定。就像RSA在提出之後不久就有了很多攻擊方法,但RSA算法自己也在不斷改進完善。在經過了大量業內學者的研究和評估下,很有可能某些算法就被發現並不安全,比如基於超奇異同源的密鑰封裝SIKE算法就被發現是不安全的。那爲什麼還要做後量子的遷移呢?早一步佈局後量子密碼遷移,數據就早一步實現了後量子安全。如同RSA算法一樣,就算目前使用的方法還不是那麼完善,但在不斷的改進中,最終會走向成熟。一般來講,一項基礎密碼算法從提出到被行業廣泛應用,大約需經歷20年的驗證與完善期,但隨着量子計算時代的加快來臨,後量子密碼急需儘快成熟並替換現有密碼體系。目前來看,通過上述方法(如格、哈希等)構造的算法非常有可能成爲量子時代的標準密碼算法。

後量子密碼的發展現狀

美國國家標準與技術研究所(NIST)於2009年發佈了後量子密碼算法綜述,2012年正式啓動了後量子密碼算法標準項目,2016年發佈後量子密碼算法徵集公告,相關評估工作分爲3輪進行,每輪18個月左右,預計2024年之前完成。初期的徵集一共收到了82份文件,經過長時間的評估以及同行之間的算法攻擊,發現了很多算法並不安全。在2022年7月,NIST公佈了4項殺出重圍並將進行標準化的算法提案,包括密鑰封裝算法CRYSTAL-Kyber,以及三個數字簽名算法CRYSTAL-Dilithium,Falcon和SPHINC+。同時公佈了四個第四輪候選的密鑰封裝算法:BIKE,McEliece,HQC和SIKE算法(如圖5)。然而近期比利時魯汶大學團隊公佈的論文提出SIKE算法的SIDH安全假設在某些情況下是可破解的。

圖5. NIST 2022年公佈的標準算法和候選算法

圖片

2022年2月,美國公佈了《關鍵和新興技術清單》,將後量子密碼作爲量子信息技術列入了國家安全的考慮範圍中。2022年5月,《自然》雜誌發佈的《後量子密碼遷移的指導綜述》指出由於SNDL攻擊的存在,向後量子密碼遷移是一件現在就要開始做的事情。美國互聯網工程任務組(IETF)也在制定改進的傳輸層(TLS)協議,以適配後量子密碼算法。著名諮詢公司Gartner預計在2023年,將有20%的組織開始籌備後量子密碼遷移工作。

國家信息基礎設施安全是國家安全的核心關基環節。從近期西北工業大學遭受美國國安局網絡攻擊的事件看來,美國正在對我國的關鍵設施進行全面網絡滲透和信息竊取,並很有可能已經存儲了大量的使用傳統數論密碼(RSA,ECC)加密的數據以用於現存後解SNDL攻擊,這也勢必對我國信息安全造成了重大安全隱患。加快推進我國後量子密碼標準化與遷移工作,對保障我國國家信息安全已顯得至關重要。

中國密碼學會在2019年啓動了密碼算法競賽,徵集了一系列後量子密碼算法。其中,LAC算法成功獲獎,並進入了NIST第二輪後量子密碼候選算法名單。清華大學的丁津泰教授提出的Rainbow算法,成功加入了第三輪的NIST決賽算法。但兩者都在激烈的同行審議中被發現存在可被攻擊方式。除此之外,中國密碼學會也舉辦了量子密碼學術年會,除學術界在研究和探索後量子密碼技術之外,我國企業對於後量子密碼標準化研究工作的關注與早期工程化工作仍顯不足。整體上,當前產業界對後量子安全的研究維度不高,僅有個別企業開始推進包括從軟件協議層面小範圍的嘗試後量子密碼遷移,從硬件芯片層面來加速後量子密碼的運行效率,從安全性上對已有後量子算法進行評估等。此外,有區塊鏈公司也開始關注後量子的區塊鏈技術以保障量子計算時代鏈上數據的安全,比如如何實現多重簽名、環簽名、門限簽名、零知識證明等技術的抗量子能力與鏈的融合,並且關注算法的替換。

電信佈局

天翼電子商務有限公司(翼支付)作爲中國電信互聯網金融與科技戰略重要版塊之一已積極推進後量子密碼遷移的理論研究與工程實踐工作。如圖6所示。

圖6. 中國電信在後量子安全領域的探索工作

圖片

具有標杆意義的NIST後量子標準化進程已進入收尾階段,但從SIKE算法被攻破這一案例來看,仍然無法確定仍處於標準化進程中的算法是否足夠安全。鑑於目前算法安全的不確定性,電信團隊並沒有直接進行核心算法的後量子密碼遷移工程,而是採用基於“國密SM系列算法+PQC後量子候選算法”相融合的方式進行探索,遵循只要國密算法或PQC算法其中一種沒有被攻破,那麼攻擊者就無法攻破融合後的密碼算法這一思路。同時,系統預留標準化接口,爲後續轉爲國產後量子標準算法留出可拓展、可插拔的靈活空間。

翼支付綜合考慮後量子安全與遷移對量子計算機時代數據安全融通的影響與意義,將後量子安全與遷移這項工作從具體密碼算子,擴展到包括隱私計算與區塊鏈在內的多個領域。概括來說,在後量子安全領域的佈局可以分成五個維度,包括硬件層、傳輸層、基礎算法層、進階算法層和應用層(如圖6):

1)在硬件層,積極探索軟硬結合的方式,如後量子+隱私計算的一體機,以增強後量子密碼算法的效率和安全性;

2)在傳輸層,採用後量子+國密的融合方案代替傳統Diffie-Hellman協議來逐步重構TLS/SSL,作爲底層數據加密通信協議;

3)在基礎算法層,給出四個基礎密碼模塊,爲上層的進階算法以及應用層提供基礎能力,包括密鑰協商、公鑰加密、數字簽名以及國密+後量子混合密鑰策略。這些基礎算法設計遵循標準化、可插拔思想,一旦最新研究發現某算法安全性比較弱或被攻破,可快速替換爲新型的安全算法;

4)在進階算法層,推進利用後量子密碼算法改進隱私計算中的多種上層算法,以允許參與方在不暴露自己的數據的前提下實現後量子安全的數據融通。例如,重構實現後量子安全的不經意傳輸(Oblivious Transfer-OT)協議,並基於其構造後量子安全的隱私查詢方案(OT -》PIR);將VOLE算法和ECDH算法替換爲抗量子密碼算法以實現後量子安全的安全求交(Private Set Intersection-PSI)協議;另一方面,設計了基於格公鑰密碼的多方自定義計算方案;而在聯邦學習中,採用基於格的同態加密算法取代了傳統的Paillier算法。此外,對抗量子的環簽名、羣簽名算法和抗量子的零知識證明協議進行了部分設計與工程實現,以期提升量子計算時代區塊鏈的安全性;

5)在應用層,通過底層的後量子密碼能力,對於上層的數據融通及應用提供抗量子密碼分析和攻擊的能力,包括但不限於數據流通、數據存證、金融反詐、密態推理、電子支付等。

量子計算技術的研發與後量子密碼標準化是一項長期的工作,由於上述工作所基於的後量子算法仍處於標準化進程階段,仍有大量研究與驗證工作待學術與產業界共同推進完成,因而中國電信所推進的後量子技術研究與工程化工作以積累實踐經驗,儲備技術人才爲主,相關技術成果並不直接應用於當前的生產業務系統。相關研發工作與國家、集團級重大科研項目及產業應用緊密結合,爲後量子遷移工作提供豐富的實戰化場景驗證環境。

總結

隨着數據隱私保障監管政策與法律法規的逐步收緊,數據安全已成爲國家安全、社會安全、經濟安全和金融安全的關鍵支柱。爲保證數據隱私合規、實現跨域融通以最大化釋放數據價值,隱私計算、區塊鏈、可信執行環境等技術體系的深入研發意義重大,而作爲核心技術底座的密碼學,其安全性更是對數據安全至關重要。

量子計算機技術的飛速發展促進了現代密碼學由單純的對數據進行加密、簽名等基本算法,進入到對數據要素融通進行全流程隱私保護的後量子時代。儘管傳統基於數論難題的密碼算法受到了量子計算機的巨大挑戰,但以格密碼爲代表的後量子密碼算法卻進一步推動了現代密碼學的發展。如何將目前廣泛使用的密碼算法遷移到更安全的後量子版本,如何將後量子安全算法與隱私計算、區塊鏈、大數據AI、網絡與數據安全等新一代信息技術相融合,並基於其構建更加安全、高效的安全協議,是後量子時代密碼工作者與研究機構需要關注的核心問題之一,也是確保我國關基長期安全的重大任務。

參考文獻

[1] IBM Unveils 400 Qubit-Plus Quantum Processor and Next-Generation IBM Quantum System Two(2022). url: https://newsroom.ibm.com/2022-11-09-IBM-Unveils-400-Qubit-Plus-Quantum-Processor-and-Next-Generation-IBM-Quantum-System-Two

[2] Yan, Bao, et al. "Factoring integers with sublinear resources on a superconducting quantum processor". arxiv(2022), 2022.12372.

[3] Joseph, David, et al. "Transitioning organizations to post-quantum cryptography." Nature 605.7909 (2022): 237-243.

[4] Xinmei, Wang. "Digital signature scheme based on error-correcting codes." Electronics Letters 26.13 (1990): 898-899.

[5] Castryck, Wouter, and Thomas Decru. "An efficient key recovery attack on SIDH (preliminary version)." Cryptology ePrint Archive (2022).

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章