黃 婷
(龍巖學(xué)院 數(shù)學(xué)與計算機科學(xué)學(xué)院,福建 龍巖 364012)
數(shù)字水印是信息隱藏技術(shù)的一個重要分支,是解決多媒體數(shù)據(jù)版權(quán)保護問題的有效方法。數(shù)字水印將特制的不可見的標記,利用數(shù)字鑲嵌的方法隱藏在數(shù)字圖像、聲音、文檔、圖書、視頻、軟件等數(shù)字產(chǎn)品中,用以證明原創(chuàng)者對其作品的所有權(quán),并作為鑒定、起訴非法侵權(quán)的證據(jù),同時通過對水印的檢測和分析保證數(shù)字信息的完整可靠,從而成為版權(quán)保護和數(shù)字多媒體防偽的有效手段[1]。
目前數(shù)字水印的研究比較集中在圖像、視頻和音頻方面,但現(xiàn)實中許多紙質(zhì)文本如遺囑、契約、票據(jù)、合同、政府公文等,比音頻、視頻、圖像之類的媒體更有價值。因此,研究數(shù)字文本的保護方法對互聯(lián)網(wǎng)時代的電子政務(wù)和電子商務(wù)等都具有十分重要的作用[2]。
文本一般可看作二值圖像,相對于灰度圖像和彩色圖像,它具有自身的一些特殊性質(zhì):在二值圖像中每個像素的灰度值只用1比特來表示,不存在所謂的最低有效位和最高有效位,如果僅是簡單地隨機修改其中的像素值,無論是由0到1,還是由1到0,都會對圖像造成較大的破壞[2]。因此,研究如何在二值文本圖像中嵌入數(shù)字水印的問題,是解決水印技術(shù)能夠真正應(yīng)用于實際的重要課題。
衡量一個數(shù)字水印系統(tǒng)的好壞,常用如下幾個性能指標[3]:即魯棒性、不可感知性、水印容量、盲檢測和安全性,其中最重要的是魯棒性和不可感知性。
目前常用的水印算法難以解決水印的魯棒性和不可感知性之間的矛盾,因為要使水印魯棒性好,就得增加嵌入的水印信息量,而較好的不可感知性又需要減少水印信息量,因此水印信息量的取舍不易把握。為此國際上提出了一種“零水印”的思想,即利用原數(shù)據(jù)的重要特征來構(gòu)造水印(Kutter等[4]提出的第二代數(shù)字水印的概念),而不修改數(shù)據(jù)的本來特征,并且所生成的水印也不用和原數(shù)據(jù)合并到一起,從而使得原始數(shù)據(jù)在發(fā)布時沒有增加任何額外的信息[5]。零水印方法是一種新的數(shù)字水印方法,它可以很好地解決不可見數(shù)字水印的不可感知性和魯棒性的矛盾[6]。但零水印由于沒有向圖像中真的嵌入水印信息,使得任何人都可以通過算法提取自己的水印,是不能唯一地確定版權(quán)的,因此需要引入零水印的注冊機制。
數(shù)字水印中版權(quán)的歸屬問題非常重要,這涉及安全性中的解釋性攻擊的抵抗能力。解釋性攻擊即偽造攻擊,攻擊者通過在他人的作品中嵌入自己的水印來達到偽造版權(quán)的目的。將零水印應(yīng)用到版權(quán)保護系統(tǒng)中,是需要對水印進行注冊的,即把水印向可信任的注冊機構(gòu)(如水印信息庫)注冊。如果攻擊者也在拷貝的作品中構(gòu)造另一個水印,并也向注冊機構(gòu)注冊,這樣就會引起作品版權(quán)的糾紛,仲裁者就無法根據(jù)水印來判斷誰是版權(quán)所有者。對此,可以引入時間戳機制來避免這種攻擊。但是注冊機構(gòu)如果選用水印信息庫,那么隨著水印注冊數(shù)目的增加,信息數(shù)據(jù)庫將變得越來越龐大,所以這并不是理想的辦法。因此在本方案中將借助數(shù)字時間戳(Digital Time-Stamp)來證明某個時間某個水印對某個作品的版權(quán)聲明。
首先假設(shè)有一個時間戳權(quán)威TSA(Time-Stamp Authority),TSA的任務(wù)是專門從可信時間源獲取精確的時間,為申請的用戶提供由它簽名的時間戳。TSA應(yīng)當像PKI體系中的證書權(quán)威機構(gòu)CA一樣受信任,并且為它的行為承擔相關(guān)的法律責任。加蓋時間戳后,給用戶提交的是一個經(jīng)加密后的憑證文檔,它應(yīng)該包括需要加蓋時間戳的文件的摘要、TSA收到文件時的日期和時間、TSA的數(shù)字簽名[7]。目前,在我國有一個標準時間產(chǎn)生、保持和傳遞的中心——國家授時中心(NTSC),具有數(shù)字時間戳認證的技術(shù)條件和權(quán)威性。所以,在數(shù)字水印中引入時間戳認證協(xié)議是可行的[5]。
基于這樣的思想,本文將設(shè)計基于時間戳的零水印方案:作者在創(chuàng)作的作品發(fā)表之前,通過向時間戳權(quán)威機構(gòu)申請時間戳,將代表自己身份的水印、創(chuàng)作的作品以及申請的時間戳三者進行綁定,以此證明某個時間開始作者對作品擁有所有權(quán)。當然,版權(quán)所有者還需在第一時間注冊自己的作品,以防被他人搶注冊。時間戳機制是解決零水印解釋攻擊的有效手段。
(1)定義:設(shè)I為原二值文本圖像,大小為N×N,零水印W是根據(jù)圖像特征產(chǎn)生的隨機序列,是一個值為{-1,1}的二值序列,其長度為M。
I={f(i,j),1 ≤i≤N,1≤j≤N}
(1)
W={w(i),1≤i≤M}w(i)∈{-1,1}
(2)
(2)零水印算法通用模型包括水印的嵌入和水印的提取,流程圖如圖1所示。
圖1 零水印的嵌入流程圖
圖2 零水印的檢測流程圖
基于上述理論分析,本文認為,將零水印技術(shù)應(yīng)用于二值文本圖像中是可行的。在后面的內(nèi)容中,將采用離散小波變換的方法對此方案進行實現(xiàn),并通過實驗驗證零水印技術(shù)的優(yōu)越性。
小波變換用于圖像處理的基本思想是把圖像進行多分辨率分解,圖像經(jīng)過一級小波變換,分解成4個四分之一大小的子圖,即水平方向、垂直方向和對角線方向的高頻細節(jié)子圖和低頻概貌子圖。然后,低頻概貌子圖可按照相同的方法進行第二級的小波分解,分解成分辨率更小的子圖。同理,可以對圖像進行更多級的小波分解,如圖3所示。
圖3 基于離散小波變換的三級分解示意圖
離散小波變換(DWT),是數(shù)字水印嵌入方法之一,近年來越來越受到重視。DWT方法的優(yōu)點是不僅可以將圖像分解到頻域中,而且保留了圖像在空間上的分布,這對于加強數(shù)字水印的有損壓縮和局部剪裁等的魯棒性是非常有效的。同時小波變換的多分辨率分析和人的視覺特性能較好匹配,接近HVS的要求[8]。
Logistic映射系統(tǒng)是一種常用的混沌系統(tǒng)?;煦?Chaos)是一種復(fù)雜的非線性非平衡的動力學(xué)過程,具有三大特點:首先,混沌系統(tǒng)的行為是許多有序行為的集合,而每個有序分量在正常條件下,都不起主導(dǎo)作用。由于系統(tǒng)中的有序分量足夠多且形式多樣,因而為應(yīng)用提供了很大靈活性和很多的機會。其次,混沌看起來似乎隨機,但都是確定的。再次,混沌系統(tǒng)對初始條件極為敏感,對于兩個相同的混沌系統(tǒng),若使其處于稍異的初態(tài)就會迅速變成為完全不同的狀態(tài)[9]。由混沌系統(tǒng)的特性得出,使用混沌來構(gòu)造零水印方案是可行的。
Logistic映射的迭代公式如下:
xi+1 =μx(1-xi)
(3)
當3.5699456 <μ≤4時,logistic映射處于混沌狀態(tài),而當x∈(0,1)時logistic映射也落在(0,1)范圍內(nèi)。文獻[2]采用對映射數(shù)列乘N再取整的方法求N個范圍為[1,N]的隨機數(shù),但該法求得的數(shù)列并非不重復(fù)數(shù)列。本文使用logistic映射產(chǎn)生隨機不重復(fù)數(shù)列。
零水印算法關(guān)鍵在于如何利用圖像特征構(gòu)造水印而并非如何嵌入水印,所以沒有了常規(guī)水印算法的變換域到空間域的逆轉(zhuǎn)過程,算法速度也明顯快得多。
3.3.1 DWT零水印的構(gòu)造
基于DWT變換的零水印構(gòu)造方法思路是:根據(jù)圖像重要特征的所在區(qū)域,選擇小波變換域的低頻區(qū)作為零水印的構(gòu)造區(qū)域,而且低頻區(qū)內(nèi)的系數(shù)具有很強的抗干擾能力,這樣構(gòu)造出來的零水印具有很好的魯棒性。
在此,首先要確定圖像進行小波變換的層數(shù),其主要依據(jù)是圖像的大小。如果圖像的尺度比較大,對其進行小波變換的層數(shù)也應(yīng)該比較大;若圖像的尺度比較小,對其進行小波變換的層數(shù)也應(yīng)該比較小。大小為M×N的圖像經(jīng)s級小波分解后,得到大小為(M/2s)×(N/2s)的逼近子圖。
算法的步驟描述如下:
①根據(jù)圖像I或?qū)嶋H要求確定零水印的大小M;
②根據(jù)水印的大小M以及圖像的大小,對圖像I進行n層小波變換后得到I′;
③取密鑰k1、k2,用k1、k2分別生成取值范圍在[0,1/2n]內(nèi)的序列:
A{A1,A2,...,AM}和B{B1,B2,...,BM},構(gòu)造序列產(chǎn)生器如下:
Ai+1 =μA(1-Ai) 3.5699456<μ< 4
(4)
Bi+1 =μB(1-Bi) 3.5699456<μ< 4
(5)
取A0 =k1,B0 =k2
④因為序列中元素的取值范圍在[0,1]之間,取:
Ai =R ×Ai,Bi =R ×Bi,i=1, 2,…,M
(6)
其中R為低頻域的大小,這樣使用序列A和B作為構(gòu)造點的位置,可以保證選取點的位置分布在低頻域內(nèi)。
⑤根據(jù)生成的構(gòu)造點序列計算{LLnA1- LLnB1,……,LLnAi- LLnBi,……, LLnAM- LLnBM } 得到差值序列Y{Y1,Y2,...,YM};
⑥按下面的規(guī)則生成水印W:
(7)
⑦最后將水印W加密,生成加密水印發(fā)給TSA,請求加蓋時間戳。收到TSA的響應(yīng)后用TSA的公鑰驗證TSA的真實性,若驗證通過,則保存TSA發(fā)來的含有時間戳的版權(quán)水印WT。
3.3.2 DWT零水印的檢測
檢測算法采用水印客觀相似性方法,先將蓋有時間戳的水印WT用時間戳權(quán)威機構(gòu)TSA的公鑰進行解密,分離出水印W和時間戳;然后用零水印構(gòu)造算法構(gòu)造疑似圖的零水印W’,將W和W’用公式8計算相似性Sim,如果Sim大于識別閾值T,則證明擁有對待檢測圖像的版權(quán)。
(8)
其中,N為水印長度,Wi和W’i分別表示原圖水印和疑似圖水印。
計算客觀相似性的原因是因為受水印保護的原圖像在經(jīng)過網(wǎng)絡(luò)傳輸后信息會有改變?nèi)缱冃?、損傷及對圖像的常規(guī)處理造成的細小改變。要檢測到和原來一模一樣的水印是不現(xiàn)實的,只有用檢測到客觀相似性的峰值來判斷水印的存在與否,這樣做也使得水印算法具有一定的魯棒性。
零水印的檢測過程沒有對檢測的圖像作處理,而是直接進行檢測,其過程是零水印構(gòu)造的逆過程,過程如下:
①到⑥步驟與DWT構(gòu)造算法步驟相同,只是輸入變成了待測圖像I’,生成的水印變?yōu)閃’;
⑦用公式8,計算檢測到的水印與解密后的水印的相似性。
對于選定的閾值T,若Sim ≥T,則認為待測圖像和原圖具有相同版權(quán),否則認為待測圖像和原圖沒有關(guān)系。
其檢測流程圖如圖4所示,檢測的水印不需要申請時間戳。
圖4 零水印檢測框圖
下面將用離散小波變換構(gòu)造零水印方案,并在在矩陣實驗室MATLAB 7.1(Matrix Laboratory)進行仿真[10,11]。
選取一段中文文本,將其轉(zhuǎn)換為二值圖像作為原圖像(如圖5所示)。為方便使用變換域方法,原圖像的大小為256×256。采用DWT零水印算法構(gòu)造水印,鑒于原圖像大小為256×256,取n=3,即先將原圖像進行3次離散小波變換,經(jīng)分解后得到32×32的細節(jié)子圖,分解后的細節(jié)子圖如圖6所示。
圖5 原圖
圖6 三層DWT變換得到的細節(jié)子圖
這里選取密鑰K1=0.01,K2=0.02來構(gòu)造選取位置,在Logistic映射中取μ=4,使用最高層低頻系數(shù)構(gòu)成的逼近子圖來生成水印,由于子圖大小為32×32,所以R值為322=1024,這樣可以保證選取位置全部落在子圖中,在MATLAB中實現(xiàn)算法,得到的水印圖像如圖7所示。
圖7 DWT零水印算法構(gòu)造的水印圖
零水印的檢測通過同樣的方法得到水印,然后再檢測相關(guān)性,并與閾值比較,最后得出結(jié)論。一個閾值的選定,需要做大量的實驗,由于時間有限,本文雖然未作大量的實驗,但所作實驗具有一定代表性,分析這些實驗的結(jié)果,最后將閾值T的值定為0.6。
魯棒性是評估一個數(shù)字水印方案的重要標準,為了檢測和說明零水印方法的性能,下面進行幾種典型攻擊實驗,并對結(jié)果進行了分析。零水印的大小為1024,“算法匹配度”指檢測到的零水印和原水印之間匹配的個數(shù)。
表1 測試結(jié)果
(1)幾何失真攻擊:常規(guī)的幾何失真包括對圖像的旋轉(zhuǎn)、縮放、裁剪等, 測試結(jié)果見表1所示。很多算法對于這一類攻擊的魯棒性都低,但本算法效果不錯。對于旋轉(zhuǎn)攻擊的結(jié)果是未做任何恢復(fù)的情況下進行的實驗,如果將旋轉(zhuǎn)后的圖像恢復(fù),效果更好[12];對于裁剪攻擊,同樣有相當不錯的抵抗能力。
(2)JPEG壓縮:這里采用標準JPEG格式對原始圖像分別使用5%,25%,65%,95%不同的壓縮率壓縮,然后對壓縮后的圖像進行零水印的檢測。壓縮比率越大圖像失真程度也越大,檢測水印也就越困難。從實驗結(jié)果表1可以看出,DWT對JPEG壓縮的魯棒性都很強,即使質(zhì)量因子為5%的情況下(一般的圖像水印算法無法檢測到水印),也可取得相似度80%以上的效果。
(3)濾波:空域濾波器根據(jù)功能可以分為平滑濾波器和銳化濾波器。這里采用平滑濾波器對圖像進行攻擊,采用的濾波窗口大小為[5×5]的維納濾波器。由于零水印不改變原始圖像,所以具有較強的抗濾波攻擊的力。
(4)噪聲攻擊:對原圖像加噪聲以測試零水印算法對于噪聲攻擊的魯棒性。
分別使用四種噪聲對算法性能進行測試,結(jié)果見表1所示。DWT算法對噪聲攻擊的魯棒性總體還不錯,尤其針對椒鹽噪聲攻擊,檢測結(jié)果有很高的相似度。這里的椒鹽噪聲攻擊選取的強度為0.4。
本文分析了零水印技術(shù)的特點,并提出了基于離散小波變換的零水印應(yīng)用于二值文本圖像的方案,實驗表明該算法能解決數(shù)字水印中的不可感知性和魯棒性的矛盾,在抗攻擊能力方面也表現(xiàn)出較穩(wěn)定的性能,是個可行性很強的方案,可以在今后的數(shù)字水印技術(shù)上進行推廣。
參考文獻:
[1]Ingemar J.Cox,Matthew L.Miller,Jeffrey A.Bloom著,王穎等譯.數(shù)字水印[M].北京:電子工業(yè)出版社,2003.1-76.
[2]孫圣和,陸哲明,牛夏牧等著.數(shù)字水印技術(shù)及應(yīng)用[M].北京:科學(xué)出版社,2004.
[3]王炳錫.數(shù)字水印技術(shù)[M].西安:西安電子科技大學(xué)出版社,2003.
[4]M.Kutter, S.K.Bhattacharjee, T.Ebrhimi. Towards second generation watermarking schemes[J]. ICIP’99,Kobe,Japan,October 25-28,1999,Vol.3:320-323.
[5]謝賢智.基于時間戳認證的零水印方案研究[J].微計算機信息,2007,23(67):289-290.
[6]向華,曹漢強,伍凱. 一種基于混沌調(diào)制的零水印算法[J]. 中國圖象圖形學(xué)報,2006,5:720-724.
[7]俞登峰. 基于svd分解和傅立葉-梅林變換的零水印技術(shù)研究[D].北京化工大學(xué).2008.
[8]唐慶生, 基于離散小波變換的數(shù)字水印技術(shù)[J].成都信息工程學(xué)院學(xué)報,2005,20(1):57-60.
[9]溫泉,孫瑛鋒,王樹勛.基于零水印的數(shù)字水印技術(shù)研究.全國第三屆信息隱藏學(xué)術(shù)研討會,西安.2001.西安:西安電子科技大學(xué)出版社,2001.102-109.
[10]張弛.二值文本圖像數(shù)字水印技術(shù)研究[D].重慶:重慶大學(xué)計算機學(xué)院,2007.
[11]羅軍輝,馮平,哈力旦·A著,MATLAB7.0在圖像處理中的應(yīng)用[M].北京:機械工業(yè)出版社,2005.
[12]P.Loo,N.Kingsbury.Watermark Detection Based on the Properties of Codes[J].Image and Signal Processing.2003.150(2):115-121.