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