验证码

网站的验证界面]]

全自动区分计算机和人类的图灵测试(,簡稱CAPTCHA),又称验证码確認碼,是一种区分用户是機器或人類的公共全自动程序。

簡介
CAPTCHA这个词最早是在2002年由卡内基梅隆大学的路易斯·馮·安、Manuel Blum、Nicholas J.Hopper以及IBM的John Langford所提出。

卡内基梅隆大学曾试图申請此詞使其成为注册商标, 但该申请于2008年4月21日被拒绝。

原理
在CAPTCHA测试中,作为服务器的计算机会自动生成一个问题由用户来解答。

这个问题可以由计算机生成并评判,但是必须只有人类才能解答。由于機器无法解答CAPTCHA的问题,回答出问题的用户即可視為人类。

常用的CAPTCHA测试是让用户输入一个扭曲变形的图片上所显示的文字或数字。扭曲變形是為了避免被光學字元識別之類的電腦程式自動辨識出圖片上的文數字,而失去效果。

由于这个测试是由计算机来考人类,而不是标准图灵测试中那样由人类来考计算机,人们有时称CAPTCHA是一种反向图灵测试。

為了無法看到圖像的身心障礙者,替代的方法是改用語音讀出文數字。為了防止語音辨識分析聲音,聲音的內容會有雜音或仍可以被人类接受的变声。

根據CAPTCHA測試的定義,產生驗證碼圖片的算法必須公開,即使該算法可能有專利保護。這樣做是證明想破解就需要解決一個不同的人工智能難題,而非僅靠發現原來的 (秘密)算法;後者可以用逆向工程等途徑得到。

運用
CAPTCHA技術廣泛用於網站的留言板以及註冊帳號。

許多網站為了防止有人利用電腦程式,大量在留言板上張貼廣告或其他垃圾訊息,因此會放置CAPTCHA,要求留言者必需輸入图片上所显示的文数字或是算術題才可完成留言。

一些網路上的交易系統(例如:訂票系統、網路銀行)為了避免被電腦程式以暴力破解大量嘗試交易,也會有CAPTCHA的機制。

相關技術
reCAPTCHA
利用CAPTCHA技術來幫助典籍數位化的進行。

其他
SolveMedia,captcha.tw 等廣告聯播網,利用驗證碼展示廣告。

破解
一些曾经或者正在使用中的验证码系统已被破解。这包括Yahoo验证码的一个早期版本 EZ-Gimpy、PayPal、LiveJournal和phpBB使用的验证码、很多金融机构(主要是银行)使用的网银验证码以及很多其他网站使用的验证码。

俄罗斯的一个黑客组织使用一个自动识别软件在2006年破解了Yahoo的CAPTCHA。准确率大概是15%,但是攻击者可以每天尝试10万次,相对来说成本很低。

在2008年,Google的CAPTCHA也被俄罗斯黑客所破解。攻击者使用两台不同的电脑,调整破解进程,可能是用第二台电脑学习第一台对CAPTCHA的破解,或者是对成效进行监视。

CAPTCHA可以為有类似分布式的人工识别方法所破解,多用于在自动化运行程序,防止被反自动化机制拦截,如游戏自动外挂等,就是通过将需要验证的图片等数据,转发到有人值勤的终端,由其他人类代为识别回答后再把答案转发回验证发送端回答。

Gmail郵箱註冊驗證系統的破解可能即是經由此方法,已经有专门的公司提供专门的人员识别服务,也有一些使用新算法和AI结合的方式用于破解。

參見

  • 工作量證明
  • reCAPTCHA

参考文献

评论 (0)

  • 还没有评论,来抢沙发吧。