OTP是否能夠成為NIST后量子算法的可行替代方案
作為NIST后量子密碼標準化第四代備選名單中的一員, SIKE(超奇異同源密鑰封裝)加密算法被研究人員在PC端上輕易破解。這使得人們對后量子時代產生了一些必要的先入之見。
NIST正在通過一種競賽手段,為后量子時代開發新的加密算法。Shor的算法已經向我們說明:作為現代互聯網通信的基礎,現有的RSA加密技術可能會在未來十年內被破解。
IBM目前擁有127個量子位的量子處理器。IBM量子安全公司的CTO,Mike Osborne表示:能夠幫助我們獲得100萬量子比特(cubits)的“路線圖”,其價值或多或少也能高達4000量子比特(cubits)。所謂的密碼學相關量子機器的時代離我們越來越近了。
基于RSA的通信目前正面臨著一種被稱為“現在獲取,以后解密”的危機。敵對國家可以竊取或復制當前的加密數據,以期望能夠在未來的幾年中將其破解。
許多秘密都具有數十年的有效期。例如,在個人層面上,包括社會保險號碼以及家庭內部秘密;在國家層面上,包括國家機密、國際政策以及秘密活動背后的真相。RSA面臨的威脅十分緊迫,因此NIST正在尋找一種量子安全的可行替代方案。
SIKE crack事件警示著我們:針對加密的威脅已然存在,甚至后量子加密也有可能會被經典計算機所破解。
一些密碼學理論
NIST正在考慮一種屬于“quantum safe”的新算法。它與“quantum secure”不同。‘Safe’意味著當前并不存在已知的方法來破解該算法。而‘Secure’則意味著可以通過數學方法或其他的方式來證明該算法是無法被破解的。現有的算法以及當前NIST競賽中的算法,均被認為屬于“quantum safe”,而非“quantum secure”。
正如SIKE crack事件展示的那樣,所有的quantum safe加密只有在它們被破解之前才算是安全的。
實現量子安全quantum security只有一種可能性,即一次性密鑰 (one-time pad ,OTP)。一次性密鑰是一種無法被破解的加密方法。它需要一個尺寸不小于所發送消息的一次性預共享密鑰。發送的消息在理論上是安全的。也就是說,它提供了完美的加密措施。無論是經典計算機還是量子計算機都無法通過數學的方式將其破解。
但這也存在一定的難點,即需要利用真正的隨機數來生成如此長度的密鑰,并將該密鑰傳送到目的地。目前為止,要通過電子手段來完成這些是不切實際的。
即使是在量子計算機的創建階段,唯一能夠“幸存”的的加密方式也只有一次性密鑰加密。但首先,密鑰的分發的隨機性和均勻性仍存在問題。其次,密鑰的長度需要大于或等于所發送消息的長度,這意味著需要更多的計算時間,通常要比其他經典算法慢。第三個問題在于密鑰的分發以及初始密鑰的的傳輸。為了確保其保密性,以往該過程都是通過面對面的交換方式來實現的。
上述這些就是該問題的核心所在。NIST的算法只能說是相對安全,而OTP則可以實現絕對的安全。然而它實際上卻并不實用。SIKE crack事件強調的是絕對安全,而非相對安全。任何相對安全的算法只有在其被破解之前,或者說能夠破解它們的新方法出現之前,才算得上是安全的。即使是在保持安全的時間里,其所加密的數據仍易于被獲取,并用于未來的解密。
任何時間,任何數學上的算法都可能會遭遇該情況。最初RSA密鑰的長度為128位,并被認為預計數百萬年之后才能被破解。但隨著計算機的發展,算法的壽命也逐漸縮短,于是增加密鑰的長度變得十分必要。如今,RSA需要超過2000位的密鑰長度才能夠在經典計算機面前保持相對安全,但其在Shor的量子計算機面前仍無法實現絕對安全。
因此,依賴任何數學方式的加密方法都無法保證是絕對安全的。并且倘若一種算法被破解,那么所有使用該算法的加密通信都可能會被泄密。而SIKE crack事件也證明了:即使沒有量子計算機,攻擊者同樣可以做到這一點。因此,即使在最好的情況下, NIST的quantum safe算法,也無法保證持續的安全性。
大量的研究機構和公司都在研究這些問題。在未來,我們將看到基于OTP概念的算法,用以解決當前面臨的危機。它們將利用信息理論,成為NIST標準化算法的可行替代方案。
OTP的利與弊
NIST競賽僅專注于開發新的加密算法。理論上,這些算法應該能夠在量子解密的攻擊中“存活”下來。這對于當前的現狀是一種漸進式進步。然而開發出來的均是quantum safe加密。quantum safe與quantum security不同。這些加密通信只有在其被破解之前才能保持加密狀態,也就是說無法永久地保持安全性。
歷史和數學理論表明,這些情況的發生是不可避免的。當其發生時,我們將面臨與如今相同的境況。以往收集到的所有使用該算法加密的數據都將會被對手所破解。但是,既然已經有了替代方案(即一次性密鑰加密)可以抵抗量子解密,那么為什么這種方法沒有被采用呢?
一次性密鑰加密在理論上提供了完美的安全性,但其在使用方面仍存在一定的缺陷,使得它不切實際。首先,一次性密鑰必須由真正的隨機源生成,而這并不像聽起來那樣簡單。
這就是為什么 Qrypt 要使用由橡樹嶺國家實驗室(the Oak Ridge National Laboratory)以及阿拉莫斯國家實驗室(the Los Alamos National Laborator)許可的量子隨機數生成器(quantum random number generators ,QRNGs)。這些量子熵源是科學上唯一已知的真正隨機源。
其次,OTP的大小也是一個問題。一次性密鑰必須要和所加密的信息一樣長。所以,如果想加密一條長消息,那么一次性密鑰的大小將比NIST所選算法的密鑰大得多。
更長的密鑰是爭取更高安全性所必須付出的代價。所有的機密系統均是如此。密鑰越短,那么安全性也就越低。NIST的另一個決賽選手是“Classic McEliece”,其密鑰的長度就十分巨大,但其仍有可能會成為標準化。在許多常見的用例中,對于消息或小文件的傳遞,McEliece密鑰往往比OTP大得多。”
同時,認證也是需要擔心的方面。一次性密鑰加密是無法提供身份驗證的。“能夠為任何類型的數據或端點提供身份驗證”的想法可能源于NSA對QKD的反對。NSA 曾表示:QKD不提供驗證QKD傳輸源的方法。
還有一個簡單的反例:任意長度的OTP都可以被賦予hash值,并在通信雙方之間明確地發送,以驗證它們是否具有相同的OTP。
另外,顧名思義,一次性密鑰只能使用一次,這同樣是它不切實際的一點。
這是為了實現更高的安全性,而做出的權衡。對加密密鑰的重復利用意味著一旦密鑰被破解或者被獲取訪問權限,那么之前所有使用該密鑰加密的數據都會被解密。OTP只會被使用一次,所以即使有人非法訪問了其中一個OTP,也無法對其他加密數據造成威脅。”
OTP最主要的問題大概在于密鑰的交換。使用一次性密鑰進行加密通信時,必須要與對方進行密鑰的交換。
這種大規模的密鑰交換幾乎是不可能的,并且也無法實現與之前從未溝通過的另一方進行通信。我們可以通過線下的郵件或快遞的方式來發送一次性密鑰,但是卻不能通過電子的方式來發送。然而,如果可以通過線下方式安全地傳送一次性密鑰,那么為什么不直接傳遞要分享的信息呢。
密鑰傳輸以及大規模分發困難等問題同樣適用于NIST目前正在考慮的所有公鑰加密密鑰。除了大小之外,OTP并沒有什么獨特之處。OTP可以被持續地生成,并在以后創建消息時使用。兩個過程沒有理由同時進行,除非它是一個實時的通信渠道。
現代的加密系統克服了這些障礙,而且非常高效。
現代的加密系統是一種一刀切的解決方案,十分高效。但代價是安全性更低。長期以來,云計算、高帶寬網絡以及分布式的數據中心已經克服了使用OTP的障礙。在RSA基礎上發展而來的PQC改變了一種基于20世紀70年代的前互聯網架構算法(通信雙方通過一個銅線通道以及若干網絡交換機相連接)。
當下的例子
目前,一些公司已經在他們的技術中使用了OTP的概念。Rixon 和Qrypt公司就是例子。前者是借用OTP思想來保護數據,而后者則可以實現真正的OTP通信。
Rixon
Rixon傳遞了一個基于云的無保險庫標識化系統。從客戶端收到的信息會被立即發送到云中并進行標識化。返回給客戶的數據中每一個字符都會被進行隨機的標識化,并且該標記化過程由客戶端的客戶本人所控制。
在標記化過程中,沒有直接使用加密算法或加密密鑰,只有一系列的大量隨機化步驟。其目的并非是提供安全通信,也不是提供一次性加密密鑰,而是從客戶的電腦上刪除純文本數據,以防止它們被盜。
然而,該過程借用了OTP的許多概念。任何密鑰的破解都無法用來幫助對數據進行大規模的非法訪問。因為每個字符都是被單獨進行標識化的,因此即使該字符的標識化過程被破解或竊取,攻擊者也只能實現對單個字符的解密。
所以結果就是,任何兩組數據都不會具有相同的加密過程。這與OTP方法相類似。
加密通信離不開強大的密鑰管理系統,其中密鑰循環以及密鑰失效是每一種加密管理系統的基石。一段時間后,所有系統的效率都會越來越低,這往往是由于流程和程序出現了問題了。文書方面的工作容易調整,但現實是,密鑰管理系統已逐漸過時,變得不再有效。隨著時間的推移,組織會產生一種安全的錯覺,而密鑰則會被盜,被泄露,并為人所知。
這些情況在量子時代會變得更糟。隨著量子處理器的出現(當然,并不是說它們是破解加密的真正必要條件),隨著這些速度極快的處理器的出現,加密技術的失誤與弱點將變得更加明顯。
Qrypt
Qrypt通過一個量子程序來生成真正的隨機數。這是唯一已知的能夠產生真正隨機數的方法。該公司還開發了一種方法,能夠同時向發送方和接收方提供相同的隨機數。通信雙方均可以使用這些隨機數來生成加密密鑰,從而不再需要通過不可信的互聯網來傳遞密鑰。
最初目的主要是為密鑰的生成提供真正的隨機數,因為隨機數的質量差是加密方面的主要攻擊向量。其次的目的是通過在通信雙方之間建立相同的密鑰來消除通過不可信的網絡發送密鑰的需要。
該過程可用于提高當前經典算法以及NIST的PQC算法的安全性,也可用來促進一次性密鑰加密的安全性(同樣的過程可以作為一次性密鑰來使用).

加密的未來
毫無疑問,當前的加密算法在量子時代之前就需要被更新迭代。NIST專注于堅持現有的方法,即通過使用更復雜的算法來對抗更強大的計算機。
倘若一次性密鑰加密仍不切實際,那么這將是唯一有效發展方向。
但初創公司已經證明:過去阻礙電子OTP出現的問題正在被新型的云技術所規避。這非常值得欣慰,因為在NIST的量子安全(safe)解決方案和OTP的quantum secure解決方案之間終于有了一個真正的選擇。
數世點評
一次性密鑰加密憑借極長的密鑰,以及密鑰生成的完全隨機性,實現了真正意義上的“quantum secure”。但其本質上仍屬于對稱加密的范疇,它同樣也繼承了對稱加密的弊端,例如。密鑰分發困難、未能實現不可否認性以及不可擴展等問題。另外,一次性密鑰加密僅在密鑰完全保密的前提下牢不可破。攻擊者仍可以從密鑰分發方面下手,將密鑰本身作為突破口,進行攻擊。并且,即使沒有攻擊者的干擾,密鑰傳輸過程中自身造成的比特偏移也會阻礙加密通信的成功。因此,密鑰傳輸以及身份驗證等過程的安全性仍不可忽略。另一方面,由于一次性密鑰加密中,密鑰不可重復使用的特點,攻擊的收益/成本比大大降低。但同時這也意味著密鑰的消耗是不可避免的問題。同樣,考慮到收益成本原則,一次性密鑰加密所產生的成本提高了使用門檻,這也決定了當前的一次性密鑰加密主要應用于高度機密的低帶寬通道場景中。