原创!在文章中添加“文字指纹”,追踪盗版源头

2021-04-29 12:07:26 +08:00
 sillydaddy

帖子“ 有没有办法防止 app 内资源被提取呢 ”里面提到了对自己著作权内容被盗取的担心。

这个问题的背景就不多说了,说多了都是泪。直接呈上我思考的方案,欢迎点赞+批判:


我的方案


  1. 要有注册机制,以便区分不同的用户

  2. 对于同一篇著作内容,在分发给不同的用户前,都加上独特可区分的水印,一旦出现盗版,可以知道是哪个用户泄露

  3. 定位盗版源头后,永封源头用户,钱款不退。提高用户被永封后的直接损失,把走法律诉讼这种高成本的动作转移给对方。

  4. 重点讨论给纯文字添加水印的方法,要让这种水印不能轻易被抹除、篡改。方法包括:

    • 文字替换,同义词替换
    • 句子的顺序调换
    • 句子、段落的增+,减-

盗版者的手段和困境


抹除水印的方法,说白了就是对带有水印的内容,进行“扭曲变形”,让水印无法再辨别。那么文字的“扭曲变形”,就只能是修改文字自身的内容了。那么,分析一下针对上面 3 种“文字水印”的破环手段和效果:

  1. 针对特定的“文字替换,同义词替换”

    只要我把文章中的所有字词都用同义词替换一遍,原有的替换效果就全被破坏了

  2. 针对特定的“句子的顺序调换”

    只要我把文章中的句子顺序都打乱,原有的调换效果就被破坏了

  3. 针对特定的“句子、段落的增+,减-”

    只要我把文章中的句子段落随机增删,原有的增+减-效果就被破坏了

等一下。。看起来哪里不对劲。。替换文章所有字词还算勉强可行,但随意增+删-,以及调换句子顺序,那文章还能读吗?

对,这就是试图破坏这些水印所面临的困难!也是这些水印可行的原因!


三维水印空间


字词替换、句子顺序调换、句子增+减-,这 3 种方法中,每一种下面都有 N 多种具体的选择,都可以选择文章中具体的某个字词、某个句子进行操作。用个比喻的话,这 3 种方法可以看作是文字水印的 3 个维度。而具体的水印,则是这“三维水印空间”中的某 1 点:

盗版者并不知道所加水印点的具体位置,所以要破环它,只有尽量扰乱整个水印空间,也就是说,

这意味着什么呢:

而添加水印对创作者的难度呢:

大家怎么看


可以看出,水印空间的维度越高,破坏水印越困难,而添加水印则越简单。上面给出的是一个 3 维的水印空间,也就是添加“文字水印”的 3 种方法,还有其他的方法吗?

10672 次点击
所在节点    奇思妙想
106 条回复
sillydaddy
2021-04-29 14:12:36 +08:00
@renmu123 #29
@zerofancy #33
没有仔细看主题吧,主题里明确说明了添加这种水印的代价,分为人工和计算机程序:

>
>而添加水印对创作者的难度呢:
>人工添加:手动选取 10 组待替换词组,10 组待调换句子,10 组待增+减-句子,10*10*10 可供分发给 1000 个用户,添加水印后的文章浑然天成,毫无破绽
>程序添加:程序选取 10 组待替换词组,10 组待调换句子,10 组待增+减-句子,10*10*10 可供分发给 1000 个用户,添加水印后的文章有点别扭,但,仅仅是有一点,毕竟只替换了一组。读者就凑合着看吧。
no1xsyzy
2021-04-29 14:16:31 +08:00
@abersheeran 你说的是 “限制” 而不是 “不可行”……
你所说的 “滑坡” 包不包含 “限制” -> “不可行” 的 “滑坡”?

可能依赖于上游适配性调整…… 方法上也可以转变为零宽或者同形异码
imn1
2021-04-29 14:20:12 +08:00
@sillydaddy #27
藏头诗只是一种说法,如果非要理解为诗,那还必须是古诗,字句工整,摆在一起就看出来的

但广义来说
藏:把特定的字掩藏在众多字中,所谓“大隐隐于市”
头:有规律的位置,不是非要首字
诗:文体,不是非要诗

只要能达成这个目的 —— 从特定位置提字组成一句有意义的话,不必咬文嚼字就理解为诗,因为没有“藏头散文”、“藏头通知”……这些叫法,藏头诗只是一种提法、意思而已
renmu123
2021-04-29 14:26:01 +08:00
@sillydaddy 我论证的是人工成本太高,而计算机替换严重影响体验,所以这这种方法几乎都不可用
marcomarco
2021-04-29 14:26:57 +08:00
那如果注册用户是用的假身份注册的呢,还是找不到人啊
S179276SP
2021-04-29 14:35:54 +08:00
抵挡不了老毛子给你一页页拍照做成 pdf 上传
dswyzx
2021-04-29 14:39:53 +08:00
得的地替换不行的话,全角半角逗号进行替换?
est
2021-04-29 14:43:19 +08:00
放心吧。抄袭狗一般都需要二次加工的。你精心放置的识别词都会被人肉改得妈都不认识
woodensail
2021-04-29 14:55:44 +08:00
上面讨论这么多。我说个现实中使用过的案例吧,可以使用自定义字体。把常用字全部随机替换一遍,并且配上一套能正确展示的字体。比如「你好」这两个字,你抓包看到的可能是「再见」,但是在用户使用的字体中这两个字展示出来就是「你好」。这样对用户完全无感,但是抓包和开控制台复制的成本。

之前是在某旅游网站看到过这种做法,他们把所有的数字全部打乱了,直接爬虫爬爬到的全是错误数据。
akira
2021-04-29 15:09:44 +08:00
所有的方案都是不能完全避免盗版的
只是提高盗版的成本
当盗版的成本大于收益的时候
自然就没人去做这样的事情了
FS1P7dJz
2021-04-29 15:15:08 +08:00
OCR 识别+人工矫正,对你这些方法都没什么用

特殊字体什么的,在如今的 OCR 技术中调整起来非常迅速,何况还有人工矫正

替换同义句之类的,大概也只能适用于垃圾网文,真正的文学遣词造句很讲究,哪能随便替换的
xuanbg
2021-04-29 15:19:35 +08:00
文字特征制作方法:随机生成若干个位置,然后对这些位置做字典替换。保存下替换位置和替换结果作为特征保存到数据库。然后发现疑似文字,可编写程序进行自动化特征匹配。
ired
2021-04-29 15:23:13 +08:00
@Rocketer 有趣的思路
xingshu1990
2021-04-29 15:53:45 +08:00
@woodensail #49 字体加密:
https://blog.csdn.net/weixin_42277380/article/details/97239019
https://zhuanlan.zhihu.com/p/108207403
不过字体加密的是有载体的东西,该题主说的是文字加密,这个文字加密就抛开载体的说法了。
geelaw
2021-04-29 15:56:44 +08:00
这个方法自古已有,例如古老的对数表可以在小数点后很远的位置植入一些错误。

这类问题的形式化版本包括 traitor tracing 和 fingerprinting codes 。
woodensail
2021-04-29 15:56:50 +08:00
@xingshu1990 其实是一样的,前面已经说了,无论中途如何加密,最后用户看到的时候必须还原成原始的状态。我这边该文字映射了,用户看的时候就得映射回去。楼主的方法做了文字替换了,用户看的时候也必须替换回去。
Soar360
2021-04-29 16:26:25 +08:00
自定义一个字体么。哈哈。
libook
2021-04-29 16:28:40 +08:00
分析得挺到位的。

有几个问题可能还需要想想:
1. 这种追踪类的水印有一个很重要的功能就是可以解码出盗版者的追踪信息,如果盗版者在你基础上又做了处理,不需要动所有的点位,哪怕只动了一个位置都有可能导致解码出来的信息不能定位到任何一个用户。
2. 自动化盗版的速度都很快,可能在检测出有盗版存在的时候已经都盗完了,甚至钱也退了。
3. 对于那些对用字和语法要求苛刻的作者来说,大概率不会采用这种方案。

DRM 确实是个大难题,而且现在已经形成了长期对抗。
mimi888
2021-04-29 16:32:57 +08:00
说实话,还是好好做内容吧,起点这么多年下来都已经躺平了
Cloutain
2021-04-29 16:54:25 +08:00
文章的本质是内容。首先这种方案肯定在文学作品上没法用,严重影响文学性。其次,科研文章没法用,除非你能做到相当精确的等价描述。最后,能用的地方可能就是一些网络水文,这还得看作者愿不愿意,因为即是是网络写手也对自己的作品很上心

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/774059

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX