鄧建鋒,肖 焯,黃寶鑫,張麗娟,胡厚鵬
(1.南方電網數字電網研究院有限公司,廣州 510700;2.南方電網貴州電力科學研究院,貴陽 550002)
智能電網是新一代電網的智能化,實現了“發—輸—配—儲—用”的電力系統全生命周期以及各環節的信息化、自動化和互動化[1]。隨著智能電網系統的逐步完善,移動終端在智能電網中的應用也越來越普及,其便攜性決定了它在智能電網中可以應用于多種場景,在獲取信息和傳遞信息等方面有顯著優勢。與此同時,傳統移動終端在通信時因缺少足夠的安全保障措施招致多種安全威脅。例如,攻擊者可以通過簡單的竊聽輕松攔截消息,然后發起攻擊獲取用戶的隱私信息。因此,在移動終端信息交換之前,必須進行身份認證,以確保與合法實體的安全通信。
近年來,諸多學者在智能電網移動終端認證方向進行了深入研究。為解決通信實體間的身份認證問題,2018年,Cheon等[2]提出了一種高效的線性同態認證加密方案,保證了針對竊聽和偽造攻擊的安全性。2019年,Zhang等[3]提出了一種用于智能電網的輕量級匿名認證和密鑰協商方案,實現了智能電表與服務提供商之間的快速相互認證,同時保證了智能電表的匿名性和不可追溯性。賴啟超等[4]提出了一個基于身份信息驗證的可靠數據聚合方案,該方案支持批量驗證,能夠將所有用戶驗證所需的雙線性對運算次數降低到一個常數。Srinivas等[5]設計了一種基于時間憑證的匿名輕量級用戶身份驗證機制,該機制有能力抵抗各種已知的針對被動/主動對手的攻擊。2020年,Ali等[6]表明Srinivas等的方案無法抵抗可追溯性和被盜驗證者攻擊,因此,他們使用輕量級對稱密鑰原語和臨時憑證,提出了一種改進方案,在保持輕量級的同時提供了針對許多已知攻擊的安全性,包括可追溯性和被盜驗證器。Iqbal等[7]首先為基于軟件定義網絡 SDN 的智能家居提出了一種新的隱私保護安全架構。隨后,基于所提出的安全體系結構核心基礎設計了匿名輕量級身份驗證機制。Gaba等[8]提出了一種健壯且輕量級的相互認證方案,方案中使用了隱式證書并在智能環境中實現智能設備之間的相互認證和密鑰協商,保護分布式智能環境免受未經授權的濫用。Ding等[9]設計了一種智能電網環境下高效的基于身份的計量數據聚合方案,支持收集器對電力數據的批量驗證,提高了計算效率,并且不損害采集數據的機密性。但是協議中用戶身份的匿名化也讓可信第三方追蹤電力數據的真實來源變得困難。2021年, Yang等[10]提出了一種新的基于區塊鏈的身份驗證方案,方案提出的框架結合了區塊鏈技術和模塊化平方根算法來實現有效的身份驗證過程。2022年,Chaudhry等[11]提出了一種使用橢圓曲線和對稱密鑰加密以及單向消息身份驗證操作的智能電網基礎設施的輕量級身份驗證方案,通過在智能電表和鄰居區域網絡網關之間僅交換兩條消息來完成身份驗證過程。Sureshkumar等[12]在電動汽車入網(vehicle-to-grid,V2G)網絡環境中引入了霧服務器來實現并行管理,但是整個協議由于在登錄和認證階段頻繁地使用哈希函數運算,導致計算開銷非常大。
本文設計了一種基于桶移位物理不可克隆功能(barrel shifter physical unclonable function,BS-PUF)的智能電網移動終端的輕量級認證方案,并在協議中加入“數字指紋”。物理不可克隆功能是資源受限設備實現輕量級安全身份驗證的重要因素。此外,考慮到智能電網節點的資源受限特性和對延遲的低容忍特性,認證方案應盡可能降低計算和通信成本。本文方案具有如下特點。
1)匿名性。將移動終端身份標識符與可信機構共享的臨時密鑰生成隨機假名,實現身份的匿名性。移動終端在各次認證中使用的假名之間沒有關聯關系,具有不可連接性,避免了敏感信息泄露。
2)高效性?;跈E圓曲線構造認證協議,實現協議的輕量化;利用BS-PUF[13-14]的物理特性實現設備秘密信息的零存儲,減少密鑰管理的成本。
3)動態性。用戶口令可離線進行動態更新,提高口令的安全性,可有效抵抗離線字典攻擊。
4)可靠性。結合密碼學與BS-PUF,實現雙因素安全,若移動終端沒有內置的BS-PUF與用戶輸入的密碼,則無法完成認證流程。
設G1是由素數q和生成元P構成的橢圓曲線群,下面將對下列棘手問題進行介紹。
認證協議中共有3類參與者:移動終端M、可信機構TA和電力網關GW。
本方案包括3個實體:移動終端(M)、電力網關(GW)和可信機構(TA)。M作為認證主體,發起認證請求,進入電力網關系統。GW是一種固定設備,用于采集信息和信息轉發。TA則是可信機構,負責核驗認證雙方身份,并輔助認證。在M與GW均部署獨一無二的BS-PUF,通過模糊處理器(fuzzy extractor,FE)進行噪聲處理,并通過橢圓曲線密碼技術為移動終端生成隨機假名,借此實現移動終端的匿名性。M進入GW的轄區時,M與GW會進行雙向認證的流程,在過程中需要TA的輔助,并在認證通過后生成會話密鑰。M通過GW與TA進行交互,不同的移動終端由不同的電力網關單元負責,實現了雙向安全認證與密鑰協商,如圖1所示,與本方案相關的符號如表1所示。
表1 認證協議符號定義Tab.1 Definition of certification protocol symbols
圖1 認證場景圖Fig.1 Authentication scenario map
認證過程主要包括以下4個階段:系統初始化、注冊、認證和密碼更新。
2.2.1 移動終端注冊
移動終端注冊詳細步驟如下。
3)移動終端Mi收到來自TA挑戰xi之后,將會計算挑戰xi的響應值fmi=PUFmi(xi),并通過模糊提取器(fuzzy extractor,FE)處理響應值fmi,即(kmi,pmi)=Gen(fmi),其中,kmi是秘密值與pmi是輔助值。然后,結合用戶輸入的密碼PWi,計算GWi=(xi‖MIDi)⊕h(PWi),M0=h0(MIDi‖kmi‖PWi‖GWi),并存儲(GWi,M0)。最后,將輔助值pmi發送給TA。
4)TA存儲{MIDi,pmi}。
2.2.2 電力網關單元注冊
GW注冊詳細步驟如下。
2)TA檢查GIDj是否已注冊,若已注冊,則拒絕請求。否則,存儲{GIDj,UQj,pGj}。
移動終端Mi通過TA與GWi達成雙向認證,如圖2所示,并協商出會話密鑰。具體詳細步驟如下。
Mi GWj TA用戶輸入PWi(xi‖MIDi)=GWih(PWi)fax=PUFmi(xi)(kmi,pmi=Gen(fmi)Ni={Gi,GMIDi,GIDi,f′mi,RSi,Vi,Ti}→計算并驗證M1=M1選擇隨機數r1計算R1=r1PB=(Bx,By)=r1Sfmi-Gj=PUFmi(GIDj)GMIDi=MIDiBxRS1=fmi-Gjh1(By)f?mi=fmih1(pmi)V1=h0(MIDi‖GIDj‖IDt‖kmi‖RS1‖R1‖T1‖Bx)驗證T1與GIDjfGi-m=fGi=PUFGi(GIDj)(kG,PGi)=Gen(fGi-mi)C=(Cx,Cy)=kGi·SRS2=fGi-mh1(Cy)N2={N1,RS1,V2,T2}→V2=h0(RS2‖T2‖Cx‖f?Gi-mi‖kQ‖V1)N1={Keym,Keya,Keyt-a,V1,V1,T1}←驗證T3fmi-Gj=Keygjh1(Cx)keyt=Keyt-Gjh0(Cx)計算并驗證V+i=+V1KGj-mi=PUFGj(fmi-Gj)KeyR-mi=Keyrh0(KGj-mi)SK=h2(keyr‖KGj-mi‖GMIDi‖GIDj)Vs=h0(keyr‖V4‖T4‖SK) 驗證T2B=(Bx,By)=s·R1MIDi=GMIDiBxfmi-Gj=RS1h1(By)根據VIDi可搜索得到Pmik?mi=Rep(fmi,pmi)計算并驗證V+i=+Vi同理V+2=+V1選擇隨機數r3Keyr=h0(Cx‖Bx‖r3)Keymi=fCj-mih1(Cy)KeyT-Gi=keyrh0(Cx)V3=h0(keyr‖KeyCr‖Cx‖T3)V4=h0(keyr‖Keymi‖k?mi‖T3) N4={Keymi,KeyN-mi,V4,V5,T3,T4}←驗證T4fGj-mi=Keymih1(kmi)Kki-Gj=PUFmi(fGj-mi)keyr=KeyR-mih0(mGj-mi)計算并驗證V+4=V4SK=h2(keyr‖Kmi-Gj‖GMIDi‖GIDj)計算并驗證V+4=+V4
用戶PWi可實現離線更新,只需要根據新的PWi值更新(GWi,Mi)。用戶PWi離線更新詳細步驟如下。
1)用戶Ui發送當前密碼與更改密碼請求〈PWi,reqchangepw〉到移動終端Mi。
3)移動終端Mi向用戶發送輸入新密碼請求reqnewpw。
將對文中所提出的方案進行安全性分析,以及對比其他方案進行性能分析。
利用BAN邏輯[15](一種形式化邏輯分析方法)對本文協議進行正確性證明。
3.1.1 建立證明目標
目標1
(1)
目標2
(2)
目標3
(3)
目標4
(4)
3.1.2 協議的簡化模型
將本文提出的方案通過以下方式轉換為理想形式。
消息1(Mi→Gj):
G1,GMIDi,GIDj,T1
消息2(Mi→TA):
消息3(Gj→TA):
RS2,V2,T2
消息4(TA→Gj):
keyGj,keyr-Gj,V3,T3
消息5(TA→Mi):
keymi,keyr-mi,V4,R3,T3
消息6(Gj→Mi):
V5,T4
3.1.3 協議的初始化假設
A1:Mi|≡#(r1)
(5)
A2:Gj|≡#(r2)
(6)
A3:Mi|≡#(fmi-Gj)
(7)
A4:Gj|≡#(fGj-mi)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
(16)
A13:Vi|≡Gj|?fGj-mi
(17)
A14:Gj|≡Mi|?fmi-Gj
(18)
(19)
(20)
A17:Mi|≡TA?keyr
(21)
A18:Gj|≡TA?keyr
(22)
詳細步驟如下。
根據消息6,有
Mi?{V5,T4}
(23)
根據消息接收規則有
(24)
根據A15和消息含義規則有
(25)
根據消息新鮮性規則有
(26)
根據臨時值校驗規則有
(27)
根據信念規則有
(28)
至此,目標2證明完畢。
根據A13和管轄規則有
Mi|≡{KGj-mi,keyr,GMIDi,GIDj}
(29)
根據式會話密鑰規則有
(30)
至此,目標1證明完畢。
根據消息1與消息6有
Gj?{GMIDi,GIDj,keyGj,keyr-Gj,V3,T3}
(31)
根據A12與消息含義規則有
Gj|≡TA|~{GMIDi,GIDj,fmi-Gj,keyr}
(32)
根據消息新鮮性規則有
Gj|≡TA|~#{GMIDi,GIDj,fmi-Gj,keyr}
(33)
根據臨時值校驗規則有
Gj|≡TA|≡{GMIDi,GIDj,fmi-Gj,keyr}
(34)
根據A18和管轄規則有
Gj|≡{GMIDi,GIDj,fmi-Gj,keyr}
(35)
根據A16和消息含義原則有
Gj|≡Mi|~{GMIDi,GIDj,KGj-mi,keyr}
(36)
根據A2和臨時值驗證規則有
Gj|≡Mi|≡{GMIDi,GIDj,KGj-mi,keyr}
(37)
根據A4、式(3.14)與會話密鑰規則有
(38)
至此,目標3證明完畢。
根據消息接收規則有
(39)
根據臨時值驗證規則有
(40)
至此,目標4證明完畢。
最后得出結論,在本文提出的協議中,Mi與Gj分別與第三方TA進行身份驗證,并通過TA傳輸有效信息,產生會話密鑰SK。
本節利用eCK模型[16](擴展CK模型,賦予敵手最強攻擊能力的安全模型)對本文方案進行分析,具體分析由定理1及其證明給出。
定理1在隨機預言模型中,假設PPT敵手在時間t內對協議P進行查詢挑戰,其中,包括qhSM3()查詢,qsSend()查詢,qeExecute()查詢。p為協議中選擇的大素數。因此,有
(41)
(42)
(43)
GameG1:在本輪游戲中,將會模擬SM3 oracleHi(i=0,1,2)、PUF oraclesPUFD(PUFviorPUFrj)。
(44)
GameG2:在本輪游戲中,排除了G1模擬中發生碰撞的情況。碰撞發生情況分為2種:①直接進行SM3查詢時,輸出結果發生碰撞;②消息記錄{N1,N2,N3,N4}可能發生的碰撞。根據生日悖論,可知發生碰撞的概率是可忽略的。因此,有
Δ1=|Adv2(A)-Adv1(A)|≤
(45)
(46)
(47)
因此,有
(48)
(49)
(50)
(51)
綜合得出
6ECCDH+8puf
(52)
此處將本文方案與協議C-G方案[17]、M-H方案[18]、S-S方案[19]在安全屬性方面進行比較,如表2所示。C-G方案未實現用戶匿名性,并只依賴于檢查隨機數來抵御重放攻擊。M-H方案中通過隨機數實現方案的匿名性,但由于參與消息驗證的私密參數DIDi或DIDj直接存儲在硬件設備與CS的數據庫中,當列表失竊時,敵手可以順利偽裝為合法用戶。同理,該方案也不能抵擋側信道攻擊。S-S方案同樣未實現匿名性以及移動終端不可追蹤性,并在該方案中,將認證秘密信息存儲于防篡改設備中,具有一定安全隱患。
表2 安全特性對比Tab.2 Comparison of safety characteristics
將本文方案與現有相似方案在計算開銷與通信開銷方面進行對比,進一步對所提方案進行分析。
首先,將本文方案與C-G方案[17]、M-H方案[18]、S-S方案[19]和J-Z方案[20]進行計算復雜度的對比,結果如表3所示,其中,Ta表示執行橢圓曲線點加的計算時間,TPUF表示執行PUF運算的時間,TH表示執行Hash函數的時間,Tbp表示雙線性配對的執行時間,TSE表示執行對稱加密的計算時間,TP表示執行橢圓曲線的點乘運算時間。本文方案以及J-Z方案、S-S方案主要采用的是Hash計算、點乘和PUF運算,相對而言本方案所需的計算量更少,且目標RSU所需要的計算量更少,可輕松應對多移動終端認證的情況。C-G方案與M-H方案除上述運算之外,還需要另外執行非對稱加密以及雙線性配對操作,計算復雜度更高。
其次,基于模擬實驗將提出方案與C-G方案[17]、M-H方案[18]、S-S方案[19]和J-Z方案[20]進行計算耗時對比,結果如圖3所示。模擬實驗采用了如下幾臺設備:筆記本電腦(華碩,英特爾i5-4200H 2.8 GHz 處理器、8 Gyte內存、Windows 10 X64)模擬Mi;臺式電腦(AMD R7-1700X 3.8Gh處理器、16 Gyte內存、Windows 10 64操作系統)模擬算力強于Mi的目標方。PUF模擬:在MSP430單片機上用798 mHz的CPU對128位仲裁器PUF電路進行仿真。由于可信機構TA/CCS算力強大,因此,第三方的計算時間不做對比,僅對比執行時間較長的認證雙方。
表3 計算復雜度對比Tab.3 Comparison of calculation complexity
圖3 計算開銷對比圖Fig.3 Comparison chat of computing overhead
最后比較了本文方案和C-G方案[17]、M-H方案[18]、S-S方案[19]和J-Z方案[20]的通信成本,結果如表4所示。
表4 通信開銷對比Tab.4 Comparison of communication expenses
假設身份、隨機數、PUF質詢和響應長度均為128 bits,哈希輸出結果為256 bits,時間戳長度為32 bits,橢圓曲線點的長度和雙線性映射結果均為512 bits,并使用|ID|、|PUF|、|H|、|P|、|T|、|bp|分別表示身份標識符、PUF、Hash函數、橢圓曲線點乘結果、時間戳所需通信開銷和雙線性配對結果的長度。本文方案傳輸消息包括4|ID|+9|PUF|+8|H|+2|P|+6|T|=4 928 bits。與本文方案結構模型類似的M-H的方案,傳輸消息包括3|ID|+6|H|+10|P|+5|T|=7 200 bits。而在C-G方案、S-S方案與J-Z方案中的3個方案,需要TA作為中轉,進而減少了部分通信開銷。在C-G方案中,傳輸消息包括5|ID|+4|H|+4|PUF|+6|bp|+5|P|=6 272 bits。在S-S方案中,傳輸消息的總計為3|ID|+4|P|+|T|=2 464 bits。在J-Z方案中,傳輸的消息包括3|ID|+10|H|+2|PUF|+|P|+6|T|=3 904 bits。但綜上所述,本方案在移動終端稍微增加通信開銷的前提下實現了系統安全。
針對智能電網的高效認證和隱私保護需求,提出了一種基于BS-PUF的智能電網移動終端輕量級認證方案。該方案采用橢圓曲線進行構造,有效降低了計算復雜度;通過BS-PUF實現認證過程免存儲敏感認證信息,提高了系統安全性;基于雙因素的認證模式,保證了協議的可靠性;加入了口令離線更新機制,有效降低字典攻擊風險。最后,通過形式化安全證明及仿真實驗分析表明,本文方案具有良好的安全性和實用性。