概述
驗證碼這個詞最早是在2002年由卡內基梅隆大學的路易斯·馮·安、ManuelBlum、NicholasJ.Hopper以及IBM的JohnLangford所提出。卡內基梅隆大學曾試圖申請此詞使其成為註冊商標,但該申請於2008年4月21日被拒絕。一種常用的CAPTCHA測試是讓用戶輸入一個扭曲變形的圖片上所顯示的文字或數字,扭曲變形是為了避免被光學字元識別(OCR,OpticalCharacterRecognition)之類的電腦程式自動辨識出圖片上的文數字而失去效果。由於這個測試是由計算機來考人類,而不是標準圖靈測試中那樣由人類來考計算機,人們有時稱CAPTCHA是一種反向圖靈測試。
為了無法看到圖像的身心障礙者,替代的方法是改用語音讀出文數字,為了防止語音辨識分析聲音,聲音的內容會有雜音。
作用
防止惡意破解密碼、刷票、論壇灌水、刷頁。
有效防止某個黑客對某一個特定註冊用戶用特定程式暴力破解方式進行不斷的登入嘗試,實際上是用驗證碼是現在很多網站通行的方式(比如招商銀行的網上個人銀行,騰訊的QQ社區),我們利用比較簡易的方式實現了這個功能。雖然登入麻煩一點,但是對網友的密碼安全還來說這個功能還是很有必要,也很重要。驗證碼主要是運用於登錄,註冊,評論發帖等網站模組。
(1)登錄模組:防止惡意程式採用暴力破解的方式進行不斷的登錄嘗試,來破解用戶的密碼。
(2)註冊模組:防止惡意程式進行大量的註冊,占用網站伺服器資源,發布垃圾訊息導致網站崩潰。
(3)評論發帖模組:防止垃圾帖,廣告貼刷屏,使論壇,部落格等網站沒有辦法運行。
(4)其他:一些投票活動,搶購商品,搶票等地方也會使用到驗證碼,用來阻止刷票。
類別
1.傳統的字元驗證碼,通過在圖片上隨機產生數字或者是英文字母或者是漢字,一般有四位或者六位驗證碼字元。通過添加干擾線,添加噪點以及增加字元的粘連程度和鏇轉角度來增加機器識別的難度。但是這種傳統的驗證碼隨著OCR技術的發展,能夠輕易的被破解。
2.圖片驗證碼,圖片驗證碼也只是換湯不換藥,套用了相同的技術,只是不是隨機的字元而是讓人識別圖片,比如12306的驗證碼。同時還包括一些將廣告嵌入到圖片上面的驗證碼,都應該歸屬到這一類。
3.Gif動畫驗證碼,主流驗證碼通過提供靜態的圖片,比較容易被ocr軟體識別,有的網站提供GIF動態的驗證碼圖片,使得識別器不容易辨識哪一個圖層是真正的驗證碼圖片,可以提供清晰的圖片的同時,可以更有效得防止識別器的識別,據統計,動畫gif驗證碼的防垃圾注入可以達到100%,是一個非常有效的驗證碼創新模式。同時gif動畫效果可以有多達百種,也可以增加網站頁面的美觀效果。
4.極驗驗證碼,是極驗驗證於2012年推出的新型驗證碼,基於行為式驗證技術,拖動滑塊完成拼圖的形式實現驗證,是目前看到的比較有創意的驗證碼,安全性具有新的突破。
5.手機驗證碼,通過簡訊的形式傳送到用戶手機上面的驗證碼,一般為6位的數字,這個我想大家應該很熟悉。
6.語音驗證碼,也屬於手機端驗證的一種方式。
7.視頻驗證碼,視頻驗證碼是驗證碼中的新秀,視頻驗證碼中隨機數字、字母和中文組合而成的驗證碼動態嵌入到MP4,flv等格式的視頻中,增大了破解難度。驗證碼視頻動態變換,隨機回響,可以有效防範字典攻擊、窮舉攻擊等攻擊行為。視頻中的驗證碼字母、數字組合,字型的形狀、大小,速度的快慢,顯示效果和軌跡的動態變換,增加了惡意抓屏破解的難度。其安全度遠高於普通的驗證碼,而且這種驗證碼形式使用戶不會感到枯燥,由於其提高了機器識別的難度從而可以降低用戶識別的難度,使得用戶更容易辨認。
但由於需要較高的技術支持,此種驗證碼並未普及開。國際上已有幾家提供此種服務的公司,其中還包括一家中國公司青島印象派信息技術有限公司的印象碼服務平台。
不過相信隨著技術水平的提高,視頻驗證碼會得到普及,網站的安全性會得到有效的提高。
使用流程
大多數網站的驗證碼都是需要點擊一下填寫框,然後會自動彈出驗證碼圖片。
由於驗證碼是隨機產生的,有很大幾率會出現無法清楚識別的驗證碼圖片,所以需要注意的是,一般網站都會有相應的提示,如“看不清,換一張”等,如果沒有提示,則直接點擊當前的驗證碼圖片,可以完成驗證碼的更換。
信息
(1)驗證碼一般是防止批量註冊的,人眼看起來都費勁,何況是機器。二像百度貼吧未登錄發貼要輸入驗證碼大概是防止大規模匿名回帖的發生。目前,不少網站為了防止用戶利用機器人自動註冊、登錄、灌水,都採用了驗證碼技術。所謂驗證碼,就是將一串隨機產生的數字或符號,生成一幅圖片,圖片裡加上一些干擾,例如隨機畫數條直線,畫一些點(防止OCR),由用戶肉眼識別其中的驗證碼信息,輸入表單提交網站驗證,驗證成功後才能使用某項功能。
(2)一般註冊用戶ID的地方以及各大論壇都要輸入驗證碼
(3)常見的驗證碼
1,四位數字和字母,可能都是字母,也可能都是數字,隨機的4位字元串,最原始的驗證碼,驗證作用幾乎為零。
2,CSDN網站用戶登錄用的是GIF格式,目前常用的隨機數字圖片驗證碼。圖片上的字元比較中規中矩,驗證作用比上一個好。沒有基本圖形圖像學知識的人,不可破!可惜讀取它的程式,在CSDN使用它的第一天,好像就在論壇里發布了,真是可憐!
2,漢字是註冊目前最新的驗證碼,隨機生成,打起來更難了!例如QQ申訴頁面
3,MS的hotmail申請時候的是BMP格式,隨機數字+隨機大寫英文字母+隨機干擾像素+隨機位置。
4,韓文或日文,現在跑跑HF上MS註冊都要打韓文的,這更增加了難度,要去修學下才行。
5,Google的Gmail註冊時候的是JPG格式,隨機英文字母+隨機顏色+隨機位置+隨機長度。
6,其他各大論壇的是XBM格式,內容隨機。
7,廣告驗證碼:輸入廣告中的部分內容即可,特點是可以給網站帶來額外收入,也可以使使用者耳目一新。
廣告驗證碼
廣告驗證碼
8,問題驗證碼:問題驗證碼主要是以問答式的形式來進行填寫。
它的查看比加模驗證碼更容易辨別和錄入,系統可以生成諸如“1+2=?”的問題讓用戶進行回答,當然這樣的問題是隨機生成的。
另一種問題驗證碼,則是文字式的問題驗證碼,諸如生成問題“中國的全稱是什麼?”,當然有些網站還在問題後面給出了提示答案或直接答案。
作用
幾乎所有正規的論壇都要求註冊時輸入驗證碼,這是為了防止亂髮垃圾廣告的傢伙用註冊機來惡意註冊。這個源自美國卡內基-梅隆大學的發明被稱為CAPTCHA(用於區分人類與電腦的全自動圖靈測試),因為註冊者需要辨識圖片上七歪八扭的文字,而這項工作只有真正的人類才能完成。
要知道,全世界的網路用戶數以億計,對個人來說,辨認文字所花的幾秒時間微不足道,但如果將所有網民的力量利用起來,那便能完成難以想像的浩大工程,而這正是美國賓夕法尼亞州匹茲堡市的CMU研究小組正在做的事。
該小組受一家名為“網際網路檔案館”的非營利組織委託,要將海量的古老書籍和手稿通過OCR(光學字元識別)軟體轉化為電子文本,以方便電腦儲存和查詢。然而,由於原稿的質量太差,可憐的電腦每掃描十個單詞就會錯讀一個,唯一解決的辦法就是人工核對,而這樣的工作顯然不是一個人或一個小組可以勝任的。
於是,CMU設計了一個名叫reCAPTCHA的強大系統,讓他們的電腦去向人類求助。具體做法是:將OCR軟體無法識別的文字掃描圖傳給世界各大網站,用以替換原來的驗證碼圖片;那些網站的用戶在正確識別出這些文字之後,其答案便會被傳回CMU。
為了提高用戶辨識文字的正確率,他們往往被要求辨認兩個單詞,其中一個的答案已經知曉。這樣以來,正確辨認出有答案的那個單詞的用戶,很有可能也會正確辨認另一個單詞。有時候,CMU也會將一個未經辨認的單詞提交給不同的用戶,如果得到的是相同的答案,那這個答案便可以肯定是正確的。
由於許多人氣極高的網站,如Facebook、Twitter和StumbleUpon等,都採用了reCAPTCHA,CMU現在每天都可以處理大約一百萬個單詞。不過,按照現在的速度,要電子化“網際網路檔案館”提供的所有文本,估計還需要400年。
製作
首先生成4位字元串,寫入圖片控制項中,然後畫10條左右的直線(位置隨機),再畫70個左右的點(位置隨機),這樣就做好了,有些論壇驗證碼還會有顏色。
根據北京教育頻道播出內容,驗證碼的發明者想到了,讓一億人做一件事,那是瘋狂的,無論做什麼事。
LuisvonAhn想到,幾十年前的書上的內容讓電腦識別會有很多錯誤,因為書的褪色,褶皺、損壞等等,LuisvonAhn把書里電腦無法識別的內容讓計算機自動生成驗證碼,然後發往各大網站,讓網民識別,實際上,我們每次輸入一個驗證碼就可能是在幫LuisvonAhn做事。但是有一個新的問題,既然計算機無法識別這些內容,那計算機如何知道網友輸入的字元是否正確呢?LuisvonAhn又有新的解決辦法,讓計算機生成一個和書上的字元類似的驗證碼,即二次碼,以解決計算機無法識別的問題。