優(yōu)惠活動 - 10周年慶本月新客福利
優(yōu)惠活動 - 10周年慶本月新客福利
優(yōu)惠活動 - 10周年慶本月新客福利

新聞動態(tài)基于空樣式的網(wǎng)頁水印方法


隨著信息技術(shù)和互聯(lián)網(wǎng)的普及發(fā)展, 網(wǎng)站和網(wǎng)頁得到了廣泛應用, 它給政府部門和企事業(yè)單位的生產(chǎn)、經(jīng)營、管理以及人們的工作和生活帶來極大的便利。與此同時, 網(wǎng)頁的非法復制、網(wǎng)頁的仿冒現(xiàn)象也日益嚴重, 是一個亟待解決的問題。網(wǎng)頁水印是近年來出現(xiàn)的網(wǎng)頁保護的一項技術(shù), 它通過某種方式在網(wǎng)頁中嵌入版權(quán)標識信息或身份認證信息 (水印) , 當發(fā)現(xiàn)網(wǎng)頁遭到非法復制或仿冒時, 可以提取這些信息來證明網(wǎng)頁的版權(quán)歸屬, 鑒別網(wǎng)頁的真?zhèn)? 從而確認非法復制和仿冒行為。除此之外, 網(wǎng)頁水印技術(shù)還可用于網(wǎng)頁防篡改、在網(wǎng)頁中隱藏和傳遞秘密信息等方面。
與傳統(tǒng)的圖像、視頻和音頻水印技術(shù)的研究相比, 網(wǎng)頁水印技術(shù)的研究目前還很少。網(wǎng)頁的構(gòu)造與圖像、音頻文件不同, 常用的圖像和音頻水印技術(shù)不適用于網(wǎng)頁水印。表示網(wǎng)頁的HTML代碼結(jié)構(gòu)簡單、冗余度少, 在網(wǎng)頁中嵌入水印難度較大。現(xiàn)有的網(wǎng)頁水印嵌入方法主要是基于HTML語言對于一些信息的改變不敏感的原理, 通過改變這些不敏感的信息來實現(xiàn)水印信息的嵌入。比如, 通過改變標簽名和屬性名的大小寫實現(xiàn)水印信息的嵌入, 通過改變空格的個數(shù)實現(xiàn)水印信息的嵌入,通過定義不存在的標簽實現(xiàn)水印信息的嵌入,以及使用不同的代碼格式實現(xiàn)水印信息的嵌入等。
以上這些網(wǎng)頁水印的嵌入方法存在明顯的不足。改變大小寫或改變空格數(shù)的方法會使得HTML代碼的大小寫或空格數(shù)不斷變換, 很容易被識別, 水印的隱蔽性不好, 抗檢測能力很弱, 只要用一個簡單的過濾系統(tǒng)將HTML代碼中所有字母改成小寫或所有空格數(shù)改為一個, 便能輕松去除水印。對于使用不存在的標簽的方法, 由于HTML代碼中的標簽是固定的, 定義不存在的標簽很容易被識別, 隱蔽性和抗攻擊能力也不強。最后一種方法雖然隱藏性好一些, 但是代碼嵌入點很少, 水印信息容量小。
針對上述問題, 本文提出一種基于空樣式的網(wǎng)頁水印的嵌入方法, 將水印信息轉(zhuǎn)換為HTML代碼中的樣式, 嵌入到網(wǎng)頁的HTML代碼中, 該水印具有很好的隱蔽性和抗攻擊性。
1、樣式與空樣式
網(wǎng)頁是一種存儲在Web服務器上, 通過網(wǎng)絡進行傳輸, 被瀏覽器解析和顯示的文檔類型, 其內(nèi)容由HTML語言構(gòu)成。
網(wǎng)頁的樣式是指使得網(wǎng)頁頁面顯示達到一定效果的輔助代碼或文件, 它可以改變網(wǎng)頁中元素的外觀, 如改變按鈕的顏色、表格的大小等。網(wǎng)頁的樣式一般會用層疊樣式表CSS進行封裝, 將一系列樣式封裝在一起并存儲在CSS文件中, HTML使用樣式名調(diào)用封裝的樣式, 以顯示樣式所定義的外觀。
樣式通常由樣式名和表示樣式內(nèi)容的定義構(gòu)成。如果一個樣式只有樣式名, 沒有內(nèi)容定義, 則可將其稱為空樣式。根據(jù)CSS規(guī)范, HTML中的元素不會匹配錯誤的或者不存在的樣式名, 因此上述調(diào)用不會進行任何操作。同時, 上述調(diào)用不違反HTML的語法規(guī)范, 對網(wǎng)頁的運行不會產(chǎn)生任何影響。本方法利用HTML的這種特性, 將水印信息轉(zhuǎn)換為自定義的空樣式嵌入到HT-ML代碼中, 實現(xiàn)水印的嵌入與提取。
2、水印信息預處理
水印信息通常為一組帶有版權(quán)、歸屬權(quán)等信息的字符串, 由英文、中文或其他字符組成。為了便于水印信息的嵌入, 需要把水印字符串轉(zhuǎn)換成一定形式的編碼, 如常用的ASCII編碼。ASCII碼對于嵌入英文水印信息比較方便, 為了便于嵌入中文和其他字符, 使方法更具通用性, 本文采用UNICODE編碼。UNICODE編碼把包括中文、英文在內(nèi)的各種語言和符號用4位十六進制數(shù)表示。
3、空樣式的設計
經(jīng)過預處理之后, 原始水印信息被轉(zhuǎn)換為由UNICODE編碼表示的十六進制的碼串。下一步任務是將十六進制的水印信息碼串轉(zhuǎn)換成HTML的空樣式并嵌入到網(wǎng)頁中。水印信息碼串包含數(shù)字0~9和字母a~f共16種碼元, 我們設計16個不同的空樣式一一對應這16種碼元。空樣式的設計遵循以下兩個方面的原則:一方面, 樣式的名字與HTML代碼的內(nèi)容要有一定的聯(lián)系, 具有合理性和真實性, 讓人覺察不到它是空樣式, 從而使水印具有良好的隱蔽性;另一方面, 空樣式的名字不能與現(xiàn)有樣式的名字相同, 若命名相同, 則會導致水印信息提取出錯。
4、空樣式的嵌入
在設計好水印信息碼元對應的空樣式后, 下一步任務是將空樣式嵌入到HTML代碼中。
在HTML代碼中, 網(wǎng)頁上要顯示的內(nèi)容通常包含在一個個的層級元素中。這種方式不是很好, 一方面會增加div, class這些與水印信息無關(guān)的字符串, 增大了網(wǎng)頁文件的大小;另一方面, 嵌入的語句有些明顯, 隱蔽性不夠好, 可能會被察覺出來。我們利用HT-ML的樣式可以疊加的特點, 將空樣式作為一個疊加的樣式嵌入到已存在的層級之中, 而不添加新的語句。
實現(xiàn)步驟
1、水印的嵌入
第1步水印信息預處理。將水印信息的每個字符轉(zhuǎn)換為對應的UNICODE碼, 形成十六進制的水印信息碼串。
第2步設計空樣式。根據(jù)網(wǎng)頁HTML代碼中樣式命名的特點, 設計16個空樣式, 每個空樣式對應一種十六進制的水印信息碼元, 形成一個空樣式表。
第3步將水印信息轉(zhuǎn)換成空樣式。根據(jù)空樣式表, 將十六進制的水印信息碼串的每一個碼元轉(zhuǎn)換成對應的空樣式。
第4步空樣式的嵌入。查找網(wǎng)頁HTML代碼中的樣式, 依次將每個空樣式疊加插入到原有的樣式之后。
2、水印的提取
第1步提取空樣式。根據(jù)空樣式表中的樣式名, 從網(wǎng)頁的HTML代碼中依次提取出每個空樣式。
第2步生成十六進制水印信息碼串。對照空樣式表, 將提取的每個空樣式轉(zhuǎn)換成對應的十六進制的水印信息碼元, 從而形成十六進制的水印信息碼串。
第3步生成原始水印信息。根據(jù)UNICODE編碼, 將十六進制的水印信息碼串轉(zhuǎn)換成對應的水印信息字符串。
性能評價
網(wǎng)頁水印的性能主要有隱蔽性、抗攻擊性以及水印嵌入容量等。隱蔽性是指阻礙人識別出網(wǎng)頁中存在水印信息的能力;抗攻擊性是指嵌入的水印在經(jīng)受攻擊后仍能被正常提取的能力, 網(wǎng)頁水印的攻擊手段主要有格式變換、水印檢測等;水印容量則是可以嵌入水印信息量的大小。
如前所述, 現(xiàn)有的幾種網(wǎng)頁水印方法將水印信息轉(zhuǎn)換為HTML代碼中的不同格式, 這種做法使得水印信息和HT-ML代碼嚴重分離, 水印的痕跡比較明顯, 容易被識別, 一些簡單的攻擊方式就能破解。與這些方法相比, 基于空樣式的網(wǎng)頁水印方法具有更好的隱蔽性和抗攻擊性。一方面, 空樣式名與原有樣式名非常相似, 不易引起注意和懷疑;另一方面, 樣式內(nèi)容的定義通常存放在CSS文件中, 水印的攻擊者根據(jù)HTML代碼難以區(qū)分其中的真實樣式和空樣式, 無法檢測到空樣式的存在。如果試探性地修改樣式名, 會有很大的風險, 若改動了真實樣式名, 會對頁面的顯示產(chǎn)生影響, 因此較難用過濾系統(tǒng)去除網(wǎng)頁中的水印信息。
本文地址:http://hbbqcd.cn//article/2019/0308/5758.html
相關(guān)文章:
最新文章: