黃 婷
(龍巖學院 數學與計算機科學學院,福建 龍巖 364012)
數字水印是信息隱藏技術的一個重要分支,是解決多媒體數據版權保護問題的有效方法。數字水印將特制的不可見的標記,利用數字鑲嵌的方法隱藏在數字圖像、聲音、文檔、圖書、視頻、軟件等數字產品中,用以證明原創者對其作品的所有權,并作為鑒定、起訴非法侵權的證據,同時通過對水印的檢測和分析保證數字信息的完整可靠,從而成為版權保護和數字多媒體防偽的有效手段[1]。
目前數字水印的研究比較集中在圖像、視頻和音頻方面,但現實中許多紙質文本如遺囑、契約、票據、合同、政府公文等,比音頻、視頻、圖像之類的媒體更有價值。因此,研究數字文本的保護方法對互聯網時代的電子政務和電子商務等都具有十分重要的作用[2]。
文本一般可看作二值圖像,相對于灰度圖像和彩色圖像,它具有自身的一些特殊性質:在二值圖像中每個像素的灰度值只用1比特來表示,不存在所謂的最低有效位和最高有效位,如果僅是簡單地隨機修改其中的像素值,無論是由0到1,還是由1到0,都會對圖像造成較大的破壞[2]。因此,研究如何在二值文本圖像中嵌入數字水印的問題,是解決水印技術能夠真正應用于實際的重要課題。
衡量一個數字水印系統的好壞,常用如下幾個性能指標[3]:即魯棒性、不可感知性、水印容量、盲檢測和安全性,其中最重要的是魯棒性和不可感知性。
目前常用的水印算法難以解決水印的魯棒性和不可感知性之間的矛盾,因為要使水印魯棒性好,就得增加嵌入的水印信息量,而較好的不可感知性又需要減少水印信息量,因此水印信息量的取舍不易把握。為此國際上提出了一種“零水印”的思想,即利用原數據的重要特征來構造水印(Kutter等[4]提出的第二代數字水印的概念),而不修改數據的本來特征,并且所生成的水印也不用和原數據合并到一起,從而使得原始數據在發布時沒有增加任何額外的信息[5]。零水印方法是一種新的數字水印方法,它可以很好地解決不可見數字水印的不可感知性和魯棒性的矛盾[6]。但零水印由于沒有向圖像中真的嵌入水印信息,使得任何人都可以通過算法提取自己的水印,是不能唯一地確定版權的,因此需要引入零水印的注冊機制。
數字水印中版權的歸屬問題非常重要,這涉及安全性中的解釋性攻擊的抵抗能力。解釋性攻擊即偽造攻擊,攻擊者通過在他人的作品中嵌入自己的水印來達到偽造版權的目的。將零水印應用到版權保護系統中,是需要對水印進行注冊的,即把水印向可信任的注冊機構(如水印信息庫)注冊。如果攻擊者也在拷貝的作品中構造另一個水印,并也向注冊機構注冊,這樣就會引起作品版權的糾紛,仲裁者就無法根據水印來判斷誰是版權所有者。對此,可以引入時間戳機制來避免這種攻擊。但是注冊機構如果選用水印信息庫,那么隨著水印注冊數目的增加,信息數據庫將變得越來越龐大,所以這并不是理想的辦法。因此在本方案中將借助數字時間戳(Digital Time-Stamp)來證明某個時間某個水印對某個作品的版權聲明。
首先假設有一個時間戳權威TSA(Time-Stamp Authority),TSA的任務是專門從可信時間源獲取精確的時間,為申請的用戶提供由它簽名的時間戳。TSA應當像PKI體系中的證書權威機構CA一樣受信任,并且為它的行為承擔相關的法律責任。加蓋時間戳后,給用戶提交的是一個經加密后的憑證文檔,它應該包括需要加蓋時間戳的文件的摘要、TSA收到文件時的日期和時間、TSA的數字簽名[7]。目前,在我國有一個標準時間產生、保持和傳遞的中心——國家授時中心(NTSC),具有數字時間戳認證的技術條件和權威性。所以,在數字水印中引入時間戳認證協議是可行的[5]。
基于這樣的思想,本文將設計基于時間戳的零水印方案:作者在創作的作品發表之前,通過向時間戳權威機構申請時間戳,將代表自己身份的水印、創作的作品以及申請的時間戳三者進行綁定,以此證明某個時間開始作者對作品擁有所有權。當然,版權所有者還需在第一時間注冊自己的作品,以防被他人搶注冊。時間戳機制是解決零水印解釋攻擊的有效手段。
(1)定義:設I為原二值文本圖像,大小為N×N,零水印W是根據圖像特征產生的隨機序列,是一個值為{-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 零水印的檢測流程圖
基于上述理論分析,本文認為,將零水印技術應用于二值文本圖像中是可行的。在后面的內容中,將采用離散小波變換的方法對此方案進行實現,并通過實驗驗證零水印技術的優越性。
小波變換用于圖像處理的基本思想是把圖像進行多分辨率分解,圖像經過一級小波變換,分解成4個四分之一大小的子圖,即水平方向、垂直方向和對角線方向的高頻細節子圖和低頻概貌子圖。然后,低頻概貌子圖可按照相同的方法進行第二級的小波分解,分解成分辨率更小的子圖。同理,可以對圖像進行更多級的小波分解,如圖3所示。

圖3 基于離散小波變換的三級分解示意圖
離散小波變換(DWT),是數字水印嵌入方法之一,近年來越來越受到重視。DWT方法的優點是不僅可以將圖像分解到頻域中,而且保留了圖像在空間上的分布,這對于加強數字水印的有損壓縮和局部剪裁等的魯棒性是非常有效的。同時小波變換的多分辨率分析和人的視覺特性能較好匹配,接近HVS的要求[8]。
Logistic映射系統是一種常用的混沌系統。混沌(Chaos)是一種復雜的非線性非平衡的動力學過程,具有三大特點:首先,混沌系統的行為是許多有序行為的集合,而每個有序分量在正常條件下,都不起主導作用。由于系統中的有序分量足夠多且形式多樣,因而為應用提供了很大靈活性和很多的機會。其次,混沌看起來似乎隨機,但都是確定的。再次,混沌系統對初始條件極為敏感,對于兩個相同的混沌系統,若使其處于稍異的初態就會迅速變成為完全不同的狀態[9]。由混沌系統的特性得出,使用混沌來構造零水印方案是可行的。
Logistic映射的迭代公式如下:
xi+1 =μx(1-xi)
(3)
當3.5699456 <μ≤4時,logistic映射處于混沌狀態,而當x∈(0,1)時logistic映射也落在(0,1)范圍內。文獻[2]采用對映射數列乘N再取整的方法求N個范圍為[1,N]的隨機數,但該法求得的數列并非不重復數列。本文使用logistic映射產生隨機不重復數列。
零水印算法關鍵在于如何利用圖像特征構造水印而并非如何嵌入水印,所以沒有了常規水印算法的變換域到空間域的逆轉過程,算法速度也明顯快得多。
3.3.1 DWT零水印的構造
基于DWT變換的零水印構造方法思路是:根據圖像重要特征的所在區域,選擇小波變換域的低頻區作為零水印的構造區域,而且低頻區內的系數具有很強的抗干擾能力,這樣構造出來的零水印具有很好的魯棒性。
在此,首先要確定圖像進行小波變換的層數,其主要依據是圖像的大小。如果圖像的尺度比較大,對其進行小波變換的層數也應該比較大;若圖像的尺度比較小,對其進行小波變換的層數也應該比較小。大小為M×N的圖像經s級小波分解后,得到大小為(M/2s)×(N/2s)的逼近子圖。
算法的步驟描述如下:
①根據圖像I或實際要求確定零水印的大小M;
②根據水印的大小M以及圖像的大小,對圖像I進行n層小波變換后得到I′;
③取密鑰k1、k2,用k1、k2分別生成取值范圍在[0,1/2n]內的序列:
A{A1,A2,...,AM}和B{B1,B2,...,BM},構造序列產生器如下:
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作為構造點的位置,可以保證選取點的位置分布在低頻域內。
⑤根據生成的構造點序列計算{LLnA1- LLnB1,……,LLnAi- LLnBi,……, LLnAM- LLnBM } 得到差值序列Y{Y1,Y2,...,YM};
⑥按下面的規則生成水印W:

(7)
⑦最后將水印W加密,生成加密水印發給TSA,請求加蓋時間戳。收到TSA的響應后用TSA的公鑰驗證TSA的真實性,若驗證通過,則保存TSA發來的含有時間戳的版權水印WT。
3.3.2 DWT零水印的檢測
檢測算法采用水印客觀相似性方法,先將蓋有時間戳的水印WT用時間戳權威機構TSA的公鑰進行解密,分離出水印W和時間戳;然后用零水印構造算法構造疑似圖的零水印W’,將W和W’用公式8計算相似性Sim,如果Sim大于識別閾值T,則證明擁有對待檢測圖像的版權。
(8)
其中,N為水印長度,Wi和W’i分別表示原圖水印和疑似圖水印。
計算客觀相似性的原因是因為受水印保護的原圖像在經過網絡傳輸后信息會有改變如變形、損傷及對圖像的常規處理造成的細小改變。要檢測到和原來一模一樣的水印是不現實的,只有用檢測到客觀相似性的峰值來判斷水印的存在與否,這樣做也使得水印算法具有一定的魯棒性。
零水印的檢測過程沒有對檢測的圖像作處理,而是直接進行檢測,其過程是零水印構造的逆過程,過程如下:
①到⑥步驟與DWT構造算法步驟相同,只是輸入變成了待測圖像I’,生成的水印變為W’;
⑦用公式8,計算檢測到的水印與解密后的水印的相似性。
對于選定的閾值T,若Sim ≥T,則認為待測圖像和原圖具有相同版權,否則認為待測圖像和原圖沒有關系。
其檢測流程圖如圖4所示,檢測的水印不需要申請時間戳。

圖4 零水印檢測框圖
下面將用離散小波變換構造零水印方案,并在在矩陣實驗室MATLAB 7.1(Matrix Laboratory)進行仿真[10,11]。
選取一段中文文本,將其轉換為二值圖像作為原圖像(如圖5所示)。為方便使用變換域方法,原圖像的大小為256×256。采用DWT零水印算法構造水印,鑒于原圖像大小為256×256,取n=3,即先將原圖像進行3次離散小波變換,經分解后得到32×32的細節子圖,分解后的細節子圖如圖6所示。

圖5 原圖

圖6 三層DWT變換得到的細節子圖
這里選取密鑰K1=0.01,K2=0.02來構造選取位置,在Logistic映射中取μ=4,使用最高層低頻系數構成的逼近子圖來生成水印,由于子圖大小為32×32,所以R值為322=1024,這樣可以保證選取位置全部落在子圖中,在MATLAB中實現算法,得到的水印圖像如圖7所示。

圖7 DWT零水印算法構造的水印圖
零水印的檢測通過同樣的方法得到水印,然后再檢測相關性,并與閾值比較,最后得出結論。一個閾值的選定,需要做大量的實驗,由于時間有限,本文雖然未作大量的實驗,但所作實驗具有一定代表性,分析這些實驗的結果,最后將閾值T的值定為0.6。
魯棒性是評估一個數字水印方案的重要標準,為了檢測和說明零水印方法的性能,下面進行幾種典型攻擊實驗,并對結果進行了分析。零水印的大小為1024,“算法匹配度”指檢測到的零水印和原水印之間匹配的個數。

表1 測試結果
(1)幾何失真攻擊:常規的幾何失真包括對圖像的旋轉、縮放、裁剪等, 測試結果見表1所示。很多算法對于這一類攻擊的魯棒性都低,但本算法效果不錯。對于旋轉攻擊的結果是未做任何恢復的情況下進行的實驗,如果將旋轉后的圖像恢復,效果更好[12];對于裁剪攻擊,同樣有相當不錯的抵抗能力。
(2)JPEG壓縮:這里采用標準JPEG格式對原始圖像分別使用5%,25%,65%,95%不同的壓縮率壓縮,然后對壓縮后的圖像進行零水印的檢測。壓縮比率越大圖像失真程度也越大,檢測水印也就越困難。從實驗結果表1可以看出,DWT對JPEG壓縮的魯棒性都很強,即使質量因子為5%的情況下(一般的圖像水印算法無法檢測到水印),也可取得相似度80%以上的效果。
(3)濾波:空域濾波器根據功能可以分為平滑濾波器和銳化濾波器。這里采用平滑濾波器對圖像進行攻擊,采用的濾波窗口大小為[5×5]的維納濾波器。由于零水印不改變原始圖像,所以具有較強的抗濾波攻擊的力。
(4)噪聲攻擊:對原圖像加噪聲以測試零水印算法對于噪聲攻擊的魯棒性。
分別使用四種噪聲對算法性能進行測試,結果見表1所示。DWT算法對噪聲攻擊的魯棒性總體還不錯,尤其針對椒鹽噪聲攻擊,檢測結果有很高的相似度。這里的椒鹽噪聲攻擊選取的強度為0.4。
本文分析了零水印技術的特點,并提出了基于離散小波變換的零水印應用于二值文本圖像的方案,實驗表明該算法能解決數字水印中的不可感知性和魯棒性的矛盾,在抗攻擊能力方面也表現出較穩定的性能,是個可行性很強的方案,可以在今后的數字水印技術上進行推廣。
參考文獻:
[1]Ingemar J.Cox,Matthew L.Miller,Jeffrey A.Bloom著,王穎等譯.數字水印[M].北京:電子工業出版社,2003.1-76.
[2]孫圣和,陸哲明,牛夏牧等著.數字水印技術及應用[M].北京:科學出版社,2004.
[3]王炳錫.數字水印技術[M].西安:西安電子科技大學出版社,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]向華,曹漢強,伍凱. 一種基于混沌調制的零水印算法[J]. 中國圖象圖形學報,2006,5:720-724.
[7]俞登峰. 基于svd分解和傅立葉-梅林變換的零水印技術研究[D].北京化工大學.2008.
[8]唐慶生, 基于離散小波變換的數字水印技術[J].成都信息工程學院學報,2005,20(1):57-60.
[9]溫泉,孫瑛鋒,王樹勛.基于零水印的數字水印技術研究.全國第三屆信息隱藏學術研討會,西安.2001.西安:西安電子科技大學出版社,2001.102-109.
[10]張弛.二值文本圖像數字水印技術研究[D].重慶:重慶大學計算機學院,2007.
[11]羅軍輝,馮平,哈力旦·A著,MATLAB7.0在圖像處理中的應用[M].北京:機械工業出版社,2005.
[12]P.Loo,N.Kingsbury.Watermark Detection Based on the Properties of Codes[J].Image and Signal Processing.2003.150(2):115-121.