王金海,張?jiān)滦牵?軍
(天津工業(yè)大學(xué) 電子與信息工程學(xué)院,天津 300387)
生物特征具有唯一性、隱私性、不可更改等特性,已經(jīng)廣泛地應(yīng)用于身份認(rèn)證和數(shù)據(jù)加密領(lǐng)域。在該領(lǐng)域中的生物特征模板[1]是人類本身所具有的獨(dú)一無二的生理特征或行為特征的關(guān)鍵體現(xiàn),其安全性程度越高越好。然而研究發(fā)現(xiàn),生物特征模板并不安全,它常常面臨多種類型的攻擊,如交叉匹配攻擊[2]和暴力破解攻擊[3]。因此,提高用戶生物特征模板的安全性是生物特征加密技術(shù)迫切需要解決的問題。
生物特征加密技術(shù)在注冊(cè)階段通過綁定生物特征和隨機(jī)數(shù)密鑰得到加密的生物特征模板,在驗(yàn)證階段,通過提供生物特征從加密模板中恢復(fù)出密鑰。典型方法有Fuzzy Commitment 方案[4]和Fuzzy Vault 方案[5]等。其中,F(xiàn)uzzy Vault 方案較好地解決了生物特征數(shù)據(jù)的模糊性與密碼機(jī)制的精確性之間的矛盾。在Clancy等提出了Fingerprint Vault 的概念和Uludag 等[6]提出了Fuzzy Vault for Fingerprint 算法后,許多研究者對(duì)指紋模糊保險(xiǎn)箱進(jìn)行了持續(xù)改進(jìn)[7-9],使模糊保險(xiǎn)箱算法更為實(shí)用和安全。
但是,這些生物特征模板依然存在被破解的可能。因此,本文引進(jìn)蜜罐技術(shù),變被動(dòng)防護(hù)為主動(dòng)監(jiān)測(cè),在密鑰使用時(shí)檢測(cè)可能存在的模板被破解后的業(yè)務(wù)應(yīng)用攻擊行為。
本文根據(jù)文獻(xiàn)[6]簡要介紹指紋模糊保險(xiǎn)箱算法。在注冊(cè)階段,通過多項(xiàng)式系數(shù)綁定經(jīng)過CRC 編碼的隨機(jī)數(shù)密鑰,將指紋細(xì)節(jié)點(diǎn)映射為多項(xiàng)式的點(diǎn)坐標(biāo)集合,并添加雜湊點(diǎn)形成指紋模糊保險(xiǎn)箱,即加密的生物特征模板。具體過程如圖1 所示。
圖1 注冊(cè)階段Fig.1 Stage of registration
在驗(yàn)證階段,首先從驗(yàn)證用戶指紋中提取細(xì)節(jié)點(diǎn)進(jìn)行校準(zhǔn),然后從加密模板中獲取多項(xiàng)式的相關(guān)坐標(biāo)點(diǎn)集合,進(jìn)而重構(gòu)多項(xiàng)式獲取綁定的密鑰,并通過CRC 編碼確定密鑰的有效性。具體過程如圖2 所示。
圖2 驗(yàn)證階段Fig.2 Stage of verification
Yang 等[10]提出了蜜罐模板的概念,并設(shè)計(jì)了基于蜜罐模板的生物特征驗(yàn)證系統(tǒng),實(shí)現(xiàn)了生物特征模板庫泄露的可監(jiān)測(cè)性。Martiri 等[11]基于一個(gè)人臉特征的數(shù)據(jù)庫,在小范圍內(nèi)顯示了該方法的有效性和識(shí)別性。該系統(tǒng)中注冊(cè)時(shí),首先基于生物特征生成真實(shí)模板,同時(shí)偽造若干個(gè)沒有相關(guān)性的蜜罐模板(假模板),與真實(shí)模板打亂組合成蜜罐模板集合,并記錄真實(shí)模板在蜜罐模板集合中的索引。驗(yàn)證時(shí),首先將生物特征生成的模板與模板存儲(chǔ)服務(wù)的模板集合進(jìn)行匹配,然后返回索引給應(yīng)用服務(wù)端,應(yīng)用服務(wù)端從蜜罐監(jiān)測(cè)服務(wù)確認(rèn)返回的模板索引,以檢測(cè)模板是否受到了破解攻擊,如圖3 所示。
本文借鑒這種應(yīng)用于生物特征驗(yàn)證的蜜罐技術(shù)思路,設(shè)計(jì)了適用生物特征加密的生物特征模板保護(hù)方案,并針對(duì)指紋模糊保險(xiǎn)箱進(jìn)行實(shí)用性設(shè)計(jì)與安全性分析。
圖3 基于蜜罐模板的生物特征驗(yàn)證系統(tǒng)架構(gòu)Fig.3 Architecture of biometric verification system based on honeypot template
本文從密鑰應(yīng)用角度,將蜜罐技術(shù)與生物特征加密技術(shù)相結(jié)合,設(shè)計(jì)了具有攻擊監(jiān)測(cè)能力的生物特征加密系統(tǒng),如圖4 所示。
圖4 系統(tǒng)框圖Fig.4 System chart
為了簡化描述,定義了如下術(shù)語:
SUGAR 模板:由真實(shí)生物特征生成的真模板。
HONEY 模板:由偽造生物特征生成的假模板。
蜜罐模板集合:包括1 個(gè)SUGAR 模板和N-1 個(gè)HONEY 模板,總計(jì) N 個(gè)模板。
SUGAR 模板索引:蜜罐模板集合生成時(shí)SUGAR模板的隨機(jī)位置索引。
由圖4 可知,生物特征加密系統(tǒng)由模板生成模塊、密鑰恢復(fù)模塊、密鑰使用模塊、蜜罐監(jiān)測(cè)模塊4 部分組成。其中,模板生成模塊負(fù)責(zé)生成蜜罐模板集合并保存至密鑰恢復(fù)模塊的模板數(shù)據(jù)庫,隨機(jī)排序SUGAR 模板索引并保存至蜜罐監(jiān)測(cè)模塊的索引數(shù)據(jù)庫。密鑰使用模塊負(fù)責(zé)采集用戶生物特征,從密鑰恢復(fù)模塊獲取密鑰和SUGAR 模板索引,并提交SUGAR模板索引給蜜罐監(jiān)測(cè)模塊檢測(cè)可能存在的模板攻擊行為。
在注冊(cè)階段,用戶在專用客戶端輸入ID 和生物信息,模板生成模塊對(duì)提取的生物信息進(jìn)行預(yù)處理得到注冊(cè)模板,選定生物特征加密算法綁定注冊(cè)模板與隨機(jī)數(shù)密鑰生成SUGAR 模板。參考SUGAR 模板的生成方法隨機(jī)偽造N-1 個(gè)與真實(shí)模板沒有相關(guān)性的HONEY 模板,與SUGAR 模板打亂組合成蜜罐模板集合,并記錄SUGAR 模板索引Li。提交用戶ID 與蜜罐模板集合給密鑰恢復(fù)模塊,密鑰恢復(fù)模塊將其存入模板數(shù)據(jù)庫。提交用戶ID 與Li給蜜罐監(jiān)測(cè)模塊,蜜罐監(jiān)測(cè)模塊將其存入蜜罐監(jiān)測(cè)數(shù)據(jù)庫。
在驗(yàn)證階段,用戶在專用客戶端輸入ID 和生物信息,密鑰使用模塊將用戶提交的ID 與生物信息提交給密鑰恢復(fù)模塊。密鑰恢復(fù)模塊根據(jù)用戶ID 從模板數(shù)據(jù)庫中獲取用戶蜜罐模板集合,使用生物特征解密蜜罐模板集合中模板恢復(fù)密鑰。若能恢復(fù)密鑰,將密鑰與恢復(fù)密鑰模板的索引indexi返回給密鑰使用模塊,若遍歷蜜罐模板集合不能恢復(fù)密鑰則驗(yàn)證失敗。密鑰使用模塊將用戶ID 與模板索引indexi 提交給蜜罐監(jiān)測(cè)模塊,蜜罐監(jiān)測(cè)模塊根據(jù)用戶ID 從蜜罐監(jiān)測(cè)數(shù)據(jù)庫中獲取SUGAR 模板索引Li與indexi比對(duì)。
如果模板索引匹配成功則該密鑰有效,可繼續(xù)使用,否則進(jìn)行警告并拒絕密鑰使用,也可以提供應(yīng)用系統(tǒng)的一般訪問權(quán)限以迷惑攻擊者。
本文方案中,模板數(shù)據(jù)庫可以存放在具有低級(jí)信任的第三方應(yīng)用服務(wù)甚至基于生物證書[12]擴(kuò)展項(xiàng)的形式公布,但是索引數(shù)據(jù)庫必須具有良好的安全性。例如,蜜罐監(jiān)測(cè)模塊和索引數(shù)據(jù)庫在企業(yè)內(nèi)網(wǎng)部署,且僅蜜罐監(jiān)測(cè)模塊可以訪問索引數(shù)據(jù)庫。
系統(tǒng)的模板生成模塊、密鑰恢復(fù)模塊和密鑰使用模塊,可以網(wǎng)絡(luò)化分布式部署,也可以集成在用戶隨身攜帶的身份認(rèn)證設(shè)備中,如智能密碼鑰匙。但是,需要通過加密硬件和安全機(jī)制保證密鑰全程加密保存和需要時(shí)臨時(shí)恢復(fù)與使用。密鑰使用模塊在密鑰使用后必須立即從內(nèi)存中銷毀,下次需要時(shí)再從加密模板中恢復(fù)。
鑒于指紋識(shí)別的實(shí)用性和普遍性,合成指紋在現(xiàn)實(shí)生活中得到了廣泛的應(yīng)用[12]。目前最為經(jīng)典的指紋合成方法是Cappelli 等[14-16]提出指紋合成軟件平臺(tái)SFINGE,胡瑾等[17]基于該平臺(tái)在算法方面做了改進(jìn),使得合成的指紋在內(nèi)部屬性上更為逼真。同時(shí),指紋Fuzzy Vault 算法是一個(gè)可證明安全性的最為經(jīng)典的生物特征加密系統(tǒng),利用生物特征的唯一性提供良好的驗(yàn)證性能,因此本文基于指紋合成方法和指紋Fuzzy Vault 算法對(duì)本文所提方案進(jìn)行了實(shí)用化設(shè)計(jì)。
注冊(cè)階段,首先基于改進(jìn)的指紋合成平臺(tái)[17]生成“N-1”個(gè)類似真實(shí)指紋的偽指紋圖像,然后通過指紋Fuzzy Vault 算法生成蜜罐模板集合和SUGAR 模板索引,最后將蜜罐模板集合和SUGAR 模板索引分別存儲(chǔ)到模板數(shù)據(jù)庫和索引數(shù)據(jù)庫。具體步驟如下。
第1 步:從指紋圖像中提取細(xì)節(jié)點(diǎn),生成細(xì)節(jié)點(diǎn)點(diǎn)集A;
第2 步:利用隨機(jī)數(shù)生成器生成隨機(jī)數(shù)作為密鑰K,通過 CRC 編碼為 KC;
第3 步:將 KC 轉(zhuǎn)換到有限域 GF(2n)中,作為多項(xiàng)式各項(xiàng)的系數(shù),構(gòu)造多項(xiàng)式p(x);
第4 步:將細(xì)節(jié)點(diǎn)點(diǎn)集A 中的元素映射到多項(xiàng)式p(x)上,得到結(jié)果集 RA;
第5 步:隨機(jī)生成干擾點(diǎn)點(diǎn)集C,保證該點(diǎn)集不在p(x)上;
第6 步:由干擾集C 和結(jié)果集RA生成并集R,這樣SUGAR 保險(xiǎn)箱就形成了;
第7 步:利用指紋合成平臺(tái)軟件SFINGE 隨機(jī)合成N-1 個(gè)偽指紋圖像。按照前面步驟生成N-1 個(gè)HONEY 保險(xiǎn)箱,并保證每個(gè)HONEY 保險(xiǎn)箱與真實(shí)指紋匹配細(xì)節(jié)點(diǎn)的個(gè)數(shù)少于多項(xiàng)式系數(shù);
第8 步:將SUGAR 保險(xiǎn)箱隱藏到N-1 個(gè)HONEY保險(xiǎn)箱中構(gòu)成蜜罐模板集合,記錄SUGAR 保險(xiǎn)箱索引Li;
第9 步:將蜜罐模板集合與SUGAR 模板索引Li分別與用戶ID 提交給密鑰恢復(fù)模塊和蜜罐監(jiān)測(cè)模塊。至此,完成了基于指紋Fuzzy Vault 的系統(tǒng)注冊(cè)階段。
驗(yàn)證階段,首先密鑰使用模塊將用戶ID 與指紋信息提交給密鑰恢復(fù)模塊,然后密鑰恢復(fù)模塊結(jié)合用戶指紋信息解密蜜罐模板集合,并將恢復(fù)的密鑰與解密模板索引返回給密鑰使用模塊,最后,密鑰使用模塊將用戶ID 與模板索引提交給蜜罐監(jiān)測(cè)服務(wù)進(jìn)行檢測(cè)。具體步驟如下。
第1 步:通過指紋采集儀采集用戶指紋特征,提取指紋細(xì)節(jié)點(diǎn)生成細(xì)節(jié)點(diǎn)點(diǎn)集U;
第2 步:將集合U 和蜜罐模板集合中的指紋保險(xiǎn)箱V 進(jìn)行比較,當(dāng)匹配點(diǎn)的個(gè)數(shù)大于多項(xiàng)式系數(shù)時(shí)進(jìn)行下一步,否則繼續(xù)匹配蜜罐模板集合中下一個(gè)保險(xiǎn)箱,若遍歷蜜罐模板集合仍無匹配項(xiàng),則直接驗(yàn)證失??;
第3 步:根據(jù)細(xì)節(jié)點(diǎn)點(diǎn)集U 中的元素,通過拉格朗日插值法重構(gòu)出多項(xiàng)式P,得到多項(xiàng)式系數(shù);
第4 步:利用CRC 判斷是否為原始多項(xiàng)式系數(shù)KC,如果校驗(yàn)結(jié)果為0,則匹配成功,釋放密鑰,進(jìn)行下一步,否則匹配蜜罐模板集合中下一個(gè)元素,返回第 2 步;
第5 步:將恢復(fù)密鑰K′與匹配模板的索引indexi返回給密鑰使用模塊;
第6 步:密鑰使用模塊將用戶ID 與索引indexi提交給蜜罐監(jiān)測(cè)服務(wù);
第7 步:蜜罐監(jiān)測(cè)模塊根據(jù)密鑰使用模塊提交的用戶ID 從蜜罐監(jiān)測(cè)數(shù)據(jù)庫中獲取SUGAR 模板索引Li,與indexi比對(duì),相等為驗(yàn)證通過,不相等為蜜罐模板受到了攻擊。
經(jīng)分析可知,用戶指紋綁定的密鑰恢復(fù)平均時(shí)間與蜜罐模板集合中模板個(gè)數(shù)N 的大小成正比,N 越大平均排除HONEY 模板個(gè)數(shù)越多,導(dǎo)致密鑰的恢復(fù)時(shí)間增大。
針對(duì)指紋模糊保險(xiǎn)箱,在驗(yàn)證階段排除HONEY模板有2 種情況:一是匹配細(xì)節(jié)點(diǎn)個(gè)數(shù)小于多項(xiàng)式系數(shù),無法重構(gòu)多項(xiàng)式;二是匹配細(xì)節(jié)點(diǎn)個(gè)數(shù)大于等于多項(xiàng)式系數(shù),但遍歷匹配細(xì)節(jié)點(diǎn)集合不能恢復(fù)出系數(shù)滿足CRC 校驗(yàn)的集合。
由于匹配細(xì)節(jié)點(diǎn)集合生成時(shí)間與恢復(fù)密鑰的時(shí)間相比可以忽略不計(jì)[18],為了優(yōu)化用戶驗(yàn)證時(shí)間,本文所提方案在注冊(cè)階段要求生成的HONEY 模板與真實(shí)指紋匹配細(xì)節(jié)點(diǎn)個(gè)數(shù)少于多項(xiàng)式系數(shù),從而在驗(yàn)證階段可以有效降低密鑰的恢復(fù)時(shí)間,保證HONEY 模板個(gè)數(shù)盡可能大。從理論上講,HONEY 模板數(shù)量N 越大,SUGAR 模板越安全。
快速模糊保險(xiǎn)箱算法利用多項(xiàng)式映射和添加雜湊點(diǎn)完成了特征點(diǎn)的加密過程,整個(gè)系統(tǒng)的安全性依賴于特征點(diǎn)與雜湊點(diǎn)個(gè)數(shù)以及多項(xiàng)式系數(shù)[19]。多項(xiàng)式次數(shù)和密鑰長度相關(guān),同時(shí),多項(xiàng)式次數(shù)也決定了需要匹配的點(diǎn)的個(gè)數(shù)。當(dāng)設(shè)置有限域空間為GF(2n),多項(xiàng)式次數(shù)為k,特征點(diǎn)為t,模糊保險(xiǎn)箱中細(xì)節(jié)點(diǎn)個(gè)數(shù)為w 時(shí),密鑰長度為(k+1)*n,破解正確密鑰的可能性是:
本文選擇多項(xiàng)式次數(shù)為8,有限域?yàn)镚F(216)為例,系統(tǒng)密鑰長度144,特征點(diǎn)個(gè)數(shù)為10,雜湊點(diǎn)個(gè)數(shù)為100 時(shí),破解正確密鑰的可能性為p=2.153 6×10-12。
由于本系統(tǒng)具有攻擊監(jiān)測(cè)能力,所以即使攻擊者擁有足夠的計(jì)算能力攻破模板集合中所有模糊保險(xiǎn)箱,但只有一次嘗試機(jī)會(huì),如果第一次嘗試失敗,系統(tǒng)將立即監(jiān)測(cè)到并作出反應(yīng)。因此,當(dāng)蜜罐模板集合中模板個(gè)數(shù)為N 時(shí),攻擊者成功破解真實(shí)生物特征模板的概率為原先概率的1/N,被監(jiān)測(cè)到的概率為(N-1)/N,并且隨著N 的增大,破解難度和被監(jiān)測(cè)到的概率也在增大。例如,在N 為10 時(shí),攻擊行為被監(jiān)測(cè)到的概率為0.9,密鑰的使用安全提升了一個(gè)數(shù)量級(jí),致使攻擊者成功的概率下降為p = 2.153 6 × 10-13。當(dāng)N 為100 時(shí),攻擊行為被監(jiān)測(cè)到的概率為0.99,密鑰的使用安全提升2 個(gè)數(shù)量級(jí),致使攻擊者的成功概率下降為p=2.153 6×10-14,綜合考慮蜜罐模板的存儲(chǔ)空間大小和密鑰恢復(fù)時(shí)間以及對(duì)應(yīng)的模板安全強(qiáng)度,本文建議具體工程實(shí)現(xiàn)時(shí)N 的取值在10~1 000 之間。
由上文分析可知,蜜罐模板集合中模板個(gè)數(shù)“N”的值越大系統(tǒng)安全性越高,且攻擊者被監(jiān)測(cè)到的概率越大,但是隨著N 的增大,密鑰恢復(fù)時(shí)間也在增大。在本文設(shè)計(jì)中,蜜罐模板集合中的HONEY 保險(xiǎn)箱與真實(shí)指紋細(xì)節(jié)點(diǎn)匹配元素個(gè)數(shù)少于多項(xiàng)式系數(shù),從而免去了驗(yàn)證過程中可能在HONEY 保險(xiǎn)箱上多項(xiàng)式恢復(fù)與多項(xiàng)式CRC 校驗(yàn)的時(shí)間消耗,優(yōu)化了密鑰恢復(fù)所需時(shí)間。
在原始指紋的模糊保險(xiǎn)箱方案[18]中多項(xiàng)式次數(shù)為8 時(shí),利用匹配細(xì)節(jié)點(diǎn)集合恢復(fù)多項(xiàng)式的平均解密耗時(shí)是3 s 左右,匹配細(xì)節(jié)點(diǎn)集合生成時(shí)間相對(duì)于密鑰恢復(fù)時(shí)間可以忽略不計(jì)(本文為了分析方便假設(shè)為0.02 s)。在該假設(shè)條件下,取模板庫中模板個(gè)數(shù)N=100 時(shí),密鑰的使用安全性提升2 個(gè)數(shù)量級(jí),驗(yàn)證最短時(shí)間為3+0.02=3.02 s,最長時(shí)間為3+0.02×100=5 s,所以驗(yàn)證時(shí)間在3.02 ~5 s 之間,在用戶可接受范圍之內(nèi)。同時(shí),由于硬件計(jì)算能力與驗(yàn)證時(shí)間成反比,隨著硬件的水平的提高,N 可以適當(dāng)調(diào)大。
本文借鑒了蜜罐技術(shù),提出了一種基于蜜罐模板的生物特征加密模板保護(hù)方案,并基于指紋模糊保險(xiǎn)箱算法對(duì)該方案進(jìn)行了實(shí)用化設(shè)計(jì)與安全性分析。對(duì)于蜜罐模板集合中模板個(gè)數(shù),本文建議在10 ~1 000之間。安全分析表明,該方案有效提高了生物特征模板安全性的同時(shí)具有較好的監(jiān)測(cè)能力。蜜罐技術(shù)與生物特征加密系統(tǒng)結(jié)合打破了傳統(tǒng)模板保護(hù)的技術(shù)瓶頸,從主動(dòng)監(jiān)測(cè)模板攻擊的角度為生物特征模板的安全研究提供了新的思路,具有較好的使用價(jià)值。當(dāng)然本文方案與具體實(shí)用場景結(jié)合時(shí)需要考慮新的問題,如本方案應(yīng)用于生物證書則需要考慮到模板個(gè)數(shù)和證書大小的問題。