Hot Topics 娛樂追蹤

Captcha 「我不是機器人」打個勾就知道?揭密 Captcha「辨識人類原理」

2021-02-26 (星期五)

大家瀏覽各大網站、登入與註冊時,一定都有遇到各式各樣的驗證。從最早期經常讓人類也看不懂的「輸入圖中的英數字」、到「點選有OO的照片」,以至如今最常見的「我不是機器人」,形形式式的驗證充斥在許多大大小小的網站中。

久而久之,不知道大家是否曾產生一個疑惑:這些驗證到底如何運作?輸入英數字、點選照片來辨認是否為真人尚可理解,但是「我不是機器人」只是單純打個勾,網站為甚麼就知道你真的「不是機器人」了呢?日本的科技業人力網站「PERSOL TECHNOLOGY STAFF」就發布了一篇文章,內容中訪談了橫濱「情報安全研究所」的資工教授大久保隆夫,為大家解答疑惑。

"I'm not a robot". Have you ever wondered how CAPTCHA or reCAPTCHA works? By retyping a string of alphabets or numbers or simply ticking a box that declares "I'm not a robot", how can the computer tell we are truly human? 

現在的 CAPTCHA 一般會出現「I am not a robot」或「我不是機器人」的句子,用戶一 click 即可,較為方便。
現在的 CAPTCHA 一般會出現「I am not a robot」或「我不是機器人」的句子,用戶一 click 即可,較為方便。
 回顧早期的 CAPTCHA,屏幕會出現一組或兩組歪七扭八的英數字圖片,要求用戶輸入。
回顧早期的 CAPTCHA,屏幕會出現一組或兩組歪七扭八的英數字圖片,要求用戶輸入。

大久保教授開宗明義表示,網站或多或少都會遇到惡意程式,利用大量註冊、重複登入等方式來造成網站癱瘓;因此「CAPTCHA」就是用來辨認人類與機器人的系統。「CAPTCHA」 中文俗稱為驗證碼,主要用於區分「人」跟「機器人」,由美國 Carnegie Mellon University Manuel BlumNicholas J.Hopper 以及 IBMJohn Langford 所提出,最開始的做法是透過人眼能辨別,但機器無法判斷的文字來進行活人與機器人的判別,並以此來防止黑客使用憑證填充等的暴力破解手法。

大家常見的「我不是機器人」則是 Google 提供的辨認服務「reCAPTCHA」。這種「reCAPTCHA」還有很多型態,只要是從過去就常用網路的人也一定不陌生,最早期就是一些歪七扭八的英數字,到後來的選擇圖片等,都是屬於 Google 提供的「reCAPTCHA」;而「reCAPTCHA」的辨認能力進化到如今,則成了「我不是機器人」。

Captcha 「我不是機器人」打個勾就知道?揭密 Captcha「辨識人類原理」

這個「我不是機器人」到底是怎麼運作的呢?原來「reCAPTCHA」並不是在你點選打勾的那瞬間做出判斷,而是在你進入網站的那一刻起,就一直在記錄你的 IP 位址、滑鼠移動軌跡、捲軸滾動方式等;而在你點選「我不是機器人」的時候,這些資料就會上傳到資料庫中,藉此來辨別你到底是真正的人類,還是來搗亂的惡意程式。

當然,有時候資料庫還是會有辨別不出你到底是真的人類還是機器人的時候,那麼點選下去之後就會跳出「選取帶有OO的圖片」機制,進行雙重驗證。

常見的還有一些圖片 CAPTCHA,要求用戶在一組照片中選出規定的部份,現在一般用於雙重認證。
常見的還有一些圖片 CAPTCHA,要求用戶在一組照片中選出規定的部份,現在一般用於雙重認證。

大久保教授也提到,之所以「reCAPTCHA」會有從最早「輸入英數字」到如今「我不是機器人」的演變,是因為不只 Google 的資料庫在進步,惡意程式的 AI 系統也越來越先進,當初的「輸入英數字」甚至會有機器人可以準確辨認,一般人卻反而讀不懂的情形發生。

因此大久保教授推測,雖然短期間內「我不是機器人」還是主要的辨認方式,但隨著惡意程式開發的 AI 技術越來越厲害、資料庫越來越齊全,在不遠的未來「我不是機器人」也很有可能走入歷史,改由另一種全新的、機器模仿不來的驗證方式來進行。

大久保教授最後表示,正所謂「你有我張良計,我有過牆梯」,每當做出一個新的安全系統,很快就又會有人透過各種方式來攻破這個系統。資工安全的相關開發,就是在這種循環模式中不斷演變的。

大家可以想像,若有朝一日,機械人在世界橫行,那「我不是機器人」這種驗證方法就不得不被時代淘汰了。

相關文章 related articles:

Google 2020 年度搜尋總結:全世界都問「為甚麼?」

Cyber security 專家告訴你,就算把密碼設置為「jK8v!ge4D」仍然不安全

Free anti-virus software 在家遠距工作 網路安全也要顧