讓程式設計師互相傷害的“驗證碼”是什麼?

頂象技術發表於2020-07-15

俗話說得好,“常在網上走,哪有不驗證”。我們愛也好恨也罷,每天誰不抓耳撓腮輸入幾個驗證碼呢?

然而驗證碼說到底是一種 被動防禦的對策,今天我們快速梳理梳理驗證碼從無到有的發展歷程,並且介紹一種思路非常前沿的黑科技, 改被動為主動如絲般順滑的:不驗證的驗證碼——無感驗證。

undefined

一、 為什麼要驗證

驗證碼是為了反垃圾。早在90年代,雅虎郵箱就頻頻遭到機器產生的大量垃圾郵件騷擾,那時鑑別人/機的需求就已出現。路易斯·馮·安(Luis von Ahn)帶領團隊設計了一款被稱為CAPTCHA的小工具,其背後的思路就是,人類可以輕鬆識別,但是機器識別困難,從而可以區分人類和機器。

undefined

二、 如何驗證

那麼,人類和機器到底有什麼區別呢?

undefined

所謂CAPTCHA,就是Completely Automated Public Turing Test To Tell Computers and Humans Apart,即“全自動區分計算機和人類的公開圖靈測試”(...說人話!)——驗證碼。圖靈測試在這裡成為識別的關鍵,而簡單問答則是最常用的手段。

undefined

圖零測試通常是基於對人類知識的驗證(Knowledge-based authentication, KBA),這裡的知識主要指對圖形的識別和一些簡單的分析。

三、 攻防愛恨情仇

然而隨著機器識別能力和對人類知識學習的不斷深入,破解普通驗證碼的成功率越來越高,對於跳出“知識”識別思維定式的需求越來越明顯。

undefined

如果一味追求“知識層面上的難度挑戰”,為了應付越來越聰明的機器,驗證碼的難度也不斷升高,對於人類使用者來說打擾感也愈加強烈,甚至不乏這種讓人完全摸不著頭腦的“驗證碼”:

undefined

所以已經完全有必要開拓新思路,從其他的角度來辨別人類獨有的而機器難以模仿的特徵,那就是行為。

undefined

谷歌在幾年前推出了一款跳出“知識”窠臼的“我不是機器人”驗證,整個驗證過程只需要使用者在頁面上“我不是機器人”前的一個核取方塊打鉤即可,其背後的原理就是谷歌透過收集分析大量真實使用者的滑鼠行為,來判斷到底是人類操作還是機器操作。

undefined

同樣利用機器難以模仿的人類行為特徵,滑塊驗證碼近來引起了廣泛關注,因為這種驗證過程同樣不需要使用者做過多思考(呼叫知識),而且適應了移動端沒有滑鼠軌跡的客觀條件,透過分析使用者手指滑動速度、對齊位置等生物特徵來判斷操作者是人還是模擬人類的機器。

四、 終極驗證:無感驗證

然而,驗證來驗證去,無論再怎麼輕鬆簡單,還是會對使用者整個使用流程造成一定的打擾。就沒有什麼辦法能夠......不驗證嗎?!

undefined

其實答案是肯定的,現在已經有一些風控平臺推出了無需驗證即可判別使用者身份的驗證體系,其原理其實也非常簡單。風控引擎在使用者嘗試登陸或者做其他傳統需要驗證的操作行為前,就會對操作環境進行掃描,並對一些關鍵引數做分析,包括常用IP、地理位置、使用習慣、惡意特徵、裝置指紋等。基於大量模型和資料的分析,風控引擎便可以對使用者身份做出一個預先的判斷。如果風控引擎認為使用者是“好人”,便直接放行;如果判定為“機器”,則不予放行;如果存疑,便祭出驗證碼,您且滑一滑吧。

undefined

基於行為的驗證過程配合風控決策,有明顯的幾個優勢:

undefined

1、 阻斷機器垃圾

這也是驗證碼本身最本源的訴求了,識別出正常人類使用者後直接放行,而機器卻不能釋出垃圾資訊。

2、使用者體驗好——無思考驗證

確需驗證的情況下(比如首次使用),與傳統圖片驗證或語音認證等方式不同,使用者在進行滑塊驗證之時無需進行計算或思考,短時間內即可順滑進入下一步操作,使用者體驗大幅提高。

3、智慧風險阻斷

傳統驗證過程無法完全對抗模仿能力日益強勁的機器,但是滑塊驗證與風控決策緊密關聯,機器反覆嘗試也無法透過驗證,可以阻斷機器操作從而攔截非正常使用者,不僅垃圾資訊,其他的多種機器有害行為都會被攔截,包括爬取、盜用等。

頂象無感驗證可以阻抗多種刷訂單、薅羊毛等惡意動作,瞭解功能詳情、具體應用場景請前往



擴充套件閱讀:

接入頂象技術小程式驗證碼全過程


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69975717/viewspace-2704624/,如需轉載,請註明出處,否則將追究法律責任。

相關文章