周 飛,趙懷勛
(武警工程學院通信工程系,陜西西安 710086)
信息時代的到來使得數據成為一種商品。隨著網絡與計算機技術的發展,數字產品的版權保護等安全問題日益突出。2002年 IBM Almaden研究中心的R.Agrawal[1]教授在中國香港召開的第28屆VLDB會議上首次提出數據庫水印技術(DBWM),目的在于保護數據庫的版權信息,該技術一經提出就受到學術界的普遍關注。2003年R.Sion[2]等對關系數據庫中的數值屬性進行標記,嵌入了有意義的水印。同年,牛夏牧[3]等實現了將具有實際意義字符串嵌入到關系數據庫中。2004年張志浩[4]等成功地將一幅圖像作為水印嵌入到關系數據庫中。
文中提出一種新的關系數據庫水印算法,將水印圖像進行混沌加密,根據數值屬性權重的不同嵌入水印。將水印算法與混沌理論相結合,隱蔽性更強,提高了水印的不可見性,同時水印檢測是一個盲檢測過程,實驗結果表明,該算法能夠抵抗多種攻擊,具有較強的魯棒性。
假設對數據庫中一些屬性值進行微小改動并不影響數據庫的使用價值。算法利用水印生成算法將版權圖像生成的水印信息,并根據水印嵌入算法嵌入到數據庫中,如圖1所示,通過水印檢測算法提取出水印,如圖2所示。


定義 1關系數據庫中關系 R(P,A0,A2,…,Av-1),其中P為主鍵,Ai(0≤i≤v-1)為v個數值型屬性,且允許修改其最低有效位(LSB)。
定義2根據屬性Ai(0≤i≤v-1)的重要性和冗余度定義屬性權重,記作

表1 算法中參數及其意義
水印生成算法主要包括3個步驟:對版權圖像進行編碼預處理;利用版權圖像生成水印信息;通過混沌序列對水印信息進行加密。
(1)壓縮版權圖像。版權圖像數據量很大,如果直接嵌入數據庫中勢必會嚴重影響數據庫的使用,因此必須對版權圖像進行壓縮處理,算法采用小波變換方法。
(2)數據類型轉換。根據從左到右,從上到下的順序,可以得到版權圖像像素點的一個數據集S={S1,S2,…,Sn×n},其中每個元素為像素點的灰度值,將這些灰度值轉換成二進制數可以得到一個新的數據集 B={B1,B2,…,Bn×n}。
(3)水印加密。混沌序列與單向散列函數的特性類似,因此利用混沌序列加密水印大大提高了算法的安全性。算法選用Logistic映射,其定義為Xn+1=μXn(1-Xn),其中 Xn∈(0,1),當3.569 945 6 < μ <4 時Logistic映射呈現混沌狀態。令μ=4,輸入密鑰k1,生成一個實值混沌序列,采用閾值門限法,構造一個閾值函數,設閾值為Q,得到一個二值混沌序列P(i),將P(i)和W(i)異或加密得到E(i)。如此重復,直到數據集 S={S1,S2,…,Sn×n}中所有元素加密完成,得E={E1,E2,…,En×n}。
算法將權重值大的確定為候選屬性,利用單向散列函數計算具體標記數據位,因此單向散列函數H至關重要。根據公式id=H(k2,P,k2)標記候選屬性的元組,通過id值和L(水印位的個數)對元組進行分組,即group(R)=id mod L,并按升序排列。將第i位水印嵌入第i組元組中,對嵌入水印后的數據進行誤差判斷,若數據誤差大于允許誤差,則水印嵌入回滾,否則水印嵌入成功。具體實現過程見算法1。


水印的提取過程與嵌入相對應,先用同樣的方法找到嵌入水印的位置,對每個標記位,利用多數表決算法確定水印碼值,得到一個二進制序列,再將其恢復成圖像,與原始版權圖像進行對比,實現版權保護。具體實現見算法2。

算法實驗環境為2.4 GHz CPU,256 MB RAM,Windows XP操作系統。版權圖像采用的二值圖像,如圖3所示。實驗數據采用某城市街道規劃數據庫,共有100 000個元組,每個元組有31個屬性,選取其中的4個數值型屬性嵌入水印,實驗程序使用Matlab7.0完成,利用JDBC連接SQLServer2000,根據上述算法嵌入水印。

圖3 版權圖像
從數字水印嵌入前后屬性的統計特征來看,文中算法與混沌理論相結合,使水印信息更加均勻、分散,增強了隱蔽性。水印信息嵌入前后統計信息如表2所示。從均值和方差改變比例的數據可以看出,水印嵌入引入的誤差很小。

表2 水印嵌入前后各指標比較
實驗模擬攻擊者對算法進行子集選擇、添加、修改攻擊,得到仿真結果如圖4所示,對于子集選擇攻擊,選擇的數據比例越大,相應提取水印信息就越多,因此準確恢復水印的概率就越高;對于子集添加和修改得越多,水印的提取率就越低。

圖4 子集選取、添加、修改攻擊
關系數據庫水印技術已成為當前信息科學中一個新穎且具有廣闊應用前景的研究熱點。文中提出一種新的關系數據庫水印算法,將水印圖像進行混沌加密,根據數值屬性權重的不同嵌入水印,實驗結果表明算法具有較高的魯棒性與隱蔽性,有效地保證了數據庫的安全問題。
[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]牛夏牧,趙亮,黃文軍.利用數字水印技術實現數據庫的版權保護[J].電子學報,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]陳明剛,孫星明,肖湘蓉.基于小波變換的關系數據庫水印算法[J].東南大學學報:自然科學版,2007,37(6):130-136.
[7]曹再輝.基于圖像的數據庫水印算法研究[D].曲阜:曲阜師范大學,2008.