东森新闻

是谁设计了让人亦爱亦恨验证码:人人都来当校对

时间:2015-08-30  作者:东森平台-【东森娱乐平台】  来源:东森平台-【东森娱乐平台】  查看:
内容摘要:东森娱乐平台 :说起验证码,恐怕大部分人都会流露出不悦的表情。在搜索引擎里输入验证码 发明这两个关键字,搜索页面会弹出成千上万个表达群众不满的结果:谁发明了万恶的验...
 东森娱乐平台:说起“验证码”,恐怕大部分人都会流露出不悦的表情。在搜索引擎里输入“验证码” “发明”这两个关键字,搜索页面会弹出成千上万个表达群众不满的结果:“谁发明了万恶的验证码?”“发明验证码的人你出来,我保证不打死你”……
 
  互联网的发展历史不长,验证码当然也很年轻。
 
各种各样的验证码(网络图)_meitu_2各种各样的验证码(网络图)
  前验证码时代
 
  一开始,网络上是没有验证码的。那时想要在论坛上发帖,只需轻轻敲一下回车键。然而,那个时代却没有大家以为的那么平静,当时的黑客也十分猖狂:他们 编写了一种能够大量、重复编写信息的程序,伪装成人类用户,肆无忌惮地朝网络上倾倒大量的、无意义的“僵尸”信息,垃圾邮件、垃圾广告、垃圾评论到处乱 飞。论坛被灌水,有用的信息很快会被淹没,很多网站的正常运营遭到破坏。除此之外,还有数之不尽的程序机器人使用不断尝试的方法恶意破解密码、恶意刷票, 从中获取非法的利益。强而有力的程序机器人如同霸王龙一样横行霸道,网络世界一片狼藉,眼看着就要失控了。
 
  其中,受影响最大的当属电子邮件的提供商:他们的用户每天收到数以百计的垃圾邮件轰炸,严重地影响了正常的工作;更要命的是,这些垃圾邮件还是用他们 的免费邮箱发出的。他们不可能一一审查邮件,因为那既不尊重隐私,工作量也太大。难道就没有任何手段约束程序机器人了吗?当时最有实力的邮件提供商 Yahoo(雅虎)公司决定下狠劲改善这个问题。很快,雅虎的负责人联系到了当时卡内基梅陇大学一位21岁的学生,他叫路易斯·冯·安(Luis von Ahn)。
 
2015年,时年36岁的路易斯(网络图)2015年,时年36岁的路易斯(网络图)
  反图灵测试
 
  路易斯是一个计算机天才,17岁进入卡内基梅陇大学,在大学时期,他凭借良好的表现获得了导师曼纽尔·布鲁姆(Manuel Blum)的赏识,他的傲人履历也很可能是雅虎向他伸出橄榄枝的原因。
 
  在研究过程序机器人的“工作手法”之后,他给出了一个独特的方案:在用户进行操作之前,就将那些机器人从正常用户里揪出来。大家都知道图灵测试的目的是将机器伪造成人类,而路易斯的方案就是“反”过来:通过简单的方法将试图伪装成人类的程序机器人鉴定出来。
 
  好了,现在大家来想想,有什么是人类能够轻易做到,而机器不可能的呢?
 
  数学题?机器做得比人类出色多了;
 
  写一篇洋洋洒洒保证书保证“我是人类”?机器绝对写得又快又好;
 
  画一幅画?拜托,谁有空每次在论坛发一次贴就画一次画?而且说真的,机器画画也绝对比人类强;
 
  晒出自己和电脑屏幕上的信息合影的照片?哪有那么多工作人员有空一个个审核呢。
 
  路易斯发现,人类可以用肉眼很轻易地识别图片里的文字信息,而机器就不能。当时的计算机辨识技术还很落后,对于那些镶嵌在图片中的、被扭曲过、污染过 的文字无法辨识,而人类只需要稍稍皱眉就可以识别出来。路易斯在导师布鲁姆的帮助下很快设计了一个程序,它先是产生一个随机的字符串,比如smwm,然后 对这串字符进行随机的扭曲、重叠、污染,再显示给要进行操作的用户。只要能够识别这个变形了的smwm的,就是人类。
 
这个字符串经历过扭曲、右侧加光调色的处理(网络图)这个字符串经历过扭曲、右侧加光调色的处理(网络图)
  这个设计方案后来被命名为“CAPTCHA”,这是“Completely Automated Public Turing test to tell Computers and Humans Apart”首字母的缩写,意思是“全自动区分计算机和人类的图灵测试”,虽然看上去很夸张,但实际上还是挺简单易懂的。它的中文译名就是大家熟知的“验 证码”啦。
 
  人人都来当校对
 
  21岁的路易斯·冯·安发明了验证码后真是名利双收,但他享受了掌声和鲜花后冷静了下来,为一件“小事”感到耿耿于怀:全世界的网民每天要输入验证码接近2亿次,假设每次花费10秒,那么算下来每天要花费50万小时。这个时间如果能利用起来,那将会有多大的力量啊。
 
  路易斯将目光投向了旧书摊。信息时代来临之际,很多古旧的书籍报纸需要整理成电子版,但是电脑扫描辨识时常常出错,因为这些旧资料常常不可避免地有着 字迹模糊、褪色、污损的情况。路易斯比任何人都清楚电脑在辨识文字上有多笨拙。唯一的方法是人工核对。但这样的工作显然不是一个人或者一个公司可以胜任 的,为什么不让网民们来帮忙呢?
 
  说干就干的路易斯很快开工了:他扫描了一些过期的旧报纸,将扫描得到的图片在计算机的分析下拆开成单词片段,再将这些单词作为验证码发送给用户。有人 要问了,先前的那些验证码,系统是知道答案的,但这些书籍拆下来的单词,系统自己也搞不清楚答案,那怎么知道用户的判断结果对不对呢?
 
  路易斯用一贯简洁优美的思路解决了这个问题,并将它起名为reCAPTCHA(意思是“二次验证码”):他让用户一次性辨识两个单词,其中一个是系统 生成的真正的验证码,另外一个是从旧报纸上截下来的单词。如果用户输对了第一个验证码,那么输对第二个单词的几率也很高。
 
reCAPTCHA(网络图)_meitu_3reCAPTCHA(网络图)
  看了上面这个图,大家是不是感觉到了一点不妥呢?没错,扫描出来的图片和真正的验证码长得那么不像,reCHAPTCHA这个项目又人所皆知,用户一 眼就能看出来右边那个“345”是假的验证码。很多认真的用户会乐意为辨识古书籍献出一份力,但并不是每个人都那么乐于助人,那些爱捣蛋的用户很可能会故 意输入错误的单词。
 
  为了防止恶意捣乱、提高答案的可信程度,路易斯后来还要对两个验证码进行加工,让它们成为“孪生子”:下面左边的这个morning,就是从旧报纸里 截取出来的,是不是跟右边的overlooks长得很像呢?如果用户分不清那个是真验证码,哪个是“假验证码”,他们会更配合工作。路易斯还将同一个未知 的单词输送给多个用户,如果所有用户辨识的结果一致,都是“morning”,那么就认为这个单词被“搞掂”了。



本文来源于:http://www.xingcai196.com/

Copyright © 2002-2015 东森平台 版权所有