偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

驗證碼的前世今生

安全 數(shù)據(jù)安全
可以預見,作為“人類與計算機的角斗場”的驗證碼,將迎來更多的攻防機會,同時也會給我們的社會帶來更多的改變,讓我們拭目以待!

“你永遠不知道,網(wǎng)絡對面坐的一個人還是一只狗”

--網(wǎng)友戲說

視頻、出行、購物等網(wǎng)站的使用者,就一定是人類嗎?會不會是偽裝成“人類”的計算機呢?

為了能夠識別人類和計算機,“驗證碼”應運而生。

今天,讓我們了解一下驗證碼的前世今生吧!

01.先了解什么是“圖靈測試”

從1946年世界上第一臺計算機出現(xiàn)開始,聰明的人類就已經(jīng)考慮計算機發(fā)展到替代人類的可能性。艾倫·麥席森·圖靈,被稱為計算機科學之父、人工智能之父,專門設計了一個著名的“圖靈測試”,用來判定計算機能否在智力行為上表現(xiàn)得和人無法區(qū)分。

當主持人問了1個問題,然后無法從2個解答中分辨出誰是人類、誰是計算機時,就表明計算機的智能水平已經(jīng)與人類沒有差異了。

“圖靈測試”是由人類來判斷:誰是計算機?

誰是人類?最重要的目的,是識別出計算機。

02.反過來的“圖靈測試” 就是驗證碼

那么“驗證碼”,是由計算機來判斷:誰是人類?

誰是計算機?最重要的目的,是識別出人類。

這一點,可以從驗證碼的中英文全稱中看出來:CAPTCHA(Completely Automated Public Turing Test to Tell Computers and Humans Apart, 全自動區(qū)分計算機和人類的公開圖靈測試),又名HIP(Human Interaction Proof,人類交互行為證明)。

最典型的驗證碼,如下圖所示。

以目前的眼光來看,這個驗證碼確實略顯簡陋。

但是在計算機技術還不發(fā)達的年代,這樣的驗證碼,已經(jīng)足以識別出人類:

  • 只有人類,才能識別出驗證碼中被嚴重扭曲的字母或者數(shù)字;
  • 而計算機,則無法識別。

基于這樣的驗證碼,各種計算機系統(tǒng)(例如:網(wǎng)站、郵箱等)成功識別到真正的人類后,允許人類繼續(xù)操作,比如:登錄郵箱、投票等。

03.為“保護”而生的驗證碼

當各種計算機系統(tǒng)無法識別人類和計算機時,計算機技術也能給人類帶來麻煩,例如:

  • 郵箱的泛濫注冊,導致垃圾郵件滿天飛;
  • 投票的野蠻刷票,導致投票結果不公正;
  • 車票的插件搶占,導致返鄉(xiāng)車票買不到。

1999年一個網(wǎng)站發(fā)起的在線投票,推選全美計算機科學專業(yè)最好的學校時,按理來說是一個人投一張票。但是投票網(wǎng)站在設計的時候,沒有考慮太多,只以投票者所在計算機的IP地址作為判斷依據(jù)。

于是有人編寫了計算機腳本進行批量刷票:每次投票完后更改一個IP地址,然后繼續(xù)投票。這樣的話,有成千上萬個IP地址就代表了成千上萬個不同的人,就可以投成千上萬票。

這樣的計算機技術,無疑是影響到了整個投票的公平性。

所以說,各種計算機系統(tǒng),需要一個堅固的“盾”來保護自己。

實際上,第一種驗證碼(字符型)的出現(xiàn),就是為了對抗“自動刷票”這種計算機技術的。

4. 越來越堅固的“盾”

那么你知道都有哪些千奇百怪的“驗證碼”嗎?

(1) 字符型

字符型驗證碼,是我們?nèi)粘W罱?jīng)常見到的驗證碼。通常是一些字母、數(shù)字的組合,而且為了增加識別的難度,這些字符經(jīng)常會被變形、被扭曲、被翻轉(zhuǎn)。

隨著計算機技術的發(fā)展,字符型驗證碼的安全程度在降低,逐漸被其他類型驗證碼替代。

(2) 計算型

計算型驗證碼,通常是一些數(shù)學公式,需要人類發(fā)動聰明的大腦進行復雜的運算,才能得出正確的結果。

很遺憾,這種可以提供較高安全性的驗證碼,雖然計算機很難識別,但是大部分人類自己也覺得很難。所以計算型驗證碼,并沒有廣泛應用過。

(3) 點擊型

點擊型驗證碼的最大特點是:使用者只需要通過鼠標進行點擊,不需要輸入任何東西。通過這種人類專屬的行為動作,以及使用者在瀏覽器中的一些操作數(shù)據(jù)、瀏覽數(shù)據(jù)等,共同識別出真正的人類。

點擊型驗證碼的安全性較高,而且用戶體驗較好。

在一些重要的計算機系統(tǒng),例如:動車售票網(wǎng)站、大型購物網(wǎng)站、大型視頻網(wǎng)站等用戶量較大、數(shù)據(jù)安全要求高的地方,采用點擊型驗證碼,可以有效識別人類,避免其他計算機的攻擊。

(4) 滑動型

滑動型驗證碼通過收集使用者的動作,判斷是否為人類。例如:人類拖動滑塊的軌跡會是一個先快后慢的過程:先快速拖動,后慢慢對齊,再瞬間釋放。

這種驗證碼的用戶體驗較好,雖然被計算機技術突破的成功率也有60%以上,但是計算機技術模擬人類行為的成本較大,得不償失。

(5) 短信型

短信型驗證碼,是最常用的一種方式。各種APP一般會采用這種方式,簡單直接,通過運營商來發(fā)送短信,安全上有保障。

每個驗證碼與手機號碼相對應而且一般有效期僅為60秒~90秒,不留其他人鉆空子的機會。

(6) 掃碼型

掃碼型驗證碼,實際上就是首先確保在手機上已經(jīng)成功登錄,然后通過掃描二維碼的方式在PC上繼續(xù)登錄。這是如今各大視頻網(wǎng)站、購物網(wǎng)站的常用方法。

讓人類自己去驗證人類自己,嘿,這方法真棒。

(7) 生物特征型

各種人臉識別、指紋識別、聲紋識別甚至虹膜識別,都可以算作是生物特征型驗證碼。使用起來更加簡單,而且因為這些生物特征在每個人類中的獨特性,猶如一把專屬鑰匙,具備較高的安全性。

5. 越來越鋒利的“矛”

雖然“盾”很堅固,但是隨著計算機技術的不斷進步,鋒利的“矛”也層出不窮。

為了突破驗證碼的保護,發(fā)展出了以下的計算機技術:

(1) OCR技術

OCR (Optical Character Recognition,光學字符識別)技術,可以將圖片、照片上的文字內(nèi)容,直接轉(zhuǎn)換為可編輯的文本。

2003年有人通過圖像識別算法(Shape Context)對簡單字符型的驗證碼進行自動化識別,可以達到93%的成功率。

OCR技術僅能攻破一些簡單的字符型驗證碼,稍微復雜一些(比如扭曲、翻轉(zhuǎn))的字符,就需要花費更多時間,一般無法在字符型驗證失效前識別成功。

(2) 機器學習模型

2005年有人利用機器學習模型(CNN)對單個字符的驗證碼進行自動化識別,計算機的識別成功率竟然還比人類的成功率還高。

然而,要想使用機器學習模型來識別字符型驗證碼,需要先準備好多臺高性能計算機和大量的訓練數(shù)據(jù),因此模型識別的成本太高,一般人用不起。

(3) 偽裝的手機基站

要想破解短信型驗證碼,偽裝的手機基站需要首先屏蔽目標手機的信號,然后以這個手機號碼去嘗試登錄網(wǎng)站,還要能夠偽裝目標手機去接收短信。

各個環(huán)節(jié)都要在短時間內(nèi)完成,簡直就是Mission Impossible,而且每一步都是違法違規(guī),破解成本高到天際了。

(4) 終極的“偽裝”“

能打敗人類的,終將是人類自己”!

當人類擁有走出宇宙文明的計算機技術時,是否可以通過克隆出一個人類,讓這個復制出來的人類去破解各種各樣的驗證碼,豈不是手到擒來?!

當然,這僅僅是小編的一丟丟幻想,可能會在科幻片里看到,各位粉絲不要當真哦!

好的,今天的內(nèi)容就是這些啦,和小編一起回顧一下吧:

  • “圖靈測試”是為了分辨出誰才是計算機;
  • “驗證碼”是為了分辨出誰才是人類;
  • 千奇百怪的“驗證碼”保護著各種計算機系統(tǒng);
  • 層出不窮的“計算機技術”不斷提高自己偽裝成人類的能力。

作為“盾”,驗證碼如何才能更安全、更易用?

作為“矛”,計算機技術如何才能突破驗證碼的嚴防死守?

這些問題,都需要交給聰明的人類、更加智能的計算機技術去解答。

可以預見,作為“人類與計算機的角斗場”的驗證碼,將迎來更多的攻防機會,同時也會給我們的社會帶來更多的改變,讓我們拭目以待!

責任編輯:趙寧寧 來源: 中興文檔
相關推薦

2016-11-03 13:33:31

2016-11-08 19:19:06

2014-07-30 10:55:27

2015-11-18 14:14:11

OPNFVNFV

2025-02-12 11:25:39

2011-08-23 09:52:31

CSS

2013-06-19 10:19:59

2011-05-13 09:43:27

產(chǎn)品經(jīng)理PM

2015-06-11 11:10:09

對象存儲云存儲

2019-08-05 10:08:25

軟件操作系統(tǒng)程序員

2021-04-15 07:01:28

區(qū)塊鏈分布式DLT

2013-11-14 16:03:23

Android設計Android Des

2019-04-28 09:34:06

2022-11-07 14:23:35

RPA人工智能流程自動化管理

2014-07-15 10:31:07

asyncawait

2014-07-21 12:57:25

諾基亞微軟裁員

2016-12-29 13:34:04

阿爾法狗圍棋計算機

2021-06-17 07:08:19

Tapablewebpack JavaScript

2013-05-23 16:23:42

Windows Azu微軟公有云

2019-06-04 09:00:07

Jenkins X開源開發(fā)人員
點贊
收藏

51CTO技術棧公眾號