陳 青,邢曉溪
隨著電力系統(tǒng)信息化和計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的快速發(fā)展[1],越來(lái)越多的電力企業(yè)采用了自動(dòng)化辦公的方式。該方式為電子文檔在電力系統(tǒng)中傳輸帶來(lái)方便的同時(shí),也引發(fā)了嚴(yán)重的安全問(wèn)題。一旦電子文檔被非法盜取或惡意篡改,不但會(huì)造成機(jī)密外泄,而且會(huì)降低傳閱雙方的信任度。
數(shù)字水印技術(shù)作為解決多媒體信息安全的有效方式可以被應(yīng)用于電力系統(tǒng)中。文獻(xiàn)[2]提出文本水印技術(shù)可以隱藏電力信息,提高重要信息傳輸?shù)陌踩?,但是并沒(méi)有把理論與實(shí)際相結(jié)合,將提出具體的算法運(yùn)用到此方面。數(shù)字圖像水印技術(shù)可以被利用到電力圖像的安全保護(hù)中,防止其被盜用和惡意修改[3];但是嵌入水印信息后,會(huì)在一定程度上導(dǎo)致圖像產(chǎn)生降質(zhì)。圖像[4~6]和視頻水印技術(shù)[7]均可以將電量信息隱藏,提高其在傳輸過(guò)程中的安全性,但并不適用于文本文檔的傳輸保護(hù)。文本文檔作為應(yīng)用最廣泛的多媒體產(chǎn)品之一,目前還沒(méi)有針對(duì)文本數(shù)字水印技術(shù)在電力系統(tǒng)中的應(yīng)用研究。
本文首次提出一種適用于電力系統(tǒng)重要信息隱藏且透明性高、容量大的基于改變字符下劃線顏色嵌入水印信息的算法。本文分析了文本水印技術(shù)在電力系統(tǒng)中的應(yīng)用領(lǐng)域。將提出的算法應(yīng)用于電力設(shè)備重要信息隱蔽通信,提高信息傳輸?shù)陌踩?。?duì)提出的算法進(jìn)行了仿真和攻擊實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)果表明,該算法透明性高,具有一定的魯棒性,有助于提高電力系統(tǒng)運(yùn)行過(guò)程中文檔隱蔽通信的安全性。
數(shù)字水印技術(shù)可以通過(guò)嵌入水印信息達(dá)到隱蔽通信、版權(quán)保護(hù)等目的,從而解決多媒體作品在網(wǎng)絡(luò)傳播中遭受的安全問(wèn)題。文本數(shù)字水印算法[8~10]通常結(jié)合HVS (人類視覺(jué)系統(tǒng)),通過(guò)輕微改動(dòng)文本文檔的行間距、字符間距或字符特征等,從而嵌入水印信息,使人無(wú)法察覺(jué)到文檔的改變。文本水印算法也可以基于自然語(yǔ)言嵌入水印信息,主要通過(guò)利用同義詞替換、增刪不必要的字符或改變句法從而嵌入水印信息。
電力系統(tǒng)中,電廠、調(diào)度中心、變電站等平臺(tái)時(shí)刻都在進(jìn)行重要信息的交流,保護(hù)這些重要信息十分重要。數(shù)字水印技術(shù)可以作為解決信息安全問(wèn)題的有效手段應(yīng)用于電力系統(tǒng)信息保護(hù)中。
(1)隱蔽通信。電力系統(tǒng)中的一些重要文檔資料在傳輸?shù)倪^(guò)程中需要被保護(hù),如電力設(shè)備的重要信息、電量的交易信息等。為了避免被對(duì)手獲取這些重要的信息,可以通過(guò)文本水印技術(shù)將這些重要信息嵌入到數(shù)字產(chǎn)品中,并且結(jié)合密碼學(xué),使用密鑰對(duì)文本加密;待文檔被合法的用戶獲得后,可以通過(guò)密鑰和正確的水印提取算法得到這些重要信息。
(2)內(nèi)容認(rèn)證。判斷電力系統(tǒng)中傳輸?shù)臄?shù)據(jù)是否遭受過(guò)篡改,對(duì)分析數(shù)據(jù)的可信度起到?jīng)Q定性作用。為了防止數(shù)據(jù)被修改,可以嵌入易損水印,幫助版權(quán)所有人和合法使用者更好地發(fā)現(xiàn)改動(dòng)痕跡,提高得到的數(shù)據(jù)的可信度,更好地建立彼此的信任度。
(3)版權(quán)保護(hù)。電力系統(tǒng)各單位的重要文件、內(nèi)部網(wǎng)站公開的電子文檔資料以及需要與外部單位傳輸交流的文件都是非常重要的,不能被非法盜用或惡意篡改。為了防止文件被誤用或者惡意盜用,對(duì)文件進(jìn)行版權(quán)保護(hù)是非常重要的,通常選擇魯棒性強(qiáng)的水印算法,抵抗文檔可能遭受的各種攻擊。
本文利用文本水印技術(shù)將電力設(shè)備重要信息隱藏,為提高其傳輸?shù)陌踩裕岢鲆环N基于改變文字下劃線顏色嵌入水印信息的算法。該算法具備透明性高、容量大的特點(diǎn)。通常,Word 文本文檔中,字體的下劃線被設(shè)為“無(wú)”;所以,可以利用改變字符下劃線RGB 分量[11]的值嵌入水印信息。根據(jù)HVS,RGB 分量的值在一定范圍內(nèi)變化時(shí),肉眼無(wú)法分辨其變化。因此,可以在文檔中加入白色的隱性下劃線,其RGB 值為(255,255,255),由于人眼對(duì)紅色最敏感,綠色次之,藍(lán)色最弱;所以,改變R 分量的最低位,改變G 分量的低三位,B 分量的低四位完成水印信息的嵌入。
2.1.1 水印信息的預(yù)處理過(guò)程
為了提高水印信息的安全性,在嵌入之前對(duì)其進(jìn)行預(yù)處理,即加密與糾錯(cuò)編碼。為了使水印信息嵌入的位置隨機(jī)化,使用線性同余法。線性同余偽隨機(jī)序列[12]是常用的服從均勻分布的偽隨機(jī)序列。其迭代公式為:
式中:m 是最接近文檔字符數(shù)的素?cái)?shù);a 為m 一個(gè)原根,c∈[0,m]。
步驟1:將水印信息轉(zhuǎn)化成二進(jìn)制序列
式中:W 為水印信息;wi∈{0,1},1≤i≤n。
步驟2:將密鑰K 轉(zhuǎn)化成二進(jìn)制序列
式中:K 為密鑰;ki∈{0,1},1 <i <m。
步驟3:對(duì)水印序列與密鑰進(jìn)行循環(huán)取模,加密后的二進(jìn)制序列為
式中:l=max {m,n};
步驟4:根據(jù)(7,4)漢明編碼,添加監(jiān)督碼,生成新的二進(jìn)制序列
式中:t=7l/4;hi∈{0,1},1≤i≤t。
2.1.2 水印的嵌入
步驟1:文件初始化,將下劃線均設(shè)置為“無(wú)”。
步驟2:遍歷文檔,統(tǒng)計(jì)文檔字符數(shù),判斷預(yù)嵌入空間是否足夠。
步驟3:根據(jù)嵌入次數(shù)順序選取每個(gè)字符,分別嵌入預(yù)處理后的水印序列,每次嵌入結(jié)束后,嵌入間隔標(biāo)識(shí)s,修改當(dāng)前字符下劃線顏色RGB值為(255,252,255),下一個(gè)字符下劃線顏色RGB 值為(255,255,252)。
當(dāng)H 值為“0”時(shí),修改當(dāng)前字符下劃線顏色RGB 值為(255,255,254),下一個(gè)字符的下劃線顏色RGB 值為(255,254,255)。
當(dāng)H 值為“1”時(shí),修改當(dāng)前字符下劃線顏色RGB 值為(255,255,253),下一個(gè)字符的下劃線RGB 值為(255,253,255)。
步驟4:若空間足夠嵌入一個(gè)完成的水印信息,則繼續(xù)執(zhí)行步驟2 到步驟4;否則,嵌入完成,保存文檔。
水印信息的提取過(guò)程為嵌入過(guò)程的逆操作。
步驟1:輸入密鑰,轉(zhuǎn)化成二進(jìn)制序列。
步驟2:遍歷文檔,找出字符下劃線顏色變化的位置,根據(jù)嵌入規(guī)則,提取“0”,“1”。
步驟3:根據(jù)糾錯(cuò)碼,進(jìn)行糾錯(cuò),得到二進(jìn)制序列M。
步驟4:將M 與密鑰循環(huán)取模,得到解密后的二進(jìn)制序列,將其轉(zhuǎn)換為水印信息,完成提取,獲得嵌入的水印信息。
算法的透明性分析:算法充分考慮了人類視覺(jué)系統(tǒng),在肉眼不可分辨的閾值內(nèi)改變字符下劃線顏色RGB 值完成水印信息的嵌入,且不改變文檔內(nèi)容。
算法的容量分析:由于該算法是基于改變字符下劃線RGB 值的,一個(gè)字符可以完成一個(gè)字節(jié)的水印信息的嵌入,容量很大。但是,考慮到算法加入了糾錯(cuò)機(jī)制,本文采用 (7,4)漢明編碼,每7 個(gè)碼字包含4 個(gè)信息位,可以糾正1 比特的錯(cuò)誤,平均下來(lái),兩個(gè)字符也可以嵌入一個(gè)字節(jié)的水印信息,足以嵌入隱藏信息。
算法的安全性分析:使用加密算法對(duì)水印信息進(jìn)行加密處理,密鑰空間足夠抵抗窮舉攻擊,可以提高其安全性。
?
本實(shí)驗(yàn)選取3 篇Word 文檔為測(cè)試文檔,每篇文檔均為3 頁(yè),其文字分別為中文、英文、中英混合,嵌入的水印信息均為電力設(shè)備信息“發(fā)電機(jī)編號(hào)AA”。圖1,2 分別為包含中英文混合的原始及加水印文檔。表1 為魯棒性實(shí)驗(yàn)結(jié)果。
圖1 原始文本
圖2 嵌入水印信息后的文檔
(1)透明性檢測(cè)。由圖1 與圖2 對(duì)比可見(jiàn),人眼無(wú)法感知嵌入水印前后文檔間的差異。實(shí)驗(yàn)結(jié)果表明,基于改變字符下劃線顏色嵌入水印信息的算法具有良好的透明性。嵌入水印信息后的文檔與原文檔從視覺(jué)上看不出任何差異。
(2)魯棒性檢測(cè)。實(shí)驗(yàn)采用對(duì)嵌入水印信息后的文檔進(jìn)行不同程度的刪除、移動(dòng)內(nèi)容順序、修改字符屬性等攻擊操作,通過(guò)檢測(cè)被攻擊后的文檔是否可以正確檢測(cè)并提取水印信息判斷算法的魯棒性。
由表1 所示的魯棒性檢測(cè)實(shí)驗(yàn)結(jié)果可知,本文提出的算法對(duì)含有不同文字內(nèi)容的文檔,魯棒性沒(méi)有差異。針對(duì)刪除,移動(dòng)內(nèi)容順序的攻擊,魯棒性較弱,不能抵抗隨機(jī)篡改內(nèi)容。此算法是基于改變字符下劃線顏色嵌入水印信息的,當(dāng)它受到修改下劃線顏色的攻擊時(shí),無(wú)法正確提取水印信息。本算法針對(duì)其他修改字符屬性的操作,魯棒性強(qiáng),可以完成水印信息的正確檢測(cè)與提取。
本文分析了數(shù)字水印技術(shù)在電力系統(tǒng)運(yùn)行方面的應(yīng)用情況,提出將一種利用改變字符下劃線顏色RGB 值嵌入水印信息的算法并運(yùn)用到電力系統(tǒng)隱蔽通信中。該算法具備透明性高、容量大的特點(diǎn),可以有效保護(hù)嵌入的水印信息;但是,該算法存在魯棒性較弱的缺點(diǎn),需要改進(jìn)并加以完善。隨著算法的改進(jìn),數(shù)字水印技術(shù)將會(huì)在電力系統(tǒng)運(yùn)行過(guò)程中得到更好應(yīng)用。
[1]李文武,王先培,孟波,等.電力行業(yè)信息安全體系結(jié)構(gòu)初探[J].中國(guó)電力,2002,35 (5):76-79.
[2]王先培,游文霞,王泉德,等.?dāng)?shù)字水印技術(shù)在電力系統(tǒng)文檔可信傳輸中的應(yīng)用[J].電力系統(tǒng)自動(dòng)化,2002,26 (18):61-64.
[3]李元誠(chéng),王曉雷.脊波變換數(shù)字水印在電力系統(tǒng)中的應(yīng)用[J].電力信息化,2007,5 (10):120-123.
[4]吳軍基,盛琪,賀濟(jì)峰,等.小波數(shù)字水印在電力系統(tǒng)信息安全中的應(yīng)用[J].電力自動(dòng)化設(shè)備,2004,24(12):40-42.
[5]尹成群,李麗,呂安強(qiáng),等.基于混沌和SVK - DWT的數(shù)字圖像水印算法[J].電力科學(xué)與工程,2008,24(4):54-58.
[6]張興然,趙成勇,魏清.基于小波變換的二維圖像識(shí)別與信號(hào)壓縮[J].電力科學(xué)與工程,2005,(2):34-37.
[7]尹成群,李麗,呂安強(qiáng),等.視頻水印技術(shù)在電力系統(tǒng)中的應(yīng)用[J].繼電器,2007,35 (20):40-42,63.
[8]Brassil J T,Low S,Maxemchuk N F.Copyright protection for the electronic distribution of text documents [J].Proceedings of the IEEE,1999,87 (7):1181-1196.
[9]蔡菲菲,劉洋,尹香蘭.一種基于word 文檔的文本水印技術(shù)研究[J].計(jì)算機(jī)科學(xué),2012,39 (11A):39-41,50.
[10]陳翔.一種基于中文字符編碼的文本水印算法研究[J].計(jì)算機(jī)技術(shù)與發(fā)展,2013,23 (2):237-240.
[11]Wei Xianmin.Sine-wave-based text watermark for WORD document [C].Tian Jin:Computer and Information Application (ICCIA),2010 International Conference on.IEEE,2010.99-102.
[12]Portnoy L,Eskin E,Stolfo S.Intrusion detection with unlabeled data using clustering [C].New York:In Proceedings of ACM CSS Workshop on Data Mining Applied to Security (DMSA-2001)2001:123-130.