?

智能配電網中具有隱私保護的數據安全認證方案*

2015-02-21 07:50李晉國
電子技術應用 2015年12期
關鍵詞:子樹屏蔽配電網

徐 琳,溫 蜜,李晉國

(上海電力學院 計算機科學與技術學院,上海 200090)

0 引言

智能電網,又稱為知識型電網或者現代電網,是將現代先進的傳感與測量技術、信息通信技術、控制技術和原有的輸配電基礎設施高度集成而形成的新型電網?,F代智能電網需要實現電網的可靠、安全、經濟、高效以及環境友好型運行,因而受到了越來越多的關注。智能配電網作為電力“發、輸、調、變、配、用”的重要環節之一,是電網對用戶信息進行監測以達到智能化調配的主要平臺[1]。眾所周知,人為監視和控制每個用戶的用電信息和電網設備狀態是不現實的。由于傳感器具有成本低、自組織性、自愈能力強等特點,已被廣泛應用到智能配電網的用電信息自動采集系統中。無線傳感器網絡就成為了智能配電網中最主要的用戶端數據采集方式。而正因為諸如無線傳感器網絡等大量智能采集終端的廣泛應用和接入,使智能配電網中數據的完整性、保密性、抗攻擊性以及隱私保護等面臨著許多新的挑戰[2,3]。

目前,國內外對無線傳感器網絡數據傳輸的完整性、保密性、抗攻擊性等問題進行了一定的研究,提出了各種不同的廣播認證協議。文獻[4-6]提出了μTESLA廣播認證協議并對其進行了一系列的改進。文獻[7]提出一種RSA算法,因其高保密性被人們運用到智能電網領域。文獻[8-9]采用了一種基于Merkle樹的廣播認證協議。文獻[10]提出了將Merkle樹認證協議運用到智能電網的方案。這些認證協議都沒有在安全認證的情況下考慮智能配電網中的用戶數據需要有效的隱私保護的需求。而用戶用電信息、用電規律等隱私的泄露將導致入室盜竊等危害人們生活安全的事件發生。因此,本文對智能配電網中具有隱私保護的數據安全認證協議做了進一步研究,提出了三種解決方案。

1 基本方案——帶屏蔽參數的數據傳輸

傳感器節點根據工作模式設置,其對用電信息的采集頻率可以達到幾分鐘一次。這些用戶隱私的泄露必將給用戶的生活安全帶來極大的困擾。針對這一問題,本文通過在采集的數據上加屏蔽參數后傳輸來保護真實的采集數據。

假設某一個無線網絡區域包含n個用戶,每個用戶的傳感器節點都同時給中心節點發送數據包,且沒有丟包情況。每個用戶對應一個傳感器節點,網絡中的傳感器節點 ID記為 S1,S2,…,Sn。具體實現步驟如下:

第一步:隨機生成一組數據(R1,R2…Rn)作為屏蔽參數,并且保證Ri=0。將這些Ri值隨機分發到n個節點中。

第二步:當傳感器節點Si采集到數據Ki時就自動加上屏蔽參數Ri作為傳輸數據,此時發送節點發送的數據包為{Ki+Ri},如圖 1所示。

圖1 帶屏蔽參數的數據傳輸

此方案大大增加了數據傳輸的安全性,實現了節點信息的保護。但是當惡意攻擊者偽造或者篡改節點數據,接收者也會正常接收信息,從而影響了數據的準確性。 因此,在該方法的基礎上,本文又增加了Merkle樹認證協議,通過該協議來對傳輸數據的安全性、完整性進行認證。

2 增強方案——帶屏蔽參數的數據認證

傳統的Merkle樹協議能有效地抵抗多種網絡攻擊,是運用較多的一種傳感器網絡安全傳輸協議。但它只能檢測接收的數據是否被更改,而沒有辦法在數據傳輸的過程中對其進行保護。因此將數據屏蔽與認證協議結合起來,既可以保護數據不被非法用戶監聽到,又可以認證其準確性和完整性。

2.1 利用屏蔽參數構建Merkle樹

第一步:假設一個區域內的節點個數為8,節點ID記為 S1,S2,…,S8,同上一方案,隨機選擇 8個和為 0的數R1、R2…R8,作為節點的屏蔽參數。同時,選擇一個單向Hash函數,為8個發送節點分別計算 Mi=H(Ri),(i=1,2,…,n)。

第二步:將n個Mi作為葉子節點構建一個Merkle樹(如圖2),其中父節點的值是由兩個子節點聯合后通過 Hash函數計算而來,即 Mij=H(Mi|Mj)。

第三步:基站向所有節點廣播Merkle樹根節點的M18值以及每個節點通向Merkle樹根節點的所有兄弟節點的值。如圖2中S1收到的初始化參數包為根節點M18以及兄弟節點{M1,M2,M34,M58}。

圖2 八個發送節點組成的Merkle參數分布樹

2.2 節點數據的采集、發送及驗證

第一步:節點采集相應的數據Ki,采集完成后會自動加上該節點所對應的屏蔽參數Ri。

第二步:每個發送節點攜帶一個證書Parai,證書包含這個節點的初始化參數以及該節點到根節點路徑上所有兄弟節點的M值,例如S1節點所發數據包為Para1={M1,M2,M34,M58},當其發送消息時就將該證書附在消息的后面發送給與其通信的接收節點,即發送{(Ki+Ri)||Parai}。

第三步:接收節點接收到發送節點的證書后,經過一系列Hash計算,將計算結果與預先存儲的根節點的M值進行比較,如果一致,則通過認證。例如,控制中心的聚集節點接收到Para1后,計算H(H(H(H(M1)|M2)|M34)|M58)是否等于M18,如果相等則認證通過,否則丟棄該數據包。

第四步:控制中心的接收節點收到所有發送節點的數據后將所有數據求和,即為該區域的監測數據的總和。

該方法的不足是只能對某一個區域的數據進行求和與認證,當節點數目大量增加以后,數據傳輸所需要的計算與通信開銷都會大大增加,因此本文又提出了帶屏蔽參數的多級Merkle樹方案。

3 擴展方案——帶屏蔽參數的多級Merkle樹認證方案

此方案將整個數據采集區域分成多個子區域,每個子區域都含有一定數量的節點,簇頭即為每個子區域的聚集結點。首先采用帶屏蔽參數的Merkle樹協議在每個子區域都構建一個Merkle子樹,并將數據傳到簇頭。然后每個區域的簇頭作為葉子節點構成一個新的Merkle樹,將數據傳給二級總的聚集結點。如圖3所示為多級Merkle樹結構圖。下面介紹具體實現方法。

3.1 一級Merkle子樹初始化參數的分配及認證過程

第一步:Merkle樹的生成與增強方案中帶認證的數據屏蔽傳輸方案相同,每一個子樹都生成一組屏蔽參數r1、r2…rn。初始化時一級聚集節點向每一個節點發送該節點的屏蔽參數的值以及該節點到Merkle樹根節點的所有兄弟節點的值,即為認證證書。每個發送節點發送消息時都攜帶自己的認證證書,例如r1向接收節點發送消息時所加證書為{m1,m2,m34,m58}。

圖3 多級Merkle樹

第二步:一級聚集節點接收到r1的數據包時就會對其進行認證,認證方法與增強方案中Merkle樹的認證方法相同,如果認證通過則存儲該數據。最后求該子樹所在區域的所有節點數據的總和,即為所需要的數據。

3.2 二級Merkle樹初始化參數分配及認證過程

第一步:每一個子區域的簇頭節點作為葉子節點再生成一個帶屏蔽參數的 Merkle樹,如圖3中R1、R2…R8即為簇頭節點的屏蔽參數,初始化過程與一級Merkle子樹相同。

第二步:當一級的簇頭節點都接收到有用數據后再通過帶屏蔽參數的Merkle樹認證方法將數據發送到二級總聚集節點。

一級聚集節點與二級聚集節點一般都是由可靠的服務器擔任,因此可以將由節點組成的一級Merkle子樹存儲到一級聚集節點上,將由簇頭組成的二級Merkle樹存儲到二級聚集節點上。聚集節點在接收到數據以后減去每個節點所對應的屏蔽參數就可以計算出每個節點的原始數據。這樣既采集到了局部區域的有用數據,也采集到了總的有用數據。在整個二級Merkle樹認證過程中,如果有n個子樹,就有 n+1組屏蔽參數,大大提高了整個系統的安全性。

圖4為多級傳輸的屏蔽參數分配方案。在帶屏蔽參數的多級Merkle樹協議中,當有新用戶加入時,只需要更新該用戶所在小區域的子樹認證系統即可,不影響其他部分,這使該方案的可擴展性得到增強。

圖4 帶屏蔽參數的多級數據傳輸方案

4 性能分析

4.1 安全性分析

本節從節點抗俘獲能力、抗DOS攻擊能力、有無隱私保護功能、能否立即認證以及能否隨機廣播等方面,將μTESLA方案、傳統Merkle樹協議以及RSA算法與本文提出的三種方案進行了比較。通過表1可以看到,μTESLA協議認證有延遲,抗DOS攻擊能力差,傳統的Merkle樹沒有隱私保護功能。

4.2 通信開銷分析

在基本的Merkle樹協議中,Merkle樹是通過葉子節點之間進行一系列Hash計算生成的,每一個節點值都是由Hash算法輸出所得。假設一個基本的Merkle樹有n個葉子節點,Hash算法均采用MD5算法,則每一個節點隨機屏蔽參數的Hash值以及各兄弟節點的值均為128 bit。

初始化時中心節點分發給葉子節點的是該節點的認證證書和該節點的屏蔽參數,只是增加了中心節點的計算開銷,通信開銷比信息采集時多了一個根節點的值。本節主要針對兩級Merkle樹方案進行分析。在傳統的Merkle樹協議中,用戶發送數據包給接收節點,該數據包包含整個Merkle樹中發送節點到根節點的所有兄弟節點的值。而本文帶屏蔽參數的多級Merkle樹認證方案將節點分區域,通信時只需要發送子樹的認證包。在RSA協議中,每個節點都需要發送RSA簽名到接收節點,傳統的RSA密鑰長度為1 024 bit。本文通過MATLAB對三種方案的通信開銷進行了仿真分析,如圖5所示。

由圖5可知,在節點數目較小時,3種方案的通信開銷相差不大,但超過500以后,本文帶屏蔽參數的多級Merkle樹的認證方案的開銷會趨于平緩且比傳統Merkle樹節省開銷,而RSA協議的通信開銷還在呈線性增加。因此在大量節點網絡中,本協議具有一定的實用性。

表1 安全性分析

圖5 通信開銷對比圖

4.3 計算開銷分析

這里通過計算時間的長短來分析計算開銷的大小。通過文獻[6]可知執行一次Hash函數的時間為0.000 092 ms,執行一次 RSA簽名驗證需要 0.1 ms,而執行整個RSA協議則需要2.25 ms。在基本Merkle樹協議中,n個節點的Merkle樹,在驗證時就需要進行n/4-1次Hash計算。在本文帶屏蔽參數的多級Merkle樹認證方案中,兩級驗證只需要計算子樹中的根節點的值,其開銷比傳統Merkle樹小。而RSA協議執行一次的時間就是Hash時間的一萬倍,因此其計算開銷遠遠大于傳統Merkle樹方案與本文帶屏蔽參數的多級Merkle樹認證方案。

通過上述分析可以看到,本文帶屏蔽參數的多級Merkle樹認證協議無論是通信開銷還是計算開銷都小于傳統Merkle樹方案與RSA方案,并且集合了Merkle樹協議和帶屏蔽參數的認證協議,具有通信和計算開銷小、安全性和保密性高等優點,符合智能電網信息采集系統的要求。雖然本方案不能隨機廣播,但是其高性能足夠讓用戶在智能配電網信息采集系統中選擇它。

5 結論

本文提出了一種具有隱私保護的數據認證方案。該方案采用的是帶屏蔽參數的Merkle樹認證協議,既可以認證接收數據的可靠性和完整性,又可以對數據進行保護,從而有效解決了智能配電網信息采集系統中的信息安全問題。同時本文將基本協議優化為多級帶屏蔽參數的Merkle樹協議,有效解決了大量節點認證時存儲和通信開銷太大的問題,更符合智能電網的安全性認證要求。分析結果也表明,本協議在性能與開銷方面都具有一定的優越性。

[1]劉振亞.智能電網技術[M].北京:中國電力出版社,2010.

[2]劉雪艷,張強,李戰明.智能電網信息安全研究綜述[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:多基站傳感器網絡廣播認證協議[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].系統仿真學報,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.

猜你喜歡
子樹屏蔽配電網
一種新的快速挖掘頻繁子樹算法
把生活調成“屏蔽模式”
廣義書本圖的BC-子樹計數及漸近密度特性分析*
朋友圈被屏蔽,十二星座怎么看
書本圖的BC-子樹計數及漸進密度特性分析?
關于城市10kV配電網自動化實施的探討
如何屏蔽
基于覆蓋模式的頻繁子樹挖掘方法
幾乎最佳屏蔽二進序列偶構造方法
基于IEC61850的配電網數據傳輸保護機制
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合