劉宇
近年來,移動互聯(lián)網(wǎng)飛速發(fā)展,大量的社交軟件應用的出現(xiàn)給人們提供了分享生活、展示自我的舞臺。智能手機和攝像技術的發(fā)展以及圖像處理算法的進步,使得屏幕前的普通人能夠有效制造出大量優(yōu)質的數(shù)字媒體。這些數(shù)字信息被方便地被制造出來并分享在互聯(lián)網(wǎng)上滿足人們不同的需求。然而,技術的發(fā)展在大大方便人們的生活的同時,也使得對相應數(shù)字信息的盜版、非法篡改與復制的成本大大降低。在這種情況下,為保護圖片創(chuàng)造者的版權信息,數(shù)字水印這種技術被廣泛應用。
用于版權保護的可見數(shù)字水印允許公開用戶獲取數(shù)字媒體,并且不介意對方明確水印信息的存在。為了不干擾其他人獲取原始信息內容,通過一種對人視覺感知不敏感的形式將水印嵌入到載體信息中。經(jīng)過多年的發(fā)展,數(shù)字水印能夠滿足視頻、圖片等不同媒體的版權保護需求。
水印攻擊與數(shù)字水印相當于一枚硬幣的正反面,二者相互促進,在互相的博弈中交替發(fā)展。一個水印算法的好壞,可以用水印的魯棒性來表示。魯棒性表達了算法在各種復雜環(huán)境和惡意攻擊中存活的能力。而為了測試水印算法魯棒性,使用水印攻擊技術。若算法能抵抗的水印攻擊類型越多,則該算法的魯棒性越強。本文就將對常用于測試魯棒性的水印攻擊算法進行介紹。
水印攻擊作為評價水印算法的客觀標準,在二十世紀九十年代與數(shù)字水印算法一同得到了極大的發(fā)展。通常攻擊者對水印魯棒性的測試會利用到一種或者多種攻擊方式,有利用圖像操作對水印信息去除,有利用幾何變換破壞水印同步信息破壞水印提取,也有利用可逆水印的漏洞實行窮舉攻擊等。
1.去除攻擊
去除攻擊是一種旨在將水印信息徹底從載體圖像之中移除的攻擊方式。這意味著去除攻擊成功后,水印提取方無法將水印信息從載體圖像中恢復。去除攻擊不像利用密碼學及水印協(xié)議攻擊針對某種特殊的算法的漏洞,它的目標是將水印信息徹底從水印圖像中去除,對多種不同的水印算法都有一定的效果。常見的去除攻擊包含對圖像進行有損壓縮、降噪等。
有損壓縮和降噪濾波是常見的圖像處理過程。這些過程普遍存在于各種圖像算法過程中,并且魯棒水印算法希望水印信息能夠在這些過程中幸存,所以學術界將這些過程作為水印去除的攻擊用于評測水印算法魯棒性。有損壓縮算法的主要思路為省略對視覺效果影響較小細節(jié)信息,通常在不同平臺傳播圖像時使用,實現(xiàn)節(jié)省流量或者降低存儲空間的目的。在日常生活中最為常見的一種壓縮方式就是JPEG壓縮,圖像經(jīng)過JPEG壓縮后,部分信息丟失,丟失信息的多少與壓縮程度有關。水印信息有可能存儲于丟失的信息中導致壓縮過程后,提取者無法從壓縮圖片中提取水印。
降噪可以看作一種對圖像的優(yōu)化操作,目的是去除圖像中的噪聲。而水印作為后加進圖像的信息,與圖像本身內容相比就可以視為噪聲。在擁有水印圖像的情況下,根據(jù)統(tǒng)計特性估計出原始圖像就自然可以達到去除水印的目的。根據(jù)求解的理論不同,如利用最大似然、最小平方差和最大先驗概率,可以設計不同的濾波器。在求解過程中,根據(jù)水印空間分布假設和載體圖像空間假設設計對應的降噪濾波器來進行去除攻擊。較為精細的去除攻擊要求去除水印信息的同時還將保證載體圖像的圖像質量不被破壞。對水印分布常用的假設有高斯分布、拉普拉斯分布,利用最大似然估計而設計的濾波器分別為均值濾波、中值濾波,而利用最大先驗概率設計的代表性濾波器為維納濾波。
2、幾何攻擊
幾何攻擊是通過對載體圖像進行幾何扭曲讓原來的像素位置發(fā)生改變,達到水印提取方失去對水印信息的同步而無法對水印信息進行提取的目的。幾何攻擊并不在意具體的水印算法嵌入過程,只是需要保證在提取端的同步過程出現(xiàn)失誤即可。由于水印信息依舊存在于原來的載體圖像之中,理論上水印提取者重新獲得同步信息之后依舊有可能將水印信息提取。但在實踐中,恢復同步信息的難度極大。
常見的幾何攻擊分為全局和局部攻擊。全局攻擊就是在攻擊的過程中同時涉及到圖像的所有像素,常見的攻擊方式對圖像進行全局旋轉、圖像尺度的縮放、仿射變換或者將這多種攻擊方式結合操作。局部幾何扭曲也是另一種有效的的攻擊方式,它對局部圖像進行肉眼難以察覺的小的幾何失真來破壞同步信息。如對局部像素的位置進行隨機置亂,就可以顯著的破壞一些空域水印的提取
3.窮舉攻擊
窮舉攻擊是一種利用暴力搜索方式進行的攻擊。一些水印算法是可逆的,即當知道所有信息之后可獲得原始圖像信息。一些可逆水印算法會在嵌入過程和提取過程中某一步會用到密鑰來對某些信息進行加密,窮舉攻擊就利用窮舉搜索還原出這個密鑰來獲得水印信息。由于水印算法的具體流程并不在保密的范圍內,假設攻擊者知道算法,那么就可以根據(jù)獲得的水印信息進行進一步水印的去除等操作。在這個過程中,攻擊者的計算開銷會隨著密鑰及加密空間的變大而提高。所以對水印算法來說,為了保證安全,通常需要選擇一個合適長度的密鑰,同時確保具有較大的加密空間提高攻擊者攻擊所付出的代價。
4.拷貝攻擊
在這種攻擊下,攻擊目標不是破壞水印信息,而是估計出載體圖像中的水印信息并將其拷貝至其它的載體圖像中,來使得本不含有水印的圖像含有水印。常見的方法有通過濾波等操作,預估出空域圖像的水印信息,并對預估水印信息對載體圖像進行適應性的處理滿足水印的不可見性,然后將其加入到目標圖像中。整個過程攻擊者不需要了解水印算法具體內容,密鑰知識,但其假設水印算法一定為加性算法。防御拷貝攻擊可以通過在水印信息中加入對載體圖像的特征信息來進行抵抗。當水印提取者發(fā)現(xiàn)嵌入的水印信息中,關于載體圖像的特征信息與當前的載體圖像信息不符,就會明白相應圖像遭受了拷貝攻擊而不會被欺騙。