專利名稱::一種增強(qiáng)模糊指紋保險箱安全性的方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及生物特征識別圖像處理、模式識別、密碼學(xué)、信息安全等
技術(shù)領(lǐng)域:
,特別設(shè)計一種基于細(xì)節(jié)點局部脊線信息的模糊指紋保險箱安全性增強(qiáng)的方法。
背景技術(shù):
:隨著生物特征在現(xiàn)實生活中的應(yīng)用越來越廣泛,人們對于其所帶來的安全性和隱私性問題越來越關(guān)注。有調(diào)查顯示,公眾對生物特征,尤其是指紋的接受程度還不是很高,原因就在于擔(dān)心泄漏自己的身份信息,帶來信息安全方面的隱患。從理論上講,生物特征系統(tǒng)或多或少存在著被攻擊的可能性,其中尤以生物特征模板安全最為重要。模糊保險箱是一種同時能保護(hù)生物特征信息和用戶密鑰的生物特征加密技術(shù),利用該技術(shù)能有效的防止生物特征模板被盜用,同時又是一種方便實用的密鑰保管方式。該技術(shù)由Juels和Sudan提出,最初并不是針對指紋的,而是針對所有符合其距離度量要求的模糊數(shù)據(jù)或者生物特征形態(tài)。由于該技術(shù)采用集合差的距離度量方式,所以特別適用于指紋的特征表達(dá)形式。Clancy等人和Uludag等人分別將模糊保險箱技術(shù)應(yīng)用到了指紋的細(xì)節(jié)點特征表達(dá)中,所不同的是前者只使用了細(xì)節(jié)點的位置信息,而后者則額外又添加了細(xì)節(jié)點的方向信息。Nandakumar等人設(shè)計了一整套指紋模糊保險箱系統(tǒng),能夠完成特征提取、細(xì)節(jié)點評估、自動配準(zhǔn)、細(xì)節(jié)點過濾、加密和解密等關(guān)鍵操作。隨著研究的深入,人們逐漸發(fā)現(xiàn)了模糊保險箱本身也存在安全隱患,由于保險箱中存儲了用戶的真實指紋信息,雖然被數(shù)量巨大的雜湊點所掩蓋,但是也有可能被一些聰明的攻擊者所利用,從而恢復(fù)出用戶的部分或全部指紋信息。Chang等人利用雜湊點的統(tǒng)計分布特性來區(qū)分真實細(xì)節(jié)點和雜湊點,而Kholmatov和Yanikoglu則利用由同一枚指紋構(gòu)造的多個模糊保險箱之間的相關(guān)性進(jìn)行攻擊,實驗結(jié)果表明,可以從同一枚指紋構(gòu)造兩個模糊保險箱中區(qū)分出真實細(xì)節(jié)點的概率是59%。國內(nèi)外在相關(guān)的研究還不多見,Nandakuma等人利用口令作為模糊保險箱外圍的一層認(rèn)證機(jī)制,其安全性在某種程度上依賴于外部輸入的口令,如果口令被攻擊者獲得,上面所述的安全性問題又會出現(xiàn)。綜上所述,作為保護(hù)生物特征模板和用戶密鑰安全的模糊保險箱技術(shù),其本身也存在一定的安全性隱患。本發(fā)明的創(chuàng)新就在于利用指紋本身的信息,即細(xì)節(jié)點局部脊線方向信息,來達(dá)到保護(hù)細(xì)節(jié)點信息的目的。同時,本發(fā)明也需要用戶從外部輸入口令來作為隨機(jī)數(shù)種子,所以很容易的構(gòu)造雙因子(口令+指紋)的認(rèn)證機(jī)制,攻擊者只有同時得到用戶的口令和指紋,才能破解模糊指紋保險箱,否則,只有一個因子被獲取,整個系統(tǒng)仍將是安全的。圖8和圖9給出了在利用細(xì)節(jié)點局部脊線信息,在形變域內(nèi)進(jìn)行模糊保險箱加解密操作的流程圖。
發(fā)明內(nèi)容(一)要解決的技術(shù)問題本發(fā)明的主要目的在于提供一種基于細(xì)節(jié)點局部脊線信息的增強(qiáng)模糊指紋保險箱安全性的方法,以應(yīng)用于使用模糊指紋保險箱進(jìn)行身份認(rèn)證的系統(tǒng),增強(qiáng)系統(tǒng)的安全性,提高用戶的可接受程度。(二)技術(shù)方案為達(dá)到上述目的,本發(fā)明提供了一種增強(qiáng)模糊指紋保險箱安全性的方法,該方法從指紋圖像中提取對應(yīng)于細(xì)節(jié)點的平移和旋轉(zhuǎn)不變值,將細(xì)節(jié)點變換到形變域中,并在形變域中進(jìn)行模糊指紋保險箱的自動加密和解密操作,該方法包括步驟A圖像預(yù)處理步驟是對指紋圖像進(jìn)行增強(qiáng)、二值化和細(xì)化,然后提取指紋細(xì)節(jié)點集合;步驟B:細(xì)節(jié)點不變值計算步驟是在細(xì)化的指紋脊線圖像中,根據(jù)指紋細(xì)節(jié)點的局部脊線方向信息,構(gòu)造對應(yīng)于每一個細(xì)節(jié)點的脊線采樣點方向向量,并由該方向向量計算導(dǎo)出一個對應(yīng)于每一個細(xì)節(jié)點的不變值;步驟C:平移量和旋轉(zhuǎn)量計算步驟是使用細(xì)節(jié)點不變值為形變函數(shù)的輸入,得到指紋細(xì)節(jié)點的平移量參數(shù)和旋轉(zhuǎn)量參數(shù),繼而得到形變后的指紋細(xì)節(jié)點模板;步驟D完整幫助信息提取步驟是對指紋圖像的細(xì)化脊線進(jìn)行不可逆跟蹤,提取指紋圖像的奇異點鄰域內(nèi)的細(xì)節(jié)點拓?fù)浣Y(jié)構(gòu)信息,作為用于配準(zhǔn)的幫助信息;步驟E加密和解密操作步驟是將形變后的指紋細(xì)節(jié)點模板以及奇異點鄰域拓?fù)浣Y(jié)構(gòu)信息存儲到模糊保險箱中,在形變域內(nèi)進(jìn)行指紋模糊保險箱的加密和解密操作。(三)有益效果從上述方案可以看出,本發(fā)明具有以下有益效果1、本發(fā)明提供的這種基于細(xì)節(jié)點局部脊線信息的模糊指紋保險箱安全性增強(qiáng)的方法,能夠有效的增強(qiáng)指紋模糊保險箱算法的安區(qū)性,更好的保護(hù)用戶的指紋信息免遭泄漏,可以應(yīng)用于使用模糊指紋保險箱算法進(jìn)行安全身份認(rèn)證的系統(tǒng)中。2、本發(fā)明采用哈希校驗的方式進(jìn)行用戶密鑰校驗,代替原始算法中的Reed-Solomn解碼算法或CRC校驗算法,進(jìn)一步增強(qiáng)模糊保險箱算法本身的安全性。3、實驗結(jié)果表明,當(dāng)且僅當(dāng)用戶口令和用戶的指紋同時被攻擊者獲取時,系統(tǒng)的安全性將會受到威脅。否則若只有一個因子被盜用,則系統(tǒng)仍將處于完全安全的狀態(tài)中。圖1是本發(fā)明使用細(xì)節(jié)點局部脊線信息增強(qiáng)模糊指紋保險箱安全性的流程圖;圖Ia是圖1圖像預(yù)處理的流程圖;圖Ib是圖1細(xì)節(jié)點不變值計算的流程圖;圖Ic是圖1平移量和旋轉(zhuǎn)量計算的流程圖;圖Id是圖1完整幫助信息提取的流程圖;圖2是細(xì)節(jié)點局部脊線方向采樣結(jié)構(gòu)圖;圖3是FVC2002DB2數(shù)據(jù)庫中來自同一個手指的兩枚指紋“1_1.tif'^P"l_2.tif”中對應(yīng)的細(xì)節(jié)點提取出的不變值對比;圖4是所采用的赫爾米特插值方法與分段線性插值的比較;圖5a_圖5d是經(jīng)過形變后的細(xì)節(jié)點模板與原始模板的比較;圖6是基于幫助信息的脊線采樣點跟蹤示意圖;圖7a_圖7b是基于指紋中心點拓?fù)浣Y(jié)構(gòu)的幫助信息提取方法示意圖;圖8是在形變域內(nèi)進(jìn)行模糊指紋保險箱算法加密操作的流程圖;圖9是在形變域內(nèi)進(jìn)行模糊指紋保險箱算法解密操作的流程具體實施例方式為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚明白,以下結(jié)合具體實施例,并參照附圖,對本發(fā)明進(jìn)一步詳細(xì)說明。本發(fā)明的核心思想是使用細(xì)節(jié)點局部脊線方向信息導(dǎo)出的細(xì)節(jié)點不變值,將細(xì)節(jié)點變換到形變域中,在形變域中進(jìn)行模糊指紋保險箱的加密和解密操作,以保護(hù)用戶的真實細(xì)節(jié)點信息。首先,對指紋圖像進(jìn)行預(yù)處理,得到細(xì)節(jié)點信息及其鄰近局部脊線方向信息向量,由該向量導(dǎo)出一個對于平移和旋轉(zhuǎn)不變的值,作為形變函數(shù)的輸入;同時,提取指紋的中心點,并且構(gòu)造中心點拓?fù)浣Y(jié)構(gòu)作為幫助信息。其次,使用對應(yīng)于用戶的隨機(jī)生成的控制點向量,用細(xì)節(jié)點不變值作為輸入,使用赫爾米特插值的方法獲得對應(yīng)于每一個細(xì)節(jié)點的平移量和旋轉(zhuǎn)量,將細(xì)節(jié)點的位置和方向進(jìn)行變換,得到變換后的細(xì)節(jié)點模板。最后,使用變換后的細(xì)節(jié)點模板和對應(yīng)的幫助信息,在形變域中進(jìn)行模糊指紋保險箱的操作。本發(fā)明的安全性體現(xiàn)在兩個方面1)模糊保險箱中存儲的并不是用戶的真實指紋信息,而是經(jīng)過變換后的指紋細(xì)節(jié)點信息;2)本發(fā)明采用雙因子(口令+指紋)的認(rèn)證方式,實驗結(jié)果表明,任何一個因子丟失都不會影響系統(tǒng)的安全性。另外,本發(fā)明提供的這種基于細(xì)節(jié)點局部脊線信息的模糊指紋保險箱安全性增強(qiáng)的方法,在國際指紋識別競賽數(shù)據(jù)庫FVC2002-DB2上進(jìn)行了實驗測試,結(jié)果表明其認(rèn)證性能完全可以滿足大多數(shù)場合下的需要,其安全性同時依賴于口令和指紋兩個因子,當(dāng)且僅當(dāng)兩個因子同時被攻擊者獲得,系統(tǒng)的安全性才會受到威脅,任何一個因子丟失都不會影響系統(tǒng)的安全性?;谏鲜黾夹g(shù)思路,將增強(qiáng)模糊指紋保險箱安全性的過程劃分為若干個步驟,以下簡要介紹執(zhí)行每個步驟是需要注意的關(guān)鍵問題,來改進(jìn)原始的模糊保險箱算法,建立安全性更高的模糊指紋保險箱理論框架和系統(tǒng)原型。指紋預(yù)處理由于指紋在采集過程中會受到各種噪聲的污染,所以需要對指紋進(jìn)行預(yù)處理以去除噪聲,得到比較清晰的脊線信息。形變模板生成使用對應(yīng)于每一個用戶的形變函數(shù)將用戶的真實指紋信息變換到形變域中。首先采用隨機(jī)向量和細(xì)節(jié)點局部脊線方向向量內(nèi)積的方法計算細(xì)節(jié)點不變值,然后將不變值分別輸入到距離變換函數(shù)和角度變換函數(shù)中,得到變換的平移量和旋轉(zhuǎn)量。對原始細(xì)節(jié)點模板變換的到形變域中的細(xì)節(jié)點信息。形變域中模糊保險箱加解密得到形變后的指紋細(xì)節(jié)點模板后,對其在形變域中進(jìn)行模糊保險箱加解密操作。加密時采用SHA-I算法對保險箱密鑰進(jìn)行哈希,將哈希值一并存入保險箱中,用于解密階段的密鑰校驗。圖1是本發(fā)明提供的基于細(xì)節(jié)點局部脊線信息的模糊指紋保險箱安全性增強(qiáng)方法的流程圖,該方法包括以下步驟步驟A圖像預(yù)處理,如圖Ia示出是對指紋圖像進(jìn)行分割、增強(qiáng)、二值化和細(xì)化,然后提取指紋細(xì)節(jié)點集合;步驟B:細(xì)節(jié)點不變值計算步驟是在細(xì)化的指紋脊線圖像中,根據(jù)指紋細(xì)節(jié)點的局部脊線方向信息,構(gòu)造對應(yīng)于每一個細(xì)節(jié)點的脊線采樣點方向向量,并由該方向向量導(dǎo)出一個對應(yīng)于每一個細(xì)節(jié)點的不變值;步驟C:平移量和旋轉(zhuǎn)量計算步驟是使用細(xì)節(jié)點不變值為形變函數(shù)的輸入,得到指紋細(xì)節(jié)點的平移參數(shù)和旋轉(zhuǎn)參數(shù),繼而得到形變后的指紋細(xì)節(jié)點模板;步驟D完整幫助信息提取步驟是對指紋圖像的細(xì)化脊線進(jìn)行不可逆跟蹤,提取指紋圖像的指紋奇異點鄰域內(nèi)的細(xì)節(jié)點拓?fù)浣Y(jié)構(gòu)信息,作為用于配準(zhǔn)的幫助信息;步驟E加密和解密操作步驟是將形變后的細(xì)節(jié)點模板以及奇異點鄰域拓?fù)浣Y(jié)構(gòu)信息存儲到模糊保險箱中,在形變域內(nèi)進(jìn)行指紋模糊保險箱的編碼和解碼操作。上述步驟B中所述根據(jù)細(xì)節(jié)點局部脊線方向信息產(chǎn)生對應(yīng)的不變值,請參閱圖lb,細(xì)節(jié)點不變值具體計算步驟包括步驟Bl對指紋圖像進(jìn)行增強(qiáng)、二值化和細(xì)化,然后提取細(xì)節(jié)點集合。根據(jù)結(jié)合脊線結(jié)構(gòu)的細(xì)節(jié)點局部質(zhì)量判斷方法進(jìn)行細(xì)節(jié)點選擇,找到質(zhì)量最好的20-40個細(xì)節(jié)點作為特征;步驟B2采用細(xì)化的指紋脊線圖像,以細(xì)節(jié)點為中心,計算與細(xì)節(jié)點鄰近的圓域內(nèi)所有采樣點構(gòu)成的采樣結(jié)構(gòu),記錄脊線采樣點的相對方向值,使所有采樣點的方向值構(gòu)成一個平移和旋轉(zhuǎn)不變的方向向量;步驟B3以用于初步認(rèn)證用戶身份的口令(pwd)作為種子,將種子輸入到隨機(jī)數(shù)生成器中,產(chǎn)生一個對應(yīng)于該用戶身份的隨機(jī)數(shù)向量;步驟B4:將方向向量和隨機(jī)數(shù)向量歸一化后進(jìn)行內(nèi)積,得到對應(yīng)于細(xì)節(jié)點的平移和旋轉(zhuǎn)不變值。上述步驟B2在計算不變的方向向量時,采用一種在細(xì)節(jié)點附近畫同心圓并且在每個同心圓上等角度采樣脊線點的方法,具體包括如圖2所示為細(xì)節(jié)點局部脊線方向采樣結(jié)構(gòu),在后文所述實施例中采用4個同心圓,其半徑由內(nèi)而外依次為27、45、63和81(單位為像素),每個同心圓上的采樣點個數(shù)依次為10、16、22和28個(共76個),并設(shè)細(xì)節(jié)點叫。采樣點的方向由以下方式確定1)如果采樣點(圖2中示出小方塊為采樣點)恰好位于脊線(圖2中示出線條為脊線)上,則計算該脊線點方向作為采樣點方向;2)如果采樣點不在脊線上,但其八鄰域范圍內(nèi)有脊線點,則以距離采樣點較近的脊線點的方向作為該采樣點的方向;3)如果采樣點不在脊線上,且其八鄰域范圍內(nèi)也沒有脊線點,則設(shè)其方向等于所屬細(xì)節(jié)點的方向;設(shè)細(xì)節(jié)點叫(1=1,2,···,n,n為細(xì)節(jié)點個數(shù))的方向為θi,以Qi為基準(zhǔn),所屬第j個采樣點的方向為θ^.(j=1,2,...,76),則可獲得一個維數(shù)為76的不變向量Tm如下Tijj=[d(θθJ,d(θi2-θ^,···,d(θi76-θJ],其中,<formula>formulaseeoriginaldocumentpage9</formula>其中θi是細(xì)節(jié)點方向,θ2是細(xì)節(jié)點附近采樣點的脊線方向,d(θi-θ2)是兩個方向的差。對于位于圖像邊緣的細(xì)節(jié)點而有過多采樣不到的點,可以直接過濾掉。上述步驟Β4將方向向量和隨機(jī)數(shù)向量歸一化后進(jìn)行內(nèi)積后得到不變值,具體如下設(shè)細(xì)節(jié)點Hii的方向向量為Ti,j;76維的隨機(jī)向量為rpwd,將其歸一化后進(jìn)行內(nèi)積,并加1變換到區(qū)間,如下ITuIIrP,dI其中Vari即表示第i個細(xì)節(jié)點的不變值。如圖Ic示出上述步驟C平移量和旋轉(zhuǎn)量計算步驟進(jìn)一步包括以下子步驟步驟Cl將用戶身份的口令(pwd)作為種子,輸入到隨機(jī)數(shù)生成器中,隨機(jī)數(shù)生成器輸出兩個隨機(jī)點向量X和Y,設(shè)隨機(jī)點向量維數(shù)為n,X的元素取值范圍為[-β,-α]U[α,β],Υ的元素的取值范圍為[-ι,-λ]U[λ,η],在實施例中α=5,β=10,n=5,λ=10,所述X、Y的元素取值僅為一實例,其他取值范圍則不再贅述;步驟C2、使用向量元素求和的方法,分別對隨機(jī)點向量X的元素前i(i=1,2,...,n)項求和,得到距離變換函數(shù)的n維控制點向量Lpwd(IiT),如下L—(nT)=X0+χτ+…+x(n_])T+xnT=Di,其中T代表細(xì)節(jié)點不變值的分割步長,Xi代表隨機(jī)點向量X的第i個元素。步驟C3、使用向量元素求和的方法,對隨機(jī)點向量Y的元素前i(i=l,2,...,n)項求和,得到角度變換函數(shù)的n維控制點向量pwd(nT),如下…+”+^=[二乃,其中T代表細(xì)節(jié)點不變值的分割步長,Yi代表隨機(jī)點向量Y的第i個元素。步驟C4、如果細(xì)節(jié)點的不變值Vari落在某兩個控制點(n_l)T和nT之間,則利用數(shù)據(jù)插值的方法,求出位于兩個控制點數(shù)值之間的距離變換函數(shù)Lpwd(IiT)和角度變換函數(shù)Opwd(IiT)的函數(shù)值,即對應(yīng)于細(xì)節(jié)點平移量Lpwd(Vari)和旋轉(zhuǎn)量pwd(Vari)。上述步驟C4中所述的數(shù)據(jù)插值方法,特指赫爾米特插值算法。如圖3所示為FVC2002DB2數(shù)據(jù)庫中來自同一個手指的兩枚指紋“1_1.tif”和“1_2.tif”中對應(yīng)的細(xì)節(jié)點提取出的不變值對比折線為3a和3b。圖4所示為所采用的赫爾米特插值方法與分段線性插值的比較,圖中,4a曲線為角度變換函數(shù)的線性插值;4b曲線為角度變換函數(shù)的赫爾米特插值;4c曲線為距離變換函數(shù)的線形插值;4d距離變換函數(shù)的赫爾米特插值。從圖中看出使用赫爾米特插值方法獲得的插值曲線更為平滑,在大部分區(qū)域其斜率更接近于自然狀態(tài),能獲得更好的插值效果。圖5a_圖5d為經(jīng)過形變后的細(xì)節(jié)點模板與原始模板的比較,圖5a是原始指紋圖像,圖5b是原始細(xì)節(jié)點模板圖,圖5c是經(jīng)過變換后的細(xì)節(jié)點模板圖,圖5d是原始細(xì)節(jié)點模板和變換后的細(xì)節(jié)點模板疊加在一起的效果圖。從圖中看出經(jīng)過形變后的細(xì)節(jié)點模板圖已經(jīng)和原始圖完全沒有關(guān)系,這種形變是不可逆的,從而更好的保護(hù)了原始指紋信息的隱私性和安全性。如圖Id示出完整幫助信息提取的流程,上述步驟D中所述提取指紋奇異點鄰域內(nèi)的細(xì)節(jié)點拓?fù)浣Y(jié)構(gòu)信息作為用于配準(zhǔn)的幫助信息,具體包括以下幾個子步驟步驟Dl使用Poincare索引計算可能的指紋奇異點,并根據(jù)指紋奇異點鄰域內(nèi)的方向場和脊線變化綜合信息精確定位奇異點的位置;步驟D2劃分拓?fù)浣Y(jié)構(gòu)所在圓域,即以奇異點為中心,R為半徑,記錄圓域內(nèi)所有的細(xì)節(jié)點的位置和方向;步驟D3:以圓域中的細(xì)節(jié)點為初始點,跟蹤確定每一細(xì)節(jié)點對應(yīng)的脊線采樣點,且該跟蹤過程不可逆,然后記錄采樣點的位置和方向;步驟D4記錄所有采樣點與中心點的相對信息,構(gòu)成完整的幫助信息。上述步驟D3中所述的脊線采樣點跟蹤過程,具體為如圖6所示,P為指紋圖像中心點,r為采樣圓的半徑,沿細(xì)節(jié)點Hii所屬脊線進(jìn)行跟蹤,在移動特定數(shù)目的像素到達(dá)^m,后,過移動后的像素相對于該點的脊線切線方向做垂線,將該垂線與相鄰的并且距離中心點位置較遠(yuǎn)的那條脊線的交點Si作為采樣點,方向值Qi是脊線的交點Si的方向,R是沿脊線移動的像素個數(shù),圖7a-圖7b示出1是中心點P與細(xì)節(jié)點Si之間的連線距離,b是qi所示方向與連線1之間的夾角。圖7a_圖7b示出基于指紋中心點拓?fù)浣Y(jié)構(gòu)的幫助信息提取方法;上述步驟D4中所述的完整的幫助信息,其構(gòu)造過程具體包括如圖7a所示,設(shè)Si(i=1,2,...,η)為拓?fù)鋱A域內(nèi)所有的采樣點,其中η為采樣點Si個數(shù),在中心點P和采樣點Si之間做連線,記錄連線的長度Ii,連線Ii與χ軸的夾角,此例中ai=ai;以及連線Ii與采樣點Si方向的夾角bi;此例中h=ID1,構(gòu)成一個幫助信息三元組{lpaybj,所有的三元組{{lpapbi}|i=1,2,...,n}構(gòu)成完整的幫助信息。圖中^表示細(xì)節(jié)點的方向,5個黑點示意出了位于采樣圓半徑r內(nèi)的5個細(xì)節(jié)點的位置。如圖7b所示,隨著指紋順時針旋轉(zhuǎn)Vq的角度,以中心點P為圓心的拓?fù)浣Y(jié)構(gòu)中脊線上各個采樣點Sj也隨之以同樣的角度旋轉(zhuǎn)??梢钥闯?,雖然Sj的位置和方向場%都發(fā)生了改變,但是P和Sj之間的連線距離Ij,以及q2與連線Ij之間的夾角b并沒有發(fā)生變化。其中,由幾何知識可知,模板指紋與查詢指紋之間對于的兩個夾角之間的差值也是相同的,艮口a「a2=n=如圖1示出的上述步驟E中所述在形變域內(nèi)對指紋模糊保險箱進(jìn)行加解密操作,具體包括步驟E1、將模板指紋的細(xì)節(jié)點集經(jīng)過變換后,在形變域內(nèi)進(jìn)行模糊保險箱算法的加密(即注冊)操作,并將從模板指紋中提取的完整幫助信息也放入保險箱中;步驟E2、將查詢指紋的細(xì)節(jié)點集經(jīng)過變換后,在形變域內(nèi)進(jìn)行模糊保險箱算法的解密(即認(rèn)證)操作。上述步驟步驟El所述在形變域內(nèi)進(jìn)行模糊保險箱算法的加密(即注冊)操作,其流程如圖8所示。具體包含如下幾個子步驟步驟Ell根據(jù)步驟A得到形變后的模板指紋細(xì)節(jié)點集at={^(χ,γ,θ)}"^。根據(jù)步驟D得到完整的模板指紋幫助信息Ht;步驟Ε12:雜湊點添加。在指紋圖像區(qū)域內(nèi)隨機(jī)添加大量雜湊點,雜湊點集[二沁江夂妁&,其中^^川!!。(χ,y,θ)與細(xì)節(jié)點的取值范圍相同,雜湊點與細(xì)節(jié)點的距離應(yīng)大于一定的閾值S,當(dāng)與最近的細(xì)節(jié)點距離接近S時,其方向θ應(yīng)該與相鄰細(xì)節(jié)點的方向有較大差異;步驟Ε13點集編碼。將每一個細(xì)節(jié)點信息編碼為16-bit二進(jìn)制串Ri,雜湊點也編碼為16-bit二進(jìn)制串Chi,其中χ和y均使用5-bit編碼,θ使用6-bit編碼;步驟E14多項式構(gòu)造及點集映射。將隨機(jī)數(shù)生成器生成的用戶隨機(jī)密鑰(Key)分割為特定份數(shù),每一份對應(yīng)多項式的一個系數(shù),構(gòu)造出階數(shù)為η的多項式f。然后將編碼后的16-bit而進(jìn)行細(xì)節(jié)點信息映射到多項式上得到函數(shù)值f(Ri),從而KRi,f(Ri))|i=1,2,...,n}構(gòu)成真實的細(xì)節(jié)點信息。隨機(jī)添加雜湊點的函數(shù)值ζ(Chi),使得(Chyf(Chi))不在多項式曲線上,KChpf(Chi))|i=1,2,...,s\構(gòu)成雜湊點信息;步驟E15密鑰哈希。使用標(biāo)準(zhǔn)哈希函數(shù)SHA-I將隨機(jī)生成的密鑰Key進(jìn)行哈希,得到的哈希值Hash(Key)將用于解密步驟中的密鑰校驗;步驟E16保險箱構(gòu)造。將點集信息(包括細(xì)節(jié)點集和雜湊點集)、完整幫助信息、密鑰哈希值存儲構(gòu)成完整的模糊指紋保險箱。上述步驟E2所述在形變域內(nèi)進(jìn)行模糊保險箱算法的解密(即認(rèn)證)操作,其流程如圖9所示。具體包含以下幾個子步驟步驟E21根據(jù)步驟A所述得到形變后的查詢指紋細(xì)節(jié)點集={A(x,兄的};=1,根據(jù)步驟D所述得到完整的查詢指紋幫助信息Hq;步驟E22根據(jù)Hq和Ht計算出指紋圖像全局平移和旋轉(zhuǎn)參數(shù),并且將Rq進(jìn)行對準(zhǔn)到Rt的坐標(biāo)系中得到Rq';步驟E23使用可變界限盒的指紋細(xì)節(jié)點匹配方法,對模糊保險箱中的點集進(jìn)行過濾,得到待解密的細(xì)節(jié)點集合M、{w,江;;力)}。;如果解密出的細(xì)節(jié)點個數(shù)小于等于多項式階數(shù)n,則認(rèn)為查詢指紋與模板指紋不匹配,直接輸出拒絕信號;步驟E24從似㈣江少,的仏中取出比多項式階數(shù)多1的細(xì)節(jié)點,使用拉格朗日多項式插值的方法,計算多項式的系數(shù),合并之得到待校驗的密鑰Key';這里的拉格朗日多項式插值方法,具體如下設(shè)C={(Ω,Λ)}=是一個待解密的點集,則插值后的多項式表達(dá)式為<formula>formulaseeoriginaldocumentpage11</formula>上式可以改寫為<formula>formulaseeoriginaldocumentpage11</formula>將系數(shù)C:,^,···,^按照多項式編碼時的規(guī)則進(jìn)行解碼,即得到解密后的密鑰Key'。步驟E25校驗哈希值Hash(Key'),比較其是否等于Hash(Key),這里的哈希函數(shù)使用標(biāo)準(zhǔn)的SHA-I算法。如果相等則認(rèn)為解密成功,如果失敗,則進(jìn)行下一組待解密點集的嘗試,如果全部組合解密都不成功,則認(rèn)為整個算法解密失敗,給出拒絕信號。實施例已經(jīng)將此方法應(yīng)用到自行設(shè)計的基于指紋的安全模糊加密身份認(rèn)證系統(tǒng)中。采用面向?qū)ο蟮脑O(shè)計方法和軟件工程規(guī)范,用C++語言實現(xiàn),系統(tǒng)開發(fā)的平臺WindowsXPSP2+VisualStutio2005,所有的實驗都是在IntelCore21.86GCPU的PC機(jī)上進(jìn)行。1)指紋測試數(shù)據(jù)庫采用第二屆國際指紋識別競賽FVC2002DB2SetA數(shù)據(jù)庫進(jìn)行測試,這個數(shù)據(jù)庫是Biometrika公司生產(chǎn)的型號為FX2000的光學(xué)數(shù)據(jù)庫,圖像分辨率569dpi,圖像大小296X560像素。數(shù)據(jù)庫采自100個手指,每個手指8枚圖像,共計100X8=800幅指紋圖像。我們挑選其中每個手指的前兩個樣本進(jìn)行測試(共100X2=200枚指紋),因為這兩個樣本的指紋形變比較小,便于排除干擾集中測試系統(tǒng)的性能和安全性。2)測試結(jié)果由于本發(fā)明是一種雙因子的身份認(rèn)證方法(口令+指紋),為了驗證其安全性由于單因子的模糊保險箱,需要測試兩個因子在保障安全性方面起同等重要的作用,故實驗測試分三個場景進(jìn)行A.假設(shè)攻擊者既不知道合法用戶的口令也不具備獲取合法用戶真實指紋信息的能力,這個場景下為每一個手指生成不同的口令,分別測試系統(tǒng)的GAR(識真率)和FAR(誤識率),表1給出了這個場景下系統(tǒng)的性能數(shù)據(jù);B.假設(shè)攻擊者知道合法用戶的口令,但是不具備獲取合法用戶的真實指紋信息的能力,這個場景下使用同一個口令來加密所有的指紋,然后使用每個手指的第一個樣本攻擊其第二個樣本,使用CSR(CrackingSuccessRate,攻擊成功率)來測量其安全性,表2給出了這個場景下系統(tǒng)的安全性數(shù)據(jù);C.假設(shè)攻擊者不知道合法用戶的口令,但是具備獲取合法用戶的真實指紋信息的能力,這個場景下使用兩個不同的口令來加密同一枚指紋,分別獨立測試200枚指紋,同樣適用CSR來測量其安全性,表3給出了這個場景下系統(tǒng)的安全性數(shù)據(jù)。3)結(jié)果分析表1多項式階數(shù)7Γ~8Γ~9ΓοΓηGAR(%)8988868482FAR(%)θΓθ7θΓθ3004θΓθ30.02表2<table>tableseeoriginaldocumentpage13</column></row><table>表3<table>tableseeoriginaldocumentpage13</column></row><table>表1的數(shù)據(jù)表明安全的模糊指紋保險箱系統(tǒng)完全可以達(dá)到實用的身份認(rèn)證功能;表2和表3的數(shù)據(jù)表明,在只有一個因子丟失的情況下,系統(tǒng)的安全性基本不受到威脅。以上所述,僅為本發(fā)明中的具體實施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉該技術(shù)的人在本發(fā)明所揭露的技術(shù)范圍內(nèi),可理解想到的變換或替換,都應(yīng)涵蓋在本發(fā)明的包含范圍之內(nèi),因此,本發(fā)明的保護(hù)范圍應(yīng)該以權(quán)利要求書的保護(hù)范圍為準(zhǔn)。權(quán)利要求一種增強(qiáng)模糊指紋保險箱安全性的方法,其特征在于,包括步驟如下步驟A圖像預(yù)處理步驟是對指紋圖像進(jìn)行增強(qiáng)、二值化和細(xì)化,然后提取指紋細(xì)節(jié)點集合;步驟B細(xì)節(jié)點不變值計算步驟是在細(xì)化的指紋脊線圖像中,根據(jù)指紋細(xì)節(jié)點的局部脊線方向信息,構(gòu)造對應(yīng)于每一個細(xì)節(jié)點的脊線采樣點方向向量,并由該方向向量計算導(dǎo)出一個對應(yīng)于每一個細(xì)節(jié)點的不變值;步驟C平移量和旋轉(zhuǎn)量計算步驟是使用細(xì)節(jié)點不變值為形變函數(shù)的輸入,得到指紋細(xì)節(jié)點的平移量參數(shù)和旋轉(zhuǎn)量參數(shù),繼而得到形變后的指紋細(xì)節(jié)點模板;步驟D完整幫助信息提取步驟是對指紋圖像的細(xì)化脊線進(jìn)行不可逆跟蹤,提取指紋圖像的奇異點鄰域內(nèi)的細(xì)節(jié)點拓?fù)浣Y(jié)構(gòu)信息,作為用于配準(zhǔn)的幫助信息;步驟E加密和解密操作步驟是將形變后的指紋細(xì)節(jié)點模板以及奇異點鄰域拓?fù)浣Y(jié)構(gòu)信息存儲到模糊保險箱中,在形變域內(nèi)進(jìn)行指紋模糊保險箱的加密和解密操作。2.根據(jù)權(quán)利要求1所述增強(qiáng)模糊指紋保險箱安全性的方法,其特征在于,所述細(xì)節(jié)點不變值的計算包括步驟如下步驟Bl結(jié)合脊線結(jié)構(gòu)的細(xì)節(jié)點局部質(zhì)量判斷選擇細(xì)節(jié)點,找到質(zhì)量最好的多個細(xì)節(jié)點作為特征;步驟B2:采用細(xì)化的指紋脊線圖像,以細(xì)節(jié)點為中心,計算與細(xì)節(jié)點鄰近的圓域內(nèi)所有采樣點構(gòu)成的采樣結(jié)構(gòu),記錄脊線采樣點的相對方向值,使所有采樣點的方向值構(gòu)成一個平移和旋轉(zhuǎn)不變的方向向量;步驟B3以用于初步認(rèn)證用戶身份的口令作為種子,將種子輸入到隨機(jī)數(shù)生成器中,產(chǎn)生一個對應(yīng)于該用戶身份的隨機(jī)數(shù)向量;步驟B4:將方向向量和隨機(jī)數(shù)向量歸一化后進(jìn)行內(nèi)積,得到對應(yīng)于細(xì)節(jié)點的平移和旋轉(zhuǎn)不變值。3.根據(jù)權(quán)利要求1所述增強(qiáng)模糊指紋保險箱安全性的方法,其特征在于,所述平移量和旋轉(zhuǎn)量計算的具體實現(xiàn)步驟包括如下步驟Cl將用戶身份的口令作為種子輸入隨機(jī)數(shù)生成器中,隨機(jī)數(shù)生成器輸出兩個隨機(jī)點向量X和Y,設(shè)隨機(jī)點向量維數(shù)為η;步驟C2使用向量元素求和的方法,對隨機(jī)點向量X的元素前i(i=1,2,...,η)項求和,得到距離變換函數(shù)的η維控制點向量Lpwd(IiT),其中T代表細(xì)節(jié)點不變值的分割步長;步驟C3使用向量元素求和的方法,對隨機(jī)點向量Y的元素前i(i=1,2,...,η)項求和,得到角度變換函數(shù)的η維控制點向量pwd(nT)Lpwd(nT),其中T代表細(xì)節(jié)點不變值的分割步長;步驟C4如果細(xì)節(jié)點的不變值落在某兩個控制點之間,則利用數(shù)據(jù)插值的方法,求出位于兩個控制點數(shù)值之間的距離變換函數(shù)Lpwd(IiT)和角度變換函數(shù)pwd(nT)的函數(shù)值,即為對應(yīng)于細(xì)節(jié)點的平移量和旋轉(zhuǎn)量。4.根據(jù)權(quán)利要求3所述增強(qiáng)模糊指紋保險箱安全性的方法,其特征在于,所述數(shù)據(jù)插值法指是用赫爾米特插值算法。5.根據(jù)權(quán)利要求1所述增強(qiáng)模糊指紋保險箱安全性的方法,其特征在于,所述完整幫助信息提取的具體實現(xiàn)步驟包括如下步驟Dl使用Poincare索引計算可能的指紋奇異點,并根據(jù)指紋奇異點鄰域內(nèi)的方向場和脊線變化綜合信息精確定位奇異點的位置;步驟D2以奇異點為中心點,R為半徑,劃分并記錄拓?fù)浣Y(jié)構(gòu)所在圓域內(nèi)所有的細(xì)節(jié)點的位置和方向;步驟D3以圓域中的細(xì)節(jié)點為初始點,采用不可逆跟蹤確定每一細(xì)節(jié)點對應(yīng)的脊線采樣點,然后記錄采樣點的位置和方向;步驟D4:記錄所有采樣點與中心點的相對信息,構(gòu)成完整的幫助信息。6.根據(jù)權(quán)利要求5所述增強(qiáng)模糊指紋保險箱安全性的方法,其特征在于,所述脊線采樣點的不可逆跟蹤過程,是沿細(xì)節(jié)點所屬脊線進(jìn)行跟蹤,在移動多個像素后到達(dá)某脊線點,過該脊線點相對于脊線的切線方向做垂線,將該垂線與相鄰的并且距離中心點位置較遠(yuǎn)的那條脊線的交點作為采樣點。7.根據(jù)權(quán)利要求5所述增強(qiáng)模糊指紋保險箱安全性的方法,其特征在于,所述完整的幫助信息,其構(gòu)造過程具體包括設(shè)Si(i=1,2,...,η)為拓?fù)鋱A域內(nèi)所有的采樣點,其中η為采樣點個數(shù),在中心點和采樣點之間做連線Ii,連線Ii與χ軸的夾角ai;以及連線與采樣點方向的夾角bi;構(gòu)成一個幫助信息三元組{lpaybj,所有的三元組{{lpapbj|i=1,2,...,n}構(gòu)成完整的幫助fn息ο8.根據(jù)權(quán)利要求1所述增強(qiáng)模糊指紋保險箱安全性的方法,其特征在于,所述加密和解密操作,具體包括步驟El將模板指紋的細(xì)節(jié)點集經(jīng)過變換后,在形變域內(nèi)進(jìn)行模糊保險箱算法的加密注冊操作,并將從指紋細(xì)節(jié)點模板中提取的完整幫助信息也放入保險箱中;步驟E2對查詢指紋的細(xì)節(jié)點集進(jìn)行變換后,在形變域內(nèi)進(jìn)行模糊保險箱算法的解密認(rèn)證操作。9.根據(jù)權(quán)利要求8所述增強(qiáng)模糊指紋保險箱安全性的方法,其特征在于,所述加密操作,具體步驟為步驟Ell根據(jù)形變后的模板指紋細(xì)節(jié)點集AT={A.(x,兄;根據(jù)完整的指紋細(xì)節(jié)點模板的指紋幫助信息Ht;步驟E12在指紋圖像區(qū)域內(nèi)隨機(jī)添加大量雜湊點,雜湊點集C=R(UW)I,其中s^IOn,Cj(x,y,θ)代表一個雜湊點,其中x,y,θ分別代表雜湊點的x方向位置、y方向位置和角度,(x,y,θ)與細(xì)節(jié)點的取值范圍相同,雜湊點與細(xì)節(jié)點的距離應(yīng)大于一閾值S,當(dāng)與最近的細(xì)節(jié)點距離接近δ時,其方向θ與相鄰細(xì)節(jié)點的方向有較大差異;步驟Ε13將每一個細(xì)節(jié)點信息編碼為16-bit二進(jìn)制串Ri,雜湊點也編碼為16-bit二進(jìn)制串Chi,其中χ和y均使用5-bit編碼,方向θ使用6-bit編碼;步驟E14將隨機(jī)數(shù)生成器生成的用戶隨機(jī)密鑰(Key)分割為多個份數(shù),每一份對應(yīng)多項式的一個系數(shù),構(gòu)造出512的常數(shù)階數(shù)的多項式f,然后將16-bit編碼進(jìn)行細(xì)節(jié)點信息映射到多項式上得到函數(shù)值f(Ri),從而KRi,f(Ri))Ii=1,2,...,η}構(gòu)成真實的細(xì)節(jié)點信息;隨機(jī)添加雜湊點的函數(shù)值Z(Chi),使得(Chpf(Chi))位于多項式曲線之外,KChi,f(Chi))i=1,2,...,s}構(gòu)成雜湊點信息;步驟E15使用標(biāo)準(zhǔn)哈希函數(shù)SHA-I將隨機(jī)生成的密鑰Key進(jìn)行哈希,得到的哈希值Hash(Key)將用于解密步驟中的密鑰校驗;步驟E16將點集信息包括細(xì)節(jié)點集和雜湊點集、完整幫助信息、密鑰哈希值存儲構(gòu)成完整的模糊指紋保險箱。10.根據(jù)權(quán)利要求8所述增強(qiáng)模糊指紋保險箱安全性的方法,其特征在于,所述解密操作,具體步驟為步驟E21根據(jù)形變后的查詢指紋細(xì)節(jié)點集力)}二,其中R^x,y,θ)代表一個形變后的細(xì)節(jié)點信息,x,y,θ分別代表其形變后的位置和方向;以及完整的幫助信息Hq,以用于下面進(jìn)行細(xì)節(jié)點信息的校準(zhǔn)和加密;步驟Ε22根據(jù)完整的查詢指紋幫助信息Hq和模板指紋幫助信息Ht計算出指紋圖像全局平移和旋轉(zhuǎn)參數(shù),并且將原始查詢指紋細(xì)節(jié)點集Rq對準(zhǔn)到原始模板指紋細(xì)節(jié)點集Rt的坐標(biāo)系中得到形變后的查詢指紋細(xì)節(jié)點集Rq';步驟Ε23使用形變后的查詢指紋細(xì)節(jié)點集Rq'對模糊保險箱中的點集信息進(jìn)行過濾,得到待解密的細(xì)節(jié)點集合似^㈣江;^)};!,,其中mi(χ,y,θ)代表待解密細(xì)節(jié)點集合中的一個細(xì)節(jié)點,x,y,θ分別代表其位置和方向;步驟Ε24從似^㈣江乂的仏中取出比多項式階數(shù)多1的細(xì)節(jié)點,使用拉格朗日多項式插值法,計算多項式的系數(shù),合并之得到待校驗的密鑰Key';步驟Ε25校驗哈希值Hash(Key'),比較其是否等于Hash(Key),如果相等則認(rèn)為解密成功,如果失敗,則進(jìn)行下一組待解密點集的嘗試,如果全部組合解密都不成功,則認(rèn)為整個算法解密失敗,給出拒絕信號。全文摘要本發(fā)明公開一種增強(qiáng)模糊指紋保險箱安全性的方法,該方法包括以下步驟A、根據(jù)指紋細(xì)節(jié)點的局部脊線方向信息,構(gòu)造對應(yīng)于每一個細(xì)節(jié)點的脊線采樣點方向向量,并由該方向向量導(dǎo)出一個對應(yīng)于每一個細(xì)節(jié)點的不變值;B、使用細(xì)節(jié)點不變值為形變函數(shù)的輸入,得到指紋細(xì)節(jié)點的平移參數(shù)和旋轉(zhuǎn)參數(shù),繼而得到形變后的指紋細(xì)節(jié)點模板;C、提取指紋奇異點鄰域內(nèi)的細(xì)節(jié)點拓?fù)浣Y(jié)構(gòu)信息作為用于配準(zhǔn)的幫助信息;D、將形變后的細(xì)節(jié)點模板以及奇異點鄰域拓?fù)浣Y(jié)構(gòu)信息存儲到模糊保險箱中,在形變域內(nèi)進(jìn)行指紋模糊保險箱的編碼和解碼操作。文檔編號G06K9/00GK101814131SQ20091007856公開日2010年8月25日申請日期2009年2月25日優(yōu)先權(quán)日2009年2月25日發(fā)明者李鵬,楊鑫,田捷申請人:中國科學(xué)院自動化研究所