袁明輝,張愛新
(上海交通大學(xué) 網(wǎng)絡(luò)空間安全學(xué)院,上海 200240)
作為能源技術(shù)與信息技術(shù)相結(jié)合的產(chǎn)物,智能電網(wǎng)(Smart Grid)與傳統(tǒng)電網(wǎng)相比具有更高的資源使用效率、更強的可控性以及更加有效的電力調(diào)度機制[1],為現(xiàn)在的信息化時代生活帶來了各種便利。但是,智能電網(wǎng)在帶來極大便利的同時,也出現(xiàn)了嚴(yán)峻的安全問題[2]。近年來,針對電力系統(tǒng)的攻擊事件[3]逐年上升,開展智能電網(wǎng)系統(tǒng)的信息安全研究已迫在眉睫。
智能電網(wǎng)的數(shù)據(jù)安全是主要關(guān)注點之一。首先,智能電網(wǎng)利用各種智能設(shè)備采集用戶側(cè)的用電量等信息[4]。通過分析這些信息,可以掌握用戶、企業(yè)或者地區(qū)的用電情況,進(jìn)而得到其生活習(xí)慣、生產(chǎn)方式或地區(qū)社會活動等隱私數(shù)據(jù)。因此,必須通過有效的數(shù)據(jù)安全采集與傳輸技術(shù)來保障智能電網(wǎng)數(shù)據(jù)的隱私安全。另外,智能電網(wǎng)數(shù)據(jù)一般存儲在后臺數(shù)據(jù)庫中,除了采取有效的數(shù)據(jù)安全存儲機制外,還必須制定嚴(yán)格的訪問控制機制,以保障數(shù)據(jù)的存儲安全和訪問控制安全。
智能電網(wǎng)采取“數(shù)據(jù)采集”“數(shù)據(jù)匯總”“數(shù)據(jù)訪問和管理”的數(shù)據(jù)處理模式,如圖1所示。在數(shù)據(jù)采集階段,智能電表等智能數(shù)據(jù)采集設(shè)備所構(gòu)成的用電網(wǎng)絡(luò)獲取居民、單位、工業(yè)等用電信息,并上傳至變電站;變電站作為中間節(jié)點,收集匯總用電網(wǎng)絡(luò)上傳的數(shù)據(jù),并進(jìn)行電能的調(diào)度和配送;數(shù)據(jù)存儲管理中心則存儲來自多個變電站的數(shù)據(jù)信息,并分析該區(qū)域的用電匯總數(shù)據(jù),分析結(jié)果可在制定電價、地區(qū)電量分配調(diào)度等環(huán)節(jié)起到輔助決策作用。
圖1 智能電網(wǎng)流程
由上述流程可知,智能電網(wǎng)數(shù)據(jù)安全保護(hù)應(yīng)主要針對“智能電表-變電站”和“變電站-數(shù)據(jù)存儲管理中心”兩個環(huán)節(jié)采取措施,重點實現(xiàn)數(shù)據(jù)傳輸安全、數(shù)據(jù)存儲安全和權(quán)限訪問控制。其中,在“智能電表-變電站”環(huán)節(jié),為了防止用電網(wǎng)絡(luò)端的數(shù)據(jù)泄露,需要對智能電表數(shù)據(jù)進(jìn)行加密上傳,并在變電站端對加密后的數(shù)據(jù)進(jìn)行安全匯總。在“變電站-數(shù)據(jù)存儲管理中心”環(huán)節(jié),則需要實現(xiàn)數(shù)據(jù)存儲安全。另外,由于數(shù)據(jù)存儲與管理方身份角色的多樣性,必須為不同角色賦予不同的訪問策略,以實現(xiàn)對數(shù)據(jù)訪問者細(xì)粒度的訪問控制。
智能電網(wǎng)數(shù)據(jù)安全匯總[5-6],即用電網(wǎng)絡(luò)將加密數(shù)據(jù)上傳至變電站。文獻(xiàn)[5]提出了使用同態(tài)加密方案的信息安全整合方案方案均采用“樹型”的數(shù)據(jù)匯總模型,即將智能電表等智能數(shù)據(jù)采集設(shè)備作為非根節(jié)點,負(fù)責(zé)進(jìn)行子區(qū)域數(shù)據(jù)匯總的采集器(Collector)作為子樹的根節(jié)點,而最終進(jìn)行數(shù)據(jù)匯總的管理中心或者變電站則是樹根節(jié)點。數(shù)據(jù)匯總采取從葉節(jié)點到根節(jié)點逐步傳遞的過程,每個中間節(jié)點首先將本地采集的數(shù)據(jù)以及其兒子節(jié)點上傳來的數(shù)據(jù)進(jìn)行匯總,然后再上傳給該節(jié)點的父親節(jié)點,形成一條數(shù)據(jù)遞增匯總路徑,最終所有數(shù)據(jù)匯總至變電站這個根節(jié)點。該數(shù)據(jù)匯總模型需要借助數(shù)據(jù)采集器這類物理設(shè)備,同時該模型假定所有的采集器都是“honest-but-curious”。當(dāng)某個數(shù)據(jù)采集器發(fā)生數(shù)據(jù)泄露或者故障時,數(shù)據(jù)匯總路徑上從葉子節(jié)點到該子樹根節(jié)點的所有節(jié)點的信息都將被泄露或者遺失。為此,本文提出的模型在數(shù)據(jù)匯總階段僅涉及智能電表、變電站和數(shù)據(jù)存儲管理中心。智能電表將采集數(shù)據(jù)上傳至區(qū)域變電站,各區(qū)域變電站再分別將匯總的數(shù)據(jù)上傳至數(shù)據(jù)存儲管理中心,在優(yōu)化業(yè)務(wù)處理流程的同時降低系統(tǒng)成本。
針對智能電網(wǎng)中數(shù)據(jù)的安全存儲與訪問控制,目前主要采用屬性加密方案[7-13]?;趯傩约用艿闹悄茈娋W(wǎng)訪問控制方案主要分為兩種——中心認(rèn)證的屬性加密方案[7-10]和非中心認(rèn)證屬性加密方案[11-13]。其中,中心認(rèn)證方案存在單點失效問題,不適用于智能電網(wǎng)等關(guān)鍵工業(yè)控制網(wǎng)絡(luò);非中心認(rèn)證采用多方認(rèn)證機構(gòu)分布式完成細(xì)粒度數(shù)據(jù)訪問控制,在克服單點失效的同時較好地實現(xiàn)了負(fù)載均衡[14]。因此,本文將采用非中心認(rèn)證屬性加密方案,其中在該模型中假設(shè)的云存儲中心為不可信的第三方用戶。
目前的研究將數(shù)據(jù)同態(tài)安全匯總[14]和訪問控制作為兩個獨立環(huán)節(jié),缺少統(tǒng)一的智能電網(wǎng)數(shù)據(jù)安全保護(hù)方案。針對其中一個環(huán)節(jié)的應(yīng)用模型在另一個環(huán)節(jié)中并不適用;安全匯總的加密數(shù)據(jù)在進(jìn)行細(xì)粒度訪問控制時,必須在數(shù)據(jù)匯總節(jié)點如變電站先行解密,再進(jìn)行屬性加密,這就要求變電站必須是誠實的、完全可信的實體。本文提出的多方認(rèn)證的智能電網(wǎng)訪問控制方案能夠有效融合數(shù)據(jù)匯總和訪問控制,變電站匯總的密文信息直接在變電站端進(jìn)行屬性化封裝[15-16],以支撐后續(xù)的細(xì)粒度訪問控制。
本方案在數(shù)據(jù)匯總過程中涉及數(shù)據(jù)的同態(tài)加密。使用文獻(xiàn)[17]的同態(tài)加密方案,主要分為3個部分。
1.1.1 密鑰生成
假定i表示一個數(shù)據(jù)發(fā)送方。令q1、q2為兩個素數(shù),,lcm代表兩個數(shù)的最小公倍數(shù)。計算q1-1和q2-1的最小公倍數(shù)λ(N)=lcm(q1-1,q2-1),則 i的公鑰為PK[i]=(N,g),私鑰為SK[i]=(λ(N))。
1.1.2 數(shù)據(jù)加密
假定M∈?N是系統(tǒng)的明文輸入信息,隨機選取一個隨機數(shù)r ∈ ?*N,得到密文:
1.1.3 數(shù)據(jù)解密
針對密文c,通過計算:
得到明文。
L函數(shù)的主要作用是當(dāng)輸入數(shù)據(jù)x∈{u<N2|u=1 modN}時,輸出結(jié)果為:
上述過程為數(shù)據(jù)加解密過程,其中同態(tài)加密過程如下。
給定兩個明文M1,M2∈?N,通過執(zhí)行式(1)的加密算法后,將得到對應(yīng)密文c1=E(M1),c2=E(M2)。對密文c1、c2執(zhí)行以下操作:
即可得到同態(tài)明文數(shù)據(jù)。
Shamir在1979年提出秘密分享思想的同時,利用Lagrange插值多項式理論設(shè)計了一個具體的(t,n)秘密分享方案。主要思想:將秘密值s分成n份,其中對于任意不少于t(1≤t≤n)份可以恢復(fù)出秘密值s,任意少于t個分享不能重構(gòu)出s。該方案大概可以分為3個主要部分。
(1)系統(tǒng)參數(shù)生成。系統(tǒng)中n為全部參與者的人數(shù),t為門限值,F(xiàn)q是q階有限域,其中q>n。令q=p為素數(shù),秘密值s∈Zp。
(2)秘密分發(fā)。秘密分發(fā)D選擇一個t階隨機多項式a(x)∈Zp[x],滿足條件a(0)=s。D將si=a(i)發(fā)送給參與者Pi,i=1,2,3,…,n。
(3)秘密重構(gòu)。任意t個參與者可以利用自己的密文碎片重構(gòu)該秘密。設(shè)t個參與者Pi,i=1,2,3,…,t,令 A={1,2,3,…,t},計算:
在式(6)中以0替換x,即可得結(jié)果s=a(0)。
多方認(rèn)證的智能電網(wǎng)訪問控制方案模型如圖2所示。智能電表(Smart Metering,SM)構(gòu)成各類用電網(wǎng)絡(luò),變電站(Substations,SU)是數(shù)據(jù)匯總中心,數(shù)據(jù)存儲采用云存儲中心(Cloud Storage Center,CSC)方式,而對數(shù)據(jù)的權(quán)限訪問控制則由認(rèn)證機構(gòu)(Authorities,Auths)和遠(yuǎn)程控制單元(Remote Terminal Units,RTU)共同完成。
圖2 系統(tǒng)概述
具體的,SM對采集的數(shù)據(jù)進(jìn)行同態(tài)加密后,將密文上傳所屬SU;SU對來自各個SM即用電網(wǎng)絡(luò)發(fā)送來的加密數(shù)據(jù)進(jìn)行同態(tài)安全匯總;SU根據(jù)智能電表等用電網(wǎng)絡(luò)的具體屬性信息,如地理位置、保密級別、用電網(wǎng)絡(luò)類型等對這些匯總的密文進(jìn)行屬性封裝,再把所有封裝后的密文數(shù)據(jù)上傳到CSC進(jìn)行統(tǒng)一存儲管理。
為了實現(xiàn)Auths、RTU等訪問者多對多的認(rèn)證關(guān)系,訪問具有多個屬性標(biāo)簽的密文要與對應(yīng)的多個認(rèn)證機構(gòu)進(jìn)行交互驗證。因此,在系統(tǒng)初始化過程中,所有密文涉及到屬性信息應(yīng)分別通知對應(yīng)的Auths進(jìn)行初始化。分布在不同地點的變電站可以隨時對其匯總的密文數(shù)據(jù)進(jìn)行上傳。所有訪問如審計人員、環(huán)境工程人員、電力工程師及決策制定者等,根據(jù)賦予自己的角色而具備不同的訪問屬性集合,不同屬性集合決定了該用戶所能訪問的數(shù)據(jù)類型和范圍大小。擁有多個屬性的訪問者通過RTU需與多個認(rèn)證機構(gòu)進(jìn)行通信,當(dāng)且僅當(dāng)經(jīng)過所有認(rèn)證機構(gòu)的驗證后,該訪問者才獲得解密明文的權(quán)限。
初始化過程中,系統(tǒng)隨機生成p、q、p*、q*四個素數(shù),其中p=2p*+1,q=2q*+1。
令N=pq,T=p*q*,g=(1+N)jbNmodN2是群G的生成元,b為一個隨機數(shù)b ∈ ?*N;選取值d=0 modT且滿足d=j-1mod N。隨機選取,令 Δ=l!,則系統(tǒng)的公共參數(shù)GP={N,g,Δ}。
每個智能電表對其所測量的數(shù)據(jù)mi進(jìn)行同態(tài)加密。根據(jù)系統(tǒng)的公共參數(shù)GP,隨意選取隨機數(shù),密文為:
加密處理后的數(shù)據(jù)發(fā)送給所屬的SU,SU在接收到各個智能電表傳送來的數(shù)據(jù)ci后,對屬于同一個屬性集合的密文數(shù)據(jù)進(jìn)行匯總,然后設(shè)置相應(yīng)的屬性信息向量 Al×n,而 ρ(x)表示屬性 x與 Al×n中某個屬性的映射。設(shè)n維矩陣ε=(a1,a2,…,an),。令a1=d,多項式系統(tǒng)初始化時為每個認(rèn)證機構(gòu)分配的屬性信息,最后變電站對所有接收到的密文進(jìn)行匯總:
變電站即可將匯總的密文CT提交到CSC中。
各個認(rèn)證機構(gòu)θ從SU獲得相應(yīng)的屬性驗證信息(λθ,v),認(rèn)證機構(gòu)從云存儲中心獲取密文數(shù)據(jù)CT并計算CTθ=CT2Δλθ和 {vθ}=vΔ·λθ同時驗證logCT4(CTi2)=logv(vθ)是否相等。如果不等,認(rèn)證機構(gòu)建立失??;否則,每個認(rèn)證機構(gòu)進(jìn)行下列計算:
每個決策人員根據(jù)自己具有的屬性集合S,通過該憑證S與多個認(rèn)證機構(gòu)進(jìn)行交互驗證其合法性。決策人員獲得對應(yīng)的部分密文碎片{CTi},然后計算:
本文的仿真實驗環(huán)境搭建在MacOS 10.13.3系統(tǒng)上,處理器為2.3 GHz Intel Core i5,內(nèi)存8 GB。所使用的編譯環(huán)境為:Apple LLVM version 9.0.0(clang-900.0.39.2),大數(shù)運算庫GMP -6.1.2_2。實驗通過計算機的處理時間來計算時間消耗。
圖3是系統(tǒng)在給定認(rèn)證機構(gòu)數(shù)目不變的情況下,整個系統(tǒng)的時間消耗隨著智能電表個數(shù)的增加而變化的折線統(tǒng)計圖。
可以發(fā)現(xiàn),在系統(tǒng)單線程運行的情況下,SM加密過程的時間消耗隨著智能電表個數(shù)的增加呈線型增長。由于系統(tǒng)的初始化,認(rèn)證和解密過程都是常量級別,其運算復(fù)雜度與SM數(shù)目無關(guān),因此其時間消耗保持基本不變。
表1為本文方案與其他6種方案的功能對比分析。圖4是本文方案與文獻(xiàn)[12]方案在智能電表個數(shù)固定的情況下加密操作的運行時間代價對比圖。
表1 不同模型的功能對比
圖4 加密操作時間性能對比
從表1可以看出,文獻(xiàn)[10]方案、文獻(xiàn)[11]方案、文獻(xiàn)[12]方案與本方案都支持多方認(rèn)證;支持云的方案有文獻(xiàn)[7]方案、文獻(xiàn)[9]方案和本方案;在數(shù)據(jù)匯總過程中,使用同態(tài)匯總機制的有文獻(xiàn)[8]方案、文獻(xiàn)[12]方案以及本文方案。
如圖4所示,在對智能電表的數(shù)據(jù)進(jìn)行加密處理的過程中,本文方案的所有的計算操作僅僅涉及大數(shù)的分解、取模運算等,從未涉及到線性配對(Pairing)等復(fù)雜運算。而在文獻(xiàn)[12]方案中,假設(shè)屬性個數(shù)為m,一次pairing的時間代價為T,則文獻(xiàn)[12]在加密過程中的計算代價為(2m+1)T,與SM個數(shù)成正比例。通過以上實驗綜合對比可知,本文提出基于多方認(rèn)證的智能電網(wǎng)訪問控制方案在數(shù)據(jù)加密處理過程具有明顯優(yōu)勢。
本文提出一種基于多方認(rèn)證的智能電網(wǎng)訪問控制方案。通過在變電站中實現(xiàn)對數(shù)據(jù)的同態(tài)匯總和屬性化,最終將數(shù)據(jù)上傳至云端,使得整個過程在變電站完全不可信的情況下實現(xiàn)了數(shù)據(jù)的傳輸安全、存儲安全和訪問控制安全。同時,數(shù)據(jù)訪問者在對云端數(shù)據(jù)進(jìn)行訪問認(rèn)證時,采用非中心化的多方認(rèn)證機制來實現(xiàn),有效解決了認(rèn)證過程中單點故障的計算瓶頸問題,為以后的系統(tǒng)擴張和大數(shù)據(jù)計算奠定了堅實基礎(chǔ)。實驗仿真和性能分析對比表明,該方案具有實用性和可行性。