2024年是时候抛弃验证码了

安全 应用安全
在计算机科学领域,人类基础计算(Human-based Computation, HBC)与社交媒体是主要研究领域之一。验证码(CAPTCHA)就是HBC的一个实际应用,最初的概念是兴奋人心的。根据维基百科的描述,HBC是一种计算机科学技术,它通过将某些步骤外包给人类来执行机器的功能,通常以微工作(microwork)的形式。

如果不用解决验证码,每年可以建造77600所房子。但年复一年,验证码仍然在浪费我们的时间和金钱。2024年是一个完美的年份,彻底摆脱验证码。

验证码和打印机是一回事

前几天,我在线办理了一些拖延已久的事务。其中之一是取消不再需要的新闻订阅。这是那天的最后一个任务,我只剩下5分钟来完成它。我用邮件中提供的链接前往公司网站。

要取消订阅,我需要登录账户并勾选一个复选框以停用电子邮件订阅。理论上这是一个五分钟就能完成的完美任务。

但在登录页面,一个验证码迎面而来,用来验证我是人类。因为我很急,所以我快速点击所有显示人行道的照片。不幸的是,我漏掉了一个。于是我开始快速点击照片,以便在去牙医的约定之前完成这最后一个任务。

令我惊讶的是,越来越多的照片出现,尽管我不断点击人行道,我还是无法通过验证。五分钟过去了,我只好放弃。

这几乎就像打印机一样,验证码似乎能感觉到你很急迫的时候。

验证码的诞生和发展历程颇具戏剧性

在计算机科学领域,人类基础计算(Human-based Computation, HBC)与社交媒体是主要研究领域之一。验证码(CAPTCHA)就是HBC的一个实际应用,最初的概念是兴奋人心的。根据维基百科的描述,HBC是一种计算机科学技术,它通过将某些步骤外包给人类来执行机器的功能,通常以微工作(microwork)的形式。

验证码的诞生很快就成为HBC的实际应用之一。从一方面来看,人们在照片上分类物品,这对于训练AI执行相同任务非常有用。

另一方面,验证码还提供了一定级别的安全保护。因为当时人们认为机器人无法解决验证码问题。因此,在1997年,当Eran Reshef, Gili Raanan和Eilon Solan申请了验证码的专利时,这一技术被认为对所有人都有益。这一想法非常棒,原始作者发明它是一个伟大的创举。

但14年后的今天,我们可以看到验证码的发展方向已经发生了变化。现在,验证码不仅仅是安全措施,它的应用场景和技术实现都有了很大的进展和变化。尽管验证码最初是为了提高在线服务的安全性而设计,但随着时间的推移,其复杂性增加,常常给用户带来不便,这也引发了对验证码未来发展方向的重新思考和讨论。

因为验证码(CAPTCHA),每年大约有77600个家庭无法在美国建造自己的家园

这个数字来源于一个惊人的计算:2021年,人类每天在解决验证码上浪费了500年的时间,相当于每年182,000年。如果把这个时间转换成金钱,按照平均美国收入计算,大约相当于320亿美元。

这笔资金足以每年为77600个家庭在美国建造住房。这显示了验证码在时间和金钱上的巨大浪费。这些数字可能因为不同的假设和平均值有所变动,但事实是,人类在验证码上的时间消耗是巨大的。虽然对于个人而言,解决一个验证码可能只需几秒钟到五分钟,但累积起来的总时间是非常可观的。

验证码已经不再有效地区分人类和机器人了

在2021年,尼古拉·潘科夫(Nikolay Pankov)写了一篇文章,概括了验证码的问题,他指出:“CAPTCHA不再可靠地防止入侵者,并且它们让真实用户感到烦恼。总之,可能是时候放弃这种过时的机制了。”

验证码的本意是保护在线资源不受机器人和不良行为者的侵害,目的是限制资源的使用。如果机器人访问一个页面,它会占用宝贵的传输带宽,而这是公司需要支付的。因此,我们并不希望机器人访问我们的网站。

不仅如此,验证码也无法防止DDoS攻击,这种攻击可能导致人们失去大量积蓄。但我们知道,几年来,验证码并没有解决这个问题。机器人可以很容易地解决验证码,无论是通过AI还是人工支持。此外,有些机器人甚至将解决验证码的任务外包给其他人。

图片图片

例如,一个机器人想在一个网站上发表带有链接的评论,但该网站要求它解决验证码。于是,机器人就将同样的谜题展示给由黑客操作的一个中等实用的应用或网站的访客。因此,黑客很快就利用HBC来解决HBC问题。

总的来说,验证码不再提供任何保护。它已经不能长时间地区分访客是人还是机器人。

验证码歧视人类

有众多报道称验证码对某些人群存在歧视。例如,盲人在解决音频验证码时会遇到困难(如果这种验证码存在的话)。这其实并不是什么新问题,我们早在2019年前后就已经知道了。

验证码还可能基于国籍、种族、地理位置等因素歧视人群,这是一个鲜为人知的事实。例如,当你需要指出哪些图片是出租车时,如果图片中的出租车来自另一个国家,你可能会感到困难。

特伦斯·伊登(Terence Eden)在2017年这样总结道:

猜猜看,谷歌?在我的国家,出租车通常是黑色的。我看过足够多的电影,知道美国的出租车都是黄色的。但在我访问过的每一个其他国家,出租车都是五颜六色的混合体。

尽管有其缺陷,验证码仍被广泛使用,这是为什么呢?

公司使用验证码完全是为了自身利益

这一切都归结于金钱。验证码最初是作为一种基于人类的计算手段被发明出来,用以解决一个真实的问题(区分人类和机器人)。

尽管它在核心功能上失败了,但它仍被用于基于人类的计算。

你看,AI模型并不知道人行道长什么样。公司必须向AI提供大量的照片和描述……

通过数百万次的重复,AI最终能够区分人行道和猫。

为了做到这一点,构建AI模型的公司必须收集大量的分类数据来训练这些AI模型。

总结一下:

  • 验证码没有解决问题(区分人类和机器人)
  • 验证码对人类的成本极大(每年77600户家庭)
  • 只有提供验证码解决方案的公司从中受益

因此,2024年一个非常有意义的问题是,验证码是否应该继续使用。

责任编辑:武晓燕 来源: 大迁世界
相关推荐

2013-06-05 13:49:41

EclipseIntelliJ

2013-06-07 10:18:00

EclipseIntelliJ ID

2013-06-19 10:19:59

2024-01-02 07:34:38

CentOSLinuxRedhat

2020-11-16 07:28:53

验证码

2021-07-22 10:25:07

JS验证码前端

2009-08-11 14:05:28

JSP验证码

2009-02-09 14:17:36

2015-09-21 15:31:05

php实现验证码

2017-12-21 07:38:19

2021-01-19 10:29:34

短信验证码密码

2015-03-23 17:58:04

验证码倒计时并行

2022-02-11 07:10:15

验证码

2022-05-11 07:41:31

Python验证码

2015-03-17 09:28:04

2011-11-02 12:43:33

2011-11-02 16:46:41

2019-06-18 07:12:25

验证码漏洞加密

2009-08-13 10:47:29

C#创建验证码
点赞
收藏

51CTO技术栈公众号