使用者|验证码的前世今生
视频、出行、购物等网站的使用者 , 就一定是人类吗?会不会是伪装成“人类”的计算机呢?
为了能够识别人类和计算机 , “验证码”应运而生 。
文章图片
今天 , 让我们了解一下验证码的前世今生吧!
01
先了解什么是“图灵测试”
从1946年世界上第一台计算机出现开始 , 聪明的人类就已经考虑计算机发展到替代人类的可能性 。
艾伦·麦席森·图灵 , 被称为计算机科学之父、人工智能之父 , 专门设计了一个著名的“图灵测试” , 用来判定计算机能否在智力行为上表现得和人无法区分 。
文章图片
当主持人问了1个问题 , 然后无法从2个解答中分辨出谁是人类、谁是计算机时 , 就表明计算机的智能水平已经与人类没有差异了 。
“图灵测试”是由人类来判断:谁是计算机?谁是人类?
最重要的目的 , 是识别出计算机 。
02
反过来的“图灵测试” 就是验证码
那么“验证码” , 是由计算机来判断:谁是人类?谁是计算机?
最重要的目的 , 是识别出人类 。
这一点 , 可以从验证码的中英文全称中看出来:CAPTCHA(Completely Automated Public Turing Test to Tell Computers and Humans Apart ,全自动区分计算机和人类的公开图灵测试) , 又名HIP(Human Interaction Proof , 人类交互行为证明) 。
最典型的验证码 , 如下图所示 。
文章图片
以目前的眼光来看 , 这个验证码确实略显简陋 。
但是在计算机技术还不发达的年代 , 这样的验证码 , 已经足以识别出人类:
- 只有人类 , 才能识别出验证码中被严重扭曲的字母或者数字;
- 而计算机 , 则无法识别 。
03
为“保护”而生的验证码
【使用者|验证码的前世今生】当各种计算机系统无法识别人类和计算机时 , 计算机技术也能给人类带来麻烦 , 例如:
- 邮箱的泛滥注册 , 导致垃圾邮件满天飞;
- 投票的野蛮刷票 , 导致投票结果不公正;
- 车票的插件抢占 , 导致返乡车票买不到 。
但是投票网站在设计的时候 , 没有考虑太多 , 只以投票者所在计算机的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
终极的“伪装”
“能打败人类的 , 终将是人类自己”!
当人类拥有走出宇宙文明的计算机技术时 , 是否可以通过克隆出一个人类 , 让这个复制出来的人类去破解各种各样的验证码 , 岂不是手到擒来?!
当然 , 这仅仅是小编的一丢丢幻想 , 可能会在科幻片里看到 , 各位粉丝不要当真哦!
好的 , 今天的内容就是这些啦 , 和小编一起回顾一下吧:
- “图灵测试”是为了分辨出谁才是计算机;
- “验证码”是为了分辨出谁才是人类;
- 千奇百怪的“验证码”保护着各种计算机系统;
- 层出不穷的“计算机技术”不断提高自己伪装成人类的能力 。
作为“矛” , 计算机技术如何才能突破验证码的严防死守?
这些问题 , 都需要交给聪明的人类、更加智能的计算机技术去解答 。
可以预见 , 作为“人类与计算机的角斗场”的验证码 , 将迎来更多的攻防机会 , 同时也会给我们的社会带来更多的改变 , 让我们拭目以待!
推荐阅读
- 数据|健康码人证核验测温一体机支持全国各地大数据卫健健康码核验
- 科技|启点创新科技QD-JKM-520系列健康码人脸识别设备功能特点
- 产品|健康码人证核验一体机插电联网即用,设备操作简单,使用方便灵活
- 产品|健康码人证核验测温一体机对接了全国各地大数据卫健平台
- ART|5G、北斗、AI齐上阵 无人驾驶车队码头高效装卸集装箱
- Microsoft|微软证实遭黑客入侵 产品源代码被盗
- Google|包含恶意软件的Android应用下载量达10万次 会窃取Facebook密码
- Okta|黑客组织放出 37GB 微软源代码:包含 Cortana、Bing 项目
- 安全|据称黑客泄露了多达37GB的来自微软的源代码
- 用户|多多进鱼带VUE源码-任务悬赏网站源码-活动营销三级分销返佣积分商城版