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