鄭漢杰,柯金發,邵海明,陳宇琦,王桂彬,林海平
(1.國網南平供電公司,福建 南平 353000;2.國網信通億力科技有限責任公司,福建 福州 350003)
北斗衛星導航系統正在逐步實現全球化,民用領域應用不斷擴充,“北斗+電力”逐步成為民用北斗應用的一大領域。在我國部分偏遠地區,用電信息遠程自動化采集面臨著有線通信鏈路建設成本高、無線公網信號尚未覆蓋等問題[1-2]。為實現智能電網全面建設,本文提出一種基于北斗短報文安全傳輸的用電信息采集系統。由于電力用電信息涉及到商業信息安全,為進一步提高傳輸安全性,本文設計針對北斗短報文信息的加密機制。該系統可作為“北斗+”用電信息采集服務的一種有效技術補充方案,對實現用電信息的采集全覆蓋起到了重要作用,具有較高的推廣意義。
目前電力行業的數據通信應用方式中,主要采用光纖、運營商無線公網通道與電力線載波等形式[3]。而在偏遠或復雜地形的位置難以實現全覆蓋,只能靠人工抄表。目前北斗系統應用于電力用電信息采集已有相關研究成果[4-6],均實現北斗與電力用采系統的結合,但還未在北斗短報文信息安全方面做另外處理,本文將對這部分問題進行擴展優化與補充,提出解決方案。
北斗衛星系統除了導航與授時外還具備短報文雙向通信功能,已廣泛應用于軍用以及民用領域,傳輸的信息安全性也越來越被重視。因此有必要對北斗短報文數據進行加密。國內已有相關研究[7-8],本文采用硬件加密方式,硬件加密相比軟件加密方式具有處理效率與安全性更高的優勢。使用的加密方式為國密SM1、SM2、SM3算法[9-11]。國密算法為我國密碼局認定的國產商用密碼算法,可擺脫對國外技術的過度依賴,高效安全。本方案在密鑰協商與報文加密階段組合使用這三類算法。

圖2 北斗前置軟件架構與數據流向圖

圖3 前置軟件服務示意圖
北斗用電信息安全傳輸系統主要包含兩大部分:北斗用電信息加密采集主站與加密采集終端,如圖1所示。主站端通過架設北斗多卡機群組成北斗收發通道,北斗前置服務器運行前置軟件,并連接加密網關,負責將北斗協議數據轉換為已加密的電力376.1協議[12]數據,并轉發至加解密設備進行處理,提取出有效的應用層數據。同時在通信初始階段也負責進行密鑰協商操作。現場采集終端通過北斗電力轉接盒將集中器或專變終端與北斗加密終端連接,終端內嵌有加密模塊,可對采集數據進行加解密處理,通過這種結構實現現場設備與主站的互通互聯,遠程抄表與控制等一系列功能。

圖1 北斗用電信息采集安全傳輸系統結構
北斗前置軟件是一個數據中轉站,運行在北斗主站前置服務器中,北斗數據通過前置軟件處理后傳入現有的用電信息采集系統。北斗前置是北斗設備接入用電信息采集主站的適配器,軟件總體分為4大部分,架構如圖2所示。軟件物理層包括了對串口、以太網接口的適配與數據處理,同時管理物理接口的狀態;數據傳輸層包含了對電力376.1協議、北斗用戶機協議的處理以及數據的加解密管理,負責數據在北斗設備、主站、加密設備與數據庫間的轉發;持久層包含了數據庫管理;應用層包含了北斗設備管理、集中器設備管理、補召管理、日志管理。
當電力用電采集主站系統發起對某臺集中器的數據查詢時,一般的集中器將會通過GPRS網絡實時回傳至系統[13]。主站監控集中器的在線情況是通過保持TCP長連接。但當采用北斗通信模式后,將受到北斗通信頻度限制,無法實現與主站直接保持實時連接,這將導致主站與集中器超時連接而斷開,無法監控到集中器狀態且查詢數據時會出現查詢超時等問題。北斗前置軟件作為數據緩存及協議轉換功能網關,通過模擬集中器機制與主站進行交互,可有效地解決上述問題。同時,前置軟件還負責管理日凍結數據的預召與補召。整體過程如圖3所示。
本系統中的北斗設備內嵌有加密模塊,軟硬件結構如圖4與圖5所示。
主控DSP模塊實現核心控制管理功能;安全模塊主要實現與智能密碼鑰匙的交互訪問,完成身份認

圖4 密碼模塊硬件結構圖

圖5 密碼模塊軟件結構圖

圖8 密鑰協商流程
證與部分密鑰管理功能;接口模塊實現數據傳輸方式,完成密碼模塊與主機的高速數據交換;存儲模塊由FLASH和SDRAM組成,FLASH存放DSP程序及部分固化的設備信息,SDRAM用于系統運行時程序和數據的存儲;算法模塊由高性能密碼芯片組成,實現對稱、非對稱和雜湊等算法。
密碼模塊的軟件部分可分為嵌入式操作系統層、API應用編程接口層兩大部分。嵌入式系統負責密碼模塊硬件資源系統,控制密碼模塊與外部設備間的數據交互和加解密運算;API應用編程接口層,即密碼模塊提供的API函數編程接口,支持國內、國外多種標準算法接口。
本系統對北斗短報文的加密與解密過程分別在主站端的加密網關與北斗加密終端內的加密模塊中完成,加密數據的流向如圖6所示。

圖6 北斗用采系統加密數據流向圖
短報文加密的主要過程分為兩大部分,分別是協商過程與加密過程,如圖7所示。協商過程主要目的是生成回話密鑰,在密鑰協商完成之前不進行任何其他非密鑰協商數據信息的發送,否則數據將會被丟棄。協商好回話密鑰之后,進行數據通信時,需要對應用層的報文使用加密算法進行加解密處理。

圖7 數據加密整體流程
北斗短報文在發送加密數據之前需要進行密鑰協商,協商過程詳細流程如圖8所示。
密鑰協商成功后,需要對應用層的數據報文使用SM1算法進行加解密。加密過程如圖9所示。步驟如下:
(1)數據填充。首先對原始數據進行字節填充,使數據長度固定為64 B,如原始數據長度已為64 B,則不填充。填充內容的第一個字節為0x80,后續填充字節內容為0x00。
(2)添加頭部信息。數據填充后需加入頭部信息,頭部信息包括報文類型、長度、校驗字節等字段,如圖10所示。
(3)數據加密。對附加信息與填充報文使用之前協商好的回話密鑰進行SM1加密。

圖9 數據加密過程

圖10 北斗加密報文協議格式
北斗在傳輸協商報文以及加密報文時都需遵循北斗傳輸的頻度規律,對于協商報文中較長的數據項需要進行分包與組包處理。由于北斗在傳輸過程中可能出現丟包,在協商過程中如果出現任何丟包都將導致協商失敗,北斗設備針對這種情況設計了協商報文補傳機制,一旦進入協商模式每一步協商步驟都有反饋超時判斷,當一方發送完協商報文后在2 min后未收到任何反饋則判定為丟包,并自動向另一方重發上一步的協商報文,這個過程將持續至協商結束,協商的整個過程至少持續5 min。
當協商成功后,在通信過程中任何一方回話密鑰丟失都將直接進入協商狀態。安全傳輸機制示意如圖11所示。

圖11 安全傳輸機制
為驗證系統的可行性,本次測試采用北斗卡均為三級民用卡,發送頻度為78.5 B/min。測試環境示意如圖12所示。
為驗證北斗安全傳輸用電信息采集數據的有效性與成功率,北斗加密采集終端向集中器與專變采集終端召測上述數據項并回傳給前置軟件存入前置數據庫中,再通過用電采集仿真主站軟件向北斗前置軟件召測并解析顯示數據項,如圖13所示顯示了召測集中器下2號測量點的正向有功電能示值日凍結數據的返回結果,2號測量點11月26日凍結的正向有功電能總量為15 478.16 KWh。該結果與人工抄表的結果一致,證明本系統召測的數據能夠成功加密并解密且正確有效。當召測專變的曲線數據時,由于曲線數據項種類較多,本文以召測A相電壓曲線為例,用采主站仿真軟件召測的結果如圖14所示,顯示了專變終端凍結三相表中A相電壓11月26日每15 min的電壓值。

圖12 測試環境結構

圖13 召測集中器下掛用戶正向有功電能示值歷史值結果
為測試該系統數據召測的成功率以及加密環節是否對召測過程有影響,本文設置不同分組實驗,每組實驗均連續測試10天,結果如表1所示。
通過表1可以對比分析出:
(1)采用加密傳輸的北斗設備與普通北斗設備的通信成功率基本一致,可驗證加密設備在完成加密的同時保證北斗通信的正常運行;
(2)集中器、專變終端與北斗設備均能正常對接,并根據不同下掛電表類型傳輸不同的指定數據,成功率基本一致;

圖14 召測專變終端三相表A相電壓曲線結果

測試類型北斗傳輸成功率/%召測數據完整率/%平均耗時/h電力設備北斗設備傳輸1遍傳輸2遍傳輸1遍傳輸2遍傳輸1遍傳輸2遍集中器專變終端普通98.0898.4295.381002.294.5998.3397.9594.671001.172.32集中器專變終端加密98.4298.3895.631002.394.7998.2897.9792.701001.252.51
(3)雖然專變終端北斗傳輸成功率與集中器基本一致,采用每個數據包傳輸2遍的方式可有效使數據召測完整率達到100%。但傳輸耗時為傳輸1遍方式的2倍;
(4)使用北斗加密設備的平均耗時比普通北斗設備稍高,由于加密設備需要有部分時間進行密鑰協商,且本測試為每日都進行協商,協商中的丟包重傳機制也會一定程度影響耗時。
通過測試可驗證本文提出的技術可行且成功率較高。
北斗短報文安全傳輸的用電信息采集系統將北斗設備與國密加密模塊融合,進一步加強北斗短報文傳輸的信息安全,采用外部加密設備取代軟件加密方式,提高了密鑰協商與數據加解密效率,經過測試表明采用該技術的數據采集成功率高,且可無縫接入原有系統并拓展功能。該系統具有良好的社會和經濟效益,有較好的應用前景。