專利名稱:一種利用指紋細(xì)節(jié)特征點綁定/恢復(fù)密鑰的方法
技術(shù)領(lǐng)域:
本發(fā)明屬于信息安全和計算機(jī)識別領(lǐng)域,涉及生物特征識別、信息安全等,更具體的涉及基于生物特征和傳統(tǒng)密鑰的綁定保護(hù)。本發(fā)明提出了一種基于指紋細(xì)節(jié)特征點數(shù)據(jù)和密鑰的綁定保護(hù)方法,用于在保護(hù)生物特征數(shù)據(jù)本身安全的同時,也為密鑰的安全使用提供了一種可靠保護(hù),提高了系統(tǒng)的安全強(qiáng)度。
背景技術(shù):
隨著信息技術(shù)的發(fā)展與應(yīng)用,信息安全的內(nèi)涵在不斷的延伸。建立信息安全體系的目的是保證系統(tǒng)中的數(shù)據(jù)只能被有權(quán)限的“人”訪問。如果沒有有效的身份認(rèn)證手段,訪問者的身份就很容易被偽造,使得任何安全防范體系都形同虛設(shè)。身份認(rèn)證用于解決訪問者的物理身份和數(shù)字身份的一致性問題,給其他安全技術(shù)提供權(quán)限管理的依據(jù)。
傳統(tǒng)的加密技術(shù),如AES、RSA等對稱或非對稱加密算法可以很好地提供安全性的保證。不過這些加密算法的密鑰很長,AES密鑰最短是128位,而RSA私鑰的長度是1024位,甚至更高。普通人很難記住這些冗長、無序而枯燥的數(shù)字,因此用戶一般將冗長而不規(guī)律的密鑰存儲在計算機(jī)或智能卡中,通過輸入口令的方式認(rèn)證后,就能獲取密鑰進(jìn)行數(shù)據(jù)解密,即密鑰的安全性取決于口令的安全性。由于一般所使用的口令很容易被破解,而且用戶在不同的應(yīng)用中經(jīng)常使用同一口令,從而造成“一通百通”的問題,難以區(qū)別身份的真?zhèn)?。為了提高身份認(rèn)證系統(tǒng)的安全性,使用一種強(qiáng)的認(rèn)證技術(shù)來保護(hù)用戶密鑰在未來網(wǎng)絡(luò)世界中會變得越來越重要。
生物認(rèn)證技術(shù)作為一種新興的、很強(qiáng)的身份認(rèn)證手段目前已經(jīng)受到社會各方面的重視,利用用戶的生物特征作為認(rèn)證手段可以更好地防止欺騙、假冒。但是如果對于生物特征數(shù)據(jù)不作保護(hù),一旦黑客竊取或者成功偽造了用戶的生物特征數(shù)據(jù),那么依賴于生物特征的防偽技術(shù)本身就失去了意義,而且也可能造成“一通百通”的問題。因此實現(xiàn)生物認(rèn)證和密鑰保護(hù)的無縫結(jié)合,既可用于提供完整的認(rèn)證機(jī)制,也可用于保護(hù)傳統(tǒng)的加密密鑰以及其本身特征數(shù)據(jù)的隱藏與保護(hù),會使用戶對自己的秘密信息在網(wǎng)上通信的安全性更加放心。這種結(jié)合在保護(hù)生物特征數(shù)據(jù)本身安全的同時,也為密鑰的安全使用提供了一種可靠保護(hù),用戶不再需要花費(fèi)大功夫設(shè)置并且記住復(fù)雜的口令。
生物認(rèn)證技術(shù)和加密技術(shù)結(jié)合有2種模型1.生物認(rèn)證-密鑰釋放模式(Biometric key release),如圖1所示。在這種模式下,生物認(rèn)證和密鑰釋放是兩個分離的部分。生物認(rèn)證按照傳統(tǒng)的方式進(jìn)行匹配、決策,通過認(rèn)證后,系統(tǒng)到一個安全的地點,如智能卡或服務(wù)器取回加密密鑰。這種方法簡單,但是模板是“裸”的,未經(jīng)過任何加密措施。雖然這種方式認(rèn)證的可靠性高,但安全性缺乏保障,如智能卡丟失、服務(wù)器被攻破等都可能使生物模板泄露,而且會危及密鑰的安全;2.生物認(rèn)證-密鑰產(chǎn)生/捆綁(Biometric key generation/binding)模式,如圖2所示。這種模式將生物特征模板和密鑰融合為一體,密鑰的產(chǎn)生過程和生物認(rèn)證過程幾乎是同時進(jìn)行的。這種方法克服了模型1中的安全隱患。因此我們討論的方法屬于生物認(rèn)證-密鑰產(chǎn)生/捆綁模式。
生物認(rèn)證-密鑰產(chǎn)生/捆綁模式中,通常有2種方法來產(chǎn)生密鑰,即直接生成方式(Biometrickey generation)和密鑰捆綁方式。直接生成方式是直接使用生物特征數(shù)據(jù)來產(chǎn)生唯一的、可重用的二進(jìn)制串,然后使用某種變換,如Hash等來產(chǎn)生密鑰。這種方法不需要存儲模板,但不夠靈活,不能夠滿足用戶想在不同場合使用不同密鑰的要求。另外由于很多生物特征,如指紋、人臉等,每次采集的數(shù)據(jù)變化較大。例如一個人的相同手指的兩次不同的采集,一般都會存在平移和旋轉(zhuǎn),兩次采集到的人臉圖像,可能會由于不同的光照或姿態(tài)而不同,如圖3、圖4所示。因此采用這種方法無法保證每次都能生成同一個密鑰。目前還沒有任何報道驗證了這種方法的可靠性。在密鑰捆綁方式中,密鑰是由傳統(tǒng)密鑰系統(tǒng)預(yù)先分配的。在注冊時,系統(tǒng)將原始模板和密鑰結(jié)合在一起生成新的被保護(hù)了的模板。在密鑰恢復(fù)階段,通過用戶提供的現(xiàn)場樣本和這個被保護(hù)的新模板共同重構(gòu)出正確的密鑰。即使這個受保護(hù)的模板被盜,也無法由這個模板本身獨立重構(gòu)出正確的密鑰,而且也無法從中恢復(fù)出原始模板,即不會暴露任何有用信息。由于存在受保護(hù)的模板,密鑰重構(gòu)過程隱含著認(rèn)證過程,使得這種方法的可靠性和靈活性都高于第一種方式,而且容易與現(xiàn)有加密系統(tǒng)集成。因此生物密鑰綁定方式是一種較好的將生物認(rèn)證和傳統(tǒng)加密系統(tǒng)相結(jié)合的方式。
當(dāng)然在兩者結(jié)合的過程中,存在一個很棘手的矛盾。即一方面,密鑰需要由生物數(shù)據(jù)來保護(hù),另一方面,生物數(shù)據(jù)自身的安全也需要保護(hù)。而且由于每次采集的生物數(shù)據(jù)會存在不一致,也會對被保護(hù)模板與現(xiàn)場樣本數(shù)據(jù)之間的匹配帶來挑戰(zhàn)?,F(xiàn)有技術(shù)給出了一種生物數(shù)據(jù)的保護(hù)方法,這種方法將用戶真實生物數(shù)據(jù)隱藏在一群隨機(jī)干擾的數(shù)據(jù)中,由于從這些混合數(shù)據(jù)中很難分離出真實數(shù)據(jù),可以認(rèn)為真實數(shù)據(jù)是被“上鎖”的,合法用戶出示的現(xiàn)場樣本則用來“解鎖”真實數(shù)據(jù)。從現(xiàn)有的實驗報道來看,這種方法比較適合于生物特征數(shù)據(jù)的保護(hù),保護(hù)效果比較理想;同時由于存在受保護(hù)的模板,在密鑰重構(gòu)階段有可比較的證據(jù),有利于提高可靠性?,F(xiàn)有報道中都是利用一個多項式來實現(xiàn)密鑰和指紋的綁定,假定待保護(hù)的密鑰是128位密鑰S,首先計算S的CRC-16值(16位數(shù)值),把該值追加到S后面,形成一個144位的SC,然后利用這個SC構(gòu)造一個8階多項式p(u)=c8u8+c7u7+...+c1u+c0。把SC分成互不重疊的9段,每段16位(144/16=9),每個段作為多項式的一個系數(shù)ci(i=0,1,...,8),其中c0是CRC-16值。從用戶指紋細(xì)節(jié)點模板中選出N個細(xì)節(jié)點,對于每個細(xì)節(jié)點,把它的平面坐標(biāo)x和y映射到
中,然后串起來構(gòu)成一個16位數(shù)u,將這個u代入多項式中,計算出對應(yīng)的f(u)。這樣(u1,f(u1)),(u2,f(u2)),...,(uN-1,f(uN-1)),(uN,f(uN))中就包含了密鑰S的信息。然后通過加入M個隨機(jī)點的方式來保護(hù)這N個點,隨機(jī)混合這N+M個點,即產(chǎn)生了一個包含指紋細(xì)節(jié)特征點數(shù)據(jù)、密鑰S和隨機(jī)點信息的集合VL,VL={(v0,w0),{(v1,w1),...,(vM+N-1,wM+N-1)}?;謴?fù)密鑰時,使用真實用戶現(xiàn)場指紋細(xì)節(jié)點集合中的細(xì)節(jié)點去匹配VL中的真實點,找到12個點后,從這些點中任意找出9個點,利用拉格朗日插值公式重構(gòu)出一個8階的多項式(此時有9個系數(shù)),將前8個系數(shù)串聯(lián)起來構(gòu)成128位數(shù)S*,并求其CRC-16值,如果恰好等于最后一個系數(shù),就認(rèn)為S*就是原來的密鑰。在這種方法中,多項式的階數(shù)(即在任證過程中需要匹配的細(xì)節(jié)特征點的個數(shù))是由密鑰長度決定的,這樣做并不合理。因為匹配的指紋細(xì)節(jié)點越多,認(rèn)證結(jié)果越可靠,現(xiàn)有方法中無法體現(xiàn)出這一點。
本發(fā)明提出的基于生物特征和密鑰的綁定保護(hù)方法,改進(jìn)了上述方案的缺陷,不是由待保護(hù)的密鑰長度來決定多項式函數(shù)的階數(shù),實現(xiàn)更加靈活,在保護(hù)生物特征數(shù)據(jù)本身安全的同時,也保護(hù)了密鑰的安全,提高了系統(tǒng)的安全強(qiáng)度。
發(fā)明內(nèi)容
為了提高生物特征本身匹配的準(zhǔn)確性,應(yīng)充分考慮細(xì)節(jié)點的匹配數(shù)量,以保證解鎖密鑰的正確。因此在從被保護(hù)的模板中恢復(fù)密鑰時,只有匹配細(xì)節(jié)點對達(dá)到一定數(shù)量時,才能允許恢復(fù)密鑰,而且在更高安全要求的場合,應(yīng)該使用更多數(shù)量的匹配細(xì)節(jié)點對來恢復(fù)密鑰,而不是只由待保護(hù)的密鑰長度來決定多項式函數(shù)的階數(shù)。本發(fā)明所設(shè)計的綁定和恢復(fù)密鑰的方法使用多項式將待保護(hù)的密鑰和細(xì)節(jié)點綁定時,能夠不受待保護(hù)密鑰長度的限制,只根據(jù)要求匹配的細(xì)節(jié)特征點對的數(shù)目來設(shè)計多項式。待保護(hù)的密鑰不是直接和多項式綁定,而是首先把一組隨機(jī)數(shù)和細(xì)節(jié)特征點綁定在一起,需要匹配細(xì)節(jié)點的數(shù)目決定隨機(jī)數(shù)的數(shù)量,通過細(xì)節(jié)點生成一個密鑰,然后利用這個密鑰來加密待保護(hù)的密鑰。由于多項式函數(shù)的階數(shù)與欲保護(hù)的密鑰無關(guān),因此無論待保護(hù)的密鑰有多長,都可以使用一個統(tǒng)一的多項式公式來進(jìn)行保護(hù)。同時為了增強(qiáng)密鑰的保護(hù)措施,本發(fā)明還提出了與用戶秘密結(jié)合的密鑰綁定方法,將用戶秘密和生物特征相結(jié)合進(jìn)行雙認(rèn)證,提高了系統(tǒng)的安全強(qiáng)度。
圖1為生物認(rèn)證-密鑰釋放模式示意圖;
圖2為生物認(rèn)證-密鑰產(chǎn)生/捆綁模式示意圖;圖3為相隔四周采集的同一枚指頭的指紋圖像;圖4為采集的不同姿態(tài)的同一人的人臉圖像;圖5為指紋的細(xì)節(jié)特征點示意圖,其中圖(a)為指紋的端點,圖(b)為指紋的分岔點;圖6為對齊后的兩枚指紋圖像及其細(xì)節(jié)特征點示意圖;具體實施方式
我們通過指紋細(xì)節(jié)特征點來綁定/恢復(fù)密鑰。指紋的細(xì)節(jié)特征點通常用紋線的端點(ridgeendings)和分叉點(ridge bifurcations)來表示,如圖5所示。一般細(xì)節(jié)特征點用(x,y,θ)來表示,其中x、y分別表示該點的橫、縱坐標(biāo),θ表示該點紋線的切線方向(我們稱其為細(xì)節(jié)點方向)。本發(fā)明中提到的細(xì)節(jié)點僅使用其平面坐標(biāo)(x,y)。雖然利用細(xì)節(jié)點方向可以更好地進(jìn)行解鎖,但會損害安全性。因為指紋圖像中各部分細(xì)節(jié)點的方向基本上是有規(guī)律的,如圖6所示,兩枚指紋圖像對齊后,指紋上部、下部、左邊和右邊細(xì)節(jié)點的方向分布有一定的規(guī)律。如果保留細(xì)節(jié)點的方向,攻擊者就可以結(jié)合坐標(biāo)和細(xì)節(jié)點方向,來判斷一個點的真實程度,從而可能暴露隱藏在隨機(jī)點中的真實點。因此我們不采用細(xì)節(jié)點方向,而只采用細(xì)節(jié)點的平面坐標(biāo)。
本發(fā)明提出的利用指紋細(xì)節(jié)特征綁定和恢復(fù)密鑰的方法包括三部分密鑰綁定、密鑰恢復(fù)和與用戶秘密相結(jié)合的增強(qiáng)的密鑰綁定/恢復(fù)方法。下面詳細(xì)介紹本發(fā)明的具體實施方法。
一、密鑰綁定為了詳細(xì)說明本發(fā)明的實施方法,我們以13個細(xì)節(jié)點為例來介紹密鑰綁定方法。在綁定方法中采用了多項式。為了滿足13個細(xì)節(jié)點才能恢復(fù)密鑰的條件,我們采用了12階的多項式函數(shù)f(u)=a0+a1u+…+a11u11+a12u12mod(p) (1)其中a1~a12都是16位隨機(jī)數(shù),a0是一個16位的校驗數(shù),我們將a1~a12串聯(lián)在一起構(gòu)成一個192位的數(shù)串SC,計算出SC的CRC-16值賦予a0,作為校驗值。在密鑰恢復(fù)階段將使用這個數(shù)值來驗證重構(gòu)的密鑰是否正確。mod(p)表示對多元函數(shù)值求模,p是最接近216-1的一個素數(shù)。
我們用F表示指紋模板中細(xì)節(jié)點平面坐標(biāo)的集合,即F={(x0,y0),(x1,y1),...,(xN-1,yN-1)},N是模板中細(xì)節(jié)點的總數(shù)。為了后面計算方便,我們把每個細(xì)節(jié)點平面坐標(biāo)x和y分別映射到
中,然后將它們串聯(lián)在一起,按照[x|y]構(gòu)成加鎖數(shù)據(jù)單元u,它是一個16位的數(shù)據(jù)。這樣可以得到一個集合U={u0,u1,...,uN-1}。將每個ui代入式(1),計算出相應(yīng)的f(ui)。這樣U和其元素對應(yīng)的多項式函數(shù)的值就構(gòu)成真實集合GG={(u0,f(u0)),(u1,f(u1))...,(uN-1,f(uN-1))}。顯然,如果我們從G中任意取出13個點對,就可以反向求解出a0~a12,這只需要一個多項式系數(shù)重構(gòu)的過程。
另外構(gòu)造一個干擾集合C,來保護(hù)真實集合G的安全。C由M個{(c0,d0),(c1,d1),...,(cM-1,dM-1)}構(gòu)成,其中ci和di(i=0~M-1)都是隨機(jī)數(shù)。ci和mj的距離必須大于一定的閾值,而且di≠f(ci),這樣保證干擾點不會兌真實用戶產(chǎn)生干擾,也可以防止概率極小的假冒用戶的偶然破解。
我們將兩個集合元素充分隨機(jī)混合后,形成一個列表VL={(v0,w0),{(v1,w1),...,(vM+N-1,wM+N-1)},VL中的元素v對應(yīng)真實集合G中的u或者干擾集合中的c,w對應(yīng)f(u)或者d。對一個破解者來說,如果沒有其它線索,只憑列表本身,無法判斷出真實點和干擾點。VL就作為一個新的、受保護(hù)的模板存儲下來。
我們假定用戶在申請某種需要加密的服務(wù)時,由加密系統(tǒng)分配一個密鑰S,S負(fù)責(zé)實際系統(tǒng)提供實際服務(wù)時的加密工作,而這個密鑰S如果受到用戶指紋的保護(hù),不僅可以增加密鑰的安全性,同時用戶也無須記憶冗長的密鑰。加密系統(tǒng)如果按照上面介紹的方法構(gòu)造了VL后,可以用a1,a1,...,a12來構(gòu)造另外一個密鑰Ke,用于加密需要受到保護(hù)的密鑰S,加密可以采用傳統(tǒng)的加密算法,例如AES算法。由于a1a1...a12恰好是192位,這是AES標(biāo)準(zhǔn)的密鑰長度之一,而且它們是隨機(jī)產(chǎn)生的,我們可以簡單的將a1a2...a12作為Ke,當(dāng)然也可對a1,a1,...,a12做某種變換得到Ke。然后用Ke加密S即可ES=E(S,Ke)(2)這里E表示某種加密函數(shù),這樣無論S的長度多少,都可以只使用一種密鑰綁定和恢復(fù)方法。
如果我們要求秘密S重構(gòu)條件更加嚴(yán)格,可以利用更多的細(xì)節(jié)點。這意味著采用更高階數(shù)的多項式,重構(gòu)細(xì)節(jié)點數(shù)NM和多項式的階數(shù)NP的關(guān)系是NP=NM-1(3)二、密鑰恢復(fù)用戶需要使用密鑰S時,必須首先恢復(fù)出S。此時由用戶提供指紋圖像數(shù)據(jù),由系統(tǒng)處理后,提取出欲查詢的細(xì)節(jié)特征點集合Q,Q={(xq0,yq0),(xq1,yq1),...,(xqN*-1,yqN*-1)},N*是Q中細(xì)節(jié)特征點的數(shù)目,通常N≠N*。我們將其中細(xì)節(jié)特征點的平面坐標(biāo)x和y同樣映射到
中。從事先存儲的VL中取出16位的v0,v1,...,vM+N-1,分別將其分拆成2個8位的數(shù),作為平面坐標(biāo),可以得到一個集合RC={(xv0,yv0),(xv1,yv1),...,(xv(M+N-1),yv(M+N-1))}。我們用Q中的元素去匹配RC中的元素,如果Q中某個細(xì)節(jié)點A和RC中某個細(xì)節(jié)點B滿足匹配的條件要求,則認(rèn)為A和B是一對匹配點,可以把B對應(yīng)的(v,w)添加到匹配點集合RG中。
為恢復(fù)出密鑰S,必須首先恢復(fù)出密鑰Ke,這需要重構(gòu)多項式(1)。如果是真實用戶,利用Q就可以產(chǎn)生較小的RG。假定RG有K個點,通常K≤N*<<V+M,這就可以大大縮小重構(gòu)多項式時的搜索范圍。這個過程我們稱之為“解鎖”,這里K至少應(yīng)有13個點(基于前面的假設(shè))。不過即使是真實用戶,RG中也會混入虛假點,因為通?,F(xiàn)場指紋和模板指紋只是部分重疊,而且存在噪聲,故Q中的點和原始模板F中的點只有部分匹配。Q中那些不匹配點仍然可能從干擾集合C中找到配對的點,而這些點對重構(gòu)多項式系數(shù)沒有任何幫助。我們使用RG中所有可能的13點的組合來恢復(fù)S。采用拉格朗日插值公式來重構(gòu)多項式f*(u)=(u-v1)(u-v2)...(u-v11)(v0-v1)(v0-v2)...(v0-v12)w0+(u-v0)(u-v2)...(u-v11)(v1-v0)(v1-v2)...(v1-v12)w2+...]]>...+(u-v1)(u-v1)...(u-v10)(v12-v0)(v12-v1)...(v12-v10)w12mod(p)---(4)]]>對于一個特定的組合{(v0,w0),{(v1,w1),...,(v12,w12)},可以得到多項式f*(u)=a0*+a1*u+...a10*u10+a12*u12mod(p)---(5)]]>如果(v0,w0),...,(v12,w12)是G中的元素,那么就有a0*=a0,a1*=a1,...,a12*=a12.]]>這可以通過CRC檢驗來驗證,我們將a1*,a2*,...,a12*串聯(lián)起來,構(gòu)成192位數(shù)串SC*,計算其CRC-16值,如果該值恰好等于a0*,那么有極高的概率說明這個結(jié)果是對的。由于CRC只是一種錯誤檢測方法,它不會泄露密鑰S本身的任何信息,在沒有真實的現(xiàn)場樣本條件下,攻擊者不可能直接利用CRC校驗來進(jìn)行解鎖。
我們令Ke=a1a1...a12,用Ke去解密ES就可以恢復(fù)出密鑰SS=D(ES,Ke) (6)這里解密函數(shù)D對應(yīng)于前述的加密函數(shù)E。
三、與用戶秘密結(jié)合的增強(qiáng)的密鑰綁定方法引入用戶秘密的原因是為了增強(qiáng)密鑰的保護(hù)措施,類似于用戶生物特征認(rèn)證與口令認(rèn)證相結(jié)合,必須兩者都通過才可重構(gòu)密鑰,任何單個認(rèn)證因素遭到破壞都不會引起密鑰的泄露。假定用戶的秘密是Secret,它可以是用戶的口令、用戶名或者其它東西以及這些東西的某種組合。我們可以通過以下3種方法來實現(xiàn)與用戶秘密結(jié)合的密鑰綁定方法。
方法1使用一個函數(shù)將Secret變換成與待保護(hù)的密鑰S等長的數(shù)串SV,即SV=f(Secret)(7)
密鑰綁定時,假定待保護(hù)的密鑰是S,計算S’=SSV (8)其中表示異或,則ES=E(S’,Ke) (9)密鑰恢復(fù)時,采用S’=D(ES,Ke) (10)則S=S’ S (11)其中Ke的含義和計算與(一)、(二)中相同,E和D分別表示加密和解密函數(shù)。
方法2在密鑰綁定階段,可以構(gòu)造一個更長的AES密鑰Ke,它由兩部分組成,一部分由a1,a1,...,a12構(gòu)造,另一部分可以用一個函數(shù)將Secret變換成一定長度的數(shù)串,兩者串聯(lián)起來就可以構(gòu)成Ke。
方法3加密時使用一個函數(shù)將Secret變換成數(shù)串,其長度是AES支持的標(biāo)準(zhǔn)長度,如128位,192位或256位等,這個函數(shù)一般可以采用Hash函數(shù)。這個數(shù)串可以作為密鑰K,去加密密鑰綁定階段形成的隊列{VL,ES},則EP=E({VL,ES},K) (12)解密時,用戶輸入Secret,系統(tǒng)采用與加密時同樣的函數(shù),形成解密密鑰K,去解密EP,即{VL,,ES}=D(EP,K) (13)這里E和D分別表示加密和解密函數(shù)。
本發(fā)明將傳統(tǒng)密鑰和指紋細(xì)節(jié)特征點結(jié)合在一起,使用了信息隱藏技術(shù),一方面有效保護(hù)了個人的指紋特征信息,同時利用指紋特征的唯一性和不變性保證了密鑰的安全,可以更好地為用戶信息安全提供保障。
本發(fā)明提出的利用指紋細(xì)節(jié)特征點綁定/恢復(fù)密鑰的方法可以用于任何利用生物特征對用戶身份進(jìn)行認(rèn)證的場合來保護(hù)個人生物特征信息和密鑰的安全性。
對于本領(lǐng)域的技術(shù)人員來說,很明顯,本發(fā)明可以做出各種改進(jìn)和擴(kuò)展,因此,只要他們落入所附權(quán)利要求書及其等同范圍內(nèi),本發(fā)明就涵蓋這些改進(jìn)及擴(kuò)展。
權(quán)利要求
1.一種利用指紋細(xì)節(jié)特征點進(jìn)行密鑰綁定的方法,其特征在于,使用多項式綁定一組隨機(jī)數(shù)和指紋細(xì)節(jié)特征點,需要匹配的細(xì)節(jié)特征點的數(shù)目決定隨機(jī)數(shù)的數(shù)量,利用所述隨機(jī)數(shù)中的若干個系數(shù)生成一個密鑰Ke,用所述密鑰Ke去加密待保護(hù)的密鑰S,加密算法采用任意的對稱加密算法,所述待保護(hù)的密鑰S不直接和多項式綁定。
2.按照權(quán)利要求1的方法,所述多項式的系數(shù)是隨機(jī)數(shù),與所述待保護(hù)的密鑰S無關(guān),所述多項式的階數(shù)不受所述待保護(hù)密鑰S長度的限制;無論待保護(hù)的密鑰的長度,都可以使用一個統(tǒng)一的多項式公式來進(jìn)行保護(hù)。
3.按照權(quán)利要求1的方法,所述多項式中的一個系數(shù)作為差錯校驗位。
4.按照權(quán)利要求1的方法,對于要求所述密鑰S重構(gòu)條件更加嚴(yán)格的應(yīng)用,可以利用更多的指紋細(xì)節(jié)特征點,即采用更高階數(shù)的多項式。
5.一種利用指紋細(xì)節(jié)特征點進(jìn)行密鑰恢復(fù)的方法,其特征在于,密鑰S恢復(fù)的過程是將多項式綁定的一組隨機(jī)數(shù)和指紋細(xì)節(jié)特征點進(jìn)行多項式重構(gòu)的過程。
6.按照權(quán)利要求5的方法,恢復(fù)所述密鑰S時,通過指紋細(xì)節(jié)特征點匹配,進(jìn)行多項式重構(gòu)恢復(fù)出所述密鑰Ke,采用對稱解密算法恢復(fù)出所述密鑰S。
7.按照權(quán)利要求5的方法,對于重構(gòu)的多項式系數(shù)進(jìn)行差錯校驗。
8.一種利用指紋細(xì)節(jié)特征點與用戶秘密Secret相結(jié)合的增強(qiáng)的密鑰綁定/恢復(fù)方法,其特征在于,使用一個函數(shù)將Secret與待保護(hù)的密鑰S結(jié)合成數(shù)串SV,使用多項式綁定一組隨機(jī)數(shù)和指紋細(xì)節(jié)特征點,利用所述隨機(jī)數(shù)中的若干個系數(shù)生成一個密鑰Ke,用所述密鑰Ke去加密待數(shù)串SV;恢復(fù)時采用多項式重構(gòu)的方法恢復(fù)出所述密鑰Ke,再依次恢復(fù)所述SV和待保護(hù)的密鑰S,實現(xiàn)了將用戶秘密和生物特征相結(jié)合進(jìn)行雙認(rèn)證,提高了系統(tǒng)的安全強(qiáng)度,
9.按照權(quán)利要求8的方法,所述數(shù)串SV是使用一個函數(shù)將Secret變換成與待保護(hù)的密鑰S等長的數(shù)串,通過異或方法對密鑰S進(jìn)行變換得到的。
10.按照權(quán)利要求8的方法,在密鑰綁定階段,構(gòu)造一個由兩部分組成的AES密鑰Ke,其中一部分由權(quán)利要求8中的多項式系數(shù)構(gòu)造,另一部分用一個函數(shù)將Secret變換成一定長度的數(shù)串,兩者串聯(lián)起來構(gòu)成所述密鑰Ke。
11.按照權(quán)利要求8的方法,加密時使用一個函數(shù)將Secret變換成AES支持的標(biāo)準(zhǔn)長度的數(shù)串,將所述數(shù)串作為密鑰K,去加密密鑰綁定階段形成的數(shù)據(jù),解密時,用戶輸入所述Secret,系統(tǒng)采用與加密時同樣的函數(shù),形成所述解密密鑰K來進(jìn)行解密。
全文摘要
本發(fā)明提出了一種利用指紋細(xì)節(jié)特征點信息綁定/恢復(fù)密鑰的方法。采用多項式綁定一組隨機(jī)數(shù)和指紋細(xì)節(jié)特征點,需要匹配的細(xì)節(jié)特征點的數(shù)目決定隨機(jī)數(shù)的數(shù)量,利用所述隨機(jī)數(shù)中的若干個系數(shù)生成一個密鑰Ke,用該密鑰Ke去加密待保護(hù)的密鑰S,實現(xiàn)了指紋細(xì)節(jié)特征點與密鑰的綁定。由于待保護(hù)的密鑰S不直接和多項式綁定,多項式的設(shè)計能夠不受待保護(hù)密鑰長度的限制。無論待保護(hù)的密鑰有多長,都可以使用一個統(tǒng)一的多項式公式來進(jìn)行保護(hù)。同時為了增強(qiáng)密鑰的保護(hù)措施,提出了與用戶秘密結(jié)合的密鑰綁定方法,將用戶秘密和生物特征相結(jié)合進(jìn)行雙認(rèn)證,提高了系統(tǒng)的安全強(qiáng)度。
文檔編號G06K9/00GK101013943SQ20071006388
公開日2007年8月8日 申請日期2007年2月14日 優(yōu)先權(quán)日2007年2月14日
發(fā)明者蘇菲, 馮全, 蔡安妮 申請人:北京郵電大學(xué)