張文云,劉笑楠,高艷娜
(沈陽工業(yè)大學(xué)信息科學(xué)與工程學(xué)院,沈陽110870)
近年來,生物特征識別技術(shù)已成為研究熱點,并在實際中得到廣泛應(yīng)用。但是,該技術(shù)中用于識別身份的生物特征模板有可能被盜取從而泄露隱私,威脅用戶的隱私安全[1]。并且生物特征是不可再生的,一旦被竊取,用戶損失無法挽回。因此尋找一種安全可靠的模板保護方法是保證生物特征識別技術(shù)實用化的關(guān)鍵。
虹膜是被廣泛應(yīng)用的生物特征之一,目前最常用的一種模板保護方法是基于不可逆變換的保護方法。不可逆變換法利用不可逆變換函數(shù)無法恢復(fù)出原始數(shù)據(jù)的特性實現(xiàn)數(shù)據(jù)保護。Ratha等人[2]首先將不可逆變換應(yīng)用于圖像領(lǐng)域。此類方法包括隨機投影和稀疏表示法[3-4]、隨機移位和XOR操作變換法[5-7]、Bloom濾波器方法等。由于隨機移位和XOR操作變換法會減少可用于識別的信息量,后續(xù)許多學(xué)者對該類方法提出改進(jìn),采用Bloom濾波器方法,如文獻(xiàn)[8-9]分析了基于Bloom濾波器的特征保護方法的不可鏈接性,并且引入了采用數(shù)據(jù)不均勻性的不可逆性分析。Dong等人[10]提出了一種基于遺傳算法的相似性攻擊框架,針對生物哈希法和Bloom濾波器方法進(jìn)行實驗。Rudresh等人[11]提出一種基于隨機查表映射的可撤銷的虹膜模板生成方法。上述方法幾乎都滿足不可逆變換這條特性,并且都是在基于二值模板的基礎(chǔ)上采取保護措施,這類方法一旦攻擊者獲取變換函數(shù)的相關(guān)參數(shù),并且采用多重放攻擊,以及解方程能夠得到原始模板,也會導(dǎo)致信息泄露。2018年Randa等人[12]提出了一種基于雙隨機相位編碼的可撤銷虹膜識別方法。該方法是一種編碼加密方法,從獲取的特征數(shù)據(jù)直接通過雙隨機編碼得到加密的二值模板,但是通過逆推法以及解方程也可能獲得原始模板。
綜上所述,在此提出一種基于局部排序的雙虹膜模板保護方法。首先將左虹膜特征數(shù)據(jù)與右虹膜特征數(shù)據(jù)進(jìn)行異或,對左虹膜特征數(shù)據(jù)進(jìn)行第一重加密保護,其次,將異或所得結(jié)果分塊分組處理,并將每組換算為十進(jìn)制數(shù)進(jìn)行排序,再將排序數(shù)值換算為二進(jìn)制字符串作為最終的加密模板。
所提的虹膜模板保護方法是利用同一用戶的一只虹膜作為密鑰去加密需要被認(rèn)證的另一只虹膜,并通過轉(zhuǎn)換的手段得到最終的加密模板。算法的具體流程如下:
首先,對同一用戶左右虹膜的歸一化虹膜圖像采用log-Gabor變換進(jìn)行特征提取,獲得左虹膜特征數(shù)據(jù)記作xi=x1,x2,...,xm,右虹膜特征數(shù)據(jù)記作yi=y1,y2,...,ym,則兩特征數(shù)據(jù)的異或如式(1)所示:
其中i=1,2,...,m,⊕表示異或。
其次,進(jìn)行分塊處理。將異或所得結(jié)果分為n塊,記作b=b1,b2,...,bn,每塊含有a位二值數(shù)組,即:bi=bi,1,bi,2,...,bi,a,bi,j=t(i-1)×a+j,其中j=1,2,...,a。將b=b1,b2,...,bn分成g組,即B=B1,B2,...,Bg,Bi={b(i-1)×d+1,...,bi×d},其中i=1,2,...,g,d為分組大小,n=g×d。
然后將上述分塊的二進(jìn)制數(shù)轉(zhuǎn)換成十進(jìn)制數(shù),記作q1,q2,...,qd,即:
將q1,q2,...,qd排序后轉(zhuǎn)換為二進(jìn)制序列r(i-1)×d+1,...,ri×d,i=1,2,...,g,存儲該模板數(shù)據(jù)并刪掉其它參數(shù)。
最后得出分類結(jié)果如下式:
根據(jù)生物特征信息保護標(biāo)準(zhǔn),安全的虹膜特征模板保護方法應(yīng)滿足不可逆性,在未知右虹膜特征數(shù)據(jù)的前提下對算法的不可逆性進(jìn)行理論分析。
不可逆性要求從原始數(shù)據(jù)到安全模板的轉(zhuǎn)換是不可逆的。若滿足不可逆性,則攻擊者無法從加密數(shù)據(jù)模板r中恢復(fù)出原始數(shù)據(jù)模板x。具體分析如下:
當(dāng)進(jìn)行逆變換時,攻擊者獲取存儲在數(shù)據(jù)庫中的加密模板即r(i-1)×d+1,...,ri×d時,其中i=1,2,...,g,要將其進(jìn)行十進(jìn)制的轉(zhuǎn)換恢復(fù)出q1,q2,...,qd,并做反排序處理,最后進(jìn)行反異或處理得到原始數(shù)據(jù)特征。在此過程中必須要知道同一用戶的右虹膜數(shù)據(jù)特征即yi=y1,y2,...,ym。在一般情況下,假設(shè)轉(zhuǎn)換的十進(jìn)制數(shù)q1,q2,...,qd是按照從小到大的順序進(jìn)行的排序,如若攻擊者從r(i-1)×d+1,...,ri×d恢復(fù)出q1,q2,...,qd,只需要知道同一用戶的右虹膜數(shù)據(jù)特征yi=y1,y2,...,ym,則可恢復(fù)出原始數(shù)據(jù)模板x。
當(dāng)獲取到存儲在數(shù)據(jù)庫中的模板r(i-1)×d+1,...,ri×d時,假設(shè)由r(i-1)×d+1,...,ri×d可以映射到q1,q2,...,qd的數(shù)目為f(d,2a),如下式:
其中,a是塊大小,2a為qd所有可能值的數(shù)量。
由上述可知qd可取值的范圍為0,1,...,2a-1,分別為f(d-1,1),f(d-1,2),...,f(d-1,2a),由此可得初始值為f(d,1)=1,f(d-1,1)=1,f(d-2,1)=1,...,f(1,1)=1,f(1,2)=2,f(1,4)=4,...,f(1,2a)=2a,由此可將式(4)轉(zhuǎn)化為:
然而該模板總共分為g組,如獲取加密模板數(shù)據(jù),則可能生成原始數(shù)據(jù)的數(shù)量有:
調(diào)節(jié)參數(shù)a與d,可實現(xiàn)不可逆性。
為測試算法的各項性能指標(biāo),采用數(shù)據(jù)集CASIA-V3中的兩個子圖庫CASIA-IrisV3-Interval、CASIA-IrisV3-Lamp以及MMU-V1進(jìn)行算法測試。采用CASIA-IrisV3-Interval圖庫中的249個人的虹膜圖像,CASIA-IrisV3-Lamp圖庫中的411個人的虹膜圖像,MMU-V1圖庫中的46個人的虹膜圖像。
本虹膜識別系統(tǒng)包括注冊和認(rèn)證兩個階段。在圖像預(yù)處理過程中,采用文獻(xiàn)[13]的定位方法分割出虹膜區(qū)域,將所得虹膜區(qū)域的下半部分進(jìn)行歸一化處理,獲得52×624的歸一化虹膜圖像,再通過log-Gabor變換進(jìn)行特征提取。預(yù)處理及提取效果如圖1所示。
圖1虹膜圖像預(yù)處理及特征提取
注冊階段采用每個人的左右虹膜特征數(shù)據(jù)進(jìn)行異或處理,再通過分塊以及塊分組,將二進(jìn)制轉(zhuǎn)化為十進(jìn)制數(shù)進(jìn)行排序處理,在轉(zhuǎn)換為二進(jìn)制模板作為最終的加密模板。在驗證階段,應(yīng)用程序通過相同模式得到最終模板并使用漢明距離將其與數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行匹配得到身份識別結(jié)果。
為說明算法的識別性能,通過正確識別率GAR、等錯誤率EER、ROC曲線下的與坐標(biāo)軸圍成的面積AUC三種評價指標(biāo)來分析。除此而外用可判定性度量d'來區(qū)分真實和假冒分布,定義如下:
其中μi和μg為假冒者和真實者的均方值,σi和σg為假冒者和真實者的方差。d'越大,表明冒名頂替者與真實分布之間的距離越大,識別性能越好。以上各性能指標(biāo)的值是通過真實的和冒名頂替者的得分來評估的。這里采用類間匹配得分評估冒名頂替者得分,將每個用戶的虹膜模板與其他用戶的模板匹配;采用類內(nèi)匹配得分評估真實者得分,通過每個用戶的虹膜與同一用戶的其他虹膜模板相匹配,得到類內(nèi)的匹配總次數(shù)。
分別對三種圖庫進(jìn)行100次隨機注冊和測試樣本選取,所得各項性能指標(biāo)的平均值如表1所示。不同算法的ROC曲線如圖2所示。
表1不同算法的識別性能比較
圖2不同算法的ROC曲線
測試結(jié)果表明,本方法識別正確率略低于未進(jìn)行加密保護的識別算法,但其d'值較高,說明該法的模板保護性能更好。與文獻(xiàn)[7]方法相比,雖然本法GAR、AUC略低,但d'值高,說明冒名頂替者與真實分布之間的距離較大,算法保護性能更好一些。
為說明本算法對不同虹膜圖像的適用性,將CASIA-IrisV3-Interval,CASIA-IrisV3-Lamp以 及MMU-V1三種圖庫的測試結(jié)果列于表2。
表2不同數(shù)據(jù)庫所對應(yīng)的GAR/EER(%)
其中,基本算法指未加密的虹膜識別方法。結(jié)果表明本方法在三種圖庫中均能夠取得較好的識別效果,并且加密時的識別性能與本算法相差無幾,說明本算法在對模板保護的同時能夠兼顧識別性能,具有適用性和有效性。
按照文獻(xiàn)[7],分塊的大小d通常設(shè)置為2到64之間的整數(shù),而比特位數(shù)a設(shè)置為1至8之間的整數(shù)。不同取值下的GAR(%)如表3所示,可見,當(dāng)a=1,d=16時,識別率最好。
針對模板泄露提出的雙虹膜模板保護方法,將左虹膜特征數(shù)據(jù)與右虹膜特征數(shù)據(jù)進(jìn)行異或,對左虹膜特征數(shù)據(jù)進(jìn)行第一重加密保護,將異或結(jié)果分塊分組處理,通過十進(jìn)制數(shù)排序與二進(jìn)制的換算,很好地實現(xiàn)了依據(jù)漢明距離對加密模板進(jìn)行匹配識別,算法滿足不可逆性。測試結(jié)果表明該算法在保護模板的條件下識別正確率能夠達(dá)到90.55%,在滿足虹膜識別正確率的同時,亦可滿足識別性能的需求,有效地保護用戶的生物特征信息。