安全搜索處理系統(tǒng)和安全搜索處理方法
【專利摘要】本發(fā)明提供一種安全搜索處理系統(tǒng)和安全搜索處理方法,是包括了信息處理裝置的安全搜索處理系統(tǒng)。所述信息處理裝置功能如下:計算第二信息與第二隨機數(shù)的異或,其中第二信息是將搜索關(guān)鍵字應用到單向函數(shù)中而得,其中第二隨機數(shù)由隨機數(shù)發(fā)生器生成;計算搜索值即所述計算結(jié)果與數(shù)據(jù)庫中的注冊值的異或;以及計算將搜索值與注冊值的異或計算結(jié)果應用到所述同態(tài)函數(shù)中而得到的值與由將第二隨機數(shù)應用到同態(tài)函數(shù)中而獲得的值的異或;以將計算結(jié)果應用到單向函數(shù)中而得到的值為密鑰,搜索與數(shù)據(jù)庫中的注冊值相關(guān)聯(lián)的單向函數(shù)的輸出值,并輸出搜索結(jié)果到輸出界面。
【專利說明】安全搜索處理系統(tǒng)和安全搜索處理方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種安全搜索處理系統(tǒng)和安全搜索處理方法,并且更具體地指在安全搜索技術(shù)中降低管理用戶密鑰所需的時間和精力,并在發(fā)生密鑰泄露時降低信息管理的風險的技術(shù)。
【背景技術(shù)】
[0002]隨著諸如電子商務等的快速發(fā)展,在網(wǎng)絡系統(tǒng)中保存?zhèn)€人身份信息的機會在激增。因此,已經(jīng)出現(xiàn)新的例如信息通過網(wǎng)絡泄露的信息管理風險,然而未來諸如基因信息和各種與個人醫(yī)療和健康相關(guān)的高度敏感的信息很可能要通過上述網(wǎng)絡系統(tǒng)來管理。
[0003]已經(jīng)提出諸如可對加密信息執(zhí)行關(guān)鍵字搜索的可搜索的加密技術(shù)作為對應上述風險的解決方案(例如,見日本特開N0.2011-147074)。此外,也已經(jīng)提出阻止現(xiàn)存的基因信息和樣本基因信息泄露和利用諸如可搜索的加密技術(shù)等搜索有效的基因信息的技術(shù)(見日本特開 N0.2012-73693)。
[0004]然而,在常規(guī)技術(shù)中,需要單獨管理用于對搜索目標數(shù)據(jù)進行加密的密鑰,這很繁瑣。此外,當這些密鑰外泄時無法完全避免信息泄露風險的問題仍然存在。
【發(fā)明內(nèi)容】
[0005]因此,本發(fā)明的目的是在安全搜索技術(shù)中提供降低管理用戶密鑰所需的時間和精力并在發(fā)生密鑰泄露時降低信息管理風險的技術(shù)。
[0006]本發(fā)明的用于解決上述問題的安全搜索處理系統(tǒng)具有信息處理裝置,其包括存儲設備和處理器;
[0007]該存儲設備用于存儲已存儲有注冊值和輸出值的數(shù)據(jù)庫;其中注冊值為第一信息與第一隨機數(shù)的異或,第一信息通過將搜索目標信息應用到單向函數(shù)中而獲得;其中輸出值為,把通過將上述第一隨機數(shù)應用到預定義的同態(tài)函數(shù)中所獲得的結(jié)果應用到所述單向函數(shù)中時而獲得的值;
[0008]該處理器被配置為:
[0009]計算第二信息與第二隨機數(shù)的異或來獲得第一計算結(jié)果,其中第二信息由將從輸入界面接收到的搜索關(guān)鍵字應用到單向函數(shù)中而得,其中第二隨機數(shù)由隨機數(shù)發(fā)生器生成;并且計算作為第一計算結(jié)果的搜索值與數(shù)據(jù)庫中的注冊值的異或來獲得第二計算結(jié)果;并且
[0010]計算將第二計算結(jié)果應用到同態(tài)函數(shù)中而獲得的值,與將第二隨機數(shù)應用到同態(tài)函數(shù)中所獲得的值的異或,來獲得第三計算值,其中第二計算結(jié)果為搜索值與注冊值的異或;以將第三計算結(jié)果應用到單向函數(shù)中而獲得的值為密鑰,搜索與數(shù)據(jù)庫內(nèi)的注冊值相關(guān)聯(lián)的單向函數(shù)的輸出值;并且輸出搜索結(jié)果到輸出界面上。
[0011]此外,還提供了實現(xiàn)于信息處理裝置上的安全搜索處理方法,該信息處理裝置在存儲設備內(nèi)存儲有數(shù)據(jù)庫,數(shù)據(jù)庫內(nèi)存儲的注冊值和輸出值彼此關(guān)聯(lián);該注冊值為第一信息與第一隨機數(shù)的異或,其中第一信息為將搜索目標信息應用到單向函數(shù)中而獲得;該輸出值為,把通過將上述第一隨機數(shù)應用到預定義的同態(tài)函數(shù)中所獲得的結(jié)果應用到單向函數(shù)中而獲得的值。該安全搜索處理方法包括:
[0012]計算第二信息與第二隨機數(shù)的異或來獲得第一計算結(jié)果,其中第二信息為將輸入界面接收到的搜索關(guān)鍵字應用到單向函數(shù)中而獲得,其中第二隨機數(shù)由隨機數(shù)發(fā)生器生成;以及計算作為第一計算結(jié)果的搜索值與數(shù)據(jù)庫中的注冊值的異或來獲得第二計算結(jié)果;并且
[0013]計算將第二計算結(jié)果應用到同態(tài)函數(shù)中而獲得的值,與將第二隨機數(shù)應用到同態(tài)函數(shù)中而獲得的值的異或,來獲得第三計算結(jié)果,其中第二計算結(jié)果為搜索值與注冊值的異或;以及以將第三計算結(jié)果應用到單向函數(shù)中而獲得的值為密鑰,搜索與數(shù)據(jù)庫內(nèi)的注冊值相關(guān)聯(lián)的單向函數(shù)的輸出值;并且將搜索結(jié)果輸出到輸出界面上。
[0014]根據(jù)本發(fā)明,在安全搜索技術(shù)中能夠降低管理用戶密鑰所需的時間和精力,并且當發(fā)生密鑰泄露時,信息管理的風險也會降低。
【專利附圖】
【附圖說明】
[0015]圖1是示出了本發(fā)明的一個實施方式的安全搜索處理系統(tǒng)的網(wǎng)絡配置圖;
[0016]圖2A是一個包括了安全搜索處理系統(tǒng)的客戶端的配置圖;
[0017]圖2B是一個包括了安全搜索處理系統(tǒng)的服務器的配置圖;
[0018]圖3A是示出了根據(jù)本發(fā)明的一個實施方式的安全搜索處理方法的第一示例的流程圖;
[0019]圖3B是示出了安全搜索處理方法的第一示例的概念圖;
[0020]圖4A是示出了安全搜索處理方法的第二示例的流程圖;
[0021]圖4B是示出了安全搜索處理方法的第二示例的概念圖;
[0022]圖5是示出了安全搜索處理方法的第三示例的流程圖;
[0023]圖6是示出了安全搜索處理方法的第三示例的概念圖;
[0024]圖7是示出了安全搜索處理系統(tǒng)的第一應用示例圖;
[0025]圖8是示出了安全搜索處理系統(tǒng)的第二應用示例圖;
[0026]圖9是示出了安全搜索處理系統(tǒng)的第三應用示例圖。
【具體實施方式】
[0027]第一實施方式
[0028]1.系統(tǒng)配置
[0029]下文中將結(jié)合附圖,詳細描述本發(fā)明的實施方式。
[0030]圖1是示出了本實施方式的安全搜索處理系統(tǒng)10的網(wǎng)絡配置圖。圖1中的安全搜索處理系統(tǒng)10 (下文,系統(tǒng)10)是一個在安全搜索技術(shù)中能夠降低管理用戶密鑰所需的時間和精力并在出現(xiàn)密鑰泄露時降低信息管理風險的計算機系統(tǒng),其包括客戶端100和服務器200。這樣的系統(tǒng)10基于本發(fā)明人在日本特開N0.2012-123614中披露的可搜索的加密處理技術(shù),并進一步被配置為在用于加密搜索目標數(shù)據(jù)的密鑰發(fā)生泄露時降低管理負擔和阻止風險而達到格外優(yōu)秀的效果。[0031]接下來,將描述構(gòu)成本實施方式的系統(tǒng)10的客戶端100和服務器200的每個所提供的功能。下文中所描述的功能可被理解為通過執(zhí)行被包括在客戶端100和服務器200每個中各自的程序而實現(xiàn)的功能。需注意的是,盡管在本實施方式中,系統(tǒng)10的例子被顯示為包括客戶端100和服務器200,但是服務器200可假定為以沒有被耦接到網(wǎng)絡120上的單機方式運行。在這種情況下,服務器200被配置為具有所有對客戶端100中的搜索目標信息進行注冊和搜索所用的功能,或各種所需的處理被配置為通過服務器200所具有的界面直接接收來自用戶的指令來執(zhí)行。
[0032]系統(tǒng)10中的客戶端100包括數(shù)據(jù)注冊單元110、數(shù)據(jù)搜索單元111、傳輸/接收單元112、密鑰管理單元113和偽隨機數(shù)發(fā)生器114。其中,數(shù)據(jù)注冊單元110是在將搜索目標信息數(shù)據(jù)注冊到服務器200側(cè)時執(zhí)行加密處理或哈希處理(hashing)的功能單元。更具體地,數(shù)據(jù)注冊單元110將搜索目標信息應用到哈希函數(shù)113A (—種單向函數(shù))中來計算第一信息,利用偽隨機數(shù)發(fā)生器114生成第一隨機數(shù),計算第一信息與第一隨機數(shù)的異或(exclusive 0R),并將包括了注冊值即異或的輸出值的請求發(fā)送給服務器200(信息處理裝置)來存儲到數(shù)據(jù)庫225中。更進一步地,數(shù)據(jù)注冊單元110把將上述第一隨機數(shù)應用到預定義的同態(tài)函數(shù)中而得到的結(jié)果應用到哈希函數(shù)113A中,并將包括了哈希函數(shù)113A的輸出值(如,哈希值)的請求發(fā)送給服務器200,并與注冊值相關(guān)聯(lián)地存儲到數(shù)據(jù)庫225中。
[0033]需注意的是,即使當輸入值位數(shù)較長時,上述哈希函數(shù)作用后的輸出值仍然具有固定長度,因此即使當處理目標值的位數(shù)多樣時,采用類似的哈希函數(shù)作為單向函數(shù)時其輸出值也能夠具有同樣的位數(shù),這樣在允許有效執(zhí)行下述處理方面非常有益。
[0034]數(shù)據(jù)搜索單元111是對服務器200生成請求文檔的功能單元,該請求文檔用于表明請求在數(shù)據(jù)庫225中搜索數(shù)據(jù)。更具體地,數(shù)據(jù)搜索單元111在輸入單元105中接收用于搜索的關(guān)鍵字,并計算將上述接收到的關(guān)鍵字應用到哈希函數(shù)113A中而獲得的第二信息與由偽隨機數(shù)發(fā)生器114生成的第二隨機數(shù)的異或,并發(fā)送搜索值即計算結(jié)果值給服務器200。更進一步地,數(shù)據(jù)搜索單元111用密鑰113B對將上述第二隨機數(shù)應用到同態(tài)函數(shù)中而獲得的值進行加密并發(fā)送加密結(jié)果給服務器200。
[0035]傳輸/接收單元112是通過例如INTERNET的網(wǎng)絡120傳輸和接受與服務器200之間的信息的功能單元。密鑰管理單元113是當注冊搜索目標信息時執(zhí)行不可逆的加密和哈希處理的功能單元,也是當搜索搜索目標信息的數(shù)據(jù)時管理用于生成請求文檔的密鑰的功能單元。
[0036]另一方面,系統(tǒng)10中的服務器200包括數(shù)據(jù)注冊單元210、數(shù)據(jù)搜索單元211、傳輸/接收單元212和密鑰管理單元213。更進一步地,存儲設備201中存儲有數(shù)據(jù)庫225。其中,數(shù)據(jù)注冊單元210是注冊發(fā)自客戶端100的密文和哈希值的功能單元。更具體地,數(shù)據(jù)注冊單元210執(zhí)行接收上述來自客戶端100的注冊值和輸出值并將其存儲到存儲設備201的數(shù)據(jù)庫225中的處理。
[0037]數(shù)據(jù)搜索單元211是執(zhí)行基于發(fā)自客戶端100、通過傳輸/接收單元212的請求文檔,在數(shù)據(jù)庫225中搜索信息的處理的功能單元。更具體地,數(shù)據(jù)搜索單元211從客戶端100處接收來自客戶端100的上述搜索值并計算搜索值與數(shù)據(jù)庫225中的注冊值的異或。此外,數(shù)據(jù)搜索單元211接收將上述第二隨機數(shù)應用到同態(tài)函數(shù)中所獲得的值的加密結(jié)果,利用密鑰113B解密所接收到的加密結(jié)果,并隨后計算解密值與將計算上述搜索值與注冊值的異或所獲得的結(jié)果應用到同態(tài)函數(shù)中而獲得的值的異或。并且之后,數(shù)據(jù)搜索單元211以將計算值應用到哈希函數(shù)113A中所獲得的值為密鑰,來搜索與數(shù)據(jù)庫225中注冊值相關(guān)聯(lián)的上述哈希函數(shù)113A的輸出值,并返回搜索結(jié)果給客戶端100。
[0038]傳輸/接收單元212是通過例如INTERNET的網(wǎng)絡120傳輸和接受與客戶端100之間的信息的功能單元。密鑰管理單元213是管理用于對請求文檔進行解密的密鑰的功能單元。
[0039]數(shù)據(jù)庫225存儲通過傳輸/接收單元112、212的、發(fā)自客戶端100的數(shù)據(jù)注冊單元Iio的加密過或哈希過的信息。更具體地,將由服務器200從客戶端100接收到的注冊值和輸出值在數(shù)據(jù)庫225彼此關(guān)聯(lián)地存儲,該注冊值是將搜索目標信息應用到客戶端100的哈希函數(shù)113A中所獲得的第一信息與客戶端100中的第一隨機數(shù)的異或值,該輸出值是通過把將第一隨機數(shù)應用到客戶端100的預定義的同態(tài)函數(shù)中所獲得的結(jié)果應用到哈希函數(shù)113A中所獲得的。
[0040]構(gòu)成了安全搜索處理系統(tǒng)10的設備的硬件配置如下。如圖2A所示,客戶端100包括:配置有適當?shù)姆且资源鎯υO備例如硬盤設備的存儲設備101;配置有易失性內(nèi)存設備例如RAM的內(nèi)存103 ;諸如CPU的處理器104,其用于將保持在存儲設備101中的程序102讀到內(nèi)存103等中并執(zhí)行程序102,來進行客戶端100本身的集中控制功能和其他各種決定、計算和控制操作;接收用戶的密鑰輸入或聲音輸入的輸入單元105 ;顯示器等用于顯示處理數(shù)據(jù)的輸出單元106 ;以及為承擔與服務器200之間的通信處理而耦接到網(wǎng)絡120上的通信單元107。需注意的是,存儲設備101中除了存儲了用于實施作為本實施方式的安全搜索處理系統(tǒng)10的一部分所需功能的程序102之外,還存儲了至少一個哈希函數(shù)113A、一個密鑰113B和一個偽隨機數(shù)發(fā)生器114。
[0041]服務器200也有與客戶端100的近似相同的配置。如圖2B所示,服務器200包括存儲設備201、內(nèi)存203、處理器204、輸入單元205、輸出單元206和通信單元207。需注意的是,存儲設備201中除了存儲了程序202之外,還存儲了至少一個哈希函數(shù)113A、一個密鑰113B和一個數(shù)據(jù)庫225,其中程序202用于實現(xiàn)作為本實施方式的安全搜索處理系統(tǒng)10的一部分的所需功能。該哈希函數(shù)113A和該密鑰113B與在客戶端100中包括的兩個函數(shù)相同。
[0042]2.第一處理例
[0043]下面將參考附圖描述本實施方式的安全搜索處理方法的實際處理。下文中將描述與安全搜索處理方法相對應的各種操作,其是由構(gòu)成系統(tǒng)10的客戶端100和服務器200通過讀取程序到各自的內(nèi)存等中并執(zhí)行該程序來實現(xiàn)的。程序由用于完成下文描述的各種操作的代碼構(gòu)成。
[0044]圖3A是示出了根據(jù)本實施方式的安全搜索處理方法的第一示例的流程圖。圖3B是示出了根據(jù)本實施方式的安全搜索處理方法的第一示例的概念圖。這里,將給出在系統(tǒng)10中對搜索目標信息的數(shù)據(jù)進行注冊處理的一個方面。
[0045]本例中,首先,客戶端100的數(shù)據(jù)注冊單元110接收在輸入單元105上的消息“mi”,即用戶需要注冊的信息(S201)。然后,數(shù)據(jù)注冊單元110通過把在輸入單元105接收到的消息“mi”應用到由密鑰管理單元113所管理的哈希函數(shù)113A中來執(zhí)行哈希處理,并生成信息“Ci”(第一信息)(S202)。使用例如哈希函數(shù)113A (包括哈希表的概念)等這樣的不可能對已加密的數(shù)據(jù)進行解密而獲得原始空白文本的算法,降低了為能夠處理有關(guān)密鑰泄露而確保的安全級別所需的時間和精力。
[0046]隨后,數(shù)據(jù)注冊單元110利用偽隨機數(shù)發(fā)生器114生成隨機數(shù)“ri”(第一隨機數(shù))(S203)。然后,數(shù)據(jù)注冊單元110計算上述信息“Ci”與隨機數(shù)“ri”的異或(S204),并將包括了該計算值,即計算結(jié)果的存儲請求發(fā)送給服務器200,來注冊到服務器200的數(shù)據(jù)庫225中(S205)。在將該注冊值存儲進數(shù)據(jù)庫225的處理中,服務器200的傳輸/接收單元212接收發(fā)自客戶端100的傳輸/接收單元112的上述注冊值,并且服務器200的數(shù)據(jù)注冊單元210將接收自客戶端100的上述注冊值數(shù)據(jù)存儲到數(shù)據(jù)庫225中。需注意的是,偽隨機數(shù)發(fā)生器114的存在阻止了即使輸入同樣的消息“mi”時,有同樣的信息被注冊到數(shù)據(jù)庫225 中。
[0047]接下來,數(shù)據(jù)注冊單元110將隨機數(shù)“ri”應用到同態(tài)函數(shù)“F”中(S206),并通過將在S206所獲得的結(jié)果應用到哈希函數(shù)113A中來執(zhí)行哈希處理(S207)。更進一步地,為注冊到服務器200的數(shù)據(jù)庫225中,數(shù)據(jù)注冊單元110向服務器200發(fā)送將在步驟S207中獲得的、與上述注冊值(在步驟S205中注冊的值)相關(guān)聯(lián)的哈希后的值(輸出值)存儲到數(shù)據(jù)庫225中的請求(S208)。在向數(shù)據(jù)庫225中注冊上述輸出值的處理中,服務器200的傳輸/接收單元212接收上述發(fā)自客戶端100的傳輸/接收單元112的輸出值,并且服務器200的數(shù)據(jù)注冊單元210將上述獲取自客戶端100的輸出值數(shù)據(jù)與上述注冊值相關(guān)聯(lián)地存儲進數(shù)據(jù)庫225中。
[0048]通過上述處理,在上述步驟S204中計算出的信息“Ci”與隨機數(shù)“ri”的異或,以及通過將在步驟S207中所計算出的隨機數(shù)“ri”應用到同態(tài)函數(shù)中而獲得的值的哈希值,被彼此關(guān)聯(lián)地注冊到服務器200的數(shù)據(jù)庫225中。
[0049]3.第二處理例
[0050]接下來,將描述系統(tǒng)10執(zhí)行的數(shù)據(jù)搜索處理。
[0051]圖4A是示出了根據(jù)本實施方式的安全搜索處理方法的第二示例的流程圖,圖4B是示出了根據(jù)本實施方式的安全搜索處理方法的第二示例的概念圖。這種情況下,客戶端100的數(shù)據(jù)搜索單元111接收在輸入單元105上的用戶需要搜索的關(guān)鍵字“mi’ ” (S301),并且通過將哈希函數(shù)113A應用到關(guān)鍵字“mi’ ”上并生成信息“Ci’ ”(第二信息)的方式來執(zhí)行哈希處理(S302)。
[0052]隨后,數(shù)據(jù)搜索單元111利用偽隨機數(shù)發(fā)生器114生成隨機數(shù)“ri’ ”(第二隨機數(shù))(S303)。此隨機數(shù)“ri’”不同于上文在步驟S203中生成的隨機數(shù)“ri”。
[0053]更進一步地,數(shù)據(jù)搜索單元111計算上述信息“Ci’ ”與隨機數(shù)“ri’ ”的異或(S304),并通過傳輸/接收單元112將搜索值,即計算結(jié)果發(fā)送給服務器200的數(shù)據(jù)搜索單元 211 (S305)。
[0054]接下來,數(shù)據(jù)搜索單元111將上述隨機數(shù)“ri’ ”應用到同態(tài)函數(shù)“F”中來計算F(ri’ ) (S306)。更進一步地,數(shù)據(jù)搜索單元111使用加密密鑰sk’ 113B對作為步驟S306的處理結(jié)果的處理結(jié)果F (ri’ )進行加密(S307),并且通過傳輸/接收單元112將該加密結(jié)果發(fā)送給服務器200的數(shù)據(jù)搜索單元211。
[0055]在上述將搜索值和加密結(jié)果傳輸給服務器200的過程中,服務器200的傳輸/接收單元212接收發(fā)自客戶端100的傳輸/接收單元112的數(shù)據(jù)給服務器200的數(shù)據(jù)搜索單元211來處理。
[0056]需注意的是,在上文步驟S307中,使用加密密鑰sk’ 113B來加密是為了確保傳輸路徑,即連接客戶端100和服務器200的網(wǎng)絡120的通信安全。因此,當在一個確保安全的環(huán)境中時,其中F Cri')可被安全地從客戶端100的數(shù)據(jù)搜索單元111傳輸?shù)椒掌?00的數(shù)據(jù)搜索單元211,類似的加密可被省略?;蛘呦喾吹?,當使用密鑰sk’ 113B作為僅由真正的客戶端100所持有的秘密密鑰,并用來執(zhí)行與服務器200之間的通信期間的加密處理時,可使用對該秘密密鑰的認證而不是客戶端100的用戶授權(quán)來進一步提高安全性。
[0057]根據(jù)上述處理,服務器200的數(shù)據(jù)搜索單元211保留由客戶端100在步驟S304中所計算出的異或值(搜索值)和在步驟S306中使用同態(tài)函數(shù)所計算出的信息F Cri')。
[0058]4.第三處理例
[0059]接下來,將描述在服務器200的數(shù)據(jù)搜索單元211的數(shù)據(jù)搜索處理中從上述步驟S308及其后的處理。
[0060]圖5是示出了根據(jù)本實施方式的安全搜索處理方法的第三示例的流程圖,圖6是示出了根據(jù)本實施方式的安全搜索處理方法的第三示例的概念圖。
[0061]此時,服務器200的數(shù)據(jù)庫225中已經(jīng)注冊了異或值(注冊值),該值為對從客戶端100接收到并注冊的消息“mi”進行加密而獲得的信息“Ci”,與利用隨機數(shù)發(fā)生器114的基于例如信息“Ci”而產(chǎn)生的隨機數(shù)“ri”的異或。更進一步地,對將隨機數(shù)“ri”應用到同態(tài)函數(shù)“F”中所獲得的結(jié)果F (ri)進行哈?;@得的值(輸出值)與上述注冊值相關(guān)聯(lián)地被存儲在數(shù)據(jù)庫225中。
[0062]這里,服務器200的數(shù)據(jù)搜索單元211接收到信息“Ci’ ”與隨機數(shù)“ri’ ”的異或值,即在上述步驟S305 (見圖·6)中的發(fā)送自客戶端100的搜索值21 (S401),并計算數(shù)據(jù)庫225中注冊值20 (通過執(zhí)行到步驟S205所累積,并且是信息“Ci”與隨機數(shù)“ri”的異或值,見圖6)和搜索值21的異或值22 (S402)。
[0063]為了給出更具體的例子,當關(guān)鍵字“mi’ ”是“abc”時,假定對“abc”進行編碼而得到的位數(shù)值為預先確定的“101010...01”的值為“11100...11”,即是用密鑰sk’ 113B加密過的信息“Ci’ ”。假定隨機數(shù)“ri’ ”為與信息“Ci’ ”具有相同的位數(shù)的“00110…01”。此時,信息“Ci’ ”與隨機數(shù)“ri’ ”的異或,即搜索值21,為“11010…10”。更進一步地,數(shù)據(jù)庫225中的注冊值20,即信息“Ci”與隨機數(shù)“ri”的異或,被假定為具有與上述搜索值21相同的位數(shù)的“10110…00”。這種情況下,搜索值21與注冊值20的異或是“01100...10”。
[0064]需注意的是,基于信息“Ci”和信息“Ci’ ”相同的前提下,由于異或的特性,當注冊在數(shù)據(jù)庫225中的消息“mi”和用戶搜索的關(guān)鍵字“mi’ ”匹配時,上述注冊值20 (在注冊時的異或)與搜索值21 (在搜索時的異或)的異或和注冊時的隨機數(shù)“ri”與搜索時的隨機數(shù)“ri’”的異或22相同。
[0065]更進一步地,數(shù)據(jù)搜索單元211將在上述步驟S402中的搜索值與注冊值的異或計算結(jié)果22應用到同態(tài)函數(shù)F中并獲得處理結(jié)果23 (S403)。這里,對隨機數(shù)“ri”與隨機數(shù)“ri’ ”的異或用同態(tài)函數(shù)F計算而獲得的值23,和計算對隨機數(shù)“ri ”用同態(tài)函數(shù)F計算而獲得的值與對隨機數(shù)“ri’ ”用同態(tài)函數(shù)F計算而獲得的值的異或所獲得的值24相同。
[0066]隨后,數(shù)據(jù)搜索單元211接收在上述步驟S308中發(fā)自客戶端100的、將隨機數(shù)“ri’ ”應用到同態(tài)函數(shù)F中而獲得的值的加密結(jié)果25 (S404),利用加密用的密鑰sk’ 113B解密所接收到的加密結(jié)果25,來獲得作為解密結(jié)果26的F (ri’)(S405)。
[0067]更進一步地,數(shù)據(jù)搜索單元211計算在上述步驟S405中解密的值26和在上述步驟S403中獲得的處理結(jié)果23的異或值27 (S406)。當對用同態(tài)函數(shù)計算隨機數(shù)“ri”與隨機數(shù)“ri’ ”的異或值所獲得的值23,與利用同態(tài)函數(shù)計算隨機數(shù)“ri’ ”所得的值26進行異或時,由于同態(tài)函數(shù)的特性,F(xiàn) (ri’)被刪除并且F (ri)可被導出為異或值27。
[0068]更進一步地,數(shù)據(jù)搜索單元211通過將計算結(jié)果27應用到哈希函數(shù)113A中而獲得哈希值28(S407),利用該值作為密鑰來搜索與數(shù)據(jù)庫225中的注冊值相關(guān)聯(lián)的上述哈希函數(shù)113A的輸出值29 (在步驟S208中累積的值),并確定他們是否匹配(S408)。
[0069]作為此確定的結(jié)果,當在步驟S407中獲得的哈希值28和數(shù)據(jù)庫225中注冊的輸出值29(在步驟S208中注冊的值)匹配(S408:是)時,數(shù)據(jù)搜索單元211向客戶端100返回搜索結(jié)果,表明數(shù)據(jù)庫225中存在與用戶指定的搜索關(guān)鍵字“mi’ ”相匹配的注冊數(shù)據(jù)“mi”,并終結(jié)該處理。
[0070]另一方面,作為上述確定的結(jié)果,當在步驟S407中獲得的哈希值28和數(shù)據(jù)庫225中注冊的輸出值29 (在步驟S208中注冊的值)不匹配(S408:否)時,數(shù)據(jù)搜索單元211向客戶端100返回搜索結(jié)果,表明數(shù)據(jù)庫225中不存在與用戶指定的搜索關(guān)鍵字“mi’ ”相匹配的注冊數(shù)據(jù)“mi ”,并終結(jié)該處理。
[0071]隨后,將給出本實施方式的安全搜索處理系統(tǒng)的應用示例的描述。
[0072]圖7是安全搜索處理系統(tǒng)的第一應用示例的示意圖。在圖7所示的示例中,存儲有用戶基因信息的基因信息數(shù)據(jù)庫503是服務器200的數(shù)據(jù)庫。這里,如上所述,當密鑰sk’ 113B無法被解密時,可極大降低從服務器200中發(fā)生基因信息泄露的風險。也就是說,除非每次一條地暴力搜索全部文檔,否則不可能獲得基因信息,所以對使用了密鑰sk’ 113B的基因信息進行解密將非常困難。因此,諸如當密鑰sk’ 113B被泄露時或當密鑰sk’ 113B被委托給商業(yè)運營者等時將極大降低密鑰管理的風險。
[0073]客戶端100的應用502具有,例如,基于個人的基因信息向個人提供體質(zhì)風險(constitutional risk)信息的能力。用戶501可以搜索由應用502所提供的序列(要搜索的關(guān)鍵字“mi’ ”)是否包括在用戶他/她的在基因信息數(shù)據(jù)庫503中注冊的基因信息(注冊信息“mi”)中。應用502根據(jù)搜索結(jié)果顯示“mi’ ”和“mi”是否匹配來確定向用戶501提供的體質(zhì)風險,并利用在輸出單元106等中顯示確定結(jié)果來向用戶通知效果。此時,客戶端100僅處理基于信息“mi’ ”是否存在于基因信息數(shù)據(jù)庫503中的確定結(jié)果,而不是用戶501的基因信息。更進一步地,服務器200在響應來自客戶端100的請求時,僅檢測信息“mi’ ”是否存儲于基因信息數(shù)據(jù)庫503中,并且客戶端100和服務器200都在完全不涉及用戶501的基因信息的前提下提供服務。
[0074]需注意的是,如圖8中的示例所示,當以不包含應用502來搜索基因信息的形式執(zhí)行程序時,基因信息的安全性將被進一步提高。這種情況下,用戶501通過客戶端100的不同于應用502的其他應用來訪問服務器200,并且客戶端100在通過預先確定的用戶授權(quán)之后在服務器200中搜索基因信息。
[0075]在連接上述設備的操作中,可由不同于數(shù)據(jù)庫503的商業(yè)經(jīng)營者的另一個商業(yè)經(jīng)營者的服務器管理其各自用戶的哈希函數(shù)113A,并且該其他經(jīng)營者的服務器可為合適的客戶端100雙方提供哈希函數(shù)113A。在這種情況下,當用到哈希函數(shù)113A時,通過同時使用諸如授權(quán)密碼等適當?shù)氖跈?quán)方式來阻止商業(yè)運營中來自惡意的第三方的攻擊(欺詐性使用哈希函數(shù)113A),因而優(yōu)選。
[0076]圖9是安全搜索處理系統(tǒng)的第三應用示例的示意圖。在本例的情況下,服務器200(第二信息處理裝置)保留上述數(shù)據(jù)庫作為共享的用戶信息數(shù)據(jù)庫603,并在商業(yè)經(jīng)營者之間共享。為了降低個人信息泄露風險,更優(yōu)選的是,把能夠識別個人的信息和除此之外的信息(單獨時無法識別個人的信息)分開。然而,應用類似配置時,使用在共享的用戶信息數(shù)據(jù)庫603中的能夠識別個人的信息以往很難去搜索或執(zhí)行授權(quán)。
[0077]另一方面,在圖9所示的本實施方式的系統(tǒng)配置示例中,另一服務器300 (第一信息處理裝置)在存儲設備中保留的密鑰(個人識別信息301)與客戶端100中保留的密鑰sk’ 113B相同。服務器300利用密鑰sk’ 113B對由客戶端100的應用602所接收的加密結(jié)果(在上述步驟S404中所接收到的)進行解密,計算該解密值與在上述步驟S403中所獲得的值的異或,并以將此計算結(jié)果應用到哈希函數(shù)113A中所獲得的值作為密鑰的搜索請求發(fā)送給服務器200。需注意的是,應用602是類似于上述應用502的應用,并且根據(jù)DNA序列提供體質(zhì)風險信息。
[0078]另一方面,服務器200執(zhí)行接收來自服務器300的搜索請求的處理,用上述密鑰搜索與共享的用戶信息數(shù)據(jù)庫603中的注冊值相關(guān)聯(lián)的哈希函數(shù)113A的輸出值,并返回搜索結(jié)果給服務器200。在這種情況下,服務器300把從服務器200所返回的搜索結(jié)果返回給客戶端100。客戶端100的應用602接收上述搜索結(jié)果并在輸出單元106上顯示搜索結(jié)果來向諸如商業(yè)經(jīng)營者601的用戶展示。
[0079]當采用這類配置時,保留有個人識別信息的數(shù)據(jù)庫,也就是說,共享的用戶信息數(shù)據(jù)庫603的服務器200 (第二信息處理裝置)的管理員,不同于根據(jù)來自客戶端100的搜索請求來引導搜索處理的服務器300 (第一信息處理裝置)的管理員,所以搜索處理所需的哈希函數(shù)、密鑰等的管理只能由服務器300來執(zhí)行。因此,搜索和收集個人識別信息只能由服務器300來完成,并且保留有共享的用戶信息數(shù)據(jù)庫603的服務器200沒有訪問基因信息等個人識別信息(可單獨識別個人的信息)的權(quán)限。于是,降低了管理數(shù)據(jù)庫、密鑰和哈希函數(shù)等所需的時間,因此在良好的安全性下減輕了管理個人識別信息的負擔。
[0080]需注意的是,上述每個實施方式都是使用了哈希函數(shù)113A作為單向函數(shù)的示例。在實施了哈希函數(shù)113A的實施方式中,無論消息mi的大小如何信息Ci都是一個固定值,所以除了轉(zhuǎn)換消息mi為不可解密的信息Ci外,在壓縮數(shù)據(jù)方面哈希函數(shù)113A仍然有效。此外,在實施方式中,不同于哈希函數(shù)113A的不可逆的加密方法也可被用做單向函數(shù)。也就是說,只要不能從加密數(shù)據(jù)中解密出未加密的數(shù)據(jù),可采用任何方法。例如,單向函數(shù)可被用做各種加密方法中一套密鑰中的一個密鑰。更進一步地,關(guān)于密鑰sk’ 113B,顯示一個客戶端100和服務器200共用一個密鑰的例子,也就是說,在共用密鑰系統(tǒng)中使用一個密鑰的示例。然而,可選地,也可采用諸如可用于加密的數(shù)字簽名方法等各種方法。更進一步地,正如已經(jīng)提到的,可以考慮不使用密鑰的方法,也就是說,當客戶端100和服務器200之間的網(wǎng)絡120可靠時可以采用不對F (ri’)執(zhí)行加密操作的方法。
[0081]盡管上文已經(jīng)具體描述了實施本發(fā)明的最好的模式,但本發(fā)明并未限于其中,并且可在不偏離本發(fā)明的精神下進行各種修改。
[0082]根據(jù)上述實施方式,在數(shù)據(jù)庫中注冊或注冊和搜索搜索目標信息時,通過使用不可解密的密鑰(例如,哈希函數(shù)作為單向函數(shù))作為加密密鑰來搜索目標信息,在保持可搜索狀態(tài)的同時阻止數(shù)據(jù)庫中的信息被解密。通過這種方式,可實現(xiàn)在加密狀態(tài)下的搜索和個人識別信息的安全管理。
[0083]例如,考慮到最小化信息泄露風險的策略,當關(guān)于搜索目標信息的可識別個人的信息不能保存在數(shù)據(jù)中心時,以往,很難基于個人身份識別信息去檢查數(shù)據(jù)中心的信息,并且也會失去作為檢查結(jié)果的數(shù)據(jù)的準確性。相比之下,本實施方式的技術(shù)允許管理不可解密的和可搜索的信息并且滿足搜索、檢查等需要,因此在可保證所獲取的信息的準確性的同時避免了信息泄露的風險。更進一步地,在處理諸如基因信息等敏感信息時,如本實施方式中的使敏感信息不可解密則可進一步降低信息泄露的風險。
[0084]這樣,根據(jù)本實施方式,在安全搜索技術(shù)中可降低管理用戶密鑰所需的時間和精力和當發(fā)生密鑰泄露時的信息管理的風險。
[0085]從本說明書的描述中至少以下是顯而易見的。也就是說,安全搜索處理系統(tǒng)可進一步包括具有存儲設備和處理器的終端。其中的存儲設備中已經(jīng)存儲有單向函數(shù)和隨機數(shù)發(fā)生器及處理器。其中的處理器執(zhí)行以下操作:通過將搜索目標信息應用到單向函數(shù)中來計算第一信息,利用隨機數(shù)發(fā)生器生成第一隨機數(shù),計算第一信息與第一隨機數(shù)的異或和將包括有注冊值(即計算結(jié)果)的請求發(fā)送給信息處理裝置來存儲進數(shù)據(jù)庫中,并且,該處理器還執(zhí)行以下的操作:把通過將第一隨機數(shù)應用到預定的同態(tài)函數(shù)中而獲得的結(jié)果應用到單向函數(shù)中,并將包括了單向函數(shù)的輸出值的請求發(fā)送給信息處理裝置并與注冊值相關(guān)聯(lián)地存儲到數(shù)據(jù)庫中。這種情況下,信息處理裝置的處理器更進一步執(zhí)行接收來自該終端的上述注冊值和輸出值并將這些值存儲到存儲設備的數(shù)據(jù)庫中的操作。
[0086]根據(jù)此系統(tǒng),當例如基因信息的個人識別信息由服務器(信息處理裝置)通過網(wǎng)絡來管理時,可由客戶端(終端)通過網(wǎng)絡來執(zhí)行搜索目標信息的注冊處理,這樣提高了信息管理的便利性。
[0087]更進一步地,在安全搜索處理系統(tǒng)中,終端的處理器可能更進一步地被制成:接收輸入界面上的搜索關(guān)鍵字,計算第二信息與第二隨機數(shù)的異或(其中,第二信息為將所接收到的關(guān)鍵字應用到單向函數(shù)中而獲得,第二隨機數(shù)為利用隨機數(shù)發(fā)生器生成),把通過將搜索值(即計算結(jié)果)發(fā)送給信息處理裝置并將第二隨機數(shù)應用到同態(tài)函數(shù)中的處理而獲得的值傳輸給信息處理裝置。這種情況下,信息處理裝置的處理器執(zhí)行如下處理:接收來自終端的上述搜索值并計算搜索值與數(shù)據(jù)庫中的注冊值的異或,并且該處理器還執(zhí)行如下處理:接收來自終端的由將上述第二隨機數(shù)應用到同態(tài)函數(shù)中所獲得的值,計算所接收到的值與由將搜索值與注冊值的異或計算結(jié)果應用到同態(tài)函數(shù)中而獲得的值的異或,以將該計算結(jié)果應用到單向函數(shù)中而獲得的值為密鑰來搜索與數(shù)據(jù)庫中的注冊值相關(guān)聯(lián)的單向函數(shù)的輸出結(jié)果,并返回搜索結(jié)果給終端。
[0088]根據(jù)此系統(tǒng),當由網(wǎng)絡上的服務器(信息處理裝置)管理例如基因信息的個人識別信息時,搜索請求可由客戶端(終端)通過網(wǎng)絡制定,這樣提高了信息管理的方便性。
[0089]更進一步地,在安全搜索處理系統(tǒng)中,終端的存儲設備可更進一步地包括加密用密鑰,并且該終端的處理器可更進一步地被制成執(zhí)行如下的處理:利用該密鑰對將第二隨機數(shù)應用到同態(tài)函數(shù)中而獲得的值執(zhí)行加密,并將該加密結(jié)果發(fā)送給信息處理終端。在這種情況下,信息處理終端的存儲設備保留的密鑰與終端保留的密鑰相同,并且信息處理裝置的處理器更進一步地執(zhí)行如下處理:利用該密鑰解密接收自終端的加密結(jié)果,計算解密值與由將搜索值與注冊值的異或計算結(jié)果應用到同態(tài)函數(shù)中所獲得的值的異或,以將該計算結(jié)果應用到單向函數(shù)中而獲得的值作為密鑰來搜索與數(shù)據(jù)庫中的注冊值相關(guān)聯(lián)的單向函數(shù)的輸出結(jié)果,并返回搜索結(jié)果到終端。
[0090]根據(jù)本系統(tǒng),在服務器和客戶端之間通過網(wǎng)絡發(fā)送和接收與諸如基因信息的個人識別信息相關(guān)的處理數(shù)據(jù)時,可提供良好的安全性。
[0091]更進一步地,在安全搜索處理系統(tǒng)中,終端的存儲設備更進一步地保留了加密用密鑰,并且終端的處理器可更進一步地被制成執(zhí)行如下的處理:利用該密鑰對將第二隨機數(shù)應用到同態(tài)函數(shù)中而獲得的值執(zhí)行加密,并傳輸該加密結(jié)果給第一信息處理裝置。這種情況下,第一信息處理裝置的存儲設備保留有與終端保留的密鑰相同的密鑰,并且第一信息處理裝置的處理器執(zhí)行如下處理:利用該密鑰解密接收自終端的加密結(jié)果,計算解密值與由將搜索值和注冊值的異或計算結(jié)果應用到同態(tài)函數(shù)中而獲得的值的異或,將由應用計算結(jié)果到單向函數(shù)中而獲得的值作為密鑰的搜索請求傳輸給第二信息處理裝置,并將返自第二信息處理裝置的搜索結(jié)果返回給終端。更進一步地,第二信息處理裝置的存儲設備中已經(jīng)存儲了上述數(shù)據(jù)庫,并且第二信息處理裝置的處理器執(zhí)行如下處理:接收來自第一信息處理裝置的搜索請求,利用上述密鑰來執(zhí)行在數(shù)據(jù)庫中搜索與其中的注冊值相關(guān)聯(lián)的單向函數(shù)輸出值,并返回搜索結(jié)果給第一信息處理裝置。
[0092]根據(jù)本系統(tǒng),保留了個人識別信息數(shù)據(jù)庫的第二信息處理裝置的管理員不同于響應來自客戶端的搜索請求而引導搜索處理的第一信息處理裝置的管理員,因此需要搜索處理的單向函數(shù)(例如哈希函數(shù))的管理只能由第一信息處理裝置來執(zhí)行。因此,搜索和檢查個人識別信息只能由第一信息處理裝置來執(zhí)行,并且保留了數(shù)據(jù)庫的第二信息處理設備沒有訪問個人識別信息的權(quán)限。這樣,就降低了管理數(shù)據(jù)庫、哈希函數(shù)等所需的時間和精力,并且可在良好的安全性下執(zhí)行對個人識別信息的管理。
【權(quán)利要求】
1.一種包括信息處理系統(tǒng)的安全搜索處理系統(tǒng),其包括存儲設備和處理器; 該存儲設備用于存儲已存儲有注冊值和輸出值的數(shù)據(jù)庫;其中注冊值為第一信息與第一隨機數(shù)的異或,所述第一信息通過將搜索目標信息應用到單向函數(shù)中而獲得;其中輸出值為,把通過將上述第一隨機數(shù)應用到預定義的同態(tài)函數(shù)中所獲得的結(jié)果應用到所述單向函數(shù)中時而獲得的值; 該處理器被配置為: 計算第二信息與第二隨機數(shù)的異或來獲得第一計算結(jié)果,所述第二信息由將從輸入界面接收到的搜索關(guān)鍵字應用到所述單向函數(shù)中而獲得,所述第二隨機數(shù)由隨機數(shù)發(fā)生器生成;并且計算作為所述第一計算結(jié)果的搜索值與數(shù)據(jù)庫中的注冊值的異或來獲得第二計算結(jié)果;并且 計算將所述第二計算結(jié)果應用到同態(tài)函數(shù)中而獲得的值,與將所述第二隨機數(shù)應用到同態(tài)函數(shù)中所獲得的值的異或,來獲得第三計算值,所述第二計算結(jié)果為搜索值與注冊值的異或;以將所述第三計算結(jié)果應用到單向函數(shù)中而獲得的值為密鑰,搜索與數(shù)據(jù)庫內(nèi)的注冊值相關(guān)聯(lián)的單向函數(shù)的輸出值;并且輸出搜索結(jié)果到輸出界面上。
2.根據(jù)權(quán)利要求1所述的安全搜索處理系統(tǒng),還包括終端,所述終端包括:存儲單向函數(shù)和隨機數(shù)發(fā)生器的存儲設備以及處理器; 所述處理器被配置為: 將搜索目標信息應用于所述單向函數(shù)中來計算第一信息,利用隨機數(shù)發(fā)生器生成第一隨機數(shù),計算所述第一信息和所述第一隨機數(shù)的異或來獲得第四計算結(jié)果,并向所述信息處理裝置發(fā)送將包括了作為所述第四計算結(jié)果的注冊值存儲至所述數(shù)據(jù)庫中的請求;并且 把將所述第一隨機數(shù)應用到預定義的同態(tài)函數(shù)中所得的結(jié)果應用到所述單向函數(shù)中,并向所述信息處理裝置發(fā)送包括了所述單向函數(shù)輸出值的請求來存儲進與所述注冊值相關(guān)聯(lián)的數(shù)據(jù)庫,` 其中,所述信息處理裝置的所述處理器還接收來自所述終端的所述注冊值和所述輸出值,并且將所述注冊值和所述輸出值存儲到所述存儲設備的所述數(shù)據(jù)庫內(nèi)。
3.根據(jù)權(quán)利要求2所述的安全搜索處理系統(tǒng),其中,所述終端的所述處理器還執(zhí)行以下的操作: 在輸入界面接收搜索用的關(guān)鍵字,計算第二信息與第二隨機數(shù)的異或來獲得第五計算結(jié)果,其中第二信息為將接收到的關(guān)鍵字應用到所述單向函數(shù)中而得到,其中第二隨機數(shù)為從所述隨機數(shù)發(fā)生器生成,并將搜索結(jié)果即所述第五計算結(jié)果傳輸給所述信息處理裝置;并且 把將所述第二隨機數(shù)應用到所述同態(tài)函數(shù)中而獲得的值傳輸給所述信息處理裝置; 并且,所述信息處理裝置的所述處理器執(zhí)行以下的操作: 接收來自終端的所述搜索值,并計算所述搜索值與數(shù)據(jù)庫內(nèi)的所述注冊值的異或來獲得第六計算結(jié)果,并且 接收來自終端的、由將所述第二隨機數(shù)應用到所述同態(tài)函數(shù)中而得的值,計算所述接收值與將所述第六計算結(jié)果應用到所述同態(tài)函數(shù)中而得到的值的異或來獲得第七計算結(jié)果,其中第六計算結(jié)果為所述搜索值與所述注冊值的異或;以對所述單向函數(shù)應用所述第七計算結(jié)果所獲得的值作為密鑰,搜索數(shù)據(jù)庫中與所述注冊值相關(guān)聯(lián)的單向函數(shù)的輸出值,并返回搜索結(jié)果給所述終端。
4.根據(jù)權(quán)利要求3所述的安全搜索處理系統(tǒng),其中, 所述終端的所述存儲設備還有加密用密鑰; 所述終端的所述處理器還執(zhí)行利用密鑰對將所述第二隨機數(shù)應用到所述同態(tài)函數(shù)中所獲得的值進行加密,并將加密后的結(jié)果傳輸給所述信息處理裝置的操作;所述信息處理裝置的所述存儲設備上的密鑰與所述終端上的密鑰相同; 并且,所述信息處理裝置的所述處理器還執(zhí)行以下的操作:利用密鑰對終端所接收到的加密結(jié)果進行解密,計算解密值與由所述第六計算結(jié)果應用到所述同態(tài)函數(shù)中所得到的值的異或來獲得第八計算結(jié)果,其中第六計算結(jié)果為所述搜索值與所述注冊值的異或,以將所述第八計算結(jié)果應用到所述單向函數(shù)中而得到的值作為密鑰,搜索與數(shù)據(jù)庫中所述注冊值相關(guān)聯(lián)的所述單向函數(shù)的輸出值,并將搜索結(jié)果返回給所述終端。
5.根據(jù)權(quán)利要求3所述的安全搜索處理系統(tǒng),其中, 所述終端的所述存儲設備還有加密用密鑰; 所述終端的所述處理器還執(zhí)行利用密鑰對由將所述第二隨機數(shù)應用到所述同態(tài)函數(shù)中所得的值進行加密,并且將所述加密結(jié)果傳輸?shù)降谝恍畔⑻幚硌b置中的操作; 所述第一信息處理裝置的存儲設備保有的密鑰與所述終端保有的密鑰相同; 所述第一信息處理裝置的處理器執(zhí)行以下的操作:利用密鑰對所述終端所收到的所述加密結(jié)果進行解密,計算解密值與將所述第六計算結(jié)果應用到所述同態(tài)函數(shù)中所獲得的值的異或來獲得第八計算結(jié)果,其中第六計算結(jié)果為所述搜索值與所述注冊值的異或,以將所述第八計算結(jié)果應用到所述單向函數(shù)中而獲得的值為密鑰,向第二信息處理裝置傳輸搜索請求,并將返自所述第二`信息處理裝置的搜索結(jié)果返回給所述終端; 在所述第二信息處理裝置的存儲設備中存儲了所述數(shù)據(jù)庫; 并且,所述第二信息處理裝置的處理器接收來自所述第一信息處理裝置的搜索請求,用所述密鑰對與所述數(shù)據(jù)庫內(nèi)的所述注冊值相關(guān)聯(lián)的所述單向函數(shù)的輸出值執(zhí)行搜索,并將搜索結(jié)果返回給所述第一信息處理裝置。
6.實現(xiàn)于信息處理裝置中的安全搜索處理方法,該信息處理裝置在存儲設備內(nèi)存儲有數(shù)據(jù)庫,數(shù)據(jù)庫內(nèi)存儲的注冊值和輸出值彼此關(guān)聯(lián);該注冊值為第一信息與第一隨機數(shù)的異或,其中第一信息為將搜索目標信息應用到單向函數(shù)中而獲得;該輸出值為,把通過將上述第一隨機數(shù)應用到預定義的同態(tài)函數(shù)中所獲得的結(jié)果應用到單向函數(shù)中而獲得的值;該安全搜索處理方法包括: 計算第二信息與第二隨機數(shù)的異或來獲得第一計算結(jié)果,其中第二信息為將輸入界面接收到的搜索關(guān)鍵字應用到單向函數(shù)中而獲得,其中第二隨機數(shù)由隨機數(shù)發(fā)生器生成;以及計算作為第一計算結(jié)果的搜索值與數(shù)據(jù)庫中的注冊值的異或來獲得第二計算結(jié)果;并且計算將第二計算結(jié)果應用到同態(tài)函數(shù)中而獲得的值,與將第二隨機數(shù)應用到同態(tài)函數(shù)中而獲得的值的異或,來獲得第三計算結(jié)果,其中第二計算結(jié)果為搜索值與注冊值的異或;以及以將第三計算結(jié)果應用到單向函數(shù)中而獲得的值為密鑰,搜索與數(shù)據(jù)庫內(nèi)的注冊值相關(guān)聯(lián)的單向函數(shù)的輸出值;并且將搜索結(jié)果輸出到輸出界面上。
【文檔編號】G06F17/30GK103870525SQ201310530230
【公開日】2014年6月18日 申請日期:2013年10月31日 優(yōu)先權(quán)日:2012年12月13日
【發(fā)明者】吉野雅之, 佐藤惠一, 佐藤尚宜, 佐藤嘉則 申請人:株式會社日立解決方案