◆李波 整理
“驗證碼不匹配,請重新輸入。”這是一句令很多人十分苦惱的話。文字、算術題、字母、圖片……花樣百出的驗證碼雖然給我們帶來了諸多不便,但是它維護了網絡安全,甚至有時候,我們填寫驗證碼是在為人類文明和技術進步作貢獻。
提到驗證碼,有的同學可能會問:“短信驗證碼和圖片、字母、文字等類型的驗證碼有什么不同?”其實,它們雖然都叫作驗證碼,但有很大差別。
當我們點擊獲取短信驗證碼后,網站或App 后臺會生成驗證碼內容,將它和我們的手機號等數據發給短信服務商和運營商,最后以短信形式發至手機。短信驗證碼不僅可以作為用戶的身份憑證,還能夠保證賬戶安全,防止惡意注冊。而包含圖片、字母、文字等的驗證碼系統更復雜。
在驗證碼系統出現之前,還沒有微信、QQ 等社交軟件,人們都用電子郵件溝通。當時,一個問題深深困擾著大家:黑客開發出一種程序,能夠批量注冊賬號,并用這些賬號進行違規操作。想象一下,如果網站上滿是垃圾評論和廣告,支付寶密碼被輕松破解,成千上萬的垃圾賬號操縱網絡投票……那多么令人抓狂!更崩潰的是,就連互聯網公司也無法分辨注冊賬號的到底是人還是機器。
解決這一問題的計算機天才名叫路易斯·馮·安,來自危地馬拉。2000 年,年僅21 歲的他提出了一個革命性解決方案:在注冊賬號的過程中設置一個判定環節,讓用戶識別一串扭曲、重疊、不完整的字母或者數字,然后輸入。這項工作在人類看來相當簡單,但對那時候的機器來說,根本無法完成。這個系統叫作全自動區分計算機和人類的公開圖靈測試(Completely Automated Public Turing test to tell Computers and Humans Apart),簡稱CAPTCHA,就是我們現在常用的驗證碼。
阻止黑客惡意注冊賬號的問題暫時得到解決,但又產生了一個新問題:填寫驗證碼太耗費時間。假設一天中每人只需花10 秒填寫驗證碼,2000 年全球互聯網用戶約4 億人,所有用戶每天要耗費的時間加起來約127 年,路易斯·馮·安心想:能不能把這些時間利用起來呢?
路易斯·馮·安把目光投向了需要被電子化的紙質圖書。如果讓人工錄入這些圖書需要耗費很大精力,而電子掃描又很難保證質量,為了解決這一問題,他重新設計了驗證碼系統,并將其命名為reCAPTCHA。這套系統分為兩個部分:第一部分和之前的相似,是自動生成的內容,用來判定被測試者是否為人類;第二部分是機器無法識別的文本。如果第一部分輸入正確,reCAPTCHA 就會假設第二部分同樣能輸入正確,通過驗證,然后把錄入結果返回給主機。為了確保不出錯,主機會把第二部分內容發給多個用戶進行交叉驗證。2007 年,reCAPTCHA 系統成功數字化了《紐約時報》20 年的報紙。
隨著技術進一步發展,驗證碼系統也參與到人工智能的優化當中。谷歌公司把用戶識別的圖片變成標注好的數據,用來優化人工智能算法模型,如標注車輛邊框的驗證碼是為了訓練智能攝像頭的識別能力。這些數據越準確,數量越多,模型效果就越好。

圖片驗證碼
在驗證碼進階之路上,黑客也想出了各種辦法對付驗證碼,比如聘用工人填寫驗證碼、使用人工智能破解。在與黑客斗智斗勇的過程中,驗證碼系統也不斷升級更新。
2009 年,谷歌收購了reCAPTCHA系統。5 年之后,谷歌推出了一種不需要驗證碼的驗證方法:讓用戶點擊“I'm not a robot”的按鈕。這種驗證方法看起來簡單,但是背后離不開強大的人工智能。它會監測用戶的操作習慣如移動鼠標的速度和軌跡、反應時間等,收集大量信息,以此來進行判斷。
了解驗證碼背后的故事后,我們在填寫驗證碼時,是不是心情沒那么糟糕了?驗證碼的發明離不開人類非凡的創造力。也許以后會出現更厲害的破解驗證碼的方法,但人類一定能想到方法來應對,將網絡秩序拉回正軌!