《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于SM4并行加密的智能電網(wǎng)監(jiān)控與安全傳輸系統(tǒng)
基于SM4并行加密的智能電網(wǎng)監(jiān)控與安全傳輸系統(tǒng)
2016年電子技術(shù)應(yīng)用第11期
余 容1,黃 劍2,何朝明1
1.西南交通大學(xué) 機(jī)械工程學(xué)院,四川 成都610031;2.桂林電子科技大學(xué) 信息與通信學(xué)院,廣西 桂林541004
摘要: 隨著電網(wǎng)規(guī)模的日益擴(kuò)大以及監(jiān)控設(shè)備的逐漸增多,為了高效、集中地監(jiān)控電網(wǎng)設(shè)備的運(yùn)行情況,結(jié)合ModBus和IEC104協(xié)議,設(shè)計(jì)了一種智能電網(wǎng)監(jiān)控與安全傳輸系統(tǒng),實(shí)現(xiàn)設(shè)備斷線自動(dòng)重連機(jī)制,提高系統(tǒng)的穩(wěn)定性,并且以圖形交互界面的形式提供給用戶,便于用戶直觀地進(jìn)行數(shù)據(jù)監(jiān)控與設(shè)備管理。由于數(shù)據(jù)采集量的與日俱增,針對(duì)當(dāng)前系統(tǒng)中數(shù)據(jù)傳輸?shù)陌踩暂^低、大量數(shù)據(jù)加密傳輸時(shí)實(shí)時(shí)性不高等問(wèn)題,結(jié)合SM4加密算法及GPU并行計(jì)算的能力,提出一種新的并行加密算法,并有效應(yīng)用到系統(tǒng)中,提高數(shù)據(jù)傳輸過(guò)程中的安全性與實(shí)時(shí)性。實(shí)驗(yàn)結(jié)果表明,此監(jiān)控系統(tǒng)運(yùn)行穩(wěn)定可靠,實(shí)時(shí)性好,安全性高。
中圖分類號(hào): TP309.2
文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.2016.11.017
中文引用格式: 余容,黃劍,何朝明. 基于SM4并行加密的智能電網(wǎng)監(jiān)控與安全傳輸系統(tǒng)[J].電子技術(shù)應(yīng)用,2016,42(11):66-69.
英文引用格式: Yu Rong,Huang Jian,He Chaoming. Smart grid monitoring and secure transmission system based on SM4 parallel encryption[J].Application of Electronic Technique,2016,42(11):66-69.
Smart grid monitoring and secure transmission system based on SM4 parallel encryption
Yu Rong1,Huang Jian2,He Chaoming1
1.School of Mechanical Engineering,Southwest Jiaotong University,Chengdu 610031,China; 2.School of Information & Communication Engineering,Guilin University of Electronic Technology,Guilin 541004,China
Abstract: With the growing size of the grid and monitoring equipment, in order to monitor the operation of network equipment efficiently and centrally, this paper designs the smart grid monitoring and secure transmission with ModBus and IEC104 agreement, to achieve re-connection mechanism automatically when devices disconnected, and improve system stability as well. In addition, it′s convenient for user to monitor the data and manage the devices in the form of graphical interface. Due to the increasing amount of data collected, for the low security and not high real-time of amount data transmission in current, this paper puts forward a new parallel encryption algorithm based on SM4 parallel encryption. Applied in the current system, it can improve the security and real-time of amount parallel data transmission efficiently. Experimental results show that the monitoring system possesses real-time and high security stably.
Key words : SM4;parallel encryption;data monitoring

0 引言

    智能電網(wǎng)通過(guò)各種總線協(xié)議將帶有傳感器的物理設(shè)備與計(jì)算機(jī)系統(tǒng)連接一起,組成一個(gè)綜合監(jiān)控管理系統(tǒng),具有高效性、可靠性、便捷性等優(yōu)勢(shì)[1]。

    雖然現(xiàn)代電力網(wǎng)給社會(huì)生活帶來(lái)了便捷,但是現(xiàn)有系統(tǒng)在數(shù)據(jù)的終端采集上還存在很多不足之處,如現(xiàn)有許多監(jiān)控系統(tǒng)只注重對(duì)設(shè)備數(shù)據(jù)的采集而忽略了設(shè)備管理的便捷性;其監(jiān)控系統(tǒng)的穩(wěn)定性不夠,設(shè)備網(wǎng)絡(luò)斷開(kāi)后不能自動(dòng)連接;當(dāng)電網(wǎng)規(guī)模擴(kuò)大,監(jiān)控設(shè)備隨之增多,數(shù)據(jù)傳輸?shù)膶?shí)時(shí)性降低。此外,智能電網(wǎng)系統(tǒng)—旦受到惡意攻擊,系統(tǒng)本身將會(huì)遭受嚴(yán)重的破壞,從而給社會(huì)生活、工業(yè)生產(chǎn)各方面帶來(lái)巨大的損失。因此,智能電網(wǎng)系統(tǒng)的安全面臨著更為嚴(yán)峻的挑戰(zhàn)[2]。如何建立一個(gè)有效的智能電網(wǎng)安全監(jiān)控系統(tǒng),制定可靠的數(shù)據(jù)安全傳輸策略,有效地保障信息在釆集傳輸過(guò)程中的安全可靠性,已成為當(dāng)務(wù)之急。

1 系統(tǒng)總體設(shè)計(jì)方案

    設(shè)備數(shù)據(jù)監(jiān)控系統(tǒng)設(shè)計(jì)成分層結(jié)構(gòu)分為感知層、網(wǎng)絡(luò)層和應(yīng)用層,每層分別實(shí)現(xiàn)各自的功能,整體框架圖如圖1所示。

ck4-t1.gif

    (1)感知層:主要是基于ModBus和IEC104協(xié)議的數(shù)據(jù)采集系統(tǒng)。系統(tǒng)通過(guò)讀取站點(diǎn)配置文件,創(chuàng)建采集線程,采集線程不斷地采集各個(gè)ModBus和IEC104設(shè)備的數(shù)據(jù),并通過(guò)網(wǎng)絡(luò)層傳輸給中心管理系統(tǒng)。

    (2)網(wǎng)絡(luò)層:主要是基于GPU的SM4并行數(shù)據(jù)加密傳輸系統(tǒng)。通過(guò)改進(jìn)的并行加密技術(shù)對(duì)采集到的數(shù)據(jù)進(jìn)行加密處理,提高數(shù)據(jù)加密的安全性和實(shí)時(shí)性。

    (3)應(yīng)用層:主要包含中心數(shù)據(jù)監(jiān)控系統(tǒng)和設(shè)備控制系統(tǒng)。數(shù)據(jù)監(jiān)控系統(tǒng)實(shí)現(xiàn)對(duì)采集到的數(shù)據(jù)存儲(chǔ)、顯示等,設(shè)備控制系統(tǒng)實(shí)現(xiàn)對(duì)ModBus設(shè)備和IEC104設(shè)備的統(tǒng)一控制功能。

2 智能電網(wǎng)監(jiān)控系統(tǒng)實(shí)現(xiàn)

2.1 ModBus和IEC104協(xié)議

    ModBus通信采用C/S通信方式。目前,工業(yè)中將 ModBus通過(guò)以太網(wǎng)結(jié)合TCP/IP協(xié)議組成ModBus TCP/IP網(wǎng)絡(luò)進(jìn)行通信[3],其應(yīng)用數(shù)據(jù)單元(ADU)由供TCP/IP專用的ModBus應(yīng)用協(xié)議頭(MBAP)和通用的協(xié)議數(shù)據(jù)單元(PDU)組成[4]。

    IEC104協(xié)議是為解決電力控制和高速網(wǎng)絡(luò)傳輸?shù)男枨笾贫ǖ囊环N采用TCP/IP網(wǎng)絡(luò)協(xié)議進(jìn)行傳輸?shù)耐ㄐ艆f(xié)議[5]。該協(xié)議采用C/S通信方式??蛻舳税l(fā)送數(shù)據(jù)請(qǐng)求,而服務(wù)端進(jìn)行應(yīng)答請(qǐng)求;服務(wù)端也可以直接發(fā)送控制命令來(lái)修改客戶端的數(shù)據(jù),實(shí)現(xiàn)雙向讀寫(xiě)[6]。

2.2 數(shù)據(jù)采集控制模塊實(shí)現(xiàn)

    數(shù)據(jù)采集模塊是采集系統(tǒng)的核心,該模塊讀取MsSQL數(shù)據(jù)庫(kù)中的modbus_table和iec104_table配置表,配置表中保存了站點(diǎn)設(shè)備的配置信息。數(shù)據(jù)采集控制系統(tǒng)的主線程根據(jù)讀取到的配置記錄初始化內(nèi)存數(shù)據(jù),并創(chuàng)建ModBus數(shù)據(jù)采集線程、IEC104數(shù)據(jù)采集線程和設(shè)備控制線程。采用多線程的結(jié)構(gòu),可以實(shí)現(xiàn)設(shè)備的并行采集的功能。ModBus數(shù)據(jù)采集模塊的主線程流程圖如圖2所示。

ck4-t2.gif

    為了確保數(shù)據(jù)采集的完整性,在采集線程中引入了斷線重連機(jī)制。一旦建立的TCP/IP連接發(fā)生斷開(kāi)情況,則立刻刷新連接,重新建立TCP/IP連接,繼續(xù)發(fā)送采集請(qǐng)求。控制線程在啟動(dòng)后一直處于監(jiān)聽(tīng)狀態(tài),等待上層管理系統(tǒng)發(fā)來(lái)控制命令。接到控制命令后,解析出是ModBus控制指令還是IEC104控制指令,隨后對(duì)相應(yīng)設(shè)備發(fā)起控制命令。

    ModBus通信是基于TCP/IP協(xié)議。首先,查看連接狀態(tài),如果處于斷開(kāi)狀態(tài),則調(diào)用connect_site()函數(shù)進(jìn)行連接,并更改狀態(tài)為采集狀態(tài)。當(dāng)處于采集狀態(tài)時(shí),通過(guò)調(diào)用read_site_register()和read_site_bit()函數(shù)進(jìn)行數(shù)據(jù)采集,采集流程圖如圖3所示。若采集返回出錯(cuò),則重新設(shè)置連接狀態(tài),等待下次循環(huán)重新建立連接并采集數(shù)據(jù)。當(dāng)處于關(guān)閉狀態(tài)時(shí),通過(guò)調(diào)用close_site()函數(shù)關(guān)閉TCP/IP連接并釋放相應(yīng)的資源。

ck4-t3.gif

    IEC104數(shù)據(jù)采集線程的流程圖如圖4所示。首先建立TCP連接。然后初始化IEC104幀,發(fā)起總召喚命令,啟動(dòng)數(shù)據(jù)傳輸功能并等待數(shù)據(jù)的到來(lái)。當(dāng)收到數(shù)據(jù)時(shí),驗(yàn)證報(bào)文的合法性,通過(guò)驗(yàn)證的報(bào)文進(jìn)入報(bào)文解析處理函數(shù),然后根據(jù)報(bào)文具體功能回復(fù)相應(yīng)命令;沒(méi)有通過(guò)驗(yàn)證的報(bào)文直接丟棄。

ck4-t4.gif

2.3 設(shè)備控制模塊實(shí)現(xiàn)

    根據(jù)ModBus設(shè)備和IEC104設(shè)備控制命令的格式及特點(diǎn)對(duì)其進(jìn)行了一次封裝,提供給用戶統(tǒng)一的控制命令接口,其控制命令格式如圖5所示。

ck4-t5.gif

    (1)設(shè)備ID:表示目標(biāo)設(shè)備的ID號(hào),所有的ModBus設(shè)備和IEC104設(shè)備統(tǒng)一進(jìn)行編號(hào)。

    (2)控制類型:當(dāng)目標(biāo)設(shè)備是ModBus設(shè)備時(shí), 0表示寫(xiě)寄存器,1表示寫(xiě)線圈;當(dāng)目標(biāo)設(shè)備是IEC104設(shè)備時(shí),0表示遙調(diào)命令,1表示遙控命令。

    (3)目標(biāo)地址:表示目標(biāo)設(shè)備待操作的地址。

    (4)數(shù)值:表示對(duì)目標(biāo)地址進(jìn)行寫(xiě)操作的數(shù)值。

    (5)控制標(biāo)志:用來(lái)表明本次控制操作的狀態(tài),0表示選擇狀態(tài),1表示控制狀態(tài),2表示撤銷狀態(tài)。

    設(shè)備控制模塊主要由一個(gè)單獨(dú)的控制線程實(shí)現(xiàn)對(duì)ModBus設(shè)備和IEC104設(shè)備的統(tǒng)一控制??刂凭€程在啟動(dòng)后一直處于監(jiān)聽(tīng)狀態(tài),等待管理系統(tǒng)發(fā)來(lái)的控制命令。接到控制命令后,解析出是ModBus還是IEC104設(shè)備的控制指令,隨后構(gòu)造相應(yīng)的控制命令幀,從而發(fā)起控制命令,具體流程如圖6所示。

ck4-t6.gif

3 基于GPU的SM4并行加密

    SM4 是一種分組密碼算法,其分組長(zhǎng)度和密鑰長(zhǎng)度均為128 bit。加解密算法與密鑰擴(kuò)張算法都采用32輪非線性迭代結(jié)構(gòu)[7]。在數(shù)據(jù)量較大的情況下,使用SM4串行加密的耗時(shí)成為了采集系統(tǒng)實(shí)時(shí)傳輸?shù)钠款i。本文利用GPU[8]并行計(jì)算能力與SM4算法的結(jié)構(gòu)特點(diǎn),設(shè)計(jì)了基于GPU的SM4并行數(shù)據(jù)加密模塊,將采集到的數(shù)據(jù)傳送給GPU,GPU把加密后的結(jié)果送給數(shù)據(jù)轉(zhuǎn)發(fā)模塊,提高了加密運(yùn)算的實(shí)時(shí)性。

    SM4并行加密模塊流程圖如圖7所示。首先,在CPU執(zhí)行一次密鑰擴(kuò)展,生成輪密鑰。然后,將輸入數(shù)據(jù)和擴(kuò)展密鑰存儲(chǔ)到GPU全局存儲(chǔ)空間內(nèi)。輸入數(shù)據(jù)分成每塊128 bit,通過(guò)調(diào)用cryptKernel核函數(shù)[9,10]實(shí)現(xiàn)每個(gè)GPU線程對(duì)數(shù)據(jù)塊的并行加密。最后,加密輸出的密文數(shù)據(jù)將再次被寫(xiě)到全局設(shè)備存儲(chǔ)器內(nèi),隨后,CPU程序?qū)⑤敵鰯?shù)據(jù)結(jié)果從GPU 的全局設(shè)備存儲(chǔ)器內(nèi)取回,整個(gè)加密過(guò)程完成。

ck4-t7.gif

4 系統(tǒng)測(cè)試與分析

    為了測(cè)試系統(tǒng)的功能與性能,在主機(jī)上運(yùn)行數(shù)據(jù)模擬器應(yīng)用程序,作為客戶端,用來(lái)產(chǎn)生ModBus和IEC104數(shù)據(jù)。以ModBus模擬器為例,運(yùn)行數(shù)據(jù)采集系統(tǒng)對(duì)模擬器數(shù)據(jù)進(jìn)行采集,通過(guò)中心數(shù)據(jù)管理系統(tǒng)顯示采集到的數(shù)據(jù),如圖8所示。

ck4-t8.gif

    通過(guò)運(yùn)行設(shè)備控制應(yīng)用程序,實(shí)現(xiàn)對(duì)ModBus或IEC104設(shè)備的控制。運(yùn)行設(shè)備控制程序后,就可以在“〉”提示符下輸入控制命令。下面分別對(duì)ModBus設(shè)備寫(xiě)線圈、寫(xiě)寄存器命令和對(duì)IEC104發(fā)起遙控命令,測(cè)試結(jié)果如圖9所示。

ck4-t9.gif

    以第二條命令為例。第二條命令是實(shí)現(xiàn)對(duì)ModBus設(shè)備寄存器值的寫(xiě)操作,即對(duì)1號(hào)設(shè)備地址為21的寄存器進(jìn)行寫(xiě)數(shù)值“12”操作,返回值為零,表明寫(xiě)寄存器操作執(zhí)行成功。為了驗(yàn)證命令的執(zhí)行情況,通過(guò)對(duì)比模擬器在執(zhí)行命令的前后狀態(tài),可以發(fā)現(xiàn)地址為21的寄存器值發(fā)生相應(yīng)的變化,如圖10所示。

ck4-t10.gif

5 總結(jié)

    本文設(shè)計(jì)了一種智能電網(wǎng)監(jiān)控與安全傳輸系統(tǒng),采用與TCP/IP協(xié)議結(jié)合緊密的ModBus和IEC104協(xié)議進(jìn)行數(shù)據(jù)采集,便于數(shù)據(jù)傳輸,并在系統(tǒng)中引入斷線自動(dòng)重連機(jī)制,完善系統(tǒng)功能。為了確保和提高批量數(shù)據(jù)傳輸過(guò)程中的安全性與實(shí)時(shí)性,有效結(jié)合SM4加密算法與GPU并行計(jì)算,提出基于GPU并行計(jì)算的SM4加解密基本架構(gòu)?,F(xiàn)場(chǎng)實(shí)驗(yàn)測(cè)試表明,系統(tǒng)運(yùn)行狀況良好,可有效提高數(shù)據(jù)傳輸時(shí)的安全性與實(shí)時(shí)性,最終,實(shí)現(xiàn)對(duì)設(shè)備數(shù)據(jù)進(jìn)行實(shí)時(shí)采集與并行加密傳輸?shù)墓δ?,為工業(yè)監(jiān)控系統(tǒng)提供了核心模塊。

參考文獻(xiàn)

[1] 劉漢宇,牟龍華.微電網(wǎng)CPS體系架構(gòu)及其物理端研究[J].電力自動(dòng)化設(shè)備,2012,32(5):34-37.

[2] 徐琳,溫蜜,李晉國(guó).智能配電網(wǎng)中具有隱私保護(hù)的數(shù)據(jù)安全認(rèn)證方案[J].電子技術(shù)應(yīng)用,2015(12):98-101.

[3] 金德剛,吳自然,吳桂初.基于Modbus/TCP的數(shù)字式電流互感器設(shè)計(jì)[J].電子技術(shù)應(yīng)用,2014,40(6):93-95.

[4] 高秀蘭.基于Modbus TCP/IP通訊綜合監(jiān)控系統(tǒng)的實(shí)現(xiàn)[J].儀表技術(shù)與傳感器,2015(10):104-106.

[5] 陶學(xué)軍,徐奉友,王艷領(lǐng).IEC 60870-5-104協(xié)議在光伏電站中的應(yīng)用[J].機(jī)電工程技術(shù),2014(3):40-44.

[6] 馬曉紅,管荑,林祺蓉.104規(guī)約在調(diào)度自動(dòng)化系統(tǒng)中的應(yīng)用[J].山東電力技術(shù),2011(6):002.

[7] WANG K,PENG D,SONG L,et al.Implementation of Modbus communication protocol based on ARM Coretx-M0[C].System Science and Engineering(ICSSE),2014 IEEE International Conference on.IEEE,2014:69-73.

[8] KANDROT E,SANDERS J.CUDA by example:an introduction to general-purpose GPU programming[M].Amsterdam:Addison-Wesley Longman,2010.

[9] IWAI K,NISHIKAWA N,KUROKAWA T.Acceleration of AES encryption on CUDA GPU[J].International Journal of Networking and Computing,2012,2(1):131-145.

[10] Shane Cook.CUDA并行程序設(shè)計(jì)GPU編程指南[M].蘇統(tǒng)華,李東,譯.北京:機(jī)械工業(yè)出版社,2014.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。