王劍鋒, 林永峰
(國網(wǎng)天津市電力公司,天津 300010)
目前,越來越多的產(chǎn)業(yè)都選擇利用網(wǎng)絡(luò)技術(shù)提高自身的工作效率。其中,電力網(wǎng)絡(luò)的覆蓋面積廣,其中包含的電力從站數(shù)量多,因此,電力公司對網(wǎng)絡(luò)的使用要求格外嚴(yán)格[1-2]。電網(wǎng)的正常運行離不開電力調(diào)度信息的有效、可靠傳輸。為提高電網(wǎng)的使用安全,對于電力調(diào)度信息的安全傳輸越來越重要[3]。因此,為實現(xiàn)電力調(diào)度信息的安全傳輸,需應(yīng)用有效的電力調(diào)度信息加密傳輸方法。
目前,常應(yīng)用HTTPS加密協(xié)議實現(xiàn)電力信息安全傳輸,或者應(yīng)用電力信息超輕量級流加密方法[4]保證傳輸過程的安全性。這2種信息加密傳輸均采用HTTPS加密協(xié)議,在設(shè)計一個獨特密鑰的基礎(chǔ)上設(shè)置電力調(diào)度信息的傳輸機制,從而實現(xiàn)對電力調(diào)度信息的加密傳輸。但經(jīng)過具體實踐發(fā)現(xiàn),這2種傳統(tǒng)的加密傳輸方法存在一定弊端,其保持密鑰新鮮性的能力較弱,難以有效保證電網(wǎng)安全。
為此,本研究基于神經(jīng)網(wǎng)絡(luò)具有自學(xué)習(xí)和自適應(yīng)的性質(zhì),設(shè)計一種新的面向電力調(diào)度信息的加密傳輸方法。神經(jīng)網(wǎng)絡(luò)是一種通過模仿動物神經(jīng)網(wǎng)絡(luò)行為特征而設(shè)計的人工神經(jīng)網(wǎng)絡(luò),對于復(fù)雜的系統(tǒng)、海量的信息都有極高的學(xué)習(xí)能力和自適應(yīng)能力。本研究設(shè)計的加密傳輸方法就是通過充分發(fā)揮神經(jīng)網(wǎng)絡(luò)的特點實現(xiàn)信息加密傳輸?shù)哪康模瑸榫S護電網(wǎng)的安全、穩(wěn)定提供更強有力的技術(shù)支持。
采用混沌系統(tǒng)生成電力調(diào)度信息的混沌序列,然后將混沌理論與信息加密相結(jié)合[5]。現(xiàn)將復(fù)合混沌序列密碼定義如下。

(1)

根據(jù)神經(jīng)網(wǎng)絡(luò)生成混沌隨機碼的基本原理[7],假設(shè)Xi=(x1,x2,…,xi,…,xn}表示n維二進制向量,Yi=(y1,y2,…,yi,…,yn)表示n維雙極向量[7],且i=1,2,…,n。假設(shè)存在M個二進制向量δc(c=1,2,3,…,M)存儲于網(wǎng)絡(luò)吸引子上,則相鄰的神經(jīng)元節(jié)點之間的連接權(quán)如式(2),
(2)
式中,wij表示節(jié)點i和節(jié)點j之間的連接權(quán),γc表示二進制向量δc的雙極性系數(shù)[8]。函數(shù)σ的定義如式(3),
(3)
則可得到連接權(quán)矩陣T如式(4),
(4)
式中,C表示γc的存儲模式[9]。
根據(jù)神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)規(guī)則得到神經(jīng)網(wǎng)絡(luò)的連接權(quán)矩陣,豐富神經(jīng)網(wǎng)絡(luò)中待輸入的電力調(diào)度信息,實現(xiàn)對電力調(diào)度信息混沌序列的優(yōu)化設(shè)置。
由于設(shè)置的混沌序列中數(shù)據(jù)量較大,因此,將密鑰長度設(shè)置為128位。選用的加密算法執(zhí)行變換任務(wù)時,用4行N列的矩陣,表示128位加密長度的狀態(tài)。同時,密鑰可類似表示4行N1列的矩陣,其中N1=128/32。則分組長度為128位的密鑰矩陣,可得到一個4行4列的新矩陣,新矩陣中的16個數(shù)據(jù)可表示不同的電力調(diào)度信息[10]。
該過程的變換輪數(shù)N2由N和N1共同決定。而128位的密鑰長度共需10次序列變換。在變換的過程中,需要通過字節(jié)代換、行移代換、列混合變換,加密電力調(diào)度序列的基本信息。字節(jié)代換本質(zhì)上就是替換操作,即將狀態(tài)矩陣中的元素替換成新的字節(jié)。行移代換是一種線性變換,按照加密規(guī)則實現(xiàn)[11]。該規(guī)則為:在狀態(tài)矩陣中,令第a行的字節(jié)向下移動,與d1交換;而列混合變換,就是令第b列的字節(jié)向左移動,與d2交換,其過程如圖1所示。

(a)行代換
根據(jù)上述提到的三類代換規(guī)則,置亂序列信息,利用加密函數(shù)對混沌序列信息加密,該函數(shù)見式(5),
CEi=f(IEi,counti,SK}
(5)
式中,CEi表示對第i個序列的加密結(jié)果,IEi表示第i個序列的明文,counti表示信息的初始化向量,SK表示共享密鑰[12]。通過上述公式,完成對電力調(diào)度信息序列的加密。
為保持密鑰的新鮮性,提升電力傳輸網(wǎng)絡(luò)的安全性和自愈性,設(shè)計一個動態(tài)加密傳輸方案,將加密信息在加密信道中安全傳輸。設(shè)計的加密傳輸方案共需要滿足3個必要條件:數(shù)據(jù)加密模塊、動態(tài)密鑰生成模塊以及共享密鑰更新模塊。其中,數(shù)據(jù)加密模塊的作用是對待傳輸?shù)碾娏φ{(diào)度信息進行加密,該步驟已經(jīng)在上一節(jié)實現(xiàn),此節(jié)就不再進行說明;動態(tài)密鑰生成模塊要求在信息傳輸過程中,電力主站設(shè)備和從站設(shè)備之間,生成一個動態(tài)密鑰,保持兩端一致性;共享密鑰更新模塊利用加密傳輸中的動態(tài)密鑰,對共享密鑰進行實時更新[13]。
根據(jù)加密函數(shù)可知,SK是加密的關(guān)鍵組件,利用動態(tài)密鑰DS,設(shè)置共享密鑰SK的更新條件。已知傳統(tǒng)的加密傳輸中涉及到DNP3和Modbus兩種協(xié)議,其中Modbus協(xié)議使用最為廣泛,因此,在本文中不再詳細介紹該協(xié)議的特點與規(guī)則,而是從DNP3協(xié)議規(guī)則入手。DNP3協(xié)議信息傳輸規(guī)則:在規(guī)定時間內(nèi),電力調(diào)度信息發(fā)出控制指令的一方,如果沒有收到預(yù)期應(yīng)答,則重新發(fā)送應(yīng)用層調(diào)度信息,若多次重發(fā)后依舊無法收到響應(yīng),則認(rèn)為信息傳輸失敗。本研究設(shè)計的預(yù)期動態(tài)密鑰通過監(jiān)聽正確傳輸?shù)男畔a(chǎn)生,在解析數(shù)據(jù)鏈路不會出現(xiàn)額外的開銷,因此可將傳輸隨機數(shù)作為產(chǎn)生新動態(tài)密鑰的依據(jù)。動態(tài)密鑰的生成過程如圖2所示。

圖2 動態(tài)密鑰生成過程
根據(jù)圖2可知,傳輸電力調(diào)度信息需要在發(fā)送密文時附加一個利用共享密鑰加密的隨機數(shù),其中DS_keySet_CN和DS_keySet_SN分別表示從站設(shè)備CN、主站設(shè)備SN的隨機數(shù)序列,并用N控制密鑰更新頻率;counter表示計數(shù)值。
圖2所示的動態(tài)密鑰生成過程是根據(jù)從站設(shè)備CN向主站設(shè)備SN發(fā)送的E(rand_num1,Ksc},預(yù)先設(shè)置時間閾值,當(dāng)?shù)竭_時間閾值時,若一直不能接受響應(yīng)消息,則需要重新發(fā)送;主站設(shè)備SN利用共享密鑰解密,將產(chǎn)生的隨機數(shù)串暫存,并向從站設(shè)備CN發(fā)送響應(yīng)消息;CN收到響應(yīng)消息后,自動更新DS_keySet_CN、增加counter,繼續(xù)向SN發(fā)送E(rand_num2,Ksc}。主站設(shè)備利用共享密鑰Ksc得到隨機數(shù),向從站設(shè)備發(fā)送消息,然后和上次暫存的隨機數(shù)比較,當(dāng)二者完全一致時,則表示重復(fù)數(shù)據(jù);否則更新DS_keySet_SN、增加counter。當(dāng)counter=N時,重新計算從站設(shè)備的動態(tài)密鑰DS,將該密鑰作為電力傳輸網(wǎng)絡(luò)中的動態(tài)密鑰。此時主站設(shè)備和從站設(shè)備持續(xù)更新動態(tài)密鑰,而共享密鑰需要與DS保持一致,因此計算從站設(shè)備CN的哈希值,并發(fā)送cipher,如式(6),

(6)
利用H(Ir}函數(shù)檢索共享密鑰SK和預(yù)先定義好的Str值,判斷數(shù)據(jù)完整性,t表示時間。則共享密鑰的更新方程為式(7),
SKt=DSt+SKt-1
(7)
該方案實現(xiàn)了數(shù)據(jù)加密模塊、動態(tài)密鑰生成模塊以及共享密鑰更新模塊3個環(huán)節(jié),從而完成了對動態(tài)加密傳輸方案的設(shè)計。至此,基于神經(jīng)網(wǎng)絡(luò)的電力調(diào)度信息動態(tài)加密傳輸方法設(shè)計完畢。
為驗證本研究提出的基于神經(jīng)網(wǎng)絡(luò)的電力調(diào)度信息加密傳輸方法的可靠性,設(shè)計如下對比實驗。將本文方法作為測試A組,將傳統(tǒng)的利用HTTPS加密協(xié)議實現(xiàn)電力信息安全傳輸?shù)姆椒ㄗ鳛闇y試B組,將傳統(tǒng)的電力信息超輕量級流加密方法作為測試C組。通過比較應(yīng)用不同的信息加密傳輸方法后電力網(wǎng)絡(luò)的安全性和自愈性,來判斷不同方法的有效性。
選擇某省份的國家電網(wǎng)數(shù)據(jù)作為測試對象,模擬設(shè)置不同類別的網(wǎng)絡(luò)攻擊類型。該電網(wǎng)管理平臺的顯示頁面如圖3所示。

圖3 測試對象使用界面
實驗中模擬的攻擊類型包括竊聽攻擊、惡意注入攻擊以及假冒攻擊,3種攻擊的基本信息如表1所示。

表1 不同攻擊特征統(tǒng)計
在電網(wǎng)傳輸電力調(diào)度信息時,同時注入上述3類攻擊,3類攻擊對從站與主站之間的不同信息傳輸攻擊位置如圖4所示。

圖4 多重攻擊下的電力網(wǎng)絡(luò)示意圖
結(jié)合上述測試環(huán)境,檢驗應(yīng)用不同加密方法后,電力網(wǎng)絡(luò)的安全性和自愈能力,從而判斷不同的應(yīng)用性能。
首先檢驗應(yīng)用不同加密傳輸方法后,電網(wǎng)的安全性。將電網(wǎng)接入情況、及時性、完整性和準(zhǔn)確性作為測試指標(biāo),測試存在竊聽攻擊、惡意注入攻擊以及假冒攻擊的情況下,應(yīng)用不同加密傳輸方法后,不同月份中上述4種指標(biāo)的信息傳輸反饋結(jié)果,如圖5所示。

(a)測試A組實驗結(jié)果
根據(jù)圖5所示結(jié)果可知,測試A組中的電力網(wǎng)絡(luò)只在4月份發(fā)生了一次及時性的傳輸失誤,而測試B組和測試C組在信息及時性、完整性以及準(zhǔn)確性方面均發(fā)生了多次數(shù)據(jù)傳輸失誤。由此可見,傳統(tǒng)的2種方法的抗攻擊性較差,而本文利用神經(jīng)網(wǎng)絡(luò)設(shè)計的電力調(diào)度信息加密傳輸方法,可以有效抵抗傳輸過程中存在的攻擊行為,使得電網(wǎng)信息傳輸?shù)陌踩愿摺?/p>
在此基礎(chǔ)上,測試應(yīng)用不同加密傳輸方法后,電網(wǎng)在多重攻擊下的自愈能力。測試過程中,利用不同的加密傳輸方法傳輸電力調(diào)度信息,完成數(shù)據(jù)傳輸后模擬此時的電網(wǎng)狀態(tài),得到如圖6所示的電網(wǎng)狀態(tài)模擬圖。

(a)測試A組實驗結(jié)果
根據(jù)圖6可知,測試A組內(nèi)的電網(wǎng)在經(jīng)受多種攻擊行為后可以迅速自愈,恢復(fù)到無攻擊時的運行狀態(tài);而測試B組和測試C組中的電網(wǎng),存在多個未自愈的路徑和區(qū)域,難以恢復(fù)到無攻擊時的運行狀態(tài)。
綜合上述2次實驗對比結(jié)果可知,應(yīng)用本研究設(shè)計的基于神經(jīng)網(wǎng)絡(luò)的電力調(diào)度信息加密傳輸方法后,電網(wǎng)的安全性和自愈性更強,充分證明了該方法的有效性。
以傳統(tǒng)的信息加密傳輸方法保持密鑰新鮮性能力差的問題作為研究要點,利用神經(jīng)網(wǎng)絡(luò)的高強學(xué)習(xí)能力,設(shè)計一種適用于實時動態(tài)變化的加密傳輸方案,有效保證電網(wǎng)傳輸數(shù)據(jù)過程的安全性,并當(dāng)存在攻擊時,通過極高電網(wǎng)自愈能力為信息加密傳輸提供可靠的保護手段。