當(dāng)你守在電腦前,為買(mǎi)到一張期待已久的演出票摩拳擦掌,正打算點(diǎn)擊鼠標(biāo)激情搶購(gòu)時(shí),電腦突然跳出來(lái)一個(gè)驗(yàn)證碼輸入框……
▲ 請(qǐng)輸入中間圖片里的字母…… 你這字母呢?丨 larrysworld.com
這是在搶票還是在測(cè)視力啊!誰(shuí)能想到努力了半天結(jié)果敗給了驗(yàn)證碼。這驗(yàn)證碼要是像這樣痛快地讓人看不懂也就罷了,更讓人迷惑的是圖片選擇。讓我選出所有包含汽車的圖片,那這一塊占了一點(diǎn)點(diǎn),我到底該不該選上?
▲ 我看你是在欺負(fù)近視的人!丨 apify.com
被這些離譜驗(yàn)證碼“氣笑了”的人,把嘲諷技能直接拉滿,整出了不少梗圖。你們這些驗(yàn)證碼不是想難為我嗎?有本事直接整這些??!
▲ 一團(tuán)亂麻、解數(shù)學(xué)題,甚至可以讓別人選擇代碼里的 bug?丨 devrant.com
最近,有公司對(duì)煩人的驗(yàn)證碼出手了!蘋(píng)果在今年的開(kāi)發(fā)者大會(huì)上,提到了新系統(tǒng)里的一個(gè)功能:自動(dòng)驗(yàn)證。他們想讓系統(tǒng)代替人為操作,自動(dòng)通過(guò)驗(yàn)證碼核驗(yàn)。這么多年過(guò)去了,我們終于能和驗(yàn)證碼說(shuō)拜拜了嗎?
▲ iOS16 測(cè)試版中的功能丨作者供圖
你不是機(jī)器人吧?
驗(yàn)證碼很“難”這件事,光是從自身的全名就能體現(xiàn)出來(lái)。2000 年,來(lái)自卡內(nèi)基梅隆大學(xué)的一群博士創(chuàng)造了 CAPTCHA。這一串字母代表了全自動(dòng)區(qū)分計(jì)算機(jī)和人類的公開(kāi)圖靈測(cè)試 (Completely Automated Public Turing test to tell Computers and Humans Apart)。這個(gè)聽(tīng)起來(lái)非常高端的測(cè)試,落到用戶的手里,就是“輸入驗(yàn)證碼”。
不過(guò)最開(kāi)始,這個(gè)驗(yàn)證碼并不想為難人類,而是想為難機(jī)器人。互聯(lián)網(wǎng)上始終充滿了機(jī)器人,而這些機(jī)器人本質(zhì)上是一行行自動(dòng)運(yùn)行的計(jì)算機(jī)代碼。這些代碼可以在不同的網(wǎng)站注冊(cè)海量賬戶。之后,機(jī)器人賬戶便可以四處發(fā)布垃圾信息、自動(dòng)刷票、甚至攻擊網(wǎng)站。
人工審核很難能快過(guò)重復(fù)運(yùn)行的代碼,所以網(wǎng)站需要一個(gè)有效的方法來(lái)識(shí)別機(jī)器人和真人。驗(yàn)證碼成了一個(gè)理想方案。
早期的驗(yàn)證碼一般通過(guò)扭曲正常的文字或者給它們加上一些干擾的線條,來(lái)區(qū)分機(jī)器人和真人。這種簡(jiǎn)單的變化對(duì)于人類閱讀而言不成問(wèn)題,但對(duì)于只能識(shí)別標(biāo)準(zhǔn)文字的機(jī)器人來(lái)說(shuō),卻是一個(gè)十足的難題。
人類就這樣歲月靜好了一陣子,可機(jī)器人卻越來(lái)越“聰明”。隨著深度學(xué)習(xí)技術(shù)進(jìn)一步發(fā)展,機(jī)器人可以輕松地識(shí)別這些扭曲的文字。這樣的惡性循環(huán)導(dǎo)致用以驗(yàn)證的文字也變得越來(lái)越難。
怎么才能造出機(jī)器人鐵定看不懂的詞呢?卡內(nèi)基梅隆大學(xué)的研究團(tuán)隊(duì)這時(shí)又想了一個(gè)好方法:用 AI 掃描幾本舊書(shū),那些掃不出來(lái)的單詞不就是好的驗(yàn)證碼素材了嗎?于是,這些 AI 無(wú)法識(shí)別的單詞和另一個(gè)已經(jīng)確定的單詞被一起放入了驗(yàn)證碼框中。當(dāng)你輸入這兩個(gè)單詞的時(shí)候,如果已經(jīng)確定的單詞輸入正確,系統(tǒng)就會(huì)偏向于判定另一個(gè)詞是有效的。
▲ 驗(yàn)證碼,你沒(méi)事吧?丨 webadictos.com
這樣的方法不僅阻止了機(jī)器人,還讓人類在不知不覺(jué)中干了份外包工作:當(dāng)超過(guò)一定人數(shù)輸入這個(gè) AI 無(wú)法識(shí)別的單詞后,單詞就會(huì)被確認(rèn)并收回,從而完成舊書(shū)的電子化。
后來(lái)谷歌收購(gòu)了這個(gè)項(xiàng)目,把它用在了谷歌圖書(shū)和谷歌街景等圖片的識(shí)別中。不過(guò),比起程序生成的簡(jiǎn)單變形字符,人類想要識(shí)別這些 AI 都看不出來(lái)的模糊書(shū)籍字符和圖片,難度變得更大了。
▲ 請(qǐng)選擇圖中所有的麥芬面包…… 丨 memezila.com
滿世界都恨驗(yàn)證碼
不論是文字識(shí)別還是圖片選擇,這些復(fù)雜惱人的驗(yàn)證碼都成了正常人類上網(wǎng)的一種阻礙。
▲ 谷歌安全博客下,評(píng)論區(qū)的人認(rèn)為驗(yàn)證碼終將消失。因?yàn)檫@些“狗屎”阻礙了正常用戶在評(píng)論區(qū)留言。丨 Googleblog.com
2012 年的一項(xiàng)調(diào)查報(bào)告顯示,超過(guò) 90% 的人都認(rèn)為使用這些驗(yàn)證碼有點(diǎn)困難或是非常困難。有人不滿于此,甚至成立了驗(yàn)證碼藝術(shù)小組來(lái)為離譜的驗(yàn)證碼作畫(huà)。
▲ 驗(yàn)證碼 sconce killed 直譯為“燭臺(tái)被殺”,用戶為此作畫(huà)(?)丨 prodlly / reddit
這些驗(yàn)證碼還惹到了一些“無(wú)辜人士”。有些人為了攻破這些 AI 難以識(shí)別驗(yàn)證碼,將驗(yàn)證碼分發(fā)到色情、游戲等網(wǎng)站上,要求用戶在看到詳細(xì)內(nèi)容之前先輸入驗(yàn)證碼。用戶在不知情的情況下,幫助別人“破解”了驗(yàn)證碼。
▲ 一個(gè)虛假驗(yàn)證碼出現(xiàn)在解密游戲上的例子丨參考文獻(xiàn) [11]
不僅用戶反感,網(wǎng)站也對(duì)驗(yàn)證碼非常頭痛。一項(xiàng)研究邀請(qǐng)了 210 位參與者,超過(guò)一半的人需要輸入兩次甚至兩次以上驗(yàn)證碼才能輸入正確。這對(duì)網(wǎng)站來(lái)說(shuō)簡(jiǎn)直就是災(zāi)難:用戶體驗(yàn)這么差,得流失多少用戶?。?/p>
為了解決引起眾怒的驗(yàn)證碼,廠商也一直在努力。谷歌在新版的驗(yàn)證碼系統(tǒng)中,使用了點(diǎn)擊按鈕代替之前的辨字和辨圖。你只需要點(diǎn)擊一下“我不是機(jī)器人”的選框,系統(tǒng)就可以根據(jù)你的操作信息驗(yàn)證你是不是機(jī)器人。滑動(dòng)驗(yàn)證、拼圖驗(yàn)證等方式,也會(huì)通過(guò)分析用戶拖拽行為來(lái)判斷是否是機(jī)器人操作。
▲ 你以為只點(diǎn)了個(gè)按鈕,但其實(shí)系統(tǒng)會(huì)整合瀏覽行為和鼠標(biāo)路徑等信息,綜合判斷你“是不是人”。丨 Google Developers
隱式驗(yàn)證碼也不斷在發(fā)展,系統(tǒng)會(huì)通過(guò)收集用戶的操作行為,自動(dòng)對(duì)使用者進(jìn)行綜合評(píng)定。不過(guò)人們也對(duì)隱私性產(chǎn)生了疑問(wèn):我在瀏覽網(wǎng)頁(yè)時(shí),系統(tǒng)到底要收集多少我的信息?
蘋(píng)果這次更進(jìn)一步,推出了私人訪問(wèn)令牌(Private Access Tokens),計(jì)劃直接在使用手機(jī)這個(gè)階段就完成真人判斷:通過(guò)密碼或生物識(shí)別解鎖了手機(jī)、打開(kāi)了瀏覽器、又精準(zhǔn)輸入了網(wǎng)站…… 這些足以說(shuō)明是個(gè)真人在使用手機(jī)了。當(dāng)完成判定后,系統(tǒng)就會(huì)自動(dòng)向網(wǎng)站發(fā)送“真人通知”,從而自動(dòng)完成相關(guān)驗(yàn)證。
蘋(píng)果與合作的科技公司計(jì)劃將相關(guān)的標(biāo)準(zhǔn)進(jìn)行開(kāi)源,也就是說(shuō),不只是蘋(píng)果用戶,或許未來(lái)越來(lái)越多的人都可以擺脫這些煩人的驗(yàn)證碼了!
參考文獻(xiàn)
[1]ReplaceCAPTCHAswithPrivateAccessTokensWWDC22. https://developer.apple.com/videos/play/wwdc2022/10077/
[2]This new iOS 16 feature will rid the web of pesky CAPTCHA verification puzzles. https://9to5mac.com/2022/06/20/ios-16-bypass-captchas/
[3]CAPTCHA: Telling Humans and Computers Apart Automatically. http://www.captcha.net/
[4] Human or Computer? Take This Test. https://www2.eecs.berkeley.edu/Research/Projects/CS/vision/mori-nyt/page1.html
[5]Are you a robot? Introducing “No CAPTCHA reCAPTCHA”. https://security.googleblog.com/2014/12/are-you-robot-introducing-no-captcha.html
[6]reCAPTCHA protects your website from fraud and abuse without creating friction. https://www.google.com/recaptcha/about/
[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.
https://webaim.org/projects/screenreadersurvey4/#captcha/
[9]CaptchaArt - Reddit. https://www.reddit.com/r/CaptchaArt/
[10]Fidas, C. A., Voyiatzis, A. G., & Avouris, N. M. (2011, May). On the necessity of user-friendly CAPTCHA. In Proceedings 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. In International Conference on Information Security and Cryptology (pp. 411-425). Springer, Berlin, Heidelberg.
[12]CAPTCHA Effectiveness. https://blog.codinghorror.com/captcha-effectiveness/
[13] Private Attestation Token:使用開(kāi)源標(biāo)準(zhǔn)消滅 iPhone 和 Mac 上的驗(yàn)證碼. https://blog.cloudflare.com/ zh-cn / eliminating-captchas-on-iphones-and-macs-using-new-standard-zh-cn/
本文來(lái)自微信公眾號(hào):果殼 (ID:Guokr42),作者:Owl 編輯:窗敲雨
廣告聲明:文內(nèi)含有的對(duì)外跳轉(zhuǎn)鏈接(包括不限于超鏈接、二維碼、口令等形式),用于傳遞更多信息,節(jié)省甄選時(shí)間,結(jié)果僅供參考,IT之家所有文章均包含本聲明。