郭小鶴,楊 媛,馬曉琴
(1.國(guó)網(wǎng)青海省電力公司經(jīng)濟(jì)技術(shù)研究院,青海西寧 810008;2.國(guó)網(wǎng)青海省電力公司海東供電公司,青海海東 810600;3.國(guó)網(wǎng)青海省電力公司信息通信公司,青海西寧 810008)
智能電網(wǎng)是一種基于企業(yè)的信息體系結(jié)構(gòu)與基礎(chǔ)結(jié)構(gòu)體系。隨著開(kāi)放性的增加,“不公開(kāi)就是安全”已經(jīng)不再是一種安全戰(zhàn)略。在智能電網(wǎng)下的電力信息系統(tǒng)中,信息的安全性成為當(dāng)下人們最為關(guān)心的一個(gè)問(wèn)題。海量信息的安全主要包括五個(gè)因素,分別是保密、完整、可用、可控、真實(shí)。除了電網(wǎng)內(nèi)部數(shù)據(jù)外,還存在一些客戶服務(wù)數(shù)據(jù),在這些數(shù)據(jù)中,對(duì)海量的智能配電網(wǎng)絡(luò)進(jìn)行有效地存儲(chǔ)與維護(hù)是其發(fā)展的核心問(wèn)題。以往有的學(xué)者提出了基于多分支樹(shù)結(jié)構(gòu)的驗(yàn)證方案,結(jié)合雙線性映射簽名技術(shù),分析電網(wǎng)智能服務(wù)云端結(jié)構(gòu)特性,利用隨機(jī)掩碼技術(shù),驗(yàn)證數(shù)據(jù)塊的完整性[1]。還有的學(xué)者提出的基于帶權(quán)單鏈表的完整性驗(yàn)證方案,將樹(shù)葉作為一個(gè)節(jié)點(diǎn),通過(guò)引入節(jié)點(diǎn)權(quán)值發(fā)現(xiàn)多次動(dòng)態(tài)操作后,確定異常狀態(tài),并以此為依據(jù)進(jìn)行完整性檢測(cè)[2]。由于電網(wǎng)智能云端服務(wù)系統(tǒng)存在被攻擊風(fēng)險(xiǎn),使用上述這兩種方法不能滿足檢查結(jié)果的可信性要求,為此,提出了電網(wǎng)智能服務(wù)云端海量數(shù)據(jù)完整性輕量級(jí)檢測(cè)方法。
對(duì)于基于輕量級(jí)檢測(cè)模型的風(fēng)險(xiǎn)數(shù)據(jù)分析,需先構(gòu)建輕量級(jí)檢測(cè)模型,該模型由三個(gè)模塊組成,分別是驗(yàn)證服務(wù)模塊、云服務(wù)模塊和第三方驗(yàn)證模塊。其中,驗(yàn)證服務(wù)模塊主要是對(duì)電網(wǎng)云端數(shù)據(jù)的驗(yàn)證,能夠保證數(shù)據(jù)庫(kù)中數(shù)據(jù)的完整性[3]。云服務(wù)模塊以云存儲(chǔ)為主,具有存儲(chǔ)空間大的優(yōu)勢(shì),能夠存儲(chǔ)海量云端數(shù)據(jù),以備檢測(cè);第三方驗(yàn)證模塊主要用于協(xié)助用戶對(duì)數(shù)據(jù)使用的正確性進(jìn)行驗(yàn)證[4]。假定驗(yàn)證服務(wù)模塊是可靠和獨(dú)立的,由此設(shè)計(jì)的輕量級(jí)檢測(cè)模型如圖1 所示。

圖1 輕量級(jí)檢測(cè)模型
基于輕量級(jí)的電網(wǎng)智能服務(wù)云端海量數(shù)據(jù)完整性驗(yàn)證方法支持動(dòng)態(tài)更新,云用戶可以隨時(shí)添加、更新和刪除云中的數(shù)據(jù),即使發(fā)現(xiàn)被攻擊風(fēng)險(xiǎn),可信的第三方還可以在云端確認(rèn)數(shù)據(jù)的完整性[5-6]。基于輕量級(jí)檢測(cè)模型的風(fēng)險(xiǎn)數(shù)據(jù)分析包括以下方面:
1)云端用戶更改數(shù)據(jù)的風(fēng)險(xiǎn)分析
當(dāng)云端用戶更改數(shù)據(jù)時(shí),需及時(shí)更改索引號(hào)和對(duì)應(yīng)的地址,并統(tǒng)計(jì)更新后的文檔信息。如果用戶需要確認(rèn)數(shù)據(jù)是否被完全修改,則需向第三方發(fā)送驗(yàn)證請(qǐng)求[7-9]。
2)云端用戶插入數(shù)據(jù)的風(fēng)險(xiǎn)分析
云端服務(wù)端更新資料庫(kù),并更新云端伺服器的標(biāo)簽資訊[10]。如果云端用戶需要證實(shí)存儲(chǔ)在云端的數(shù)據(jù),經(jīng)過(guò)第三方確認(rèn)后,可直接對(duì)其驗(yàn)證[11]。
3)云端用戶刪除數(shù)據(jù)的風(fēng)險(xiǎn)分析
用戶首先將已刪除的檔案索引編號(hào)及相應(yīng)的位置發(fā)給云端服務(wù)器,當(dāng)接收到一個(gè)刪除請(qǐng)求時(shí),云端將會(huì)移除該索引編號(hào)的相關(guān)資料。為了確認(rèn)云端服務(wù)器的數(shù)據(jù)被刪除,用戶會(huì)將認(rèn)證請(qǐng)求發(fā)送到第三方進(jìn)行數(shù)據(jù)完整性的確認(rèn)[12],而第三方則會(huì)將確認(rèn)的結(jié)果發(fā)送到云端的使用者。
傳統(tǒng)兩種方法雖然支持動(dòng)態(tài)數(shù)據(jù),但受到用戶修改存儲(chǔ)在云端數(shù)據(jù)風(fēng)險(xiǎn)、用戶插入數(shù)據(jù)風(fēng)險(xiǎn)及用戶刪除云存儲(chǔ)中數(shù)據(jù)風(fēng)險(xiǎn)影響,容易出現(xiàn)密鑰泄露問(wèn)題[13]。為此,設(shè)計(jì)了基于輕量級(jí)的數(shù)據(jù)完整性檢測(cè)流程,如圖2 所示。

圖2 基于輕量級(jí)的數(shù)據(jù)完整性檢測(cè)流程
在輕量級(jí)檢測(cè)階段,其主要工作包括準(zhǔn)備階段、完整性驗(yàn)證階段,詳細(xì)內(nèi)容如下所示。
在基于輕量級(jí)的數(shù)據(jù)完整性檢測(cè)過(guò)程中,需要不斷向云端發(fā)送消息,這就導(dǎo)致證明方擁有大量的分組數(shù)據(jù),增大了明文分析攻擊風(fēng)險(xiǎn),進(jìn)而密鑰泄露風(fēng)險(xiǎn)也隨之增大[14]。為此,在準(zhǔn)備階段,引入公鑰密碼機(jī)制進(jìn)行公開(kāi)驗(yàn)證。該階段涉及了三種密鑰:主密鑰、輔助密鑰和會(huì)話密鑰[15];會(huì)話密鑰是由密鑰分配中心用于簽署和確認(rèn)信息的一種密鑰,也就是一次簽署的私有和公共密鑰。密鑰分配結(jié)果如圖3所示。

圖3 密鑰分配結(jié)構(gòu)
密鑰分配結(jié)構(gòu)每一個(gè)發(fā)送端都有一個(gè)主密鑰,主密鑰是在密鑰分配中心與發(fā)送端進(jìn)行認(rèn)證的對(duì)稱密鑰(任意兩個(gè)發(fā)送端的主密鑰不同)。在控制區(qū)中共用了一個(gè)輔助密鑰,輔助密鑰是在控制領(lǐng)域中使用的對(duì)稱密鑰[16]。每個(gè)發(fā)送方都有自身的會(huì)話密鑰(任何兩個(gè)發(fā)送方的私人鑰匙),每個(gè)發(fā)送方的主密鑰與其各自會(huì)話密鑰的私有密鑰相同,并且任意兩個(gè)發(fā)送方擁有不同的專用密鑰。每個(gè)發(fā)送方擁有所有發(fā)送方的會(huì)話密鑰的公共密鑰,用于檢查其他發(fā)送方的一次簽名。
完整性檢測(cè)階段流程如下所示:
步驟一:當(dāng)云端用戶要求上傳文檔時(shí),云端會(huì)對(duì)文檔進(jìn)行處理,并將其劃分為若干個(gè)子模塊,調(diào)用私鑰,生成帶有基本塊標(biāo)簽的文件子塊。
步驟二:標(biāo)記步驟一得到的文件子塊,標(biāo)簽信息為:
式中,mi表示分塊后的文件塊;M表示密鑰參數(shù),其計(jì)算公式為:
式中,α、β表示兩個(gè)參數(shù)長(zhǎng)度相同,但不相等的素?cái)?shù)。
將上述計(jì)算的結(jié)果存在云端服務(wù)器中。
步驟三:構(gòu)造風(fēng)險(xiǎn)數(shù)據(jù)集合,用戶可將本地?cái)?shù)據(jù)完整性檢測(cè)外包給第三方,以此降低存儲(chǔ)負(fù)擔(dān)。第三方代理驗(yàn)證數(shù)據(jù)可信后,將其發(fā)送給云計(jì)算供應(yīng)商,信任的第三方需要先發(fā)送一個(gè)文件標(biāo)記,然后使用用戶的公共密鑰對(duì)其進(jìn)行認(rèn)證。可信第三方隨機(jī)選擇有j個(gè)元素的集合[1,n]的子集?={ι1≤…≤ιj},假定ι1≤…≤ιj。對(duì)于每個(gè)i∈?,可信第三方選擇一個(gè)隨機(jī)數(shù),構(gòu)造風(fēng)險(xiǎn)數(shù)據(jù)集合,將其發(fā)送給云服務(wù)供應(yīng)商。關(guān)于風(fēng)險(xiǎn)數(shù)據(jù)集合的意義:有j個(gè)元素的集合{i}即表示想要風(fēng)險(xiǎn)數(shù)據(jù)集合的j個(gè)文件塊的位置索引,隨機(jī)數(shù)集合{ri}供云服務(wù)供應(yīng)商生成驗(yàn)證信息。
步驟四:在收到風(fēng)險(xiǎn)數(shù)據(jù)集合后,需計(jì)算發(fā)送信息和驗(yàn)證信息簽名,公式為:
式中,?i表示第i個(gè)文件塊對(duì)應(yīng)的簽名。
步驟五:數(shù)據(jù)完整性輕量級(jí)檢測(cè)流程。
用戶A 將文檔信息上傳到云端B,與此同時(shí),觸發(fā)第三方C 向云端B 發(fā)送數(shù)據(jù)完整性檢查請(qǐng)求。云端B 生成完整性證據(jù)后,觸發(fā)第三方C 開(kāi)始進(jìn)行完整性驗(yàn)證。待驗(yàn)證完成后,生成完整性檢查報(bào)告,并反饋給云端B。從A 向云端B 發(fā)送待檢測(cè)的文件中,選取某個(gè)文件塊,計(jì)算檢測(cè)信息:
式中,λr表示隨機(jī)數(shù);n表示分塊參數(shù)。
將式(5)的計(jì)算結(jié)果發(fā)送給第三方,當(dāng)?shù)谌绞盏綉?yīng)答信息后,將其與所設(shè)置的閾值進(jìn)行對(duì)比,若計(jì)算結(jié)果不一致,則說(shuō)明電網(wǎng)智能服務(wù)云端海量數(shù)據(jù)不完整。
在計(jì)算機(jī)上編寫(xiě)測(cè)試內(nèi)容,CPU 的主要結(jié)構(gòu)是CPUi54670T,內(nèi)存為10 GB,在Win7 操作系統(tǒng)下,使用C++語(yǔ)言進(jìn)行了測(cè)試。測(cè)試不同組參數(shù),每組參數(shù)測(cè)試10 000 次,由于實(shí)際工程中報(bào)文不會(huì)超過(guò)200 B,最大不會(huì)超過(guò)700 B。數(shù)據(jù)完整性檢測(cè)界面如圖4 所示。

圖4 數(shù)據(jù)完整性檢測(cè)界面
該檢測(cè)項(xiàng)目包括六個(gè)項(xiàng)目,分別是①操作人員忘記錄入報(bào)警發(fā)生的理由;②輸入數(shù)字不正確;③測(cè)試數(shù)據(jù)覆蓋;④維護(hù)人員修改報(bào)警響應(yīng)時(shí)間;⑤操作人員改變了趨勢(shì)圖的量程;⑥操作人員故意輸入一個(gè)好的結(jié)果值。
將數(shù)據(jù)結(jié)果分為正常和存在被攻擊風(fēng)險(xiǎn)兩種情況,在這兩種情況下分別使用基于多分支樹(shù)結(jié)構(gòu)的驗(yàn)證方案、基于帶權(quán)單鏈表的完整性驗(yàn)證方案和基于輕量級(jí)的數(shù)據(jù)完整性檢測(cè)方案,對(duì)比數(shù)據(jù)分析準(zhǔn)確性。
3.2.1 正常情況
正常情況下,三種方法數(shù)據(jù)分析準(zhǔn)確性對(duì)比結(jié)果如圖5 所示。

圖5 正常情況下三種方法數(shù)據(jù)分析準(zhǔn)確性對(duì)比
由圖5 可知,三種方法對(duì)于這六個(gè)項(xiàng)目的檢測(cè)結(jié)果均超過(guò)60.00%。其中基于帶權(quán)單鏈表的完整性驗(yàn)證方案相對(duì)于其余兩種方案來(lái)說(shuō),數(shù)據(jù)準(zhǔn)確性較低。而使用基于輕量級(jí)的數(shù)據(jù)完整性檢測(cè)方案數(shù)據(jù)準(zhǔn)確性較高,最高值為99.80%。
3.2.2 存在被攻擊風(fēng)險(xiǎn)情況
三種方法在存在被攻擊風(fēng)險(xiǎn)情況下,數(shù)據(jù)分析準(zhǔn)確性對(duì)比結(jié)果如圖6 所示。

圖6 存在被攻擊風(fēng)險(xiǎn)情況下三種方法數(shù)據(jù)分析準(zhǔn)確性對(duì)比
由圖6 可知,使用基于多分支樹(shù)結(jié)構(gòu)的驗(yàn)證方案,最高數(shù)據(jù)準(zhǔn)確性分析結(jié)果為55.00%,最低為39.50%;使用基于帶權(quán)單鏈表的完整性驗(yàn)證方案,最高數(shù)據(jù)準(zhǔn)確性分析結(jié)果為31.00%,最低為18.00%;使用基于輕量級(jí)的數(shù)據(jù)完整性檢測(cè)方案,最高數(shù)據(jù)準(zhǔn)確性分析結(jié)果為91.00%,最低為82.00%。
當(dāng)前,智能電網(wǎng)采集大量的信息,以反映電力系統(tǒng)的運(yùn)行和發(fā)展,并對(duì)其進(jìn)行實(shí)時(shí)處理,具有十分重要的意義。電網(wǎng)智能化業(yè)務(wù)云海量數(shù)據(jù)完整性輕量化檢測(cè)技術(shù)是一種在云環(huán)境下有效的檢測(cè)機(jī)制,在繼承原有算法的基礎(chǔ)上,實(shí)現(xiàn)了對(duì)開(kāi)放認(rèn)證的功能。未來(lái)的研究方向是可控?cái)?shù)據(jù)的完整性檢驗(yàn),也就是由用戶來(lái)控制第三方的數(shù)據(jù)完整性檢驗(yàn)。