为什么使用数据水印
数据使用存在安全隐患
在当前的网络信息化时代,随着电子政务、电子商务等应用的普及,越来越多的数据库数据通过网络进行存储和发布,这些数据经过若干年的积累,往往蕴含有巨大的社会价值与经济价值,成为宝贵的数据资源。随着网络数据共享和数据交换需求的不断增多,如果不采取有效的安全控制和版权保护措施,常常会给攻击者以可乘之机。同时,如果缺乏数据库完整性验证的有效措施,一旦出现对数据数据泄露,后果也是无法想象的。
数据水印保护数据安全
在当今网络信息发展迅速的时代,大数据包含有巨大的价值,是非常重要的资源。在利用这些数据资源的过程中,数据共享和数据交换需求也在不断增多,如业务部门数据交换、组织结构间的数据交换、数据外包泄漏等。数据一旦流入低安全域,复杂的环境使得数据安全难以控制,这也导致了数据泄漏事件频发。一旦发生了数据丢失泄漏,如果不采取有效的安全控制和版权保护,将会造成无法想象的后果。因此,预防固然重要,但是泄漏发生后的溯源同样重要。数据水印可以在数据泄漏发生后可溯源到操作数据用户身份、作业及泄露范围和渠道,从而提高数据共享和交换中数据的安全性。
数据库水印算法一方面需要更好地将水印标识信息隐藏到数据库中,另一方面需要满足嵌入后的透明性——仅允许一定范围内失真,因此它本质上可看成一个带约束条件的优化问题。从信号角度来看,数据库水印嵌入过程可看成一个大信号叠加了一个小信号,经过有噪信道后,如何检测到小信号——小信号的编解问题。根据水印嵌入过程是否需要改变原始数据库的元组的属性值和格式,嵌入方法主要可分为两大类:
1) 基于元组修改的水印嵌入算法:实质上,任何水印信息可编码转换成一连串由“0”和“1”组成的比特字符串。针对元组的数值属性(如年龄、时间戳)和类别属性(如地址信息等)两种类别,嵌入方法可再分为两种子类别:0”或“1”两种水印比特。为了保留数据可用性,修改应满足一定的约束条件(如统计特性)。简单的方式,是在数值属性值的很低有效位(Least Significant Bit, LSB)进行替换,比如在年龄18(二进制“10010”)很小LSB位嵌入“0”变为18( “10010”),嵌入“1”变为19(二进制“10011”)。其他可以在小数点后进行嵌入,或者使用不同的量化索引等嵌入机制。类别属性的嵌入方法:类别属性不能直接修改数值编码,一种思路是嵌入数据库用户不易察觉的字符或标点,比如通过在类别属性值末尾嵌入回车符、换行符表示“0”“1”,以及嵌入不同的空格数量等,常见嵌入规则如表1所示;另一种思路是基于语义的近义词进行嵌入,首先构建关键词的近义词库并确立顺序,嵌入过程根据约定规则嵌入“0”或“1”比特。