数据水印印发方式
数据水印通常拥有广泛的数据水印分发方式,不需要生产系统和本地安装任何客户端,如支持数据库到数据库、数据库到文件、文件到文件、文件到数据库四种完全不落地的数据水印方式。并且,兼容各类主流数据库,包括Oracle、SQL Server、MySQL、DB2等数据库。在数据处理全流程中,水印数据不落地,因此也不存在中间环节数据泄露风险,以上几点可以保证数据原始特征、逻辑及各类数据间的一致性、业务关联性。
数据水印功能
数据内容识别
数据水印内置数据识别模块,识别有效数据,自动分配水印规则、水印位置。其目的就是为了解决“找到哪些字段适合添加水印”和“分析出在哪些行添加水印”。实现数据泄漏发生后的溯源和对泄漏源头的定位。
数据高模拟
数据模拟:保持基础特征一致性,嵌入符合逻辑特征的数据水印。其目的是为了解决找到适合添加数据水印的数据位,并保证前后数据格式、校验等均一致,达到不影响业务的连续性等目的。
数据水印数据库水印
数据库水印(简称数据水印)是一种将标识信息(如版权信息、机构/员工ID)通过一定的规则与算法隐藏在结构化数据中的技术。隐藏后数据库的使用价值几乎不变。其主要用于版权保护或泄露溯源(本文关注后者)。广泛地说,数据库水印属于数字水印的其中一个分支。除数据库水印外,根据嵌入载体不同,数字水印还包括图像水印、视频水印、音频水印、文本水印和软件水印等。其中,早的数字水印技术是应用在图像领域中,即图像水印发展较为成熟。数据库水印技术在安全需求驱动下,近年来得到快速发展与应用。下面从数据库水印的方案框架、评估指标、水印攻击和典型算法四个方面对其进行概述与介绍。
数据水印概述
数据库水印是将水印信息(数据量少)隐藏到数据库载体(数据量比较大)中,有两种隐藏方式:一种是隐藏在数据库的文件头中,另一种是隐藏在数据库包含的关系表中,通常指的是后者,本文指代也是该方式。
具体如何将水印信息隐藏到数据库(关系表)中呢?其方案框架如图1所示。它包括水印嵌入端和提取端,包括两个重要算法:水印嵌入算法和水印提取算法。水印嵌入端:企业或组织机构通过水印嵌入算法,将水印标识信息W,隐藏到原始数据库D中,得到含水印的数据库DW,为了保证安全性,该过程通常由密钥控制。水印提取端:当数据库DW发生泄露后,企业或组织机构希望查找清楚是谁泄露了该数据库,它通过水印提取算法,在获得的数据库D’W中进行水印提取或相关性检测操作,进而溯源确定的泄露主体,追究责任。
需注意的是,在数据泄露过程中,由于泄露主体可能会有意或无意对数据库进行一些操作,比如对数据库的元组进行随机抽样、选择部分列、修改数据库的某些值或对格式进行调整,这些操作通常被称为水印攻击(后续将介绍),通常会对水印信息造成一定影响,这要求设计的水印嵌入/提取算法具有一定强度的鲁棒性,即遭受攻击后同样能提取/检测到正确的水印信息。