摘要:先看看验证码到底在“验”什么。验证码的英文学名叫“CAPTCHA”,是“Completely Automated Public Turing Test to Tell Computers and Humans Apart”的简写,这句话道出了最初发明验证码的目
现在年轻人,收到最多的短信可能就是验证码。虽然发送验证码的平台不尽相同,但大概率相同的是,人们收到的数字验证码,要么是4位数,要么是6位数。那么,为什么数字验证码总是4位数、6位数等偶数,怎么就不能是3位或5位数等奇数?数字验证码几位数?
先看看验证码到底在“验”什么。验证码的英文学名叫“CAPTCHA”,是“Completely Automated Public Turing Test to Tell Computers and Humans Apart”的简写,这句话道出了最初发明验证码的目的:进行一种完全自动化的区分计算机和人类的反图灵测试。简单来说,这就像通过设计一套“试卷”来对用户进行“考试”,这套试卷对人类来说很简单,但对计算机来说很难,如此便可以区分出当前访问者是人类还是机器人,并做出让行或阻拦的反应。
图源:图虫创意而如今的数字验证码,更像是一种“短时间密码”。我们的手机号通过实名认证后可以作为一种网络身份标识,可以说,手机号就是账号。通过给用户发送短时间内有效的数字验证码,就可以验证用户身份的真实性。不论是数字验证码还是图片、字符等其他传统验证码,它们设计的目的都并非难倒用户。那么,数字验证码就需要方便用户识别、记忆与输入,这也就意味着,验证码不能设置得太难。首先,验证码不能太难辨认。2015年,铁路12306购票网站就曾因防止黄牛刷票而采用过图片验证码,但因为识别难度太高,许多正常旅客也难以通过验证,引来大量吐槽。还有网友曾收到过换算数学公式、辨别模糊的甲骨文图形或从九宫格相似图标中选出"擀面杖""充电接口"等冷门物品的验证方式。如今的图片验证码,难度已经没有以前高,不过相比之下,还是直接用短信接收验证码更简单直接。
较为简单的验证码|图源:参考资料2此外,就数字验证码来说,数字也不能太难记。人们的大脑在短时间处理大量信息时,会倾向于通过给冗杂的信息分组来方便记忆与思考,这些被分好的信息单元在认知心理学中被称为“组块”。偶数位的数字相比于奇数位的来说,更方便被分为数量平均的组块,记忆起来更容易。例如,6位数字498610可被分为49-86-10,或者是498-610来快速记忆,4位数3916也可以被分为39-16,而奇数位的数字(如62941)则无法被分为均等的组块。均等组块的理念也出现在其他设计上。比如,我们的银行卡上会刻着卡号,卡号并不是连续的一串数字,而是把长长的卡号分成四个组块的形式,在输入卡号时更加方便用户短时间记住。
图源:图虫创意那么,选择8位数、10位数这样的偶数位验证码不行吗?可以,但太难记了。数字验证码的位数越多,组合方式就越多,比如3位数字的组合数为 10^3=1000种,4位数字的组合数为 10^4=1万种,6位数字的组合数为 10^6=100万种,8位数字的组合数则可以达到10^8=1亿种。组合方式越多,就越难被破解,验证码本身也越安全,而安全是验证码的前提,这也是为什么三位数的验证码极少见,因为它的组合方式太少,容易被破解,且不同用户可能会收到同样的验证码。但是,位数太多,人们很可能记不住(此处排除复制验证码后将其粘贴过去的方式)。人的大脑在处理信息时有自己的记忆模式和极限。我们在短时间内记住数字验证码的过程中,调用的是大脑的“短时记忆”。短时记忆的容量非常有限,在没有复述的情况下,短时记忆中的信息保持时间只有15~20秒。关于大脑的短时记忆,美国认知心理学家米勒在1956年发表过一篇题为《神奇的数字7±2:我们信息加工能力的局限》的论文,其中提到一个数字 “7”。他通过反复试验证明,在短时记忆中,人脑处理加工信息的数量为7±2个组块。也就是说,人的大脑最多只能短时记住 5 ~ 9 个信息组块,超过这个限度,人容易犯错。而五位数字虽然在短时记忆容量范围内,但它无法被分成均等长度的组块,记忆难度也较大。综合考虑下来,6位数的验证码长度正合适,不管是2个数字一组,还是3个数字一组,人们都能准确记忆下来。不过在一些对安全性要求不太高的情况下,4位验证码也是可以的。
某家用体脂秤连接手机APP的验证码|图源:壹读验证码几分钟内有效?
数字验证码的长度虽然比较一致,但有效时间却各不相同,短的可能只有1分钟,长的则可以达到15分钟甚至更久。首先来解释一下为什么验证码要设置有效时间。
验证码5分钟内有效|图源:壹读这和验证码对应的操作有关。验证码环节通常需要在用户输入密码后进行,二者形成双重验证。这在密码学中,被称为“双因素验证”。在目前的网络环境下,网络身份认证包含三个要素:所知、所是、所有。“所知”指的是用户所知道的,比如密码(只有自己知道)。“所是”指的是用户可以证明自己个人身份的固定生物特征信息,比如指纹、虹膜。最后,“所有”简单来说就是用户所拥有的物理设备(比如U盾)或是数字凭证,本文中的验证码就属于“所有”中的数字凭证。单独使用其中某个认证因素都会存在问题和风险,而使用三类认证中两种及以上的认证方式,能够保证我们的操作是安全有效的。如果有人想恶意冒充认证,具有时效性的验证码就可以大大压缩攻击者的破解时间,让“双因素验证”的安全性得到保障。例如,若验证码有效期为5分钟,攻击者需在5分钟内完成破解,对一个6位数验证码来说,即使以每秒100次尝试计算,成功概率也仅为0.06%。此外,限制时间还避免了验证码的重复。当用户请求获取新验证码时,系统会先检查该账号最近一次验证码的状态,若旧码仍在有效期内,就会拒绝生成新码,直到原验证码自然过期。这种设计确保在有效期内,一个验证码只属于一个用户,避免同一时段内验证码重复。通过限制有效时间,系统可以定期自动清理过期的验证码记录,让数据库保持轻量化运行,不会拖慢响应速度。那么,验证码有效期又为什么有长有短?这和验证码的使用场景有关。一般来说,使用场景风险越大、越需要安全保护的验证码,有效时间越短。银行等平台的验证码时效性较短,有时验证码有效期仅有60秒。这可以在一定程度上防止不法分子在短时间内破解验证码,极大提升了相关环节的安全性。以6位数字验证码为例,一个6位数字的验证码共有100万种组合,若有效期为60秒,攻击者每秒需尝试约16667次才能进行破解,若有效期延长至15分钟,攻击者每秒仅需尝试185次即可覆盖所有组合。反之,在一些日常场景,如普通注册、登录等用途中,验证码的有效期一般比较长,有的能达到15分钟,这类操作不同于资金交易,对即时性要求较低,安全风险也没有那么高。
某招聘网站登录验证码,有效时间15分钟|图源:壹读总的来说,验证码是保护我们个人上网安全的重要信息之一。随着人们对网络信息安全的关注和需求越来越高,也许会有更多方便快捷的验证方式出现。对当前的数字验证码来说,不论4位还是6位,能保证信息安全的就是好“码”。【参考资料】1.曹巍,赵滟.一种基于双因素认证的移动支付安全技术研究[J].信息安全与技术,2014,5(02):10-12+15.2.戚迦南.基于深度学习的文本验证码识别算法研究[D].浙江工商大学,2023.3.莫璐宇.网站用户注册登录的影响因素和交互体验研究[D].浙江大学,2019.4.澎湃新闻:12306被抢票软件“逼疯”了:祭出最奇葩验证码5.Nelson C .The Magical Mystery Four: How is Working Memory Capacity Limited, and Why?[J].Current directions in psychological science,2010,19(1):51-57.6.梁宁建.心理学导论.上海教育出版社.2010年.212-248.7.陈玉田,陈睿,李鹏.工作记忆中"组块"概念的演化及理论模型[J].心理科学进展, 2022, 30(12):2708-2717.DOI:10.3724/SP.J.1042.2022.02708.8.Halford GS, Cowan N, Andrews G. Separating cognitive capacity from knowledge: A new hypothesis. Trends in Cognitive Sciences. 2007; 11:236–242. 说明:本文头图为豆包ai制作,有后期调整作者:敏敏 徐可心
编辑:陈燕妮
值班编辑:敏敏
▼
点击图片阅读 | 火爆全网的“蓝朋友”,这些点值得关注
点击图片阅读 | “中产鸡蛋”引热议,一盒四个颜色? 来源:壹读
免责声明:本站系转载,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与本站联系,我们将在第一时间删除内容!