張建華,葉詩凡
(鄭州大學(xué) 管理工程系,河南 鄭州450001)
在知識經(jīng)濟時代,知識上升為社會生產(chǎn)的核心資源,知識管理 KM(Knowledge Management)成為企業(yè)重塑其核心競爭力的有效途徑。在此背景下,培育基于知識的競爭優(yōu)勢、確保知識安全,成為各種組織有效實施KM的基礎(chǔ)內(nèi)容。源于現(xiàn)代通信網(wǎng)絡(luò)的開放性、共享性、易傳播和易復(fù)制等特點,以侵犯知識版權(quán)為代表的各種網(wǎng)絡(luò)知識侵權(quán)現(xiàn)象層出不窮,嚴重侵害了知識主體利益。如何有效保護網(wǎng)絡(luò)知識版權(quán)成為當(dāng)前KM研究與應(yīng)用領(lǐng)域關(guān)注的焦點。有鑒于此,筆者所在課題組在早前提出的組織三層知識安全框架 (訪問控制-知識隱藏-知識加密)的基礎(chǔ)上[1],提出對允許流出組織之外的組織知識施加數(shù)字水印保護機制,以此增強組織知識產(chǎn)權(quán)保護能力。限于篇幅,本文僅討論位圖知識的盲數(shù)字水印機理及其系統(tǒng)的設(shè)計與實現(xiàn)問題。
數(shù)字水?。―igital Marking),是利用數(shù)字作品中存在的數(shù)據(jù)冗余性,向其中嵌入不易被潛在攻擊者察覺但可以判定、區(qū)分和提取的版權(quán)標(biāo)識信息(即水?。瑥亩鸬奖Wo數(shù)字作品知識版權(quán)的一種技術(shù)[1-2]。該技術(shù)起源于信息隱藏(Infomation Hiding)技術(shù),但兩者亦有很大不同。信息隱藏把機密信息隱藏在宿主文件(常見、非重要)的大量信息中而不讓潛在攻擊者發(fā)覺,通過隱藏“存在”本質(zhì)而達到保護機密信息的目的;數(shù)字水印則主要通過被隱藏的版權(quán)標(biāo)識信息對載體文件(重要、有價值的知識作品)進行版權(quán)保護或者侵權(quán)追蹤。數(shù)字水印立足于保護網(wǎng)絡(luò)知識產(chǎn)權(quán),其應(yīng)用極為廣泛,概括而言主要包括以下方面:知識產(chǎn)權(quán)標(biāo)識與保護、票據(jù)防偽、數(shù)據(jù)篡改提示等。
合理分類是人們認知新事物的有效途徑之一。按不同標(biāo)準(zhǔn),可對數(shù)字水印技術(shù)實施不同的類別劃分[3]。通常,根據(jù)水印載體特征,可將其分為文本水印、圖像水印、音頻水印和視頻水印等;依據(jù)水印信息的穩(wěn)定性特征,可將其分為魯棒性水印和脆弱性水印;按照水印嵌入與提取的操作域不同,可將其分為空域水印和頻域水??;按水印提取時是否需要原始載體文件參與的情況差異,可將其分為盲水印和非盲水印。
數(shù)字水印技術(shù)常見算法如表1所示。具體情況如下:(1)最低有效位 LSB(Least Significant Bits)算法。 該算法通過改寫知識載體的最低若干有效位來實現(xiàn)對相應(yīng)水印數(shù)據(jù)位的嵌入操作,它對宿主文件的影響很小,水印嵌入后并不改變宿主文件的容量,具有很強的隱蔽性;但其魯棒性較差,當(dāng)LSB位數(shù)選擇失當(dāng)時會明顯影響載體文件的視覺效果,并且對知識載體的細微改變可能會影響到水印信息的提取結(jié)果[1,4]。(2)離散余弦變換DCT(Discrete Cosine Transform)算法。該算法是數(shù)字圖像處理和信號處理中常用的一種正交變換,它是對實偶函數(shù)進行一種相當(dāng)于其兩倍長度的離散傅里葉變換,該算法具有壓縮比高、誤碼率小、信息集中能力強和計算復(fù)雜性綜合效果好等優(yōu)點;不過,其處理過程相對復(fù)雜,完成水印嵌入過程也較為耗時。(3)離散小波變換DWT(Discrete Wavelet Transform)算法。該算法將水印圖像進行小波變換后嵌入到宿主載體中,在圖像處理方面其比DCT變換更加適合人類視覺系統(tǒng),所嵌入的水印信息具有良好的視覺效果和抵抗多種攻擊的能力,是一種具有自適應(yīng)能力強、魯棒性好的水印算法,其缺點是計算量較大。(4)Patchwork算法。該算法的基本思想是任選N對圖像點,在增加其中一點亮度的同時將相應(yīng)的另一點的亮度降低,以便在這一調(diào)整過程中隱藏1 bit的水印信息于宿主媒體之中;該算法具有較高的水印隱蔽性并對有損壓縮編碼(JPEG)和一些帶有惡意攻擊的操作具有一定的抵抗能力,其缺點是嵌入的水印信息量有限[5-8]。在進行數(shù)字水印嵌入系統(tǒng)的設(shè)計時,要結(jié)合上述各算法的優(yōu)缺點以及具體應(yīng)用特征,選擇合適的數(shù)字水印算法,以滿足生產(chǎn)實踐的特定需要。
LSB算法原理是對宿主媒體的最低若干有效位做替換,用來替換最低有效位的位序列,即需要嵌入的水印信息或者基于水印生成的偽隨機序列。為了保障數(shù)字水印的隱秘性和有效性,所嵌入的水印強度不能太高,即LSB位數(shù)選擇要適當(dāng),否則會影響知識載體的視覺效果;另外,該算法產(chǎn)生的數(shù)字水印魯棒性不高,對知識載體的各種物理攻擊與損傷都可能會對后續(xù)的水印提取產(chǎn)生影響。不過,LSB算法作為數(shù)字水印的基礎(chǔ)算法,由于其具有嵌入的水印信息量大、簡單直觀、易于操作等優(yōu)點,在數(shù)字水印應(yīng)用領(lǐng)域始終處于重要地位[1,8];并且,在該領(lǐng)域研究中,在理論層面泛泛空談的居多,在應(yīng)用層面付諸實踐、通過實驗做進一步深入研究與細節(jié)討論的則很少。有鑒于此,本文擬對LSB數(shù)字水印算法做進一步深入研究,并在此基礎(chǔ)上分析、設(shè)計、開發(fā)相應(yīng)原型系統(tǒng),通過應(yīng)用實驗研究LSB算法的實施細節(jié),并對其中的關(guān)鍵問題進行深入分析。
位圖文件(擴展名為“BMP”)具有較高的保真度,它是微軟Windows操作系統(tǒng)中的標(biāo)準(zhǔn)圖像文件格式,能夠被多種Windows應(yīng)用程序所支持,信息豐富、保真效果好,在藝術(shù)攝影、方案設(shè)計、計算結(jié)果成像、建筑效果呈現(xiàn)等領(lǐng)域被廣為應(yīng)用。隨著網(wǎng)絡(luò)知識侵權(quán)、盜版問題的日益突出,對位圖文件實施有效的版權(quán)標(biāo)識則勢在必行?;贚SB算法的位圖數(shù)字水印的基本思路是:將數(shù)字水印信息(版權(quán)標(biāo)識字符、圖片、音頻或視頻等)按序替換載體位圖圖像的若干最低有效位(具體位數(shù)依圖像色深而定,以“不影響位圖視覺效果”為基本準(zhǔn)則),從而完成水印信息的嵌入過程;當(dāng)發(fā)生知識版權(quán)爭議或糾紛時,版權(quán)所有方可通過上述算法的逆過程將先前嵌入到位圖文件中的水印信息提取出來,從而有效維護自身的合法權(quán)益。
基于LSB算法的位圖數(shù)字水印嵌入流程如下:首先,知識版權(quán)所有人對于欲施加版權(quán)保護的既定位圖文件,設(shè)計、確定水印文件。如前文所述,水印文件可以是能夠標(biāo)識版權(quán)信息的任何文本文件、圖像文件以及音頻或視頻文件等。而后,對水印文件與位圖文件分別進行預(yù)處理。上述不同預(yù)處理的共同點在于,均獲得二進制數(shù)據(jù)序列;不同點在于,對位圖文件的預(yù)處理過程中還要在位圖文件頭內(nèi)讀出相關(guān)色深數(shù)據(jù)(biBitCount),并據(jù)此進一步確定LSB的具體位數(shù),從而為后續(xù)的水印嵌入打下基礎(chǔ)。嵌入前的“容量檢測”是非常必要的,其具體工作思路是:以單字節(jié)位數(shù)(8)除以此前獲得的LSB位數(shù),并將其商記為 α(無量綱),而后再將二進制位圖文件數(shù)據(jù)區(qū)的字節(jié)數(shù)(biSizeImage)除以 α,其商記為 β(單位為Byte),將β與水印文件容量做比較,當(dāng)前者大于或等于后者時,表明能夠完成水印嵌入;否則,則表明水印過大,需要重新設(shè)計或選擇容量小一些的新水印,并再次重復(fù)前述過程。當(dāng)所設(shè)計或選定的水印能夠嵌入到待保護版權(quán)的位圖文件時,系統(tǒng)則要求用戶鍵入相應(yīng)密碼(防止日后非授權(quán)水印提?。M而在二進制層次循環(huán)按位嵌入數(shù)字水印于載體位圖中;循環(huán)結(jié)束,在位圖既定標(biāo)志位按系統(tǒng)約定做好水印嵌入標(biāo)記,如此即得含水印信息的位圖文件,基于LSB算法的位圖數(shù)字水印嵌入過程結(jié)束。
表1 常見數(shù)字水印算法對比
綜合上述過程闡釋可以看出,由于在數(shù)字水印嵌入過程中,水印文件的二進制序列被按位依次將位圖文件的LSB位列直接改寫,因此對被嵌入水印文件的提取過程則簡化為“按位讀出+位列組裝”,在水印提取過程中不再需要原有位圖文件參與LSB位列計算。此即位圖盲數(shù)字水?。˙lind Bitmap Digital Watermarking)。
基于LSB算法的位圖數(shù)字水印提取流程如下:首先,系統(tǒng)讀入待檢測位圖,而后通過標(biāo)志位檢測確定該位圖文件是否含有水印信息,如不含水印信息則結(jié)束水印提取流程;如含有水印信息,則要求用戶鍵入水印提取密碼。而后,對用戶輸入的提取密碼進行驗證,如密碼錯誤,則提示“提取失敗”并結(jié)束水印提取流程(為確保安全等級,一般不允許用戶二次輸入提取密碼,以避免窮舉攻擊);如密碼正確,則依據(jù)水印嵌入算法的逆過程按位提取數(shù)字水印,并在循環(huán)結(jié)束時完成按位組裝過程,從而得到要提取的水印文件,完成基于LSB算法的位圖數(shù)字水印提取過程。
基于上述原理,本文設(shè)計、開發(fā)了位圖盲數(shù)字水印系統(tǒng) BDWS(Bitmap Blind Digital Watermarking System),通過實驗演示位圖盲數(shù)字水印嵌入效果、分析其中關(guān)鍵變量的賦值策略與技巧。
BDWS系統(tǒng)主界面包括水印嵌入、水印提取、操作進程標(biāo)識、系統(tǒng)LOGO以及系統(tǒng)級操作等五大功能區(qū),功能完備、結(jié)構(gòu)清晰、簡單明了,如圖1所示。其中,主功能區(qū)(數(shù)字水印嵌入與提?。┮怨δ馨粹o的形式,將水印嵌入與提取過程中的各個活動按“自上而下”的順序布局,給用戶以“簡單直觀、易于操作”之感;操作進程標(biāo)識區(qū)以“進程條”形式將數(shù)字水印嵌入與提取過程的實際進度形象、直觀地展示給用戶,該功能對于大容量數(shù)字水印的嵌入與提取過程十分必要,可避免用戶因“盲”等待而出現(xiàn)的煩躁與不安。此外,“水印提取”區(qū)的“還原初始狀態(tài)”按鈕,其功能是全局性的,并非僅限于數(shù)字水印提取過程。該系統(tǒng)允許用戶在數(shù)字水印嵌入與提取過程中的任何活動結(jié)點上終止操作,這有助于提高系統(tǒng)應(yīng)用的靈活性;不過,此時系統(tǒng)內(nèi)的全局變量已經(jīng)被賦予過程值,如果用戶終止操作后并沒有退出系統(tǒng),而是重啟數(shù)字水印嵌入或提取過程,將會導(dǎo)致嚴重錯誤?!斑€原初始狀態(tài)”功能按鈕的設(shè)置,可簡單而有效地避免上述問題。
圖1 BDWS系統(tǒng)主界面
需要指出的是,出于“清晰顯示”的需要,在圖1所示的BDWS系統(tǒng)主界面各按鈕均是可用的。在實踐應(yīng)用中,系統(tǒng)初始狀態(tài)只有“關(guān)于本系統(tǒng)”、“退出本系統(tǒng)”以及兩個“導(dǎo)入位圖圖像”按鈕是可用的(Enabled),其他按鈕均處于“不可用”狀態(tài)(Disabled)。系統(tǒng)會隨著用戶數(shù)字水印嵌入或提取進程的推進,智能重設(shè)相關(guān)功能按鈕的激活狀態(tài),從而確保用戶操作流程的效率和有效性。
BDWS系統(tǒng)的數(shù)字水印嵌入流程如圖2所示,圖中的虛線框分別對應(yīng)于相應(yīng)的按鈕功能區(qū)。首先,通過“導(dǎo)入位圖圖像”按鈕,系統(tǒng)讀入需要實施知識產(chǎn)權(quán)保護的位圖圖像,同時會讀入該位圖色深數(shù)據(jù)并據(jù)此靈活確定LSB位數(shù)。而后,通過“導(dǎo)入水印文件”按鈕,系統(tǒng)讀入將被嵌入的、能夠標(biāo)識知識擁有者版權(quán)信息的數(shù)字水印文件(文本水印、圖像水印、音頻水印和視頻水印等),并根據(jù)位圖數(shù)據(jù)區(qū)容量、前述確定的LSB位數(shù)以及所讀入的數(shù)字水印文件容量,判斷所選定的數(shù)字水印能否完整嵌入到需要實施版權(quán)保護的位圖中。如果水印文件相對過大、不能嵌入,則提示用戶重新導(dǎo)入容量相對較小的數(shù)字水?。蝗绻軌蛲暾度?,則系統(tǒng)提示水印導(dǎo)入成功,同時記錄水印文件格式與大小于在位圖中事先定義好的特定區(qū)域。繼而,通過“啟動水印嵌入”按鈕,系統(tǒng)啟動水印嵌入活動,提請用戶連續(xù)兩次輸入嵌入密碼,并確保密碼位數(shù)不能低于6個字符、兩次輸入密碼完全相同;否則,會自動提示用戶重新輸入。為進一步確保系統(tǒng)嵌入安全,兩次判斷無論哪一次結(jié)果為“否”,系統(tǒng)均將清空所有嵌入密碼,并要求用戶重新輸入。當(dāng)用戶輸入了符合系統(tǒng)要求的數(shù)字水印嵌入密碼后,系統(tǒng)會將該密碼存儲于位圖特定區(qū)域并自動啟動對位圖圖像的數(shù)字水印嵌入活動,操作進程條同步顯示嵌入進度。在數(shù)字水印嵌入活動完成后,系統(tǒng)在位圖中事先定義好的特定區(qū)域錄入嵌入標(biāo)記并提示“水印嵌入完成”,并提示用戶保存結(jié)果位圖。
圖2 BDWS系統(tǒng)數(shù)字水印嵌入流程
BDWS系統(tǒng)的數(shù)字水印提取流程是圖2的逆過程。通過圖1中“導(dǎo)入位圖圖像”按鈕,系統(tǒng)讀入位圖圖像并在其中事先定義好的特定區(qū)域檢測水印嵌入標(biāo)記。如未發(fā)現(xiàn)嵌入標(biāo)記,則表明當(dāng)前位圖圖像并無相關(guān)數(shù)字水印嵌入,系統(tǒng)將直接結(jié)束水印提取流程;如發(fā)現(xiàn)水印嵌入標(biāo)記,則開啟水印提取流程。用戶鼠標(biāo)點擊“啟動水印提取”按鈕,系統(tǒng)首先要求用戶輸入水印提取密碼并與預(yù)置密碼比較。如果用戶輸入的提取密碼不正確,則系統(tǒng)直接結(jié)束水印提取流程;如用戶輸入的提取密碼正確,則讀取水印文件容量,并按位提取數(shù)字水印數(shù)據(jù),完成后系統(tǒng)提示用戶保存水印文件。為確保水印提取過程安全,系統(tǒng)僅允許一次水印提取嘗試,從而有效避免非授權(quán)用戶的窮舉攻擊。當(dāng)用戶鼠標(biāo)點擊“保存水印文件”按鈕,系統(tǒng)按位組裝水印文件、讀取水印格式,在二進制層次完成對水印文件的保存后圓滿結(jié)束數(shù)字水印提取流程。
圖3是在另一項目中對三維數(shù)據(jù)進行成像后得到的陰影圖(24位色深,大小435 426 B)。欲對該圖實施知識版權(quán)標(biāo)識,并將圖4所示的版權(quán)標(biāo)識圖片作為數(shù)字水?。ù笮?5 911 B)。通過 BDWS系統(tǒng),按照前述數(shù)字水印嵌入過程將圖4所示的能夠標(biāo)識版權(quán)的數(shù)字水印圖片嵌入到圖3所示的原始位圖后,所得完成水印嵌入后的結(jié)果位圖如圖5所示。
查看結(jié)果位圖屬性,仍為24位色深、大小435 426 B。對比圖5所示的結(jié)果位圖與圖3所示的原始位圖可知,兩者在視覺上并無明顯差異。如此,一方面,不會對版權(quán)標(biāo)識位圖的知識價值造成損害;另一方面,亦能夠完好隱藏結(jié)果位圖的水印存在本質(zhì)、不會輕易引起侵權(quán)行為人的注意,從而確保數(shù)字水印的安全性。依據(jù)前述水印提取流程,經(jīng)由BDWS系統(tǒng)可輕松實現(xiàn)從圖5所示位圖中提取出圖4所示的數(shù)字水印圖片,篇幅所限,具體細節(jié)從略。
在前述數(shù)字水印嵌入過程中,圖3所示的原始位圖為24位色深,數(shù)字水印嵌入時取LSB為4 bit。通過反復(fù)試驗發(fā)現(xiàn),當(dāng)實施人為干預(yù),取LSB分別為1 bit和2 bit時,上述數(shù)字水印亦能嵌入,且理論上嵌入效果會更好(實際上并無明顯視覺差異);然而,水印嵌入過程變得相對耗時。當(dāng)將原始位圖降格為16 bit增強色時,同樣取LSB為4 bit,嵌入圖4數(shù)字水印后的結(jié)果圖片,其下半部分會出現(xiàn)明顯噪聲,嵌入效果較差;當(dāng)取LSB為2 bit,嵌入圖4數(shù)字水印后的結(jié)果圖片則與原圖片無明顯視覺差異。
經(jīng)反復(fù)試驗,得到如下LSB取值技巧:當(dāng)biBitCount(色深數(shù)據(jù))小于等于 8時,即便取 LSB=1 bit,數(shù)字水印嵌入后的結(jié)果位圖仍會與原始位圖產(chǎn)生較為明顯的視覺差異,因此不建議實施數(shù)字水印嵌入;當(dāng)biBitCount等于16時,取1 bit或 2 bit的LSB均不會產(chǎn)生明顯視覺差異;當(dāng)biBitCount等于24或32時,可以取2 bit或4 bit的LSB,不會產(chǎn)生明顯視覺差異。具體取值需要平衡嵌入速度、嵌入容量、位圖保真度等因素而定。
本文在作者前期工作的基礎(chǔ)上,進一步研究知識版權(quán)保護問題,對數(shù)字水印原理進行了綜述研究,重點設(shè)計、剖析了基于LSB算法的位圖盲數(shù)字水印算法流程,進而設(shè)計、開發(fā)了相應(yīng)的原型系統(tǒng),并通過系統(tǒng)實驗詳細分析了其中的技術(shù)細節(jié)。希望上述工作對進一步改善知識管理中的知識安全現(xiàn)狀有所裨益。
圖3 欲實施知識版權(quán)保護的原始位圖
圖5 完成水印嵌入后的結(jié)果位圖
[1]張建華.電子政務(wù)知識管理[M].北京:科學(xué)出版社,2010.
[2]萬濤.基于圖像的數(shù)字水印技術(shù)研究[D].西安:西北工業(yè)大學(xué),2006.
[3]孫圣和,陸哲明,牛夏牧.數(shù)字水印技術(shù)及應(yīng)用[M].北京:科學(xué)出版社,2004.
[4]孫文靜,孫亞民,張學(xué)梅.基于直接位平面替換的 LSB信息隱藏技術(shù)[J].計算機科學(xué),2008,35(12):207-208.
[5]金聰.數(shù)字水印原理與技術(shù)[M].北京:清華大學(xué)出版社,2008.
[6]彭求明.圖像數(shù)字水印算法的研究[D].重慶:重慶大學(xué),
[7]孫圣和,陸哲明.數(shù)字水印處理技術(shù)[J].電子學(xué)報,2000(8):65-67.
[8]葉智勇.基于空間域的圖像數(shù)字水印算法[D].南京:南京郵電大學(xué),2008.