欢迎您访问科普小知识本站旨在为大家提供日常生活中常见的科普小知识,以及科普文章!
您现在的位置是:首页  > 科普文章

验证码

科普小知识2022-01-04 10:05:23
...

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

1、简介

CAPTCHA这个词最早是在2002年由卡内基梅隆大学的路易斯•冯•安、ManuelBlum、NicholasJ.Hopper以及IBM的


早期的Captcha验证码"smwm",由EZ-Gimpy程序产生,使用扭曲的字母和背景颜色梯

JohnLangford所提出。卡内基梅隆大学曾试图申请此词使其成为注册商标,但该申请于2008年4月21日被拒绝。一种常用的CAPTCHA测试是让用户输入一个扭曲变形的图片上所显示的文字或数字,扭曲变形是为了避免被光学字符识别(OCR,OpticalCharacterRecognition)之类的电脑程序自动辨识出图片上的文数字而失去效果。由于这个测试是由计算机来考人类,而不是标准图灵测试中那样由人类来考计算机,人们有时称CAPTCHA是一种反向图灵测试。

为了无法看到图像的身心障碍者,替代的方法是改用语音读出文数字,为了防止语音辨识分析声音,声音的内容会有杂音。

2、运用

CAPTCHA目前广泛用于网站的留言板,许多留言板为防止有人利用电脑程序大量在留言板上张贴广告或其他垃圾消息,因此会放置CAPTCHA要求留言者必需输入图片上所显示的文数字或是算术题才可完成留言。而一些网络上的交易系统(如订票系统、网络银行)也为避免被电脑程序以暴力法大量尝试交易也会有CAPTCHA的机制。加值的运用有:

reCAPTCHA是利用CAPTCHA技术来帮助典籍数字化的进行。

SolveMedia,captcha.tw等广告联播网利用验证码展示广告。

3、作用


一种更现代的CAPTCHA,其不使用扭曲的背景及字母,而是增加一条曲线来使得图像分区(segmentation)更困难。

防止恶意破解密码、刷票、论坛灌水、刷页。

有效防止某个黑客对某一个特定注册用户用特定程序暴力破解方式进行不断的登录尝试,实际上使用验证码是现在很多网站通行的方式(比如招商银行的网上个人银行,百度社区),我们利用比较简易的方式实现了这个功能。虽然登录麻烦一点,但是对网友的密码安全来说这个功能还是很有必要,也很重要。但我们还是提醒大家要保护好自己的密码,尽量使用混杂了数字、字母、符号在内的6位以上密码,不要使用诸如1234之类的简单密码或者与用户名相同、类似的密码,免得你的账号被人盗用给自己带来不必要的麻烦。

验证码通常使用一些线条和一些不规则的字符组成,主要作用是为了防止一些黑客把密码数据化盗取。

验证码还有什么作用?您肯定上过论坛吧?几乎所有正规的论坛都要求注册时输入验证码,这是为了防止乱发垃圾广告的家伙用注册机来恶意注册。这个源自美国卡内基-梅隆大学的发明被称为CAPTCHA(用于区分人类与电脑的全自动图灵测试),因为注册者需要辨识图片上七歪八扭的文字,而这项工作只有真正的人类才能完成。

要知道,全世界的网络用户数以亿计,对个人来说,辨认文字所花的几秒时间微不足道,但如果将所有网民的力量利用起来,那便能完成难以想象的浩大工程,而这正是美国宾夕法尼亚州匹兹堡市的CMU研究小组正在做的事。

该小组受一家名为“互联网档案馆”的非营利组织委托,要将海量的古老书籍和手稿通过OCR(光学字符识别)软件转化为电子文本,以方便电脑储存和查询。然而,由于原稿的质量太差,可怜的电脑每扫描十个单词就会错读一个,唯一解决的办法就是人工核对,而这样的工作显然不是一个人或一个小组可以胜任的。

于是,CMU设计了一个名叫reCAPTCHA的强大系统,让他们的电脑去向人类求助。具体做法是:将OCR软件无法识别的文字扫描图传给世界各大网站,用以替换原来的验证码图片;那些网站的用户在正确识别出这些文字之后,其答案便会被传回CMU。

为了提高用户辨识文字的正确率,他们往往被要求辨认两个单词,其中一个的答案已经知晓。这样以来,正确辨认出有答案的那个单词的用户,很有可能也会正确辨认另一个单词。有时候,CMU也会将一个未经辨认的单词提交给不同的用户,如果得到的是相同的答案,那这个答案便可以肯定是正确的。

由于许多人气极高的网站,如Facebook、Twitter和StumbleUpon等,都采用了reCAPTCHA,CMU现在每天都可以处理大约一百万个单词。不过,按照现在的速度,要电子化“互联网档案馆”提供的所有文本,估计还需要400年。

4、使用流程

大多数网站的验证码都是需要点击一下填写框,然后会自动弹出验证码图片。

由于验证码是随机产生的,有很大几率会出现无法清楚识别的验证码图片,所以需要注意的是,一般网站都会有相应的提示,如“看不清,换一张”等,如果没有提示,则直接点击当前的验证码图片,可以完成验证码的更换。

5、常见的验证码

1.四位数字和字母,可能都是字母,也可能都是数字,随机的4位字符串,最原始的验证码,验证作用几乎为零。

2.CSDN网站用户登录用的是GIF格式,目前常用的随机数字图片验证码。图片上的字符比较中规中矩,验证作用比上一个好。没有基本图形图像学知识的人,不可破!可惜读取它的程序,在CSDN使用它的第一天,好像就在论坛里发布了,真是可怜!

3.汉字是注册目前最新的验证码,随机生成,打起来更难了!例如QQ申诉页面


中文验证码

4.MS的hotmail申请时候的是BMP格式,随机数字+随机大写英文字母+随机干扰像素+随机位置。

5.韩文或日文,现在跑跑HF上MS注册都要打韩文的,这更增加了难度,要去修学下才行。

6.Google的Gmail注册时候的是JPG格式,随机英文字母+随机颜色+随机位置+随机长度。其他各大论坛的是XBM格式,内容随机。

7.广告验证码

输入广告中的部分内容即可,特点是可以给网站带来额外收入,也可以使使用者耳目一新。

8.问题验证码问题验证码主要是以问答式的形式来进行填写。它的查看比加模验证码更容易辨别和录入,系统可以生成诸如“1+2=?”的问题让用户进行回答,当然这样的问题是随机生成的。另一种问题验证码,则是文字式的问题验证码,诸如生成问题“中国的全称是什么?”,当然有些网站还在问题后面给出了提示答案或直接答案。

9.视频验证码

视频验证码是验证码中的新秀,视频验证码中随机数字、字母和中文组合而成的验证码动态嵌入到MP4,flv等格式的视频中,增大了破解难度。验证码视频动态变换,随机响应,可以有效防范字典攻击、穷举攻击等攻击行为。视频中的验证码字母、数字组合,字体的形状、大小,速度的快慢,显示效果和轨迹的动态变换,增加了恶意抓屏破解的难度。其安全度远高于普通的验证码,而且这种验证码形式使用户不会感到枯燥,由于其提高了机器识别的难度从而可以降低用户识别的难度,使得用户更容易辨认。

10.但由于需要较高的技术支持,此种验证码并未普及开。国际上已有几家提供此种服务的公司,其中还包括一家中国公司青岛印象派信息技术有限公司的印象码服务平台。

11.不过相信随着技术水平的提高,视频验证码会得到普及,网站的安全性会得到有效的提高。

12.Gif动画验证码

主流验证码通过提供静态的图片,比较容易被ocr软件识别,有的网站提供GIF动态的验证码图片,使得识别器不容易辨识哪一个图层是真正的验证码图片,可以提供清晰的图片的同时,可以更有效得防止识别器的识别,据统计,动画gif验证码的防垃圾注入可以达到100%,是一个非常有效的验证码创新模式。同时gif动画效果可以有多达百种,也可以增加网站页面的美观效果。

13.手机短信验证码

手机验证码是通过发送验证码到手机,大型网站尤其是购物网站,都提供有手机短信验证码功能,可以比较准确和安全地保证购物的安全性,验证用户的正确性,是最有效的验证码系统。某些验证码接入商提供手机短信验证码服务,各网站通过接口发送请求到接入商的服务器,服务器发送随机数字或字母到手机中,由接入商的服务器统一做验证码的验证。

14.手机语音验证码

还在为网站发出的验证码收不到而烦恼吗?您是否遇到过您的网站用户或会员经常因为各种原因收不到网站的验证码,客户抱怨不断。新用户注册收不到短信没有耐心就直接放弃了您的网站,您的网站因为验证码的问题体验不佳就可能因此而流失掉这些老客户和潜在新客户,您是否觉得可惜呢?现在,语音验证码的出现把这些问题一下统统解决了,您再也不用为验证码的问题而烦恼了。只要用户的手机或座机能正常接听电话,就一定能收到语音验证码,验证码实现自动语音播报,同时短信也能同时发送到用户手机,实现双保险确保万无一失。语音验证码如果有拨通失败的,系统还能自动重播,确保不漏掉任何一个,从根本上解决您的网站用户收不到验证码的问题。

6、验证码的制作

首先生成4位字符串,写入图片控件中,然后画10条左右的直线(位置随机),再画70个左右的点(位置随机),这样就做好了,有些论坛验证码还会有颜色。

验证码-让一亿人做一件事

根据北京教育频道播出内容,验证码的发明者想到了,让一亿人做一件事,那是疯狂的,无论做什么事。LuisvonAhn想到,几十年前的书上的内容让电脑识别会有很多错误,因为书的褪色,褶皱、损坏等等,LuisvonAhn把书里电脑无法识别的内容让计算机自动生成验证码,然后发往各大网站,让网民识别,实际上,我们每次输入一个验证码就可能是在帮LuisvonAhn做事。但是有一个新的问题,既然计算机无法识别这些内容,那计算机如何知道网友输入的字符是否正确呢?LuisvonAhn又有新的解决办法,让计算机生成一个和书上的字符类似的验证码,即二次码,以解决计算机无法识别的问题。

使用BlueIdea版验证码生成组件

验证码组件的文件构成,本组件一共只有三个文件,它们分别是:

1、checkcode.asp负责生成和输出验证码1309byte。

2、head.fix是54byte的BMP头

3、body.fix数字0~910X100竖排的RGB阵列数据3200byte如果想做自己风格的验证码,那只要对body.fix这个文件进行修改就可以了

第一步:打开画图程序,建立一个10*100大小的BMP格式文件


第一步

在其中从上至下,每10像素为一个单位,分别绘入0-9这十个数字(当然使用PHOTOSHOP,就更简单了)。在绘制时,可以加一些自己独特的东西,比如加入渐变的底色和底纹。


第二步

图象绘制完成后,将文件存盘,注意这里要选择存为24位位图格式为BMP的图象文件。这么制作出来的文件是不能直接使用的,因为其中的前54Byte内容,已经在head.fix文件里了,我们需要去除它才行。


第三步

使用Hedit来打开刚才存盘的图象(当然只要可以编辑2进制文件的编辑器都可以)

选中图中的蓝色部位,按下键盘上的删除键:


第四步

如果你的提示是如上图的删除54字节,点击确认,如果你的提示不是54字节,请重新选择后再删除。

删除完成后,保存文件,并将其改名为Body.fix

整个修改过程就结束了,下面就可以直接使用你的个性版本验证码组件了,使用方法不变。完成后效果:


完成后的效果

7、破解

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

俄罗斯的一个黑客组织使用一个自动识别软件在2006年破解了Yahoo的CAPTCHA。准确率大概是15%,但是攻击者可以每天尝试10万次,相对来说成本很低。而在2008年,Google的CAPTCHA也被俄罗斯黑客所破解。攻击者使用两台不同的电脑来调整破解进程,可能是用第二台电脑学习第一台对CAPTCHA的破解,或者是对成效进行监视。甚至有人工破解验证码的例子,Gmail邮箱注册验证系统的破解可能即是经由此方法。reCAPTCHA(en:Human-basedcomputation)的一种,由CAPTCHA的发明者之一LuisvonAhn所发起。)亦是人工破解验证码的应用。