摘要:IEC 61850系列標準主要應用在智能變電站的模擬量采集端和客戶端監控系統間進行通信。相比于傳統變電站,智能變電站基本上取消了硬接線,模擬量就地采集后直接轉換成數字量依照規約從網絡中進行傳輸。由于IEC 61850協議基于TCP/IP協議,數據通過以太網傳輸,因此多種對以太網的攻擊均可以使用對IEC 61850通信過程造成影響。為增強IEC 61850通信過程的安全性,本文針對IEC 61850通信過程中可能面臨的風險,提出了基于AES-RSA算法的安全通信機制,并對此通信方法進行了測試分析。實驗結果表明,基于AES-RSA混合算法的IEC 61850的通信方法跟僅使用RSA加密算法相比,不僅增強了數據傳輸的安全性,而且完成一次通信認證的速度更快,滿足IEC 61850通信對數據傳輸的實時性要求,驗證了方法的有效性。
關鍵詞:IEC 61850;智能變電站;RSA;AES
Abstract: The IEC 61850 series of standards are mainly used for communication between the analog acquisition terminal of the intelligent substation and the client monitoring system. Compared with the traditional substation, the intelligent substation basically cancels the hard wiring. The analog quantity is directly converted into digital quantity and collected from the network according to the specification. Since the IEC 61850 protocol is based on the TCP/IP protocol and data is transmitted over Ethernet, a variety of attacks on Ethernet can be used to affect the IEC 61850 communication process. In order to enhance the security of IEC 61850 communication process, this paper proposes a secure communication mechanism based on AES-RSA algorithm for the possible risks in IEC 61850 communication process, and tests this communication method. The experimental results show that the communication method of IEC 61850 based on AES-RSA hybrid algorithm not only enhances the security of data transmission, but also completes the communication authentication faster than the RSA encryption algorithm. It satisfies the IEC 61850 communication for data transmission. The real-time requirements verify the effectiveness of the method.
Key words: IEC 61850; Intelligent substation; RSA; AES
1 引言
IEC 61850是一項國際標準,其主要目標是增強多廠商電力公用事業的互操作性和減少成本損耗。在技術含義中,該標準定義了電力系統自動化中存在的所有設備的服務,任務和功能[1]。IEC61850是定義電力系統變電站之間的數據模型、交換和事件的標準,它現在主要應用在變電站,并擴展到發電端的分布式能源(DER)。該標準可以映射到許多傳統協議,例如制造商消息規范(MMS),面向通用對象的變電站事件(GOOSE)以及采樣測量值(SMV)。但是,IEC61850并非設計用于串行通信協議,因為它旨在通過以太網運行。為了對應用層及以上的電力系統組件的成本和互操作性產生積極影響,建議利用該標準的服務來實現數據傳輸的可靠性和安全性。本標準中的服務包括:檢索設備描述,快速可靠的主機到主機狀態信息交換狀態,報告數據或事件順序,數據記錄,通信協議定義了如何在傳輸介質上進行傳輸數據。對于微電網組件,每個DER具有唯一的功能,并且所有DER中可能不存在數據屬性的子集。每個IED制造商可能對數據有不同的命名約定。IEC61850數據命名約定基于電源系統上下文,這有助于確保同一通信系統中使用的各個供應商的設備之間的互操作性,并且依照該標準進行數據建模具備靈活可擴展的通訊架構,它具有分層次的邏輯節點(LN),數據對象(DO)以及數據屬性(DA),且其中各協議之間的通信相互獨立。
現場實驗在規劃階段有時被認為是不切實際的,因此網絡模擬器(如OPNET和OMNET++建模器)已被廣泛用于設計和分析IEC61850網絡[2-3];通過實驗和模擬,已經進行了大量關于評估和改進IEC61850網絡性能的研究[4-5];為了滿足IEC61850標準定義的實時通信要求,Kunz等人在2017年推動一項有關使用數學分析的研究,以協助在真實場景中實施IEC61850通信,旨在以標準化方式幫助開發和實施智能電子設備(IED),但沒有分析整個網絡[6]。上述文獻或是用仿真軟件模擬IEC61850通信流量進行流量分析,或是在純數學的角度對IEC61850事件和隨機行為進行建模和評估,很少有研究關注IEC 61850通信的安全性,雖然也有研究人員對基于IEC 61850的安全通信做過研究,但大多只停留在理論階段。并未通過實驗對IEC61850通信做過安全測試,無法真實反映出IEC61850通信中遇到的安全問題。
在此背景下,本文的研究重點是對IEC 61850通信的安全性進行了分析。本文根據當前存在的問題,用IEC61850服務器和客戶端搭建了測試環境,設計了相關實驗對所建立的環境進行通信測試,確保在客戶端能采集到的服務器端IED的工作電壓電流等參數。為增強IEC61850通信過程的安全性,本文針對IEC61850通信過程中可能面臨的風險,提出了基于AES-RSA算法的安全通信機制,并對此通信方法進行了安全性分析。實驗結果表明,基于AES-RSA混合算法的IEC 61850的通信方法跟僅使用RSA加密算法相比,不僅增強了數據傳輸的安全性,而且完成一次通信認證的速度更快,滿足IEC61850通信對數據傳輸的實時性要求,驗證了方法的有效性。
2 IEC 61850報文類型及功能介紹
底層微網設備基于IEC 61850標準進行數據建模,生成ICD文件后經由IEC61850服務器進行解析,最后編碼成二進制數據發送到IEC 61850客戶端。客戶端獲得基于IEC 61850標準構建的數據報文,并根據數據包里的地址向服務器返回讀寫指令。IEC61850服務器響應且返回讀寫結果。這樣就初步實現了IEC61850服務器端和客戶端之間的通信。
對于目前的數字化智能變電站而言,通信體系基于IEC61850標準從上到下的將智能變電站構建出一個規范的通信結構,這個通信結構主要由三層組成,分別是過程層、間隔層、變電站層[7]。利用這些結構所構建的信息傳輸模型的數據傳輸過程中,其中的間隔層與變電站層之間的通信網絡采取了基于MMS的抽象服務端口到制造報文的協議規范、以及基于TCP/IP的網絡傳輸協議/網際傳輸協議的以太網和光纖網絡。而過程層與間隔層則采取了點對點的單向傳輸協議的形式,使用統一規定的協議將智能變電站中的智能電子設備(IED)采集的各項數據進行信息傳輸。
2.1 IEC 61850中的報文類型介紹
圖1 IEC 61850規約報文類型分類
如圖1所示,其中的SV表示采樣值協議通過以太網且符合以太網的國際標準IEC8802-3進行傳輸。GOOSE表示智能變電站事件也是通過以太網且符合以太網的國際標準IEC8802-3進行傳輸。SNTP表示傳輸的時鐘同步信息采取了UDP/IP的傳輸方式。MMS協議表示了傳輸的ACSI報文采取了TCP/ISOCO方式進行傳輸[8]。最后的GSSE表示了一般智能變電站運行狀態的事件報文采取了相對應的自定義的GSSE傳輸層[9]。
2.2 IEC 61850報文結構說明
下面是對面向通用對象的變電站事件(GOOSE)的介紹:
GOOSE提供了一個可靠快速的數據系統,基于自動分配的GOOSE概念模型中產生了一個同時多路廣播/廣播傳輸和由同一個GOOSE面向各個IDE(智能電子裝置)傳輸[10]。
由SetGOOSEControlValue服務對GOOSE的數據報文控制的對象進行了相對應的參數化。其中由GOOSE控制的對象將會按照相關的配置行為激活GOOSE的報文傳輸。在這些GOOSE報文中包含了數據傳輸過程中的數據丟失,狀態位變化機器自上次的狀態位變化后的時間差,上次變化狀態位的時間被稱作“backtime”,從而有了接受相對應IDE設置的定時的計時器,保護整個系統中的時鐘一致。對于一個新激活的IED(接通電源和創建一個新的服務)將會發送現在所處的狀態當作啟動的GOOSE報文,任意一個IED任何時候都被允許請求任意一個IED的特定狀態。同樣的原理,全部的IED都可以給他們發送GOOSE報文,從而通過這樣的措施保證每一個IED都知道他們相對應的IED狀態,保證這個系統能夠穩定高效的運行。表1中定義了GOOSE-CONTROL的數據結構。
表1 GOOSE的控制定義及其類別
GeNam(GOOSE Control name):面向系統-范圍事件的通用對象(GOOSE)的控制名字。它屬于GOOSE控制對象的唯一標識,通過這個可以唯一的識別邏輯節點中每一個GOOSE所控制的結點。
GooseEna(GOOSE enable):面向系統—范圍事件的通用對象使能。這個屬性主要標識了GOOSE所控制的對象能否產生相對應的GOOSE報文,當這個標記為True時,服務器將會產生GOOSE所控制對象的報文,當這個標記為False,那么服務器將會停止發送相對應的GOOSE數據包報文。對于一般的服務器而言,默認將這個標志設置為“true”。
SdgLD(name of sending logical device):發送邏輯裝置的名字。即此裝置對象的名字,直接識別發送的GOOSE報文中此裝置的名字。
UserDatNam:用戶數據名稱。表示GOOSE數據報文所包含的用戶名稱。
GOOSE報文結構如表2所示。
表2 GOOSE數據報文定義
SendingIED:發送數據包的智能電子裝置,通過這個標志位唯一識別正在傳輸GOOSE報文的裝置。
T(time-stamp):時間標志。提示與GOOSE報文有關的時間點表明用戶數據最后的變換時間,當目標中的時間是缺省值時則表明該數據包不可用。
SeqNum:序列號。程序中每當發送一個數據包報文,這個序列號就加一且比特對偶狀態不發生改變。如果發生改變,則該序列號復位為零,當計數到達最大時也復位為0。
3 基于A E S - R S A 的方法的I E C61850的通信方法
針對IEC 61850通信過程中安全性的不足,本文提出了一種基于AES和RSA的混合算法的IEC 61850的安全通信機制。地址解析協議(ARP)的最大問題在于IEC 61850客戶端主機與服務器端主機之間交換MAC地址時沒有身份驗證,針對此問題本文所提的改進算法基于兩種標準密碼技術:AES(高級加密標準)和RSA。這兩種技術相結合來提高數據的安全性。使用AES加密了IEC 61850報文,RSA加密了AES密鑰。
3.1 Rivest-Shamir-Adleman(RSA)算法
RSA是一種非對稱密鑰密碼技術,它分別使用不同的密鑰進行加密和解密處理,一般是一對分別是公鑰和私鑰。兩個大素數因子分解的實際困難定義了RSA算法的安全性。RSA的原理如下:
密鑰生成:
(1)選擇兩個大的隨機素數,p和q的大小不同,它們的乘積n=p*q是所需的位長;
(2)計算n=p*q和?(n)=(p-1)*(q-1);
(3)選擇正整數e,使得1<e<?(n),使得GCD(e,?(n))= 1;
(4)計算數字d的值,1<d< .(n),使得e*d=1(mod .(n));
(5)得到公鑰(e,n),私鑰(d,n)。其中
d,p,q和.(n)的值應保密。加密:假設用戶A想要向用戶B發送消息“ m ”。
(1)獲取用戶B的公鑰(e,n);
(2)將明文表示為正整數m;
(3)使用用戶B的公鑰計算密文c=me modn;
(4)發送密文c到用戶B。
解密:
用戶B將從密文中提取原始消息。
(1)使用私鑰(d,n)計算m=cdmodn;
(2)從c中提取明文m。
3.2 高級加密方案( AES)
AES是一種對稱加密標準,由NIST于2001年推出,最初命名為Rijndael算法。使用AES的主要優點是它提供了各種密鑰長度用于數據加密,例如128、192和256位密鑰,并且AES算法中涉及的輪次取決于各種密鑰長度。即無論是分組長度還是密鑰長度都是可變的。AES算法的處理單位是字節,128位的信息即16個字節的信息依次復制到4 *4矩陣作為狀態(state)。AES中的各種變換都基于狀態矩陣變換:
(1)字節代換:使用替代矩陣(S盒),應用非線性逐字節替換。
(2)行變換:它涉及簡單的線性轉換,以字節為單位根據行確定偏移量以循環方式完成循環右移。
(3)混合列:它涉及矩陣乘法。列中的每個字節都轉換為新值,該值取決于同一列中其他四個字節的值。表達式為:s’(x)=a (x) s(x),其中,a(x)為固定多項式,s(x)為狀態的列多項式。
(4)添加輪密鑰:這是state和輪密鑰之間的異或操作,輪密鑰由密鑰表中得到,其長度即數據塊長度。
3.3 基于 AES和RSA的IEC 61850通信流程
針對此問題本文所提的改進算法的初始化工作流程為:IEC 61850客戶端主機連接到服務器端主機時,首先生成自己的密鑰對,然后交換公鑰,然后IEC 61850客戶端生成AES密鑰,使用AES加密IEC 61850報文,并使用RSA公鑰對AES密鑰進行加密,用RSA私鑰簽名原文,并將AES密鑰發送給IEC61850服務器端,在進行AES密鑰以及數據交換之后,就可以安全地接收IEC61850通信數據。首先使用RSA私鑰解密AES密鑰,然后用AES密鑰解密出明文數據,最后用RSA公鑰驗證簽名。
以IEC61850客戶端發送消息給IEC61850服務器端為例,其過程如圖2所示。
圖2 RSA+AES的IEC 61850單向通信加密流程
具體步驟如下:
(1)使用AES操作進行加密:首先使用帶有密鑰SK1的AES算法對IEC 61850報文m進行加密,生成密文C1;
(2)使用RSA加密:現在,使用RSA算法加密密鑰SK1以生成加密文本SK1’;
(3)用RSA私鑰簽名密文C1得到C2;
(4)RSA和AES密文的發送:現在,對加密文本C2和SK1’發送到接收方B以進行解密過程;
(5)使用RSA方案及其私鑰解密SK1’以獲得結果SK1;
(6)用RSA公鑰驗證C2簽名得到C1;
(7)在C1和SK1上應用AES算法生成明文m。
4 安全性測試分析
變電站作為微網系統的重要組成部分,基于IEC61850標準進行數據傳輸。IEC61850協議基于TCP/IP協議,數據通過以太網傳輸,因此對以太網的攻擊包括:ARP攻擊、VLAN中繼協議攻擊、私有VLAN攻擊、身份盜用、MAC欺騙等攻擊技術均可以用來對IEC 61850通信過程進行攻擊,從而進一步對IEC61850正常通信造成影響。
4.1 實驗環境
本文首先通過使用IEC 61850通信協議分析及仿真軟件來驗證IEC61850協議是否通過明文傳輸,該軟件是專業的電力變電站通信測試工具,能夠模擬服務器和客戶端之間的通訊過程。經過配置IEC 61850客戶端和服務器軟件的參數,以端口映射的辦法實現客戶端和服務器之間的通訊。在IEC61850的客戶端中可以采集到各個邏輯節點包含的電壓、電流、整流器和逆變器狀態等信息。實驗采用的是北京德威特力通系統控制技術有限公司設計的IEC61850通信仿真平臺。IEC 61850協議采用明文傳輸,通過配置IED模型,最終生成SCD文件,當客戶端成功獲取服務器端的各項模型配置信息后,通過端口映射的方式,實現客戶端和服務器端之間的通信。在IEC61850客戶端可以獲取到IEC61850服務器端的各項運行指標如電壓、電流等參數以及對服務器端進行調控以保證系統的正常運行。本次實驗環境的拓撲圖如圖3所示。
圖3 網絡拓撲結構
IEC 61850客戶端以及服務器端加載的ICD文件是從IED配置器獲得的,然后ICD文件進一步經系統配置器生成系統配置描述(SCD)文件。IEC61850客戶端可以訪問真實的變電站設備,也可以訪問仿真的IEC61850服務器端,但前提都是需加載相同的ICD文件。
4.2 仿真通訊
在客戶機端輸入服務器端的IP進行互聯,并選擇通信節點,如圖4所示是在選擇想要查詢其屬性的邏輯節點,及對應邏輯節點里的相應屬性結構的參數值。
圖4 邏輯節點的選擇及其包含的參數值
如圖5所示是服務器端顯示的界面,其中的Send和Recieve表示連接成功,服務器響應客戶端發出讀寫請求,并向客戶端返回讀寫結果。
圖5 服務器端連接成功
本實驗決定使用Wireshark抓取IEC 61850的數據包。如圖6所示抓取到的PRES數據包表示MMS協議,即成功抓取到IEC 61850的數據包,IEC 61850客戶端和服務器之間成功實現通信。接下來可以進一步對抓取到的IEC61850數據包進行實驗分析。
圖6 成功實現截獲 IEC 61850數據包
4.3 通信測試及安全性分析
由于IEC61850協議基于TCP/IP協議,數據通過以太網傳輸,因此多種對以太網的攻擊均可以使用對IEC61850通信過程造成影響,例如ARP攻擊,VLAN中繼協議攻擊,私有VLAN攻擊,身份盜用,MAC欺騙等。通過本文提出的基于AES和RSA的混合算法的IEC61850的安全通信機制,可以有效地防范各種攻擊諸如ARP攻擊等。采用基于AES和RSA的混合算法前后IEC61850通信的安全性對比如表3所示。
表3 安全性對比
與僅使用RSA加密算法相比,本文采用的基于AES和RSA的混合算法不僅增強了數據傳輸的安全性,而且完成一次通信認證的速度更快。這是因為RSA僅能加密117個字符,使用RSA加密算法的原文數據還需考慮其數據類型是String還是Object,且RSA加密算法的解密時間遠大于加密時間,解密時間經常是加密時間的幾十倍。而本文采用的AES加密數據原文不用考慮其數據類型,其會統一轉化為String型,且AES加密數據報文的長度沒有限制,AES密鑰是16位數字以及大寫字母的組合,長度較短,不會超過RSA加密的允許長度,且其解密時間僅為加密時間的兩倍。如圖7所示為單使用RSA加密算法進行通信認證和采用基于AES和RSA的混合算法進行通信認證的時間比較。可以得到采用基于AES和RSA的混合算法的認證速度要優于單使用RSA加密算法的認證速度。驗證了方法的有效性。
圖7 通信雙方完成一次身份認證所需時間比較
5 結論
本文對基于IEC 61850的智能變電站通信的安全性問題進行了分析。首先成功搭建了IEC61850實驗環境并實現對客戶端IED的電壓電流等參數的采集。然后對IEC61850通信過程進行了安全性分析。為了增強IEC 61850通信過程的安全性,本文針對IEC 61850通信過程中可能面臨的風險提出了基于AES-RSA算法的安全通信機制,并對此通信方法進行了測試分析。實驗結果表明,基于AES-RSA混合算法的IEC 61850的通信方法跟僅使用RSA加密算法相比,不僅增強了數據傳輸的安全性,而且完成一次通信認證的速度更快,滿足IEC61850通信對數據傳輸的實時性要求,驗證了方法的有效性。
★基金項目:國家自然科學基金項目(61772327);奇安信大數據協同安全國家工程實驗室開放課題(QAX-201803);浙江大學工業控制技術國家重點實驗室開放式基金(ICT1800380);智能電網產學研開發中心項目(A-0009-17-002-05)。
作者簡介
王明輝(1995-),男,山東濟寧人,碩士,現就讀于上海電力大學,主要研究方向為基于IEC61850的通信安全技術。
參考文獻:
[1] 馮宜偉,楊丹丹,任方杰. 智能微網的國內外研究發展綜述[J]. 智能電網(漢斯), 2019, 09( 02 ) : 70 - 87.
[2] Zhang X, Hu Y, Yang X, et al. F.rster resonance energy transfer (FRET)-based biosensors for biological applications[J]. Biosensors and Bioelectronics, 2019, 138.
[3] Abdulkarim A, Faruk N, Oloyede A O, et al. Reliability Study of Stand-alone Hybrid Renewable Energy Microgrids[J]. Iranian Journal of Science and Technology, Transactions of Electrical Engineering, 2019, 43( 1 ): 411 - 425.
[4] Sedaghati R, Shakarami M R. A novel control strategy and power management of hybrid PV/FC/SC/battery renewable power system-based grid-connected microgrid[J]. Sustainable Cities and Society, 2019, 44: 830 - 843.
[5] Fei G A O, Ren K, Jun C A O, et al. Primary and secondary control in DC microgrids: a review[J]. Journal of Modern Power Systems and Clean Energy, 2019, 7 ( 2 ): 227 - 242.
[6] Kunz G, Machado J, Perondi E, et al. A formal methodology for accomplishing IEC 61850 real-time communication requirements[J]. IEEE Transactions on Industrial Electronics, 2017, 64 ( 8 ) : 6582 - 6590.
[7]李雙雙. 基于IEC 61850的微電網監控系統設計[D]. 山東大學,2017.
[8]方子璐. 基于IEC 61850的數字化變電站通信系統性能研究[D]. 上海電力學院, 2018.
[9]魏力. IEC 61850協議下采樣值傳輸規范的分析與比較[J]. 科技與企業, 2014, ( 02 ) : 100.
[10]趙陽. 基于IEC 61850的智能變電站開關柜IED的設計[D]. 西安工程大學, 2015.
摘自《工業控制系統信息安全專刊(第六輯)》