编辑导语:访问网站时最荒谬的是证明自己不是机器人的验证码。本文简要分析了为什么会有验证码,以及未来是否会有越来越多的人摆脱这些验证码。一起看一下吧。
当你在电脑前,为了买一张期待已久的演出票,点击鼠标热情购买的时候,电脑突然跳出验证码输入框。
请输入中间图片上的字母.这个字呢?
-拉里
这是在抢票还是在测视力!谁能想到努力半天的结果输给了验证码。如果这个验证码读得这么痛快,就无法理解了,更令人困惑的是照片选择。让我挑选所有包含汽车的照片。这块占了一点。我到底该不该选择?(锡德比舍尔斯,Northern Exposure)
好像是折磨近视的人!西吉。
在这种荒谬的验证码中,被“气得笑”的人直接填满了嘲笑技术,整理了不少梗图。你们这些验证码不是想让我难堪吗?有能力的话要亲自收拾这些!
乱七八糟,解决数学问题,甚至能让别人选择代码中的bug吗?-devrant.com
最近有一家关于烦人验证码的公司!苹果在今年的开发者大会上提到了新系统的功能:自动验证。他们希望系统自动通过验证码验证,而不是人为操作。这么多年过去了,我们终于可以告别验证码了吗?
iOS16测试版的功能,按作者分类的图片
第一,你不是机器人吧?
验证码很难。这件事只要自己的全名就能体现出来。2000年,来自卡内基梅隆大学的一群医生制作了CAPTCHA。该字母表示“completely automated public turing test to tell computers and humans apart(完全自动区分计算机和人类的公开调谐测试)”。这是一个听起来很高级的测试,落到用户手里的就是“验证码输入”。
但是一开始,这个验证码不是为难人类,而是想为难机器人。网络上总是充斥着机器人,这些机器人本质上是一行自动执行的计算机代码。此代码可以在其他网站上注册批量帐户。此后,机器人账户可以四处发布垃圾信息、自动结算表、甚至攻击网站。
手动审查很难快速越过重复的代码,因此网站需要有效的方法来识别机器人和实物。验证码成为了理想的方案。
cn-i-tjoges91tu/TAcHD4mCLYQXPz?_iz=31825&from=ar;x-expires=1705597403&x-signature=BtSsiRO%2Bl3Er0wfSZ2bUVRGjgZA%3D&index=6" width="460" height="537"/>早期的验证码一般通过扭曲正常的文字或者给它们加上一些干扰的线条,来区分机器人和真人。这种简单的变化对于人类阅读而言不成问题,但对于只能识别标准文字的机器人来说,却是一个十足的难题。
人类就这样岁月静好了一阵子,可机器人却越来越“聪明”。随着深度学习技术进一步发展,机器人可以轻松地识别这些扭曲的文字。这样的恶性循环导致用以验证的文字也变得越来越难。
怎么才能造出机器人铁定看不懂的词呢?
卡内基梅隆大学的研究团队这时又想了一个好方法:用AI扫描几本旧书,那些扫不出来的单词不就是好的验证码素材了吗?于是,这些AI无法识别的单词和另一个已经确定的单词被一起放入了验证码框中。当你输入这两个单词的时候,如果已经确定的单词输入正确,系统就会偏向于判定另一个词是有效的。
验证码,你没事吧?丨webadic
这样的方法不仅阻止了机器人,还让人类在不知不觉中干了份外包工作:当超过一定人数输入这个AI无法识别的单词后,单词就会被确认并收回,从而完成旧书的电子化。
后来谷歌收购了这个项目,把它用在了谷歌图书和谷歌街景等图片的识别中。不过,比起程序生成的简单变形字符,人类想要识别这些AI都看不出来的模糊书籍字符和图片,难度变得更大了。
请选择图中所有的麦芬面包……丨memezila.com
二、满世界都恨验证码
不论是文字识别还是图片选择,这些复杂恼人的验证码都成了正常人类上网的一种阻碍。
谷歌安全博客下,评论区的人认为验证码终将消失。因为这些“狗屎”阻碍了正常用户在评论区留言。
2012年的一项调查报告显示,超过90%的人都认为使用这些验证码有点困难或是非常困难。有人不满于此,甚至成立了验证码艺术小组来为离谱的验证码作画。
验证码sconce killed直译为“烛台被杀”,用户为此作画(?)丨prodlly/reddit
这些验证码还惹到了一些“无辜人士”。有些人为了攻破这些AI难以识别验证码,将验证码分发到色情、游戏等网站上,要求用户在看到详细内容之前先输入验证码。用户在不知情的情况下,帮助别人“破解”了验证码。
一个虚假验证码出现在解密游戏上的例子丨参考文献[11]
不仅用户反感,网站也对验证码非常头痛。一项研究邀请了210位参与者,超过一半的人需要输入两次甚至两次以上验证码才能输入正确。这对网站来说简直就是灾难:用户体验这么差,得流失多少用户啊!
为了解决引起众怒的验证码,厂商也一直在努力。谷歌在新版的验证码系统中,使用了点击按钮代替之前的辨字和辨图。你只需要点击一下“我不是机器人”的选框,系统就可以根据你的操作信息验证你是不是机器人。滑动验证、拼图验证等方式,也会通过分析用户拖拽行为来判断是否是机器人操作。
你以为只点了个按钮,但其实系统收会整合浏览行为和鼠标路径等信息,综合判断你“是不是人”。丨Google Developers
隐式验证码也不断在发展,系统会通过收集用户的操作行为,自动对使用者进行综合评定。不过人们也对隐私性产生了疑问:我在浏览网页时,系统到底要收集多少我的信息?
苹果这次更进一步,推出了私人访问令牌(Private Access Tokens),计划直接在使用手机这个阶段就完成真人判断:通过密码或生物识别解锁了手机、打开了浏览器、又精准输入了网站……这些足以说明是个真人在使用手机了。当完成判定后,系统就会自动向网站发送“真人通知”,从而自动完成相关验证。
苹果与合作的科技公司计划将相关的标准进行开源,也就是说,不只是苹果用户,或许未来越来越多的人都可以摆脱这些烦人的验证码了!
参考文献:
[1]ReplaceCAPTCHAswithPrivateAccessTokensWWDC22.
[2]This new iOS 16 feature will rid the web of pesky CAPTCHA verification puzzles.
[3]CAPTCHA: Telling Humans and Computers Apart Automatically.
[4] Human or Computer? Take This Test.
[5]Are you a robot? Introducing “No CAPTCHA reCAPTCHA”.
[6]reCAPTCHA protects your website from fraud and abuse without creating friction.
[7]Moradi, M., & Keyvanpour, M. (2015). CAPTCHA and its Alternatives: A Review.Security and Communication Networks,8(12), 2135-2156.
[8]Screen Reader User Survey #4 Results.
[9]CaptchaArt – Reddit.
[10]Fidas, C. A., Voyiatzis, A. G., & Avouris, N. M. (2011, May). On the necessity of user-friendly CAPTCHA. InProceedings of the SIGCHI conference on human factors in computing systems(pp. 2623-2626).
[11]Kang, L., & Xiang, J. (2009, December). CAPTCHA phishing: A practical attack on human interaction proofing. InInternational Conference on Information Security and Cryptology(pp. 411-425). Springer, Berlin, Heidelberg.
[12]CAPTCHA Effectiveness.
[13]Private Attestation Token:使用开源标准消灭 iPhone 和 Mac 上的验证码.
作者:Owl;编辑:窗敲雨;微信公众号:果壳(ID:Guokr42)
原文链接:
本文由@果壳 授权发布于人人都是产品经理,未经许可,禁止转载。
题图来自Unsplash,基于CC0协议