你知道嗎,刷驗證碼實際上是為了驗證人類比機械人更愚蠢? 你以為刷拼圖、快速準確地對齊圖案就可以通過,系統還說你超過了99%的使用者,誇你“比閃電還快”,但實際上機械人畫得比你快更好,系統認為你“太傻了, 絕對不是機械人“,所以它通過了驗證。不少獲悉訊息的網友表示,“謝謝你被侮辱了”“看來我以前是小心翼翼的,很可悲”。
為什麼滑動驗證是乙個愚蠢的設計? 當人類緩慢地進行驗證時,為什麼要使用這種驗證碼? 為什麼要滑動驗證碼? 帳戶註冊、密碼恢復、資訊驗證、......在網際網絡的世界裡,使用驗證碼是不可避免的。 有些驗證方法操作起來比較困難,比如從朦朧的圖案中識別出數字或單詞的驗證碼,相比這些,滑塊驗證碼要友好得多,只需要簡單的滑動即可完成驗證。 這麼簡單的刷卡驗證碼如何區分人類和機械人?
來源:微信公眾號安全驗證截圖 Captcha 是“Completely Automated Public Turing Test to Tell Computers and Humans Distinguish”的縮寫,是現在很多人常用的方式,主要是為了防止使用者利用機械人惡意破解密碼、登入、泛洪、刷票等。 驗證碼由計算機生成,該計算機判斷使用者的響應,區分當前訪問者是人類還是機械人,並通過讓路或阻止來做出響應。 提高驗證碼的門檻,可以有效防止**被惡意訪問,保證網頁的正常秩序和安全。 驗證碼的形式有很多種,除了看圖片和輸入文字和數字之外,還有各種奇怪的驗證碼形式,比如依次點選正確的模式、計算數學題、輸入歷史事件日期等,內容涉及天文地理、高等數學歷史,所以有龐大的資料庫作為支撐, 而不斷學習和發展的機械人並沒有停止,而是人被難住了。然而,隨著科學技術的發展,無論驗證碼多麼困難,機械人都能輕鬆破解,在準確性和速度上都擊敗了人類。 2023年,加州大學歐文分校的研究人員在《密碼學與安全》雜誌上發表了一項研究,表明機械人在破解各種型別的驗證碼的時間和準確性方面幾乎超過了人類。 最簡單的點選識別,人類最早需要3個1秒,最高準確率85%,機械人只需要14秒即可通過,準確率高達100%; 識別失真的文字最早需要9秒,最低準確率為50%,最高為84%,而機械人不到1秒即可完成,準確率為998%;更難的**驗證,雖然機械人的速度略有下降,但需要175秒,但人類也快不了多少,15-26秒,機械人的準確率也和人類相當,都在80%以上。 並刷驗證碼,與機械人相比 53秒的時間,人類也慢了很多,平均為28-30秒。
來源:參考資料 [3] 由於無法與機械人相提並論,科學家們找到了另一種方式,選擇對機械人“愚蠢”。 例如,滑塊由背景和滑塊組成,在驗證過程中,使用者按住滑塊並沿著軌道滑到背景的指定位置,通常是一定長度的直線。 從表面上看,刷卡驗證的驗證方法是“滑塊是否正確拖放到間隙處”,但實際上驗證資訊是“拖拽軌跡是否符合真實使用者的行為特徵”,所以有時滑塊和間隙沒有對齊,驗證成功。 對於機械人來說,模擬滑鼠畫一條直線並不難,但要模擬真實使用者的拖拽軌跡。 人類很難快速畫出指定長度的完美直線,在移動滑塊的過程中,手會顫抖,速度會減慢,游標軌跡也會不規則地抖動。 真實使用者在每個游標軌跡下顯示的滑鼠移動方向、停頓時間、位移速度和壓縮程度等特徵是不同的,這種不規則性是機械人在程式設定下難以模仿和出現的。 因此,一旦滑塊快速均勻地移動,使用者就會被識別為機械人,無法驗證。 問題是,為什麼人們如此“愚蠢”,連直線都畫不出來?滑得越慢,越像人? 阻止我們畫出完美直線的“罪魁禍首”之一是震顫。 所謂震顫,是指我們在滑動驗證過程中雙手顫抖的現象。 當肌肉群不能協調和同步運動時,它們所支配的部位會出現不受控制的有節奏的顫抖或顫抖,這就是震顫,最常見的部位是手,但也常見於頭部、軀幹和腿部。 震顫分為生理性震顫和病理性震顫。 前者是與生俱來的,主要是因為身體的協調性和微妙的控制力有限。 當人們緊張、情緒激動、劇烈疼痛和極度疲倦時,生理性震顫更為明顯。 病理性震顫是一種由疾病引起的肢體運動障礙,主要表現為帕金森症候群和小腦震顫。 此外,震顫可分為靜止性震顫和動作性震顫。 靜止性震顫是當肢體的重量得到充分支撐和放鬆時發生的震顫,例如當手放鬆在膝蓋上時手的不自主顫抖。 這種型別的震顫在帕金森病患者中很常見。 肌肉收縮時會發生動作震顫,包括運動震顫、意向震顫等,這也是人們在滑動驗證時造成拖拽軌跡抖動的主要原因。
點選識別,人類不如機械人快圖源:QQ郵箱登入驗證截圖 有效鍛鍊相應的肌肉群,人們可以減弱震顫,例如拉直線是藝術生的基本技能,通過不斷的練習,美術生徒手畫出的直線比普通人更筆直。 雖然使用滑鼠與握筆不同,但兩者都可以通過在啞鈴等工具的幫助下鍛鍊手部肌肉來提高控制力。 然而,通過實踐打敗機械人仍然很困難。 因為除了震顫之外,注意力有限、反應遲鈍也是人類在滑動驗證過程中具有獨特行為特徵的原因。 人的手-眼-腦協調能力是在眼睛、大腦和手之間形成乙個訊號閉環。 當眼睛看到乙個物體時,它會發出訊號,通過神經系統動員骨骼,雙手完成設想的動作。 在背景內容過多的情況下,需要確定缺口的位置,還要觀察滑塊的運動狀態,以及注意力的分散,再加上缺乏精細的手眼腦協調,導致繪製的線條軌跡出現抖動和失真。 此外,整個手眼腦的訊號反饋系統也存在延遲。 從眼睛觀察到游標偏離航向並發出校正訊號,到大腦識別訊號並命令肌肉做出反應,神經傳導訊號存在時間延遲,這種反應延遲是自然的。 大衛·伊格曼(David Eagleman)在他的文章《大腦時間》(Brain Time)中解釋說,不同的感覺資訊在不同的神經結構中以不同的速率處理,視覺大腦最多必須等待0左右1 秒時間。 儘管人類能夠通過後天訓練提高他們的反應速度,但上公升空間有限。 響應越快,通過觀察到的參考資訊對肢體運動的糾正控制就越精確,如果反應不夠快,則在訊號被手部肌肉拾取之前完成抖動動作。 除非你刻意多次練習,否則大多數人還是會認為自己畫了一條指定長度的完美直線,但實際上他們已經在搖晃了。 除了滑塊之外,類似的驗證方法還有旋轉、手勢軌跡驗證等,與滑動驗證基本相同。
這些驗證碼,利用人類的行為特徵,使機械人難以準確模仿,安全且不易被誤傷,為真實使用者提供了良好的體驗。 看到這裡,在完成刷卡驗證後,你會得到“打敗99%的人”和“比閃電還快”的讚譽,希望你還能保持之前的快樂和自豪,畢竟這至少說明機械人無法取代人類。