鄭奕隆,袁平,殷鋒
(1.四川大學計算機學院,成都610065;2.重慶第二師范學院數學與信息工程學院,重慶400067;3.西南民族大學計算機科學與技術學院,成都610041)
智能電網已成為下一代電網的發展方向,它利用最新的信息和通信技術,實現了從發電站到終端的實時負載和控制功能[1-3]。然而,智能電網正面臨著嚴重的信息安全問題。研究結果表明,智能電網面臨著來自虛擬世界和物理世界的惡意攻擊[4]。例如,攻擊者可以訪問公開信道并對數據進行竊取、偽造[5]或實施中間人攻擊欺騙參與者,也可以非法訪問暴露在外的智能電網設備并獲取用戶的隱私數據[6],還可以通過拒絕服務攻擊(DoS),惡意破壞智能電網通信系統,造成不可逆轉的損害。因此,在智能電網快速發展的今天,如何保障智能電網系統的信息安全,成為關系到電力系統的安全、穩定、經濟、優質運行的重大問題[7]。智能電網的安全解決方案包括異常檢測技術、漏洞掃描技術、病毒掃描技術、信道加密技術以及身份認證技術等,其中,設計和實現包括密鑰交換和身份認證的安全解決方案,以確保智能電網的安全性,近年來被廣大研究者視為研究熱點。然而,如何設計足夠安全的密鑰交換和身份認證的方案并且能夠有效應用到智能電網應用場景,是目前亟待解決的問題。本文基于這一研究背景,改進了Mahmood 協議[8]易受已知會話特定臨時信息攻擊的問題,提出了安全增強的基于ECC(橢圓曲線加密)技術的智能電網認證密鑰協商協議RE-AKASG(Robust ECC-based Authentication Key Agreement Protocol in Smart Grid),并通過安全性分析論證了協議的安全性。
ECC 也叫橢圓加密算法,由Koblitz 和Miller 兩人于1985 年提出。ECC 加密算法是一種公鑰加密技術,以橢圓曲線理論為基礎。利用有限域上橢圓曲線的點構成的Abel 群離散對數難解性,實現加密、解密和數字簽名。將橢圓曲線中的加法運算與離散對數中的模乘運算相對應,就可以建立基于橢圓曲線的對應密碼體制。
ECC 技術的相關定義如下所示:
點加運算:已知橢圓曲線E(a,b)上兩點P,Q,作直線PQ 交于E(a,b)上另一點,過作y 軸的平行線交E(a,b)上另一點于R,規定P+Q=R。
倍點運算:若P,Q 兩點重合(P=Q),則過P 點作E(a,b)的切線交于E(a,b)的另一點,過作y 軸的平行線交E(a,b)上另一點于R,將P+Q 作為倍點運算,此時R=P+Q=2P。
標量乘運算:在正整數集上取標量k,將(k 次)作為標量乘運算,記作R=kP。
橢圓曲線離散對數問題:已知橢圓曲線E(a,b)上兩點,P,R=kP,其中k,由P,R 求解k 的問題被稱為橢圓曲線離散對數問題(ECDLP),這個問題目前在數學上沒有有效的解決辦法。
本節結合智能電網應用場景,提出基于ECC 的安全增強的認證密鑰協商協議,主要用于智能電網終端設備和智能電網監控中心之間密鑰協商與相互認證。協議部分符號含義表如表1 所示。

表1 部分符號含義
本文提出的RE-AKASG 協議分為三個階段,初始化階段、注冊階段與認證階段,本節按三個階段分別介紹協議的執行過程。
(1)RE-AKASG 協議初始化階段
在初始化階段,可信第三方服務器S 選擇兩個大素數p,q,Fp作為橢圓曲線E(a,b):y2=x3+ax+b 上的有限域,選擇a,b ∈Fp,并且滿足4a3+27b2(mod p)≠0。除此之外,點P ∈E(Fp)是橢圓曲線的基點,q 作為由P生成的子群的階。選取單向散列函數H(.)與對稱加密、解密算法E(.),D(.),S 將可信任的協議實體身份標識錄入數據庫,其中每個協議實體設備的身份標識IDx采用硬件保護。S 選取一個隨機數k ∈Z*q作為S 的長期私鑰,計算K=k·P 作為S 的公鑰,并通過公開信道將公鑰S 下發給協議實體A,B。
(2)RE-AKASG 協議注冊階段
RE-AKASG 協議注冊階段示意圖如圖1 所示。

圖1 RE-AKASG協議注冊階段示意圖
圖1 為RE-AKASG 協議注冊階段示意圖。以協議實體A 為例,在協議注冊階段,協議實體A 首先選取隨機數作為注冊階段的私鑰,計算與S 通信的注冊密鑰kas=ma·K=ma·k·P,并計算A 的公鑰Ma=ma·P,利用kas 將身份信息IDA加密,與Ma一起發送給S。S 在收到消息后,選取協議對實體A、B 相同的 隨 機 數,計 算 Xab=xab·P ;計 算Lab=(k+xab)·P,ksa=k·Ma=k·ma·P。并利用與kas 相等的密鑰ksa 解密IDA,隨后計算A 的認證私鑰ta=k+xab+k·H(H(IDA)||Lab),并與Xab加密后一并發送給協議實體A,協議實體A 解密得到Xab,ta,結束注冊階段。
協議實體B 的注冊階段與A 完全相同,注冊階段完成后得到Xab與tb。
(3)RE-AKASG 協議認證階段
RE-AKASG 協議認證階段示意圖如圖2 所示。

圖2 RE-AKASG協議認證階段示意圖
圖2 為RE-AKASG 協議認證階段示意圖。在該階段,協議實體A 與協議實體B 完成會話密鑰協商與相互認證工作。首先,協議實體A 選取會話隨機數,計算Qa=qa·P,Ra=IDA·P 并生成時間戳TSa。隨后,協議實體A 計算Ua=qa+IDA+ta·H(Qa||Ra||TSa),計算身份標識的散列值H(IDA),并用Xab將Ua進行異或加密得到Wa,該步驟結束后,將H(IDA),Wa,Ra,Qa,TSa通過公開信道發送給協議實體B。協議實體B 接收到A 的消息后,首先解密得到Ua,并計算Ua·P,判斷Ua·P 的 數 值 計 算 結 果 與 (Qa+Ra)+((K+Xab)+K·H(H(IDA)||K+Xab))·H(Qa||Ra||TSa)是否相等,若結果相等,再驗證時間戳TSa的新鮮性,若驗證通過,則選取會話隨機數,計算Qb=qb·P,Rb=IDB·P 并生成時間戳TSb。該步驟后協議實體B 按照以下方式計算得到Ub=qb+IDB+tb·H(Qb||Rb||TSb),計算身份標識的散列值 H(IDB) ,并按照如下方式計算得到Kab=(qb+IDB)·(Qa+Ra),該步驟后計算得到與A 的會話密鑰SKab=H(H(IDA)||H(IDB)||Kab),隨后生成校驗值h1=H(Rb||Qb||SKab||Ra||Qa),并用Xab將Ub進行異或加密得到Wb,將H(IDB),Wb,Rb,Qb,TSb,h1通過公開信道發送給協議實體A。A 接收到消息后,首先用Xab對Wb進行解密得到Ub,計算Ub·P,并判斷Ub·P 的數值計算結果 與(Qb+Rb)+((K+Xab)+K·H(H(IDB)||K+Xab))·H(Qb||Rb||TSb)是否相等,若結果相等,再驗證時間戳TSb的新鮮性 ,若 驗 證 通 過 ,則 通 過 計 算 得 到Kba=(qa+IDA)·(Qb+Rb)。該步驟結束后,計算與B 的會話密鑰 SKba=H(H(IDB)||H(IDA)||Kba),生成校驗值h2=H(Ra||Qa||SKba||Rb||Qb),比較h2與h1是否相等,若二者相等,將h2發送給協議實體B。B 收到h1之后,對比h1與h2是否相等,若相等,則認證成功。
本節將對本文提出的RE-AKASG 協議進行密碼分析,論證協議能夠滿足包括已知密鑰安全性、抗模仿攻擊、抗密鑰泄露攻擊、完全前向安全性、抗重放攻擊、抗已知會話特定臨時信息攻擊在內的安全屬性。各安全屬性定義如下:
已知密鑰安全(Known-key security):如果攻擊者獲得了之前的一些會話密鑰,他仍然不能獲取本次會話密鑰。
抗模仿攻擊(Impersonation attacks resistance):如果攻擊者不知道協議參與者A 的長期私鑰,他將不能夠模仿A 和其他參與方通信。
抗密鑰泄露攻擊(Key compromise impersonation attacks resistance):如果攻擊者獲得了協議參與者A 的長期私鑰,在不知道其他參與方的長期私鑰的情況下,攻擊者不能夠假冒其他參與方與協議參與者A 通信。
完全前向安全性(Perfect forward secrecy):所有協議參與者的長期私鑰的泄露不影響之前建立的會話密鑰的安全性。
抗重放攻擊(Replay attacks resistance):攻擊者無法發送一個目的主機已接收過的包,來達到欺騙系統的目的
抗已知會話特定臨時信息攻擊(Known session specific temporary information attacks resistance):臨時中間結果的泄露不會影響其他會話的會話密鑰的安全性。
RE-AKASG 協議的安全性分析如下:
(1)已知密鑰安全性
由第2 節可得,RE-AKASG 協議的會話密鑰為SKab=H(H(IDA)||H(IDB)||Kab),其中Kab的值由與會話相關的qb,Qa共同決定,其中qb,Qa的值隨會話的不同而不同,即使攻擊者獲取了先前的會話密鑰,也不能借此獲取本次會話的會話密鑰,RE-AKASG 協議具有已知密鑰安全性。
(2)抗模仿攻擊
RE-AKASG 協議的認證階段驗證步驟主要為判斷Ub·P 以及Ua·P 的數值計算結果。由于攻擊者無法獲取由可信第三方服務器S 注冊階段通過加密下發的ta,tb,因此攻擊者無法構造Ua與Ub,故RE-AKASG 協議能夠抵抗模仿攻擊。
(3)抗密鑰泄露攻擊
如 果 ta,tb被 攻 擊 者 獲 取 ,由 于Ua=qa+IDA+ta·H(Qa||Ra||TSa),攻擊者無法獲知qa,IDA的值,故無法計算得到Ua。同理,由于Ub=qb+IDB+tb·H(Qb||Rb||TSb),攻擊者無法獲知qb,IDB的值,故無法計算得到Ub。此外,由于Kab=(qb+IDB)·(Qa+Ra),Kba=(qa+IDA)·(Qb+Rb),會 話密鑰與ta,tb無關。因此,密鑰泄露對RE-AKASG 協議的安全性并未會造成影響,協議能夠抵抗臨時密鑰泄露攻擊。
(4)完全前向安全性
其中Kab的值由與會話相關的qb,Qa共同決定,其中qb,Qa的值隨會話的不同而不同,即使攻擊者獲取了ta,tb,由于攻擊者無法獲取先前各次會話的qa與qb,因此攻擊者不能計算的得到先前會話的會話密鑰,故RE-AKASG 協議具有完全前向安全性。
(5)抗重放攻擊
由于協議實體在認證階段通信的過程中會附帶時間戳信息,協議實體根據時間戳信息能夠判斷消息的新鮮性,故RE-AKASG 協議能夠抵抗重放攻擊。
(6)抗已知特定會話臨時信息攻擊
協議的會話密鑰為SKab=H(H(IDA)||H(IDB)||Kab),其中Kab=(qb+IDB)·(Qa+Ra),即使臨時信息qa與qb被攻擊者獲知,由于協議具有匿名性,攻擊者無法獲取協議實體的身份標識IDA與IDB,從而無法計算得到協議的會話密鑰,故RE-AKASG 協議能夠抵抗已知特定會話臨時信息攻擊。
本文立足于智能電網應用場景,提出了安全增強的基于ECC 技術的智能電網認證密鑰協商協議REAKASG,就該協議初始化階段,注冊階段以及認證階段的執行過程進行了詳盡的描述,本文第三節通過對RE-AKASG 協議的安全性分析,證明了RE-AKASG 協議的安全性,本文的研究成果對后續研究具有啟示意義。