謝林利



摘 要
針對智慧城市電表數據采集過程中面臨用戶隱私泄露的風險問題,提出了一種基于隨機森林算法和聚合簽名方法相結合的數據加密方法。利用隨機森林方法提取用戶用電特征信息作為判斷用戶是否具有竊電行為的判據。采用一次性假名算法、聚合簽名方法與同態加密算法相結合的方法對傳輸的數據進行加密。最后,算例結果表明與傳統的K-NN、SVM方法相比,所提隨機森林方法對用戶用電特征的分類準確度提升2.2%與4.45%,此外隱私保護的效果更好。
關鍵詞
智慧城市;物聯網;電能表;隨機森林;同態加密
中圖分類號: TP391 ? ? ? ? ? ? ? ? ? ? ? 文獻標識碼: A
DOI:10.19694/j.cnki.issn2095-2457.2020.05.048
0 引言
城市的出現是人類社會進入文明時代和人類社會生活的高級形式的象征。人類生產力的提高也促進了城市形態和功能的演變。城市的快速發展過程中也出現了社會問題:交通擁堵系統,環境監測系統不完善,應急系統不完善等[1]。智慧城市的建設可以顯著解決與城市發展有關的難題,提高城市信息管理水平,促進全國高端產業的發展[2]。智慧城市計算是一個基于物聯網感知的新概念,相關數據技術,大數據挖掘和分析技術為核心[3]。智慧城市計算的含義是,城市空間中的每個傳感器,設備,人,車輛,建筑物和道路都可以視為感知到的城市動態的單位,共同完成城市級計算并為公民和城市服務。城市計算旨在通過城市感知,數據挖掘,智能提取和改進的循環過程來智能地改善公民和城市環境的生活。在智慧城市的快速發展過程中,數據通信的安全問題進一步凸顯,海量的終端接入設備與復雜的通信網絡都使基于物聯網的智慧城市面臨巨大的安全挑戰。網絡攻擊是造成智慧城市安全問題的主要攻擊手段,2015年烏克蘭電網遭受“BlackEnergy”網絡攻擊,超過一半國土面積停電,嚴重地影響了城市的安全,為人民的生活和社會的安定造成了嚴重的后果。
智慧城市電網建設屬于智慧城市建設的一部分,電能表是集合電壓互感器和電流互感器的量測裝置,是電力物聯網中的終端設備[4]。用戶側海量裝設的智能電表可以實時收集用戶的用電數據發送到電網控制中心[5]。相應地,控制中心可根據這些數據完成諸如發電計劃制定、用電行為分析、用電價格發布[6]等多種業務。然而,智能電表記錄中包含了用戶用電行為、家庭地址、個人信息等隱私數據。如果這些數據被不當利用,則會使用戶面臨嚴重的隱私泄露風險[5]。因此,保護智能電能表中用電數據的隱私問題引發了學術界和工業界相當大的關注。
針對智能電表的數據隱私保護問題已有諸多報道。文獻[7]提出了針對智能電網中V2G網絡的一種可追蹤的隱私保護通信機制,但該方法在大量節點通信場合下時間開銷過大。文獻[8]提出了一種基于可鏈接匿名憑證的智能電表隱私保護方案,并滿足隱私保護、消息認證、可追溯性等安全要求。但該方法僅能實現用戶信息的加密,并不能準確辨識出故障的或惡意竊電的智能電表。
為實現智慧城市中電表數據隱私保護時間開銷盡可能小且實現智能電表故障及時發現或竊電行為的可追溯性,提出一種基于機器學習結合聚合簽名的智能電表數據加密方法。利用隨機森林法提取用戶用電行為,從而保證了用戶用電信息的可追溯性以及用電行為的抗抵賴性;采用一次性假名算法保證了每次通信過程中攻擊者無法獲取真實的用戶身份信息。
2 用電數據分解與用電特征提取
2.1 方案概述
1)初始化:TTP和CC確定一次性假名、基于身份的聚合簽名、加密算法的相關參數。此外,SM在完成注冊后獲取上述參數以發送加密的電表數據。
2)數據處理:在用戶側,SM周期性地采集用戶的用電數據。以SMi j為例,令分解后的局部分量為{Ci 1,Ci 2,…,Ci d}。隨后用戶側執行隨機森林算法提取用戶用電行為特征,記為{Bi 1, Bi 2,…,Bi n}。SMi j在發送數據時,首先生成一次性假名對身份匿名化,然后將{Ci 1,Ci 2,…,Ci d}與{Bi 1,Bi 2,…,Bi n}作為整體進行Pailler同態加密,并使用一次性假名對加密數據進行基于身份的聚合簽名,最后SMi j將加密數據、簽名連同時刻t一并發送給LAGi。
3)驗證與解密:CC對LAG發來的聚合數據首先驗證簽名的有效性,然后解密數據,從而得到整體的用電數據以及各SM的用電特征,從而及時發現用戶側SM的故障或竊電行為。
2.2 基于隨機森林的用電特征提取
考慮到電表自身可能存在隨機故障以及潛在的用戶竊電行為,對數據進行真實性判斷十分重要。換言之,需要對電表數據的真實性進行有效分類。我們采用近年來廣受歡迎的機器學習算法,稱之為隨機森林(Random Forest,RF)算法進行電表數據真實性的分類。其基本思想為,通過生成相當數量的分類決策樹形成森林,當新的電表數據樣本進入時,每棵決策樹都將對樣本屬于哪一類進行判斷,然后對所有的判斷結果進行統計。最終的判斷結果為統計數量最大的那個所對應的類別。
顯然,構造決策樹是隨機森林方法的關鍵步驟。決策樹的任意一個,決策樹的任一個葉子節點都不能再進一步劃分,為了能準確地表示出分裂屬性,使用信息增益和基尼(Gini)指數這兩個度量來表示決策樹的分裂程度。
1)信息增益RF算法中樣本分類時的默認期望值表示為
式中,Sk(k=1,2,…,K)為電表數據真實性的分類等級,pk為第k個樣本出現的概率,即pi=num(Si)/num(S) (num(·)為計數算子)。
分類時,Y(S1,S2,…,SK)越小,表示分類效果越明顯,因此,在確定新的電表數據的屬性時,選擇具有最大信息增益的屬性作為分裂屬性。
2)基尼指數。其表征了從一個數據集中隨機選取子項,度量其被錯誤的劃分到其他組里的概率,數學表達為:
選擇分裂屬性時,遍歷完所有的分類屬性后,有先選擇具有最小基尼指數的屬性作為分類屬性。
3 數據加密算法
3.1 一次性假名算法[9]
所提出的一次性假名算法由如下三個部分構成:
1)SM以真實ID從TTP處獲取秘密值,并存儲在SM的內置防篡改設備中,而TTP則存儲(ID,Λ);
2)使用ID進而產生一次性假名OTPID
H(ID,τ)=OTPID (3)
式中,HΛ(·)為帶密鑰的Hash函數,τ為時間戳,Λ表示未為函數密鑰。
3)TTP按照以下方式針對裝有SM設備的惡意用戶進行搜尋并追蹤:然后對存儲列表進行檢索。驗證每個元組(ID,Λ)和該SM的OTPID是否滿足等式(3),若檢索到存在一個ID與OTPID滿足式(3),則說明該ID為該惡意用戶身份。
3.2 基于身份的聚合簽名算法
所提出的基于身份的聚合簽名算法由以下5部分構成:
1)初始配置(Setup)。按照如下四個步驟生成系統參數:
第一,選擇參數q,G1,G2,GT,g1,g2,φ,e滿足:q為一個相當大的素數,G1,G2是階為q的加法循環群,GT是階為q的乘法循環群,g1,g2分別是群G1,G2的生成元且滿足φ(g2)=g1。φ為一個計算的同構映射,e: G1×G2→GT是一個雙線性映射;
第二,選擇s∈Z* p作為系統主密鑰,并計算y=gs 2作為系統公鑰。
第三,選擇兩個Hash函數:H1(·): {0,1}*→G1和H2(·): {0, 1}→G2;
第四,公開系統參數:(e, q, G1, G2, GT, g1, g2, y, H1, H2)。
2)私鑰生成。輸入主密鑰s和簽名者的身份IDj,算法即可按照以下三個步驟生成簽名者的私鑰:
第一,計算:IDj,0=H1(IDj, 0),IDj,1=H1(IDj,1);
第二,計算:kj,0=IDs i,0, 0和kj,1= IDs i,1;
第三,設置kj=(kj,0,kj,1)作為簽名者的私鑰;
3)簽名(Sign)。簽名者使用IDj和私鑰kj=(kj,0,kj,1)對消息mj簽名:σj=kj,0khjj,1,其中hj=H2(messagej,IDj),σj即為簽名者使用IDj對消息messagej的簽名。
4)聚合。考慮到LAGi聚合的SM數量為N,SM的身份集合為{ID1,ID2,…,IDN},對應的消息簽名對為:{(message1,σ1), (message2,σ2), …, (messageL,σN)},聚合簽名為:
5)驗證。根據如下兩個步驟驗證基于L個身份{ID1, ID2, …, IDN}下對L個消息{message1, message2, …, messageN}的聚合簽名Ψ。
第一,對于1≤j≤N,計算每個IDj對應的如下值:hj=H2(messagej, IDj),IDj, 0=H1(IDj, 0)以及IDj, 1=H1(IDj, 1);
第二,驗證等式(8)是否成立:
若等式(8)成立,則驗證通過,反之則驗證失敗。
4 算例結果與討論
4.1 用電數據真實性分類準確度分析
為檢驗RF算法對用電數據真實性分類的性能,我們選用家庭用戶智能電表數據。該數據記錄范圍為從2018年6.19-2019年7.10,時間間隔30min。隨機選擇20000個SM在2017年5.31-7.31三個月的記錄作為數據集。我們人為地隨機挑選出5000個用戶數據進行修改以模擬電表故障或惡意竊電行為。并選擇2017年5.31-6.30這一個月的數據作為訓練樣本,剩余數據為測試集。定義如下評價指標:
式中,numTP是算法正確識別出不正常SM的數量;numTY是算法正確識別出正常SM的數量;numFP是算法錯誤識別出不正常SM的數量;numFY是算法錯誤識別出正常SM的數量。
表1示出了傳統支持向量機SVM算法、K-NN算法與所提RF算法的分類準確度。
表1 不同隱私保護方法的平均時間開銷
與SVM算法和K-NN算法相比,所提算法的分類準確度分別高出了4.45%、2.2%,從而表明,采用RF算法具有更好的性能。
4.2 執行效率分析
為檢驗所提方案的執行效率,同樣采用江蘇電網的家庭用戶智能電表數據。本文隨機選取了4000個家庭用戶智能電表數據。研究算法時間開銷隨用戶數量的變化關系。圖3示出了不同隱私保護方案下的平均時間開銷。
隨著用戶數量由400增長到4000,所有隱私保護方案的時間開銷均增大。然而,所提算法的增長幅度較SVM算法與KNN算法小,在用戶數量達到4000時,本文算法消耗時間為SVM算法的90.26%,為KNN算法的93.87%。此外,由圖3同樣可以看出,所提方法的執行時間與SM數量之間近似呈線性正相關關系。從而表明所提方案在用戶數量較大時計算開銷更小。
5 結論
本文研究了一種新的針對物聯網安全防護技術環境下智慧城市智能電表數據加密的方法。所提方案利用機器學習算法在用戶側實現了用電特征的有效提取,保證電表故障與竊電行為及時發現。并采用一次性假名、聚合簽名與同態加密算法保證了用電數據的隱私。與傳統方法相比,所提算法擁有更準確的數據真實性辨識率以及更高的執行效率。未來工作將研究進一步提升研究算法的執行效率與隱私保護強度。
參考文獻
[1]李連宏,劉運妍.當前我國智慧城市建設中的問題與對策[J].科技創新與應用(36):194+196.
[2]王靜遠,李超,熊璋, 等.以數據為中心的智慧城市研究綜述[J].計算機研究與發展(2):5-25.
[3]黃子赫,高尚兵,潘志庚, 等.基于快速密度聚類的載客熱點可視化分析方法[J]. 系統仿真學報,2019(7):1429-1438.
[4]朱慶.三維GIS及其在智慧城市中的應用[J].地球信息科學學報,2014,16(2):151-157.
[5]Mila Gascó Hernandez.Building a smart city: Lessons from Barcelona[J]. Communications of the Acm, 2018, 61(4):50-57.
[6]彭衛東.智慧電廠建設構想[J].中國工程咨詢, 2017(1):34-36.
[7]G.Eason,B.Noble,and I.N.Sneddon,“On certain integrals of Lipschitz-Hankel type involving products of Bessel functions,”Phil.Trans. Roy.Soc.London,vol.A247,pp.529-551,April 1955.(references).
[8]J.Clerk Maxwell,A Treatise on Electricity and Magnetism,3rd ed.,vol.2.Oxford: Clarendon,1892,pp.68-73.
[9]李琪,陳杰.智能電網中具有隱私保護功能的聚合方案[J].智能電網,2014(02):12-19.