專利名稱:基于云數(shù)據(jù)外包系統(tǒng)的高效可驗(yàn)證的模糊關(guān)鍵詞搜索方法
技術(shù)領(lǐng)域:
本發(fā)明屬于云計(jì)算安全領(lǐng)域,涉及外包計(jì)算和可搜索加密,具體地說(shuō)是提出了一種新的可驗(yàn)證的模糊關(guān)鍵詞搜索方案,可用于實(shí)現(xiàn)云計(jì)算中對(duì)密文安全而有效地進(jìn)行關(guān)鍵詞搜索。
背景技術(shù):
隨著云計(jì)算的流行,存儲(chǔ)外包已經(jīng)被廣泛的用于降低數(shù)據(jù)維護(hù)或備份成本。通過(guò)外包數(shù)據(jù)到云端,數(shù)據(jù)擁有者可以獲得高質(zhì)量的數(shù)據(jù)存儲(chǔ)服務(wù),同時(shí)降低了數(shù)據(jù)存儲(chǔ)和維護(hù)的負(fù)擔(dān)。為了將外包數(shù)據(jù)安全地存儲(chǔ)在不被信任的云服務(wù)器上,敏感數(shù)據(jù)在外包前必須進(jìn)行加密。然而,這樣就使得數(shù)據(jù)擁有者想要在服務(wù)器上有效地搜索加密的數(shù)據(jù)變得非常棘手。由于需要龐大的通信和計(jì)算代價(jià),下載整個(gè)數(shù)據(jù)庫(kù)進(jìn)行解密顯然是不切實(shí)際的。此夕卜,數(shù)據(jù)擁有者可能將自己的外包數(shù)據(jù)共享給大量用戶,在一次特定的會(huì)話中,單個(gè)用戶可能只想要檢索某些特定的自己感興趣的數(shù)據(jù)。這就需要在不解密數(shù)據(jù)和泄露數(shù)據(jù)保密性的前提下,實(shí)現(xiàn)服務(wù)器對(duì)加密數(shù)據(jù)的搜索。一種常用的解決方法是可搜索加密,它能夠通過(guò)關(guān)鍵詞搜索來(lái)為用戶返回所需要的文檔。當(dāng)然,關(guān)鍵詞的隱私必須被有效地保護(hù),因?yàn)殛P(guān)鍵詞包含了數(shù)據(jù)文件的重要信息。雖然目前有許多可搜索加密方案可以在不解密情況下實(shí)現(xiàn)安全而高效地搜索功能,但是其大多數(shù)都是基于對(duì)稱可搜索加密方案的。并且方案中的云服務(wù)器被認(rèn)為是可信但是好奇的。也就是說(shuō),服務(wù)器忠實(shí)地執(zhí)行所有的搜索操作并且返回所有的搜索結(jié)果,但是它也試圖挖掘加密數(shù)據(jù)的潛在信息??紤]到服務(wù)器為了節(jié)省自己的計(jì)算量和帶寬可能是自私的。另外有一種稱為半可信但好奇的服務(wù)器模型,在這種模型下,服務(wù)器可能只執(zhí)行一小部分的搜索操作并且返回搜索結(jié)果的一部分內(nèi)容。Chai等人首次提出了這個(gè)問(wèn)題,并且給出了一個(gè)可驗(yàn)證的關(guān)鍵詞搜索方案。然而,這個(gè)方案只支持精確關(guān)鍵詞搜索。在2010年,Li等人提出了一個(gè)基于密文的模糊關(guān)鍵字搜索方案,但是其中并沒(méi)有考慮關(guān)鍵詞搜索的可驗(yàn)證性的問(wèn)題。
發(fā)明內(nèi)容
本發(fā)明提供一種基于云數(shù)據(jù)外包系統(tǒng)的高效可驗(yàn)證的模糊關(guān)鍵詞搜索方法,通過(guò)云數(shù)據(jù)外包系統(tǒng)結(jié)合符號(hào)樹提出了一種新的可驗(yàn)證的模糊關(guān)鍵詞搜索方案,它不僅支持模糊關(guān)鍵詞搜索,并且能夠?qū)λ阉鹘Y(jié)果進(jìn)行驗(yàn)證。為實(shí)現(xiàn)上述目的,本發(fā)明的技術(shù)方案為
一種基于云數(shù)據(jù)外包系統(tǒng)的高效可驗(yàn)證的模糊關(guān)鍵詞搜索方法,首先構(gòu)造云數(shù)據(jù)外包系統(tǒng),該云數(shù)據(jù)外包系統(tǒng)包含數(shù)據(jù)擁有者,授權(quán)用戶以及云服務(wù)器,其中數(shù)據(jù)擁有者有一個(gè)存儲(chǔ)在云服務(wù)器上的由*個(gè)加密
數(shù)據(jù)文檔組成的集合和精確關(guān)鍵字集合,,云服務(wù)器能夠?yàn)槭跈?quán)用戶提供加密文檔集上的模糊關(guān)鍵詞搜索服務(wù),并且數(shù)據(jù)所有者和授權(quán)用戶之間的已分配各自對(duì)應(yīng)的權(quán)限,當(dāng)需要進(jìn)行模糊關(guān)鍵詞搜索時(shí),進(jìn)入初始化階段,該初始化階段通過(guò)數(shù)據(jù)擁有者操作本地服務(wù)器上的密鑰生成模塊生成索引生成密鑰S*和加密密鑰i,以及數(shù)據(jù)擁有者操作索引建立模塊創(chuàng)建索引,接著為了搜索包含精確關(guān)鍵詞集JT的文件,授權(quán)用戶操作本地服務(wù)器上的陷門生成模塊生成精確關(guān)鍵詞集 Τ中對(duì)應(yīng)的模糊關(guān)鍵詞集中的所有模糊關(guān)鍵詞
w的陷門集&,并將該陷門集& =漱發(fā)送給云服務(wù)器,這樣當(dāng)云服務(wù)器
接收到搜索請(qǐng)求后,云服務(wù)器啟動(dòng)搜索模塊在索引樹Gp上執(zhí)行搜索,并返回包含給定所有模糊關(guān)鍵詞w的所有文檔的地址集^^和證據(jù)集ProofSet,最后由授權(quán)用戶操作本地服務(wù)
器上的驗(yàn)證模塊用來(lái)檢驗(yàn)是否云服務(wù)器是誠(chéng)實(shí)的,如果通過(guò)驗(yàn)證則表示模糊關(guān)鍵詞搜索成功且服務(wù)器是誠(chéng)實(shí)的,否則表示模糊關(guān)鍵詞搜索失敗且服務(wù)器是不誠(chéng)實(shí)的。所述的云服務(wù)器在半誠(chéng)實(shí)模式下工作,即所述的云服務(wù)器不以預(yù)先提出的協(xié)議工作,而是只執(zhí)行預(yù)設(shè)的部分操作或者只返回預(yù)設(shè)的部分搜索結(jié)果,并且云服務(wù)器分析預(yù)先 提出的協(xié)議執(zhí)行過(guò)程中的信息流以便獲得額外的信息。所述的密鑰生成模塊生成索引生成密鑰s*和加密密鑰的方法是采用隨機(jī)密鑰生成算法,該隨機(jī)密鑰生成算法用一個(gè)安全參數(shù)Λ作為輸入。所述的數(shù)據(jù)擁有者操作索引建立模塊創(chuàng)建索弓I的方式為利用索引創(chuàng)建算法將索引生成密鑰化和文檔集合C的精確關(guān)鍵詞集F作為輸入,輸出文檔集合σ的符號(hào)樹Gr。所述的生成精確關(guān)鍵詞隼τ中對(duì)應(yīng)的所有模糊關(guān)鍵詞w的陷門集方式為用索引生成密鑰&和模糊關(guān)鍵詞集作為輸入,輸出陷門集& =佩,4。所述的云服務(wù)器啟動(dòng)搜索模塊在索引樹Gp上執(zhí)行搜索采用文檔集合σ的符號(hào)樹Gf和模糊關(guān)鍵詞集的陷門集% =/C^wi)作為輸入。所述的由授權(quán)用戶操作本地服務(wù)器上的驗(yàn)證模塊采用加密密鑰*和證據(jù)集ProofSet作為輸入,并利用偽隨機(jī)函數(shù)的特性來(lái)檢驗(yàn)云服務(wù)器是否誠(chéng)實(shí)。通過(guò)構(gòu)造云數(shù)據(jù)外包系統(tǒng),數(shù)據(jù)擁有者操作密鑰生成模塊生成索引生成密鑰 和加密密鑰-以及數(shù)據(jù)擁有者操作索引建立模塊創(chuàng)建索弓丨,授權(quán)用戶操作陷門生成
模塊生成精確關(guān)鍵詞集『中對(duì)應(yīng)的模糊關(guān)鍵詞集Am中的所有模糊關(guān)鍵詞w的陷門集
=/ 沁,并將該陷門集% =/Csfc,w;)發(fā)送給云服務(wù)器,云服務(wù)器啟動(dòng)搜索模塊在索
引樹Gii上執(zhí)行搜索,并返回包含給定所有模糊關(guān)鍵詞w的所有文檔的地址集/ 和證據(jù)集ProofSet,最后由授權(quán)用戶操作驗(yàn)證模塊用來(lái)檢驗(yàn)云服務(wù)器是否誠(chéng)實(shí),如果通過(guò)驗(yàn)證則表示模糊關(guān)鍵詞搜索成功且服務(wù)器是誠(chéng)實(shí)的,否則表示模糊關(guān)鍵詞搜索失敗且服務(wù)器是不誠(chéng)實(shí)的。該方法不僅支持模糊關(guān)鍵詞搜索,并且能夠?qū)λ阉鹘Y(jié)果進(jìn)行驗(yàn)證。并且還能實(shí)現(xiàn)如下目標(biāo)
(I)建立了一個(gè)“高效存儲(chǔ)”的模糊關(guān)鍵詞集。并且設(shè)計(jì)一個(gè)高效的模糊關(guān)鍵詞搜索方
案;(2 )防止服務(wù)器獲得除了搜索模式和訪問(wèn)模式之外的關(guān)于加密數(shù)據(jù)或者檢索關(guān)鍵詞的任何信息;
(3)設(shè)計(jì)高效的可驗(yàn)證的模糊關(guān)鍵詞搜索方案并且能夠讓用戶驗(yàn)證搜索結(jié)果的完整性和正確性。
具體實(shí)施例方式下面通過(guò)實(shí)施例對(duì)本發(fā)明做進(jìn)一步說(shuō)明
基于云數(shù)據(jù)外包系統(tǒng)的高效可驗(yàn)證的模糊關(guān)鍵詞搜索方法,首先構(gòu)造云數(shù)據(jù)外包系統(tǒng),該云數(shù)據(jù)外包系統(tǒng)包含數(shù)據(jù)擁有者,授權(quán)用戶以及云服務(wù)器,其中數(shù)據(jù)擁有者有一個(gè)存儲(chǔ)在云服務(wù)器上的由《個(gè)加密數(shù)據(jù)文檔組成的集合C和精確關(guān)鍵字集合1T這是通過(guò)數(shù)據(jù)擁有者掃描加密文檔C而后建立精確關(guān)鍵詞集 Τ,數(shù)據(jù)擁有者將加密文件外包給服務(wù)器
并且得到每個(gè)文檔的地址,對(duì)于所有包含精確關(guān)鍵詞集JT中的對(duì)應(yīng)精確關(guān)鍵詞Wi 的文件將其地址集記為:4 =網(wǎng)別叫問(wèn))...,||網(wǎng)巧,1為大于等于1的整數(shù),云服務(wù)器
能夠?yàn)槭跈?quán)用戶提供加密文檔集C上的模糊關(guān)鍵詞搜索服務(wù),并且數(shù)據(jù)所有者和授權(quán)用戶之間的已分配各自對(duì)應(yīng)的權(quán)限,該云數(shù)據(jù)外包系統(tǒng)利用一個(gè)基于符號(hào)樹的遍歷搜索方案,即建立一個(gè)多叉樹在有限的符號(hào)集上存儲(chǔ)模糊關(guān)鍵詞集。這個(gè)設(shè)計(jì)結(jié)構(gòu)的主要思想是所有共享一個(gè)前綴的陷門擁有共同的節(jié)點(diǎn)。根節(jié)點(diǎn)與一個(gè)空集合相關(guān),陷門中的符號(hào)能夠通過(guò)從根節(jié)點(diǎn)到葉子節(jié)點(diǎn)的搜索被還原。所有的模糊關(guān)鍵詞都能夠通過(guò)深度優(yōu)先搜索在樹中被
找到。設(shè)定Δ = 是預(yù)先定義的符號(hào)集,不同的符號(hào)數(shù)共有|Δ|=2Κ個(gè)。并且每一個(gè)符號(hào)
能夠用比特來(lái)表示,為大于等于I的整數(shù)。當(dāng)需要進(jìn)行模糊關(guān)鍵詞搜索時(shí),進(jìn)入初始化階段,該初始化階段通過(guò)數(shù)據(jù)擁有者操作本地服務(wù)器上的密鑰生成模塊生成索引生成密鑰Λ和加密密鑰*,以及數(shù)據(jù)擁有者操作索引建立模塊創(chuàng)建索引,接著為了搜索包含精確關(guān)鍵詞集Ir的文件,授權(quán)用戶操作本地服務(wù)器上的陷門生成模塊生成精確關(guān)鍵詞集,中對(duì)應(yīng)的模糊關(guān)鍵詞集中的所有模糊關(guān)鍵詞W,而模糊關(guān)鍵詞集根據(jù)預(yù)先設(shè)定的編輯距離d,編輯距離d為兩個(gè)單詞之間相似度的度量,兩個(gè)單詞W1及《2之間的編輯距離就是將其中任何一個(gè)轉(zhuǎn)換成另一個(gè)所需的操作
數(shù),一共有三種元操作(I)替換將單詞中的一個(gè)字母替換成另一個(gè)字母;(2)刪除刪除單詞中的一個(gè)字母;(3)插入在單詞中插入一個(gè)字母,編輯距離d的值為整數(shù)。通過(guò)下述步驟完成生成
第一步首先將本地服務(wù)器中的模糊關(guān)鍵詞集存儲(chǔ)單元設(shè)置為空值集合;第二步當(dāng)預(yù)先設(shè)定的編輯距離V大于或等于I時(shí),本地服務(wù)器以對(duì)編輯距離V遞減I方式逐次循環(huán)生成模糊關(guān)鍵詞集,并將模糊關(guān)鍵詞集的值填充到模糊關(guān)鍵詞集Swj對(duì)應(yīng)的存儲(chǔ)單元中,直到編輯距離d的值為O ;
第三步當(dāng)預(yù)先設(shè)定的編輯距離V的值為O時(shí),本地服務(wù)器就將設(shè)定的精確關(guān)鍵詞集w的值直接填充入模糊關(guān)鍵詞集SVi存儲(chǔ)單元中;
第四步當(dāng)預(yù)先設(shè)定的編輯距離J的值小于ο時(shí),本地服務(wù)器將第一臨時(shí)整型存儲(chǔ)變量單元I的值從初值I逐次遞增I直到模糊關(guān)鍵詞集Swi內(nèi)元素個(gè)數(shù)為止作為外層循環(huán)
體,而將第二臨時(shí)整型存儲(chǔ)變量單元J的值從初值I逐次遞增I直到模糊關(guān)鍵詞集Sf1M內(nèi)對(duì)應(yīng)的第一臨時(shí)整型存儲(chǔ)變量單元i的值位置上的元素個(gè)數(shù)的雙倍加I為止作為內(nèi)層循環(huán)體,在這內(nèi)層循環(huán)體和外層循環(huán)體控制下,在當(dāng)?shù)诙R時(shí)整型存儲(chǔ)變量單元/的值為奇數(shù)時(shí),模糊關(guān)鍵詞集Am內(nèi)對(duì)應(yīng)的第一臨時(shí)整型存儲(chǔ)變量單元i的值位置上的元素個(gè)數(shù)填充到第三臨時(shí)整型存儲(chǔ)變量單元% 夕中,并且將通配符*填充到模糊關(guān)鍵詞集內(nèi)對(duì)應(yīng)的第一臨時(shí)整型存儲(chǔ)變量單元的值位置上的元素的對(duì)應(yīng)的第二臨時(shí)整型存儲(chǔ)變量單元J的值加I除以2之商值的序列位置上;在當(dāng)?shù)诙R時(shí)整型存儲(chǔ)變量單元J的值為偶數(shù)時(shí),將模糊關(guān)鍵詞集Sim內(nèi)對(duì)應(yīng)的第一臨時(shí)整型存儲(chǔ)變量單元t的值位置上的元素個(gè)數(shù)填充到第三臨時(shí)整型存儲(chǔ)變量單中,并且將通配符*填充到模糊關(guān)鍵詞集內(nèi)對(duì)應(yīng) 的第一臨時(shí)整型存儲(chǔ)變量單元、的值位置上的元素的對(duì)應(yīng)的第二臨時(shí)整型存儲(chǔ)變量單元J的值除以2之商值的序列位置上。這樣就利用通配符技術(shù)來(lái)建立起了模糊關(guān)鍵詞集。我們用一個(gè)通配符*表示同一個(gè)位置上的所有編輯操作,精確關(guān)鍵詞瑪?shù)幕谕ㄅ浞揖庉?br>
距尚為Or的|旲糊關(guān)鍵詞集用符號(hào)表不為= {' ■ -^WtJ }其中SviJ表不與精確關(guān)
鍵詞A距離為d的關(guān)鍵詞集合。以此通過(guò)該模糊關(guān)鍵詞集Sim中的所有模糊關(guān)鍵同 生成陷門集^ =/(·;)
,并將該陷門集發(fā)送給云服務(wù)器,這樣當(dāng)云服務(wù)器接收到搜索請(qǐng)求后,云服務(wù)器啟動(dòng)搜索模塊在索引樹Gir上執(zhí)行搜索,并返回包含給定所有模糊關(guān)鍵詞W的所有文檔的地址集或證據(jù)集ProofSet,最后由授權(quán)用戶操作本地服務(wù)器上的驗(yàn)證模塊用來(lái)檢
驗(yàn)是否云服務(wù)器是誠(chéng)實(shí)的,如果通過(guò)驗(yàn)證則表示模糊關(guān)鍵詞搜索成功,否則表示模糊關(guān)鍵詞搜索失敗。所述的云服務(wù)器在半誠(chéng)實(shí)模式下工作,即所述的云服務(wù)器不以預(yù)先提出的協(xié)議工作,而是只執(zhí)行預(yù)設(shè)的部分操作或者只返回預(yù)設(shè)的部分搜索結(jié)果,并且云服務(wù)器分析預(yù)先提出的協(xié)議執(zhí)行過(guò)程中的信息流以便獲得額外的信息。所述的密鑰生成模塊生成索引生成密鑰歡和加密密鑰I的方法是采用隨機(jī)密鑰生成算法,該隨機(jī)密鑰生成算法用一個(gè)安全參數(shù)J作為輸入。所述的數(shù)據(jù)擁有者操作索引建立模塊創(chuàng)建索引的方式為利用索引創(chuàng)建算法將索引生成密鑰政和文檔集合Ci的精確關(guān)鍵詞集 Τ作為輸入,輸出文檔集合的符號(hào)樹Gfr,即數(shù)據(jù)擁有者建立一個(gè)包含所有模糊關(guān)鍵詞的樹Gw ,樹中的每一個(gè)節(jié)點(diǎn)包含兩個(gè)元組(H) , r0存的是符號(hào)i存的是偽隨機(jī)函數(shù)值巧, path包含了從根節(jié)點(diǎn)到目前節(jié)點(diǎn)的符號(hào)序列,為長(zhǎng)為2"的比特串,代表著子節(jié)點(diǎn)集,數(shù)據(jù)擁有者將pAij和CJm,連接在一起,本地服務(wù)器將符號(hào)樹C w和加密文件外包給云服務(wù)
器,并且授權(quán)用戶通過(guò)本地服務(wù)器暫時(shí)存儲(chǔ)陷門集&:掀,以便用于后面的驗(yàn)證。所述的生成精確關(guān)鍵詞隼τ中對(duì)應(yīng)的所有模糊關(guān)鍵詞W的陷門集方式為用索引生成密鑰和模糊關(guān)鍵詞集作為輸入,輸出陷門集& =/(&,¥),即數(shù)據(jù)擁有者用索
引生成密鑰忒為每一個(gè)模糊關(guān)鍵詞W'e建立陷門集4 =/(歡¥),然后將hash值分為一個(gè)I長(zhǎng)的符號(hào)序列集%,%,...,,其中/是單向函數(shù)/⑴的輸出長(zhǎng)度,'為對(duì)應(yīng)的模糊關(guān)鍵詞W的陷門集。所述的云服務(wù)器啟動(dòng)搜索模塊在索引樹Gir上執(zhí)行搜索采用文檔集合的符號(hào)樹Gfr和模糊關(guān)鍵詞集^^的陷門集& =f(sk,w;)作為輸入,即采用下列流程最后得到證據(jù)集ProofSet和文檔地址集IDSet ; 第一步首先云服務(wù)器將第四臨時(shí)整型存儲(chǔ)變量單元 的值從初值I逐次遞增I直到
陷門集^ =她 內(nèi)元素個(gè)數(shù)為止作為外循環(huán)體,外循環(huán)體內(nèi)設(shè)置當(dāng)前節(jié)點(diǎn)為文檔集合
的符號(hào)樹Gfr的根節(jié)點(diǎn);
第二步接著外循環(huán)體繼續(xù)執(zhí)行云服務(wù)器將臨時(shí)節(jié)點(diǎn)類型存儲(chǔ)變量單元currentnode的初值設(shè)定為符號(hào)樹的根節(jié)點(diǎn);
第三步云服務(wù)器將第五臨時(shí)整型存儲(chǔ)變量單元J1的值從初值I逐次遞增I直到I1/H1作為內(nèi)循環(huán)體,內(nèi)循環(huán)體內(nèi)依次運(yùn)行將氣的值置入第一臨時(shí)符號(hào)存儲(chǔ)變量單元α中,
I1是輸出單向函數(shù)的長(zhǎng)度,Ii1是每個(gè)字符代表的長(zhǎng)度、表示陷門集'& =/C£i-wi)中第
彳個(gè)陷門中的符號(hào)序列中的第I個(gè)符號(hào)值,如果臨時(shí)節(jié)點(diǎn)類型存儲(chǔ)變量單元currentnode
中不包含為第一臨時(shí)符號(hào)存儲(chǔ)變量單元《值的節(jié)點(diǎn),將臨時(shí)節(jié)點(diǎn)類型存儲(chǔ)變量單元currentnode的證據(jù)Proof值添加到證據(jù)集ProofSet中,隨后跳出內(nèi)循環(huán)體;
第四步內(nèi)循環(huán)體結(jié)束后,云服務(wù)器設(shè)置臨時(shí)節(jié)點(diǎn)類型存儲(chǔ)變量單元currentnode的值為包含第一臨時(shí)符號(hào)存儲(chǔ)變量單元G值的子節(jié)點(diǎn),如果臨時(shí)節(jié)點(diǎn)類型存儲(chǔ)變量單元currentnode是葉子節(jié)點(diǎn),將臨時(shí)節(jié)點(diǎn)類型存儲(chǔ)變量單元currentnode的證據(jù)Proof值添加到證據(jù)集ProofSet中,以及將臨時(shí)節(jié)點(diǎn)類型存儲(chǔ)變量單元currentnode的文件驗(yàn)證值ID添加到文件驗(yàn)證IDSet中,隨后導(dǎo)出證據(jù)集ProofSet和文檔地址集IDSet。所述的由授權(quán)用戶操作本地服務(wù)器上的驗(yàn)證模塊采用加密密鑰和證據(jù)集
ProofSet作為輸入,并利用偽隨機(jī)函數(shù)的特性來(lái)檢驗(yàn)云服務(wù)器是否誠(chéng)實(shí),即根據(jù)符號(hào)樹OW中的每個(gè)節(jié)點(diǎn)有一個(gè)獨(dú)一無(wú)二的值,稱之為證據(jù),由于符號(hào)樹Gfr的結(jié)構(gòu),每個(gè)節(jié)點(diǎn)的路徑是唯一的,如果沒(méi)有加密密鑰I攻擊者無(wú)法偽造一個(gè)有效的證據(jù)。數(shù)據(jù)擁有者與所有授權(quán)用戶共享這個(gè)加密密鑰I授權(quán)用戶能夠通過(guò)重建證據(jù)來(lái)驗(yàn)證數(shù)據(jù)的正確性,具體驗(yàn)證過(guò)程如下
(O當(dāng)搜索成功時(shí),首先,授權(quán)用戶利用文檔地址集來(lái)驗(yàn)證搜索結(jié)果的完整性,
授權(quán)用戶導(dǎo)出一個(gè)&(/£g,驗(yàn)證&(/4·)是否和返回的&(/久·)相等,其中/久·是用戶收到
的級(jí)聯(lián)地址,如果相等,授權(quán)用戶用證據(jù)集ProofSet來(lái)檢查搜索結(jié)果的正確性。如果不相等,則授權(quán)用戶認(rèn)為云服務(wù)器是不誠(chéng)實(shí)的。(2)當(dāng)搜索不成功時(shí),授權(quán)用戶直接檢查搜索結(jié)果的正確性,包含以下兩個(gè)步驟 授權(quán)用戶檢查是否Fk{paih Ilmem) = Fk(^aik,如果不相等,授權(quán)用戶認(rèn)為云服務(wù)
器是不誠(chéng)實(shí)的。 如果上步通過(guò),授權(quán)用戶檢查是否。如果不相等,則認(rèn)
為云服務(wù)器是不誠(chéng)實(shí)的,其中表示一個(gè)hash值,其中p表示一個(gè)hash函數(shù),F(xiàn)k(path llmera)表示一個(gè)偽隨機(jī)函數(shù)值,即hash函數(shù)值,path表示從根節(jié)點(diǎn)到當(dāng)前節(jié)點(diǎn)的路徑上的符號(hào)序列,mem是一個(gè)長(zhǎng)度為2:B的比特串表示一個(gè)偽隨機(jī)函數(shù)值,
即hash函數(shù)值歷,w是服務(wù)器返回的path | | mem值,n為整數(shù)值。通過(guò)本發(fā)明的基于云數(shù)據(jù)外包系統(tǒng)的高效可驗(yàn)證的模糊關(guān)鍵詞搜索方法,經(jīng)由與和可驗(yàn)證的對(duì)稱可搜索加密方案的性能對(duì)比,得出如下表I所示的結(jié)果,其中N是搜索關(guān)鍵詞的總數(shù)
權(quán)利要求
1.一種基于云數(shù)據(jù)外包系統(tǒng)的高效可驗(yàn)證的模糊關(guān)鍵詞搜索方法,其特征在于首先構(gòu)造云數(shù)據(jù)外包系統(tǒng),該云數(shù)據(jù)外包系統(tǒng)包含數(shù)據(jù)擁有者,授權(quán)用戶以及云服務(wù)器,其中數(shù)據(jù)擁有者有一個(gè)存儲(chǔ)在云服務(wù)器上的由η個(gè)加密數(shù)據(jù)文檔組成的集合C和精確關(guān)鍵字集合iF,云服務(wù)器能夠?yàn)槭跈?quán)用戶提供加密文檔隼上的模糊關(guān)鍵詞搜索服務(wù),并且數(shù)據(jù)所有者和授權(quán)用戶之間的已分配各自對(duì)應(yīng)的權(quán)限,當(dāng)需要進(jìn)行模糊關(guān)鍵詞搜索時(shí),進(jìn)入初始化階段,該初始化階段通過(guò)數(shù)據(jù)擁有者操作本地服務(wù)器上的密鑰生成模塊生成索引生成密鑰政和加密密鑰t,以及數(shù)據(jù)擁有者操作索引建立模塊創(chuàng)建索引,接著為了搜索包含精確關(guān)鍵詞集W的文件,授權(quán)用戶操作本地服務(wù)器上的陷門生成模塊生成精確關(guān)鍵詞隼J中對(duì)應(yīng)的模糊關(guān)鍵詞集中的所有模糊關(guān)鍵詞w的陷門集& =/(呔4),并將該陷門集& = JKw;)發(fā)送給云服務(wù)器,這樣當(dāng)云服務(wù)器接收到搜索請(qǐng)求后,云服務(wù)器啟動(dòng)搜索模塊在索引樹Gir上執(zhí)行搜索,并返回包含給定所有模糊關(guān)鍵詞w的所有文檔的地址集隊(duì)和證據(jù)集ProofSet,最后由授權(quán)用戶操作本地服務(wù)器上的驗(yàn)證模塊用來(lái)檢驗(yàn)是否云服務(wù)器是誠(chéng)實(shí)的,如果通過(guò)驗(yàn)證則表示模糊關(guān)鍵詞搜索成功且服務(wù)器是誠(chéng)實(shí)的,否則表示模糊關(guān)鍵詞搜索失敗且服務(wù)器是不誠(chéng)實(shí)的。
2.根據(jù)權(quán)利要求I所述的基于云數(shù)據(jù)外包系統(tǒng)的高效可驗(yàn)證的模糊關(guān)鍵詞搜索方法,其特征在于所述的云服務(wù)器在半誠(chéng)實(shí)模式下工作,即所述的云服務(wù)器不以預(yù)先提出的協(xié)議工作,而是只執(zhí)行預(yù)設(shè)的部分操作或者只返回預(yù)設(shè)的部分搜索結(jié)果,并且云服務(wù)器分析預(yù)先提出的協(xié)議執(zhí)行過(guò)程中的信息流以便獲得額外的信息。
3.根據(jù)權(quán)利要求I或權(quán)利要求2所述的基于云數(shù)據(jù)外包系統(tǒng)的高效可驗(yàn)證的模糊關(guān)鍵詞搜索方法,其特征在于根據(jù)所述的密鑰生成模塊生成索引生成密鑰決和加密密鑰走的方法是采用隨機(jī)密鑰生成算法,該隨機(jī)密鑰生成算法用一個(gè)安全參數(shù);!作為輸入。
4.根據(jù)權(quán)利要求3所述的基于云數(shù)據(jù)外包系統(tǒng)的高效可驗(yàn)證的模糊關(guān)鍵詞搜索方法,其特征在于所述的數(shù)據(jù)擁有者知作索引建立模塊創(chuàng)建索引的方式為利用索引創(chuàng)建算法將索引生成密鑰Λ和文檔集合的精確關(guān)鍵詞集 Τ作為輸入,輸出文檔集合的符號(hào)樹Gfr。
5.根據(jù)權(quán)利要求4所述的基于云數(shù)據(jù)外包系統(tǒng)的高效可驗(yàn)證的模糊關(guān)鍵詞搜索方法,其特征在于所述的生成精確關(guān)鍵詞隼I中對(duì)應(yīng)的所有模糊關(guān)鍵詞w的陷門集方式為用索引生成密鑰歡和模糊關(guān)鍵詞集公作為輸入,輸出陷門集&丨=/ _)。
6.根據(jù)權(quán)利要求5所述的基于云數(shù)據(jù)外包系統(tǒng)的高效可驗(yàn)證的模糊關(guān)鍵詞搜索方法,其特征在于所述的云服務(wù)器啟動(dòng)搜索模塊在索引樹Gir上執(zhí)行搜索采用文檔集合的符號(hào)樹%和模糊關(guān)鍵詞集的陷門集 ;丨=/(^)作為輸入。
7.根據(jù)權(quán)利要求6所述的基于云數(shù)據(jù)外包系統(tǒng)的高效可驗(yàn)證的模糊關(guān)鍵詞搜索方法,其特征在于所述的由授權(quán)用戶操作本地服務(wù)器上的驗(yàn)證模塊采用加密密鑰和證據(jù)集ProofSet作為輸入,并利用偽隨機(jī)函數(shù)的特性來(lái)檢驗(yàn)云服務(wù)器是否誠(chéng)實(shí)。
全文摘要
一種基于云數(shù)據(jù)外包系統(tǒng)的高效可驗(yàn)證的模糊關(guān)鍵詞搜索方法,通過(guò)構(gòu)造云數(shù)據(jù)外包系統(tǒng),數(shù)據(jù)擁有者操作密鑰生成模塊生成索引生成密鑰和加密密鑰,以及數(shù)據(jù)擁有者操作索引建立模塊創(chuàng)建索引,授權(quán)用戶操作陷門生成模塊生成精確關(guān)鍵詞集中對(duì)應(yīng)的模糊關(guān)鍵詞集中的所有模糊關(guān)鍵詞的陷門集,并將該陷門集發(fā)送給云服務(wù)器,云服務(wù)器啟動(dòng)搜索模塊在索引樹上執(zhí)行搜索,并返回包含給定所有模糊關(guān)鍵詞的所有文檔的地址集和證據(jù)集ProofSet,最后由授權(quán)用戶操作驗(yàn)證模塊用來(lái)檢驗(yàn)是否云服務(wù)器是誠(chéng)實(shí)的,如果通過(guò)驗(yàn)證則表示模糊關(guān)鍵詞搜索成功且服務(wù)器是誠(chéng)實(shí)的,否則表示模糊關(guān)鍵詞搜索失敗且服務(wù)器是不誠(chéng)實(shí)的。該方法不僅支持模糊關(guān)鍵詞搜索,并且能夠?qū)λ阉鹘Y(jié)果進(jìn)行驗(yàn)證。
文檔編號(hào)H04L29/06GK102938767SQ20121045239
公開(kāi)日2013年2月20日 申請(qǐng)日期2012年11月13日 優(yōu)先權(quán)日2012年11月13日
發(fā)明者王劍鋒, 黨曉, 陳曉峰, 朱輝, 馬華 申請(qǐng)人:西安電子科技大學(xué)