專利名稱:一種基于指紋頻域的數(shù)字信息或密鑰綁定與發(fā)布方法
技術領域:
本發(fā)明涉及計算機技術和信息安全技術領域,特別涉及一種將指紋 信息與數(shù)字信息或加密密鑰相結合的綁定與發(fā)布的方法。
背景技術:
隨著網絡技術的快速發(fā)展,電子商務、電子政務和網上辦公等互聯(lián) 網應用扮演著越來越重要的角色,改變了傳統(tǒng)的工作模式和流程,大大 提高了工作效率,隨之而來的信息安全也成為人們關注的焦點問題。目 前對數(shù)字信息的最可靠保護還是基于密鑰的加密技術,由于密鑰通常是難以記憶的很長且隨機的字符串,因此它們通常被放在智能卡或USB鑰 匙等存儲介質中,而對這些介質的訪問通常僅僅是基于口令或者密碼 的。因此不難發(fā)現(xiàn)由加密密鑰所保護的數(shù)字信息的安全性與基于口令的 驗證方法的安全性是一個等級的,即存在一個最弱連接?,F(xiàn)代社會對于人類自身的身份識別的準確性、安全性與實用性提出 了更高的要求,傳統(tǒng)的身份識別方法已經遠遠不能滿足這種要求,生物 特征識別技術就是在這種背景下應運而生的身份識別新技術。生物特征 屬于物理特征,具有不可復制性和唯一性的特點。生物特征識別 (BIOMETRICS)技術是指通過計算機利用人體所固有的生理特征或行為 特征來進行個人身份鑒定。常用的生物特征包括指紋、掌紋、虹膜、 臉像、聲音、筆跡、步態(tài)等。因此利用生物特征識別技術,可以在網絡 世界中起到物理世界中"當面驗證"的作用。與基于口令或者密碼的認證技術相比,基于指紋的身份認證技術具 有不可比擬的優(yōu)點 每個人的指紋是相當固定的,很難發(fā)生變化; 指紋樣本便于獲取,易于開發(fā)識別系統(tǒng),實用性強; 一個人的十指指紋皆不相同,這樣可以方便地利用多個指紋構成 多重口令,提高系統(tǒng)的安全性。同時,并不增加系統(tǒng)的設計負擔; 指紋識別中實用的模板并非最初的指紋圖,而是由指紋圖中提取 的關鍵特征,這樣使系統(tǒng)對模板庫的存儲量較小。另外,對輸入的指紋 圖提取關鍵特征后,可以大大減少網絡傳輸?shù)呢摀阌趯崿F(xiàn)異地確認, 支持計算機的網絡功能。傳統(tǒng)的指紋識別技術與密碼技術的結合主要是基于生物特征的密 鑰發(fā)布方法,這里指紋認證的作用即相當于密碼認證,當合法用戶的指 紋與注冊用戶的指紋比對成功時,密鑰就發(fā)布給用戶。這樣的系統(tǒng)具有 以下幾個特點1) 要求對指紋特征模板的完全控制權限。2) 指紋認證與密鑰發(fā)布是完全去耦合的。在這樣的情況下, 一方 面指紋特征是本地存儲的,所以需要考慮指紋特征的防丟失問題。指紋 特征信息丟失的潛在危險是一個非常嚴重的安全問題,因為一旦一個指 紋特征信息丟失,則無法被找回,并且所有用到同樣指紋特征信息的認 證設備將變得不再可靠。另一方面由于指紋認證與密鑰發(fā)布是去耦合 的,系統(tǒng)在認證時只是回答"認證通過"或者"拒絕",因此這樣的系 統(tǒng)非常易于受到特洛伊木馬的攻擊?;谏锾卣髯R別技術的加密系統(tǒng)需要解決以下幾個問題1) 所設計的生物特征模板在模板丟失的情況下,生物特征信息本 身不可能丟失且可以重新發(fā)布一個新的模板;2) 所設計的特征模板在不同的應用系統(tǒng)可以使用相同的模板;3) 能夠利用生物特征信息產生一個加密密鑰,并且使得密鑰的管 理和發(fā)布是方便且安全的。發(fā)明內容在現(xiàn)有的基于指紋認證的加密系統(tǒng),通常是采用可逆變換將待加密 的數(shù)字信息或密鑰與指紋特征鏈接起來,當比對的指紋特征與注冊的指 紋特征比對成功時,則獲得了加密的數(shù)字信息或密鑰,指紋認證相當于 對數(shù)字信息或密鑰進行一層"包裹"作用。在這種情況下由于用戶的指紋特征需要被單獨保存,因此一旦用戶的指紋特征被竊取,則用戶的隱 私遭到泄露,而且這個指紋特征還有可能被用于使用這個指紋特征注冊 過的其他加密系統(tǒng)中,給其他加密系統(tǒng)帶來安全隱患。本發(fā)明的目的是既能使用指紋身份認證來保證對加密的數(shù)字信息或 密鑰的合法訪問,又能完全保護用戶的指紋特征,使其不被泄露。為了實現(xiàn)上述目的,本發(fā)明提供一種基于指紋頻域的數(shù)字信息或密 鑰綁定與發(fā)布方法,包括步驟如下51. 將待加密的數(shù)字信息或密鑰使用糾錯編碼得到糾錯編碼數(shù)據(jù);52. 輸入注冊指紋圖像并進行傅立葉變換和極坐標變化及相位處 理,用于提取注冊指紋圖像頻域信息,并對注冊指紋圖像按照頻域信息 的相位進行二元編碼,獲取二元編碼注冊指紋圖像信息;53. 將糾錯編碼數(shù)據(jù)與二元編碼注冊指紋圖像信息進行異或綁定得 到綁定數(shù)據(jù);54. 將待加密的數(shù)字信息或密鑰生成待加密的數(shù)字信息或密鑰哈希值;55. 將待加密的數(shù)字信息或密鑰的哈希值與綁定數(shù)據(jù)相連接得到存 儲數(shù)據(jù),保存存儲數(shù)據(jù);56. 輸入比對指紋圖像并進行傅立葉變換和極坐標變化及相位處 理,用于提取比對指紋圖像頻域信息,并對比對指紋圖像按照頻域信息 的相位進行二元編碼,獲取二元編碼比對指紋圖像信息;57. 對二元編碼比對指紋圖像信息和綁定數(shù)據(jù)進行異或操作得到解 綁定數(shù)據(jù);58. 對解綁定數(shù)據(jù)使用糾錯解碼技術得到臨時信息;59. 將臨時信息生成臨時信息哈希值;S10.比較臨時信息哈希值與步驟S5保存的存儲數(shù)據(jù)中的哈希值是 否完全相同,如果相同則解密成功,反之則解密失敗。根據(jù)本發(fā)明的實施例,提取指紋頻域信息還包括步驟采用參考點定位方法提取注冊指紋圖像或比對指紋圖像的中心區(qū) 域,去除不同指紋圖像的旋轉和平移,提取指紋中心圖像;對提取的指紋中心圖像進行灰度歸一化和一次小波分解得到指紋中心圖像l/4大小的圖像,稱此l/4圖像為基準圖像;對基準圖像進行傅立葉變換與極坐標變換得到基準圖像的頻域圖像;根據(jù)頻域圖像各個象素點的相位對頻域圖像進行二元編碼。根據(jù)本發(fā)明的實施例,糾錯編碼是Reed-Solomon編碼或Hadamard編碼或二元BCH編碼。根據(jù)本發(fā)明的實施例,待加密的數(shù)字信息是用戶指定的需要保密的 數(shù)據(jù),或是對稱加密算法或非對稱加密算法使用的密鑰。根據(jù)本發(fā)明的實施例,指紋圖像是光學采集儀或電容采集儀或熱敏 采集儀或計算機采集的指紋圖像。根據(jù)本發(fā)明的實施例,保存綁定數(shù)據(jù)是智能卡或USB Key或安全存 儲介質。本發(fā)明設計了一種基于指紋頻域的數(shù)字信息或密鑰綁定與發(fā)布的方 法,這種方法采用指紋頻域信息作為指紋特征,結合糾錯編碼方法對數(shù) 字信息或者密鑰綁定,既能實現(xiàn)基于指紋身份認證的數(shù)字信息或密鑰的 綁定與發(fā)布,又能對指紋信息達到絕對安全的保護。為了彌補指紋特征的模糊性與密碼技術所要求的準確性之間的差 異,采用了糾錯編碼技術,將待加密的數(shù)字信息或密鑰進行糾錯編碼后 與指紋編碼進行異或綁定,這樣加密信息與頻域指紋特征就結合成一個 整體,解密時的指紋特征如果與加密時的指紋特征足夠接近,則可以正 確恢復綁定的數(shù)字信息或密鑰。這種方法可以同時保護數(shù)字信息或密鑰以及指紋信息的隱私性,同 時利用指紋信息實現(xiàn)身份認證,保證對數(shù)字信息或密鑰的合法訪問,提 高原有基于口令的訪問方法的安全性。
圖1是本發(fā)明基于指紋頻域的密鑰綁定與發(fā)布方法加解密流程圖 圖2是本發(fā)明中提取指紋頻域信息并編碼方法流程圖 圖3 (a) (b) (c) (d) (e)是本發(fā)明中提取指紋頻域信息并編碼方 法各步驟指紋圖像具體實施方式
下面將結合附圖對本發(fā)明加以詳細說明,應指出的是,所描述的實 施例僅旨在便于對本發(fā)明的理解,而對其不起任何限定作用。如本發(fā)明的圖1,基于指紋頻域的密鑰綁定與發(fā)布方法流程圖所示整個過程的加密與解密方法的基本步驟如下加密步驟1) 對待加密的數(shù)字信息或密鑰(以《表示)使用糾錯編碼得到糾錯編碼數(shù)據(jù)/r£e;待加密的數(shù)字信息是用戶指定的需要保密的數(shù)據(jù),或是對稱加密算 法或非對稱加密算法使用的密鑰。2) 提取注冊指紋圖像的頻域信息并按相位編碼得到二元編碼注冊指紋圖像信息;3) 將糾錯編碼數(shù)據(jù)尺w:.與二元編碼注冊指紋圖像信息^<取異或得到綁定數(shù)據(jù)&。";糾錯編碼是Reed-Solomon編碼或Hadamard編碼或二元BCH編碼。4) 將待加密的數(shù)字信息或密鑰產生待加密的數(shù)字信息或密鑰的哈希值h(《)并丟棄待加密的數(shù)字信息或密鑰《;5) 將待加密的數(shù)字信息或密鑰的哈希值^^)與綁定數(shù)據(jù)《。"相連接得到存儲數(shù)據(jù){^Ca:)'^"}并將存儲數(shù)據(jù)保存在智能卡或USB Key或安全存儲介質中。指紋圖像是光學采集儀或電容采集儀或熱敏采集儀或計算機采集的 指紋圖像。解密步驟21)輸入比對指紋圖像并進行傅立葉變換和極坐標變化及相位處 理,提取比對指紋圖像的頻域信息,并按相位編碼得到二元編碼比對指22) 將二元編碼比對指紋圖像信息",一 與存儲數(shù)據(jù){H(《),e^}中的綁定數(shù)據(jù)^。"進行異或操作得到解綁定數(shù)據(jù)尺n: o23) 對解綁定數(shù)據(jù)《^糾錯解碼得到臨時信息X。24) 將臨時信息尺'生成臨時信息哈希值H(《');25) 比較臨時信息哈希值"(《')與存儲數(shù)據(jù)(""),^")中的待加密的數(shù)字信息或密鑰的哈希值H(《),如果兩者完全相同,則臨 時信息《'就是正確的待加密數(shù)字信息或密鑰《,解密成功,發(fā)布臨時信息K';如果兩者不相同,則臨時信息是沒有任何意義的數(shù)據(jù),解 密失敗。所述的加密步驟的第1)步驟將待加密的數(shù)字信息或密鑰K進行糾錯 編碼,待加密的數(shù)字信息或密鑰K的長度由用戶選擇的密碼算法以及期 望達到的安全級別確定。例如AES算法的密鑰長度不少于128位,RSA算 法的密鑰長度不小于1024位。待加密的數(shù)字信息或密鑰K也可以是用戶指定的數(shù)字信息。糾錯編碼的參數(shù)包括糾錯碼信息長度&,糾錯上限^ 以及糾錯碼長度^。糾錯碼信息長度統(tǒng)一取128位,當數(shù)字信息長度不足128位,貝ij加"0"補齊,反之超過128位時則分段處理,每一段128位。糾錯上限^由指紋圖像頻域信息的鑒別性所決定。實驗結果表明,我們 所采用的指紋圖像頻域信息對于相同的指紋的二元編碼的差異是10% 20%,對于不同的指紋圖像的二元編碼的差異是50%左右,因此糾錯上限我們取25%,即^=128時,^=32。糾錯上限^和信息位長度A確定 以后,糾錯碼的長度n也隨之確定。所述的加密步驟的第2)步驟提取注冊指紋圖像的頻域信息并按照相 位編碼。如圖2所示提取指紋圖像頻域信息包括如下步驟a) 利用指紋參考點定位方法定位輸入注冊指紋圖像或比對指紋 圖像的參考點的位置和方向,去除不同注冊指紋圖像或比對指紋圖像的旋轉和平移,根據(jù)位置和方向提取中心指紋圖像,如圖3(a)所示。b) 對提取出的中心指紋圖像進行灰度歸一化處理。設指紋圖像是"其寬度是『,高度是//。則整個指紋圖像的平均值是<formula>formula see original document page 10</formula>歸一化后的指紋圖像G為<formula>formula see original document page 10</formula>其中M。是指定的灰度均值,^A是指定的灰度方差,如圖3(b)所不;c) 對歸一化以后的圖像進行小波分解,小波分解的目的是降噪和 降低后期處理的運算量,選擇"Spline Bior 5.5"小波基做一級小波分解并 保留分解后指紋圖像的低頻圖像部分,此時保存的指紋圖像為原始圖像 的l/4大小,稱此l/4圖像為基準圖像如圖3(c)所示。d) 對基準圖像進行傅立葉變換,得到基準圖像的頻域圖像,再將 頻域圖像的幅值圖像進行極坐標變換,最后對極坐標變換后的圖像再進行傅立葉變換,如圖3(d)所示。e) 對傅立葉變換后的頻域圖像的每一位根據(jù)其相位進行二元編碼得到二元編碼注冊指紋圖像信息《〃 ,編碼規(guī)則如下編碼幅角相位(o,o)[0,/2)(o,i)[;r / 2 ;r)(1,1)[;t,3;t/2)(i,o)[37r/2,2;r )編碼后的圖像如圖3(e)所示。所述加密步驟的第2)步驟可以根據(jù)實際使用的需要注冊多幅指紋圖 像從而降低拒識率。因為傅立葉變換具有線性性質,艮口L '=1J '.=i因此可以將同一個手指的多個傅立葉變換后的指紋圖像線性疊加得 到一個指紋圖像,然后再對其進行二元編碼得到二元編碼注冊指紋圖像信息&的模板。所述加密步驟的第3)步驟將二元編碼注冊指紋圖像信息《"的模板 與待加密的數(shù)字信息或密鑰糾錯編碼后得到的糾錯編碼數(shù)據(jù)^.綁定。首先對數(shù)字信息或密鑰進行糾錯編碼得到糾錯編碼數(shù)據(jù)^,,.,再將將二元編碼注冊指紋圖像信息《^的模板與糾錯編碼數(shù)據(jù)^c補成相同的位 數(shù),再進行按位異或操作得到綁定數(shù)據(jù)《。",艮P:《'e/ 〖£C = Ad 所述加密步驟的第4)步驟計算待加密的數(shù)字信息或密鑰《的哈希值^(《)。哈希函數(shù)可以選擇SHA-1或同系列哈希函數(shù)中更安全的算 法,如SHA-256。 SHA-l自從1994年取代SHA-0成為聯(lián)邦信息處理標準, 己經受了多年的分析與實踐考驗,至今仍未發(fā)現(xiàn)其抗碰撞性以及單向性方面的漏洞。得到哈希值H(K)后永久丟棄待加密的數(shù)字信息或密鑰 K 。所述加密步驟的第5)步驟將綁定^^數(shù)據(jù)以及待加密的數(shù) 字信息或密鑰K的哈希值H(《)相連接得到存儲數(shù)據(jù){^(K)^^} 并保存在智能卡或者USB Key等存儲介質中。所述解密步驟的第21)步驟與所述加密步驟的第2)步驟相同,提取輸入指紋的頻域信息并編碼得到二元編碼比對指紋圖像信息^。—s 。所述解密步驟的第22)步驟將二元編碼比對指紋圖像信息6^—e與 綁定數(shù)據(jù)《。"進行異或操作得到解綁定數(shù)據(jù)《£。艮口^a:'= — ^ = I—e十U《£C由上式可見,當二元編碼比對指紋圖像信息《。,/e與二元編碼注冊指紋圖像信息《V相似程序越高,則臨時信息《'與糾錯編碼數(shù)據(jù) 《£C的相似程序也越高,因此可以通過糾錯解碼技術恢復得到待加密的數(shù)字信息或密鑰《。所述解密步驟的第23)步驟對解綁定數(shù)據(jù)《£C使用糾錯解碼技術得到臨時信息《'。所述解密步驟的第24)步驟與所述加密步驟的第4)步驟相同,計算臨時信息《'的臨時信息哈希值^(《')。所述解密步驟的第25)步驟比較臨時信息哈希值H(《')與存儲數(shù) 據(jù)中^^《),^"}中保存的待加密的數(shù)字信息或密鑰的哈希值是否相同,只有當臨時信息哈希值與待加密的數(shù)字 信息或密鑰H(《)完全相同時,才認為恢復得到的數(shù)字信息或密鑰的 臨時信息^'是正確有效的數(shù)字信息或密鑰,即待加密的數(shù)字信息或密 鑰《,發(fā)布密鑰臨時信息尺'。反之則解密失敗。以上所述,僅為本發(fā)明中的具體實施方式
,但本發(fā)明的保護范圍并 不局限于此,任何熟悉該技術的人在本發(fā)明所揭露的技術范圍內,可理 解想到的變換或替換,都應涵蓋在本發(fā)明的包含范圍之內,因此,本發(fā) 明的保護范圍應該以權利要求書的保護范圍為準。
權利要求
1. 一種基于指紋頻域的數(shù)字信息或密鑰綁定與發(fā)布方法,其特征在于,包括步驟S1.將待加密的數(shù)字信息或密鑰使用糾錯編碼得到糾錯編碼數(shù)據(jù);S2.輸入注冊指紋圖像并進行傅立葉變換和極坐標變化及相位處理,用于提取注冊指紋圖像頻域信息,并對注冊指紋圖像按照頻域信息的相位進行二元編碼,獲取二元編碼注冊指紋圖像信息;S3.將糾錯編碼數(shù)據(jù)與二元編碼注冊指紋圖像信息進行異或綁定得到綁定數(shù)據(jù);S4.將待加密的數(shù)字信息或密鑰生成待加密的數(shù)字信息或密鑰哈希值;S5.將待加密的數(shù)字信息或密鑰的哈希值與綁定數(shù)據(jù)相連接得到存儲數(shù)據(jù),保存存儲數(shù)據(jù);S6.輸入比對指紋圖像并進行傅立葉變換和極坐標變化及相位處理,用于提取比對指紋圖像頻域信息,并對比對指紋圖像按照頻域信息的相位進行二元編碼,獲取二元編碼比對指紋圖像信息;S7.對二元編碼比對指紋圖像信息和綁定數(shù)據(jù)進行異或操作得到解綁定數(shù)據(jù);S8.對解綁定數(shù)據(jù)使用糾錯解碼技術得到臨時信息;S9.將臨時信息生成臨時信息哈希值;S10.比較臨時信息哈希值與步驟S5保存的存儲數(shù)據(jù)中的哈希值是否完全相同,如果相同則解密成功,反之則解密失敗。
2、 根據(jù)權利要求1所述的方法,其特征在于,提取指紋頻域信息還 包括步驟采用參考點定位方法提取注冊指紋圖像或比對指紋圖像的中心區(qū) 域,去除不同注冊指紋圖像或比對指紋圖像的旋轉和平移,提取指紋中 心圖像;對提取的指紋中心圖像進行灰度歸一化和一次小波分解得到指紋中心圖像l/4大小的圖像,稱此l/4圖像為基準圖像;對基準圖像進行傅立葉變換與極坐標變換得到基準圖像的頻域圖 像;根據(jù)頻域圖像各個象素點的相位對頻域圖像進行二元編碼。
3、 根據(jù)權利要求1所述的方法,其特征在于,糾錯編碼是 Reed-Solomon編碼或Hadamard編碼或二元BCH編碼。
4、 根據(jù)權利要求1所述的方法,其特征在于,待加密的數(shù)字信息是 用戶指定的需要保密的數(shù)據(jù),或是對稱加密算法或非對稱加密算法使用 的密鑰。
5、 根據(jù)權利要求1所述的方法,其特征在于,指紋圖像是光學釆集 儀或電容采集儀或熱敏采集儀或計算機采集的指紋圖像。
6、 根據(jù)權利要求1所述的方法,其特征在于,存儲數(shù)據(jù)是采用智能 卡或USB Key或安全存儲介質。
全文摘要
本發(fā)明涉及一種基于指紋頻域的數(shù)字信息綁定和發(fā)布方法,這種方法可以將指紋信息與數(shù)字信息或密鑰安全綁定,達到對指紋信息和數(shù)字信息雙重保護的目的,同時利用指紋身份認證保證對數(shù)字信息或密鑰的合法訪問。本發(fā)明的實現(xiàn)方法1)加密對數(shù)字信息或密鑰使用糾錯編碼,提取注冊指紋的頻域信息并進行二元編碼,將二元編碼后的指紋信息與糾錯編碼后的數(shù)字信息或密鑰進行異或綁定,保存數(shù)字信息或密鑰的哈希值和綁定后的數(shù)據(jù)。2)解密提取比對指紋的頻域信息并進行二元編碼,將二元編碼后的指紋數(shù)據(jù)與綁定數(shù)據(jù)進行異或操作并糾錯解碼得到數(shù)字信息或密鑰,如果此數(shù)字信息或密鑰的哈希值與先前保存的哈希值完全相同,則解密成功,反之則解密失敗。
文檔編號H04L9/00GK101227269SQ20071006282
公開日2008年7月23日 申請日期2007年1月18日 優(yōu)先權日2007年1月18日
發(fā)明者哲 吳, 亮 李, 鑫 楊, 捷 田 申請人:中國科學院自動化研究所