“你永远不知道,坐在互联网对面的人还是条狗”——网友戏称,视频、旅游、购物等网站的用户一定是人吧?可能吗?伪装成“人类”的计算机呢?为了能够区分人和计算机,“验证码”应运而生。今天,就让我们一起了解一下验证码的前世今生吧!01.先了解什么是“图灵测试”自从1946年世界上第一台计算机出现以来,聪明的人类就开始考虑计算机发展以取代人类的可能性。被誉为计算机科学和人工智能之父的艾伦·马西森·图灵专门设计了著名的“图灵测试”,以确定计算机在智力行为方面是否能与人类媲美。区分。当主持人提出一个问题,然后从两个答案中分不清谁是人谁是计算机时,说明计算机的智能水平与人类没有区别。“图灵测试”由人类评判:谁是计算机?谁是人?最重要的目的是识别计算机。02.反向“图灵测试”就是验证码。然后“验证码”由计算机判断:谁是人?谁是电脑?最重要的目的是识别人类。这个从验证码的中英文全称就可以看出来:CAPTCHA(CompletelyAutomatedPublicTuringTesttoTellComputersandHumansApart,全自动公共图灵测试区分计算机和人类),也称为HIP(Human交互证明,人类交互行为证明)。最典型的验证码如下图所示。从目前来看,这段验证码确实有些简陋。但在计算机技术还不发达的年代,这样的验证码足以识别人类:只有人类才能识别验证码中严重失真的字母或数字;计算机无法识别它们。基于这样的验证码,各种计算机系统(如网站、邮箱等)在成功识别真人后,允许人类继续操作,如登录邮箱、投票等。03.“保护”验证码当各种计算机系统无法识别人和计算机时,计算机技术也会给人类带来麻烦,例如:邮箱泛滥,导致垃圾邮件满天飞;野蛮投票,投票结果不公平;机票的插件抢占了它,导致买不到回程票。1999年,当某网站发起一项选出美国计算机科学专业最佳学校的在线投票时,一个人投一票是合理的。但是投票网站在设计的时候并没有考虑太多,只是以投票者电脑的IP地址作为判断依据。于是有人写了一个批量刷票的计算机脚本:每次投票后更改一个IP地址,然后继续投票。这样一来,几千个IP地址就代表着几千个不同的人,就可以投出几千张选票。这样的电脑技术,无疑影响了整个投票的公平性。因此,各种计算机系统都需要坚固的“盾牌”来保护自己。事实上,第一类验证码(字符型)的出现就是为了对抗“自动刷票”的计算机技术。4、“护盾”越来越强。你知道有哪几种“验证码”吗?(1)字符验证码是我们在日常生活中见到最多的验证码。通常是字母和数字的组合,为了增加识别难度,这些字符往往会变形、扭曲、翻转。随着计算机技术的发展,字符型验证码的安全级别不断降低,逐渐被其他类型的验证码所取代。(2)计算计算验证码通常是一些数学公式,需要人类运用聪明的大脑进行复杂的计算,才能得到正确的结果。不幸的是,这种可以提供更高安全性的验证码,计算机很难识别,但大多数人也很难识别。因此,计算验证码并未得到广泛应用。(3)点击式点击式验证码最大的特点是用户只需用鼠标点击,无需输入任何内容。通过这种人特有的行为,以及用户在浏览器中的一些操作数据和浏览数据,可以一起识别真人。点击验证码安全性更高,用户体验更好。在一些重要的计算机系统,如火车票网站、大型购物网站、大型视频网站等用户量大、数据安全要求高的地方,可以使用点击式验证码,有效识别人为,避免攻击。其他电脑。(4)刷卡式刷卡式验证码是通过收集用户的动作来判断是不是人。比如人拖动滑块的轨迹会是一个先快后慢的过程:先快速拖动,然后慢慢对齐,然后瞬间释放。这种验证码的用户体验更好。虽然计算机技术突破的成功率超过60%,但计算机技术模拟人类行为的成本相对较高,得不偿失。(5)短信短信验证码是最常用的方式。各种APP普遍采用这种方式,简单直接,短信通过运营商发送,安全有保障。每个验证码对应一个手机号码,一般只有60到90秒有效,不给别人钻空子。(6)扫码式扫码式验证码,其实就是先确保你在手机端登录成功,然后在PC端通过扫描二维码继续登录。这是现在各大视频网站和购物网站常用的方法。让人类自己验证,嘿嘿,这个方法真牛逼。(7)生物识别类型各种人脸识别、指纹识别、声纹识别甚至虹膜识别都可以算作生物识别验证码。它更易于使用,而且由于每个人身上这些生物特征的独特性,它就像一把专属钥匙,安全性更高。5、越来越锋利的“长矛”虽然“盾牌”很坚固,但随着计算机技术的不断进步,锋利的“长矛”也层出不穷。为了突破验证码的保护,发展了以下计算机技术:(1)OCR技术OCR(OpticalCharacterRecognition,光学字符识别)技术可以将图片、照片上的文字内容直接转换成可编辑的文字。2003年有人利用图像识别算法(ShapeContext)自动识别简单的字符验证码,成功率可达93%。OCR技术只能突破一些简单的字符型验证码,稍复杂(如扭曲、翻转)的字符会耗费更多时间,一般在字符型验证失败前无法成功识别。(2)机器学习模型2005年,有人利用机器学习模型(CNN)自动识别单个字符的验证码,计算机识别的成功率甚至高于人类。然而,为了使用机器学习模型来识别字符型验证码,需要准备多台高性能计算机和大量的训练数据。因此,模型识别的成本太高,普通人无法使用。(3)如果假手机基站想要破解短信验证码,假手机基站需要先屏蔽目标手机的信号,然后尝试用这个手机号登录网站,还可以伪装目标手机接收短信。所有环节都要在短时间内完成,简直是不可能的任务,而且每一步都是违法的,破解成本暴涨。(四)终极“伪装”“能打败人类的终究是人类”!当人类拥有了走出宇宙文明的计算机技术后,能否克隆出一个人,让这个复制出来的人破解各种难题呢?各种验证码不是唾手可得吗?!当然,这只是小编的天方夜谭,在科幻电影中或许也能看到。粉丝别当真!好了,今天的内容就到这里了,一起来温习一下:“图灵测试”是区分谁是计算机;计算机技术”不断提高其伪装成人类的能力。验证码作为“盾牌”,如何才能更安全、更易用?作为一把“长矛”,计算机技术如何突破验证码的严密防御?这些问题需要聪明的人类和更聪明的计算机技术来回答。可以预见,验证码作为“人机之间的竞技场”,将迎来更多的攻防契机,也将给我们的社会带来更多的改变,让我们拭目以待!
