混合加密是否足以支撐后量子安全?

關(guān)于混合加密能夠提供多大的安全性一直是爭議最大的問題之一。這很大程度上取決于具體細(xì)節(jié),算法設(shè)計者可以采用各種不同的方法,來獲取不同的優(yōu)勢。目前混合加密有多種不同的實現(xiàn)模型或方法,而且并非所有細(xì)節(jié)都已最終確定。

本文來自微信公眾號“安全內(nèi)參”。

穿西裝是否一定要打領(lǐng)帶?手里有一把鑰匙的話,是否還需要再配一把備用的?許多CISO、安全團(tuán)隊以及密碼學(xué)家在對新一代加密協(xié)議進(jìn)行選擇時,也面臨著相類似的問題。例如,用戶是否需要多層加密?他們是否能夠接受相應(yīng)的復(fù)雜性和成本?

01

什么是混合加密?

討論到“混合加密”時,大部分爭議都集中在對這一概念實際意義的解讀上。一般來說,混合加密指的是公鑰(非對稱)加密與對稱加密的結(jié)合使用。如今,混合使用多種算法的系統(tǒng)非常普遍,數(shù)學(xué)家們在結(jié)合不同算法以利用其優(yōu)勢的工作上已經(jīng)下了一番功夫。舉個例子,很多使用公鑰的加密系統(tǒng)實際上就是利用公鑰算法來對一個對稱密鑰進(jìn)行加密,隨后再用這個對稱密鑰來對數(shù)據(jù)進(jìn)行加密。對稱加密算法,尤其是像AES這樣的算法通常要快得多,而混合加密策略也正是利用了這種速度上的優(yōu)勢。

當(dāng)前,該議題受到廣泛的關(guān)注主要是因為NIST(美國國家標(biāo)準(zhǔn)技術(shù)研究所)舉辦的PQC(post-quantum cryptography,后量子密碼)競賽促進(jìn)了后量子算法的開發(fā)和推廣。許多人對這些新興方法的可信度持懷疑態(tài)度,他們期望通過采用某種混合策略,來在過渡期內(nèi)增強(qiáng)安全性的確信度。

采用多重層次防護(hù)來增強(qiáng)安全性并非新興的策略。例如,Stuart Haber和Scott Stornetta在創(chuàng)立Surety公司并設(shè)計其時間戳服務(wù)時,就同時采用了兩種不同的哈希函數(shù)。此外,他們還預(yù)設(shè)了一種機(jī)制,允許未來引入更高效的哈希函數(shù)。在面臨密碼分析領(lǐng)域出人意料的算法突破時,他們探索了如何在廣泛使用的認(rèn)證系統(tǒng)中順利更換哈希函數(shù)的方法,以避免完全依賴單一算法的風(fēng)險。

另外,Google也正朝著采用混合算法的方向邁進(jìn)。去年,Chrome及部分服務(wù)器采取了兩種算法結(jié)合的方式來協(xié)商會話密鑰:

•X25519——TLS常用的一種橢圓曲線加密方法

•Kyber-768——抗量子加密的密鑰封裝機(jī)制,NIST后量子密碼學(xué)競賽的最終獲勝者。

在最近的一項聲明中,Chrome安全技術(shù)項目經(jīng)理Devon O’Brien表示,額外的Kyber封裝密鑰材料為每個TLS ClientHello消息增加了大約1000字節(jié)的開銷,這對于“絕大多數(shù)”用戶來說并不是問題。

02

后量子密碼學(xué)解決方案并非萬無一失

后量子技術(shù)的推廣使得人們既興奮又沮喪。NIST已多次延長截止日期,最終才確定了潛在的解決方案。此外,它還增加了新的輪次,以鼓勵開發(fā)更多的方法,以應(yīng)對未來更多的技術(shù)被證明是不安全的情況。對于那些寄希望于這場競賽能夠呈現(xiàn)出一個完美解決方案的人來說,最終結(jié)果是令人失望的。因為此次比賽所提出的疑問和挑戰(zhàn),與它所提供的解決方案一樣多,并沒有達(dá)到預(yù)期的一攬子解決效果。

使用帶有缺陷的新算法的風(fēng)險并非僅存在于理論層面。事實上,已有數(shù)個進(jìn)入決賽階段、初看有很大潛力的算法最終被證明是易于攻破的。例如,彩虹簽名方案和超奇異同源Diffie-Hellman協(xié)議(SIDH)均已被破解。

03

混合加密是彌補(bǔ)缺陷的一種保障

考慮到潛在的隱藏漏洞始終存在威脅,采取混合式解決策略顯得尤為合理。為何不能同時采用像RSA或AES這樣雖然老舊但仍然可靠的算法,以及那些新推出但尚未充分測試的算法呢?或者,為何不考慮使用兩種、三種乃至更多的算法組合?又或者,為何不嘗試進(jìn)行多次簽名計算或重復(fù)加密數(shù)據(jù)?對于PQC(向后量子密碼學(xué))的過渡,這是絕對必要的。

04

混合加密的缺點

混合解決方案可能并非理想選擇,主要出于以下原因:

•復(fù)雜性增加:至少需要兩倍的代碼量來編寫、調(diào)試、審計和維護(hù)。

•效率降低:對任何數(shù)據(jù)或會話密鑰進(jìn)行加密或解密時,至少需要兩倍的計算開銷。

•結(jié)構(gòu)不一致:這些算法彼此之間無法輕松替換。例如,某些簽名算法的密鑰是一次性使用的,而其他算法則不是。

單一標(biāo)準(zhǔn)的正確實現(xiàn)已經(jīng)相當(dāng)困難。同時采用兩個標(biāo)準(zhǔn)必然會導(dǎo)致更多的實現(xiàn)錯誤或引發(fā)新型攻擊手段的風(fēng)險。而且,在許多場合下,性能依然是關(guān)鍵考慮要素,計算開銷和數(shù)據(jù)負(fù)載的成倍增加通常是難以接受的。

近幾年來,NSA(the National Security Agency,美國國家安全局)對混合算法的推廣持保留態(tài)度,所提及的理由包括之前討論的眾多問題。并且GCHQ(英國政府通信總部)也表達(dá)了相同的觀點。

NSA在關(guān)于向后量子算法過渡的常見問題解答中寫道:不要在NSS(national security system,國家安全系統(tǒng))的任務(wù)系統(tǒng)上使用混合或其他非標(biāo)準(zhǔn)化的QR解決方案。采用非標(biāo)準(zhǔn)化方案可能會導(dǎo)致創(chuàng)建不相兼容解決方案的高風(fēng)險。

NSA面臨著一種雙重使命。一方面,他們負(fù)責(zé)確保國家通信的安全。另一方面,他們還需要通過破譯加密信息來進(jìn)行情報搜集。這就引出了一個問題:NSA究竟更注重哪一方面。

然而,像法國的ANSSI(國家信息系統(tǒng)安全局)和德國的BSI(Federal Office for Information Security,聯(lián)邦信息安全局)這樣的其他國家密碼機(jī)構(gòu)卻采取了不同的方案。他們鼓勵使用多層次的保障措施。尤其是考慮到側(cè)信道安全、實施錯誤風(fēng)險、硬件中的安全實施,以及他們的經(jīng)典密碼分析,PQC機(jī)制的安全實施研究程度遠(yuǎn)不如基于RSA和ECC的密碼機(jī)制。德國BSI總結(jié)道:“在生產(chǎn)系統(tǒng)中使用它們時,目前只建議與經(jīng)典的基于ECC或RSA的密鑰交換或密鑰傳輸一起使用。”

NSA在一些內(nèi)部機(jī)密工作中,也會推薦使用多層加密。他們在機(jī)密環(huán)境中使用商業(yè)軟件的指導(dǎo)方針中經(jīng)常鼓勵使用多個不同的加密工具來構(gòu)建多層加密的安全措施。

05

混合加密提供了多大程度的安全性?

關(guān)于混合加密能夠提供多大的安全性一直是爭議最大的問題之一。這很大程度上取決于具體細(xì)節(jié),算法設(shè)計者可以采用各種不同的方法,來獲取不同的優(yōu)勢。目前混合加密有多種不同的實現(xiàn)模型或方法,而且并非所有細(xì)節(jié)都已最終確定。

首先使用一個算法對數(shù)據(jù)進(jìn)行加密,然后再使用另一種算法來對加密后的結(jié)果再次加密,就結(jié)合了兩者的強(qiáng)度,本質(zhì)上相當(dāng)于在數(shù)字保險柜內(nèi)放置了另一個數(shù)字保險柜。任何攻擊者都需要破解兩種算法才得以獲取原始內(nèi)容。然而,這種組合并不總是以相同的方式提供安全性。舉例來說,哈希函數(shù)的設(shè)計目的是使識別碰撞變得困難,即找到兩個不同輸入產(chǎn)生相同輸出的情況:(x_1和x_2,滿足h(x_1)=h(x_2))。

如果第一個哈希函數(shù)的輸入被傳遞到另一個不同的哈希函數(shù)中(比如說g(h(x))),那么即使是在這種情況下,要找到碰撞也不會變得更加困難,尤其是在第一個哈希函數(shù)存在缺陷的情況下。如果第一個哈希函數(shù)的兩個輸入產(chǎn)生相同的輸出,那么相同的輸出將被輸入到第二個哈希函數(shù)中,以生成混合系統(tǒng)的碰撞:如果h(x_1)=h(x_2)),那么(g(h(x_1))=g(h(x_2))。

數(shù)字簽名的組合方式也不同于加密。其中最簡單的方法之一是獨立計算多個簽名。隨后可以對它們進(jìn)行獨立測試。即使是這種基本的方法也同樣引發(fā)了許多實際問題。例如,如果一個私鑰被泄露怎么辦?如果一個算法需要更新怎么辦?如果一個簽名通過但另一個失敗了怎么辦?

密碼學(xué)是一個錯綜復(fù)雜的學(xué)科,許多知識領(lǐng)域仍然籠罩在深深的神秘之中。許多密碼算法都建立在某些數(shù)學(xué)難題過于困難幾乎無法解決的假設(shè)之上,但實際上并沒有充分的證據(jù)表明這些難題是完全無法解決的。

許多傾向于采用混合策略的密碼學(xué)家相信,即使發(fā)現(xiàn)了加密算法中的漏洞,他們也可以通過額外的工作來進(jìn)行彌補(bǔ)。確保單一加密層安全可靠已經(jīng)足夠耗費時間和精力,因此對另一層再進(jìn)行一次加固往往也是值得的。對于那些追求高性能的應(yīng)用來說,他們可以選擇不使用這一層額外的安全措施,但對于那些追求更高安全保障的應(yīng)用來說,這一層額外的保護(hù)是必須接受的。

目前密碼學(xué)領(lǐng)域內(nèi)存在著兩種爭論:一種是因為缺乏足夠的了解或信息而產(chǎn)生的論點,而另一種則是建立在已有知識和理解之上的討論。人們花了幾十年的時間才得以正確處理加密填充問題,即便說RSA加密已經(jīng)不再安全,但對于新的加密算法來說,我們還知之甚少。

THEEND

最新評論(評論僅代表用戶觀點)

更多
暫無評論