文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.2015.12.029
中文引用格式: 李文琴,范會(huì)聯(lián),文俊浩. 一種抵抗智能電網(wǎng)數(shù)據(jù)注入攻擊的認(rèn)證密鑰機(jī)制[J].電子技術(shù)應(yīng)用,2015,41(12):109-112.
英文引用格式: Li Wenqin,F(xiàn)an Huilian,Wen Junhao. A secure key authentication scheme against false data injection attack in power grid[J].Application of Electronic Technique,2015,41(12):109-112.
0 引言
電力系統(tǒng)的特殊性易遭惡意攻擊,故智能電網(wǎng)CPS系統(tǒng)安全需求非常迫切。目前的系統(tǒng)安全措施簡(jiǎn)單,電網(wǎng)信息易被探測(cè)篡改。研究者發(fā)明了一系列監(jiān)控機(jī)制和狀態(tài)估計(jì)算法來(lái)監(jiān)測(cè)電力系統(tǒng)異常,篡改數(shù)據(jù)看似不太可行,但有研究指出一種壞數(shù)據(jù)注入攻擊(False Data Injection Attack)[1]在理論和實(shí)際上都有可能實(shí)現(xiàn)。
目前對(duì)智能電網(wǎng)系統(tǒng)常見(jiàn)的攻擊是針對(duì)傳感器的壞數(shù)據(jù)注入攻擊。該攻擊結(jié)合對(duì)電網(wǎng)部分結(jié)構(gòu)的感知及對(duì)傳感器感知數(shù)據(jù)的惡意操控,避開(kāi)狀態(tài)估計(jì)和不良數(shù)據(jù)檢測(cè)的感知,生成壞數(shù)據(jù),制造虛假狀態(tài),導(dǎo)致不當(dāng)操作,造成損失。本文對(duì)此設(shè)計(jì)了基于電網(wǎng)傳感采集網(wǎng)絡(luò)結(jié)構(gòu)的雙層加密模式,下層使用生成樹(shù)加密,上層使用配對(duì)認(rèn)證與控制中心動(dòng)態(tài)更新檢測(cè)密鑰方式加密,并使用仿真方法評(píng)估該加密方式性能,驗(yàn)證其可行性、有效性和正確性,分析其抗攻擊的能力。
1 加密方案
針對(duì)該攻擊,提出一種基于整個(gè)網(wǎng)絡(luò)結(jié)構(gòu)的加密機(jī)制在傳輸層面進(jìn)行預(yù)防和檢測(cè)。
1.1 安全威脅與限制因素
由于電力信息采集傳感器的存儲(chǔ)、計(jì)算能力等資源有限,非對(duì)稱加密會(huì)造成較大系統(tǒng)開(kāi)銷,故使用國(guó)密SM1對(duì)稱加密算法進(jìn)行傳感器到控制中心數(shù)據(jù)傳輸?shù)募用苷J(rèn)證。但其固定的共享密鑰易被截取,使整個(gè)網(wǎng)絡(luò)的安全性大大降低。
1.2 加密方案考慮
本文僅考慮有限數(shù)量的傳感設(shè)備按由下往上的層次被攻陷的情況。目前有許多針對(duì)分布式傳感網(wǎng)絡(luò)的加密方案[2],如多層密鑰機(jī)制LEAP、q-composite隨機(jī)性密鑰預(yù)分配方案等,都不太適應(yīng)電網(wǎng)系統(tǒng)傳感節(jié)點(diǎn)分布的可拓展性、持久性等需求,但多層密鑰、密鑰預(yù)分配值得借鑒。電網(wǎng)傳感節(jié)點(diǎn)采用MODBUS通信協(xié)議,極大減小了通信鏈路開(kāi)銷。有人提出了基于區(qū)域數(shù)據(jù)聚集的遍歷網(wǎng)絡(luò)生成樹(shù)同態(tài)加密算法Paillier[3],開(kāi)銷、安全性均可接受,理論上可行,但缺少檢測(cè)機(jī)制,且無(wú)法應(yīng)對(duì)節(jié)點(diǎn)被順藤摸瓜攻陷的情況。
1.3 加密機(jī)制
本文鑒于網(wǎng)絡(luò)結(jié)構(gòu)特性,結(jié)合相關(guān)研究成果中的配對(duì)密鑰技術(shù)[4]運(yùn)用于數(shù)據(jù)聚集中心,基于預(yù)分配密鑰,提出對(duì)控制中心和聚集中心進(jìn)行同步加密的機(jī)制,將電網(wǎng)系統(tǒng)劃分為簇間、簇內(nèi)密鑰管理模塊,根據(jù)計(jì)算性能不同,完成對(duì)稱加密和公鑰加密的結(jié)合。
2 基于配對(duì)劃分的認(rèn)證密鑰機(jī)制
2.1 簇內(nèi)加密
簇內(nèi)密鑰借鑒生成樹(shù)同態(tài)加密算法,針對(duì)節(jié)點(diǎn)數(shù)量控制樹(shù)的高度,增強(qiáng)區(qū)域內(nèi)互聯(lián)。
2.1.1 流程概述
聚集中心是具有一定計(jì)算、管理能力的實(shí)體,節(jié)點(diǎn)部署階段預(yù)先由簇內(nèi)拓?fù)浣Y(jié)構(gòu)生成聚集樹(shù),并定時(shí)遍歷節(jié)點(diǎn)更新拓?fù)浣Y(jié)構(gòu),根據(jù)樹(shù)形和深度給節(jié)點(diǎn)分配編號(hào),進(jìn)行Hash運(yùn)算生成密鑰發(fā)給節(jié)點(diǎn),若單點(diǎn)失效且其異常易被其感知,發(fā)送警報(bào)給控制中心。
2.1.2 密鑰的生成
預(yù)部署時(shí)根據(jù)需求安放傳感節(jié)點(diǎn),顧及網(wǎng)絡(luò)結(jié)構(gòu)連通性,確認(rèn)拓?fù)鋱D后,為滿足深度最小、內(nèi)節(jié)點(diǎn)孩子最少的要求,采用寬度優(yōu)先遍歷構(gòu)造生成樹(shù)。接著遍歷確定節(jié)點(diǎn)編號(hào)并可進(jìn)行置換運(yùn)算,結(jié)果保存在聚集中心,采用Hash方式生成對(duì)稱加密長(zhǎng)度要求的密鑰。
2.1.3 數(shù)據(jù)聚集過(guò)程
根據(jù)生成樹(shù)結(jié)構(gòu)設(shè)置,子節(jié)點(diǎn)傳數(shù)據(jù)給聚集中心時(shí)一定經(jīng)過(guò)其父節(jié)點(diǎn), 即父節(jié)點(diǎn)接受子節(jié)點(diǎn)信息并合并到數(shù)據(jù)包,再傳給其父節(jié)點(diǎn),直到聚集中心。因同態(tài)加密的可行性,父節(jié)點(diǎn)不參與子節(jié)點(diǎn)數(shù)據(jù)包的解密即可操作,只有擁有全部密鑰的聚集中心通過(guò)層層解密才可得到原始采集的數(shù)據(jù)。
2.1.4 方案性能限制
該方案不適用節(jié)點(diǎn)數(shù)眾多的區(qū)域,若遇此情況可考慮劃分子區(qū)域等方案;若遇到目的性強(qiáng)的黑客,會(huì)在物理層攻破一定數(shù)量的內(nèi)節(jié)點(diǎn),獲取該領(lǐng)域部署結(jié)構(gòu),仿照此機(jī)制控制節(jié)點(diǎn),進(jìn)而偽造密鑰,致使整個(gè)區(qū)域被攻破。
2.2 簇間認(rèn)證方案
本文的認(rèn)證機(jī)制基于各聚集節(jié)點(diǎn)簇間邊界的功率互補(bǔ)特性,針對(duì)電網(wǎng)環(huán)境特殊適應(yīng)性,能增強(qiáng)可靠性,提高識(shí)別檢測(cè)能力,繼承了配對(duì)密鑰(PKE)及隨機(jī)密鑰預(yù)分配(RKP)的特性。而該機(jī)制對(duì)運(yùn)算和存儲(chǔ)的要求不如PKE苛刻,預(yù)分配的隨機(jī)密鑰也不隨機(jī),卻蘊(yùn)含該簇周圍連通簇的連接信息。
圖1是簇間認(rèn)證方案總體流程圖,包括分割節(jié)點(diǎn)、認(rèn)證信息配置、認(rèn)證工作、動(dòng)態(tài)更新節(jié)點(diǎn)分割和配置幾方面。
2.2.1 電網(wǎng)拓?fù)鋱D的分割
本文針對(duì)電網(wǎng)結(jié)構(gòu)及基于內(nèi)容的密鑰認(rèn)證特征,采取以重要節(jié)點(diǎn)為中心的劃分方式。通過(guò)計(jì)算簇間是否有可感知的支線直接相連,得到一個(gè)中心度權(quán)重的簇節(jié)點(diǎn)排序,根據(jù)網(wǎng)絡(luò)規(guī)模、分割平衡、分布完備等需求,結(jié)合權(quán)重順序選擇權(quán)值大的重要節(jié)點(diǎn)作為分割子圖的中心進(jìn)行圖的劃分。
控制中心根據(jù)各個(gè)配對(duì)共享密鑰進(jìn)行簇到控制中心的傳輸,進(jìn)行圖劃分的目的就是找到對(duì)共享密鑰最有利的配對(duì)劃分。最終形成的分割應(yīng)以兩個(gè)簇為一組相互認(rèn)證;在一定可靠性考慮下,折衷通信和計(jì)算復(fù)雜度開(kāi)銷,可在重要節(jié)點(diǎn)處加入3個(gè)一組呈三角循環(huán)認(rèn)證。本文僅討論兩兩配對(duì)的情況。圖2用IEEE14bus測(cè)試數(shù)據(jù)集簡(jiǎn)要說(shuō)明了對(duì)網(wǎng)絡(luò)拓?fù)涞膭澐纸Y(jié)果。
2.2.2 密鑰的生成
圖分割完畢后,系統(tǒng)進(jìn)行記錄并在要擁有盡可能大數(shù)量的直接相連配對(duì)簇的目的下假定配對(duì),不強(qiáng)制一對(duì)一,網(wǎng)絡(luò)結(jié)構(gòu)分布不理想時(shí)允許一對(duì)多。擁有相連支線的簇采用共享的支線功率作為關(guān)鍵計(jì)算密鑰。具體來(lái)說(shuō),IEEE118bus測(cè)試樣例的功率精確度足以分辨上百個(gè)不同支線,真實(shí)電網(wǎng)中的數(shù)據(jù)會(huì)更加精確,可采納為密鑰運(yùn)算的決定因子。
在配對(duì)的節(jié)點(diǎn)1和節(jié)點(diǎn)2間,設(shè)I1、U1、P1、Q1分別為節(jié)點(diǎn)1的電流、電壓、有功功率和無(wú)功功率,節(jié)點(diǎn)2同理,Y=R+jX為節(jié)點(diǎn)間支線的阻抗。對(duì)于該對(duì)節(jié)點(diǎn),有:
通常PMU采集到的數(shù)據(jù)不包含電流,并且支線阻抗恒定,所以有式(3)、式(4)作為計(jì)算節(jié)點(diǎn)間認(rèn)證密鑰的依據(jù)。
針對(duì)時(shí)間變換時(shí)功率發(fā)生變化的情況,可在一定時(shí)間間隔內(nèi)存儲(chǔ)一個(gè)靜態(tài)功率值并進(jìn)行一定來(lái)往的雙方協(xié)商更改,確定下一時(shí)段采取的密鑰,則密鑰在配對(duì)范圍內(nèi)就不是靜態(tài)的,減弱了單點(diǎn)被攻陷后欺騙另外節(jié)點(diǎn)的可能。
需要注意,支線兩端傳感檢測(cè)到的功率值并非完全匹配,含有檢測(cè)誤差和波動(dòng),即在測(cè)不準(zhǔn)或有誤差的情況下,采用配對(duì)粒度上的狀態(tài)估計(jì)方法[5]。狀態(tài)估計(jì)量測(cè)量與狀態(tài)變量的關(guān)系為:
式中,z=(z1,z2,…,zm)T,(zi∈R,i=1,2,…,m)表示估計(jì)狀態(tài)量測(cè)量,一般包括節(jié)點(diǎn)電壓幅值、節(jié)點(diǎn)注入有功功率和無(wú)功功率以及支路有功和無(wú)功功率;x=(x1,x2,…,xn)T,(xj∈R,j=1,2,…,n)表示系統(tǒng)的狀態(tài)變量,包括節(jié)點(diǎn)電壓幅值和相角;e=(e1,e2,…,em)T,(ek∈R,k=1,2,…,m)表示量測(cè)差,一般認(rèn)為ek服從均值為0的高斯分布,且cov(e)=Rh(x)是一個(gè)表示系統(tǒng)拓?fù)浣Y(jié)構(gòu)的非線性函數(shù)矩陣。對(duì)于一個(gè)簡(jiǎn)單的直流系統(tǒng)模型來(lái)說(shuō),其傳感器量測(cè)量只包括支路有功功率和節(jié)點(diǎn)注入有功功率,狀態(tài)變量包括節(jié)點(diǎn)電壓相角,節(jié)點(diǎn)電壓幅值均為1p.u。忽略所有的支路阻抗,狀態(tài)估計(jì)可以由下面的線性化模型來(lái)代替:
2.2.3 加密解密及認(rèn)證過(guò)程
簇節(jié)點(diǎn)采集的信息由密鑰保護(hù),在向控制中心傳輸數(shù)據(jù)的同時(shí)也生成密鑰確認(rèn)信息和其配對(duì)進(jìn)行交換認(rèn)證,在一次上傳中,一對(duì)簇信息交由一方確認(rèn)同伴身份后解密聚集打包,按控制中心分配的密鑰進(jìn)行數(shù)據(jù)上傳,雙方輪流承擔(dān)該角色。圖3表示了一對(duì)簇節(jié)點(diǎn)的密鑰交換及認(rèn)證過(guò)程,由節(jié)點(diǎn)A主動(dòng)發(fā)起通信和傳輸數(shù)據(jù),可以動(dòng)態(tài)切換。
2.2.4 配對(duì)及配置的更新
簇間連接有多套配對(duì)方案,控制中心動(dòng)態(tài)控制選擇,多樣化保證各簇節(jié)點(diǎn)認(rèn)證。為加強(qiáng)監(jiān)管,控制中心隨時(shí)獲取配對(duì)密鑰,由狀態(tài)估計(jì)進(jìn)行閾值下的一致性檢測(cè)。動(dòng)態(tài)更新的時(shí)間閾值關(guān)系著攻擊者能否成功實(shí)施攻擊。為加強(qiáng)機(jī)制的能動(dòng)性,更新間隔越小越好,動(dòng)態(tài)更新使密鑰具有前向安全性。
2.2.5 存在的問(wèn)題
該加密方式存在內(nèi)容的誤差造成同步時(shí)的密鑰沖突問(wèn)題,為了接近一致性假設(shè),設(shè)計(jì)尋找特征進(jìn)行映射的算法有一定的必要性,暫不在本文討論范圍。若簇對(duì)都被攻陷了,黑客攻擊就聰明地避開(kāi)動(dòng)態(tài)配對(duì)劃分的檢測(cè),此機(jī)制就需要更加深入的探討。
此加密機(jī)制添加了諸道認(rèn)證關(guān)口,但僅是加大了黑客攻擊的難度,若黑客有足夠耐心和強(qiáng)大計(jì)算能力,就不能保證什么系統(tǒng)是無(wú)法攻破的。
3 實(shí)驗(yàn)驗(yàn)證與分析
為驗(yàn)證該機(jī)制的可行性、有效性和正確性及抗攻擊能力,使用了模擬監(jiān)控系統(tǒng)。
3.1 SCADA模擬系統(tǒng)
基于電力系統(tǒng)中監(jiān)控系統(tǒng)即SCADA系統(tǒng)架構(gòu),采用IEEE118節(jié)點(diǎn)標(biāo)準(zhǔn)測(cè)試樣例在計(jì)算機(jī)集群上模擬了控制中心、物理節(jié)點(diǎn)、傳感器、控制器幾大部件。為了使該模擬系統(tǒng)能夠真實(shí)反應(yīng)出電網(wǎng)的物理狀態(tài),在物理節(jié)點(diǎn)網(wǎng)絡(luò)底層設(shè)置了模型計(jì)算中心,借助MATPOWER軟件包,采用最優(yōu)電力路徑算法(Optimal Power Flow,OPF[6]),實(shí)時(shí)更新模擬電網(wǎng)狀態(tài)使其符合物理規(guī)律,且在控制中心建立了狀態(tài)估計(jì)機(jī)制,包含控制命令轉(zhuǎn)發(fā)、MODBUS協(xié)議構(gòu)建等一系列真實(shí)電網(wǎng)系統(tǒng)的網(wǎng)絡(luò)通信、節(jié)點(diǎn)部署的模擬,真實(shí)全面地動(dòng)態(tài)反映電力系統(tǒng)狀態(tài)。故采用此系統(tǒng)驗(yàn)證本文所述加密機(jī)制。
3.2 認(rèn)證機(jī)制實(shí)現(xiàn)
由于模型只是簡(jiǎn)單對(duì)于118節(jié)點(diǎn)進(jìn)行模擬,節(jié)點(diǎn)數(shù)少,看不出簇間加密效果,故暫且不表述,且簇間加密是基于已有研究成果進(jìn)行適應(yīng)性應(yīng)用,不再探究其性能。對(duì)簇間加密模擬,由于實(shí)際由TCP/IP作為底層協(xié)議,相關(guān)網(wǎng)絡(luò)參數(shù)要作一定調(diào)整,且要對(duì)理想的傳感數(shù)據(jù)做符合實(shí)際情況的誤差波動(dòng)。
下面進(jìn)行簡(jiǎn)單實(shí)驗(yàn)考察配對(duì)節(jié)點(diǎn)間的電力需求波動(dòng)情況下傳遞的誤差閾值。式(8)為需求波動(dòng)模型,其中,α為電力需求調(diào)整百分比系數(shù),Pd則是配對(duì)節(jié)點(diǎn)其中一個(gè)的電力需求功率:
在前面的波動(dòng)假設(shè)下,按照式(3)、式(4)在IEEE14bus測(cè)試數(shù)據(jù)集下進(jìn)行差值估計(jì),圖4展示了在不同電力需求調(diào)整百分比系數(shù)α下的節(jié)點(diǎn)預(yù)測(cè)的偏離度,在每個(gè)系數(shù)下使用了100組隨機(jī)數(shù)據(jù)估測(cè),得到的偏離程度是一致的。圖4說(shuō)明了電力需求波動(dòng)越小,誤差估計(jì)越小,越趨近平穩(wěn)值。在真實(shí)情況下,用電高峰期的誤差閾值設(shè)置和低峰期的閾值設(shè)置可以通過(guò)理論計(jì)算進(jìn)行動(dòng)態(tài)更改。
3.3 虛假數(shù)據(jù)注入攻擊情景模擬
生成虛假向量,有目的性地選擇受攻擊的傳感設(shè)備,查看怎樣規(guī)模的設(shè)備被攻陷數(shù)量、結(jié)構(gòu)可能會(huì)瞞過(guò)系統(tǒng)的檢測(cè)機(jī)制。
3.4 性能分析
該加密方案的獨(dú)創(chuàng)性在于減少了密鑰動(dòng)態(tài)更新的開(kāi)銷,擺脫了固定算法更新密鑰的可追溯性,增強(qiáng)了網(wǎng)絡(luò)結(jié)構(gòu)認(rèn)證性,對(duì)于虛假數(shù)據(jù)注入攻擊有一定的抵御檢測(cè)能力。
簇間加密算法的優(yōu)勢(shì)在于基于對(duì)稱加密實(shí)現(xiàn),運(yùn)算及存儲(chǔ)開(kāi)銷小,密鑰與內(nèi)容正相關(guān),有不可估量性,認(rèn)證有獨(dú)特性。但缺點(diǎn)在于密鑰建立算法的可靠性,對(duì)于支線功率數(shù)據(jù)離散度大、隨機(jī)波動(dòng)頻繁的特性,需設(shè)計(jì)合適算法、調(diào)整因子,較大網(wǎng)絡(luò)可能較難做到精確性,這也是以后的工作研究重點(diǎn)。
4 總結(jié)
本文針對(duì)智能電網(wǎng)傳感數(shù)據(jù)的壞數(shù)據(jù)注入攻擊,制定了以簇為分界線的兩層認(rèn)證機(jī)制,簇內(nèi)認(rèn)證加密采用生成樹(shù)分擔(dān)數(shù)據(jù)聚集任務(wù)的方式,以節(jié)點(diǎn)拓?fù)渚幪?hào)為密鑰計(jì)算標(biāo)準(zhǔn),結(jié)合同態(tài)加密的對(duì)稱算法進(jìn)行拓?fù)浔闅v聚合數(shù)據(jù);簇間的認(rèn)證加密采用密鑰基于內(nèi)容生成的方式進(jìn)行對(duì)稱加密,用配對(duì)技術(shù)設(shè)立認(rèn)證環(huán)節(jié),控制中心動(dòng)態(tài)監(jiān)測(cè)簇對(duì)健康度。該機(jī)制能夠有效防御錯(cuò)誤數(shù)據(jù)注入攻擊。
本文所提方案還有許多可改進(jìn)之處,后續(xù)工作可圍繞基于內(nèi)容生成密鑰的學(xué)習(xí)算法展開(kāi),制定更穩(wěn)定可實(shí)施的加密算法。
參考文獻(xiàn)
[1] Yao Liu,Peng Ning,Michael K.Reiter.False data injection attacks against state estimation in electric powergrids[J].ACM Transactions on Computational Logic,2009,V(N):1-34.
[2] 代航陽(yáng).分布式無(wú)線傳感器網(wǎng)絡(luò)密鑰管理研究[A].2010.
[3] LI F,LUO B,LIU P.Secure information aggregation for smart grids using homomorphic encryption[C].In Smart Grid Communications(SmartGridComm),2010 First IEEE International Conference on.
[4] HUANG,D,MEDHI D.Secure pairwise key establishment in large-scale sensor networks:an area partitioning and multi-group key predistribution approach[J].ACM Transactions on Sensor Networks,2007(8):34.
[5] 于爾鏗.電力系統(tǒng)狀態(tài)估計(jì)[M].北京:水利電力出版社.1985.
[6] Dommel, Hermann W,William F.Tinney.Optimal power flow solutions[J].IEEE transactions on power apparatus and systems,1968(10):1866-1876.