文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2015.12.026
中文引用格式: 徐琳,溫蜜,李晉國. 智能配電網(wǎng)中具有隱私保護的數(shù)據(jù)安全認證方案[J].電子技術(shù)應(yīng)用,2015,41(12):98-101.
英文引用格式: Xu Lin,Wen Mi,Li Jinguo. A data authentication scheme with privacy protection in smart distribution network[J].Application of Electronic Technique,2015,41(12):98-101.
0 引言
智能電網(wǎng),又稱為知識型電網(wǎng)或者現(xiàn)代電網(wǎng),是將現(xiàn)代先進的傳感與測量技術(shù)、信息通信技術(shù)、控制技術(shù)和原有的輸配電基礎(chǔ)設(shè)施高度集成而形成的新型電網(wǎng)?,F(xiàn)代智能電網(wǎng)需要實現(xiàn)電網(wǎng)的可靠、安全、經(jīng)濟、高效以及環(huán)境友好型運行,因而受到了越來越多的關(guān)注。智能配電網(wǎng)作為電力“發(fā)、輸、調(diào)、變、配、用”的重要環(huán)節(jié)之一,是電網(wǎng)對用戶信息進行監(jiān)測以達到智能化調(diào)配的主要平臺[1]。眾所周知,人為監(jiān)視和控制每個用戶的用電信息和電網(wǎng)設(shè)備狀態(tài)是不現(xiàn)實的。由于傳感器具有成本低、自組織性、自愈能力強等特點,已被廣泛應(yīng)用到智能配電網(wǎng)的用電信息自動采集系統(tǒng)中。無線傳感器網(wǎng)絡(luò)就成為了智能配電網(wǎng)中最主要的用戶端數(shù)據(jù)采集方式。而正因為諸如無線傳感器網(wǎng)絡(luò)等大量智能采集終端的廣泛應(yīng)用和接入,使智能配電網(wǎng)中數(shù)據(jù)的完整性、保密性、抗攻擊性以及隱私保護等面臨著許多新的挑戰(zhàn)[2,3]。
目前,國內(nèi)外對無線傳感器網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)耐暾?、保密性、抗攻擊性等問題進行了一定的研究,提出了各種不同的廣播認證協(xié)議。文獻[4-6]提出了μTESLA廣播認證協(xié)議并對其進行了一系列的改進。文獻[7]提出一種RSA算法,因其高保密性被人們運用到智能電網(wǎng)領(lǐng)域。文獻[8-9]采用了一種基于Merkle樹的廣播認證協(xié)議。文獻[10]提出了將Merkle樹認證協(xié)議運用到智能電網(wǎng)的方案。這些認證協(xié)議都沒有在安全認證的情況下考慮智能配電網(wǎng)中的用戶數(shù)據(jù)需要有效的隱私保護的需求。而用戶用電信息、用電規(guī)律等隱私的泄露將導(dǎo)致入室盜竊等危害人們生活安全的事件發(fā)生。因此,本文對智能配電網(wǎng)中具有隱私保護的數(shù)據(jù)安全認證協(xié)議做了進一步研究,提出了三種解決方案。
1 基本方案——帶屏蔽參數(shù)的數(shù)據(jù)傳輸
傳感器節(jié)點根據(jù)工作模式設(shè)置,其對用電信息的采集頻率可以達到幾分鐘一次。這些用戶隱私的泄露必將給用戶的生活安全帶來極大的困擾。針對這一問題,本文通過在采集的數(shù)據(jù)上加屏蔽參數(shù)后傳輸來保護真實的采集數(shù)據(jù)。
假設(shè)某一個無線網(wǎng)絡(luò)區(qū)域包含n個用戶,每個用戶的傳感器節(jié)點都同時給中心節(jié)點發(fā)送數(shù)據(jù)包,且沒有丟包情況。每個用戶對應(yīng)一個傳感器節(jié)點,網(wǎng)絡(luò)中的傳感器節(jié)點ID記為S1,S2,…,Sn。具體實現(xiàn)步驟如下:
第一步:隨機生成一組數(shù)據(jù)(R1,R2…Rn)作為屏蔽參數(shù),并且保證將這些Ri值隨機分發(fā)到n個節(jié)點中。
第二步:當(dāng)傳感器節(jié)點Si采集到數(shù)據(jù)Ki時就自動加上屏蔽參數(shù)Ri作為傳輸數(shù)據(jù),此時發(fā)送節(jié)點發(fā)送的數(shù)據(jù)包為{Ki+Ri},如圖1所示。
第三步:中心節(jié)點接收到各發(fā)送節(jié)點發(fā)送的消息之后將數(shù)據(jù)匯總求和,即則中心節(jié)點求和所得數(shù)據(jù)即為實際采集原始數(shù)據(jù)之和。
此方案大大增加了數(shù)據(jù)傳輸?shù)陌踩裕瑢崿F(xiàn)了節(jié)點信息的保護。但是當(dāng)惡意攻擊者偽造或者篡改節(jié)點數(shù)據(jù),接收者也會正常接收信息,從而影響了數(shù)據(jù)的準確性。 因此,在該方法的基礎(chǔ)上,本文又增加了Merkle樹認證協(xié)議,通過該協(xié)議來對傳輸數(shù)據(jù)的安全性、完整性進行認證。
2 增強方案——帶屏蔽參數(shù)的數(shù)據(jù)認證
傳統(tǒng)的Merkle樹協(xié)議能有效地抵抗多種網(wǎng)絡(luò)攻擊,是運用較多的一種傳感器網(wǎng)絡(luò)安全傳輸協(xié)議。但它只能檢測接收的數(shù)據(jù)是否被更改,而沒有辦法在數(shù)據(jù)傳輸?shù)倪^程中對其進行保護。因此將數(shù)據(jù)屏蔽與認證協(xié)議結(jié)合起來,既可以保護數(shù)據(jù)不被非法用戶監(jiān)聽到,又可以認證其準確性和完整性。
2.1 利用屏蔽參數(shù)構(gòu)建Merkle樹
第一步:假設(shè)一個區(qū)域內(nèi)的節(jié)點個數(shù)為8,節(jié)點ID記為S1,S2,…,S8,同上一方案,隨機選擇8個和為0的數(shù)R1、R2…R8,作為節(jié)點的屏蔽參數(shù)。同時,選擇一個單向Hash函數(shù),為8個發(fā)送節(jié)點分別計算Mi=H(Ri),(i=1,2,…,n)。
第二步:將n個Mi作為葉子節(jié)點構(gòu)建一個Merkle樹(如圖2),其中父節(jié)點的值是由兩個子節(jié)點聯(lián)合后通過Hash函數(shù)計算而來,即Mij=H(Mi|Mj)。
第三步:基站向所有節(jié)點廣播Merkle樹根節(jié)點的M18值以及每個節(jié)點通向Merkle樹根節(jié)點的所有兄弟節(jié)點的值。如圖2中S1收到的初始化參數(shù)包為根節(jié)點M18以及兄弟節(jié)點{M1,M2,M34,M58}。
2.2 節(jié)點數(shù)據(jù)的采集、發(fā)送及驗證
第一步:節(jié)點采集相應(yīng)的數(shù)據(jù)Ki,采集完成后會自動加上該節(jié)點所對應(yīng)的屏蔽參數(shù)Ri。
第二步:每個發(fā)送節(jié)點攜帶一個證書Parai,證書包含這個節(jié)點的初始化參數(shù)以及該節(jié)點到根節(jié)點路徑上所有兄弟節(jié)點的M值,例如S1節(jié)點所發(fā)數(shù)據(jù)包為Para1={M1,M2,M34,M58},當(dāng)其發(fā)送消息時就將該證書附在消息的后面發(fā)送給與其通信的接收節(jié)點,即發(fā)送{(Ki+Ri)||Parai}。
第三步:接收節(jié)點接收到發(fā)送節(jié)點的證書后,經(jīng)過一系列Hash計算,將計算結(jié)果與預(yù)先存儲的根節(jié)點的M值進行比較,如果一致,則通過認證。例如,控制中心的聚集節(jié)點接收到Para1后,計算H(H(H(H(M1)|M2)|M34)|M58)是否等于M18,如果相等則認證通過,否則丟棄該數(shù)據(jù)包。
第四步:控制中心的接收節(jié)點收到所有發(fā)送節(jié)點的數(shù)據(jù)后將所有數(shù)據(jù)求和,即為該區(qū)域的監(jiān)測數(shù)據(jù)的總和。
該方法的不足是只能對某一個區(qū)域的數(shù)據(jù)進行求和與認證,當(dāng)節(jié)點數(shù)目大量增加以后,數(shù)據(jù)傳輸所需要的計算與通信開銷都會大大增加,因此本文又提出了帶屏蔽參數(shù)的多級Merkle樹方案。
3 擴展方案——帶屏蔽參數(shù)的多級Merkle樹認證方案
此方案將整個數(shù)據(jù)采集區(qū)域分成多個子區(qū)域,每個子區(qū)域都含有一定數(shù)量的節(jié)點,簇頭即為每個子區(qū)域的聚集結(jié)點。首先采用帶屏蔽參數(shù)的Merkle樹協(xié)議在每個子區(qū)域都構(gòu)建一個Merkle子樹,并將數(shù)據(jù)傳到簇頭。然后每個區(qū)域的簇頭作為葉子節(jié)點構(gòu)成一個新的Merkle樹,將數(shù)據(jù)傳給二級總的聚集結(jié)點。如圖3所示為多級Merkle樹結(jié)構(gòu)圖。下面介紹具體實現(xiàn)方法。
3.1 一級Merkle子樹初始化參數(shù)的分配及認證過程
第一步:Merkle樹的生成與增強方案中帶認證的數(shù)據(jù)屏蔽傳輸方案相同,每一個子樹都生成一組屏蔽參數(shù)r1、r2…rn。初始化時一級聚集節(jié)點向每一個節(jié)點發(fā)送該節(jié)點的屏蔽參數(shù)的值以及該節(jié)點到Merkle樹根節(jié)點的所有兄弟節(jié)點的值,即為認證證書。每個發(fā)送節(jié)點發(fā)送消息時都攜帶自己的認證證書,例如r1向接收節(jié)點發(fā)送消息時所加證書為{m1,m2,m34,m58}。
第二步:一級聚集節(jié)點接收到r1的數(shù)據(jù)包時就會對其進行認證,認證方法與增強方案中Merkle樹的認證方法相同,如果認證通過則存儲該數(shù)據(jù)。最后求該子樹所在區(qū)域的所有節(jié)點數(shù)據(jù)的總和,即為所需要的數(shù)據(jù)。
3.2 二級Merkle樹初始化參數(shù)分配及認證過程
第一步:每一個子區(qū)域的簇頭節(jié)點作為葉子節(jié)點再生成一個帶屏蔽參數(shù)的Merkle樹,如圖3中R1、R2…R8即為簇頭節(jié)點的屏蔽參數(shù),初始化過程與一級Merkle子樹相同。
第二步:當(dāng)一級的簇頭節(jié)點都接收到有用數(shù)據(jù)后再通過帶屏蔽參數(shù)的Merkle樹認證方法將數(shù)據(jù)發(fā)送到二級總聚集節(jié)點。
一級聚集節(jié)點與二級聚集節(jié)點一般都是由可靠的服務(wù)器擔(dān)任,因此可以將由節(jié)點組成的一級Merkle子樹存儲到一級聚集節(jié)點上,將由簇頭組成的二級Merkle樹存儲到二級聚集節(jié)點上。聚集節(jié)點在接收到數(shù)據(jù)以后減去每個節(jié)點所對應(yīng)的屏蔽參數(shù)就可以計算出每個節(jié)點的原始數(shù)據(jù)。這樣既采集到了局部區(qū)域的有用數(shù)據(jù),也采集到了總的有用數(shù)據(jù)。在整個二級Merkle樹認證過程中,如果有n個子樹,就有n+1組屏蔽參數(shù),大大提高了整個系統(tǒng)的安全性。
圖4為多級傳輸?shù)钠帘螀?shù)分配方案。在帶屏蔽參數(shù)的多級Merkle樹協(xié)議中,當(dāng)有新用戶加入時,只需要更新該用戶所在小區(qū)域的子樹認證系統(tǒng)即可,不影響其他部分,這使該方案的可擴展性得到增強。
4 性能分析
4.1 安全性分析
本節(jié)從節(jié)點抗俘獲能力、抗DOS攻擊能力、有無隱私保護功能、能否立即認證以及能否隨機廣播等方面,將μTESLA方案、傳統(tǒng)Merkle樹協(xié)議以及RSA算法與本文提出的三種方案進行了比較。通過表1可以看到,μTESLA協(xié)議認證有延遲,抗DOS攻擊能力差,傳統(tǒng)的Merkle樹沒有隱私保護功能。
4.2 通信開銷分析
在基本的Merkle樹協(xié)議中,Merkle樹是通過葉子節(jié)點之間進行一系列Hash計算生成的,每一個節(jié)點值都是由Hash算法輸出所得。假設(shè)一個基本的Merkle樹有n個葉子節(jié)點,Hash算法均采用MD5算法,則每一個節(jié)點隨機屏蔽參數(shù)的Hash值以及各兄弟節(jié)點的值均為128 bit。
初始化時中心節(jié)點分發(fā)給葉子節(jié)點的是該節(jié)點的認證證書和該節(jié)點的屏蔽參數(shù),只是增加了中心節(jié)點的計算開銷,通信開銷比信息采集時多了一個根節(jié)點的值。本節(jié)主要針對兩級Merkle樹方案進行分析。在傳統(tǒng)的Merkle樹協(xié)議中,用戶發(fā)送數(shù)據(jù)包給接收節(jié)點,該數(shù)據(jù)包包含整個Merkle樹中發(fā)送節(jié)點到根節(jié)點的所有兄弟節(jié)點的值。而本文帶屏蔽參數(shù)的多級Merkle樹認證方案將節(jié)點分區(qū)域,通信時只需要發(fā)送子樹的認證包。在RSA協(xié)議中,每個節(jié)點都需要發(fā)送RSA簽名到接收節(jié)點,傳統(tǒng)的RSA密鑰長度為1 024 bit。本文通過MATLAB對三種方案的通信開銷進行了仿真分析,如圖5所示。
由圖5可知,在節(jié)點數(shù)目較小時,3種方案的通信開銷相差不大,但超過500以后,本文帶屏蔽參數(shù)的多級Merkle樹的認證方案的開銷會趨于平緩且比傳統(tǒng)Merkle樹節(jié)省開銷,而RSA協(xié)議的通信開銷還在呈線性增加。因此在大量節(jié)點網(wǎng)絡(luò)中,本協(xié)議具有一定的實用性。
4.3 計算開銷分析
這里通過計算時間的長短來分析計算開銷的大小。通過文獻[6]可知執(zhí)行一次Hash函數(shù)的時間為0.000 092 ms,執(zhí)行一次RSA簽名驗證需要0.1 ms,而執(zhí)行整個RSA協(xié)議則需要2.25 ms。在基本Merkle樹協(xié)議中,n個節(jié)點的Merkle樹,在驗證時就需要進行n/4-1次Hash計算。在本文帶屏蔽參數(shù)的多級Merkle樹認證方案中,兩級驗證只需要計算子樹中的根節(jié)點的值,其開銷比傳統(tǒng)Merkle樹小。而RSA協(xié)議執(zhí)行一次的時間就是Hash時間的一萬倍,因此其計算開銷遠遠大于傳統(tǒng)Merkle樹方案與本文帶屏蔽參數(shù)的多級Merkle樹認證方案。
通過上述分析可以看到,本文帶屏蔽參數(shù)的多級Merkle樹認證協(xié)議無論是通信開銷還是計算開銷都小于傳統(tǒng)Merkle樹方案與RSA方案,并且集合了Merkle樹協(xié)議和帶屏蔽參數(shù)的認證協(xié)議,具有通信和計算開銷小、安全性和保密性高等優(yōu)點,符合智能電網(wǎng)信息采集系統(tǒng)的要求。雖然本方案不能隨機廣播,但是其高性能足夠讓用戶在智能配電網(wǎng)信息采集系統(tǒng)中選擇它。
5 結(jié)論
本文提出了一種具有隱私保護的數(shù)據(jù)認證方案。該方案采用的是帶屏蔽參數(shù)的Merkle樹認證協(xié)議,既可以認證接收數(shù)據(jù)的可靠性和完整性,又可以對數(shù)據(jù)進行保護,從而有效解決了智能配電網(wǎng)信息采集系統(tǒng)中的信息安全問題。同時本文將基本協(xié)議優(yōu)化為多級帶屏蔽參數(shù)的Merkle樹協(xié)議,有效解決了大量節(jié)點認證時存儲和通信開銷太大的問題,更符合智能電網(wǎng)的安全性認證要求。分析結(jié)果也表明,本協(xié)議在性能與開銷方面都具有一定的優(yōu)越性。
參考文獻
[1] 劉振亞.智能電網(wǎng)技術(shù)[M].北京:中國電力出版社,2010.
[2] 劉雪艷,張強,李戰(zhàn)明.智能電網(wǎng)信息安全研究綜述[J].電力信息與通信技術(shù),2014,12(4):56-60.
[3] LIU D,NING P,ZHU S,et al.Practical broadcast authentication in sensor networks[C].In Proc.MobiQuitous,Washington DC,2005:118-132.
[4] PERRIG A,CANETTI R,TYGAR J D,et al.The TESLA broadcast authentication protocol[J].RSA CryptoBytes,2002,5(2):2-13.
[5] LIU D,NING P.Multi-level μTESLA:Broadcast authentication for distributed sensor networks[J].ACM Transactions in Embedded Computing Systems(TECS),2004,3(4):1-36.
[6] 沈玉龍,裴慶祺,馬建峰.MMμTESLA:多基站傳感器網(wǎng)絡(luò)廣播認證協(xié)議[J].計算機學(xué)報,2007,30(4):539-546.
[7] Introduction to NISTIR 7628 Guidelines for Smart Grid Cyber Security[S].Nat.Inst.of Standards and Technology,Gaithersburg,MD,USA,2010.
[8] 蔣毅,史浩山,趙洪鋼.基于分級Merkle樹的無線傳感器網(wǎng)絡(luò)廣播認證策略[J].系統(tǒng)仿真學(xué)報,2007,19(24):5700-5704.
[9] Li Hongwei,Lu Rongxing,Zhou Liang,et al.An efficient merkle-tree-based authentication scheme for smart grid[J].IEEE Systems Journal,2014,8(2):655-663.
[10] LI Q,CAO G.Multicast authentication in the smart grid with one-time signature[J].IEEE Trans.Smart Grid,2011,2(4):686-696.