周 迪 胡偉通 鮑 狄 陳宇磊 游 林*
1(浙江宇視科技研究院 浙江 杭州 310051) 2(杭州電子科技大學網(wǎng)安學院 浙江 杭州 310018) 3(浙商銀行股份有限公司 浙江 杭州 310003)
依據(jù)Kerckhoffs準則[1],一個密碼系統(tǒng)的安全性,并不是因為一個對于對手來說保密的算法,而是因為它的密鑰對于對手來說保密,換言之,一個密碼系統(tǒng)的加密算法可以是公開的,只要保證使用的密鑰安全性就能保證整個系統(tǒng)安全。因而,對于密鑰的保護成了密碼系統(tǒng)中最重要的一環(huán),而生物特征識別技術在各種角度上對于密鑰的管理、儲存的安全性有極大幫助。與傳統(tǒng)的口令不同,口令能夠被字典攻擊破解,而基于人類某項或某幾項生物特征進行加密,由于生物特征本身的多樣性、復雜性,使得攻擊者很難構(gòu)造類似的生物特征字典來進行暴力破解,另外因為生物特征具體是人的指紋、虹膜、掌紋、聲紋等信息,比起傳統(tǒng)的以某種持有物作為密鑰相比,在面對轉(zhuǎn)移和竊取手段時天然具備更好的安全特性。本文嘗試以生物特征為基礎構(gòu)造一種身份認證方案,可生物特征識別技術也并非完美,它同樣存在一些問題,主要體現(xiàn)在生物特征普適性和模板安全性上。為此,將多生物特征識別技術和密碼技術相結(jié)合來較好地解決上述兩個問題。
模糊金庫是一種利用具有某些特定屬性的集合來保護秘密信息的特殊屬性集合,而基于單一樣本生物特征的模糊金庫在安全性上越來越無法滿足社會生活的實際需求,從而結(jié)合多種生物樣本特征構(gòu)造新型多樣本生物特征模糊金庫應運而生。
本文將對來自兩枚不同手指的兩個指紋進行預校準后的指紋圖像作為多樣本(在這里也就是雙樣本),然后利用Diffie-Hellman密鑰交換協(xié)議的思想,提出基于有限乘法群上離散對數(shù)安全的一種雙指紋特征融合方法,并由此產(chǎn)生一個全新的虛擬指紋特征模板,隨后結(jié)合經(jīng)典模糊金庫算法,提出了一種基于兩枚不同指紋融合模糊金庫的身份認證方案,并且在測試中取得了較好的效果。
本文首先對模糊金庫和指紋特征處理技術進行了簡單的介紹,以Diffie-Hellman密鑰交換協(xié)議為靈感來源,提出了一種乘法群上細節(jié)點與方向場的融合方法。隨后將產(chǎn)生的融合特征分別與經(jīng)典模糊金庫結(jié)合,構(gòu)建了一種新的模糊金庫方案,并進行了實驗仿真,最后對實驗結(jié)果做了分析。
模糊金庫方案是一種經(jīng)典的生物特征與密碼技術相結(jié)合綁定的方案,其思想最早在2002年IEEE信息論國際會議上由Juels等[2]提出。該方案是利用使用者的某些特定屬性的集合,如用戶特定歸屬類別的數(shù)字化集合,當做密鑰,然后利用某種特定的某種數(shù)學方法將使用者的秘密信息隱藏儲存在一個特別的方程系統(tǒng)或者是一個特殊集合中,使用者只要保護好這個信息即可。當且僅當使用者將原先特定的歸屬類別的數(shù)字化集合(或者其他使用者特定屬性集合)輸入才能正確完整獲取隱藏儲存在其中的秘密信息,值得一提的是模糊金庫方案中,并不一定要將整個特定屬性集合完整無誤的輸入,而是只要達到一個近乎相同的水平。文獻[3-7]分別對基于指紋特征的模糊金庫方案各方面進行了研究,同時也取得了比較好的成果。基于指紋特征的模糊金庫方案是目前在理論研究及實際應用上最為成熟的。(指紋)模糊金庫原理如圖1所示。
(b) 解鎖階段圖1 指紋模糊金庫技術原理
Lee等[8]在2007年首次提出了基于虹膜特征的模糊金庫方案。同年Nyang等[9]提出一種基于帶權重生物特征的模糊金庫實現(xiàn)方案。Kumar等[10]在2008年提出一個基于掌紋的模糊金庫的雙層(一層對稱密碼另一層非對稱密碼)加密系統(tǒng)。Cao等[11]在2011年提出了一種能夠應用于人體傳感網(wǎng)絡的改進模糊金庫方案。Bringer等[12]在2012年提出一種基于折疊RS編碼以及相應的列表恢復算法的多用戶的擴展模糊金庫模型,實現(xiàn)了多用戶共享同一個模糊金庫。Velciu等[13]在2014年提出一種基于聲紋特征的模糊金庫方案,其特點是將模糊金庫與云計算相結(jié)合,做到云環(huán)境下的密鑰保護及訪問控制。同年Moon等[14]提出并實現(xiàn)了一整套IC卡環(huán)境下實用化的模糊金庫方案。
模糊金庫方案是一種較理想的保護用戶秘密信息安全的信息技術,所以其實際的安全性能和應用性能也日益引起相關研究人員的關注。2007年Scheirer等[15]對常見的SKA(密鑰泄露)、ARM(記錄多樣性)、BSA(盲替代)三種針對模糊金庫的攻擊方式進行了分析。2010年Fu等[16]為了解決記錄多樣性攻擊和盲替代攻擊提出了一種對提取的真實點進行雙線映射的模糊金庫方案,該方案基于Pairing-based Cryptography(配對密碼體制)。2012年Poon等[17]對當時使用的幾種模糊金庫主要包括RS、B-M、CRC中的解碼方案進行了測試比較,結(jié)果認為Gao[18]的RS解碼方案較之于B-M方案更出色,同時得到結(jié)論,CRC方案在面對暴力破解時存在明顯的短板,哪怕是對方案進行了改進后仍舊存在該問題。2013年Nguyen等[19]在模糊金庫的雜湊點生成算法中取得了較好的成果,提出的新型雜湊點算法一定程度上提高了指紋模糊金庫安全性的同時,較當時常用的算法在時間上有了大幅縮短。2014年Josef等[20]將hash引入了模糊金庫,在儲存真實點時對真實點進行hash計算,提高了模糊金庫安全性。
本文主要關注指紋預處理、特征提取與量化過程。這些環(huán)節(jié)的必要性一方面考慮到存儲空間的消耗以及避免圖像縮放失真等的性能需求。另一方面是因為原始指紋圖像的質(zhì)量不能得到保證,首先指紋采集對象如老年人群、一些從事體力勞動的工人、農(nóng)民指紋存在殘缺磨損的現(xiàn)象極為普遍,其次即便擁有完整清晰指紋的對象,當進行指紋采集時仍舊不可避免的存在噪聲,這必然導致虛假細節(jié)點的產(chǎn)生。因此,直接使用原始采集圖像,簡單提取細節(jié)點進行使用,不可能滿足實際需要。通過指紋圖像矢量化、增強、二值化、量化等過程可以大幅減少噪聲干擾,大大提高對殘缺指紋的識別效果,同時壓縮圖像存儲空間,防止圖像縮放失真。
指紋圖像預處理過程如圖2所示。
圖2 指紋圖像預處理流程
1) 指紋梯度計算。梯度場是一種由數(shù)量場得到的矢量場,能夠反映指紋中谷線與脊線場強變化。對指紋圖像進行矢量化操作,不但能夠壓縮圖像存儲空間,還能避免圖像縮放過程導致的失真。我們將一幅原始指紋圖像記為F(x,y),其指紋梯度場記為T(x,y),計算該點的偏微分,得到的就是最陡的方向。那么求指紋圖像F(x,y)偏導數(shù):對x求偏微分的值,能得到水平分量記為Fx(x,y),對y求偏微分的值,能得到垂直分量記為Fy(x,y),最后求出該點梯度向量T(x,y)。該點的梯度值為
(1)
2) 指紋圖像分割與收斂。為了區(qū)分指紋圖像的前景和背景,我們需要對指紋進行分割。由于隨著圖像中梯度不同會出現(xiàn)顏色深淺不同,所以我們可以梯度值來做指紋圖像的分割,其中前景梯度數(shù)值通常較大(顏色更白),背景梯度數(shù)值通常較小(顏色更黑)。由此我們就能利用梯度值來對指紋圖像進行分割,過程如下:
(1) 平滑處理:去噪。
(2) 分割前景背景:通過設置梯度閾值,記分割閾值為δ,則
若|T(x,y)|>δ,像素點(x,y)位于前景。
若|T(x,y)|<δ,像素點(x,y)位于背景。
使用該方法做指紋圖像分割的程序?qū)崿F(xiàn)結(jié)果如圖3(b)。在實際生活中,由于面光源效應、環(huán)境因素或者非理想點的存在紋線的灰度圖像的灰度和像素位置會發(fā)生一定的偏移。進一步的圖像收斂能盡量修正這種偏移,這里我們采用二維高斯函數(shù)進行收斂。圖3(c)為對圖3(b)進行采用二維高斯函數(shù)進行圖像收斂后得到的指紋圖像。
(a) 原始指紋圖像 (b) 分割后指紋圖像 (c) 收斂后指紋圖像圖3 指紋圖像預處理
分割后的指紋圖像在經(jīng)過收斂后圖像質(zhì)量有所改善但依舊達不到對噪聲的完全剔除,也難以滿足接下來特征提取量化的需要,進一步地處理包括:增強、細化、量化等。為了使得使紋線更加清晰,使用二維Gabor濾波,由于它是一個經(jīng)過復數(shù)正弦函數(shù)調(diào)制的高斯函數(shù),其實部進行濾波時能得到平滑的圖像效果,它能夠沿著紋線方向?qū)D像進行收斂增強,彌補紋線斷裂的不足。下一步是指紋圖像的二值化,本文中采用了領域分析法,該方法在成像質(zhì)量較好表現(xiàn),設脊線區(qū)域灰度值賦值為黑色(0),谷線區(qū)域灰度值賦值為白色(255)。
經(jīng)過二值化之后得到的指紋圖像已經(jīng)達到了指紋細節(jié)點特征提取的要求。指紋細節(jié)點特征種類較多,其中最主要是分叉點以及端點。指紋紋線的末端即為端點,兩條指紋紋線相交點即為分叉點。圖4標出了4種細節(jié)點特征:分叉點、端點、環(huán)點以及孤立點。
圖4 四種指紋細節(jié)點特征
可以看出,經(jīng)過了預校準的指紋特征,基本滿足了指紋特征提取的需求,但是在實際當中,在各種外在因素影響下,提取到的指紋細節(jié)點坐標會因為時間的不同產(chǎn)生一些隨機的無法預估的變化。然而在模糊金庫方案中,密鑰信息與指紋特征的綁定操作又必須保證有一定數(shù)量的細節(jié)點坐標數(shù)據(jù)完全正確,確保密鑰恢復的準確無誤。因此我們需要對指紋特征做進一步的量化處理,一種簡單的棋盤格式量化方法就能夠較好地解決上述由于外在因素導致的細節(jié)點差異問題。首先我們將指紋圖像大小為255×255,然后是設置一個合適的D(區(qū)間間隔)目的是將指紋坐標量化,區(qū)間間隔的設置會影響量化后指紋特征坐標點與量化前坐標點的相似程度,很明顯,當區(qū)間間隔越小,量化前后的指紋特征圖像越近似,反之,差距越大,量化公式如下:
若量化區(qū)間間隔參數(shù)D為偶數(shù),則:
(2)
若量區(qū)間間隔參數(shù)D為奇數(shù),則:
(3)
例如坐標點為(201,19),當取D=3時,量化區(qū)間間隔參數(shù)為3,經(jīng)D為奇數(shù)的公式計算其橫坐標量化后結(jié)果為202,縱坐標量化結(jié)果為19,即細節(jié)點(201,19)量化后坐標為(202,19)。
圖5(a)為量化后的圖像,圖5(b)為對量化后的圖像提取細節(jié)點特征。
(a) 量化后圖像 (b) 提取特征點(端點與分叉點)圖5 指紋圖像細化和特征提取
Diffie-Hellman密鑰交換協(xié)議[21]是一種基于離散對數(shù)計算困難性的算法,它不是一種加密方法而是一種建立密鑰的方法,一種密鑰交換算法,因此必須配合其他某種加密算法相結(jié)合來使用。
簡要概述如下: