專利名稱:一種二維碼防篡改和防偽造的認(rèn)證方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種二維碼防篡改和防偽造的認(rèn)證方法,具體地說是通過二維碼的圖像識別判定與防止二維碼的篡改,通過網(wǎng)址認(rèn)證防止二維碼的偽造,屬于計算機信息安全領(lǐng)域。
背景技術(shù):
二維碼作為智能終端訪問網(wǎng)絡(luò)信息的一個重要入口,越來越受到重用,使用越來越頻繁,二維碼在廣告、簽到、會展、防偽、物品溯源跟蹤等方面均有廣泛的應(yīng)用。當(dāng)前二維碼存在兩個安全問題:1)二維碼的篡改。攻擊者可能利用黑筆將二維碼中的部分白色區(qū)域涂黑,用戶不仔細(xì)看一般不容易發(fā)現(xiàn),當(dāng)用戶利用手機拍照后,通常會跳轉(zhuǎn)到一個相應(yīng)的二維碼網(wǎng)站,該網(wǎng)站有可能是一個釣魚網(wǎng)站;2) 二維碼的偽造,發(fā)布的二維碼本身是偽造的,該偽造的二維碼可能引導(dǎo)訪問者到一個釣魚網(wǎng)站,導(dǎo)致錯誤的信息。目前針對二維碼認(rèn)證的上述兩個安全問題的解決方法有一個缺陷,即往往需要二維碼生成者在生成二維碼之前采取措施,例如解決問題1),采取密碼學(xué)中的散列函數(shù),簽名,加密等方法。解決問題2),則需要事先對鏈接進行登記,認(rèn)證等工作。這些方法增加了二維碼使用前的手續(xù)和復(fù)雜度,不利于二維碼的推廣應(yīng)用。因此,給出一個可以無需二維碼生成者參與的防御措施,是一個急需解決的難題。
發(fā)明內(nèi)容
本發(fā)明的目的是為解決上述兩個安全問題,而提供一種簡單易行、成本低的一種二維碼防篡改和防偽造的認(rèn)證方法,本方法用于二維碼的認(rèn)證,可檢測出二維碼的篡改和二維碼的偽造,將有效地防御二維碼病毒,保障二維碼的正確應(yīng)用。為了實現(xiàn)上述的目的,本發(fā)明采取的技術(shù)方案是:提供一種二維碼防篡改和防偽造的認(rèn)證方法,按如下步驟執(zhí)行:⑴、由智能終端讀取二維碼,將捕捉的二維碼圖像保存成8比特灰度的BITMAP格式圖像;(2)、由防篡改檢測模塊對BITMAP圖像的每個像素進行灰度值V的計算,防篡改檢測模塊為編制的防篡改檢測軟件,用于分析二維碼是否存在篡改;設(shè)圖像的像素為N,灰度值V為O SVS 255的整數(shù),像素的灰度值用數(shù)組ν[Ρ..Ν]表示;求[Ρ..Ν]個像素中V值大于128,且出現(xiàn)次數(shù)最多的V值,稱為W,對應(yīng)的像素個數(shù)為nl ;再求[Ρ..Ν]個像素中V值小于128,且出現(xiàn)次數(shù)最多的V值,稱為B,對應(yīng)的像素個數(shù)為η2 ;若[max(B-X,O), B+X]灰度值區(qū)間內(nèi)不存在某個灰度值,其對應(yīng)像素的總個數(shù)多于閾值Thl,且[max(B-X,0),B+X]灰度值區(qū)間內(nèi)不存在多個灰度值,其對應(yīng)像素的總個數(shù)之和多于閾值Th2,則視為無篡改,輸出Y ;否則視為有篡改,輸出N ;其中X和Thl,Th2為系統(tǒng)參數(shù),X稱為檢測參數(shù),為正整數(shù),Thl為小于n2的正整數(shù);Th2為正整數(shù);max(B-X,O)表示取B-X和O的較大值;⑶、防篡改檢測模塊輸出Y,則對二維碼解碼,得到解碼后網(wǎng)頁地址的字符串URL ;
(4)、由內(nèi)容檢測模塊通過云安全服務(wù)平臺CLOUD驗證URL的可信度,若CLOUD認(rèn)為URL可信,則輸出Y并訪問URL,通過網(wǎng)址認(rèn)證,否則輸出N退出認(rèn)證。本發(fā)明所述步驟⑵的防篡改檢測模塊或者按下列方法執(zhí)行:對捕捉的二維碼圖像中所有黑點區(qū)域逐個依次進行放大顯示;然后顯示一個等待用戶確認(rèn)的交互界面,由用戶確認(rèn)是否有異常的涂改過的黑點,若用戶認(rèn)為有異常的涂改,則停止進行二維碼的解碼;若用戶確認(rèn)無異常點,則進行步驟⑶的二維碼解碼。本發(fā)明所述云安全服務(wù)平臺CLOUD為具有統(tǒng)一開放訪問接口的病毒防治檢測數(shù)據(jù)庫,數(shù)據(jù)庫中的數(shù)據(jù)來自部署在終端的殺毒軟件,這些殺毒軟件實時采集病毒內(nèi)容和惡意鏈接的數(shù)據(jù),并將數(shù)據(jù)定期上傳到云安全服務(wù)平臺CLOUD的數(shù)據(jù)庫中。本發(fā)明的二維碼防篡改和防偽造的認(rèn)證方法具有如下優(yōu)點:1.本發(fā)明可以在二維碼進行解碼之前,對二維碼是否篡改了進行檢測,檢測可以自動進行,不需要用戶的參與,用戶友好性好。2.本發(fā)明通過檢驗二維碼鏈接的可信度,可防止用戶受到釣魚網(wǎng)站或者掛馬網(wǎng)站的破壞或者造成經(jīng)濟上 的損失。3.本方法獨立于二維碼的具體編碼方法,適用于各種類型二維碼,通用性好。本方法可用于多種移動終端,如智能手機或者平板電腦,可以用于物聯(lián)網(wǎng)、傳感器網(wǎng)絡(luò)、嵌入式系統(tǒng)等裝置中,一般通過軟件實現(xiàn)。
圖1為本發(fā)明一種二維碼防篡改和防偽造的認(rèn)證方法操作步驟流程示意圖。圖2為本發(fā)明中防篡改檢測模塊軟件計算與檢測流程示意圖。
具體實施例方式下面結(jié)合附圖和實施例對本發(fā)明作進一步的描述。實施例1:本發(fā)明提供一種二維碼防篡改和防偽造的認(rèn)證方法,其步驟如圖1所示:⑴、首先由智能終端,如采用智能手機或平板電腦,捕捉報紙、期刊、或者商品包裝上的二維碼的圖像,智能終端將捕捉到的圖像保存成8位灰度BITMAP圖像;如本圖像保存成長32,寬32像素的方塊。(2)、由防篡改檢測模塊對BITMAP圖像的每個像素進行灰度值V的計算,防篡改檢測模塊為編制的防篡改檢測軟件,該防篡改檢測軟件計算與檢測流程如圖2所示,通過軟件計算保存成8位灰度BITMAP圖像的每個像素的灰度值,用V表示,因為每個像素用8位表示,V值為一個大于等于0,小于等于255的整數(shù),表示了像素灰度的深度,若灰度為0,表示黑色,若灰度為255,表示白色。當(dāng)圖像為長32,寬32像素的方塊,像素個數(shù)N為32X32=1024,即共有1024個像素。計算1024個像素的V值,保存為V[1…1024],計算得出了 V值大于128的,且出現(xiàn)次數(shù)最多那個值為252,即W=252,表示白色的灰度值,經(jīng)記錄具有灰度W=252的像素個數(shù)為480,用nl=480表示;計算得出了 V值小于128的,且出現(xiàn)次數(shù)最多的那個值為20,表示黑色的灰度值,即B= 20,經(jīng)記錄具有灰度B的像素個數(shù)為500,即黑色像素的個數(shù)用n2=500表示。本發(fā)明中防篡改檢測軟件設(shè)定系統(tǒng)參數(shù)X=5,Thl=50,Th2=100,系統(tǒng)參數(shù)與檢測報警的虛報率和誤報率有關(guān)系,這些參數(shù)也可以人工改動。計算[max (B-X, O),B+X],等于[15,25],搜索灰度值數(shù)組V,簡單計算后顯示,在該區(qū)間內(nèi)不存在某個灰度值,其對應(yīng)像素的總個數(shù)多于50個,而且也不存在多個灰度值,其對應(yīng)像素的總個數(shù)之和多于100個,則防篡改檢測模塊輸出Y,繼續(xù)后續(xù)步驟。⑶、因為防篡改檢測模塊輸出Y,于是對二維碼解碼,得到解碼后網(wǎng)頁地址的字符串URL ;否則退出,不再繼續(xù)。⑷、解碼后由內(nèi)容檢測模塊通過云安全服務(wù)平臺CLOUD驗證URL的可信度,判定是否為惡意內(nèi)容、危險鏈接等。云安全服務(wù)平臺CLOUD由多個病毒防治檢測數(shù)據(jù)庫組成,這些數(shù)據(jù)庫具有開放統(tǒng)一的訪問接口,數(shù)據(jù)庫中的數(shù)據(jù)來自部署在終端的殺毒軟件,這些殺毒軟件實時采集病毒內(nèi)容和惡意鏈接數(shù)據(jù),并將這些數(shù)據(jù)定期上傳到這些數(shù)據(jù)庫中。此時云安全服務(wù)平臺CLOUD返回Y,即表示鏈接可信,則繼續(xù)訪問URL通過網(wǎng)址認(rèn)證防止二維碼的偽造。實施例2:本發(fā)明提供第二種二維碼防篡改和防偽造的認(rèn)證方法,其步驟⑴、⑶、⑷同實施例1,不同的只是步驟⑵,防篡改檢測模塊將步驟⑴捕捉到的二維碼圖像進行放大,然后在顯示屏中分區(qū)域自 上而下,自左而右,依次進行圖像放大,依次逐個顯示,特別是黑色像素的邊緣部分。然后,顯示一個用戶確認(rèn)的交互界面,如對話框,用戶通過該交互界面確認(rèn)是否有異常的黑點,即是否繼續(xù)解碼;用戶輸入N,表示二維碼的圖像有篡改,防篡改檢測模塊輸出N,退出檢測。本發(fā)明的二維碼防篡改和防偽造的認(rèn)證方法簡單易行,具有通用性,一般通過軟件實現(xiàn),認(rèn)證成本低,可用于多種移動終端,物聯(lián)網(wǎng)、傳感器網(wǎng)絡(luò)、嵌入式系統(tǒng)等裝置中。
權(quán)利要求
1.一種二維碼防篡改和防偽造的認(rèn)證方法,其特征在于:按如下步驟執(zhí)行: ⑴、由智能終端讀取二維碼,將捕捉的二維碼圖像保存成8比特灰度的BITMAP格式圖像; ⑵、由防篡改檢測模塊對BITMAP圖像的每個像素進行灰度值V的計算,防篡改檢測模塊為編制的防篡改檢測軟件,用于分析二維碼是否存在篡改;設(shè)圖像的像素為N,灰度值V為O SVS 255的整數(shù),像素的灰度值用數(shù)組ν[Ρ..Ν]表示;求[Ρ..Ν]個像素中V值大于128,且出現(xiàn)次數(shù)最多的V值,稱為W,對應(yīng)的像素個數(shù)為nl ;再求[Ρ..Ν]個像素中V值小于128,且出現(xiàn)次數(shù)最多的V值,稱為B,對應(yīng)的像素個數(shù)為η2 ;若[max(B-X,0),B+X]灰度值區(qū)間內(nèi)不存在某個灰度值,其對應(yīng)像素的總個數(shù)多于閾值Thl,且[max(B-X,0),B+X]灰度值區(qū)間內(nèi)不存在多個灰度值,其對應(yīng)像素的總個數(shù)之和多于閾值Th2,則視為無篡改,輸出Y ;否則視為有篡改,輸出N ;其中X和Thl,Th2為系統(tǒng)參數(shù),X稱為檢測參數(shù),為正整數(shù),Thl為小于n2的正整數(shù);Th2為正整數(shù);max(B-X,O)表示取B-X和O的較大值; ⑶、防篡改檢測模塊輸出Y,則對二維碼解碼,得到解碼后網(wǎng)頁地址的字符串URL ; ⑷、由內(nèi)容檢測模塊通過云安全服務(wù)平臺CLOUD驗證URL的可信度,若CLOUD認(rèn)為URL可信,則輸出Y并訪問URL,通過網(wǎng)址認(rèn)證,否則輸出N退出認(rèn)證。
2.根據(jù)權(quán)利要求1所述的一種二維碼防篡改和防偽造的認(rèn)證方法,其特征在于:所述步驟⑵的防篡改檢測模塊或者按下列方法執(zhí)行:對捕捉的二維碼圖像中所有黑點區(qū)域逐個依次進行放大顯示 ;然后顯示一個等待用戶確認(rèn)的交互界面,由用戶確認(rèn)是否有異常的涂改過的黑點,若用戶認(rèn)為有異常的涂改,則停止進行二維碼的解碼;若用戶確認(rèn)無異常點,則進行步驟⑶的二維碼解碼。
3.根據(jù)權(quán)利要求1所述的一種二維碼防篡改和防偽造的認(rèn)證方法,其特征在于:所述云安全服務(wù)平臺CLOUD為具有統(tǒng)一開放訪問接口的病毒防治檢測數(shù)據(jù)庫,數(shù)據(jù)庫中的數(shù)據(jù)來自部署在終端的殺毒軟件,這些殺毒軟件實時采集病毒內(nèi)容和惡意鏈接的數(shù)據(jù),并將數(shù)據(jù)定期上傳到云安全服務(wù)平臺CLOUD的數(shù)據(jù)庫中。
全文摘要
本發(fā)明涉及一種二維碼防篡改和防偽造的認(rèn)證方法,由智能終端捕捉二維碼圖像,并保存成8比特灰度的BITMAP圖像;由防篡改檢測模塊對BITMAP圖像的每個像素進行灰度值V的計算,分析是否存在篡改;防篡改檢測模塊輸出Y,則對二維碼解碼,得到網(wǎng)頁地址的字符串URL;由內(nèi)容檢測模塊通過云安全服務(wù)平臺CLOUD驗證URL的可信度,若CLOUD認(rèn)為URL可信,則輸出Y并訪問URL,否則輸出N退出認(rèn)證。本方法通過二維碼的圖像識別防止二維碼的篡改,通過網(wǎng)址認(rèn)證防止二維碼的偽造,可保障二維碼應(yīng)用的安全及減少病毒的威脅。本方法簡單易行具有通用性,一般通過軟件實現(xiàn),認(rèn)證成本低。
文檔編號G06K19/06GK103226688SQ201310063828
公開日2013年7月31日 申請日期2013年2月28日 優(yōu)先權(quán)日2013年2月28日
發(fā)明者任偉 申請人:中國地質(zhì)大學(xué)(武漢)