專利名稱:在計算機可讀介質(zhì)中存儲數(shù)據(jù)的計算機實施的方法
技術(shù)領(lǐng)域:
本發(fā)明總體上涉及密碼學(xué)領(lǐng)域,更具體地,涉及存儲用于用戶認證和數(shù)據(jù)加密的生物測定(biometric)參數(shù)。
技術(shù)背景傳統(tǒng)的基于密碼的安全系統(tǒng)傳統(tǒng)的基于密碼的安全系統(tǒng)通常包括兩個階段。具體地,在登記階 段,用戶選擇存儲在諸如服務(wù)器的認證裝置上的密碼。在認證階段為獲 得對資源或數(shù)據(jù)的訪問,用戶輸入他們的密碼,針對密碼的存儲版本檢 驗所輸入的密碼。如果密碼被存儲為明文(plaintxt),則獲得該系統(tǒng)的訪 問的攻擊者能夠獲取每個密碼。因此,即便是個別的成功攻擊都會危及 整個系統(tǒng)的安全。如圖1所示,傳統(tǒng)的基于密碼的安全系統(tǒng)100在登記階段10將加密 的110密碼101存儲115在密碼數(shù)據(jù)庫120中。如這里所定義的,該數(shù) 據(jù)庫可以存儲在任何存儲器或者其他計算機可讀介質(zhì)、磁帶、閃存、RAM、 ROM、磁盤等中。具體地,如果X是要存儲115的密碼101 ,系統(tǒng)100實際上存儲f(X), 其中f(.)是某個加密或哈希(hash)函數(shù)IIO。在認證階段20,用戶輸入 候選密碼Y102,系統(tǒng)確定130f(Y),并且僅當f(Y)與存儲的密碼f(X)匹 配時才允許訪問150該系統(tǒng),否則拒絕160訪問。作為優(yōu)點,沒有加密函數(shù),加密的密碼(通常非常難以逆轉(zhuǎn))對于 攻擊者來說是無用的。傳統(tǒng)的基于生物測定的安全系統(tǒng)傳統(tǒng)的生物測定安全系統(tǒng)具有與存儲未加密的密碼的基于密碼的系 統(tǒng)相同的弱點。具體地,如果數(shù)據(jù)庫存儲了未加密的生物測定參數(shù),則這些參數(shù)容易遭到攻擊和濫用。例如,在利用面部識別系統(tǒng)或者語音識別的安全系統(tǒng)中,攻擊者能 夠搜索類似于攻擊者的生物測定參數(shù)。在找到合適的生物測定參數(shù)后, 攻擊者可以修改這些參數(shù)以匹配該攻擊者的外貌或者聲音,從而獲得未授權(quán)的訪問。類似地,在利用指紋或虹膜(iris)識別的安全系統(tǒng)中,攻擊者可以構(gòu)造可以模仿匹配的指紋或虹膜以獲得未授權(quán)的訪問的裝置, 例如該裝置可以是假指或者假眼。由于生物測定參數(shù)的固有的隨時間的可變性,所以并不總是能夠?qū)@些參數(shù)進行加密。具體地,在登記階段輸入生物測定參數(shù)X。利用加 密或哈希函數(shù)f(X)對這些參數(shù)X進行加密并存儲。在認證階段,從同一 用戶獲取的生物測定參數(shù)可能不同。例如,在利用面部識別的安全系統(tǒng) 中,與認證期間相比,在登記期間用戶的面部相對于相機可以有不同的 方向。膚色、發(fā)型和面部特征都會改變。因此,在認證期間,加密的生 物測定參數(shù)將不與任何存儲的參數(shù)匹配,從而導(dǎo)致拒絕訪問。 糾錯碼字母表Q上的(N, K)糾錯碼(ECC)C包括長度為N的QK個向量。可 用N行K列的生成矩陣G或用N-K行N列的奇偶校驗矩陣H來描述線 性(N, K) ECC。名稱"生成矩陣"是基于以下的事實根據(jù)wiG,能夠 從任何長度K的輸入行向量v通過將向量v右乘矩陣G來生成被表示為 向量w的碼字。類似地,為了檢驗向量w是否為碼字,可以檢驗Hw^0 是否成立,其中,列向量wT是行向量w的轉(zhuǎn)置。在糾錯碼的標準應(yīng)用中,將輸入向量v編碼成向量w,并且對其進 行存儲或者進行發(fā)送。如果接收到向量w的受損版本,則解碼器利用該 碼中的冗余信息(redundancy)進行糾錯。直觀來說,該碼的糾錯能力取 決于該碼中的冗余信息的量。Slepian-Wolf碼、Wyner-Ziv碼及檢驗子碼(Syndrome Code)在某種意義上,Slepian-Wolf(SW)碼與糾錯碼相反。糾錯碼添加冗余 信息并擴展數(shù)據(jù),而SW碼除去冗余信息并壓縮數(shù)據(jù)。具體地,向量x 和y表示相關(guān)數(shù)據(jù)的向量。如果編碼器想要將向量x傳送給已經(jīng)具有向量y的解碼器,則考慮到解碼器己經(jīng)具有向量y這一事實,編碼器可以 對數(shù)據(jù)進行壓縮。舉個極端的例子,如果向量x和y僅有一個位不同,則編碼器可以通過簡單描述向量x以及該不同的位置,來實現(xiàn)壓縮。當然,對于更加實際的相關(guān)模型需要更復(fù)雜的碼。Slepian禾口 Wolf在"Noiseless coding of correlated information sources," IEEE Transactions on Information Theory, vol. 19, pp. 471-480, July 1973, 以及Wyner禾卩Ziv在"The rate-distortion fimction for source coding with side information at the decoder,"IEEE Transactions on Information Theory, vol. 22, pp. 1-10, January 1976中描述了 SW編碼及相關(guān)的Wyner-Ziv(WZ) 編碼的基本理論。更加近期地,Pradhan和Ramachandran在"Distributed Source Coding Using Syndromes (DISCUS): Design and Construction,,,IEEE Transactions on Information Theory, vol.49, pp. 626-643, March 2003中描述 了這種碼的具體實現(xiàn)。本質(zhì)上,檢驗子碼利用N-K行N列的奇偶校驗矩陣H進行工作。 為了將長度為N的二進制向量x壓縮成長度為K的檢驗子向量,求出 S=Hx。解碼通常取決于所使用的特定檢驗子碼的詳細內(nèi)容。例如,如果 檢驗子碼基于網(wǎng)格結(jié)構(gòu)(trellis based),則可以使用諸如熟知的Viterbi算 法的各種基于動態(tài)編程的搜索算法,來找出與檢驗子碼S和輔助信息 (side information)序列相對應(yīng)的最可能的源序列x,如Pradhan等所述。另選地,如果使用低密度奇偶校驗檢驗子碼,則可以應(yīng)用置信傳播 角軍碼(belief propagation decoding), 如Coleman等在"On some new approaches to practical Slepian-Wolf compression inspired by channel coding", Proceedings of the Data Compression Conference, March 2004, pp. 282-291中所述?,F(xiàn)有技術(shù)與本發(fā)明相關(guān)的現(xiàn)有技術(shù)歸為三類。首先,大量現(xiàn)有技術(shù)描述了生 物測定參數(shù)的與這些生物測定參數(shù)的安全存儲不相關(guān)的詳細特征提取、 記錄和使用。因為我們的發(fā)明與安全存儲有關(guān),并且很大程度上與如何獲取生物測定參數(shù)的細節(jié)無關(guān),所以忽略這類現(xiàn)有技術(shù)的細節(jié)。與本發(fā)明相關(guān)的第二類現(xiàn)有技術(shù)包括被設(shè)計用于生物測定參數(shù)的安全存儲和認證的以下系統(tǒng)美國專利6,038,315, "Method and system for normalizing biometric variations to authenticate users from a public database and that ensures individual biometric data privacy"; Davida等的"On enabling secure applications through off-line biometric identification,"Proceedings of the IEEE Symposium on Security and Privacy, May 1998; Juels等的"A Fuzzy Vault Scheme,"Proceedings of the 2002 IEEE International Symposium on Information Theory, June 2002; 以及美國專禾U 6,363,485, "Multi-factor biometric authenticating device and method"。圖2示出了美國專利6,038,315中描述的基本方法的某些細節(jié)。在登 記階段210,以被表示為E201的比特序列的形式獲取生物測定參數(shù)。接 下來,從二進制糾錯碼中選出隨機碼字W 202,并利用異或(XOR)函數(shù) 220將其與參數(shù)E進行相加組合以產(chǎn)生基準R221??蛇x地,還可對基準 R進行編碼230。在任何情況下,基準R都存儲在密碼數(shù)據(jù)庫240中。在認證階段215,提供生物測定參數(shù)E,205以用于認證。該方法通過 實質(zhì)上從R減去E'以獲得Z=R-E,=W+E-E, 251,利用E'求出250 R的 XOR。然后,利用糾錯碼對該結(jié)果進行解碼260,以得到W'261。在步 驟270中,如果W'與W匹配,則允許271訪問,否則拒絕272訪問。該方法實質(zhì)上是測量漢明(Hamming)距離,S卩,在登記的生物測定參 數(shù)E 201和認證生物測定參數(shù)E' 205之間不同的位的數(shù)量。如果這種差 異小于某一預(yù)定閾值,則允許訪問。因為該方法僅存儲基準R,而不存 儲實際的生物測定參數(shù)E,因此該方法是安全的。Davida等和Juds等描述了圖2中所示的方法的變型。具體地,兩種 變型都在登記階段中利用糾錯碼對生物測定數(shù)據(jù)進行編碼,然后進行操 作,以保護所得到的碼字。Davida等通過僅發(fā)送校驗位來隱藏該碼字, 而Juels等添加被稱為"殼(chaff)"的一定量的噪聲。美國專利6,363,485描述了將生物測定數(shù)據(jù)與糾錯碼和某些秘密信 息(諸如密碼或者個人識別號(PIN))進行組合以生成密鑰的方法。將諸如Goppa碼或BCH碼的糾錯碼被應(yīng)用于各種XOR運算。除了圖2所示的固定數(shù)據(jù)庫訪問控制系統(tǒng)外,第三類現(xiàn)有技術(shù)包括 利用生物測定以保護數(shù)據(jù),特別是用于包括了存儲器的移動設(shè)備(諸如 筆記本電腦、PDA、蜂窩電話及數(shù)字照相機)的數(shù)據(jù)保護。因為移動設(shè) 備容易丟失或者被盜,因此需要保護存儲在移動設(shè)備中的數(shù)據(jù)。圖4例示了用于存儲數(shù)據(jù)D401的現(xiàn)有方法的問題。在編碼過程410 中,從用戶獲得生物測定參數(shù)P 402,并將其用作加密440數(shù)據(jù)D的密鑰, 以產(chǎn)生密文C 441。 P和C都保存在存儲器450中。當用戶希望對數(shù)據(jù) 401進行解密420時,從用戶獲取生物測定參數(shù)P'460,并將其與所存儲 的生物測定參數(shù)P402相比較465。如果P,與P匹配470,則系統(tǒng)允許訪 問并利用P對所存儲的密文C441進行解密480,以產(chǎn)生數(shù)據(jù)D401,否 則不對數(shù)據(jù)進行解密471。僅在沒有危及到存儲介質(zhì)的安全的情況下,這種現(xiàn)有技術(shù)的系統(tǒng)才 是有效的。如果攻擊者可以訪問該介質(zhì),則攻擊者可以獲取P并對數(shù)據(jù) 進行解碼?,F(xiàn)有技術(shù)的問題第一,基于位的現(xiàn)有技術(shù)方法提供了不確定的安全性。此外,生物 測定參數(shù)常常是實數(shù)值或者整數(shù)值,而不是二進制值?,F(xiàn)有技術(shù)一般都 假設(shè)生物測定參數(shù)由均勻分布的隨機位組成,并且假設(shè)難以根據(jù)所存儲 的生物測定數(shù)據(jù)正確地求出這些位。實際上,生物測定參數(shù)常常有偏離, 這會對安全性產(chǎn)生負面影響。而且,即使攻擊者僅恢復(fù)所存儲的生物測 定參數(shù)的近似版本,攻擊也可能造成嚴重損害?,F(xiàn)有技術(shù)方法沒有被設(shè) 計為防止攻擊者根據(jù)編碼版本估計出實際生物測定參數(shù)。例如,美國專利6,038,315依賴于以下事實基準值R:W+E通過添 加隨機碼字W來有效地對生物測定參數(shù)E進行加密。然而,該方法只能 獲得較差的安全性。有很多方法可以從R恢復(fù)E。例如,如果向量E僅 有幾個位等于l,則R和W之間的漢明距離較小。因此,糾錯解碼器能 夠容易地從R恢復(fù)W,并由此也恢復(fù)E。另選地,如果碼字的分布較差, 例如,如果碼的加權(quán)譜(weight spectrum)小,并且很多碼字都群集在全零向量周圍,則攻擊者可以根據(jù)R獲得E的良好近似。第二,除了不確定的安全性外,現(xiàn)有技術(shù)的方法還有增加了所存儲 的數(shù)據(jù)量的實際弊端。因為生物測定數(shù)據(jù)庫常常存儲許多單個用戶的數(shù) 據(jù),該額外的存儲會極大增加系統(tǒng)的成本和復(fù)雜性。第三,很多現(xiàn)有技術(shù)的方法要求具有高計算復(fù)雜性的糾錯碼或算法。例如,現(xiàn)有技術(shù)的Reed-Solomon和Reed-Muller解碼算法通常具有在所 編碼的生物測定參數(shù)的長度上至少是四次并通常是更高次的計算復(fù)雜 性。第四,對于現(xiàn)有技術(shù)中己知的移動安全系統(tǒng),存在基本結(jié)構(gòu)上的基 本問題。諸如圖4所示的移動安全系統(tǒng)僅在沒有危及該移動安全系統(tǒng)本 身的安全時才是有效的。返回到筆記本電腦上的移動安全系統(tǒng)的示例, 其安全性僅在攻擊者不能在物理上訪問存儲有P和C的介質(zhì)時才是有效 的。如果攻擊者可以訪問該介質(zhì),例如通過從筆記本電腦上移除硬盤, 則攻擊者立即獲取了作為用于產(chǎn)生C并由此對C進行解密的加密密鑰的 P?,F(xiàn)有的移動安全系統(tǒng)的主要困難在于與用戶的生物測定參數(shù)相對 應(yīng)的加密密鑰是存儲在設(shè)備中的。因此,如果該設(shè)備被盜,則可以利用 所存儲的參數(shù)對數(shù)據(jù)進行解碼。因此,需要一種存儲生物測定參數(shù)及對應(yīng)的加密信息的方法,使得 即使攻擊者可以訪問加密的信息和生物測定參數(shù)的存儲版本,也不可能 對數(shù)據(jù)進行解碼。發(fā)明內(nèi)容例如從人臉、聲音、指紋和虹膜獲得的生物測定參數(shù)常常可以用于 用戶認證和數(shù)據(jù)訪問控制。因為這些生物測定參數(shù)是連續(xù)的而且對于同 一用戶一次讀取與下次讀取可能不同,所以不能象對密碼一樣在數(shù)據(jù)庫 中以哈希(hashed)或加密形式存儲生物測定參數(shù)。例如,面部的外觀或 者聲音的音調(diào)會隨時間有輕微變化。如果在數(shù)據(jù)庫中存儲生物測定參數(shù), 則它們易于受到"泄漏一次、到處運行(break once, run everywhere)"攻擊。本發(fā)明的一個實施方式利用檢驗子碼來保護生物測定數(shù)據(jù),例如,基于Wyner-Ziv或Slepian-Wolf編碼的檢驗子碼。這些檢驗子碼可以安全 地存儲在數(shù)據(jù)庫中,而仍然可以容許原始生物測定數(shù)據(jù)的固有可變性。具體地,根據(jù)本發(fā)明的生物測定檢驗子具有以下屬性第一,這些 檢驗子碼有效地隱藏或者加密了與原始生物測定特性相關(guān)的信息,使得 在危及檢驗子數(shù)據(jù)庫的安全的情況下,所存儲的檢驗子碼對繞過 (circumvent)系統(tǒng)的安全性毫無用處。第二,可以對每個存儲的檢驗子 碼進行解碼,以產(chǎn)生原始生物測定參數(shù),并對用戶行認證或者對利用生 物測定數(shù)據(jù)進行了加密的數(shù)據(jù)進行解密。所述檢驗子碼可用于用戶認證和數(shù)據(jù)加密。
圖1是現(xiàn)有技術(shù)的基于密碼的安全系統(tǒng)的框圖; 圖2是現(xiàn)有技術(shù)的基于生物測定參數(shù)的安全系統(tǒng)的框圖; 圖3是根據(jù)本發(fā)明的一個實施方式的生物測定安全系統(tǒng)框圖; 圖4是現(xiàn)有技術(shù)用于保護數(shù)據(jù)的安全系統(tǒng)的框圖; 圖5是根據(jù)本發(fā)明的一個實施方式的數(shù)據(jù)安全系統(tǒng)的框圖; 圖6是根據(jù)本發(fā)明的一個實施方式的生物測定安全系統(tǒng)的框圖; 圖7是根據(jù)本發(fā)明的一個實施方式的構(gòu)造檢驗子碼的過程的框圖; 圖8是根據(jù)本發(fā)明的一個實施方式的生成直方圖的過程的框圖; 圖9是根據(jù)本發(fā)明的一個實施方式的選擇特征向量的過程的框圖; 圖10是根據(jù)本發(fā)明的一個實施方式的測量系數(shù)間相關(guān)性的框圖; 圖ll是根據(jù)本發(fā)明的一個實施方式的具有相關(guān)節(jié)點的置信傳播因子 圖;以及圖12是根據(jù)本發(fā)明的一個實施方式的檢驗子碼的設(shè)計框圖。
具體實施方式
我們的發(fā)明的實施方式包括以下部分用于安全地存儲生物測定參數(shù)的檢驗子編碼器和哈希方法;用于安全地存儲使用生物測定密鑰進行 了加密的數(shù)據(jù)的、基于檢驗子碼的加密方法;以及用于諸如前兩種方法 的安全生物測定應(yīng)用的優(yōu)化檢驗子碼的方法。我們以獨立的部分來描述 各種方法。用于保護生物測定參數(shù)的檢驗子和哈希方法圖3示出了根據(jù)本發(fā)明的基于檢驗子和哈希的生物測定安全系統(tǒng) 300。根據(jù)本發(fā)明的方法利用檢驗子碼來壓縮所測量的生物測定參數(shù),以 產(chǎn)生壓縮的檢驗子碼。不同于傳統(tǒng)的壓縮,由檢驗子碼所產(chǎn)生的檢驗子 碼與原始生物測定數(shù)據(jù)無關(guān)。因此,所存儲的檢驗子碼不能用于對原始 生物測定數(shù)據(jù)的近似進行解碼。將所得到的壓縮檢驗子碼和該檢驗子碼 的哈希存儲在生物測定數(shù)據(jù)庫中。為了對用戶進行認證,再次測量生物測定參數(shù)。將該生物測定參數(shù) 與所存儲的檢驗子碼進行組合,以對原始的生物測定參數(shù)進行解碼。如 果檢驗子解碼失敗,則拒絕用戶訪問。如果檢驗子解碼成功,則使用該 原始生物測定參數(shù)對該用戶的認證進行檢驗。登記階段在登記階段310,獲取用戶的生物測定數(shù)據(jù)。例如,該生物測定數(shù) 據(jù)是從面部圖像、語音記錄、指紋圖像或虹膜掃描獲得的。在下文中, 生物測定數(shù)據(jù)是指從用戶感測的、測量的或者獲取的原始生物測定信號。 可以從該生物測定數(shù)據(jù)提取特征。將這些特征設(shè)置為d維特征向量。該 特征向量形成登記生物測定參數(shù)301。用于從各種形式的生物測定數(shù)據(jù)中 提取特征的方法在現(xiàn)有技術(shù)中是已知的,如上所述。以下更詳細地描述 將該特征向量轉(zhuǎn)換成生物測定參數(shù)和最佳的檢驗子碼。利用檢驗子編碼器330對生物測定參數(shù)E 301進行編碼,以產(chǎn)生登 記檢驗子碼S 331。接下來,對登記檢驗子碼S應(yīng)用340消息認證碼或哈 希函數(shù),以產(chǎn)生登記哈希H341。該哈希函數(shù)可以是由RonRivest在"The MD5 Message Digest Algorithm," RFC 1321, April 1992中所描述的已知的 MD5加密哈希函數(shù)。將登記檢驗子碼哈希對(S, H)331、 341存儲在生物 測定數(shù)據(jù)庫350中。可以使用任何類型的檢驗子碼,例如上述SW碼或WZ碼。本發(fā)明 的優(yōu)選實施方式使用根據(jù)所謂的"重復(fù)積累碼"("乘積積累碼")獲得的碼 以及我們稱為"擴展?jié)h明積累碼"的碼。我們通常稱這些為串聯(lián)積累(SCA, serially concatenated accumulate) 碼。對于通常意義上關(guān)于這些類型的碼的更多信息,參見J丄i等的"Product Accumulate Codes: A Class of Codes With Near-Capacity Performance and Low Decoding Complexity,"IEEE Transactions on Information Theory, vol. 50, pp. 31-46, January 2004; M. Isaka.禾Q M. Fossorier的"High Rate Serially Concatenated Coding with Extended Hamming Codes,,,IEEE Communications Letters, 2004; 以及D. Divsalar禾口 S. Dolinar 的 "Concatenation of Hamming Codes and Accumulator Codes with High Order Modulation for High Speed Decoding," IPN Progress Report 42-156, Jet Propulsion Laboratory, Feb. 15, 2004。由Yedidia等在2004年8月27日提交的美國專利申請序列號 10/928,448,"Compressing Signals Using Serially-Concatenated Accumulate Codes"(在此通過引用將其并入)描述了基于本發(fā)明所使用的SCA碼的 本發(fā)明的優(yōu)選檢驗子編碼器的操作。本發(fā)明的用于生物測定參數(shù)301的檢驗子編碼器330具有多個優(yōu)點。 檢驗子編碼器330能夠?qū)φ麛?shù)值輸入進行操作。相反,現(xiàn)有技術(shù)的編碼 器通常是對二進制值輸入進行操作。該檢驗子編碼器具有非常高的壓縮 比,以使生物測定數(shù)據(jù)庫350的存儲要求最小化。該檢驗子編碼器是速 率自適應(yīng)的,而且能夠以增量的方式(incremental fashion)進行操作。 可以根據(jù)需要發(fā)送更多的位、而不浪費先前發(fā)送的檢驗子位中的信息。認證階段在認證階段320中,再次從用戶獲取生物測定數(shù)據(jù)。提取特征以獲 得認證生物測定參數(shù)E'360。搜索數(shù)據(jù)庫350以找到用于該用戶的匹配的 登記檢驗子碼S 331和登記哈希H341。該搜索可以檢査數(shù)據(jù)庫350中的每個條目(S-H對),或者可以利用啟 發(fā)式有序搜索以加快査找匹配的條目的過程。具體地,如果我們將數(shù)據(jù)庫中的第i檢驗子碼哈希對表示為(Si, Hi),則窮舉搜索首先將檢驗子解碼為E'和Si,并將檢驗子解碼器輸出的哈希與H,比較。如果拒絕訪問,利用(S2, H2)嘗試相同的過程,然后使用(S3, H3),等等,直到嘗試了所有條目或者允許訪問為止。如果諸如登記用戶名稱的輔助信息可用,則可以使用該輔助信息來加快搜索。例如,在登記階段,將該登記用戶名稱的哈希與S-H對一起 存儲。然后,在認證階段,用戶提供認證用戶名稱,并且系統(tǒng)求出該認 證用戶名稱的哈希,在數(shù)據(jù)庫中搜索具有匹配的哈希登記用戶名稱的S-H 對,并嘗試利用所得到的S-H對來對E,進行認證。具體地,將檢驗子解碼器370應(yīng)用于具有用作"輔助"信息的認證參 數(shù)E,360的登記檢驗子S。檢驗子解碼器在本領(lǐng)域通常是已知的。通常, 利用了置信傳播或turbo碼的解碼器具有優(yōu)異的容錯性并且復(fù)雜性低。檢 驗子解碼器370的輸出是經(jīng)解碼的登記參數(shù)E"371。解碼值E"371是用 于產(chǎn)生檢驗子碼S 331的原始生物測定參數(shù)E 301的估計值。將哈希函數(shù) 340應(yīng)用于E" 371以產(chǎn)生認證哈希H, 381 。對登記值H341和認證值H,381進行比較390。如果這些值不匹配, 則拒絕訪問392。否貝lj,值E"381基本上與原始生物測定參數(shù)E301匹配。 這種情況下,可以允許用戶訪問391。此外,在經(jīng)解碼的參數(shù)E" 381和認證生物測定參數(shù)E' 360之間進行 直接比較,以對用戶進行認證。例如,如果E'和E"與面部識別系統(tǒng)中的 生物測定參數(shù)相對應(yīng),則可以將用于比較面部之間的相似性的傳統(tǒng)算法 應(yīng)用于這些參數(shù)E'和E"?;跈z驗子的數(shù)據(jù)加密圖5示出用于對數(shù)據(jù)501進行編碼510和解碼520的方法500。在 編碼過程510中,從第一用戶獲得第一生物測定參數(shù)P502。這些參數(shù)用 于對輸入數(shù)據(jù)D501進行加密540,以產(chǎn)生密文C541。然而,與現(xiàn)有技 術(shù)相比,這些第一生物測定參數(shù)P從不存儲在存儲器中。相反,檢驗子 編碼器530對該第一生物測定參數(shù)P進行編碼,以產(chǎn)生檢驗子碼S 531, 將S和C彼此關(guān)聯(lián),并且將(S, C)對532存儲在存儲器550中。在本發(fā)明的一個實施方式中,輸入數(shù)據(jù)是在登記過程期間從用戶獲取的原始生 物測定數(shù)據(jù)。當人們希望對密文541進行解碼520時,從第二用戶獲取第二生物 測定參數(shù)P' 560。使用第二生物測定參數(shù)對所存儲的檢驗子碼S 531進行 檢驗子解碼570以產(chǎn)生第三生物測定參數(shù)P" 571。然后,使用第三生物 測定參數(shù)P"對密文C541進行解密580,以產(chǎn)生輸出數(shù)據(jù)D'509。顯然, 如果第二或第三生物測定參數(shù)與第一生物測定參數(shù)不匹配,則輸出數(shù)據(jù) D' 509與輸入數(shù)據(jù)D 501不匹配。只有在第一用戶和第二用戶是同一人 時,輸出數(shù)據(jù)才會與輸入數(shù)據(jù)匹配。該方法具有以下優(yōu)點。如果攻擊者獲得了對檢驗子碼和密文(S, C) 的訪問,不能對數(shù)據(jù)進行解密。這是因為不能從檢驗子碼恢復(fù)加密密鑰 (即,第一生物測定參數(shù)P)。此外,由于檢驗子碼的糾錯特性,即使第 二生物測定參數(shù)P'與第一生物測定參數(shù)P稍有不同,適當設(shè)計的檢驗子 解碼器也能夠成功地產(chǎn)生與用作加密密鑰P 502的第一生物測定參數(shù)完 全相同的第三生物測定參數(shù)P"。檢驗子編碼提供了安全存儲生物測定參數(shù)的有效方法,并且可以應(yīng) 用于安全存儲生物測定信息的其他方法。應(yīng)當注意,可以從生物測定數(shù) 據(jù)提取特征向量。因此,可以使用對應(yīng)的特征向量來代替任何上述生物 測定參數(shù)。以加密形式存儲生物測定參數(shù)的附加優(yōu)點是,這使得安全生物測定 存儲應(yīng)用能夠?qū)εc在生物測定識別應(yīng)用中使用的特征向量不同的特征向 量進行操作。例如,指紋識別系統(tǒng)通常利用基于從指紋圖像提取的所謂 的"細節(jié)特征(mirmtiae)"的特征向量。類似地,虹膜識別系統(tǒng)常常使用通 過使虹膜圖像通過一組Gabor過濾器而提取的特征。在很多情況下,用于生物測定識別(例如面部識別或指紋識別)的 理想特征向量可以不同于用于檢驗子編碼/解碼的理想特征向量。在很多 情況下,這是由于這樣的事實用于訓(xùn)練識別或鑒別系統(tǒng)的分類器(例 如,基于高斯混合模型(GMM)、神經(jīng)網(wǎng)絡(luò)或隱式Markov模型的分類器) 的過程產(chǎn)生了與用于訓(xùn)練直方圖(histogram)(該直方圖與檢驗子編碼器及解碼器的置信傳播解碼器一起使用,如這里所述)的過程所產(chǎn)生的特 征向量不同的特征向量。圖6示出了用于存儲所輸入的生物測定數(shù)據(jù)601的加密版本的方法600。如上所述,從用于測量或感測用戶的生物測定特征的原始信號獲得這些生物測定數(shù)據(jù)。在訪問控制系統(tǒng)的登記階段610中,例如,從用戶獲取第一生物測 定數(shù)據(jù)B 601。然后,從第一生物測定數(shù)據(jù)B 601獲得第一生物測定參數(shù) P602的特征向量。利用第一生物測定參數(shù)P作為加密密鑰對第一生物測 定數(shù)據(jù)B進行加密,以產(chǎn)生密文C641。此外,對第一生物測定參數(shù)進行 檢驗子編碼630以產(chǎn)生檢驗子碼S 631。然后將相關(guān)聯(lián)的(S, C)對632存 儲在生物測定數(shù)據(jù)庫650中。在認證階段620,從用戶獲得認證第二生物測定數(shù)據(jù)B,660。該第二 數(shù)據(jù)用于生成第二生物測定參數(shù)P' 661的特征向量。然后,檢驗子解碼 器670對第一生物測定參數(shù)進行解碼,以產(chǎn)生第三生物測定參數(shù)P,, 671 。 然后,將第三生物測定參數(shù)用作密鑰對密文C進行解密680,以產(chǎn)生第 三生物測定數(shù)據(jù)B" 681。此時,通過生物測定識別方法690對認證生物 測定數(shù)據(jù)B,和解碼的生物測定數(shù)據(jù)B"進行比較,以確定是否允許691或 拒絕692訪問特定功能。跟前面一樣,只有當?shù)谝缓偷谌餃y定數(shù)據(jù) 完全相同,即,第一和第二用戶是同一人時才允許訪問。在另一變型例中,比較步驟可以利用從生物測定數(shù)據(jù)所提取的特征 向量。這些特征向量不必與生物測定參數(shù)相同。此外,被比較的兩個特 征向量僅需要基本上相同,這是因為驗證步驟可以使用完全不同的過程。 因此,這些特征向量可以允許生物測定數(shù)據(jù)中的更寬范圍的變化(這在 時間上表征了特定用戶)。圖6中所示的過程具有一些優(yōu)點。認證系統(tǒng)可以在步驟690中利用 傳統(tǒng)的識別系統(tǒng)。此外,可以獨立于生物測定驗證步驟690所使用的參 數(shù)或特征向量,來選擇由檢驗子編碼器/解碼器使用的生物測定參數(shù)P和 P,。另外,檢驗子碼是安全存儲生物測定參數(shù)的有效方法。然而,還可 以通過其中安全生物測定存儲方法可以使用獨立于生物測定驗證方法的特征向量的方式,將圖6中的方法應(yīng)用于安全存儲生物測定參數(shù)的其他 方法。設(shè)計用于安全生物測定參數(shù)的最佳檢驗子碼通常,在使用檢驗子碼來保護生物測定參數(shù)和生物測定特征時,存 在安全性與準確性之間的折衷。具體地,任何檢驗子碼的關(guān)鍵參數(shù)是該 碼中的位的數(shù)量。具有大量位的檢驗子碼傳遞更多與生物測定數(shù)據(jù)有關(guān) 的信息,并且使得更容易容許該生物測定數(shù)據(jù)中的噪聲和變化。相反, 較小的檢驗子碼向攻擊者提供更少的信息,但更容易出錯。在一個極端,當檢驗子碼的長度與基本生物測定數(shù)據(jù)的長度基本相 同時,可以容許任何量的噪聲,這是因為可以僅從檢驗子碼完全恢復(fù)原 始生物測定數(shù)據(jù)。當然,在這種情況下,獲得該檢驗子碼的攻擊者也可 能恢復(fù)生物測定數(shù)據(jù),從而危及到系統(tǒng)的安全。在另一個極端,在攻擊者不能從檢驗子碼恢復(fù)生物測定數(shù)據(jù)的情況 下,位的數(shù)量非常小的檢驗子碼提供了極好的安全性。然而,在這種情 況下,登記生物測定數(shù)據(jù)和認證生物測定數(shù)據(jù)之間所允許的變化就受到 了限制。顯然,基于檢驗子的編碼器和解碼器應(yīng)當選擇平衡了生物測定變化 的安全性和容限的檢驗子碼長度。然而,精心設(shè)計的檢驗子碼可以提高 容錯性。如圖12所示,利用下面的術(shù)語來描述檢驗子碼的設(shè)計。該設(shè)計從生 物測定數(shù)據(jù)1201 (例如,面部圖像)開始。從生物測定數(shù)據(jù)提取完全特 征向量1202。將完全特征向量1202簡化為檢驗子特征向量1203,并且 將檢驗子特征向量用于設(shè)計最佳檢驗子碼1204。圖7示出了用于構(gòu)造最佳檢驗子碼的過程700。獲取訓(xùn)練生物測定 數(shù)據(jù)1201。這些生物測定數(shù)據(jù)用于生成800誤差直方圖890。誤差直方 圖用于選擇900用于檢驗子碼的特征向量。在該環(huán)境中,我們使用術(shù)語"完 全特征向量"1202來表示所有生物測定參數(shù),并且術(shù)語"檢驗子特征向 量"1203是指完全特征向量的子集??梢詫z驗子特征向量轉(zhuǎn)換到不同的 特征空間。在選擇了檢驗子特征向量1203后,我們測量1000檢驗子特征向量 的不同系數(shù)之間的相關(guān)性。然后,通過利用檢驗子特征向量的誤差統(tǒng)計 和系數(shù)間相關(guān)性,我們應(yīng)用密度演化(density evolution) 740來搜索可以 產(chǎn)生特定長度的最佳檢驗子碼1204的次數(shù)分布(degree distribution^在 選擇了檢驗子特征向量和檢驗子碼后,我們構(gòu)造iioo利用了系數(shù)間相關(guān) 性的置信傳播解碼器。在更詳細地描述圖7的每個部分之前,我們還定義以下術(shù)語。我們 使用術(shù)語"硬"特征向量來指代特征向量的量化版本,并使用術(shù)語"軟"特征 向量來指代與"硬"特征向量相比,該特征向量的未量化或者更精細量化 版本。因為某些生物測定參數(shù)可以包括在大數(shù)值范圍上的整數(shù)和實數(shù), 所以使用量化。加密、密鑰生成以及其他認證過程對于小范圍的整數(shù)工 作得最好。我們區(qū)分"硬"特征向量和"軟"特征向量的原因在于檢驗子碼是由 "硬"特征向量構(gòu)成的。因此,"硬"特征向量通常被量化。相反,在認證階 段,檢驗子解碼器將"軟"特征向量與檢驗子碼進行組合,以對"硬"特征向 量進行解碼。因此,不需要對"軟"特征向量進行量化,或者可以對"軟" 特征向量不同地進行量化,以提高系統(tǒng)的容錯性。通常,可以存在從生物測定數(shù)據(jù)提取完全特征向量的多種方式,以 及從完全特征向量提取"硬"和"軟"特征向量的多種方式。在這些情況下, 我們對每種可能性都應(yīng)用圖7的過程,并選擇在訓(xùn)練期間產(chǎn)生最佳的整 體結(jié)果的特征向量。構(gòu)造誤差直方8示出了用于生成誤差直方圖890的過程800。首先,我們獲取 810在不同場合采用的特定用戶的訓(xùn)練生物測定數(shù)據(jù)。接下來,我們選擇 820 —對生物測定參數(shù)B和B,,并求出完全"軟"特征向量VS(B) 830和 完全"硬"特征向量VH(B') 840。然后,對完全特征向量中的每個位置或 維度i,我們根據(jù)位置i的VS(B)來估計845對應(yīng)位置i的VH(B')的值, 并確定850該估計是否正確。如果該估計不正確,則我們在誤差直方圖 890中的位置i處使VH(B')和VS(B)的相應(yīng)值的一個柄(bin)遞增870。在對每個位置i完成該處理后,我們檢査860是否已經(jīng)處理了所有的生物 測定參數(shù)對B和B'。如果沒有,則我們返回到步驟820并選擇另一對生 物測定參數(shù)。如果已經(jīng)處理了所有的對,則完成誤差直方圖并結(jié)束880 該過程。選擇檢驗子特征向量圖9示出了在圖8的誤差直方圖的輔助下選擇特征向量的過程900。 首先,從最可靠到最不可靠的位置920對誤差直方圖進行排序910。具體 地,如果E(i)是在根據(jù)VS(B)的位置i預(yù)測VH(B')的位置i時的平均誤差, 則當E(i)〈E(j)時認為位置i比位置j更可靠。在對誤差直方圖進行排序后, 我們將誤差直方圖中的次最可靠位置包括930在檢驗子特征向量中,構(gòu) 造940當前檢驗子特征向量的最佳檢驗子碼,并測試950包括了最新位 置是否增加了安全性或容錯性。如果增加了安全性或容錯性,則我們繼 續(xù)向檢驗子特征向量添加另外的位置。否則,我們從特征向量中去除960 最新添加的位置,并且我們終止970該過程。如果希望指定安全性等級并使容錯性最優(yōu),則以下步驟可用于步驟 940和950:首先,在步驟940中,通過根據(jù)固定的次數(shù)分布生成具有S 檢驗子的低密度奇偶校驗(LDPC)碼,來構(gòu)造具有與特征向量中的當前 的位置的數(shù)量相對應(yīng)的長度N的新檢驗子碼。在這種情況下,通過固定 量N-S使安全性級別保持恒定,并在整個過程中使其保持恒定。然后, 從數(shù)據(jù)庫中選擇生物測定數(shù)據(jù)的隨機生物測定抽樣,并通過應(yīng)用LDPC 碼的奇偶校驗矩陣將其映射到檢驗子碼,并且利用應(yīng)用于來自同一用戶 的另一隨機生物測定抽樣的置信傳播,來對所得到的檢驗子碼進行解碼。 多次重復(fù)該過程而產(chǎn)生對于該給定特征向量的檢驗子碼的容錯性的估 計。另選地,如果在該設(shè)計過程中可容許更大的計算復(fù)雜性,則可以使 用Richardson等在"Design of capacity-approaching irregular low-density parity-check codes", IEEE Transactions on Information Theory, vol. 47, issue 2, pp. 619-637, February 2001中討論的密度演化處理(在此通過引用將其 并入),來對該碼優(yōu)化次數(shù)分布,并更準確地估計誤差概率。如果希望指定容錯性的級別并獲得最好的安全性,以下步驟可用于步驟940和950:首先,在步驟940中,利用密度演化設(shè)計具有與特征向量中的當前的位置的數(shù)量相對應(yīng)的長度N的新檢驗子碼。具體地,利用密度演化來構(gòu)造一系列不同等級(rate)的碼,直到找到滿足通過密度演化所評估的指定級別的容錯性的最高等級的碼。我們將通過該過程所選擇的特征向量稱為"檢驗子特征向量",因為它是為該檢驗子碼專門設(shè)計的特征向量。我們注意到,該特征向量可以 具有與為諸如面部或?qū)ο笞R別的生物測定識別而構(gòu)造的其他類型的特征向量不同的屬性。測量系數(shù)間相關(guān)性在已經(jīng)選擇了檢驗子特征向量之后,下一步驟是測量系數(shù)間相關(guān)性。 不能從根據(jù)圖7生成的誤差直方圖中提取該信息,因為該誤差直方圖是 針對完全特征向量1202生成的,而步驟900僅選擇完全特征向量中的位 置的子集來產(chǎn)生檢驗子特征向量1203。圖10示出了用于測量二進制檢驗子特征向量中的第一階相關(guān)性的 過程1000。也可以將該過程應(yīng)用于非二進制特征向量或者更高階的相關(guān) 性。首先,從生物測定訓(xùn)練數(shù)據(jù)集中選擇元素,并從該元素提取檢驗子 特征向量。然后,將計數(shù)器變量i初始化IOIO為零。接下來,我們測試 1020位置i是0還是1,并且,當為前者時前進到步驟1030,當為后者 時前進到步驟1040。然后,我們測試1030位置i-l (即,前一位置)是0 還是l,并使該直方圖中的適當柄遞增1035。直觀地,柄pOO對后面跟 著0的0的出現(xiàn)進行計數(shù),柄p01對后面跟著1的0的出現(xiàn)進行計數(shù), 等等。接下來,我們使計數(shù)器i遞增1050,測試1060是否還有更多的位 置保留在檢驗子特征向量中,并且我們對下一位置重復(fù)該過程。否則, 如果我們已經(jīng)處理了每個位置,則我們終止1070該過程。在對生物測定訓(xùn)練集中的每個元素執(zhí)行圖10中的過程之后,我們將 柄pOO、 p01、 plO和pll的值除以生物測定訓(xùn)練集的大小,以測量該檢 驗子特征向量的第一階相關(guān)性。利用密度演化來構(gòu)造最佳檢驗子碼在已經(jīng)選擇了檢驗子特征向量1203并已經(jīng)測量了系數(shù)間相關(guān)性之后,我們隨后利用密度演化來設(shè)計檢驗子碼1204。具體地,對于LDPC 檢驗子碼,我們設(shè)計檢驗子碼的次數(shù)分布。有兩個理由需要這樣的設(shè)計。 首先,在步驟900中設(shè)計的初始檢驗子碼可能使用了在選擇檢驗子特征 向量1203之前選擇的固定次數(shù)分布。第二,初始檢驗子碼沒有利用系數(shù) 間相關(guān)性的知識,因為只可以在選擇了檢驗子特征向量之后測量該相關(guān) 性。為了實際上構(gòu)造最佳次數(shù)分布,我們應(yīng)用密度演化技術(shù)來產(chǎn)生多個 候選次數(shù)分布。然而,現(xiàn)有技術(shù)中已知的傳統(tǒng)密度演化處理沒有考慮系數(shù)間相關(guān)性。 因此,雖然通過密度演化產(chǎn)生的候選次數(shù)分布對于沒有系數(shù)間相關(guān)性的 情況可能是合適的,但當存在系數(shù)間相關(guān)性時它們通常會有不同的表現(xiàn)。為了獲得檢驗子碼的最佳次數(shù)分布,我們比較通過對生物測定訓(xùn)練 數(shù)據(jù)集的密度演化而獲得的候選次數(shù)分布,并選擇表現(xiàn)最好的次數(shù)分布。 在另選實施方式中,我們修改傳統(tǒng)的密度演化算法,以考慮系數(shù)間相關(guān) 性。構(gòu)造檢驗子碼的置信傳播解碼器在設(shè)計檢驗子碼中的最后步驟是構(gòu)造相關(guān)的置信傳播檢驗子解碼 器。用于沒有系數(shù)間相關(guān)性的應(yīng)用的置信傳播解碼器是已知的。然而, 傳統(tǒng)的解碼器沒有設(shè)計用來解決系數(shù)間相關(guān)性。具體地,傳統(tǒng)的置信傳 播方法禾ll用 Kschischang 等在"Factor graphs and the sum-product algorithm,"IEEE Transactions on Information Theory, vol. 47, issue 2, pp. 498-519, February 2001 (在此通過引用將其并入)中所述的和-乘公式, 將"消息"從變量節(jié)點傳遞到檢驗節(jié)點并再次傳回來。如圖11所示,本發(fā)明的置信傳播因子圖的構(gòu)造1100除了傳統(tǒng)檢驗節(jié)點1110和變量節(jié)點1120外還包括相關(guān)性節(jié)點1130。具體地,將相關(guān)性節(jié)點添加在每對連續(xù)的變量節(jié)點之間。對將消息從變量節(jié)點傳遞到相鄰的檢驗節(jié)點的方法進行改進,以包括與其他消息相乘的、來自每個相鄰的相關(guān)性因子節(jié)點的附加消息。具體地,利用Kschischang等的表示,如果 —,W是從檢驗節(jié)點f到變量節(jié)點y的對于狀態(tài)x的輸入消息,而L(x)是來自左邊的相關(guān)性節(jié)點的輸入消息,則從該變量節(jié)點到右邊的相關(guān)性節(jié)點的輸出消息為丄o).n〃y "),而到左邊的相關(guān)性節(jié)點的輸出消息為力w,其中,R(x)是來自右邊的相關(guān)性節(jié)點的輸入消息。我們還描述了一種根據(jù)本發(fā)明的實施方式的用于將消息傳送到相關(guān) 性節(jié)點及從相關(guān)性節(jié)點傳送消息的方法。具體地,我們描述確定消息L(x) 和R(x)的過程。如果/i(0)是到左邊的相關(guān)性節(jié)點的瑜入消息,則該相關(guān)性節(jié)點的右側(cè)的輸出消息(其為到該相關(guān)性節(jié)點的右邊的變量節(jié)點的輸 入消息)為Z(0)二pOO-〃(0)+pl0^(1)和"》pl0w(0)+pllw(1),其中,p00、 p01、 plO和pll項為如圖IO所示測量的第一階相關(guān)性值。類似地,該相關(guān)性節(jié)點的左側(cè)的輸出消息(其為到該相關(guān)性節(jié)點的 左邊的變量節(jié)點的輸入消息)為i (0)-p00^(0)+p01^(1)和i (l"p01vi(0)+p11^(1)。用于虹膜生物測定參數(shù)的檢驗子碼設(shè)計接下來,我們描述我們?nèi)绾螌⑸鲜鲞^程應(yīng)用于虹膜生物測定參數(shù)的具體示例。我們選擇完全"硬"特征向量作為從如J. Daugman在"How iris recognition works,,,正EE Transactions on Circuits and Systems for Video Technology, vol. 14, issue 1, pp. 21-30, January 2004 (在此通過引用將其并 入)中所述的一組Gabor過濾器提取的一系列位。當完全"硬"特征向量是二進制時,我們選擇完全"軟"特征向量為四 進制的。具體地,我們選擇位置i處的完全"軟"特征向量的值為其位置應(yīng)該在"硬"特征向量中的值的最佳推測值(guess),并且我們還附加表示可靠性級別的位。具體±也,我們附加表示對于該位置的判決我們確信還是 不確信的位。例如,"硬"特征向量的某些位置的特征可能是難以預(yù)測的,例如, 因為這些特征被眼瞼或睫毛覆蓋,并且這些位置應(yīng)該采用"不確信"可靠 性值。接下來,我們利用生物測定訓(xùn)練數(shù)據(jù)來生成誤差直方圖,如以上針對圖8所述,然后應(yīng)用圖9的特征向量設(shè)計方法。盡管完全特征向量的 長度大約為10, 000,但是我們發(fā)現(xiàn)與很多位置相關(guān)聯(lián)的特征是不可靠的。 例如,與眼睛上部相對應(yīng)的特征向量的分量通常被眼瞼或者睫毛所覆蓋。 在通過圖9的過程丟棄用途最小的位置之后,在檢驗子特征向量中我們 還剩有大約2,000個最可靠的位置。如果我們這時停止圖7中的步驟900,則所得到的檢驗子碼將不是 容錯性的,不能容許單個用戶的虹膜生物測定參數(shù)中的自然變化。具體 地,在某天所獲取的用戶的虹膜的檢驗子碼與另一天所獲取的同一虹膜 的另一生物測定參數(shù)進行組合,大約有12%的時間不能解碼。這證明了 對圖7中的其余步驟的需要。在我們利用圖10中的過程測量了第一階相關(guān)性之后,我們檢測到 "硬"檢驗子特征向量中的位取與相鄰位相同的值的可能性大約是取與該 相鄰位相反的值的可能性的兩倍。然后,我們繼續(xù)圖7中的步驟740,以 利用密度演化來構(gòu)造經(jīng)優(yōu)化的檢驗子碼,來利用高相關(guān)性。最后,我們 按照步驟IIOO來構(gòu)造置信傳播解碼器,以考慮高的第一階相關(guān)性。按照這些步驟產(chǎn)生了檢驗子碼,這些檢驗子碼與我們的初始碼相比, 具有高出一個數(shù)量級以上的可靠性,由此證明了按照圖7中的整個過程 的優(yōu)點。本發(fā)明的效果本發(fā)明實現(xiàn)了基于生物測定參數(shù)的安全用戶認證。因為存儲了檢驗 子碼而不是原始生物測定數(shù)據(jù),所以本發(fā)明是安全的。這防止了獲得對 數(shù)據(jù)庫的訪問的攻擊可以利用來自多個描述(multiple descriptions)的已知問題的傳統(tǒng)工 具(例如,參見V. K. Goyal的"Multiple description coding: compression meets the network,,,正EE Signal Processing Magazine, vol. 18, pp. 74-93, September 2001),來限制原始生物測定參數(shù)E的最優(yōu)可能估計(攻擊者 僅能夠使用檢驗子碼S來作出該估計)。此外,當通過絕對誤差、平方 誤差、加權(quán)誤差測量還是任何任意的誤差函數(shù)來測量該估計的質(zhì)量時, 可以進行這些限制。相反,所有的現(xiàn)有技術(shù)方法都是基于二進制值的。 因此,安全性取決于漢明距離。
實質(zhì)上,檢驗子碼S的安全性是歸因于它是原始生物測定參數(shù)E的 壓縮版本這一事實。此外,該壓縮表示與E的"最低有效位"相對應(yīng)。利 用數(shù)據(jù)壓縮理論的已知工具,可以證明如果使用了具有高壓縮的檢驗 子碼,則這些最低有效位最多只能夠產(chǎn)生原始參數(shù)E的較差估計,例如, 參見 Effros 的"Distortion-rate bounds for fixed- and variable-rate multiresolution source codes,"IEEE Transactions on Information Theory, vol. 45, pp. 1887-1910, September 1999以及Steinberg和Merhav的"On successive refinement for the Wyner-Ziv problem,"IEEE Transactions on Information Theory, vel. 50, pp. 1636-1654, August 2004。
第二,因為偽造至少是與在基本哈希函數(shù)中找到?jīng)_突一樣困難,所 以本發(fā)明是安全的。具體地,如果經(jīng)解碼的生物測定參數(shù)E"的哈希H' 與原始哈希H匹配,則系統(tǒng)在認證階段僅接受檢驗子對(S, H)。對于 加密哈希函數(shù)(例如MD5),通常認為不可能找到與E不同但是具有與 E的哈希匹配的哈希的元素E"。因此,如果檢驗子解碼成功地對具有正 確的哈希的E"進行了解碼,則系統(tǒng)可以確信E"實際上與E相同,并且利 用原始生物測定參數(shù)進行所有認證判決。
第三,本發(fā)明在產(chǎn)生檢驗子S時對原始生物測定參數(shù)E進行壓縮。 用于很多用戶的生物測定數(shù)據(jù)庫能夠要求大量的存儲,尤其是在生物測 定數(shù)據(jù)問題需要大量數(shù)據(jù)(例如,面部圖像或者語音信號)的情況下。 因此,減少所要求的存儲可以實現(xiàn)在成本和容錯性方面的很大改善。相 反,用于生物測定數(shù)據(jù)的安全存儲的大部分現(xiàn)有技術(shù)方法由于加密或糾錯的開銷而實際上增加了所存儲的數(shù)據(jù)的大小,因此與不安全的系統(tǒng)相 比需要更多的存儲。
第四,因為本發(fā)明建立在檢驗子碼的理論上,所以本發(fā)明可以應(yīng)用 復(fù)雜的碼構(gòu)造和解碼算法。具體地,根據(jù)本發(fā)明的檢驗子編碼使得便于
使用對二進制和多級碼構(gòu)造進行解碼的軟解碼(其使用已知的Viterbi算 法、置信傳播和burbo解碼)。相反,因為多數(shù)現(xiàn)有技術(shù)方法基于二進制 碼、Reed-Solomon碼和代數(shù)解碼,所以當生物測定數(shù)據(jù)取實值(與二進 制值相反)時,不能有效地應(yīng)用軟解碼。例如, 一些方法特別要求在登 記階段利用隨機碼字計算生物測定數(shù)據(jù)的XOR,以產(chǎn)生基準,并要求在 認證階段利用生物測定數(shù)據(jù)計算該基準的XOR。
第五,盡管與安全生物測定相關(guān)的大多數(shù)現(xiàn)有技術(shù)利用了糾錯編碼, 但是本發(fā)明利用檢驗子編碼。糾錯編碼的計算復(fù)雜性通常在輸入大小上 是超線性的。相反,通過利用各種類型的基于低密度奇偶校驗的檢驗子 編碼,很容易構(gòu)造檢驗子編碼器,其中檢驗子編碼的計算復(fù)雜性在輸入 大小上僅是線性的。
第六,通過利用檢驗子編碼框架,能夠使用如同由Yedidia等描述的 SCA碼一樣的強大的新的嵌入式檢驗子碼。這些碼使得檢驗子編碼器能 夠在登記期間估計生物測定數(shù)據(jù)的固有可變性,并僅對足夠的檢驗子位 進行編碼以使得能夠成功地進行檢驗子解碼。
第七,如上所述的檢驗子碼可以用于對數(shù)據(jù)進行加密。此外,描述 了使得能夠設(shè)計具有給定性能級別和容錯性的最佳檢驗子碼的方法。
盡管通過優(yōu)選實施方式的示例描述了本發(fā)明,但是可以理解的是, 可以在本發(fā)明的精神和范圍內(nèi)進行各種其他的修改和改進。因此,所附 權(quán)利要求的目的是覆蓋落入本發(fā)明的真正精神和范圍內(nèi)的所有這些修改 和改進。
權(quán)利要求
1、一種在計算機可讀介質(zhì)中存儲數(shù)據(jù)的計算機實施的方法,該方法包括以下步驟從第一用戶獲取第一生物測定數(shù)據(jù);根據(jù)所述第一生物測定數(shù)據(jù)生成第一生物測定參數(shù);利用所述第一生物測定參數(shù)對所述第一生物測定數(shù)據(jù)進行加密,以產(chǎn)生密文;利用檢驗子編碼器對所述第一生物測定參數(shù)進行編碼,以產(chǎn)生檢驗子碼;將所述密文和所述檢驗子碼相關(guān)聯(lián);以及將所述密文和所述檢驗子碼存儲在計算機可讀介質(zhì)中。
2、 根據(jù)權(quán)利要求1所述的方法,該方法還包括以下步驟 從第二用戶獲取第二生物測定數(shù)據(jù); 根據(jù)所述第二生物測定數(shù)據(jù)生成第二生物測定參數(shù); 利用檢驗子解碼器和所述第二生物測定參數(shù)對所述第一生物測定參數(shù)進行解碼,以產(chǎn)生第三生物測定參數(shù);以及利用所述第三生物測定參數(shù)對所述密文進行解密,以產(chǎn)生第三生物 測定數(shù)據(jù)。
3、 根據(jù)權(quán)利要求2所述的方法,該方法還包括以下步驟 比較所述第一生物測定數(shù)據(jù)和所述第三生物測定數(shù)據(jù);以及 僅在所述第一和第二生物測定數(shù)據(jù)相同時才允許訪問功能,否則拒絕訪問。
4、 一種在計算機可讀介質(zhì)中存儲數(shù)據(jù)的計算機實施的方法,該方法 包括以下步驟從第一用戶獲取第一生物測定參數(shù);根據(jù)所述第一生物測定參數(shù)對輸入數(shù)據(jù)進行加密,以產(chǎn)生密文; 利用檢驗子編碼器對所述第一生物測定參數(shù)進行編碼,以產(chǎn)生檢驗 子碼;將所述密文和所述檢驗子碼相關(guān)聯(lián);以及將所述密文和所述檢驗子碼存儲在計算機可讀介質(zhì)中。
5、 根據(jù)權(quán)利要求4所述的方法,該方法還包括以下步驟 從第二用戶獲取第二生物測定參數(shù);利用檢驗子解碼器和所述第二生物測定參數(shù)對所述第一生物測定參 數(shù)進行解碼,以產(chǎn)生第三生物測定參數(shù);以及利用所述第三生物測定參數(shù)對所述密文進行解密,以產(chǎn)生輸出數(shù)據(jù)。
6、 根據(jù)權(quán)利要求5所述的方法,其中,僅在所述第一用戶與所述第 二用戶相同時,所述輸入數(shù)據(jù)和所述輸出數(shù)據(jù)才完全相同。
7、 根據(jù)權(quán)利要求4所述的方法,其中,所述輸入數(shù)據(jù)是生物測定數(shù)據(jù)。
8、 根據(jù)權(quán)利要求5所述的方法,該方法還包括以下步驟-從所述第一生物測定數(shù)據(jù)提取第一特征向量; 從所述第三生物測定數(shù)據(jù)提取第二特征向量; 比較所述第一特征向量和所述第二特征向量;以及僅當所述第一和第二特征向量基本上相同時才允許訪問功能,否則 拒絕訪問。
9、 根據(jù)權(quán)利要求8所述的方法,其中,所述第一和第三生物測定參 數(shù)分別與所述第一和第二特征向量不同。
10、 根據(jù)權(quán)利要求4所述的方法,該方法還包括以下步驟.-從所述第一生物測定數(shù)據(jù)提取完全特征向量; 根據(jù)所述完全特征向量構(gòu)造誤差直方圖; 利用所述直方圖將所述完全特征向量簡化為檢驗子特征向量; 測量所述檢驗子特征向量的不同系數(shù)之間的相關(guān)性;以及 應(yīng)用密度演化來設(shè)計用于所述檢驗子特征向量的檢驗子碼。
11、 根據(jù)權(quán)利要求10所述的方法,其中,所述完全特征向量包括僅 存儲整數(shù)的完全硬特征向量以及存儲整數(shù)和實數(shù)的完全軟特征向量。
12、 根據(jù)權(quán)利要求4所述的方法,其中,所述檢驗子解碼器使用置信傳播網(wǎng)絡(luò)。
13、 根據(jù)權(quán)利要求12所述的方法,其中,所述置信傳播網(wǎng)絡(luò)包括檢 驗節(jié)點和變量節(jié)點,以及每對變量節(jié)點之間的相關(guān)性節(jié)點。
14、 一種在計算機可讀介質(zhì)中存儲數(shù)據(jù)的計算機實施的方法,該方法包括以下步驟從用戶獲取生物測定數(shù)據(jù); 根據(jù)所述生物測定數(shù)據(jù)生成加密密鑰; 根據(jù)所述加密密鑰對數(shù)據(jù)進行加密,以產(chǎn)生密文; 將所述加密密鑰編碼為編碼后的密鑰;以及將所述編碼后的密鑰與所述密文關(guān)聯(lián)地存儲在計算機可讀介質(zhì)中。
15、 根據(jù)權(quán)利要求14所述的方法,該方法還包括以下步驟 隨后從所述用戶重新獲取生物測定數(shù)據(jù); 根據(jù)所述重新獲取的生物測定數(shù)據(jù)生成解碼密鑰; 利用所述解碼密鑰對所述編碼后的密鑰進行解碼;以及 僅當所述解碼密鑰與所述加密密鑰匹配時,才使用所述解碼密鑰對所述密文進行解密。
全文摘要
從用戶獲取第一生物測定參數(shù)。根據(jù)所述生物測定參數(shù)對輸入數(shù)據(jù)進行加密,以產(chǎn)生密文。利用檢驗子編碼器對所述生物測定參數(shù)進行編碼,以產(chǎn)生檢驗子碼。將所述密文和所述檢驗子碼彼此關(guān)聯(lián),并存儲在計算機可讀介質(zhì)中,以使得只有同一用戶能隨后對所述密文進行解密。
文檔編號H04L9/32GK101253726SQ200680031989
公開日2008年8月27日 申請日期2006年8月21日 優(yōu)先權(quán)日2005年9月1日
發(fā)明者喬納森·S·葉迪達, 埃明·馬丁尼安, 安東尼·韋特羅, 謝爾蓋耶·M·葉哈寧 申請人:三菱電機株式會社