1997年,AltaVita公司的程式設計師利利布里奇和他的同事們第一次發明了扭曲字母驗證碼,目的是為了防止黑客入侵系統後臺。
驗證碼雖然發明的早,但它在2003年才有了自己的名字,當時卡內基梅隆大學的路易斯·馮·安把它叫做Captcha,這只是個縮略詞,它的全稱是:Comepletely Automated Public Turing Test To Tell Computers And Humans Apart,這串英文看起來有那麼長。
它的中文翻譯是:全自動區分計算機和人類的公開圖靈測試。
簡單來說,Captcha是用來區分正在操作機器的是人類還是計算機,所以它就必須滿足只有人類才能夠解答出來的驗證條件。
以搶票為例,只有這樣系統才能夠確認正在搶票的是人類,而不是黃牛的“外掛”。
在20世紀末季,人工智慧的技術水平不高,Captcha就能夠阻止大部分圖謀不軌的惡意程式。
但俗話說的話;世界上沒有不透風的牆,也沒有不存在bug的程式。不斷與系統作鬥爭的黑客會利用二值化處理、滴水演算法切割等一些聽起來很專業的技術來破解驗證碼。
另一方面又誕生出來“打碼工”這種職業,也就是我們在網上經常刷到的那種“只要會打字就能一天賺多少多少錢”的廣告,其實工作內容是讓你去人眼識別驗證碼,然後人工把識別結果錄入字型檔,讓機器去學習。
而機器在學習了上萬次正確識別後,就會變得非常聰明,所以僅僅只靠幾個扭曲變形的字母來阻止惡意程式,會非常的困難。
於是,驗證碼的加強版來了,鏤空、背景混淆、視線干擾線、能想到的辦法幾乎用了個遍,但機器越學越聰明,怎麼辦呢?安全專家只能夠進一步提升驗證碼的難度。
正是因為難度越來越大,吐槽那些我們遇到的奇葩驗證碼就成了我們網上的“梗”,比如讓你在十幾張圖片中找出所以汽車,或者讓你把拼圖拖動到指定的位置裡面去,又或者直接讓你手動輸入“我不是機器人”這句話。
現在,網際網路上出現了越來越多反人類的操作,我們已經分不清科技到底是不是在造福人類了。未來的人類又會用什麼方法來證明操作機器的是人類而不是機器人呢?讓我們一起期待吧。