文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.175143
中文引用格式: 韓在峰,趙麗敏. 一種安全RTU的設(shè)計與實現(xiàn)[J].電子技術(shù)應(yīng)用,2018,44(7):72-75,85.
英文引用格式: Han Zaifeng,Zhao Limin. A kind of design and implementation about safety RTU[J]. Application of Electronic Technique,2018,44(7):72-75,85.
0 引言
隨著工業(yè)自動化、信息、網(wǎng)絡(luò)、物聯(lián)網(wǎng)技術(shù)的發(fā)展,在電力、交通、石油化工、核工業(yè)等國家重要行業(yè)中,工控安全和網(wǎng)絡(luò)安全等信息安全威脅也越來越受到用戶的關(guān)注。本文針對電力自動化行業(yè)的實際情況,給出了一種基于SM2加密標準的安全RTU(Remote Terminal Unit)設(shè)計方案,不僅實現(xiàn)了現(xiàn)場數(shù)據(jù)的信息采集、數(shù)據(jù)處理、設(shè)備控制等功能,還對數(shù)據(jù)傳輸進行了加/解密,拒絕未授權(quán)用戶的訪問,提高了工控系統(tǒng)就地控制層的安全穩(wěn)定性,提高了系統(tǒng)采集端的數(shù)據(jù)安全防護能力,提高了數(shù)據(jù)的可信性和操作的可靠性。該產(chǎn)品已經(jīng)通過國家相關(guān)安全監(jiān)測機構(gòu)的安全性、可靠性、性能等測試,在多個實際項目中的成功應(yīng)用也證明了該RTU的設(shè)計方案是可行的、性能是可靠的,能夠有效杜絕信息泄露和非法入侵等安全風險。
1 安全RTU硬件設(shè)計
安全RTU硬件部分主要包括DSP核心處理芯片、遙測模塊、遙信模塊、加解密模塊、通信模塊等幾個核心模塊,這些模塊共同完成RTU的各種數(shù)據(jù)處理、數(shù)據(jù)通信和控制功能。
1.1 基本結(jié)構(gòu)
本文設(shè)計方案提出的安全RTU采集監(jiān)控單元,采用TI公司的高性能32位浮點型DSP芯片TMS320F28335作為控制核心,與電能計量芯片ADE7880構(gòu)成模擬量采集單元,具有準確度高、損耗低等優(yōu)點,而且可以通過裝置本身的液晶顯示屏查看各種裝置配置參數(shù)、遙測運行數(shù)據(jù)、遙信信號狀態(tài)、遙控輸出、信號變位、過壓、過流報警等各種信息。通過內(nèi)置RS-485總線、SecModbus-RTU規(guī)約、工業(yè)通信網(wǎng)絡(luò),可以與SCADA、DCS等上位機監(jiān)控軟件組成各種監(jiān)控系統(tǒng)。基本結(jié)構(gòu)如圖1所示。
1.2 遙測模塊
遙測模塊主要由DSP芯片TMS320F28335和電能計量芯片ADE7880構(gòu)成,把TMS320F28335數(shù)字處理芯片和ADE7880采集芯片結(jié)合起來,發(fā)揮各自的優(yōu)勢,避開復(fù)雜的采樣電路,完成對各種線路、開關(guān)、斷路器以及用電設(shè)備的運行信息進行測量,如電壓、電流、功率等,其硬件組成如圖2所示。
ADE7880芯片是ADI公司生產(chǎn)的一款高精度測量芯片,是一款支持三相集成電能計量的集成電路。它支持串行接口和中斷輸出兩種方式進行數(shù)據(jù)交換,還能夠提供三路靈活的脈沖輸出方法。該芯片內(nèi)置多個二階Σ-Δ模數(shù)轉(zhuǎn)換器、數(shù)字積分器、基準電壓源電路等。同時該芯片還內(nèi)置一個DSP芯片實現(xiàn)三相電壓、電流有效值和有效功率、視在功率、功率因數(shù)的測量,同時監(jiān)視電壓、電流的總波形畸變率及諧波含有率。同時ASE7880還具有波形采樣輸出功能,判斷是否有暫升、暫降、中斷等瞬態(tài)事件,實現(xiàn)對瞬態(tài)事件的捕捉和記錄。
RTU監(jiān)控的設(shè)備都是強電設(shè)備,為了使RTU能夠采集和測量相應(yīng)的信息,一般需要進行電流和電壓的一次變換,把高電壓、大電流變?yōu)榈碗妷汉腿蹼娏餍盘?,把信號變成RTU允許輸入的信號,比如進行10 kV/100 V、100 A/5 A的變換。本RTU的遙測模塊采用的電流互感器的規(guī)格為5 A/25 mA,精度為0.05級,配置的阻抗為40 Ω。電壓互感器選用的是2 mA/2 mA電流型電壓互感器,精度為0.05級,在其前端通過增加110 kΩ功率電阻把100 V電壓信號變換為2 mA電流信號,所配置的負載電阻為250 Ω。采用這種設(shè)計方案,在輸入額定電流、額定電壓時,電流、電壓差動輸入的有效值分別小于0.05 V和0.25 V,完全滿足工程項目要求。
1.3 遙信模塊
遙信的信息來自于各種斷路器、刀閘、保護信號和各種狀態(tài)信息,并通過光電隔離進行采集。外部遙信輸入信息通過光電耦合器將開關(guān)狀態(tài)轉(zhuǎn)換為“0”或者“1”電平(0 V或則5 V)送入單片機的輸入端,CPU通過遙信輸入板采集遙信狀態(tài),將采集到的遙信狀態(tài)去抖穩(wěn)定后進行狀態(tài)比較,如果發(fā)生遙信信號變位,則進行相應(yīng)的處理,上送遙信變位信息和SOE(事件順序記錄)。
1.4 加密/解密模塊
為了實現(xiàn)RTU和上位機監(jiān)控系統(tǒng)之間的安全交換信息功能,本方案增加了加密/解密模塊。該模塊采用的核心芯片為南瑞股份有限公司采用國產(chǎn)32位CPU自主設(shè)計開發(fā)的一款高速、高性能的信息安全芯片,該芯片集成了高速的安全加密算法和通信接口,具備獨有的加密處理機制,能夠?qū)崿F(xiàn)高速數(shù)據(jù)流同步加解密功能。該安全芯片集成度高、安全性強、接口豐富、加解密速度快、功耗低、具有極高的性價比,可用于金融、電子政務(wù)、電子商務(wù)、智能電網(wǎng)、安全加密存儲、版權(quán)保護等領(lǐng)域。該模塊的主要功能是實現(xiàn)SM2公鑰密碼對的產(chǎn)生、SM2數(shù)據(jù)簽名功能、SM2數(shù)據(jù)驗證功能、SM2數(shù)據(jù)加密功能、SM2數(shù)據(jù)解密功能、SM2密鑰交換功能和SM2雜湊功能等。RTU的CPU通過SPI接口訪問NRSEC3000芯片,為系統(tǒng)應(yīng)用提供SM2算法,SM2算法效率高,破解難度很大。NRSEC3000芯片接口設(shè)計圖如圖3所示。
圖2中NRSEC3000與DSP微處理器的接口為SPI總線,通信主端采用SPI模式3,時鐘頻率33 MHz,中斷模式處理數(shù)據(jù)收發(fā)。
1.5 通信模塊
為了實現(xiàn)與SCADA、DCS等上位機監(jiān)控系統(tǒng)的通信,實現(xiàn)遙信、遙測、報警數(shù)據(jù)和控制指令的交互,本方案的RTU設(shè)計了單獨的通信模塊,本方案的通信模塊硬件電路圖如圖4所示。
CPU主板與上位機監(jiān)控系統(tǒng)的數(shù)據(jù)傳輸經(jīng)過RS-485收發(fā)器MAX3485,由CPU的USART1進行數(shù)據(jù)的發(fā)送和接收,采用半雙工通信方式,由CPU的P3.5口控制數(shù)據(jù)的發(fā)送和接收。為了提高數(shù)據(jù)傳輸?shù)目煽啃?,提高通信抗干擾能力,采用單獨5 V電源供電方式,采用高速光耦6N137與其他的電源完全隔離,同時傳輸線并聯(lián)瞬變電壓抑制器TVSC和串聯(lián)熔斷器,確保系統(tǒng)的安全性和抗干擾性。
2 安全RTU軟件設(shè)計
2.1 加密/解密設(shè)計
在上位機端,待傳輸?shù)臄?shù)據(jù)由加密芯片加密成密文后,上位機將加密后的數(shù)據(jù)傳給RTU,RTU通過加密/解密芯片將數(shù)據(jù)解密后供RTU使用。
在RTU端,將待傳輸?shù)臄?shù)據(jù)由加密芯片加密成密文后,RTU通過通信模塊將加密后的數(shù)據(jù)傳輸給上位機,供上位機使用,加密/解密流程如圖5所示。
軟件算法主要包括簽名、驗證、加密/解密、獲取hash值等,編寫的接口函數(shù)主要有HR_SM2_HsEccSign、HR_SM2_HsEccSignVerify、HR_SM2_HsEccEncrypt、HR_SM2_HsEccDecrypt、HR_SM2_HsEccUpdate、HR_SM2_HsEccFinalize。通過這些函數(shù),RTU采集單元實現(xiàn)身份認證、數(shù)據(jù)加密/解密等功能,實現(xiàn)了數(shù)據(jù)的安全交互功能。
2.2 SecModbus-RTU安全規(guī)約設(shè)計
本方案中的RTU單元的通信方案采用基于RS-485總線通信方式的類Modbus-RTU加密規(guī)約,簡稱SecModbus-RTU。RTU通過這種帶加密信息的通信規(guī)約和上位機監(jiān)控系統(tǒng)進行各種信息的交換,包括遙信信息、遙測信息、報警信息、遙控操作等內(nèi)容。
采用SecModbus-RTU模式傳輸數(shù)據(jù)時,傳輸信息采用異步方式,以字節(jié)為單位,RTU和上位機主站之間采用11位的通信方式,如表1所示。
數(shù)據(jù)包格式如表2所示。
每個SecModbus 數(shù)據(jù)包由地址碼區(qū)、數(shù)據(jù)類型、數(shù)據(jù)長度區(qū)、功能碼區(qū)、數(shù)據(jù)區(qū)、校驗碼區(qū)共6部分組成。
(1)地址碼區(qū)
地址碼為1個字節(jié),在同一個鏈路中唯一,有效地址范圍為1~255,當RTU收到符合SecModbus協(xié)議的標準數(shù)據(jù)包時,檢查子站地址是否與自己的一致,如果一致,則處理后返回結(jié)果,否則不響應(yīng)該數(shù)據(jù)包。
(2)數(shù)據(jù)類型
數(shù)據(jù)類型分為認證數(shù)據(jù)、密鑰交換數(shù)據(jù)和加密數(shù)據(jù)3種。
(3)數(shù)據(jù)長度
數(shù)據(jù)長度用來存儲本次傳輸?shù)臄?shù)據(jù)包中功能碼區(qū)和數(shù)據(jù)區(qū)中的數(shù)據(jù)的長度。
(4)功能碼區(qū)
Modbus通信規(guī)約可定義的功能碼為1~127,用于表示從設(shè)備要完成的功能。比如01表示讀取輸出狀態(tài),02表示讀取輸入狀態(tài),03代表度寄存器數(shù)據(jù),06代表設(shè)置單個寄存器等。
(5)數(shù)據(jù)區(qū)
數(shù)據(jù)區(qū)表示本數(shù)據(jù)域中的字節(jié)數(shù)量、寄存器地址或者具體的數(shù)據(jù)。根據(jù)不同的功能碼,數(shù)據(jù)域的數(shù)據(jù)存儲結(jié)構(gòu)也有所不同。正常響應(yīng)時,數(shù)據(jù)域包含上位機請求的數(shù)據(jù)或者下發(fā)的控制數(shù)據(jù)。當是異常響應(yīng)時,數(shù)據(jù)區(qū)包含了錯誤碼,上位機設(shè)備可以根據(jù)錯誤碼做響應(yīng)的錯誤信息處理。
(6)校驗碼區(qū)
SecModbus通信規(guī)約在RTU模式下采用CRC循環(huán)冗余校驗方式,該校驗域存儲結(jié)果的兩個字節(jié)的數(shù)據(jù)。
其中,功能碼區(qū)和數(shù)據(jù)區(qū)在數(shù)據(jù)傳輸過程中為加密數(shù)據(jù),SecMODBUS主要功能是碼定義、寄存器地址分配,如表3所示。
2.3 SecModbus的數(shù)據(jù)處理過程
基于加密SecModbus規(guī)約的通信過程主要包括上位機數(shù)據(jù)的接收、上位機的認證、密鑰交換、上位機控制指令的解密和處理、對上位機指令數(shù)據(jù)的組織和加密、上位機數(shù)據(jù)的加密和發(fā)送等多個過程,SecModbus和上位機進行數(shù)據(jù)交換的流程如圖6所示。
3 結(jié)論
本文介紹的安全RTU的設(shè)計方案采用了TMS320F28335 DSP數(shù)字處理芯片、ADE7880測量芯片、NRSEC3000數(shù)據(jù)加解密芯片,充分利用了各芯片的豐富外圍和內(nèi)置功能,簡化了軟件和硬件設(shè)計,降低了開發(fā)成本,縮短軟件開發(fā)周期,提高了產(chǎn)品的可靠性,并能夠充分保證數(shù)據(jù)傳輸中的安全性,為生產(chǎn)設(shè)備的安全監(jiān)控提供可靠保證。本文中提到的RTU的軟硬件已通過了相關(guān)部門的檢測,并且在實際工程項目中得到了大量應(yīng)用,經(jīng)過長期的使用,該產(chǎn)品工作正常,性能穩(wěn)定,取得了良好的應(yīng)用效果。本產(chǎn)品不僅適用于普通的環(huán)境、樓宇、建筑等普通民用信息的監(jiān)控,而且更適用于電力、高鐵、石油等對數(shù)據(jù)安全有嚴格要求的行業(yè),具有良好的應(yīng)用前景。
參考文獻
[1] 蘇善偉.一種具有四遙功能RTU的設(shè)計與實現(xiàn)[J].儀表技術(shù),2007(9):3-5,8.
[2] 倪云峰,董張卓,張曉莉,等.高性能RTU交流采樣單元的設(shè)計與實現(xiàn)[J].高電壓技術(shù),2005,31(1):70-88.
[3] 車立志,徐文尚,劉倩倩,等.數(shù)字化直流調(diào)速實驗系統(tǒng)設(shè)計與實現(xiàn)[J].實驗室研究與探索,2009,28(2):57-60.
[4] 劉小端,曾國宏.基于MSP430F149的低成本智能型電力檢測儀[J].電子技術(shù),2002,29(4):5-8.
[5] 楊艷民,王學俊,楊林,等.基于Modbus協(xié)議的CAN總線轉(zhuǎn)換器設(shè)計[J].電測與儀表,2006,43(10):49-53.
作者信息:
韓在峰1,趙麗敏2
(1.北京國際系統(tǒng)控制有限公司,北京100083;2.德州學院 信息管理學院,山東 德州253300)