葛紅舞 陳民
(南瑞集團有限公司(國網(wǎng)電力科學(xué)研究院有限公司),南京 210000)
電力專用縱向加密認(rèn)證裝置部署在電網(wǎng)業(yè)務(wù)的安全區(qū)I/II中,為級聯(lián)電力控制系統(tǒng)建立安全網(wǎng)絡(luò)通信通道和認(rèn)證服務(wù),實現(xiàn)電力交互數(shù)據(jù)的保密性、可靠性。隨著國內(nèi)智能變電站的規(guī)?;ㄔO(shè),網(wǎng)絡(luò)承載帶寬要求越來越高,主流縱向加密認(rèn)證裝置數(shù)據(jù)處理吞吐量明文狀態(tài)下不高于1000 Mbit/s亦不能滿足某些應(yīng)用場景要求,因此需要萬兆級別加密認(rèn)證裝置更新替代[1-2]。本文提出一種新型萬兆縱向加密分流認(rèn)證裝置設(shè)計方案,將可信度量功能應(yīng)用于裝置上電啟動安全認(rèn)證[3],重點闡述如何將分流技術(shù)應(yīng)用于多通道并行加密認(rèn)證模式,并通過XILINX VIVADO工具構(gòu)建萬兆和千兆以太網(wǎng)數(shù)據(jù)處理邏輯功能模塊,建立測試環(huán)境可行性與穩(wěn)定性驗證方案。
傳統(tǒng)電力縱向加密認(rèn)證裝置主要提供身份認(rèn)證與業(yè)務(wù)數(shù)據(jù)加解密服務(wù),依據(jù)數(shù)據(jù)有效傳輸帶寬大小可劃分為萬兆型、千兆型、百兆型、十兆型,其核心架構(gòu)基本是“CPU+加密卡/加密芯片”,加密性能很大程度由CPU決定,高性能應(yīng)用場景成本預(yù)算較高[4]。針對電力市場已有試點應(yīng)用的萬兆加密裝置,其硬件架構(gòu)基本是CPCI-E框架,即兩個主控板以及至少6路PCIE卡槽,以供加密卡使用,其工作原理為:基于網(wǎng)絡(luò)協(xié)議棧規(guī)范和業(yè)務(wù)要求,主控板CPU負(fù)責(zé)網(wǎng)絡(luò)報文初步解析,借助CPCI-E總線標(biāo)準(zhǔn)實現(xiàn)數(shù)據(jù)分發(fā)與調(diào)配,實現(xiàn)萬兆級速率數(shù)據(jù)加解密功能。綜上所述,此類萬兆加密認(rèn)證裝置產(chǎn)品硬件開發(fā)難度不大,CPU選型主頻率不得低于2 GHz,采用多核處理器;軟件方面主要的難點在于,如何將負(fù)載均衡技術(shù)融入網(wǎng)絡(luò)協(xié)議棧底層應(yīng)用開發(fā)。因此,此類加密裝置性能指標(biāo)主要取決于CPU,成本無法受控,場景應(yīng)用局限,市場推廣前景不明朗[5]。
旨在突破當(dāng)前電力專用縱向加密認(rèn)證裝置加解密速率局限性,借助FPGA天然可控編程式并行計算特點,在萬兆以太網(wǎng)帶寬內(nèi)構(gòu)建數(shù)據(jù)解析分發(fā)緩沖帶,創(chuàng)建多通道數(shù)據(jù)加解密鏈路,實現(xiàn)萬兆速率級別對稱加密與密鑰協(xié)商功能,是新型萬兆加密分流認(rèn)證裝置方案設(shè)計思路[6-9]。
圖1所示為新型萬兆加密分流認(rèn)證裝置架構(gòu),從邏輯功能角度分析,主要包括萬兆以太網(wǎng)數(shù)據(jù)分析單元、密鑰配置與協(xié)商單元、業(yè)務(wù)加密模塊。本方案在硬件電路方面的設(shè)計主要涉及兩部分:一是密鑰配置與協(xié)商單元主要基于南瑞縱向加密認(rèn)證裝置(千兆型)設(shè)計,主要負(fù)責(zé)密鑰協(xié)商、配置、存儲,硬件電路無需大改,重點調(diào)整內(nèi)部軟件架構(gòu),而業(yè)務(wù)加密模塊采用通用加密芯片SSX30-D,并行接口形態(tài)具備千兆對稱加解密速率;二是萬兆以太網(wǎng)數(shù)據(jù)分析單元以賽靈思公司的XC7V2000T作為核心主控,該模塊內(nèi)部邏輯程序設(shè)計包括10G MAC IP核、1G MAC IP核、異步FIFO IP核、萬兆數(shù)據(jù)處理邏輯單元和千兆數(shù)據(jù)邏輯處理單元。
圖1 新型萬兆分流加密認(rèn)證裝置架構(gòu)示意圖
單個萬兆以太網(wǎng)數(shù)據(jù)分析單元具有1個萬兆網(wǎng)口和1個千兆網(wǎng)口,對外通過萬兆以太網(wǎng)進行網(wǎng)絡(luò)通信,內(nèi)部通過并口與業(yè)務(wù)加解密模塊開展對稱加密操作,同時依靠標(biāo)準(zhǔn)千兆網(wǎng)口連接密鑰與配置協(xié)商單元,實現(xiàn)密鑰交互、存儲、更新功能。
參考圖2,依據(jù)邏輯功能分析,萬兆以太網(wǎng)數(shù)據(jù)分析單元包括萬兆以太網(wǎng)數(shù)據(jù)邏輯處理單元、異步FIFO緩存、數(shù)據(jù)加解密邏輯處理單元,其工作流程為:從左往右看,萬兆以太網(wǎng)數(shù)據(jù)邏輯處理單元將萬兆網(wǎng)絡(luò)報文數(shù)據(jù)進行解析、分發(fā)操作,然后傳輸至FIFO緩存區(qū),而數(shù)據(jù)加解密邏輯處理單元時刻監(jiān)控FIFO緩存狀態(tài),判斷不同業(yè)務(wù)類型FIFO數(shù)據(jù),要么定向傳向數(shù)據(jù)加密模塊,或者通過千兆網(wǎng)絡(luò)傳輸至密鑰與配置協(xié)商單元,開展關(guān)于密鑰交互的操作;從右往左看,根據(jù)業(yè)務(wù)功能要求,數(shù)據(jù)加解密邏輯處理單元中數(shù)據(jù)對稱加解密與分發(fā)處理邏輯接收來自業(yè)務(wù)加密模塊的數(shù)據(jù),借助多通道的FIFO進入發(fā)送處理邏輯,經(jīng)過分析進入萬兆以太網(wǎng),而密鑰管控處理邏輯同樣通過千兆以太網(wǎng)網(wǎng)絡(luò)通道從密鑰配置與協(xié)商單元分配加密密鑰,為數(shù)據(jù)對稱加解密操作提供基礎(chǔ)密鑰與認(rèn)證的功能。
圖2 萬兆以太網(wǎng)數(shù)據(jù)分析單元邏輯功能框圖
萬兆以太網(wǎng)數(shù)據(jù)分析單元的核心功能點在于報文數(shù)據(jù)解析與轉(zhuǎn)發(fā)機制,其邏輯模塊是萬兆以太網(wǎng)數(shù)據(jù)邏輯處理單元,其流程如圖3所示。根據(jù)FPGA 10G IP核輸出以太網(wǎng)數(shù)據(jù)幀,提取數(shù)據(jù)包進行解析,一方面具備報文過濾功能,通過規(guī)范配置MAC地址、IP地址、協(xié)議端口號方式對網(wǎng)絡(luò)報文初次篩選,建立白名單路由表,提高有效數(shù)據(jù)流傳輸;另一方面,開展協(xié)議轉(zhuǎn)發(fā)與分析功能,判斷以太網(wǎng)數(shù)據(jù)幀類型,標(biāo)識ARP報文請求與應(yīng)答,對于IP報文,根據(jù)電力業(yè)務(wù)專用加密配置策略,通過解析協(xié)議字段以及自定義數(shù)據(jù)業(yè)務(wù)字段,定位是何種加解密業(yè)務(wù)類型,做出攔截或者指定轉(zhuǎn)發(fā)操作。
圖3 數(shù)據(jù)報文處理流程圖
為了保證具備10路對稱加密通道,本文選擇含有1200個管腳的XC7V2000T,集成1 G和10 G MAC IP核實現(xiàn)以太網(wǎng)功能。大容量的Block RAM緩存區(qū)與高性能的DSP計算資源,使得XC7V2000T能夠勝任多通道數(shù)據(jù)并發(fā)處理要求,有效簡化了硬件電路設(shè)計。相較于CPCI-E框架萬兆加密裝置,XC7V2000T的生產(chǎn)成本略有下降,自主可控操作性更強,然而其軟件開發(fā)周期與深度要求更高。
對于FPGA芯片應(yīng)用,“FPGA+QSPI Flash+電源系統(tǒng)”即可組成最小系統(tǒng),燒寫bin文件通常存儲于QSPI Flash芯片中,燒寫固件大小根據(jù)邏輯應(yīng)用情況而定,對于本文所提萬兆加密分流認(rèn)證裝置可信啟動功能應(yīng)用,燒寫文件經(jīng)壓縮處理只需3 MB左右。以蘇州國芯公司的CCM3302S作為可信啟動芯片,該芯片符合國內(nèi)可信密碼模塊標(biāo)準(zhǔn),支持標(biāo)準(zhǔn)QSPI接口,因此適宜本文所提可信啟動應(yīng)用需求。
該裝置主控芯片XC7V2000T是FPGA架構(gòu),待度量系統(tǒng)固件文件存放于QSPI FLASH芯片中,可信裝置設(shè)計應(yīng)具備兩路電源系統(tǒng),一路負(fù)責(zé)可信安全芯片CCM3302S供電,時序上需要先于FPGA供電,即可信電源;另一路為主控FPGA芯片提供電源,即系統(tǒng)電源。由于主控FPGA與可信安全芯片共同訪問QSPI FLASH,存在總線復(fù)用問題,本可信裝置通過線路驅(qū)動器方式實現(xiàn)可信啟動度量要求(見圖4),具體工作流程如下。
圖4 可信啟動流程圖
(1)裝置上電,可信電源為安全芯片CCM3302S供電,保證可信度量工作正常啟動。
(2)可信安全芯片開展?fàn)顟B(tài)掃描與自我校驗工作,啟動代碼進入可信驗證模式。
(3)根據(jù)用戶預(yù)設(shè)可信策略驗證QSPI FLASH燒寫固件,待度量正確使能主控FPGA芯片供電系統(tǒng),正常加載bin文件。
如果裝置可信認(rèn)證過程中出現(xiàn)非正常中斷,則進入異常處理,可選擇通過可信安全芯片更新QSPI FLASH存儲系統(tǒng)固件或者重新燒寫系統(tǒng)bin固件。本裝置采用靜態(tài)可信根方法,實現(xiàn)系統(tǒng)的可信啟動。正如文獻[10]、[11]所述,此方法對系統(tǒng)固件進行可信度量,及時更新與校驗PCR值,適合于較小系統(tǒng)固件應(yīng)用,迭代可信鏈方式簡單、低成本、可靠。
利用思博倫網(wǎng)絡(luò)測試儀(型號:SPT-N4U)模擬產(chǎn)生以1024字節(jié)、512字節(jié)、256字節(jié)、128字節(jié)、64字節(jié)為單位的數(shù)據(jù)包,對新型萬兆加密分流認(rèn)證裝置數(shù)據(jù)報文解析與分發(fā)進行性能測試,同時記錄在明文與密文傳輸情況下是否存在誤碼、丟包現(xiàn)象。
不斷優(yōu)化XC7V2000T可編程邏輯代碼,通過一系列穩(wěn)定性測試得出,萬兆以太網(wǎng)數(shù)據(jù)分析單元能夠?qū)笪倪M行過濾與定向轉(zhuǎn)發(fā),當(dāng)前測試過濾主要是指對MAC地址、ARP包、報文類型等開展操作,定向轉(zhuǎn)發(fā)主要實現(xiàn)有效數(shù)據(jù)往指定通道傳輸。從表1可知,在UDP傳輸條件下,業(yè)務(wù)加密模塊數(shù)量與整機加解密速度成正比例關(guān)系,當(dāng)業(yè)務(wù)加密模塊數(shù)量大于8時,吞吐量提高不明顯;另外,明文傳輸性能明顯優(yōu)于密文傳輸。參考當(dāng)前電力行業(yè)應(yīng)用需求,此次測試性能滿足招標(biāo)要求。
表1 萬兆報文明文與密文傳輸速率表
本階段測試采用透傳分發(fā)模式,業(yè)務(wù)層面應(yīng)用還未過多涉及,測試結(jié)果輔助驗證了此方案的可行性。下一步工作是結(jié)合電力規(guī)范要求,重點關(guān)注密鑰協(xié)商以及業(yè)務(wù)流程管控實現(xiàn),同時優(yōu)化時序以調(diào)整XC7V2000T內(nèi)部FPGA邏輯架構(gòu),進而為萬兆加密分流認(rèn)證裝置落地應(yīng)用提供可靠測試依據(jù)。
本方案在電力縱向加密認(rèn)證業(yè)務(wù)場景電力加解密速率方面優(yōu)勢明顯,顛覆了現(xiàn)有“CPU+加密卡”架構(gòu)模式,實現(xiàn)了功能與成本的自主可控。與當(dāng)前電力市場萬兆加密認(rèn)證裝置相比較,本方案充分運用FPGA可編程與并行機制,資源調(diào)度更加合理,實現(xiàn)數(shù)據(jù)多通道分流加解密操作與傳輸,天然簡化的外圍電路有效控制了硬件生產(chǎn)成本,落地可行性更強。此外,可信安全啟動也為新型萬兆加密分流認(rèn)證裝置增添了砝碼,進一步提高裝置可靠性。目前,可信萬兆加密分流認(rèn)證裝置基本實現(xiàn)可行性驗證,加解密高性能符合智能變電站場景應(yīng)用,待業(yè)務(wù)軟件開發(fā)與測試完畢,勢必會迅速占領(lǐng)高端應(yīng)用市場。