數字水印
數字水印
數字水印(Digital Watermarking)技術是將一些標識信息(即數字水印)直接嵌入數字載體當中(包括多媒體、文檔、軟體等)或是間接表示(修改特定區域的結構),且不影響原載體的使用價值,也不容易被探知和再次修改。但可以被生產方識別和辨認。通過這些隱藏在載體中的信息,可以達到確認內容創建者、購買者、傳送隱秘信息或者判斷載體是否被篡改等目的。數字水印是保護信息安全、實現防偽溯源、版權保護的有效辦法,是信息隱藏技術研究領域的重要分支和研究方向。
數字水印技術基本上具有下面幾個方面的特點:
----安全性(Security):數字水印的信息應是安全的,難以篡改或偽造,同時,應當有較低的誤檢測率,當原內容發生變化時,數字水印應當發生變化,從而可以檢測原始數據的變更;當然數字水印同樣對重複添加有很強的抵抗性;
----隱蔽性(Invisibility):數字水印應是不可知覺的,而且應不影響被保護數據的正常使用;不會降質;
----魯棒性(Robustness):該特性適用於魯棒水印。是指在經歷多種無意或有意的信號處理過程后,數字水印仍能保持部分完整性並能被準確鑒別。可能的信號處理過程包括通道雜訊、濾波、數/模與模/數轉換、重採樣、剪切、位移、尺度變化以及有損壓縮編碼等;
----敏感性(Sensitivity):該特性適用於脆弱水印。是經過分發、傳輸、使用過程后,數字水印能夠準確的判斷數據是否遭受篡改。進一步的,可判斷數據篡改位置、程度甚至恢復原始信息。
按特性劃分
----按水印的特性可以將數字水印分為魯棒數字水印和脆弱數字水印兩類。魯棒水印(Robust Watermarking)主要用於在數字作品中標識著作權信息,利用這種水印技術在多媒體內容的數據中嵌入創建者、所有者的標示信息,或者嵌入購買者的標示(即序列號)。在發生版權糾紛時,創建者或所有者的信息用於標示數據的版權所有者,而序列號用於追蹤違反協議而為盜版提供多媒體數據的用戶。用於版權保護的數字水印要求有很強的魯棒性和安全性,除了要求在一般圖像處理(如:濾波、加雜訊、替換、壓縮等)中生存外,還需能抵抗一些惡意攻擊。
----脆弱水印(Fragile Watermarking),與魯棒水印的要求相反,脆弱數字水印主要用於完整性保護和認證,這種水印同樣是在內容數據中嵌入不可見的信息。當內容發生改變時,這些水印信息會發生相應的改變,從而可以鑒定原始數據是否被篡改。根據脆弱水印的應用範圍,脆弱水印又可分為選擇性和非選擇性脆弱水印。非選擇性脆弱水印能夠鑒別出比特位的任意變化,選擇性脆弱水印能夠根據應用範圍選擇對某些變化敏感。例如,圖像的選擇性脆弱水印可以實現對同一幅圖像的不同格式轉換不敏感,而對圖像內容本身的處理(如:濾波、加雜訊、替換、壓縮等)又有較強的敏感性,即:既允許一定程度的失真,又要能將特定的失真情況探測出來。
按附載媒體劃分
----按水印所附載的媒體,我們可以將數字水印劃分為圖像水印、音頻水印、視頻水印、文本水印以及用於三維網格模型的網格水印等。隨著數字技術的發展,會有更多種類的數字媒體出現,同時也會產生相應的水印技術。
按檢測過程劃分
----按水印的檢測過程可以將數字水印劃分為盲水印和非盲水印。非盲水印在檢測過程中需要原始數據或者預留信息,而盲水印的檢測不需要任何原始數據和輔助信息。一般來說,非盲水印的魯棒性比較強,但其應用需要原始數據的輔助而受到限制。盲水印的實用性強,應用範圍廣。非盲水印中,新出現的半盲水印能夠以少量的存儲代價換來更低的誤檢率、漏檢率,提高水印演演算法的性能。目前學術界研究的數字水印大多數是盲水印或者半盲水印。
按內容劃分
----按數字水印的內容可以將水印劃分為有意義水印和無意義水印。有意義水印是指水印本身也是某個數字圖像(如商標圖像)或數字音頻片段的編碼;無意義水印則只對應於一個序列。有意義水印的優勢在於,如果由於受到攻擊或其他原因致使解碼后的水印破損,人們仍然可以通過視覺觀察確認是否有水印。但對於無意義水印來說,如果解碼后的水印序列有若干碼元錯誤,則只能通過統計決策來確定信號中是否含有水印。
按用途劃分
----不同的應用需求造就了不同的水印技術。按水印的用途,我們可以將數字水印劃分為票證防偽水印、版權保護水印、篡改提示水印和隱蔽標識水印。
----票證防偽水印是一類比較特殊的水印,主要用於列印票據和電子票據、各種證件的防偽。一般來說,偽幣的製造者不可能對票據圖像進行過多的修改,所以,諸如尺度變換等信號編輯操作是不用考慮的。但另一方面,人們必須考慮票據破損、圖案模糊等情形,而且考慮到快速檢測的要求,用於票證防偽的數字水印演演算法不能太複雜。
----版權標識水印是目前研究最多的一類數字水印。數字作品既是商品又是知識作品,這種雙重性決定了版權標識水印主要強調隱蔽性和魯棒性,而對數據量的要求相對較小。
----篡改提示水印是一種脆弱水印,其目的是標識原文件信號的完整性和真實性。
----隱蔽標識水印的目的是將保密數據的重要標註隱藏起來,限制非法用戶對保密數據的使用。
按隱藏位置劃分
----按數字水印的隱藏位置,我們可以將其劃分為時(空)域數字水印、頻域數字水印、時/頻域數字水印和時間/尺度域數字水印。
----時(空)域數字水印是直接在信號空間上疊加水印信息,而頻域數字水印、時/頻域數字水印和時間/尺度域數字水印則分別是在DCT變換域、時/頻變換域和小波變換域上隱藏水印。
----隨著數字水印技術的發展,各種水印演演算法層出不窮,水印的隱藏位置也不再局限於上述四種。應該說,只要構成一種信號變換,就有可能在其變換空間上隱藏水印。
按透明性劃分
按數字水印是否透明的性質,可分為可見水印和不可見水印兩種。可見水印就是人眼能看見的水印,比如照片上標記的拍照的日期或者電視頻道上的標識等。不可見水印就是人類視覺系統難以感知的,也是當前數字水印領域關注比較多的。
數字水印系統必須滿足一些特定的條件才能使其在數字產品版權保護和完整性鑒定方面成為值得信賴的應用體系。一個安全可靠的水印系統一般應滿足如下要求:
(1)隱蔽性
也稱不可感知性,即對於不可見水印處理系統,水印嵌入演演算法不應產生可感知的數據修改,也就是水印在通常的視覺條件下應該是不可見的,水印的存在不會影響作品的視覺效果。
(2)魯棒性
水印必須很難去掉(希望不可能去掉),當然在理論上任何水印都可以去掉,只要對水印的嵌入過程有足夠的了解,但是如果對水印的嵌入只是部分了解的話,任何破壞或消除水印的企圖都應導致載體嚴重的降質而不可用。
(3)抗篡改性
與抗毀壞的魯棒性不同,抗篡改性是指水印一旦嵌入到載體中,攻擊者就很難改變或偽造。魯棒性要求高的應用,通常也需要很強的抗篡改性。在版權保護中,要達到好的抗竄改性是比較困難的。
(4)水印容量
嵌入的水印信息必須足以表示多媒體內容的創建者或所有者的標誌信息,或是購買者的序列號。這樣在發生版權糾紛時,創建者或所有者的信息用於標示數據的版權所有者,而序列號用於標示違反協議而為盜版提供多媒體數據的用戶。
(5)安全性
應確保嵌入信息的保密性和較低的誤檢測率。水印可以是任何形式的數據,比如數值、文本、圖像等。所有的水印都包含一個水印嵌入系統和水印恢復系統。
(6)低錯誤率
即使在不受攻擊或者無信號失真的情況下,也要求不能檢測到水印(漏檢、false-negative)以及不存在水印的情況下,檢測到水印(虛檢、false-positive)的概率必須非常小。
近年來,數字水印技術研究取得了很大的進步,下面對一些典型的演演算法進行了分析,除特別指明外,這些演演算法主要針對圖像數據(某些演演算法也適合視頻和音頻數據)。
空域演演算法
該類演演算法中典型的水印演演算法是將信息嵌入到隨機選擇的圖像點中最不重要的像素位(LSB:least significant bits)上,這可保證嵌入的水印是不可見的。但是由於使用了圖像不重要的像素位,演演算法的魯棒性差,水印信息很容易為濾波、圖像量化、幾何變形的操作破壞。另外一個常用方法是利用像素的統計特徵將信息嵌入像素的亮度值中。
Patchwork演演算法
方法是隨機選擇N對像素點(ai,bi),然後將每個ai點的亮度值加1,每個bi點的亮度值減1,這樣整個圖像的平均亮度保持不變。適當地調整參數,Patchwork方法對JPEG壓縮、FIR濾波以及圖像裁剪有一定的抵抗力,但該方法嵌入的信息量有限。為了嵌入更多的水印信息,可以將圖像分塊,然後對每一個圖像塊進行嵌入操作。
變換域演演算法
該類演演算法中,大部分水印演演算法採用了擴展頻譜通信(spread spectrum communication)技術。演演算法實現過程為:先計算圖像的離散餘弦變換(DCT),然後將水印疊加到DCT域中幅值最大的前k係數上(不包括直流分量),通常為圖像的低頻分量。若DCT係數的前k個最大分量表示為D=,i=1,…,k,水印是服從高斯分佈的隨機實數序列W=,i=1,…,k,那麼水印的嵌入演演算法為di=di(1+awi),其中常數a為尺度因子,控制水印添加的強度。然後用新的係數做反變換得到水印圖像I。解碼函數則分別計算原始圖像I和水印圖像I*的離散餘弦變換,並提取嵌入的水印W*,再做相關檢驗以確定水印的存在與否。該方法即使當水印圖像經過一些通用的幾何變形和信號處理操作而產生比較明顯的變形后仍然能夠提取出一個可信賴的水印拷貝。一個簡單改進是不將水印嵌入到DCT域的低頻分量上,而是嵌入到中頻分量上以調節水印的頑健性與不可見性之間的矛盾。另外,還可以將數字圖像的空間域數據通過離散傅里葉變換(DFT)或離散小波變換(DWT)轉化為相應的頻域係數;其次,根據待隱藏的信息類型,對其進行適當編碼或變形;再次,根據隱藏信息量的大小和其相應的安全目標,選擇某些類型的頻域係數序列(如高頻或中頻或低頻);再次,確定某種規則或演演算法,用待隱藏的信息的相應數據去修改前面選定的頻域係數序列;最後,將數字圖像的頻域係數經相應的反變換轉化為空間域數據。該類演演算法的隱藏和提取信息操作複雜,隱藏信息量不能很大,但抗攻擊能力強,很適合於數字作品版權保護的數字水印技術中。
1. 基於離散餘弦變換的數字水印
最早的基於分塊DCT水印技術出現於E Koch,J Zhao的文獻。針對靜止圖像和視頻壓縮標準(JPEG和MPEG),他們的水印方案中圖像也被分成8×8的塊,由一個密鑰隨機的選擇圖像的一些分塊,在頻域的中頻上稍微改變一個三元組以隱藏二進序列信息。選擇在中頻分量編碼是因為在高頻編碼易於被各種信號處理方法破壞,而在低頻編碼則由於人的視覺對低頻分量很敏感,對低頻分量的改變易於被察覺。未經授權者由於不知道水印嵌入的區域,因此是很難測出水印的,此外,該水印演演算法對有損壓縮和低通濾波是魯棒的。將圖像分割成8×8塊,並對每個塊做DCT變換,然後隨機選擇構造所有塊的一個子集,對子集的每一個塊,選擇一組頻率並嵌入二進位水印信息。由於頻率組的選擇不是基於最顯著分量,並且頻率係數的方差較小,因此該方法對雜訊、幾何變形以及多文檔攻擊比較敏感。
Cox等人於1995年提出了基於圖像全局變換的水印方法,稱之為擴頻法。這也是目前大部分變換域水印演演算法中所用到的技術。它將滿足正態分佈的偽隨機序列加入到圖像的DCT變換后視覺最重要係數中,利用了序列擴頻技術(SS)和人類視覺特性(HVS)。演演算法原理為先選定視覺重要係數,再進行修改,最常用的嵌入規則如下:
其中分別是修改前和修改後的頻域係數,α是縮放因子,是第i個信息位水印。
一般說來,乘法準則的抗失真性能要優於加法準則。水印的檢測是通過計算相關函數實現的。從嵌入水印的圖像中提取出是嵌入規則的逆過程,把提取出來的水印與原水印作相似性運算,與制定的閾值比較,可確定是否存在水印。這是穩健性水印的奠基性演演算法。
Chiou-Ting Hsu等人提出一種基於分塊DCT的水印,他們的水印是可辨識的圖像,而不是簡單的一個符號或一個隨機數。通過有選擇地修改圖像的中頻係數來嵌入水印。驗證時,衡量提取出的水印同原水印之間的相似性來判斷是否加入了水印
2. 基於離散小波變換的數字水印
與傳統的DCT變換相比,小波變換是一種變解析度的,將時域與頻域相聯合的分析方法,時間窗的大小隨頻率自動進行調整,更加符合人眼視覺特性。小波分析在時、頻域同時具有良好的局部性,為傳統的時域分析和頻域分析提供了良好的結合[6]。
目前,小波分析已經廣泛應用於數字圖像和視頻的壓縮編碼、計算機視覺、紋理特徵識別等領域。由於小波分析在圖像處理上的許多特點可用於信息隱藏的研究,所以這種分析方法在信息隱藏和數字水印領域的應用也越來越受到廣大研究者的重視,目前已經有很多比較典型的基於離散小波變換的數字水印演演算法。
除了上述有代表性的變換域演演算法外,還有一些變換域水印演演算法,它們中有相當一部分是上述演演算法的改進及發展。
總的來說,與空域的方法相比,變換域的方法具有如下優點:
(1)在變換域中嵌入的水印信號能量可以分佈到空域的所有像素上,有利於保證水印的不可見性;
(2)在變換域,人類視覺系統(HVS)的某些特性(如頻率掩蔽特性)可以更方便地結合到水印編碼過程中,因而其隱蔽性更好;
(3)變換域的方法可與國際數據壓縮標準兼容,從而易實現在壓縮域(compressed domain)內的水印演演算法,同時也能抵抗相應的有損壓縮。
壓縮域演演算法
基於JPEG、MPEG標準的壓縮域數字水印系統不僅節省了大量的完全解碼和重新編碼過程,而且在數字電視廣播及VOD(Video on Demand)中有很大的實用價值。相應地,水印檢測與提取也可直接在壓縮域數據中進行。下面介紹一種針對MPEG-2壓縮視頻數據流的數字水印方案。雖然MPEG-2數據流語法允許把用戶數據加到數據流中,但是這種方案並不適合數字水印技術,因為用戶數據可以簡單地從數據流中去掉,同時,在MPEG-2編碼視頻數據流中增加用戶數據會加大位率,使之不適於固定帶寬的應用,所以關鍵是如何把水印信號加到數據信號中,即加入到表示視頻幀的數據流中。對於輸入的MPEG-2數據流而言,它可分為數據頭信息、運動向量(用於運動補償)和DCT編碼信號塊3部分,在方案中只有MPEG-2數據流最後一部分數據被改變,其原理是,首先對DCT編碼數據塊中每一輸入的Huffman碼進行解碼和逆量化,以得到當前數據塊的一個DCT係數;其次,把相應水印信號塊的變換係數與之相加,從而得到水印疊加的DCT係數,再重新進行量化和Huffman編碼,最後對新的Huffman碼字的位數n1與原來的無水印係數的碼字n0進行比較,只在n1不大於n0的時候,才能傳輸水印碼字,否則傳輸原碼字,這就保證了不增加視頻數據流位率。該方法有一個問題值得考慮,即水印信號的引入是一種引起降質的誤差信號,而基於運動補償的編碼方案會將一個誤差擴散和累積起來,為解決此問題,該演演算法採取了漂移補償的方案來抵消因水印信號的引入所引起的視覺變形。
NEC演演算法
該演演算法由NEC實驗室的Cox等人提出,該演演算法在數字水印演演算法中佔有重要地位,其實現方法是,首先以密鑰為種子來產生偽隨機序列,該序列具有高斯N(0,1)分佈,密鑰一般由作者的標識碼和圖像的哈希值組成,其次對圖像做DCT變換,最後用偽隨機高斯序列來調製(疊加)該圖像除直流(DC)分量外的1000個最大的DCT係數。該演演算法具有較強的魯棒性、安全性、透明性等。由於採用特殊的密鑰,因此可防止IBM攻擊,而且該演演算法還提出了增強水印魯棒性和抗攻擊演演算法的重要原則,即水印信號應該嵌入源數據中對人感覺最重要的部分,這種水印信號由獨立同分佈隨機實數序列構成,且該實數序列應該具有高斯分佈N(0,1)的特徵。
生理模型演演算法
人的生理模型包括人類視HVS(HumanVisualSystem)和人類聽覺系統HAS。該模型不僅被多媒體數據壓縮系統利用,同樣可以供數字水印系統利用。利用視覺模型的基本思想均是利用從視覺模型導出的JND(Just Noticeable Difference)描述來確定在圖像的各個部分所能容忍的數字水印信號的最大強度,從而能避免破壞視覺質量。也就是說,利用視覺模型來確定與圖像相關的調製掩模,然後再利用其來插入水印。這一方法同時具有好的透明性和強健性。
隨著數字水印技術的發展,數字水印的應用領域也得到了擴展,數字水印的基本應用領域是防偽溯源、版權保護、隱藏標識、認證和安全隱蔽通信。
當數字水印應用於防偽溯源時,包裝、票據、證卡、文件印刷列印都是潛在的應用領域。用於版權保護時,潛在的應用市場在於電子商務、在線或離線地分發多媒體內容以及大規模的廣播服務。數字水印用於隱藏標識時,可在醫學、製圖、數字成像、數字圖像監控、多媒體索引和基於內容的檢索等領域得到應用。數字水印的認證方面主要ID卡、信用卡、ATM卡等上面數字水印的安全不可見通信將在國防和情報部門得到廣泛的應用。多媒體技術的飛速發展和Internet的普及帶來了一系列政治、經濟、軍事和文化問題,產生了許多新的研究熱點,以下幾個引起普遍關注的問題構成了數字水印的研究背景。
數字作品的知識產權保護
----數字作品(如電腦美術、掃描圖像、數字音樂、視頻、三維動畫)的版權保護是當前的熱點問題。由於數字作品的拷貝、修改非常容易,而且可以做到與原作完全相同,所以原創者不得不採用一些嚴重損害作品質量的辦法來加上版權標誌,而這種明顯可見的標誌很容易被篡改。
----“數字水印”利用數據隱藏原理使版權標誌不可見或不可聽,既不損害原作品,又達到了版權保護的目的。目前,用於版權保護的數字水印技術已經進入了初步實用化階段,IBM公司在其“數字圖書館”軟體中就提供了數字水印功能,Adobe公司也在其著名的Photoshop軟體中集成了Digimarc公司的數字水印插件。然而實事求是地說,目前市場上的數字水印產品在技術上還不成熟,很容易被破壞或破解,距離真正的實用還有很長的路要走。
商務交易中的票據防偽
----隨著高質量圖像輸入輸出設備的發展,特別是精度超過1200dpi的彩色噴墨、激光印表機和高精度彩色複印機的出現,使得貨幣、支票以及其他票據的偽造變得更加容易。
----另一方面,在從傳統商務向電子商務轉化的過程中,會出現大量過度性的電子文件,如各種紙質票據的掃描圖像等。即使在網路安全技術成熟以後,各種電子票據也還需要一些非密碼的認證方式。數字水印技術可以為各種票據提供不可見的認證標誌,從而大大增加了偽造的難度。
證件真偽鑒別
----信息隱藏技術可以應用的範圍很廣,作為證件來講,每個人需要不只一個證件,證明個人身份的有:身份證、護照、駕駛證、出入證等;證明某種能力的有:各種學歷證書、資格證書等。
國內目前在證件防偽領域面臨巨大的商機,由於缺少有效的措施,使得“造假”、“買假”、“用假”成風,已經嚴重地干擾了正常的經濟秩序,對國家的形像也有不良影響。通過水印技術可以確認該證件的真偽,使得該證件無法仿製和複製。
聲像數據的隱藏標識和篡改提示
----數據的標識信息往往比數據本身更具有保密價值,如遙感圖像的拍攝日期、經/緯度等。沒有標識信息的數據有時甚至無法使用,但直接將這些重要信息標記在原始文件上又很危險。數字水印技術提供了一種隱藏標識的方法,標識信息在原始文件上是看不到的,只有通過特殊的閱讀程序才可以讀取。這種方法已經被國外一些公開的遙感圖像資料庫所採用。
----此外,數據的篡改提示也是一項很重要的工作。現有的信號拼接和鑲嵌技術可以做到“移花接木”而不為人知,因此,如何防範對圖像、錄音、錄像數據的篡改攻擊是重要的研究課題。基於數字水印的篡改提示是解決這一問題的理想技術途徑,通過隱藏水印的狀態可以判斷聲像信號是否被篡改。
隱蔽通信及其對抗
----數字水印所依賴的信息隱藏技術不僅提供了非密碼的安全途徑,更引發了信息戰尤其是網路情報戰的革命,產生了一系列新穎的作戰方式,引起了許多國家的重視。
----網路情報戰是信息戰的重要組成部分,其核心內容是利用公用網路進行保密數據傳送。迄今為止,學術界在這方面的研究思路一直未能突破“文件加密”的思維模式,然而,經過加密的文件往往是混亂無序的,容易引起攻擊者的注意。網路多媒體技術的廣泛應用使得利用公用網路進行保密通信有了新的思路,利用數字化聲像信號相對於人的視覺、聽覺冗餘,可以進行各種時(空)域和變換域的信息隱藏,從而實現隱蔽通信。
隱蔽性或透明性(Imperceptible or Transparency)-原始圖像在嵌入數字水印后的差異必須是人眼所無法察覺到的,也就是不能降低或破壞原始圖像的品質。
不易移除性(Non-removable)水印要設計得不容易甚至不可能被黑客移除。魯棒性(Robustness)經過水印技術處理后的圖像經由雜訊、壓縮處理、圖像處理以及各種攻擊后,所萃取的數字水印仍然可以清楚的體現以便於人眼辨識或判斷。
明確性(Unambiguous)提取的數字水印,經過各種攻擊后,失真不會很嚴重,可以明確的讓擁有者辨識或判斷。
數字水印技術是從信息隱藏技術發展而來的,是數字信號處理,圖像處理,密碼學應用,演演算法設計等學科的交叉領域。數字水印最早在1993年由Tirkel等人提出,在國際學術會議上發表題為“Electronic watermark”的第一篇有關水印的文章,提出了數字水印的概念及可能的應用,並針對灰度圖像提出了兩種向圖像最低有效位中嵌入水印的演演算法。1996年在英國劍橋牛頓研究所召開了第一屆國際信息隱藏學術研討會,標誌著信息隱藏學的誕生。