“你永遠(yuǎn)不知道,網(wǎng)絡(luò)對(duì)面坐的一個(gè)人還是一只狗”
--網(wǎng)友戲說(shuō)
視頻、出行、購(gòu)物等網(wǎng)站的使用者,就一定是人類(lèi)嗎?會(huì)不會(huì)是偽裝成“人類(lèi)”的計(jì)算機(jī)呢?
為了能夠識(shí)別人類(lèi)和計(jì)算機(jī),“驗(yàn)證碼”應(yīng)運(yùn)而生。
今天,讓我們了解一下驗(yàn)證碼的前世今生吧!
01
先了解什么是“圖靈測(cè)試”
從1946年世界上第一臺(tái)計(jì)算機(jī)出現(xiàn)開(kāi)始,聰明的人類(lèi)就已經(jīng)考慮計(jì)算機(jī)發(fā)展到替代人類(lèi)的可能性。艾倫·麥席森·圖靈,被稱為計(jì)算機(jī)科學(xué)之父、人工智能之父,專(zhuān)門(mén)設(shè)計(jì)了一個(gè)著名的“圖靈測(cè)試”,用來(lái)判定計(jì)算機(jī)能否在智力行為上表現(xiàn)得和人無(wú)法區(qū)分。
當(dāng)主持人問(wèn)了1個(gè)問(wèn)題,然后無(wú)法從2個(gè)解答中分辨出誰(shuí)是人類(lèi)、誰(shuí)是計(jì)算機(jī)時(shí),就表明計(jì)算機(jī)的智能水平已經(jīng)與人類(lèi)沒(méi)有差異了。
“圖靈測(cè)試”是由人類(lèi)來(lái)判斷:誰(shuí)是計(jì)算機(jī)?誰(shuí)是人類(lèi)?
最重要的目的,是識(shí)別出計(jì)算機(jī)。
02
反過(guò)來(lái)的“圖靈測(cè)試” 就是驗(yàn)證碼
那么“驗(yàn)證碼”,是由計(jì)算機(jī)來(lái)判斷:誰(shuí)是人類(lèi)?誰(shuí)是計(jì)算機(jī)?
最重要的目的,是識(shí)別出人類(lèi)。
這一點(diǎn),可以從驗(yàn)證碼的中英文全稱中看出來(lái):CAPTCHA(Completely Automated Public Turing Test to Tell Computers and Humans Apart, 全自動(dòng)區(qū)分計(jì)算機(jī)和人類(lèi)的公開(kāi)圖靈測(cè)試),又名HIP(Human Interaction Proof,人類(lèi)交互行為證明)。
最典型的驗(yàn)證碼,如下圖所示。
以目前的眼光來(lái)看,這個(gè)驗(yàn)證碼確實(shí)略顯簡(jiǎn)陋。
但是在計(jì)算機(jī)技術(shù)還不發(fā)達(dá)的年代,這樣的驗(yàn)證碼,已經(jīng)足以識(shí)別出人類(lèi):
-
只有人類(lèi),才能識(shí)別出驗(yàn)證碼中被嚴(yán)重扭曲的字母或者數(shù)字;
-
而計(jì)算機(jī),則無(wú)法識(shí)別。
基于這樣的驗(yàn)證碼,各種計(jì)算機(jī)系統(tǒng)(例如:網(wǎng)站、郵箱等)成功識(shí)別到真正的人類(lèi)后,允許人類(lèi)繼續(xù)操作,比如:登錄郵箱、投票等。
03
為“保護(hù)”而生的驗(yàn)證碼
當(dāng)各種計(jì)算機(jī)系統(tǒng)無(wú)法識(shí)別人類(lèi)和計(jì)算機(jī)時(shí),計(jì)算機(jī)技術(shù)也能給人類(lèi)帶來(lái)麻煩,例如:
-
郵箱的泛濫注冊(cè),導(dǎo)致垃圾郵件滿天飛;
-
投票的野蠻刷票,導(dǎo)致投票結(jié)果不公正;
-
車(chē)票的插件搶占,導(dǎo)致返鄉(xiāng)車(chē)票買(mǎi)不到。
1999年一個(gè)網(wǎng)站發(fā)起的在線投票,推選全美計(jì)算機(jī)科學(xué)專(zhuān)業(yè)最好的學(xué)校時(shí),按理來(lái)說(shuō)是一個(gè)人投一張票。但是投票網(wǎng)站在設(shè)計(jì)的時(shí)候,沒(méi)有考慮太多,只以投票者所在計(jì)算機(jī)的IP地址作為判斷依據(jù)。
于是有人編寫(xiě)了計(jì)算機(jī)腳本進(jìn)行批量刷票:每次投票完后更改一個(gè)IP地址,然后繼續(xù)投票。這樣的話,有成千上萬(wàn)個(gè)IP地址就代表了成千上萬(wàn)個(gè)不同的人,就可以投成千上萬(wàn)票。
這樣的計(jì)算機(jī)技術(shù),無(wú)疑是影響到了整個(gè)投票的公平性。
所以說(shuō),各種計(jì)算機(jī)系統(tǒng),需要一個(gè)堅(jiān)固的“盾”來(lái)保護(hù)自己。
實(shí)際上,第一種驗(yàn)證碼(字符型)的出現(xiàn),就是為了對(duì)抗“自動(dòng)刷票”這種計(jì)算機(jī)技術(shù)的。
04
越來(lái)越堅(jiān)固的“盾”
那么你知道都有哪些千奇百怪的“驗(yàn)證碼”嗎?
01
字符型
字符型驗(yàn)證碼,是我們?nèi)粘W罱?jīng)常見(jiàn)到的驗(yàn)證碼。通常是一些字母、數(shù)字的組合,而且為了增加識(shí)別的難度,這些字符經(jīng)常會(huì)被變形、被扭曲、被翻轉(zhuǎn)。
隨著計(jì)算機(jī)技術(shù)的發(fā)展,字符型驗(yàn)證碼的安全程度在降低,逐漸被其他類(lèi)型驗(yàn)證碼替代。
02
計(jì)算型
計(jì)算型驗(yàn)證碼,通常是一些數(shù)學(xué)公式,需要人類(lèi)發(fā)動(dòng)聰明的大腦進(jìn)行復(fù)雜的運(yùn)算,才能得出正確的結(jié)果。
很遺憾,這種可以提供較高安全性的驗(yàn)證碼,雖然計(jì)算機(jī)很難識(shí)別,但是大部分人類(lèi)自己也覺(jué)得很難。所以計(jì)算型驗(yàn)證碼,并沒(méi)有廣泛應(yīng)用過(guò)。
03
點(diǎn)擊型
點(diǎn)擊型驗(yàn)證碼的最大特點(diǎn)是:使用者只需要通過(guò)鼠標(biāo)進(jìn)行點(diǎn)擊,不需要輸入任何東西。通過(guò)這種人類(lèi)專(zhuān)屬的行為動(dòng)作,以及使用者在瀏覽器中的一些操作數(shù)據(jù)、瀏覽數(shù)據(jù)等,共同識(shí)別出真正的人類(lèi)。
點(diǎn)擊型驗(yàn)證碼的安全性較高,而且用戶體驗(yàn)較好。
在一些重要的計(jì)算機(jī)系統(tǒng),例如:動(dòng)車(chē)售票網(wǎng)站、大型購(gòu)物網(wǎng)站、大型視頻網(wǎng)站等用戶量較大、數(shù)據(jù)安全要求高的地方,采用點(diǎn)擊型驗(yàn)證碼,可以有效識(shí)別人類(lèi),避免其他計(jì)算機(jī)的攻擊。
04
滑動(dòng)型
滑動(dòng)型驗(yàn)證碼通過(guò)收集使用者的動(dòng)作,判斷是否為人類(lèi)。例如:人類(lèi)拖動(dòng)滑塊的軌跡會(huì)是一個(gè)先快后慢的過(guò)程:先快速拖動(dòng),后慢慢對(duì)齊,再瞬間釋放。
這種驗(yàn)證碼的用戶體驗(yàn)較好,雖然被計(jì)算機(jī)技術(shù)突破的成功率也有60%以上,但是計(jì)算機(jī)技術(shù)模擬人類(lèi)行為的成本較大,得不償失。
05
短信型
短信型驗(yàn)證碼,是最常用的一種方式。各種App一般會(huì)采用這種方式,簡(jiǎn)單直接,通過(guò)運(yùn)營(yíng)商來(lái)發(fā)送短信,安全上有保障。
每個(gè)驗(yàn)證碼與手機(jī)號(hào)碼相對(duì)應(yīng)而且一般有效期僅為60秒~90秒,不留其他人鉆空子的機(jī)會(huì)。
06
掃碼型
掃碼型驗(yàn)證碼,實(shí)際上就是首先確保在手機(jī)上已經(jīng)成功登錄,然后通過(guò)掃描二維碼的方式在PC上繼續(xù)登錄。這是如今各大視頻網(wǎng)站、購(gòu)物網(wǎng)站的常用方法。
讓人類(lèi)自己去驗(yàn)證人類(lèi)自己,嘿,這方法真棒。
07
生物特征型
各種人臉識(shí)別、指紋識(shí)別、聲紋識(shí)別甚至虹膜識(shí)別,都可以算作是生物特征型驗(yàn)證碼。使用起來(lái)更加簡(jiǎn)單,而且因?yàn)檫@些生物特征在每個(gè)人類(lèi)中的獨(dú)特性,猶如一把專(zhuān)屬鑰匙,具備較高的安全性。
05
越來(lái)越鋒利的“矛”
雖然“盾”很堅(jiān)固,但是隨著計(jì)算機(jī)技術(shù)的不斷進(jìn)步,鋒利的“矛”也層出不窮。
為了突破驗(yàn)證碼的保護(hù),發(fā)展出了以下的計(jì)算機(jī)技術(shù):
01
OCR技術(shù)
OCR (Optical Character Recognition,光學(xué)字符識(shí)別)技術(shù),可以將圖片、照片上的文字內(nèi)容,直接轉(zhuǎn)換為可編輯的文本。
2003年有人通過(guò)圖像識(shí)別算法(Shape Context)對(duì)簡(jiǎn)單字符型的驗(yàn)證碼進(jìn)行自動(dòng)化識(shí)別,可以達(dá)到93%的成功率。
OCR技術(shù)僅能攻破一些簡(jiǎn)單的字符型驗(yàn)證碼,稍微復(fù)雜一些(比如扭曲、翻轉(zhuǎn))的字符,就需要花費(fèi)更多時(shí)間,一般無(wú)法在字符型驗(yàn)證失效前識(shí)別成功。
02
機(jī)器學(xué)習(xí)模型
2005年有人利用機(jī)器學(xué)習(xí)模型(CNN)對(duì)單個(gè)字符的驗(yàn)證碼進(jìn)行自動(dòng)化識(shí)別,計(jì)算機(jī)的識(shí)別成功率竟然還比人類(lèi)的成功率還高。
然而,要想使用機(jī)器學(xué)習(xí)模型來(lái)識(shí)別字符型驗(yàn)證碼,需要先準(zhǔn)備好多臺(tái)高性能計(jì)算機(jī)和大量的訓(xùn)練數(shù)據(jù),因此模型識(shí)別的成本太高,一般人用不起。
03
偽裝的手機(jī)基站
要想破解短信型驗(yàn)證碼,偽裝的手機(jī)基站需要首先屏蔽目標(biāo)手機(jī)的信號(hào),然后以這個(gè)手機(jī)號(hào)碼去嘗試登錄網(wǎng)站,還要能夠偽裝目標(biāo)手機(jī)去接收短信。
各個(gè)環(huán)節(jié)都要在短時(shí)間內(nèi)完成,簡(jiǎn)直就是Mission Impossible,而且每一步都是違法違規(guī),破解成本高到天際了。
04
終極的“偽裝”
“能打敗人類(lèi)的,終將是人類(lèi)自己”!
當(dāng)人類(lèi)擁有走出宇宙文明的計(jì)算機(jī)技術(shù)時(shí),是否可以通過(guò)克隆出一個(gè)人類(lèi),讓這個(gè)復(fù)制出來(lái)的人類(lèi)去破解各種各樣的驗(yàn)證碼,豈不是手到擒來(lái)?!
當(dāng)然,這僅僅是小編的一丟丟幻想,可能會(huì)在科幻片里看到,各位粉絲不要當(dāng)真哦!
好的,今天的內(nèi)容就是這些啦,和小編一起回顧一下吧:
-
“圖靈測(cè)試”是為了分辨出誰(shuí)才是計(jì)算機(jī);
-
“驗(yàn)證碼”是為了分辨出誰(shuí)才是人類(lèi);
-
千奇百怪的“驗(yàn)證碼”保護(hù)著各種計(jì)算機(jī)系統(tǒng);
-
層出不窮的“計(jì)算機(jī)技術(shù)”不斷提高自己偽裝成人類(lèi)的能力。
作為“盾”,驗(yàn)證碼如何才能更安全、更易用?
作為“矛”,計(jì)算機(jī)技術(shù)如何才能突破驗(yàn)證碼的嚴(yán)防死守?
這些問(wèn)題,都需要交給聰明的人類(lèi)、更加智能的計(jì)算機(jī)技術(shù)去解答。
可以預(yù)見(jiàn),作為“人類(lèi)與計(jì)算機(jī)的角斗場(chǎng)”的驗(yàn)證碼,將迎來(lái)更多的攻防機(jī)會(huì),同時(shí)也會(huì)給我們的社會(huì)帶來(lái)更多的改變,讓我們拭目以待!
轉(zhuǎn)載內(nèi)容僅代表作者觀點(diǎn)
不代表中科院物理所立場(chǎng)
來(lái)源:中興文檔
編輯:Garrett