基本簡介
隨著網際網路的普及,為了防止黑客利用程式機器人惡意註冊、暴力破解密碼、論壇灌水、刷票等,2002年由卡內基梅隆大學的路易斯·馮·安、Manuel Blum、Nicholas J.Hopper以及IBM的John Langford發明了驗證碼,通過生成一組隨機字元串讓用戶識別並填寫,從而區分人和計算機,為了對抗破解程式對字元進行識別,驗證碼會對字元進行環境干擾和變形。與傳統驗證碼需要用戶填寫程式處理後很難識別的字元不同,手勢驗證(VAPTCHA)的“驗證碼”是一個清晰可見的軌跡圖。它的驗證流程是,系統隨機生成一條路徑軌跡,用戶用滑鼠繪製一樣的軌跡,只有達到特定相似率才能通過驗證。
主要特點
驗證時間短。為了對抗不斷升級的驗證碼破解程式,傳統驗證碼的字元的變形處理越來越反人類,人類需要花費更多時間或者多次刷新才能正確識別出驗證碼字元。而手勢驗證的驗證圖是由一條簡單的軌跡和干擾的背景圖構成,用戶僅需要使用滑鼠繪製一個相似的軌跡即可完成驗證,這個過程耗時不會超過1秒鐘。
安全性高。字元驗證碼的破解流程大致分為降噪、二值化和OCR識別三個步驟。降噪是儘可能了去除掉用於干擾識別的點、線等非字元。二值化是忽略了顏色的干擾,將任意色彩的驗證字元圖都轉化成黑白兩色。OCR環節則根據特徵庫對比驗證圖匹配出最合適的對應字元。手勢驗證的圖像干擾方式採用了路徑軌跡取色與部分背景色一致且不影響人類識別的原則。因為人腦具備計算機不具備的抽象思維能力,就算路徑被部分中斷或同色塊污染,人類仍然能腦補出完整圖形,這種方式讓破解程式在二值化時遇到極大困難。與傳統驗證字元的字型檔有限不同,手勢驗證的生成圖背景以及路徑都是隨機的,理論上有無限種組合,OCR識別程式顯然無法構建一個具備無限種特徵的軌跡庫,就算建立了這樣一個軌跡庫,在面對大量相似的軌跡進行特徵提取並進行區分也是很大的挑戰。正是這些特點,手勢驗證將驗證安全性提升到了前所未有的級別。
主要套用
手勢驗證所具備的便捷性和安全性,使它可以套用到傳統驗證碼所套用的場景。比如:防止惡意註冊、防止垃圾郵件、防止暴力破解密碼等。而易被人腦識別的特徵,則讓手勢驗證可以被任意語言的網站和套用所使用,比如:傳統驗證碼字元如果是中文,顯示英文環境的用戶無法使用。移動網際網路的發展,對驗證的需求也越來越強烈,手勢驗證(VAPTCHA)同樣適合APP套用進行人機判斷。