让程序员互相伤害的“验证码”是什么?

俗话说得好,“常在网上走,哪有不验证”。咱们爱也好恨也罢,天天谁不抓耳挠腮输入几个验证码呢?ide

然而验证码说究竟是一种被动防护的对策,今天咱们快速梳理梳理验证码从无到有的发展历程,而且介绍一种思路很是前沿的黑科技,改被动为主动如丝般顺滑的:不验证的验证码——无感验证。工具

undefined


1、 为何要验证

验证码是为了反垃圾。早在90年代,雅虎邮箱就频频遭到机器产生的大量垃圾邮件骚扰,那时鉴别人/机的需求就已出现。路易斯·冯·安(Luis von Ahn)带领团队设计了一款被称为CAPTCHA的小工具,其背后的思路就是,人类能够轻松识别,可是机器识别困难,从而能够区分人类和机器。学习

undefined


2、 如何验证

那么,人类和机器到底有什么区别呢?测试

undefined


所谓CAPTCHA,就是Completely Automated Public Turing Test To Tell Computers and Humans Apart,即“全自动区分计算机和人类的公开图灵测试”(...说人话!)——验证码。图灵测试在这里成为识别的关键,而简单问答则是最经常使用的手段。ui

undefined


图零测试一般是基于对人类知识的验证(Knowledge-based authentication, KBA),这里的知识主要指对图形的识别和一些简单的分析。spa

3、 ***爱恨情仇

然而随着机器识别能力和对人类知识学习的不断深刻,破解普通验证码的成功率愈来愈高,对于跳出“知识”识别思惟定式的需求愈来愈明显。设计

undefined

若是一味追求“知识层面上的难度挑战”,为了应付愈来愈聪明的机器,验证码的难度也不断升高,对于人类用户来讲打扰感也越发强烈,甚至不乏这种让人彻底摸不着头脑的“验证码”:3d

undefined


因此已经彻底有必要开拓新思路,从其余的角度来辨别人类独有的而机器难以模仿的特征,那就是行为。orm

undefined

谷歌在几年前推出了一款跳出“知识”窠臼的“我不是机器人”验证,整个验证过程只须要用户在页面上“我不是机器人”前的一个复选框打钩便可,其背后的原理就是谷歌经过收集分析大量真实用户的鼠标行为,来判断究竟是人类操做仍是机器操做。blog

undefined


一样利用机器难以模仿的人类行为特征,滑块验证码近来引发了普遍关注,由于这种验证过程一样不须要用户作过多思考(调用知识),并且适应了移动端没有鼠标轨迹的客观条件,经过分析用户手指滑动速度、对齐位置等生物特征来判断操做者是人仍是模拟人类的机器。

4、 终极验证:无感验证

然而,验证来验证去,不管再怎么轻松简单,仍是会对用户整个使用流程形成必定的打扰。就没有什么办法可以......不验证吗?!

undefined


其实答案是确定的,如今已经有一些风控如顶象平台推出了无需验证便可判别使用者身份的验证体系,其原理其实也很是简单。风控引擎在用户尝试登录或者作其余传统须要验证的操做行为前,就会对操做环境进行扫描,并对一些关键参数作分析,包括经常使用IP、地理位置、使用习惯、恶意特征、设备指纹等。基于大量模型和数据的分析,风控引擎即可以对用户身份作出一个预先的判断。若是风控引擎认为使用者是“好人”,便直接放行;若是断定为“机器”,则不予放行;若是存疑,便祭出验证码,您且滑一滑吧。

undefined


基于行为的验证过程配合风控决策,有明显的几个优点:

undefined

一、 阻断机器垃圾

这也是验证码自己最本源的诉求了,识别出正常人类用户后直接放行,而机器却不能发布垃圾信息。

二、用户体验好——无思考验证

确需验证的状况下(好比首次使用),与传统图片验证或语音认证等方式不一样,用户在进行滑块验证之时无需进行计算或思考,短期内便可顺滑进入下一步操做,用户体验大幅提升。

三、智能风险阻断

传统验证过程没法彻底对抗模仿能力日益强劲的机器,可是滑块验证与风控决策紧密关联,机器反复尝试也没法经过验证,能够阻断机器操做从而拦截非正经常使用户,不只垃圾信息,其余的多种机器有害行为都会被拦截,包括爬取、盗用等。

相关文章
相关标签/搜索