這天,考研備考許久的你,躊躇滿志地打開考研報名網(wǎng)站。然而,還沒來得及填寫各種資料,你就被卡在了登錄網(wǎng)站的驗證碼上。重疊在一起的字體,布滿馬賽克的背景,讓你輸了幾次驗證碼都沒有輸對。你屢敗屢戰(zhàn),但驗證碼上出現(xiàn)的“骉叕犇羴”,又瞬間讓你懷疑自己的學(xué)識水平。
有些驗證碼更是不滿足于只考你的眼力,還要測一下你的智商。在某些網(wǎng)站搶演唱會門票時,不僅要懂點文學(xué)典故,讀過四大名著,末了還要附帶讓你算一道數(shù)學(xué)題。
逼瘋你的驗證碼,為什么變得越來越復(fù)雜?
美國斯坦福大學(xué)的研究人員指出,驗證碼已經(jīng)過于復(fù)雜。研究者搜集了8500個多種形式的驗證碼讓受試者辨認(rèn),發(fā)現(xiàn)他們在判斷驗證碼時,平均要花9.8秒,且同時讓3個人辨別同一個驗證碼,3個人的一致率只有71%。如果是聽聲音辨識的驗證碼,準(zhǔn)確率會更低,只有31.2%。
其實,驗證碼也不是一開始就這么復(fù)雜的。
在驗證碼被發(fā)明前,許多免費的郵箱網(wǎng)站常遭受惡意外掛軟件的攻擊。例如,在2000年,雅虎郵箱中曾有大量用機器注冊的馬甲賬號,它們會給用戶發(fā)大量垃圾郵件、詐騙郵件。
為了解決這個問題,程序開發(fā)人員試圖找到一種登錄驗證方式,以判斷出正在操作計算機的究竟是人還是機器。
工程師們找到了有效的方式。他們發(fā)現(xiàn),當(dāng)時即使是配備了最先進的光學(xué)字符識別系統(tǒng)的電腦,也很難正確識別出印在紙上的字,尤其當(dāng)字符被拉伸、扭曲時,電腦就更加難以辨認(rèn)。
然而,這對人類來說卻很容易。我們從小就一直在接受閱讀訓(xùn)練,即使紙上的字歪歪斜斜,或部分被遮擋,也不影響我們對整體的判讀。扭曲的字符便成了最常用的登錄驗證方式,并有了“驗證碼”這個正式名稱。程序員們會預(yù)先設(shè)定一個字符庫,庫中的字符會排列組合成字符串,再根據(jù)隨機變量被扭曲、涂抹,定位在隨機背景上,從而成了我們所見的驗證碼。
這些字符謎題,確實有效減少了網(wǎng)站中的垃圾郵件。到2001年,郵箱中的垃圾郵件便減少了95%。
但隨著電腦光學(xué)字符識別技術(shù)的不斷發(fā)展,這種形式的驗證碼越來越難將外掛機器擋在門外。在2014年的一項專業(yè)測試中,即使是最難的扭曲字符類驗證碼,電腦識別的準(zhǔn)確率也高達99.8%。為了擋住越來越聰明的機器,驗證碼被迫進化,出現(xiàn)了圖形驗證碼、邏輯驗證碼、語音驗證碼……
不過,你受的每一次苦,都不是白費力氣。你在10秒內(nèi)減少的腦細(xì)胞,其實都轉(zhuǎn)移到了AI身上。
我們辨識的一些驗證碼字符,來自那些年代久遠(yuǎn)的報紙、典籍。這些手寫的、帶有污點的字跡,難以被電腦辨識,程序員便將這些字符加入驗證碼中。
這樣的驗證碼通常由兩段組成,前一段是已經(jīng)成功符號化的單詞,后一段則是不知道正確答案的典籍字符。只要用戶答對第一段,第二段的判讀結(jié)果也會被記錄下來,程序再比對多個用戶的辨識結(jié)果,最終得出結(jié)論。
我們就陷入這樣一個循環(huán)怪圈:輸入越多驗證碼,AI的學(xué)習(xí)能力就越強;技術(shù)的進步讓更多驗證碼被破解,而我們就要被迫再次設(shè)計出更復(fù)雜的驗證碼……
驗證碼似乎已背離設(shè)計者的初衷,成了一個難住人類,卻難不住機器的擺設(shè)。
越來越多的科技公司意識到了這個問題,開始試圖簡化繁雜的驗證碼。比如,你現(xiàn)在登錄很多購物網(wǎng)站進行驗證時,就只用拖動滑塊。這樣的驗證碼不僅是在評判你操作的結(jié)果,更多的是記錄并分析你操作時的行為。電腦觀察到你移動滑塊的速度有變化,就能認(rèn)出你是人類。
另一種隱性的驗證碼,也遵循這個原理。當(dāng)你勾選“我不是機器人”時,程序就能判斷你是否在說謊。并不是它真的有讀心術(shù),而是在你勾選后,它會自動分析你在瀏覽該網(wǎng)頁時的行為,包括鼠標(biāo)的移動軌跡、瀏覽的速率等,借此分析出這些行為是否屬于正常人類的操作。
至此,在這場人類與機器的比賽中,我們已不再試圖證明自己更聰明,而是轉(zhuǎn)向另一種策略:那不統(tǒng)一的行為軌跡、不精確的答案、笨手笨腳的操作,才是我們生而為人的特征。
不過,這樣的隱性驗證碼也不是萬靈丹藥。在它出現(xiàn)后不久,加拿大多倫多大學(xué)的學(xué)者便發(fā)表論文,聲稱他們的機器人可以模仿人類的操作行為,順利通過隱性驗證碼的測試。
1950年,著名計算機科學(xué)家圖靈提出一個思想實驗:人類提出一系列問題,機器給出答案,再由人類判斷對方是否為機器。如果有超過30%的人將機器誤判成人類,那么這個機器就被認(rèn)為具有人類智能。但70多年過去了,人類陷入完全相反的境地——一個個驗證碼,正是機器拋給人類的問題:“你是人類嗎?”
這一次,審判權(quán)掌握在機器手中,而被驗證碼難住的人類,仍在用力吶喊:“我不是機器人!”
(摘自微信公眾號“答案如下”)