在被12306坑之后 我們聊聊驗證碼發展史
年關將至,也正值春運購票高峰,正所謂“一張車票引無數英雄盡折腰”。近日,鐵路部門的官方購票網站12306再次成為網友調侃的對象。不過,這次 調侃的內容不再是搶票難的問題,而換成了12306登陸時的圖形驗證碼。部分網友在購票時發現,該網站的少數圖形驗證碼不僅難以識別,甚至有些物品名稱都 沒有聽說過,最終也導致部分人沒有買到理想的回家車票。既然驗證碼這么“反人類”,那它存在的意義是什么呢?今天筆者就帶大家回顧下驗證碼的發展史,看看 它究竟有什么用。
網齡較久的網友大概都記得,剛開始上網的時候是不存在驗證碼這么一種東西的。這造成的結果是,垃圾評論和垃圾郵件可以輕松通過任何一個網站的注冊程序,通過各種方式轟炸人民群眾的眼球。
最先想要解決這一問題的是雅虎,作為互聯網時代早期最重要的免費郵件提供商,他們一方面要解決用戶們每天遇到的數以百計的垃圾郵件轟炸,另一方面,他們 自己的免費郵箱,恰恰又是垃圾郵件的最愛,耗費無數資源所阻止的垃圾郵件,都來自于自己的服務器。這讓雅虎開始認真考慮如何解決人機辨識問題。
他們找到一位當時剛剛21歲的卡內基梅隆大學的計算機天才路易斯。而路易斯給出的方案,就是這個讓人民群眾微微皺眉,但是讓計算機聳肩撓頭的驗證碼(英文名CAPTCHA,全自動區分計算機和人類的圖靈測試的縮寫)。
驗證碼之父:路易斯·范·安
這是一個簡單而巧妙的設計,計算機先是產生一個隨機的字符串,然后用程序把這個字符串的圖像進行隨機的污染,扭曲,再顯示給電腦前的人,而只有人眼才能夠辨識這些被隨機污染的扭曲字符。
這種讓用戶輸入一個扭曲變形的圖片所顯示的數字或字母的方法,便是最原始的一種驗證碼。后來,驗證碼也開始給各大網站用來登錄和申請賬號使用,還有用來回復論壇帖的時候使用,從而規避多次登錄失敗和批量申請賬號的問題,和防止論壇灌水等問題。
驗證碼的演化
隨 著互聯網的發展,驗證碼滲透到人們數字化生活的各個角落。雖然是出于安全的考慮,但是越來越多的用戶開始詬病這一反人類的設計發明,每天都要花部分時間 浪費在無趣的識別數字上,大大降低了一些網站的交互體驗。同時,隨著計算機自動識別技術的發展,簡單的驗證碼數字圖形也不再安全,很容易被黑客攻破。因 此,這幾年針對各類場景改進的驗證碼開始出現。
(1)行為式驗證碼
行為式驗證碼應該算是目前比較流行的一種驗證碼。從字面來理解,就是通過用戶的操作行為來完成驗證,而無需去讀懂扭曲的圖片文字。常見的有兩種:拖動式與點觸式。
拖動式驗證碼,類似于手機的滑動解鎖,根據提示用鼠標將滑塊拖動到指定的位置完成驗證;點觸式驗證碼,同樣根據文字提示,點擊圖片中與文字描述相符的內容完成驗證。
對于點觸式來說我們也并不陌生,12306的驗證碼就是一種典型的點觸式驗證碼,且風靡一時的《找你妹》游戲也是點觸式驗證碼的游戲原理。根據文字提示,選出與文字描述相符的一樣或多樣物品圖片,只不過在圖片的辨識度上還有待優化。
以上這種帶點游戲性質的驗證交互方式,為用戶帶來更有趣的驗證過程,提升了用戶的交互體驗。而對于采用此種驗證方式的各大網站來說,行為驗證碼的吸引力 還在于它更安全,驗證碼背景圖片采用多種圖像加密技術,且添加了很多隨機效果,能有效防止OCR文字識別。另外,驗證碼上的文字采用了隨機印刷技術,能夠 隨機采用多種字體、多種變形的實時隨機印刷,防止暴力破解。除此以外,部分網站還在驗證背景圖片中植入廣告,帶來一定的宣傳效果和經濟利益。
什么是OCR識別?
OCR文字識別,指利用OCR (Optical Character Recognition,光學字符識別)技術,將圖片、照片上的文字內容,直接轉換為可編輯文本。
(2)手機驗證碼
隨著移動互聯網的發展,通過手機接收驗證碼的方式越來越常見。手機驗證碼通常是通過發送驗證碼短信到手機,大型網站尤其是購物網站,都提供有手機短信驗 證碼功能,可以比較準確和安全地保證購物的安全性,驗證用戶的正確性,是最有效的驗證碼系統。某些驗證碼接入商提供手機短信驗證碼服務,各網站通過接口發 送請求到接入商的服務器,服務器發送隨機數字或字母到手機中,由接入商的服務器統一做驗證碼的驗證。
當 然,在使用過程中偶爾也會碰到收不到短信的情況,導致一些網站的潛在用戶流失。于是便有了升級版的手機語音驗證碼,只要用戶的手機或座機能正常接聽電 話,就一定能收到語音驗證碼,驗證碼實現自動語音播報(大家如果有注冊《餓了么》就知道),同時短信也能同時發送到用戶手機,實現雙保險確保萬無一失。語 音驗證碼如果有撥通失敗的,系統還能自動重播,確保不漏掉任何一個,從根本上解決您的網站用戶收不到驗證碼的問題。
(3)其他
除了以上這幾種,還存著一些特殊的驗證碼方式。例如銀行網銀提供的電子口令卡、游戲提供的電子密保等。這類驗證碼的作用在于即使用戶不慎外泄或被盜了 登錄卡號和登錄密碼,只要保管好手中的口令卡,使登錄卡號、登錄密碼、口令卡不被同一個人獲取,就能夠保證用戶賬戶的安全,從而讓用戶更加安全、放心地使 用。
驗證碼的未來
從 驗證碼的發展進程來看,基本可以預測出未來的主要發展方向。首先 是驗證碼的本質屬性——安全性。安全性需要進一步提高,簡單數字圖形驗證將被逐步淘汰,更完善的驗證碼技術在未來除了防止惡意破解密碼、刷票、論壇灌水、 刷頁等行為外,還是用戶與網站信息安全的有力保障。
其次,驗證碼在交互形式上繼續提升,越來越注重用戶體驗,減少驗證碼的存在感,類似于12306這 種“大家來找茬”的“坑爹”驗證碼越來越少。在未來, 驗證碼可以予以手機等移動終端輔助,以掃碼的形式進行登錄或驗證,就好像現在的微信網頁版登錄一樣;再或是采用一些生物識別技術,例如指紋、虹膜等方式實 現無需手動操作的登陸驗證。筆者希望有一天,你在評論這篇文章的時候,可以不用繁瑣地辨別歪曲字符輸入回復驗證碼,讓人機交互更加輕松便利。