潘 敏
(湖北師范學(xué)院 現(xiàn)代信息技術(shù)中心,湖北 黃石 435002 )
基于PCA算法的HTML網(wǎng)頁篡改檢測定位系統(tǒng)
潘 敏
(湖北師范學(xué)院 現(xiàn)代信息技術(shù)中心,湖北 黃石 435002 )
提出了一種網(wǎng)頁篡改檢測定位的方法,該方法首次實現(xiàn)對目標HTML網(wǎng)頁被篡改位置的定位。此方法將原始HTML網(wǎng)頁源代碼的每一列和每一行分別進行PCA數(shù)字水印和ULC嵌入處理,通過對網(wǎng)頁源代碼行與列的計算結(jié)果和抽取出的認證信息進行比較,實現(xiàn)對目標HTML網(wǎng)頁篡改范圍的定位。實驗結(jié)果表明,該方法能檢測網(wǎng)頁篡改并較好地定位出篡改范圍。
網(wǎng)頁篡改;檢測定位;數(shù)字水印;PCA;ULC
互聯(lián)網(wǎng)已經(jīng)成為人們信息獲取和信息交流不可或缺的工具。人們能通過互聯(lián)網(wǎng)發(fā)布自己的作品,傳遞重要信息等。但是,它在給人們帶來便利的同時也暴露出越來越嚴重的安全問題,利用現(xiàn)有的技術(shù),網(wǎng)頁很容易被篡改,單純靠人眼很難判斷出網(wǎng)頁是否被篡改。網(wǎng)頁的真實性認證和篡改檢測及定位變得越來越重要。傳統(tǒng)的基于散列函數(shù)的文件摘要技術(shù)是通過對網(wǎng)頁源文件進行散列計算得出消息認證碼,將消息認證碼追加在預(yù)保護的網(wǎng)頁文件中,通過對預(yù)檢測網(wǎng)頁進行抽取得到消息認證碼,將得到的認證碼與預(yù)檢測網(wǎng)頁生成的消息認證碼進行比對來判斷出網(wǎng)頁是否被篡改。然而在實際應(yīng)用中,這種方法往往會有諸多弊端,例如增加了文件的大小、消息認證碼容易被發(fā)現(xiàn)等。數(shù)字水印技術(shù)是直接將消息認證碼通過在行末加入空格、ULC或改變標記的屬性的位置來嵌入到目標網(wǎng)頁本身中,它不會改變網(wǎng)頁的功能、不增加文件的大小、容易嵌入和抽取。利用數(shù)字水印對網(wǎng)頁的真實性進行認證時,通常是將網(wǎng)頁數(shù)據(jù)的消息認證碼或數(shù)字簽名(稱之為認證信息)直接嵌入在網(wǎng)頁中。
數(shù)字水印解決了在文件加密后增加了文件的大小、消息認證碼容易被發(fā)現(xiàn)的問題,但是現(xiàn)有的基于網(wǎng)頁的數(shù)字水印方案只能實現(xiàn)真實性認證,而無法實現(xiàn)對篡改位置的定位,其原因在于,消息認證碼的獲取算法是逆向的,對預(yù)檢測的網(wǎng)頁中的消息只能判斷是否匹配而無法還原,即無法知道何處被篡改,從而無法定位。
經(jīng)對現(xiàn)有技術(shù)的文獻檢索發(fā)現(xiàn),Lu Hong-tao等2007年在Pattern Recognition(模式識別)期刊第40卷1334-1341頁上發(fā)表的論文PCA-based Webpage Watermarking(基于PCA的網(wǎng)頁數(shù)字水印)中提出了一種基于PCA的網(wǎng)頁數(shù)字水印方案,該方案利用數(shù)字水印技術(shù)可實現(xiàn)對HTML網(wǎng)頁篡改的檢測,其不足在于無法實現(xiàn)對篡改位置的定位。
本文的目的在于針對現(xiàn)有技術(shù)的不足,提出一種HTML網(wǎng)頁篡改檢測與定位方法,使其在對預(yù)檢測的網(wǎng)頁篡改檢測的同時能定位出篡改的位置。這種方法的檢測是盲檢測(即不需要原有的網(wǎng)頁)。由于這種方法不增加網(wǎng)頁文件的大小,不影響網(wǎng)頁文件的功能,同時由于增加了對算法的優(yōu)化,使得數(shù)字水印的嵌入、認證和網(wǎng)頁篡改檢測與定位的運算更為高效,可用于實時的網(wǎng)頁安全系統(tǒng)。本文主要用五個部分來詳細闡述基于PCA數(shù)字水印技術(shù)的網(wǎng)頁篡改檢測定位系統(tǒng):0.引言;1. 原始HTML網(wǎng)頁源代碼的預(yù)處理;2. 認證信息的產(chǎn)生與嵌入;3. 認證信息的提取和篡改檢測及定位4.對網(wǎng)頁篡改檢測定位方案給出更進一步的研究方向。
從HTML網(wǎng)頁源代碼中的一行(或一列)進行字母、數(shù)字、基本符號的數(shù)值抽取分別得到相應(yīng)的一維數(shù)組,然后將產(chǎn)生的一維數(shù)組依次轉(zhuǎn)換成預(yù)處理的二維矩陣。
以前的技術(shù)對于預(yù)嵌入數(shù)字水印的網(wǎng)頁僅僅只提取字母,現(xiàn)在加入對數(shù)字和一些符號的提取,因為在網(wǎng)頁中數(shù)字和符號的信息也是非常的重要。實現(xiàn)的方法如下:將源代碼的每一行中的大寫和小寫的英文字母按在源代碼中的順序提取出來,然后將所有的字母、阿拉伯數(shù)字和一些基本符號轉(zhuǎn)換為數(shù)值,轉(zhuǎn)換規(guī)則為:‘A’和‘a(chǎn)’轉(zhuǎn)換為‘0’,‘B’和‘b’轉(zhuǎn)換為‘1’,‘C’和‘c’轉(zhuǎn)換為‘2’,…,‘Z’和‘z’轉(zhuǎn)換為25,‘0-9’轉(zhuǎn)換為‘26-35’,符號按ASCII碼表的位置排序后轉(zhuǎn)換為自己的序號加上35,這樣可以得到一行數(shù)值范圍為[0, 100]的一維數(shù)組。這些數(shù)值將參與數(shù)字水印的生成,從而實現(xiàn)了對網(wǎng)頁中的字母、數(shù)字、基本符號的全面保護,實現(xiàn)對純英文網(wǎng)頁的全部支持。
需要處理的多個原始方陣Di來源于網(wǎng)頁源代碼中的一行或一列,而不是直接來源于整個源代碼,具體產(chǎn)生方法如下:
對產(chǎn)生的每個二維矩陣分別進行卷積加密,然后利用PCA技術(shù)計算其用于真實性認證的認證碼,將每行和每列的認證碼按照抽取的規(guī)則二位串接起來,得到預(yù)嵌入的網(wǎng)頁真實性認證信息即數(shù)字水印,采用ULC(Upper-lower coding)數(shù)字水印方法中的嵌入過程,逐行將認證信息每二位分組嵌入到原始的HTML網(wǎng)頁源代碼每行中。具體實現(xiàn)步驟如下:
a)通過方陣Di(Di∈FR×R)與密鑰方陣K(K∈FN×N)的卷積得到方陣I.
I=Di?K,I∈F(R+N-1)×(R+N-1)
(1)
(2)
(3)
c)將V進行特征值分解得到特征值λ1,λ2,…,λR+N-1λ和特征向量u1,u2,…,uR+N-1.其中λ1,λ2,…,λR+N-1是按照從大到小的順序排列即λ1≥λ2≥…≥λR+N-1.
V=ULU-1
(4)
d)求出滿足下列不等式的最小x.
(5)
e)得到預(yù)處理的水印Zi,其中Zi是由x個元素組成的一維向量。
(6)
f)將Zi的每個元素依次分別轉(zhuǎn)換成二進制數(shù)再連接起來得到一個二進制水印Wi,則可以得到WDi.
WDi=W1W2W3…WR+N-1
(7)
數(shù)字水印依次按每行嵌入,將預(yù)嵌入數(shù)字水印的標簽依次按兩個分為一組,通過PCA算法得到該分組標簽所在行所對應(yīng)的數(shù)字水印(其中兩個標簽對應(yīng)一個數(shù)字水印單位,當數(shù)字水印的長度不夠時循環(huán)復(fù)制即可),然后得到該分組中第二個標簽所在列所對應(yīng)的數(shù)字水印,將得到的兩個水印依次通過ULC方法嵌入到這組標簽中,對于每行每組標簽都按同樣的方法嵌入數(shù)字水印,最終我們得到嵌入后的網(wǎng)頁,至此整個網(wǎng)頁的數(shù)字水印嵌入完成。認證信息的產(chǎn)生與嵌入過程如下圖1所示。
認證信息的提取和篡改檢測及定位。采用ULC數(shù)字水印方法中的提取和恢復(fù)過程,逐行每二位分組將數(shù)字水印從預(yù)檢測的HTML網(wǎng)頁中提取出來,對提取出來的數(shù)字水印進行認證信息重構(gòu),同時對預(yù)檢測的HTML網(wǎng)頁采用步驟一和步驟二的方法產(chǎn)生認證信息。對提取的認證信息和生成的認證信息中的認證碼進行逐行逐列比較,如果兩個認證碼完全匹配,則表示該認證碼所對應(yīng)的原始網(wǎng)頁單元數(shù)據(jù)沒有被篡改;否則表示該單元的數(shù)據(jù)已被篡改,將認證碼不同的行列一一標示出來,直到所有的認證信息比較完畢。
認證信息的提取和篡改檢測與定位實現(xiàn)過程是:首先對目標網(wǎng)頁中的標簽字母的大小寫進行逐行掃描,如果被掃描的標簽為大寫的話,則得到“1”,否則得到“0”;這樣可以得到一個元素為“1”或者“0”的二維矩陣P,同時將目標網(wǎng)頁采用本方案中的數(shù)字水印生成方法(基于PCA技術(shù)的數(shù)字水印生成方法)產(chǎn)生預(yù)嵌入的數(shù)字水印二維矩陣P'(P'的大小與P是匹配的),將P與P'中的元素(“1”或者“0”)進行比對,如果P'與P相同則表示目標網(wǎng)頁沒有被篡改,否則把在兩者中位置相同而元素的值不同的行列坐標標示出來,那么這些被標示出來的行列的坐標就是目標網(wǎng)頁被篡改的位置。篡改檢測及定位過程如圖2所示:
圖1 認證信息的產(chǎn)生與嵌入過程
圖2 篡改檢測及定位過程
本文在對嵌入數(shù)字水印的網(wǎng)頁定位出篡改范圍這個方面有很大的突破,但是對于達到精確的定位還有些距離,則需要對標簽的嵌入策略的改進進行深入的研究,其中采用對預(yù)嵌入水印的更好編碼顯得非常重要。再者,作為密鑰的簡單的二維矩陣該如何選擇,或者說該矩陣的元素采用哪種策略產(chǎn)生以便適應(yīng)更大范圍的網(wǎng)頁將平均的運算時間和空間降到最低,這方面還需要進一步的思考。最后,如何將源代碼中的中文進行編碼來生成水印以達到對含有中文的HTML進行支持,這點也是下一步所要完善的。
[1]Yang Huijuan, KotA C. Text document authentication by integrating inter character and word spaces watermarking [C] Proceedings of IEEE International Conference on Multimedia and Expo, ICME2004. Taipei China, 2004, 2: 955~958.
[2]Zhao Qijun, Lu Hongtao.PCA-based web page watermarking[J]. Pattern Recognition Society, 2007, 40(4): 1334~1341.
[3]Gong Shaogang,Mckenna Stephen J,Alexand ra Psarrou. Dynamic vision: From Images to Face Recognition[J]. Imperial College Press, 2000, 14(6):619~621.
[4]Brassil J, Low S, Maxemchuk N F. Copyright protection for the electronic distribution of text documents[J].Proceedings of the IEEE, 1999, 87(7): 1181~1196.
[5]李慶城,李璦琿.網(wǎng)絡(luò)出版中版權(quán)保護技術(shù)-文本水印的研究[J].計算機工程與應(yīng)用, 2004,(18):163~211.
WebpagepositioningtampereddetectionandlocationsystembasedonPCAdigitalwatermarking
PAN Min
(Modern Information Technology Center,Hubei Normal University,Huangshi 435002,China)
In this paper,a method of detecting and locating a tampered web is proposed, this method realize for the first time the location of the target HTML page tampered. PCA digital watermarking and ULC embedding are separately executed for each column and each row of the original HTML page source code , by comparing the calculation results of web page source code row and column with extracted authentication information, to locate the range of the target HTML page tampered. Experiments show, tampered web is detected and the range of tampered web is located well in this method.
website tampered; detection location; digital watermark; PCA ; ULC
2014—03—10
湖北省教育廳人文社科項目(2012G140)
潘敏(1984— ),男,湖北荊門人,助理實驗師,研究生,主要研究方向為信息安全、數(shù)字水印.
TP309.7
A
1009-2714(2014)04- 0021- 04
10.3969/j.issn.1009-2714.2014.04.005