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