无论是什么软件,只要进入登陆界面,你都要面临验证码的考验,使用次数越多,需要输入验证码就越多,其实这并不算一件麻烦事儿,只是在你赶时间的时候,他们的提示是如此不合时宜,甚至令你想要砸碎手机,所以本次开放这样探讨的话题就是:设置验证码。 先说说短信验证码的来历: 究竟可以防止谁的登陆,最初只要轻轻一敲回车键,你就能顺利的在论坛上发帖,然而这样让黑客变得猖獗,他们编写了一种能够大量重复编写信息的程序,伪装成人类用户肆无忌惮地朝网络上倾倒大量的、无意义的“僵尸”信息,垃圾邮件、垃圾广告、垃圾评论到处乱飞,其中受影响最大的当属电子邮件提供商,满天乱飞的垃圾邮件无疑破坏了他们的正常运营,于是,当时最有实力的邮件提供商雅虎公司决定下狠劲改善这个问题,雅虎的负责人很快联系到了当时卡内基梅隆大学一位21岁的学生路易斯冯安。 正当普通用户们不断吐槽的时候,程序猿表示这个“锅”不想背,但是也得背,于是他们升级了验证码的成本,也就限制了风险的等级,程序员熬一晚上升级,攻击者熬一晚上破解,程序猿熬两晚上升级,攻击者再熬两晚上破解,大家就在这种你方唱罢我登台的轮回中。看似和睦的度过了一段时间,在日日夜夜的对抗中,程序要想到了一个办法,办法可以一劳永逸地解决图片验证码的问题,就是人工打码,人工打码就是将验证码的请求,转发给某平台,该平台将这个信息发送到平台上的打码工,打马工人识别之后,将答案发送回请求者。通过打码平台的APP程序,程序员也可以写程序实现对目标的自动化操作,而验证码的部分只要交给打码平台就可以了,这就是今天我们所使用的短信验证码。 为什么验证码是六位数字而不是4位数字 人机交互理论中提到,人的短期记忆容量为七加减二。数字过多则记忆困难,数字太少的话,安全性会不足,因此六是一个非常合适的数,而且手机验证码一般都是数字,都是有一定几率被用户猜中的,四位数的话有一万分之一等于0.01%的概率,六位数的话则有100万分之一,等于0.001%的概率。如果没有限制验证码错误次数或者有限制被绕过,四位数验证码基本上五分钟就能被破解出来,而六位数验证码就没有那么容易了,出于安全性考虑,我们现在看到的验证码大多都是六位,而不是四位,是因为六位比四位更具有安全性,不容易被破解,从破解的角度来看,最普遍的方法就是暴力破解,即对可能使用的字符进行数字排列组合,依次进行实验,直到找到真正的密码。 理论上来说,验证码越长及安全度越高,但是从用户的输入体验,便捷的角度来考虑,密码不可能无限长,再加上暴力破解六位数字的平均时间,预计超过验证码超时等条件,六位数的短信验证码是最合理的。 |