“真正的数据库水印系统长啥样?” ——十问中安威士升级版数据库水印系统

该版本阐释了“真正的数据库水印系统长啥样?”这个问题。
问1
什么是数据库水印?

数据库水印,是指通过对数据库中的数据进行修改、标记,以起到数据所有权判定与数据完整性验证的作用。

一句话解释,水印是用来溯源的。比如甲把放入了不同水印的数据同时给了乙和丙,当数据发生泄漏的时候,通过比较水印,就能知道数据是从乙,还是丙处泄漏的。

问2
数据库水印系统的关键指标是什么?

在对数据库添加水印时,必然会对表中数据进行修改。对水印好坏的判定,除了最基本的溯源能力以外,还要考查其是否具有隐蔽、对数据的破坏是否严重等指标。通常来说,对数据库水印系统好坏判定的关键指标有三个,分别是:隐蔽性、鲁棒性与数据完整性。

问3
什么是隐蔽性?

隐蔽性是指水印的嵌入位置、水印内容等应该不易被发现。如果在固定列、固定位置,插入明显的字符,会很容易被发现并被擦除。

问4
什么是鲁棒性?

鲁棒是Robust的音译,是健壮和强壮的意思,强调在异常或危险情况下系统生存的能力。鲁棒性在水印上体现就是水印的抗攻击能力。包括替换攻击、插入攻击、删除攻击等。一句话解释,鲁棒性就是抗攻击性,水印就该很能抗攻击。

问5
什么是完整性?

数据完整性,是指水印对数据可用性的影响,即水印对数据的破坏性。当水印对数据有较大的修改时,可能会影响数据的可用性,导致某些功能的失效。比如对数值型内容进行大的修改,可能会影响计算结果;或者对文本型数据进行大的修改,则可能会影响到检索结果和文本分析功能。

问6
水印有没有安全性的说法?

水印的安全性决定于隐蔽性和鲁棒性。隐蔽性决定其不容易被发现,鲁棒性体现其不容易被暴力攻击。

问7
基于伪行伪列的水印系统怎么样?

当前有些水印系统通过在数据库表中插入人工构造的行或列,以实现溯源的能力。这种水印比较原始,隐蔽性和鲁棒性都很低,很容易被识别并删除,并且破坏了表结构和数据的行数,降抵了数据的完整性。

问8
数据库水印可以用于哪些场景?

数据分享:在需要分享的数据中添加可以鉴别接受方的水印,以要求接收方对数据进行保护。当数据发生泄漏时,可以识别出泄漏责任方。

数据传输:为防止传输中数据发生泄漏,可以事先添加水印。完成传输后可以通过专用工具擦除水印,恢复数据原样。

数据防攻击:对运行中的数据,可以通过添加水印,配合数据访问审计等技术手段,可以在数据发生泄漏后追溯泄漏路径。

问9
真正的水印系统长啥样?

真正的水印系统应该具有隐蔽性高、鲁棒性高、完整性高的特点。中安威士发布的数据库水印系统V1R3版本则是具有这些优秀特性的标杆。具体来说,它通过如下的技术手段达到上述特性:
1)可变的行嵌入比例:算法自动根据指定比例,选择某些行进行水印的插入,从而使得水印很难被发现和擦除;
2)智能的选择嵌入列:并非在每一个字段下都嵌入水印,而是依据用户信息等多重信息联合选择水印嵌入字段;
3)水印擦除和攻击检测:水印在用来溯源检测的同时,可以提供水印擦除功能,恢复数据真实面目;并且对水印的篡改进行检测,恢复到正确的水印;

4)可同时对数值型、字符串型数据进行处理;对字符型字段采用特殊字符,不但肉眼不可见,字符编辑器也无感,并且插入在不影响检索、文本分析的位置。针对数字型字段,采用二进制位移技术,以正态分布的方式对数值型数据进行水印嵌入,使嵌入水印后的数据,与原始数据相比,在均值、方差等方面仅有极小的变化,对数据完整性保护较好。一句话解释:水印对数据的改动很小而且很均匀,很隐蔽,很难被擦除。

通过上述技术手段,即使采用了低占比的水印,水印的分布也保证了随机、均匀、多变等特性。依然具有较高的安全性,即隐蔽性和鲁棒性。

问10
还有什么专业的提醒吗?

数据库水印算法多是从图像水印算法借鉴过来但是由于数据库的特性,水印嵌入难度更大。在具体应用中,还需要根据实际场景选择具体的水印方案。

经过一年多的沉淀,中安威士数据库水印系统V1R3版本正式发布。

你可能感兴趣的:(数据库安全,数据库)