趙衛(wèi)娟,關(guān)虎,黃櫻,張樹武
(1.中國(guó)傳媒大學(xué) 信息工程學(xué)院,北京 100024;2.中國(guó)科學(xué)院自動(dòng)化研究所,北京 100190)
互聯(lián)網(wǎng)與多媒體的快速發(fā)展使數(shù)字化信息傳播更為方便快捷,自媒體的發(fā)展也導(dǎo)致越來(lái)越多的電子產(chǎn)品如文檔、圖像、視頻、音頻等的廣泛傳播。在電子出版物快速傳播的同時(shí)也為網(wǎng)絡(luò)版權(quán)侵犯制造了暖床,如出現(xiàn)未經(jīng)版權(quán)所有者同意便肆意復(fù)制傳播、私自刪除篡改數(shù)字作品等侵權(quán)行為。從保護(hù)電子產(chǎn)品的版權(quán)問(wèn)題,及秘密通信等版權(quán)保護(hù)信息安全等要求出發(fā),數(shù)字水印作為一種最重要的版權(quán)保護(hù)技術(shù)應(yīng)運(yùn)而生。電子文檔作為數(shù)字信息傳播的重要載體,其版權(quán)保護(hù)重要性不言而喻。文本水印技術(shù)為保護(hù)電子產(chǎn)品的版權(quán)提供了行之有效的解決方案,近年來(lái)有大量學(xué)者對(duì)文本水印技術(shù)展開了研究。
本文主要從文本水印的概念、性能特點(diǎn)、基本框架及現(xiàn)有文本水印算法等方面進(jìn)行介紹,并分析現(xiàn)有的水印算法的優(yōu)缺點(diǎn),展望了今后文本水印技術(shù)的研究和發(fā)展方向。
數(shù)字水印技術(shù)是指將一些特殊信息即數(shù)字水印(數(shù)字、文字、圖片等)直接嵌入到多媒體、軟件等數(shù)字載體中去,或者是通過(guò)修改載體某些特殊區(qū)域的內(nèi)容和形式結(jié)構(gòu)來(lái)間接嵌入水印的一種技術(shù),并可以反向提取出嵌入到載體內(nèi)容或結(jié)構(gòu)里面的特殊信息。而且在原始載體中嵌入水印后它的使用價(jià)值不受影響,即嵌入水印后的載體和原始載體外觀看起來(lái)一致,水印信息不容易被感知和再次修改。但是所有者可以提取、識(shí)別和辨認(rèn)水印信息。這些載體經(jīng)過(guò)嵌入特定標(biāo)識(shí)的水印信息,便可以對(duì)內(nèi)容創(chuàng)作者以及購(gòu)買版權(quán)者進(jìn)行身份確認(rèn),也能夠?qū)μ厥庑畔⒌碾[蔽表現(xiàn)以及對(duì)文檔、圖像、視頻、音頻等載體是否被篡改做出判斷。數(shù)字水印技術(shù)是保證信息安全、實(shí)現(xiàn)版權(quán)保護(hù)的有效途徑。文本水印根據(jù)其載體不同,可分為基于PDF、WORD、EPUB等不同文本文檔類型的水印。
文本水印系統(tǒng)要成為用戶值得信賴的應(yīng)用體系,必須要在水印信息完整性鑒定和產(chǎn)品版權(quán)保護(hù)方面滿足一些必要的條件。不同文本類型對(duì)于水印特性要求不同,大部分的文本水印應(yīng)滿足以下的要求:
(1)不可見性:嵌入水印信息后原始文本載體不應(yīng)被明顯改動(dòng),即人眼不可察覺(jué),并且使受保護(hù)的數(shù)字媒體質(zhì)量也不應(yīng)該有明顯失真。
(2)魯棒性:帶有水印信息的文本載體在一般的信號(hào)處理、幾何變換后仍能正常提取出可以驗(yàn)證版權(quán)所有者的水印信息。
(3)安全性:主要是指攻擊者在未被授權(quán)時(shí)不能刪除、篡改或完整地提取出水印信息。通常采取密鑰的方式來(lái)生成水印以保護(hù)水印的安全性。
(4)容量:是在載體不發(fā)生明顯改變的情況下,文本載體所能嵌入的最大水印信息量。水印信息應(yīng)能包括版權(quán)所有者的關(guān)鍵信息,或者版權(quán)購(gòu)買者一些特殊的標(biāo)識(shí)信息。
一般來(lái)說(shuō)文本水印系統(tǒng)的基本框架應(yīng)該包括水印嵌入和水印提取兩部分。
水印嵌入:文本水印嵌入系統(tǒng)輸入的是文本載體、水印信息和一個(gè)可選的公鑰或者私鑰,輸出為含有水印信息的新載體。水印信息可以是包含版權(quán)所有者或者購(gòu)買者的特殊標(biāo)識(shí),以任何形式存在。密鑰在未經(jīng)授權(quán)的刪除、篡改和提取時(shí)用來(lái)保護(hù)水印信息的安全性。
水印嵌入過(guò)程如圖1所示。
圖1 水印嵌入模型
水印提?。何谋舅√崛∈撬∏度氲哪孢^(guò)程,主要用來(lái)提取載體中的水印信息。水印提取系統(tǒng)輸入的是原始文本載體(盲水印算法不需要輸入原始文本載體)、待檢測(cè)的文本載體和密鑰,輸出為水印信息。水印提取過(guò)程如圖2所示。
圖2 水印提取模型
概括來(lái)說(shuō),文本分為三大類:①非格式化文本;②格式化的文檔,常見的有Word、WPS、PDF、PostScript等;③像素矩陣形成的圖像型文檔[1]。近年來(lái)學(xué)者們對(duì)于不同類型的載體文本提出不同的水印算法,現(xiàn)有的文本水印算法主要分為五類:①基于文檔格式的水印算法;②基于文檔結(jié)構(gòu)的水印算法;③基于自然語(yǔ)言處理的水印算法;④基于傳統(tǒng)二值圖像處理的水印算法;⑤其他算法。
(1)行間距編碼
行間距編碼是根據(jù)微調(diào)文檔行間距來(lái)嵌入水印信息[2]。Brassil等[3]提出關(guān)于行間距編碼具體方法是每三行里只調(diào)整最中間的那一行的行間距,與它相鄰兩行的行間距離維持不變來(lái)作為參考系。通過(guò)小幅調(diào)整中間那行的間距距離來(lái)嵌入水印信息。
Huang Hua等[4]利用漢字文本的特點(diǎn)改進(jìn)了Brassil的行間距編碼和相應(yīng)的質(zhì)心檢測(cè)方法。具體實(shí)現(xiàn)是從文檔的第二行起,對(duì)剩下的各行均進(jìn)行行間距移動(dòng)?;萋啡A[5]也對(duì)Brassil的行間距算法做出了改進(jìn),提出了將水印信息嵌入到正弦波中并以正弦波的周期性特點(diǎn)嵌入到文檔的行間距信息中去。
(2)字間距編碼
字間距編碼是指在一行字符信息中改變某些字符之間距離來(lái)嵌入水印信息,其中改變的字符其相鄰位置的字符距離不做變換,以作為參照[1][3]。
Ding Huang等[6]將水印信息嵌入到正弦波中,然后根據(jù)正弦波的周期特點(diǎn)來(lái)修改行的字間距,即同一行字間距一致,不同行的字間距按照正弦波來(lái)變化。Hyon-Gon等[7]針對(duì)上述算法存在缺點(diǎn)提出了根據(jù)正弦波正交性來(lái)嵌入水印信息的方法,此方法增加了水印容量。Kim等[8]提出一種單詞分類和單詞空間統(tǒng)計(jì)的文本水印方法,即位置相鄰的單詞被分為一組,然后對(duì)分到一組的單詞再進(jìn)行分類,以修改每一個(gè)細(xì)分類的單詞間隔來(lái)嵌入相同數(shù)量的水印信息。Nopporn[9]針對(duì)非英語(yǔ)語(yǔ)言如泰文的文檔提出了一種新的文檔隱藏?cái)?shù)據(jù)方法,該方法是以序列編碼來(lái)改變字符間距離進(jìn)行水印嵌入。Yang Hui-juan等[10]提出利用字間距和詞語(yǔ)間距來(lái)進(jìn)行水印嵌入,通過(guò)比較水印嵌入之前和嵌入之后的文檔字符部分的哈希值來(lái)確認(rèn)文檔的完整性。譚瑛[11]利用字符偏移嵌入水印信息,將水印編碼轉(zhuǎn)換為二進(jìn)制,并將這些二進(jìn)制代碼依據(jù)字間距離為標(biāo)準(zhǔn)距離時(shí)嵌入水印信息“0”,字間距離增加0.0035厘米時(shí)嵌入水印信息“1”的規(guī)則實(shí)現(xiàn)水印的嵌入。譚瑛提出的算法因?yàn)樗∏度胍揽课臋n字符,所以水印容量受到限制。專利[12]提出了一種基于PDF格式的自適應(yīng)文本水印方法,該方法基于PDF格式利用二次剩余理論自適應(yīng)地選擇要進(jìn)行自移編碼的字符位置,對(duì)整篇文檔進(jìn)行字符間距編碼。專利[13]提出了一種基于字符間距編碼的雙重水印嵌入方法,將水印信息轉(zhuǎn)換成二進(jìn)制序列再進(jìn)行糾錯(cuò)編碼,第一種是將水印信息通過(guò)修改字符的無(wú)頁(yè)面屬性值true或false來(lái)嵌入二進(jìn)制序列的“0”或“1”,第二種是通過(guò)修改字符間距離來(lái)嵌入水印信息。張秋余等[14]把PDF文件與PS文件相互轉(zhuǎn)化時(shí)生成的字符特征碼進(jìn)行加密得到和文本內(nèi)容相關(guān)的水印信息,然后根據(jù)水印信息修改文檔字符間距。
(3)特征編碼
特征編碼是指通過(guò)修改字符的特殊屬性來(lái)隱藏水印信息,其中包括字符的色彩屬性、字形選擇、是否加粗、是否帶有下劃線、字符效果等[1]。特征編碼對(duì)格式化文本和以像素描述的圖片型文本的水印嵌入有很大實(shí)用性[3]。
Borges等[15]提出一種修改字符亮度屬性特征來(lái)嵌入水印信息,基于脈沖幅度調(diào)制通信通過(guò)在人眼觀測(cè)不到的范圍內(nèi)微調(diào)文檔字符間距和字符亮度,修改字符間距避免字符間的干擾。Shirali Shahreza等[16]介紹了一種針對(duì)波斯語(yǔ)和阿拉伯語(yǔ)的文字的隱藏信息方法,波斯語(yǔ)和阿拉伯語(yǔ)中在一行中間軸上下存在很多的筆劃,通過(guò)對(duì)這些筆劃進(jìn)行垂直方向上做出改變來(lái)嵌入水印信息。Stefan Thiemert等[17]提出了一種基于矢量字體的盲水印方案,通過(guò)修改曲線之間的對(duì)稱性以嵌入二進(jìn)制水印信息。趙東寧等[18]根據(jù)云模型的特點(diǎn)設(shè)計(jì)了一種改變行間距和字符間距的水印嵌入方法,水印信息由云滴的坐標(biāo)表示,根據(jù)云滴數(shù)值來(lái)進(jìn)行行間距和字間距的調(diào)整來(lái)嵌入水印信息。李兵兵等[19]以Word文檔的結(jié)構(gòu)屬性中的文本域?yàn)閱挝煌ㄟ^(guò)改字體大小來(lái)嵌入水印信息,對(duì)所有文本域添加屬性后將其格式化,當(dāng)嵌入信息為“0”時(shí)若文本域值為偶數(shù)則不變,值為奇數(shù)則加1,當(dāng)嵌入信息為“1”時(shí)如文本域?yàn)槠鏀?shù)則不變,為偶數(shù)時(shí)加1。邢曉溪[20]根據(jù)現(xiàn)有的特征屬性提出一種結(jié)合字體大小及顏色屬性的水印算法,利用線性同余對(duì)水印嵌入位置做了隨機(jī)處理和人眼對(duì)于細(xì)微的顏色及字體調(diào)整不敏感來(lái)進(jìn)行信息隱藏,當(dāng)嵌入水印信息為“0”時(shí)修改字符顏色屬性,當(dāng)嵌入水印信息為“1”時(shí)修改字體大小。
(4)空格編碼
空格編碼也稱不可見編碼。Ding Huang等[21]提出了在文本行與行之間、句末、段落末尾之前插入空格來(lái)嵌入水印信息。徐振[22]通過(guò)在文檔單詞之間的空格冗余來(lái)嵌入水印信息,將各單詞之間的空格取消,然后根據(jù)水印信息來(lái)修改要嵌入的空格位置。
通過(guò)修改文檔格式的這四種算法中,都和文本的格式內(nèi)容相關(guān),嵌入水印都留于文檔表層?;谛薷男虚g距的水印算法不可見性較差,文本行數(shù)有限,可修改的行數(shù)一定,所以水印容量較小,嵌入規(guī)則明顯,提取方便,魯棒性最好?;谛薷淖珠g距的水印算法不可見性好于行間距算法,因?yàn)檎{(diào)整一個(gè)字符間的距離比調(diào)整一整行的間距幅度要小,更不易被人眼發(fā)現(xiàn),而且字符之間嵌入水印信息比行與行之間嵌入水印信息的容量有所提升,同行間距算法一樣,字間距提取水印是也方便簡(jiǎn)易,但其魯棒性較差?;谛薷奶卣鲗傩运∷惴ú豢梢娦粤己茫萘肯鄬?duì)行間距算法有所提升,但文檔在經(jīng)過(guò)多次復(fù)制后水印信息容易丟失其魯棒性較差,且因?yàn)槠淝度敕绞教厥猓韵鄬?duì)行間距和字間距算法提取起來(lái)較為繁瑣。基于空格的水印算法不可見性良好,容量受插入空格限制,有的編輯器會(huì)對(duì)空白行進(jìn)行處理,所以其魯棒性較差。上述算法都是基于空間域的水印嵌入方法,水印信息的嵌入主要依靠格式形式的隱蔽性,水印信息無(wú)法抵擋對(duì)于文本格式的修改攻擊。一個(gè)簡(jiǎn)單地字體修改或者擦除重錄就可以使水印信息受到破壞。因此基于文檔格式的水印算法的缺點(diǎn)都集中在魯棒性較差、抗攻擊性不強(qiáng)這兩方面。
李兵兵等[23]基于文檔的壓縮格式提出了兩種水印算法,第一種是分析ZIP文檔結(jié)構(gòu)將水印信息隱藏到一個(gè)文檔中,然后再嵌入到壓縮源文件數(shù)據(jù)區(qū)中,之后刪除壓縮源文件目錄區(qū)的記錄并修改文件目錄結(jié)束標(biāo)志,第二種在Word中分析ZIP格式結(jié)構(gòu)解析出擴(kuò)展字段的壓縮源數(shù)據(jù),把十六進(jìn)制的水印信息嵌入到空白的擴(kuò)展字段??凳貦?quán)[24]提出一種修改文本中特定屬性值來(lái)嵌入水印的算法,首先對(duì)水印信息和分組后文本內(nèi)容進(jìn)行MD5算法加密得到新的水印信息,對(duì)分好組的三組文本修改顏色屬性,當(dāng)嵌入信息為“1”時(shí)則修改顏色屬性為wdCoiorGray95,當(dāng)嵌入信息為“0”時(shí)則不做修改。因?yàn)榍度胧椒至巳M,所以當(dāng)發(fā)生篡改的情況可以通過(guò)其他組的水印信息進(jìn)行糾正。劉友繼等[25]通過(guò)分析PDF文件的物理邏輯結(jié)構(gòu)提出了一種基于PDF文檔結(jié)構(gòu)的水印嵌入方法,通過(guò)讀取PDF文件尾信息找到交叉引用表然后獲取對(duì)象信息,通過(guò)偽造合法頁(yè)面對(duì)象和修改廢棄頁(yè)面對(duì)象來(lái)嵌入水印信息。通過(guò)此方法實(shí)現(xiàn)PDF文檔的信息隱藏與提取。鐘征燕等[26]分析PDF文檔物理結(jié)構(gòu)找出一個(gè)不影響文檔內(nèi)容輸出的交叉引用表中行末標(biāo)識(shí)符,通過(guò)將行末標(biāo)識(shí)符統(tǒng)一修改為 ,當(dāng)嵌入信息為“1”時(shí)修改行末標(biāo)識(shí)符為 ,當(dāng)嵌入信息為“0”時(shí)則不做修改,以此進(jìn)行版權(quán)保護(hù)。李高遠(yuǎn)[27]根據(jù)PDF文檔結(jié)構(gòu)特點(diǎn)提出了兩種水印算法,第一種通過(guò)分析PDF文檔結(jié)構(gòu)找出“comment”特殊形式的對(duì)象修改其內(nèi)容并不會(huì)對(duì)文檔顯示有所影響,comment對(duì)象為解釋對(duì)象其中內(nèi)容并不在PDF頁(yè)面中顯示,所以將水印信息偽造成comment對(duì)象嵌入到PDF文檔,第二種根據(jù)PDF文件修改后只會(huì)生成新的頁(yè)面對(duì)象并更新交叉引用表和文件尾,所以通過(guò)偽造一個(gè)生成號(hào)為0的廢棄頁(yè)面對(duì)象來(lái)嵌入水印信息。顧艷春等[28]提出一種基于PDF文檔結(jié)構(gòu)的空格編碼水印算法,原始水印為為一張圖像運(yùn)用置亂算法將水印圖像處理為二值圖像,將PDF文件轉(zhuǎn)換為PS文件提取行間距和字符間的距離信息,通過(guò)增加一些有空格組成的行,將二值圖像信息嵌入到這些空格行中去,同時(shí)生成的水印行的位置信息嵌入到指定位置作為檢測(cè)標(biāo)志,最后生成嵌入水印圖像的PDF文件。徐振等[22]根據(jù)Word文檔結(jié)構(gòu)中存在一些刪除插入等修改標(biāo)識(shí)符提出了基于修改標(biāo)識(shí)符的水印算法,對(duì)加密后的水印信息轉(zhuǎn)成長(zhǎng)度為6的倍數(shù)嵌入到經(jīng)過(guò)解析的Word文檔中w:rsidRPr屬性值,并在其后添加水印標(biāo)志eastAsia。
基于自然語(yǔ)言的水印技術(shù)是指通過(guò)分析文本內(nèi)容對(duì)一些詞句進(jìn)行同義更替,但是不改變?cè)牡暮x且不影響文本觀看閱讀使用意義。基于自然語(yǔ)言處理的水印算法一般分為基于句法結(jié)構(gòu)的自然語(yǔ)言處理和基于語(yǔ)義的自然語(yǔ)言處理。
Sun XM等[29]通過(guò)基于文本內(nèi)容中部分漢字為左右結(jié)構(gòu)而嵌入水印信息。王炳錫等[30]在充分領(lǐng)會(huì)文檔內(nèi)容的基礎(chǔ)上,對(duì)全文進(jìn)行了詞意劃分和語(yǔ)法劃分,最后對(duì)劃分后的內(nèi)容進(jìn)行同意替換或者間接等手段來(lái)進(jìn)行水印信息嵌入。Bennett K等[31]根據(jù)文本信息隱藏技術(shù)提出了基于字符、詞匯和語(yǔ)法的水印嵌入算法。Mikhail Atallah J等[32]提出通過(guò)修改單個(gè)詞語(yǔ)來(lái)嵌入水印信息,在理解全文的基礎(chǔ)上增加或刪減“的”字且不改變?nèi)暮x。
基于自然語(yǔ)言處理的水印算法因?yàn)椴挥眯薷脑臋n任何結(jié)構(gòu)所以在魯棒性上有了大幅提升,同時(shí)可以抵抗對(duì)于復(fù)制、打印、掃描等攻擊。由于該算法的研究對(duì)象是針對(duì)文本內(nèi)容詞語(yǔ)句子結(jié)構(gòu)語(yǔ)法關(guān)聯(lián)等,對(duì)于水印信息的嵌入往往需要自然語(yǔ)言處理的支撐及計(jì)算機(jī)處理人類語(yǔ)言的發(fā)展。且基于句子結(jié)構(gòu)、語(yǔ)法等的水印嵌入在實(shí)際應(yīng)用中受到很多限制,在很多情況下不允許修改文本的一字一句,比如政府頒布的文件、醫(yī)學(xué)上治療手冊(cè)等具有特殊性嚴(yán)格性的文本。此外基于自然語(yǔ)言處理的算法依賴于文本詞句語(yǔ)法等內(nèi)容其可嵌入的水印信息容量受到限制。
基于二值圖像的文本水印算法是指將文本轉(zhuǎn)化為一幅二值化的圖片文檔,進(jìn)行分塊處理后在不同數(shù)字塊之間進(jìn)行信息隱藏。
Wu M等[33]根據(jù)傳統(tǒng)二值圖像處理的思想對(duì)分塊后的黑白像素進(jìn)行奇偶分類來(lái)進(jìn)行水印隱藏。趙星陽(yáng)等[34]提出一種基于字符階梯邊沿調(diào)整的數(shù)字水印算法,調(diào)整文本上下兩部分的階梯邊沿使兩部分黑色像素?cái)?shù)值比大于閾值來(lái)嵌入水印信息0,小于閾值嵌入水印信息1。張馳[35]提出了一種基于分塊像素翻轉(zhuǎn)的水印算法,首先篩選要嵌入水印的漢字,對(duì)篩選后的漢字按照其構(gòu)成的水平和豎直方向進(jìn)行分塊,對(duì)角線上的兩塊分別配對(duì),通過(guò)翻轉(zhuǎn)黑白像素已調(diào)整配對(duì)間黑色像素差值來(lái)進(jìn)行水印的嵌入。
基于二值圖像的文本水印算法是指將文本轉(zhuǎn)化為一幅二值化的圖片文檔,進(jìn)行分塊處理后在不同數(shù)字塊之間進(jìn)行信息隱藏?,F(xiàn)有的文本圖像處理方法對(duì)于特征提取及精確處理有一定的難度,文本特征不同于圖像,在轉(zhuǎn)換過(guò)程中增加不必要的環(huán)節(jié),復(fù)雜度變高造成時(shí)間浪費(fèi),且轉(zhuǎn)化成圖片之后其受噪聲等影響更大,魯棒性變差。
除上述四類算法外,還有一些其他類型算法。如Qingcheng Li等[36],Paulo Borges等[37]通過(guò)使用數(shù)學(xué)公式來(lái)描述漢字形式進(jìn)行水印嵌入這樣對(duì)原文本內(nèi)容輸出并無(wú)影響,這種算法是一種新的水印生成嵌入方向,這種方法可以繞過(guò)圖像處理,從而更簡(jiǎn)化水印嵌入算法。Wengang Cheng等[38]將原始水印信息分成有順序的幾個(gè)有序片段,然后將水印片段嵌入到文檔字符的冗余信息中去,當(dāng)某個(gè)片段被刪除篡改攻擊之后丟失便可通過(guò)其他序號(hào)相同的正確片段來(lái)恢復(fù)被破壞的水印信息。專利[39]提出一種EPUB文檔的數(shù)字水印嵌入方法和裝置及提取方法和裝置,嵌入時(shí)獲取待處理EPUB文檔,將預(yù)設(shè)密鑰嵌入到圖像中得到數(shù)字水印文件,對(duì)數(shù)字水印文件加密生成加密字符串,將加密字符串寫入許可文本文件并嵌入待處理文檔中,得到含有水印的文檔。專利[40]提出一種在Word文檔中嵌入隱藏的追蹤水印的方法,在Word文檔中添加一個(gè)含有水印內(nèi)容的書簽,設(shè)置為隱藏,將書簽替換為一個(gè)InlineShape對(duì)象,并設(shè)置為不可見,再將InlineShape對(duì)象轉(zhuǎn)化為Shape對(duì)象,將其放在正文外邊緣區(qū)域的隨機(jī)位置上。陳翔[40]提出一種順序連接的分層數(shù)據(jù)水印算法,包括載體層、水印層、加密層和校驗(yàn)層,載體層的采集模塊將水印信息進(jìn)行信息隱藏并傳遞給水印生成模塊,并通過(guò)水印層的嵌入模塊進(jìn)行水印嵌入。
其他算法的提出一般都適用于特殊場(chǎng)合特殊文本載體,不能現(xiàn)實(shí)推廣使用,此處不再贅述。
根據(jù)研究對(duì)象即PDF文檔的特點(diǎn):文檔結(jié)構(gòu)簡(jiǎn)單易掌握,根據(jù)上一節(jié)的各個(gè)算法的分析對(duì)比得出基于文檔結(jié)構(gòu)的水印算法在水印容量、不可見性、魯棒性等綜合起來(lái)比其他算法都要適用于PDF文檔的水印研究,所以選取基于文檔結(jié)構(gòu)的水印算法來(lái)嵌入水印。提出了基于PDF文檔結(jié)構(gòu)的雙重水印算法驗(yàn)證文檔版權(quán)所有者和內(nèi)容完整性,修改PDF邏輯結(jié)構(gòu)顏色屬性值的水印方法和修改PDF物理結(jié)構(gòu)ID值的水印方法重復(fù)地進(jìn)行水印嵌入。該算法解決了基于PDF文檔結(jié)構(gòu)文本水印算法在統(tǒng)計(jì)攻擊中的缺點(diǎn),且在魯棒性上有良好的表現(xiàn)。
通過(guò)以上綜合和分析,各種算法的在水印容量、不可見性、魯棒性的表現(xiàn)及優(yōu)缺點(diǎn)如表1所示。
表1 各種算法的優(yōu)缺點(diǎn)對(duì)比
借助文檔結(jié)構(gòu)本身特點(diǎn)來(lái)嵌入水印的方法相對(duì)前三種方法數(shù)字水印容量、不可見性、魯棒性均可達(dá)到一個(gè)較好的平衡。這類算法的原理是在PDF的文檔物理結(jié)構(gòu)上做出修改,尋找不影響文檔頁(yè)面顯示輸出的特殊結(jié)構(gòu),比如注釋和交叉引用表的行末標(biāo)識(shí)符,都是基于程序修改,所以其不可見性要高于其他算法。在電子出版物在互聯(lián)網(wǎng)上的出版?zhèn)鞑ゼ鞍鏅?quán)交易中的版權(quán)保護(hù)和侵權(quán)追蹤有良好的發(fā)展前景。
通過(guò)前面的分類介紹和優(yōu)缺點(diǎn)分析,各種水印算法在水印容量、不可見性及魯棒性的表現(xiàn)各有不同。其中基于自然語(yǔ)言處理的水印算法魯棒性最好,基于文檔格式的水印算法魯棒性最差,基于傳統(tǒng)二值圖像處理的水印算法最為復(fù)雜,基于文檔結(jié)構(gòu)的水印算法在各方面表現(xiàn)較優(yōu)秀。未來(lái)文本水印的發(fā)展可以在文本載體的普遍適用性上進(jìn)行深入研究,可以設(shè)計(jì)一些定量的評(píng)估水印性能的參數(shù)來(lái)進(jìn)行水印算法的評(píng)估。