周 飛,趙懷勛
(武警工程學(xué)院通信工程系,陜西西安 710086)
信息時代的到來使得數(shù)據(jù)成為一種商品。隨著網(wǎng)絡(luò)與計算機技術(shù)的發(fā)展,數(shù)字產(chǎn)品的版權(quán)保護等安全問題日益突出。2002年 IBM Almaden研究中心的R.Agrawal[1]教授在中國香港召開的第28屆VLDB會議上首次提出數(shù)據(jù)庫水印技術(shù)(DBWM),目的在于保護數(shù)據(jù)庫的版權(quán)信息,該技術(shù)一經(jīng)提出就受到學(xué)術(shù)界的普遍關(guān)注。2003年R.Sion[2]等對關(guān)系數(shù)據(jù)庫中的數(shù)值屬性進行標(biāo)記,嵌入了有意義的水印。同年,牛夏牧[3]等實現(xiàn)了將具有實際意義字符串嵌入到關(guān)系數(shù)據(jù)庫中。2004年張志浩[4]等成功地將一幅圖像作為水印嵌入到關(guān)系數(shù)據(jù)庫中。
文中提出一種新的關(guān)系數(shù)據(jù)庫水印算法,將水印圖像進行混沌加密,根據(jù)數(shù)值屬性權(quán)重的不同嵌入水印。將水印算法與混沌理論相結(jié)合,隱蔽性更強,提高了水印的不可見性,同時水印檢測是一個盲檢測過程,實驗結(jié)果表明,該算法能夠抵抗多種攻擊,具有較強的魯棒性。
假設(shè)對數(shù)據(jù)庫中一些屬性值進行微小改動并不影響數(shù)據(jù)庫的使用價值。算法利用水印生成算法將版權(quán)圖像生成的水印信息,并根據(jù)水印嵌入算法嵌入到數(shù)據(jù)庫中,如圖1所示,通過水印檢測算法提取出水印,如圖2所示。
定義 1關(guān)系數(shù)據(jù)庫中關(guān)系 R(P,A0,A2,…,Av-1),其中P為主鍵,Ai(0≤i≤v-1)為v個數(shù)值型屬性,且允許修改其最低有效位(LSB)。
定義2根據(jù)屬性Ai(0≤i≤v-1)的重要性和冗余度定義屬性權(quán)重,記作
表1 算法中參數(shù)及其意義
水印生成算法主要包括3個步驟:對版權(quán)圖像進行編碼預(yù)處理;利用版權(quán)圖像生成水印信息;通過混沌序列對水印信息進行加密。
(1)壓縮版權(quán)圖像。版權(quán)圖像數(shù)據(jù)量很大,如果直接嵌入數(shù)據(jù)庫中勢必會嚴(yán)重影響數(shù)據(jù)庫的使用,因此必須對版權(quán)圖像進行壓縮處理,算法采用小波變換方法。
(2)數(shù)據(jù)類型轉(zhuǎn)換。根據(jù)從左到右,從上到下的順序,可以得到版權(quán)圖像像素點的一個數(shù)據(jù)集S={S1,S2,…,Sn×n},其中每個元素為像素點的灰度值,將這些灰度值轉(zhuǎn)換成二進制數(shù)可以得到一個新的數(shù)據(jù)集 B={B1,B2,…,Bn×n}。
(3)水印加密?;煦缧蛄信c單向散列函數(shù)的特性類似,因此利用混沌序列加密水印大大提高了算法的安全性。算法選用Logistic映射,其定義為Xn+1=μXn(1-Xn),其中 Xn∈(0,1),當(dāng)3.569 945 6 < μ <4 時Logistic映射呈現(xiàn)混沌狀態(tài)。令μ=4,輸入密鑰k1,生成一個實值混沌序列,采用閾值門限法,構(gòu)造一個閾值函數(shù),設(shè)閾值為Q,得到一個二值混沌序列P(i),將P(i)和W(i)異或加密得到E(i)。如此重復(fù),直到數(shù)據(jù)集 S={S1,S2,…,Sn×n}中所有元素加密完成,得E={E1,E2,…,En×n}。
算法將權(quán)重值大的確定為候選屬性,利用單向散列函數(shù)計算具體標(biāo)記數(shù)據(jù)位,因此單向散列函數(shù)H至關(guān)重要。根據(jù)公式id=H(k2,P,k2)標(biāo)記候選屬性的元組,通過id值和L(水印位的個數(shù))對元組進行分組,即group(R)=id mod L,并按升序排列。將第i位水印嵌入第i組元組中,對嵌入水印后的數(shù)據(jù)進行誤差判斷,若數(shù)據(jù)誤差大于允許誤差,則水印嵌入回滾,否則水印嵌入成功。具體實現(xiàn)過程見算法1。
水印的提取過程與嵌入相對應(yīng),先用同樣的方法找到嵌入水印的位置,對每個標(biāo)記位,利用多數(shù)表決算法確定水印碼值,得到一個二進制序列,再將其恢復(fù)成圖像,與原始版權(quán)圖像進行對比,實現(xiàn)版權(quán)保護。具體實現(xiàn)見算法2。
算法實驗環(huán)境為2.4 GHz CPU,256 MB RAM,Windows XP操作系統(tǒng)。版權(quán)圖像采用的二值圖像,如圖3所示。實驗數(shù)據(jù)采用某城市街道規(guī)劃數(shù)據(jù)庫,共有100 000個元組,每個元組有31個屬性,選取其中的4個數(shù)值型屬性嵌入水印,實驗程序使用Matlab7.0完成,利用JDBC連接SQLServer2000,根據(jù)上述算法嵌入水印。
圖3 版權(quán)圖像
從數(shù)字水印嵌入前后屬性的統(tǒng)計特征來看,文中算法與混沌理論相結(jié)合,使水印信息更加均勻、分散,增強了隱蔽性。水印信息嵌入前后統(tǒng)計信息如表2所示。從均值和方差改變比例的數(shù)據(jù)可以看出,水印嵌入引入的誤差很小。
表2 水印嵌入前后各指標(biāo)比較
實驗?zāi)M攻擊者對算法進行子集選擇、添加、修改攻擊,得到仿真結(jié)果如圖4所示,對于子集選擇攻擊,選擇的數(shù)據(jù)比例越大,相應(yīng)提取水印信息就越多,因此準(zhǔn)確恢復(fù)水印的概率就越高;對于子集添加和修改得越多,水印的提取率就越低。
圖4 子集選取、添加、修改攻擊
關(guān)系數(shù)據(jù)庫水印技術(shù)已成為當(dāng)前信息科學(xué)中一個新穎且具有廣闊應(yīng)用前景的研究熱點。文中提出一種新的關(guān)系數(shù)據(jù)庫水印算法,將水印圖像進行混沌加密,根據(jù)數(shù)值屬性權(quán)重的不同嵌入水印,實驗結(jié)果表明算法具有較高的魯棒性與隱蔽性,有效地保證了數(shù)據(jù)庫的安全問題。
[1]RAKESH A,KIERNAN J.Watermarking relational databases[C].Hong Kong,China:Proceeding of the 28th VLDB Conference,2002:155-166.
[2]SION R,ATALLAH M,PRABHAKAR S.Rights protection for relational data[J].IEEE Transaction on Knowledge and Data Engineering,2004(16):1509-1525.
[3]牛夏牧,趙亮,黃文軍.利用數(shù)字水印技術(shù)實現(xiàn)數(shù)據(jù)庫的版權(quán)保護[J].電子學(xué)報,2003,31(12A):2050-2053.
[4]ZHANG Zhihao,JIN Xiaoming,WANG Jianmin.Wtermarking relational database usin g image[C].Shanghai:Proceedings of the Third International Conference on Machine Learning and Cybernetics,2004:1739-1744.
[5]CUI Xinchun,QIN Xiaolin,SHENG Gang.A weighted algorithm for watermarking relational databases[J].Wuhan University Journal of Natural Sciences,2007(l):12-13.
[6]陳明剛,孫星明,肖湘蓉.基于小波變換的關(guān)系數(shù)據(jù)庫水印算法[J].東南大學(xué)學(xué)報:自然科學(xué)版,2007,37(6):130-136.
[7]曹再輝.基于圖像的數(shù)據(jù)庫水印算法研究[D].曲阜:曲阜師范大學(xué),2008.