转:京东陈泳君:数字水印在数据泄露溯源中的应用与挑战 - 知乎
数字水印领域尚有很多未解决的问题,例如:
- 通用性的水印添加方式的易分离去除:通用性的水印添加方式经常伴随着和被保护内容的分离,容易被探测并去除掉。比如文本水印中的加空格或者是零宽字符,网页水印与页面内容的分离。
- 针对超短文本、特定信息的水印添加方法:诸如手机号,身份证号等信息对精确性要求很高,且有固定的数据格式,无法容忍改动。对于这类信息,如何更加有效地去添加水印是值得探索的问题。
- 水印算法在时间消耗和空间存储上的优化。
05精彩问答
Q: 网页暗水印用什么技术好一些?
A: 网页暗水印当前比较常见的有高透明度水印、矢量水印,,看起来是一些小点点的那种,用不同的组合,去标注不同的01234这样的一些编码。还有就是像我刚才介绍的,可以把图片数字水印里的变换域水印迁移到网页来使用。
Q: 基于自然语言替换的算法,如果两份带不同水印的数据互相融合的话,能否溯源出两个水印信息,如果能的话是怎样做的?
A:这也是我们最近在思考的问题。这种情况不仅发生在文本水印中,在数据库水印场景也会发生。多份数据融合在一起的话,我们如何去精确地提取到水印。多份带水印数据融合,又可以细分为:1)带同一水印算法+同一密钥的数据融合;2)带同一水印算法+不同密钥的数据融合;3)带不同水印算法的数据融合。对于不同细分种类,会有不同的处理方法。对于1)来说,我们通过多条数据提取到的水印内容会呈现较明显的双峰现象,那么通过数据分析我们可以同时提取到插入的两个水印内容;对于2)和3),由于我们只掌握我们自己的算法和密钥,因此另一份数据中含有的水印会被当成噪声数据去除,仅可提取到我们自己添加的水印内容。实际场景中还会发生更加复杂的情况,例如我们添加水印的数据又被重复添加了另一种基于自然语言替换的水印,那之前的水印就遭到了严重的破坏。对于这种场景,如果两种算法使用不同的同义词替换表,可能会有一些有效的区分,那通过我们在水印编码中加入的纠错码,可以进行水印的验证和纠错。在真实溯源场景中,通过水印提取我们很多时候不是提取到一个唯一的ID,而可能是疑似的水印列表。例如,一个N位的水印编码,通过水印提取有一些位数我们是可以确定的,有一些位数是置信度不太高的,那就需要结合例如日志审计等多种手段,去进一步缩小范围,最后精确定位到源头。因此数据溯源并不能单纯依赖水印,还是要结合多种技术,多方面考虑,最后才能真正找到泄漏源头。