范方俊,歐元平,劉小龍,賈瑤
(國網(wǎng)伊犁伊河供電有限責(zé)任公司,新疆伊犁 835000)
下一代電網(wǎng)[1]最為突出的特點就是其智能性,且通信能力強大。現(xiàn)階段的智能電表能夠進行遠(yuǎn)程數(shù)據(jù)傳輸,將含有用電數(shù)據(jù)的信息通過服務(wù)器發(fā)送至電力公司。利用智能電表的實時數(shù)據(jù),電力公司能對用戶用電量進行分析,同時也可對地區(qū)的用電量進行長期分析。除了電力公司使用外,將用電數(shù)據(jù)提供給政府機構(gòu)也有助于管理層進行區(qū)域決策[2-3]。
但用戶用電數(shù)據(jù)中除了與電力相關(guān)的數(shù)據(jù)外,還包含其隱私消息。若該數(shù)據(jù)信息泄露,入侵者便可通過電力數(shù)據(jù)分析該用戶的電力使用情況及其個人消息,并了解其作息時間和生活習(xí)慣,進而引發(fā)失竊等安全問題[4]。因此,在電網(wǎng)信息傳輸過程中對數(shù)據(jù)進行保護具有一定的必要性。
典型的電力數(shù)據(jù)傳輸架構(gòu)如圖1 所示。電力數(shù)據(jù)傳輸架構(gòu)可分為三個結(jié)構(gòu),分別是感知層、網(wǎng)絡(luò)層和應(yīng)用層[5-6]。感知層是最底層的無線終端設(shè)備,通常指有線或無線電表,使用網(wǎng)絡(luò)拓?fù)溥M行組網(wǎng)。網(wǎng)絡(luò)層包括無線網(wǎng)絡(luò)、廣域網(wǎng)絡(luò)以及局域網(wǎng)絡(luò)等,感知層設(shè)備使用網(wǎng)絡(luò)設(shè)備與網(wǎng)絡(luò)層連接。由于無線終端眾多,此時網(wǎng)絡(luò)層所承擔(dān)的數(shù)據(jù)傳輸壓力較大。應(yīng)用層指的是電網(wǎng)數(shù)據(jù)處理中心,其包括數(shù)據(jù)服務(wù)器、應(yīng)用服務(wù)器等設(shè)備。
圖1 電力數(shù)據(jù)傳輸架構(gòu)
電力數(shù)據(jù)在傳輸過程中存在海量數(shù)據(jù)流量包,其在傳輸過程中可能存在泄露風(fēng)險[7]。數(shù)據(jù)被攻擊的主要手段如圖2 所示。
圖2 主要攻擊手段
從圖2 中可以看出,攻擊手段分為三種,分別是竊聽攻擊、篡改攻擊及偽裝攻擊。
1)竊聽攻擊
竊聽攻擊通常通過對智能終端的保護程序進行破解,進而對終端發(fā)出的數(shù)據(jù)包進行截取。其能夠從數(shù)據(jù)包中獲得用戶當(dāng)天時段的用電數(shù)據(jù),并對這些數(shù)據(jù)進行整理和推測,即可得到用戶的用電模式,從而判斷出該用戶是否在家等信息。
2)篡改攻擊
篡改攻擊是指對終端的程序進行修改。通過入侵終端設(shè)備并修改電表信息,然后對用戶家中的設(shè)備進行操縱。因此,該攻擊將對用戶的日常生活造成不良影響。
3)偽裝攻擊
入侵者在獲得用戶的私人信息后,通常會偽造用戶身份并進行電力竊取,從而對用戶的財產(chǎn)安全造成損害。
如圖3 所示,智能電表網(wǎng)絡(luò)的數(shù)據(jù)傳輸保護方案應(yīng)為智能電表對用戶的用電數(shù)據(jù)進行采集,同時使用匿名化過程建立智能電表匿名組。然后利用Paillier 加密算法對計量數(shù)據(jù)進行加密并簽名,且通過網(wǎng)絡(luò)層將數(shù)據(jù)傳輸給上級節(jié)點。上級節(jié)點沿著融合樹形結(jié)構(gòu)將數(shù)據(jù)發(fā)送給數(shù)據(jù)處理中心,并用可信第三方對密鑰進行管理,其包括生成和分配兩個過程。
圖3 數(shù)據(jù)傳輸保護方案
Paillier 加密算法是同態(tài)加密算法的一種,旨在對用戶的隱私設(shè)備群進行加密[8-12]。該加密算法首先要選取兩個素數(shù),假設(shè)其分別為p和q,令n=pq,設(shè)p和q的最小公倍數(shù)為LC(p,q)。假定隨機參數(shù)為g,設(shè)定為有n2個數(shù)的整數(shù)集合,有:
另設(shè)數(shù)據(jù)集Sn,其定義為:
式中,u為1 除以n所得余數(shù),且u為數(shù)據(jù)集Sn中的元素。對任意的u,均可用下方的分式函數(shù)表示:
由以上的分析可知,該加密算法可生成密鑰,且公鑰為(n,g),私鑰為(p,q)。
假設(shè)明文為m,若m屬于全集合,則明文加密之后可得到密文c:
式中,隨機數(shù)r也為集合中的元素,使用(p,q)對其進行解密,由式(4)即可得到明文m為:
由式(5)可知,對于任意的兩個明文m1和m2,對其進行加密后即可得到:
由式(6)可以看出,該算法具有同態(tài)加密算法的性質(zhì)。
首先完成系統(tǒng)初始化工作,初始化過程包括智能電表終端的注冊過程與密碼分配過程。具體步驟為:
1)密碼后臺管理中心參數(shù)選擇。首先設(shè)置密鑰和TTP 參數(shù)。然后使用rnmodn2計算方法對加密密鑰進行計算,并將所得結(jié)果記為c。
2)智能終端在電網(wǎng)服務(wù)器端進行注冊。智能電表終端向后臺服務(wù)器發(fā)出申請,隨后服務(wù)器向智能終端發(fā)送入網(wǎng)證書,并提交給第三方認(rèn)證平臺。
3)電網(wǎng)服務(wù)器接收到證書之后,密碼管理中心根據(jù)終端的請求數(shù)量生成對應(yīng)的密鑰,即按照式(4)-(6)的過程進行加密。
4)待終端得到加密密鑰之后,向電網(wǎng)服務(wù)器返回參數(shù)值;而生成的公鑰,則由電網(wǎng)服務(wù)器進行保管。
假設(shè)smi為某一時刻智能電表生成的數(shù)據(jù),則對所有智能電表數(shù)據(jù)進行網(wǎng)絡(luò)聚合,并對多個電表進行組網(wǎng),將數(shù)據(jù)進一步規(guī)范化處理。
首先每個智能電表終端均要從循環(huán)組群中產(chǎn)生隨機數(shù),并將此數(shù)記為xr,則此時計算參數(shù)值為同時將該隨機數(shù)分配給組網(wǎng)的電表終端,然后根據(jù)式(7)計算得到:
得到參數(shù)值后,智能終端會對的值進行計算,并將計算結(jié)果保存為網(wǎng)格的Mask 匿名值。獲取到此值后,終端會對其進行匿名操作,最終匿名化完成后的數(shù)據(jù)C如下所示,顯然C是終端對原始數(shù)據(jù)進行掩飾后的數(shù)據(jù):
當(dāng)服務(wù)器收到終端數(shù)據(jù)后,需要對數(shù)據(jù)進行聚合操作,該操作的目的是方便數(shù)據(jù)包的傳輸且提升傳輸效率。
數(shù)據(jù)聚合的算法如式(9)所示:
式中,∑xiyi的值為0,其數(shù)學(xué)本質(zhì)是加密數(shù)據(jù)的集合。數(shù)據(jù)提取完成后,服務(wù)器會將數(shù)據(jù)C發(fā)送至第三方控制服務(wù)器。在收到數(shù)據(jù)之后,第三方平臺使用私鑰對其進行解密并提取數(shù)據(jù)。解密使用Paillier解密算法進行解密,從而完成數(shù)據(jù)傳輸?shù)恼麄€過程。參照解密公式(5),將聚合數(shù)據(jù)代入可得式(10):整個算法加密、解密過程如圖4 所示。
圖4 算法加密、解密過程
由上文可知,電網(wǎng)數(shù)據(jù)容易受到竊聽攻擊、篡改攻擊以及偽裝攻擊。因此,需要對算法安全性進行合理分析。
在上文提出的隱私方案中,其是通過智能電表終端對數(shù)據(jù)進行采集并聚合,然后將數(shù)據(jù)加密并發(fā)送到網(wǎng)絡(luò)服務(wù)器處。因此,若攻擊者對數(shù)據(jù)傳輸過程進行竊聽,則其獲取的是加密數(shù)據(jù),故無法對數(shù)據(jù)進行解密,且無法獲得聚合維度的數(shù)據(jù),從而提高了數(shù)據(jù)的安全性。
對于篡改攻擊,攻擊者顯然無法獲得聚合數(shù)據(jù)中的細(xì)粒度數(shù)據(jù),因此也無法進行篡改攻擊。若攻擊者攻擊的是網(wǎng)關(guān),但數(shù)據(jù)傳送至網(wǎng)關(guān)均成為了掩飾數(shù)據(jù),其也無法對該數(shù)據(jù)進行修改。
而對于偽裝攻擊,可能會有虛假的電表終端模擬真實的電表終端進而對其終端數(shù)據(jù)進行竊取。但在該系統(tǒng)中,使用匿名化的終端系統(tǒng)可防止攻擊,保證系統(tǒng)的安全性。
此次實驗將測試所提算法的加密能力,實驗配置分為應(yīng)用層級和感知層級兩個部分。應(yīng)用層級為上位機,感知層級為信息發(fā)送終端。應(yīng)用層級用來模擬服務(wù)器端,感知層級用來模擬智能電表終端[13-14]。模擬服務(wù)器使用PC完成,其配置如表1所示。
表1 系統(tǒng)配置
首先對算法的解密和加密性能進行對比分析。選擇明文的長度為64 bit,密鑰長度為128 bit;選擇經(jīng)典的加密、解密算法AES、DES 以及RC4 進行對比[15-16],通過20 次測試后取平均算法的加密、解密時間。最終結(jié)果如表2 所示。
表2 算法加密、解密結(jié)果對比
從表2 可以看出,在所有算法中,該文算法的平均加密、解密時間分別為0.158 ms 和0.074 ms。在所有算法中,其時間均為最短。由此可見,文中算法能夠高速、有效地對明文數(shù)據(jù)進行加密和解密。
取密鑰長度為128 bit、256 bit、512 bit 以及1 024 bit,并使用不同算法對比算法所用時間。進行20次測試后取平均值,算法時間對比如表3、表4所示。
表3 不同密鑰長度算法加密時間對比(單位:ms)
表4 不同密鑰長度算法解密時間對比(單位:ms)
由表3 可以看出,該文算法在密鑰長度較高的情況下算法時間有所增加,但增速相比其他三種算法較慢。同時相比其他算法,文中算法所用加密時間是最短的。
由表4 中解密算法時間對比可以看出,由于算法的優(yōu)勢,該算法解密時間最短,且?guī)缀醣3植蛔?,這從側(cè)面說明文中算法解密速度較為穩(wěn)定。由此可知,與其他算法相比,所提算法在解密長密鑰時具有較大的優(yōu)勢。
綜合上述分析可知,該文算法有較好的安全性,能夠有效防御竊聽攻擊、篡改攻擊和偽裝攻擊。且在保障安全性的同時,其加密、解密速度也較快,相比其他算法具有顯著優(yōu)勢。由此說明,所提出的Paillier 算法應(yīng)用于電網(wǎng)信息保護系統(tǒng)中,能夠有效防止用戶數(shù)據(jù)泄露。
為了保護用電數(shù)據(jù)的隱私性,文中使用Paillier算法對電表數(shù)據(jù)進行加密、解密,同時使用數(shù)據(jù)聚合和匿名化對終端集群進行管控。實驗結(jié)果表明,該文設(shè)計的算法加密、解密時間最短,同時對長密鑰的解密速度也較為穩(wěn)定,說明文中算法在保障數(shù)據(jù)安全的基礎(chǔ)上還擁有較好的性能。因此,該算法可以有效保護用戶數(shù)據(jù)的安全。