◆向新宇 姚海燕 於志淵通訊作者,3 惠以軒 王德君
(1.國網(wǎng)浙江省電力有限公司杭州供電公司 浙江 310000;2.杭州市電力設計院有限公司余杭分公司 浙江 310000;3.北京博思匯眾科技有限公司 北京 10000)
電力能源是社會生活生產(chǎn)的重要支撐,電力系統(tǒng)是保障民生和促進社會經(jīng)濟發(fā)展的基礎產(chǎn)業(yè)。電力系統(tǒng)結(jié)構(gòu)復雜。從設備組成來看,電力系統(tǒng)主要包括電力產(chǎn)生設備、電力變換設備、電力傳送設備和分配消費設備等;從網(wǎng)絡組成來看,電力網(wǎng)主要分為電力輸電網(wǎng)和電力配電網(wǎng)[1-2]。鑒于電力行業(yè)的特殊性,需要建立完備的安全監(jiān)控體系,需要依托5G 工業(yè)網(wǎng)、窄帶物聯(lián)網(wǎng)、低功率廣域網(wǎng)絡LPWAN[3]等新技術(shù)構(gòu)建海量連接,從而實現(xiàn)數(shù)據(jù)采集、監(jiān)視控制系統(tǒng)的部署與通信,同時也為智能化用電服務提供支撐。電力物聯(lián)網(wǎng)將原本孤立的電力設備進行通信串聯(lián),打通了封閉網(wǎng)絡的信息通路,在提升電力系統(tǒng)運營便捷的同時,也給電力這一傳統(tǒng)行業(yè)帶來了新興的網(wǎng)絡安全風險。國密算法作為我國自主知識產(chǎn)權(quán)加密算法,可以融合電力物聯(lián)網(wǎng)特點進行部署應用,提高電力物聯(lián)網(wǎng)的行業(yè)安全性。
本文結(jié)合電力物聯(lián)網(wǎng)發(fā)展特點,開展電力物聯(lián)網(wǎng)網(wǎng)絡安全分析,結(jié)合國密算法算點,探討其在電力物聯(lián)網(wǎng)行業(yè)的應用,設計了典型的應用場景,提出了一種基于SM3 和SM9 的電量信息采集傳輸方案,能夠有效支撐電力信息傳輸?shù)臉I(yè)務安全開展,為行業(yè)研究和工業(yè)生產(chǎn)提供借鑒思路。
按照電網(wǎng)輸電、變電、配電和用電業(yè)務的經(jīng)營現(xiàn)狀,電力物聯(lián)網(wǎng)的整體框架設計如圖1所示[4],共包括4 層,其中感知層實現(xiàn)電力終端設備信息的感知,依托射頻識別RFID 等技術(shù)實現(xiàn)終端狀態(tài)信息的匯聚,實現(xiàn)輸電環(huán)節(jié)的線路監(jiān)控、視頻監(jiān)控,變電環(huán)節(jié)的設備巡檢、視頻監(jiān)控,配電環(huán)節(jié)的配電自動化、設備監(jiān)控和用電環(huán)節(jié)的遠程抄表、客戶關(guān)系等各個環(huán)節(jié)的信息采集;在網(wǎng)絡層,綜合運用有線通信、無線通信、衛(wèi)星通信、運營商專線、5G 等技術(shù)構(gòu)建電力專用通信系統(tǒng),形成了電力物聯(lián)網(wǎng)的廣域連接;在平臺層,通過電力通信系統(tǒng)將各個環(huán)節(jié)的信息數(shù)據(jù)傳送給管理平臺,實現(xiàn)信息的整合、分析、處理;在應用層,通過對不同行業(yè)電力服務的差異化決策,面向不同行業(yè)提供智能化專業(yè)用電服務,實現(xiàn)電力配電、電力調(diào)度的高效化和智能化。通過電力物聯(lián)網(wǎng),能夠?qū)ΜF(xiàn)有的電力系統(tǒng)基礎設施資源進行合理有效的整合,提高電能利用效率,同時,能夠推動綠色電力等新能源產(chǎn)業(yè)的電網(wǎng)迅速接入,提高電力系統(tǒng)的自動化與智能化的水平。
圖1 電力物聯(lián)網(wǎng)系統(tǒng)架構(gòu)
電力物聯(lián)網(wǎng)的一個重要特征是電力通信網(wǎng)的泛在化,大量的公共網(wǎng)絡協(xié)議在電力通信網(wǎng)中進行部署,提高電網(wǎng)監(jiān)管水平的同時,也為大多數(shù)互聯(lián)網(wǎng)攻擊手段提供了適用平臺。結(jié)合電力物聯(lián)網(wǎng)架構(gòu),本文認為其安全上的風險主要體現(xiàn)在以下幾個方面。
一是身份認證方面。伴隨電力物聯(lián)網(wǎng)開放互聯(lián)的演進,電力物聯(lián)網(wǎng)存在海量的網(wǎng)絡連接[5],尤其是在移動、泛在、混合、廣域互聯(lián)環(huán)境下,電力物聯(lián)網(wǎng)中部署了傳感裝置、移動終端、視頻監(jiān)控、智能電表、充電樁、辦公計算機等大量的內(nèi)外網(wǎng)數(shù)據(jù)采集、控制及管理設備,如何進行身份識別,實現(xiàn)業(yè)務系統(tǒng)對海量電力設備的精準定位,是防止身份識別錯識破以及惡意仿冒接入必須要面對的一個問題。
二是網(wǎng)絡邊界方面。以往電力網(wǎng)是一張隔離網(wǎng)絡,利用專有協(xié)議實現(xiàn)工業(yè)控制,與其他網(wǎng)絡邊界比較清晰。電力物聯(lián)網(wǎng)是工業(yè)互聯(lián)網(wǎng)的重要內(nèi)容,尤其是云平臺的使用,更加淡化了電力網(wǎng)與公共網(wǎng)的邊界,同時,隨著電力物聯(lián)網(wǎng)的發(fā)展,勢必需要借助公網(wǎng)資源例如電信運營商5G 切片或者MPLS VPN 網(wǎng)絡實現(xiàn)通信組網(wǎng),從而導致增加了電網(wǎng)與互聯(lián)網(wǎng)的接口規(guī)模,淡化了工業(yè)網(wǎng)絡的網(wǎng)絡邊界,增加了風險來源。
三是加密傳輸方面。電力物聯(lián)網(wǎng)存在著大量的通信數(shù)據(jù),無論是感知層RFID 終端感知網(wǎng)絡間的通信,還是網(wǎng)絡層電力終端與平臺層系統(tǒng)之間通信,都必須要面對傳輸數(shù)據(jù)的加密問題,防止中間人劫持攻擊實現(xiàn)電量數(shù)據(jù)等信息的篡改,因此數(shù)據(jù)傳輸加密的需求十分巨大。
密碼算法具有數(shù)據(jù)加密、身份認證的作用,而且在網(wǎng)絡邊界部署密碼設備還能起到網(wǎng)絡隔離的作用。在電力物聯(lián)網(wǎng)中部署密碼算法能夠做到網(wǎng)絡與信息的安全防護。
表1 所示為國密算法與國際商用密碼的對比。國密算法是由國家密碼局制訂標準的一系列算法,國密算法包括密碼算法編程、算法芯片、加密卡實現(xiàn)等一系列技術(shù)。具體分類方面,包括SM1 對稱加密、SM2 密碼雜湊算法[6]、SM3 對稱加密算法[7]、SM4 對稱加密算法、SM7 分組密碼算法、SM9 標識密碼算法以及ZUC 祖沖之算法等。國密算法應用范圍廣泛,用于對具有敏感性的內(nèi)部信息、行政事務信息、經(jīng)濟信息等進行加密保護:SM1 可用于企業(yè)門禁管理、企業(yè)內(nèi)部的各類敏感信息的傳輸加密、存儲加密,防止非法第三方獲取信息內(nèi)容;也可用于各種安全認證、網(wǎng)上銀行、數(shù)字簽名等。
表1 國密算法列表
目前電力部分業(yè)務數(shù)據(jù)的通信協(xié)議采用了一定的安全認證加密手段,但應用場景并不普遍,多數(shù)業(yè)務場景中仍然存在被第三方竊取或偽造協(xié)議數(shù)據(jù)包、篡改數(shù)據(jù)、仿冒身份等安全風險。運用國產(chǎn)密碼算法有利于提高安全強度,保障電力系統(tǒng)的安全運行。這其中,SM1和SM7 算法在智能電表卡通信中進行廣泛應用;SM3 可用在敏感數(shù)據(jù)的完整性驗證,例如在電表數(shù)據(jù)的傳輸過程中采用SM3 進行簽名,從而驗證電力數(shù)據(jù)沒有被修改;SM2、SM4、SM9、ZUC 算法在電力報文的安全傳輸中具有較好的應用前景。其中,SM9 提供加解密、數(shù)字簽名和密鑰交換等功能[8],算法描述如下:
(1)密鑰生成中心(Key Generation Center,KGC)公布系統(tǒng)參數(shù),<k,G1,G2,e,Ppub,H1,H2>,其中,G1,G2是N階循環(huán)子群,H1,H2為Hash 函數(shù),Ppub是主公鑰,e是KGC 選取的G1,G2的雙線性映射,KGC 秘密保留主密鑰s。
(2)密鑰生成算法:對于用戶身份IDA,密鑰生成中心(KGC)選擇公開用一個字節(jié)表示的私鑰生成函數(shù)識別符hid,在橢圓曲線有限域FN上計算t1=H1(IDA||hid,N)+s,如果t1=0,則重新生主私鑰,否則計算t2=,再計算私鑰d=P1t1以及公鑰Q=H1(IDA||hid)P1+Ppub,其中P1是G1的生成元。
(3)簽名生成算法:待簽名消息是M,簽名主公鑰Ppub,簽名密鑰dsA,對M簽名如下:
A1.計算g=e(P1,Ppub);
A2.生成隨機數(shù)r∈[1,N-1],計算w=gr,并將w轉(zhuǎn)成比特串;
A3.計算h=H2(M||w,N);
A4.計算L=(r-h)mod(N),如果值為0,則返回2)
A5.計算S=[L]dsA,輸出消息M的數(shù)字簽名 (h,S)。
結(jié)合中國電信、華為和國家電網(wǎng)發(fā)布的《5G 網(wǎng)絡切片使能智能電網(wǎng)》[9]中所描述的主要場景,本文探討低壓用電信息采集場景下電力物聯(lián)網(wǎng)加密問題,給出基于SM9 的解決方案,并分析其效益。
圖2 為電量采集系統(tǒng)架構(gòu)示意圖接入架構(gòu)。電量采集系統(tǒng)由電網(wǎng)平臺、數(shù)據(jù)通道、電力終端三部分組成,實現(xiàn)對電網(wǎng)和電表實時數(shù)據(jù)采集,完成分時電量計費統(tǒng)計和能量平衡。實現(xiàn)電量信息傳輸?shù)耐ㄐ欧绞接卸喾N,窄帶通信技術(shù)較為常用。通過周期性的采集,實現(xiàn)對重要用戶電量的持續(xù)性跟蹤,提升電力服務能力。
圖2 電量采集傳輸系統(tǒng)架構(gòu)示意圖
如圖2 所示的系統(tǒng)架構(gòu)中,安全方面有兩個現(xiàn)實需求:
一是加密傳輸問題,需要對電網(wǎng)平臺與電力終端之間的通信進行加密傳輸保護,防止信息在傳輸過中可能遭受到的劫持和惡意修改。
二是海量終端的身份認證問題,每個終端具有唯一的編碼可以實現(xiàn)身份標識,但電力終端涉及千家萬戶數(shù)目龐大,電網(wǎng)平臺需要實現(xiàn)對電力終端的身份認證。
針對上節(jié)提出的身份認證問題和加密傳輸問題,提出一種基于SM9 的加密傳輸方案,SM9 本身是一種IBC(基于標識的密碼系統(tǒng),Identity-Based Cryptograph),能夠簡化在加密過程中數(shù)字證書的交換問題,使加密算法更加易于部署和應用。
電量數(shù)據(jù)采集主要是電表終端與電網(wǎng)平臺之間的通信,具有多對一即大量電表終端對電網(wǎng)平臺服務器通信的特點。其分為兩種業(yè)務模式,第一種是由電表終端發(fā)起,向電網(wǎng)平臺上報電量數(shù)據(jù),主要用于周期性的電量數(shù)據(jù)上報;第二種是由電網(wǎng)平臺服務器發(fā)起,主要基于用電數(shù)據(jù)查詢的需求。電量信息采集與傳輸是一種雙向業(yè)務,可以采用對稱或者非對稱密碼算法方法進行加密,無論采用哪種方式,密鑰管理都是相當大的問題。分別對這兩種方式進行分析如下。
● 如果對稱密碼算法采用預置密鑰(Pre-shared key),那么由于通信雙方密鑰存儲在電表一側(cè),則會導致電表終端的安全對整個電網(wǎng)的影響過大,同時,電網(wǎng)平臺服務器每次需要根據(jù)用戶身份查詢對應的密鑰,則會帶來身份認證的額外負擔,在大量電力終端同時通信時易形成電網(wǎng)平臺服務器的拒絕服務攻擊。
● 如果采用非對稱密碼算法,那么電表端需要存儲供電站的公鑰以及自己的私鑰,電網(wǎng)平臺存儲自己私鑰以及用戶電表的公鑰,電表終端在進行電力數(shù)據(jù)上報時,采用電網(wǎng)平臺的公鑰加密,電網(wǎng)平臺采用自己私鑰解密數(shù)據(jù);電網(wǎng)平臺向電表終端發(fā)送數(shù)據(jù)時,利用不同電表終端的公鑰進行加密,然后電表終端利用自己私鑰進行解密。
由于在電力通信中,電表終端與電網(wǎng)平臺服務器之間的雙向信道存在非對稱性,電表終端向服務器傳輸?shù)男畔⒘棵黠@高于服務器傳向電力終端發(fā)送的數(shù)據(jù)量,因此,服務器解密數(shù)據(jù)時不需要進行密鑰查詢,就能夠降低服務受到拒絕服務攻擊的可能。
上述方法解決了信息加密傳輸?shù)膯栴},但是仍然存在身份認證的難題,大量的電表終端表采用電網(wǎng)平臺的公鑰進行傳輸,如何進行信息標識是必須要考慮的問題。為此,進一步提出基于SM9 的數(shù)字簽名機制,主要思想是,電表終端在進行報文發(fā)送之間,利用雜湊算法從報文中生成報文摘要,然后利用自己私鑰進行摘要加密,加密后的摘要將作為報文的數(shù)字簽名和報文一起發(fā)送給電網(wǎng)平臺服務器,服務器用同樣的雜湊算法從接收到的原始報文中計算出報文摘要,接著再利用電力終端的公鑰來對報文附加的數(shù)字簽名進行解密,如果這兩個摘要相同,那么接收方就能確認該報文是發(fā)送方的。
基于SM9 的信息傳輸機制具體如下,以電力信息上報為例,其中電表終端簡稱ET,電網(wǎng)平臺服務器簡稱ES:
● A1.KGC 發(fā)布系統(tǒng)參數(shù),根據(jù)用戶電力編碼生ET 的公鑰私鑰,ES 的公鑰私鑰;
● A2.ET 存儲個人私鑰以及電力平臺的公鑰;ES 存儲電表終端的公鑰和自身私鑰
● A3.ET 與ES 建立通信,如果是初始化的第1 個數(shù)據(jù)包,則進行簽名,具體見下一步;否則,則利用ES 公鑰加密得到加密數(shù)據(jù)包EP,發(fā)送EP。
● A4.ET 利用SM3 對報文date 進行壓縮,報文data 只取用戶信息編碼,壓縮后得到信息摘要H=hash(date)。
● A5.ET 利用自身私鑰采用SM9 簽名算法對摘要H 進行簽名,得到簽名信息SP。
● A5.ET 將簽名信息SP 附著在原始信息后,形成組合數(shù)據(jù)包,進行加密得到EP,進行發(fā)送。
● A6.ES 接收到數(shù)據(jù)EP 后,采用自己私鑰進行解密,得到解密之后的數(shù)據(jù)包DP,并啟動數(shù)據(jù)包計數(shù)器,對收到的數(shù)據(jù)包進行標號。
● A7.如果DP 是第1 個數(shù)據(jù)包,則得到了組合數(shù)據(jù)包,提取出SP,計算出該ET 對應的公鑰,輸入待簽名信息和簽名,利用SM9 驗證簽名是否一致,如果一致證明身份的一證性。
● A8.通信結(jié)束之后,ES 的計數(shù)器清零。
如圖3 所示,本文用仿真環(huán)境對傳輸方案進行效果驗證。硬件環(huán)境上,采用局域網(wǎng)內(nèi)兩臺主機進行模擬ET 與ES,ET 與ES 的通信過程采用python 套接字socket 實現(xiàn),傳輸層協(xié)議采用TCP,利用Socket 模擬ET 與ES 之間的電量信息傳輸,傳輸內(nèi)容主要是用戶電力編碼、電量信息、當前時間等信息。SM9 和SM3 的加密代碼使用GMSSL 開源包,GMSSL 是一個開源的加密包的python 實現(xiàn),支持SM2/SM3/SM4/SM9 等國密算法。
圖3 仿真環(huán)境圖
作為對比,圖4 仿真了未加密條件下的ES 所收到明文信息,仿真環(huán)境中只傳輸了用戶的用戶編碼“1234567890”、電表示數(shù)分別是135 和145 以及采集時的時間。上述沒有加密的信息在開放網(wǎng)絡環(huán)境下,信息安全性較差容易造成信息泄漏以及中間人攻擊。在局域網(wǎng)環(huán)境下,可以在第三臺終端上部署中間人攻擊測試框架MITMF、Ettercap,開展地址欺騙技術(shù)實現(xiàn)會話劫持,能夠很方便地實現(xiàn)信息的篡改,圖5 是利用在第三方終端上部署ettercap 開展中間人攻擊的實施圖。
圖4 仿真環(huán)境電中網(wǎng)平臺收到明文信息
圖5 基于Ettercap 的中間人攻擊
圖6 是利用客戶端模擬標識為“1234567890”ET 終端,利用SM9對所傳輸信息“1234567890+145.00+1612026110.84”進行加密之后得到的加密數(shù)據(jù)。ET 將加密數(shù)據(jù)發(fā)送至ES,這能夠?qū)崿F(xiàn)數(shù)據(jù)信息的保護。在對抗中間人劫持方面,該數(shù)據(jù)使用了ES 的公鑰進行加密,但只能在ES 平臺服務器處進行解密,中間人無法進行正確的解密,該傳輸能夠有效確保信息傳輸?shù)陌踩浴?/p>
圖6 仿真環(huán)境SM9 加密結(jié)果
此外,每一次電力用戶第一個數(shù)據(jù)包為簽名數(shù)據(jù),起到身份認證作用,該過程ET 采用自身私鑰對摘要信息進行加密實現(xiàn)簽名,ES端接收到簽名需要利用自己私鑰解密信息后得到ET 的編碼,進而計算ET 公鑰,存在大量用戶訪問時ES 端響應的問題,但是由于ES端只對每一個ET 的第一上數(shù)據(jù)包進行驗證,后續(xù)通信不再驗證,因此也減輕了ES 的響應壓力,形成對ES 的保護。
電力物聯(lián)網(wǎng)是電力行業(yè)建設的重點,它打通了原本孤立的電力設備網(wǎng)絡,實現(xiàn)了海量設備的通信串聯(lián),構(gòu)建了傳統(tǒng)行業(yè)的信息通路,提升了電力系統(tǒng)運營效率。本文結(jié)合電力物聯(lián)網(wǎng)發(fā)展特點,對電力的互聯(lián)互通開展安全分析,結(jié)合國密算法算點,探討其在電力物聯(lián)網(wǎng)行業(yè)的應用,給出基于SM9 的電力終端與電網(wǎng)平臺務器之間的加密通信模式,解決身份認證、加密傳輸?shù)劝踩珕栴},為行業(yè)研究和工業(yè)生產(chǎn)提供借鑒思路。未來工作有兩個方面,一是拓展加密通信在其他電力業(yè)務場景的應用,進一步提升電力網(wǎng)安全;另一方面,目前機制只是基于電量傳輸?shù)臉I(yè)務特點,以首個數(shù)據(jù)包進行了身份認證,在其他業(yè)務上可研究身份認證次數(shù)優(yōu)化,下一步尋求在控制ES 壓力前提下,增強身份認證的有效方法。