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