这天,准备考研许久的你,踌躇满志地打开了考研报名网站。
然而,还没来得及一展才学,你就被卡在了网站登录的验证码上。重叠在一起的字体,布满马赛克的背景,让你输了几次验证码都没有输对。
你屡败屡战,但验证码上出现的“骉叕犇羴”,又瞬间让你怀疑自己的学识水平。
逼疯你的验证码,为什么变得越来越复杂?
折磨人的验证码
这个究竟是o还是0?是1还是l?
每一次输验证码时,你都会忍不住发出这样的疑问。它那扭曲的形状,粘连在一起的字符,雪花状的背景,常让你陷入自己是不是眼瞎的怀疑。
然而,这种字符验证码,还只是日常的基础题,高难度的题目,往往出现在春节这样的特殊时刻。
登入12306时要选择的图片验证码,就曾是每个在春节抢过火车票的人的噩梦。
你要在一堆高糊的图片中,挑选出各种“犹抱琵琶半遮面”的物体。有时运气不好,碰上排风机、发电机等超出生活常识之外的东西,你就只能被困在一次又一次的选择错误中,眼睁睁看着车票越来越少。
有些验证码更是不满足只考你的眼力,还要测一下你的智商。在购票网站抢演唱会门票时,不仅要懂点文学典故,读过四大名着,末了,还要附带让你算一道数学题。
屏幕上的每一个验证码,似乎都在提醒你:没点文化,就别跟人学着追星了吧。
美国斯坦福大学的研究指出,验证码已经过难。
研究者们搜集了8500个多种形式的验证码让受试者辨认,发现他们在判断验证码时,平均要花9.8秒,且同时让三个人辨别同一个验证码,三人间的一致率只有71%。如果是听声音辨识的验证码,准确率会更低,只有31.2%。
验证码疯狂内卷,而你只想砸鼠标。
验证码的进化,也是被逼无奈
其实,验证码也不是一开始就这么复杂。
在验证码被发明前,许多免费的邮箱网站常遭受恶性外挂软件的攻击。例如在2000年时,雅虎邮箱中曾有大量用机器注册的马甲账号,他们会给用户发大量的垃圾、诈骗邮件。
为了解决这个问题,程序开发人员试图找到一种登录验证方式,能判断出正在操作的究竟是人还是机器。
Alta Vista的工程师们便找到了有效的方式。他们发现,在当时,即使是配备了最先进的光学字符识别系统的电脑,也很难正确识别出印在纸本上的字,尤其当字符被拉伸、扭曲时,电脑就更难辨认。
然而,这对于人类来说却很容易。我们从小就一直在接受阅读训练,即使纸上的字歪歪斜斜,部分被遮挡,也不影响我们对整体的判读。你作业簿上的鬼画符,老师们也能细心辨认;医生写的天书病历,照样有人能破译。
扭曲的字符,便成了最常用的登录验证方式,并有了“验证码”(Captcha)这个正式名字。程序员们会预先设定一个字符库,库中的字符会排列组合成字符串,再根据随机变量被扭曲、涂抹,定位在随机背景上,从而成了我们所见的验证码。
这些字符谜题,确实有效减少了网站中的垃圾邮件,到2001年,“ADD-URL”邮箱中的垃圾邮件便减少了95%。
但随着电脑光学字符识别技术的不断发展,这种形式的验证码已经越来越难将外挂机器挡在门外。在2014年Google工程师的测试中,即使是最难的扭曲字符类验证码,电脑识别的准确率也高达99.8%。
为了挡住越来越聪明的机器,验证码因此被迫进化,出现了图形验证码、逻辑验证码、语音验证码,甚至还有把几种混合而成的究极形态。
不过,你受的每一次苦,也不是白费功夫。你在十秒内减少的脑细胞,其实都转移到了一个AI身上。
我们辨识的一些验证码字符,来自那些年代久远的报纸、典籍,这些手写带有污点的字迹,难以被电脑辨识,程序员便将这些字符加入到验证码中。
这样的验证码通常由两段组成,前一段是已经成功数字化的单词,另一段则是不知道正确答案的典籍字符。只要用户答对第一段,第二段的判读结果也会被记录下,再比对多个用户的辨识结果,得出结论。
不只是字符类验证码,Google让用户辨认验证码图片中的“斑马线”“红绿灯”,也是在加强机器人的图片辨识能力,并将机器学习成果运用在自动驾驶上。
我们就陷入了这样一个循环怪圈:输入越多验证码,AI的学习能力就越强,技术的进步让更多验证码被破解,而我们就要被迫再次设计出更复杂的验证码……
未来,验证码可能会消失
验证码似已背离了初衷,成了一个难住了人类,却难不住机器的摆设。
越来越多的科技公司也意识到了这个问题,开始试图简化繁杂的验证码。
比如,你现在登录12306时,就不用在白百何中找王珞丹,而只用拖动滑块。
这样的验证码不仅是在评判你操作的结果,更多的是记录并分析你操作时的行为。电脑观察你移动滑块的速度变化,就能认出你是人类。
你颤动的鼠标,对准滑块时的慢悠悠,甚至可能还要重复左右摆动几次才能对准——都是只属于人类的笨拙。
并不是它真的有读心术,而是在你勾选后,它会自动分析你在浏览该网页时的行为,包括鼠标的移动轨迹、浏览的速率等等,借此分析出这些行为是否属于正常人类的操作。
至此,在这场人类与机器的比赛中,我们已不再试图证明自己更聪明,而是转向另一种策略:那不统一的行为轨迹、不精确的答案、笨手笨脚的操作,才是我们生而为人的特征啊。
不过,这样的隐性验证码也不是万灵丹药。在它出现后不久,加拿大多伦多大学的学者便发表了论文,声称他们的机器人可以模仿人类的操作行为,顺利通过隐性验证码的测试。
1950年,着名计算机科学家图灵提出了一个思想实验:人类提出一系列问题,机器给出答案,再由人类判断对方是否为机器。
如果有30%以上的人将机器误判成人类,那么这个机器就被认为具有人类智能。
但70年过去,人类陷入了完全相反的境地——一个个验证码,正是机器抛给人类的问题:“你是人类吗?”
这一次,审判权握在机器手中,而被验证码难住的人类,仍在用力呐喊:我不是机器人。