林波,劉嘉勇,徐鵬,張鵬
(1.四川大學(xué)電子信息學(xué)院,成都 610065;2.四川大學(xué)網(wǎng)絡(luò)空間安全學(xué)院,成都 610065;3.成都卓越華安信息技術(shù)服務(wù)有限公司,成都 610000)
生物特征保護(hù)技術(shù)主要分兩類[1]:一是生物特征加密技術(shù),將生物特征與傳統(tǒng)密碼算法結(jié)合,生成保護(hù)模板。生物特征加密概念最早由文獻(xiàn)[2]提出,其安全性依賴于加密算法或安全密鑰,因此其安全性與基于口令的系統(tǒng)的安全性一樣,一旦密鑰丟失,生物特征數(shù)據(jù)就會(huì)被盜。二是可撤銷模板保護(hù)技術(shù),基于生物特征變換后,形成新的特征模板,存儲(chǔ)在信息庫(kù)中。文獻(xiàn)[3]率先引入可撤銷生物保護(hù)技術(shù)的概念,在圖像域中應(yīng)用不可逆幾何變換,獲得可撤銷的面部圖像和指紋。在進(jìn)一步的工作中,文獻(xiàn)[4]引入基于Bloom過(guò)濾器的模板保護(hù)技術(shù),通過(guò)將未受保護(hù)的二進(jìn)制模板轉(zhuǎn)換為不可逆模板。這種方法已應(yīng)用于多種生物特征,如虹膜[4]、面部[5]和指紋[6]等。由于生物特征中指紋具有唯一性、易采集,算法也最成熟,使得指紋識(shí)別的理論研究和實(shí)際應(yīng)用最為廣泛。本文以指紋作為研究對(duì)象,研究指紋模板加密技術(shù)。
指紋識(shí)別系統(tǒng)易受環(huán)境影響,當(dāng)手指磨損嚴(yán)重,干濕度發(fā)生變化都將對(duì)其識(shí)別產(chǎn)生影響,同時(shí)指紋模板也易被復(fù)制、被破解,造成安全隱患。文獻(xiàn)[7]提出了基于指紋細(xì)節(jié)點(diǎn)比特串的不可逆模板保護(hù)方案,采用幾何哈希技術(shù)變換指紋原始細(xì)節(jié)點(diǎn),用相對(duì)特征向量表示細(xì)節(jié)點(diǎn)在圖像中的相對(duì)位置,然后投影到三維空間矩陣中,以可變的順序遍歷它,提取出特征比特串,生成指紋保護(hù)模板。該算法不僅具有很好的安全性而且不需要對(duì)指紋進(jìn)行預(yù)配準(zhǔn),但是構(gòu)造三維空間的計(jì)算代價(jià)較大,且提取的指紋比特串長(zhǎng)度很長(zhǎng),在匹配時(shí)會(huì)花費(fèi)很多時(shí)間,因此實(shí)際應(yīng)用性不強(qiáng)。文獻(xiàn)[8]在此基礎(chǔ)上提出了一種基于指紋奇異點(diǎn)的二進(jìn)制串提取方法,首先提取二進(jìn)制串之前先利用復(fù)數(shù)濾波器檢測(cè)和提取指紋奇異點(diǎn),再以指紋奇異點(diǎn)為基點(diǎn)計(jì)算其他指紋細(xì)節(jié)點(diǎn)相對(duì)于基點(diǎn)的距離和角度,以此生成幾何哈希表,再?gòu)纳傻膸缀喂1碇刑崛≈讣y二進(jìn)制串,由于提取的指紋奇異點(diǎn)及與奇異點(diǎn)相關(guān)聯(lián)的細(xì)節(jié)點(diǎn)數(shù)目遠(yuǎn)遠(yuǎn)小于指紋細(xì)節(jié)點(diǎn)總數(shù),減少了比特串的提取數(shù)量,因此提高了計(jì)算速率,節(jié)省了較大的存儲(chǔ)空間。文獻(xiàn)[9]提出了一種基于Bloom過(guò)濾器的不可逆指紋模板算法,該算法使用可有效描述細(xì)節(jié)信息的細(xì)節(jié)關(guān)系代碼(MRC),以及可實(shí)現(xiàn)不可逆性的Bloom過(guò)濾器,有效提高了指紋模板的安全性。文獻(xiàn)[10]提出基于Bloom過(guò)濾器生成受保護(hù)的指紋模板,其基本思想是:先對(duì)指紋圖像進(jìn)行預(yù)校準(zhǔn),再選取指紋細(xì)節(jié)點(diǎn)進(jìn)行特征提取生成二進(jìn)制模板,然后在對(duì)二進(jìn)制模板計(jì)算Bloom過(guò)濾器,生成新的保護(hù)模板,有效提高了指紋模板認(rèn)證的準(zhǔn)確性。
上述方案在指紋模板保護(hù)方面取得了一定的成效,但是也存在一些不足:
一是基于指紋奇異點(diǎn)的二進(jìn)制串提取[8],由于提取的指紋細(xì)節(jié)點(diǎn)數(shù)量較少,導(dǎo)致魯棒性不好,使得指紋匹配時(shí)的準(zhǔn)確性偏低。
二是生成的二進(jìn)制串中“0”表示無(wú)細(xì)節(jié)點(diǎn)的單元格,“1”表示有細(xì)節(jié)點(diǎn)的單元格,容易泄露位置信息,安全性不高。
三是基于Bloom過(guò)濾器的指紋模板保護(hù)方案[9-10],因?yàn)檫x取指紋細(xì)節(jié)點(diǎn)領(lǐng)域內(nèi)的所有細(xì)節(jié)點(diǎn),導(dǎo)致細(xì)節(jié)點(diǎn)數(shù)量過(guò)多,從而計(jì)算代價(jià)偏高。
針對(duì)以上分析,本文提出一種結(jié)合指紋奇異點(diǎn)和Bloom過(guò)濾器的指紋加密優(yōu)化方案。先選取指紋奇異點(diǎn),再以指紋奇異點(diǎn)為基點(diǎn)計(jì)算其他指紋細(xì)節(jié)點(diǎn)相對(duì)于基點(diǎn)的距離和角度,以此生成幾何哈希表,再?gòu)纳傻膸缀喂1碇刑崛≈讣y二進(jìn)制串,生成一個(gè)二進(jìn)制指紋模板,通過(guò)對(duì)二進(jìn)制指紋模板進(jìn)行分塊,并將特征塊結(jié)構(gòu)進(jìn)行重新排列,最后利用Bloom過(guò)濾器映射每個(gè)特征塊,生成不可逆指紋模板。通過(guò)實(shí)驗(yàn)驗(yàn)證,這種方案具有很好的魯棒性,提高了驗(yàn)證的準(zhǔn)確率和模板的安全性,又減少了計(jì)算代價(jià)。
指紋奇異點(diǎn)是指紋脊線的凸脊的最大曲率處的指紋特征細(xì)節(jié)點(diǎn)。主要分為兩類:一類是中心點(diǎn)(core):指紋脊線上曲率最大的點(diǎn)且周圍的脊線大概是半圓的走向,另一類是三角點(diǎn)(delta):三條走向不同的指紋紋線的交匯點(diǎn)。
如圖1所示,首先,對(duì)采集的指紋圖像進(jìn)行預(yù)處理,然后利用復(fù)數(shù)濾波器[11]檢測(cè)和提取指紋奇異點(diǎn),再以指紋奇異點(diǎn)為基點(diǎn)計(jì)算其他指紋細(xì)節(jié)點(diǎn)相對(duì)于基點(diǎn)的距離和角度,以此生成幾何哈希表,再?gòu)纳傻膸缀喂1碇刑崛≈讣y二進(jìn)制串,最后對(duì)每一個(gè)指紋細(xì)節(jié)點(diǎn)進(jìn)行同樣操作,得到多條指紋特征二進(jìn)制串,生成指紋特征二進(jìn)制模板。
首先定義p(x,y)=(fx+fy)2,用于描述指紋平方復(fù)數(shù)點(diǎn)方向場(chǎng)。其中 fx是原始指紋圖像x方向上的導(dǎo)數(shù),fy是原始指紋圖像y方向上的導(dǎo)數(shù);其次定義一階復(fù)數(shù)濾波器模型為exp{iφ},用于平方復(fù)數(shù)點(diǎn)方向場(chǎng)對(duì)奇異點(diǎn)進(jìn)行判定,復(fù)數(shù)濾波器的響應(yīng)c=μexp{ia(x,y)},其中 μ是某種對(duì)稱模型,a是對(duì)稱模型的幾何方向;最后通過(guò)調(diào)整合適的 μ1和 μ2,使得| μ1|>T1,| μ2|>T2,T1和T2是閾值,則得到的濾波器響應(yīng)分別近似于中心點(diǎn)和三角點(diǎn)局部方向場(chǎng),由此選取指紋奇異點(diǎn)。
為了降低比特串的冗余量,減少計(jì)算代價(jià),以指紋奇異點(diǎn)為基點(diǎn)進(jìn)行幾何哈希運(yùn)算,經(jīng)過(guò)幾何哈希變換后,指紋原始信息隱藏在相對(duì)特征向量中,達(dá)到了保護(hù)指紋隱私的目的。具體步驟如下;
(1)選取奇異點(diǎn)sb=(xb,yb,θb,tb)作為基點(diǎn)。其中xb,yb,θb,tb,分別表示橫坐標(biāo)、縱坐標(biāo)、方向場(chǎng)角度及細(xì)節(jié)點(diǎn)類型(中心點(diǎn)或三角點(diǎn))。
(3)通過(guò)公式(1)計(jì)算Sb集合中所有點(diǎn)相對(duì)于奇異點(diǎn)sb之間的歐幾里得距離差ED(i)(Euclidean Distance)和方向角度差值θ(i):
(4)依次遍歷以指紋奇異點(diǎn)為基點(diǎn)的其他指紋細(xì)節(jié)點(diǎn),重復(fù)以上步驟,產(chǎn)生多個(gè)鏈表,組成一個(gè)鏈表矩陣,此矩陣表示集合S中細(xì)節(jié)點(diǎn)與奇異點(diǎn)之間的相對(duì)特征向量。
設(shè)原始指紋圖像的大小為 x∈[0,X],y∈[0,Y],θ∈[0,2π],構(gòu)建由d個(gè)單元格的2D平面結(jié)構(gòu),如圖2所示,其中2D平面結(jié)構(gòu)的長(zhǎng)Lx和寬Ly滿足Lx=2,LY=4π。將此2D平面結(jié)構(gòu)劃分為長(zhǎng)為Cx,寬為Cy的單元格。2D平面結(jié)構(gòu)所含的單元的個(gè)數(shù)d可以用公式(2)計(jì)算(表示向上取整)。
圖2 2D平面結(jié)構(gòu)圖
將幾何哈希鏈中的相對(duì)特征向量對(duì)[ED(i),θ(i)]投射到2D平面結(jié)構(gòu)中,若投射后矩陣單元格中有一個(gè)或多個(gè)特征向量對(duì),則標(biāo)記此單元格為1,否則標(biāo)記為0。然后按照一定順序讀取標(biāo)記后的d個(gè)矩陣單元,最后得到由0和1組成的二進(jìn)制串且長(zhǎng)度為d,即指紋奇異點(diǎn)sb對(duì)應(yīng)的比特串a(chǎn)i=(a1a2···ad)。然后對(duì)以奇異點(diǎn)為基點(diǎn)的其他指紋細(xì)節(jié)點(diǎn)進(jìn)行同樣操作,得到多條指紋二進(jìn)制串,構(gòu)成指紋二進(jìn)制模板。
基于指紋奇異點(diǎn)提取的二進(jìn)制模板具有自動(dòng)配準(zhǔn)和計(jì)算代價(jià)小的優(yōu)點(diǎn),但提取的指紋細(xì)節(jié)點(diǎn)數(shù)目過(guò)少,在交叉匹配的攻擊中,容易暴露二進(jìn)制矩陣中細(xì)節(jié)點(diǎn)的位置信息,從而恢復(fù)出準(zhǔn)確的原始模板,因此安全性不高。所以在原有方案的基礎(chǔ)上引入一種特殊加密技術(shù),即Bloom過(guò)濾器[12]方案。
它是一種空間效率極高的隨機(jī)數(shù)據(jù)結(jié)構(gòu),具有不可逆性[13],因此不能從基于Bloom過(guò)濾器的模板中準(zhǔn)確恢復(fù)出原始模板,從而解決了安全性不高的問(wèn)題。首先對(duì)基于指紋奇異點(diǎn)提取的二進(jìn)制模板進(jìn)行分塊,并將特征塊結(jié)構(gòu)進(jìn)行重新排列,最后利用Bloom過(guò)濾器映射每個(gè)特征塊,生成不可逆指紋模板
結(jié)合Bloom過(guò)濾器的指紋模板優(yōu)化方案,如圖3所示。
首先將基于指紋奇異點(diǎn)提取的二進(jìn)制模板分為N個(gè)特征塊,每個(gè)特征塊的大小為L(zhǎng)×W(L是特征塊的垂直大小,W是特征塊的水平大?。?。為了實(shí)現(xiàn)不可鏈接性,應(yīng)該消除生物特征向量的信息成分,所以每個(gè)特征塊被重新分為n個(gè)組合,然后對(duì)每個(gè)組合中的垂直行進(jìn)行重新排列,通過(guò)這種方式,在每個(gè)組合之間交換行,既可以防止信息擴(kuò)散又提高了防止基于特征塊攻擊的能力。
設(shè)定一個(gè)初始值為零,長(zhǎng)度為2L的Bloom過(guò)濾器b,Bloom過(guò)濾器b取k個(gè)獨(dú)立的哈希函數(shù)h1,h2···,hk,索引范圍k∈[0,2L-1]。對(duì)于每個(gè)特征塊,分別將每列轉(zhuǎn)化為十進(jìn)制數(shù),并將其在Bloom過(guò)濾器b上對(duì)應(yīng)索引下的值設(shè)置為1,從而得到經(jīng)過(guò)Bloom過(guò)濾器b映射后的向量bk,遍歷所有特征塊,重復(fù)上述相同的步驟,得到可撤銷模板C={bk|i=1,2,···N}。Bloom過(guò)濾器b的每個(gè)特征塊可以被多次設(shè)置為1,但只有第一個(gè)更改有效,從而隱藏了它的細(xì)節(jié)點(diǎn)數(shù)量及其位置,結(jié)果實(shí)現(xiàn)不可逆性。
圖3 結(jié)合Bloom過(guò)濾器的指紋模板優(yōu)化方案圖
為了驗(yàn)證本文方案性能,實(shí)驗(yàn)采用實(shí)際采集指紋庫(kù)和公開(kāi)標(biāo)準(zhǔn)指紋庫(kù)FVC2002-DB2[14]兩套獨(dú)立的數(shù)據(jù)庫(kù)進(jìn)行測(cè)試。
采用實(shí)際采集指紋庫(kù)進(jìn)行實(shí)驗(yàn)參數(shù)選取,該指紋庫(kù)中共有75個(gè)手指,每個(gè)手指有5枚指紋樣本,則指紋庫(kù)中共有375枚。本文結(jié)合Bloom過(guò)濾器的優(yōu)化方案存在的三個(gè)參數(shù)關(guān)系如下:S=N×L×W,其中S表示原始模板的大小,由于模板是固定的,只需要為L(zhǎng)和W建立值,那么N的值也被確定。L大小與Bloom過(guò)濾器b的長(zhǎng)度有關(guān),W值與每個(gè)Bloom過(guò)濾器中映射的細(xì)節(jié)點(diǎn)數(shù)量有關(guān)。因此,L直接影響B(tài)loom過(guò)濾器的魯棒性,如果選擇的值太大,準(zhǔn)確性就會(huì)降低;如果選擇的值較小,根據(jù)W選定值,就會(huì)有大量的碰撞,也會(huì)導(dǎo)致準(zhǔn)確性降低。而W值則直接影響模板的不可逆性,W值太大會(huì)導(dǎo)致沖突增加,準(zhǔn)確性下降;W值太小將導(dǎo)致不可逆性很弱。通過(guò)實(shí)驗(yàn)表明,W的適當(dāng)取值范圍取決于所選的L值。
(1)參數(shù)L值的選取
由于二進(jìn)制模板中相關(guān)性越強(qiáng),相鄰的W就越相似。通過(guò)估算模板的自由度df,選取L的最優(yōu)值:
為了估算模板的自由度df,通過(guò)模擬漢明距離HD分布與二項(xiàng)分布均值p和標(biāo)準(zhǔn)差σ[15]:
為了選取最優(yōu)的L值,df需要考慮模板內(nèi)垂直的所有關(guān)聯(lián)。
圖4 實(shí)際采集指紋數(shù)據(jù)庫(kù)中指紋特征的漢明距離分布
根據(jù)圖4顯示的指紋漢明距離分布圖,結(jié)合公式(3-4)計(jì)算L的最優(yōu)值,結(jié)果如表2所示。
表2 L的最優(yōu)值
從表2結(jié)果顯示,L的最優(yōu)值是11。
(2)參數(shù)W值的選取
在Bloom過(guò)濾器中,W值會(huì)影響每一個(gè)塊中不同序列的數(shù)量,L值越大,被激活的塊中序列數(shù)就越多,塊中細(xì)節(jié)點(diǎn)之間的碰撞可能性就越大。由于指紋特征樣本內(nèi)存在的相關(guān)性,并非所有的細(xì)節(jié)點(diǎn)都有同等可能性,所以選取原始模板不同細(xì)節(jié)點(diǎn)的平均值k。對(duì)于映射的細(xì)節(jié)點(diǎn)數(shù)量,不同序列被激活的概率p為:
為了設(shè)置概率p的邊界,引入細(xì)節(jié)點(diǎn)分布的重新映射率rmR[16],對(duì)每個(gè)塊中的細(xì)節(jié)點(diǎn)之間的非獨(dú)立性進(jìn)行建模,概率p為:
為了達(dá)到模板不可逆性之間的平衡和驗(yàn)證的準(zhǔn)確性,設(shè)置rmR在10%-45%之間。
表3 W的最優(yōu)值
從表3結(jié)果顯示,W∈[40,175],由于原始模板的大小是可變的,所以需要考慮水平方向上模板的細(xì)節(jié)點(diǎn)的平均數(shù)量,即模板的維度U=160。同時(shí)為了保持準(zhǔn)確性,我們選擇在水平方向上映射的Bloom過(guò)濾器數(shù)量的最低值。因此,平均
在實(shí)驗(yàn)測(cè)試中采用公開(kāi)標(biāo)準(zhǔn)指紋庫(kù)FVC2002-DB2進(jìn)行測(cè)試,該指紋庫(kù)中由100個(gè)手指樣本組成,每個(gè)手指有8枚指紋樣本,共有800枚指紋樣本。
(1)實(shí)驗(yàn)評(píng)價(jià)指標(biāo)
評(píng)價(jià)指紋算法性能好壞的兩個(gè)重要的指標(biāo):拒識(shí)率(FRR)和誤識(shí)率(FAR)。FRR:把應(yīng)該相互匹配成功的指紋當(dāng)成不能匹配的指紋的比例,F(xiàn)AR:把不應(yīng)該匹配的指紋當(dāng)成匹配的指紋的比例。其計(jì)算公式如下:
(2)準(zhǔn)確性分析
將最優(yōu)值L=11和最優(yōu)值W=40應(yīng)用于系統(tǒng)中測(cè)試準(zhǔn)確性,如果測(cè)試結(jié)果顯示性能參數(shù)有所提高,則結(jié)合Bloom過(guò)濾器的指紋加密優(yōu)化方案可行。測(cè)試結(jié)果如圖5和表4所示。
表4 最優(yōu)結(jié)果對(duì)比
圖5 ROC曲線
通過(guò)對(duì)比,拒識(shí)率FRR和誤識(shí)率FAR都有所降低,識(shí)別性能效果更好。說(shuō)明本文提出的結(jié)合Bloom過(guò)濾器的指紋加密優(yōu)化方案具有很好的魯棒性,有效降低了錯(cuò)誤率,提高了指紋模板識(shí)別的準(zhǔn)確性。
(3)安全性分析
①暴力破解攻擊
當(dāng)攻擊者無(wú)法獲得指紋密鑰時(shí),只能通過(guò)暴力破解的方式獲得可撤銷指紋模板。在模型中暴力攻擊的效率在于密鑰t的大小,攻擊者需要在特征塊中同時(shí)猜測(cè)正確的細(xì)節(jié)點(diǎn)分布順序和密鑰才能成功,其成功的概率可以估算2(r-N/n×|t|)-1=2-1279[17(]其中r代表每個(gè)塊的序列平均數(shù)為240,總塊數(shù)N為1024,n為32的二進(jìn)制組合,密鑰|t|=(5×32)!32≈230,261),在計(jì)算上暴力破解難度比較大;如果同時(shí)攻擊每個(gè)特征塊,由于攻擊是并行化,所以成功率依然很低。
②重建攻擊
在交叉匹配的情況下,這種攻擊目的是模擬保護(hù)模板并與原始模板產(chǎn)生相關(guān)性,由于暴力攻擊的概率很低,我們只考慮原始模板。冒名攻擊者的漢明距離值低于改進(jìn)系統(tǒng)的結(jié)果,那么重建的模板不被系統(tǒng)所接受。因此,基于Bloom過(guò)濾器的方案不接受對(duì)接近原始模板的假模板進(jìn)行有效重建,所以安全性得到保障。
本文研究了基于指紋奇異點(diǎn)的二進(jìn)制串提取技術(shù),在此基礎(chǔ)上結(jié)合Bloom過(guò)濾器進(jìn)行了改進(jìn),提出結(jié)合指紋奇異點(diǎn)和Bloom過(guò)濾器的優(yōu)化指紋加密方案。通過(guò)實(shí)驗(yàn)驗(yàn)證,這種方案具有很好的魯棒性,降低了錯(cuò)誤率,既提高了驗(yàn)證的準(zhǔn)確率,又增加了模板的不可逆性。