• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      新型三維可操控驗(yàn)證碼設(shè)計(jì)與實(shí)現(xiàn)

      2013-12-29 00:00:00陸嘉輝
      中國(guó)科技教育 2013年10期

      研究背景

      在驗(yàn)證碼出現(xiàn)以前,黑客可通過(guò)暴力搜索破解賬戶密碼,造成用戶的巨大損失;垃圾評(píng)論也可輕松通過(guò)任何一個(gè)網(wǎng)站的注冊(cè)程序,覆蓋有意義的內(nèi)容使網(wǎng)站癱瘓。許多網(wǎng)站為此設(shè)置了發(fā)貼時(shí)間間隔、同一IP地址發(fā)貼數(shù)、內(nèi)容不能重復(fù)等多種限制防止論壇灌水,但是這些手段都不是非常有效。同時(shí),網(wǎng)站對(duì)賬號(hào)的保護(hù)并不能使用上述方法,所以信息安全專家們發(fā)明了驗(yàn)證碼,以解決此類問題。

      雖然驗(yàn)證碼已被很多網(wǎng)站使用,它還是存在許多漏洞。隨著OCR識(shí)別技術(shù)的不斷發(fā)展,簡(jiǎn)單的字符式驗(yàn)證碼已經(jīng)很難起到較好的防護(hù)作用;而目前正在開發(fā)的非字符式驗(yàn)證碼,用戶使用起來(lái)又有一定的困難。因此,本文提出驗(yàn)證碼隱藏概念,將驗(yàn)證碼字符旋轉(zhuǎn)至球體任意位置而不直接顯示在界面上,在一定程度上降低入侵計(jì)算機(jī)的識(shí)別概率。

      三維驗(yàn)證碼的設(shè)計(jì)

      對(duì)當(dāng)前驗(yàn)證碼發(fā)展的分析與反思

      筆者對(duì)目前爭(zhēng)議較大的驗(yàn)證碼技術(shù)進(jìn)行了分析,發(fā)現(xiàn)一些它們誤入歧途的原因。

      驗(yàn)證碼首要的目標(biāo)是用戶能識(shí)別并輸入,一旦設(shè)計(jì)過(guò)度,就會(huì)給用戶造成很大的麻煩。比如:字符變形過(guò)度,字符全都擠壓在一起,讓人難以辨別;背景具有干擾性,即所謂的喧賓奪主——用戶通常不用的字符很難輸入;非常識(shí)性驗(yàn)證碼問題——用戶都不希望僅僅為了輸入驗(yàn)證碼,還要用紙和筆計(jì)算一下。

      SdWIsgTaQL5axeVL9Z5+VH7juKiEY8rVhXPECFLG4DQ=

      由此,筆者認(rèn)為一個(gè)好的驗(yàn)證碼應(yīng)當(dāng)具有以下性質(zhì)。

      易于用戶識(shí)別:驗(yàn)證碼的前提是用戶能識(shí)別,否則用戶會(huì)因不能正確輸入驗(yàn)證碼而不能登錄網(wǎng)站。

      干擾機(jī)器識(shí)別:驗(yàn)證碼如果沒有該效果,其用途和功能就形同虛設(shè),反而成為用戶上網(wǎng)過(guò)程中的障礙。

      隨機(jī)生成:一旦驗(yàn)證碼題目數(shù)量有限,入侵計(jì)算機(jī)就可以通過(guò)累積有限的驗(yàn)證碼,生成數(shù)據(jù)庫(kù)破解。

      實(shí)現(xiàn)簡(jiǎn)單:盡管驗(yàn)證碼是網(wǎng)絡(luò)安全的重要一環(huán),但畢竟不是網(wǎng)頁(yè)要表現(xiàn)的內(nèi)容,因此驗(yàn)證碼的實(shí)現(xiàn)不能過(guò)分困難,否則就是安全成本的浪費(fèi)。

      新型驗(yàn)證碼的思路來(lái)源及設(shè)計(jì)思想

      如今,驗(yàn)證碼已經(jīng)不只局限于二維形式。一些專家和研究人員對(duì)三維形式的驗(yàn)證碼已經(jīng)有所探究。其表現(xiàn)形式主要有以下2種。

      動(dòng)態(tài)驗(yàn)證碼。Windows系統(tǒng)中曾經(jīng)有1個(gè)屏幕保護(hù)程序——三維文字(圖1)。動(dòng)態(tài)驗(yàn)證碼也是通過(guò)創(chuàng)造1組動(dòng)態(tài)式文字,使其在顯示界面中進(jìn)行平移和旋轉(zhuǎn),攻擊者只有在有效解決運(yùn)動(dòng)對(duì)象識(shí)別的難關(guān)后才能進(jìn)行字符識(shí)別。然而這種運(yùn)動(dòng)并不是隨機(jī)的,終將有一個(gè)循環(huán),破解者就可以選取一個(gè)循環(huán)并逐幀嘗試識(shí)別,就會(huì)有一定的可能性識(shí)別出驗(yàn)證碼。

      立體驗(yàn)證碼。立體驗(yàn)證碼雖然是靜態(tài)的,但由于目前機(jī)器識(shí)別單個(gè)立體字符的概率僅為5%,識(shí)別整串字符就更困難了。不僅如此,立體驗(yàn)證碼可以與普通驗(yàn)證碼一樣進(jìn)行拉伸、收縮、扭曲等,而背景的疊加更增加了機(jī)器識(shí)別驗(yàn)證碼的難度,而字符的三維化和立體旋轉(zhuǎn)也在一定程度上增加了用戶識(shí)別的難度(圖2)。

      有沒有一種新的方法,既能避免動(dòng)態(tài)驗(yàn)證碼無(wú)法避免的循環(huán),又能防止靜態(tài)立體驗(yàn)證碼對(duì)用戶識(shí)別的影響呢?筆者從這個(gè)問題入手,設(shè)法實(shí)現(xiàn)自己的新型驗(yàn)證碼。

      驗(yàn)證碼的質(zhì)量多從機(jī)器識(shí)別難度和用戶識(shí)別難度2方面進(jìn)行衡量,評(píng)估結(jié)果通常會(huì)偏向一邊:不是過(guò)分容易被機(jī)器識(shí)別,就是太不容易被用戶識(shí)別。因此,本課題設(shè)計(jì)的驗(yàn)證碼必須盡可能地做到兩者的平衡。

      從機(jī)器識(shí)別難度方面進(jìn)行考慮,主要有2大因素:機(jī)器分析1個(gè)字符所需時(shí)間和機(jī)器識(shí)別字符的成功率,前者要盡可能長(zhǎng),后者要盡可能低。鑒于如今計(jì)算機(jī)尚不能很好地識(shí)別三維物體及三維驗(yàn)證碼,我決定采取三維立體方式呈現(xiàn)驗(yàn)證碼。由于圖形驗(yàn)證碼較難讓用戶理解自己需要做的事情,且隨機(jī)性不是很強(qiáng),所以仍選擇傳統(tǒng)字符作為輸入和輸出的內(nèi)容。

      系統(tǒng)環(huán)境

      C#(CSharp)。Microsoft VisualC#是一種功能強(qiáng)大、使用簡(jiǎn)單的面向?qū)ο笳Z(yǔ)言,主要面向需要使用Microsoft.NETFramework創(chuàng)建應(yīng)用程序的開發(fā)者。C#在保持C語(yǔ)言風(fēng)格的表現(xiàn)力和雅致特征的同時(shí),能夠讓用戶快速開發(fā)應(yīng)用程序。

      OpenGL(OpenGraphics Library)。OpenGL圖形系統(tǒng)是圖形硬件的1個(gè)軟件接口,它允許使用者創(chuàng)建交互性程序,產(chǎn)生移動(dòng)三維物體的彩色圖像。OpenGL廣泛應(yīng)用于游戲、醫(yī)學(xué)影像、地理信息、氣象模擬等領(lǐng)域,是高性能圖形和交互性場(chǎng)景處理的行業(yè)標(biāo)準(zhǔn)。

      設(shè)計(jì)路線

      繪制1個(gè)可由用戶控制旋轉(zhuǎn)的三維球體。首先繪制1個(gè)20面體(坐標(biāo)存放在數(shù)組中),然后通過(guò)遞歸算法將20面體細(xì)分為80面體、320面體,直至近似球體。運(yùn)用OpenGL旋轉(zhuǎn)函數(shù),利用滾軸控件完成對(duì)球體的拖動(dòng)。

      給球面上的每個(gè)部分按指定規(guī)則隨機(jī)生成1組像素值(圖3)。

      將驗(yàn)證碼中的字符投影在該球體上(目前的方法為生成字符坐標(biāo)庫(kù))。

      生成隨機(jī)噪音線:隨機(jī)生成2個(gè)坐標(biāo)點(diǎn),連接成線。

      顯示在界面上讓用戶識(shí)別,無(wú)論是用戶輸入成功或失敗,驗(yàn)證碼都會(huì)刷新。

      新型驗(yàn)證碼的改進(jìn)方向

      字符不能僅有1個(gè),否則識(shí)別率太高。

      球體透明化,屏幕內(nèi)的字符在球面投影時(shí)相互疊加,使機(jī)器識(shí)別難度提高。

      擴(kuò)大適用范圍。僅使用上述2種方式并不能做到面向全體用戶,主要原因是對(duì)球體上的數(shù)字識(shí)別能力因人而異。所以,可以讓用戶提前選擇自己能夠識(shí)別的難度,以此減少用戶操作時(shí)不必要的麻煩。

      如同普通字符式驗(yàn)證碼,三維可操控驗(yàn)證碼的球體和字符大小也都是隨機(jī)決定的,能夠?qū)C(jī)器的識(shí)別產(chǎn)生干擾。

      無(wú)滾軸操作:用鼠標(biāo)拖動(dòng)每個(gè)字符的三維旋轉(zhuǎn)的滾軸進(jìn)行操作,對(duì)于用戶使用過(guò)于麻煩。在此可以實(shí)現(xiàn)更簡(jiǎn)單的方法,即用戶可以直接在每個(gè)字符上用鼠標(biāo)拖拽實(shí)現(xiàn)球體旋轉(zhuǎn)。

      測(cè)試實(shí)驗(yàn)

      我使用的實(shí)驗(yàn)方式非常簡(jiǎn)單:在用戶界面上選擇1個(gè)角度,將驗(yàn)證碼轉(zhuǎn)換成BMP圖像,讓識(shí)別程序(用VC編制)嘗試識(shí)別,從而得出識(shí)別成功率。圖4為驗(yàn)證碼球體相對(duì)于驗(yàn)證碼(字母和數(shù)字)正對(duì)屏幕時(shí)機(jī)器識(shí)別的概率(每組20個(gè)),其中橫軸為旋轉(zhuǎn)角之和,縱軸為識(shí)別概率。

      由圖4可見,盡管在字符正對(duì)屏幕時(shí)的識(shí)別概率較大,但隨著旋轉(zhuǎn)角的增加,驗(yàn)證碼的識(shí)別率顯著減?。欢?dāng)旋轉(zhuǎn)超過(guò)90°時(shí),機(jī)器幾乎不能識(shí)別。同時(shí),在僅采用數(shù)字的情況下,該驗(yàn)證碼的表現(xiàn)已相當(dāng)不錯(cuò)。

      新型三維可操控驗(yàn)證碼的創(chuàng)新性和實(shí)用性

      目前,三維圖形技術(shù)和人機(jī)交互技術(shù)的發(fā)展相當(dāng)迅速,在驗(yàn)證碼中也有了一定的應(yīng)用。然而,正在使用或最新創(chuàng)造的驗(yàn)證碼還沒有將這兩者整合運(yùn)用。本課題設(shè)計(jì)的三維驗(yàn)證碼最大的創(chuàng)新點(diǎn)在于它生成的球體能夠通過(guò)用戶的控制旋轉(zhuǎn),可以大大降低破解者的識(shí)別率,主要其主要原因有二:

      由于驗(yàn)證碼分布于立體上,使得原來(lái)平面形式的字符不一定能同時(shí)出現(xiàn)在屏幕視角中,而總是會(huì)缺少一些部分,顯示殘缺的字符,不能對(duì)應(yīng)到機(jī)器的字符庫(kù);同時(shí),由于投影面為球面,使得平面上的字符會(huì)有所扭曲,從而降低了入侵計(jì)算機(jī)的OCR識(shí)別率。

      由于球體是可以旋轉(zhuǎn)的,攻擊者不知道初始的旋轉(zhuǎn)角度,識(shí)別的概率因此進(jìn)一步降低。破解這種新式驗(yàn)證碼的方法仍為OCR(本質(zhì)上仍舊是機(jī)器對(duì)字符的辨識(shí)),但由于加入了1個(gè)新的干擾因素即旋轉(zhuǎn)角度,攻擊的時(shí)間復(fù)雜度必須乘以枚舉數(shù)(360的立方),顯然大大增加了破解的時(shí)間。

      在實(shí)用性方面,本課題設(shè)計(jì)的驗(yàn)證碼并不因安全性提高而降低便捷度。在生成驗(yàn)證碼的時(shí)間復(fù)雜度上,該驗(yàn)證碼與現(xiàn)行的普通二維驗(yàn)證碼相差無(wú)幾,并不會(huì)占用太多的運(yùn)行時(shí)間,用戶也不會(huì)因此而需要增加等待時(shí)間。除此之外,該驗(yàn)證碼面向各類用戶,可以根據(jù)用戶的識(shí)別能力進(jìn)行適當(dāng)?shù)恼{(diào)整,降低用戶的使用難度。

      改進(jìn)方向

      字符多樣化。將字符的種類從數(shù)字、字母拓展到漢字,進(jìn)一步降低機(jī)器的識(shí)別成功率。而由于漢字是方塊字,投影在球面上能夠遮擋更多的文字部分,使破解者更加無(wú)從下手。

      紋理貼圖。目前,生成字符坐標(biāo)庫(kù)的實(shí)現(xiàn)方法不夠簡(jiǎn)單,而將計(jì)算機(jī)中的每一個(gè)字符位圖直接在立體表面貼圖的方法更加便捷。此技術(shù)的采用能加快實(shí)現(xiàn)漢字驗(yàn)證碼的腳步。

      網(wǎng)絡(luò)應(yīng)用和人性化改進(jìn)。“看不清”、“換一張”等人性化元素也是需要添加的。只有這樣,才能給用戶呈現(xiàn)一個(gè)良好的界面,讓他們習(xí)慣于使用,新型驗(yàn)證碼才能被廣泛運(yùn)用。

      結(jié)論

      應(yīng)用驗(yàn)證碼技術(shù)是防止入侵計(jì)算機(jī)重復(fù)攻擊、批量注冊(cè)的有效方法。本文提出了1種生成驗(yàn)證碼的新方法,具有球面遮擋、投影扭曲和隨機(jī)旋轉(zhuǎn)等3個(gè)特點(diǎn),能夠有效地防止攻擊者對(duì)機(jī)器的破解,一定程度上保護(hù),網(wǎng)絡(luò)安全,具有一定的使用前景。

      該項(xiàng)目獲得第27屆全國(guó)青少年科技創(chuàng)新大賽創(chuàng)新成果競(jìng)賽項(xiàng)目中學(xué)組計(jì)算機(jī)科學(xué)一等獎(jiǎng)。

      專家評(píng)語(yǔ)

      驗(yàn)證碼是防止計(jì)算機(jī)入侵和惡意程序的一個(gè)重要研究領(lǐng)域,近期已有人開始研究自動(dòng)識(shí)別驗(yàn)證碼,該項(xiàng)目考慮設(shè)計(jì)三維驗(yàn)證碼,把平面三維碼投影到球面上,而且可以用鼠標(biāo)操控球面的旋轉(zhuǎn)增加驗(yàn)證碼的不可識(shí)別性。項(xiàng)目想法創(chuàng)新,可以直接使用。

      蕲春县| 平湖市| 临颍县| 井冈山市| 莱州市| 武汉市| 铁力市| 江北区| 鲜城| 清水县| 唐河县| 桦川县| 安仁县| 车险| 那曲县| 饶平县| 郁南县| 古浪县| 河南省| 读书| 颍上县| 通州市| 青州市| 辽中县| 牟定县| 扶沟县| 梅河口市| 屯门区| 德安县| 襄汾县| 镇雄县| 伊春市| 景谷| 萍乡市| 浑源县| 永胜县| 遂溪县| 武义县| 岫岩| 炎陵县| 丹江口市|