看似简单的点击背后,其实暗藏着很多信息传递,甚至包含你的隐私的泄露……
大部分人可能都被 Google 要求做过这样奇怪的保证:
「我不是机器人」。
只要你经常使用一些国外的网站,它就会隔三差五地弹出这个对话框,要求你点击来「声明」自己不是机器人。
以前这种「证明自己是人」的环节里,有很多让人不胜其烦的验证码,要么是一串扭曲的字符,要么是一堆支离破碎的图片让你辨认。但在这种最新的验证下,大部分情况下,只要你点击确认之后,网页就会成功放行。
这显然是一种更方便快捷的验证形式。但它同时也让一些用户陷入了迷惑:
「这究竟怎么判断我到底是不是机器人的?」
「难道是因为机器人不会撒谎?」
事实当然并非如此。
简单的点击背后,其实暗藏着很多信息传递,甚至包含你的隐私的暴露……
这个你已经可能见怪不怪的机器人测试背后,掩盖着的是十数年人机对抗的斗争史。
1
点击「我不是机器人」这一交互形式,本质上来说还是你在填验证码。
要解释这一点,我们就有必要回顾一下验证码的发展历程。
对于现在的用户而言,填写各类验证码已经必不可缺的技能之一。验证码只会耽误每位用户几秒钟的时间,但却能极大提升网络环境的「清净程度」。
如果没有它的存在,那你现在恐怕会遭受更多的垃圾邮件轰炸,信息骚扰。服务商也会面对泱泱脚本大军而感到崩溃……
就像 20 年前的互联网那样。
2000 年之前,验证码并不存在。那时的网络虽然并不发达,但已开始兴起,各类论坛和邮件服务商的涌现,拉开了网络交流时代的序幕,而与正向技术一同出现,当然还有种种恶意脚本。
垃圾邮件、评论、恶意信息随着脚本的出现开始漫天飞舞。雅虎作为 2000 年左右最为出名的网络服务商之一,深受其害——他们是互联网早期最重要的免费邮箱提供商,但面对脚本和海量垃圾邮件束手无策。于是雅虎便联系到了卡内基梅隆大学的计算机科学系来寻求帮助。
雅虎的主要需求是想「有效分清真人用户和机器脚本」。卡内基梅隆大学一名 21 岁的学生路易斯·冯·安恩(Luis Von Ahn)针对这个目的有了思路:要让注册的用户提供「证据」来证明自己是一个人类,例如做一些只有人类能做,而机器做不到的事情。
什么事情是在当时只有人类能做而机器做不到的?答案是阅读图片。
人类可以很轻松的读出图片中的信息,但当时的机器并没有这样的能力。如果通过程序来提供一些稍加扭曲的图片,然后让注册者回答图片中的内容,便能很轻易地将机器拒之门外。
听起来是不是很熟悉?这正是即使在现在我们也很常看到的验证码形式之一。
2000 年左右,这名学生路易斯·冯·安恩发明了验证码这一概念,他将其命名为 CAPTCHA。
CAPTCHA 是 Completely Automated Public Turing test to tell Computers and Humans Apart 的简写,意为「全自动区分计算机和人类的图灵测试」。
也是从这一刻开始,一场持续数十年的,人与机器之间,围绕着图灵测试的对抗开始了。
2
说起这种最早出现,也是最常见的验证码形式,恐怕大多数人,都对它有过一些不太美好的回忆。
最早出现的验证码,都是一些简单容易看懂的形式。人类可以很简单地分清上面的内容。
但随着机器识别图片能力的提高,验证码的难度也日益提升。
有时它的难度甚至大到网友怀疑自己的程度。
为了避免被机器识别,验证码需要对图上的文字加以扭曲等视觉干扰,本质上是为了避免被机器认出来。
但有时扭曲的程度也难到了人类。
「U」和「V」像是双胞胎兄弟,「O」和「0」很难分清,这基本上是每个网友都碰见过的麻烦。但这些都只是初级问题,当中文验证码出现之后,人们面前的困难也就更多了。
和英文、数字验证码不同的是,中文验证码更多是给人心理上的折磨。
2017 年,成都大学的一名大四女生,在网上准备报名考研。输完用户和密码后,她的屏幕上弹出两个字的中文验证码:
「别考」
后官方表明「纯属巧合」
关于这种初级形态的验证码,类似的问题无时无刻在困扰着网民们。而验证码又对网络环境而言来说是个不可或缺的存在。
每位网民都要在验证码上花费几秒时间,看似成本短暂,但叠加起来又是一个巨大的量级。
根据统计数据,全球网民每天需要输入近 2 亿次验证码,每次需要花费十秒。算起来,全人类每天会在验证码上花费 50 万个小时。
验证码最初的发明者,路易斯·冯·安恩发现这个事实后,深感浪费——毕竟时间就是金钱。而这 50 万小时的资源,就这样白白浪费掉了。
他现在是多邻国的创始人
有什么能利用这些时间的方法吗?路易斯·冯·安恩又有了想法:既然验证码需要让人类辨认图上的文字,那能不能让人类「顺带」帮忙辨认一下一些难以识别的书籍?
这听起来似乎是天方夜谭,但路易斯·冯·安恩通过一个简单的小方法实现了。
他把验证码需要输入的单词改为两个,其中一个是已知答案的单词,另一个是摘自旧书或手稿中的单词。
已知答案的单词是单纯的验证码,如果用户成功输入,那就已经通过了测试。
于此同时,这也意味着这名用户不是瞎打的字。那么用户所辨认的另一个截取自古书籍的单词的内容,也将被记录为有效答案。如果有 3 位用户对一个单词给出同样的答案,那么该字就将得到校验。
你看似是在输入验证码,其实是在帮助翻译古书籍上的内容。
这个新的验证码机制(reCaptcha)很快被各大网站利用,随后被谷歌收购。每天大约有 4000 万个单词就这样被辨认出来,这个新的验证码系统,靠着无穷无尽的免费人力资源,每年能读出数十万本书。
这是验证码大战的另一次升级:人类创造脚本来牟利,脚本让人类在验证码上浪费无数时间成本,而聪明的人类又把这份成本有效的利用了。
当然,这并不意味着这场斗争的停止。
3
看图识字型验证码,仅仅维持了一段时间的互联网和平。验证码农场的诞生,开始带来一些改变。
所谓验证码农场,就是一些专门来人工识别验证码的工作室。它的原理非常简单:「农场主」雇佣大量廉价人力资源,这些人坐在电脑前,无间断地输入从各地发来的需要辨认的验证码。
这种质朴的方式的确扰乱了大环境,但带来的改变并没有那么致命。
真正的变化,还是起于机器识别能力的日益提升。随着技术逐步升级,原本对于机器来说难以辨认的扭曲验证码,已经不再是一个天大的难题。
在 2014 年,谷歌发布新的研究成果,一个专门用来解读扭曲验证码内容的算法。
最后测试的结果中,机器解读验证码成功率 99.8%,而人类的成功率,是 33%。
在绝对的技术面前,人力再一次落败。但这当然不是验证码的陌路。
2014 年,Google 发布了新一代验证码技术,他们将其称为:「No CAPTCHA reCAPTCHA」——「没有验证码的验证码」。
这个没有验证码的验证码十分简单,只需要你勾选一个按钮,来「证明」自己不是机器人。
这就是如今我们常常看见的「我不是机器人」。
「我不是机器人」看起来简单方便,只需用户轻轻一点。但背后的逻辑要比普通验证码复杂许多。
当你点击「我不是机器人」时,Google 将会分析你的各种行为,包括点验证码前、点验证码时、点验证码后的动作,来判断你是不是人类。
它也会收集一些你的数据,比如指针移动速率,当前 IP,是否使用插件,页面使用时间,进行过多少次点击……
如果你展现出来的行为,都符合一个人类的标准,那网页就会放行。
基本上可以这样说:这是用一小部分隐私换来的快捷。
而且有意思的是,这种测试对于真正的(物理)机器人来说反倒不太有效。
当然,有时 Google 也无法单纯从你的行为来确认你是否为人类,而这时就会出现图片测试,要求用户选择图片中出现的 XX。
这种也是当下比较常见的一种验证码形式,同时也遭人吐槽最多。
比如说,图片测试中要求辨认的物体,总是很刚好地超出选项框一点点,令人左右为难。
「选出图片中的汽车」往往是最难的一项。
选交通信号灯也常常让用户感到无从下手。
有时图片里根本不会有要求辨认的物体:
基本上每个网民,都曾被这种类型的验证码折磨过几回。也让「选出图片中的 xx」顺利成为了一种梗图。
如果你有幸曾在 12306 上购买过车票,应该也能理解这种痛苦。自 2015 年开始,12306 上线了新的图片验证码,自此让所有买票人叫苦连天。
据官方统计,能一次性输入对 12306 验证码,只有 8%。
脚本越来越厉害,验证码越变越复杂,这似乎是一个无解的循环……
由人们创造的,日益提升的机器算法,和同样出自于人类之手的脚本相互抗衡,最终诞生的时间成本,似乎还是要人类自己来承担。
4
最近这两年,Google 又推出了新一代验证码 reCaptcha v3。
而 reCaptcha v3,其实也不用再被称之为「验证码」了,因为它并不需要用户做出任何证据来「证明」自己是个人类。
它会在网站后台自动记录使用者在网站中浏览的行为特征,随后根据这些记录来给用户打分,当用户的「非人」操作足够多之后,就会被判定为机器人。
这项技术如今并没有被大面积使用。但对验证码的发展来说,似乎是个较好的方向。但它必然也是有代价的,比如隐私……
截至目前来看,这场人与机器之间,围绕着图灵测试的对抗,仍未有个明确的局势。
或许在技术更加发达的未来,如何证明自己是个人类,对于人类而言将变成更难的一个问题。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.