首頁>資訊 >
環(huán)球速讀:互聯(lián)網(wǎng)苦「驗(yàn)證碼」久矣 2022-08-28 05:33:12  來源:36氪

經(jīng)常使用互聯(lián)網(wǎng)的你,一定見過下面這個(gè)家伙吧?

沒錯(cuò),它就是驗(yàn)證碼。


(資料圖)

可別小看這個(gè)家伙,很多人都在它面前栽過跟頭。

想象個(gè)場(chǎng)景:你登錄12306網(wǎng)站,發(fā)現(xiàn)還有最后一張余票,正準(zhǔn)備下單時(shí),驗(yàn)證碼彈了出來,很不巧,你手速慢了一步,近在眼前的回家機(jī)會(huì)和你失之交臂。

先別氣急敗壞,大部分人都遇到過這樣的窘境,或許這不是你的問題。根據(jù)360瀏覽器提供的大數(shù)據(jù),用戶一次性填對(duì)驗(yàn)證碼的概率只有8%,兩次輸入正確的比例也不過27%。

國(guó)民級(jí)搶票平臺(tái)12306網(wǎng)站,為了防止黃牛刷票,不斷增加驗(yàn)證碼難度,僅2015年,就推出了581種驗(yàn)證碼方式。

看下圖,感受一下,能3秒鐘說出正確答案的朋友,請(qǐng)?jiān)胤馍?,哈哈?/p>

我們都知道,驗(yàn)證碼的出現(xiàn),是為了防止機(jī)器惡意攻擊而設(shè)置的屏障。通過驗(yàn)證碼題目,將計(jì)算機(jī)和人做區(qū)分——將人放行,把計(jì)算機(jī)攔截在外。

但也不可否認(rèn),如今的驗(yàn)證碼已經(jīng)不再是簡(jiǎn)單的輸入數(shù)字和字母這么簡(jiǎn)單,有的題目簡(jiǎn)直懷疑人生。人們不禁感慨,我該如何證明自己是個(gè)正常的人類?

今天,我們一起來聊聊驗(yàn)證碼的前世今生。

驗(yàn)證碼的前世今生

1. 驗(yàn)證碼是什么

驗(yàn)證碼的專業(yè)術(shù)語叫“全自動(dòng)區(qū)分計(jì)算機(jī)和人類的圖靈測(cè)試”,通過設(shè)置特定的題目來區(qū)分當(dāng)前設(shè)備背后是人在操作還是機(jī)器。

2. 驗(yàn)證碼的用途

主要用于防止:黑客窮舉破解密碼(再復(fù)雜的密碼通過無限窮舉和排列也可以被破解)、自動(dòng)化程序注冊(cè)僵尸用戶(下文提到的雅虎郵箱就是慘痛的教訓(xùn))、第三方程序惡意抓取內(nèi)容(內(nèi)容型平臺(tái)的護(hù)城河)、自動(dòng)化程序發(fā)帖評(píng)論(造成社區(qū)秩序混亂、質(zhì)量下降)、批量操作(比如刷票)等。

中國(guó)工商銀行注冊(cè)頁面

3. 驗(yàn)證碼怎么出現(xiàn)的

2000年左右,人們主要通還是過郵件交流,雅虎郵箱堪稱當(dāng)時(shí)互聯(lián)網(wǎng)行業(yè)的“殺手級(jí)”應(yīng)用,很多中國(guó)人的第一個(gè)電子郵箱后綴就是@yahoo.com。

有流量的地方就會(huì)有黑產(chǎn)。

當(dāng)年國(guó)際上最大的黑產(chǎn)是尼日利亞人,世紀(jì)之交時(shí),他們開始用機(jī)器注冊(cè)大量的雅虎馬甲郵箱,用來發(fā)送垃圾郵件,進(jìn)行網(wǎng)絡(luò)詐騙,被媒體稱作“雅虎男孩”。當(dāng)時(shí)用戶打開自己的郵箱,充斥著各種垃圾郵件,苦不堪言。

這個(gè)問題困擾了雅虎很久,當(dāng)時(shí)被列為“雅虎十個(gè)無法解決的問題”之一。

后來一位叫路易斯·馮·安的人為雅虎設(shè)計(jì)了一套人機(jī)驗(yàn)證方案,也就是最早的字符驗(yàn)證碼。

當(dāng)時(shí)的驗(yàn)證碼還比較簡(jiǎn)單,主要是一些簡(jiǎn)單的數(shù)字,利用了“人類會(huì)識(shí)字,但機(jī)器不會(huì)”的原理,這把當(dāng)時(shí)的黑產(chǎn)打了一個(gè)措手不及。驗(yàn)證碼的上線,將困擾雅虎很久都垃圾郵件問題得到了明顯解決,用戶體驗(yàn)呈指數(shù)級(jí)提升。

4. 驗(yàn)證碼被迫增加難度

道高一尺,魔高一丈,黑產(chǎn)怎么會(huì)被輕易打?。靠梢哉f,驗(yàn)證碼給我們帶來的困擾,全都是黑產(chǎn)的“功勞”。

你出數(shù)字圖形驗(yàn)證碼,我就用OCR光學(xué)識(shí)別;你的圖片加上噪點(diǎn),我就去除噪點(diǎn);你出滑動(dòng)驗(yàn)證碼,我就用瀏覽器測(cè)試工具模擬人類滑動(dòng)。

拿OCR技術(shù)舉例:很多人應(yīng)該都聽說過OCR技術(shù),平時(shí)我們用手機(jī)將圖片拍攝掃描自動(dòng)轉(zhuǎn)化成文本文字,使用的就是OCR技術(shù)。2003年有人通過圖像識(shí)別算法對(duì)簡(jiǎn)單字符型對(duì)驗(yàn)證碼進(jìn)行自動(dòng)化識(shí)別,可以達(dá)到93%的成功率??膳掳??科技是把雙刃劍,為我們帶來便捷的同時(shí),也被壞人所利用。

但OCR技術(shù)只能處理一些簡(jiǎn)單的字符型驗(yàn)證碼,稍微復(fù)雜一些的,比如扭曲和翻轉(zhuǎn)的字符,處理的難度就比較大了。因此后來很多網(wǎng)站開始使用復(fù)雜型字符,以抵抗反驗(yàn)證技術(shù)。

2005年,有人利用機(jī)器學(xué)習(xí)模型對(duì)單個(gè)字符對(duì)驗(yàn)證碼進(jìn)行自動(dòng)化識(shí)別,計(jì)算機(jī)對(duì)識(shí)別成功率竟然還比人類對(duì)成功率高。但訓(xùn)練機(jī)器的難度和成本是很高的,從技術(shù)門檻上已經(jīng)極大的提高了反驗(yàn)證的難度。再后來,驗(yàn)證碼繼續(xù)升級(jí),推出了算術(shù)題、圖像識(shí)別題等高難度題目,讓反驗(yàn)證技術(shù)難上加難。

研發(fā)解碼程序的難度和成本越來越高,到后來,索性衍生出了“打碼員”的黑色利益鏈條。黑產(chǎn)們雇傭大量真人,通過系統(tǒng)派發(fā)打碼任務(wù),打碼員根據(jù)任務(wù)到相關(guān)網(wǎng)站人工識(shí)別驗(yàn)證碼,從而獲得收益。

驗(yàn)證碼最大的天敵是真實(shí)的人,當(dāng)人與人進(jìn)行對(duì)抗時(shí),基本技術(shù)發(fā)揮不了多大的作用。

5. 驗(yàn)證碼有哪些種類

正如上文所說,驗(yàn)證碼被反驗(yàn)證技術(shù)倒逼升級(jí),從簡(jiǎn)單數(shù)字、字母,到加減法,再到后來閃爍變形字母、干擾線變形字母,甚至到變態(tài)級(jí)的選圖題…

其實(shí)字符扭曲,基本就可以阻擋住大部分機(jī)器的識(shí)別了,已經(jīng)算是比較高的難度,在當(dāng)時(shí)的20年內(nèi),其安全性也都能排在前列。

如今的驗(yàn)證題目,比如算術(shù)題,除了簡(jiǎn)單的加減乘除外,有時(shí)還會(huì)考平方計(jì)算(沒上過初中或許還真答不對(duì))。

為了防止機(jī)器識(shí)別,甚至漢字還用上了古文字;滑動(dòng)滑塊也是比較有效的方式,通過判斷滑動(dòng)的時(shí)間和快慢來識(shí)別是否是機(jī)器在操作(筆者曾經(jīng)多次因手速滑動(dòng)太快而為誤認(rèn)為是機(jī)器,真想喊冤);隨著二維碼的普及,掃碼登錄的方式也被更多網(wǎng)站所使用,自己證明自己,有意思;當(dāng)然,像人臉識(shí)別、指紋識(shí)別、聲紋識(shí)別等高級(jí)的驗(yàn)證方式也在進(jìn)行探索和實(shí)驗(yàn),目前主要用于銀行類網(wǎng)站。

隨著技術(shù)的發(fā)展,近些年,還有許多新型驗(yàn)證方式誕生。比如Gif動(dòng)畫驗(yàn)證碼,通過提供GIF動(dòng)態(tài)的驗(yàn)證碼圖片,使得識(shí)別器不容易辨識(shí)哪一個(gè)圖層是真正的驗(yàn)證碼圖片;手機(jī)語音驗(yàn)證碼實(shí)現(xiàn)自動(dòng)語音播報(bào),同時(shí)短信也能同時(shí)發(fā)送到用戶手機(jī),實(shí)現(xiàn)雙保險(xiǎn)確保萬無一失;視頻驗(yàn)證碼是驗(yàn)證碼中的新秀,隨機(jī)數(shù)字、字母和中文組合而成的驗(yàn)證碼動(dòng)態(tài)嵌入到MP4,flv等格式的視頻中,增大了破解難度。

驗(yàn)證碼屬于安全驗(yàn)證的一種。

而安全驗(yàn)證,無外乎是如下三個(gè)方面的判斷:

1)基礎(chǔ)信息判斷

比如注冊(cè)時(shí)設(shè)置的用戶名、密碼、找回密碼的問題和答案,對(duì)用戶身份有一個(gè)基礎(chǔ)判斷。

2)判斷是真人

這就出現(xiàn)了我們經(jīng)常見到的圖形驗(yàn)證碼、數(shù)字驗(yàn)證碼、選圖驗(yàn)證碼等,用來判斷你是不是真人。

3)判斷是本人

以上兩個(gè)方式,只能判斷你是真人,且是知道一定真實(shí)信息的真人,但還無法確定你就是賬號(hào)的所有者。所以就出現(xiàn)了短信驗(yàn)證碼、微信掃碼、人臉識(shí)別等驗(yàn)證方式。

目前很多網(wǎng)站已經(jīng)在使用雙重認(rèn)證或多重驗(yàn)證的方式來保證用戶和網(wǎng)站的安全。除了輸入用戶名、密碼外,在發(fā)送驗(yàn)證碼前還會(huì)進(jìn)行滑塊驗(yàn)證。

全民被驗(yàn)證碼“白嫖”

或許你還不知道,驗(yàn)證碼除了用來區(qū)分人和計(jì)算機(jī),還在免費(fèi)白嫖集體網(wǎng)民的智慧。

還記得上文提到的路易斯·馮·安嗎?在發(fā)明了初代驗(yàn)證碼后,他在2004年帶領(lǐng)團(tuán)隊(duì)又上線了一個(gè)叫recaptcha的驗(yàn)證碼系統(tǒng)。

當(dāng)時(shí)有很多文獻(xiàn)和圖書都想做數(shù)字化(也就是我們現(xiàn)在看到的電子圖書),但很多古書褪色嚴(yán)重,計(jì)算機(jī)無法識(shí)別,于是路易斯·馮·安想到了一個(gè)辦法:把一個(gè)驗(yàn)證碼分為兩部分,用戶需要輸入兩個(gè)驗(yàn)證信息,前面的驗(yàn)證碼,用來區(qū)別真人與機(jī)器;后面的驗(yàn)證碼是古書上機(jī)器無法識(shí)別的內(nèi)容,用戶提交的結(jié)果會(huì)發(fā)送到數(shù)據(jù)庫,把許多人達(dá)成共識(shí)的答案再經(jīng)由后臺(tái)人員甄別,得出來的就是古書的正確內(nèi)容,以此供計(jì)算機(jī)學(xué)習(xí)。據(jù)說準(zhǔn)確率能夠達(dá)到99%。

即便放到現(xiàn)在來看,這也仍然是一個(gè)聰明絕頂?shù)南敕āH罕姷牧α渴菑?qiáng)大的,有數(shù)據(jù)統(tǒng)計(jì),通過這種方式,驗(yàn)證碼系統(tǒng)每天能夠數(shù)字化兩億個(gè)字符,到今天為止,已經(jīng)數(shù)字化2500萬本書。當(dāng)時(shí)紐約時(shí)報(bào)一整年的所有內(nèi)容,只需要4天就能實(shí)現(xiàn)全部數(shù)字化。

2009年,谷歌收購了recaptcha,利用這個(gè)方式擴(kuò)充自家的谷歌圖書項(xiàng)目,谷歌圖書館目前已經(jīng)是全球最大的電子圖書館,擁有近3000萬冊(cè)圖書。

人的貪婪是無限的,只讓網(wǎng)民翻譯古書已經(jīng)不能滿足期待,于是recaptcha 2.0版本應(yīng)運(yùn)而生,你應(yīng)該也不陌生,看看下面這個(gè)圖片:

谷歌的AI技術(shù)一直是其驕傲的地方。

拿谷歌的AI無人駕駛技術(shù)來說,想提高機(jī)器判斷精準(zhǔn)度,其實(shí)并沒有什么捷徑可走,需要無數(shù)數(shù)據(jù)和樣本供機(jī)器學(xué)習(xí)和訓(xùn)練,這是一項(xiàng)成本極高又很耗時(shí)間的投入。

谷歌如何做的呢?

他們將道路上的圖片抓拍,并用在驗(yàn)證碼上,讓網(wǎng)民幫其判斷,并將這些結(jié)果數(shù)據(jù)傳回機(jī)器學(xué)習(xí)。如果說這是一個(gè)天才想法,應(yīng)該不為過吧?

驗(yàn)證碼的一些思考

1. 驗(yàn)證碼是最優(yōu)解嗎?

驗(yàn)證碼的出現(xiàn)絕對(duì)是無奈之舉,它對(duì)用戶的干擾很大。

仔細(xì)思考你會(huì)發(fā)現(xiàn),驗(yàn)證碼其實(shí)并不能完全解決問題,甚至在一些極限情況下會(huì)出現(xiàn)不成立,比如:驗(yàn)證碼能成立的前提是【發(fā)起惡意行為時(shí),相比機(jī)器自動(dòng)化完成,人工成本更高】,但在人工非常廉價(jià)的地方,只需要付出少許的成本就可以利用真人順利完成驗(yàn)證,驗(yàn)證碼完全失效。

但在目前的技術(shù)實(shí)現(xiàn)上來看,驗(yàn)證碼雖然不是一個(gè)好的設(shè)計(jì),但確實(shí)是一個(gè)有效的設(shè)計(jì)。如果沒有驗(yàn)證碼系統(tǒng),每年春運(yùn),我們根本搶不到票。

2. 驗(yàn)證碼的適老化問題

當(dāng)年輕人在判斷到底是“0還是o”,“日還是曰”時(shí),對(duì)于老年人簡(jiǎn)直是災(zāi)難。

在《移動(dòng)互聯(lián)網(wǎng)(APP)適老化通用設(shè)計(jì)規(guī)范》中也明確對(duì)驗(yàn)證碼做了要求,不過縱觀目前國(guó)內(nèi)的互聯(lián)網(wǎng)產(chǎn)品,在驗(yàn)證碼適老化方面還有很大的提升空間。除了提供傳統(tǒng)驗(yàn)證碼放大能力以外,還應(yīng)該支持更多元的驗(yàn)證方式,比如語音驗(yàn)證碼等。

3. 驗(yàn)證碼能一勞永逸嗎?

隨著技術(shù)的持續(xù)發(fā)展,未來計(jì)算機(jī)和人類的差距會(huì)越發(fā)縮小,驗(yàn)證碼是階段性背景下的產(chǎn)物,人和機(jī)器的對(duì)抗還將持續(xù)進(jìn)行下去。

4. 有沒有可替代的方案

目前也陸續(xù)出現(xiàn)了更多元的驗(yàn)證方式,比如指紋、虹膜、體感、聲紋技術(shù)等,不過目前推廣起來難度較大,這些技術(shù)的使用需要搭配額外的硬件來實(shí)現(xiàn),拋開硬件的價(jià)格,精度本身都是個(gè)大問題,更何況安全性和便捷性也并不一定高。

蘋果推出了私人訪問令牌(無感驗(yàn)證),當(dāng)用戶開始使用手機(jī)時(shí),系統(tǒng)就會(huì)自動(dòng)開始跟蹤記錄,綜合用戶完成的一系列動(dòng)作來判斷設(shè)備背后是真人還是機(jī)器。但這是以犧牲個(gè)人隱私和數(shù)據(jù)為代價(jià)。盡管蘋果承諾這些數(shù)據(jù)不會(huì)被用作其他用途。

5. 驗(yàn)證碼的安全性和體驗(yàn)性

要對(duì)驗(yàn)證碼進(jìn)行升級(jí),就必須考慮安全性和體驗(yàn)性,既要在交互上盡可能少的阻礙用戶,又要做到足夠安全,這本身就是很難平衡的天平。

近幾年,國(guó)內(nèi)互聯(lián)網(wǎng)產(chǎn)品都在努力改進(jìn)驗(yàn)證碼方式,很多網(wǎng)站已經(jīng)改為了短信驗(yàn)證碼/掃碼登錄的方式,在用戶體驗(yàn)和便捷性上都有了不小的提升,不過考慮到掃碼也會(huì)存在潛在安全性,部分網(wǎng)站還是會(huì)將傳統(tǒng)驗(yàn)證碼和掃碼結(jié)合使用,雙重防護(hù)。

結(jié)語

筆者認(rèn)為,雖然目前我們還沒有更好的辦法進(jìn)行人機(jī)驗(yàn)證,不過可以盡可能少的對(duì)用戶使用進(jìn)行阻礙,在不必要的環(huán)節(jié)盡可能少的使用驗(yàn)證碼。驗(yàn)證碼慎用,驗(yàn)證碼慎用,驗(yàn)證碼慎用。

雖然痛恨它,但也感謝它,更要繼續(xù)超越它,驗(yàn)證碼的發(fā)展史,就是人機(jī)抗衡的革命史,沒有任何解決方案可以一勞永逸,但在可控的范圍內(nèi),我們可以選擇更友好的方式,在體驗(yàn)上,在特殊人群上,都可以做的更好一點(diǎn)點(diǎn)。

記住,人永遠(yuǎn)是最高級(jí)的生物,無論何時(shí)。

關(guān)鍵詞: 驗(yàn)證方式 垃圾郵件

相關(guān)閱讀:
熱點(diǎn)
圖片 圖片