本發(fā)明屬于密碼學(xué)與生物特征識別技術(shù)領(lǐng)域,具體涉及一種指靜脈融合模糊金庫的實現(xiàn)方法。
背景技術(shù):
早在1994年,Bodo在一項德國專利中提出:直接對生物模板數(shù)據(jù)提取進(jìn)行應(yīng)用,結(jié)果作為密鑰供給密碼系統(tǒng)。這是最早將密碼學(xué)的密鑰與生物模板結(jié)合在一起的一種方案。
1998年,Soutar首次提出密鑰與生物的特征綁定的概念及其方案。方案可以分成兩個階段:注冊與認(rèn)證。注冊方案的目的,是將任意N位密鑰和用戶的指紋綁定在一起,產(chǎn)生生物特征密文,用于儲存和驗證。Davida等就在密鑰中引入了虹膜特征,當(dāng)輸入和模板的比特位差異在10%以內(nèi)時,文中的密鑰綁定方法可以恢復(fù)出密鑰。但由于此方法要保留糾錯碼,因此存在原始生物信息泄露的問題?;贒avida等的算法,Juels提出了模糊承諾算法,它是一種新的密碼學(xué)思想,即糾錯碼和密碼學(xué)相結(jié)合。但算法要求加鎖和解鎖集合A與B必須是有序集合。
在2002年A.Juels和M.Sudan提出了“A Fuzzy Vault Scheme”。在其提出的模糊金庫算法中,將用戶唯一的特征集合或其他屬性集合A混合用戶的密鑰進(jìn)入基于Reed-Solomn的金庫中。用戶可以利用與集合A有絕大多數(shù)元素相同的屬性集合B恢復(fù)出密鑰。其算法的核心思想是模糊性。
使用指靜脈融合模糊金庫為本發(fā)明的核心,安全性保障由單一用戶多指靜脈融合后的特征唯一性提供。
技術(shù)實現(xiàn)要素:
本發(fā)明在真實可靠的實驗條件下,針對現(xiàn)有技術(shù)的不足,提供了一種指靜脈融合模糊金庫的實現(xiàn)方法。
本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案包括如下步驟:
步驟1、融合指靜脈A和指靜脈B圖像上的指靜脈骨架信息得到靜脈骨架圖像C,提取特征點得到一個特征信息集合并提取出其特征信息集合。
步驟2、利用上鎖算法,將需要保護(hù)的密鑰與第一步中的特征集合進(jìn)行綁定,生成指靜脈融合模糊金庫。
步驟3、利用經(jīng)過驗證的查詢指靜脈A'和B',融合其指靜脈骨架信息得到靜脈骨架圖像C',提取特征信息,從指靜脈模糊金庫中采用解鎖算法提取密鑰。
步驟1所述的融合指靜脈A和指靜脈B圖像上的指靜脈骨架信息得到靜脈骨架圖像C,提取特征點得到一個特征信息集合并提取出其特征信息集合,具體如下:
1.1分別對采集到的指靜脈A圖像和指靜脈B圖像進(jìn)行預(yù)處理,預(yù)處理的過程依次包括ROI提取、校正、歸一化、濾波、二值化、細(xì)化。對預(yù)處理完成后的指靜脈A圖像和指靜脈B圖像進(jìn)行融合,得到靜脈骨架圖像C,設(shè)預(yù)處理完成后的指靜脈A圖像和指靜脈B圖像上的每一個像素點所對應(yīng)的值ωA(i,j)和ωB(i,j),則靜脈骨架圖像C的具體融合的過程為ωC(i,j)=ωA(i,j)∪ωB(i,j)。
1.2對于融合后的靜脈骨架圖像C,通過兩次指靜脈細(xì)節(jié)點訓(xùn)練,提取并處理指靜脈信息,得到一組相對穩(wěn)定的用戶融合后的靜脈骨架圖像C的細(xì)節(jié)點集合;然后利用幾何哈希技術(shù)將靜脈骨架圖像C的細(xì)節(jié)點注冊成一個哈希表
所述的指靜脈細(xì)節(jié)點訓(xùn)練方法如下:將樣本靜脈骨架圖像C依次進(jìn)行特征配準(zhǔn),配準(zhǔn)時不區(qū)分細(xì)節(jié)點類型;兩幅樣本圖像可配準(zhǔn)的細(xì)節(jié)點記為該枚指靜脈的真實細(xì)節(jié)點,該真實細(xì)節(jié)點的取值為:取兩幅樣本圖像中的兩組坐標(biāo)值的均值,然后記錄該均值為該真實細(xì)節(jié)點的坐標(biāo)值;配準(zhǔn)好的真實細(xì)節(jié)點與第三幅樣本靜脈骨架圖像C再次進(jìn)行特征配準(zhǔn);配準(zhǔn)完成后得到相對穩(wěn)定的真實細(xì)節(jié)點集合。
幾何哈希技術(shù):通過幾何不變量描述圖形,然后將這些信息以一定的順序組成哈希表,再使用特征匹配的方法在哈希表中搜索與所需圖形相同或相近的圖形。
1.3然后將得到的每個真實細(xì)節(jié)點的平面坐標(biāo)量化,并串接得到一個長度為16的比特串FC,F(xiàn)C的范圍為[0,216-1];然后將所有靜脈骨架圖像C的細(xì)節(jié)點的數(shù)據(jù)類型轉(zhuǎn)化為整數(shù),穩(wěn)定的真實細(xì)節(jié)點的個數(shù)記為NC。
步驟2所述的利用上鎖算法,將需要保護(hù)的密鑰與第一步中的特征集合進(jìn)行綁定,生成指靜脈融合模糊金庫,具體如下:
2.1將待綁定的密鑰k進(jìn)行分塊處理,分塊處理的規(guī)則為從左到右按順序?qū)⒋壎ǖ拿荑€k劃分為m塊,每塊長度為16比特;并將每塊數(shù)據(jù)類型轉(zhuǎn)化為整數(shù),得到一組范圍在[0,216-1]內(nèi)的整數(shù)集合K。
2.2根據(jù)密鑰分塊處理產(chǎn)生的塊數(shù)m,在有限域上構(gòu)造一個多項式P(x)
P(x)=a0+a1x+a2x2+…+amxm(mod p) (1)
其中,模數(shù)p根據(jù)經(jīng)驗推薦取值為65537,最高次數(shù)m由密鑰k長度決定,取值范圍為8到16的整數(shù)。
2.3為待綁定的密鑰k添加16比特長度的CRC循環(huán)冗余校驗碼,并將該的CRC循環(huán)冗余校驗碼的數(shù)據(jù)類型轉(zhuǎn)化為整數(shù),得到一個范圍在[0,216-1]內(nèi)的整數(shù)。
2.4使用步驟2.1中提到的整數(shù)集合K與步驟2.3中的得到的CRC循環(huán)冗余校驗碼作為多項式(1)的系數(shù),其中a0為CRC循環(huán)冗余校驗碼,a1,...,am為待綁定的密鑰塊,由整數(shù)集合K中獲??;步驟1.3中得到的穩(wěn)定的用戶指靜脈信息集合FC中的每個真實細(xì)節(jié)點數(shù)據(jù)作為多項式輸入值x帶入多項式(1)中,求得點集{(x,P(x))|x∈FC}即為模糊金庫中的真實點集合。
2.5在模糊金庫中的真實點集合中添加遠(yuǎn)遠(yuǎn)多于真實點集合個數(shù)的雜湊點集合,雜湊點集合中的各組元素均隨機(jī)產(chǎn)生,并要求各組元素與真實點不相等,且各組元素不滿足多項式(1)。
2.6將真實點集合和雜湊點集合亂置,最終生成一個包含真實點集合、雜湊點集合、模糊金庫基本信息在內(nèi)的指靜脈融合模糊金庫。所述的模糊金庫基本信息包括多項式最高次數(shù)m、模數(shù)p。
步驟3所述的利用經(jīng)過驗證的查詢指靜脈A'和B',融合其指靜脈骨架信息得到靜脈骨架圖像C',提取特征信息,從指靜脈融合模糊金庫中采用解鎖算法提取密鑰,具體如下:
3.1通過使用和步驟1.1相同的方法,分別對采集到的指靜脈圖像A'和指靜脈B'圖像進(jìn)行預(yù)處理,并融合成新指靜脈骨架圖像C'。
3.2提取、處理新指靜脈骨架圖像C'中的指靜脈信息,得到一組指靜脈細(xì)節(jié)點。然后通過幾何哈希技術(shù)注冊一個哈希表與步驟1.2中獲取的哈希表進(jìn)行匹配,篩選出匹配數(shù)目最多的基準(zhǔn)點集合HC'。
3.3對步驟3.2所述的指靜脈細(xì)節(jié)點,通過步驟1.3中獲取整數(shù)集合FC的方法得到FC',其范圍在[0,216-1]內(nèi),細(xì)節(jié)點的個數(shù)為NC';如果NC'≥m+1,進(jìn)入步驟3.4;否則跳轉(zhuǎn)到步驟3.1。
3.4將整數(shù)集合FC'與指靜脈融合模糊金庫中的各組數(shù)據(jù)進(jìn)行遍歷對比,若相符的點的個數(shù)不小于m+1,則進(jìn)入步驟3.5;否則密鑰提取失敗。
3.5對找到的相符的點進(jìn)行組合計算,每m+1個點為一組,對每組利用拉格朗日插值法嘗試恢復(fù)可能密鑰,并將得到的可能密鑰進(jìn)行CRC校驗。若通過CRC校驗,則可能密鑰即為密鑰,提取密鑰成功;否則繼續(xù)下一組嘗試。直到嘗試完所有組合情況,仍未提取到密鑰,則提取密鑰失敗。
本發(fā)明的有益效果
與單一指靜脈特征方法相比較,本發(fā)明利用指靜脈圖像融合方法大大增加了指靜脈特征點數(shù)目,一般情況下單個指靜脈圖像的特征點約為10個左右,對于密鑰提取可能會造成一定影響。而使用本發(fā)明中的圖像融合方案,在融合兩個指靜脈圖像的同時增加了融合后圖像的交叉點個數(shù),因此指靜脈圖像的特征點數(shù)目可達(dá)到30個左右(如圖1(e)所示),有利于指靜脈模糊金庫解鎖過程中的密鑰提取。本發(fā)明利用指靜脈圖像融合生成的模糊金庫來實現(xiàn)密鑰保護(hù),具有更強(qiáng)的安全性、更高的實現(xiàn)效率,保證只有合法用戶在合法指靜脈下才能提取到帶有CRC校驗功能的密鑰,保障了密鑰安全存儲的機(jī)密性、完整性、可用性。
附圖說明
圖1(a)、(b)、(c)、(d)和(e)指靜脈融合模糊金庫真實點示意圖
圖2指靜脈融合模糊金庫實現(xiàn)方法流程圖
圖3指靜脈融合模糊金庫的解鎖流程圖
具體實施方式
以下結(jié)合附圖對本發(fā)明作進(jìn)一步說明。
一種指靜脈融合模糊金庫的實現(xiàn)方法,主要包括三個部分:第一步,融合指靜脈A和指靜脈B圖像上的指靜脈骨架信息得到靜脈骨架圖像C,提取特征點得到一個特征信息集合并提取出其特征信息集合。第二步,利用上鎖算法,將需要保護(hù)的密鑰與第一步中的特征集合進(jìn)行綁定,生成指靜脈融合模糊金庫。第三步,利用經(jīng)過驗證的查詢指靜脈A'和B',融合其指靜脈骨架信息得到靜脈骨架圖像C',提取特征信息,從指靜脈模糊金庫中采用解鎖算法提取密鑰。
所述的融合指靜脈A和指靜脈B圖像上的指靜脈骨架信息得到靜脈骨架圖像C,提取特征點得到一個特征信息集合并提取出其特征信息集合(流程圖如圖2所示),具體如下:
1.1分別對采集到的指靜脈A圖像(如圖1(a)所示)和指靜脈B圖像(如圖1(b)所示)進(jìn)行預(yù)處理,預(yù)處理的過程依次包括ROI提取、校正、歸一化、濾波、二值化、細(xì)化。對預(yù)處理完成后的指靜脈A圖像(如圖1(c)所示)和指靜脈B圖像(如圖1(d)所示)進(jìn)行融合,得到靜脈骨架圖像C(如圖1(e)所示),設(shè)預(yù)處理完成后的指靜脈A圖像和指靜脈B圖像上的每一個像素點所對應(yīng)的值ωA(i,j)和ωB(i,j),則靜脈骨架圖像C的具體融合的過程為ωC(i,j)=ωA(i,j)∪ωB(i,j)。
1.2對于融合后的靜脈骨架圖像C,通過兩次指靜脈細(xì)節(jié)點訓(xùn)練,提取并處理指靜脈信息,得到一組相對穩(wěn)定的用戶融合后的靜脈骨架圖像C的細(xì)節(jié)點集合(如圖1(e)所示);然后利用幾何哈希技術(shù)將靜脈骨架圖像C的細(xì)節(jié)點注冊成一個哈希表
所述的指靜脈細(xì)節(jié)點訓(xùn)練方法如下:將樣本靜脈骨架圖像C依次進(jìn)行特征配準(zhǔn),配準(zhǔn)時不區(qū)分細(xì)節(jié)點類型;兩幅樣本圖像可配準(zhǔn)的細(xì)節(jié)點記為該枚指靜脈的真實細(xì)節(jié)點,該真實細(xì)節(jié)點的取值為:取兩幅樣本圖像中的兩組坐標(biāo)值的均值,然后記錄該均值為該真實細(xì)節(jié)點的坐標(biāo)值;配準(zhǔn)好的真實細(xì)節(jié)點與第三幅樣本靜脈骨架圖像C再次進(jìn)行特征配準(zhǔn);配準(zhǔn)完成后得到相對穩(wěn)定的真實細(xì)節(jié)點集合。
1.3然后將得到的每個真實細(xì)節(jié)點的平面坐標(biāo)量化,并串接得到一個長度為16的比特串FC,F(xiàn)C的范圍為[0,216-1];然后將所有靜脈骨架圖像C的細(xì)節(jié)點的數(shù)據(jù)類型轉(zhuǎn)化為整數(shù),穩(wěn)定的真實細(xì)節(jié)點的個數(shù)記為NC。
步驟2所述的利用上鎖算法,將需要保護(hù)的密鑰與第一步中的特征集合進(jìn)行綁定,生成指靜脈融合模糊金庫,具體如下:
2.1將待綁定的128位密鑰k進(jìn)行分塊處理,分塊處理的規(guī)則為從左到右按順序?qū)⒋壎ǖ拿荑€k劃分為8塊,每塊長度為16比特;并將每塊數(shù)據(jù)類型轉(zhuǎn)化為整數(shù),得到一組范圍在[0,216-1]內(nèi)的整數(shù)集合K。
2.2根據(jù)密鑰分塊處理產(chǎn)生的塊數(shù)8,在有限域上構(gòu)造一個多項式P(x)
P(x)=a0+a1x+a2x2+…+a8x8(mod 65537) (2)
2.3為待綁定的密鑰k添加16比特長度的CRC循環(huán)冗余校驗碼,并將該的CRC循環(huán)冗余校驗碼的數(shù)據(jù)類型轉(zhuǎn)化為整數(shù),得到一個范圍在[0,216-1]內(nèi)的整數(shù)。
2.4使用步驟2.1中提到的整數(shù)集合K與步驟2.3中的得到的CRC循環(huán)冗余校驗碼作為多項式(2)的系數(shù),其中a0為CRC循環(huán)冗余校驗碼,a1,...,a8為待綁定的密鑰塊,由整數(shù)集合K中獲??;步驟1.3中得到的穩(wěn)定的用戶指靜脈信息集合FC中的每個真實細(xì)節(jié)點數(shù)據(jù)作為多項式輸入值x帶入多項式(2)中,求得點集{(x,P(x))|x∈FC}即為模糊金庫中的真實點集合。
2.5在模糊金庫中的真實點集合中添加遠(yuǎn)遠(yuǎn)多于真實點集合個數(shù)的雜湊點集合,雜湊點集合中的各組元素均隨機(jī)產(chǎn)生,并要求各組元素與真實點不相等,且各組元素不滿足多項式(2)。
2.6將真實點集合和雜湊點集合亂置,最終生成一個包含真實點集合、雜湊點集合、模糊金庫基本信息在內(nèi)的指靜脈融合模糊金庫。所述的模糊金庫基本信息包括多項式最高次數(shù)8、模數(shù)65537。
步驟3所述的利用經(jīng)過驗證的查詢指靜脈A'和B',融合其指靜脈骨架信息得到靜脈骨架圖像C',提取特征信息,從指靜脈融合模糊金庫中采用解鎖算法提取密鑰,具體如圖3所示:
3.1通過使用和步驟1.1相同的方法,分別對采集到的指靜脈圖像A'和指靜脈B'圖像進(jìn)行預(yù)處理,并融合成新指靜脈骨架圖像C'。
3.2提取、處理新指靜脈骨架圖像C'中的指靜脈信息,得到一組指靜脈細(xì)節(jié)點。然后通過幾何哈希技術(shù)注冊一個哈希表與步驟1.2中獲取的哈希表進(jìn)行匹配,篩選出匹配數(shù)目最多的基準(zhǔn)點集合HC'。
3.3對步驟3.2所述的指靜脈細(xì)節(jié)點,通過步驟1.3中獲取整數(shù)集合FC的方法得到FC',其范圍在[0,216-1]內(nèi),細(xì)節(jié)點的個數(shù)為NC';如果NC'≥9,進(jìn)入步驟3.4;否則跳轉(zhuǎn)到步驟3.1。
3.4將整數(shù)集合FC'與指靜脈融合模糊金庫中的各組數(shù)據(jù)進(jìn)行遍歷對比,若相符的點的個數(shù)不小于9,則進(jìn)入步驟3.5;否則密鑰提取失敗。
3.5對找到的相符的點進(jìn)行組合計算,每9個點為一組,對每組利用拉格朗日插值法嘗試恢復(fù)可能密鑰,并將得到的可能密鑰進(jìn)行CRC校驗。若通過CRC校驗,則可能密鑰即為密鑰,提取密鑰成功;否則繼續(xù)下一組嘗試。直到嘗試完所有組合情況,仍未提取到密鑰,則提取密鑰失敗。
本技術(shù)領(lǐng)域中的普通技術(shù)人員應(yīng)當(dāng)認(rèn)識到,以上實施例僅是用來說明本發(fā)明,而并非作為對本發(fā)明的限定,只要在本發(fā)明的實質(zhì)范圍內(nèi),對以上實施例的變化、變型都將落在本發(fā)明的保護(hù)范圍。