汪宏兵
摘要:驗證碼圖片是國內(nèi)網(wǎng)站區(qū)別人機不同的重要手段。驗證碼的設(shè)計和使用安全性和互聯(lián)網(wǎng)安全密切相關(guān)。為了減少網(wǎng)絡(luò)驗證碼的識別的不確定性和模糊性對圖像分割的影響,就需要充分利用圖像的上下文信息。馬爾科夫隨機場[1,2]正是一種充分利用了上下文信息[3,4]的隨機場模型。利用這一理論,實驗結(jié)果表明,使用中的驗證碼具有良好的分割效果。
關(guān)鍵詞:驗證碼;馬爾科夫場;圖像分割;Internet安全;圖像的上下文信息
中圖分類號:TP18 文獻標(biāo)識碼:A 文章編號:1009-3044(2014)08-1787-03
1 驗證碼概述
1.1 驗證碼概念
驗證碼[6-7]是一種進行人機區(qū)分的方法.。隨著互聯(lián)網(wǎng)技術(shù)的快速發(fā)展與應(yīng)用。網(wǎng)絡(luò)在給人們提供豐富的資源和極大的便利的同時,伴隨著而來的就是網(wǎng)絡(luò)安全問題。驗證碼的出現(xiàn)加強了現(xiàn)在web系統(tǒng)安全的產(chǎn)物。
驗證碼最早作為卡內(nèi)基梅隆大學(xué)的研究項目,Yahoo!是網(wǎng)絡(luò)驗證碼的第一個用戶,網(wǎng)絡(luò)驗證碼是一種區(qū)分用戶是人類還是計算機的公共程序。在一個驗證碼測試中,由計算機生成一個問題并評判用戶的答案,這個問題必須只有人類可以回答。由于計算機無法回答,并由此可判斷人機區(qū)別。
1.2 驗證碼分類
由于生成驗證碼程序的不同,驗證碼的種類也多種多樣。答題有基于字符、3D驗證碼、基于數(shù)學(xué)的驗證碼、聲音驗證碼和中文驗證碼等。
基于字符的驗證碼是網(wǎng)絡(luò)中最常用的驗證碼。它易產(chǎn)生,具有標(biāo)準答案,不受背景知識和文化差異的影響,暴力破解復(fù)雜度大。3D驗證碼對機器而言較為難以破解,但聲稱比較麻煩,用戶 體驗也不如字符嚴重么簡單,很少有網(wǎng)站應(yīng)用。中文驗證碼圖片字符為漢字。由于中文字庫較大,漢字字體類型較多,這類驗證碼可以底單得住國外垃圾信息的攻擊。
1.3 驗證碼圖片的特點
驗證碼一般是防止批量注冊的,人眼看起來都費勁,何況是機器。二像網(wǎng)站http://baike.baidu.com/view/579.htm未登錄發(fā)貼要輸入驗證碼大概是防止大規(guī)模匿名回帖的發(fā)生。目前,不少網(wǎng)站為了防止用戶利用機器人自動注冊、登錄、灌水,都采用了驗證碼技術(shù)。所謂驗證碼,就是將一串隨機產(chǎn)生的數(shù)字或符號,生成一幅圖片, 圖片里加上一些干擾,例如隨機畫數(shù)條直線,畫一些點(防止OCR),由用戶肉眼識別其中的驗證碼信息,輸入表單提交網(wǎng)站驗證,驗證成功后才能使用某項功能。
3 實驗結(jié)果與分析
3.1 網(wǎng)絡(luò)驗證碼識別步驟
驗證碼識別算法流程可分為三個步驟:第一步驟是前期預(yù)處理階段,第二步驟是中期切分階段,第三步驟是后期分析階段,總共三個階段。其中,最后一步需要模板庫建立,并且識別兩個步驟。下圖中給出了三個步驟的分別過程。從圖中可以得知,最后一步需要模板庫,與模板庫匹配的方法。第一階段在盡可能的保存字符信息的前提下,還要盡可能除去驗證碼背景的噪聲。也就是說第一階段是一個去噪過程,彩色照片需要通過一定的數(shù)學(xué)轉(zhuǎn)化成灰度圖像,這樣方便圖像的識別。
該文選取了騰訊、鳳凰網(wǎng)、新浪網(wǎng)等知名網(wǎng)站驗證碼,并給出了利用馬爾科夫場的圖像分割結(jié)果,如下表1:
參考文獻:
[1] Krishnamachari S, Chellappa R. Multiresolution Gauss-Markov random field models for texture segmentation[J]. Image Processing, IEEE Transactions on, 1997, 6(2): 251-267.
[2] Luettgen M R, Karl W C, Willsky A S, et al. Multiscale representations of Markov random fields[J]. Signal Processing, IEEE Transactions on, 1993, 41(12): 3377-3396.
[3] 文曉陽, 高能, 夏魯寧. 高效的驗證碼識別技術(shù)與驗證碼分類思想[J].計算機工程, 2009, 35(8): 186-188.
[4] 賀強, 晏立. 基于形狀上下文的復(fù)雜驗證碼識別算法[J]. Computer Engineering, 2011, 37(2).
[5] 余鵬, 張震龍, 侯至群. 基于高斯馬爾可夫隨機場混合模型的紋理圖像分割[J]. 測繪學(xué)報, 2006, 35(3): 224-228.
[6] 呂剛, 郝平. 基于神經(jīng)網(wǎng)絡(luò)的數(shù)字驗證碼識別研究[J].浙江工業(yè)大學(xué)學(xué)報,2010, 38(4): 433-436.
[7] 王建雄, 劉應(yīng)龍. 基于人工神經(jīng)網(wǎng)絡(luò)的數(shù)字識別系統(tǒng)的研究[J].計算機技術(shù)與發(fā)展,2006(7).
[8] Snijders T A B. Markov chain Monte Carlo estimation of exponential random graph models[J]. Journal of Social Structure, 2002, 3(2): 1-40.