說文解字第26課:驗證碼CAPTCHA

2022.03.23 01:00PM
是說文解字第26課:驗證碼CAPTCHA這篇文章的首圖

大家應該許多網頁上由歪歪斜斜英文字母組成的驗證碼並不陌生,也很習慣在登入網站、訂票的時候輸入驗證碼,就讓我們來看看這些字母背後的故事吧。

防止機器人濫用

驗證碼的英文名稱是CAPTCHA,縮寫自Completely Automated Public Turing test to tell Computers and Humans Apart,中文可以翻譯為「全自動區分電腦和人類的公開圖靈測試」。

其中圖靈測試是由英國數學家艾倫•圖靈所提出的概念,用於鑑別機械是否擁有智慧。方式為讓測試者詢問以及正常人一些問題,在經過許多問答後,測試者如果無法分辨哪個是電腦、哪個是人類,就代表電腦通過圖靈測試,擁有智慧。

雖然驗證碼的名字中雖有圖靈測試,但是它的做法是讓電腦提問,看看是否能夠得到正確答案,若可以的話,則判定回答者是人類,功用恰好相反,所以應該稱為反向圖靈測試更加貼切。

驗證碼的目的在於讓程式判斷執行操作的「使用者」,是真正的人類還是機器人(並非指機械,而是能夠自動執行的程式),進而阻檔機器人不當濫用網站或各種服務。

舉例來說,在沒有驗證碼保護的情況下,如果透過機器人操作演唱會或車票的訂票網站,就能因為操作速度非常快的關係,搶到許多票。更糟的是,如果利用機器人以暴力破解法,透過不斷嘗試的方式破解網站登入密碼,也很可能因為機器人可以在短短幾秒內進行無數次嘗試,而成功破解密碼。

為了防止這種情況發生,許多網站便會導入驗證碼措施,以利阻檔機器人的不當操作。最常見的驗證碼就是透過圖像處理的方式,將英文字母與數字弄得歪歪斜斜,讓機器人的文字辨識功能無法解讀文字,如果使用者能辨識並輸入正確答案,代表使用者是人類,所以可以通過驗證,若無法答對,就會被判定為機器人,而被阻檔下來。

f9f7479fe2f6b47d5d9877e64ad0a87e

▲以高鐵訂票網站為例,使用者需要在下方輸入驗證碼才能完成訂票。


進化到圖像問答甚至無需操作

在將紙本書籍數位化的過程中,會先將書本1頁1頁掃瞄成圖像檔案,再透過光學文字辨識技術(OCR,Optical Character Recognition)將圖片轉成文字檔,但是因為印刷品質或是掃瞄過程的瑕疵,會導致部分文字無法順利辨識,由卡內基美隆大學(Carnegie Mellon University)提出的reCAPTCHA計畫,便是利用驗證碼概念開發的「人肉文字辨識系統」。

在實際使用reCAPTCHA的過程中,系統會顯示2組歪斜的英文單字,其中1組是由電腦產生的驗證碼,另一組則是數位化時辨識失敗的文字。如果使用者在回答時答對驗證碼,代表他是認真判讀這些文字,因此系統能夠確定另一個單字就是辨識失敗的文字,如此一來便能解決數位化時留下的難題。

reCAPTCHA在2009年9月17日被Google收購,並於2012年起也被用於辨識Google街景拍攝的門牌號碼照片,讓單純分辨使用者是人類還是機器人的機制,也產生了額外的附加價值。

隨後reCAPTCHA也導入圖像式問題,透過讓使用者辨識、點選圖中的車輛、動物等問題,來判斷使用者身份,由於這樣一來就不需要輸入文字,因此操作上更加便捷,也更適合智慧型手機等行動裝置使用。

而採用人工智慧主動辨識使用者身份的No CAPTCHA reCAPTCHA,則讓操作更為簡單,系統會在使用者瀏覽網頁時,透過人工智慧分析操作與瀏覽的模式,如果符合人類模式,使用者在點擊「我不是機器人」按鈕後,就不需回答任何問題,但如果模式比較可疑的話,仍然需要回答驗證問題。這種技術能讓驗證手續更加簡單,也能降低對使用者的干擾,提供更舒適的上網體驗。

fda720c62ef4ca63f2eda7f0d90cec17

▲reCAPTCHA讓使用者在輸入驗證碼的過程式,順便幫忙輸入無法透過OCR辨識的文字。

d7b9558d6768eb3cce9fed0707bcc753

▲現在也有採用圖像驗證碼型式的reCAPTCHA。

▲No CAPTCHA reCAPTCHA會利用人工智慧分析使用者的身份,如此一來不需就可以省下回答問題的麻煩。

說文解字使用範例:

O:為了防止濫用機器人搶票,大部分的訂票系統都設有驗證碼。

X:把驗證碼輸入核彈發射裝置,世界末日就進入倒數計時。

1 則回應