專(zhuān)利名稱(chēng):可檢索密碼處理系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種檢索處理系統(tǒng),其在服務(wù)器/客戶端模型中,服務(wù)器依照客戶端的請(qǐng)求,不對(duì)加密數(shù)據(jù)進(jìn)行解密地就檢索保管的加密數(shù)據(jù)。
背景技術(shù):
以信息系統(tǒng)的開(kāi)發(fā)/運(yùn)用管理費(fèi)的高效化為目的,近年來(lái)不是由本組織維持信息系統(tǒng)而是利用其他組織提供的信息系統(tǒng)的被稱(chēng)為云的運(yùn)用管理形式正在登上舞臺(tái)。另一方面,在云中,管理信息系統(tǒng)的組織與利用信息系統(tǒng)的組織不同,因此僅在本組織中難以實(shí)施防止信息泄露等的策略、事故發(fā)生后的原因調(diào)查、再發(fā)生防止策略等。因此,作為數(shù)據(jù)的非法外流的預(yù)防策略,需要靈活運(yùn)用密碼技術(shù),確保數(shù)據(jù)的機(jī)密性。已知以下的方式,即在服務(wù)器/客戶端模型中,客戶端將數(shù)據(jù)保管在服務(wù)器中,同時(shí)針對(duì)服務(wù)器,作為防止保管的數(shù)據(jù)的信息泄露的技術(shù)使用密碼技術(shù)。例如在非專(zhuān)利文獻(xiàn)
1、非專(zhuān)利文獻(xiàn)2中,記載了以下的檢索處理方式,即依照客戶端的請(qǐng)求,不對(duì)加密數(shù)據(jù)進(jìn)行解密就檢索所保管的加密數(shù)據(jù)。該檢索處理方式揭示了以下的技術(shù),即采用了比明文和密文具有一對(duì)一的簡(jiǎn)單對(duì)應(yīng)關(guān)系的決定性加密方式更安全的、明文和密文具有一對(duì)多的復(fù)雜對(duì)應(yīng)關(guān)系的概率性加密方式,防止向服務(wù)器管理者泄露信息,同時(shí)安全地檢索在服務(wù)器中保管的數(shù)據(jù)。現(xiàn)有技術(shù)文獻(xiàn)非專(zhuān)利文獻(xiàn)非專(zhuān)利文獻(xiàn)1:Dawn Xiaodong Song, David Wagner, Arian Perrig.” PracticalTechniques for Searches on Encrypted Data,,.1n Proceedings of the 2000 IEEESymposium on Security and Privacy, pages44-55(2000).
非專(zhuān)利文獻(xiàn)2:Zhiqiang Yang, Sheng Zhong, Rebecca N.Wright.“Privacy-Preserving Queries on Encrypted Data,,.1n Proceedings of the Ilth EuropeanSymposium on Research in Computer Security (Esorics),Volume4189 of Lecture Notesin Computer Science, pages 476-495(2006).
發(fā)明內(nèi)容
發(fā)明要解決的問(wèn)題但是,在非專(zhuān)利文獻(xiàn)1、非專(zhuān)利文獻(xiàn)2所記載的技術(shù)中,為了對(duì)在服務(wù)器中保管的通過(guò)概率性加密加密后的數(shù)據(jù)進(jìn)行解密所需要的運(yùn)用管理變得復(fù)雜,客戶端、服務(wù)器都變得復(fù)雜。并且,基于偽隨機(jī)數(shù)的概率性加密直到由客戶端進(jìn)行檢索都是有效的,但在檢索后,與檢索相關(guān)的密文的偽隨機(jī)數(shù)的掩碼被解除,密文的安全性從概率性加密降低到?jīng)Q定性加密。并且,客戶端在檢索時(shí)的請(qǐng)求(檢索查詢(xún))的加密中使用了安全性低的決定性加密方式,因此對(duì)頻度分析等非法攻擊也是脆弱的。解決問(wèn)題的技術(shù)方案
為了解決上述問(wèn)題,在可檢索密碼處理系統(tǒng)中,保存數(shù)據(jù)的DB服務(wù)器、將數(shù)據(jù)保管在DB服務(wù)器中的登錄客戶端、使DB服務(wù)器檢索數(shù)據(jù)的檢索客戶端經(jīng)由網(wǎng)絡(luò)而協(xié)作,登錄客戶端把通過(guò)使用了基于哈希值和準(zhǔn)同型函數(shù)的輸出值的掩碼的概率性加密方式加密后的數(shù)據(jù)安全地保管在服務(wù)器中,檢索客戶端在檢索查詢(xún)的加密中,通過(guò)利用了根據(jù)多個(gè)不同的輸入值輸出相同的值的準(zhǔn)同型函數(shù)的掩碼進(jìn)行概率性加密,不使DB服務(wù)器解除掩碼、并且不向DB服務(wù)器泄露與檢索相關(guān)的數(shù)據(jù)的出現(xiàn)頻度地,輸出與檢索查詢(xún)不相關(guān)的數(shù)據(jù)來(lái)作為檢索結(jié)果,檢索客戶端在得到檢索結(jié)果后,進(jìn)行再加密,將數(shù)據(jù)再保管在DB服務(wù)器中。發(fā)明效果即使在客戶端利用DB服務(wù)器進(jìn)行檢索后,也通過(guò)概率性密碼對(duì)與檢索相關(guān)的數(shù)據(jù)進(jìn)行加密,安全性高。另外,不在客戶端強(qiáng)化復(fù)雜的運(yùn)用管理,能夠高效地對(duì)加密后的數(shù)據(jù)進(jìn)行解密。
圖1是示例可檢索密碼處理系統(tǒng)的概要的圖。圖2是示例登錄客戶端的功能的概要的圖。圖3是示例檢索客戶端的功能的概要的圖。圖4是示例DB服務(wù)器的功能的概要的圖。圖5是示例計(jì)算機(jī)的概要結(jié)構(gòu)的圖。圖6是示例登錄客戶端的輸出部的顯示內(nèi)容的圖。圖7A是示例登錄客戶端所生成的連結(jié)數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)的框圖。圖7B是示例登錄客戶端所生成的連結(jié)數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)的框圖。圖7C是示例登錄客戶端所生成的隱匿登錄數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)的框圖。圖8是示例登錄客戶端向DB服務(wù)器登錄隱匿登錄數(shù)據(jù)的處理的順序圖。圖9A是示例在DB服務(wù)器的數(shù)據(jù)庫(kù)存儲(chǔ)部中存儲(chǔ)的數(shù)據(jù)庫(kù)管理狀態(tài)的圖。圖9B是示例在DB服務(wù)器的數(shù)據(jù)庫(kù)存儲(chǔ)部中存儲(chǔ)的數(shù)據(jù)庫(kù)檢索步驟的圖。圖10是示例檢索客戶端的輸出部的顯示內(nèi)容的圖。圖1lA是示例檢索客戶端所生成的連結(jié)數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)的框圖。圖1lB是示例檢索客戶端所生成的連結(jié)數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)的框圖。圖1lC是示例檢索客戶端所生成的連結(jié)數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)的框圖。圖12是示例檢索客戶端使用隱匿檢索查詢(xún)檢索DB服務(wù)器內(nèi)的數(shù)據(jù)庫(kù)的處理的順序圖。圖13A是示例DB服務(wù)器對(duì)從通信部接收到的隱匿檢索查詢(xún)進(jìn)行解碼得到的連結(jié)數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)的框圖。圖13B是示例DB服務(wù)器存儲(chǔ)在數(shù)據(jù)庫(kù)存儲(chǔ)部中的隱匿登錄數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)的框圖。圖13C是示例DB服務(wù)器所生成的連結(jié)數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)的框圖。圖13D是示例DB服務(wù)器所生成的連結(jié)數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)的框圖。圖14A是示例檢索客戶端從通信部接收到的隱匿登錄數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)的框圖。
圖14B是示例檢索客戶端所生成的數(shù)據(jù)Ck的數(shù)據(jù)結(jié)構(gòu)的框圖。圖14C是示例DB服務(wù)器所生成的連結(jié)數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)的框圖。
具體實(shí)施例方式以下,根據(jù)附圖詳細(xì)說(shuō)明本發(fā)明的實(shí)施方式。圖1是本實(shí)施方式的檢索處理系統(tǒng)的概要圖。如圖所示那樣,檢索處理系統(tǒng)具備登錄客戶端 100(Registration Client)、檢索客戶端 200(Search Client)、DB 服務(wù)器 300(Data Base Server),登錄客戶端100和DB服務(wù)器300、檢索客戶端200和DB服務(wù)器300能夠經(jīng)由網(wǎng)絡(luò)400相互收發(fā)信息。在此,本實(shí)施方式的登錄客戶端100具有向DB服務(wù)器300發(fā)送隱匿化的數(shù)據(jù)的數(shù)據(jù)登錄用發(fā)送接收裝置的功能,檢索客戶端200具有向DB服務(wù)器300發(fā)送隱匿化的檢索查詢(xún)并接收檢索結(jié)果的檢索用發(fā)送接收裝置的功能,DB服務(wù)器300具有將隱匿化的數(shù)據(jù)保管在數(shù)據(jù)庫(kù)中,另外檢索數(shù)據(jù)庫(kù)內(nèi)的數(shù)據(jù)的DB管理用發(fā)送接收裝置的功能。圖2是登錄客戶端100的功能概要圖。如圖所示那樣,登錄客戶端100具備控制部110、存儲(chǔ)部120、輸入部101、輸出部102、通信部103。存儲(chǔ)部120具備登錄數(shù)據(jù)存儲(chǔ)部130、秘密密鑰存儲(chǔ)部150、參數(shù)存儲(chǔ)部160、臨時(shí)信息存儲(chǔ)部180。在登錄數(shù)據(jù)存儲(chǔ)部130中,存儲(chǔ)作為向DB服務(wù)器300發(fā)送的數(shù)據(jù)的用于確定發(fā)送文的信息。在此,在本實(shí)施方式中,經(jīng)由輸入部101存儲(chǔ)用于確定接受的明文登錄數(shù)據(jù)131的信息、登錄在DB服務(wù)器300中的確定隱匿登錄數(shù)據(jù)132的信息、確定明文登錄數(shù)據(jù)131和隱匿登錄數(shù)據(jù)132的屬性133的信息。在秘密密鑰存儲(chǔ)部150中,存儲(chǔ)從安全性的觀點(diǎn)出發(fā)應(yīng)該由登錄客戶端100秘密地管理的用于確定秘密密鑰151的信息。在此,在本實(shí)施方式中,存儲(chǔ)用于確定向加密部112輸入的秘密密鑰151、向偽隨機(jī)數(shù)生成部114輸入的秘密密鑰151、向壓縮函數(shù)部115輸入的秘密密鑰151的信息。在參數(shù)存儲(chǔ)部160中,存儲(chǔ)在數(shù)據(jù)的隱匿化時(shí)使用的用于確定參數(shù)的信息。在此,在本實(shí)施方式中,存儲(chǔ)用于確定輸入到準(zhǔn)同型函數(shù)部116的函數(shù)參數(shù)161、輸入到基本運(yùn)算部117的檢查參數(shù)162的信息。另外,從安全性的觀點(diǎn)出發(fā),函數(shù)參數(shù)161是應(yīng)該由登錄客戶端100秘密地管理的信息。在臨時(shí)信息存儲(chǔ)部180中,存儲(chǔ)在控制部110的處理中所需要的信息??刂撇?10具備全體處理部111、加密部112、偽隨機(jī)數(shù)生成部114、壓縮函數(shù)部115、準(zhǔn)同型函數(shù)部116、基本運(yùn)算部117。全體處理部111控制登錄客戶端100中的全部處理。例如,在本實(shí)施方式中,全體處理部111進(jìn)行以下處理:將經(jīng)由輸入部101接受輸入所得的信息作為明文登錄數(shù)據(jù)131存儲(chǔ)在登錄數(shù)據(jù)存儲(chǔ)部130中。另外,在本實(shí)施方式中,全體處理部111進(jìn)行以下處理:將明文登錄數(shù)據(jù)131在輸出部102上顯示。另外,在本實(shí)施方式中,全體處理部111進(jìn)行以下處理:讀入在登錄數(shù)據(jù)存儲(chǔ)部130中存儲(chǔ)的明文登錄數(shù)據(jù)131,分別輸入給加密部112、偽隨機(jī)數(shù)生成部114、壓縮函數(shù)部115、準(zhǔn)同型函數(shù)部116以及基本運(yùn)算部117,將輸出的數(shù)據(jù)作為隱匿登錄數(shù)據(jù)132存儲(chǔ)在登錄數(shù)據(jù)存儲(chǔ)部130中。另外,在本實(shí)施方式中,全體處理部111進(jìn)行以下處理:經(jīng)由通信部103將屬性133和隱匿登錄數(shù)據(jù)132發(fā)送到DB服務(wù)器300。并且,在本實(shí)施方式中,全體處理部111進(jìn)行以下處理:將經(jīng)由通信部103從DB服務(wù)器300接收到的屬性133和隱匿登錄數(shù)據(jù)132存儲(chǔ)在臨時(shí)信息存儲(chǔ)部180中以及在輸出部102上進(jìn)行顯示。加密部112進(jìn)行以下處理:輸出對(duì)輸入的數(shù)據(jù)進(jìn)行加密后的數(shù)據(jù)。例如,在本實(shí)施方式中,進(jìn)行以下處理:從全體處理部111輸入數(shù)據(jù)和秘密密鑰151,輸出使用秘密密鑰151加密后的數(shù)據(jù)。例如,通過(guò)安裝標(biāo)準(zhǔn)的加密算法,來(lái)實(shí)現(xiàn)加密部112。偽隨機(jī)數(shù)生成部114進(jìn)行輸出偽隨機(jī)數(shù)的處理。例如,偽隨機(jī)數(shù)生成 部114根據(jù)溫度、時(shí)間、電力量等物理現(xiàn)象輸出隨機(jī)數(shù)。在本實(shí)施方式中,偽隨機(jī)數(shù)生成部114使用從全體處理部111輸入的秘密密鑰151,輸出偽隨機(jī)數(shù)。另外,秘密密鑰151的數(shù)據(jù)值被更新為新的數(shù)據(jù)值,再次通過(guò)全體處理部111存儲(chǔ)在秘密密鑰存儲(chǔ)部150中。例如,通過(guò)安裝標(biāo)準(zhǔn)的偽隨機(jī)數(shù)生成算法,來(lái)實(shí)現(xiàn)偽隨機(jī)數(shù)生成部114。壓縮函數(shù)部115進(jìn)行以下處理:輸出對(duì)輸入的數(shù)據(jù)進(jìn)行壓縮后的數(shù)據(jù)。例如,在本實(shí)施方式中,進(jìn)行以下處理:將從全體處理部111輸入的數(shù)據(jù)變換為固定長(zhǎng)度(h比特)的其他數(shù)據(jù)并輸出。例如,通過(guò)安裝標(biāo)準(zhǔn)的密碼哈希函數(shù)算法,來(lái)實(shí)現(xiàn)將任意長(zhǎng)度的輸入數(shù)據(jù)變換為固定長(zhǎng)度的數(shù)據(jù)的壓縮函數(shù)部115。準(zhǔn)同型函數(shù)部116進(jìn)行以下處理:針對(duì)輸入的數(shù)據(jù),將函數(shù)計(jì)算的輸出結(jié)果作為數(shù)據(jù)而輸出。例如,在本實(shí)施方式中,進(jìn)行以下處理:將從全體處理部111輸入的數(shù)據(jù)看作具有準(zhǔn)同型的性質(zhì)的函數(shù)的輸入值,使用從全體處理部111輸入的函數(shù)參數(shù)161,將函數(shù)計(jì)算的輸出值變換為用二進(jìn)制列表現(xiàn)的固定長(zhǎng)度(f比特)的數(shù)據(jù)。其中,準(zhǔn)同型函數(shù)是指針對(duì)函數(shù)F、輸入變量X、輸入變量7以下公式成立的函數(shù)。F (x.y) =F (x) F (y) (I)其中,.和?表示運(yùn)算符,包含加法運(yùn)算符+、乘法運(yùn)算符X、每個(gè)比特的異或即XOR (exclusive OR)運(yùn)算用運(yùn)算符xor等。在本實(shí)施方式中,表示.和?包含XOR運(yùn)算符xor時(shí),即公式(2)成立的情況。F (X xor y) =F (x) xor F (y) (2)其中,在準(zhǔn)同型函數(shù)通過(guò)公式(2)以外的運(yùn)算符成立時(shí),也同樣能夠?qū)嵤┍緦?shí)施方式。另外,通過(guò)安裝實(shí)現(xiàn)準(zhǔn)同型函數(shù)的算法,來(lái)實(shí)現(xiàn)準(zhǔn)同型函數(shù)部116。基本運(yùn)算部117進(jìn)行與加法、減法、比較運(yùn)算等基本算術(shù)運(yùn)算有關(guān)的處理。例如,在本實(shí)施方式中,基本運(yùn)算部117進(jìn)行以下處理:把從全體處理部111輸入的2個(gè)數(shù)據(jù)的每個(gè)比特的異或即XOR運(yùn)算、比較運(yùn)算的等號(hào)成立或不成立的驗(yàn)證結(jié)果作為數(shù)據(jù)進(jìn)行輸出。以上所示的登錄客戶端100例如能夠通過(guò)圖5 (計(jì)算機(jī)的概要圖)所示那樣的普通的計(jì)算機(jī)500來(lái)實(shí)現(xiàn),該計(jì)算機(jī)500具備CPU (中央處理單元)501、存儲(chǔ)器502、HDD (硬盤(pán)驅(qū)動(dòng)器)等外部存儲(chǔ)裝置 503、向 CD (Compact Disk)、DVD (Digital Versatile Disk)等具有可移動(dòng)性的存儲(chǔ)介質(zhì)508讀寫(xiě)信息的讀寫(xiě)裝置507、鍵盤(pán)、鼠標(biāo)等輸入裝置506、顯示器等輸出裝置505、用于與通信網(wǎng)絡(luò)連接的NIC (網(wǎng)絡(luò)接口卡)等通信裝置504、將它們連接起來(lái)的系統(tǒng)總線等內(nèi)部通信線(稱(chēng)為系統(tǒng)總線)509。例如,存儲(chǔ)部120能夠通過(guò)由CPU501利用存儲(chǔ)器502或外部存儲(chǔ)裝置503來(lái)實(shí)現(xiàn),控制部110和包含在控制部110中的各處理部能夠通過(guò)將存儲(chǔ)在外部存儲(chǔ)裝置503中的預(yù)定的程序裝載到存儲(chǔ)器502中由CPU501執(zhí)行來(lái)實(shí)現(xiàn),輸入部101能夠通過(guò)由CPU501利用輸入裝置506來(lái)實(shí)現(xiàn),輸出部102能夠通過(guò)由CPU501利用輸出裝置505來(lái)實(shí)現(xiàn),通信部103能夠通過(guò)由CPU501利用通信裝置504來(lái)實(shí)現(xiàn)。該預(yù)定的程序可以經(jīng)由讀寫(xiě)裝置507從存儲(chǔ)介質(zhì)508或經(jīng)由通信裝置504從網(wǎng)絡(luò)存儲(chǔ)(下載)到外部存儲(chǔ)裝置503中,然后裝載到存儲(chǔ)器502上,通過(guò)CPU501執(zhí)行。另外,也可以經(jīng)由讀寫(xiě)裝置507從存儲(chǔ)介質(zhì)508、或經(jīng)由通信裝置504從網(wǎng)絡(luò)直接裝載到存儲(chǔ)器502上,通過(guò)CPU501執(zhí)行。圖3是檢索客戶端200的功能概要圖。如圖所示那樣,檢索客戶端200具備控制部210、存儲(chǔ)部220、輸入部201、輸出部202、通信部203。存儲(chǔ)部220具備檢索查詢(xún)存儲(chǔ)部230、秘密密鑰存儲(chǔ)部250、參數(shù)存儲(chǔ)部260、接收數(shù)據(jù)存儲(chǔ)部270、臨時(shí)信息存儲(chǔ)部280。在檢索查詢(xún)存儲(chǔ)部230中,存儲(chǔ)作為向DB服務(wù)器300發(fā)送的數(shù)據(jù)的用于確定發(fā)送文的信息。在此,在本實(shí)施方式中,由檢索客戶端200存儲(chǔ)用于確定經(jīng)由輸入部201接受的明文檢索查詢(xún)231的信息、發(fā)送到DB服務(wù)器300的秘密檢索查詢(xún)232、用于確定明文檢索查詢(xún)231和隱匿檢索查詢(xún)232的屬性233的信息。在秘密密鑰存儲(chǔ)部250中,存儲(chǔ)從安全性的觀點(diǎn)出發(fā)應(yīng)該由檢索客戶端200秘密管理的用于確定秘密密鑰251的信息。在此,在本實(shí)施方式中,存儲(chǔ)用于確定輸入到加密部212的秘密密鑰251、輸入到解密部213的秘密密鑰251、輸入到偽隨機(jī)數(shù)生成部214的秘密密鑰251、輸入到壓縮函數(shù)部215的秘密密鑰251的信息。在參數(shù)存儲(chǔ)部260中,存儲(chǔ)用于確定在數(shù)據(jù)的隱匿化和隱匿化解除中使用的參數(shù)的信息。在此,在本實(shí)施方式中,存儲(chǔ)用于確定輸入到準(zhǔn)同型函數(shù)部216的函數(shù)參數(shù)261的信息、用于確定輸入到基本運(yùn)算部217的檢查參數(shù)262的信息。另外,從安全性的觀點(diǎn)出發(fā),函數(shù)參數(shù)261是應(yīng)該由檢索客戶端200秘密管理的信息。在接收數(shù)據(jù)存儲(chǔ)部270中,存儲(chǔ)用于確定經(jīng)由通信部203接收到的數(shù)據(jù)的信息。在此,在本實(shí)施方式中,在接收數(shù)據(jù)存儲(chǔ)部270中,作為隱匿登錄數(shù)據(jù)271存儲(chǔ)用于確定經(jīng)由通信部203從DB服務(wù)器300接收到的數(shù)據(jù)的信息。另外,進(jìn)行以下的處理:將從隱匿登錄數(shù)據(jù)271中解除隱匿化的數(shù)據(jù)作為明文登錄數(shù)據(jù)272存儲(chǔ)在接收數(shù)據(jù)存儲(chǔ)部270中。在臨時(shí)信息存儲(chǔ)部280中,存儲(chǔ)在控制部210的處理中所需要的信息??刂撇?10具備全體處理部211、加密部212、解密部213、偽隨機(jī)數(shù)生成部214、壓縮函數(shù)部215、準(zhǔn)同型函數(shù)部216、基本運(yùn)算部217。
全體處理部211控制檢索客戶端200的全部處理。例如,在本實(shí)施方式中,全體處理部211進(jìn)行以下的處理:將經(jīng)由輸入部201接受輸入所得的信息作為明文檢索查詢(xún)231存儲(chǔ)在檢索查詢(xún)存儲(chǔ)部230中。另外,在本實(shí)施方式中,全體處理部211進(jìn)行以下的處理:將明文檢索查詢(xún)231顯示在顯示部202上。另外,在本實(shí)施方式中,全體處理部211進(jìn)行以下的處理:讀入存儲(chǔ)在檢索查詢(xún)存儲(chǔ)部230中的明文檢索查詢(xún)231,分別輸入到加密部212、偽隨機(jī)數(shù)生成部214、壓縮函數(shù)部
215、準(zhǔn)同型函數(shù)部216、基本運(yùn)算部217,將輸出的數(shù)據(jù)作為隱匿檢索查詢(xún)232存儲(chǔ)在檢索查詢(xún)存儲(chǔ)部230中。另外,在本實(shí)施方式中,全體處理部211進(jìn)行以下的處理:經(jīng)由通信部203將屬性233和隱匿檢索查詢(xún)232發(fā)送到DB服務(wù)器300。另外,在本實(shí)施方式中,全體處理部211進(jìn)行以下的處理:經(jīng)由通信部203從DB服務(wù)器300接收隱秘登錄數(shù)據(jù)271。進(jìn)而,在本實(shí)施方式中,全體處理部211進(jìn)行以下的處理:將經(jīng)由通信部203接收到的隱匿登錄數(shù)據(jù)271作為隱秘登錄數(shù)據(jù)271存儲(chǔ)在接收數(shù)據(jù)存儲(chǔ)部270中。另外,在本實(shí)施方式中,全體處理部211進(jìn)行以下的處理:讀入存儲(chǔ)在接收數(shù)據(jù)存儲(chǔ)部270中的隱秘登錄數(shù)據(jù)271,分別輸入到解密部213、壓縮函數(shù)部215、準(zhǔn)同型函數(shù)部
216、基本運(yùn)算部217,將輸出的數(shù)據(jù)作為明文登錄數(shù)據(jù)272存儲(chǔ)到接收數(shù)據(jù)存儲(chǔ)部270中。另外,在本實(shí)施方式中,全體處理部211進(jìn)行以下的處理:將明文登錄數(shù)據(jù)272顯示在輸出部202上。進(jìn)而,全體處理部211進(jìn)行以下的處理JfWDB服務(wù)器300經(jīng)由通信部203接收到的數(shù)據(jù)存儲(chǔ)在臨時(shí)信息存儲(chǔ)部280中、并在輸出部202上顯示。加密部212進(jìn)行以下的處理:輸出對(duì)輸入的數(shù)據(jù)進(jìn)行加密后的數(shù)據(jù)。例如,在本實(shí)施方式中,進(jìn)行以下的處理:從全體處理部211輸入數(shù)據(jù)和秘密密鑰251,輸出使用秘密密鑰251加密后的數(shù)據(jù)。解密部213進(jìn)行以下的處理:輸出對(duì)輸入的數(shù)據(jù)進(jìn)行解密后的數(shù)據(jù)。例如,在本實(shí)施方式中,進(jìn)行以下的處理:從全體處理部211輸入數(shù)據(jù)和秘密密鑰251,輸出使用秘密密鑰251進(jìn)行解密的數(shù)據(jù)。偽隨機(jī)數(shù)生成部114進(jìn)行輸出偽隨機(jī)數(shù)的處理。例如,偽隨機(jī)數(shù)生成部214根據(jù)溫度、時(shí)間、電力量等物理現(xiàn)象輸出隨機(jī)數(shù)。在本實(shí)施方式中,偽隨機(jī)數(shù)生成部214使用從全體處理部211輸入的秘密密鑰251,輸出偽隨機(jī)數(shù)。另外,把秘密密鑰251的數(shù)據(jù)值更新為新的數(shù)據(jù)值,再次通過(guò)全體處理部211存儲(chǔ)在秘密密鑰存儲(chǔ)部250中。例如,在本實(shí)施方式中,進(jìn)行以下的處理:使用從全體處理部211輸入的秘密密鑰251輸出偽隨機(jī)數(shù)。壓縮函數(shù)部215進(jìn)行以下的處理:輸出對(duì)輸入的數(shù)據(jù)進(jìn)行壓縮后的數(shù)據(jù)。例如,在本實(shí)施方式中,進(jìn)行以下的處理:將從全體處理部211輸入的數(shù)據(jù)變換為固定長(zhǎng)度(h比特)的別的數(shù)據(jù)并輸出。準(zhǔn)同型函數(shù)部216進(jìn)行以下的處理:針對(duì)輸入的數(shù)據(jù),將函數(shù)計(jì)算的輸出結(jié)果作為數(shù)據(jù)輸出。例如,在本實(shí)施方式中,進(jìn)行以下的處理:將從全體處理部211輸入的數(shù)據(jù)看作具有準(zhǔn)同型的性質(zhì)的函數(shù)的輸入值,使用從全體處理部211輸入的函數(shù)參數(shù)261,將函數(shù)計(jì)算的輸出值變換為用二進(jìn)制列表現(xiàn)的固定長(zhǎng)度(f比特)的數(shù)據(jù)。其中,準(zhǔn)同型函數(shù)表示針對(duì)函數(shù)F、輸入變量X、輸入變量y公式(2)成立的情況,但在準(zhǔn)同型性通過(guò)每個(gè)比特的異或即XOR運(yùn)算以外的運(yùn)算符也成立時(shí),同樣能夠?qū)嵤┍緦?shí)施方式。基本運(yùn)算部217進(jìn)行與加法、減法、比較運(yùn)算等基本算術(shù)運(yùn)算有關(guān)的處理。例如,在本實(shí)施方式中,基本運(yùn)算部217進(jìn)行以下的處理:把從全體處理部211輸入的2個(gè)數(shù)據(jù)的二進(jìn)制值(2進(jìn)制數(shù))的減法結(jié)果作為數(shù)據(jù)輸出。以上所示的檢索客戶端200例如能夠通過(guò)圖5 (計(jì)算機(jī)的概要圖)所示那樣的普通的計(jì)算機(jī)來(lái)實(shí)現(xiàn),該計(jì)算機(jī)具備CPU501、存儲(chǔ)器502、HDD等外部存儲(chǔ)裝置503、向CD、DVD等具有可移動(dòng)性的存儲(chǔ)介質(zhì)508讀寫(xiě)信息的讀寫(xiě)裝置507、鍵盤(pán)、鼠標(biāo)等輸入裝置506、顯示器等輸出裝置505、用于與通信網(wǎng)絡(luò)連接的NIC等通信裝置504、將它們連接起來(lái)的系統(tǒng)總線等內(nèi)部通信線(稱(chēng)為系統(tǒng)總線)。例如,存儲(chǔ)部220能夠通過(guò)由CPU501利用存儲(chǔ)器502或外部存儲(chǔ)裝置503來(lái)實(shí)現(xiàn),控制部210和控制部210中包含的各處理部能夠通過(guò)將存儲(chǔ)在外部存儲(chǔ)裝置503中的預(yù)定的程序裝載到存儲(chǔ)器502中由CPU501執(zhí)行來(lái)實(shí)現(xiàn),輸入部201能夠通過(guò)由CPU501利用輸入裝置506來(lái)實(shí)現(xiàn),輸出部202能夠通過(guò)由CPU501利用輸出裝置505來(lái)實(shí)現(xiàn),通信部203能夠通過(guò)由CPU501利用通信裝置504來(lái)實(shí)現(xiàn)。該預(yù)定的程序可以經(jīng)由讀寫(xiě)裝置507從存儲(chǔ)介質(zhì)508、或經(jīng)由通信裝置504從網(wǎng)絡(luò)存儲(chǔ)(下載)到外部存儲(chǔ)裝置503中,然后裝載到存儲(chǔ)器502上,通過(guò)CPU501執(zhí)行。另外,也可以經(jīng)由讀寫(xiě)裝置507從存儲(chǔ)介質(zhì)508、或經(jīng)由通信裝置504從網(wǎng)絡(luò)直接裝載到存儲(chǔ)器502上,由CPU501執(zhí)行。圖4是DB服務(wù)器300的功能概要圖。如圖所示那樣,DB服務(wù)器300具備控制部310、存儲(chǔ)部320、輸入部301、輸出部302、通信部303。存儲(chǔ)部320具備參數(shù)存儲(chǔ)部360、秘密密鑰存儲(chǔ)部350、數(shù)據(jù)庫(kù)存儲(chǔ)部340、檢索查詢(xún)存儲(chǔ)部330、臨時(shí)信息存儲(chǔ)部380。在參數(shù)存儲(chǔ)部360中,存儲(chǔ)在檢查隱匿檢索查詢(xún)332與數(shù)據(jù)庫(kù)341的關(guān)系時(shí)使用的用于確定參數(shù)的信息。在此,在本實(shí)施方式中,存儲(chǔ)用于確定輸入到準(zhǔn)同型函數(shù)部316的函數(shù)參數(shù)361的信息。另外,從安全性的觀點(diǎn)出發(fā),函數(shù)參數(shù)361是應(yīng)該由DB服務(wù)器300秘密地管理的信息。在秘密密鑰存儲(chǔ)部350中,存儲(chǔ)從安全性的觀點(diǎn)出發(fā)應(yīng)該由DB服務(wù)器300秘密地管理的用于確定秘密密鑰351的信息。在此,在本實(shí)施方式中,存儲(chǔ)用于確定輸入到解密部313的秘密密鑰351的信息。在數(shù)據(jù)庫(kù)存儲(chǔ)部340中,存儲(chǔ)用于確定經(jīng)由通信部303接收到的登錄數(shù)據(jù)的信息。在此,在本實(shí)施方式中,進(jìn)行以下的處理:將經(jīng)由通信部303從登錄客戶端100接收到的信息作為數(shù)據(jù)庫(kù)341的構(gòu)成信息存儲(chǔ)到數(shù)據(jù)庫(kù)存儲(chǔ)部340中。在檢索查詢(xún)存儲(chǔ)部230中,存儲(chǔ)用于確定經(jīng)由通信部303接收到的檢索查詢(xún)的信息。在此,在本實(shí)施方式中,進(jìn)行以下的處理:將經(jīng)由通信部303從檢索客戶端200接收到的信息作為隱匿檢索查詢(xún)332存儲(chǔ)到檢索查詢(xún)存儲(chǔ)部330中。在臨時(shí)信息存儲(chǔ)部380中,存儲(chǔ)在控制部310的處理中所需要的信息。控制部310具備全體處理部311、解密部313、壓縮函數(shù)部315、準(zhǔn)同型函數(shù)部316、基本運(yùn)算部317。全體處理部311控制DB服務(wù)器300中的全部處理。例如,在本實(shí)施方式中,全體處理部311進(jìn)行以下的處理:經(jīng)由通信部303從登錄客戶端100接收隱匿登錄數(shù)據(jù)131。另外,在本實(shí)施方式中,全體處理部311進(jìn)行以下的處理:將經(jīng)由通信部303接收到的隱秘登錄數(shù)據(jù)131作為數(shù)據(jù)庫(kù)341的結(jié)構(gòu)信息存儲(chǔ)在數(shù)據(jù)庫(kù)存儲(chǔ)部340中。另外,在本實(shí)施方式中,全體處理部311進(jìn)行以下的處理:經(jīng)由通信部303從檢索客戶端200接收隱秘檢索查詢(xún)332。另外,在本實(shí)施方式中,全體處理部311進(jìn)行以下的處理:將經(jīng)由通信部303接收到的隱匿檢索查詢(xún)332存儲(chǔ)到檢索查詢(xún)存儲(chǔ)部330中。另外,在本實(shí)施方式中,全體處理部311進(jìn)行以下的處理:讀入在檢索查詢(xún)存儲(chǔ)部330中存儲(chǔ)的隱匿檢索查詢(xún)332,分別輸入到解密部313、壓縮函數(shù)部315、準(zhǔn)同型函數(shù)部316、基本運(yùn)算部317,將輸出的數(shù)據(jù)經(jīng)由通信部303發(fā)送到檢索客戶端200。并且,全體處理部311進(jìn)行以下的處理:將從檢索客戶端200或登錄客戶端100經(jīng)由通信部303接收到的數(shù)據(jù)相關(guān)的信息存儲(chǔ)在臨時(shí)信息存儲(chǔ)部380中、并在輸出部302上顯不O解密部313進(jìn)行以下的處理:輸出對(duì)輸入的數(shù)據(jù)進(jìn)行解密后的數(shù)據(jù)。例如,在本實(shí)施方式中,進(jìn)行以下的處理:從全體處理部311輸入數(shù)據(jù)和秘密密鑰351,輸出使用秘密密鑰351解密后的數(shù)據(jù)。壓縮函數(shù)部315進(jìn)行以下的處理:輸出對(duì)輸入的數(shù)據(jù)進(jìn)行壓縮后的數(shù)據(jù)。例如,在本實(shí)施方式中,進(jìn)行以下的處理:將從全體處理部311輸入的數(shù)據(jù)變換為固定長(zhǎng)度(h比特)的別的數(shù)據(jù)并輸出。準(zhǔn)同型函數(shù)部216進(jìn)行以下的處理:針對(duì)輸入的數(shù)據(jù),將函數(shù)計(jì)算的輸出結(jié)果作為數(shù)據(jù)輸出。例如,在本實(shí)施方式中,進(jìn)行以下的處理:將從全體處理部311輸入的數(shù)據(jù)看作具有準(zhǔn)同型的性質(zhì)的函數(shù)的輸入值,使用從全體處理部311輸入的函數(shù)參數(shù)361,將函數(shù)計(jì)算的輸出值變換為用二進(jìn)制列表現(xiàn)的固定長(zhǎng)度(f比特)的數(shù)據(jù)。其中,準(zhǔn)同型函數(shù)表示針對(duì)函數(shù)F、輸入變量X、輸入變量y公式(2)成立的情況,但在準(zhǔn)同型性對(duì)于每個(gè)比特的異或即XOR運(yùn)算以外的運(yùn)算符也成立時(shí),同樣能夠?qū)嵤┍緦?shí)施方式?;具\(yùn)算部317進(jìn)行與加法、減法、比較運(yùn)算等基本算術(shù)運(yùn)算有關(guān)的處理。例如,在本實(shí)施方式中,基本運(yùn)算部317進(jìn)行以下的處理:把從全體處理部311輸入的2個(gè)數(shù)據(jù)的二進(jìn)制值(2進(jìn)制數(shù))的減法結(jié)果作為數(shù)據(jù)輸出。另外,在本實(shí)施方式中,基本運(yùn)算部317進(jìn)行以下的處理:把從全體處理部311輸入的2個(gè)數(shù)據(jù)的二進(jìn)制值(2進(jìn)制數(shù))的比較結(jié)果作為數(shù)據(jù)輸出。
以上所示的DB服務(wù)器300例如能夠通過(guò)圖5 (計(jì)算機(jī)的概要圖)所示那樣的普通的計(jì)算機(jī)來(lái)實(shí)現(xiàn),該計(jì)算機(jī)具備CPU501、存儲(chǔ)器502、HDD等外部存儲(chǔ)裝置503、向CD、DVD等具有可移動(dòng)性的存儲(chǔ)介質(zhì)508讀寫(xiě)信息的讀寫(xiě)裝置507、鍵盤(pán)、鼠標(biāo)等輸入裝置506、顯示器等輸出裝置505、用于與通信網(wǎng)絡(luò)連接的NIC等通信裝置504、將它們連接起來(lái)的系統(tǒng)總線等內(nèi)部通信線(稱(chēng)為系統(tǒng)總線)。例如,存儲(chǔ)部120、220、320能夠通過(guò)由CPU501利用存儲(chǔ)器502或外部存儲(chǔ)裝置503來(lái)實(shí)現(xiàn),控制部110、210、310和包含在控制部110、210、310中的各處理部能夠通過(guò)將存儲(chǔ)在外部存儲(chǔ)裝置503中的預(yù)定的程序裝載到存儲(chǔ)器502中由CPU501執(zhí)行來(lái)實(shí)現(xiàn),輸入部101,201,301能夠通過(guò)由CPU501利用輸入裝置506來(lái)實(shí)現(xiàn),輸出部102、202、302能夠通過(guò)由CPU501利用輸出裝置505來(lái)實(shí)現(xiàn),通信部103、203、303能夠通過(guò)由CPU501利用通信裝置504來(lái)實(shí)現(xiàn)。該預(yù)定的程序可以經(jīng)由讀寫(xiě)裝置507從存儲(chǔ)介質(zhì)508或經(jīng)由通信裝置504從網(wǎng)絡(luò)存儲(chǔ)(下載)到外部存儲(chǔ)裝置503中,然后裝載到存儲(chǔ)器502上,通過(guò)CPU501來(lái)執(zhí)行。另夕卜,也可以經(jīng)由讀寫(xiě)裝置507從存儲(chǔ)介質(zhì)508或經(jīng)由通信裝置504從網(wǎng)絡(luò)直接裝載到存儲(chǔ)器502上,通過(guò)CPU501執(zhí)行。圖6是示例登錄客戶端100的輸出部102的顯示內(nèi)容600的圖。如圖所示那樣,登錄客戶端100具備管理方法的選擇部610、管理表格部620、指示執(zhí)行和顯示的按鍵的執(zhí)行按鍵650、指示清除和顯示的按鍵的清除按鍵660。管理方法的選擇部610由數(shù)據(jù)的登錄、數(shù)據(jù)的更新、數(shù)據(jù)的刪除等與數(shù)據(jù)的管理有關(guān)的項(xiàng)目構(gòu)成。例如,在本實(shí)施方式中,具備用于確定數(shù)據(jù)追加、數(shù)據(jù)更新、數(shù)據(jù)刪除的單選按鍵。另外,能夠經(jīng)由輸入部101選擇各項(xiàng)目。管理表格部620由屬性621和輸入數(shù)據(jù)的詳細(xì)內(nèi)容的輸入表格622構(gòu)成,屬性621是與通過(guò)管理方法的選擇部610確定的項(xiàng)目即數(shù)據(jù)的登錄、數(shù)據(jù)的更新或數(shù)據(jù)的刪除對(duì)應(yīng)地進(jìn)行處理的表示數(shù)據(jù)種類(lèi)的屬性。例如,在本實(shí)施方式中,具備表示編號(hào)、姓名、電子郵件、所屬部門(mén)的屬性621和為了輸入編號(hào)、姓名、電子郵件、所屬部門(mén)而設(shè)計(jì)的輸入表格622。在各輸入表格622中輸入的信息被存儲(chǔ)在存儲(chǔ)部120的臨時(shí)信息存儲(chǔ)部180中。能夠經(jīng)由輸入部101選擇清除按鍵660。例如,在本實(shí)施方式中,如果選擇了清除按鍵660,則刪除在各輸入表格622中輸入的信息。能夠經(jīng)由輸入部101選擇執(zhí)行按鍵650。例如,在本實(shí)施方式中,如果選擇了執(zhí)行按鍵650,則進(jìn)行以下的處理:根據(jù)通過(guò)管理方法的選擇部610確定的項(xiàng)目和在各表格中輸入的信息,生成隱匿登錄數(shù)據(jù)131,向DB服務(wù)器300發(fā)送。以下,說(shuō)明了通過(guò)管理方法的選擇部610確定的項(xiàng)目是數(shù)據(jù)登錄的情況,但在確定了數(shù)據(jù)更新、數(shù)據(jù)刪除的情況下,也進(jìn)行同樣的處理。在通過(guò)管理方法的選擇部610確定的項(xiàng)目是數(shù)據(jù)登錄的情況下,在選擇了執(zhí)行按鍵650的情況下,從S701 S715表示實(shí)施的隱匿登錄數(shù)據(jù)131的處理步驟。圖7A是表示在本實(shí)施方式中,登錄客戶端100根據(jù)在輸出部102輸出的在表格622中輸入的信息,生成的連結(jié)數(shù)據(jù)703的數(shù)據(jù)結(jié)構(gòu)的框圖的例子。圖7B是表示在本實(shí)施方式中登錄客戶端100在生成隱匿登錄數(shù)據(jù)712的過(guò)程中生產(chǎn)的連結(jié)數(shù)據(jù)704的數(shù)據(jù)結(jié)構(gòu)的框圖的例子。
另外,圖7C是表示在本實(shí)施方式中登錄客戶端100生成的隱匿登錄數(shù)據(jù)712的數(shù)據(jù)結(jié)構(gòu)的框圖的例子。以下,使用圖7A、圖7B、圖7C,說(shuō)明與在輸入表格622輸入的數(shù)據(jù)值無(wú)關(guān)地,登錄客戶端100每次生成數(shù)據(jù)值不同的隱匿登錄數(shù)據(jù)712的處理步驟。登錄客戶端100的全體處理部111進(jìn)行以下的處理:將在輸入表格622輸入的信息作為明文登錄數(shù)據(jù)701存儲(chǔ)到存儲(chǔ)部120的登錄數(shù)據(jù)存儲(chǔ)部130中。這時(shí),將明文登錄數(shù)據(jù)701作為由m比特的二進(jìn)制表現(xiàn)構(gòu)成的數(shù)據(jù),存儲(chǔ)在登錄客戶端100的臨時(shí)信息存儲(chǔ)部180中。登錄客戶端100的全體處理部111進(jìn)行以下的處理:讀入在參數(shù)存儲(chǔ)部160中存儲(chǔ)的檢查參數(shù)162,作為錯(cuò)誤檢查數(shù)據(jù)702進(jìn)行輸出。這時(shí),把輸出的錯(cuò)誤檢查數(shù)據(jù)702作為e比特的數(shù)據(jù)存儲(chǔ)到登錄客戶端100的臨時(shí)信息存儲(chǔ)部180中。登錄客戶端100的全體處理部111進(jìn)行以下的處理:將明文登錄數(shù)據(jù)701和錯(cuò)誤檢查數(shù)據(jù)702連接起來(lái)(S701)。在連接處理中,也可以在明文登錄數(shù)據(jù)701的各處插入分割后的錯(cuò)誤檢查數(shù)據(jù)
702。例如,可以在明文登錄數(shù)據(jù)701的初始(頭)和結(jié)束(尾)插入錯(cuò)誤檢查數(shù)據(jù)702。另夕卜,還可以將錯(cuò)誤檢查數(shù)據(jù)702和明文登錄數(shù)據(jù)701通過(guò)乘法運(yùn)算相乘等來(lái)進(jìn)行混合。以下,如圖7A所示那樣,在登錄客戶端100中,對(duì)以下情況進(jìn)行處理,即全體處理部111在輸入的明文登錄數(shù)據(jù)701的末尾連接錯(cuò)誤檢查數(shù)據(jù)702,將連結(jié)數(shù)據(jù)703看作一個(gè)數(shù)據(jù)。這時(shí),在登錄客戶端100的臨時(shí)信息存儲(chǔ)部180中,作為(m+e)比特的數(shù)據(jù)存儲(chǔ)連結(jié)數(shù)據(jù)703。其中,連接處理并不限于該情況,通過(guò)其他的連接處理也同樣能夠?qū)嵤?。接著,如圖7B所示那樣,說(shuō)明登錄客戶端100生成的連結(jié)數(shù)據(jù)704的數(shù)據(jù)結(jié)構(gòu)。登錄客戶端100的全體處理部111進(jìn)行以下的處理:向加密部112輸入將明文登錄數(shù)據(jù)701和錯(cuò)誤檢查數(shù)據(jù)702連接后的數(shù)據(jù)即連結(jié)數(shù)據(jù)703和存儲(chǔ)在秘密密鑰存儲(chǔ)部150中的秘密密鑰151 (S702)。登錄客戶端100的加密部112進(jìn)行以下的處理:對(duì)輸入的數(shù)據(jù)進(jìn)行加密,輸出數(shù)據(jù)Ce705 (S703)。在登錄客戶端100中,由加密部112對(duì)全體處理部111輸入的連結(jié)數(shù)據(jù)703進(jìn)行加密,將輸出的數(shù)據(jù)看作為數(shù)據(jù)CK705。這時(shí),將數(shù)據(jù)CK705作為c比特的數(shù)據(jù)存儲(chǔ)在登錄客戶端100的臨時(shí)信息存儲(chǔ)部180中(S704)。另外,數(shù)據(jù)CK705可以依存于連結(jié)數(shù)據(jù)703,即依存于輸入表格622的輸入信息。例如,可以從具有相同的數(shù)據(jù)值的連結(jié)數(shù)據(jù)703輸出相同的數(shù)據(jù)CK705。登錄客戶端100的全體處理部111進(jìn)行以下的處理:從秘密密鑰存儲(chǔ)部150讀出秘密密鑰151,將秘密密鑰151輸入到偽隨機(jī)數(shù)生成部114 (S705)。登錄客戶端100的偽隨機(jī)數(shù)生成部114進(jìn)行以下的處理:使用輸入的秘密密鑰151,輸出偽隨機(jī)數(shù)。這時(shí),將偽隨機(jī)數(shù)作為r比特的數(shù)據(jù)Ρκ706存儲(chǔ)在登錄客戶端100的臨時(shí)信息存儲(chǔ)部180中(S706)。偽隨機(jī)數(shù)輸出部114輸出的偽隨機(jī)數(shù)不依存于連結(jié)數(shù)據(jù)703、數(shù)據(jù)CK705。因此,能夠不依存于輸入表格622的輸入信息地,每次生成數(shù)據(jù)值不同的數(shù)據(jù)Ρκ706。登錄客戶端100的全體處理部111進(jìn)行以下的處理:從秘密密鑰存儲(chǔ)部150讀出秘密密鑰151,把秘密密鑰151和從隨機(jī)數(shù)生成部輸出的數(shù)據(jù)Ρκ706被連接后的數(shù)據(jù)輸入到壓縮函數(shù)部115 (S707)。登錄客戶端100的壓縮函數(shù)部115進(jìn)行以下的處理:對(duì)輸入的數(shù)據(jù)進(jìn)行變換,輸出哈希值。這時(shí),把哈希值作為h比特的數(shù)據(jù)Ηκ707存儲(chǔ)在登錄客戶端100的臨時(shí)信息存儲(chǔ)部 180 中(S708)。根據(jù)壓縮函數(shù)的性質(zhì),將數(shù)據(jù)Ηκ707看作隨機(jī)數(shù)。數(shù)據(jù)Ηκ707不依存于連結(jié)數(shù)據(jù)
703、數(shù)據(jù)CK705。因此,與數(shù)據(jù)Ρκ706同樣地,能夠不依存于輸入表格622的輸入信息,每次生成數(shù)據(jù)值不同的數(shù)據(jù)仏707。登錄客戶端100的全體處理部111將數(shù)據(jù)Ηκ707、存儲(chǔ)在參數(shù)存儲(chǔ)部160中的函數(shù)參數(shù)161輸入到準(zhǔn)同型函數(shù)部116 (S709)。登錄客戶端100的準(zhǔn)同型函數(shù)部116進(jìn)行以下的處理:將輸入的數(shù)據(jù)看作具有準(zhǔn)同型的性質(zhì)的函數(shù)的輸入值,使用函數(shù)參數(shù)161,輸出用二進(jìn)制列表現(xiàn)函數(shù)計(jì)算的輸出值的準(zhǔn)同型函數(shù)值。這時(shí),將準(zhǔn)同型函數(shù)值作為f比特的數(shù)據(jù)FK708存儲(chǔ)在登錄客戶端100的臨時(shí)信息存儲(chǔ)部180中(S710)。另外,在設(shè)準(zhǔn)同型函數(shù)為func的情況下,對(duì)于作為其輸入值的數(shù)據(jù)Ηκ707、作為輸出值的數(shù)據(jù)FK708,公式(3)成立(其中,省略函數(shù)參數(shù)161的記載)。FE=func (He) (3)對(duì)于數(shù)據(jù)?,708,根據(jù)準(zhǔn)同型函數(shù)部116進(jìn)行處理的準(zhǔn)同型函數(shù)的性質(zhì),在輸入的數(shù)據(jù)值是隨機(jī)數(shù)的情況下,輸出也看作隨機(jī)數(shù)。另外,數(shù)據(jù)FK708不依存于連結(jié)數(shù)據(jù)703、數(shù)據(jù)CK705。因此,與數(shù)據(jù)Ηκ707同樣地,能夠不依存于輸入表格622的輸入信息地,每次生成數(shù)據(jù)值不同的數(shù)據(jù)FK707。登錄客戶端100的全體處理部111進(jìn)行以下的處理:向壓縮函數(shù)部115輸入從準(zhǔn)同型函數(shù)部116輸出的數(shù)據(jù)FK708 (S711)。登錄客戶端100的壓縮函數(shù)部115進(jìn)行以下的處理:對(duì)輸入的數(shù)據(jù)進(jìn)行變換,輸出哈希值。這時(shí),把哈希值作為g比特的數(shù)據(jù)GK709存儲(chǔ)在登錄客戶端100的臨時(shí)信息存儲(chǔ)部 180 中(S712)。根據(jù)壓縮函數(shù)的性質(zhì),數(shù)據(jù)GK709是隨機(jī)數(shù)。因此,與數(shù)據(jù)FK707、數(shù)據(jù)Ηκ707同樣地,能夠不依存于輸入表格622的輸入信息地,每次生成數(shù)據(jù)值不同的數(shù)據(jù)6,709。另外,根據(jù)壓縮函數(shù)的性質(zhì),難以逆向計(jì)算,因此即使將數(shù)據(jù)GK709登錄到DB服務(wù)器300中,也不會(huì)對(duì)數(shù)據(jù)的安全性產(chǎn)生影響。圖7C是表示在本實(shí)施方式中,登錄客戶端100生成的隱匿登錄數(shù)據(jù)712的數(shù)據(jù)結(jié)構(gòu)的框圖。登錄客戶端100的全體處理部111進(jìn)行以下的處理:向基本運(yùn)算部117輸入數(shù)據(jù)Ηκ707 和數(shù)據(jù) CK705 (S713)。登錄客戶端100的基本運(yùn)算部117進(jìn)行以下的處理:進(jìn)行輸入的數(shù)據(jù)Ηκ707和數(shù)據(jù)0;705的每個(gè)比特的異或即XOR運(yùn)算,將其計(jì)算結(jié)果作為數(shù)據(jù)DK711輸出(S714)。
通過(guò)S714的xor運(yùn)算,數(shù)據(jù)Ηκ707、數(shù)據(jù)CK705、數(shù)據(jù)DK711滿足公式(4)。De=He xor Ce (4)S714的計(jì)算使用不依存于連結(jié)數(shù)據(jù)703、數(shù)據(jù)CK705的作為隨機(jī)數(shù)的數(shù)據(jù)Ηκ707。因此,在唯一地確定連結(jié)數(shù)據(jù)703與數(shù)據(jù)CK705的關(guān)系的情況下,如果每次使用數(shù)據(jù)值不同的數(shù)據(jù)Ηκ707,則能夠得到不同的數(shù)據(jù)值的數(shù)據(jù)DK711。登錄客戶端100的全體處理部111進(jìn)行以下的處理:將數(shù)據(jù)Ρκ706、數(shù)據(jù)DK711、數(shù)據(jù)GK709連接起來(lái),將生成的數(shù)據(jù)作為隱匿登錄數(shù)據(jù)712存儲(chǔ)到登錄數(shù)據(jù)存儲(chǔ)部130中(S715)。隱匿登錄數(shù)據(jù)712,使用了不依存于連結(jié)數(shù)據(jù)703、數(shù)據(jù)CK705的作為隨機(jī)數(shù)的數(shù)據(jù)Ρκ706、數(shù)據(jù)DK711、數(shù)據(jù)GK709,每次能夠得到不同的數(shù)據(jù)值。結(jié)果,將數(shù)據(jù)Ρκ706和數(shù)據(jù)De711以及數(shù)據(jù)GK709連接后的隱匿登錄數(shù)據(jù)712與連結(jié)數(shù)據(jù)703、數(shù)據(jù)CK705獨(dú)立。S卩,能夠不依存于輸入表格622的輸入信息地,每次生成數(shù)據(jù)值不同的隱匿登錄數(shù)據(jù)712。另外,上述的處理步驟并非是固定的,也可以變更處理步驟。例如,可以變更S713和S714的處理步驟,在S713中將數(shù)據(jù)Ρκ706、數(shù)據(jù)DK711、數(shù)據(jù)GK709連接起來(lái)后,在S714中進(jìn)行數(shù)據(jù)Ηκ707與數(shù)據(jù)CK705的XOR運(yùn)算。同樣,也可以變更其他處理步驟。另外,承擔(dān)上述各處理的控制部110并不是固定的,可以變更承擔(dān)的控制部110。例如,可以在S711中不將數(shù)據(jù)FK708輸入到壓縮函數(shù)部115,而將數(shù)據(jù)FK708輸入到加密部112,也可以在S712中,將從加密部112輸出的數(shù)據(jù)作為數(shù)據(jù)GK709存儲(chǔ)在臨時(shí)信息存儲(chǔ)部180 中。另外,也可以變更隱匿登錄數(shù)據(jù)712的數(shù)據(jù)結(jié)構(gòu),與之一起變更處理。例如,可以將與數(shù)據(jù)Ρκ706有關(guān)的信息存儲(chǔ)在存儲(chǔ)部120中,而不包含在隱匿登錄數(shù)據(jù)712中。這時(shí),可以將S706輸出的數(shù)據(jù)看作為數(shù)據(jù)Ηκ706,能夠刪除與S707和S708相關(guān)的處理。另外,這時(shí),在S715中,登錄客戶端100的全體處理部111可以將數(shù)據(jù)DK711和數(shù)據(jù)GK709連接起來(lái)作為隱匿登錄數(shù)據(jù)712。圖8是表示在本實(shí)施方式中,經(jīng)由網(wǎng)絡(luò)400,登錄客戶端100向DB服務(wù)器300登錄隱匿登錄數(shù)據(jù)132的處理的順序圖。登錄客戶端100進(jìn)行以下的處理:將經(jīng)由輸入部101從用戶輸入到表格的信息存儲(chǔ)在臨時(shí)信息存儲(chǔ)部180中(S801)。登錄客戶端100進(jìn)行以下的處理:檢測(cè)經(jīng)由輸入部101由用戶選擇了執(zhí)行按鍵650的情況,將輸入到表格的信息作為明文登錄數(shù)據(jù)131存儲(chǔ)到存儲(chǔ)部120中(S802)。登錄客戶端100進(jìn)行以下的處理:通過(guò)控制部110生成隱匿登錄數(shù)據(jù)132,存儲(chǔ)到存儲(chǔ)部120中(S803)。登錄客戶端100進(jìn)行以下的處理:從通信部103經(jīng)由網(wǎng)絡(luò)400,向DB服務(wù)器300發(fā)送屬性133和隱匿登錄數(shù)據(jù)132 (S804)。DB服務(wù)器300進(jìn)行以下的處理:從通信部303經(jīng)由網(wǎng)絡(luò)400接收由登錄客戶端100發(fā)送的屬性133和隱匿登錄數(shù)據(jù)132 (S805)。DB服務(wù)器300進(jìn)行以下的處理:使用通過(guò)控制部310接收到的屬性133,將隱匿登錄數(shù)據(jù)132作為數(shù)據(jù)庫(kù)341的構(gòu)成信息存儲(chǔ)到存儲(chǔ)部320中(S806)。DB服務(wù)器300進(jìn)行以下的處理:從通信部303經(jīng)由網(wǎng)絡(luò)400,向登錄服務(wù)器發(fā)送隱匿登錄數(shù)據(jù)132的登錄處理的成功與否(S807)。登錄客戶端100進(jìn)行以下的處理:從通信部103經(jīng)由網(wǎng)絡(luò)400,接收DB服務(wù)器300所發(fā)送的隱匿登錄數(shù)據(jù)132的登錄處理成功與否(S808)。
登錄客戶端100進(jìn)行以下的處理:經(jīng)由輸出部102,向用戶顯示包含登錄處理成功與否的登錄信息(S809)。圖9A是示例DB服務(wù)器300中的存儲(chǔ)部320的數(shù)據(jù)庫(kù)存儲(chǔ)部340中存儲(chǔ)的數(shù)據(jù)庫(kù)341的管理狀態(tài)的結(jié)構(gòu)圖。例如,在本實(shí)施方式中,DB服務(wù)器300中的數(shù)據(jù)庫(kù)341由表示編號(hào)、姓名、電子郵件等的屬性901、與屬性901相關(guān)聯(lián)的隱匿登錄數(shù)據(jù)902 (d0、dl、d2、……)構(gòu)成。圖10是示例檢索客戶端200的輸出部202的顯示內(nèi)容1000的圖。如圖所示那樣,檢索客戶端200具備檢索項(xiàng)目部1010、檢索表格部1020、指示檢索和顯示的按鍵的檢索按鍵1050、指示清除和顯示的按鍵的清除按鍵1060。檢索方法的選擇部由與檢索對(duì)象的數(shù)據(jù)的種類(lèi)有關(guān)的項(xiàng)目構(gòu)成。例如,在本實(shí)施方式中,具備用于確定編號(hào)、姓名、電子郵件、所屬部門(mén)的單選按鍵。另外,能夠經(jīng)由輸入部201選擇多個(gè)各項(xiàng)目。檢索表格部1020由用于輸入通過(guò)檢索方法的選擇部確定的屬性1011的編號(hào)、姓名、電子郵件、所屬部門(mén)的詳細(xì)內(nèi)容的輸入表格1022構(gòu)成。例如,在本實(shí)施方式中,具備多個(gè)為了輸入編號(hào)、姓名、電子郵件、所屬部門(mén)而設(shè)計(jì)的輸入表格1022。輸入到各輸入表格1022的信息被存儲(chǔ)在存儲(chǔ)部220的臨時(shí)信息存儲(chǔ)部280中。能夠經(jīng)由輸入部201選擇清除按鍵1060。例如,在本實(shí)施方式中,如果選擇了清除按鍵1060,則消除各輸入表格1022的輸入信息。能夠經(jīng)由輸入部201選擇檢索按鍵1050。例如,在本實(shí)施方式中,如果選擇了檢索按鍵1050,則進(jìn)行以下處理:根據(jù)通過(guò)檢索方法的選擇部確定的屬性1011和輸入到輸入表格1022的信息,生成隱匿檢索查詢(xún)232,并向DB服務(wù)器300發(fā)送。以下,表示了通過(guò)檢索方法的選擇部只選擇了一個(gè)屬性1011 (例`如姓名)的情況,但在向多個(gè)輸入表格1022輸入了信息的情況和選擇了多個(gè)屬性1011的情況下,也能夠通過(guò)同樣的處理來(lái)實(shí)施。在通過(guò)檢索方法的選擇部確定的屬性1011只有一個(gè)的情況下,依照SllOl S1112進(jìn)行選擇了檢索按鍵1050時(shí)的處理步驟。圖1lA是表示在本實(shí)施方式中檢索客戶端200根據(jù)在輸出部202輸出的在輸入表格1022中輸入的信息生成的連結(jié)數(shù)據(jù)1103的數(shù)據(jù)結(jié)構(gòu)的框圖的例子。圖1lB是表示在本實(shí)施方式中檢索客戶端200在生成隱匿檢索查詢(xún)1111的過(guò)程中生產(chǎn)的連結(jié)數(shù)據(jù)1104的數(shù)據(jù)結(jié)構(gòu)的框圖的例子。另外,圖1lC是表示在本實(shí)施方式中檢索客戶端200生成的連結(jié)數(shù)據(jù)1108的數(shù)據(jù)結(jié)構(gòu)的框圖。以下,使用圖11A、圖11B、圖11C,說(shuō)明與在輸入表格1022輸入的數(shù)據(jù)值無(wú)關(guān)地,檢索客戶端200每次生成數(shù)據(jù)值不同的隱匿檢索查詢(xún)1111的處理步驟。檢索客戶端200的全體處理部211進(jìn)行以下處理:把輸入到輸入表格1022中的信息作為明文檢索查詢(xún)1101存儲(chǔ)到存儲(chǔ)部220的檢索查詢(xún)存儲(chǔ)部230中。這時(shí),將明文檢索查詢(xún)1101作為通過(guò)m比特的二進(jìn)制表現(xiàn)構(gòu)成的數(shù)據(jù),存儲(chǔ)在檢索客戶端200的臨時(shí)信息存儲(chǔ)部280中。檢索客戶端200的全體處理部211進(jìn)行以下處理:讀入在參數(shù)存儲(chǔ)部260中存儲(chǔ)的檢查參數(shù)262,作為錯(cuò)誤檢查數(shù)據(jù)1102輸出。這時(shí),將輸出的錯(cuò)誤檢查數(shù)據(jù)1102作為e比特的數(shù)據(jù)存儲(chǔ)到檢索客戶端200的臨時(shí)信息存儲(chǔ)部280中。檢索客戶端200的全體處理部211進(jìn)行以下處理:將明文檢索查詢(xún)1101和錯(cuò)誤檢查數(shù)據(jù)1102連接起來(lái)(S1101)。在連接處理中,也可以在明文檢索查詢(xún)1101的各處插入分割后的錯(cuò)誤檢查數(shù)據(jù)1102。例如,可以在明文檢索查詢(xún)1101的開(kāi)始(頭)和結(jié)束(尾)插入錯(cuò)誤檢查數(shù)據(jù)1102。另外,還可以將錯(cuò)誤檢查數(shù)據(jù)1102和明文檢索查詢(xún)1101通過(guò)乘法運(yùn)算相乘等來(lái)進(jìn)行混合。以下,如圖1lA所示那樣,在檢索客戶端200中,全體處理部211對(duì)以下情況進(jìn)行處理,在輸入的明文檢索查詢(xún)的末尾連接錯(cuò)誤檢查數(shù)據(jù)1102,將連結(jié)數(shù)據(jù)1103看作一個(gè)數(shù)據(jù)。這時(shí),在檢索客戶端200的臨時(shí)信息存儲(chǔ)部280中,作為(m+e)比特的數(shù)據(jù)存儲(chǔ)連結(jié)數(shù)據(jù)1103。其中,連接處理并不限于該情況,通過(guò)其他的連接處理也同樣能夠?qū)嵤?。接著,如圖1lB所示那樣,說(shuō)明檢索客戶端200生成的連結(jié)數(shù)據(jù)1104的數(shù)據(jù)結(jié)構(gòu)。檢索客戶端200的全體處理部211進(jìn)行以下處理:向加密部212輸入將明文檢索查詢(xún)1101和錯(cuò)誤檢查數(shù)據(jù)1102連接后的數(shù)據(jù)即連結(jié)數(shù)據(jù)1103、存儲(chǔ)在秘密密鑰存儲(chǔ)部250中的秘密密鑰251 (S1102)。檢索客戶端200的加密部212進(jìn)行以下處理:對(duì)輸入的數(shù)據(jù)進(jìn)行加密,輸出數(shù)據(jù)Cs1105 (S1103)。在檢索客戶端200中,可以由加密部212對(duì)全體處理部211輸入的連結(jié)數(shù)據(jù)1103進(jìn)行加密,將輸出的數(shù)據(jù)看作數(shù)據(jù)Cs1105進(jìn)行處理。這時(shí),把數(shù)據(jù)Cs1105作為c比特的數(shù)據(jù)存儲(chǔ)在檢索客戶端200的臨時(shí)信息存儲(chǔ)部280中(S1104)。另外,數(shù)據(jù)Cs1105可以依存于連結(jié)數(shù)據(jù)1103,即依存于輸入表格1022的輸入信息。例如,可以從具有相同的數(shù)據(jù)值的連結(jié)數(shù)據(jù)1103輸出相同的數(shù)據(jù)(;1105。檢索客戶端200的全體處理部211進(jìn)行以下處理:從秘密密鑰存儲(chǔ)部250讀出秘密密鑰251,將秘密密鑰251輸入到偽隨機(jī)數(shù)生成部214 (S1105)。檢索客戶端200的偽隨機(jī)數(shù)生成部214進(jìn)行以下處理:使用輸入的秘密密鑰251,輸出偽隨機(jī)數(shù)。這時(shí),把偽隨機(jī)數(shù)作為r比特的數(shù)據(jù)PsI 106存儲(chǔ)在檢索客戶端200的臨時(shí)信息存儲(chǔ)部280中(SI 106)。偽隨機(jī)數(shù)輸出部214輸出的偽隨機(jī)數(shù)不依存于連結(jié)數(shù)據(jù)1103、數(shù)據(jù)Cs1105。因此,能夠不依存于輸入表格1022的輸入信息地,每次生成數(shù)據(jù)值不同的數(shù)據(jù)PsI 106。關(guān)于數(shù)據(jù)&1106,根據(jù)偽隨機(jī)數(shù)生成函數(shù)的性質(zhì),輸出隨機(jī)數(shù)。另外,數(shù)據(jù)Ps1106不依存于連結(jié)數(shù)據(jù)703、數(shù)據(jù)Cs705。因此,數(shù)據(jù)Ps1106不依存于輸入表格1022的輸入信息,能夠每次生成數(shù)據(jù)值不同的數(shù)據(jù)Fs 1107。檢索客戶端200的全體處理部211將數(shù)據(jù)Ps1106、存儲(chǔ)在參數(shù)存儲(chǔ)部260中的函數(shù)參數(shù)261輸入到準(zhǔn)同型函數(shù)部216 (S1107)。檢索客戶端200的準(zhǔn)同型函數(shù)部216進(jìn)行以下處理:將輸入的數(shù)據(jù)看作具有準(zhǔn)同型的性質(zhì)的函數(shù)的輸入值,使用函數(shù)參數(shù)261,輸出通過(guò)二進(jìn)制列表現(xiàn)函數(shù)計(jì)算的輸出值的準(zhǔn)同型函數(shù)值。這時(shí),把準(zhǔn)同型函數(shù)值作為f比特的數(shù)據(jù)FsI 107存儲(chǔ)在檢索客戶端200的臨時(shí)信息存儲(chǔ)部280中(S1108)。另外,在設(shè)準(zhǔn)同型函數(shù)為func的情況下,對(duì)于作為其輸入值的數(shù)據(jù)Ps、作為輸出值的數(shù)據(jù)Fs,公式(5 )成立(其中,省略函數(shù)參數(shù)261的記載)。
Fs=func (Ps) (5)對(duì)于數(shù)據(jù)匕1107,根據(jù)準(zhǔn)同型函數(shù)部216進(jìn)行處理的準(zhǔn)同型函數(shù)的性質(zhì),在輸入的數(shù)據(jù)值是均勻分布的隨機(jī)數(shù)的情況下,輸出也同樣均勻分布。另外,數(shù)據(jù)Fs1107不依存于連結(jié)數(shù)據(jù)1103、數(shù)據(jù)Cs1104。因此,與數(shù)據(jù)Hs1106同樣地,能夠不依存于輸入表格1022的輸入信息,每次生成數(shù)據(jù)值不同的數(shù)據(jù)Fs1107。圖1lC是表示在本實(shí)施方式中檢索客戶端200生成的連結(jié)數(shù)據(jù)1108的數(shù)據(jù)結(jié)構(gòu)的框圖。檢索客戶端200的全體處理部211進(jìn)行以下處理:將數(shù)據(jù)Ps1106和數(shù)據(jù)Fs1107連接,向基本運(yùn)算部217輸入生成的連結(jié)數(shù)據(jù)1104、數(shù)據(jù)Cs1105 (S1109)。檢索客戶端200的基本運(yùn)算部217進(jìn)行以下處理:進(jìn)行輸入的連結(jié)數(shù)據(jù)1104與數(shù)據(jù)(;1105的每個(gè)比特的異或即XOR運(yùn)算,將計(jì)算結(jié)果作為數(shù)據(jù)DsIllO輸出(S1110)。SlllO的計(jì)算使用不依存于連結(jié)數(shù)據(jù)1103、數(shù)據(jù)Cs1105的作為隨機(jī)數(shù)的數(shù)據(jù)PsIioeo因此,在唯一地確定連結(jié)數(shù)據(jù)1103與數(shù)據(jù)Cs1105的關(guān)系的情況下,如果每次使用數(shù)據(jù)值不同的數(shù)據(jù)Ps1106,則能夠得到不同的數(shù)據(jù)值的數(shù)據(jù)Ds1110。檢索客戶端200的全體處理部211進(jìn)行以下處理:向加密部212輸入將數(shù)據(jù)DsIllO和數(shù)據(jù)FsI 107連接后的數(shù)據(jù)即連結(jié)數(shù)據(jù)1108、存儲(chǔ)在秘密密鑰存儲(chǔ)部250中的秘密密鑰 251 (Sllll)0檢索客戶端200的加密部212對(duì)輸入的數(shù)據(jù)進(jìn)行加密,全體處理部211將加密后的數(shù)據(jù)作為隱匿檢索查詢(xún)1111存儲(chǔ)到檢索查詢(xún)存儲(chǔ)部230中(SI112)。關(guān)于隱匿檢索查詢(xún)1111,由于將輸入到加密部的連結(jié)數(shù)據(jù)看作隨機(jī)數(shù),因此輸出的隱匿檢索查詢(xún)1111也同樣看作隨機(jī)數(shù)。因此,即使檢索客戶端200例如經(jīng)由可能受到非法侵害的網(wǎng)絡(luò)400向DB服務(wù)器300發(fā)送,隱匿檢索查詢(xún)1111也是安全的。關(guān)于隱匿檢索查詢(xún)1111,使用了不依存于連結(jié)數(shù)據(jù)1103、數(shù)據(jù)Cs1105的作為隨機(jī)數(shù)的數(shù)據(jù)Ps1106、數(shù)據(jù)Fs1107,每次能夠得到不同的數(shù)據(jù)值。結(jié)果,將數(shù)據(jù)Ds1106和數(shù)據(jù)Fs1107連接后的隱匿檢索查詢(xún)1111與連結(jié)數(shù)據(jù)1103、數(shù)據(jù)CK1105獨(dú)立。即,能夠不依存于輸入表格1022的輸入信息,每次生成數(shù)據(jù)值不同的隱匿檢索查詢(xún)1111。另外,上述的處理步驟并不是固定的,也可以變更處理步驟。例如,可以變更S1109和SlllO的處理步驟,在SI 109中進(jìn)行數(shù)據(jù)CsI 105與數(shù)據(jù)PsI 106的XOR運(yùn)算后,在SlllO中將數(shù)據(jù)FsI 107和數(shù)據(jù)DsIllO連接起來(lái)。同樣,也可以變更其他處理步驟。另外,承擔(dān)上述各處理的控制部210并不是固定的,可以變更承擔(dān)的控制部210。例如,可以在SI 105中,不將秘密密鑰251輸入到偽隨機(jī)數(shù)生成部214,而輸入到壓縮函數(shù)部215。另外,也可以變更隱匿檢索查詢(xún)1111的數(shù)據(jù)結(jié)構(gòu),與之一起變更處理。例如,可以由全體處理部211進(jìn)行以下處理:向加密部212輸入數(shù)據(jù)FsI 107、在秘密密鑰存儲(chǔ)部250中存儲(chǔ)的秘密密鑰251 (S1111),將加密部輸出的數(shù)據(jù)和數(shù)據(jù)Ds1106連接后的數(shù)據(jù)看作隱匿檢索查詢(xún)1111 (S1112)。圖12是表示在本實(shí)施方式中使用經(jīng)由網(wǎng)絡(luò)400檢索客戶端200發(fā)送的隱匿檢索查詢(xún)232,DB服務(wù)器300檢索數(shù)據(jù)庫(kù)341的處理的順序圖。檢索客戶端200進(jìn)行以下處理:將經(jīng)由輸入部201從用戶輸入到表格中的信息存儲(chǔ)在臨時(shí)信息存儲(chǔ)部280中(S1201)。檢索客戶端200進(jìn)行以下處理:檢測(cè)用戶經(jīng)由輸入部201選擇了檢索按鍵1050的情況,將輸入到表格的信息作為明文檢索查詢(xún)231存儲(chǔ)到存儲(chǔ)部220中(S1202)。檢索客戶端200進(jìn)行以下處理:通過(guò)控制部210生成隱匿檢索查詢(xún)232并存儲(chǔ)到存儲(chǔ)部220中(S1203)。檢索客戶端200進(jìn)行以下處理:從通信部203經(jīng)由網(wǎng)絡(luò)400向DB服務(wù)器300發(fā)送屬性233和隱匿檢索查詢(xún)232 (S1204)。DB服務(wù)器300進(jìn)行以下處理:從通信部303經(jīng)由網(wǎng)絡(luò)400接收檢索客戶端200發(fā)送的屬性233和隱匿檢索查詢(xún)232 (S1205)。DB服務(wù)器300進(jìn)行以下處理:通過(guò)控制部310使用屬性233,從數(shù)據(jù)庫(kù)341檢索與隱匿檢索查詢(xún)332有關(guān)的隱匿登錄數(shù)據(jù)902 (1206)。DB服務(wù)器300進(jìn)行以下處理:從通信部303經(jīng)由網(wǎng)絡(luò)400向檢索服務(wù)器發(fā)送與隱匿檢索查詢(xún)332相關(guān)的檢索結(jié)果(抽取屬性901和隱匿登錄數(shù)據(jù)902的一部分)(S1207)。檢索客戶端200進(jìn)行以下處理:從通信部203經(jīng)由網(wǎng)絡(luò)400接收由DB服務(wù)器300發(fā)送的與隱匿檢索查詢(xún)232相關(guān)的檢索結(jié)果(S1208)。檢索客戶端200通過(guò)控制部210,從與隱匿檢索查詢(xún)232相關(guān)的檢索結(jié)果,復(fù)原明文登錄數(shù)據(jù)272 (S1209)。檢索客戶端200經(jīng)由輸出部202將抽出的明文登錄數(shù)據(jù)272存儲(chǔ)在存儲(chǔ)部220中。另外,也可以進(jìn)行以下處理:將抽出的明文登錄數(shù)據(jù)272在輸出部202上顯示(S1210)。在本實(shí)施方式中,以下S1206所示的DB服務(wù)器300的控制部310檢索隱匿登錄數(shù)據(jù)902的處理步驟按照S1301 S1318。另外,DB服務(wù)器300的全體處理部311將與接收到的屬性233相關(guān)的與數(shù)據(jù)庫(kù)341的屬性901關(guān)聯(lián)的隱匿登錄數(shù)據(jù)902作為檢索對(duì)象。圖9B是使用圖9A所示的結(jié)構(gòu)圖,示例在DB服務(wù)器300的存儲(chǔ)部320的數(shù)據(jù)庫(kù)存儲(chǔ)部340中存儲(chǔ)的數(shù)據(jù)庫(kù)341中的檢索對(duì)象的結(jié)構(gòu)圖。例如,在接收到的屬性233是與姓名有關(guān)的信息的情況下,如圖9B的粗線的實(shí)線框圍住的部分所示那樣,DB服務(wù)器300的全體處理部311將與數(shù)據(jù)庫(kù)341的姓名有關(guān)的屬性901作為檢索對(duì)象的隱匿登錄數(shù)據(jù)902進(jìn)行處理。另外,以下,針對(duì)作為檢索對(duì)象的全部隱匿登錄數(shù)據(jù)902、或從作為檢索對(duì)象的隱匿登錄數(shù)據(jù)902中任意抽出的隱匿登錄數(shù)據(jù)902、或一定數(shù)量的隱匿登錄數(shù)據(jù)902,實(shí)施檢索隱匿登錄數(shù)據(jù)902的S1301 S1318的處理步驟。圖13A是表示在本實(shí)施方式中DB服務(wù)器300對(duì)從通信部303接收到的隱匿檢索查詢(xún)進(jìn)行解密后的連結(jié)數(shù)據(jù)1301的數(shù)據(jù)結(jié)構(gòu)的框圖的例子。另外,圖13B是表示在本實(shí)施方式中DB服務(wù)器300存儲(chǔ)在數(shù)據(jù)庫(kù)存儲(chǔ)部340中的數(shù)據(jù)庫(kù)341中的隱匿登錄數(shù)據(jù)1304的數(shù)據(jù)結(jié)構(gòu)的框圖的例子。另外,圖13C是表示在本實(shí)施方式中DB服務(wù)器300在使用連結(jié)數(shù)據(jù)1301檢索隱匿登錄數(shù)據(jù)1304的過(guò)程中生成的連結(jié)數(shù)據(jù)1308的數(shù)據(jù)結(jié)構(gòu)的框圖的例子。另外,圖13D是表示在本實(shí)施方式中DB服務(wù)器300在使用連結(jié)數(shù)據(jù)1301檢索隱匿登錄數(shù)據(jù)1304的過(guò)程中生成的連結(jié)數(shù)據(jù)1311的數(shù)據(jù)結(jié)構(gòu)的框圖的例子。
以下,使用圖13A、圖13B、圖13C、圖13D,說(shuō)明DB服務(wù)器300即使每次使用數(shù)據(jù)值不同的連結(jié)數(shù)據(jù)1301也正確地檢索隱匿登錄數(shù)據(jù)1304的處理步驟。DB服務(wù)器300的全體處理部311進(jìn)行以下處理:使用通信部303接收隱匿檢索查詢(xún)1300。這時(shí),DB服務(wù)器300的全體處理部311將隱匿檢索查詢(xún)1300存儲(chǔ)在檢索查詢(xún)存儲(chǔ)部330中。DB服務(wù)器300的全體處理部311進(jìn)行以下處理:向解密部313輸入隱匿檢索查詢(xún)1300、存儲(chǔ)在秘密密鑰存儲(chǔ)部350中的秘密密鑰351 (S1301)。DB服務(wù)器300的解密部進(jìn)行以下處理:對(duì)輸入的隱匿檢索查詢(xún)1300進(jìn)行解密,輸出連結(jié)數(shù)據(jù)1301 (S1302)。這時(shí),如圖13A所示,把連結(jié)數(shù)據(jù)1301作為由(h+f)比特的二進(jìn)制表現(xiàn)構(gòu)成的數(shù)據(jù)存儲(chǔ)在DB服務(wù)器300的臨時(shí)信息存儲(chǔ)部280中。DB服務(wù)器300的全體處理部311進(jìn)行以下處理:從連結(jié)數(shù)據(jù)1301中取出數(shù)據(jù)Ds1302 (S1303)。S1303例如如圖13A所示那樣,由DB服務(wù)器300的全體處理部311從連結(jié)數(shù)據(jù)1301中抽出與數(shù)據(jù)Ds1302相關(guān)的最初的h比特即可。DB服務(wù)器300的全體處理部311進(jìn)行以下處理:讀出在數(shù)據(jù)庫(kù)存儲(chǔ)部340中存儲(chǔ)的數(shù)據(jù)庫(kù)341中的隱匿登錄數(shù)據(jù)1304,并從隱匿登錄數(shù)據(jù)1304取出數(shù)據(jù)%1306 (S1304)。S1304例如如圖13B所示,DB服務(wù)器300的全體處理部311把從隱匿登錄數(shù)據(jù)1304中去除了與數(shù)據(jù)Ρκ1305相關(guān)的最初的r比特和與數(shù)據(jù)GK1307相關(guān)的最后的g比特后的數(shù)據(jù)看作數(shù)據(jù)DK1306來(lái)處理即可。圖13C是表示在本實(shí)施方式中DB服務(wù)器300生成的連結(jié)數(shù)據(jù)1308的數(shù)據(jù)結(jié)構(gòu)的框圖。利用準(zhǔn)同型函數(shù)部316,檢查是否能夠取得登錄客戶端100在數(shù)據(jù)CK705的概率性加密中利用的數(shù)據(jù)Ηκ707和檢索客戶端200在數(shù)據(jù)Cs1105的概率性加密中利用的數(shù)據(jù)PsI 106的相關(guān)關(guān)系。DB服務(wù)器300的全體處理部311進(jìn)行以下處理:向基本運(yùn)算部317輸入數(shù)據(jù)DK711和051302 (S1305)。登錄客戶端100基本運(yùn)算部117進(jìn)行以下處理:進(jìn)行所輸入的數(shù)據(jù)DK1309和數(shù)據(jù)Ds1310的每個(gè)比特的異或即XOR運(yùn)算,將計(jì)算結(jié)果作為連結(jié)數(shù)據(jù)1308輸出(S1306)。在S1305和S1306中,導(dǎo)出用于隱藏登錄客戶端100在輸入表格622中輸入的信息的數(shù)據(jù)Ηκ707和用于隱藏檢索客戶端200在輸入表格1022中輸入的信息的數(shù)據(jù)Ps1106之間的關(guān)系式。實(shí)際上,通過(guò)S1306的xor運(yùn)算,在登錄客戶端100和檢索客戶端200的輸入信息相等,即數(shù)據(jù)Cs705和數(shù)據(jù)CK1105的數(shù)據(jù)值相等的情況下,能夠?qū)С鲆韵碌墓?6)。Ds xor De=Ps xor He (其中,Cs=Cr 時(shí)) (6)圖13D是表示在本實(shí)施方式中DB服務(wù)器300生成的連結(jié)數(shù)據(jù)1311的數(shù)據(jù)結(jié)構(gòu)的框圖的例子。DB服務(wù)器300的全體處理部311將連結(jié)數(shù)據(jù)1308、存儲(chǔ)在參數(shù)存儲(chǔ)部360中的函數(shù)參數(shù)361輸入給準(zhǔn)同型函數(shù)部316 (S1307)。DB服務(wù)器300的準(zhǔn)同型函數(shù)部316進(jìn)行以下處理:將輸入的數(shù)據(jù)看作具有準(zhǔn)同型的性質(zhì)的函數(shù)的輸入值,使用函數(shù)參數(shù)361,輸出通過(guò)二進(jìn)制列表現(xiàn)函數(shù)計(jì)算的輸出值的準(zhǔn)同型函數(shù)值。這時(shí),把準(zhǔn)同型函數(shù)值作為h比特的數(shù)據(jù)Fd1312存儲(chǔ)在DB服務(wù)器300的臨時(shí)信息存儲(chǔ)部380中(S1308)。Fd=F (Ps xor He) =Fs xor Fe (7)另外,根據(jù)公式(3)、公式(5)、公式(6)能夠?qū)С龉?7)。DB服務(wù)器300的全體處理部311進(jìn)行以下處理:從連結(jié)數(shù)據(jù)1301中取出數(shù)據(jù)Fs1303 (S1309)。關(guān)于S1309,例如可以像圖13A所示那樣,DB服務(wù)器300從全體處理部311輸入的連結(jié)數(shù)據(jù)1301中抽出與數(shù)據(jù)Fs1303相關(guān)的最后的f比特。DB服務(wù)器300的全體處理部311進(jìn)行以下處理:將數(shù)據(jù)FD1312和數(shù)據(jù)Fs1303輸入到基本運(yùn)算部317 (S1310)。DB服務(wù)器300的基本運(yùn)算部317進(jìn)行以下處理:進(jìn)行輸入的數(shù)據(jù)FD1312和數(shù)據(jù)Fs1303的每個(gè)比特的異或即XOR運(yùn)算,將其計(jì)算結(jié)果作為數(shù)據(jù)Dd1313輸出(S1311)。在數(shù)據(jù)Cs705和數(shù)據(jù)CK1105的數(shù)據(jù)值相同,即公式(7)成立的情況下,S1311的處理基于公式(8)。De=Fd xor Fs=Fe (8)因此,在數(shù)據(jù)Cs705和數(shù)據(jù)CkI 105的數(shù)據(jù)值的情況下,數(shù)據(jù)DK1313的數(shù)據(jù)值與數(shù)據(jù)?1;708相等。DB服務(wù)器300的全體處理部311進(jìn)行以下處理:向壓縮函數(shù)部315輸入數(shù)據(jù)De1313 (S1312)。DB服務(wù)器300的壓縮函數(shù)部315進(jìn)行以下處理:對(duì)輸入的數(shù)據(jù)進(jìn)行變換,輸出哈希值。這時(shí),把哈希值作為g比特的數(shù)據(jù)Gd1314存儲(chǔ)在登錄客戶端100的臨時(shí)信息存儲(chǔ)部180 中(S1313)。DB服務(wù)器300的全體處理部311進(jìn)行以下處理:將數(shù)據(jù)GD1314和數(shù)據(jù)GK1307輸入到基本運(yùn)算部317 (S1314)。DB服務(wù)器300的基本運(yùn)算部317進(jìn)行輸入的數(shù)據(jù)GD1314和數(shù)據(jù)GK1307的每個(gè)比特的異或即XOR運(yùn)算,將其計(jì)算結(jié)果作為數(shù)據(jù)Ed1315而輸出(S1315)。在公式(5)成立的情況下,數(shù)據(jù)GD1314的數(shù)據(jù)值與數(shù)據(jù)^1307相等,根據(jù)公式
(9),數(shù)據(jù)Ed1315的數(shù)據(jù)值為O。
Gd xor GS=O (9)DB服務(wù)器300的全體處理部311判定任意數(shù)目的數(shù)據(jù)ED1315的比特值是否為O(S1316)。在S1316中調(diào)查的數(shù)據(jù)ED1315的數(shù)據(jù)值不為O的情況下,DB服務(wù)器300的全體處理部311判斷為隱匿檢索查詢(xún)1300和隱匿登錄數(shù)據(jù)1304沒(méi)有關(guān)系。這時(shí),直到作為檢索對(duì)象的全部隱匿登錄數(shù)據(jù)1304、或從作為檢索對(duì)象的隱匿登錄數(shù)據(jù)1304中任意地抽出的全部隱匿登錄數(shù)據(jù)1304、或檢索到的隱匿登錄數(shù)據(jù)1304達(dá)到一定數(shù)量為止,DB服務(wù)器300的控制部310返回S1304,繼續(xù)進(jìn)行檢索隱匿登錄數(shù)據(jù)1304的處理(S1317)。在S1316中調(diào)查的數(shù)據(jù)ED1315的數(shù)據(jù)值為O的情況下,DB服務(wù)器300的全體處理部311判斷為隱匿檢索查詢(xún)1300和隱匿登錄數(shù)據(jù)1304具有關(guān)系。這時(shí),將判斷出的隱匿登錄數(shù)據(jù)1304和關(guān)聯(lián)的屬性901所對(duì)應(yīng)的隱匿登錄數(shù)據(jù)1304看作與隱匿檢索查詢(xún)1300相關(guān)的檢索結(jié)果(S1318)。例如,如圖9B所示,作為檢索結(jié)果,檢索出的屬性901是與姓名有關(guān)的信息,DB服務(wù)器300的全體處理部311判斷為與隱匿檢索查詢(xún)1300有關(guān)系的隱匿登錄數(shù)據(jù)1304是dk+Ι的情況下,將判斷出的隱匿登錄數(shù)據(jù)1304即dk+Ι、屬性901所對(duì)應(yīng)的圖9B的粗框的虛線所圍住的隱匿登錄數(shù)據(jù)1304 (dk、dk+2、dk+3、……)看作與隱匿檢索查詢(xún)1300相關(guān)的檢索結(jié)果。如上所示,在登錄客戶端100每次生成具有不同的數(shù)據(jù)值的隱匿登錄數(shù)據(jù)712,檢索客戶端200每次生成具有不同的數(shù)據(jù)值的隱匿檢索查詢(xún)1111的情況下,也能夠正確地檢索與接收到的隱匿檢索查詢(xún)1300相關(guān)的隱匿登錄數(shù)據(jù)1304。另外,如公式(6)所示,在檢索過(guò)程中,數(shù)據(jù)Cs705和數(shù)據(jù)CK1105的數(shù)據(jù)值相互抵消,不向DB服務(wù)器300泄露數(shù)據(jù)Cs705和數(shù)據(jù)CkI 105的數(shù)據(jù)值。另外,上述的處理步驟并不是固定的,也可以變更處理步驟。例如,可以分別變更S1303和S1305、S1304和S1306的處理步驟,在S1304中取出數(shù)據(jù)DK1306,在S1306中取出數(shù)據(jù)Ds1302。同樣,也可以變更其他處理步驟。另外,承擔(dān)上述各處理的控制部310并不是固定的,可以變更進(jìn)行承擔(dān)的控制部310。例如,可以在DB服務(wù)器300具備加密部312的情況下,在S1312中不將數(shù)據(jù)DK1313輸入到壓縮函數(shù)部315而輸入到加密部312,可以在S1314中,將從加密部312輸出的數(shù)據(jù)作為數(shù)據(jù)Gd1314存儲(chǔ)在臨時(shí)信息存儲(chǔ)部380中。另外,也可以變更與檢索處理相關(guān)的判定基準(zhǔn)。例如可以在S1316中,不是判定數(shù)據(jù)Ed1315的任意比特等于0,而是使用可變更的確定的值與數(shù)據(jù)Ed1315的數(shù)據(jù)值的大小關(guān)系等的判定式來(lái)進(jìn)行判定。另外,也可以變更與隱匿檢索查詢(xún)1301相關(guān)的隱匿登錄數(shù)據(jù)1304的數(shù)據(jù)結(jié)構(gòu),來(lái)構(gòu)成檢索結(jié)果。例如,可以構(gòu)成為在檢索結(jié)果中不包含與數(shù)據(jù)GK1307有關(guān)的信息。另外,如果DB服務(wù)器300具備偽隨機(jī)數(shù)生成部314,則也可以由全體處理部311向偽隨機(jī)數(shù)生成部314輸入秘密密鑰351,將取代數(shù)據(jù)GK1307而與偽隨機(jī)數(shù)生成部314輸出的偽隨機(jī)數(shù)連接后的數(shù)據(jù)作為與隱匿檢索查詢(xún)1301相關(guān)的隱匿登錄數(shù)據(jù)1304包含在檢索結(jié)果中。另外,也可以將數(shù)據(jù)^1307和偽隨機(jī)數(shù)一起作為與隱匿檢索查詢(xún)1301相關(guān)的隱匿登錄數(shù)據(jù)1304包含在檢索結(jié)果中,還可以代替?zhèn)坞S機(jī)數(shù)而使用普通的索引。另外,如果DB服務(wù)器300具備加密部313,則也可以由全體處理部311將與隱匿檢索查詢(xún)1301相關(guān)的隱匿登錄數(shù)據(jù)1304、秘密密鑰351輸入到加密部313,將輸出的數(shù)據(jù)看作檢索結(jié)果。在將與隱匿檢索查詢(xún)1301相關(guān)的隱匿登錄數(shù)據(jù)1304與偽隨機(jī)數(shù)或普通的索引連接起來(lái)的情況下,向加密部313的輸入值隨時(shí)間變化,因此,將加密部313輸出的數(shù)據(jù)看作隨機(jī)數(shù)。因此,即使DB服務(wù)器300例如經(jīng)由可能受到非法侵害的網(wǎng)絡(luò)400向檢索客戶端200發(fā)送,檢索結(jié)果也是安全的。在本實(shí)施方式中,S1209所示的檢索客戶端200的控制部210對(duì)接收到全部的隱匿登錄數(shù)據(jù)1304或一部分的隱匿登錄數(shù) 據(jù)1304進(jìn)行解密,抽出明文登錄數(shù)據(jù)272的處理步驟按照以下S1401 S1411的處理步驟。圖14A是表示在本實(shí)施方式中檢索客戶端200從通信部203接收到的隱匿登錄數(shù)據(jù)1401的數(shù)據(jù)結(jié)構(gòu)的框圖的例子。另外,圖14B是表示在本實(shí)施方式中在DB服務(wù)器300對(duì)隱匿登錄數(shù)據(jù)1401進(jìn)行解密的過(guò)程中生成的數(shù)據(jù)CK1405的數(shù)據(jù)結(jié)構(gòu)的框圖的例子。另外,圖14C是表示在本實(shí)施方式中在DB服務(wù)器300對(duì)隱匿登錄數(shù)據(jù)1401進(jìn)行解密的過(guò)程中生成的連結(jié)數(shù)據(jù)1409的數(shù)據(jù)結(jié)構(gòu)的框圖的例子。以下,使用圖14A、圖14B、圖14C、圖14D,說(shuō)明檢索客戶端200從隱匿登錄數(shù)據(jù)1401解密明文登錄數(shù)據(jù)1410的處理步驟。檢索客戶端200的全體處理部211進(jìn)行以下處理:使用通信部203接收隱匿登錄數(shù)據(jù)1401。這時(shí),檢索客戶端200將登錄數(shù)據(jù)1401作為由(r+h+g)比特的二進(jìn)制表現(xiàn)構(gòu)成的數(shù)據(jù)而存儲(chǔ)在檢索查詢(xún)存儲(chǔ)部230中。檢索客戶端200的全體處理部211進(jìn)行以下處理:從隱匿登錄數(shù)據(jù)1401中取出數(shù)ig Pe1402 (S1401)。S1401例如如圖14所示那樣,由檢索客戶端200從全體處理部211所輸入的隱匿登錄數(shù)據(jù)1401中抽出與數(shù)據(jù)Ρκ1402相關(guān)的最初的r比特即可。檢索客戶端200的全體處理部211進(jìn)行以下處理:從秘密密鑰存儲(chǔ)部250中讀出秘密密鑰251,將秘密密鑰251和數(shù)據(jù)Ρκ1402輸入到壓縮函數(shù)部215 (S1402)。檢索客戶端200的壓縮函數(shù)部215進(jìn)行以下處理:對(duì)輸入的數(shù)據(jù)進(jìn)行變換,輸出哈希值(S1403)。這時(shí),把哈希值作為h比特的數(shù)據(jù)Hs1407存儲(chǔ)在檢索客戶端200的臨時(shí)信息存儲(chǔ)部280中。圖14B是表示在本實(shí)施方式中由DB服務(wù)器300生成的數(shù)據(jù)CK1405的數(shù)據(jù)結(jié)構(gòu)的框圖。檢索客戶端200的全體處理部211進(jìn)行以下處理:向基本運(yùn)算部217輸入數(shù)據(jù)DK1403 和數(shù)據(jù) Hs1407 (S1404)。檢索客戶端200的基本運(yùn)算部217進(jìn)行所輸入的數(shù)據(jù)DK1403和數(shù)據(jù)Hs1407的每個(gè)比特的異或即XOR運(yùn)算,將其計(jì)算結(jié)果作為數(shù)據(jù)CK1405而輸出(S1405)。在S1407的xor計(jì)算中,數(shù)據(jù)Ηκ1407和數(shù)據(jù)DK1403和數(shù)據(jù)CK1405滿足公式(10)。Ce=He xor De (10)另外,公式(10)是對(duì)公式(4)進(jìn)行變形后的公式。檢索客戶端200的全體處理部211進(jìn)行以下處理:向解密部213輸入基本運(yùn)算部217所輸出的數(shù)據(jù)、在秘密密鑰存儲(chǔ)部250中存儲(chǔ)的秘密密鑰251 (S1406)。檢索客戶端200的解密部進(jìn)行以下處理:對(duì)輸入的數(shù)據(jù)CK1405進(jìn)行解密,輸出連結(jié)數(shù)據(jù)1409 (S1407)。這時(shí),如圖14C所示,把連結(jié)數(shù)據(jù)1409作為(m+e)比特的數(shù)據(jù)存儲(chǔ)到檢索客戶端200的臨時(shí)信息存儲(chǔ)部280中。檢索客戶端200的全體處理部211進(jìn)行以下處理:從連結(jié)數(shù)據(jù)1409中取出錯(cuò)誤檢查數(shù)據(jù) 1411 (S1408)。例如,如圖14C所示那樣,由檢索客戶端200從全體處理部211所輸入的連結(jié)數(shù)據(jù)1403中抽出數(shù)據(jù)結(jié)尾的e比特,看作錯(cuò)誤檢查數(shù)據(jù)1411即可。檢索客戶端200的全體處理部211進(jìn)行以下處理:讀入存儲(chǔ)在參數(shù)存儲(chǔ)部260中的檢查參數(shù)262,向基本運(yùn)算部217輸入變換為檢查用數(shù)據(jù)后的數(shù)據(jù)、錯(cuò)誤檢查數(shù)據(jù)1411(S1409)。檢索客戶端200的基本運(yùn)算部217進(jìn)行以下處理:對(duì)輸入的變換為檢查用的數(shù)據(jù)、錯(cuò)誤檢查數(shù)據(jù)1411進(jìn)行比較,輸出該比較結(jié)果(S1410)。例如,如果用二進(jìn)制列表示的檢查用數(shù)據(jù)和錯(cuò)誤檢查數(shù)據(jù)相等,則輸出表示等號(hào)的比特(1),在不相等的情況下,輸出表示不相等的比特(O)。例如,在基本運(yùn)算部217輸出了表示等號(hào)的比特(I)的情況下,檢索客戶端200的全體處理部211判斷為是正確的檢索結(jié)果。另外,在基本運(yùn)算部217輸出了表示不等號(hào)的比特(O)的情況下,DB服務(wù)器300的全體處理部311判斷為是錯(cuò)誤的檢索結(jié)果。檢索客戶端200的全體處理部211與基本運(yùn)算部217輸出的結(jié)果對(duì)應(yīng)地,將從連結(jié)數(shù)據(jù)1402中抽出的明文登錄數(shù)據(jù)1410作為檢索結(jié)果,結(jié)束復(fù)原明文登錄數(shù)據(jù)1410的處理(S1209) (SHll)0例如,如圖14C所示那樣,檢索客戶端200從全體處理部211所輸入的連結(jié)數(shù)據(jù)1409中,將數(shù)據(jù)最初的m比特看作明文登錄數(shù)據(jù)1410。另外,在希望DB服務(wù)器300針對(duì)非法的對(duì)策完全的情況下,也可以進(jìn)行處理,從DB服務(wù)器300中刪除與檢索相關(guān)的檢索結(jié)果,在隨機(jī)地打亂解碼后的明文登錄數(shù)據(jù)1410的順序后,從檢索客戶端200或登錄客戶端100將隱匿登錄數(shù)據(jù)再登錄到DB服務(wù)器300中。符號(hào)說(shuō)明100:登錄客戶端;200:檢索客戶端;300:DB服務(wù)器;400:網(wǎng)絡(luò);500:計(jì)算機(jī);101,201,301:輸入部;102、202、302:輸出部;103、203、303:通信部;110、210、310:控制部;111、211、311:全體處理部;112、212:加密部;213、313:解密部;114、214:偽隨機(jī)數(shù)生成部;115、215、315:壓縮函數(shù)部;116、216、316:準(zhǔn)同型函數(shù)部;117、217、317:基本運(yùn)算部;120、220、320:存儲(chǔ)部;130:登錄數(shù)據(jù)存儲(chǔ)部;131、272、701、1410:明文登錄數(shù)據(jù);132、271、712、1304、1401:隱匿登錄數(shù)據(jù);133、233:屬性;230、330:檢索查詢(xún)存儲(chǔ)部;231、1101:明文檢索查詢(xún);232、332、1111、1300:隱匿檢索查詢(xún);340:數(shù)據(jù)庫(kù)存儲(chǔ)部;341:數(shù)據(jù)庫(kù);150、250、350:秘密密鑰存儲(chǔ)部;151、251、351:秘密密鑰;160、260、360:參數(shù)存儲(chǔ)部;161、261、361:函數(shù)參數(shù);162、262:檢查參數(shù);270:接收數(shù)據(jù)存儲(chǔ)部;180、280、380:臨時(shí)信息存儲(chǔ)部;501:CPU(中央處理單元);502:存儲(chǔ)器;503:外部存儲(chǔ)裝置;508:存儲(chǔ)介質(zhì);507:讀寫(xiě)裝置;506:輸入裝置;505:輸出裝置;504:通信裝置;509:內(nèi)部通信線;600:輸出部101的顯示內(nèi)容;610:管理方法的選擇部;620:管理表格部;621、1011:屬性;622、1022:輸入表格;650:執(zhí)行按鈕;660、1060:清除按鈕;1000:輸出部102的顯示內(nèi)容;1010:檢索項(xiàng)目部;1020:檢索表格部;1050:檢索按鈕;702、1411:錯(cuò)誤檢查數(shù)據(jù);703、704、1103、1104、1108、1301、1308、1311、1409:連結(jié)數(shù)據(jù);705:數(shù)據(jù) Ce ;706:數(shù)據(jù) Pe ;707:數(shù)據(jù) He ;708:數(shù)據(jù)Fe ;709:數(shù)據(jù)Ge ;711:數(shù)據(jù)De ;1102:錯(cuò)誤檢查數(shù)據(jù);1105:數(shù)據(jù)Cs ;1106:數(shù)據(jù)Ps ;1107:數(shù)據(jù) Fs ; 1110:數(shù)據(jù) Ds ;1302:數(shù)據(jù) Ds ;1303:數(shù)據(jù) Fs ;1305:數(shù)據(jù) Pe ;1306:數(shù)據(jù) De ;1307:數(shù)據(jù)Ge ;1309:數(shù)據(jù) De ;1310:數(shù)據(jù) Ds ;1312:數(shù)據(jù) Fd ;1313:數(shù)據(jù) Dd ;1314:數(shù)據(jù) Gd ;1315:數(shù)據(jù) Ed ;1402:數(shù)據(jù) Pe ;1403:數(shù)據(jù) De ;1404:數(shù)據(jù) Ge ;1405:數(shù)據(jù) Ce ;1407:數(shù)據(jù) Hs。
權(quán)利要求
1.一種可檢索密碼處理系統(tǒng),其包含存儲(chǔ)通過(guò)概率性加密方式加密后的登錄數(shù)據(jù)的DB服務(wù)器以及檢索客戶端, 依照從上述檢索客戶端接收到的要求檢索上述DB服務(wù)器所存儲(chǔ)的數(shù)據(jù)的檢索查詢(xún),不解除上述DB服務(wù)器所存儲(chǔ)的上述數(shù)據(jù)的加密地進(jìn)行檢索,所述可檢索密碼處理系統(tǒng)的特征在于, 上述概率性加密方式是根據(jù)相同的數(shù)據(jù)值的明文生成不同的數(shù)據(jù)值的密文的數(shù)據(jù)的加密方式, 上述檢索客戶端具備:存儲(chǔ)部,其存儲(chǔ)上述檢索查詢(xún);控制部,其對(duì)上述檢索查詢(xún)進(jìn)行加密;通信部,其發(fā)送加密后的上述檢索查詢(xún), 上述檢索客戶端的上述控制部具備:隨機(jī)數(shù)生成部,其生成第一隨機(jī)數(shù);基本運(yùn)算部,其根據(jù)上述第一隨機(jī)數(shù)通過(guò)上述概率性加密方式對(duì)上述檢索查詢(xún)進(jìn)行加密;準(zhǔn)同型函數(shù)部,其以上述第一隨機(jī)數(shù)為輸入值并以準(zhǔn)同型函數(shù)的函數(shù)值為輸出值, 上述檢索客戶端中的上述控制部具備:壓縮函數(shù)部,其對(duì)上述準(zhǔn)同型函數(shù)部輸出的上述函數(shù)值進(jìn)行變換,輸出哈希值, 上述DB服務(wù)器具備:通信部,其接收上述檢索查詢(xún);存儲(chǔ)部,其存儲(chǔ)加密后的上述檢索查詢(xún)和加密后的上述登錄數(shù)據(jù);控制部,其確定所存儲(chǔ)的上述登錄數(shù)據(jù)是否與上述檢索查詢(xún)相關(guān), 上述DB服務(wù)器的上述控制部具備:全體處理部,其導(dǎo)出加密后的上述登錄數(shù)據(jù)和加密后的上述檢索查詢(xún)的隨機(jī)數(shù)的相關(guān);準(zhǔn)同型函數(shù)部,其以上述相關(guān)為輸入值并以準(zhǔn)同型函數(shù)的函數(shù)值為輸出值, 上述檢索客戶端所發(fā)送的加密后的上述檢索查詢(xún)通過(guò)上述基本運(yùn)算部對(duì)通過(guò)上述概率性加密方式加密后的密文和上述壓縮函數(shù)部輸出的上述哈希值所構(gòu)成的數(shù)據(jù)進(jìn)行加密。
2.一種可檢索密碼處理系統(tǒng),其包含存儲(chǔ)通過(guò)概率性加密方式加密后的登錄數(shù)據(jù)的DB服務(wù)器以及檢索客戶端, 依照從上述檢索客戶端接收到的要求檢索上述DB服務(wù)器所存儲(chǔ)的數(shù)據(jù)的檢索查詢(xún),不解除上述DB服務(wù)器所存儲(chǔ)的上述數(shù)據(jù)的加密地進(jìn)行檢索,所述可檢索密碼處理系統(tǒng)的特征在于, 上述概率性加密方式是根據(jù)相同的數(shù)據(jù)值的明文生成不同的數(shù)據(jù)值的密文的數(shù)據(jù)的加密方式, 上述檢索客戶端具備:存儲(chǔ)部,其存儲(chǔ)上述檢索查詢(xún);控制部,其對(duì)上述檢索查詢(xún)進(jìn)行加密;通信部,其發(fā)送加密后的上述檢索查詢(xún), 上述檢索客戶端的上述控制部具備:隨機(jī)數(shù)生成部,其生成隨機(jī)數(shù);基本運(yùn)算部,其根據(jù)上述隨機(jī)數(shù)通過(guò)上述概率性加密方式對(duì)上述檢索查詢(xún)進(jìn)行加密;準(zhǔn)同型函數(shù)部,其以上述隨機(jī)數(shù)為輸入值并以準(zhǔn)同型函數(shù)的函數(shù)值為輸出值, 上述DB服務(wù)器具備:通信部,其接收上述檢索查詢(xún);存儲(chǔ)部,其存儲(chǔ)加密后的上述檢索查詢(xún)和加密后的上述登錄數(shù)據(jù);控制部,其確定所存儲(chǔ)的上述登錄數(shù)據(jù)是否與上述檢索查詢(xún)相關(guān), 上述DB服務(wù)器的上述控制部具備:全體處理部,其導(dǎo)出加密后的上述登錄數(shù)據(jù)和加密后的上述檢索查詢(xún)的隨機(jī)數(shù)的相關(guān);準(zhǔn)同型函數(shù)部,其以上述相關(guān)為輸入值并以準(zhǔn)同型函數(shù)的函數(shù)值為輸出值, 上述檢索客戶端所發(fā)送的加密后的上述檢索查詢(xún)通過(guò)上述基本運(yùn)算部對(duì)由通過(guò)上述概率性加密方式加密后的上述數(shù)據(jù)和上述準(zhǔn)同型函數(shù)部輸出的上述函數(shù)值構(gòu)成的數(shù)據(jù)進(jìn)行加密。
3.根據(jù)權(quán)利要求1所述的可檢索密碼處理系統(tǒng),其特征在于, 具有通過(guò)上述概率性加密方式對(duì)上述登錄數(shù)據(jù)進(jìn)行加密的登錄客戶端, 上述DB服務(wù)器的上述通信部接收加密后的上述登錄數(shù)據(jù),上述DB服務(wù)器的上述存儲(chǔ)部存儲(chǔ)上述登錄數(shù)據(jù), 上述登錄客戶端具備:存儲(chǔ)部,其存儲(chǔ)上述登錄數(shù)據(jù);控制部,其對(duì)上述登錄數(shù)據(jù)進(jìn)行加密;通信部,其發(fā)送加 密后的上述登錄數(shù)據(jù), 上述登錄客戶端的上述控制部具備:隨機(jī)數(shù)生成部,其生成第二隨機(jī)數(shù);基本運(yùn)算部,其根據(jù)上述第二隨機(jī)數(shù)通過(guò)上述概率性加密方式對(duì)上述登錄數(shù)據(jù)進(jìn)行加密;準(zhǔn)同型函數(shù)部,其以上述第二隨機(jī)數(shù)為輸入值并以準(zhǔn)同型函數(shù)的函數(shù)值為輸出值。
4.根據(jù)權(quán)利要求3所述的可檢索密碼處理系統(tǒng),其特征在于, 上述登錄客戶端所發(fā)送的加密后的上述登錄數(shù)據(jù)由上述隨機(jī)數(shù)部輸出的上述第二隨機(jī)數(shù)、由上述基本運(yùn)算部通過(guò)上述概率性加密方式加密后的密文、上述準(zhǔn)同型函數(shù)部輸出的上述函數(shù)值構(gòu)成。
5.根據(jù)權(quán)利要求4所述的可檢索密碼處理系統(tǒng),其特征在于, 上述DB服務(wù)器的上述通信部發(fā)送與上述檢索查詢(xún)相關(guān)的加密后的上述登錄數(shù)據(jù), 上述檢索客戶端的上述通信部接收加密后的上述登錄數(shù)據(jù),上述檢索客戶端的上述控制部對(duì)上述登錄數(shù)據(jù)進(jìn)行解密, 上述檢索客戶端的上述控制部具備:壓縮函數(shù)部,其輸出對(duì)加密后的上述登錄數(shù)據(jù)進(jìn)行加密后的第三隨機(jī)數(shù),上述檢索客戶端的上述基本運(yùn)算部解除上述登錄數(shù)據(jù)的加密。
6.根據(jù)權(quán)利要求5所述的可檢索密碼處理系統(tǒng),其特征在于, 上述DB服務(wù)器的上述基本運(yùn)算部從上述登錄數(shù)據(jù)中抽出任意的數(shù)據(jù),從上述壓縮函數(shù)部輸出的上述第三隨機(jī)數(shù)檢查指定的數(shù)據(jù)長(zhǎng)度。
7.根據(jù)權(quán)利要求6所述的可檢索密碼處理系統(tǒng),其特征在于, 上述登錄客戶端的上述存儲(chǔ)部存儲(chǔ)能夠輸入到上述登錄客戶端的上述準(zhǔn)同型函數(shù)部的函數(shù)參數(shù), 上述檢索客戶端的上述存儲(chǔ)部存儲(chǔ)能夠輸入到上述檢索客戶端的上述準(zhǔn)同型函數(shù)部的函數(shù)參數(shù), 上述DB服務(wù)器的上述存儲(chǔ)部存儲(chǔ)能夠輸入到上述DB服務(wù)器的上述準(zhǔn)同型函數(shù)部的函數(shù)參數(shù)。
8.根據(jù)權(quán)利要求7所述的可檢索密碼處理系統(tǒng),其特征在于, 上述檢索客戶端的上述存儲(chǔ)部存儲(chǔ)解除了加密的上述登錄數(shù)據(jù)的檢查用的參數(shù),上述檢索客戶端具備:全體處理部,其從解除了加密的上述登錄數(shù)據(jù)中抽出檢查用的數(shù)據(jù),檢查與上述檢查用的參數(shù)的關(guān)系。
9.根據(jù)權(quán)利要求8所述的可檢索密碼處理系統(tǒng),其特征在于, 上述登錄客戶端具備:加密部,其通過(guò)決定性加密方式對(duì)上述登錄數(shù)據(jù)進(jìn)行加密,上述決定性加密方式是從相同的數(shù)據(jù)值的明文生成數(shù)據(jù)值相等的密文的數(shù)據(jù)的加密方式。
10.根據(jù)權(quán)利要求9所述的可檢索密碼處理系統(tǒng),其特征在于, 上述登錄客戶端的上述存儲(chǔ)部存儲(chǔ)沒(méi)有加密的登錄用的數(shù)據(jù), 具備:全體控制部,其從存儲(chǔ)在上述登錄客戶端的上述存儲(chǔ)部中的檢查用的參數(shù)中抽出錯(cuò)誤檢查用的數(shù)據(jù),并 使其與上述登錄用的數(shù)據(jù)結(jié)合。
全文摘要
在通過(guò)具有實(shí)際的功能的可檢索密碼方式對(duì)保管在服務(wù)器中的數(shù)據(jù)進(jìn)行檢索時(shí),會(huì)引起檢索的出現(xiàn)頻度的泄露、與檢索結(jié)果相關(guān)的保管數(shù)據(jù)的安全性的降低,處于危險(xiǎn)的狀況。在可檢索密碼處理系統(tǒng)中,保存數(shù)據(jù)的DB服務(wù)器、將數(shù)據(jù)寄存在DB服務(wù)器中的登錄客戶端、使DB服務(wù)器檢索數(shù)據(jù)的檢索客戶端經(jīng)由網(wǎng)絡(luò)而協(xié)作,登錄客戶端通過(guò)基于使用了哈希值和準(zhǔn)同型函數(shù)的掩碼的概率性加密方式,將加密后的數(shù)據(jù)寄存在服務(wù)器中,檢索客戶端在檢索查詢(xún)的加密中,使用基于利用了準(zhǔn)同型函數(shù)的掩碼的概率性加密,使DB服務(wù)器不掩碼,并且不向DB服務(wù)器泄露與檢索相關(guān)的數(shù)據(jù)的出現(xiàn)頻度的方式,將與檢索查詢(xún)不相關(guān)的數(shù)據(jù)作為檢索結(jié)果進(jìn)行輸出。
文檔編號(hào)G06F17/30GK103119594SQ201180046068
公開(kāi)日2013年5月22日 申請(qǐng)日期2011年11月29日 優(yōu)先權(quán)日2010年12月8日
發(fā)明者吉野雅之, 佐藤尚宜, 長(zhǎng)沼健 申請(qǐng)人:株式會(huì)社日立制作所