滑动验证真的简单吗

作者: 敏敏 秋秋

滑动验证真的简单吗0

注册账号、找回密码、信息验证……在互联网世界免不了用到验证码。其中,滑动图块验证码只需要简单一滑,就能完成验证。这么简单的滑动验证码,是怎么区分出人类和机器人的呢?

2023年的一项研究显示,在破解各种类型验证码的速度和准确度上,机器人的表现几乎都优于人类。最简单的点击识别,人类最快需要3.1秒,准确率最高为85%,而机器人只需1.4秒就能通过,且准确率高达100%。扭曲文本的识别,人类最快需要9秒,准确率最高也不过84%,而机器人不到1秒就能完成,准确率为99.8%。对于难度较大的图片验证,机器人的速度虽然稍有下降,但还是要比人类的快一些,准确度上也与人类的相当。而完成滑动验证的时间,相比机器人花费的5.3秒,人类花的时间也多得多,平均是28~30秒。

既然和机器人比聪明比不过,科学家们另辟蹊径,选择和机器人比“蠢”。

从表面上看,滑动验证码的验证方式是“滑块是否被正确拖放到缺口处”,实际上其校验的信息是“拖放轨迹是否符合真实用户的行为特征”,因此有时滑块和缺口虽没有对齐,也能够验证成功。

对机器人来说,模拟鼠标画出直线并不难,难的是模拟真实用户的拖放轨迹。

人类难以快速地画出规定长度的完美直线,在移动滑块的过程中会手抖、速度变慢,因此呈现出的光标轨迹也会发生无规律的抖动。这种无规律性正是程序设定下的机器人难以模仿和出现的。所以,一旦滑块的移动速度又快又均匀,用户就可能被认定为是机器人,无法通过验证。

除了“手抖”,注意力有限、反应延迟也是人类在滑动验证过程中体现出独特行为特征的原因。在背景图片内容过多的情况下,既要确定缺口的位置,又要观察滑块的运动状态,注意力会被分散,加之手、眼、脑协调能力有限,导致人类画出的线条是抖动、扭曲的。

还有一个原因是,人类的手、眼、脑信号反馈系统有延迟。从眼睛观察到光标偏离路线,发出修正信号,到大脑识别到信号并命令肌肉做出反应,这个过程中存在神经传导信号带来的时间延迟。人类虽然能够通过后天训练提高反应速度,但上升空间有限。

除了滑动图块,类似的验证方式还有旋转图片、手势轨迹验证等,其本质与滑动验证相同。这些验证码,通过运用人类的行为特征,让机器人难以精确模仿,既安全又不容易误判。

看到这里,下次在完成滑动验证后,得到“打败99%的人”的夸奖时,希望你还能感到开心:这起码说明机器人目前还没办法完全取代人类。

(逸 士摘自微信公众号“壹读”,杨向宇图)