趙百捷,劉良帥,侯勃旭,姬艷鵬,杜曉東
(1.國網河北省電力有限公司電力科學研究院,河北 石家莊 050021;2.廣西大學計算機與電子信息學院,廣西 南寧 530004)
電力物聯網作為電力系統重要的演進方向,能夠有效支撐電力系統的信息與物理的深度融合[1-2],實現廣泛互聯和人機交互,提升電網的服務質量[3]。近年來,頻發的物聯網安全事件,引發了人們對電力物聯網系統安全性的擔憂。電力物聯網是電網數據傳輸網絡的重要組成部分,其設備通信的安全與穩定運行對電網有重要的意義[4]。
通過虛擬專用網(Virtual Private Net work,VPN)、安全套接層(Security Socket Layer,SSL)或安全傳輸層協議(Transport Layer Security,TLS)等安全協議,在開放的物理線路中,為對等的通信雙方建立邏輯上的加密數據通信管道[4],是確保數據通信安全的一種重要形式。而電力物聯網感知層網絡中的智能電力傳感器和斷路控制器等小型智能終端設備(Smart Ter minal Device,STD)具有海量分散部署[5]、無人值守、計算資源較少且不易擴充等特點。在網絡結構方面,通常STD需要接入一個智能網關(Smart Gate Way,SGW),對大量感知數據及狀態量進行輸入、輸出、控制和協議轉換。然而隨著海量的STD接入到物聯網中,帶來了一系列的壓力和問題:STD的計算資源需求增加,降低了設備穩定性;設備之間的直接通信被遠程服務器隔離,不利于本地實時應用;密鑰管理的人工成本和密鑰泄漏的風險增加;感知層網絡對STD接入的身份認證策略不足,數據存在安全風險。
為有效應對上述問題,近年來,國內外研究者們運用計算資源需求相對較少的橢圓曲線(Elliptic Cur ves,EC)和哈希(Hash)算法,為物聯網或電力物聯網提出了多種輕量級的設備認證和密鑰協商協議[3-8]。2018年,MAH MOOD等[3]提出一種基于EC加密體制的輕量級雙向身份驗證協議,該協議在安全性和降低計算的復雜度方面具有一定的優勢,但在匿名性、已知密鑰安全性、內部人員攻擊等方面存在不足。2020年,WANG等[9]利用橢圓曲線加密算法(Elliptic Curve Cr yptography,ECC)提出一種考慮了本地實時數據監控、遠程數據存儲物聯網應用需求的輕量級身份認證協議,但在隱私保護和計算性能方面仍存在較大的改進空間。2021年,KHAN A.A等[10]基于橢圓曲線加密機制和預分配密鑰策略,提出了一種輕量級的密鑰協商框架(Passwor d-based anony mous light weight key,PALK),可提升物聯網安全性,同時具有匿名性和降低計算復雜度的特點。但該方案存在會話密鑰泄漏的缺陷,在身份認證和計算會話密鑰的過程中進行了3次雙線性配對運算,消耗了較多的計算資源。
為解決電力物聯網系統安全性與資源沖突的問題,本文在橢圓曲線動態密鑰協商協議(Elliptic Curve Diffie-Hell man key Exchange,ECDH)的基礎上,提出一種面向電力物聯網STD和智能網關(Smart Gate Way,SGW)的輕量級雙向身份認證策略,并對該策略的安全性和計算性能進行分析。
電力物聯網系統應用的一般架構見圖1[2-5]。圖1中物聯網單元末端的感知層網絡,部署海量的STD。針對圖1描述的電力物聯網,結合SGW、STD和服務器TA構成的三層網絡結構特點,STD對設備身份認證與密鑰協商策略的高安全性、低資源消耗性的需求,本文提出一種基于EC算法和對稱密鑰算法混合的身份認證與密鑰協商的策略。

圖1 電力物聯網系統組成
表1列出了本文提出方案所需的參數、方法、符號的名稱及其說明。

表1 提出方案的相關參數及說明
在系統部署時,服務器TA首先需要選擇橢圓曲線方程(E p(a,b):y2≡x3+ax+b mod p,4a3+27b2≠0mod panda,b∈F p)的一組公共參數,并計算出TA的密鑰對{q s,Q s}。SGW或STD在安全環境下注冊時,通過公式Q i=q i·G,選擇一個隨機數q i,并計算出K i,s=q i·Qs;服務器TA通過安全途徑接收Qi,并計算出K'i,s=q s·Q i。根據ECDH的原理K i,s=K'i,s=q i·q s·G。
圖2描述了基于EC算法,電力物聯網三方身份認證與密鑰協商策略的執行過程。
(1)服務器TA授權SGW接入STD。
服務器TA根據管理員用戶的操作,從本地數據庫中查詢出需要建立網絡鏈接的SGW和STD的{I D g,Q g,K g,s}和{I D d,Q d,K d,s}。然后,依次完成圖2中計算,得出密文C s,g,并通過公共網絡發送給指定的SGW。

圖2 輕量級身份認證策略
(2)SGW驗證TA的身份,請求接入STD。
SGW收到消息C s,g后,使用注冊階段生成的K s,g,計算SK s,g=h(K s,g),得出明文M s,g,并使用公式|t g-t's|?<Δt,I D'g?=I D g,驗證消息的來源是否為服務器TA。驗證成功后,計算SK g,d=h(q g·P d),作為與服務器TA指定的STD的會話密鑰。然后,依次計算出變量x,V g,d、C g,d的值,并通過本地網絡廣播消息{C g,d,t s,P g,V s,d}。
(3)STD驗證TA和SGW的身份。
STD收到消息C g,d之后,通過公式V s,d?=h(t's‖I D d‖K d,s‖P g),驗證消息的接收方是否為自身。如果確定自身是接收方,繼續計算出SK d,g=h(q d·P g)。根據ECDH的原理,可以得出SK d,g=SK g,d=h(q g·r g·q d·G)。所以通過公式I D'd?=I D d,驗證SGW的身份。成功后,繼續計算出變量y、V d,g、C d,g的值,并將C d,g返回給SGW。
(4)SGW驗證STD的身份。
SGW接收到STD返回的消息后,使用第2步計算得出的SK g,d,解碼出V'd,g,并通過計算公式I D'g?=I D g,y'?=x+1,驗證發送當前消息STD的身份。
對提出策略P的安全性進行證明,建立了策略P的形式化安全驗證模型[11](Real Or Rando m,ROR)。該模型中P的參與者I包括{TA,SGW,STD},攻擊者A具有如下的能力。
(1)Excute(TA,SGW,STD):截獲{TA,SGW,STD}之間,交換的所有消息的副本。
(2)Send(I,m):可以I的實例發送消息m。
(3)Reveal(I):獲取I的會話密鑰,并發動已知密鑰攻擊。
(4)Corr upt(I):獲得I的長期密鑰,用于驗證會話密鑰SK的強前向安全性能。Corr upt(SGW):獲得SGW的{I D g,q g,Q g,K s,g};Corr upt(STD):獲得SGW的{I D d,q d,Q d,K s,d}。
(5)Test(I):使用一個拋硬幣的測試,挑戰會話密鑰。當ρ=1時,返回正確的會話密鑰SK,當ρ
=0時,返回一個隨機字符串。
(6)Hash(m):通過哈希碰撞攻擊h(·)。
(7)Enc(m):破壞對稱密鑰算法的安全性。
(8)Dictionary(m):使用字典D發動攻擊。
(9)Ecdl p(m):破壞ECC算法安全性。
(10)Ecdhlp(m1,m2):破壞ECDH安全性。
P安全基礎是由橢圓曲線E p(a,b)上的點構成了一個階為q的有限循環群G。|D|表示字典D的長度。QS,QE,QH分別表示攻擊者A執行Send()、Excute()和Hash()查詢次數。ε是一個極小的可以忽略的實數。假設A破壞h(·)的成功概率為AdvHash(A)≤Q2H/2l+1[12];A使用字典攻擊的成功概率為Advdic≤Q s/|D|;A破壞對密鑰算法安全性的成功概率為AdvEnc(A)≤ε;A破壞ECC算法安全性的成功概率為AdvECDLP(A)≤ε;破壞ECDH安全性的成功概率為AdvECDHLP(A)≤ε。
結合協議執行過程,攻擊者A成功破壞會話密鑰SK g,d安全性的概率可使用以下公式描述:

公式表明,策略P中SK g,d安全性與密鑰的長度、h(·)哈希函數、ECC、ECDH、對稱密鑰等算法的安全性緊密相關。當攻擊者A無法破壞任意一種上述算法的安全性時,Adv SK g,dP≤ε,即攻擊者A成功的概率可以忽略,SK g,d的安全性能夠得到保證。
分析身份認證策略的計算資源需求情況,需要在相同安全級別的基礎上進行對比。為此選取ECC私鑰長度為160 bits,對密鑰算法的密鑰長度為128 bits。在相同硬件平臺上,完成1024 bits模乘運算所需的時間通常表示為1 T mm,則進行ECC標量乘法運算、ECC加法運算、哈希運算,需要的計算時間分別約為29 T mm、5 T mm、0.4 T mm。再此基礎上可以得出表2中的數據,表中描述了本文提出策略在計算資源需求方面與一些近期公布的典型方案的對比情況。

表2 身份認證策略的計算性能對比 Tmm
由表2可以看出,本文提出策略在計算資源需求方面具有優勢,如STD完成身份認證與密鑰協商工作的計算時間僅需30.6 T mm;三方設備總體計算需求為178.4 Tmm,在對照方案中表現最優。
本文提出了一種使用ECC、Hash函數、對稱密鑰算法技術混合的,在服務器TA協助下,實現SGW與STD雙向身份認證與密鑰協商的策略。并通過ROR形式化的安全性驗證模型證明了該方案良好的安全性。在計算性能方面,該策略針對單一STD與SGW的身份認證的情況,進行了優化。其中STD和SGW完成身份認證與密鑰協商工作,各自只需要消耗30.6 T mm的計算時間,與相關協議比較具有一定的優勢。在多STD接入同一個SGW的情況下,SGW與TA的優化不足,SGW只能依次順序接入每一個STD,并發性能較低,導致身份認證的周期較長,后續研究工作可從該方向開展。