網絡驗證碼的進化:從簡單圖文到無感驗證

9月24日,2018年全國碩士研究生招生考試預報名的第一天,成都大學的一名大四女生,在網上報名時,竟出現了「別考」字樣的驗證碼,同時在驗證碼上邊顯示一行紅字:您輸入的用戶名或密碼有誤。專門負責全國研究生報名的「中國研究生招生信息網」相關負責人迴應說,驗證碼出現「別考」字樣純屬巧合。javascript

undefined


據瞭解,研招網報名系統的驗證碼由漢字、字母+數字、數字計算三個類別組成,考生在輸入驗證碼時這三個類別均可能會遇到。「別考」字樣的驗證碼雖然只是隨機出現,卻讓人聯想到春運期間12306那些變態的驗證碼,彷佛與「證實你媽是你媽」同樣無厘頭,驗證碼就是爲了爲難人類而存在的嗎?java

undefined

12306網站驗證碼界面程序員

驗證碼誕生於20年前

驗證碼的全名是「全自動區分計算機和人類的圖靈測試」,由卡內基梅隆大學的路易斯.馮.安於1997年提出,其初衷識別真人仍是編寫的惡意程序。驗證碼主要體現方式:計算機會自動生成一個問題由用戶來解答,這個問題能夠由計算機生成並評判,但必須只有人類才能解答,回答出問題的操做者就能夠被認爲是人類。算法

undefined

驗證碼之父:路易斯.馮.安安全

所以,驗證碼就是利用「人類能夠用肉眼輕易識別圖片裏的文字信息,而機器不能」的原理來抵禦惡意登陸,經過識別、輸入這些交互,區分出機器人和真正的人類,防止惡意***或者刷號狀況的產生,是一種利用意識區分用戶是計算機仍是人的公共全自動程序,在註冊、登陸、網購、交易等各種場景中都發揮着巨大做用,而且在不斷進化中成爲網絡中始終不可或缺的技術。另外,英國醫學專家還發現驗證碼或可用於儘早發現癡呆症風險。網絡

驗證碼的進化:從簡單圖文到無感驗證

早期的驗證碼就是網站提出一些問題,隨着安全防禦與破解***兩方面的抗衡日益升級,驗證碼的難度在增長,形式也在多樣化。從簡單的字母數字、算術題,到扭曲的字符、模糊的圖片,這些被歸類爲知識性驗證碼。app

undefined

各式各樣的驗證碼ide

雖然驗證碼對網站平臺有很大的幫助做用,但並非每一個人都不喜歡驗證碼。路易斯.馮.安在2009年的報告中顯示:天天每一個美國人要花費1.9秒的時間用來解決驗證碼難題。以美國當年人口3.09億計算,至關於每一年要花去他們6795天的時間。工具

在國內驗證碼一直也是被吐槽的對象。不只是全國碩士研究生招生考試預報名這樣使人哭笑不得的驗證碼,還有被廣大網友吐槽的12306「變態」驗證碼。post

undefined

Google的 reCAPTCHA

爲了節省網友時間,提高操做體驗, Google、頂象技術等新一代的驗證碼已經開始向無知識型進化,例如Google的reCAPTCHA、頂象技術的無感驗證等。具體在體現就是須要點擊或拖動滑條,甚至不須要任何操做,就可以完成網絡登陸身份驗證。這種全新的驗證方式良好解決網站安全和用戶體驗兩端的矛盾。

基於人工智能的頂象無感驗證有這四大特色

做爲新一代的驗證碼Google reCAPTCHA、頂象無感驗證都是基於人工智能,從傳統的識別驗證方式升級到了基於人的行爲來進行判斷,經過收集用戶的行爲以及環境信息,結合模型和風控分析來區分人類仍是機器。

undefined

頂象技術的「無感驗證」

以頂象技術的「無感驗證」爲例,主要有如下四大特色:

體驗好:滑動驗證相對於傳統的驗證碼在體驗上已有了很大的改善,可是若是每次操做仍是須要滑動依舊繁瑣。頂象無感驗證在驗證碼彈出前會先收集下當前用戶的環境信息,結合後臺的風控和大數據,判斷當前操做環境和行爲是否正常,若是正常行爲就能夠直接放行,也就無需滑動。

破解難:數據採集安全是驗證流程的一個安全前提,直白的說,就是傳到後臺的滑動行爲數據必須是用戶滑動產生的。通常的作法是對採集的數據進行加密,對採集數據的javascript進行混淆。這種作法能夠說是javascript的通用方案,有必定的安全性,但對「有心人」還不夠。頂象無感驗證的作法是短週期自動變動加密算法+ H5安全防禦。其基於AST,採用隨機拆分,動態加解密混淆算法對JS代碼進行混淆壓縮,而且定時自動化更新混淆算法。相對於開源的混淆工具,會使嘗試逆向混淆後的javascript成本極高。再加上短週期自動變動數據加密算法,即便當前的js腳本被破解,可是因爲快速的自動迭代,這個腳本很快就會失效,***者不得再也不面對下一版徹底不一樣的加密腳本,從而大大增長破解成本。

識別準:行爲驗證的核心是經過用戶滑動行爲數據識別本次請求是來自於人仍是機器。依託於頂象在現實業務***中積累下來的數據,通過特徵工程和深度學習算法,能夠獲得大量的特徵。頂象無感驗證利用多種無監督學習模型發現可疑和異常行爲並標記爲黑樣本,其他爲白樣本。接下來,選取行爲特徵和黑白樣本訓練有監督學習模型,用於線上的實時流量數據的識別。基於每日的增量數據,對無監督學習和有監督學習模型快速迭代訓練,可有效與快速變異的惡意行爲進行強對抗。

有大腦:隨着人工智能的發展,***者利用人工智能技術和打碼平臺能夠很容易的經過傳統驗證碼。一旦攻破,傳統驗證碼就對***無能爲力了。頂象無感驗證結合風控引擎的風險識別能力,構建了多層安全防禦,對識別出的***者能夠直接攔截,給客戶最後一層強有力的安全保障。

隨着人工智能的發展,將來的驗證碼的人機對抗,必定是一個多維度、多層次、快速迭代的戰場。



推薦閱讀:


讓程序員互相傷害的「驗證碼」是什麼?

http://www.javashuo.com/article/p-pwtfykaw-nh.html

讓註冊用戶頭疼的「驗證碼」有什麼用?


http://www.javashuo.com/article/p-vtxfcqly-nh.html

相關文章
相關標籤/搜索