什么是驗證碼?
CAPTCHA 是一種挑戰(zhàn)-響應(yīng)測試,作為網(wǎng)站、搜索引擎和 Web 應(yīng)用程序的身份驗證機制,以確保用戶(有或沒有基于密碼的憑據(jù))是人類,而不是試圖擠滿系統(tǒng)并導致網(wǎng)絡(luò)攻擊。
今天,訪問 Internet 的海量信息已成為所有用戶的必需。互聯(lián)網(wǎng)服務(wù)包括免費電子郵件帳戶創(chuàng)建、在線投票、在線支付、電子轉(zhuǎn)賬和其他數(shù)字社交和商業(yè)活動。
此外,這些站點經(jīng)常受到機器人程序的攻擊,機器人程序是自動計算機程序。為了解決這個問題,創(chuàng)建了區(qū)分計算機和人類的全自動公共圖靈測試(通常縮寫為 CAPTCHA)以區(qū)分機器人和人類。
術(shù)語“圖靈測試”是驗證碼的核心。圖靈測試評估計算機模擬人類行為的能力。1950 年,計算和人工智能 (AI)的早期先驅(qū) Alan Turing創(chuàng)建了圖靈測試。如果計算機程序在整個測試過程中的行為無法與人的行為區(qū)分開來,即如果它的行為與人類相同,則該計算機程序“通過”了圖靈測試。圖靈測試不是基于正確回答問題;相反,它關(guān)心的是反應(yīng)看起來有多“人性化”,而不管它們是否準確。
有趣的是,雖然它被稱為“公共圖靈測試”,但驗證碼實際上是圖靈測試的逆過程。它識別據(jù)稱的人類操作員是否是計算機程序(機器人),而不是試圖確定計算機是否是人類?,F(xiàn)在讓我們探索這種廣泛使用的唯一安全方法背后的基本原理。
理解驗證碼的含義
CAPTCHA 是一種防止機器人訪問在線服務(wù)的安全措施。它們的功能是為用戶提供解釋信息。傳統(tǒng)的驗證碼由扭曲或重疊的數(shù)字和字母組成,用戶必須將這些數(shù)字和字母輸入到表格或框中。字母失真使機器人無法理解文本,從而阻止訪問,直到字母和數(shù)字得到驗證。
這種類型的驗證碼側(cè)重于個人根據(jù)不同的先前經(jīng)驗概括和檢測不熟悉模式的能力。相比之下,機器人通常只能遵循預先確定的模式或輸入隨機字符。此限制降低了機器人準確預測正確組合的可能性。
自從引入 CAPTCHA 以來,惡意玩家開發(fā)了基于學習的機器人(類似于機器人過程自動化或 RPA 中使用的機器人) 。使用經(jīng)過模式識別訓練的算法,機器人可以識別傳統(tǒng)的驗證碼。作為這一進步的結(jié)果,現(xiàn)代驗證碼技術(shù)基于越來越復雜的測試。例如,reCAPTCHA 要求用戶點擊屏幕的特定區(qū)域并等待超時。
reCAPTCHA 是比標準 CAPTCHA 驗證更高級的 CAPTCHA 驗證。一些 reCAPTCHA,類似于 CAPTCHA,要求用戶提交難以理解的文本圖像。reCAPTCHA 與標準 CAPTCHA 不同,它從現(xiàn)實世界的材料中獲取內(nèi)容,例如街道地址的照片、印刷書籍中的文字等。
卡內(nèi)基梅隆大學的研究人員開發(fā)了 reCAPTCHA 技術(shù),谷歌于 2009 年收購了該技術(shù)。
驗證碼的演變
1997 年,搜索引擎 Alta-Vista 尋求一種技術(shù)來防止自動統(tǒng)一資源定位器 (URL)輸入到其搜索引擎。這是第一次使用類似 CAPTCHA 的東西。
Alta Vista 的首席科學家安德烈·布羅德 (Andrei Broder) 開發(fā)了一個系統(tǒng),可以隨機生成一張文字圖片,這是驗證碼方法的第一個例子。計算機無法識別它,但人們可以相對輕松地讀取并將其寫入文本字段。此后,大多數(shù)在線服務(wù)提供商都采用了這種創(chuàng)新技術(shù)。
2000 年,卡內(nèi)基梅隆大學的專家進一步開發(fā)了該算法,并將由此產(chǎn)生的技術(shù)命名為 CAPTCHA。2001 年 4 月,Andrei Broder 和他的同事獲得了一項專利。從那時起,該領(lǐng)域一直在進行持續(xù)而深入的努力,但仍然需要新技術(shù)或?qū)ΜF(xiàn)有技術(shù)進行改進。
驗證碼的應(yīng)用
所有希望防止自動訪問的網(wǎng)站都使用驗證碼。CAPTCHA 的一些常見插圖包括:
保護在線民意調(diào)查:通過驗證每張選票是否由個人投票,CAPTCHA 有助于防止民意調(diào)查出現(xiàn)偏差。雖然這不會限制投票總數(shù),但會增加每次投票所需的時間,從而阻止重復投票。
將注冊限制為真實用戶:服務(wù)可以使用驗證碼來防止機器人淹沒注冊系統(tǒng)并生成虛假帳戶。限制帳戶的創(chuàng)建可以避免服務(wù)資源的浪費并降低欺詐風險。
保護基于需求的定價系統(tǒng):使用驗證碼,票務(wù)系統(tǒng)可能會禁止黃牛獲取大量的通行證或門票進行轉(zhuǎn)售,從而導致價格上漲。它還可以用于防止欺詐性事件注冊。
驗證評論:CAPTCHA 可以防止機器人充斥互聯(lián)網(wǎng)論壇、反饋表和評論站點。CAPTCHA 所需的附加元素還可以通過給此類網(wǎng)絡(luò)威脅參與者帶來不便來幫助遏制在線濫用。
驗證碼的缺點
使用 CAPTCHA 時還應(yīng)考慮一些陷阱。首先,CAPTCHA 評估可能會阻止用戶嘗試執(zhí)行的操作,給他們留下對他們在在線域中的交互的不良印象,并且在某些情況下,迫使他們完全離開網(wǎng)頁。
大多數(shù)驗證碼對視障用戶不可用,因為它們需要視覺處理。這使得它們對于有視力障礙的人和任何視力嚴重受損的人來說幾乎是不可能的。但是有一些解決方法,我們稍后會討論。最后,CAPTCHA 并非萬無一失,由于一些固有的安全漏洞,不應(yīng)依賴它來提供全面的機器人保護。
關(guān)鍵詞: 什么是驗證碼 驗證碼的應(yīng)用 驗證碼的缺點 驗證碼的發(fā)展