机器人|点击“我不是机器人”后,网站到底怎么知道你真的是人?

大部分人可能都被Google要求做过这样奇怪的保证:
“我不是机器人” 。

机器人|点击“我不是机器人”后,网站到底怎么知道你真的是人?
本文图片

只要你经常使用一些国外的网站 , 它就会隔三差五地弹出这个对话框 , 要求你点击来“声明”自己不是机器人 。
以前这种“证明自己是人”的环节里 , 有很多让人不胜其烦的验证码 , 要么是一串扭曲的字符 , 要么是一堆支离破碎的图片让你辨认 。 但在这种最新的验证下 , 大部分情况下 , 只要你点击确认之后 , 网页就会成功放行 。
这显然是一种更方便快捷的验证形式 。 但它同时也让一些用户陷入了迷惑:
“这究竟怎么判断我到底是不是机器人的?”

机器人|点击“我不是机器人”后,网站到底怎么知道你真的是人?
本文图片

“难道是因为机器人不会撒谎?”
事实当然并非如此 。
简单的点击背后 , 其实暗藏着很多信息传递 , 甚至包含你的隐私的暴露……
这个你已经可能见怪不怪的机器人测试背后 , 掩盖着的是十数年人机对抗的斗争史 。


点击“我不是机器人”这一交互形式 , 本质上来说还是你在填验证码 。
要解释这一点 , 我们就有必要回顾一下验证码的发展历程 。
对于现在的用户而言 , 填写各类验证码已经必不可缺的技能之一 。 验证码只会耽误每位用户几秒钟的时间 , 但却能极大提升网络环境的“清净程度” 。

机器人|点击“我不是机器人”后,网站到底怎么知道你真的是人?
本文图片

如果没有它的存在 , 那你现在恐怕会遭受更多的垃圾邮件轰炸 , 信息骚扰 。 服务商也会面对泱泱脚本大军而感到崩溃……
就像20年前的互联网那样 。
2000年之前 , 验证码并不存在 。 那时的网络虽然并不发达 , 但已开始兴起 , 各类论坛和邮件服务商的涌现 , 拉开了网络交流时代的序幕 , 而与正向技术一同出现 , 当然还有种种恶意脚本 。
垃圾邮件、评论、恶意信息随着脚本的出现开始漫天飞舞 。 雅虎作为2000年左右最为出名的网络服务商之一 , 深受其害——他们是互联网早期最重要的免费邮箱提供商 , 但面对脚本和海量垃圾邮件束手无策 。 于是雅虎便联系到了卡内基梅隆大学的计算机科学系来寻求帮助 。
雅虎的主要需求是想“有效分清真人用户和机器脚本” 。 卡内基梅隆大学一名21岁的学生路易斯·冯·安恩(Luis Von Ahn)针对这个目的有了思路:要让注册的用户提供“证据”来证明自己是一个人类 , 例如做一些只有人类能做 , 而机器做不到的事情 。
什么事情是在当时只有人类能做而机器做不到的?答案是阅读图片 。
人类可以很轻松的读出图片中的信息 , 但当时的机器并没有这样的能力 。 如果通过程序来提供一些稍加扭曲的图片 , 然后让注册者回答图片中的内容 , 便能很轻易地将机器拒之门外 。

机器人|点击“我不是机器人”后,网站到底怎么知道你真的是人?
本文图片

听起来是不是很熟悉?这正是即使在现在我们也很常看到的验证码形式之一 。
2000年左右 , 这名学生路易斯·冯·安恩发明了验证码这一概念 , 他将其命名为CAPTCHA 。
CAPTCHA是Completely Automated Public Turing test to tell Computers and Humans Apart的简写 , 意为“全自动区分计算机和人类的图灵测试” 。
也是从这一刻开始 , 一场持续数十年的 , 人与机器之间 , 围绕着图灵测试的对抗开始了 。


说起这种最早出现 , 也是最常见的验证码形式 , 恐怕大多数人 , 都对它有过一些不太美好的回忆 。
最早出现的验证码 , 都是一些简单容易看懂的形式 。 人类可以很简单地分清上面的内容 。

机器人|点击“我不是机器人”后,网站到底怎么知道你真的是人?
本文图片

但随着机器识别图片能力的提高 , 验证码的难度也日益提升 。
有时它的难度甚至大到网友怀疑自己的程度 。

机器人|点击“我不是机器人”后,网站到底怎么知道你真的是人?
本文图片

为了避免被机器识别 , 验证码需要对图上的文字加以扭曲等视觉干扰 , 本质上是为了避免被机器认出来 。
但有时扭曲的程度也难到了人类 。

机器人|点击“我不是机器人”后,网站到底怎么知道你真的是人?
本文图片

“U”和“V”像是双胞胎兄弟 , “O”和“0”很难分清 , 这基本上是每个网友都碰见过的麻烦 。 但这些都只是初级问题 , 当中文验证码出现之后 , 人们面前的困难也就更多了 , 和英文、数字验证码不同的是 , 中文验证码更多是给人心理上的折磨 。
2017年 , 成都大学的一名大四女生 , 在网上准备报名考研 。 输完用户和密码后 , 她的屏幕上弹出两个字的中文验证码:
“别考”

机器人|点击“我不是机器人”后,网站到底怎么知道你真的是人?
本文图片

后官方表明“纯属巧合”
关于这种初级形态的验证码 , 类似的问题无时无刻在困扰着网民们 。 而验证码又对网络环境而言来说是个不可或缺的存在 。
每位网民都要在验证码上花费几秒时间 , 看似成本短暂 , 但叠加起来又是一个巨大的量级 。
根据统计数据 , 全球网民每天需要输入近2亿次验证码 , 每次需要花费十秒 。 算起来 , 全人类每天会在验证码上花费50万个小时 。
验证码最初的发明者 , 路易斯·冯·安恩发现这个事实后 , 深感浪费——毕竟时间就是金钱 。 而这50万小时的资源 , 就这样白白浪费掉了 。

机器人|点击“我不是机器人”后,网站到底怎么知道你真的是人?
本文图片

他现在是多邻国的创始人

有什么能利用这些时间的方法吗?路易斯·冯·安恩又有了想法:既然验证码需要让人类辨认图上的文字 , 那能不能让人类“顺带”帮忙辨认一下一些难以识别的书籍?
这听起来似乎是天方夜谭 , 但路易斯·冯·安恩通过一个简单的小方法实现了 。
他把验证码需要输入的单词改为两个 , 其中一个是已知答案的单词 , 另一个是摘自旧书或手稿中的单词 。

机器人|点击“我不是机器人”后,网站到底怎么知道你真的是人?
本文图片

已知答案的单词是单纯的验证码 , 如果用户成功输入 , 那就已经通过了测试 。

机器人|点击“我不是机器人”后,网站到底怎么知道你真的是人?
本文图片

于此同时 , 这也意味着这名用户不是瞎打的字 。 那么用户所辨认的另一个截取自古书籍的单词的内容 , 也将被记录为有效答案 。 如果有3位用户对一个单词给出同样的答案 , 那么该字就将得到校验 。
你看似是在输入验证码 , 其实是在帮助翻译古书籍上的内容 。
这个新的验证码机制(reCaptcha)很快被各大网站利用 , 随后被谷歌收购 。 每天大约有4000万个单词就这样被辨认出来 , 这个新的验证码系统 , 靠着无穷无尽的免费人力资源 , 每年能读出数十万本书 。
这是验证码大战的另一次升级:人类创造脚本来牟利 , 脚本让人类在验证码上浪费无数时间成本 , 而聪明的人类又把这份成本有效的利用了 。
当然 , 这并不意味着这场斗争的停止 。


看图识字型验证码 , 仅仅维持了一段时间的互联网和平 。 验证码农场的诞生 , 开始带来一些改变 。
所谓验证码农场 , 就是一些专门来人工识别验证码的工作室 。 它的原理非常简单:“农场主”雇佣大量廉价人力资源 , 这些人坐在电脑前 , 无间断地输入从各地发来的需要辨认的验证码 。
这种质朴的方式的确扰乱了大环境 , 但带来的改变并没有那么致命 。
真正的变化 , 还是起于机器识别能力的日益提升 。 随着技术逐步升级 , 原本对于机器来说难以辨认的扭曲验证码 , 已经不再是一个天大的难题 。

机器人|点击“我不是机器人”后,网站到底怎么知道你真的是人?
本文图片

在2014年 , 谷歌发布新的研究成果 , 一个专门用来解读扭曲验证码内容的算法 。
最后测试的结果中 , 机器解读验证码成功率99.8% , 而人类的成功率 , 是33% 。
在绝对的技术面前 , 人力再一次落败 。 但这当然不是验证码的陌路 。
2014年 , Google发布了新一代验证码技术 , 他们将其称为:“No CAPTCHA reCAPTCHA ”——“没有验证码的验证码” 。
这个没有验证码的验证码十分简单 , 只需要你勾选一个按钮 , 来“证明”自己不是机器人 。
这就是如今我们常常看见的“我不是机器人” 。

机器人|点击“我不是机器人”后,网站到底怎么知道你真的是人?
本文图片

“我不是机器人”看起来简单方便 , 只需用户轻轻一点 。 但背后的逻辑要比普通验证码复杂许多 。
当你点击“我不是机器人”时 , Google将会分析你的各种行为 , 包括点验证码前、点验证码时、点验证码后的动作 , 来判断你是不是人类 。
它也会收集一些你的数据 , 比如指针移动速率 , 当前IP , 是否使用插件 , 页面使用时间 , 进行过多少次点击……

机器人|点击“我不是机器人”后,网站到底怎么知道你真的是人?
本文图片

如果你展现出来的行为 , 都符合一个人类的标准 , 那网页就会放行 。
基本上可以这样说:这是用一小部分隐私换来的快捷 。
而且有意思的是 , 这种测试对于真正的(物理)机器人来说反倒不太有效 。

机器人|点击“我不是机器人”后,网站到底怎么知道你真的是人?
本文图片

当然 , 有时Google也无法单纯从你的行为来确认你是否为人类 , 而这时就会出现图片测试 , 要求用户选择图片中出现的XX 。
这种也是当下比较常见的一种验证码形式 , 同时也遭人吐槽最多 。
比如说 , 图片测试中要求辨认的物体 , 总是很刚好地超出选项框一点点 , 令人左右为难 。

机器人|点击“我不是机器人”后,网站到底怎么知道你真的是人?
本文图片

“选出图片中的汽车”往往是最难的一项 。

机器人|点击“我不是机器人”后,网站到底怎么知道你真的是人?
本文图片

选交通信号灯也常常让用户感到无从下手 。

机器人|点击“我不是机器人”后,网站到底怎么知道你真的是人?
本文图片

有时图片里根本不会有要求辨认的物体:

机器人|点击“我不是机器人”后,网站到底怎么知道你真的是人?
本文图片

基本上每个网民 , 都曾被这种类型的验证码折磨过几回 。 也让“选出图片中的xx”顺利成为了一种梗图 。

机器人|点击“我不是机器人”后,网站到底怎么知道你真的是人?
本文图片


机器人|点击“我不是机器人”后,网站到底怎么知道你真的是人?
本文图片

如果你有幸曾在12306上购买过车票 , 应该也能理解这种痛苦 。 自2015年开始 , 12306上线了新的图片验证码 , 自此让所有买票人叫苦连天 。

机器人|点击“我不是机器人”后,网站到底怎么知道你真的是人?
本文图片

【机器人|点击“我不是机器人”后,网站到底怎么知道你真的是人?】据官方统计 , 能一次性输入对12306验证码 , 只有8% 。

机器人|点击“我不是机器人”后,网站到底怎么知道你真的是人?
本文图片

脚本越来越厉害 , 验证码越变越复杂 , 这似乎是一个无解的循环……
由人们创造的 , 日益提升的机器算法 , 和同样出自于人类之手的脚本相互抗衡 , 最终诞生的时间成本 , 似乎还是要人类自己来承担 。



最近这两年 , Google又推出了新一代验证码 reCaptcha v3 。
而reCaptcha v3 , 其实也不用再被称之为“验证码”了 , 因为它并不需要用户做出任何证据来“证明”自己是个人类 。
它会在网站后台自动记录使用者在网站中浏览的行为特征 , 随后根据这些记录来给用户打分 , 当用户的“非人”操作足够多之后 , 就会被判定为机器人 。
这项技术如今并没有被大面积使用 。 但对验证码的发展来说 , 似乎是个较好的方向 。 但它必然也是有代价的 , 比如隐私……
截至目前来看 , 这场人与机器之间 , 围绕着图灵测试的对抗 , 仍未有个明确的局势 。
或许在技术更加发达的未来 , 如何证明自己是个人类 , 对于人类而言将变成更难的一个问题 。

机器人|点击“我不是机器人”后,网站到底怎么知道你真的是人?
本文图片


*本文转载自微信公众号“地球人研究报告” , 外星小姨给你讲述地球上的迷惑人类和怪奇科学 。
编辑:Watson

    推荐阅读