袁明輝,張愛新
(上海交通大學 網絡空間安全學院,上海 200240)
作為能源技術與信息技術相結合的產物,智能電網(Smart Grid)與傳統電網相比具有更高的資源使用效率、更強的可控性以及更加有效的電力調度機制[1],為現在的信息化時代生活帶來了各種便利。但是,智能電網在帶來極大便利的同時,也出現了嚴峻的安全問題[2]。近年來,針對電力系統的攻擊事件[3]逐年上升,開展智能電網系統的信息安全研究已迫在眉睫。
智能電網的數據安全是主要關注點之一。首先,智能電網利用各種智能設備采集用戶側的用電量等信息[4]。通過分析這些信息,可以掌握用戶、企業或者地區的用電情況,進而得到其生活習慣、生產方式或地區社會活動等隱私數據。因此,必須通過有效的數據安全采集與傳輸技術來保障智能電網數據的隱私安全。另外,智能電網數據一般存儲在后臺數據庫中,除了采取有效的數據安全存儲機制外,還必須制定嚴格的訪問控制機制,以保障數據的存儲安全和訪問控制安全。
智能電網采取“數據采集”“數據匯總”“數據訪問和管理”的數據處理模式,如圖1所示。在數據采集階段,智能電表等智能數據采集設備所構成的用電網絡獲取居民、單位、工業等用電信息,并上傳至變電站;變電站作為中間節點,收集匯總用電網絡上傳的數據,并進行電能的調度和配送;數據存儲管理中心則存儲來自多個變電站的數據信息,并分析該區域的用電匯總數據,分析結果可在制定電價、地區電量分配調度等環節起到輔助決策作用。

圖1 智能電網流程
由上述流程可知,智能電網數據安全保護應主要針對“智能電表-變電站”和“變電站-數據存儲管理中心”兩個環節采取措施,重點實現數據傳輸安全、數據存儲安全和權限訪問控制。其中,在“智能電表-變電站”環節,為了防止用電網絡端的數據泄露,需要對智能電表數據進行加密上傳,并在變電站端對加密后的數據進行安全匯總。在“變電站-數據存儲管理中心”環節,則需要實現數據存儲安全。另外,由于數據存儲與管理方身份角色的多樣性,必須為不同角色賦予不同的訪問策略,以實現對數據訪問者細粒度的訪問控制。
智能電網數據安全匯總[5-6],即用電網絡將加密數據上傳至變電站。文獻[5]提出了使用同態加密方案的信息安全整合方案方案均采用“樹型”的數據匯總模型,即將智能電表等智能數據采集設備作為非根節點,負責進行子區域數據匯總的采集器(Collector)作為子樹的根節點,而最終進行數據匯總的管理中心或者變電站則是樹根節點。數據匯總采取從葉節點到根節點逐步傳遞的過程,每個中間節點首先將本地采集的數據以及其兒子節點上傳來的數據進行匯總,然后再上傳給該節點的父親節點,形成一條數據遞增匯總路徑,最終所有數據匯總至變電站這個根節點。該數據匯總模型需要借助數據采集器這類物理設備,同時該模型假定所有的采集器都是“honest-but-curious”。當某個數據采集器發生數據泄露或者故障時,數據匯總路徑上從葉子節點到該子樹根節點的所有節點的信息都將被泄露或者遺失。為此,本文提出的模型在數據匯總階段僅涉及智能電表、變電站和數據存儲管理中心。智能電表將采集數據上傳至區域變電站,各區域變電站再分別將匯總的數據上傳至數據存儲管理中心,在優化業務處理流程的同時降低系統成本。
針對智能電網中數據的安全存儲與訪問控制,目前主要采用屬性加密方案[7-13]。基于屬性加密的智能電網訪問控制方案主要分為兩種——中心認證的屬性加密方案[7-10]和非中心認證屬性加密方案[11-13]。其中,中心認證方案存在單點失效問題,不適用于智能電網等關鍵工業控制網絡;非中心認證采用多方認證機構分布式完成細粒度數據訪問控制,在克服單點失效的同時較好地實現了負載均衡[14]。因此,本文將采用非中心認證屬性加密方案,其中在該模型中假設的云存儲中心為不可信的第三方用戶。
目前的研究將數據同態安全匯總[14]和訪問控制作為兩個獨立環節,缺少統一的智能電網數據安全保護方案。針對其中一個環節的應用模型在另一個環節中并不適用;安全匯總的加密數據在進行細粒度訪問控制時,必須在數據匯總節點如變電站先行解密,再進行屬性加密,這就要求變電站必須是誠實的、完全可信的實體。本文提出的多方認證的智能電網訪問控制方案能夠有效融合數據匯總和訪問控制,變電站匯總的密文信息直接在變電站端進行屬性化封裝[15-16],以支撐后續的細粒度訪問控制。
本方案在數據匯總過程中涉及數據的同態加密。使用文獻[17]的同態加密方案,主要分為3個部分。
1.1.1 密鑰生成
假定i表示一個數據發送方。令q1、q2為兩個素數,,lcm代表兩個數的最小公倍數。計算q1-1和q2-1的最小公倍數λ(N)=lcm(q1-1,q2-1),則 i的公鑰為PK[i]=(N,g),私鑰為SK[i]=(λ(N))。
1.1.2 數據加密
假定M∈?N是系統的明文輸入信息,隨機選取一個隨機數r ∈ ?*N,得到密文:

1.1.3 數據解密
針對密文c,通過計算:

得到明文。
L函數的主要作用是當輸入數據x∈{u<N2|u=1 modN}時,輸出結果為:

上述過程為數據加解密過程,其中同態加密過程如下。
給定兩個明文M1,M2∈?N,通過執行式(1)的加密算法后,將得到對應密文c1=E(M1),c2=E(M2)。對密文c1、c2執行以下操作:

即可得到同態明文數據。
Shamir在1979年提出秘密分享思想的同時,利用Lagrange插值多項式理論設計了一個具體的(t,n)秘密分享方案。主要思想:將秘密值s分成n份,其中對于任意不少于t(1≤t≤n)份可以恢復出秘密值s,任意少于t個分享不能重構出s。該方案大概可以分為3個主要部分。
(1)系統參數生成。系統中n為全部參與者的人數,t為門限值,Fq是q階有限域,其中q>n。令q=p為素數,秘密值s∈Zp。
(2)秘密分發。秘密分發D選擇一個t階隨機多項式a(x)∈Zp[x],滿足條件a(0)=s。D將si=a(i)發送給參與者Pi,i=1,2,3,…,n。
(3)秘密重構。任意t個參與者可以利用自己的密文碎片重構該秘密。設t個參與者Pi,i=1,2,3,…,t,令 A={1,2,3,…,t},計算:

在式(6)中以0替換x,即可得結果s=a(0)。
多方認證的智能電網訪問控制方案模型如圖2所示。智能電表(Smart Metering,SM)構成各類用電網絡,變電站(Substations,SU)是數據匯總中心,數據存儲采用云存儲中心(Cloud Storage Center,CSC)方式,而對數據的權限訪問控制則由認證機構(Authorities,Auths)和遠程控制單元(Remote Terminal Units,RTU)共同完成。

圖2 系統概述
具體的,SM對采集的數據進行同態加密后,將密文上傳所屬SU;SU對來自各個SM即用電網絡發送來的加密數據進行同態安全匯總;SU根據智能電表等用電網絡的具體屬性信息,如地理位置、保密級別、用電網絡類型等對這些匯總的密文進行屬性封裝,再把所有封裝后的密文數據上傳到CSC進行統一存儲管理。
為了實現Auths、RTU等訪問者多對多的認證關系,訪問具有多個屬性標簽的密文要與對應的多個認證機構進行交互驗證。因此,在系統初始化過程中,所有密文涉及到屬性信息應分別通知對應的Auths進行初始化。分布在不同地點的變電站可以隨時對其匯總的密文數據進行上傳。所有訪問如審計人員、環境工程人員、電力工程師及決策制定者等,根據賦予自己的角色而具備不同的訪問屬性集合,不同屬性集合決定了該用戶所能訪問的數據類型和范圍大小。擁有多個屬性的訪問者通過RTU需與多個認證機構進行通信,當且僅當經過所有認證機構的驗證后,該訪問者才獲得解密明文的權限。
初始化過程中,系統隨機生成p、q、p*、q*四個素數,其中p=2p*+1,q=2q*+1。
令N=pq,T=p*q*,g=(1+N)jbNmodN2是群G的生成元,b為一個隨機數b ∈ ?*N;選取值d=0 modT且滿足d=j-1mod N。隨機選取,令 Δ=l!,則系統的公共參數GP={N,g,Δ}。
每個智能電表對其所測量的數據mi進行同態加密。根據系統的公共參數GP,隨意選取隨機數,密文為:

加密處理后的數據發送給所屬的SU,SU在接收到各個智能電表傳送來的數據ci后,對屬于同一個屬性集合的密文數據進行匯總,然后設置相應的屬性信息向量 Al×n,而 ρ(x)表示屬性 x與 Al×n中某個屬性的映射。設n維矩陣ε=(a1,a2,…,an),。令a1=d,多項式系統初始化時為每個認證機構分配的屬性信息,最后變電站對所有接收到的密文進行匯總:

變電站即可將匯總的密文CT提交到CSC中。
各個認證機構θ從SU獲得相應的屬性驗證信息(λθ,v),認證機構從云存儲中心獲取密文數據CT并計算CTθ=CT2Δλθ和 {vθ}=vΔ·λθ同時驗證logCT4(CTi2)=logv(vθ)是否相等。如果不等,認證機構建立失敗;否則,每個認證機構進行下列計算:

每個決策人員根據自己具有的屬性集合S,通過該憑證S與多個認證機構進行交互驗證其合法性。決策人員獲得對應的部分密文碎片{CTi},然后計算:

本文的仿真實驗環境搭建在MacOS 10.13.3系統上,處理器為2.3 GHz Intel Core i5,內存8 GB。所使用的編譯環境為:Apple LLVM version 9.0.0(clang-900.0.39.2),大數運算庫GMP -6.1.2_2。實驗通過計算機的處理時間來計算時間消耗。
圖3是系統在給定認證機構數目不變的情況下,整個系統的時間消耗隨著智能電表個數的增加而變化的折線統計圖。
可以發現,在系統單線程運行的情況下,SM加密過程的時間消耗隨著智能電表個數的增加呈線型增長。由于系統的初始化,認證和解密過程都是常量級別,其運算復雜度與SM數目無關,因此其時間消耗保持基本不變。
表1為本文方案與其他6種方案的功能對比分析。圖4是本文方案與文獻[12]方案在智能電表個數固定的情況下加密操作的運行時間代價對比圖。

表1 不同模型的功能對比

圖4 加密操作時間性能對比
從表1可以看出,文獻[10]方案、文獻[11]方案、文獻[12]方案與本方案都支持多方認證;支持云的方案有文獻[7]方案、文獻[9]方案和本方案;在數據匯總過程中,使用同態匯總機制的有文獻[8]方案、文獻[12]方案以及本文方案。
如圖4所示,在對智能電表的數據進行加密處理的過程中,本文方案的所有的計算操作僅僅涉及大數的分解、取模運算等,從未涉及到線性配對(Pairing)等復雜運算。而在文獻[12]方案中,假設屬性個數為m,一次pairing的時間代價為T,則文獻[12]在加密過程中的計算代價為(2m+1)T,與SM個數成正比例。通過以上實驗綜合對比可知,本文提出基于多方認證的智能電網訪問控制方案在數據加密處理過程具有明顯優勢。
本文提出一種基于多方認證的智能電網訪問控制方案。通過在變電站中實現對數據的同態匯總和屬性化,最終將數據上傳至云端,使得整個過程在變電站完全不可信的情況下實現了數據的傳輸安全、存儲安全和訪問控制安全。同時,數據訪問者在對云端數據進行訪問認證時,采用非中心化的多方認證機制來實現,有效解決了認證過程中單點故障的計算瓶頸問題,為以后的系統擴張和大數據計算奠定了堅實基礎。實驗仿真和性能分析對比表明,該方案具有實用性和可行性。