當(dāng)今社會(huì),網(wǎng)絡(luò)作為信息與價(jià)值傳遞的中樞,其安全性關(guān)系到信息安全、經(jīng)濟(jì)安全和國(guó)防安全。加密是網(wǎng)絡(luò)安全體系的重要一環(huán),成熟的密碼體系,是網(wǎng)絡(luò)安全的基石。近年來(lái),隨著密碼相關(guān)的法律法規(guī)不斷落地,政策的導(dǎo)向日益清晰,合規(guī)性的需求推動(dòng)著安全應(yīng)用的廣泛落地,進(jìn)而對(duì)加密軟硬件的需求越來(lái)越大,要求也越來(lái)越高。另一方面隨著網(wǎng)絡(luò)帶寬的升級(jí),5G通信和物聯(lián)網(wǎng)應(yīng)用的流行,高速密碼應(yīng)用場(chǎng)景逐漸泛化。高速密碼處理器作為安全應(yīng)用中,最底層的核心器件,日益受到關(guān)注。
關(guān)鍵詞:高速密碼處理器;安全芯片;密碼算法;數(shù)據(jù)安全
引言
現(xiàn)代社會(huì),電子網(wǎng)絡(luò)是信息流動(dòng)的中心樞紐。其在日常生活、金融、制造業(yè)等領(lǐng)域,得到廣泛的應(yīng)用。隨著網(wǎng)絡(luò)的普及,基礎(chǔ)帶寬的越升,許多新興的應(yīng)用場(chǎng)景隨之出現(xiàn),如大規(guī)模電子支付,數(shù)字貨幣,物聯(lián)網(wǎng)IoT,車聯(lián)網(wǎng)等。
在這些新興場(chǎng)景中,電子網(wǎng)絡(luò)不再僅是用來(lái)傳遞信息,更多是傳遞信用和價(jià)值,促進(jìn)更大規(guī)模的,更深刻的社會(huì)分工和協(xié)作,即從信息網(wǎng)向價(jià)值網(wǎng)拓展。能否保證數(shù)據(jù)的機(jī)密、不可篡改、不可抵賴,通信的保密、完整是電子網(wǎng)絡(luò)能否發(fā)展成為價(jià)值網(wǎng)絡(luò)的關(guān)鍵。其中加密技術(shù)是整個(gè)網(wǎng)絡(luò)應(yīng)用和實(shí)現(xiàn)的基石。在大規(guī)模實(shí)際的應(yīng)用中,成本、效率、能耗和時(shí)效性成為了當(dāng)前加密技術(shù)的瓶頸,因此高速密碼專用處理器日益受到關(guān)注和重視。
01
高速密碼處理器的典型架構(gòu)
當(dāng)前高速密碼處理器主要有如下幾種實(shí)現(xiàn)方式,其基本原理,設(shè)計(jì)考量如下。
通用處理器以指令驅(qū)動(dòng)方式執(zhí)行,數(shù)據(jù)通路采用馮洛伊曼架構(gòu)。通用處理器作為密碼算法的一種實(shí)現(xiàn)方案,完全可以滿足高靈活性的要求。通用處理器可以通過指令編程快速支持不同的密碼算法。但由于通用處理器是使用一套通用指令集,其計(jì)算架構(gòu)沒有針對(duì)密碼算法的特點(diǎn)進(jìn)行優(yōu)化,密碼算法中的S盒、置換等核心計(jì)算模塊在通用處理器上運(yùn)行較慢,導(dǎo)致算法整體性能較低。同時(shí),對(duì)高靈活性的追求使得通用處理器的控制邏輯占據(jù)了相當(dāng)大的比重,其計(jì)算資源局限了密碼算法的實(shí)現(xiàn),這也是其密碼性能低下的原因之一。為了獲得更強(qiáng)的密碼算力,通用處理器需要提高運(yùn)行頻率和指令并行性,但其控制邏輯的功耗和面積會(huì)增加得更快,這使得其很難提高密碼算法的能效和面積效率。
專用集成電路是根據(jù)不同算法定制的具有特殊規(guī)格的集成電路。通過優(yōu)化特定密碼算法的數(shù)據(jù)路徑和流水線,該方案可以實(shí)現(xiàn)高性能、小面積和高能效。然而,這種實(shí)現(xiàn)靈活性差,單個(gè)芯片支持的算法數(shù)量有限。在市場(chǎng)上,以這種方式實(shí)現(xiàn)的芯片大多出現(xiàn)在特殊加密領(lǐng)域。
專用指令集處理器的體系結(jié)構(gòu)是根據(jù)特定應(yīng)用領(lǐng)域的算法特點(diǎn)進(jìn)行指令集優(yōu)化的處理器。這使得其比通用處理器在該領(lǐng)域更高效。密碼算法的設(shè)計(jì)通常基于一定的數(shù)學(xué)理論,涉及一定長(zhǎng)度密鑰的大量迭代運(yùn)算,在實(shí)際應(yīng)用中往往需要處理大量信息,因此密碼算法計(jì)算強(qiáng)度高,屬于計(jì)算密集型應(yīng)用。根據(jù)密碼算法的特點(diǎn),專用指令集處理器可以加強(qiáng)數(shù)據(jù)路徑中的計(jì)算資源,簡(jiǎn)化體系結(jié)構(gòu)設(shè)計(jì)中復(fù)雜的控制邏輯,使專用指令集處理器的計(jì)算特性更好地匹配密碼算法的特性。使用專用指令集處理器作為密碼算法的實(shí)現(xiàn)方案,可以滿足支持不同密碼算法的靈活性要求,獲得比通用處理器更高的能效和面積效率。
可重構(gòu)構(gòu)架是一種硬件資源功能和互聯(lián)結(jié)構(gòu)可以根據(jù)計(jì)算任務(wù)的不同而改變的計(jì)算架構(gòu)。在執(zhí)行具體的計(jì)算任務(wù)前,先對(duì)計(jì)算資源進(jìn)行配置。配置完成后,其執(zhí)行過程與專用集成電路類似,是由數(shù)據(jù)驅(qū)動(dòng),以獲得較高的執(zhí)行效率??芍貥?gòu)構(gòu)架有效的結(jié)合了通用處理器和專用集成電路的優(yōu)勢(shì),同時(shí)具有專用集成電路的高能效和通用處理器的高靈活,比較好的滿足復(fù)雜的安全應(yīng)用對(duì)靈活性的需求。
美國(guó)加州大學(xué)的杰拉爾德埃斯特林最早提出可重構(gòu)的計(jì)算體系設(shè)想,但是受限于當(dāng)時(shí)的制造水平,無(wú)法實(shí)現(xiàn)出可重構(gòu)構(gòu)架所需要的硬件資源。20世紀(jì)90年代,隨著集成電路制造能力的突飛猛進(jìn),可重構(gòu)理念重獲學(xué)術(shù)界的青睞,并引起工業(yè)界的關(guān)注。之后,加州大學(xué)伯克利分校的可重構(gòu)技術(shù)研究中心的兩位教授,對(duì)可重構(gòu)技術(shù)提出了一個(gè)新的定義:可重構(gòu)構(gòu)架是一種計(jì)算機(jī)構(gòu)架,與其他構(gòu)架相比,其有兩個(gè)特點(diǎn)。其一是硅后定制能力,即芯片制造完成以后,可以根據(jù)計(jì)算任務(wù)的需要,而改變計(jì)算的功能,這種改變與專用集成電路不同。另一點(diǎn)是相較于只能按照指令順序執(zhí)行的傳統(tǒng)通用處理器,可重構(gòu)硬件可以根據(jù)算法的特點(diǎn),對(duì)計(jì)算引擎進(jìn)行空間映射。
按照計(jì)算的顆粒度,可重構(gòu)構(gòu)架可以分為粗顆??芍貥?gòu)和細(xì)顆??芍貥?gòu)。計(jì)算的顆粒度主要指計(jì)算中,數(shù)據(jù)路徑的位寬?,F(xiàn)場(chǎng)可編程邏輯器件是最典型的細(xì)粒度可重構(gòu)計(jì)算架構(gòu),廣泛應(yīng)用于密碼算法的實(shí)現(xiàn)。常見的分組密碼,流密碼和哈希算法都在現(xiàn)場(chǎng)可編程邏輯器件上實(shí)現(xiàn)了非常高的性能。
但由于現(xiàn)場(chǎng)可編程邏輯器件本身的結(jié)構(gòu)特點(diǎn),實(shí)際的應(yīng)用中有一定的局限性?,F(xiàn)場(chǎng)可編程邏輯器件的基本運(yùn)算單元包括觸發(fā)器、LUT查找表和數(shù)字邏輯門。密碼算法通常位寬比較大,在現(xiàn)場(chǎng)可編程邏輯器件中,算法也只能以單比特的顆粒度配置和運(yùn)行,硬件資源與計(jì)算的顆粒度無(wú)法很好的匹配。另一方面,現(xiàn)場(chǎng)可編程邏輯器件的布線資源復(fù)雜,配置信息的數(shù)量巨大,配置過程的時(shí)間也比較長(zhǎng)。
這些因素導(dǎo)致現(xiàn)場(chǎng)可編程邏輯器件,如果需要高性能地實(shí)現(xiàn)多種密碼算法,特別是公鑰算法,邏輯資源消耗巨大,成本比較難以控制??芍貥?gòu)的另一種選擇是粗粒度可重構(gòu)架構(gòu)。密碼領(lǐng)域,顆粒度可選用8位、16位或32位作為計(jì)算的基本單元。同時(shí)使用更大粒度的計(jì)算單元,如加乘法器、移位器等,用來(lái)取代了現(xiàn)場(chǎng)可編程邏輯器件中位運(yùn)算的查表等運(yùn)算單元,以簡(jiǎn)化互連結(jié)構(gòu)。
這使得粗粒度可重構(gòu)架構(gòu)比現(xiàn)場(chǎng)可編程邏輯器件更具有靈活性,適合于密碼算法的實(shí)現(xiàn)。密碼算法在粗粒度可重構(gòu)架構(gòu)實(shí)現(xiàn)時(shí),可以充分利用算法的計(jì)算特性,優(yōu)化粗粒度的計(jì)算資源,并設(shè)計(jì)相應(yīng)的配置組織和調(diào)度機(jī)制,提高密碼算法的能效和區(qū)域效率。
02
高速密碼處理器設(shè)計(jì)的挑戰(zhàn)
高速密碼處理器應(yīng)用在服務(wù)器端和中心端網(wǎng)絡(luò)設(shè)備,需要靈活支持多種密碼算法和常見安全協(xié)議,同時(shí)對(duì)性能有不低的要求。另一方面,隨著密碼服務(wù)的云化趨勢(shì),高速密碼處理器更加需要支持云場(chǎng)景的特性。具體可從以下幾個(gè)方面體現(xiàn)。
(1)網(wǎng)絡(luò)應(yīng)用場(chǎng)景中,使用多種安全協(xié)議保證通信安全,因此需要高速密碼處理器盡可能靈活地支持所有主流算法。主流的密碼算法分為公鑰算法、對(duì)稱算法和哈希算法三類。公鑰算法的主要運(yùn)算單元是大數(shù)模冪運(yùn)算;哈希和對(duì)稱算法的主要運(yùn)算單元是邏輯、算術(shù)、移位、和置換。同時(shí)密碼算法按照特征可以分為對(duì)稱密碼和非對(duì)稱密碼。對(duì)稱密碼是指加解密過程使用相同的秘鑰。常見的分組密碼,流密碼都屬于對(duì)稱密碼。非對(duì)稱密碼是指加解密的過程中,使用兩把不同的秘鑰。兩把密鑰分別稱為公鑰和私鑰。公鑰可以公開,私鑰保密。如果使用公鑰加密,可以用私鑰進(jìn)行解密,反之亦然。
在常見的安全協(xié)議中,多種加密算法相互結(jié)合使用。大部分情況,通信的兩端通過協(xié)商,決定具體采用何種密碼算法,因此位于服務(wù)器端的安全處理器需要具有足夠的靈活性。網(wǎng)絡(luò)安全系統(tǒng),采用的不同的安全協(xié)議,保障不同的網(wǎng)絡(luò)傳輸層次的通信安全。常見的安全協(xié)議包括應(yīng)用層的SSH、OpenPGP和S/MIME,網(wǎng)絡(luò)層的IPSec,傳輸層的TLS/SSL等。這些協(xié)議中需要不同的密碼算法。例如,在IPsec協(xié)議中,為了完成信息加密和數(shù)據(jù)完整性驗(yàn)證的安全策略,需要支持AES、DES、3DES等分組密碼算法和SHA256、MD5等哈希密碼算法。
同時(shí),由于現(xiàn)代安全協(xié)議獨(dú)立于密碼算法,協(xié)議中使用的密碼算法是基于會(huì)話協(xié)商的。如圖1所示,HostA和HostB需要協(xié)商會(huì)話中使用的加密算法類型和密鑰,才能通過IPsec協(xié)議完成數(shù)據(jù)加密傳輸。而且安全協(xié)議和密碼算法本身也在發(fā)展,舊的協(xié)議標(biāo)準(zhǔn)即將到期,安全協(xié)議中需要支持的密碼算法數(shù)量也在不斷增加;現(xiàn)有的密碼算法可能會(huì)因?yàn)楸还テ贫话踩愿叩男滤惴ㄈ〈?。因此,密碼算法的實(shí)現(xiàn)需要算法升級(jí)的能力,以滿足同時(shí)期存在的多個(gè)安全協(xié)議,滿足一段時(shí)間內(nèi)安全協(xié)議和密碼算法的升級(jí)。
圖1 IPSec典型流程
完整的加密過程主要分為兩步,協(xié)商秘鑰和數(shù)據(jù)流加密。期間需要多種密碼算法的參與。
(2)在特殊領(lǐng)域的應(yīng)用中,通常通過不規(guī)則地改變密鑰和算法來(lái)加強(qiáng)系統(tǒng)的安全性,使得密碼算法的實(shí)現(xiàn)滿足高靈活性的要求。除了公開密碼算法之外,各國(guó)還開發(fā)了非公開密碼算法,以保證特殊領(lǐng)域的信息安全。這些密碼算法的密鑰和算法本身都是保密的。為了加強(qiáng)系統(tǒng)的安全性,這些密碼算法在使用時(shí)會(huì)不定期地進(jìn)行修改。因此,各個(gè)通信部門應(yīng)該能夠快速協(xié)商和修改密碼算法和密鑰,以降低泄露的概率,這也是在特殊領(lǐng)域?qū)嵤┟艽a算法的重要要求。
(3)國(guó)內(nèi)安全應(yīng)用中,兩類密碼體制長(zhǎng)期共存。國(guó)際密碼體制主要是指AES-RSA體系密碼體系,該密碼體系由美國(guó)主導(dǎo),對(duì)應(yīng)的商業(yè)產(chǎn)品成熟,技術(shù)生態(tài)體系完備,但存在一定的系統(tǒng)性安全隱患。中國(guó)主導(dǎo)的密碼體系是商密體系,主要算法包括SM2/3/4等。隨著大力推廣,近些年已經(jīng)形成成熟的技術(shù)體系。國(guó)家密碼局發(fā)布SM系列算法的相關(guān)標(biāo)準(zhǔn)和規(guī)范。2018年,SM2/3/9也成為了ISO/IEC國(guó)際標(biāo)準(zhǔn),標(biāo)志著國(guó)標(biāo)體系已經(jīng)初步成型。在國(guó)內(nèi)的安全應(yīng)用中,兩類密碼體制均被采用,并在未來(lái)很長(zhǎng)一段時(shí)期,共存運(yùn)行。這將要求匹配國(guó)內(nèi)安全場(chǎng)景的高速密碼處理器支持更多的加密算法。
(4)在具體的實(shí)現(xiàn)過程中,密碼處理器的設(shè)計(jì)制造過程存在算法信息泄露和硬件級(jí)別的木馬植入風(fēng)險(xiǎn)。當(dāng)前,我國(guó)EDA工具和制造工藝不能做到完全自主可控,在非公有算法高性能芯片的設(shè)計(jì)制造過程中,存在算法本身敏感信息泄露、硬件木馬植入等安全隱患。
03
下一代高速密碼處理器的探索
當(dāng)前網(wǎng)絡(luò)加密流量場(chǎng)景越來(lái)也多,疊加帶寬的升級(jí),對(duì)密碼性能的需求逐漸增多。同時(shí)國(guó)內(nèi)專用的高速商密處理器比較稀缺,性能與國(guó)際主流產(chǎn)品有一定距離。在商用領(lǐng)域,國(guó)際上采用多核NP架構(gòu)的產(chǎn)品性能已經(jīng)能覆蓋5Gbps到100Gbps的范圍。但其產(chǎn)品主要支持國(guó)際密碼體系,對(duì)國(guó)內(nèi)商密場(chǎng)景支持欠佳。硬件級(jí)別的整合是高速密碼芯片的另一個(gè)趨勢(shì)。
整合分為兩個(gè)方向,一是密碼模塊向CPU整合,二是單純的算法芯片向全功能的安全處理器發(fā)展。將高速密碼模塊嵌入CPU,可以實(shí)現(xiàn)片內(nèi)對(duì)高速密碼服務(wù)的調(diào)用,以減少數(shù)據(jù)的搬運(yùn)和帶寬的限制,增加使用的靈活性。該方案對(duì)下游廠商來(lái)說更加安全和經(jīng)濟(jì),但高速公鑰模塊的整合,可能對(duì)芯片廠商存在不少的技術(shù)和成本上的挑戰(zhàn)。另一發(fā)展方向是,算法芯片通過集成更多模塊(比如秘鑰管理,可信計(jì)算,PUF,SRIOV等模塊),成為全功能的安全協(xié)處理器,滿足當(dāng)前安全場(chǎng)景多元化的安全需求。
無(wú)錫沐創(chuàng)集成電路設(shè)計(jì)有限公司研發(fā)了面向高速場(chǎng)景的下一代密碼處理器,旨在探索如何匹配國(guó)內(nèi)應(yīng)用合規(guī)、高靈活和高性能的需求。本次研發(fā)的高速安全處理器,將單片的吞吐率提高到了30Gbps,公鑰ECC算法達(dá)到十萬(wàn)次,同時(shí)支持常用國(guó)際國(guó)內(nèi)算法。芯片采用粗粒度可重構(gòu)架構(gòu)(Coarse-Grained Reconfigurable Architecture,CGRA)。該構(gòu)架采用配置流和數(shù)據(jù)流共同驅(qū)動(dòng)的計(jì)算模式。如圖2所示,計(jì)算架構(gòu)包括控制器和可重構(gòu)計(jì)算陣列,軟件經(jīng)映射工具轉(zhuǎn)化為配置流,并在控制器調(diào)度下對(duì)計(jì)算陣列進(jìn)行編程。計(jì)算陣列的工作分為配置和執(zhí)行兩個(gè)階段:配置階段由配置流重構(gòu)計(jì)算陣列功能,執(zhí)行階段由數(shù)據(jù)流驅(qū)動(dòng)計(jì)算陣列完成任務(wù)。
圖2芯片中的粗顆??芍貥?gòu)計(jì)算陣列
04
應(yīng)用場(chǎng)景的探索
4.1數(shù)據(jù)中心TLS/SSL加速
SSL(Secure Sockets Layer)是一個(gè)安全套接層,是一個(gè)架構(gòu)于TCP之上的安全通訊協(xié)定。它可以有效協(xié)助Internet應(yīng)用軟件提升通訊時(shí)的資料完整性以及安全性。后來(lái),標(biāo)準(zhǔn)化之后的SSL名稱改為TLS(Transport Layer Security)。
TLS/SSL在實(shí)踐的過程中,將會(huì)帶來(lái)網(wǎng)絡(luò)延遲增加、CPU負(fù)擔(dān)過重等一系列問題。TLS/SSL硬件加速器將密碼計(jì)算任務(wù),通過異步的方式,從CPU卸載到專用的密碼協(xié)處理器上執(zhí)行,讓CPU分配更多時(shí)序到業(yè)務(wù)相關(guān)任務(wù)。
圖3 SSL的握手流程
4.2國(guó)產(chǎn)5G CU服務(wù)器
5G無(wú)線接入網(wǎng)部分的架構(gòu),相對(duì)4G來(lái)說,進(jìn)行了一定的演進(jìn)。4G基站內(nèi)部分為BBU,RRU和天線幾個(gè)模塊,每個(gè)基站都有一套BBU,并通過BBU直接連到核心網(wǎng)。而到了5G時(shí)代,原先的RRU和天線合并成了AAU,而BBU則拆分成了DU和CU,每個(gè)站都有一套DU,然后多個(gè)站點(diǎn)共用同一個(gè)CU進(jìn)行集中式管理(如圖4所示)。
在5G的CU服務(wù)器中,國(guó)內(nèi)采用的ZUC算法保障傳輸?shù)陌踩Mㄟ^嵌入高速加密安全處理器,可匹配7~10Gbps的加解密數(shù)據(jù)流需求。
圖4 5G基站架構(gòu)相對(duì)4G架構(gòu)的變遷
05
結(jié)語(yǔ)
當(dāng)今世界,互聯(lián)網(wǎng)滲透到人們生活的方方面面,信息安全不僅僅是一個(gè)技術(shù)問題,更成為了一個(gè)社會(huì)問題。密碼技術(shù)作為通信安全和數(shù)據(jù)安全的基礎(chǔ)手段,是網(wǎng)絡(luò)應(yīng)用的核心組成部分。高速密碼處理器是網(wǎng)絡(luò)帶寬升級(jí),安全應(yīng)用泛化背景下必然的追求。相較于傳統(tǒng)的應(yīng)用場(chǎng)景,現(xiàn)代安全應(yīng)用對(duì)高速安全處理器要求更高。如何設(shè)計(jì)高效、靈活的專用密碼處理器是信息安全領(lǐng)域的重要研究方向之一。
作者簡(jiǎn)介>>>
蔣廣隸(1989—),男,碩士,產(chǎn)品經(jīng)理,主要研究方向?yàn)楦咝阅苊艽a處理器的應(yīng)用。
選自《信息安全與通信保密》2020年第11期(為便于排版,已省去原文參考文獻(xiàn))
引用本文:蔣廣隸.高速密碼處理器的現(xiàn)狀與未來(lái)[J].信息安全與通信保密,2020(11):34-39.