李進(jìn)才
最近,《豆瓣》App截圖暗含水印的新聞,繃緊了很多人的神經(jīng)。有網(wǎng)友發(fā)現(xiàn),在《豆瓣》App的截圖中竟然隱藏著肉眼難以識(shí)別的水印,水印的內(nèi)容則是截圖者的UID等信息!這意味著,在《豆瓣》App中截屏,根據(jù)水印很容易就可以追查到截屏者的某層身份。對(duì)此,《豆瓣》回應(yīng)稱(chēng),這是豆瓣小組的防搬運(yùn)機(jī)制。
當(dāng)豆瓣小組長(zhǎng)開(kāi)啟了內(nèi)容防搬運(yùn)設(shè)置后,在對(duì)小組內(nèi)容進(jìn)行截圖時(shí),截圖上將自動(dòng)生成經(jīng)加密的截圖用戶(hù)ID、被截圖帖子ID、截圖時(shí)間信息。而網(wǎng)友發(fā)現(xiàn),這個(gè)信息對(duì)于截屏者來(lái)說(shuō)難以察覺(jué),水印文字的顏色和背景相似,只有開(kāi)啟夜間模式后才能比較顯眼地觀(guān)察到。
實(shí)際上,《豆瓣》App的這種做法,被業(yè)內(nèi)稱(chēng)之為加“盲水印”。顧名思義,盲水印很難被覺(jué)察,但懂得其中竅門(mén)的話(huà),就可以通過(guò)一些技術(shù)手段檢測(cè)、還原水印,盲水印一般應(yīng)用于一些對(duì)保密有需求的場(chǎng)合,例如企業(yè)內(nèi)部。企業(yè)在內(nèi)部論壇或者聊天工具加上員工信息身份的盲水印,如果員工截圖發(fā)到外網(wǎng),通過(guò)盲水印就很容易定位到泄密者,作出處理。
《豆瓣》顯然不是一個(gè)內(nèi)部使用的App,現(xiàn)在一個(gè)面向公眾的應(yīng)用,居然啟用了追查身份作震懾手段的防泄密機(jī)制,這正是讓很多網(wǎng)友感到震驚之處。
據(jù)了解,如果豆瓣小組啟用了“防搬運(yùn)”功能,會(huì)在主貼底部有明顯提示的字眼。但即便如此,《豆瓣》盲水印帶來(lái)的影響,也已揮之不去了———《豆瓣》能這么做,其他App要不要也跟著做?這樣做是不是能帶來(lái)一些好處?這里就來(lái)簡(jiǎn)單聊聊盲水印和互聯(lián)網(wǎng)社區(qū)的話(huà)題吧。
防不勝防的盲水印
先來(lái)簡(jiǎn)單了解一下盲水印的相關(guān)技術(shù)。
《豆瓣》使用的盲水印,其策略是融入背景色,雖然看似比較隱秘,但其實(shí)這還遠(yuǎn)算不上防不勝防。
某些圖片盲水印,用肉眼根本無(wú)法察覺(jué),需要使用特定的算法還原,才能觀(guān)測(cè)到。同時(shí),這類(lèi)盲水印還非常難以去除,就算對(duì)打了盲水印的圖片反轉(zhuǎn)、裁剪、遮擋、涂抹等處理,水印依然可以被算法還原出來(lái)。
這類(lèi)盲水印,既做到了“盲”的隱秘———水印對(duì)其他人不可見(jiàn),也做到了“印”的牢靠———想要追蹤的話(huà),無(wú)論圖片經(jīng)過(guò)了怎樣的處理,保證絕大部分情況下水印不會(huì)被破壞。
這類(lèi)盲水印是怎樣實(shí)現(xiàn)的呢?原理并不復(fù)雜,通常是將圖片進(jìn)行離散余弦、小波或者傅里葉變換,得到圖片的頻譜信息,再將水印的編碼信息疊加到圖片的頻譜上,然后再進(jìn)行一次逆變換,生成的圖片就帶有幾乎無(wú)法檢測(cè)、但又可以確切還原出來(lái)的盲水印了。
而這樣的盲水印制作也非常簡(jiǎn)單,網(wǎng)絡(luò)上就有開(kāi)源算法可以實(shí)現(xiàn),下面以“blind_watermark”為例的一個(gè)例子。
blind_watermark:https://blindwatermark.github.io/blind_ watermark/#/zh/
這是一個(gè)關(guān)于盲水印的開(kāi)源項(xiàng)目,依賴(lài)于Python運(yùn)行,安裝了blind_watermark后,只需要簡(jiǎn)單的幾行命令,就可以為圖片添加文字或者另一張圖作為盲水印。
添加了盲水印后的圖,即便經(jīng)過(guò)多種修改,依然可以還原出水印,而這一切,都是可以用開(kāi)源免費(fèi)的方案實(shí)現(xiàn)的。
除了圖片可以添加水印,文字也是可以作標(biāo)記的。下面舉個(gè)“text_blind_watermark”的例子。
text_blind_watermark(demo):https://www.guofei.site/ pictures_for_blog/app/text_watermark/v1.html
text_blind_watermark為文字加盲水印的原理也很簡(jiǎn)單,在文字當(dāng)中穿插特殊的符號(hào)(demo演示的是空格),解碼算法識(shí)別出特定符號(hào),就可以解出隱藏的信息了。或許demo中的空格鍵肉眼看上去還比較明顯,但如果所使用的是更加隱秘的字符呢?字符分布更加稀疏呢?恐怕就非常難以覺(jué)察了。
簡(jiǎn)而言之,無(wú)論是圖片還是文字,都可以用已有的成熟方案輕易添加盲水印。只要某個(gè)App有這個(gè)心思,完全可以零成本使用強(qiáng)力的盲水印,而且還不會(huì)被察覺(jué)到,更不至于像《豆瓣》一樣引發(fā)輿情。
從這個(gè)角度來(lái)看,《豆瓣》的水印方案只能算是“小兒科”了。如果啟用更強(qiáng)力的盲水印,用戶(hù)甚至完全無(wú)法察覺(jué),這才是真正的防不勝防。
添加盲水印
正如前文所說(shuō),盲水印主要用于防泄密,企業(yè)內(nèi)部頁(yè)面、電影放映畫(huà)面等都是盲水印的常見(jiàn)應(yīng)用場(chǎng)合。由于盲水印不可見(jiàn)且?guī)в行姑苷叩男畔ⅲ虼怂ǔS糜谧凡?、震懾泄密者(所謂“抓內(nèi)鬼”),而從某個(gè)層面來(lái)說(shuō),盲水印具備區(qū)分“敵我”的功能。
這就很微妙了,《豆瓣》作為一個(gè)面向公眾的App,為何竟然有“抓內(nèi)鬼”的需求,甚至說(shuō)竟然有區(qū)分“敵我”的需求?
《豆瓣》官方的說(shuō)法是,加入盲水印是為了“防搬運(yùn)”,這似乎并不能完全平息輿論。如果是一些版權(quán)網(wǎng)站,例如小說(shuō)網(wǎng)站、視頻網(wǎng)站啟用盲水印“防搬運(yùn)”,是說(shuō)得通的,但即使是版權(quán)網(wǎng)站,也往往只在水印中添加版權(quán)信息,或者禁止復(fù)制文字或下載內(nèi)容,水印也通常不會(huì)摻雜用戶(hù)個(gè)人信息,且往往會(huì)明確告知水印的存在。而《豆瓣》作為一個(gè)社區(qū)App,使用個(gè)人信息作為盲水印“防搬運(yùn)”,似乎多少有點(diǎn)不妥。
這次啟用盲水印機(jī)制的是《豆瓣》的SNS社區(qū)豆瓣小組,而并非《豆瓣》全站。豆瓣小組分為不同主題的小組,各個(gè)小組需要申請(qǐng)加入才能發(fā)表討論,而其管理員“小組長(zhǎng)”則可以審核入組申請(qǐng),也可以決定小組成員的去留。如果小組長(zhǎng)啟用“防搬運(yùn)”,意味著可以通過(guò)截圖的盲水印追查到截圖者的身份,并對(duì)其進(jìn)行處理。
換言之,如果小組長(zhǎng)認(rèn)為組員截圖導(dǎo)致組內(nèi)討論內(nèi)容產(chǎn)生了傳播,是不恰當(dāng)?shù)?,則可將該組員禁言。盲水印“防搬運(yùn)”機(jī)制,會(huì)促使組員不再外泄小組內(nèi)所討論的內(nèi)容。加之豆瓣小組長(zhǎng)本來(lái)就有刪帖等權(quán)限,如此一來(lái),小組內(nèi)的討論內(nèi)容會(huì)更容易變得更具符合小組長(zhǎng)的管理意愿,組內(nèi)的觀(guān)點(diǎn)也會(huì)變得更趨同。
顯然,如果豆瓣小組想要團(tuán)結(jié)意見(jiàn)觀(guān)點(diǎn)相似的人,盲水印會(huì)是一個(gè)非常立竿見(jiàn)影的機(jī)制。我們可以想象,如果QQ群、微信群中也啟用了盲水印機(jī)制,那么群?jiǎn)T很有可能就不再敢輕易截圖,將群聊記錄留證或公諸于眾,否則一旦被發(fā)現(xiàn),就面臨著被踢出群聊的風(fēng)險(xiǎn)。有了“抓內(nèi)鬼”的能力,網(wǎng)絡(luò)社群管理者的威權(quán)也就得以加強(qiáng)了。
《豆瓣》小組加入盲水印,有利建立起更加整齊劃一的討論基調(diào)、聚集起觀(guān)點(diǎn)近似的人群,這或許非常符合《豆瓣》想要打造的社區(qū)氛圍。但是盲水印畢竟包含個(gè)人信息,作為一個(gè)公眾App,在這方面使用個(gè)人信息,并可能間接致使相關(guān)信息廣泛傳播,多少有侵犯隱私的嫌疑?;蛟S正因?yàn)槿绱?,豆瓣小組才會(huì)明確提示已開(kāi)啟防搬運(yùn)功能,用戶(hù)不至于完全沒(méi)有知情權(quán)。
但是,從技術(shù)的角度來(lái)看,App對(duì)截圖加入盲水印且不被察覺(jué),并不是一件困難的事。如果有更多網(wǎng)絡(luò)社區(qū)想要打造價(jià)值觀(guān)趨同的圈子,認(rèn)同這種運(yùn)營(yíng)理念,神不知鬼不覺(jué)加入更加強(qiáng)力的盲水印,也是有可能的。
盲水印作為追查內(nèi)部泄密者的手段,這次如此大規(guī)模用于公眾社區(qū),無(wú)可避免會(huì)引來(lái)議論紛紛。作為普通用戶(hù),或許大家并不希望個(gè)人信息用于這等用途,希望有關(guān)部門(mén)能夠嚴(yán)加監(jiān)管,進(jìn)一步規(guī)范平臺(tái)對(duì)個(gè)人信息的使用。