OTP是否能夠成為NIST后量子算法的可行替代方案

最初目的主要是為密鑰的生成提供真正的隨機(jī)數(shù),因?yàn)殡S機(jī)數(shù)的質(zhì)量差是加密方面的主要攻擊向量。其次的目的是通過(guò)在通信雙方之間建立相同的密鑰來(lái)消除通過(guò)不可信的網(wǎng)絡(luò)發(fā)送密鑰的需要。

360截圖16251112669372.png

本文來(lái)自微信公眾號(hào)“數(shù)世咨詢”,作者/茉泠。

作為NIST后量子密碼標(biāo)準(zhǔn)化第四代備選名單中的一員,SIKE(超奇異同源密鑰封裝)加密算法被研究人員在PC端上輕易破解。這使得人們對(duì)后量子時(shí)代產(chǎn)生了一些必要的先入之見。

NIST正在通過(guò)一種競(jìng)賽手段,為后量子時(shí)代開發(fā)新的加密算法。Shor的算法已經(jīng)向我們說(shuō)明:作為現(xiàn)代互聯(lián)網(wǎng)通信的基礎(chǔ),現(xiàn)有的RSA加密技術(shù)可能會(huì)在未來(lái)十年內(nèi)被破解。

IBM目前擁有127個(gè)量子位的量子處理器。IBM量子安全公司的CTO,Mike Osborne表示:能夠幫助我們獲得100萬(wàn)量子比特(cubits)的“路線圖”,其價(jià)值或多或少也能高達(dá)4000量子比特(cubits)。所謂的密碼學(xué)相關(guān)量子機(jī)器的時(shí)代離我們?cè)絹?lái)越近了。

基于RSA的通信目前正面臨著一種被稱為“現(xiàn)在獲取,以后解密”的危機(jī)。敵對(duì)國(guó)家可以竊取或復(fù)制當(dāng)前的加密數(shù)據(jù),以期望能夠在未來(lái)的幾年中將其破解。

許多秘密都具有數(shù)十年的有效期。例如,在個(gè)人層面上,包括社會(huì)保險(xiǎn)號(hào)碼以及家庭內(nèi)部秘密;在國(guó)家層面上,包括國(guó)家機(jī)密、國(guó)際政策以及秘密活動(dòng)背后的真相。RSA面臨的威脅十分緊迫,因此NIST正在尋找一種量子安全的可行替代方案。

SIKE crack事件警示著我們:針對(duì)加密的威脅已然存在,甚至后量子加密也有可能會(huì)被經(jīng)典計(jì)算機(jī)所破解。

一些密碼學(xué)理論

NIST正在考慮一種屬于“quantum safe”的新算法。它與“quantum secure”不同。‘Safe’意味著當(dāng)前并不存在已知的方法來(lái)破解該算法。而‘Secure’則意味著可以通過(guò)數(shù)學(xué)方法或其他的方式來(lái)證明該算法是無(wú)法被破解的?,F(xiàn)有的算法以及當(dāng)前NIST競(jìng)賽中的算法,均被認(rèn)為屬于“quantum safe”,而非“quantum secure”。

正如SIKE crack事件展示的那樣,所有的quantum safe加密只有在它們被破解之前才算是安全的。

實(shí)現(xiàn)量子安全quantum security只有一種可能性,即一次性密鑰(one-time pad,OTP)。一次性密鑰是一種無(wú)法被破解的加密方法。它需要一個(gè)尺寸不小于所發(fā)送消息的一次性預(yù)共享密鑰。發(fā)送的消息在理論上是安全的。也就是說(shuō),它提供了完美的加密措施。無(wú)論是經(jīng)典計(jì)算機(jī)還是量子計(jì)算機(jī)都無(wú)法通過(guò)數(shù)學(xué)的方式將其破解。

但這也存在一定的難點(diǎn),即需要利用真正的隨機(jī)數(shù)來(lái)生成如此長(zhǎng)度的密鑰,并將該密鑰傳送到目的地。目前為止,要通過(guò)電子手段來(lái)完成這些是不切實(shí)際的。

即使是在量子計(jì)算機(jī)的創(chuàng)建階段,唯一能夠“幸存”的的加密方式也只有一次性密鑰加密。但首先,密鑰的分發(fā)的隨機(jī)性和均勻性仍存在問(wèn)題。其次,密鑰的長(zhǎng)度需要大于或等于所發(fā)送消息的長(zhǎng)度,這意味著需要更多的計(jì)算時(shí)間,通常要比其他經(jīng)典算法慢。第三個(gè)問(wèn)題在于密鑰的分發(fā)以及初始密鑰的的傳輸。為了確保其保密性,以往該過(guò)程都是通過(guò)面對(duì)面的交換方式來(lái)實(shí)現(xiàn)的。

上述這些就是該問(wèn)題的核心所在。NIST的算法只能說(shuō)是相對(duì)安全,而OTP則可以實(shí)現(xiàn)絕對(duì)的安全。然而它實(shí)際上卻并不實(shí)用。SIKE crack事件強(qiáng)調(diào)的是絕對(duì)安全,而非相對(duì)安全。任何相對(duì)安全的算法只有在其被破解之前,或者說(shuō)能夠破解它們的新方法出現(xiàn)之前,才算得上是安全的。即使是在保持安全的時(shí)間里,其所加密的數(shù)據(jù)仍易于被獲取,并用于未來(lái)的解密。

任何時(shí)間,任何數(shù)學(xué)上的算法都可能會(huì)遭遇該情況。最初RSA密鑰的長(zhǎng)度為128位,并被認(rèn)為預(yù)計(jì)數(shù)百萬(wàn)年之后才能被破解。但隨著計(jì)算機(jī)的發(fā)展,算法的壽命也逐漸縮短,于是增加密鑰的長(zhǎng)度變得十分必要。如今,RSA需要超過(guò)2000位的密鑰長(zhǎng)度才能夠在經(jīng)典計(jì)算機(jī)面前保持相對(duì)安全,但其在Shor的量子計(jì)算機(jī)面前仍無(wú)法實(shí)現(xiàn)絕對(duì)安全。

因此,依賴任何數(shù)學(xué)方式的加密方法都無(wú)法保證是絕對(duì)安全的。并且倘若一種算法被破解,那么所有使用該算法的加密通信都可能會(huì)被泄密。而SIKE crack事件也證明了:即使沒(méi)有量子計(jì)算機(jī),攻擊者同樣可以做到這一點(diǎn)。因此,即使在最好的情況下,NIST的quantum safe算法,也無(wú)法保證持續(xù)的安全性。

大量的研究機(jī)構(gòu)和公司都在研究這些問(wèn)題。在未來(lái),我們將看到基于OTP概念的算法,用以解決當(dāng)前面臨的危機(jī)。它們將利用信息理論,成為NIST標(biāo)準(zhǔn)化算法的可行替代方案。

OTP的利與弊

NIST競(jìng)賽僅專注于開發(fā)新的加密算法。理論上,這些算法應(yīng)該能夠在量子解密的攻擊中“存活”下來(lái)。這對(duì)于當(dāng)前的現(xiàn)狀是一種漸進(jìn)式進(jìn)步。然而開發(fā)出來(lái)的均是quantum safe加密。quantum safe與quantum security不同。這些加密通信只有在其被破解之前才能保持加密狀態(tài),也就是說(shuō)無(wú)法永久地保持安全性。

歷史和數(shù)學(xué)理論表明,這些情況的發(fā)生是不可避免的。當(dāng)其發(fā)生時(shí),我們將面臨與如今相同的境況。以往收集到的所有使用該算法加密的數(shù)據(jù)都將會(huì)被對(duì)手所破解。但是,既然已經(jīng)有了替代方案(即一次性密鑰加密)可以抵抗量子解密,那么為什么這種方法沒(méi)有被采用呢?

一次性密鑰加密在理論上提供了完美的安全性,但其在使用方面仍存在一定的缺陷,使得它不切實(shí)際。首先,一次性密鑰必須由真正的隨機(jī)源生成,而這并不像聽起來(lái)那樣簡(jiǎn)單。

這就是為什么Qrypt要使用由橡樹嶺國(guó)家實(shí)驗(yàn)室(the Oak Ridge National Laboratory)以及阿拉莫斯國(guó)家實(shí)驗(yàn)室(the Los Alamos National Laborator)許可的量子隨機(jī)數(shù)生成器(quantum random number generators,QRNGs)。這些量子熵源是科學(xué)上唯一已知的真正隨機(jī)源。

其次,OTP的大小也是一個(gè)問(wèn)題。一次性密鑰必須要和所加密的信息一樣長(zhǎng)。所以,如果想加密一條長(zhǎng)消息,那么一次性密鑰的大小將比NIST所選算法的密鑰大得多。

更長(zhǎng)的密鑰是爭(zhēng)取更高安全性所必須付出的代價(jià)。所有的機(jī)密系統(tǒng)均是如此。密鑰越短,那么安全性也就越低。NIST的另一個(gè)決賽選手是“Classic McEliece”,其密鑰的長(zhǎng)度就十分巨大,但其仍有可能會(huì)成為標(biāo)準(zhǔn)化。在許多常見的用例中,對(duì)于消息或小文件的傳遞,McEliece密鑰往往比OTP大得多。”

同時(shí),認(rèn)證也是需要擔(dān)心的方面。一次性密鑰加密是無(wú)法提供身份驗(yàn)證的。“能夠?yàn)槿魏晤愋偷臄?shù)據(jù)或端點(diǎn)提供身份驗(yàn)證”的想法可能源于NSA對(duì)QKD的反對(duì)。NSA曾表示:QKD不提供驗(yàn)證QKD傳輸源的方法。

還有一個(gè)簡(jiǎn)單的反例:任意長(zhǎng)度的OTP都可以被賦予hash值,并在通信雙方之間明確地發(fā)送,以驗(yàn)證它們是否具有相同的OTP。

另外,顧名思義,一次性密鑰只能使用一次,這同樣是它不切實(shí)際的一點(diǎn)。

這是為了實(shí)現(xiàn)更高的安全性,而做出的權(quán)衡。對(duì)加密密鑰的重復(fù)利用意味著一旦密鑰被破解或者被獲取訪問(wèn)權(quán)限,那么之前所有使用該密鑰加密的數(shù)據(jù)都會(huì)被解密。OTP只會(huì)被使用一次,所以即使有人非法訪問(wèn)了其中一個(gè)OTP,也無(wú)法對(duì)其他加密數(shù)據(jù)造成威脅。”

OTP最主要的問(wèn)題大概在于密鑰的交換。使用一次性密鑰進(jìn)行加密通信時(shí),必須要與對(duì)方進(jìn)行密鑰的交換。

這種大規(guī)模的密鑰交換幾乎是不可能的,并且也無(wú)法實(shí)現(xiàn)與之前從未溝通過(guò)的另一方進(jìn)行通信。我們可以通過(guò)線下的郵件或快遞的方式來(lái)發(fā)送一次性密鑰,但是卻不能通過(guò)電子的方式來(lái)發(fā)送。然而,如果可以通過(guò)線下方式安全地傳送一次性密鑰,那么為什么不直接傳遞要分享的信息呢。

密鑰傳輸以及大規(guī)模分發(fā)困難等問(wèn)題同樣適用于NIST目前正在考慮的所有公鑰加密密鑰。除了大小之外,OTP并沒(méi)有什么獨(dú)特之處。OTP可以被持續(xù)地生成,并在以后創(chuàng)建消息時(shí)使用。兩個(gè)過(guò)程沒(méi)有理由同時(shí)進(jìn)行,除非它是一個(gè)實(shí)時(shí)的通信渠道。

現(xiàn)代的加密系統(tǒng)克服了這些障礙,而且非常高效。

現(xiàn)代的加密系統(tǒng)是一種一刀切的解決方案,十分高效。但代價(jià)是安全性更低。長(zhǎng)期以來(lái),云計(jì)算、高帶寬網(wǎng)絡(luò)以及分布式的數(shù)據(jù)中心已經(jīng)克服了使用OTP的障礙。在RSA基礎(chǔ)上發(fā)展而來(lái)的PQC改變了一種基于20世紀(jì)70年代的前互聯(lián)網(wǎng)架構(gòu)算法(通信雙方通過(guò)一個(gè)銅線通道以及若干網(wǎng)絡(luò)交換機(jī)相連接)。

當(dāng)下的例子

目前,一些公司已經(jīng)在他們的技術(shù)中使用了OTP的概念。Rixon和Qrypt公司就是例子。前者是借用OTP思想來(lái)保護(hù)數(shù)據(jù),而后者則可以實(shí)現(xiàn)真正的OTP通信。

Rixon

Rixon傳遞了一個(gè)基于云的無(wú)保險(xiǎn)庫(kù)標(biāo)識(shí)化系統(tǒng)。從客戶端收到的信息會(huì)被立即發(fā)送到云中并進(jìn)行標(biāo)識(shí)化。返回給客戶的數(shù)據(jù)中每一個(gè)字符都會(huì)被進(jìn)行隨機(jī)的標(biāo)識(shí)化,并且該標(biāo)記化過(guò)程由客戶端的客戶本人所控制。

在標(biāo)記化過(guò)程中,沒(méi)有直接使用加密算法或加密密鑰,只有一系列的大量隨機(jī)化步驟。其目的并非是提供安全通信,也不是提供一次性加密密鑰,而是從客戶的電腦上刪除純文本數(shù)據(jù),以防止它們被盜。

然而,該過(guò)程借用了OTP的許多概念。任何密鑰的破解都無(wú)法用來(lái)幫助對(duì)數(shù)據(jù)進(jìn)行大規(guī)模的非法訪問(wèn)。因?yàn)槊總€(gè)字符都是被單獨(dú)進(jìn)行標(biāo)識(shí)化的,因此即使該字符的標(biāo)識(shí)化過(guò)程被破解或竊取,攻擊者也只能實(shí)現(xiàn)對(duì)單個(gè)字符的解密。

所以結(jié)果就是,任何兩組數(shù)據(jù)都不會(huì)具有相同的加密過(guò)程。這與OTP方法相類似。

加密通信離不開強(qiáng)大的密鑰管理系統(tǒng),其中密鑰循環(huán)以及密鑰失效是每一種加密管理系統(tǒng)的基石。一段時(shí)間后,所有系統(tǒng)的效率都會(huì)越來(lái)越低,這往往是由于流程和程序出現(xiàn)了問(wèn)題了。文書方面的工作容易調(diào)整,但現(xiàn)實(shí)是,密鑰管理系統(tǒng)已逐漸過(guò)時(shí),變得不再有效。隨著時(shí)間的推移,組織會(huì)產(chǎn)生一種安全的錯(cuò)覺(jué),而密鑰則會(huì)被盜,被泄露,并為人所知。

這些情況在量子時(shí)代會(huì)變得更糟。隨著量子處理器的出現(xiàn)(當(dāng)然,并不是說(shuō)它們是破解加密的真正必要條件),隨著這些速度極快的處理器的出現(xiàn),加密技術(shù)的失誤與弱點(diǎn)將變得更加明顯。

Qrypt

Qrypt通過(guò)一個(gè)量子程序來(lái)生成真正的隨機(jī)數(shù)。這是唯一已知的能夠產(chǎn)生真正隨機(jī)數(shù)的方法。該公司還開發(fā)了一種方法,能夠同時(shí)向發(fā)送方和接收方提供相同的隨機(jī)數(shù)。通信雙方均可以使用這些隨機(jī)數(shù)來(lái)生成加密密鑰,從而不再需要通過(guò)不可信的互聯(lián)網(wǎng)來(lái)傳遞密鑰。

最初目的主要是為密鑰的生成提供真正的隨機(jī)數(shù),因?yàn)殡S機(jī)數(shù)的質(zhì)量差是加密方面的主要攻擊向量。其次的目的是通過(guò)在通信雙方之間建立相同的密鑰來(lái)消除通過(guò)不可信的網(wǎng)絡(luò)發(fā)送密鑰的需要。

該過(guò)程可用于提高當(dāng)前經(jīng)典算法以及NIST的PQC算法的安全性,也可用來(lái)促進(jìn)一次性密鑰加密的安全性(同樣的過(guò)程可以作為一次性密鑰來(lái)使用).

360截圖16251112669372.png

加密的未來(lái)

毫無(wú)疑問(wèn),當(dāng)前的加密算法在量子時(shí)代之前就需要被更新迭代。NIST專注于堅(jiān)持現(xiàn)有的方法,即通過(guò)使用更復(fù)雜的算法來(lái)對(duì)抗更強(qiáng)大的計(jì)算機(jī)。

倘若一次性密鑰加密仍不切實(shí)際,那么這將是唯一有效發(fā)展方向。

但初創(chuàng)公司已經(jīng)證明:過(guò)去阻礙電子OTP出現(xiàn)的問(wèn)題正在被新型的云技術(shù)所規(guī)避。這非常值得欣慰,因?yàn)樵贜IST的量子安全(safe)解決方案和OTP的quantum secure解決方案之間終于有了一個(gè)真正的選擇。

THEEND

最新評(píng)論(評(píng)論僅代表用戶觀點(diǎn))

更多
暫無(wú)評(píng)論