王會勇 唐士杰 丁 勇 王玉玨 李佳慧
1(桂林電子科技大學數學與計算科學學院 廣西桂林 541004)2(桂林電子科技大學電子工程與自動化學院 廣西桂林 541004)3(桂林電子科技大學計算機與信息安全學院 廣西桂林 541004)4(廣西密碼學與信息安全重點實驗室(桂林電子科技大學) 廣西桂林 541004)
隨著互聯網與電子商務的發展,日常生活中有越來越多的場景需要對用戶進行身份鑒別,如機場安檢、登錄銀行系統、解鎖手機等.
傳統的身份鑒別手段主要有2種:1)根據持有物,如各種證件;2)根據用戶了解的信息,如語音口令或數字密碼.但這2種方式都存在明顯缺陷,如證件容易丟失、密碼容易忘記等.生物特征識別(bio-metric authentication, BA)技術能夠有效解決上述問題,因而在近年來得到快速發展與應用.
生物特征識別是指“為進行身份識別而采用自動技術對個體生理特征(如指紋、掌紋、虹膜、人臉、腦電波等)或個人行為(如步態、字跡、聲音、鍵盤敲擊習慣等)特點進行提取,并將這些特征或特點與數據庫中已有的模板數據進行比對,從而完成身份認證或識別的過程”[1].
自20世紀70年代指紋識別技術被成功應用[2]以來,BA技術獲得了快速發展,目前已在世界范圍內得到廣泛應用.但與此同時,BA系統的數據安全與隱私保護問題卻一直沒有得到良好解決,成為阻礙該技術獲得快速推廣應用的一個主要障礙[3].
世界范圍內已經發生了多起由生物特征數據泄露或隱私泄露引起的安全事件,引起了眾多關注.例如在2019年2月美國舊金山市公布了一項立法法案,使得該市成為美國首個禁止人臉識別技術的城市,其主要理由是該技術可能威脅到個人的隱私信息安全,同時存在種族歧視嫌疑[4].
生物特征信息泄露的后果是非常嚴重的.這是因為生物特征具有唯一性和不可更改性,一旦泄露,被竊取的生物特征幾乎永遠無法再用,其危害性比丟失身份證等傳統身份鑒別媒介大得多.
近年來,眾多研究者對BA系統的數據安全與隱私保護問題進行了研究,重點聚焦于生物特征模板保護工作.也出現了多篇綜述性文獻,但很多綜述文獻的內容不系統,或者比較陳舊,甚至存在沖突內容.因此,本文擬對近年來出現的針對BA系統的模板攻擊及其應對性技術文獻進行綜述,希望為相關研究者提供有價值的參考.
本文首先概述BA系統面臨的安全性與隱私保護問題,主要包括BA系統的一般框架、安全性與隱私保護的內涵,以及當前BA系統面臨的主要風險;然后介紹國內外學者在應對BA系統面臨的主要威脅——生物特征模板攻擊方面的研究進展與代表性技術方案;最后對此類研究面臨的困難和解決思路提出展望.
一個典型的BA系統是帶有生物特征采集設備的訪問控制系統[1],基本工作模式包含注冊與比對2個過程.在注冊階段,用戶通過采集設備讀取生物特征,并生成模板特征存入數據庫;在比對階段,系統調用采集設備對用戶的相應生物特征進行再次采集并生成新鮮特征,然后與數據庫中存儲的模板特征進行比對,根據2個特征的相似度確定用戶身份.
根據識別的任務和目的,BA系統可以分為2類[5](如圖1所示):驗證系統(verification)和搜索(或檢索)系統(identification),而“生物特征識別”一般是對這2類任務的統稱.

Fig. 1 Authentication and search task flow of BA system圖1 BA系統的認證與搜索任務流程
驗證系統的任務是對用戶提供的身份進行核實,以確定該用戶的身份是否與其聲稱的身份一致.此類系統常被用作某些系統的準入機制(如利用指紋認證解鎖手機和門禁系統等),一般需將用戶的特征數據與數據庫中的特定記錄進行1對1比對.而搜索系統的任務是在不了解用戶身份的情況下利用其生物特征在數據庫中查找其身份,通常需要將用戶數據與數據庫中的多個記錄進行1對N比對,因而工作量和難度一般比驗證系統大.此類系統大多用于被動方式,如在公共環境下對特定人員的身份進行甄別等.

Fig. 2 The main connotation of individual privacy圖2 個體隱私的主要內涵
BA系統的決策結果一般有2種[6]:合法用戶與非法用戶(或匹配與不匹配).這2種決策過程都可能出錯或不出錯,因而共有4種可能的結果.通常用錯誤接受率(即假冒者被判定為合法用戶的概率)和錯誤拒絕率(即合法用戶被判定為假冒者的概率)來表征BA系統的正確性.
在信息科學領域,數據安全是一項基本要求,其基本內涵是保證只有授權用戶才能使用數據.而個體隱私安全則是近年來隨著云計算的發展逐漸產生的一種新需求,基本內涵是保證數據只能被設定的個體用于設定的目的.Campisi[7]認為:個體隱私的內涵主要包括決策隱私、空間隱私、故意隱私及信息隱私4個方面,如圖2所示,其中信息隱私是主要考慮.
在BA系統中,生物特征本質上是一種便攜式“密鑰”.但這種密鑰卻面臨著比傳統密鑰更大的風險,因為“生物特征不是秘密”[8],很難杜絕數據泄露.
Ratha等人[9]、Tuyls等人[10]和Campisi[7]認為BA系統面臨的主要風險(如圖3所示)來自3個方面[11]:
1) 原始數據泄漏.有些生物特征無法完全保密,如人臉、聲音、體態等,很容易被攻擊者秘密采集.其他一些生物特征(如虹膜、靜脈等)的竊取難度雖然稍大,但也很難杜絕惡意采集.而泄露的原始數據可能成為偽造攻擊(spoofing)的工具.
2) 模板攻擊.當前的很多BA系統無法提供對用戶生物特征模板的有效保護,在數據傳輸或保存過程存在模板泄露風險,而從泄露的模板恢復出原始數據是可能的.
3) 聯系攻擊.如果用戶使用同一個生物特征登錄多個BA系統,其存儲在不同系統中的特征模板可能是相同的或可以匹配成功的.這可能允許攻擊者利用某個系統的新鮮模板登錄另一個系統,或從不同模板之間的聯系推測出有效模板或用戶身份.

Fig. 3 Attacking points and patterns in general BA systems圖3 一般BA系統的攻擊點與攻擊模式

Fig. 4 Classification of attacks on BA systems圖4 針對BA系統的攻擊分類
Pagnin等人[5]對上述攻擊進行了具體闡述(如圖4所示).其中,樣本恢復攻擊的目的是獲得能夠通過認證的用戶特征,以實施欺詐攻擊或暴力破解;模板恢復攻擊旨在獲得數據庫中存儲的用戶模板;而對用戶進行追蹤和識別的主要方法是記錄并分析用戶在不同時間登陸BA系統或登錄不同BA系統時的身份與模板的對應關系,以找到模板與用戶的聯系.
與生物特征使用相關的隱私擔憂主要有3種[5,7]:
1) 未經允許收集和分享生物特征;將生物特征用于未授權目的(即功能蠕變).
2) 利用生物特征推測個體狀況,如種族、性別、健康狀況.
3) 利用生物特征精準追蹤個體等.
近年來有眾多學者參與到BA系統的保護工作中,積累了豐富的研究成果:有旨在研究現有BA系統脆弱性的工作[12-17];有構建新的保護方案和技術的論文[18-21]和書籍[7,22-25];也有旨在討論商業系統客觀評估通用框架[26-27]的文獻.
同時,出現了一些面向生物特征和一般信號處理的教程、會議[28-29]和講習班以及以研究脆弱性評估為目標的競賽組織[30-31]和評估團體與實驗室[32-33]等.
BA系統面臨的安全與隱私威脅[34-35]主要來自于間接攻擊和直接攻擊.間接攻擊是在系統內部執行的,如黑客或內部人員操縱特征提取器或模板生成器、修改模板數據庫等,可以通過多種措施來預防,如防火墻、防病毒軟件、入侵檢測和加密等,工作重點在于保護生物特征模板的安全性.直接攻擊主要是指生物特征欺詐(spoofing),其主要攻擊目標是傳感器,因此很難用數字保護機制來對抗.
通常認為,對生物特征模板的未授權訪問是對用戶數據的最大威脅[10],因為安全的生物特征模板存儲方案可以抵抗針對信道和數據庫的多種攻擊.因此,構建安全高效的生物特征模板存儲方案(包括保密比對過程)是保護BA系統安全性與隱私性的關鍵.
由ISO/IEC 24745標準[36]和文獻[37]可知,一個良好的生物特征模板存儲方案應具有4個特性:
1) 可更新性.即能夠撤銷被泄露的生物特征模板,并基于相同的生物特征生成新的模板.
2) 多樣性.重新生成的生物特征模板不能與被撤銷的(來自同一生物特征的)模板成功匹配.
3) 安全性.應保證從生物特征模板獲得原始生物特征數據是不可能的,至少在計算上是復雜的.
4) 模板存儲方案不應該使生物特征識別性能(如錯誤拒絕率、錯誤接受率)有較大下降.
Pagnin等人[5]認為:在不破壞BA系統的前提下,針對BA系統的模板恢復攻擊主要有2種方式.
1) 利用爬山技術[38]實施的中心搜索攻擊.這種攻擊需要3個條件:攻擊者擁有一個已經匹配成功的生物特征模板;攻擊者能夠得到每次測試的結果,即匹配是否成功;比對過程是基于距離的.

Fig. 5 Central search attack towards biometric template圖5 針對生物特征模板的中心搜索攻擊原理
設數據庫中存儲的模板b對應點(6,3),而已經通過認證的一個模板b′對應點(6,4),顯然虛線圓圈內的點是能夠匹配成功的點.敵手從點b′(6,4)開始匹配實驗,若成功則將第1個組件值加1(向右移動1),并繼續實驗.當被拒絕時,即實驗到點(9,4)(最右側帶乘號的點)時,敵手會知道上一個實驗點是接受圈內該方向的最后一個點.然后敵手重新從點b′開始,向左側重復實驗,直到被拒絕.隨后,敵手對第2個組件值做相同的測試(上下方向).最后,敵手能夠找到接受圈的4個邊界點的坐標,從而能夠計算出其中心的坐標,即找到數據庫中存儲的生物特征模板的數字表示.
這種模板恢復攻擊非常有效,因為它需要的匹配嘗試次數與生物特征向量的長度呈線性關系[39].
2) 獲得數據庫的控制權并使用暴力攻擊解密模板.由于抵抗暴力攻擊是所有安全模板存儲方案的基本目標,因而簡單暴力攻擊成功的可能性很小.
近年來,學者們提出了多種生物特征模板保護技術(biometric protection, BP),也出現了多個綜述性文獻,但有些文獻對某些技術、方案的命名和分類存在分歧,也有部分文獻的系統性較差.經過整理,我們認為現有的BP技術可分為2類:基于特征變換的方法和基于特征加密的方法,如圖6所示:

Fig. 6 Classification and representations of BP technologies 圖6 BP方法的分類與代表性技術
2.2.1 基于特征變換的模板保護方法
此類方法也被稱為可撤銷(cancellable)的模板保護方法[39],需要用某種變換函數對生物特征或其模板進行變換,并在變換域進行匹配,如圖7所示.根據所用的變換是否可逆,此類方法又可以分為2類:

Fig. 7 Flow of transformation-based BP methods圖7 基于特征變換的模板保護方案流程
1) 基于可逆變換的方法.此類方法被有些文獻稱為加鹽法(salting)[40]或生物特征散列法(bio-hashing)[39,41],是Jin與Teoh等人[42]于2004年首次提出的,并被用于指紋識別.隨后,該類算法被應用于人臉、掌紋、虹膜、指紋、簽名等認證過程.
生物特征散列法的主要優點是錯誤接受率較低、可移植性高、模板可更換,主要缺陷在于安全性能不足,因為在此類方案中模板的安全性取決于對變換函數參數的保護.Lumini等人[43]指出:如果用戶密鑰丟失,生物散列法的整體效率和安全性將有很大下降.
Jin等人提出的用于指紋認證的生物散列法[44]的基本流程為:首先求取指紋方向場,獲得指紋中心;其次,對指紋圖像做小波變換、Fourier變換和梅林變換,得到指紋圖像的Wavelet-Fourier-Mellin變換特征;然后將得到的特征向量投影到一個正交隨機矩陣中,并經過閾值量化生成一組BioCode碼作為指紋特征模板.認證時,通過計算存儲的BioCode模板和新鮮BioCode模板的海明距離來決定是否通過認證.
2) 基于不可逆變換的方法.此類方法由Ratha等人[9]于2001年提出并被用于指紋模板保護(可撤銷的模板保護方法起初只表示基于不可逆變換的方法,但后來被賦予更廣泛的含義,即基于變換的模板保護方法).其基本思想是用一個參數可調的不可逆變換對生物特征進行變換,并將變換后的特征作為模板.如果模板泄露,可以通過修改變換函數的參數生成一個新的模板.在此類方法中,模板的安全性取決于根據逆變換獲得原始生物特征的難度.此類方法所需的變換函數必須滿足3個條件:必須是不可逆的;應具有局部光滑但全局不光滑的特性;對每個細節點的變化幅度不能太小.基于不可逆變換的代表方案主要有2個:
① Ratha等人[44]提出了3種用于生成生物特征模板的不可逆變換:笛卡兒變換、極坐標變換和表面褶皺變換.在笛卡兒變換中,指紋圖像的每個細節點被映射到一個矩形表中的特定位置;在極坐標變換中,指紋圖像被映射到一個扇形區域中;表面褶皺變換則是利用電勢場函數(式(1))或二維高斯函數對指紋細節點進行變換.實驗證明褶皺變換的整體表現最好.
方案中給出的電勢場(向量值)函數的定義為
(1)
其中,z=x+iy為電荷位置.顯然電荷的位置與強度取決于隨機密鑰z1,z2,…,zK,q1,q2,…,qK.
平移的大小由該函數的模|F(z)|決定,而平移方向由以下平移方向(相位)函數(式(2))決定:
(2)
所用二維高斯函數的定義為

其中,z=x+iy表示位置.權值πi、協方差矩陣Λi和核的中心ui顯然由隨機密鑰決定.
平移的大小由該函數的模|F(z)|決定,平移方向由相位函數

決定,其中Φrand為一個隨機相位偏移.
由此可得到指紋細節點的位置與方向變換公式:
X′=x+K|G(x,y)|+Kcos(ΦF(x,y)),
Y′=y+K|G(x,y)|+Ksin(ΦF(x,y)),
Θ′=mod(Θ+ΦG(x,y)+Φrand,2π),
其中x,y,Θ分別表示變換之前細節點的橫坐標、縱坐標和方向角,而X′,Y′,Θ′分別表示變換之后細節點的橫坐標、縱坐標和方向角,ΦG為G的相位函數.
眾多學者對上述方案進行了研究與改進.Feng等人[45]認為該方案所構建的映射關系很難抵御多重記錄攻擊或暴力攻擊,因為在大部分映射區域內,其函數關系為一一映射,即不可逆的信息非常有限.要獲得更高的安全性能,必須增加映射中多對一區域的比例,但這樣做會導致認證性能出現下降.Chikkerur等人[46]利用正交變換構造了一種不依賴于注冊的可撤銷指紋模板生成方案,獲得了良好的魯棒性,能夠抵抗重放攻擊,但識別性能不高.Maiorana等人[47-48]提出了基于卷積算子的不可逆變換集合,原則上可以作用于所有能夠被表征為序列集合的生物特征.
② 近年來,布隆過濾器(Bloom filters)[49]成為構造可撤銷的生物特征模板方案所需的不可逆變換的一個有力工具.
布隆過濾器實質上是一種用于表征集合的空間效率很高的隨機數據結構,允許向集合添加元素并檢測一個元素是否在集合中.其主要缺點是誤識率較高,且無法刪除元素.
標準布隆過濾器的工作原理如圖8所示:

Fig. 8 Principle of standard Bloom filters[49]圖8 標準布隆過濾器[49]的工作原理
布隆過濾器的組件包含一個長度為m的二進制向量V(所有位初始值為0)和k個(k≤n)相互獨立的散列函數h1,h2,…,hk,每個散列函數能夠按均勻分布將集合A={a1,a2,…,an}的某個元素映射到V的某個位.
若要向集合A添加一個元素a,需先計算索引:h1(a),h2(a),…,hk(a),并將向量V的第hi(a)位(i=1,2,…,k)的值置為1.
若要搜索一個元素b是否在集合A中,同樣需要先計算h1(b),h2(b),…,hk(b),然后檢查向量V中第hi(b)位(i=1,2,…,k)的值是否全為1(只要對這些位的值做“與”運算即可,若結果為1,則證明這些位的值全為1).如果這些位置的值全為1,則說明b∈A;否則說明b?A,或出現了假真(false positive)錯誤.
Rathgeb等人[50]提出了基于布隆過濾器的可撤銷模板生成方法,并將其應用于虹膜特征模板的保護.其基本思想是注冊時根據用戶的特征向量生成布隆過濾器向量,如文獻[50]中圖1所示,基本步驟為:
步驟1. 將原始生物特征表示為一個N×M的二進制矩陣J;
步驟2. 將矩陣J分塊,其中水平方向分為l塊(即每塊寬為Ml列),垂直方向分為Nω塊(即每塊高為ω行),則矩陣J被劃分為l×Nω塊;
步驟3. 初始化l×Nω個長度為2ω的二進制布隆過濾器向量,將這些向量的所有位置0,并取定散列函數h1,h2,…,hk;
步驟4. 將J的每個子塊Jij(i=1,2,…,l;j=1,2,…,Nω)的每列(一個ω位的二進制數)轉換為十進制數aijp(p=1,2,…,Ml);
步驟5. 計算h1(aijp),h2(aijp),…,hk(aijp),其中,(p=1,2,…,Ml),并將與此子塊Jij對應的(第j個)布隆過濾器的第h1(aijp),h2(aijp),…,hk(aijp)位的值全置1,最終得到l×Nω個布隆過濾器向量;
步驟6. 將上述結果存為模板,或將其按列鏈接為長度為2ω·(l×Nω)的特征向量后存為模板b.
認證時,用同樣方式生成新鮮特征模板b′,然后計算這2個向量的海明距離HD(b,b′),并按如下方式計算其“不近似”程度:
最后將該值與設定的閾值比較,即可判定認證是否成功.
由于采用了散列運算,并可能將多個數字映射到布隆過濾器的同一個位置,因此上述算法實質上構成了一種不可逆映射.包括Rathgeb等人在內的多位研究者對該方案進行了分析和改進.
Rathgeb[51]在2014年將上述方法進行了擴展,使其具備了數據壓縮功能,并聲稱能夠完成高效的生物特征“識別”任務.2015年Rathgeb又將該算法推廣到多生物特征(人臉和虹膜)模板的保護中.但文獻[52]的分析表明上述2個方案不具備不可鏈接性,而文獻[53]指出文獻[50]的方案存在泄漏數據的可能性.為克服上述問題,Gomez等人[54]對原始的布隆過濾器進行了重新設計,提出了一個額外步驟“保結構的特征重置(structure preserving feature rearrangement)”,獲得了比原始方案更好的識別性能,并能夠抵抗交叉匹配攻擊.
3) “蜜糖模板(honey template)”是2015年出現的另一種生物特征模板保護技術,由Yang等人[55]提出并被用于人臉識別[56],旨在抵抗偽造攻擊并檢測生物特征模板數據庫可能發生的數據泄露.其基本架構如圖9所示,基本工作流程包括注冊流程和認證流程:

Fig. 9 Architecture of the “honey template” scheme[55]圖9 “蜜糖模板”方案[55]基本架構
注冊流程:
① 根據用戶的真實生物特征生成一個“糖模板ST(sugar template)”,然后根據k-1個假特征生成k-1個“蜜模板HTj(honey template)”,其中j=1,2,…,k-1;
② 將上述k個模板的存儲單元地址打亂,以掩藏真實模板的地址,并將這k個模板用k個偽標識符PIj表示,其中j=1,2,…,k-1;
③ 將集合PT={AD,PI1,PI2,…,PI2}定義為該用戶的模板,其中AD為可能存在的輔助信息;
④ 將PT存儲到模板數據庫,并將ST的索引號L記錄到“蜜檢測數據庫(honey checker database)”,要求這2個數據庫可以根據用戶的身份索引號相互關聯.
認證流程:
① 應用服務器根據用戶身份從模板數據庫取出與待認證用戶對應的輔助信息AD,并用與注冊過程相同的方式生成一個偽標識符PI*,將其發送給模板數據庫服務器;
② 模板數據庫服務器將PI*與該用戶的所有k個模板進行比對,找出相似度最高的一個,并將其索引號idx返回應用服務器;
③ 應用服務器從“蜜檢測服務器”搜索出與用戶身份對應的索引號L,并將idx與L進行比對.若idx=L,則應用服務器給出驗證通過的結論.否則就意味著有人利用從“蜜模板”計算出的原始圖像來挑戰系統,也就意味著該用戶的生物特征數據發生了泄露.
2017年Martiri等人[57]又基于“蜜糖模板”和布隆過濾器提出了一個一般性的模板保護方案,能夠提供不可鏈接性和不可逆性,并能夠抵御欺詐攻擊.該方案已經被用于構建一個公開的多生物特征數據庫BioSecure Multimodal[58].
2.2.2 基于生物特征加密(BC)的模板存儲方法
基于生物特征加密的模板存儲方法將加密后的生物特征數據存儲為模板,由加拿大學者Tomko等人[59]于1996年提出.大多數BC系統需存儲一些與生物特征相關的公開信息(通常被稱為輔助數據,helper data[60]),用于重構或生成密鑰.輔助數據雖與生物特征相關,但不能泄露關于生物特征的任何顯著信息.根據輔助數據的生成方式,BC系統主要包括密鑰生成(key-generation)系統和密鑰綁定(key-binding)系統2類.
1) 密鑰生成方法,即在注冊時從生物特征數據直接生成密鑰,并將密鑰保存于數據庫中,在認證時按同樣的方法由生物特征生成密鑰,然后通過比對密鑰實現身份認證.這種方法的主要優點是可移植性強,主要困難在于密鑰的獲取,因為處理生物特征數據類內變化性是一個困難,可能導致密鑰生成方法的識別性能出現較大幅度下降[61].此類方案較難構造,也很難滿足多樣性要求.
現有的相關文獻主要致力于從有噪聲的生物特征數據獲得魯棒的密鑰.最早的密鑰生成方案在2002年由Monrose等人[62]提出,旨在將用戶敲擊鍵盤的特征用于密鑰生成,以增強密鑰的可靠性.隨后,文獻[63-64]進一步研究了如何根據聲音特征生成密鑰;Goh等人[65-66]等則利用卷積神經網絡和循環神經網絡等方法從人臉特征生成密鑰;Vielhauer等人[67-68]、Feng等人[69]和Tanwar等人[42]研究了從簽名生成密鑰的方法;Kuan等人[70]提出并總結了將隨機令牌與簽名結合以生成密鑰的方法;Rathgeb等人[71]和Akdogan等人[72]則研究了基于虹膜的密鑰生成方法.
密鑰生成方法的代表性方案是模糊提取器(fuzzy extractor)方案和安全概略(secure sketch,也譯作安全骨架)方案[73].安全概略方法從生物特征提取一些可以公開的信息,當輸入與原始模板相似的信號時,可以根據這些公開信息完美恢復原始生物特征模板.而模糊提取器能夠從輸入的生物特征信號提取近似均勻分布的隨機信號密鑰.
為了給不同的生物特征提供有效的度量標準,Dodis等人給出了3種不同的距離:海明距離、集合差(set difference)和編輯距離(edit distance).在海明距離下,由Juels和Wattenberg[74]構造的模糊承諾方案可以被看作一個近似最優的安全概略,且可以通過一般性的構造方法將其改造成近似最優的模糊提取器.在集合差度量下,由Juels等人[75]構造的模糊保險箱方案可以被看作一個近似最優的安全概略,且也可以利用一般性構造方法將其轉化成一個近似最優的模糊提取器.另外,他們還定義了從編輯距離到集合差的變換,從而可以將集合空間的最優模糊提取器轉化到編輯空間.
2) 密鑰綁定方法.此類方法最早由Soutar等人[76]于1999年提出.其基本思想是在加密階段將隨機生成的密鑰與生物特征數據綁定在一起.在注冊階段,選擇一個與生物特征相互獨立的密鑰,并將該密鑰與生物特征模板以某種方式“綁定”在一起,從而產生一些可以公開的“輔助”數據.在識別階段,將待認證的生物特征與輔助數據相結合,就可以釋放出密鑰,從而解密存儲的生物特征模板并完成比對.
此類系統需要保證從輔助數據很難獲得原始的生物特征或密鑰,因此能夠滿足不可逆的要求.另外,利用不同的密鑰與同一生物特征綁定可以生成不同的模板,因此滿足了可撤銷和不可鏈接的要求.又因為利用了糾錯碼技術,此類方法能夠較好地處理生物特征數據類的內在變化,因此容錯性較好.但此類方法很難應用于成熟的或專用的匹配器,因而很難獲得較高的匹配準確率.
在已有的密鑰綁定系統中,Bioscrypt方法[77-78]、模糊承諾(fuzzy commitment, FC)[79]和模糊保險箱(fuzzy vault, FV)[75]是最有代表性的方案.
① Bioscrypt方法是生物特征加密領域最早的實用化算法之一.其基本思想是將生物特征樣本與一個預定義的隨機密鑰進行綁定,得到一個phase-phase值.如果認證成功,上述phase-phase值將被解密,以釋放出密鑰.但該算法要求對指紋圖像預先配準,且沒有給出拒識率和誤識率等關鍵信息.
② 模糊承諾(FC)方案是由Juels和Wattenberg[79]在1999年提出的.這種方案的基本思想是將糾錯碼技術用于生物特征表示,以體現生物特征的“模糊性”.該方案借用了比特承諾方案[80]中的承諾和證據概念,包含2個基本步驟:承諾和解承諾.
承諾步驟為:
步驟1. 從某種糾錯碼體系選擇一個與生物特征向量ω等長度的碼字c,并定義兩者的偏差δ=c-ω;
步驟2. 給出承諾{Hash(c),δ}.
解承諾步驟為:
步驟1. 用戶輸入新鮮生物特征ω′;
步驟2. 按c′=ω′-δ=ω′-ω+c求新碼字c′;
步驟3. 判斷:如果生物特征模板ω與ω′差別不大,經過糾錯碼的處理,能夠得到c=c′,因此可以通過檢驗Hash(c)與Hash(c′)是否相等來判斷新鮮特征模板與存儲的模板是否屬于同一用戶.
該算法要求將生物特征表示為二進制序列,且要求對應分量的排列順序保持一致,因此較適合于具有規范編碼的生物特征,如具有較為規范的IrisCode(固定長度2 048 b)編碼結構的虹膜特征.Hao等人[81]在2006年設計并實現了一套虹膜加密方案,采用了雙因子認證思想,即必須提供正確的令牌和虹膜特征才能通過認證.該方案取得了良好的識別效果:在錯誤接受率為0的前提下,錯誤拒絕率為0.47%.其基本流程如圖10所示:

Fig. 10 The basic process of Hao’s scheme[81]圖10 Hao方案[81]的基本流程
之后,FC技術被用于多種生物特征識別方案中:Van等人[82]提出了基于真值(real-valued)臉特征的FC方案;Teoh等人[83]、Shi等人[84]提出了基于指紋的FC方案;Maiorana和Campisi等[85-86]提出了基于簽名的FC方案等.近期,FC技術也被用于物聯網設備的保護[87-88]中.
3) 模糊保險箱(FV)方案是生物特征加密領域最經典的實用化方案之一,由Juels和Sudan[75]在2006年提出.該方案基于無序集構造,因而特別適用于無序生物特征的識別.方案包含2個步驟(如圖11所示).
① 用戶1選擇一個多項式p(x)并用其加密密鑰K,然后計算無序集合A在多項式p(x)上的投影p(A),生成有限點集(A,p(A)).隨后,用戶1隨機生成遠多于真實點的雜湊點(chaff points)并將其加入(A,p(A)),從而構造出保險箱(vault).
② 如果用戶2擁有另一個無序集合B,且B與A有大多數元素重合,則B中的很多元素可以落在多項式p上.借助于糾錯碼技術,用戶2可以重構出多項式p,從而取出密鑰K.若集合B與A的重合元素不多,則很難重構出p.

Fig. 11 Principle of the fuzzy vault scheme[75]圖11 模糊保險箱方案[75]原理
在上述工作的基礎上,Clancy等人[89]、Yang Shenglin等人[90-91]、Uludag等人[92-93]、Nandakumar等人[94]分別構建了指紋保險箱.其中,Uludag等人的方案未使用糾錯碼技術,而是使用了循環冗余校驗技術,在誤識率為0的前提下,可以達到15%的拒識率.
上述方案的一個共同不足是仍然需要對指紋圖像進行預先配準,因而有些后續文獻致力于提高FV方案配準算法的性能[95],或構造無需配準的指紋FV方案[96].另外,也有一些文獻致力于改進雜湊點的生成方式[97-99]或多項式的生成方式[100]來提升FV方案的安全性和效率.其中,Wu等人[99]的方案使用有序的雜湊點來生成保險箱,從而可以有效利用生物特征的順序信息,獲得了良好的安全性和效率.到目前為止,FV方案已經被應用到指紋、人臉[101]、虹膜[102-103]、掌紋[104-105]、簽名[106]等多種BA方案中.
4) 近年來,隨著安全多方計算(SMC)[107]技術的發展,安全兩方計算成為構造具有隱私保護特性的BA系統的一種新手段[108-109].由于此類系統所需的密鑰通常不由生物特征直接生成,因此常將其歸類于密鑰綁定系統[110].
構造適用于BA系統的SMC方案的密碼學工具主要有[11]:同態加密(homomorphic encryption, HE)[111-112]、不經意傳輸(oblivious transfer, OT)[113]、亂碼電路(garbled circuits, GC)[114]和可驗證計算(verifiable computation, VC)[115].其中,基于HE技術的BA系統呈現良好的研究與應用前景.
HE系統允許對加密數據進行計算,且能由計算后的結果解密得到對相應明文的計算結果,即滿足Dec(Enc(m1)?(Enc(m2))=m1⊕m2.其中⊕和?分別表示明文空間和密文空間中的2種運算,Enc和Dec分別表示加密與解密算法.若系統允許⊕為任意運算,且可以進行任意次⊕運算,則稱該方案為一個全同態加密(FHE)方案[112,116-119].
基于HE技術的生物特征認證的基本思路是利用HE技術的“保密計算”功能實現對生物特征的“保密比對”.“認證”過程的一般流程如圖12所示:

Fig. 12 General flow of HE based biometric verification圖12 基于同態加密的生物特征“認證”的一般流程
這種架構的3個優點非常明顯:
① 可以保證在信道中傳輸的數據和數據庫中存儲的數據都是密文,即使泄露也不會導致用戶的原始生物特征丟失.
② 該架構所用密鑰可以與生物特征無關,無法根據生物特征推斷出所用密鑰.
③ 如果模板泄露,可以用不同密鑰對生物特征進行再次加密得到新的模板.新模板與已丟失的模板匹配成功的概率非常小,這是因為它們是用不同的密鑰加密得到的.這就滿足了文獻[9]提到的模板“可更新”和“多樣性”的要求.
但由于HE技術的發展比較緩慢,基于該技術的BA研究直到2009年才開始大量涌現,且因為當前FHE技術的整體效率仍未達到實用標準,基于FHE技術構造的BA方案仍然較少[120],單同態技術[121-123]仍然是主要選擇.其中較有代表性的工作有:
2010年Mauro等人[124]提出了基于Pailler方案的指紋認證系統.該方案利用Fingercode表征指紋特征,用平方歐氏距離作為度量.相似的方法己經被應用在人臉識別[125]、虹膜識別[126]等工作中.2012年,Wong等人[127]采用ElGamal方案實現了虹膜的保密認證,這是首次使用乘法同態算法完成認證.2013年,Bringer等人[128]分析了用加法同態技術完成人臉、指紋和虹膜認證的方法,并對基于加法同態的生物特征認證做了總結.此外,另外一些HE技術也被用于BA方案的構造,如基于Blum-Goldwasser系統的方案[129]、基于Goldwasser-Micali的方案[130]和基于RSA系統的方案[131]等.Ali等人[132]對基于RSA加密算法的生物認證進行了綜述,并將其應用到人臉、虹膜、掌形和指紋中.
也有學者將HE技術應用到多模態(multi-modal)生物特征識別中,如Barrero等人[133]、Yildiz等人[134]將多種HE算法結合,實現了多生物特征的融合認證,獲得了較好的識別效率和安全性.最近,Salem等人[21]利用HE技術和轉移學習(transfer learning)構造了一個基于云的、具有隱私保護特性的安全多方BA系統“DeepZeroID”,在虹膜和指紋的組合實驗中,獲得了95.47%的綜合識別準確率.
2016年Jong等人[135]利用具有乘法同態性的ElGamal加密方案構造了一個掌紋認證方案.雖然該方案的整體性能并不突出,但提出了1個有潛力的過程.該方案的基本過程為:
① 注冊時,采用Garbor濾波等技術,從掌紋照片獲取掌紋特征,表示為二進制特征向量X;
② 根據特征向量X構造一個與其等長的整數向量X′.具體方法為:取2個不同的素數a和b,若向量X中的某位為0,則將X′中的對應位置為a,否則將其置為b;



其保密比對過程的正確性是顯而易見的.由于ElGamal方案具有乘法同態性,向量T的每個分量應為向量X′與Y′的對應分量的乘積.若T的某個分量對a·b取模的結果為0,說明向量X′與Y′的對應分量的值不同(不可能同時為a或為b,否則其對a·b取模的結果必不為0).
該方案的主要優點在于:①使用了二進制形式的特征向量,并使用海明距離度量掌紋特征的相似度,相較于使用實數或整數特征向量方案的計算復雜度更低.②為進一步降低計算復雜度,采用了隨機投影法[136]對數據進行降維,在不顯著降低識別性能的前提下獲得了較好的效率.但該方案也存在明顯不足:①在用ElGamal方案對特征向量加密之前,采用了固定映射將二進制特征向量X映射為整數特征向量X′,這種構造為比對攻擊留下了可乘之機.②提取出的掌紋特征向量質量不佳,導致方案的整體性能較差.
為克服上述方案的不足,王會勇等人[137]、高志強等人[138]分別提出了基于掌紋脊線和圖像簡單二值化的特征向量生成法,均獲得了良好的性能:前者在明文比對過程中幾乎取得了100%的識別準確率;后者的識別準確率約為99.5%,但效率較高,并將文獻[135]方案中的固定映射方式變為多映射方式,消除了比對攻擊的隱患.最后,針對不同的特征提取方法、數據降維方法、特征向量大小和閾值進行了多組對比實驗.結果表明:經過加解密操作后,在特征向量為1 000維、閾值取為0.23時,能夠取得最佳性能:約97.5%的正確識別率和3%的等錯誤率.
在考慮模板保護的前提下,現有的BA方案幾乎都不適用于“檢索方案”.主要有2個原因:
1)“檢索”任務的難度遠大于“認證”任務,導致現有方案的效率遠未達到實用要求.例如,在張璐等人[139]對模糊保險箱算法[75]的改進工作中,即使不考慮圖像校準時間(占用了算法的大部分時間),實現一次指紋模糊保險箱算法所需的時間約為0.25 s.這種表現對于“認證”任務來說是可以接受的,但對自動檢索任務顯然是不實用的.
2) 對基于“密鑰綁定”的模板存儲方案來說,“檢索”任務還存在密鑰協調困難,即要求必須使用同一個密鑰加密存儲的模板和新特征,才能進行有效比對.這是因為當前用于BA系統的加密技術均是單密鑰的,因而對基于不同密鑰的2個密文做計算是沒有意義的.但在搜索任務中很難實現密鑰協調,因為搜索任務的典型場景是待搜索人的身份未知,如果要將加密未知用戶生物特征所用的密鑰與加密模板所用的密鑰統一起來,密鑰管理的負擔將會很大.
正是由于這些原因,當前以“檢索”為目標的方案非常少,這一結論可以從過去2009-01-01—2019-04-20的10年中,中國知網與Web of Science網站收錄的相關論文數量看出,如圖13所示:

Fig. 13 Number of related papers indexed by Web of Science and CNKI from 2009-01-01 to 2019-04-20圖13 2009-01-01—2019-40-20 Web of Science與中國知網收錄的相關論文數量
雖然已經存在很多技術方案來保護BA系統的安全性與隱私性,但實際部署的大多數系統仍然是用傳統手段(硬件隔離、身份控制機制等)加以保護的.其主要原因是現有的具有隱私保護特性的BA系統的整體性能仍不能滿足實際需要,尤其是大規模應用的需要.主要有3個典型困難:
1) 生物特征識別一般具有很強的時效性,而對生物特征的混淆或加解密操作會對系統性能造成較大拖累.
2) 基于生物特征加密的認證方案存在密鑰管理難題:如果設立密鑰管理中心,會帶來效率和安全性方面的負擔,且現有方案要求密鑰中心參與解密,更增加了數據泄露的風險.但如果不設立密鑰中心,就需要將密鑰交由服務器或客戶端保管,都存在密鑰泄露或遺失風險.
3) 如2.3節所述,生物特征“搜索”任務的難度遠大于“認證任務”,因而上述絕大多數方案都是針對“認證”任務構造的,不適應于“搜索”任務.
針對上述困難,現有文獻的主要解決思路有3種[11]:
1) 將加解密模塊硬件化是解決BA系統效率不足問題的一種可行思路.另外,基于硬件的兩方安全比對也是解決密鑰管理難題的一種可能方法.
2) 采用新技術手段來構造BA系統,如多模態BA技術[25,140]、差分隱私技術[141]等.
3) 在構造具有隱私保護特性的“搜索”方案時,可以首先構造某些“弱化”的實用方案,如:可考慮加密存儲用戶的特征模板,但以明文形式記錄新錄入的用戶特征,并設計實現“密文”與“明文”的比對方案.相對于“密文”與“密文”的比對方案,“密文”與“明文”的比對方案更容易構造,且更容易獲得較高效率,也能滿足特定場景下的搜索需要.
本文對生物特征識別系統面臨的模板攻擊和相應的保護方法相關文獻進行了綜述.
首先對BA系統的一般理論、體系架構及安全與隱私的基本概念做了介紹;然后對保護BA系統用戶數據安全性和隱私性的關鍵技術-模板保護技術進行了闡述,重點介紹了模板保護技術的分類與代表性技術方案.最后,指出了構建安全的BA系統的3個困難和可能的解決思路.