抗量子密碼學——應對即將來臨的量子密碼末日
至少對關注電腦與資訊安全的從業員而言,「天塌下來」的預警絕非虛言。目前廣泛用於保護數碼生活方方面面的基礎密碼算法,將在數年內被量子電腦輕易破解。這些算法覆蓋我們日常生活的各個場景:從網購、信用卡交易,到護照與身份門禁系統驗證,甚至包括支撐電網運作的控制系統管理。
這個即將到來的節點被稱為「量子密碼末日」,指量子計算將使現有事實上的密碼技術徹底過時的必然時刻。具體而言,作為現代安全、通訊與身份識別系統核心基礎的 RSA 和 ECC 加密算法,將無法抵禦量子電腦的攻擊。
但值得慶幸的是,現在化解這場危機還為時未晚。目前業界已在推進新型抗量子密碼算法的落地應用。面對量子密碼末日,全行業各個領域的公鑰基礎設施(PKI)系統都需要全面升級改造,以适配這些新型密碼算法,從而保障數碼系統的安全與正常運作。
加密技術
在深入分析量子電腦如何破解現有安全系統之前,我們首先需要了解加密是什麼,以及它的工作原理。
加密是將稱為明文的可讀數據轉換為稱為密文的編碼格式的過程。如果不對密文進行解密還原為原始明文格式,就無法讀取當中內容。加密過程依賴必須嚴格保密的加密密鑰。
用最通俗的方式解釋,加密之所以能有效保護數據,是因為數據的加密和解密計算操作相對簡單,但破解加密系統的難度極高。也就是說,透過暴力攻擊獲取加密密鑰是非常困難的。
攻擊者沒有加密密鑰就無法解密數據,因此他們往往會嘗試獲取或竊取加密密鑰。如果黑客找不到竊取密鑰的途徑,就可能發動「暴力攻擊」,即嘗試所有可能的加密密鑰組合。就目前使用的加密算法而言,即便攻擊者知道所用的加密算法,不耗費巨量的計算時間也無法獲取密鑰、解密已加密的數據。對於 RSA-2048 來說,當前電腦透過暴力攻擊獲取 RSA 密鑰大約需要300 萬億年。
隨着算力提升,密碼實現方案一直透過增加密鑰長度來提供持續可靠的加密安全保障。不過,由於加密使用者和攻擊者的算力以相近速率提升,只要採用了更長的密鑰長度,這些系統的整體安全性就仍能保持穩固。
討論加密時需要注意,大多數安全系統通常使用兩類加密方式。
非對稱加密與對稱加密
多數安全協議和系統會同時使用對稱加密和非對稱加密。例如,傳輸層安全協議(TLS)會在會話初始階段使用非對稱加密安全交換秘密對稱密鑰,隨後在密鑰交換流程完成後,切換為使用該秘密密鑰的對稱加密。
對稱加密
對稱加密的原理非常簡單。通訊雙方使用同一個共享的秘密密鑰(見圖 1)。
當然,這裏存在一個問題:如何交換密鑰才能避免被人或設備截獲?這正是非對稱加密的作用——它可以實現對稱加密密鑰的安全交換。
非對稱加密
非對稱加密使用由公鑰和私鑰組成的密鑰對(見圖 2)。每個節點都有自己的密鑰對。私鑰必須嚴格保密,而公鑰可以分發給其他節點。
密鑰對的生成機制保證:用公鑰加密的數據只能用對應的私鑰解密,反之亦然。如果設備 A 要向設備 B 發送數據,設備 A 可以使用設備 B 的公鑰對數據進行加密。這些數據只能使用設備 B 的私鑰解密。只有設備 B 持有該私鑰,因此只有設備 B 能夠解密這條訊息。
所有密鑰對都存在數學關聯,以此實現上述加密/解密流程。極為關鍵的一點是,僅可交換公鑰,且私鑰絕不可被交換。公鑰與私鑰之間的數學關係確保了:使用公鑰加密的數據僅能通過對應的私鑰解密,也就是說,只有目標接收方的私鑰才能解碼該數據。
非對稱加密的一個主要缺點是,其消耗的CPU週期很容易達到對稱加密的100倍。這種處理負載會為所有系統帶來問題,對於執行時間敏感型操作及/或系統資源有限的嵌入式設備而言影響更為嚴重。對應的解決方案是:首先運行非對稱加密會話,僅用於建立初始加密連接以交換保密的對稱密鑰,後續通信會話的剩餘部分均使用該對稱密鑰完成。
公開金鑰基礎設施(PKI)、數碼證書與加密
公開金鑰基礎設施(PKI)體系是幾乎所有現代計算系統的身份與安全基礎。基礎互聯網功能、物聯網安全、借記卡與信用卡交易,乃至包括護照在內的現代身份系統,均依賴於PKI以及由PKI系統簽發的數碼證書。
數碼證書採用非對稱加密機制,其中公鑰被公開,用於認證持有對應私鑰的用戶或設備身份。證書與駕駛執照十分相似,可為密鑰持有者提供身份憑證。換言之,證書中包含密鑰合法使用者的相關信息,該身份可以是網站域名(例如sectigo.com)、物聯網設備的設備ID,或是電郵地址。
RSA與ECC密鑰的特性
對於RSA算法而言,公鑰是由兩個大素數生成的較大整數,這兩個素數同時也是私鑰的構成基礎。受傳統計算機的運行機制限制,素數分解的難度極高,因為計算機只能逐一嘗試所有組合。這正是RSA加密的安全基礎:由於素數分解的計算成本極高,攻擊者無法在合理時間內通過公鑰推導出私鑰。
橢圓曲線密碼學的安全性源於橢圓曲線的數學特性,對於傳統計算機而言,求解橢圓曲線上兩點的對應關係極其困難,因此幾乎無法從公鑰推導出私鑰,這使得針對此類密碼系統的暴力破解攻擊失效。
而量子計算的出現,使得我們整個安全架構所依賴的上述根本前提不再成立。量子計算機能夠在合理時間內通過公鑰推導出私鑰。
量子計算與密碼破譯
量子計算機的運行機制與傳統計算機存在本質區別。傳統計算機中的所有信息都以非0即1的傳統數據比特形式存儲,而量子計算機使用量子比特(qubit,即量子位)運行。量子比特不僅可以表示0或1,還可以表示這兩種狀態的疊加態;更值得注意的是,量子比特之間可以發生量子糾纏,甚至產生相互干涉。
量子比特具備的特殊特性使得部分計算問題的求解難度大幅降低。借助量子計算,超大素數分解突然具備了計算可行性。對於量子計算機而言,不僅加密操作十分簡單,破解傳統非對稱加密算法同樣容易。
值得注意的是,對稱加密算法與哈希算法目前並不受量子計算威脅,無需替換。非對稱加密被破解的風險,會波及絕大多數依賴非對稱加密完成對稱加密密鑰建立流程的加密系統。抗量子加密的核心方向是替換用於密鑰交換和數碼簽署操作.
逼近的量子啟示錄——我們需要在何時開始警惕?
「量子啟示錄」指的是量子計算發展到實用化水平的時間節點:屆時解密能力將得到大幅提升,加密與密碼破解之間的能力平衡將被打破。換言之,在這個時間點,破解加密所需的算力差距不再懸殊到足以形成安全壁壘,攻擊者能夠在足夠短的、具備實用性的時間範圍內解密我們的加密數據。
談及量子啟示錄,眾人最關心的關鍵問題自然是這一場景何時會發生。量子計算研究所聯合創始人Michele Mosca提出了一套框架,用於評估該事件的發生時間以及判斷我們的準備就緒程度。
Mosca不等式為 X + Y >? Z。
換言之,X + Y 是否大於 Z?在這個等式中,X 是加密密鑰需要保持安全的時長,也就是安全保質期;Y 是重構安全系統以适配抗量子密碼算法所需的時間,即遷移週期;Z 是建成大規模量子計算機所需的時間,也就是現有加密體系的崩潰時間。
難點在於 X、Y、Z 三個值均不確定,且實際上會因系統不同而存在差異。
我們來逐一分析這三個變量。
X 是安全密鑰(更準確地說是經這些密鑰加密的數據)必須受到保護的時長。該時長顯然取決於具體應用場景。對於採集數據、用於實時決策後即丟棄數據的 IoT 傳感器系統而言,X 可能是數分鐘、數天,最長也不過數周。
對於筆記本電腦與網上銀行系統之間涉及密碼傳輸的交易,X 是用戶更換密碼前的時長。對大多數用戶來說,這個週期為一年或數年。良好的密碼使用習慣可以縮短該週期,但傳輸的信息中還包含個人金融信息,這類信息的保質期通常可達數年。其他信息,例如商業機密、政府機密文件或其他高敏感數據的通信,保質期可能長達數十年。X 的巨大差異性確實大幅提升了通過 Mosca 不等式評估即將到來的「量子末日」發生時間的複雜度。
如前文所述,Y 是重構安全系統以使用抗量子密碼算法所需的時長。
這本身是一個複雜議題,將在另一篇白皮書中詳細展開,不過該流程的這一要素可以拆分為兩個子部分:開發抗量子密碼算法所需的時間,以及將現有系統遷移至使用這些算法所需的時間。
NIST 一直在牽頭開展一套抗量子密碼算法的開發與評審工作。該流程始於2016年,預計在2022至2024年間完成。截至2019年1月,NIST 已確定26個候選算法進入nd該流程的第二輪評審。
除了算法開發所需的時間,我們還必須考慮更新現有公鑰基礎設施(PKI)系統,以及所有使用密碼算法的企業系統、IoT 系統、自動化系統、Web 服務和其他身份系統所需的時間。這類系統當中有許多結構複雜,更新工作絕非易事。按最低限度估算,簡單場景的更新周期由數月不等,而包含多組件、多依賴項的複雜系統,更新周期可達數年。
這方面有一個好消息:我們無需等到 NIST 完成全部評審流程才啟動系統重構工作。兩項工作可以基於 NIST 的候選算法並行開展。此外,數碼證書續期自動化解決方案以及「密碼敏捷性」(即新密碼算法可用時能夠快速完成遷移的能力)的落地,有助於降低後續向新加密算法遷移的最終負擔。
最後,Z 是研發出性能足夠強大、可在合理時間內攻破現有加密方案的量子電腦所需的時間。
所謂在「合理時間內」攻破 RSA 2048 到底是什麼意思?
這並非指對 TLS 加密的資訊流進行實時解密。要實現 TLS 流的實時解密,需要攻破基於 Diffie-Hellman 的 TLS 密鑰協商機制,這要求攔截密鑰交換訊息、破解加密密鑰、讀取加密流並完成實時解密。
更大的威脅在於攻擊者記錄下數據流後,能夠在合理時間內對其進行追溯解密。在這個語境下,合理時間可以指一兩個月,而非需要耗費數代人的時間,就像當前計算系統下的情況一樣。
分析這個問題時需要牢記一個重要事實:量子電腦對不同密碼技術的影響並不相同。AES 等對稱加密算法以及 SHA 哈希算法等哈希算法不受量子攻擊影響。這些算法僅憑自身的運行機制就具備抗量子能力,不受 Shor 算法影響。量子計算的發展可能會要求哈希算法使用更長的比特數,但從根本上說,這類算法不會被量子電腦攻破。
Shor 算法
如前文所述,RSA 極難攻破,因為使用傳統電腦分解質因數的難度極高。一台現代電腦需要數萬億年才能破解一個 RSA-2048 密鑰.
然而,量子電腦的出現改變了這一局面。Peter Shor 早在1994至1995年間就提出了 Shor 算法。該算法提供了一種求解給定整數質因數的幾何方法,其原理是尋找函數內的周期性,而質因數本身確實存在特定模式或序列規律。Shor 算法可在量子電腦上高效運行,因此當量子電腦性能足夠強大時,該算法將被用於攻破 RSA 加密技術。
在抵禦傳統電腦發起的攻擊時,系統可通過延長算法密鑰長度獲得極高的安全性。例如,企業可以切換至 RSA 4096。但面對量子電腦,這種方法將不再有效。儘管 RSA 4096 的密鑰長度是 RSA 2048 的兩倍,但量子電腦破解 RSA 4096 與 RSA 2048 所需的時間差異可忽略不計。要抵禦量子計算攻擊,必須採用原理完全不同的加密算法。
從具體技術參數來看,多數專家認可:要在我們所說的「合理」時長內破解 RSA 2048,目前大約需要 5000 到 10000 個量子比特。截至 2020 年,最先進的通用量子電腦已實現約 50 個量子比特,而 D-Wave 這類量子退火電腦的量子比特數量要高得多。此外,2020 年 D-Wave 設備的量子比特數達到 2000,但它並非通用量子電腦,也不具備糾錯能力。因此,其量子比特的構建難度更低,但運行時需要大量糾錯處理。
各方估算存在差異,但 D-Wave 設備經糾錯後的「通用量子比特」數量僅為物理量子比特數的 0.1% 到 10%,因此其等效通用量子電腦的量子比特規模在 2 到 200 之間。
滑鐵盧大學的 Michele Mosca 等研究人員預測,量子計算的發展速度將持續加快,我們將以接近線性的進度,從當前的 50 個量子比特逐步發展到 500、1000、5000 乃至 10000 個量子比特。
當我們實現 5000 到 10000 個量子比特時,當前的加密算法就會被破解。
關於具體時間的預測各有不同,但多數專家一致認為,量子電腦將在 2026 年至 2031 年之間的某個時間點破解 RSA 加密。
概要
如果回顧 Mosca 不等式,再考慮到部分數據需要長達數十年的保護周期,那麼對於某些應用場景而言,我們已經錯過了應對「量子末日」的啟動時點。
對大多數系統而言,目前仍有時間開發應對方案,但 2026 年已經非常臨近。要在六年內完成整套複雜基礎設施的替換是一項極為艱巨的任務,更何況抗量子加密算法還需要數年時間才能完成標準化。
這是需要全行業通力協作的緊要局面。
這一危機不容忽視,行業內的所有參與者都需要重視抗量子密碼技術。作為受信任的第三方證書頒發機構(CA),Sectigo 目前正投入研發抗量子公鑰基礎設施(PKI)解決方案,幫助公鑰基礎設施(PKI)用戶啟動向新型抗量子加密算法的遷移工作。
這是一個複雜的議題,我們將提供一系列資源,幫助客戶理解問題並制定應對方案。在 Sectigo Quantum Labs,我們正與行業領軍企業合作開發解決方案,支援向新算法的遷移,確保客戶為「量子末日」做好準備。



