您的当前位置:首页基于整数小波变换的可逆数据库水印

基于整数小波变换的可逆数据库水印

来源:锐游网
基于整数小波变换的可逆数据库水印

姜传贤;程小辉;许鑫磊;李智

【摘 要】提出了一种基于整数小波变换的可逆数据库水印算法,通过对数据库数据的小波域高频系数进行分析,确定算法的溢出预防机制.将水印嵌入到数据库数据的小波域中,提高水印的不可见性.分块策略的使用进一步提高了水印的不可见性.通过修改数据块的小波高频系数均值,将一位水印与数据块绑定来提高水印的鲁棒性.仿真实验表明,该水印具有良好的不可见性和一定的鲁棒性.%A reversible database watermark based on integer wavelet transform is proposed.High frequency coefficients of wavelet domain of the database data are analyzed to determine the overflow prevention mechanism of the scheme.The watermark is embedded into the wavelet domain of the database in order to improve the watermarking invisibility.Blocking strategy is used to further enhance the watermarking invisibility.By modifying the mean of the wavelet high frequency coefficients of the data block,we can embed one watermark into the data block to improve the robustness of the watermark.Experimental results show that the scheme is effective. 【期刊名称】《桂林理工大学学报》 【年(卷),期】2017(037)001 【总页数】5页(P191-195)

【关键词】可逆数据库水印;整数小波变换;鲁棒性;不可见性 【作 者】姜传贤;程小辉;许鑫磊;李智

【作者单位】桂林理工大学信息科学与工程学院,广西桂林541004;桂林理工大学信息科学与工程学院,广西桂林541004;桂林理工大学信息科学与工程学院,广西桂林541004;贵州大学计算机科学与技术学院,贵阳550025 【正文语种】中 文 【中图分类】TP311.13

可逆水印技术是解决特定高安全领域(如医疗、财务、法律及军事等)的数据库产品需要高保真度(由水印化过程导致的永久失真是不可接受的)问题的一种有效途径[1]。可逆数据库水印技术研究已取得一定的进展, 其中:张勇等提出一种可逆关系数据库水印[1], 通过对数值型属性值的最不重要位取异或, 实现了可逆的数据库水印算法;陶伟成等提出一种基于极角扩展的可逆盲水印算法[2], 该算法运用伪随机数选择密钥, 实现水印嵌入对应元组属性值中;Gupta等提出了一种基于差异扩展的可逆数据库水印算法[3];Iftikhar等从遗传算法的角度提出一种鲁棒可逆数据库水印算法[4]。以上方法从空域技术角度研究可逆水印并取得了较好进展。笔者从变换域技术[5]角度研究一种新方法以实现数字数据库产品的版权和完整性保护。仿真实验表明, 该方法是有效的。

算法的基本思想是:通过伪随机构建主键队列对元组进行定位, 对主键队列进行哈希, 定位每个元组的属性值, 从该属性值中提取数据, 填充至每个数据块中, 然后将水印嵌入到数据块的小波域中, 得到水印数据库数据。可逆水印嵌入流程如图1所示。 1.1 溢出预防机制

为了保证算法具有可逆性, 需要构建本算法的溢出预防机制。

首先确定数据库属性值数据的修改规则: 假设数据库中具有k个属性, 设k个属性值数据序列{va1, va2, …, vak}, 它们的取值区间为vaj∈[aj_s, aj_x], 由于取值区间可能有负数和正数, 需要对取值区间进行处理:取min(|aj_s|, |aj_x|), 其中j∈[1, k],

则区间为[0, aj_min]才能保护修改量的正确性, 使其属性值|vaj|的改变量βm满足修改规则: 0≤|vaj|+βm≤min(a1_min, a2_min, …, ak_min)。为了描述方便, 用m表示0, M表示min(a1_min, a2_min, …, ak_min), 即m<|vaj|+βm然后根据文献[6]确定数据与其小波域的修改规则: 设定βm为数据块的修改量, βj为数据块的小波系数修改量,且βj<βm。 当对数据块的小波系数进行修改的量为βj时, 对应其数据块修改量不会超过βm。

在此基础上再对数据库提取数据进行分析, 最后确定算法的溢出预防机制, 具体如下所述。

根据伪随机序列对元组进行定位, 提取其对应主键值构建队列, 通过对主键队列进行哈希, 定位每个元组的属性值, 然后提取每个数值的几位数, 考虑到尽量不影响数据库的正常使用, 因此只提取每个数值小数点的前后各一位, 即两位数据, 将提取得到的数按升序排列后分别填充到每个矩阵块中, 形成数据块序列。然后对该数据块进行修改, 实际上是对其原数值的个位数进行修改, 若修改的量为βj,实际上是很小的。又由于数据块数据是由两位数组成, 所以可以将数据块归为4类:a类, 数据块A里所有数据大于0且小于99;b类, 数据块A里所有数据大于等于0且小于99;c类, 数据块A里所有数据大于0且小于等于99;d类, 数据块里所有数据大于等于0且小于等于99。对从数据库提取的数据作统计分析,都是属于a类数据。最终的溢出预防机制如图2。

通过对数据块的整数小波变换进行分析, 可以得出数据块高频系数(如HL或LH), 特征类似拉布拉斯分布, 与文献[7]论述一致。数据块Bs的高频区域系数的均值Me趋近于0, 设子块大小C×M, 均值Me如下: 。

这为本算法在数据库数据的小波域中嵌入水印提供了基础。为了降低水印嵌入过程的复杂性, 本文选取一级整数小波变换的高频分量作为水印嵌入的载体。 1.2 水印的嵌入算法

1)通过伪随机构建主键队列对元组进行定位, 再通过对主键队列进行哈希, 定位每个元组的属性值。然后提取每个数值的2位数, 将提取小数后的其他数据经过处理存储到数组B中, 将提取得到的数按升序排列后分别填充到每个h×h矩阵块中(填充方式为Zigzag顺序填充), 形成数据块序列A1, A2, …, Ai, …Al。

2)通过分析所有数据块序列的高频系数的均值大小, 计算出一个值, 使得这个值为大于所有均值绝对值的最小正整数, 将这个值作为嵌入水印信息的阈值t(t≤βj)。 3)当水印位为wi=0时对该数据块Ai不作处理;当水印wi=1时, 进行水印嵌入, 具体过程如下:

①首先对数据块Ai进行整数小波变换, 得到变换后的矩阵Ai′, 提取其高频子块Bsi(如HL或LH)并求出其均值Mei;

②利用公式(2)将水印嵌入子块Bsi, 得到嵌入水印后的数据Bsi′。嵌入水印后的Bsi′经过逆整数小波变换, 得出水印数据块。

③其他水印位按上述方法处理, 将所有水印嵌入数据块中, 得到水印数据块序列, , …, , 。

4)根据提取数据相关的标记信息B, 将嵌入水印数据块数据更新到数据库中, 实现水印嵌入。 1.3 水印提取算法

水印提取是水印嵌入的逆过程, 根据整数小波变换的特性, 嵌入水印的数据在没有受到攻击的情况下可以无损地还原成数据库的原始数据。水印提取算法具体如下。 1)根据水印嵌入算法的数据提取, 从水印数据库中提取数据块序列, , …, , 。 2)对每个数据块 进行整数小波变换, 提取其高频子块Bsi′, 若其均值|Mei′|≥t, 提取

水印1, 在没有受到攻击条件下通过公式(3)恢复数据;否则提取水印0且不需要处理数据块, 然后再通过逆整数小波变换获得恢复的数据块Ai。

3)根据上述方法将所有水印提取, 没有受到攻击时能完全恢复原数据库载体。 为检测算法的有效性, 给出有代表性的数据块,大小分别为6×6、8×8的2组实验。操作系统为Windows 7, Java运行环境为Sun JDK1.7工具, 实验数据采用传感器采集的各地天气数据, 关系表中有38 139个元组和9个属性, 从其中4个数值型属性列中提取65 536个数值型属性值为实验数据, 水印信息为“glut”, 大小为32×32二值图像, 阈值t取2或4, 进行如下实验。

(1)可逆性检测。从表1、2中可以看出, 无论子块的大小, 该算法在数据库中数据不受攻击时, 提取水印信息之后, 可以无损地恢复数据库中的数据信息。

(2)不可见性检测。从表3和4可知,两种数据块都对水印的嵌入数据统计特性改变极小, 表3由于嵌入阈值大, 所以不可见性较表4的不可见性差, 但依然保持较好的不可见性, 很难通过对数据统计特性分析发现水印的存在。

(3)鲁棒性检测(水印检测率是提取的水印与原水印的比率)。基于本整数小波变换算法, 水印信息均匀分散到数据库数据的各个部分, 当改变比例低于10%~40%时, 能够较为完整地提取出水印信息。当数据破坏量较大时, 则无法提取出原有的水印信息。

1)子集选取(删除)攻击。攻击者任意应用关系数据库中元组某个或某些符合要求子集, 将其信息进行选取或去除的攻击方法。实验结果表明(表5和6), 数据块为8×8的鲁棒性较好, 所以随着数据块增大, 算法的鲁棒性有所提高。

2)子集增加攻击。指攻击者试图将若干新数据添加到数据库中, 使水印难以被检验, 达到攻击水印的目的。根据算法可知, 构造伪随机的主键队列对元组进行定位, 再通过对主键队列进行哈希算法定数据, 而新增加的数据主键在伪随机序列之外, 所以避免了水印的破坏。表7和表8的结果也证实了此结论。

3)子集更改攻击。实验结果表明(表9和10), 随着修改比例逐渐的增加, 提取的水印信息误差越来越高, 但是由于嵌入水印能较均匀地分散在数据库数据中, 即使数据受到一定程度的破坏, 也可提取水印信息。

根据以上实验得出:数据块小时嵌入水印多, 会降低水印的鲁棒性, 但是考虑数据库的正常更新及可能遭恶意攻击, 理论上增大数据块时能提高水印鲁棒性, 但是同时也减少水印嵌入量。 因此,为保证水印的鲁棒性及容量, 应该选择适当数据块。 提出基于整数小波变换的可逆数据库水印算法:1)根据水印0/1特性只需在水印为1时修改数据库数据, 而水印为0不需要修改数据库数据, 提高水印的不可见性;2)一位水印与数据块绑定, 当数据块中数据受到一定的攻击, 水印也能成功提取, 有利于提高水印的鲁棒性, 从而达到有效保护数据库数据版权的目的;3)从频域技术角度研究可逆数据库水印是一次有益的探索。本文嵌入水印位置的定位依赖于主键, 如果主键关系被破坏, 则无法提取水印, 因此下一步将展开此方面的研究工作。

【相关文献】

[1]张勇, 牛夏牧.一种用于关系数据库的可逆水印技术[J].电子学报, 2006, 34(12A): 2425-2428. [2]陶伟成, 李智勇, 李厚甫.基于极角扩展的可逆盲数据库水印算法[J].计算机工程, 2010, 36 (22):155-157.

[3]Gupta G, Pieprzyk J. Reversible and blind database watermarking using difference expansion [J]. International Journal of Digital Crime and Forensics, 2009, 1(2): 42-54. [4]Iftikhar S, Kamran M, Anwar Z. RRW—a robust and reversible watermarking technique for relational data [J]. IEEE Transactions on Knowledge and Data Engineering, 2014, 27(4):1132-1145.

[5]张瑞芳, 程晓辉, 宋子航, 等.融合灰色马尔科夫理论的二进小波图像的复制-粘贴篡改检测算法[J].桂林理工大学学报, 2014, 34 (4): 775-781.

[6]姜传贤, 杨铁军, 董明刚, 等.基于线性空间隐藏模型的可逆图像水印算法[J].自动化学报, 2014, 40(10):2324-2333.

[7]Zou D K, Shi Y Q, Ni Z C, et al. A semi-fragile lossless digital watermarking scheme

based on integer wavelet transform [J]. IEEE Transactions on Circuits and Systems for Video Technology, 2006, 16(10): 1294-1300.

因篇幅问题不能全部显示,请点此查看更多更全内容

Top