趙國杰,文華,劉成浩
(南方電網深圳數字電網研究院有限公司,廣東深圳 518055)
在電力物聯網終端中,溫度、濕度、電壓等各種傳感器的應用日益廣泛,由于大多數的電力數據采集終端都是在無人監視環境下進行的,有些終端因為自身的數據處理能力或者是歷史遺留問題,并未對其進行加密,不能保障數據安全。因此在通信過程中,必須要解決電力物聯網裝置的數據安全傳輸問題。
在以往通信過程中,文獻[1]提出了基于區塊鏈且支持驗證的加密方法,該方法結合共享密鑰加密數據訪問過程,依據區塊鏈的不可篡改性保護用戶隱私。雖然使用該方法能夠將密文加密后才發送,但是收信方若想讀取原文,需要使用加密密鑰才能解密,該過程需要使用同樣的密鑰鑰匙,無法保證通信安全;文獻[2]提出了基于生成對抗網絡的加密方法,構建模糊密鑰通信模型,對通信雙方進行對抗訓練,但是加解密速度較慢。由于電力物聯網終端是一個存儲容量較小的設備,節點資源受限,單純地使用上述兩種方法都無法滿足電力物聯網設備在資源受限條件下對通信的要求。為此,提出了基于混沌映射算法的電力物聯網加密通信認證方法。
混沌映射算法采用位置置亂的方法,整個加密過程如圖1 所示。

圖1 基于混沌映射算法通信認證加密過程
由圖1 可知,對于密鑰的設計,首先假設存在兩個密鑰λ1、λ2,其中,λ1是通信標識位置置亂密鑰,λ2是混沌映射初值密鑰。通信標識位置置亂采用了混沌映射,其迭代次數可以作為密鑰[3-4]。若密鑰值設置為1、2、3、4,則分別表示對原始圖像映射迭代1~4 次。
由于通信標識是有限的數據集集合,數據排列組合是有限的,所以在有限次迭代處理后,加密通信認證會恢復到原來的狀態,但不能抵御外界明文攻擊[5-7]。因此,為了提高通信認證的安全性,需要在二維混沌映射基礎上增加擴散函數[8]。所采用的擴散函數如式(1)所示:
式中,xk表示每一次通信的標識數據;xk′表示擴散后通信的標識數據;r表示混沌映射產生的混沌序列;s表示通信的標識數據[9]。
在擴散函數中引入偽隨機序列,提高了通信認證加密的安全性[10]。基于該原理,設計通信認證加密步驟如下:
步驟1:選取通信標識位置置亂密鑰的第一個位置作為置亂位置,使用二維映射方法對原始通信標識進行位置置亂,并迭代一次[11];
步驟2:轉換置亂順序,選取混沌映射初值密鑰λ2的第二個位置作為置亂位置,使用二維映射方法對原始通信標識進行位置置亂,并迭代二次;
步驟3:選取通信標識位置置亂密鑰的第三個位置作為置亂位置,通過混沌映射對以上得到的置亂圖像進行三次迭代;
步驟4:選取通信標識位置置亂密鑰的最后一個位置作為置亂位置,對置亂后的通信標識進行混沌映射迭代處理后,獲取擴散處理后的加密通信認證序列,由此完成整個通信認證過程的加密[12]。
為了提高電力物聯網加密通信過程中的安全性和隱私性,需要首先發送和接收數據,同時添加明文處理隱私數據,并結合混沌映射算法設計電力物聯網加密通信認證流程[13-14]。由于不可預測性和對初始值的敏感依賴性,加密過程十分嚴謹,其中,混沌映射公式為:
式中,δ表示控制參量;xn表示任意初始值。對于混沌映射迭代處理過程中隨意出現的一個確定時間序列,式(2)將呈現不同的特性。隨著控制參數的增加,式(2)呈現不斷地周期分叉,最終達到混沌狀態[15]。在該狀態下,設計電力物聯網加密通信認證流程如下:
步驟1:獲取由隨機數組成的密鑰,該密鑰能夠同時接收和發送數據;
步驟2:獲取傳輸過程中的關鍵數值代碼,得到密鑰:
1)提取傳輸時間日期內的時間比特,將小時間比特和發送方的標識代碼長度值相加,從而獲得標識代碼的指數值;
2)從發送者的標識代碼中查找相應的數字,并將其作為密鑰指數基本值;
3)將密鑰指數基本值加上發送方識別的代碼作為密鑰索引值;
4)從密鑰本中查找與索引值相對應的密鑰數值,由此獲取由若干個密鑰關鍵數值組成的密鑰。
密鑰可設計為:在確定混沌映射結果的基礎上,對其進行分段線性處理,如式(3)所示:
式中,γ表示控制參數;Cn表示迭代項。定義的分段線性混沌映射所屬的映射空間是混沌的,并且映射結果在連續軌道上顯示確定的隨機性[16]。
為了避免混沌特性退化,抵抗已知攻擊,加入擾動機制,即bn數列,可表示為:
式中,Z表示模數。流密碼計算公式為:
式中,mod 256 的作用是將當前計算結果映射到字節空間中,形成一個字節的流密碼。
步驟3:發送端整合密鑰本、接收唯一標識、發送時間等信息,并將這些信息傳送給接收端;
步驟4:接收端接收到加密文本的索引值后,根據步驟3 整合的信息,實現發送端到接收端的數據加密通信。
1)在接收時間日期內抽取時間比特,在時間比特和發送方標識代碼的長度值之間進行相加,從而獲得標識代碼的指數值;
2)從發送端的標識代碼中查找相應的數字,并將其作為密鑰指數基本值;
3)將密鑰索引值與密鑰本身長度相加,獲取該部分的索引值;
4)以密鑰數值作為對稱密鑰,使密文恢復為明文,由此完成電力物聯網加密通信認證。
由于傳統的以用戶名/密碼為基礎的身份驗證方法可能會遭到黑客入侵或者被竊聽,采用混沌映射技術進行通信驗證是一種非常有效的方法。因此,提出了結合具有挑戰性的握手驗證機制,以改善通信認證的穩定性與安全性,以避免重放攻擊。
基于挑戰握手認證協議的增強通信認證過程如圖2 所示。

圖2 基于挑戰握手認證協議的增強通信認證過程
由圖2 可知,發送端和接收端的通信識別需要以下三次交互過程來確認。第一次交互過程:在訪問者要求識別通信身份時,認證人員隨機向訪問者發出“挑戰”信息;第二次交互過程:在接受挑戰后,利用其私人密鑰的簽名挑戰值產生“響應”值;第三次交互過程:認證用戶根據訪問用戶的簽名信息,對應答值中的挑戰值進行認證。若簽署驗證是正確的,通信識別就會被證實。否則,存取要求將被終止。采用“挑戰握手”驗證機制對傳統的身份驗證方法進行了改進?;谔魬鹞帐终J證協議,電力物聯網服務器能夠通過更改可變挑戰值,對電源或應用系統的通信識別進行安全驗證,避免第三方的重放攻擊,從而證實了與電力物聯網相連的“人機物”身份的正確性及合法性。
為了驗證基于混沌映射算法的電力物聯網加密通信認證方法設計的合理性,進行實驗驗證分析。
實驗使用一臺Intel Core 2 的CPU,通過計算機來模擬系統的監測中心。該監測中心采用Visual C語言,并使用該語言進行編寫,終端通過使用嵌入式設備使監測中心與串口進行通信。
在上述實驗環境下,設置一種威脅電力物聯網通信認證的情況:遠程控制行為或特征出現極大異常,一般為主機上的惡意程序使用SSL/TLS 協議對服務器發起回連,小部分由某些對SSL/TLS 協議不規范使用的軟件產生。該情況下,通信認證過程產生的報文,具體內容如圖3 所示。

圖3 通信認證過程產生的報文
由圖3 可知,在這段報文中,通信認證過程產生的報文,即為響應報文。
在通信認證過程受到威脅的情況下,上、下行包數統計結果如表1 所示。

表1 上、下行包數統計結果
由表1 可知,通信認證過程中,受到威脅影響,上行和下行包數變化情況變化不大。
分別使用基于區塊鏈且支持驗證的加密方法、文獻[1]基于生成對抗網絡的加密方法和文獻[2]基于混沌映射算法的通信認證方法,對比分析上、下行包數變化情況,得到結果如圖4 所示。

圖4 三種方法上、下行包數變化情況對比分析
由圖4 可知,使用基于區塊鏈、基于生成對抗網絡的加密方法,上、下行包數變化情況與表1 數據不符,最大誤差分別為三個和七個。使用所設計方法的上、下行包數變化情況與表1 數據相符,誤差為0。
通過上述分析結果可知,所設計方法能夠獲取全部數據包。截取通信認證過程中的一段報文如下所示:→TXD:90 12 12 95 75 02 00 72 02 04 00 00 00 16;→RXD:90 14 14 95 24 02 00 72 02 04 00 00 00 14。在這段報文中,對象標識符字段值與請求報文一樣,即為響應報文。如果響應報文與通信認證過程的報文一致,則說明通信認證成功。
文中結合混沌映射算法,設計電力物聯網加密通信認證方法流程,該方法采用了基于混沌映射的對稱密碼,實現了用戶間的相互驗證和密鑰協商,保證了從發送端到接收端的訪問驗證、全業務鏈路數據傳送以及信任的安全性。提出的具有挑戰性的握手驗證機制,增強了電力物聯網通信認證效率,避免了對稱加密解密操作導致的效率低的問題。