很有可能在未來一切都會被加密,從你的購物清單到你的醫療記錄。這是一個令人興奮的概念,但密碼學領域尤其不穩定,現在有很多工作要做,以確保數據能夠在未來得到很好的保護。
多個加密操作可以應用于每個數據字節,因為數據在軟件、網絡和存儲堆棧的多個層中受到加密保護。這些流程支持需要強大安全性的高度關鍵業務功能,但在硬件級別,它們是現有計算最密集的操作之一。隨著每年生成的數據量呈指數級增長,以及組織采用更大的密鑰大小以及多種同步加密算法來增強安全性,對加密計算的需求也在持續增長。與此同時,這些計算需求不斷膨脹。
為了解決加密計算成本問題,硬件行業一直在努力制定新的指導方針、微架構增強和創新的軟件優化方法。多年來這種進步的有力例子包括引入了下一代固定功能處理器指令,該指令降低了高級加密標準 (AES) 對稱加密和最近的 FIPS 算法的計算要求。因此,在過去 10 年中,組織越來越致力于實施強大的加密密碼,以更好地保護數據和通信。
但隨著量子計算的進步不斷加速,對稱和非對稱加密算法的安全效能可能會受到威脅。增加密鑰大小(從 128 位到 256 位)有助于使對稱算法(例如 AES)對量子攻擊更具彈性,但同樣,該解決方案帶來了更高的計算成本。非對稱加密算法(例如 RSA 和 ECDSA)也很可能會達不到要求。許多人說量子計算機的原始力量將是加密的消亡,但我們認為情況并非如此。
上述現有的加密方案可能會被新的后量子加密方法所取代。該行業正在積極努力過渡到新的密碼學標準,以應對這些迫在眉睫的后量子安全挑戰。事實上,許多提案已經提交給 NIST 后量子密碼學 (PQC) 競賽,其中在密鑰大小、存儲和計算規范方面有不同的要求。
隨著量子計算時代的到來,整個行業需要團結起來,朝著新的方法和標準邁進。
這種轉變會是什么樣子?過渡將是漫長的,現有的密碼學將繼續存在,直到行業能夠完全采用新興的抗量子算法。我們預計這會導致較高的計算負擔,并且組織不會廣泛采用更強的加密,直到底層的后量子算法從計算性能的角度來看在經濟上是可持續的。
為了加速未來密碼學的誕生,業界將需要開發創新的硬件改進和優化的軟件解決方案,共同縮小計算需求。好消息是我們絕不是從零開始。
以下是當今發生的加密性能改進和創新的六個關鍵示例:
1. 傳輸層安全 (TLS) 加密算法——TLS 協議分兩個階段運行。首先是會話啟動階段。發起會話時,客戶端必須使用公鑰加密方法(通常是 RSA)將私有消息傳遞給服務器,然后協議才會生成共享密鑰。RSA 基于模冪運算,這是一種產生大部分 TLS 會話啟動處理器周期的高成本計算機制。將 RSA 與橢圓曲線密碼術 (ECC) 等算法相結合,使用完美前向保密等技術,可以提供更高的安全性。
在第二階段,大量數據被傳輸。這些協議對數據包進行加密以確保機密性,并利用基于數據加密散列的消息驗證碼 (MAC) 來防止任何試圖修改傳輸中數據的行為。加密和身份驗證算法保護 TLS 批量數據傳輸,在許多情況下,將兩者結合在一起可以提高整體性能。一些密碼套件(例如 AES-GCM)甚至定義了組合的“加密 + 身份驗證”模式。
2. 公鑰密碼術——為了支持公鑰密碼中經常出現的“大數”乘法過程的改進性能,一些供應商正在創建新的指令集。例如,英特爾基于 Ice Lake 的處理器引入了 AVX512 整數融合乘加 (AVX512_IFMA) 指令集架構 (ISA) 支持。這些指令將寬 512 位 (ZMM) 寄存器中的 8 個 52 位無符號整數相乘,產生結果的高半部分和低半部分,并將其添加到 64 位累加器中。結合軟件優化技術(如多緩沖區處理),這些指令不僅可以為 RSA 提供顯著的性能改進,還可以為 ECC 提供顯著的性能改進。
3. 對稱加密——兩項指令增強提高了 AES 對稱加密的性能:矢量化 AES (VAES) 和矢量化無進位乘法。VAES 指令已擴展為使用寬 512 位 (ZMM) 寄存器一次支持最多四個 AES 塊(128 位)的矢量處理,如果使用得當,將為所有 AES 模式提供性能優勢手術。一些供應商還使用寬 512 位 (ZMM) 寄存器擴展了對一次最多四個無進位乘法運算的矢量處理的支持,從而為 Galois 散列和廣泛使用的 AES-GCM 密碼提供額外的性能。
4. 散列——可以通過為安全散列算法 (SHA) 創建新的擴展來提高計算性能,該算法將任意大小的數據消化成固定大小的 256 位。這些擴展包括顯著改進 SHA-256 性能的指令,從而可以使用更多的加密散列。
5. 函數拼接——函數拼接早在 2010 年就率先推出,是一種優化通常組合運行但順序運行的兩種算法的技術,例如 AES-CBC 和 SHA256,并將它們形成一個專注于最大化處理器資源的單一優化算法和吞吐量。結果是來自每個算法的指令的細粒度交錯,以便兩個算法同時執行。這使得在執行單個算法時由于數據依賴性或指令延遲而原本空閑的處理器執行單元能夠執行來自另一個算法的指令,反之亦然。這是非常相關的,因為算法仍然具有現代微處理器無法完全并行化的嚴格依賴性。
6.多緩沖區-多緩沖區是一種創新高效的技術,用于并行處理密碼算法的多個獨立數據緩沖區。供應商之前已經為哈希和對稱加密等算法實現了這種技術。同時處理多個緩沖區可以顯著提高性能——無論是在代碼可以利用單指令多數據(AVX/AVX2/AVX512)指令的情況下,還是在代碼不能利用單指令多數據(AVX/AVX2/AVX512)指令的情況下。這一點很重要,因為更多的數據需要加密處理,更廣泛的處理器數據路徑的可用性將使行業能夠跟上步伐。
真正的量子計算將在不知不覺中到來,行業思維已經開始從“這些數據是否應該加密?”轉變。到“為什么這些數據沒有加密?” 作為一個社區,我們必須專注于在硬件層面實施高級密碼學,以及伴隨的算法和軟件創新,以應對后量子世界帶來的挑戰。這樣做將導致一系列重要加密算法在性能和安全性方面取得更多突破,并有助于加速向下一代加密方案的過渡,該行業將需要在未來十年中度過難關。
審核編輯 黃昊宇
-
硬件
+關注
關注
11文章
3348瀏覽量
66305 -
加密
+關注
關注
0文章
304瀏覽量
23944 -
性能
+關注
關注
0文章
271瀏覽量
19009
發布評論請先 登錄
相關推薦
評論