国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

高速密碼工程化的若干實(shí)踐與思考*

2022-10-18 05:11張國(guó)慶艾強(qiáng)娃
信息安全與通信保密 2022年8期
關(guān)鍵詞:板卡算力高性能

張國(guó)慶,艾強(qiáng)娃

(1.北京數(shù)盾信息科技有限公司,北京 100160;2.中國(guó)鐵路蘭州局集團(tuán)有限公司 蘭州工程建設(shè)指揮部,甘肅 蘭州 730099)

0 引 言

近年來(lái),《密碼法》《網(wǎng)絡(luò)安全法》《數(shù)據(jù)安全法》等法律法規(guī)以及與密碼應(yīng)用安全性評(píng)估相關(guān)的一系列技術(shù)標(biāo)準(zhǔn)的相繼頒布和實(shí)施,標(biāo)志著我國(guó)密碼發(fā)展進(jìn)入了有法可依、有據(jù)可循的新階段,這些都對(duì)各行各業(yè)的信息系統(tǒng)合規(guī)、正確、有效開(kāi)展密碼應(yīng)用提供了具體指導(dǎo)。

在此背景下,伴隨物聯(lián)網(wǎng)、5G、云計(jì)算、大數(shù)據(jù)等新興技術(shù)的不斷發(fā)展,智慧城市、智慧行業(yè)、大規(guī)模數(shù)據(jù)中心、超高速線路通信等場(chǎng)景也正在不斷落地推廣。在密碼外在的使用需求中,計(jì)算速度越來(lái)越快并且伴隨復(fù)雜度的大幅提升,通信速度越來(lái)越快并且伴隨協(xié)議交互越來(lái)越多,存儲(chǔ)速度越來(lái)越快并伴隨數(shù)據(jù)量越來(lái)越大和可靠性要求越來(lái)越高。這些應(yīng)用技術(shù)特點(diǎn)對(duì)密碼技術(shù)特別是高速、超高速密碼技術(shù)的發(fā)展提出了迫切需求。這些需求對(duì)于密碼產(chǎn)品而言,主要是實(shí)現(xiàn)高速、高性能密碼運(yùn)算和服務(wù),盡可能地去匹配業(yè)務(wù)的高速處理能力,避免因?yàn)榘踩纬蛇^(guò)多的性能瓶頸。

1 高速密碼體系的系統(tǒng)化思維認(rèn)知

系統(tǒng)化思維是解決復(fù)雜性問(wèn)題、拆解思維難題的有效方法論,在過(guò)去幾十年的不斷發(fā)展中,幫助各行各業(yè)解決了眾多難題。杰拉爾德·溫伯格在他的經(jīng)典著作《系統(tǒng)化思維導(dǎo)論》[1]中所述的“一個(gè)系統(tǒng)就是對(duì)世界的一個(gè)看法”,為人們研究建立各類(lèi)“系統(tǒng)”提供了新視角。

對(duì)于任何系統(tǒng)而言,它都具有功能、要素和連接3 個(gè)基本屬性。其中,功能是指系統(tǒng)對(duì)外提供的能力;要素是指系統(tǒng)內(nèi)的各個(gè)組成部分/實(shí)體;連接是指要素間的關(guān)系,它也是促使要素功能最大化必不可少的促進(jìn)因素。

從系統(tǒng)的角度來(lái)看,任何對(duì)外提供密碼服務(wù)的實(shí)體,無(wú)論簡(jiǎn)單還是復(fù)雜,都是完整的“系統(tǒng)”,體現(xiàn)的是對(duì)業(yè)務(wù)應(yīng)用大“系統(tǒng)”的認(rèn)知。高速密碼技術(shù)體系所依賴(lài)的實(shí)體是高速密碼(服務(wù))系統(tǒng),從系統(tǒng)化思維視角闡釋如表1 所示。

表1 高速密碼體系的系統(tǒng)化思維闡釋

續(xù)表

2 高速密碼體系的工程化實(shí)踐要點(diǎn)

2.1 密碼產(chǎn)品高性能優(yōu)化原則和方向

根據(jù)表1 的闡述,高速密碼系統(tǒng)旨在為上層各類(lèi)應(yīng)用提供性能盡可能完善的各類(lèi)密碼服務(wù),這些密碼服務(wù)的提供往往是不同層面密碼產(chǎn)品協(xié)力達(dá)成的效果。典型密碼系統(tǒng)層次體系如圖1 所示,其中,橙色要素標(biāo)識(shí)了以實(shí)現(xiàn)密碼運(yùn)算為主的實(shí)體(部件),綠色要素標(biāo)識(shí)了以實(shí)現(xiàn)密碼通信為主的實(shí)體(部件)。

圖1 典型密碼系統(tǒng)層次體系

整體而言,密碼系統(tǒng)通常包括密碼芯片級(jí)、密碼板卡級(jí)、密碼整機(jī)級(jí)和密碼平臺(tái)級(jí)4 種類(lèi)型,高速密碼系統(tǒng)所側(cè)重實(shí)現(xiàn)的核心能力為密碼運(yùn)算和密碼通信。所以,對(duì)于高速密碼能力的優(yōu)化,應(yīng)聚焦在提高密碼運(yùn)算和密碼通信能力兩個(gè)方面,針對(duì)這兩個(gè)方面進(jìn)行拆解,進(jìn)而將指標(biāo)分解到不同層次的各個(gè)實(shí)體中。

在設(shè)計(jì)時(shí),各層次實(shí)體主要遵循兩個(gè)原則:密碼算力最大化原則和通信與密碼算力匹配原則。密碼算力最大化原則是指評(píng)估密碼資源需求,設(shè)計(jì)或集成具有更高密碼運(yùn)算能力的邏輯電路或者實(shí)體部件,旨在實(shí)現(xiàn)盡可能高的基礎(chǔ)密碼計(jì)算能力。通信與密碼算力匹配原則是指,精心選擇和設(shè)計(jì)通信信道規(guī)格,優(yōu)化內(nèi)在通信協(xié)議機(jī)制,實(shí)現(xiàn)密碼算力的高比例輸出,從而對(duì)外提供真正高性能的密碼服務(wù)。

2.2 芯片級(jí)密碼產(chǎn)品高性能設(shè)計(jì)要點(diǎn)

芯片級(jí)密碼產(chǎn)品通常包括專(zhuān)用密碼芯片和通用密碼芯片兩類(lèi)。專(zhuān)用密碼芯片根據(jù)不同密碼算法定制的具有特殊規(guī)格的集成電路,通過(guò)優(yōu)化特定密碼算法的數(shù)據(jù)路徑和流水線,實(shí)現(xiàn)高性能和小面積的平衡[2]。在設(shè)計(jì)和優(yōu)化上層密碼產(chǎn)品性能時(shí),專(zhuān)用密碼芯片選型后其基本性能就已經(jīng)確定,難以通過(guò)調(diào)用方式的優(yōu)化來(lái)實(shí)現(xiàn)性能提升?;谕ㄓ妹艽a芯片實(shí)現(xiàn)密碼算法時(shí),通常包括基于嵌入式中央處理器(Center Process Unit,CPU)軟件實(shí)現(xiàn)和采用現(xiàn)場(chǎng)可編程邏輯陣列(Field Programmable Gate Array,F(xiàn)PGA)芯片硬件實(shí)現(xiàn)兩種方式。CPU 軟件實(shí)現(xiàn)方式通常用于低成本和快速交付解決方案中,難以實(shí)現(xiàn)高性能密碼服務(wù),要想提升密碼服務(wù)性能,必須采用FPGA 芯片實(shí)現(xiàn)高速密碼服務(wù)。

按照密碼算力最大化原則,根據(jù)FPGA 芯片物理資源評(píng)估算力,在工作頻率固定的情況下,盡力增加密碼算法IP 核,如根據(jù)我們的產(chǎn)品開(kāi)發(fā)經(jīng)驗(yàn),賽靈思XC7VX690T(或復(fù)旦微電子等廠商的對(duì)應(yīng)型號(hào)國(guó)產(chǎn)替代品)可實(shí)現(xiàn)64 個(gè)SM3/SM4 算法核,這些算法核通過(guò)多路并行和流水線處理,能夠極大地提升密碼運(yùn)算能力。此外,在分組類(lèi)算法工作模式中,如計(jì)數(shù)器(CounTeR,CTR)模式、帶密文挪用的異或加密結(jié)構(gòu)可調(diào)分組密碼工作(Xor-encryption-xor Tweakable block cipher with ciphertext Stealing,XTS)模式等,盡可能地將可并行的運(yùn)算過(guò)程,實(shí)現(xiàn)在FPGA 邏輯中,而非從靈活性考慮實(shí)現(xiàn)在上位機(jī)軟件中,將芯片最大化的算力用于密碼運(yùn)算。

按照密碼通信和密碼算力匹配原則,F(xiàn)PGA密碼運(yùn)算能力只有輸出給外部對(duì)象才有意義,這就對(duì)密碼通信能力提出了要求,需要根據(jù)需求配置好高速串行計(jì)算機(jī)擴(kuò)展總線(Peripheral Component Interconnect express,PCIe)知識(shí)產(chǎn)權(quán)(Intelligence Property,IP)核,按需提供PCIe 2.0/3.0 X1/X4/X8 甚至X16 規(guī)格的通道。

2.3 板卡級(jí)密碼產(chǎn)品高性能設(shè)計(jì)要點(diǎn)

密碼板卡(也稱(chēng)密碼卡、密碼模塊、密碼模組等)是實(shí)現(xiàn)安全、高性能密碼服務(wù)的通用載體,能夠滿(mǎn)足各類(lèi)密碼整機(jī)類(lèi)產(chǎn)品需求。密碼板卡的密碼運(yùn)算和密碼通信能力通常基于密碼芯片和通信芯片設(shè)計(jì)實(shí)現(xiàn)。

在提升密碼算力方面,最有效的方式是增加密碼芯片數(shù)量,因此在板卡電路設(shè)計(jì)和驅(qū)動(dòng)程序設(shè)計(jì)上可以考慮采用多芯片并行運(yùn)算機(jī)制。如業(yè)界某款面向客戶(hù)SM2 高性能需求使用的高速密碼板卡,在設(shè)計(jì)上最高可支持4 路SM2 專(zhuān)用芯片并行處理,上位機(jī)實(shí)測(cè)SM2 簽名性能高達(dá)45 萬(wàn)TPS,板卡布局如圖2 所示,其中用方框標(biāo)識(shí)了4 顆專(zhuān)用密碼芯片。

圖2 多芯片并行運(yùn)算提升密碼算力布局

在提升密碼通信能力保證密碼算力高比例輸出方面,通過(guò)USB、PCIe 是最常見(jiàn)的方式,在高速密碼板卡(模組)產(chǎn)品中,性能最高的PCIe 接口幾乎成為標(biāo)配,應(yīng)根據(jù)密碼運(yùn)算能力選擇與之匹配的PCIe 接口規(guī)格,如PCIe X4 調(diào)整為X8,Gen2.0 調(diào)整為Gen3.0 都能實(shí)現(xiàn)通信能力翻倍提升。在物理通信信道方面,還可以通過(guò)增加信道數(shù)來(lái)提升性能,如業(yè)界某雙通道加密板卡(如圖3 所示),按照客戶(hù)需求定制專(zhuān)用連接器接口,實(shí)現(xiàn)了獨(dú)立雙PCIe 通道密碼運(yùn)算及通信輸出,上位機(jī)實(shí)測(cè)對(duì)稱(chēng)加解密速度達(dá)到了50 Gbit/s。

圖3 雙通道設(shè)計(jì)提升密碼能力

在密碼服務(wù)能力輸出方面,還應(yīng)重視驅(qū)動(dòng)程序的設(shè)計(jì)優(yōu)化,基于Scatter-Gather(SG)提高直接存儲(chǔ)器訪問(wèn)(Direct Memory Access,DMA)傳輸效率、異步緩存、減少內(nèi)存拷貝等技術(shù),可有效提升密碼運(yùn)算能力輸出效率。

通過(guò)提升密碼板卡的密碼運(yùn)算能力,提升密碼通信效率,位于上位機(jī)的密碼運(yùn)算服務(wù)接口庫(kù)便可將底層以硬件實(shí)現(xiàn)為基礎(chǔ)的高速密碼服務(wù)對(duì)外輸出和呈現(xiàn)。

2.4 整機(jī)級(jí)密碼產(chǎn)品高性能設(shè)計(jì)要點(diǎn)

整機(jī)類(lèi)密碼產(chǎn)品、密碼設(shè)備通常基于密碼硬件板卡來(lái)實(shí)現(xiàn)基礎(chǔ)密碼運(yùn)算,并通過(guò)軟件類(lèi)密碼業(yè)務(wù)服務(wù)實(shí)現(xiàn)密碼功能。

按照密碼算力最大化原則,最直接有效的方式是增加主板上置入密碼板卡的數(shù)量,實(shí)現(xiàn)多卡并行計(jì)算。在安全性要求不高的應(yīng)用場(chǎng)景中(如等保一級(jí)和二級(jí)的信息系統(tǒng)中),還可以基于CPU 進(jìn)行軟件密碼運(yùn)算,通過(guò)指令集級(jí)軟件優(yōu)化可大幅提升性能,如基于Intel IPP 庫(kù)[3]進(jìn)行密碼運(yùn)算可顯著提升運(yùn)算性能。

在提升密碼通信性能方面,特別是對(duì)于大吞吐量加解密需求,可從物理接口、網(wǎng)絡(luò)驅(qū)動(dòng)調(diào)優(yōu)、密碼業(yè)務(wù)高并發(fā)、網(wǎng)絡(luò)業(yè)務(wù)協(xié)議優(yōu)化等方面進(jìn)行充分設(shè)計(jì)和優(yōu)化,典型優(yōu)化機(jī)制和性能提升要點(diǎn)如表2 所示。

表2 密碼整機(jī)產(chǎn)品密碼通信性能提升要點(diǎn)

在密碼運(yùn)算服務(wù)接口方面,行業(yè)標(biāo)準(zhǔn)的安全設(shè)備功能(Security Device Function,SDF)接口[5]定義清晰,但部分接口效率并不高,可基于標(biāo)準(zhǔn)接口進(jìn)行擴(kuò)展,通過(guò)捎帶傳輸、批量運(yùn)算等方式提高接口輸出性能。對(duì)于Java 類(lèi)密碼服務(wù)接口,可通過(guò)Java 原生接口(Java Native Interface,JNI)機(jī)制實(shí)現(xiàn)比Java 原生訪問(wèn)(Java Native Access,JNA)機(jī)制更高效率的接口轉(zhuǎn)換。

2.5 平臺(tái)級(jí)密碼產(chǎn)品高性能設(shè)計(jì)要點(diǎn)

對(duì)于業(yè)務(wù)應(yīng)用系統(tǒng)而言,往往會(huì)由于高性能、高可用、統(tǒng)一管理調(diào)度等需求,需要部署密碼平臺(tái)級(jí)產(chǎn)品來(lái)實(shí)現(xiàn)密碼服務(wù)大規(guī)模利用。對(duì)于對(duì)外提供密碼服務(wù)的平臺(tái)級(jí)密碼產(chǎn)品,通常是以密碼設(shè)備為依托,將密碼整機(jī)設(shè)備的服務(wù)能力進(jìn)行有效組合和匯聚,并對(duì)外以統(tǒng)一的密碼運(yùn)算服務(wù)接口形式輸出。

提升平臺(tái)級(jí)密碼服務(wù)性能,優(yōu)先在水平方向擴(kuò)展密碼機(jī)集群內(nèi)的設(shè)備數(shù)量。需要指出的是,這個(gè)數(shù)量往往上限很容易達(dá)到,根據(jù)現(xiàn)有工程經(jīng)驗(yàn),集群內(nèi)超過(guò)3~5 臺(tái)設(shè)備后,新增設(shè)備對(duì)系統(tǒng)整體性能提升已經(jīng)非常不明顯,性?xún)r(jià)比顯著降低。

對(duì)于在集群中部署統(tǒng)一密碼服務(wù)平臺(tái)(軟件)的方式,這個(gè)統(tǒng)一服務(wù)節(jié)點(diǎn)也可能成為系統(tǒng)整體的瓶頸。改進(jìn)方式主要包括兩類(lèi):一是針對(duì)大吞吐量加密業(yè)務(wù)采用并聯(lián)架構(gòu)避免流量擁塞至服務(wù)節(jié)點(diǎn),對(duì)于高頻小包業(yè)務(wù)可采用門(mén)衛(wèi)/ 串聯(lián)架構(gòu)提高易用性并屏蔽設(shè)備層;二是通過(guò)Nginx 或者獨(dú)立的負(fù)載均衡設(shè)備擴(kuò)充統(tǒng)一服務(wù)平臺(tái)節(jié)點(diǎn)容量,這種方式的擴(kuò)展效率較低。

3 高速密碼技術(shù)體系發(fā)展思考

伴隨著越來(lái)越多的業(yè)務(wù)對(duì)密碼服務(wù)高性能的需求越來(lái)越迫切,高速密碼系統(tǒng)的技術(shù)體系在根據(jù)系統(tǒng)化思維拆解出的密碼通信和密碼運(yùn)算兩個(gè)維度不斷取得進(jìn)展。然而,需要客觀地認(rèn)識(shí)到,現(xiàn)有的密碼服務(wù)性能輸出在很多場(chǎng)景中依然難以滿(mǎn)足業(yè)務(wù)的發(fā)展需求,其原因如下文所述。

第一,從宏觀角度整體分析,密碼服務(wù)技術(shù)在與業(yè)務(wù)應(yīng)用系統(tǒng)融合過(guò)程中往往處于被動(dòng)和附屬地位,通常是新的計(jì)算技術(shù)、通信技術(shù)、存儲(chǔ)技術(shù)出現(xiàn)和發(fā)展帶動(dòng)業(yè)務(wù)處理能力提升,再之后才是對(duì)密碼服務(wù)提出新的需求,這就導(dǎo)致很多新業(yè)務(wù)場(chǎng)景下密碼技術(shù)特別是高速密碼技術(shù)起步較晚。

第二,從高速密碼技術(shù)方面具體分析。

(1)密碼系統(tǒng)性能橫向提升的限制和約束。從系統(tǒng)化思維方法論來(lái)看,密碼體系內(nèi)部各個(gè)要素實(shí)體以水平方向擴(kuò)展的方法提升性能,始終繞不開(kāi)物理限制和衰減率兩個(gè)指標(biāo),比如,一塊密碼卡上堆疊密碼芯片的數(shù)量受限于物理IO 端口數(shù)量和并行調(diào)度能力,一臺(tái)密碼機(jī)上置入多塊密碼卡的數(shù)量受限于主板插槽數(shù)量和并行調(diào)度能力。一個(gè)密碼機(jī)集群的密碼服務(wù)能力并不會(huì)隨著集群內(nèi)密碼機(jī)數(shù)量增加而呈線性增長(zhǎng),根據(jù)工程經(jīng)驗(yàn),當(dāng)擴(kuò)展集群規(guī)模時(shí),往往從第3 臺(tái)開(kāi)始系統(tǒng)整體性能增速就會(huì)出現(xiàn)明顯衰減,而引入第4 臺(tái)設(shè)備增加的性能相對(duì)于成本來(lái)說(shuō)已經(jīng)不具有性?xún)r(jià)比。

(2)密碼系統(tǒng)性能縱向提升的限制和性能。從系統(tǒng)化思維方法論來(lái)看,提升密碼體系內(nèi)部的縱向“連接”能力很困難,通道性能一定是越來(lái)越慢的。在硬件板卡上密碼芯片可實(shí)現(xiàn)幾十Gbit/s 加解密性能,但經(jīng)過(guò)密碼卡(PCIe)、密碼機(jī)(網(wǎng)口)、集群(網(wǎng)口)等輸出后性能會(huì)衰減幾倍。

(3)圍繞需求開(kāi)展高性?xún)r(jià)比設(shè)計(jì)。所有工程化產(chǎn)品都繞不開(kāi)性?xún)r(jià)比,密碼產(chǎn)品也不例外,所以在發(fā)展高速密碼體系過(guò)程中要緊緊圍繞需求開(kāi)展針對(duì)性設(shè)計(jì),根據(jù)業(yè)務(wù)場(chǎng)景的密碼服務(wù)需求合理分解能力需求,而不應(yīng)該面面俱到去設(shè)計(jì)大而全的密碼服務(wù)能力。例如,對(duì)于高速通信業(yè)務(wù)加解密,是分組數(shù)據(jù)的大吞吐量對(duì)稱(chēng)加密需求,而不是基于公鑰密碼的高速認(rèn)證需求;對(duì)于金融類(lèi)高頻在線交易類(lèi)業(yè)務(wù),單筆業(yè)務(wù)數(shù)據(jù)量小,對(duì)小包數(shù)據(jù)的非對(duì)稱(chēng)運(yùn)算是強(qiáng)需求。只有細(xì)化具體的密碼需求之后,才能開(kāi)展針對(duì)性設(shè)計(jì)和工程調(diào)優(yōu),調(diào)優(yōu)過(guò)程往往并沒(méi)有高深的理論支撐,更多依賴(lài)于工程經(jīng)驗(yàn),由點(diǎn)到面逐步實(shí)現(xiàn)性能提升。

4 結(jié) 語(yǔ)

伴隨著信息技術(shù)日新月異的變化,新場(chǎng)景、新業(yè)務(wù)及新的計(jì)算、通信和存儲(chǔ)技術(shù)更是不斷發(fā)展,這些都對(duì)密碼技術(shù)特別是高速密碼技術(shù)提出了非常迫切的需求,同時(shí)也給密碼行業(yè)帶來(lái)了新機(jī)遇。本文結(jié)合研制高速密碼產(chǎn)品的工程實(shí)踐,對(duì)高速密碼技術(shù)體系進(jìn)行了梳理,特別是從系統(tǒng)化思維視角對(duì)密碼服務(wù)體系進(jìn)行了拆解,闡述了各個(gè)層次密碼實(shí)體提升密碼通信和密碼運(yùn)算能力的一些技術(shù)和思路,最后對(duì)高速密碼技術(shù)體系的發(fā)展提出了思考與建議。

猜你喜歡
板卡算力高性能
中科曙光:聯(lián)合發(fā)布全國(guó)首個(gè)“一體化算力交易調(diào)度平臺(tái)”
中國(guó)電信董事長(zhǎng)柯瑞文:算力成為數(shù)字經(jīng)濟(jì)的主要生產(chǎn)力
高性能3000N針?biāo)ㄊ酵屏κ以O(shè)計(jì)
杭州“算力小鎮(zhèn)”
高性能混凝土配比設(shè)計(jì)研究
RTX系統(tǒng)下并行I/O卡驅(qū)動(dòng)程序的開(kāi)發(fā)
計(jì)算萬(wàn)物 算力之下要有堅(jiān)實(shí)的地基
航空電子設(shè)備機(jī)上線路故障研究
高性能開(kāi)關(guān)電源的設(shè)計(jì)方法分析
贏創(chuàng)推出一款高性能涂料分散劑
枣阳市| 东阳市| 栖霞市| 安阳县| 建阳市| 那曲县| 沙河市| 屯昌县| 宝鸡市| 建德市| 泰宁县| 上杭县| 石首市| 岑巩县| 犍为县| 清新县| 孟津县| 郑州市| 仁怀市| 琼结县| 三门峡市| 五莲县| 汤原县| 长海县| 个旧市| 万载县| 布尔津县| 瓦房店市| 宕昌县| 永定县| 个旧市| 万载县| 荆州市| 四川省| 金秀| 友谊县| 贵定县| 防城港市| 沅江市| 丰县| 玛沁县|