全自動區分計算機和人類的圖靈測試(英語:Completely Automated Public Turing test to tell Computers and Humans Apart,簡稱CAPTCHA),又稱驗證碼或確認碼,是一種區分用戶是機器或人類的公共全自動程序。在CAPTCHA測試中,作為服務器的計算機會自動生成一個問題由用戶來解答。這個問題可以由計算機生成並評判,但是必須只有人類才能解答。由於機器無法解答CAPTCHA的問題,回答出問題的用戶即可視為人類。
此條目可參照英語維基百科相應條目來擴充。 (2022年6月30日) |
簡介
CAPTCHA這個詞最早是在2002年由卡內基梅隆大學的路易斯·馮·安、Manuel Blum、Nicholas J.Hopper以及IBM的John Langford所提出。卡內基梅隆大學曾試圖申請此詞使其成為註冊商標[1], 但該申請於2008年4月21日被拒絕[2]。一種常用的CAPTCHA測試是讓用戶輸入一個扭曲變形的圖片上所顯示的文字或數字,扭曲變形是為了避免被光學字元識別之類的電腦程式自動辨識出圖片上的文數字而失去效果。由於這個測試是由計算機來考人類,而不是標準圖靈測試中那樣由人類來考計算機,人們有時稱CAPTCHA是一種反向圖靈測試。
為了無法看到圖像的身心障礙者,替代的方法是改用語音讀出文數字,為了防止語音辨識分析聲音,聲音的內容會有雜音或仍可以被人類接受的變聲。
根據CAPTCHA測試的定義,產生驗證碼圖片的算法必須公開,即使該算法可能有專利保護。這樣做是證明想破解就需要解決一個不同的人工智能難題,而非僅靠發現原來的(秘密)算法,而後者可以用逆向工程等途徑得到。
運用
CAPTCHA技術廣泛用於網站的留言板以及註冊帳號。許多網站為了防止有人利用電腦程式大量在留言板上張貼廣告或其他垃圾訊息,因此會放置CAPTCHA要求留言者必需輸入圖片上所顯示的文數字或是算術題才可完成留言。而一些網路上的交易系統(例如:訂票系統、網路銀行)為了避免被電腦程式以暴力破解大量嘗試交易也會有CAPTCHA的機制。
相關的技術有:
破解
一些曾經或者正在使用中的驗證碼系統已被破解。這包括Yahoo驗證碼的一個早期版本 EZ-Gimpy[4]、PayPal[5]、LiveJournal和phpBB使用的驗證碼、很多金融機構(主要是銀行)使用的網銀驗證碼[6]以及很多其他網站使用的驗證碼[7][8][9]。
俄羅斯的一個黑客組織使用一個自動識別軟件在2006年破解了Yahoo的CAPTCHA。準確率大概是15%,但是攻擊者可以每天嘗試10萬次,相對來說成本很低。[10]而在2008年,Google的CAPTCHA也被俄羅斯黑客所破解。攻擊者使用兩台不同的電腦來調整破解進程,可能是用第二台電腦學習第一台對CAPTCHA的破解,或者是對成效進行監視[11]。
也有一種類似分布式的人工識別方法,多用於在自動化運行程序防止被反自動化機制攔截,如遊戲自動外掛等,就是通過將需要驗證的圖片等數據轉發到有人值勤的終端,由其他人類代為識別回答後再把答案轉發回驗證發送端回答。[12][13]Gmail郵箱註冊驗證系統的破解可能即是經由此方法[14]。已經有專門的公司提供專門的人員識別服務。[15]
也有一些使用新算法和AI結合的方式用於破解。[16]
參考文獻
Wikiwand in your browser!
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.