文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2015.12.026
中文引用格式: 徐琳,溫蜜,李晉國. 智能配電網中具有隱私保護的數據安全認證方案[J].電子技術應用,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 引言
智能電網,又稱為知識型電網或者現(xiàn)代電網,是將現(xiàn)代先進的傳感與測量技術、信息通信技術、控制技術和原有的輸配電基礎設施高度集成而形成的新型電網?,F(xiàn)代智能電網需要實現(xiàn)電網的可靠、安全、經濟、高效以及環(huán)境友好型運行,因而受到了越來越多的關注。智能配電網作為電力“發(fā)、輸、調、變、配、用”的重要環(huán)節(jié)之一,是電網對用戶信息進行監(jiān)測以達到智能化調配的主要平臺[1]。眾所周知,人為監(jiān)視和控制每個用戶的用電信息和電網設備狀態(tài)是不現(xiàn)實的。由于傳感器具有成本低、自組織性、自愈能力強等特點,已被廣泛應用到智能配電網的用電信息自動采集系統(tǒng)中。無線傳感器網絡就成為了智能配電網中最主要的用戶端數據采集方式。而正因為諸如無線傳感器網絡等大量智能采集終端的廣泛應用和接入,使智能配電網中數據的完整性、保密性、抗攻擊性以及隱私保護等面臨著許多新的挑戰(zhàn)[2,3]。
目前,國內外對無線傳感器網絡數據傳輸的完整性、保密性、抗攻擊性等問題進行了一定的研究,提出了各種不同的廣播認證協(xié)議。文獻[4-6]提出了μTESLA廣播認證協(xié)議并對其進行了一系列的改進。文獻[7]提出一種RSA算法,因其高保密性被人們運用到智能電網領域。文獻[8-9]采用了一種基于Merkle樹的廣播認證協(xié)議。文獻[10]提出了將Merkle樹認證協(xié)議運用到智能電網的方案。這些認證協(xié)議都沒有在安全認證的情況下考慮智能配電網中的用戶數據需要有效的隱私保護的需求。而用戶用電信息、用電規(guī)律等隱私的泄露將導致入室盜竊等危害人們生活安全的事件發(fā)生。因此,本文對智能配電網中具有隱私保護的數據安全認證協(xié)議做了進一步研究,提出了三種解決方案。
1 基本方案——帶屏蔽參數的數據傳輸
傳感器節(jié)點根據工作模式設置,其對用電信息的采集頻率可以達到幾分鐘一次。這些用戶隱私的泄露必將給用戶的生活安全帶來極大的困擾。針對這一問題,本文通過在采集的數據上加屏蔽參數后傳輸來保護真實的采集數據。
假設某一個無線網絡區(qū)域包含n個用戶,每個用戶的傳感器節(jié)點都同時給中心節(jié)點發(fā)送數據包,且沒有丟包情況。每個用戶對應一個傳感器節(jié)點,網絡中的傳感器節(jié)點ID記為S1,S2,…,Sn。具體實現(xiàn)步驟如下:
第一步:隨機生成一組數據(R1,R2…Rn)作為屏蔽參數,并且保證將這些Ri值隨機分發(fā)到n個節(jié)點中。
第二步:當傳感器節(jié)點Si采集到數據Ki時就自動加上屏蔽參數Ri作為傳輸數據,此時發(fā)送節(jié)點發(fā)送的數據包為{Ki+Ri},如圖1所示。
第三步:中心節(jié)點接收到各發(fā)送節(jié)點發(fā)送的消息之后將數據匯總求和,即則中心節(jié)點求和所得數據即為實際采集原始數據之和。
此方案大大增加了數據傳輸的安全性,實現(xiàn)了節(jié)點信息的保護。但是當惡意攻擊者偽造或者篡改節(jié)點數據,接收者也會正常接收信息,從而影響了數據的準確性。 因此,在該方法的基礎上,本文又增加了Merkle樹認證協(xié)議,通過該協(xié)議來對傳輸數據的安全性、完整性進行認證。
2 增強方案——帶屏蔽參數的數據認證
傳統(tǒng)的Merkle樹協(xié)議能有效地抵抗多種網絡攻擊,是運用較多的一種傳感器網絡安全傳輸協(xié)議。但它只能檢測接收的數據是否被更改,而沒有辦法在數據傳輸的過程中對其進行保護。因此將數據屏蔽與認證協(xié)議結合起來,既可以保護數據不被非法用戶監(jiān)聽到,又可以認證其準確性和完整性。
2.1 利用屏蔽參數構建Merkle樹
第一步:假設一個區(qū)域內的節(jié)點個數為8,節(jié)點ID記為S1,S2,…,S8,同上一方案,隨機選擇8個和為0的數R1、R2…R8,作為節(jié)點的屏蔽參數。同時,選擇一個單向Hash函數,為8個發(fā)送節(jié)點分別計算Mi=H(Ri),(i=1,2,…,n)。
第二步:將n個Mi作為葉子節(jié)點構建一個Merkle樹(如圖2),其中父節(jié)點的值是由兩個子節(jié)點聯(lián)合后通過Hash函數計算而來,即Mij=H(Mi|Mj)。
第三步:基站向所有節(jié)點廣播Merkle樹根節(jié)點的M18值以及每個節(jié)點通向Merkle樹根節(jié)點的所有兄弟節(jié)點的值。如圖2中S1收到的初始化參數包為根節(jié)點M18以及兄弟節(jié)點{M1,M2,M34,M58}。
2.2 節(jié)點數據的采集、發(fā)送及驗證
第一步:節(jié)點采集相應的數據Ki,采集完成后會自動加上該節(jié)點所對應的屏蔽參數Ri。
第二步:每個發(fā)送節(jié)點攜帶一個證書Parai,證書包含這個節(jié)點的初始化參數以及該節(jié)點到根節(jié)點路徑上所有兄弟節(jié)點的M值,例如S1節(jié)點所發(fā)數據包為Para1={M1,M2,M34,M58},當其發(fā)送消息時就將該證書附在消息的后面發(fā)送給與其通信的接收節(jié)點,即發(fā)送{(Ki+Ri)||Parai}。
第三步:接收節(jié)點接收到發(fā)送節(jié)點的證書后,經過一系列Hash計算,將計算結果與預先存儲的根節(jié)點的M值進行比較,如果一致,則通過認證。例如,控制中心的聚集節(jié)點接收到Para1后,計算H(H(H(H(M1)|M2)|M34)|M58)是否等于M18,如果相等則認證通過,否則丟棄該數據包。
第四步:控制中心的接收節(jié)點收到所有發(fā)送節(jié)點的數據后將所有數據求和,即為該區(qū)域的監(jiān)測數據的總和。
該方法的不足是只能對某一個區(qū)域的數據進行求和與認證,當節(jié)點數目大量增加以后,數據傳輸所需要的計算與通信開銷都會大大增加,因此本文又提出了帶屏蔽參數的多級Merkle樹方案。
3 擴展方案——帶屏蔽參數的多級Merkle樹認證方案
此方案將整個數據采集區(qū)域分成多個子區(qū)域,每個子區(qū)域都含有一定數量的節(jié)點,簇頭即為每個子區(qū)域的聚集結點。首先采用帶屏蔽參數的Merkle樹協(xié)議在每個子區(qū)域都構建一個Merkle子樹,并將數據傳到簇頭。然后每個區(qū)域的簇頭作為葉子節(jié)點構成一個新的Merkle樹,將數據傳給二級總的聚集結點。如圖3所示為多級Merkle樹結構圖。下面介紹具體實現(xiàn)方法。
3.1 一級Merkle子樹初始化參數的分配及認證過程
第一步:Merkle樹的生成與增強方案中帶認證的數據屏蔽傳輸方案相同,每一個子樹都生成一組屏蔽參數r1、r2…rn。初始化時一級聚集節(jié)點向每一個節(jié)點發(fā)送該節(jié)點的屏蔽參數的值以及該節(jié)點到Merkle樹根節(jié)點的所有兄弟節(jié)點的值,即為認證證書。每個發(fā)送節(jié)點發(fā)送消息時都攜帶自己的認證證書,例如r1向接收節(jié)點發(fā)送消息時所加證書為{m1,m2,m34,m58}。
第二步:一級聚集節(jié)點接收到r1的數據包時就會對其進行認證,認證方法與增強方案中Merkle樹的認證方法相同,如果認證通過則存儲該數據。最后求該子樹所在區(qū)域的所有節(jié)點數據的總和,即為所需要的數據。
3.2 二級Merkle樹初始化參數分配及認證過程
第一步:每一個子區(qū)域的簇頭節(jié)點作為葉子節(jié)點再生成一個帶屏蔽參數的Merkle樹,如圖3中R1、R2…R8即為簇頭節(jié)點的屏蔽參數,初始化過程與一級Merkle子樹相同。
第二步:當一級的簇頭節(jié)點都接收到有用數據后再通過帶屏蔽參數的Merkle樹認證方法將數據發(fā)送到二級總聚集節(jié)點。
一級聚集節(jié)點與二級聚集節(jié)點一般都是由可靠的服務器擔任,因此可以將由節(jié)點組成的一級Merkle子樹存儲到一級聚集節(jié)點上,將由簇頭組成的二級Merkle樹存儲到二級聚集節(jié)點上。聚集節(jié)點在接收到數據以后減去每個節(jié)點所對應的屏蔽參數就可以計算出每個節(jié)點的原始數據。這樣既采集到了局部區(qū)域的有用數據,也采集到了總的有用數據。在整個二級Merkle樹認證過程中,如果有n個子樹,就有n+1組屏蔽參數,大大提高了整個系統(tǒng)的安全性。
圖4為多級傳輸的屏蔽參數分配方案。在帶屏蔽參數的多級Merkle樹協(xié)議中,當有新用戶加入時,只需要更新該用戶所在小區(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算法輸出所得。假設一個基本的Merkle樹有n個葉子節(jié)點,Hash算法均采用MD5算法,則每一個節(jié)點隨機屏蔽參數的Hash值以及各兄弟節(jié)點的值均為128 bit。
初始化時中心節(jié)點分發(fā)給葉子節(jié)點的是該節(jié)點的認證證書和該節(jié)點的屏蔽參數,只是增加了中心節(jié)點的計算開銷,通信開銷比信息采集時多了一個根節(jié)點的值。本節(jié)主要針對兩級Merkle樹方案進行分析。在傳統(tǒng)的Merkle樹協(xié)議中,用戶發(fā)送數據包給接收節(jié)點,該數據包包含整個Merkle樹中發(fā)送節(jié)點到根節(jié)點的所有兄弟節(jié)點的值。而本文帶屏蔽參數的多級Merkle樹認證方案將節(jié)點分區(qū)域,通信時只需要發(fā)送子樹的認證包。在RSA協(xié)議中,每個節(jié)點都需要發(fā)送RSA簽名到接收節(jié)點,傳統(tǒng)的RSA密鑰長度為1 024 bit。本文通過MATLAB對三種方案的通信開銷進行了仿真分析,如圖5所示。
由圖5可知,在節(jié)點數目較小時,3種方案的通信開銷相差不大,但超過500以后,本文帶屏蔽參數的多級Merkle樹的認證方案的開銷會趨于平緩且比傳統(tǒng)Merkle樹節(jié)省開銷,而RSA協(xié)議的通信開銷還在呈線性增加。因此在大量節(jié)點網絡中,本協(xié)議具有一定的實用性。
4.3 計算開銷分析
這里通過計算時間的長短來分析計算開銷的大小。通過文獻[6]可知執(zhí)行一次Hash函數的時間為0.000 092 ms,執(zhí)行一次RSA簽名驗證需要0.1 ms,而執(zhí)行整個RSA協(xié)議則需要2.25 ms。在基本Merkle樹協(xié)議中,n個節(jié)點的Merkle樹,在驗證時就需要進行n/4-1次Hash計算。在本文帶屏蔽參數的多級Merkle樹認證方案中,兩級驗證只需要計算子樹中的根節(jié)點的值,其開銷比傳統(tǒng)Merkle樹小。而RSA協(xié)議執(zhí)行一次的時間就是Hash時間的一萬倍,因此其計算開銷遠遠大于傳統(tǒng)Merkle樹方案與本文帶屏蔽參數的多級Merkle樹認證方案。
通過上述分析可以看到,本文帶屏蔽參數的多級Merkle樹認證協(xié)議無論是通信開銷還是計算開銷都小于傳統(tǒng)Merkle樹方案與RSA方案,并且集合了Merkle樹協(xié)議和帶屏蔽參數的認證協(xié)議,具有通信和計算開銷小、安全性和保密性高等優(yōu)點,符合智能電網信息采集系統(tǒng)的要求。雖然本方案不能隨機廣播,但是其高性能足夠讓用戶在智能配電網信息采集系統(tǒng)中選擇它。
5 結論
本文提出了一種具有隱私保護的數據認證方案。該方案采用的是帶屏蔽參數的Merkle樹認證協(xié)議,既可以認證接收數據的可靠性和完整性,又可以對數據進行保護,從而有效解決了智能配電網信息采集系統(tǒng)中的信息安全問題。同時本文將基本協(xié)議優(yōu)化為多級帶屏蔽參數的Merkle樹協(xié)議,有效解決了大量節(jié)點認證時存儲和通信開銷太大的問題,更符合智能電網的安全性認證要求。分析結果也表明,本協(xié)議在性能與開銷方面都具有一定的優(yōu)越性。
參考文獻
[1] 劉振亞.智能電網技術[M].北京:中國電力出版社,2010.
[2] 劉雪艷,張強,李戰(zhàn)明.智能電網信息安全研究綜述[J].電力信息與通信技術,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:多基站傳感器網絡廣播認證協(xié)議[J].計算機學報,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樹的無線傳感器網絡廣播認證策略[J].系統(tǒng)仿真學報,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.