張文云,劉笑楠,高艷娜
(沈陽工業大學信息科學與工程學院,沈陽110870)
近年來,生物特征識別技術已成為研究熱點,并在實際中得到廣泛應用。但是,該技術中用于識別身份的生物特征模板有可能被盜取從而泄露隱私,威脅用戶的隱私安全[1]。并且生物特征是不可再生的,一旦被竊取,用戶損失無法挽回。因此尋找一種安全可靠的模板保護方法是保證生物特征識別技術實用化的關鍵。
虹膜是被廣泛應用的生物特征之一,目前最常用的一種模板保護方法是基于不可逆變換的保護方法。不可逆變換法利用不可逆變換函數無法恢復出原始數據的特性實現數據保護。Ratha等人[2]首先將不可逆變換應用于圖像領域。此類方法包括隨機投影和稀疏表示法[3-4]、隨機移位和XOR操作變換法[5-7]、Bloom濾波器方法等。由于隨機移位和XOR操作變換法會減少可用于識別的信息量,后續許多學者對該類方法提出改進,采用Bloom濾波器方法,如文獻[8-9]分析了基于Bloom濾波器的特征保護方法的不可鏈接性,并且引入了采用數據不均勻性的不可逆性分析。Dong等人[10]提出了一種基于遺傳算法的相似性攻擊框架,針對生物哈希法和Bloom濾波器方法進行實驗。Rudresh等人[11]提出一種基于隨機查表映射的可撤銷的虹膜模板生成方法。上述方法幾乎都滿足不可逆變換這條特性,并且都是在基于二值模板的基礎上采取保護措施,這類方法一旦攻擊者獲取變換函數的相關參數,并且采用多重放攻擊,以及解方程能夠得到原始模板,也會導致信息泄露。2018年Randa等人[12]提出了一種基于雙隨機相位編碼的可撤銷虹膜識別方法。該方法是一種編碼加密方法,從獲取的特征數據直接通過雙隨機編碼得到加密的二值模板,但是通過逆推法以及解方程也可能獲得原始模板。
綜上所述,在此提出一種基于局部排序的雙虹膜模板保護方法。首先將左虹膜特征數據與右虹膜特征數據進行異或,對左虹膜特征數據進行第一重加密保護,其次,將異或所得結果分塊分組處理,并將每組換算為十進制數進行排序,再將排序數值換算為二進制字符串作為最終的加密模板。
所提的虹膜模板保護方法是利用同一用戶的一只虹膜作為密鑰去加密需要被認證的另一只虹膜,并通過轉換的手段得到最終的加密模板。算法的具體流程如下:
首先,對同一用戶左右虹膜的歸一化虹膜圖像采用log-Gabor變換進行特征提取,獲得左虹膜特征數據記作xi=x1,x2,...,xm,右虹膜特征數據記作yi=y1,y2,...,ym,則兩特征數據的異或如式(1)所示:

其中i=1,2,...,m,⊕表示異或。
其次,進行分塊處理。將異或所得結果分為n塊,記作b=b1,b2,...,bn,每塊含有a位二值數組,即: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。
然后將上述分塊的二進制數轉換成十進制數,記作q1,q2,...,qd,即:

將q1,q2,...,qd排序后轉換為二進制序列r(i-1)×d+1,...,ri×d,i=1,2,...,g,存儲該模板數據并刪掉其它參數。
最后得出分類結果如下式:

根據生物特征信息保護標準,安全的虹膜特征模板保護方法應滿足不可逆性,在未知右虹膜特征數據的前提下對算法的不可逆性進行理論分析。
不可逆性要求從原始數據到安全模板的轉換是不可逆的。若滿足不可逆性,則攻擊者無法從加密數據模板r中恢復出原始數據模板x。具體分析如下:
當進行逆變換時,攻擊者獲取存儲在數據庫中的加密模板即r(i-1)×d+1,...,ri×d時,其中i=1,2,...,g,要將其進行十進制的轉換恢復出q1,q2,...,qd,并做反排序處理,最后進行反異或處理得到原始數據特征。在此過程中必須要知道同一用戶的右虹膜數據特征即yi=y1,y2,...,ym。在一般情況下,假設轉換的十進制數q1,q2,...,qd是按照從小到大的順序進行的排序,如若攻擊者從r(i-1)×d+1,...,ri×d恢復出q1,q2,...,qd,只需要知道同一用戶的右虹膜數據特征yi=y1,y2,...,ym,則可恢復出原始數據模板x。
當獲取到存儲在數據庫中的模板r(i-1)×d+1,...,ri×d時,假設由r(i-1)×d+1,...,ri×d可以映射到q1,q2,...,qd的數目為f(d,2a),如下式:

其中,a是塊大小,2a為qd所有可能值的數量。
由上述可知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)轉化為:

然而該模板總共分為g組,如獲取加密模板數據,則可能生成原始數據的數量有:

調節參數a與d,可實現不可逆性。
為測試算法的各項性能指標,采用數據集CASIA-V3中的兩個子圖庫CASIA-IrisV3-Interval、CASIA-IrisV3-Lamp以及MMU-V1進行算法測試。采用CASIA-IrisV3-Interval圖庫中的249個人的虹膜圖像,CASIA-IrisV3-Lamp圖庫中的411個人的虹膜圖像,MMU-V1圖庫中的46個人的虹膜圖像。
本虹膜識別系統包括注冊和認證兩個階段。在圖像預處理過程中,采用文獻[13]的定位方法分割出虹膜區域,將所得虹膜區域的下半部分進行歸一化處理,獲得52×624的歸一化虹膜圖像,再通過log-Gabor變換進行特征提取。預處理及提取效果如圖1所示。

圖1虹膜圖像預處理及特征提取
注冊階段采用每個人的左右虹膜特征數據進行異或處理,再通過分塊以及塊分組,將二進制轉化為十進制數進行排序處理,在轉換為二進制模板作為最終的加密模板。在驗證階段,應用程序通過相同模式得到最終模板并使用漢明距離將其與數據庫中的數據進行匹配得到身份識別結果。
為說明算法的識別性能,通過正確識別率GAR、等錯誤率EER、ROC曲線下的與坐標軸圍成的面積AUC三種評價指標來分析。除此而外用可判定性度量d'來區分真實和假冒分布,定義如下:

其中μi和μg為假冒者和真實者的均方值,σi和σg為假冒者和真實者的方差。d'越大,表明冒名頂替者與真實分布之間的距離越大,識別性能越好。以上各性能指標的值是通過真實的和冒名頂替者的得分來評估的。這里采用類間匹配得分評估冒名頂替者得分,將每個用戶的虹膜模板與其他用戶的模板匹配;采用類內匹配得分評估真實者得分,通過每個用戶的虹膜與同一用戶的其他虹膜模板相匹配,得到類內的匹配總次數。
分別對三種圖庫進行100次隨機注冊和測試樣本選取,所得各項性能指標的平均值如表1所示。不同算法的ROC曲線如圖2所示。

表1不同算法的識別性能比較

圖2不同算法的ROC曲線
測試結果表明,本方法識別正確率略低于未進行加密保護的識別算法,但其d'值較高,說明該法的模板保護性能更好。與文獻[7]方法相比,雖然本法GAR、AUC略低,但d'值高,說明冒名頂替者與真實分布之間的距離較大,算法保護性能更好一些。
為說明本算法對不同虹膜圖像的適用性,將CASIA-IrisV3-Interval,CASIA-IrisV3-Lamp以 及MMU-V1三種圖庫的測試結果列于表2。

表2不同數據庫所對應的GAR/EER(%)
其中,基本算法指未加密的虹膜識別方法。結果表明本方法在三種圖庫中均能夠取得較好的識別效果,并且加密時的識別性能與本算法相差無幾,說明本算法在對模板保護的同時能夠兼顧識別性能,具有適用性和有效性。
按照文獻[7],分塊的大小d通常設置為2到64之間的整數,而比特位數a設置為1至8之間的整數。不同取值下的GAR(%)如表3所示,可見,當a=1,d=16時,識別率最好。
針對模板泄露提出的雙虹膜模板保護方法,將左虹膜特征數據與右虹膜特征數據進行異或,對左虹膜特征數據進行第一重加密保護,將異或結果分塊分組處理,通過十進制數排序與二進制的換算,很好地實現了依據漢明距離對加密模板進行匹配識別,算法滿足不可逆性。測試結果表明該算法在保護模板的條件下識別正確率能夠達到90.55%,在滿足虹膜識別正確率的同時,亦可滿足識別性能的需求,有效地保護用戶的生物特征信息。