秘密數據匹配裝置以及秘密數據匹配方法
2023-10-17 18:22:14
秘密數據匹配裝置以及秘密數據匹配方法
【專利摘要】本公開涉及秘密數據匹配裝置和秘密數據匹配方法。根據本發明的秘密數據匹配裝置登記通過如下方式獲得的第一秘密向量,基於第一隨機數和對於包括秘密數據匹配裝置的每個系統不同的近似確定矩陣的行向量的第一線性組合來隱藏生物數據和密鑰。秘密數據匹配裝置獲取通過如下方式獲得的第二秘密向量,基於第二隨機數和近似確定矩陣的行向量的第二線性組合來隱藏匹配數據。秘密數據匹配裝置根據第一秘密向量與第二秘密向量之間的差使用近似確定矩陣作為模數來計算殘差向量,並且基於殘差向量來確定生物數據和匹配數據是否彼此近似。
【專利說明】
秘密數據匹配裝置以及秘密數據匹配方法
【技術領域】
[0001]本文所討論的實施方式涉及秘密數據匹配裝置等。
【背景技術】
[0002]生物認證是一種使用人類物理特徵和行為特徵的個人認證技術。人類物理特徵的示例包括指紋、靜脈、虹膜和DNA。行為特徵的示例包括筆跡等。在生物認證中,通過預先收集稱作模板的生物信息並且當進行匹配時將生物信息與由傳感器獲取的信息進行比較來進行認證。
[0003]近年來,關注一種其中將某種程度轉換的模板存儲在資料庫中並且當進行匹配時在不恢復原始模板的情況下進行比較的生物認證技術。生物認證技術被稱為「生物模板保護」。在使用生物模板保護的系統中,即使洩露經轉換的模板,但是通過改變轉換方法,使洩露的模板是不可用的,使得可以阻止洩露的模板被訪問。
[0004]在生物模板保護中,要求多個安全要求。安全要求之一是多樣性。多樣性是不能在多個資料庫之間交叉匹配經轉換的模板的特性。換句話說,多樣性意味著分別存儲在多個資料庫中的、相同生物信息的經轉換的模板不具有共性。
[0005]所謂的密鑰綁定方法的模板保護方法已知為一種生物模板保護技術。密鑰綁定方法是其中將表示根據用戶特有密鑰生成的輔助信息和生物信息的模板存儲在資料庫中並且當進行匹配時,在匹配的生物信息足夠接近模板的情況下提取用戶特有密鑰的方法。在密鑰綁定方法中,可以在不將表示生物信息的模板本身登記在資料庫中的情況下進行匹配。
[0006]實現密鑰綁定方法的方案的典型示例包括使用誤差校正碼的技術的模糊承諾和模糊保險箱。已知的是,模糊承諾是使用量化的生物信息和隨機信息的異或(exclusive-OR)的方法。已知的是,模糊保險箱通過使用預先作為密鑰準備的一對信息來隱藏可選的秘密信息。已知的是,在利用模糊承諾或模糊保險箱的密鑰綁定方法中,根據相同生物信息的模板和用戶特有密鑰生成的輔助信息包括公用部分(例如,參見非專利文獻I 至 3)。
[0007]非專利文獻1:Α.K.Jain, K.Nandakumar 和 A.Nagar, 「B1metric templatesecurity (review article),,,EURASIP Journal on Advances in SignalProcessing, pp.1-17,2008
[0008]非專利文獻2:A.Juels 和 M.Wattenberg,「A fuzzy commitment scheme」,inProceedings of 6th ACM Conference on Computer and Communicat1ns Security(ACMCCS』 99),pp.28-36,1999
[0009]非專利文獻3:Α.Juels 和 Μ.Sudan,「A fuzzy vault scheme」,in Proceedingsof the IEEE Internat1nal Symposium on Informat1n Theory,p.408,2002。
[0010]然而,實現相關密鑰綁定方法的方案具有如下問題:這些方案不能滿足作為生物模板保護的安全要求之一的多樣性。換句話說,在利用模糊承諾或模糊保險箱的密鑰綁定方法中,根據相同生物信息的模板和用戶特有密鑰生成的輔助信息包括公用部分,使得可以在多個資料庫之間進行交叉匹配。也就是說,這樣的密鑰綁定方案不滿足多樣性。
[0011]不僅在生物信息的匹配中出現上述問題,而且在數值信息如位置信息和機密信息的校對中也出現上述問題。
[0012]因此,本發明的實施方式的一個方面的目標是提供一種改進生物模板保護的密鑰綁定方法的多樣性的秘密數據匹配裝置。
【發明內容】
[0013]秘密數據匹配裝置包括:存儲單元,存儲通過基於第一隨機數和確定矩陣的行向量的第一線性組合來隱藏第一數據和密鑰數據所獲得的第一秘密向量,所述確定矩陣對於包括所述秘密數據匹配裝置的每個系統不同,並且通過將隨機數向量作為最後一列添加到包括對角分量的矩陣來生成,所述對角分量包括確定所述第一數據與第二數據是否彼此近似的閾值和與所述秘密數據相關的閾值;獲取單元,獲取通過基於第二隨機數和所述確定矩陣的行向量的第二線性組合來隱藏所述第二數據所獲得的第二秘密向量;計算單元,根據所述存儲單元中存儲的所述第一秘密向量與由所述獲取單元獲取的所述第二秘密向量之間的差來計算當所述確定矩陣用作模數時為殘差的殘差向量;確定單元,基於由所述計算單元計算的所述殘差向量來確定所述第一數據與所述第二數據是否彼此近似;以及提取單元,當確定所述第一數據與所述第二數據彼此近似,作為所述確定單元的確定結果時,從所述殘差向量提取密鑰數據。
【專利附圖】
【附圖說明】
[0014]圖1是示出了根據實施方式的秘密數據匹配系統的功能配置的示例的圖;
[0015]圖2是示出了根據實施方式的近似確定矩陣的圖;
[0016]圖3是描繪了根據實施方式的秘密數據登記處理的序列的圖;
[0017]圖4是描繪了根據實施方式的秘密數據匹配處理的序列的圖;以及
[0018]圖5是描繪了執行秘密數據匹配程序的計算機的示例的圖。
【具體實施方式】
[0019]將參照附圖來說明優選實施方式。秘密數據匹配裝置採用生物模板保護的密鑰綁定方案。實施方式並不限制本發明。
[0020]秘密數據匹配系統的配置
[0021]圖1是示出了根據實施方式的秘密數據匹配系統的功能配置的示例的圖。如圖1所描繪的,秘密數據匹配系統9包括客戶端1和客戶端2以及秘密數據匹配裝置3。秘密數據匹配裝置3包括資料庫330。秘密數據匹配裝置3與客戶端1和客戶端2通過網絡連接。
[0022]在此,秘密數據匹配系統9基於稱作點陣掩蔽的特殊隨機數(點陣元素)來隱藏客戶特有密鑰數據和客戶端的生物數據,並且將通過隱藏上述數據所獲得的第一秘密數據登記在資料庫330中。當秘密數據匹配系統9接收對生物數據進行匹配的請求時,秘密數據匹配系統9基於點陣的不同元素隱藏要被匹配的生物數據,並且獲取通過隱藏生物數據所獲得的第二秘密數據。然後,秘密數據匹配系統9通過使用點陣理論特定的映射,根據第一秘密數據與第二秘密數據之間的差異來確定與第一秘密數據對應的生物數據和與第二秘密數據對應的生物數據是否彼此近似。如果秘密數據匹配系統9確定與第一秘密數據對應的生物數據和與第二秘密數據對應的生物數據彼此近似,則秘密數據匹配系統9從第一秘密數據提取密鑰數據,並且將所提取的密鑰數據輸出至請求源。在該實施方式中,為了方便描述,假定客戶端I是登記生物數據的客戶端,並且假定客戶端2是請求對生物數據進行匹配的終端。可以存在多個客戶端I。可以存在多個客戶端2。
[0023]下面將對秘密數據匹配系統9中的生物數據和客戶特有密鑰數據的隱藏以及每個隱藏的秘密數據之間的近似確定的內容進行描述。
[0024]客戶端I包括登記請求單元11和秘密數據生成單元12。在該實施方式中,由例如數值表示密鑰112。
[0025]登記請求單元11請求秘密數據匹配裝置3來登記生物數據111和密鑰112。例如,登記請求單元11從外部終端接收生物數據111和密鑰112。然後,登記請求單元11請求秘密數據匹配裝置3來登記接收到的生物數據111和密鑰112。外部終端可以是通過網絡連接的終端。
[0026]在此,生物數據111是客戶端的物理特徵或行為特徵的數據。物理特徵的示例包括指紋、靜脈、虹膜和DNA。行為特徵的示例是筆跡。在該實施方式中,由包括η維分量的向量表示生物數據111。密鑰112是客戶端想要連同生物數據一起登記的密鑰數據。在該實施方式中,由例如數值表示密鑰112。
[0027]登記請求單元11作為對登記請求的響應,從秘密數據匹配裝置3接收的、與下文將描述的近似確定矩陣331對應的線性組合(點陣元素),並且將所接收的點陣元素輸出至秘密數據生成單元12。當登記請求單元11從秘密數據生成單元12接收其中隱藏生物數據111和密鑰112的秘密向量時,登記請求單元11請求秘密數據匹配裝置3來登記秘密向量。
[0028]秘密數據生成單元12生成其中隱藏生物數據111和密鑰112的秘密向量。
[0029]例如,秘密數據生成單元12對於生物數據111和密鑰112生成其中將「O」附加到生物數據111和密鑰112的組合數據的最後一個分量的(η+2)維向量。具體地,秘密數據生成單元12生成其中將密鑰112中包括的一維分量以及作為第(η+2)個分量的「O」附加到生物數據111中包括的η維分量的(η+2)維向量。作為示例,假定生物數據111是表示η維分量的Τ,而密鑰112是表示一維分量的K。那麼,秘密數據生成單元12生成(Τ,K, O)作為(η+2)維向量。
[0030]當秘密數據生成單元12從登記請求單元11獲取線性組合(點陣元素)時,秘密數據生成單元12生成隨機數。然後,秘密數據生成單元12生成秘密向量,其中所生成的(η+2)維向量與線性組合(點陣元素)和隨機數的乘積相加。作為示例,如果隨機數為r1;並且點陣元素為匕,則由(T,LOHr1Xb1表示秘密向量。然後,秘密數據生成單元12將所生成的秘密向量輸出至登記請求單元11。
[0031]客戶端2包括匹配請求單元21和秘密數據生成單元22。
[0032]匹配請求單元21請求秘密數據匹配裝置3來匹配生物數據。請求要被匹配的生物數據是匹配數據211。在該實施方式中,由包括η維分量的向量表示匹配數據211。匹配請求單元21作為對匹配請求的響應,從秘密數據匹配裝置3接收與下文將描述的近似確定矩陣331對應的線性組合(點陣元素),並且將所接收的點陣元素輸出至秘密數據產生單元22。當匹配請求單元21從秘密數據生成單元22接收到其中隱藏匹配數據211的秘密向量時,匹配請求單元21請求秘密數據匹配裝置3來匹配秘密向量。從秘密數據匹配裝置3接收到的點陣元素不同於當進行登記時由客戶端1的登記請求單元11接收到的點陣元素。
[0033]秘密數據生成單元22生成其中隱藏匹配數據211的秘密向量。
[0034]例如,秘密數據生成單元22生成其中將「0」附加到匹配數據211的最後一個分量和倒數第二個分量的(n+2)維向量。具體地,秘密數據生成單元22生成其中將兩個「0」作為第(n+1)分量和第(n+2)分量附加到匹配數據211中包括的η維分量的(η+2)維向量。作為示例,假定匹配數據211是表示η維分量的Q。那麼,秘密數據生成單元22生成(Q,0,0)作為(η+2)維向量。
[0035]當秘密數據生成單元22從匹配請求單元21獲取線性組合(點陣元素)時,秘密數據生成單元22生成隨機數。然後,秘密數據生成單元22生成秘密向量,其中所生成的(η+2)維向量與線性組合(點陣元素)和隨機數的乘積相加。作為示例,如果隨機數為r2,並且點陣元素Sb2,則由(0,0,0)+1"2\132表示秘密向量。然後,秘密數據生成單元22將所生成的秘密向量輸出至匹配請求單元21。儘管可以使用任意方法作為生成隨機數的方法,但是期望參數在客戶端1與客戶端2之間不同,使得在客戶端1和客戶端2中生成的隨機數彼此不重疊。
[0036]秘密數據匹配裝置3包括登記單元31、認證單元32和存儲單元33。登記單元31生成下文將描述的近似確定矩陣,並且將所生成的近似確定矩陣登記在存儲單元33的資料庫330中。此外,登記單元31將被請求登記在資料庫330中的秘密數據登記在存儲單元33中。認證單元32將被請求匹配的、其中隱藏匹配數據的秘密數據與所登記的秘密數據進行匹配,並且確定這兩個秘密數據是否彼此近似。
[0037]存儲單元33是存儲裝置如硬碟或光碟。存儲單元33可以是數據可重寫半導體存儲器如RAM(隨機存取存儲器)、R0M(只讀存儲器)、快閃記憶體和NVSRAM(非易失靜態隨機存取存儲器)。
[0038]存儲單元33存儲資料庫330。資料庫330存儲近似確定矩陣331和秘密數據332。近似確定矩陣331和秘密數據332由下面描述的登記單元31登記。下文將描述近似確定矩陣331的細節。
[0039]登記單元31包括隨機數生成單元311、近似確定矩陣生成單元312、近似確定矩陣登記單元313和秘密數據登記單元314。
[0040]隨機數生成單元311生成近似確定矩陣331中所使用的隨機數,並且將所生成的隨機數輸出至近似確定矩陣生成單元312。在此,當生成近似確定矩陣331時,近似確定矩陣331中所使用的隨機數是被添加作為表示近似範圍的閾值的方陣的倒數第二行和最後一行的隨機數。近似範圍的閾值是由客戶端設定為近似範圍的數值並且是將每維方向中的長度表示為近似範圍中的向量的信息。例如,當近似範圍的閾值是「e、f、g」時,隨機數生成單元311生成滿足e/2彡h,f/2彡i以及g/2彡j的隨機數「h、1、j」以及任意隨機數「k、1」。
[0041]近似確定矩陣生成單元312生成近似確定矩陣331以進行近似確定。所生成的近似確定矩陣331被生成為,對於安裝有秘密數據匹配裝置3的每個系統來說不同。
[0042]例如,近似確定矩陣生成單元312生成其中表示近似範圍的閾值是對角分量並且其他分量是「O」的對角矩陣。作為示例,當要被確定的生物數據是表示η個分量的信息時,也就是說,當生物數據111是η維信息時,近似確定矩陣生成單元312生成ηΧη對角矩陣。此外,近似確定矩陣生成單元312在第(η+1)行和第(η+1)列設定密鑰112的閾值。密鑰112的閾值是表示由客戶設定的密鑰的最大值的信息。
[0043]然後,近似確定矩陣生成單元312生成其中將所有分量為「O」的倒數第二行和最後一行附加到所生成的ηΧη對角矩陣的(n+2) Xn矩陣。近似確定矩陣生成單元312生成具有η個分量的隨機數向量。近似確定矩陣生成單元312生成具有分量的隨機數向量,分量的數量通過使2與對角矩陣的列的數量η相加來獲得(其數量是最後一列的序數)。由隨機數生成單元311生成的隨機數被設定成隨機數向量的分量。然後,秘密數據匹配裝置3生成被附加隨機數向量的(η+2) X (η+2)方陣,作為近似確定矩陣331。
[0044]近似確定矩陣登記單元313將由近似確定矩陣生成單元312生成的近似確定矩陣331登記在資料庫330中。
[0045]在此,將參照圖2來描述近似確定矩陣331。圖2是示出了根據實施方式的近似確定矩陣的圖。在圖2所描繪的示例中,將描述由三維數字表示生物數據和近似範圍的示例。如圖2所描繪的,與近似確定矩陣331對應的近似確定矩陣V是其中將隨機數向量和密鑰的閾值附加到由虛線表示的範圍中的近似確定矩陣的矩陣。
[0046]近似確定矩陣包括閾值,其將長度指定為近似範圍中的每維方向上的向量,作為對角元素。例如,圖2中所描繪的示例表示近似範圍中的X軸方向上的向量的長度是「20」,近似範圍中的y軸方向上的向量的長度是「 10」,並且近似範圍中的z軸方向上的向量的長度是「14」。換句話說,圖2中所描繪的近似確定的矩陣是確定兩個生物數據是否在X軸方向上包括在「±10」的範圍內,在y軸方向上包括在「 ±5」的範圍內,並且在z軸方向上包括在「 ±7」的範圍內。
[0047]此外,將「0、0、0」附加到用於嵌入密鑰的第四行中。此外,將通過組合隨機數向量「7、4、5」與密鑰的閾值「20000」所獲得的「7、4、5、20000」添加到第四列中。然後,將「0、0、0、0」添加到作為最後一行的第五行中。此外,將隨機數向量「5、3、- 2、- 42、123」添加到作為最後一列的第五列中。在圖2中所描繪的示例,儘管由三維數字指定近似範圍,但該實施方式不限於此,並且可以使用任何維數字。
[0048]秘密數據登記單元314將秘密數據登記在資料庫330中。所登記的秘密數據對應於密鑰綁定方案中被保護的模板。
[0049]例如,當秘密數據登記單元314從客戶端I接收生物數據111和密鑰112的登記請求時,秘密數據登記單元314生成與近似確定矩陣331對應的線性組合的隨機數。作為示例,秘密數據登記單元314獲取包括與近似確定矩陣331對應的(η+2)個分量的行向量Vl、v2、...、和vn+2o然後,秘密數據登記單元314分別選擇與行向量Vp v2>...、和vn+2對應的適當整數Clpd2.....和4+2。然後,秘密數據登記單元314計算每個行向量與每個整數的乘積之和,也就是說,由(I1Xv^d2Xv2+...+dn+2Xvn+2表示的(η+2)維向量,作為線性組合。該線性組合是「點陣元素」。秘密數據登記單元314為每個生物數據選擇不同的整數集合屯、d2.....和dn+2,並且計算作為所選擇的整數集合與近似確定矩陣331的每個行向量的乘積之和的線性組合。
[0050]秘密數據登記單元314作為對登記請求的響應,將所計算的線性組合即點陣元素,分發給客戶端1。當秘密數據登記單元314從客戶端1接收秘密數據332的登記請求時,秘密數據登記單元314將被請求登記的秘密數據332登記在資料庫330中。
[0051]認證單元32包括匹配請求接收單元321、計算單元322、近似確定單元323和密鑰輸出單元324。
[0052]當匹配請求接收單元321從客戶端2接收匹配請求時,匹配請求接收單元321生成與近似確定矩陣331對應的線性組合(點陣元素)的隨機數。線性組合的隨機數生成與通過秘密數據登記單元314的隨機數生成相同,使得將省略其描述。由匹配請求接收單元321生成的點陣元素被生成為,與當進行登記時由秘密數據登記單元314生成的點陣元素不同。
[0053]匹配請求接收單元321作為對匹配請求的響應,將所計算的線性組合,即點陣元素,分發給客戶端2。當匹配請求接收單元321從客戶端2接收其中隱藏匹配數據211的秘密向量的匹配請求時,匹配請求接收單元321將被請求匹配的秘密向量輸出至計算單元322。
[0054]計算單元322計算被登記在資料庫330中的秘密數據332(秘密向量)與其中隱藏匹配數據211且從客戶端2接收的秘密向量之間的差向量。然後,計算單元322根據所計算的差向量來計算當近似確定矩陣331用作模數時作為殘差的殘差向量。作為一個示例,當差向量為z並且近似確定矩陣331為V時,由「z mod V」表示殘差向量。然後,計算單元322將所生成的殘差向量輸出至近似確定單元323。
[0055]近似確定單元323確定從計算單元322接收的殘差向量的最後一個分量是否是「0」,如果殘差向量的最後一個分量是「0」,則近似確定單元323確定匹配數據211和登記源的生物數據111彼此近似。另一方面,如果殘差向量的最後一個分量不是「0」,則近似確定單元323確定匹配數據211和登記源的生物數據111彼此不近似。
[0056]當確定生物數據111和匹配數據211彼此近似時,密鑰輸出單元324從殘差向量提取第(n+1)個分量的密鑰112。然後,秘密數據匹配裝置3將所提取的密鑰112輸出至作為匹配源的客戶端2。
[0057]在此,將描述由認證單元32執行的近似確定的原理。假定近似確定矩陣331是近似確定矩陣V來描述該原理。近似確定矩陣V的每個行向量v1、v2.....和vn+2的線性組合可以由其元素是近似確定矩陣V的每個行向量的線性組合d1Xv1+d2Xv2+...+dn+2Xvn+2的集合L(點陣L)來表示。換句話說,近似確定矩陣V的每個行向量的線性組合對應於由集合L的元素形成的點陣上的交叉中的任意一個。
[0058]使用隨機數Γι和集合L的點陣元素匕由下面的表達式(1)表示其中隱藏η維生物數據Τ和密鑰Κ的秘密向量Η。在此,[Τ,Κ,0]是其中將密鑰Κ和作為第(η+2)分量的「0」附加到生物數據Τ的(η+2)維向量。
[0059]Η = [Τ, K, Oj+r^b!(1)
[0060]使用隨機數r2和集合L的點陣的元素b2由下面的表達式(2)表示其中隱藏η維匹配數據Q的秘密向量Η』。在此,[Q,0,0]是其中將兩個「0」作為第(n+1)分量和第(η+2)分量附加到匹配數據Q的(η+2)維向量。
[0061]H,= [Q, 0,0]+r2Xb2(2)
[0062]在這種情況下,由下面的表達式(3)表示秘密向量H與H』之間的差向量z。
[0063]z = H-H,= [T-QAO^r1XVr2Xb2 (3)
[0064]在此,包括在差向量z中的&Xb1I2Xb2是集合L的元素與隨機數的乘積之間的差,使得A X brr2 X b2包括在集合L的元素中。換句話說,Γι X brr2 X b2對應於由集合L的元素形成的點陣上的交叉中的任意一個。當根據差向量z計算近似確定矩陣V的殘差向量時,(z mod V)對應於將差向量z映射到由集合L確定的基本域P(L)。因此,當根據差向量z計算近似確定矩陣V的殘差向量時,忽略a Xb1I2Xlv因此,當計算z mod V時,忽略差向量z中的包括除了差向量z的前端部分之外的部分的點陣部分,並且將包括差向量z的前端部分的僅一個點陣映射到基本域P(L)。具體地,由下面的表達式(4)表示z mod V。
[0065]z mod V= [T-Q, K, O] mod V(4)
[0066]當將向量[T-Q,K,0]包括在基本域P(L)中時,也就是說,當生物數據T和匹配數據Q彼此近似時,建立z mod V = [T-Q, K, 0]。因此,當生物數據T和匹配數據Q彼此近似時,存在z mod V的最後一個分量是「O」的高可能性。
[0067]另一方面,當向量[T-Q,K,0]不包括在基本域P (L)中時,也就是說,當生物數據T和匹配數據Q彼此不近似時,當b是屬於集合L的點陣的某個元素時,建立z mod V =[T-Q,K,0]+b。因此,當生物數據T和匹配數據Q彼此不近似時,存在z mod V的最後一個分量是除了 「O」之外的值的高可能性。
[0068]根據該原理,認證單元32可以根據秘密向量之間的差z來計算近似確定矩陣V的殘差向量,並且基於所計算的殘差向量的最後一個分量來執行隱藏的生物數據的近似確定。當認證單元32確定隱藏的生物數據近似作為近似確定的結果時,認證單元32從秘密向量H提取密鑰K,並且將所提取的密鑰K輸出至匹配源。
[0069]秘密數據登記處理的序列
[0070]接下來,將參照圖3來描述秘密數據登記處理的序列。圖3是描繪了根據實施方式的秘密數據登記處理的序列的圖。在圖3中,由T表示客戶的生物數據111,由K表示客戶特有密鑰112,由V表示近似確定矩陣331,並且由H表示秘密向量。
[0071]在秘密數據匹配裝置3中,近似確定矩陣生成單元312生成近似確定矩陣V (步驟Sll)。然後,近似確定矩陣登記單元313將所生成的近似確定矩陣V登記在資料庫330中(步驟S12)。
[0072]在客戶端I中,登記請求單元11獲取登記信息(步驟S13)。在此,登記請求單元11獲取生物數據T和密鑰K作為登記信息。然後,登記請求單元11請求秘密數據匹配裝置3來登記生物數據T和密鑰K (步驟S14)。
[0073]在秘密數據匹配裝置3中,從客戶端I接收登記請求的秘密數據登記單元314生成隨機數點陣向量(步驟S15)。在此,秘密數據登記單元314計算由近似確定矩陣V的每個行向量與每個適當整數的乘積之和表示的線性組合。所計算的線性組合是作為點陣元素的隨機數點陣向量Iv然後,秘密數據登記單元314將所計算的隨機數點陣向量(點陣元素)h發送至客戶端1(步驟S16)。
[0074]在客戶端I中,秘密數據生成單元12生成登記信息(步驟S17)。在此,秘密數據生成單元12生成其中將「O」附加到生物數據T和密鑰K的組合數據的最後一個分量的向量(τ,Κ, 0)。
[0075]然後,秘密數據生成單元12隱藏登記信息(步驟S18)。在此,秘密數據生成單元12生成秘密向量Η,其中所生成的向量(Τ,Κ,0)與隨機數點陣向量(點陣元素)h和隨機數的乘積相加。當隨機數是A時,由(T,K,0)+1^X1^表示秘密向量H。
[0076]然後,登記請求單元11將秘密向量Η發送至秘密數據匹配裝置3來請求秘密數據匹配裝置3登記為由秘密數據生成單元12隱藏的登記信息的秘密向量Η(步驟S19)。因此,秘密向量Η被登記在秘密數據匹配裝置3的資料庫330中。
[0077]秘密數據匹配處理的序列
[0078]接下來,將參照圖4來描述秘密數據匹配處理的序列。圖4是描繪了根據實施方式的秘密數據匹配處理的序列的圖。在圖4中,由Q表示客戶的匹配數據211,由Κ表示客戶特有密鑰112,由V表示近似確定矩陣331,並且由Η』和Η表示秘密向量。
[0079]在客戶端2中,匹配請求單元21獲取匹配信息(步驟S21)。在此,匹配請求單元21獲取匹配數據Q作為匹配信息。然後,匹配請求單元21請求秘密數據匹配裝置3對匹配數據Q進行匹配(步驟S22)。
[0080]在秘密數據匹配裝置3中,從客戶端2接收匹配請求的匹配請求接收單元321從資料庫330獲取近似確定矩陣V (步驟S23)。然後,匹配請求接收單元321生成隨機數點陣向量(步驟S24)。在此,匹配請求接收單元321計算由所獲取的近似確定矩陣V的每個行向量與每個適當整數的乘積之和表示的線性組合。所計算的線性組合是作為點陣元素的隨機數點陣向量b2。然後,匹配請求接收單元321將所計算的隨機數點陣向量(點陣元素)b2發送至客戶端2(步驟S25)。在此,匕和、彼此不同。
[0081]在客戶端2中,秘密數據生成單元22生成秘密匹配信息(步驟S26)。在此,秘密數據生成單元22生成其中將兩個「0」附加到匹配數據Q的向量(Q,0,0)。然後,秘密數據生成單元22生成秘密向量H』,其中所生成的向量(Q,0,0)與隨機數點陣向量(點陣元素)匕和隨機數的乘積相加。當隨機數是1*2時,由(Q,0,0)+r2Xb2表示秘密向量H』。然後,匹配請求單元21將秘密向量H』發送至秘密數據匹配裝置3來請求秘密數據匹配裝置3匹配秘密向量H』(步驟S27)。
[0082]在秘密數據匹配裝置3中,計算單元322從資料庫300獲取秘密向量Η (步驟S28)。然後,近似確定單元323在不改變秘密向量的秘密狀態的情況下通過使用根據被請求匹配的秘密向量Η』與所獲取的秘密向量Η之間的差向量所計算的殘差向量來進行匹配處理。(步驟S29)。在此,近似確定單元323確定殘差向量的最後一個分量是否是「0」。如果殘差向量的最後一個分量是「0」,則近似確定單元323確定匹配數據Q和登記源的生物數據Τ彼此近似。另一方面,如果殘差向量的最後一個分量不是「0」,則近似確定單元323確定匹配數據Q和登記源的生物數據Τ彼此不近似。
[0083]當確定生物數據Τ和匹配數據Q彼此近似時,密鑰輸出單元324從殘差向量提取用戶特有密鑰Κ (步驟S30)。然後,密鑰輸出單元324將所提取的密鑰Κ發送至請求匹配的客戶端2(步驟S31)。
[0084]由此,之後,客戶端2可以通過使用所提取的客戶特有密鑰Κ來進行認證檢查。作為示例,在客戶端2中,如果所提取的客戶特有密鑰Κ用作秘密密鑰,則可以通過使用秘密密鑰和預先存儲的公共密鑰來進行基於公共密鑰認證方法的認證檢查。
[0085]秘密數據匹配裝置3可以滿足生物模板保護中的密鑰綁定方法中的多樣性。具體地,秘密數據匹配裝置3根據生物數據T和客戶特有密鑰K的近似確定矩陣V來生成要登記在資料庫330中的秘密向量H。假定根據兩個不同的近似確定矩陣V1和V2分別生成生物數據T和客戶特有密鑰K的秘密向量H1和H2。當Id1是根據近似確定矩陣V1所生成的點陣元素時,由(HOHr1Xb1表示根據近似確定矩陣%所生成的秘密向量氏。當匕是根據近似確定矩陣V2所生成的點陣元素時,由(T,K, O) +r2 Xb2表示根據近似確定矩陣V2所生成的秘密向量H2。然後,近似確定矩陣V1和V2彼此不同,使得Id1和b2彼此不同。從而,難以從兩個秘密向量H1和H2獲得公用信息。因此,如果近似確定矩陣V1和V2對於每個系統來說彼此不同,則對於生物數據T和客戶特有密鑰K來說不交叉匹配秘密向量H1和H2。也就是說,滿足多樣性。
[0086]秘密數據的登記處理和匹配處理的具體示例
[0087]接下來,將使用具體示例來描述根據實施方式的秘密數據的登記處理和匹配處理。假定秘密數據匹配系統9使用三維數據作為生物數據。例如,假定當它們被登記時客戶端I中輸入的第一用戶的生物數據T為[123,512,120],並且密鑰K為「6497」。假定圖2中所描繪的近似確定矩陣V由秘密數據匹配裝置3生成。
[0088]秘密數據的登記處理的具體示例
[0089]從客戶端I接收到生物數據T和密鑰K的登記請求的秘密數據匹配裝置3在近似確定矩陣V中設定每個行向量V1至%。然後,秘密數據匹配裝置3計算由每個行向量V1至V5與每個適當整數的乘積之和表示的線性組合Iv在此,由下面的表達式(5)表示線性組合h。
[0090]b1 = 2 X ν!+3 X v2-5 X V3-V4+5 X v5 = [40, 30, -70, -199999, 686] (5)
[0091]然後,秘密數據匹配裝置3將所計算的線性組合Id1發送至客戶端I。
[0092]接收線性組合Id1的客戶端I生成秘密向量H,其中「O」被附加到生物數據T和密鑰K的組合數據的最後一個分量的向量(τ,κ,ο)與線性組合匕和隨機數的乘積相加。在此,當由客戶端選擇的隨機數巧是「了」時,由下面的表達式(6)表示秘密向量H。
[0093]H = [Τ, K, Ohr1Xb1 = [403,722,-370, 133496,4802](6)
[0094]然後,客戶端I將所計算的秘密向量H發送至秘密數據匹配裝置3。秘密數據匹配裝置3將秘密向量H登記在資料庫330中。
[0095]秘密數據的匹配處理的具體示例I
[0096]作為一個示例,假定當進行匹配時在客戶端2中輸入的第一用戶的匹配數據Ql是[122,514,124]。
[0097]從客戶端2接收匹配數據Ql的匹配請求的秘密數據匹配裝置3在近似確定矩陣V中設定每個行向量V1至V5。然後,秘密數據匹配裝置3計算由每個行向量V1至V5與每個適當整數的乘積之和表示的線性組合b2。在此,由下面的表達式(7)表示線性組合b2。
[0098]b2 = 5 X Vf2 X v2+7 X v3+v5 = [100, 20, 98, 62, 128](7)
[0099]然後,秘密數據匹配裝置3將所計算的線性組合b2發送至客戶端2。
[0100]接收線性組合b2的客戶端2生成秘密向量H1,其中兩個「O」被附加到匹配數據Ql的向量(Q1,0,0)與線性組合匕和隨機數的乘積相加。在此,當由客戶端選擇的隨機數r2是「123」時,由下面的表達式⑶來表不秘密向量Hl。
[0101]HI = [Ql, 0,0]+r2Xb2 = [12422,-1946,12178,7626,15744](8)
[0102]然後,客戶端2將秘密向量HI發送至秘密數據匹配裝置3來請求秘密數據匹配裝置3匹配所計算的秘密向量H1。
[0103]隨後,秘密數據匹配裝置3根據被請求匹配的秘密向量H1與所登記的秘密向量Η之間的差向量Zl使用近似確定矩陣V作為模數來計算殘差向量。在此,計算差向量Zl =(H-HI),並且如下面的表達式(9)來計算使用近似確定矩陣V作為模數的殘差向量。
[0104]z^od V = ZfliZi X V-1] X V = [1,-2,-4,6497,0](9)
[0105]然後,因為根據秘密向量HI所計算的殘差向量的最後一個分量是「0」,所以秘密數據匹配裝置3確定匹配數據Q1和登記源的生物數據T彼此近似。然後,秘密數據匹配裝置3提取殘差向量的倒數第二個分量的密鑰K。在此,將「6497」提取為密鑰K。
[0106]然後,秘密數據匹配裝置3將「6497」發送至請求匹配的客戶端2。
[0107]秘密數據的匹配處理的具體示例2
[0108]作為另一示例,假定當進行匹配時作為在客戶端2中輸入的第二用戶的生物數據的秘密數據Q2是[121,555,123]。
[0109]從客戶端2接收匹配數據Q2的匹配請求的秘密數據匹配裝置3在近似確定矩陣V中設定每個行向量Vi至V5。然後,秘密數據匹配裝置3計算由每個向量Vi至V5與每個適當整數的乘積之和表示的線性組合b2。在此,由上述表達式(7)來表示線性組合b2。
[0110]然後,秘密數據匹配裝置3將所計算的線性組合b2發送至客戶端2。
[0111]接收線性組合b2的客戶端2生成秘密向量H2,其中兩個「0」被附加到匹配數據Q2的向量(Q2,0,0)與線性組合匕和隨機數的乘積相加。在此,當由客戶端選擇的隨機數r3是「-17」時,由下面的表達式(10)來表不秘密向量H2。
[0112]H2 = [Q2, 0,0]+r3Xb2 = [-1579,895,-1543,-1054,-2176] (10)
[0113]然後,客戶端2將秘密向量H2發送至秘密數據匹配裝置3來請求秘密數據匹配裝置3匹配所計算的秘密向量H2。
[0114]隨後,秘密數據匹配裝置3根據被請求匹配的秘密向量H2與所登記的秘密向量Η之間的差向量ζ2使用近似確定矩陣V作為模數來計算殘差向量。在此,計算差向量ζ2 =(Η-Η2),並且如下面的表達式(11)來計算使用近似確定矩陣V作為模數的殘差向量。
[0115]z2mod V = z2-[z2XV_1] XV = [2,_3,_3,6513,12](11)
[0116]然後,因為根據秘密向量H2所計算的殘差向量的最後一個分量不為「0」,所以秘密數據匹配裝置3確定匹配數據Q2和登記源的生物數據T彼此不近似。然後,秘密數據匹配裝置3將表示匹配失敗的信息發送至客戶端2。秘密數據匹配裝置3可以發送殘差向量的倒數第二個分量「6513」而非表示匹配失敗的信息。
[0117]實施方式的效果
[0118]根據上述實施方式,秘密數據匹配裝置3將通過基於第一隨機數和對於包括秘密數據匹配裝置3的每個系統不同的近似確定矩陣331的行向量的第一線性組合隱藏生物數據和密鑰所獲得的第一秘密向量登記在資料庫330中。然後,秘密數據匹配裝置3獲取通過基於第二隨機數和近似確定矩陣331的行向量的第二線性組合隱藏匹配數據所獲得的第二秘密向量。然後,秘密數據匹配裝置3根據第一秘密向量與第二秘密向量之間的差來計算當近似確定矩陣331用作模數時作為殘差的殘差向量。然後,秘密數據匹配裝置3基於所計算的殘差向量來確定生物數據和匹配數據是否彼此近似,並且當生物數據和匹配數據彼此近似時,秘密數據匹配裝置3從殘差向量提取密鑰。根據該配置,秘密數據匹配裝置3通過使用秘密向量進行近似確定,該秘密向量由對於包括秘密數據匹配裝置3的每個系統不同的近似確定矩陣331所對應的線性組合隱藏,並且當確定近似時,秘密數據匹配裝置3提取密鑰。因此,即使另一系統通過使用另一近似確定矩陣331來隱藏相同的數據,但是根據每個近似確定矩陣331分別生成的秘密向量不具有相同的部分,使得秘密向量彼此不交叉匹配。因此,秘密數據匹配裝置3可以改進密鑰綁定方法的多樣性。
[0119]根據上述實施方式,秘密數據匹配裝置3基於第二隨機數和與生成第一秘密向量時所使用的第一線性組合不同的第二線性組合來獲取第二秘密向量。根據該配置,秘密數據匹配裝置3獲取使用與生成第一秘密向量時所使用的線性組合不同的線性組合的第二秘密向量,使得難以區分秘密向量之間的相關性。因此,可以防止信息洩露。
[0120]根據上述實施方式,秘密數據匹配裝置3將所提取的密鑰輸出至匹配數據的確定請求源。根據該配置,確定請求源可以通過使用所接收的密鑰來進行認證檢查。
[0121]其他
[0122]在該實施方式中,描述了其中秘密數據匹配裝置3將其中隱藏與一個客戶相關的生物數據111和密鑰112的秘密數據332登記在資料庫330中並且將所登記的秘密數據332與其中隱藏匹配數據211的秘密數據進行匹配的情況。然而,秘密數據匹配裝置3可以將其中隱藏與多個客戶有關的生物數據111和密鑰112的多個秘密數據332分別登記在資料庫330中。在該情況下,當秘密匹配數據裝置3接收匹配請求時,秘密數據匹配裝置3可以依次選擇所登記的秘密數據332,並且將所選擇的秘密數據332與其中隱藏被請求匹配的匹配數據211的秘密數據進行匹配。如果秘密數據匹配裝置3確定所選擇的秘密數據332和秘密數據彼此近似,作為匹配的結果,則秘密數據匹配裝置3可以從進行匹配時所生成的殘差向量提取密鑰112,並且將密鑰112發送至匹配請求源。
[0123]在該實施方式中,描述了秘密數據匹配裝置3通過確定進行匹配時所生成的殘差向量的最後一個分量是否是「O」來確定匹配數據211與登記源的生物數據111是否彼此近似。然而,這不限於此,並且秘密數據匹配裝置3可以通過確定殘差向量的多個分量是否為「O」來確定匹配數據211和登記源的生物數據111是否彼此近似。
[0124]例如,當要被確定的生物數據是表示包括η個分量的信息時,也就是說,當生物數據111是η維信息時,近似確定矩陣生成單元312生成ηΧη對角矩陣。此外,近似確定矩陣生成單元312將其中第(η+1)行的分量為「O」的行向量附加到ηΧη對角矩陣。然後,近似確定矩陣生成單元312將其中組合η維隨機數向量與密鑰112的閾值的列向量附加到第(η+1)列。然後,近似確定矩陣生成單元312附加其中第(η+2)行的分量為「O」的行向量。然後,近似確定矩陣生成單元312通過將(η+2)維隨機數向量附加到第(η+2)列來生成(η+2) X (η+2)矩陣。
[0125]此外,近似確定矩陣生成單元312附加其中第(η+3)行的分量為「O」的行向量。近似確定矩陣生成單元312可以通過將(η+3)維隨機數向量附加到第(η+3)列來生成(η+3) X (η+3)近似確定矩陣331。
[0126]然後,秘密數據匹配裝置3通過執行與該實施方式中的處理相同的處理使用近似確定矩陣331作為模數來計算(η+3)維殘差向量。然後,秘密數據匹配裝置3可以通過確定殘差向量的第(η+2)維至第(η+3)維的所有分量是否為「0」來進行近似確定。由此,秘密數據匹配裝置3可以改進近似確定的精確度。以相同的方式,如果近似確定矩陣生成單元312生成(n+m) X (n+m)近似確定矩陣331 (m是大於3的自然數),則可以進一步改進近似確定的精確度。
[0127]在該實施方式中,描述其中秘密數據匹配裝置3用於生物數據111的近似確定的情況。然而,秘密數據匹配裝置3不限於此,並且秘密數據匹配裝置3可以用於機密文本之間的秘密相似度確定。例如,客戶端1從機密文本提取特徵字符或文本部分,並且生成表示所提取的部分的特徵量的特徵量向量。然後,客戶端1通過執行與該實施方式中的處理相同處理來生成其中隱藏所生成的特徵量向量和密鑰的秘密向量,並且將秘密向量登記在秘密數據匹配裝置3的資料庫330中。然後,秘密數據匹配裝置3可以通過執行與該實施方式中的處理相同處理,將由客戶端2生成的並且其中隱藏期望被匹配的特徵量向量的秘密向量與所登記的秘密向量進行匹配。
[0128]秘密數據匹配裝置3可以通過將登記單元31、認證單元32等的每個功能安裝在信息處理裝置如已知的個人計算機和工作站中來實現。
[0129]圖中所描繪的裝置的部件不一定物理上被配置為圖中所描繪的那樣。換句話說,裝置的分布和集成的具體形式不限於圖中所示出的這些形式,並且裝置的全部或部分可以根據各種負載和使用狀態在功能上或物理上被分布或集成在任意單元中。例如,隨機數生成單元311和近似確定矩陣生成單元312可以被集成到一個單元中。另一方面,近似確定矩陣生成單元312可以被劃分成在矩陣中設定表示近似範圍的閾值和密鑰的閾值的第一設定單元,以及設定隨機數的第二設定單元。此外,資料庫330可以是連接至秘密數據匹配裝置3的外部裝置或可以是通過網絡連接的外部裝置。
[0130]可以通過在計算機如個人計算機或工作站上執行預先準備的程序來實現上述實施方式中所描述的各種處理。因此,下面將對執行實現與圖1中所描繪的數據匹配裝置3的功能相同的功能的秘密數據匹配程序的計算機的示例進行描述。圖5是描繪了執行秘密數據匹配程序的計算機的示例的圖。
[0131]如圖5所描繪的,計算機200包括:進行各種算術處理的CPU 203、從用戶接收數據輸入的輸入裝置215、以及控制顯示裝置209的顯示控制單元207。計算機200還包括:從存儲介質讀取程序等的驅動裝置213、以及通過網絡將數據發送至另一計算機或從另一計算機接收數據的通信控制單元217。計算機200還包括HDD 205和臨時存儲各種信息的存儲器201。存儲器201、CPU 203,HDD 205、顯示控制單元207、驅動裝置213、輸入裝置215和通信控制單元217通過總線219連接。
[0132]例如,驅動裝置213是可移動盤211的裝置。HDD205存儲秘密數據匹配程序205a和秘密數據匹配相關信息205b。
[0133]作為處理,CPU203讀取秘密數據匹配程序205a,將秘密數據匹配程序205a擴展到存儲器201中,並且執行秘密數據匹配程序205a。該處理對應於秘密數據匹配裝置3中的每個功能單元。秘密數據匹配相關信息205b對應於近似確定矩陣331和秘密數據332。例如,可移動盤211存儲每條信息如秘密數據匹配程序205a。
[0134]秘密數據匹配程序205a不一定從開始就被存儲在HDD 205中。例如,程序存儲在插入計算機200中的「可攜式物理介質」如柔性盤(FD)、⑶-R0M、DVD盤、磁光碟和1C卡中。然後,計算機200可以從這樣的介質中讀取秘密數據匹配程序205a,並且執行秘密數據匹配程序205a。
[0135] 根據本申請中所公開的系統的一種模式,可以改進生物模板保護中的密鑰綁定方法的多樣性。
【權利要求】
1.一種秘密數據匹配裝置,包括: 存儲單元,存儲通過基於第一隨機數和確定矩陣的行向量的第一線性組合來隱藏第一數據和密鑰數據所獲得的第一秘密向量,所述確定矩陣對於包括所述秘密數據匹配裝置的每個系統不同,並且通過將隨機數向量作為最後一列附加到包括對角分量的矩陣來生成所述確定矩陣,所述對角分量包括用於確定所述第一數據與第二數據是否彼此近似的閾值和與所述密鑰數據相關的閾值; 獲取單元,獲取通過基於第二隨機數和所述確定矩陣的行向量的第二線性組合來隱藏所述第二數據所獲得的第二秘密向量; 計算單元,根據所述存儲單元中存儲的所述第一秘密向量與所述獲取單元獲取的所述第二秘密向量之間的差來計算當所述確定矩陣用作模數時作為殘差的殘差向量; 確定單元,基於由所述計算單元計算的所述殘差向量來確定所述第一數據與所述第二數據是否彼此近似;以及 提取單元,當確定所述第一數據與所述第二數據彼此近似作為所述確定單元的確定結果時,從所述殘差向量提取密鑰數據。
2.根據權利要求1所述的秘密數據匹配裝置,其中,所述獲取單元獲取基於所述第二隨機數和第二線性組合所生成的所述第二秘密向量,所述第二線性組合與當生成所述第一秘密向量時所使用的所述第一線性組合不同。
3.根據權利要求1或2所述的秘密數據匹配裝置,還包括: 輸出單元,將由所述提取單元提取的所述密鑰數據輸出至所述第二數據的確定請求源。
4.一種由計算機執行的秘密數據匹配方法,所述方法包括: 登記通過基於第一隨機數和確定矩陣的行向量的第一線性組合來隱藏第一數據和密鑰數據所獲得的第一秘密向量,所述確定矩陣對於包括所述計算機的每個系統不同,並且通過將隨機數向量作為最後一列附加到包括對角分量的矩陣來生成所述確定矩陣,所述對角分量包括確定所述第一數據與第二數據是否彼此近似的閾值和與存儲單元中的所述密鑰數據相關的閾值; 獲取通過基於第二隨機數和所述確定矩陣的行向量的第二線性組合來隱藏所述第二數據所獲得的第二秘密向量; 根據所述存儲單元中存儲的所述第一秘密向量與通過所述獲取處理獲取的所述第二秘密向量之間的差來計算當所述確定矩陣用作模數時作為殘差的殘差向量; 基於通過所述計算處理計算的所述殘差向量來確定所述第一數據與所述第二數據是否彼此近似;以及 當確定所述第一數據與所述第二數據彼此近似作為所述確定處理的確定結果時,從所述殘差向量提取密鑰數據。
【文檔編號】H04L9/32GK104281798SQ201410323274
【公開日】2015年1月14日 申請日期:2014年7月8日 優先權日:2013年7月11日
【發明者】條由花, 安田雅哉 申請人:富士通株式會社