登入或是申請帳號時,應該都碰過輸入「驗證碼」的經歷吧!大多是輸入一串歪七扭八的英文數字,有時會碰到「點選有車子的照片」這種模式,還有一種驗證要你打勾「我不是機器人」。相信不少人都非常好奇,電腦到底是怎麼透過一個點選打勾的過程就能知道我到底是不是機器人呢?

翻攝自i:Engineer,下同
光是點一下這樣的小動作就能判定,應該不少人會懷疑這樣真的準嗎?畢竟以人腦來說,「點一下」跟「判斷亂七八糟的文字」相比,點一下真的簡單太多了。

日本資訊工程教授大久保隆夫博士解釋了網路上常見的「我不是機器人」判讀原理。教授先提到,這樣的系統只能辨識登入者是人類還是機器人,不能像帳號密碼那樣完成「身分認證」。

也就是說,這系統只能判定你是人類還是電腦機器人,無法判定你是否為帳號本人。系統會自動相信這組帳號與密碼的主人就是你,接著跳出辨識系統來判定你是不是人類。

大久保教授說道,其實「reCAPTCHA」辨識系統從過去的輸入文字到選擇圖片再到點選我不是機器人,是一連串進步的歷程。大家會覺得,這個驗證越進步,應該要越來越繁複,才不會被電腦破解,但實際上卻越來越簡單,只要按一個鍵就能解決。大久保教授解釋,其實並不是用有無「打勾」判讀你是不是機器人,而是在打勾前就判讀完成了。

「reCAPTCHA」系統辨識以「拉卷軸的速度、移動游標的軌跡、點擊的頻率和次數」為主要判定項目。

因為要打勾前,要先拉動卷軸,移動游標到框框上,這些步驟是系統判定是否為人類的重要依據。大久保教授說,因為現在AI技術越來越進步,像是以前的輸入文字、選擇圖片常常能被破解。

但其實真正被破解的原因其實並不是圖片或文字被機器人成功辨識,而是那種系統為了讓眼睛不方便的人也可以使用,所以通常有聲音模式,讓人們輸入聽到的內容,播放出來的驗證碼以「語音轉文字」的形式被破解才是主因。

每當有人做出新的辨識系統,就會有人想盡辦法破解,這就是資安的攻防戰。所以不要小看點一下小框框的這個舉動,裡面充滿著許多秘密呢!
