摘要:本文證明了模糊金庫(kù)算法中存在一個(gè)設(shè)計(jì)錯(cuò)誤,即算法中對(duì)于 RS 碼的使用是不合理性,在模糊金庫(kù)算法的基礎(chǔ)上設(shè)計(jì)了一種改進(jìn)的指紋密鑰算法,理論分析和實(shí)驗(yàn)仿真證明了該算法能夠克服已有指紋密鑰算法存在的大部分問(wèn)題,同時(shí)對(duì)影響指紋密鑰算法性能的各種因素進(jìn)行了分析。
關(guān)鍵詞:指紋識(shí)別;指紋密鑰算法;模糊金庫(kù)
一、引言
1998 年美國(guó) RSA 實(shí)驗(yàn)室的 Juels 等在文獻(xiàn)《ACM Conference on Computer and Communications Security》里提出了“模糊承諾算法”, 這個(gè)算法將糾錯(cuò)碼和密碼學(xué)相結(jié)合從而獲得一種新的密碼學(xué)思想,稱為模糊承諾,和傳統(tǒng)密碼學(xué)中的承諾算法相似,這個(gè)算法能夠?qū)崿F(xiàn)隱藏和綁定,既能使攻擊者無(wú)法獲得承諾值,又能使承諾者用不止一種方法來(lái)解密承諾值,這種模糊性能保證用戶在所持有的信息有微小錯(cuò)誤的情況下可以成功求得承諾值。
U.Uludag等人提出了一種基于指紋特征的金庫(kù)算法,該算法的指紋特征數(shù)據(jù)中除了指紋特征點(diǎn)的xy坐標(biāo)外,還有相應(yīng)的脊線的角度,這個(gè)算法在生成指紋密鑰之前首先對(duì)模板和輸入的指紋進(jìn)行校準(zhǔn)消除由于旋轉(zhuǎn)等等引起的角度變化,參與比對(duì)的是指紋的x,y坐標(biāo),如果前后兩個(gè)指紋的某兩個(gè)點(diǎn)的xy坐標(biāo)值相差在一個(gè)閾值之內(nèi),則認(rèn)為相同的點(diǎn)。
本文首先對(duì)模糊金庫(kù)算法進(jìn)行了介紹,并在算法設(shè)計(jì)、性能分析和實(shí)驗(yàn)設(shè)計(jì)幾個(gè)方面進(jìn)行了分析。在此基礎(chǔ)對(duì)基于指紋特征的金庫(kù)算法改進(jìn)提出一種改進(jìn)方法。同時(shí)從理論分析和實(shí)驗(yàn)仿真證明了該算法能夠克服已有指紋密鑰算法存在的大部分問(wèn)題,同時(shí)對(duì)影響指紋密鑰算法性能的各種因素進(jìn)行了分析。
二、對(duì)模糊金庫(kù)算法的分析
1.模糊金庫(kù)算法簡(jiǎn)介
在文獻(xiàn)《IEEE International Symposium on Information Theory》中Juels提出了新的密碼學(xué)概念模糊金庫(kù)(fuzzy vault),這個(gè)概念基本思想是:一個(gè)用戶 Alice 可以將一個(gè)秘密值 s 放在一個(gè)模糊金庫(kù)里,使用一個(gè)集合 A 將其上鎖,另外一個(gè)用戶 Bob 如果想解鎖這個(gè)金庫(kù),他只需使用一個(gè)與集合 A 相近的集合 B,即這兩個(gè)集合在一定程度上相交,即可獲得秘密s。
在上鎖算法里,集合 A 指的是 R 里“正確”點(diǎn)的橫坐標(biāo),所謂“正確”點(diǎn)指其函數(shù)值是根據(jù)真的多項(xiàng)式求得的點(diǎn)。在解鎖過(guò)程里,用戶 Bob 將提供一個(gè)與集合 A 相近的集合 B,集合 B 的作用是從 R 認(rèn)選出正確的點(diǎn)及其相應(yīng)的函數(shù)值。如果集合 B 和集合 A 足夠相近,那么集合 B 就能從 R 認(rèn)選出較多的正確點(diǎn)對(duì),但由于集合 B 只是和集合 A 相近而不是相同,因而不可能將所有正確的點(diǎn)對(duì)都認(rèn)選出來(lái)。
2.模糊金庫(kù)算法分析
假如需要生成一個(gè)糾錯(cuò)能力為c的RS碼,首先,必須生成在GF(q)的生成多項(xiàng)式,這個(gè)多項(xiàng)式必須滿足如下條件:“糾錯(cuò)能力為c的RS碼的生成多項(xiàng)式必須有 2c個(gè)根,且這些根為α的連續(xù)的指數(shù),即:
三、改進(jìn)的指紋密鑰算法
指紋密鑰算法可以分成兩個(gè)部分指紋密鑰的生成和密碼密鑰的恢復(fù)。
1.指紋密鑰算法設(shè)計(jì)改進(jìn)
算法的第一部分是指紋密鑰的生成,用戶通過(guò)指紋采集器采集生成指紋圖像,通過(guò)方向場(chǎng)的估計(jì)、Gabor 濾波等步驟對(duì)指紋圖像預(yù)處理。并采取指紋圖像后處理技術(shù)對(duì)偽特征的去除。
(1)指紋密鑰的生成
由于實(shí)際中使用指紋圖像的處理方法提取指紋的細(xì)節(jié)點(diǎn),細(xì)節(jié)點(diǎn)表示成{ },這里和指該細(xì)節(jié)點(diǎn)的坐標(biāo),為該細(xì)節(jié)點(diǎn)的方向,指以逆時(shí)針?lè)较驈膞軸轉(zhuǎn)到該細(xì)節(jié)點(diǎn)局部脊線方向之間的角度,指細(xì)節(jié)點(diǎn)的類型,和分別指與細(xì)節(jié)點(diǎn)相連的脊線上采樣點(diǎn)和細(xì)節(jié)點(diǎn)連線的長(zhǎng)度及該連線與對(duì)應(yīng)方向之間的夾角。
同模糊金庫(kù)算法相似,由用戶指紋圖像處理后生成的指紋細(xì)節(jié)點(diǎn)數(shù)據(jù)構(gòu)成了上鎖集合A。用戶的密碼密鑰隱藏在一個(gè)與之對(duì)應(yīng)的多項(xiàng)式里,密碼密鑰每隔 16 位作為一個(gè)系數(shù)嵌入一個(gè)多項(xiàng)式里,直到整個(gè)密碼密鑰都嵌入一個(gè)多項(xiàng)式里,便生成了與這個(gè)密碼密鑰對(duì)應(yīng)的多項(xiàng)式p,用戶細(xì)節(jié)點(diǎn)和噪聲點(diǎn)的橫坐標(biāo)與縱坐標(biāo)都將被輸入該多項(xiàng)式計(jì)算對(duì)應(yīng)多項(xiàng)式值。
噪聲點(diǎn)的生成方法如下:在用戶真實(shí)細(xì)節(jié)點(diǎn)周圍一定范圍內(nèi)禁止生成噪聲點(diǎn),用一個(gè)大小為τ的正方形來(lái)代表這個(gè)范圍,對(duì)于噪聲點(diǎn)的特征