验证码
全自动区分计算机和人类的图灵测试(英语:,简称CAPTCHA),又称验证码,是一种区分用户是机器或人类的公共全自动进程。在CAPTCHA测试中,作为服务器的计算机会自动生成一个问题由用户来解答。这个问题可以由计算机生成并评判,但是必须只有人类才能解答。由于机器无法解答CAPTCHA的问题,回答出问题的用户即可视为人类。




简介
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]
参考文献
![]() |
维基共享资源上的相关多媒体资源:验证码 |
- . 时代杂志. [2008-06-12]. (原始内容存档于2009-04-30).
The Carnegie Mellon team came back with the CAPTCHA. (It stands for "completely automated public Turing test to tell computers and humans apart"; no, the acronym doesn't really fit.) The point of the CAPTCHA is that reading those swirly letters is something that computers aren't very good at.
- . USPTO. 2008-04-21 [2008-12-21]. (原始内容存档于2012-04-23).
- . captcha.tw. (原始内容存档于2013-10-14).
- Greg, Mori,; Malik, Jitendra. . Simon Fraser University. [2008-12-21]. (原始内容存档于2019-03-23).
- Kluever, Kurt. . Kloover.com. 2008-05-12 [2008-12-21]. (原始内容存档于2018-07-12).
- Li, Shujun; Syed Amier Haider Shah, Muhammad Asad Usman Khan, Syed Ali Khayam, Ahmad-Reza Sadeghi and Roland Schmitz. . . New York, NY, USA: ACM: 171–180. 2010 [2012-05-20]. doi:10.1145/1920261.1920288. (原始内容存档于2016-03-13).
- Kluever, Kurt. . Kloover.com. 2008-02-28 [2008-12-21]. (原始内容存档于2017-12-21).
- Hocevar, Sam. . Sam.zoy.org. [2008-12-21]. (原始内容存档于2005-09-11).
- Sergei, Kruglov. . Captcha.ru. [2008-12-21]. (原始内容存档于2021-04-17).
- . 0x000000 - THE HACKER WEBZINE. 2006 [2008-02-27]. (原始内容存档于2013-07-19).
- . Websense Security Labs. 2008-02-22 [2008-02-27]. (原始内容存档于2008-02-28).
- 解析验证码人工破解内幕!什么是打码任务 (页面存档备份,存于) 打码任务(captcha human bypass project)
- 关于打码内幕 的存盘,存档日期2016-03-05.
- (页面存档备份,存于) Brad Taylor称垃圾信息发送者采用了原始的"人肉破解",即花钱雇佣了大量来自第三世界的廉价劳动者,让他们逐个对进行 CAPTCHA系统进行人手破解。
- . (原始内容存档于2016-03-04).
- Ye Wang, etc. An optimized system to solve text-based CAPTCHA (页面存档备份,存于)[Ye Wang, etc. An optimized system to solve text-based CAPTCHA]