一種特征級融合的指紋模糊金庫實現方法
【技術領域】
[0001] 本發明屬于密碼學與生物特征識別技術領域,具體設及一種特征級融合的指紋模 糊金庫實現方法。
【背景技術】
[0002] 在2002年A Juels和M. Sudan提出了 "A Fuz巧化Ult Scheme"。在其提出的模糊金 庫算法中,將用戶唯一的特征集合或其他屬性集合A混合用戶的密鑰進入基于Reed-Solomn 的金庫中。用戶可W利用與集合A有絕大多數元素相同的屬性集合B恢復出密鑰。U.Uludag 等人提出了一種基于指紋特征的模糊金庫算法,該算法在生成指紋密鑰之前首先對模板和 輸入的指紋進行校準消除由于旋轉等引起的角度變化,參與比對的是指紋細節點的平面坐 標值、方向場、細節點類型,如果前后兩個指紋的某兩個點的平面坐標值、方向場相差在一 個闊值之內,細節點類型相同,則認為是相同的點。基于指紋特征的模糊金庫方案可W用于 保護安全存儲密鑰。
[0003] 使用基于特征級融合的指紋模糊金庫實現方法為核屯、的本發明,安全性保障由單 一用戶多指紋特征融合或者多用戶的指紋特征融合的唯一性提供,并且模糊金庫包含的只 是每枚指紋的部分信息,即使泄露,也難W重構。
【發明內容】
[0004] 本發明的目的是針對現有技術的不足,在真實可靠的實驗條件下,提供了一種特 征級融合的指紋模糊金庫實現方法。
[0005] 本發明解決其技術問題所采的技術方案包括如下步驟:
[0006] 步驟1、融合指紋A的細節點坐標信息和指紋B的方向場信息得到一個新特征信息 集合;
[0007] 步驟2、利用上鎖算法,將需要保護的密鑰與步驟1得到的新特征信息集合進行綁 定,生成指紋模糊金庫;
[000引步驟3、利用經過驗證的查詢指紋y、B/特征信息從指紋模糊金庫中采用解鎖算法 提取密鑰。
[0009] 步驟1所述的融合指紋A的細節點坐標信息和指紋B的方向場信息得到一個新特征 信息集合,具體如下:
[0010] 1.1通過兩次指紋細節點訓練,提取、處理指紋信息得到一組相對穩定的用戶指紋 A細節點集合;首先利用幾何哈希技術將指紋A細節點注冊一個哈希表Ei ;然后將得到的每 個細節點的平面坐標分別量化到8個比特,并通過橫坐標低四位與縱坐標高四位異或串接 得到一個長度為12的比特串;然后將所有指紋A細節點的數據類型轉化為整數,得到一組范 圍在[0,212-1]內的整數集合Fa,穩定的用戶指紋A細節點的個數記為Na。
[OOW 1.2通過兩次指紋細節點訓練,提取、處理指紋信息得到一組相對穩定的用戶指紋 B細節點集合;首先利用幾何哈希技術將指紋B細節點注冊一個哈希表埼,然后將得到的每 個細節點的平面坐標分別量化到8個比特,并串接得到一個長度為16的比特串,然后將所有 指紋B細節點的數據類型轉化為整數,則可W得到一組范圍在[0,2i6-l]內的整數集合Fb,穩 定的用戶指紋B細節點的個數記為Nb。
[0012] 1.3通過提取、處理指紋信息,得至晦個像素點的方向場,其范圍在0-255內;對應 于指紋A細節點的平面坐標,將指紋B的方向場提取出來,將得到的方向場分別量化到一個 長度為4的比特,則能夠得到一組范圍在[0,24-1]內的整數集合化,其中方向場的個數為No。 [00 1引1.4將整數集合Fa和Ob中對應坐標的值進行結合,具體的WFa X 16+Ob形式得到一 組范圍在[0,2i6-l]內的整數集合F,其中細節點的個數為N。
[0014] 步驟1.1和1.2所述的指紋細節點訓練方法如下:將指紋樣本依次進行特征配準, 配準時不區分細節點類型;兩幅指紋可配準的細節點記為該枚指紋的真實細節點,取同一 個真實細節點在兩幅圖像取的兩組坐標值的均值,記錄為該真實細節點的坐標值;配準好 的細節點與第=幅指紋樣本再次進行特征配準;配準完成后得相對穩定的真實細節點集 厶 1=1 O
[0015] 步驟2所述的利用上鎖算法,將需要保護的密鑰與步驟1得到的新特征信息集合進 行綁定,生成指紋模糊金庫,具體如下:
[0016] 2.1將待綁定的密鑰k進行格式化處理,格式化規則為依次從左到右按順序每16比 特長度為一塊,記一共得到m塊;并將每塊數據類型轉化為整數,得到一組范圍在[0,2i6-l] 內的整數集合K。
[0017] 2.2根據密鑰格式化處理產生的塊數m,在有限域Fp上構造一個多項式PU)
[001 引 P(x)=amX?+...+a2x2+aix+ao(mod P) (1)
[0019] 其中,模數P根據經驗推薦取值為大素數65537,多項式最高次數m根據密鑰長度一 般取值范圍從9到16。
[0020] 2.3為待綁定的密鑰添加 16比特長度的CRC循環冗余校驗碼,W增加本發明保護密 鑰的可靠性;并將該CRC循環冗余校驗碼的數據類型轉化為整數,得到一個范圍在[0,2i6-l] 內的整數。
[0021 ] 2.4將步驟2.1中提到的待綁定的密鑰與步驟2.3中得到的CRC校驗碼作為多項式 (1)的系數,其中a日為CRC校驗碼,ai,...,am為待綁定的密鑰。然后將步驟1.4得到的穩定的 整數集合F中的每個細節點數據作為多項式輸入值X帶入多項式(1)中,求得點集{(X,P(X)) XE巧即為模糊金庫中的真實點集合。
[0022] 2.5為模糊金庫添加遠多于真實點集合個數的雜湊點集合,雜湊點集合中的各組 元素均隨機產生,并要求各組元素與真實點不相等,且各組元素不滿足多項式(1)。
[0023] 2.6將真實點集合和雜湊點集合亂置,最終生成一個包含真實點集合、雜湊點集合 和模糊金庫基本信息在內的指紋模糊金庫。
[0024] 所述的模糊金庫基本信息包括多項式最高次數m和模數P;
[0025] 步驟3所述的利用經過驗證的查詢指紋y、B/特征信息從指紋模糊金庫中采用解 鎖算法提取密鑰,具體如下:
[0026] 3.1通過對查詢指紋y的相關處理W及幾何哈希技術注冊一個哈希表然后與 步驟1.1中獲取的哈希表里身進行匹配,篩選出匹配數目最多的基準點集合齡,然后通過步 驟I. I中獲取整數集合Fa的方法得到Fa';范圍在[0,2^-1 ]內,細節點的個數為Na'。如果Na' > 9,進入步驟3.2;否則,重新輸入指紋,重復該步驟。
[0027] 3.2通過對查詢指紋的相關處理W及幾何哈希技術注冊一個哈希表,然后與 步驟1.2中獲取的哈希表怎!進行匹配,篩選出匹配數目最多的基準點集合化,然后通過步 驟1.2中獲取整數集合Fb的方法得到化;范圍在[0,2i6-l]內,細節點的個數為Nb'。如果Nb' > 9,進入步驟3.3;否則,重新輸入指紋,重復該步驟。
[0028] 3.3利用查詢指紋圖像方向場的差異值,對查詢指紋進行校準對齊,得到查詢 指紋的方向場;然后取出對應于細節點集合Fa^中的平面坐標的方向場值;并將得到的方 向場值分別量化到4個比特,得到一組范圍在[0,2M]內的整數集合Ob',其方向場個數做。
[0029] 3.4將整數集合Fa'和Ob'中對應坐標的值進行結合,具體的WFa' X 16+Ob'形式得到 一組范圍在[0,2i6-l]內的整數集合,其中細節點的個數為滬。
[0030] 3.5將查詢指紋A\B/細節點集合戶與模糊金庫中的各組數據進行遍歷對比,若相 符的點的個數不小于在模糊金庫中多項式的最高次數m(即塊數),進入步驟3.6;否則提取 密鑰失敗。
[0031 ] 3.6對找到的相符的點進行組合計算,每m個點為一組,對每組利用拉格朗日插值 法嘗試恢復可能密鑰,并將得到的可能密鑰進行CRC校驗。若通過CRC校驗,則提取密鑰成 功;否則繼續下一組嘗試,直到嘗試完所有組合情況,仍未提取到密鑰,則提取密鑰失敗。
[0032] 本發明的有益效果
[0033] 與單一指紋特征模糊金庫的密鑰保護方法相比較,本發明利用指紋特征級融合生 成的模糊金庫來實現密鑰的保護,具有更強的安全性、更高的實現效率,為在移動終端等計 算資源緊張的設備下使用提供可能,也保證了只有合法用戶在合法指紋下才能提取到帶有 CRC校驗功能的密鑰,保障了密鑰安全存儲的機密性、完整性、可用性。
【附圖說明】
[0034] 圖1特征級融合的指紋模糊金庫實現方法流程圖。
[0035] 圖2模糊金庫的解鎖流程圖。
[0036] 圖3特征級融合的指紋模糊金庫生成仿真圖。
[0037] 圖4模糊金庫的解鎖仿真圖。
【具體實施方式】
[0038] W下結合附圖對本發明作進一步說明。
[0039] -種特征級融合的指紋模糊金庫實現方法主要包括=個部分:第一步,融合指紋A 的細節點坐標信息和指紋B的方向場信息得到一個新特征信息集合;第二步,利用上鎖算 法,將需要保護的密鑰與步驟1得到的新特征信息集合進行綁定,生成指紋模糊金庫;第= 步,利用經過驗證的查詢指紋、B/特征信息從指紋模糊金庫中采用解鎖算法提取密鑰。
[0040] 步驟1所述的融合指紋A的細節點坐標信息和指紋B的方向場信息得到一個新特征 信息集合(流程圖如圖1所示),具體如下:
[0041] 1.1通過兩次指紋細節點訓練,提取、處理指紋信息得到一組相對穩定的用戶指紋 A細節點集合;首先利用幾何哈希技術將指紋A細節點注冊一個哈希表埼;然后將得到的每 個細節點的平面坐標分別量化到8個比特,并通過橫坐標低四位與縱坐標高四位異或串接 得到一個長度為12的比特串;然后將所有指紋A細節點的數據類型轉化為整數,得到一組范 圍在[0,2i2-l]內的整數集合Fa,穩定的用戶指紋A細節點的個數記為Na。
[0042] 1.2通過兩次指紋細節點訓練,提取、處理指紋信息得到一組相對穩定的用戶指紋 B細節點集合;首先利用幾何哈希技術將指紋B細節點注冊一個哈希表£^,然后將得到的每 個細節點的平面坐標分別量化到8個比特,并串接得到一個長度為16的比特串,然后將所有 指紋B細節點的數據類型轉化為整數,則可W得到一組范圍在[0,2i6-l]內的整數集合Fb,穩 定的用戶指紋B細節點的個數記為Nb。
[0043] 1.3通過提取、處理指紋信息,得到每個像素點的方向場,其范圍在0-255內;對應 于指紋A細節點的平面坐標,將指紋B的方向場提取出來,將得到的方向場分別量化到一個 長度為4的比特,則能夠得到一組范圍在[0,2 4-1]內的整數集合化,其中方向場的個數為No。
[0044] 1.4將整數集合Fa和化中對應坐標的值進行結合,具體的WFaX 16+Ob形式得到一 組范圍在[0,2i6-l]內的整數集合F,其中細節點的個數為N。
[0045] 步驟1.1和1.2所述的指紋細節點訓練方法如下:將指紋樣本依次進行特征配準, 配準時不區分細節點類型;兩幅指紋可配準的細節點記為該枚指紋的真實細節點,取同一 個真實細節點在兩幅圖像取的兩組坐標值的均值,記錄為該真實細節點的坐標值;配準好 的細節點與第=