越來越離譜的驗證碼,到底在驗證啥

語言: CN / TW / HK

如今,小到註冊登入,大到確認資訊,驗證碼無一不存在。自驗證碼出現以來,它的花樣越來越多,衍變出多種模樣,甚至令你抓狂。驗證碼有沒有存在的必要?為什麼還存在?本文一一解析,一起來看看吧。

“我是誰?我在哪?我要到哪裡去?”

迫使你思考哲學問題的,有時可能不是蘇格拉底,而是不斷翻新花樣的驗證碼。

不知從什麼時候開始,上網衝浪變成了視力與智力的雙重挑戰。

驗證碼,就是你要面對的第一關卡。

讓扭曲翻轉的數字眾神歸位,將一盤散沙的成語按順序點選,在亂花漸欲迷人眼的圖片裡精準選出正確的幾張……

選出正確的棕櫚樹

明明是上網解壓,結果卻讓驗證碼逼得壓力更大。

更要命的是,驗證碼的形式越來越花裡胡哨,想順利登陸網站卻沒它不行——

上網衝個浪,為啥需要這麼麻煩?

一、驗證碼,人類一生之敵

驗證碼的初衷其實很簡單,就是用來區分計算機程式和真正的人。

計算機程式無法識別被扭曲的數字,就不能通過驗證,進而對網站進行惡意攻擊和汙染。

一切噩夢的開始

據統計,全球網民每天要輸入2億次驗證碼,耗時超過50萬個小時。

隨著生活中驗證碼的無孔不入,這屆網民也逐漸失去了耐心。

登入網站、個人社交平臺、手機轉賬需要驗證碼情有可原,畢竟涉及個人財產和資訊保安;

如今,下載一張圖片、看一篇文章、甚至轉發一條微博,都需要驗證碼。

點贊也需要驗證碼

如果只是看到驗證碼的視窗彈出就開始火冒三丈,那你氣早了。

驗證碼考驗大家的離譜形式,才是真正讓人“原地去世”的電子砒霜。

最基礎的英文數字組合驗證碼,就已經會讓人陷入自我懷疑:

“I還是1?0還是O?2還是Z?9還是q?vv還是w?”

你這個驗證碼怎麼還會罵人呢?

找出圖中汽車和斑馬線的驗證碼,更是會讓人陷入強迫症的焦慮:

“只露個車屁股算不算包含車?角落裡的玩具汽車要不要選?”

如今,帶干擾線的數字、找出紅綠燈、公交車或煙囪已經過時,新一輪考驗正式開始——

“請點選每張包含微笑的狗的圖片。”

於是,在思考”狗真的會笑嗎“之前,人們就已經條件反射地研究起了狗狗的笑容。

事實上,大多數狗看起來既不高興也不難過,只是張著嘴的算不算笑?還是說它們吐舌頭才算笑?

這個問題的答案,只有成功通過的人才能知道。

而作為老網際網路居民,也沒人能忘記曾被12306網站驗證碼支配的恐懼。

2015年,如果想順利買到火車票,搶票頁面的“餘票充足”並不能代表能買到,只有在付款前的驗證碼環節順利通關,才算成功一半。

有奇怪的東西混進去了

要麼是在一群明星的照片中找出影帝影后,要麼是在一堆山寨商品中找出真貨,更過分的是在一打方言中選出”海南話“……

彼時,被卡在驗證碼環節搶不到票的倒黴蛋不計其數。

“驗證碼,不想讓我買到火車票你就直說。”

甚至讓人陷入自我質疑

都說驗證碼能把機器人攔住,但事實卻是大活人上網被絆了一跤。

更悲劇的是,大部分時候驗證碼的難易程度,總是和你的著急程度呈正相關。

“有急事時的驗證碼總是讓人想摔手機,你越急,它就越不容易成功。”

無數被煩人驗證碼擋在網頁外的網民,心裡都有一聲憤怒的吶喊:驗證碼,人類一生之敵。

二、為什麼要驗證碼

“人類發明驗證碼是為了反機器,現在的網站卻用它來反人類。”

如今,被驗證碼氣瘋成了人們的日常,但事實上,當初發明驗證碼的初衷並不是想為難人類,而是想為難機器人。

請證明你是人類

時間回到2000年初,剛剛接觸網際網路的初代網民,也許還記得那時最頭疼的事——

總是刪不完的垃圾郵件,隨意彈出的攻擊頁面,和永遠快人一步、利用外掛搶票的黃牛。

剛剛興起的網際網路,無異於一條自行車都能上的高速公路,有人辦正事,就有人制造程式碼程式故意搗亂。

當封號的速度趕不上惡意註冊的速度,人工稽核追不上重複執行的程式碼時,給上網衝浪設定門檻便迫在眉睫。

2003年,為解決這個問題,來自卡內基梅隆大學的一群博士創造了CAPTCHA,是一個全自動區分計算機和人類的公開圖靈測試。

所謂圖靈測試,就是人類提問計算機解答,用來判定計算機能否在智力行為上表現得和人無法區分。

想要分辨電腦前是否為真人,只需要把這個測試反過來——由機器提問人類解答,“驗證碼”應運而生。

最早的驗證碼,於1997年設計公佈並申請了專利

早期的驗證碼,由被變形、扭曲、翻轉的字串或者數字組成。

機器人看不懂,人類用肉眼卻可以輕鬆辨認。

有了這道簡單的門檻,垃圾郵件、黃牛外掛和惡意攻擊的爬蟲程式,就被輕鬆擋在了網頁外。

然而好景不長,這樣的驗證碼很快就被程式破解了。

再複雜的程式也離不開26個英文字母、10個阿拉伯數字的組合,只要利用程式演算法將字元與背景分離,久而久之,資料庫便學會了識別。

與此同時,一套由龐大中文字元庫組成的中文驗證碼,就這樣出現了。

辨認相似結構的漢字、給漢字標拼音,以及按順序點選打亂的成語,成了中文驗證碼的常規操作。

發展到最後,圖文並用、閱讀理解紛紛上陣,驗證碼的形式越來越多樣,計算機的識別技術也越來越強。

升級版數字驗證碼

驗證碼的迭代,變成了一場“道高一尺,魔高一丈”的較量。

它既是程式設計師們智力的角逐,也是一場人機對抗學習。

時至今日,形式各樣的驗證碼已經在網際網路的考驗洗禮中,按照功能分成了不同陣營。

當你想上個新聞網站,迎接你的大概率是點選型驗證碼。

演算法會根據滑鼠的運營軌跡判斷你是否是真人,同時還能幫助驗證碼系統進化。

“我不是機器人”

當你登入私人賬號時,滑動型驗證碼一邊通過拖動速度判別真人,一邊還會送上貼心鼓勵:

“恭喜你用時1.6秒,超過全國90%的人。”

隨著安全係數上升,簡訊驗證碼、掃碼驗證,刷臉驗證陸續登場,在危機四伏的網際網路世界裡,層層把關著使用者的資訊保安。

三、驗證碼能消失嗎?

面對越來越變態的驗證碼,不少人質疑:

“為了保護我銀行卡里的五毛錢,設定八層驗證真的值得嗎?”

答案是,值得。

所謂安全驗證,判斷的不僅僅是使用者註冊時設定的使用者名稱、密碼等,還要判斷是不是真人、是不是本人操作。

目前為止,乖乖輸入驗證碼,依然是區別人和計算機最有效率的方法。

鮮有人知的是,驗證碼的存在除了保護資訊保安,人類還能利用它乾點正事兒。

發明初代驗證碼的天才Luis von Ahn,曾在2004年帶領團隊上線了一個叫reCAPTCHA的驗證碼系統。

他們把計算機難以識別的舊書籍掃描成電子版,將其中斑駁的文字對接到驗證碼上讓人們來識別。

靠著這個巧妙的方法,系統每年能成功數字化230多萬本舊書。

圖源:世界複雜性科學研究院

當人們以為這便是驗證碼的光明結局時,有人本著魔法打敗魔法的原則,推出了破解驗證碼的外掛。

只要遇到圖形驗證型驗證碼,小外掛不僅會自動幫使用者點選,甚至還會利用深度學習訓練模型提高自己的精準度——

用的人越多,小外掛就越精準。

你不仁就不要怪我不義/圖源:chrome應用商店

圍觀了這一波腥風血雨的“驗證碼之戰”後,有人感嘆:

“驗證碼拿使用者訓練機器人,使用者用機器人繞過驗證碼,最後機器人學到了最多。”

驗證碼難度的提升,反映的是人工智慧技術的進步。

當機器越來越“聰明”,人類面臨的挑戰便越來越多,再複雜的驗證碼,也會有走投無路的一天,需要尋求新的改革。

但作為只想要網上輕鬆衝浪的使用者,我們只求驗證碼,別再讓我找出圖片中微笑的狗、雲做的馬了。

作者:白小哲;公眾號:網易公開課(ID:open163)

原文標題:越來越變態的驗證碼,到底在驗證啥

來源:http://mp.weixin.qq.com/s/Niqud3m3qWN7if9FskmCUg

本文由 @網易公開課 授權釋出於人人都是產品經理,未經作者許可,禁止轉載。

題圖來自 Unsplash,基於 CC0 協議。

該文觀點僅代表作者本人,人人都是產品經理平臺僅提供資訊儲存空間服務。