尤 渺, 顧發(fā)英, 賀增良, 羅 旋
(1.國能大渡河流域水電開發(fā)有限公司,成都 610041; 2.國能大渡河流域生產(chǎn)指揮中心,成都 610041)
為安全管理梯級電站,集中管理式的運(yùn)營調(diào)度方式成為研究的對象[1],在一鍵順控[2]的操作控制下,能夠?qū)⒋罅俊⒎彪s的人工處理步驟固化到運(yùn)行計算機(jī)上,通過調(diào)度運(yùn)行計算機(jī)上的功能模塊,實(shí)現(xiàn)對梯級電站內(nèi)設(shè)備的遠(yuǎn)程遙控[3].但在遙控過程中含有不同流程指令的傳輸信號,易受外部環(huán)境的干擾.
為此,在多種外部環(huán)境下,研究了多種加密算法,保證了實(shí)際操作流程的安全性[4-5].文獻(xiàn)[6]采用了SMPP協(xié)議編碼的方式,在每個操作內(nèi)部配置了一個加密響應(yīng),但實(shí)際構(gòu)建的加密響應(yīng)任務(wù)存在較多的自定義字符,增加了加密前搜索數(shù)據(jù)的數(shù)量,導(dǎo)致加密后的流程數(shù)據(jù)精度較小.文獻(xiàn)[7]采用了可搜索式加密技術(shù),在對應(yīng)的操作流程數(shù)據(jù)上,標(biāo)記索引參數(shù),但該參數(shù)容易導(dǎo)致標(biāo)記索引參數(shù)出現(xiàn)不統(tǒng)一的數(shù)據(jù)主體,導(dǎo)致最終加密后公鑰尺寸過大.
針對上述問題,本文提出基于SOA的梯級電站一鍵順控操作全流程加密方法.SOA又稱面向服務(wù)的架構(gòu),是一種組件模型,能夠?qū)?shí)際應(yīng)用程序中的功能單元拆分處理后與支持協(xié)議相連接.采用定義后的中立方式后,將其獨(dú)立于服務(wù)的硬件平臺,形成一種統(tǒng)一以及通用的服務(wù)方式.通過模擬梯級電站調(diào)度,利用SOA 處理為不同的電力調(diào)度數(shù)據(jù)集,抽取有效數(shù)據(jù)并選取數(shù)據(jù)集聚類中心,在此基礎(chǔ)上累加處理非中心數(shù)據(jù),實(shí)現(xiàn)數(shù)據(jù)格式的統(tǒng)一,采用哈希函數(shù)結(jié)合碰撞參數(shù)得到加密半同態(tài)參數(shù),此時構(gòu)建公鑰與私鑰的關(guān)系,排除數(shù)據(jù)間的干擾,完成梯級電站一鍵順控操作全流程加密.
在利用SOA模擬梯級電站發(fā)電調(diào)度流程時,以ASP.NET MVC 4結(jié)構(gòu)作為基礎(chǔ),在該層次結(jié)構(gòu)之間設(shè)定對應(yīng)的調(diào)用接口,降低層級之間的依賴性.相同梯度的電站上,采用Repository模式在各個梯度電站間創(chuàng)建抽象層,生成操作網(wǎng)頁,控制電站業(yè)務(wù)邏輯層調(diào)度電站數(shù)據(jù),并通過數(shù)據(jù)存儲組件與組成數(shù)據(jù)源層的數(shù)據(jù)類型形成一個對應(yīng)關(guān)系,存儲到數(shù)據(jù)庫中.獲取梯級電站發(fā)電操作流程數(shù)據(jù)過程,如圖1所示.
在圖1所示獲取電站發(fā)電調(diào)度數(shù)據(jù)過程下,采用計算機(jī)中可拓展的組件,將固定式的電網(wǎng)發(fā)電調(diào)度流程轉(zhuǎn)化為持久化的框架,并使用SOA將呈梯級形式的組件,開發(fā)成為多層的發(fā)電調(diào)控模式,針對單一的調(diào)控模式設(shè)定一個調(diào)度與數(shù)據(jù)集的對應(yīng)關(guān)系,并采用SOA中的組件式的框架,處理為不同的發(fā)電調(diào)度數(shù)據(jù)集.標(biāo)記該數(shù)據(jù)集為不同的識別屬性,在數(shù)據(jù)集與識別屬性之間建立一個映射關(guān)系,計算得到屬性對應(yīng)的標(biāo)記參數(shù),屬性標(biāo)記參數(shù)可計算得到:
圖1 獲取電網(wǎng)調(diào)度流程數(shù)據(jù)過程Fig.1 Process of obtaining data of power grid dispatching process
其中:c表示屬性標(biāo)記參數(shù);y={1,2,…,i,…, }u表示電網(wǎng)發(fā)電調(diào)度數(shù)據(jù)集合;w表示調(diào)度關(guān)鍵詞個數(shù).其中,調(diào)度關(guān)鍵詞個數(shù)通過向量空間模型提取,處理該屬性參數(shù)為多個字段,選擇關(guān)鍵字段后,將該字段重新映射到承載服務(wù)器的節(jié)點(diǎn)上[8],形成一個梯度式的發(fā)電調(diào)度處理過程,如圖2所示.
在圖2 所示的發(fā)電調(diào)度流程下,利用關(guān)鍵字段從梯度電站中提取出屬性1,由此繼續(xù)在下一梯度電站中映射,并進(jìn)一步提取出屬性2,發(fā)送到下一梯度電站中實(shí)現(xiàn)數(shù)據(jù)調(diào)度.針對一鍵順控調(diào)度操作過程,設(shè)定操作過程的數(shù)據(jù)格式.
圖2 梯度式發(fā)電調(diào)度流程Fig.2 The dispatching flow of gradient power generation
在上述梯度式調(diào)度流程控制下,引用支持梯級電站的服務(wù)器上層應(yīng)用,在一鍵順控操作發(fā)生時,針對不同的數(shù)據(jù)包,遵循配置梯級電站的數(shù)據(jù)包[9],不斷抽取操作有效數(shù)據(jù),形成一個有效數(shù)據(jù)抽取過程,如圖3所示.
圖3 有效數(shù)據(jù)抽取過程Fig.3 Effective data extraction process
在圖3所示的數(shù)據(jù)抽取過程下,將抽取得到的數(shù)據(jù)集整合為X,選定某個數(shù)據(jù)作為數(shù)據(jù)集聚類中心[10],在統(tǒng)一一鍵順控操作格式時,以該中心作為標(biāo)準(zhǔn),累加處理非中心數(shù)據(jù),累加處理可表示為
其中:H表示一鍵順控操作數(shù)據(jù)數(shù)量;Xˉ表示流程數(shù)據(jù)的均值;p表示標(biāo)準(zhǔn)參數(shù)數(shù)值;A表示聚類參數(shù);i為冪指數(shù).其余參數(shù)含義不變.在該累加處理后,統(tǒng)一操作數(shù)據(jù)過程就可表示為
其中:Bi表示梯級電站調(diào)度數(shù)據(jù)函數(shù),其余參數(shù)含義不變.在統(tǒng)一不同梯級電站數(shù)據(jù)格式后[11],將其整合為待處理的對象,設(shè)計一個全流程加密算法,實(shí)現(xiàn)對操作流程的加密.
使用上述統(tǒng)一后的倒閘操作數(shù)據(jù)格式,將集控數(shù)據(jù)作為數(shù)據(jù)全域,采用哈希函數(shù)將集控數(shù)據(jù)映射到順控主機(jī)服務(wù)器的節(jié)點(diǎn)上,將映射的集控數(shù)據(jù)定義為一個隨機(jī)變量[12],計算數(shù)據(jù)與服務(wù)器間的碰撞數(shù)量,可表示為
其中:y表示碰撞參數(shù);Ti表示哈希參數(shù);m表示對應(yīng)的鍵參數(shù);Cy表示服務(wù)器節(jié)點(diǎn)函數(shù).當(dāng)上述鍵參數(shù)為一個固定的質(zhì)數(shù)k時,將上述碰撞參數(shù)分解為多個加密位,此時該質(zhì)數(shù)與鍵參數(shù)間的數(shù)值關(guān)系可表示為
其中:n表示順控主機(jī)服務(wù)器節(jié)點(diǎn)的數(shù)量,其余參數(shù)含義不變.不斷匯總符合上述數(shù)值關(guān)系的鍵參數(shù),對應(yīng)得到實(shí)際加密時數(shù)據(jù)期望值,可表示為
其中:ti表示服務(wù)器碰撞參數(shù)形成的時間節(jié)點(diǎn)函數(shù),其余參數(shù)含義保持不變.選取上述計算得到的期望數(shù)值作為加密時使用的素數(shù),計算素數(shù)的半同態(tài)參數(shù)[13-14],函數(shù)計算公式就可表示為
其中:v表示半同態(tài)參數(shù);N表示加密時的素數(shù).根據(jù)該半同態(tài)參數(shù),使用Paillier算法構(gòu)建一個公鑰與私鑰數(shù)值關(guān)系,可表示為
其中:pk 表示公鑰;sk 表示私鑰;g表示加密擬合參數(shù);l表示Paillier算法參數(shù);a、b表示加密時使用的素數(shù).將公鑰作為初始加密的對象,將私鑰作為次級加密的對象[15-16],形成的加密過程如圖4所示.
在圖4 所示的加密過程下,使用公鑰與私鑰之間的數(shù)值關(guān)系[17-18],形成一個加密過程,可表示為
圖4 加密過程Fig.4 Encryption process
其中:M表示最終構(gòu)建得到的加密函數(shù).使用該加密函數(shù),不斷替換加密過程中的整數(shù)數(shù)值[19-21],對信號進(jìn)行加密傳輸,實(shí)現(xiàn)隔離開關(guān)分合位置的遠(yuǎn)程操控.最終完成對梯級電站一鍵順控全流程加密方法的構(gòu)建.
采用操作系統(tǒng)為Windows 10的計算機(jī)作為加密工具,使用Java 與Python(V3.5)作為實(shí)際的開發(fā)語言,采集梯級電站中操作流程的數(shù)據(jù),數(shù)據(jù)采集過程如圖5所示.
圖5 流程數(shù)據(jù)采集過程Fig.5 Process data acquisition process
在上圖所示的流程數(shù)據(jù)采集過程下,將十次采集得到的流程數(shù)據(jù),整理為待加密數(shù)據(jù)集,整理結(jié)果如表1所示.
表1 采集得到的流程數(shù)據(jù)集Tab.1 Collected process data sets
在表1所示的數(shù)據(jù)集下,分別準(zhǔn)備傳統(tǒng)流程加密方法1(文獻(xiàn)[6]方法)、傳統(tǒng)流程加密方法2(文獻(xiàn)[7]方法)以及設(shè)計的加密方法進(jìn)行實(shí)驗(yàn),對比三種加密方法的性能.
2.2.1 加密執(zhí)行時間 基于上述實(shí)驗(yàn)準(zhǔn)備,控制三種加密方法處理上表采集得到的數(shù)據(jù)集,并進(jìn)行了對比測試.測試對加密數(shù)據(jù)集的寫入、讀取、重命名、截斷和刪除的執(zhí)行時間,最后還測試將所有流程都執(zhí)行一遍使用的總時間.以上所有測試都對所有過程執(zhí)行了10次,取其平均數(shù),最終三種加密方法加密的執(zhí)行時間結(jié)果如圖6所示.由圖6所示的加密效率結(jié)果可知,傳統(tǒng)加密方法1在執(zhí)行加密的各個環(huán)節(jié)消耗的執(zhí)行時間最長.傳統(tǒng)加密方法2所需的時間較長,要遠(yuǎn)遠(yuǎn)小于傳統(tǒng)加密方法1所需的時間,而設(shè)計得到的流程加密方法的執(zhí)行時間最短,總執(zhí)行時間平均為280 ms,與兩種傳統(tǒng)加密方法相比,該種加密方法能夠縮短加密過程中各個執(zhí)行任務(wù)的時間,時效性較強(qiáng).
圖6 三種加密方法加密執(zhí)行時間結(jié)果Fig.6 Encryption execution time results of three encryption methods
2.2.2 解密耗時 保持上述實(shí)驗(yàn)環(huán)境不變,匯總數(shù)據(jù)集中的數(shù)據(jù)指令后,以加密處理后的數(shù)據(jù)集作為處理對象,以解密三種流程加密方法下數(shù)據(jù)集的耗時作為對比指標(biāo),結(jié)果如表2所示.
分析表2 所示結(jié)果,解密處理三種加密方法同時處理加密后的流程數(shù)據(jù)集,根據(jù)統(tǒng)計得到的損耗時間結(jié)果可知,傳統(tǒng)加密方法1 產(chǎn)生的損耗結(jié)果最大,所需的解密時間在0.8~0.9 s 之間,所需的解密時間較長;傳統(tǒng)加密方法2 產(chǎn)生的損耗結(jié)果較大,解密時所需的時間在0.4~0.56 s 之間,占用的處理進(jìn)程時間較短;而設(shè)計得到的加密方法產(chǎn)生的損耗最小,在解密加密流程時,所需的時間在0.2~0.3 s 之間,與兩種傳統(tǒng)加密方法相比,設(shè)計得到的加密方法占用最小的處理流程,實(shí)際產(chǎn)生的耗時最小.
表2 三種加密方法數(shù)據(jù)集解密耗時結(jié)果Tab.2 Decryption time-consuming results of data sets by three encryption methods
2.2.3 公鑰尺寸 在上述實(shí)驗(yàn)環(huán)境下,三種加密方法同時加密的數(shù)據(jù)集(表1),記錄三種加密方法下密鑰的長度,結(jié)果如表3 所示.
根據(jù)表3所示的實(shí)驗(yàn)結(jié)果可知,傳統(tǒng)加密方法1的平均公鑰尺寸為940 bit,傳統(tǒng)加密方法2的平均公鑰尺寸為876 bit,而設(shè)計的加密方法得到的平均公鑰尺寸為632 bit左右,與前兩種流程加密方法相比,該種加密方法的公鑰尺寸最小,具有較好的應(yīng)用性能.
表3 三種加密方法的密鑰長度Tab.3 Key lengths of three encryption methods
本文設(shè)計了一種梯級電站一鍵順控操作全流程加密方法,利用SOA模擬電網(wǎng)調(diào)度并建立一鍵調(diào)度有效數(shù)據(jù)集,選取數(shù)據(jù)集中心并處理非中心數(shù)據(jù),使數(shù)據(jù)格式達(dá)到統(tǒng)一,解決了公鑰尺寸較大的問題,實(shí)現(xiàn)了梯級電站一鍵順控操作全流程的快速加密.通過實(shí)驗(yàn)驗(yàn)證了設(shè)計方法具有較好的應(yīng)用性能,能夠改善傳統(tǒng)加密方法的不足.但本文研究還存在一定的不足,在應(yīng)用時采用的數(shù)據(jù)量較小,在未來研究中,應(yīng)當(dāng)以實(shí)際梯級電站的數(shù)據(jù)作為研究對象進(jìn)行驗(yàn)證,以提高設(shè)計方法的適用性,為加密研究提供一定的支持.