iT邦幫忙

2024 iThome 鐵人賽

DAY 17
0
Security

30 天成為 IAM 達人系列 第 17

Day 17: 身份管理進階:驗證碼機制 (CAPTCHA)

  • 分享至 

  • xImage
  •  

驗證碼機器(CAPTCHA)是非常流程的人機驗證機制,
也稱為圖靈測試,用以區分操作背後是人類或是機制,
透過驗證碼機制,可防止詐騙者和垃圾郵件出於惡意使用機器人填寫 Web 表單。

傳統的驗證碼會要求使用者輸入光學字元辨識 (OCR) 無法解釋的扭曲文字,
而較新的驗證碼技術則會根據活動來挑戰驗證人類用戶的身份。
許多網站要求用戶在登入帳戶個人資料,
或是提交註冊表單、發表評論或可能事機器人操作時進行驗證碼挑戰,
當通過測試挑戰則確認他們是人類,如失敗,則無法繼續網站/系統活動。

驗證碼的進程(Evolution)

網際網路蓬勃發展後,各式的網站與應用服務,
開始面臨大量機器人、惡意的註冊活動,例如電子郵件、帳號等,
或是避免搜尋引擎遭植入惡意的網址連結(URL),
因此技術人員開始研究如何透過驗證碼機制來降低這類惡意活動。

第一代驗證碼

透過產生隨機文字,以及光學辨識(OCR)無法識別的扭曲程度,
要求使用者在輸入框輸入識別的文字、同時點擊「我不是機器人」,
透過只有人類能夠察覺與識別的結果,降低自動化程式或機器重複行為。
reCAPTCHA v1 約於 2007 年推出,
除了使基於文字的驗證碼挑戰更難被機器人破解外,
也提高當時用於數位化紙本文字的 OCR 準確性。
隨著時間的推移,認證碼機制也同步幫助改善人工智慧和機器學習演算法,
因為透過群眾的大規模訓練,協助 AI 在監督式學習下獲得改善與反饋。

第二代驗證碼

2014 年 Google 發布了 reCAPTCHA v2,
它用簡單的複選框取代文字和圖像的挑戰,
而是當使用者勾選該方塊時,reCAPTCHA v2 會分析使用者行為,
包括打字速度、cookie、裝置歷史記錄和 IP 位址等因素,
或是透過拖曳方框到指定位置的方式驗證,
因為人類的動作往往更加混亂,而機器操作的動作則可能更加精確,
藉此綜合確定使用者是否可能是人類的挑戰,

第三代驗證碼

reCAPTCHA v3 於 2018 年首次推出,
取消了傳統的核取方框,採用人工智慧為主的無驗證碼 reCAPTCHA,
透過綜合的交互互動行為分析,賦予機器或人類的分數評級,
如果分數太偏向機器,則降低操作行為被執行的優先序,
或可能要求進一步完成多因子認證挑戰等等。
透過 reCAPTCHA v3 採用人工智慧的身份驗證方法,
希望能降低駭客從已完成挑戰的識別碼資料庫當中破解驗證碼題目。

驗證碼的用途與限制 (Use Case)

驗證碼作為防止機器大量自動化存取系統服務,
可以透過偵測和預防措施提供多種常見防護用途,包括:

  1. 防止機器人自動註冊
  2. 防範網路程式自動化交易
  3. 保護問卷係由人類完成填駐
  4. 停止垃圾郵件或垃圾評論
  5. 防禦機器程式的暴力或字典攻擊

雖然驗證碼技術被廣泛防止機器存取,但同時也帶來顯著的缺點,包括:

  1. 使用者操作體驗不佳
  2. 不利視覺障礙人士完成挑戰
  3. 駭客運用 AI 通過驗證碼的能力也與時俱進,等等...

上一篇
Day 16: 身份管理進階:多因子認證 (MFA) 機制
下一篇
Day 18: 身份管理進階:API 安全管控機制
系列文
30 天成為 IAM 達人30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言