單 超,鄒云峰,劉云鵬,于鵬飛
(1.國網(wǎng)江蘇省電力有限公司營銷服務中心,江蘇 南京 210019;2.國網(wǎng)智能電網(wǎng)研究院有限公司,江蘇 南京 210037)
隨著信息技術的不斷發(fā)展,海量數(shù)據(jù)的利用價值逐漸明顯[1-3]。電網(wǎng)企業(yè)在運營過程中逐漸積累了海量的數(shù)據(jù)[4]。這些數(shù)據(jù)的存在能夠幫助電網(wǎng)企業(yè)不斷優(yōu)化自身運營水平,并反映當前電網(wǎng)運行情況。因此,向其他領域共享電力數(shù)據(jù)能夠幫助電力企業(yè)進行資源調整[5-6]。但在電力數(shù)據(jù)共享過程中,如何安全、不丟失地傳輸數(shù)據(jù)是現(xiàn)階段需要研究的問題。目前,較多學者針對數(shù)據(jù)傳輸過程中的抗攻擊能力進行了研究。陳晉音等[7]研究了深度學習人臉識別系統(tǒng)的對抗攻擊算法,但該算法的水印篡改率相對較高。周文等[8]研究了面向低維工控網(wǎng)數(shù)據(jù)集的對抗樣本攻擊算法,但該算法在遭到縮放攻擊時的攻擊檢測概率較低。數(shù)字水印是現(xiàn)階段已逐漸應用于各領域的產品版權保護技術。該技術能夠有效保護產品的數(shù)字形式,通過標識產品的認證信息以及保護信息等形式,保護數(shù)據(jù)免受網(wǎng)絡攻擊。
基于數(shù)字水印技術的優(yōu)勢,本文研究了1種電力數(shù)據(jù)共享抗合謀攻擊算法。該算法通過嵌入與抽取數(shù)字水印保障電力數(shù)據(jù)共享過程中的安全性,并通過抗合謀攻擊的聚集協(xié)議確保電力數(shù)據(jù)共享時的抗合謀攻擊能力,從而提高電力數(shù)據(jù)分享的安全性。
基于自適應技術的盲數(shù)字水印算法能夠通過自適應技術對嵌入強度進行調整,使其具備更高的穩(wěn)定性。因此,本文利用該算法實現(xiàn)電力數(shù)據(jù)的水印嵌入。
1.1.1 嵌入算法
為實現(xiàn)自適應盲數(shù)字水印算法的嵌入,本文設計的水印嵌入算法邏輯如圖1所示。
圖1 水印嵌入算法邏輯框圖
圖1中,在離散余弦變換(discrete cosine transform,DCT)域內,通過自適應技術實現(xiàn)數(shù)字水印嵌入數(shù)據(jù)在抵御攻擊時的穩(wěn)健性存在一定的差異。因此,原始數(shù)據(jù)、DCT后包含數(shù)字水印的數(shù)據(jù)分別為X、X′。
水印算法實現(xiàn)步驟如下。
①數(shù)據(jù)特性與可感知度分析。水印算法將原始數(shù)據(jù)劃分為8×8大小的塊狀,并通過DCT進行調整。調整后,水印算法對每塊進行數(shù)據(jù)特征與可感知度分析。數(shù)據(jù)特性分析是為了找到頻率系數(shù)r2,r3,...,rf。該系數(shù)通常作為載體被嵌入水印。其中,f∈(1,64)。由于在分布系數(shù)(distribution coefficient,DC)中進行調整時數(shù)據(jù)質量會下降,故水印透明性較差。為使嵌入水印的透明性與強度效果能夠更加匹配,本文選取自適應技術對數(shù)字水印算法的強度與透明性功能進行調整[9]。同時,通過可感知度分析方法,可以得到嵌入數(shù)字水印的電力數(shù)據(jù)的最小可覺察誤差(just noticeable difference,JND)值。JND值為單個載體系數(shù)能夠承受的修改數(shù)據(jù)質量的最大修改值。通過JND值能夠修改嵌入的強度。為簡便表達,本文設JND值為J、數(shù)據(jù)塊為bm、bm塊中r頻率系數(shù)值為Xbm,r、Xbm,r系數(shù)中獲取的JND值為Jbm,r。
Jbm,r≈max[Cbm,r|Ebm,r]
(1)
式中:Cbm,r為對比度隱藏的可感知閾值。
通過式(2)對Cbm,r進行計算:
(2)
計算Cbm,r相鄰8個系數(shù)后獲取的熵值為Ebm,r,且Ebm,r可近似為:
Ebm,r≈Xbm,r-ubm,rqr
(3)
式中:qr為頻率系數(shù)r內相應量化矩陣內的系數(shù)。
(4)
式中:Round()通常為取整函數(shù)。
②選擇策略。本文采取選擇策略搜尋最佳系數(shù),并進行數(shù)字水印嵌入。通過選擇策略挑選系數(shù)值近似相等或完全相等的系數(shù)對。已選出的系數(shù)對需滿足∑[rbm,i,rbn,j]=[Xbm,ri,Xbn,rj(…),….]及Xbm,ri=Xbn,rj或Xbm,ri≈Xbn,rj這2個條件,且在某系數(shù)對集合中只能出現(xiàn)1次該系數(shù)對中的某個系數(shù)值。
③編碼函數(shù)θ。本文通過Zigzag排列初始數(shù)字水印順序,獲取二值數(shù)字水印序列W1={a1,a2,a3},并通過編碼函數(shù)θ編碼該序列。θ(i)∈{↑,↓}。若0的位置與函數(shù)θ內的↑位置相對應,1的位置與函數(shù)θ內↓的位置相對應,則通過函數(shù)θ能夠完成二值序列{01101…}向符號序列{↑↓↓↑↓…}的轉換。轉換后,通過式(5)可實現(xiàn)水印嵌入。
(5)
式中:i和j為頻率系數(shù)的編號。
1.1.2 抽取算法
水印抽取算法的實質是水印嵌入算法的逆過程。通過以下步驟可實現(xiàn)電力數(shù)據(jù)數(shù)字水印的抽取。
① 從已加密的存儲文檔內抽取已嵌入水印的頻率系數(shù)對∑{rbm,i,rbn,j}和編碼函數(shù)θ;通過分塊形式處理已嵌入水印的數(shù)據(jù)[10],采用DCT調整分塊數(shù)據(jù);通過θ確定水印數(shù)值,并采用式(6)抽取數(shù)字水印:
(6)
②計算已抽取水印的歸一化相關系數(shù)(normalized correlation,NC)值。若NC值小于0.75,則水印認定為無效;若大于等于0.75,則水印視為有效。
為提升數(shù)字水印電力數(shù)據(jù)的抗合謀攻擊能力,本文設計了1種數(shù)據(jù)量化測量模型。模型具體實現(xiàn)過程如下。
①設能夠保障水印數(shù)據(jù)的抗攻擊能力聚集協(xié)議為f、已添加水印的數(shù)據(jù)為n。n存儲在共享節(jié)點vi中。若最少可通過k個節(jié)點的合謀才能采集ni,那么節(jié)點vi中添加的水印數(shù)據(jù)ni具有抗攻擊性能,協(xié)議f內節(jié)點vi的抗合謀攻擊能力為R(vi)=k。
②{v1,v2,…,vN}為包含水印數(shù)據(jù)節(jié)點的集合。R(f)為協(xié)議f的抗合謀攻擊能力,具體為:
(7)
需要注意的是:步驟①表示當出現(xiàn)合謀攻擊時,每個包含水印的共享數(shù)據(jù)的安全狀態(tài);步驟②表示保護數(shù)字水印數(shù)據(jù)聚集協(xié)議抗合謀攻擊能力的正常狀態(tài)[11]。
發(fā)送者與接收者的抗合謀攻擊能力均會因擾動數(shù)據(jù)的出現(xiàn)而得到提升。因此,本文考慮1.2節(jié)獲取的數(shù)字水印數(shù)據(jù)抗合謀攻擊能力R(f),構建抗合謀攻擊的Smart數(shù)據(jù)聚集協(xié)議,并通過該協(xié)議實現(xiàn)電力數(shù)據(jù)的抗合謀攻擊。每2個節(jié)點之間能夠生成具備共享能力的密鑰。通過該密鑰可以保障電力數(shù)據(jù)共享過程中數(shù)據(jù)傳輸?shù)陌踩浴R罁?jù)電力數(shù)據(jù)共享需求,本文設從全部節(jié)點協(xié)商出的節(jié)點抗合謀攻擊能力R(f)的下限為L,則協(xié)議完成后需保證L的值小于每個節(jié)點的抗合謀攻擊能力。其具體步驟如下。
①發(fā)起查詢。設節(jié)點的私有數(shù)據(jù)為s0,且s0=0。向
②擾動階段。設初始加密節(jié)點Ri=φ、si=ni。當獲取
試驗將本文算法應用至某電力系統(tǒng)中,并選取文獻[7]算法和文獻[8]算法進行對比,以測試不同算法應用下系統(tǒng)內的電力數(shù)據(jù)共享抗合謀攻擊能力。
本文分析每種算法在不同抽取數(shù)據(jù)比例情況下數(shù)據(jù)中的水印完整性,得到如圖2所示的不同算法水印完整性對比結果。
圖2 不同算法水印完整性對比結果
由圖2可知:當隨機抽取數(shù)據(jù)比例為5%時,3種數(shù)據(jù)的水印完整性均在50%以下;當數(shù)據(jù)抽取比例為45%時,3種算法的平均水印完整性達到最高點。文獻[7]、文獻[8]算法的平均水印完整性分別為58%、44%,而本文算法的平均水印完整性最高為89%。本文算法在任何數(shù)據(jù)抽取比例下均能夠保持最高的平均水印完整性。因此,本文算法所嵌入的數(shù)字水印更加完整。
本文分析在添加1%與3%椒鹽噪聲情況下不同算法的水印篡改率。不同算法水印篡改率分析結果如圖3所示。
圖3 不同算法水印篡改率分析結果
由圖3可知,當存在1%椒鹽噪聲時,與另外2種算法相比,本文算法的水印篡改率始終最低。當存在3%椒鹽噪聲時,另外2種算法受到噪聲影響。文獻[7]算法篡改率波動幅度最高。文獻[8]算法波動幅度居中。本文算法未受到椒鹽噪聲含量的影響,其水印篡改率始終保持最低的狀態(tài)。由此可知,本文算法所嵌入的水印較不容易被篡改。
本文分析本文算法在遭到數(shù)據(jù)裁剪、數(shù)據(jù)增點、隨機刪點攻擊時的攻擊檢測概率。不同攻擊檢測概率分析結果如圖4所示。
圖4 不同攻擊檢測概率分析結果
由圖4可知,當數(shù)據(jù)遭到不同方式攻擊時,數(shù)據(jù)壓縮比逐漸增加。這會使攻擊檢測概率逐漸下降。在3種攻擊方式中:數(shù)據(jù)裁剪最低檢測概率為93%;數(shù)據(jù)增點最低檢測概率為89%;隨機刪點最低檢測概率為84%。但經(jīng)過3種攻擊算法攻擊后,本文算法始終能夠維持80%以上的檢測概率。因此,本文算法能夠有效實現(xiàn)攻擊檢測。
本文分析數(shù)據(jù)遭到放縮攻擊后不同放縮比例下每種算法的攻擊檢測概率。不同放縮比例下攻擊檢測概率分析結果如圖5所示。
圖5 不同放縮比例下攻擊檢測概率分析結果
由圖5可知,當數(shù)據(jù)遭到放縮攻擊時,3種算法的攻擊檢測概率均會逐漸改變。其中:文獻[8]算法的攻擊檢測概率從75%下降至74%;本文算法與文獻[7]算法的攻擊檢測概率均未隨著放縮比例的變化發(fā)生較大改變,但文獻[7]算法的攻擊檢測概率始終低于本文算法。由此可知,本文算法在放縮攻擊下依然能保持較高的檢測概率。
本文在數(shù)字水印技術的支持下,研究了電力數(shù)據(jù)共享抗合謀攻擊算法。本文通過數(shù)字水印嵌入與抽取算法實現(xiàn)電力數(shù)據(jù)的加密,通過抗合謀攻擊的Smart聚集協(xié)議,實現(xiàn)已嵌入數(shù)字水印電力數(shù)據(jù)的抗合謀攻擊。通過試驗驗證,該算法的抗攻擊性能明顯高于其他算法,能夠有效實現(xiàn)電力數(shù)據(jù)共享的抗合謀攻擊。后續(xù)研究可依據(jù)現(xiàn)有的數(shù)字水印設計基礎,構建更加完善、安全的數(shù)據(jù)共享抗合謀攻擊算法,從而更加有效地保證電力數(shù)據(jù)在共享過程中的安全性。