千家信息网

验证码的前世今生

发表于:2025-02-22 作者:千家信息网编辑
千家信息网最后更新 2025年02月22日,"你永远不知道,网络对面坐的一个人还是一只狗"--网友戏说视频、出行、购物等网站的使用者,就一定是人类吗?会不会是伪装成"人类"的计算机呢?为了能够识别人类和计算机,"验证码"应运而生。今天,让我们了
千家信息网最后更新 2025年02月22日验证码的前世今生

"你永远不知道,网络对面坐的一个人还是一只狗"

--网友戏说

视频、出行、购物等网站的使用者,就一定是人类吗?会不会是伪装成"人类"的计算机呢?

为了能够识别人类和计算机,"验证码"应运而生。

今天,让我们了解一下验证码的前世今生吧!

01、先了解什么是"图灵测试"

从 1946 年世界上第一台计算机出现开始,聪明的人类就已经考虑计算机发展到替代人类的可能性。艾伦・麦席森・图灵,被称为计算机科学之父、人工智能之父,专门设计了一个著名的"图灵测试",用来判定计算机能否在智力行为上表现得和人无法区分。

当主持人问了 1 个问题,然后无法从 2 个解答中分辨出谁是人类、谁是计算机时,就表明计算机的智能水平已经与人类没有差异了。

"图灵测试"是由人类来判断:谁是计算机?谁是人类?

最重要的目的,是识别出计算机。

02、反过来的"图灵测试" 就是验证码

那么"验证码",是由计算机来判断:谁是人类?谁是计算机?

最重要的目的,是识别出人类。

这一点,可以从验证码的中英文全称中看出来:CAPTCHA(Completely Automated Public Turing Test to Tell Computers and Humans Apart, 全自动区分计算机和人类的公开图灵测试),又名 HIP(Human Interaction Proof,人类交互行为证明)。

最典型的验证码,如下图所示。

以目前的眼光来看,这个验证码确实略显简陋。

但是在计算机技术还不发达的年代,这样的验证码,已经足以识别出人类:

只有人类,才能识别出验证码中被严重扭曲的字母或者数字;

而计算机,则无法识别。

基于这样的验证码,各种计算机系统(例如:网站、邮箱等)成功识别到真正的人类后,允许人类继续操作,比如:登录邮箱、投票等。

03、为"保护"而生的验证码

当各种计算机系统无法识别人类和计算机时,计算机技术也能给人类带来麻烦,例如:

邮箱的泛滥注册,导致垃圾邮件满天飞;

投票的野蛮刷票,导致投票结果不公正;

车票的插件抢占,导致返乡车票买不到。

1999 年一个网站发起的在线投票,推选全美计算机科学专业最好的学校时,按理来说是一个人投一张票。但是投票网站在设计的时候,没有考虑太多,只以投票者所在计算机的 IP 地址作为判断依据。

于是有人编写了计算机脚本进行批量刷票:每次投票完后更改一个 IP 地址,然后继续投票。这样的话,有成千上万个 IP 地址就代表了成千上万个不同的人,就可以投成千上万票。

这样的计算机技术,无疑是影响到了整个投票的公平性。

所以说,各种计算机系统,需要一个坚固的"盾"来保护自己。

实际上,第一种验证码(字符型)的出现,就是为了对抗"自动刷票"这种计算机技术的。

04、越来越坚固的"盾"

那么你知道都有哪些千奇百怪的"验证码"吗?

01、字符型

字符型验证码,是我们日常最经常见到的验证码。通常是一些字母、数字的组合,而且为了增加识别的难度,这些字符经常会被变形、被扭曲、被翻转。

随着计算机技术的发展,字符型验证码的安全程度在降低,逐渐被其他类型验证码替代。

02、计算型

计算型验证码,通常是一些数学公式,需要人类发动聪明的大脑进行复杂的运算,才能得出正确的结果。

很遗憾,这种可以提供较高安全性的验证码,虽然计算机很难识别,但是大部分人类自己也觉得很难。所以计算型验证码,并没有广泛应用过。

03、点击型

点击型验证码的最大特点是:使用者只需要通过鼠标进行点击,不需要输入任何东西。通过这种人类专属的行为动作,以及使用者在浏览器中的一些操作数据、浏览数据等,共同识别出真正的人类。

点击型验证码的安全性较高,而且用户体验较好。

在一些重要的计算机系统,例如:动车售票网站、大型购物网站、大型视频网站等用户量较大、数据安全要求高的地方,采用点击型验证码,可以有效识别人类,避免其他计算机的攻击。

04、滑动型

滑动型验证码通过收集使用者的动作,判断是否为人类。例如:人类拖动滑块的轨迹会是一个先快后慢的过程:先快速拖动,后慢慢对齐,再瞬间释放。

这种验证码的用户体验较好,虽然被计算机技术突破的成功率也有 60% 以上,但是计算机技术模拟人类行为的成本较大,得不偿失。

05、短信型

短信型验证码,是最常用的一种方式。各种 App 一般会采用这种方式,简单直接,通过运营商来发送短信,安全上有保障。

每个验证码与手机号码相对应而且一般有效期仅为 60 秒~90 秒,不留其他人钻空子的机会。

06、扫码型

扫码型验证码,实际上就是首先确保在手机上已经成功登录,然后通过扫描二维码的方式在 PC 上继续登录。这是如今各大视频网站、购物网站的常用方法。

让人类自己去验证人类自己,嘿,这方法真棒。

07、生物特征型

各种人脸识别、指纹识别、声纹识别甚至虹膜识别,都可以算作是生物特征型验证码。使用起来更加简单,而且因为这些生物特征在每个人类中的独特性,犹如一把专属钥匙,具备较高的安全性。

05、越来越锋利的"矛"

虽然"盾"很坚固,但是随着计算机技术的不断进步,锋利的"矛"也层出不穷。

为了突破验证码的保护,发展出了以下的计算机技术:

01、OCR 技术

OCR (Optical Character Recognition,光学字符识别)技术,可以将图片、照片上的文字内容,直接转换为可编辑的文本。

2003 年有人通过图像识别算法(Shape Context)对简单字符型的验证码进行自动化识别,可以达到 93% 的成功率。

OCR 技术仅能攻破一些简单的字符型验证码,稍微复杂一些(比如扭曲、翻转)的字符,就需要花费更多时间,一般无法在字符型验证失效前识别成功。

02、机器学习模型

2005 年有人利用机器学习模型(CNN)对单个字符的验证码进行自动化识别,计算机的识别成功率竟然还比人类的成功率还高。

然而,要想使用机器学习模型来识别字符型验证码,需要先准备好多台高性能计算机和大量的训练数据,因此模型识别的成本太高,一般人用不起。

03、伪装的手机基站

要想破解短信型验证码,伪装的手机基站需要首先屏蔽目标手机的信号,然后以这个手机号码去尝试登录网站,还要能够伪装目标手机去接收短信。

各个环节都要在短时间内完成,简直就是 Mission Impossible,而且每一步都是违法违规,破解成本高到天际了。

04、终极的"伪装"

"能打败人类的,终将是人类自己"!

当人类拥有走出宇宙文明的计算机技术时,是否可以通过克隆出一个人类,让这个复制出来的人类去破解各种各样的验证码,岂不是手到擒来?!

当然,这仅仅是小编的一丢丢幻想,可能会在科幻片里看到,各位粉丝不要当真哦!

好的,今天的内容就是这些啦,和小编一起回顾一下吧:

"图灵测试"是为了分辨出谁才是计算机;

"验证码"是为了分辨出谁才是人类;

千奇百怪的"验证码"保护着各种计算机系统;

层出不穷的"计算机技术"不断提高自己伪装成人类的能力。

作为"盾",验证码如何才能更安全、更易用?

作为"矛",计算机技术如何才能突破验证码的严防死守?

这些问题,都需要交给聪明的人类、更加智能的计算机技术去解答。

可以预见,作为"人类与计算机的角斗场"的验证码,将迎来更多的攻防机会,同时也会给我们的社会带来更多的改变,让我们拭目以待!

本文来自微信公众号:中兴文档 (ID:ztedoc),作者:中兴文档

验证 计算机 人类 技术 字符 网站 投票 字符型 安全 成功 图灵 手机 测试 就是 短信 系统 别出 使用者 成功率 数据 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 香港服务器有必要安装pc吗 贵广网络技术岗工资待遇怎么样 js如何清空表数据库 服务器建站费用 软件开发成本跟硬件开发成本 数据库营销最明显的特征 广东时代网络技术分类技术 威海联想服务器代理电话 计算网络技术的英文翻译 计算机网络技术大专生薪资 网络安全专业吐槽 安徽九娱网络技术有限公司 虹口区综合软件开发信息中心 服务器软件图标带x 64位办公软件数据库 酷番云服务器联系电话 软件开发区浦兴路街道 安徽运营网络技术服务哪家好 福建华为服务器虚拟化技术云主机 数据库管理系统是程序 腾讯云域名访问服务器 数据库 系统软件 扫描枪是有自己的数据库吗 stme连接服务器 维普数据库网站 职工账户信息下载没有数据库 螺旋模型是不是软件开发模型 重庆正规软件开发需要多少钱 成都健之德网络技术有限公司 榆林软件开发公司
0