余之敏
在2015年年底的網絡購票高峰中,中國鐵路客戶服務中心的12306圖形驗證碼系統讓很多購票者吐槽。人們不禁要問,那么復雜的驗證碼系統,到底有什么用?
要回答這個問題,得先弄明白何為驗證碼。驗證碼實際上是一種Web自動程序,它有一個充滿科學氣息的名字——“全自動區分電腦和人類的圖靈測試”,就是由機器來向操作者提問,從而鑒別操作者是人還是機器的一種測試。目前,這種測試主要有四類:圖形驗證碼、手機短信驗證碼、手機語音驗證碼、視頻驗證碼。
中國鐵路客戶服務中心的驗證碼是圖形驗證碼,又叫主流驗證碼。剛開始,圖形驗證碼只是靜態的圖片,后來變成了動態的驗證碼圖片,它的防垃圾注入幾乎可以達到100%,是一個非常有效的驗證碼創新模式。
手機短信驗證碼通過發送驗證碼到手機來驗證用戶的真實性。大型網站,尤其是購物網站,都能提供這項功能,能比較準確和安全地保證購物的安全性。
手機語音驗證碼實現了自動語音播報,同時也能發送短信到用戶手機上,確保萬無一失。如果有收聽失敗的,系統還能自動重播,確保不漏掉任何一個,這就從根本上解決了網站用戶收不到驗證碼的問題。
視頻驗證碼是驗證碼中的新秀,這種由隨機數字、字母和中文組合成的驗證碼會動態嵌入到MP4等視頻中,增加了破解難度。視頻中的驗證碼字母,數字組合,字體的形狀、大小,速度的快慢,顯示效果和軌跡的動態變換,增加了惡意抓屏破解的難度,其安全度遠高于其他驗證碼,而且這種驗證碼還不會使用戶感到枯燥,同時又降低了用戶識別的難度,讓用戶更容易辨認。
驗證碼的主要作用是攔截不合理的入侵。比方說,若要進入一個頁面,就需要通過驗證, 這時操作者就要依次輸入數字、字母,有時還要加上無法被計算機辨識,但用戶肉眼可以識別的文字圖像(如12306圖形驗證),而操作者只有通過了驗證,才能順利打開網頁,有效防止惡意破解密碼,論壇灌水,刷票等。
隨著計算機技術的進步,驗證碼設計也越來越復雜,程序員正在與破解者進行著一場仿佛沒有終點的“拉鋸戰”,而在這場“拉鋸戰”中又催生出驗證碼新的作用:2015年年底,美國卡內基梅隆大學的路易斯·馮·安等人設計出把無法識別的古籍文字制成驗證碼,派發給網站用戶驗證,根據不同用戶反饋回來的單詞答案,就可以輕松得到典籍模糊字符的正確結果,這對于古籍保護而言無疑是一個福音。
不過,越來越復雜的驗證碼還是令很多網友煩惱。為此,谷歌公司正在實施一項“消滅驗證碼”的工程,即驗證碼將被一個簡單的復選框代替,用戶只需勾選“我不是機器人”,電腦通過收集用戶單擊前的鼠標軌跡,然后對比用戶當前的行為是否與在互聯網上的歷史行為一致,就可以輕松判定操作者究竟是人還是機器。這對于大多數用戶來說,無疑會簡化他們的體驗,但它也會在“不經意間”收集用戶的IP地址等變量,從而泄露隱私。
但是不可否認,驗證碼仍然是各網站反黑客惡意操作中必不可少的一項保障系統,還是會被繼續使用下去,直到被另一種全新的、功能更好的反黑客軟件所代替。
(摘自《知識窗》2016年第3期,稍有改動)