李波
“驗證碼不匹配,請重新輸入?!边@是一句令很多人十分苦惱的話。文字、算術(shù)題、字母、圖片……花樣百出的驗證碼雖然給我們帶來了諸多不便,但是它維護了網(wǎng)絡(luò)安全,甚至有時候,我們填寫驗證碼是在為人類文明和技術(shù)進步作貢獻。
提到驗證碼,有的同學(xué)可能會問:“短信驗證碼和圖片、字母、文字等類型的驗證碼有什么不同?”其實,它們雖然都叫作驗證碼,但有很大差別。
當(dāng)我們點擊獲取短信驗證碼后,網(wǎng)站或App后臺會生成驗證碼內(nèi)容,將它和我們的手機號等數(shù)據(jù)發(fā)給短信服務(wù)商和運營商,最后以短信形式發(fā)至手機。短信驗證碼不僅可以作為用戶的身份憑證,還能夠保證賬戶安全,防止惡意注冊。而包含圖片、字母、文字等的驗證碼系統(tǒng)更復(fù)雜。
網(wǎng)絡(luò)安全衛(wèi)士
在驗證碼系統(tǒng)出現(xiàn)之前,還沒有微信、QQ等社交軟件,人們都用電子郵件溝通。當(dāng)時,一個問題深深困擾著大家:黑客開發(fā)出一種程序,能夠批量注冊賬號,并用這些賬號進行違規(guī)操作。想象一下,如果網(wǎng)站上滿是垃圾評論和廣告,支付寶密碼被輕松破解,成千上萬的垃圾賬號操縱網(wǎng)絡(luò)投票……那多么令人抓狂!更崩潰的是,就連互聯(lián)網(wǎng)公司也無法分辨注冊賬號的到底是人還是機器。
解決這一問題的計算機天才名叫路易斯·馮·安,來自危地馬拉。2000年,年僅21歲的他提出了一個革命性解決方案:在注冊賬號的過程中設(shè)置一個判定環(huán)節(jié),讓用戶識別一串扭曲、重疊、不完整的字母或者數(shù)字,然后輸入。這項工作在人類看來相當(dāng)簡單,但對那時候的機器來說,根本無法完成。這個系統(tǒng)叫作全自動區(qū)分計算機和人類的公開圖靈測試(Completely Automated Public Turing test to tell Computers and Humans Apart),簡稱CAPTCHA,就是我們現(xiàn)在常用的驗證碼。
驗證碼背后的貢獻
阻止黑客惡意注冊賬號的問題暫時得到解決,但又產(chǎn)生了一個新問題:填寫驗證碼太耗費時間。假設(shè)一天中每人只需花10秒填寫驗證碼,2000年全球互聯(lián)網(wǎng)用戶約4億人,所有用戶每天要耗費的時間加起來約127年,路易斯·馮·安心想:能不能把這些時間利用起來呢?
路易斯·馮·安把目光投向了需要被電子化的紙質(zhì)圖書。如果讓人工錄入這些圖書需要耗費很大精力,而電子掃描又很難保證質(zhì)量,為了解決這一問題,他重新設(shè)計了驗證碼系統(tǒng),并將其命名為reCAPTCHA。這套系統(tǒng)分為兩個部分:第一部分和之前的相似,是自動生成的內(nèi)容,用來判定被測試者是否為人類;第二部分是機器無法識別的文本。如果第一部分輸入正確,reCAPTCHA就會假設(shè)第二部分同樣能輸入正確,通過驗證,然后把錄入結(jié)果返回給主機。為了確保不出錯,主機會把第二部分內(nèi)容發(fā)給多個用戶進行交叉驗證。2007年,reCAPTCHA系統(tǒng)成功數(shù)字化了《紐約時報》20年的報紙。
隨著技術(shù)進一步發(fā)展,驗證碼系統(tǒng)也參與到人工智能的優(yōu)化當(dāng)中。谷歌公司把用戶識別的圖片變成標(biāo)注好的數(shù)據(jù),用來優(yōu)化人工智能算法模型,如標(biāo)注車輛邊框的驗證碼是為了訓(xùn)練智能攝像頭的識別能力。這些數(shù)據(jù)越準確,數(shù)量越多,模型效果就越好。
不斷升級的驗證碼系統(tǒng)
在驗證碼進階之路上,黑客也想出了各種辦法對付驗證碼,比如聘用工人填寫驗證碼、使用人工智能破解。在與黑客斗智斗勇的過程中,驗證碼系統(tǒng)也不斷升級更新。
2009年,谷歌收購了reCAPTCHA系統(tǒng)。5年之后,谷歌推出了一種不需要驗證碼的驗證方法:讓用戶點擊“I'm not a robot”的按鈕。這種驗證方法看起來簡單,但是背后離不開強大的人工智能。它會監(jiān)測用戶的操作習(xí)慣如移動鼠標(biāo)的速度和軌跡、反應(yīng)時間等,收集大量信息,以此來進行判斷。
了解驗證碼背后的故事后,我們在填寫驗證碼時,是不是心情沒那么糟糕了?驗證碼的發(fā)明離不開人類非凡的創(chuàng)造力。也許以后會出現(xiàn)更厲害的破解驗證碼的方法,但人類一定能想到方法來應(yīng)對,將網(wǎng)絡(luò)秩序拉回正軌!
發(fā)明與創(chuàng)新·小學(xué)生2021年1期