注冊(cè)賬號(hào)、找回密碼、信息驗(yàn)證……在互聯(lián)網(wǎng)世界免不了用到驗(yàn)證碼。其中,滑動(dòng)圖塊驗(yàn)證碼只需要簡(jiǎn)單一滑,就能完成驗(yàn)證。這么簡(jiǎn)單的滑動(dòng)驗(yàn)證碼,是怎么區(qū)分出人類和機(jī)器人的呢?
2023年的一項(xiàng)研究顯示,在破解各種類型驗(yàn)證碼的速度和準(zhǔn)確度上,機(jī)器人的表現(xiàn)幾乎都優(yōu)于人類。最簡(jiǎn)單的點(diǎn)擊識(shí)別,人類最快需要3.1秒,準(zhǔn)確率最高為85%,而機(jī)器人只需1.4秒就能通過(guò),且準(zhǔn)確率高達(dá)100%。扭曲文本的識(shí)別,人類最快需要9秒,準(zhǔn)確率最高也不過(guò)84%,而機(jī)器人不到1秒就能完成,準(zhǔn)確率為99.8%。對(duì)于難度較大的圖片驗(yàn)證,機(jī)器人的速度雖然稍有下降,但還是要比人類的快一些,準(zhǔn)確度上也與人類的相當(dāng)。而完成滑動(dòng)驗(yàn)證的時(shí)間,相比機(jī)器人花費(fèi)的5.3秒,人類花的時(shí)間也多得多,平均是28~30秒。
既然和機(jī)器人比聰明比不過(guò),科學(xué)家們另辟蹊徑,選擇和機(jī)器人比“蠢”。
從表面上看,滑動(dòng)驗(yàn)證碼的驗(yàn)證方式是“滑塊是否被正確拖放到缺口處”,實(shí)際上其校驗(yàn)的信息是“拖放軌跡是否符合真實(shí)用戶的行為特征”,因此有時(shí)滑塊和缺口雖沒(méi)有對(duì)齊,也能夠驗(yàn)證成功。
對(duì)機(jī)器人來(lái)說(shuō),模擬鼠標(biāo)畫出直線并不難,難的是模擬真實(shí)用戶的拖放軌跡。
人類難以快速地畫出規(guī)定長(zhǎng)度的完美直線,在移動(dòng)滑塊的過(guò)程中會(huì)手抖、速度變慢,因此呈現(xiàn)出的光標(biāo)軌跡也會(huì)發(fā)生無(wú)規(guī)律的抖動(dòng)。這種無(wú)規(guī)律性正是程序設(shè)定下的機(jī)器人難以模仿和出現(xiàn)的。所以,一旦滑塊的移動(dòng)速度又快又均勻,用戶就可能被認(rèn)定為是機(jī)器人,無(wú)法通過(guò)驗(yàn)證。
除了“手抖”,注意力有限、反應(yīng)延遲也是人類在滑動(dòng)驗(yàn)證過(guò)程中體現(xiàn)出獨(dú)特行為特征的原因。在背景圖片內(nèi)容過(guò)多的情況下,既要確定缺口的位置,又要觀察滑塊的運(yùn)動(dòng)狀態(tài),注意力會(huì)被分散,加之手、眼、腦協(xié)調(diào)能力有限,導(dǎo)致人類畫出的線條是抖動(dòng)、扭曲的。
還有一個(gè)原因是,人類的手、眼、腦信號(hào)反饋系統(tǒng)有延遲。從眼睛觀察到光標(biāo)偏離路線,發(fā)出修正信號(hào),到大腦識(shí)別到信號(hào)并命令肌肉做出反應(yīng),這個(gè)過(guò)程中存在神經(jīng)傳導(dǎo)信號(hào)帶來(lái)的時(shí)間延遲。人類雖然能夠通過(guò)后天訓(xùn)練提高反應(yīng)速度,但上升空間有限。
除了滑動(dòng)圖塊,類似的驗(yàn)證方式還有旋轉(zhuǎn)圖片、手勢(shì)軌跡驗(yàn)證等,其本質(zhì)與滑動(dòng)驗(yàn)證相同。這些驗(yàn)證碼,通過(guò)運(yùn)用人類的行為特征,讓機(jī)器人難以精確模仿,既安全又不容易誤判。
看到這里,下次在完成滑動(dòng)驗(yàn)證后,得到“打敗99%的人”的夸獎(jiǎng)時(shí),希望你還能感到開(kāi)心:這起碼說(shuō)明機(jī)器人目前還沒(méi)辦法完全取代人類。
(逸 士摘自微信公眾號(hào)“壹讀”,楊向宇圖)