Page 258 - 《软件学报》2020年第11期
P. 258

侯瑞涛  等:分级可逆的关系数据水印方案                                                            3573


                 低有效位之间嵌入一种特殊的匹配规则               [9,10] .但方案只能验证数据中是否嵌有这种匹配规则,而无法检测出真
                 正的水印信息.张志浩等人则将一幅图像编码成水印,将其嵌入到关系数据中                           [11] .其原理是:将数据分成与图像
                 同等大小的数据块,在数据块的每个属性值中嵌入图像的一个像素点.向玥等人则针对主键攻击问题提出了基
                 于虚拟主键的关系数据水印嵌入方法             [12] ,该方法通过(7,4)汉明码和大数表决的结合,增强了水印的抗攻击能力.
                 周刚等人提出一种基于改进型 C4.5 算法的关系数据零水印模型                   [13] ,零水印模型是指从数据中提取相关属性值,
                 不对原始数据进行修改,可保证较高的数据质量.Melkundi 等人设计出一种新型水印嵌入算法                           [14] ,该算法具有两
                 种水印嵌入机制,可将水印嵌入到数值型和文本型的关系数据中.Rani 等人将 MapReduce 思想引入针对大型关
                 系数据的水印嵌入,可有效提高其嵌入效率               [15] .
                    关系数据可逆水印方案由关系数据数字水印方案发展而来,目前常见的关系数据可逆水印方法主要包括
                 直方图扩展、差值扩展、预测差值扩展等.其中,直方图扩展需首先计算数据中某些属性值的差值,并利用这些
                 差值的首位非零数字构建直方图,然后按照一定的规则改变该非零数字的分布特性,实现水印的嵌入                                   [16] .数据恢
                 复时,还原该数字的数据分布特性即可.该方法可追踪数据失真的程度,但难以抵御高强度的攻击.差值扩展是
                 指从特定的元组中挑选属性值对,然后通过对该属性值对进行特定的数值变换,实现水印的嵌入和数据恢复                                     [17] .
                 但是该方法存在以下问题:(1)  属性值对的选择使其难以应对元组修改攻击;(2)  属性值对的修改导致数据的失
                 真程度普遍较高.针对问题(1),研究者们提出了将最优化算法和差值扩展结合使用的方法.例如,Jawad 等人在差
                 值扩展的基础上,使用遗传算法提出了一种关系数据可逆水印方案                       [18] .该方案在尽可能降低数据失真的同时,保
                 证了关系数据中水印的鲁棒性.Imamoglu 等人则将萤火虫算法和差值扩展结合使用,设计出一种可逆水印方
                 案.其中,萤火虫算法从原始数据中选择最优属性值对进行水印嵌入,以降低数据失真的程度                               [19] .针对问题(2),研
                 究者们提出了预测差值扩展技术.该技术通过使用预测算法获取预测值,然后从原始数据中挑选某个属性值,对
                 其进行与差值扩展类似的数值变换,实现水印的可逆.与差值扩展相比,该技术只需修改元组中的某个属性值,
                 对数据可用性影响较小.例如,Farfoura 等人将可识别的图像转化为比特流嵌入到数值属性的最低有效位,并通
                 过预测误差扩展实现水印的可逆             [20] .Chang 等人运用支持向量回归预测(SVR)设计出关系数据可逆水印方
                 案 [21] .除上述可逆水印方法外,张勇和牛夏牧运用异或的性质实现了水印的可逆                       [22] .此方法在水印嵌入时,只需
                 修改某些元组某个属性值的某个最低有效位,既降低了数据的失真程度,又使水印具有良好的鲁棒性.但是该方
                 案只是将水印作为密钥用于数据恢复,不能进行水印检测,无法实现版权证明.本文所提出的分级可逆水印方案
                 在其基础上,通过构造辅助数据,解决了水印的检测问题,并实现了水印的可逆.另外,还有一些其他类型的可逆
                 水印方法.Franco-Contreras 等人基于圆形直方图变换提出了一种鲁棒性可逆水印方案.该方案首先构建圆形直
                 方图,然后通过改变某些属性值的相对角位置实现水印嵌入                     [23] .Iftikhar 等人结合遗传算法和信息论中的数据分
                 析方法,提出了一种应用于关系数据的可逆水印方案                  [24] .此方案首先通过遗传算法来制备最优水印串,然后通过
                 一种可逆运算变换实现水印嵌入和数据恢复.此方案中,遗传算法的使用降低了数据的失真程度,但是计算最优
                 水印串需要较大开销        [9,24] .姜传贤等人基于某种分块策略将原始数据分为若干数据块,然后将水印嵌入到数据
                 块的小波域中,利用整数小波变换实现水印可逆                 [25] .以上方案均可实现数据恢复,但对数据恢复的程度缺乏控
                 制,只能将数据中的水印全部去除,导致所有者不能继续证明对数据的版权.为解决此问题,本文提出了一种分
                 级可逆的关系数据水印方案.
                 2    分级可逆水印方案

                    本文方案定义了数据质量等级来反映数据可用性,利用异或的性质来实现水印的可逆,即 A xor B xor B=A,
                 设计了用于实现分级可逆水印的分区嵌入、等级检测、水印检测以及等级提升等算法.
                    由图 1 可知,该方案主要包括预处理、分区嵌入、等级检测、水印检测以及等级提升这 5 部分.相关符号
                 及含义见表 1.
   253   254   255   256   257   258   259   260   261   262   263