從“多樣性”角度看待加密?
量子計算機有一天可能會讓加密失效,同樣還有自旋電子也會對現在的加密方式有同樣的威脅。但事實上,我們可能甚至不需要下一代的算力來破解加密——它現在已經真真切切地在發生了。
加密為何失效?
有許多因素會產生加密產生弱點,從而被犯罪分子或者國家黑客利用進行破解。這些因素的關鍵是密碼的不完全使用——包括加密庫本身,以及使用加密庫的方式。像心臟滴血,或者最近Java
15及以上版本中橢圓加密算法的實現錯誤,都會使基于其之上的程序產生隱患。庫的不正確使用、信息熵的不足、或者使用弱加密,都會對應用產生直接影響。其他加密的失敗使用包括使用弱口令,使用失陷機器的憑證等。將這些技術配合上“先竊取后解密(harvest-now-decrypt-later)”攻擊,加密技術已經不像以前那樣有效了。
密碼學的基石——數學
加解密的基礎恰恰是那些極其困難的數學問題。公鑰加密的黃金標準,RSA就是基于大數因數分解的復雜性。正方向很簡單,并且很快就能計算出來:找一些素數并相乘。但是反向操作就難多了:給定一個整數,它是哪些素數的乘積?這個因數分解的嘗試可以追溯到2,000年前的歐幾里得時代。
盡管說傳統的二進制計算機上還沒有一個真正的解決方案,但是并不意味著這種方案不存在。經過2,000年的專研,大部分數學家都認同傳統計算機能使用的因數分解算法短期內不會出現。Peter Shor證明了用量子計算機可以在多項式時間內進行合數的因數分解——但這種類型的量子計算機暫時來看不可能有效地批量生產。
為了提前準備Shor的算法會落地的那天的到來,NIST組織了一場后量子加密大賽。現在已經是第六個年頭了,原本82個提交的方案預計今年將宣布最后剩下的四個名單,剩下的候補方案都是非對稱加密算法(類似于RSA的概念),被認為能夠抵御可以在可實現的量子計算機上的自旋電子算法的算力破解。這些新算法的數學相關問題出現得更晚,并且還尚未被完全研究。
在復雜數學的領域,"世紀"是一個常見的時間單位。舉個例子,費馬的最后一個定理花了358年才被證明。同樣的邏輯,對于彩虹算法出現了一個之前不知道或者未被預見到的弱點,這絲毫不讓人驚訝——盡管說它曾被認為是最能抵御量子破解的算法,現在它已經被認為不適合被NIST所使用。這也是NIST鼓勵組織擁抱加密靈活性,為后量子加密時代做準備。
更復雜的問題在于,我們不知道,也不會知道哪些方法是有效的,哪些技術會被使用,或者誰會破解我們現在賴以守護數字宇宙的加密模式。我們只知道,大型量子計算機已經被投入使用。如果現在有一個國家,或者犯罪大師,能夠將大合數分解為素數乘積,這個人會告知天下嗎?這是現代密碼的基礎問題:我們不知道哪個加密會被破解、何時被破解、如何被破解。但是,我們可以確認的是,加密方式一定會被破解。
向華爾街取經,多樣操作
要在這樣的不確定性下加固IT環境和守護數字資產,我們可以從華爾街那里學校一些戰略層面的建議。為了應對貸款和股票的不確定性與風險,金融機構通常會采取多線程操作。通過將投資分散到多個不同資產層級、地區和行業,整個投資組合的風險可以大大降低。
這個策略應該在加密層面,同樣適用于企業IT人員和SOC團隊。使用混合多層的多種加密技術能讓數據更加安全地移動,即使某一層加密中出現漏洞。我們不會總是知道密碼棧的哪一個部分被破解了,以及如何被破解的,但是如果加密方式足夠多樣化,就不會有問題。
從行業角度,我們需要能夠支撐多種策略的并發執行,并且做好各種加密方式的更新。需要混合非對稱加密和對稱加密技術,通過帶外數據頻道進行密鑰傳輸。最重要的是,需要有行業范圍的基線來評估加密策略到底有多多樣化。
點評
量子計算機的出現是必然的,而依靠量子計算機的算力暴力破解當前主流的加密方式也只是時間問題。如何在后量子密碼時代,建設有效的密碼體系,是一大重要任務。這個月,拜登簽發的兩份與量子密碼相關的行政令,也表現出即使是美國,也在國家層面對量子密碼以及抗量子加密方面的重視。
但是,采取多樣性的加密在商用環境下是否可取,卻存在著疑問。誠然,多層復雜加密一定程度上能夠防止單個加密方式被破解導致的機密性隱患,但是在具體落地技術實踐方面,即使是當前的加密方式,依然會對算力產生不小的負擔——多層加密對算力的消耗顯然會更大,反而不利于基于數據的業務開展。