国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      盲化索引表產(chǎn)生方法和設(shè)備、聯(lián)合關(guān)鍵字搜索方法和設(shè)備的制作方法

      文檔序號(hào):6577646閱讀:323來源:國(guó)知局
      專利名稱:盲化索引表產(chǎn)生方法和設(shè)備、聯(lián)合關(guān)鍵字搜索方法和設(shè)備的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及計(jì)算機(jī)通信網(wǎng)絡(luò)安全領(lǐng)域,更具體地,涉及一種盲化索引表產(chǎn)生方法 和設(shè)備、以及一種秘密密鑰設(shè)置下的聯(lián)合關(guān)鍵字搜索方法和設(shè)備。
      背景技術(shù)
      數(shù)據(jù)存儲(chǔ)外包是當(dāng)前互聯(lián)網(wǎng)上的一種趨勢(shì),即以全球存檔服務(wù)而不是使用自身的 本地存儲(chǔ)器來存儲(chǔ)數(shù)據(jù)?,F(xiàn)在,基于互聯(lián)網(wǎng)的在線存檔服務(wù)為其終端用戶提供大量的存儲(chǔ) 空間,其終端用戶包括個(gè)人用戶和企業(yè)。存在提供各種用戶數(shù)據(jù)的存儲(chǔ)的存檔服務(wù)。例 如,Amazon Simple Storage Service (Amazon S3)(參考文獻(xiàn)[1])提供一種網(wǎng)絡(luò)服務(wù)接 口,可用于存儲(chǔ)和檢索不限量的分類數(shù)據(jù),以GB/月和數(shù)據(jù)傳輸量來計(jì)費(fèi)。還存在提供特 定數(shù)據(jù)類型的存儲(chǔ)的其它存檔服務(wù),尤其是敏感數(shù)據(jù)類型,例如健康記錄。例如,Google Health (參考文獻(xiàn)[2])和Microsoft HealthVault (參考文獻(xiàn)[3])兩者均提供個(gè)人健康信 息集中化服務(wù),有助于其用戶將分離的健康記錄合并為一個(gè)集中的檔案。盡管這些存檔服務(wù)帶來了便捷和易用的優(yōu)點(diǎn),但是它們也引起了對(duì)安全性的深度 擔(dān)憂。盡管所有這些服務(wù)提供商都提出了適當(dāng)?shù)臅姘踩碗[私策略,并且采取一些信息 安全和系統(tǒng)安全措施來執(zhí)行這些策略,但是,用戶僅僅依賴于存檔服務(wù)提供商來確保其數(shù) 據(jù)安全和隱私是危險(xiǎn)的。無疑服務(wù)提供商可能會(huì)無法適當(dāng)?shù)貓?zhí)行它們的書面安全和隱私策 略。以存儲(chǔ)客戶的信用卡數(shù)據(jù)的企業(yè)為例。在2008年6月,BBC新聞報(bào)道了服裝廠 Cotton Traders的多達(dá)3. 8萬名客戶的信用卡細(xì)目被盜(參考文獻(xiàn)[4])。這種情況并不 少見,而且也不是最嚴(yán)重的事件。Securityfocus.com(參考文獻(xiàn)[5])報(bào)道了在2005年7 月至2007年1月間,未知攻擊者入侵TJX公司的計(jì)算機(jī)交易處理系統(tǒng),盜取了至少4560萬 張信用卡的數(shù)據(jù)。信用卡信息被認(rèn)為至少與分類數(shù)據(jù)或健康記錄同樣敏感。因而,可以推斷出,存儲(chǔ) 信用卡信息的公司具有適當(dāng)?shù)臅姘踩碗[私策略并且應(yīng)該運(yùn)用了表面上有力的安全措 施來執(zhí)行其策略。這些安全措施至少應(yīng)該與用于保護(hù)分類數(shù)據(jù)或健康記錄的安全措施一樣 有力。由于信用卡信息被披露的多次報(bào)道,同時(shí)注意到大量用戶數(shù)據(jù)的高價(jià)值,因此,沒有 理由堅(jiān)持認(rèn)為存檔服務(wù)提供商所存儲(chǔ)的數(shù)據(jù)不會(huì)被盜和被暴露。無論如何,存在一種應(yīng)對(duì)數(shù)據(jù)安全入侵的簡(jiǎn)單對(duì)策,即在輸出敏感數(shù)據(jù)之前對(duì)其 加密。結(jié)果,即使存檔服務(wù)受到危害,所暴露的也只是大量密文,攻擊者無法從中獲利。然 而,這種簡(jiǎn)單對(duì)策的代價(jià)是可用性。具體地說,難以搜索輸出到外部的數(shù)據(jù)。例如,如果健 康記錄的所有方對(duì)健康記錄進(jìn)行了加密,則允許授權(quán)用戶搜索健康有關(guān)信息的Microsoft Live Search Health (Microsoft HealthVault的搜索組件)無法工作。(當(dāng)然,我們假定 數(shù)據(jù)的所有方對(duì)其隱私充分關(guān)注,因此不會(huì)與Microsoft共享他們的解密密鑰。)我們所關(guān)注的系統(tǒng)有三方,即數(shù)據(jù)所有方、服務(wù)器和搜索方。數(shù)據(jù)所有方對(duì)其數(shù)據(jù) 文件進(jìn)行索引、對(duì)其數(shù)據(jù)文件進(jìn)行加密并將索引和文件輸出到服務(wù)器。服務(wù)器存儲(chǔ)加密的文件及其索引(索引表),并提供對(duì)加密文件的搜索。搜索服務(wù)器的搜索方通常不是數(shù)據(jù)所 有方自己,但是,當(dāng)然,搜索方也可以是數(shù)據(jù)所有方自己。為了能夠搜索加密數(shù)據(jù),搜索方需 要獲得從數(shù)據(jù)所有方發(fā)出的搜索權(quán)限(SC),并且搜索方需要將SC提交給服務(wù)器。服務(wù)器可 以通過將SC運(yùn)用于索引來搜索加密數(shù)據(jù)。除了 SC之外,搜索方還需要獲得數(shù)據(jù)所有方發(fā) 出的解密權(quán)限(DC)。在從服務(wù)器接收到搜索結(jié)果時(shí),搜索方將使用DC來對(duì)搜索結(jié)果進(jìn)行解 密,從而將數(shù)據(jù)文件恢復(fù)為明文。一些基本的安全要求包括1)服務(wù)器不知道搜索方查找什么,例如,如果搜索方正在搜索包含關(guān)鍵字“網(wǎng)絡(luò)” 的文獻(xiàn),服務(wù)器應(yīng)該不知道。2)搜索方無法根據(jù)經(jīng)驗(yàn)偽造搜索權(quán)限,例如,如果搜索方曾經(jīng)被發(fā)給了搜索包含 關(guān)鍵字“網(wǎng)絡(luò)”的文獻(xiàn)的SC,他應(yīng)該不能夠制造針對(duì)關(guān)鍵字“網(wǎng)”或“絡(luò)”的Sc。這同樣適用 于服務(wù)器,即使搜索 方與服務(wù)器串通。3)解密權(quán)限與SC唯一關(guān)聯(lián),例如,如果SC允許搜索包含關(guān)鍵字“網(wǎng)絡(luò)”的文獻(xiàn),DC 則僅能夠?qū)υ撎囟⊿C的搜索結(jié)果進(jìn)行解密。這同樣適用于服務(wù)器,即使搜索方與服務(wù)器串 通,即,服務(wù)器也許對(duì)其所存儲(chǔ)的所有加密文件嘗試使用DC,但是除了 SC的搜索結(jié)果之外, 都沒用。除了上述安全要求之外,還有效率要求,例如SC的大小、索引的大小以及搜索所 花費(fèi)的時(shí)間等。自從Song等人(參考文獻(xiàn)[6])首次提出了關(guān)于如何有效地對(duì)加密數(shù)據(jù)進(jìn)行關(guān)鍵 字搜索的問題以來,加密數(shù)據(jù)的搜索引起了廣泛的關(guān)注。加密數(shù)據(jù)的搜索是不同領(lǐng)域的技術(shù)的融合,因而具有不同的分類標(biāo)準(zhǔn)。1)從加密技術(shù)角度看,在秘密密鑰設(shè)置中和公共密鑰設(shè)置中考慮關(guān)鍵字搜索的加 密,在秘密密鑰設(shè)置中這被稱為可搜索對(duì)稱加密(SSE)(參考文獻(xiàn)[6]),在公共密鑰設(shè)置中 這被稱為公共密鑰加密搜索(PEKS)(參考文獻(xiàn)[7])。然而,值得注意的是,通過使公共密鑰 保密,任何PEKS方案都簡(jiǎn)單地在SSE設(shè)置中也行得通。2)從索引技術(shù)角度看,在正向索引設(shè)置中和倒排索引設(shè)置中考慮關(guān)鍵字索引的加 密,在正向索引設(shè)置中這被稱為盲化正向索引表(BFT),在倒排索引設(shè)置中這被稱為盲化倒 排索引表(BIT)。3)從搜索權(quán)限角度看,在單個(gè)關(guān)鍵字搜索(SKS)和聯(lián)合關(guān)鍵作搜索(CKS)中考慮 關(guān)鍵字搜索的加密。4)從搜索關(guān)鍵字角度看,在域特定關(guān)鍵字(DSK)和非限定域關(guān)鍵字(DH0中考慮 關(guān)鍵字搜索的加密。就我們所知,現(xiàn)有技術(shù)大多數(shù)符合SSE、BFT、SKS和DH(。也就是說,現(xiàn)有技術(shù)是秘 密密鑰設(shè)置的、基于盲化正向索引表、利用非限定域關(guān)鍵字、僅能夠單個(gè)關(guān)鍵字搜索。然而, 存在一些另外情況。參考文獻(xiàn)[8]、[9]和[10]提出了公共密鑰設(shè)置(PEKS)的方案,可以實(shí)現(xiàn)對(duì)盲化 正向索引表(BFT)的域特定關(guān)鍵字(DSK)的聯(lián)合關(guān)鍵字檢索(CKS)。值得再次注意的是,通過使公共密鑰保密,公共密鑰設(shè)置(PEKS)的任何方案都簡(jiǎn) 單地在秘密密鑰設(shè)置(SSE)中也行得通。
      參考文獻(xiàn)[8]并未公開如何對(duì)搜索結(jié)果進(jìn)行解密,因?yàn)樗_的方案并未考慮解 密權(quán)限。因此,盡管搜索方可以對(duì)服務(wù)器進(jìn)行搜索,但是在從服務(wù)器接收到聯(lián)合關(guān)鍵字搜索 結(jié)果時(shí),搜索方無法對(duì)搜索結(jié)果進(jìn)行解密。參考文獻(xiàn)[10]同樣并未考慮解密權(quán)限。盡管所公開的方案包括解密過程,但是該解密過程的目的是使服務(wù)器測(cè)試可能的搜索結(jié)果,而不是使搜索方對(duì)搜索結(jié)果進(jìn)行解密。 實(shí)際上,在參考文獻(xiàn)[10]的方案中并未構(gòu)想解密權(quán)限。參考文獻(xiàn)[9]在聯(lián)合關(guān)鍵字搜索和解密搜索結(jié)果方面是完備的。根據(jù)參考文獻(xiàn) [9]的方案,搜索方將不僅需要被發(fā)給搜索權(quán)限,而且需要被發(fā)給解密權(quán)限。具體地,圖1和圖2以兩個(gè)階段示出了參考文獻(xiàn)[9]的詳細(xì)過程,即索引階段(圖 1)和搜索階段(圖2)。參考圖1和圖2,數(shù)據(jù)所有方、搜索方和服務(wù)器的各個(gè)單元如下 盲化單元101以公共密鉬和(明文)正向索引表作為輸入,輸出盲化正向索引 表(BFT)和數(shù)據(jù)的加密密鑰。 加密單元102以加密密鑰和數(shù)據(jù)作為輸入,輸出加密數(shù)據(jù)(EF)。 權(quán)限發(fā)布單元201以秘密密鑰和關(guān)鍵字作為輸入,輸出搜索權(quán)限(SC)和解密權(quán) 限(DC)。 域杳找單元202以關(guān)鍵字和域知識(shí)作為輸入,輸出每個(gè)關(guān)鍵字的輔助域信息 (ADI)。
      BFT匹配單元203以SC、ADI和BFT作為輸入,輸出BFT匹配結(jié)果,BFT匹配結(jié) 果包括BFT的每個(gè)匹配行的相應(yīng)Aij和Bij以及指向與匹配行相對(duì)應(yīng)的匹配EF的指針。
      EF獲取單元204以BFT匹配結(jié)果和EF作為輸入,輸出具有相應(yīng)Aij和Bij的匹 配EF。 解密單元205以DC和所產(chǎn)生的具有相應(yīng)Aij和Bij的EF作為輸入,輸出解密的 數(shù)據(jù)F。表1 示例明文正向索引表
      域1域2域3
      "Name""City"‘‘Degree,,
      F1"Alice""Beijing""Bachelor"...
      F2"Bob""Shanghai""Master “...
      F3"Cindy""Tokyo""Ph. D.“...在表1中,每一行可由不同的文件標(biāo)識(shí)符Fi標(biāo)識(shí)。下面除非特別指出,否則使用 Fi來表示文件自身及其唯一文件標(biāo)識(shí)符(例如文件名)。表1的每一列由唯一域名標(biāo)識(shí)。根據(jù)參考文獻(xiàn)[9],盲化單元101輸出的BFT如下表1-1所示。表1-1示例盲化正向索引表
      匹配指示符γ^ rw2 ρ^
      EF1 T1A11 j B11A12,B12A13J B13 · · ·
      EF2 T2A2I,B21A22,B22A23,B23 · · ·
      EF3 T3A31,B31A32,B32A33,B33 · · ·簡(jiǎn)而言之,參考文獻(xiàn)[9]公開了以下方法。設(shè)置 PK = {PX,P2,SXiYi= P;'}},i = 1,2,· · ·,m,};+, = P;- ,Ym+2 二 P11-,其中 m 確定了系
      統(tǒng)可以容納的域的數(shù)量。加密選擇IrJ并計(jì)算5,,i = 1,2,· · ·,m(由盲化單元101執(zhí)行);選擇sk 來加密 F,計(jì)算 rQ = H (F,{Bj,sk),尺=Ym+;" ,S = H(gr")和= H(hr") Θ sk (由加密單元102執(zhí)行);計(jì)算4 =C^ZfwY1 P;·(由盲化單元101執(zhí)行)。盡管標(biāo)記不同,但是Ai和Bi都是如表1-1所示的索引項(xiàng),而S是匹配指示符。注 意,還產(chǎn)生了第二隨機(jī)數(shù)發(fā)生器K。產(chǎn)牛SC 禾口 DC 選擇隨機(jī)數(shù)u和V,并計(jì)算
      L0049」 SC = JcJ '.‘ ''',SC = SC Ι/Λ,"+Ι , = u ;DC| =’DC: =,DC3 = ν(由權(quán)限發(fā)布單元 201 執(zhí)行)。捭索
      (( ^ e對(duì)于每一行,測(cè)試是否// -γ^- = S (由域查找單元202和BFT匹配
      V V ^ ) J
      單元203執(zhí)行)。解密捭索結(jié)果 f \ e HAirKDC\ DCx計(jì)算= -yj并恢復(fù)(由EF獲取單元204和解密單
      e\Y\Bi ,DC1 { ‘ )sk = H(hr") R元205執(zhí)行)。搜索方(例如查找包含關(guān)鍵字“Alice”和“Beijing”的文獻(xiàn)的搜索方)將進(jìn)行如 下動(dòng)作1)聯(lián)系數(shù)據(jù)所有方、請(qǐng)求所需的關(guān)于關(guān)鍵字集合的搜索權(quán)限和解密權(quán)限、并在數(shù) 據(jù)所有方愿意的情況下從數(shù)據(jù)所有方接收這些權(quán)限。該步驟涉及權(quán)限發(fā)布單元201、域查找 單元202和附加的通信單元(圖1中未示出)。2)搜索方將搜索權(quán)限,即SCnSC2* SC3,遞交給服務(wù)器。服務(wù)器然后針對(duì)每個(gè)EFi, 測(cè)試是否與聯(lián)合關(guān)鍵字搜索匹配。最后,服務(wù)器將所有的匹配EFiS回給搜索方。該步驟 涉及BFT匹配單元203、EF獲取單元204和附加的通信單元(圖1中未示出)。3)在接收到匹配EFi時(shí),搜索方可以使用解密權(quán)限,即DC1, DC2,和DC3,對(duì)EFi進(jìn)行 解密并恢復(fù)相應(yīng)的文件標(biāo)識(shí)符F”該步驟涉及解密單元205。然而,上述參考文獻(xiàn)[9]的方案具有多個(gè)缺點(diǎn),如下 1)每個(gè)搜索項(xiàng)具有至少兩個(gè)部分,一個(gè)用于盲化關(guān)鍵字(下面稱為盲化索引),另 一個(gè)用于檢測(cè)關(guān)鍵字(下面稱為隨機(jī)數(shù)發(fā)生器)。由于可能存在大量的索引項(xiàng),所以非常希 望在搜索項(xiàng)中省略隨機(jī)數(shù)發(fā)生器。2)為了測(cè)試加密文獻(xiàn)是否包含聯(lián)合關(guān)鍵字,服務(wù)器需要進(jìn)行2次配對(duì)評(píng)估。非常 希望將配對(duì)評(píng)估的次數(shù)減少為僅有一次。3)該方案要求每個(gè)關(guān)鍵字屬于唯一域,例如關(guān)鍵字“Alice”屬于域“用戶名”。這 種類似數(shù)據(jù)庫(kù)的要求當(dāng)前在正向索引表的設(shè)置下是可以達(dá)到的。但是,在倒排索引表的設(shè) 置下,例如類似Google搜索引擎的設(shè)置,多數(shù)關(guān)鍵字沒有域的聯(lián)系,換言之,文獻(xiàn)是無結(jié)構(gòu) 的,關(guān)鍵字的域是不定的。因此,該方案在文獻(xiàn)是無結(jié)構(gòu)的、包含非限定域關(guān)鍵字的情況下 不可行。4)搜索權(quán)限和解密權(quán)限每個(gè)均消耗3個(gè)群成員。非常希望每個(gè)權(quán)限僅消耗1個(gè)群 成員。最后但并非最不重要的,現(xiàn)有技術(shù)均沒有涉及“非關(guān)鍵字”搜索,例如搜索包含關(guān) 鍵字“Alice”但是不包含“網(wǎng)絡(luò)”的文獻(xiàn)。在這種情況下,如果一篇文獻(xiàn)包含關(guān)鍵字“網(wǎng)絡(luò)”, 則即使它包含關(guān)鍵字“Alice”它也不是搜索結(jié)果。

      發(fā)明內(nèi)容
      鑒于現(xiàn)有技術(shù)的上述缺點(diǎn),本發(fā)明提出了一種盲化索引表產(chǎn)生方法和設(shè)備、以及 一種秘密密鑰設(shè)置下的聯(lián)合關(guān)鍵字搜索方法和設(shè)備。根據(jù)本發(fā)明的第一方案,一種用于產(chǎn)生盲化索引表的設(shè)備包括初始化單元,用于 執(zhí)行初始化過程以獲得秘密密鑰和公共密鑰;關(guān)鍵字預(yù)處理單元,用于利用秘密密鑰,根據(jù) 關(guān)鍵字索引項(xiàng),產(chǎn)生私密關(guān)鍵字;盲化單元,用于對(duì)于索引表的每一行隨機(jī)地選擇種子; 利用公共密鑰和種子來產(chǎn)生匹配指示符;利用公共密鑰、秘密密鑰和種子來產(chǎn)生加密密鑰; 利用加密密鑰來加密該行中的文件標(biāo)識(shí)符項(xiàng),以獲得加密的文件標(biāo)識(shí)符;利用秘密密鑰和 種子來盲化該行中的私密關(guān)鍵字,以獲得盲化索引集合;通過排列加密的文件標(biāo)識(shí)符、匹配 指示符和盲化索引集合,形成盲化索引表的一行。優(yōu)選地,所述設(shè)備還包括加密單元,用于針對(duì)索引表的每一行,用加密密鑰來加密與該行對(duì)應(yīng)的文件,以獲得加密的文件數(shù)據(jù)。優(yōu)選地,每一個(gè)關(guān)鍵字索引項(xiàng)屬于一個(gè)域,并且與一個(gè)盲化索引相對(duì)應(yīng)。更優(yōu)選 地,用另一個(gè)秘密密鑰來加密每個(gè)域的域名。優(yōu)選地,盲化索引表的每一行至少包括一個(gè)匹配指示符和一個(gè)盲化索引集合。優(yōu)選地,索引表是正向索引表,域的名稱反映了屬于該域的索引項(xiàng)的公共屬性。優(yōu)選地,索引表是轉(zhuǎn)換自正向索引表的倒排索引表,在該倒排索引表中,域的名稱 被定義為正向索引表的一個(gè)索引項(xiàng),域的每一項(xiàng)為布爾型。根據(jù)本發(fā)明的第二方案,一種用于產(chǎn)生盲化索引表的方法包括步驟執(zhí)行初始化 過程以獲得秘密密鑰和公共密鑰;對(duì)于索引表的每一行隨機(jī)地選擇種子;利用公共密鑰 和種子來產(chǎn)生匹配指示符;利用公共密鑰、秘密密鑰和種子來產(chǎn)生加密密鑰;利用加密密 鑰來加密該行中的文件標(biāo)識(shí)符項(xiàng),以獲得加密的文件標(biāo)識(shí)符;利用秘密密鑰從該行中的關(guān) 鍵字索引項(xiàng)中產(chǎn)生私密關(guān)鍵字;利用秘密密鑰和種子來盲化該行中的私密關(guān)鍵字,以獲得 盲化索引集合;通過排列加密的文件標(biāo)識(shí)符、匹配指示符和盲化索引集合,形成盲化索引表 的一 行。優(yōu)選地,加密密鑰還用于加密與該行對(duì)應(yīng)的文件,以獲得加密的文件數(shù)據(jù)。優(yōu)選地,每一個(gè)關(guān)鍵字索引項(xiàng)屬于一個(gè)域,并且與一個(gè)盲化索引相對(duì)應(yīng)。更優(yōu)選 地,用另一個(gè)秘密密鑰來加密每個(gè)域的域名。優(yōu)選地,盲化索引表的每一行至少包括一個(gè)匹配指示符和一個(gè)盲化索引集合。優(yōu)選地,索引表是正向索引表,域的名稱反映了屬于該域的索引項(xiàng)的公共屬性。優(yōu)選地,索引表是轉(zhuǎn)換自正向索引表的倒排索引表,在該倒排索引表中,域的名稱 被定義為正向索引表的一個(gè)索引項(xiàng),域的每一項(xiàng)為布爾型。根據(jù)本發(fā)明的第三方案,一種在盲化索引表中執(zhí)行聯(lián)合關(guān)鍵字搜索的設(shè)備包括 關(guān)鍵字預(yù)處理單元,用于通過使用秘密密鑰,針對(duì)所查詢的關(guān)鍵字集合中的每個(gè)關(guān)鍵字產(chǎn) 生私密關(guān)鍵字,所產(chǎn)生的私密關(guān)鍵字形成了與所查詢的關(guān)鍵字集合相對(duì)應(yīng)的私密關(guān)鍵字集 合,私密關(guān)鍵字和所查詢的關(guān)鍵字的數(shù)量都是正整數(shù);權(quán)限發(fā)布單元,用于利用公共密鑰、 秘密密鑰和私密關(guān)鍵字集合來產(chǎn)生所查詢關(guān)鍵字集合的搜索權(quán)限,搜索權(quán)限標(biāo)識(shí)了所查詢 關(guān)鍵字集合所屬的域,以及用于利用搜索權(quán)限和秘密密鑰來產(chǎn)生解密權(quán)限;命中項(xiàng)匹配單 元,如果盲化索引表中一行的匹配指示符與從屬于該行中的所標(biāo)識(shí)的域的各個(gè)索引項(xiàng)和搜 索權(quán)限而聯(lián)合產(chǎn)生的值相同,則確定該行是命中行;解密單元,用于利用屬于命中行中的所 標(biāo)識(shí)的域的各個(gè)索引項(xiàng)和解密權(quán)限來產(chǎn)生每一命中行的解密密鑰,以及用于利用解密密鑰 來解密每一命中行的已加密文件標(biāo)識(shí)符和已加密文件數(shù)據(jù),以獲得搜索結(jié)果。優(yōu)選地,盲化索引表的每一行至少包括一個(gè)匹配指示符和一個(gè)盲化索引集合。優(yōu)選地,索引表是正向索引表,域的名稱反映了屬于該域的索引項(xiàng)的公共屬性。優(yōu)選地,索引表是轉(zhuǎn)換自正向索引表的倒排索引表,在該倒排索引表中,域的名稱 被定義為正向索引表的一個(gè)索引項(xiàng),域的每一項(xiàng)為布爾型。優(yōu)選地,所述的設(shè)備還包括域加密單元,用于用另一個(gè)秘密密鑰來加密每個(gè)域的 域名。根據(jù)本發(fā)明的第四方案,一種在盲化索引表中執(zhí)行聯(lián)合關(guān)鍵字搜索的方法包括步 驟通過使用秘密密鑰,針對(duì)所查詢的關(guān)鍵字集合中的每個(gè)關(guān)鍵字產(chǎn)生私密關(guān)鍵字,所產(chǎn)生的私密關(guān)鍵字形成了與所查詢的關(guān)鍵字集合相對(duì)應(yīng)的私密關(guān)鍵字集合,私密關(guān)鍵字和所查 詢的關(guān)鍵字的數(shù)量都是正整數(shù);利用公共密鑰、秘密密鑰和私密關(guān)鍵字集合來產(chǎn)生所查詢 關(guān)鍵字集合的搜索權(quán)限,搜索權(quán)限標(biāo)識(shí)了所查詢關(guān)鍵字集合所屬的域;利用搜索權(quán)限和秘 密密鑰來產(chǎn)生解密權(quán)限;如果盲化索引表中一行的匹配指示符與從屬于該行中的所標(biāo)識(shí)的 域的各個(gè)索引項(xiàng)和搜索權(quán)限而聯(lián)合產(chǎn)生的值相同,則確定該行是命中行;利用屬于命中行 中的所標(biāo)識(shí)的域的各個(gè)索引項(xiàng)和解密權(quán)限來產(chǎn)生每一命中行的解密密鑰;以及利用解密密 鑰來解密每一命中行的已加密文件標(biāo)識(shí)符和已加密文件數(shù)據(jù),以獲得搜索結(jié)果。優(yōu)選地,盲化索引表的每一行至少包括一個(gè)匹配指示符和一個(gè)盲化索引集合。優(yōu)選地,索引表是正向索引表,域的名稱反映了屬于該域的索引項(xiàng)的公共屬性。優(yōu)選地,索引表是轉(zhuǎn)換自正向索引表的倒排索引表,在該倒排索引表中,域的名稱被定義為正向索引表的一個(gè)索引項(xiàng),域的每一項(xiàng)為布爾型。優(yōu)選地,用另一個(gè)秘密密鑰來加密每個(gè)域的域名。與最接近的現(xiàn)有技術(shù)相比,本發(fā)明的積極效果包括(I)服務(wù)器存儲(chǔ)的索引表的大小近似減半;(II)聯(lián)合關(guān)鍵字搜索的速度提高兩倍;(III)能夠進(jìn)行涉及非限定域關(guān)鍵字的聯(lián)合關(guān)鍵字搜索;(IV)能夠進(jìn)行涉及“非關(guān)鍵字”的聯(lián)合關(guān)鍵字搜索;(V) SC和DC的大小被最小化。


      結(jié)合附圖,根據(jù)下面對(duì)本發(fā)明的非限制性實(shí)施例的詳細(xì)描述,本發(fā)明的上述及其 他目的、特征和優(yōu)點(diǎn)將變得更加清楚,附圖中圖1是示出了根據(jù)參考文獻(xiàn)[9]、在索引階段工作的各個(gè)單元的框圖;圖2是示出了根據(jù)參考文獻(xiàn)[9]、在搜索階段工作的各個(gè)單元的框圖;圖3是示出了根據(jù)本發(fā)明第一實(shí)施例、在索引階段工作的各個(gè)單元的框圖;圖4是示出了根據(jù)本發(fā)明第一實(shí)施例、在搜索階段工作的各個(gè)單元的框圖;圖5是示出了根據(jù)本發(fā)明第二實(shí)施例、在索引階段工作的各個(gè)單元的框圖;以及圖6是示出了根據(jù)本發(fā)明第二實(shí)施例、在搜索階段工作的各個(gè)單元的框圖。
      具體實(shí)施例方式下面,根據(jù)附圖描述本發(fā)明。在以下描述中,一些具體實(shí)施例僅用于描述目的,而 不應(yīng)該理解為對(duì)本發(fā)明有任何限制,而只是本發(fā)明的示例。省略了常規(guī)結(jié)構(gòu)或構(gòu)造,以免導(dǎo) 致對(duì)本發(fā)明的理解不清楚。[第一實(shí)施例]根據(jù)本發(fā)明的第一實(shí)施例,圖3和圖4以兩個(gè)階段示出了在秘密密鑰設(shè)置(CKSS 方案)下所提出的聯(lián)合關(guān)鍵字搜索方案的詳細(xì)過程,即索引階段(圖3)和搜索階段(圖 4)。參考圖3,數(shù)據(jù)所有方、搜索方和服務(wù)器的各個(gè)單元如下 關(guān)鍵字預(yù)處理單元303和406以秘密密鑰和(明文)正向索引表中的關(guān)鍵字作 為輸入,輸出私密關(guān)鍵字。
      盲化單元301以秘密密鉬、(明文)正向索引表、私密關(guān)鍵字作為輸入,輸出盲化 正向索引表(BFT)和數(shù)據(jù)的加密密鑰。BFT不再對(duì)于表的每一項(xiàng)都有隨機(jī)數(shù)發(fā)生器(Bij), 而是對(duì)于每個(gè)EF有匹配指示符(1\)。 權(quán)限發(fā)布單元401以秘密密鑰和私密關(guān)鍵字作為輸入,輸出搜索權(quán)限(SC)和解 密權(quán)限(DC)。
      BFT匹配單元403以SC、ADI和BFT作為輸入,輸出BFT匹配結(jié)果,BFT匹配結(jié) 果包括BFT的每一匹配行的相應(yīng)Aij和指向與匹配行相對(duì)應(yīng)的匹配EF的指針。 所有其它單元(302、402、404和405)按照在本發(fā)明“背景技術(shù)”部分描述的單 元(102、202、204和205) —樣工作,因此在此為了簡(jiǎn)明而省略這些單元的詳細(xì)說明。場(chǎng)景說明
      首先給出在秘密密鑰設(shè)置(CKSS方案)下所提出的聯(lián)合關(guān)鍵字搜索方案的概述。不失一般性地,以示例的明文正向索引表開始。示例的明文正向索引表如表1,與 在本發(fā)明的“背景技術(shù)”部分中所述的表一樣。表1示例明文正向索引表 在表1中,每一行可由不同的文件標(biāo)識(shí)符Fi標(biāo)識(shí)。下面除非特別指出,否則使用 Fi來表示文件自身及其唯一文件標(biāo)識(shí)符(例如文件名)。表1的每一列由唯一域名標(biāo)識(shí)。使用CKSS方案,上表1將由盲化單元301轉(zhuǎn)換為下表2 表2示例盲化正向索引表 首先,表2中的域名可以與表1中的域名相同。例如,可以將表2中的域2表示為 “City”。在表2中,每一個(gè)表項(xiàng)都被盲化,例如,表1中的“Alice”由所謂的盲化索引A11代 替。盲化索引被構(gòu)造成(在計(jì)算上)不會(huì)泄漏任何關(guān)于“Alice”的信息。盲化索引僅消耗 1個(gè)群成員。此夕卜,可以看出,F(xiàn)i 代替,EFi是關(guān)于Fi的密文。利用正確的DC,搜索方可以 解密EFi以恢復(fù)Fi。與現(xiàn)有技術(shù)相比,尤其是與參考文獻(xiàn)[9]相比,存儲(chǔ)復(fù)雜度方面的益處是明顯的。 每個(gè)盲化索引僅消耗1個(gè)群成員。CKSS方案不需要存儲(chǔ)附加信息,例如參考文獻(xiàn)[9]所需 的隨機(jī)數(shù)發(fā)生器。每次嘗試的計(jì)算復(fù)雜度減少為1次配對(duì)評(píng)估,例如為了測(cè)試EF1是否包含聯(lián)合關(guān)鍵字,將使服務(wù)器僅進(jìn)行ι次配對(duì)評(píng)估。此外,根據(jù)CKSS方案的SC和DC的大小也分別減 小為1個(gè)群成員。后面將描述計(jì)算復(fù)雜度分析的細(xì)節(jié)以及SC和DC的大小。搜索方(例如搜索包含關(guān)鍵字“Alice”和“Beijing”的文獻(xiàn)的搜索方)將進(jìn)行如 下動(dòng)作1)聯(lián)系數(shù)據(jù)所有方、請(qǐng)求所需的關(guān)于關(guān)鍵字集合的SC和DC、并在數(shù)據(jù)所有方愿意 的情況下從數(shù)據(jù)所有方接收SC和DC。SC應(yīng)該包括所需的域信息。在上述示例的設(shè)置中, SC中包含域名“Name”和“City”。該步驟涉及權(quán)限發(fā)布單元401、關(guān)鍵字預(yù)處理單元406和 域查找單元402。2)搜索方將SC遞交給服務(wù)器。服務(wù)器然后針對(duì)每個(gè)EFi,測(cè)試是否與聯(lián)合關(guān)鍵字 搜索匹配。最后,服務(wù)器將所有的匹配EFiS回給搜索方。該步驟涉及BFT匹配單元403、 EF獲取單元404。3)在接收到匹配EFi時(shí),搜索方可以使用DC,對(duì)EFi進(jìn)行解密并恢復(fù)相應(yīng)的文件標(biāo) 識(shí)符F”在上述示例的設(shè)置中,搜索方將接收到EFJt為搜索結(jié)果,并且搜索方可以使用DC 來對(duì)EF1進(jìn)行解密并恢復(fù)F1。該步驟涉及解密單元405。[第二實(shí)施例]上述第一實(shí)施例僅涉及結(jié)構(gòu)化數(shù)據(jù)(類似數(shù)據(jù)庫(kù))。第二實(shí)施例將處理無結(jié)構(gòu)數(shù) 據(jù)(類似Google)。此外,第二實(shí)施例可以處理“非關(guān)鍵字”查詢,例如搜索包含關(guān)鍵字 “Alice”但是不包含“Music”的文獻(xiàn)。在第二實(shí)施例中,關(guān)鍵字在邏輯上被當(dāng)作域,列號(hào)產(chǎn)生單元用于定位BFT中的與 關(guān)鍵字相對(duì)應(yīng)的列(邏輯域)。根據(jù)本發(fā)明的第二實(shí)施例,圖5和圖6以兩個(gè)階段示出了秘密密鑰設(shè)置(CKSS方 案)下所提出的聯(lián)合關(guān)鍵字搜索方案的詳細(xì)過程,即索引階段(圖5)和搜索階段(圖6)。 參考圖5和圖6,數(shù)據(jù)所有方、搜索方和服務(wù)器的各個(gè)單元如下 除了列號(hào)產(chǎn)生單元504和607之外的所有單元與第一實(shí)施例中的單元一樣工 作,因此為了簡(jiǎn)明,省略這些單元的詳細(xì)說明。 列號(hào)產(chǎn)生單元504和607以秘密密鑰和關(guān)鍵字作為輸入,輸出BFT中明確針對(duì) 該關(guān)鍵字的列號(hào)。
      場(chǎng)景描述除了在第一實(shí)施例中所述的CKSS的基本方案,下面在第二實(shí)施例中示出如何實(shí) 現(xiàn)聯(lián)合關(guān)鍵字搜索和“非”關(guān)鍵字搜索。下表3示出了在非限定域情況下的正向索引表的構(gòu)造。與表1相比,可以將其解 釋為“邏輯上將密鑰當(dāng)作域”。熟悉倒排索引表的人也可以將表3解釋為由倒排索引表的 旋轉(zhuǎn)得來。無論如何解釋表3,都需要注意的是,如果文件不包含一關(guān)鍵字,則用特殊詞語(yǔ) “NULL” 填充相應(yīng)的表項(xiàng)("Alice =NULL", "Beijing =NULL", "Music :NULL”)。例如,對(duì)于 列關(guān)鍵字“Alice”,該詞語(yǔ)“NULL”是“Alice”的160比特的帶有密鑰的散列。因此,實(shí)際上 不可能在文獻(xiàn)中遇到相同的詞語(yǔ)“Alice :NULL”。表3示例正向索引(非限定域) 使用CKSS方案,上表3將被轉(zhuǎn)換為下表4 表4示例盲化正向索引表(非限定域) 除了針對(duì)表2所解釋的內(nèi)容之外,表4還需要一個(gè)代替。表3中的所有關(guān)鍵字在 表4中都由列號(hào)產(chǎn)生單元504所產(chǎn)生的列號(hào)代替。具體地,該過程規(guī)定了使用數(shù)據(jù)所有方 的秘密密鑰。作為簡(jiǎn)單示例,可以計(jì)算列1作為“Alice”的帶有密鑰的散列。需要重申的是,表2可以并不經(jīng)過域名的替換。例如,可以將表2中的域2表示為 “City”。然而,表4必須通過使用秘密密鑰和正確的措施,例如帶有密鑰的散列、加密等,經(jīng) 過域名的替換,以隱藏關(guān)鍵字。
      此外,考慮搜索包含關(guān)鍵字“Alice”和“Beijing”的文獻(xiàn)的搜索方。該搜索方將 從數(shù)據(jù)所有方接收所需的SC和DC,還從列號(hào)產(chǎn)生單元607接收列號(hào)。SC應(yīng)該包含所需的 列信息。在該特定示例中,列信息是列1和列2。在搜索方將SC提交給服務(wù)器之后,服務(wù)器 針對(duì)每個(gè)EFi測(cè)試是否與聯(lián)合關(guān)鍵字搜索匹配。在接收到EFJt為搜索結(jié)果時(shí),搜索方可以 使用DC來對(duì)EF1進(jìn)行解密并恢復(fù)F1?,F(xiàn)在離實(shí)現(xiàn)“非”關(guān)鍵字搜索僅有一步之遙。如果搜索方查找包含關(guān)鍵字“Alice” 和“非Bei jing”的文獻(xiàn),搜索方接收到的實(shí)際上是與分別在列1和列2下的關(guān)鍵字“Alice” 和關(guān)鍵字“Beijing :NULL”有關(guān)的SC。[詳細(xì)原理說明]使用傳統(tǒng)的乘法群標(biāo)記,代替通常在橢圓曲線設(shè)置中使用的加法標(biāo)記。假設(shè)G1 = <gl>*G2 = <g2>是兩個(gè)有限循環(huán)群,具有附加的群G = ^〉,使得
      Kl = |g2| =間=P,其中P是某個(gè)大的素?cái)?shù)。雙線性映射e G1 χ G2 — g是具有如下效果的 函數(shù)■雙線性的對(duì)于所有 e G1 A2 6 G2,對(duì)于所有α,δ € Zp ,e(h; ,h;) = e^hj'1' ■■非退化的3爾G G1 Sh2 G G2,使得eQ^,h2)乒I,其中I是g的單位元素;以及■可計(jì)算的存在計(jì)算e的有效算法。假設(shè)存在針對(duì)輸入安全參數(shù)Ik的設(shè)置算法Setup( ·),輸出雙線性映射的上述設(shè) 置。該過程被表示為(P,G],G2,g鳴,馬,e) — Setup(Ik)。由于巧、Gjpg都具有相同的素?cái)?shù)階,因此根據(jù)雙線性特性以及非退化特性,很 容易可以看出6(仏,52)=議?,F(xiàn)在,詳細(xì)描述CKSS方案。假設(shè)明文索引表構(gòu)造如下對(duì)于每個(gè)明文文件(文獻(xiàn)) Fj,其明文文件名是FNj,存在一行匹配關(guān)鍵字IwjJ,其中每一個(gè)都唯一地屬于域Rp這里, “唯一”意味著文件一定不包含屬于多于一個(gè)域的單個(gè)關(guān)鍵字。我們注意到,有可能一個(gè)字 出現(xiàn)在不只一個(gè)域下。例如,“Alice”可以同時(shí)是患者的“親戚”和“聯(lián)系人”。在這種情況 下,常用的方案是將關(guān)鍵字構(gòu)造成“域關(guān)鍵字”,例如“親戚:Alice”和“聯(lián)系人Alice”。 這樣獲得了下表5。表5示例明文正向索引表 密鉬產(chǎn)牛 b)選擇ζ3。c)選擇安全的單向散列函數(shù)Fk : G — K。d)選擇帶有密鑰的散列函數(shù)Ek K G Ζ; X {0,1}* — Z;,其中K是密鑰。公共密鑰是(p,G1,G2^J1,5.2,e)、Hk 和 Ηκ。秘密密鑰是(x,y,z)。BFT 產(chǎn)牛a)對(duì)于每個(gè)FNj,隨機(jī)地選擇種子~ ^ G1。例如,首先選擇\ €β ζ,然后計(jì)算 h:丨=g^' G G1。b)計(jì)算匹配標(biāo)識(shí)符7; = Hk ^Zv52))和加密密鑰& = Hk (e(hv:g2))(由盲化單元 301執(zhí)行)。C)使用密鑰&和適當(dāng)?shù)募用芊桨竵砑用躧和FNp獲得加密的文件標(biāo)識(shí)符Eh (由 加密單元302執(zhí)行)。EFj具有彼此不同的特性,因此,在使用密鑰&對(duì)Eh進(jìn)行解密時(shí),將獲得h和FNj。 例如,首先選擇隨機(jī)加密密鑰fk來加密文件Fp此外,可以使用fk來加密F 并獲得密文 形式的FNj,即CF 。在這種情況下,EFj是朋=EncJfk,CFNJ唭中EnCkey(*)是以key
      作為加密密鑰的某種對(duì)稱加密機(jī)制。很容易知道,利用密鑰Kj,可以對(duì)EFj進(jìn)行解密以獲得 fk和CF 。利用CF 來定位和檢索加密文件,文件密鑰fk最終可以對(duì)加密文件和CFNj.進(jìn) 行解密,CFNj揭示了。和FNj。d)對(duì)于Fj的每個(gè)Wji,計(jì)算盲化索引% = h2+We G1。這里,Hx(Wji)是“私密關(guān) 鍵字”(從關(guān)鍵字預(yù)處理單元303到盲化單元301)。最終,對(duì)于每個(gè)EFj,輸出(EFj :Tj; (WjJ)(以存儲(chǔ)在服務(wù)器中)。因此,獲得下表 6 表6示例盲化正向索引表
      Γ\
      加密文件名 xXR1R2R3...
      指示符
      EF1T1WjiW12W13...
      EF2T2W21W22 W23...
      EF3T3W31W32 W33...
      權(quán)限發(fā)布進(jìn)行以下動(dòng)作以計(jì)算目標(biāo)關(guān)鍵字fhl的搜索權(quán)限,其中 <屬于域R 和 a)計(jì)算搜索權(quán)限 b)計(jì)算解密權(quán)限 該過程涉及權(quán)限發(fā)布單元401和關(guān)鍵字預(yù)處理單元406。最終,權(quán)限是SC和DC。SC中包括關(guān)于所屬的域{R }的信息。這里,不需要 通過附加的隨機(jī)數(shù)來將SC和DC隨機(jī)化。如果pj包括關(guān)鍵字 然而&并不屬于任何域(如域查找單元402的輸出所指示 的)時(shí),立即拒絕授予Sc?;蛘呖蛇x地,對(duì)于關(guān)鍵字 ,選擇某個(gè)域,以便可以計(jì)算Sc。這種 可選方案最終導(dǎo)致空的搜索結(jié)果集。捭索對(duì)于BFT的由EFj標(biāo)識(shí)的每一行,以Wju表示屬于域Ru的盲化索引。 a)計(jì)算當(dāng)且僅當(dāng)丑時(shí),EFj被當(dāng)作聯(lián)合關(guān)
      鍵字搜索結(jié)果。注意,對(duì)于所有的υ,當(dāng)且僅當(dāng),= <時(shí) 該過程涉及BFT匹配單元403。最終,聯(lián)合關(guān)鍵字搜索的輸出是匹配集· efMw^。該過程涉及EF獲取單元
      404。解密a)對(duì)于每一個(gè)搜索結(jié)果EFj和11 ,計(jì)算解密密鑰 b)使用Kj來對(duì)EFj進(jìn)行解密并獲得CFNj和文件密鑰fk。該過程涉及解密單元 在Hk e Π 沉=iiK(e(/^2))的前提下,可以容易地驗(yàn)證 [改進(jìn)]可詵方案1 上表6以明文揭示了域信息??蛇x地,域信息可以被盲化,因此對(duì)于服務(wù)器隱藏域 fn息ο例如,數(shù)據(jù)所有方具有附加的私密密鑰Ph ζ,,數(shù)據(jù)所有方可以計(jì)算ERi = Hp (Domain),例如Hp (“ City")。下表7示出了具有盲化的域信息的BFT?,F(xiàn)在,在上述權(quán)限發(fā)布過程最后,SC應(yīng)該包含與盲化的域{ER )相關(guān)的信息,而不 是與域{R }相關(guān)的信息。表7示例可選盲化正向索引表 可詵方案2 除了在可選方案1中公開的相反之外,數(shù)據(jù)所有方可以邏輯上將關(guān)鍵字當(dāng)作域, 即虛擬域。例如,表5可以被解釋為下表8:表8示例重解譯明文正向索引表 不難看出,表8也可以被當(dāng)作倒排索引表。NULL表項(xiàng),例如“wn :NULL”,表示該關(guān)鍵字并不包含在文件中。為了避免文件 的確包含諸如“Alice :NULL”的關(guān)鍵字的少數(shù)情況,數(shù)據(jù)所有方可以使用附加的私密密鑰 V^r ζ來處理NULL表項(xiàng)。例如,在表8中用“Wll (W11) ”代替“Wll :NULL”。現(xiàn)在假設(shè)數(shù)據(jù)所有方具有附加的私密密鑰W、ζ并且數(shù)據(jù)所有方可以計(jì)算虛擬 域五K = H/keyword),例如凡(Mke1')。使用CKSS機(jī)制,重解譯的BFT可以構(gòu)造成如下所 示(表9)表9示例重解譯盲化正向索引表 該可選方案所關(guān)注的在于能夠進(jìn)行“非關(guān)鍵字”搜索。例如,搜索方以聯(lián)合關(guān)鍵 字“Alice且非Beijing”搜索文獻(xiàn)。數(shù)據(jù)所有方可以向搜索方發(fā)出搜索權(quán)限“Alice且 Beijing =NULL再次需要注意,“Beijing :NULL”實(shí)際上可以以私密密鑰η預(yù)處理為 Beijing :Hn (Beijing)。最終,很容易設(shè)計(jì)基于CKSS方案、可選方案1和可選方案2的混合方案。例如, BFT可以構(gòu)造成一些域信息以明文形式揭示而其它域信息被盲化。再例如,BFT可以構(gòu)造成 半結(jié)構(gòu)化文獻(xiàn),即既具有盲化域也具有虛擬域。以上描述僅給出了本發(fā)明的優(yōu)選實(shí)施例,而并不是要以任何方式限制本發(fā)明。因 此,在本發(fā)明精神和原理內(nèi)進(jìn)行的任何修改、替換、改進(jìn)等應(yīng)該由本發(fā)明范圍所涵蓋。參考文獻(xiàn)列表[l]Amazon Simple Storage Service(Amazon S3),http //aws. amazon. com/s3 ;[2]Googgle Health, https://www, google, com/health ;[3]Microsoft HealthVault, http://www, healthvault. com ;[4]Card details stolen in web hack, BBC news,http://news, bbc. co. uk/2/hi/technoloRy/7446871. stm [5]TJX theft tops 45. 6million card numbers, reported bySecurityFocus. com,http://www, securityfocus. com/news/11455 ;
      [6]D. Song, D. Wagner, A. Perrig, Practical techniques for searches onencrypted data, in Proceedings of IEEE Symposium on Securityand Privacy' 00, pp.44-55,2000 ;[7]D. Boneh, G. D. Crescenzo, R. Ostrovsky, G. Persiano. Public KeyEncryption with Keyword Search. In Proceeding of EuroCrypt^ 04, LNCS 3027, pp.506-522,2004 ;[8]D. J. Park, K. Kim, P. J. Lee, Public Key Encryption withConjunctive Field Keyword Search. In Chae Hoon Lim and MotiYung,editors,Information Security Applicatiohs :5th InternationalWorkshop, WISA 2004, Jeju Island, Korea, August 23-25,LNCSvo 1. 3325,pp. 73—86. Springer-Verlag, 2004 ;[9]D. J. Park, J. Cha, P. J. Lee, Searchable Keyword-BasedEncryption, Report 2005/367, Cryptology ePrint Archive(2005);[10]S. S. Μ. Chow,Exclusion-Intersection Encryption andItsApplication to Searchable Encryption. Report 2005/377, Cryptology ePrint Archive(2005).
      權(quán)利要求
      一種用于產(chǎn)生盲化索引表的設(shè)備,包括初始化單元,用于執(zhí)行初始化過程以獲得秘密密鑰和公共密鑰;關(guān)鍵字預(yù)處理單元,用于利用秘密密鑰,根據(jù)關(guān)鍵字索引項(xiàng),產(chǎn)生私密關(guān)鍵字;盲化單元,用于對(duì)于索引表的每一行隨機(jī)地選擇種子;利用公共密鑰和種子來產(chǎn)生匹配指示符;利用公共密鑰、秘密密鑰和種子來產(chǎn)生加密密鑰;利用加密密鑰來加密該行中的文件標(biāo)識(shí)符項(xiàng),以獲得加密的文件標(biāo)識(shí)符;利用秘密密鑰和種子來盲化該行中的私密關(guān)鍵字,以獲得盲化索引集合;通過排列加密的文件標(biāo)識(shí)符、匹配指示符和盲化索引集合,形成盲化索引表的一行。
      2.根據(jù)權(quán)利要求1所述的設(shè)備,還包括 加密單元,用于針對(duì)索引表的每一行,用加密密鑰來加密與該行對(duì)應(yīng)的文件,以獲得加密的文件數(shù)據(jù)。
      3.根據(jù)權(quán)利要求1或2所述的設(shè)備,其中每一個(gè)關(guān)鍵字索引項(xiàng)屬于一個(gè)域,并且與一個(gè)盲化索引相對(duì)應(yīng)。
      4.根據(jù)權(quán)利要求1或2所述的設(shè)備,其中盲化索引表的每一行至少包括一個(gè)匹配指示符和一個(gè)盲化索引集合。
      5.根據(jù)權(quán)利要求1或2所述的設(shè)備,其中索引表是正向索引表,域的名稱反映了屬于該域的索引項(xiàng)的公共屬性。
      6.根據(jù)權(quán)利要求1或2所述的設(shè)備,其中索引表是轉(zhuǎn)換自正向索引表的倒排索引表,在該倒排索引表中,域的名稱被定義為正 向索引表的一個(gè)索引項(xiàng),域的每一項(xiàng)為布爾型。
      7.根據(jù)權(quán)利要求3所述的設(shè)備,其中 用另一個(gè)秘密密鑰來加密每個(gè)域的域名。
      8.一種用于產(chǎn)生盲化索引表的方法,包括步驟 執(zhí)行初始化過程以獲得秘密密鑰和公共密鑰; 對(duì)于索引表的每一行隨機(jī)地選擇種子;利用公共密鑰和種子來產(chǎn)生匹配指示符;利用公共密鑰、秘密密鑰和種子來產(chǎn)生加密密鑰;利用加密密鑰來加密該行中的文件標(biāo)識(shí)符項(xiàng),以獲得加密的文件標(biāo)識(shí)符;利用秘密密鑰從該行中的關(guān)鍵字索引項(xiàng)中產(chǎn)生私密關(guān)鍵字;利用秘密密鑰和種子來盲化該行中的私密關(guān)鍵字,以獲得盲化索引集合;通過排列加密的文件標(biāo)識(shí)符、匹配指示符和盲化索引集合,形成盲化索引表的一行。
      9.根據(jù)權(quán)利要求8所述的方法,其中加密密鑰還用于加密與該行對(duì)應(yīng)的文件,以獲得加密的文件數(shù)據(jù)。
      10.根據(jù)權(quán)利要求8或9所述的方法,其中每一個(gè)關(guān)鍵字索引項(xiàng)屬于一個(gè)域,并且與一個(gè)盲化索引相對(duì)應(yīng)。
      11.根據(jù)權(quán)利要求8或9所述的方法,其中盲化索引表的每一行至少包括一個(gè)匹配指示符和一個(gè)盲化索引集合。
      12.根據(jù)權(quán)利要求8或9所述的方法,其中索引表是正向索引表,域的名稱反映了屬于該域的索引項(xiàng)的公共屬性。
      13.根據(jù)權(quán)利要求8或9所述的方法,其中索引表是轉(zhuǎn)換自正向索引表的倒排索引表,在該倒排索引表中,域的名稱被定義為正 向索引表的一個(gè)索引項(xiàng),域的每一項(xiàng)為布爾型。
      14.根據(jù)權(quán)利要求10所述的方法,其中用另一個(gè)秘密密鑰來加密每個(gè)域的域名。
      15.一種在盲化索引表中執(zhí)行聯(lián)合關(guān)鍵字搜索的設(shè)備,包括關(guān)鍵字預(yù)處理單元,用于通過使用秘密密鑰,針對(duì)所查詢的關(guān)鍵字集合中的每個(gè)關(guān)鍵 字產(chǎn)生私密關(guān)鍵字,所產(chǎn)生的私密關(guān)鍵字形成了與所查詢的關(guān)鍵字集合相對(duì)應(yīng)的私密關(guān)鍵 字集合,私密關(guān)鍵字和所查詢的關(guān)鍵字的數(shù)量都是正整數(shù);權(quán)限發(fā)布單元,用于利用公共密鑰、秘密密鑰和私密關(guān)鍵字集合來產(chǎn)生所查詢關(guān)鍵字 集合的搜索權(quán)限,搜索權(quán)限標(biāo)識(shí)了所查詢關(guān)鍵字集合所屬的域,以及用于利用搜索權(quán)限和 秘密密鑰來產(chǎn)生解密權(quán)限;命中項(xiàng)匹配單元,如果盲化索引表中一行的匹配指示符與從屬于該行中的所標(biāo)識(shí)的域 的各個(gè)索引項(xiàng)和搜索權(quán)限而聯(lián)合產(chǎn)生的值相同,則確定該行是命中行;解密單元,用于利用屬于命中行中的所標(biāo)識(shí)的域的各個(gè)索引項(xiàng)和解密權(quán)限來產(chǎn)生每一 命中行的解密密鑰,以及用于利用解密密鑰來解密每一命中行的已加密文件標(biāo)識(shí)符和已加 密文件數(shù)據(jù),以獲得搜索結(jié)果。
      16.根據(jù)權(quán)利要求15所述的設(shè)備,其中盲化索引表的每一行至少包括一個(gè)匹配指示符和一個(gè)盲化索引集合。
      17.根據(jù)權(quán)利要求15或16所述的設(shè)備,其中索引表是正向索引表,域的名稱反映了屬于該域的索引項(xiàng)的公共屬性。
      18.根據(jù)權(quán)利要求15或16所述的設(shè)備,其中索引表是轉(zhuǎn)換自正向索引表的倒排索引表,在該倒排索引表中,域的名稱被定義為正 向索引表的一個(gè)索引項(xiàng),域的每一項(xiàng)為布爾型。
      19.根據(jù)權(quán)利要求15或16所述的設(shè)備,還包括域加密單元,用于用另一個(gè)秘密密鑰來加密每個(gè)域的域名。
      20.一種在盲化索引表中執(zhí)行聯(lián)合關(guān)鍵字搜索的方法,包括步驟通過使用秘密密鑰,針對(duì)所查詢的關(guān)鍵字集合中的每個(gè)關(guān)鍵字產(chǎn)生私密關(guān)鍵字,所產(chǎn) 生的私密關(guān)鍵字形成了與所查詢的關(guān)鍵字集合相對(duì)應(yīng)的私密關(guān)鍵字集合,私密關(guān)鍵字和所 查詢的關(guān)鍵字的數(shù)量都是正整數(shù);利用公共密鑰、秘密密鑰和私密關(guān)鍵字集合來產(chǎn)生所查詢關(guān)鍵字集合的搜索權(quán)限,搜 索權(quán)限標(biāo)識(shí)了所查詢關(guān)鍵字集合所屬的域;利用搜索權(quán)限和秘密密鑰來產(chǎn)生解密權(quán)限;如果盲化索引表中一行的匹配指示符與從屬于該行中的所標(biāo)識(shí)的域的各個(gè)索引項(xiàng)和 搜索權(quán)限而聯(lián)合產(chǎn)生的值相同,則確定該行是命中行;利用屬于命中行中的所標(biāo)識(shí)的域的各個(gè)索引項(xiàng)和解密權(quán)限來產(chǎn)生每一命中行的解密 密鑰;以及利用解密密鑰來解密每一命中行的已加密文件標(biāo)識(shí)符和已加密文件數(shù)據(jù),以獲得搜索結(jié)果。
      21.根據(jù)權(quán)利要求20所述的方法,其中盲化索引表的每一行至少包括一個(gè)匹配指示符和一個(gè)盲化索引集合。
      22.根據(jù)權(quán)利要求20或21所述的方法,其中索引表是正向索引表,域的名稱反映了屬于該域的索引項(xiàng)的公共屬性。
      23.根據(jù)權(quán)利要求20或21所述的方法,其中索引表是轉(zhuǎn)換自正向索引表的倒排索引表,在該倒排索引表中,域的名稱被定義為正 向索引表的一個(gè)索引項(xiàng),域的每一項(xiàng)為布爾型。
      24.根據(jù)權(quán)利要求20或21所述的方法,其中 用另一個(gè)秘密密鑰來加密每個(gè)域的域名。
      全文摘要
      本發(fā)明提出了一種盲化索引表產(chǎn)生設(shè)備,包括初始化單元,用于執(zhí)行初始化過程以獲得秘密密鑰和公共密鑰;關(guān)鍵字預(yù)處理單元,用于利用秘密密鑰,根據(jù)關(guān)鍵字索引項(xiàng),產(chǎn)生私密關(guān)鍵字;盲化單元,用于對(duì)于索引表的每一行隨機(jī)地選擇種子;利用公共密鑰和種子來產(chǎn)生匹配指示符;利用公共密鑰、秘密密鑰和種子來產(chǎn)生加密密鑰;利用加密密鑰來加密該行中的文件標(biāo)識(shí)符項(xiàng),以獲得加密的文件標(biāo)識(shí)符;利用秘密密鑰和種子來盲化該行中的私密關(guān)鍵字,以獲得盲化索引集合;通過排列加密的文件標(biāo)識(shí)符、匹配指示符和盲化索引集合,形成盲化索引表的一行。本發(fā)明還提出了相應(yīng)的盲化索引表產(chǎn)生方法。此外,本發(fā)明還提出了一種聯(lián)合關(guān)鍵字搜索方法和設(shè)備。
      文檔編號(hào)G06F21/00GK101859306SQ200910132570
      公開日2010年10月13日 申請(qǐng)日期2009年4月7日 優(yōu)先權(quán)日2009年4月7日
      發(fā)明者曾珂, 福島俊一 申請(qǐng)人:日電(中國(guó))有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1