讓程式設計師互相傷害的“驗證碼”是什麼?
俗話說得好,“常在網上走,哪有不驗證”。我們愛也好恨也罷,每天誰不抓耳撓腮輸入幾個驗證碼呢?
然而驗證碼說到底是一種 被動防禦的對策,今天我們快速梳理梳理驗證碼從無到有的發展歷程,並且介紹一種思路非常前沿的黑科技, 改被動為主動、 如絲般順滑的:不驗證的驗證碼——無感驗證。
一、 為什麼要驗證
驗證碼是為了反垃圾。早在90年代,雅虎郵箱就頻頻遭到機器產生的大量垃圾郵件騷擾,那時鑑別人/機的需求就已出現。路易斯·馮·安(Luis von Ahn)帶領團隊設計了一款被稱為CAPTCHA的小工具,其背後的思路就是,人類可以輕鬆識別,但是機器識別困難,從而可以區分人類和機器。
二、 如何驗證
那麼,人類和機器到底有什麼區別呢?
所謂CAPTCHA,就是Completely Automated Public Turing Test To Tell Computers and Humans Apart,即“全自動區分計算機和人類的公開圖靈測試”(...說人話!)——驗證碼。圖靈測試在這裡成為識別的關鍵,而簡單問答則是最常用的手段。
圖零測試通常是基於對人類知識的驗證(Knowledge-based authentication, KBA),這裡的知識主要指對圖形的識別和一些簡單的分析。
三、 攻防愛恨情仇
然而隨著機器識別能力和對人類知識學習的不斷深入,破解普通驗證碼的成功率越來越高,對於跳出“知識”識別思維定式的需求越來越明顯。
如果一味追求“知識層面上的難度挑戰”,為了應付越來越聰明的機器,驗證碼的難度也不斷升高,對於人類使用者來說打擾感也愈加強烈,甚至不乏這種讓人完全摸不著頭腦的“驗證碼”:
所以已經完全有必要開拓新思路,從其他的角度來辨別人類獨有的而機器難以模仿的特徵,那就是行為。
谷歌在幾年前推出了一款跳出“知識”窠臼的“我不是機器人”驗證,整個驗證過程只需要使用者在頁面上“我不是機器人”前的一個核取方塊打鉤即可,其背後的原理就是谷歌透過收集分析大量真實使用者的滑鼠行為,來判斷到底是人類操作還是機器操作。
同樣利用機器難以模仿的人類行為特徵,滑塊驗證碼近來引起了廣泛關注,因為這種驗證過程同樣不需要使用者做過多思考(呼叫知識),而且適應了移動端沒有滑鼠軌跡的客觀條件,透過分析使用者手指滑動速度、對齊位置等生物特徵來判斷操作者是人還是模擬人類的機器。
四、 終極驗證:無感驗證
然而,驗證來驗證去,無論再怎麼輕鬆簡單,還是會對使用者整個使用流程造成一定的打擾。就沒有什麼辦法能夠......不驗證嗎?!
其實答案是肯定的,現在已經有一些風控平臺推出了無需驗證即可判別使用者身份的驗證體系,其原理其實也非常簡單。風控引擎在使用者嘗試登陸或者做其他傳統需要驗證的操作行為前,就會對操作環境進行掃描,並對一些關鍵引數做分析,包括常用IP、地理位置、使用習慣、惡意特徵、裝置指紋等。基於大量模型和資料的分析,風控引擎便可以對使用者身份做出一個預先的判斷。如果風控引擎認為使用者是“好人”,便直接放行;如果判定為“機器”,則不予放行;如果存疑,便祭出驗證碼,您且滑一滑吧。
基於行為的驗證過程配合風控決策,有明顯的幾個優勢:
1、 阻斷機器垃圾
這也是驗證碼本身最本源的訴求了,識別出正常人類使用者後直接放行,而機器卻不能釋出垃圾資訊。
2、使用者體驗好——無思考驗證
確需驗證的情況下(比如首次使用),與傳統圖片驗證或語音認證等方式不同,使用者在進行滑塊驗證之時無需進行計算或思考,短時間內即可順滑進入下一步操作,使用者體驗大幅提高。
3、智慧風險阻斷
傳統驗證過程無法完全對抗模仿能力日益強勁的機器,但是滑塊驗證與風控決策緊密關聯,機器反覆嘗試也無法透過驗證,可以阻斷機器操作從而攔截非正常使用者,不僅垃圾資訊,其他的多種機器有害行為都會被攔截,包括爬取、盜用等。
頂象無感驗證可以阻抗多種刷訂單、薅羊毛等惡意動作,瞭解功能詳情、具體應用場景請前往
擴充套件閱讀:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69975717/viewspace-2704624/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 調查:是什麼讓程式設計師快樂?程式設計師
- 什麼是真正的程式設計師?程式設計師
- 什麼是真正的程式設計師程式設計師
- 程式設計師的悲哀是什麼?程式設計師
- 程式設計師是什麼讓你停滯不前—是安逸,還是….程式設計師
- 和程式設計師談戀愛,是什麼樣的體驗程式設計師
- 什麼是程式設計師思維?程式設計師
- 我為什麼是程式設計師?程式設計師
- 普通程式設計師和厲害程式設計師的差距!程式設計師
- 程式設計師學習專案和程式碼的精髓是什麼?程式設計師
- 漫畫 | 程式設計師的悲哀是什麼?程式設計師
- 程式設計師的最大噩夢是什麼?程式設計師
- 【1024程式設計師節】程式設計師,你學程式設計的初衷是什麼?程式設計師
- 什麼是 10x 程式設計師程式設計師
- [軟體人生]什麼是程式設計師程式設計師
- 在西方的程式設計師眼裡,東方的程式設計師是什麼樣的?程式設計師
- 一些讓程式設計師傷心和開心的話程式設計師
- 程式設計師敲程式碼時耳機裡聽的到底是什麼?程式設計師
- 為什麼說程式碼註釋是程式設計師必備的技能?程式設計師
- 漫談程式設計師系列:程式設計師到底是什麼角色程式設計師
- 年輕程式設計師的悲傷程式設計師
- 程式設計師的核心競爭力是什麼?程式設計師
- 什麼是程式設計師的核心競爭力?程式設計師
- 程式設計師最恐怖的噩夢是什麼?程式設計師
- 程式設計師最恐怖的夢魘是什麼?程式設計師
- 為什麼寫程式碼讓人家覺得你很厲害?
- 什麼樣的社群是好的程式設計師社群?程式設計師
- 什麼是真正的程式設計師:小 printf 的故事程式設計師
- 真正的精英程式設計師是什麼樣的?共勉!程式設計師
- 30 歲轉行做初級程式設計師是什麼樣的體驗程式設計師
- 盤點那些讓程式設計師目瞪口呆的Bug都有什麼?程式設計師
- 程式設計師到底是幹什麼的?請不要再黑程式設計師了程式設計師
- 為什麼程式設計師總是寫糟糕的程式碼?這3個原因程式設計師
- 為什麼程式設計師總是在熬夜程式設計師
- 為什麼程式設計師總是在熬夜?程式設計師
- 讓程式設計師/技術主管/專案經理最可怕的事情是什麼?程式設計師
- 用語音程式設計:不用傷害自己就可保持效率程式設計
- 作為程式設計師,你的夢想是什麼?程式設計師