在年底的網絡購票高峰中,中國鐵路客戶服務中心的12306圖形驗證碼系統被很多購票者「吐槽」。人們不禁要問,複雜的驗證碼系統,到底有什麼用?
其實,驗證碼存在的最大意義,就是區分在頁面上進行輸入操作的是人還是自動化的軟體。就拿12306驗證碼來說,它的「進化史」就是一部不斷與黃牛和搶票軟體「鬥智鬥勇」的歷史,從一開始的簡單數字、字母、加減法,再到閃爍變形字母、幹擾線變形字母……由於數字和字母組合可被搶票軟體自動分析識別,自今年3月16日起,12306又啟用了圖形驗證碼。
驗證碼有一個充滿科學氣息的學名——「全自動區分電腦和人類的圖靈測試」(簡稱CAPTCHA)。眾所周知,圖靈測試通過計算機回答人類提出的一系列問題來鑑別對方是人還是機器,而驗證碼則是一場機器向人提問的「反圖靈測試」。
隨著計算機技術的進步,驗證碼設計得越來越複雜是必然趨勢,這也顯示出人工智慧的不斷進步,程式設計師正在與破解者進行著一場仿佛沒有終點的「拉鋸戰」。美國史丹福大學的一項研究發現,近兩年來,網際網路的驗證碼正變得越來越難以識別,並且每個網站平均有1/5的用戶因為驗證碼過於複雜而離開網站。
不過,驗證碼在進化過程中也有了新的應用意義。美國卡內基—梅隆大學的路易斯·馮·安等人設計出了reCAPTCHA系統,將驗證過程用於古籍的數位化。古籍經掃描後,會出現一些難以準確辨識的字符,人工核對工作量巨大。對電腦前的單個人來說,辨認驗證碼字符所花的幾秒時間也許微不足道,但如果把全球數以億計的網民辨認的字符收集起來,情況會怎樣呢?
於是reCAPTCHA派上用場了,把無法識別的古籍文字製成驗證碼,派發給網站用戶驗證,根據不同用戶反饋回來的單詞答案,就可以輕鬆得到典籍模糊字符的正確結果了!這樣一來,每一次煩人的驗證都在為人類典籍數位化作貢獻。reCAPTCHA後來被谷歌買走,谷歌還把這個概念應用到谷歌街景的門牌號識別中。
然而,越來越複雜的驗證碼終究還是給很多網友帶來煩惱。為此,谷歌公司正在實施一項工程,試圖「殺死」驗證碼。
去年年底,谷歌推出了全新的驗證碼識別系統「No Captcha reCAPTCHA」,繁雜的驗證碼系統被一個簡單的複選框所取代,用戶只需勾選「我不是機器人」這個選項即可。其實,通過收集用戶在單擊前的滑鼠軌跡,谷歌就可以判斷出人與機器之間的細微差異。
這一新系統會在「不經意間」收集用戶的IP位址等變量,然後根據這些數據對比用戶當前的行為是否與在網際網路上的歷史行為一致,來判定究竟是人還是機器人在操作。但是,也有人批評這個「驗證碼殺手」系統有洩露用戶隱私的嫌疑(彭茜)