付 偉,李墨泚,趙華容,吳 勇
(1.海軍工程大學(xué)信息安全系,湖北 武漢 430033;2.海軍密碼管理中心,北京 100841)
云存儲(chǔ)(Cloud Storage)[1]是在云計(jì)算(Cloud Computing)[2]概念上延伸和發(fā)展出來的一種新興網(wǎng)絡(luò)存儲(chǔ)技術(shù)。它采用網(wǎng)格技術(shù)、分布式文件系統(tǒng)、集群應(yīng)用、虛擬化等功能,用軟件來控制網(wǎng)絡(luò)中大規(guī)模異構(gòu)存儲(chǔ)設(shè)備,并向遠(yuǎn)程用戶提供按需服務(wù)的海量數(shù)據(jù)存儲(chǔ)、訪問和處理功能[3]。云存儲(chǔ)大大節(jié)約了存儲(chǔ)硬件和軟件開銷,減少了維護(hù)人員投入,具有低成本、高利用率等突出優(yōu)點(diǎn)。同時(shí),專業(yè)的云存儲(chǔ)服務(wù)提供商具有普通用戶無法比擬的技術(shù)和管理水平,可以為用戶提供更好的冗余備份、災(zāi)難恢復(fù)等數(shù)據(jù)安全服務(wù)。
為了防止隱私泄露,用戶通常選擇將數(shù)據(jù)加密后再上傳至云存儲(chǔ)平臺(tái),由自己保管解密密鑰,例如政府文件、全民醫(yī)療健康數(shù)據(jù)、企業(yè)商業(yè)機(jī)密相關(guān)文件、個(gè)人隱私數(shù)據(jù)等。然而,經(jīng)過加密處理后的數(shù)據(jù)會(huì)失去原始明文所具有的一些特性,如有序性、相似性等,導(dǎo)致傳統(tǒng)基于明文的檢索方案在加密云存儲(chǔ)系統(tǒng)中無法正常工作。為此,研究人員提出基于密文的安全檢索問題。技術(shù)思想主要分為兩類:第一類是基于索引文件的檢索方法[4 - 6],第二類是基于匹配的檢索方法[7 - 10]。然而,這兩種方法或者需要維護(hù)復(fù)雜的索引結(jié)構(gòu),或者檢索效率較低,難以滿足云存儲(chǔ)環(huán)境下對(duì)海量密文數(shù)據(jù)的檢索需要。
同態(tài)加密是一種可以直接對(duì)密文數(shù)據(jù)進(jìn)行處理的加密方法[11 - 14],可以在有效保護(hù)用戶敏感數(shù)據(jù)隱私性的前提下直接對(duì)密文實(shí)施加法和乘法等同態(tài)操作,并在操作的同時(shí)保持該密文對(duì)應(yīng)的明文順序。但是,同態(tài)加密方案需要極大的計(jì)算開銷。如何設(shè)計(jì)運(yùn)算開銷較小、方便索引的同態(tài)密文檢索方案是當(dāng)前研究的難點(diǎn)。
本文針對(duì)云存儲(chǔ)數(shù)據(jù)管理需求提出一種面向密文存儲(chǔ)與檢索的云存儲(chǔ)模型,并在基于整數(shù)的同態(tài)加密方案基礎(chǔ)上設(shè)計(jì)了一種新型加密方案,提出一種新型基于同態(tài)加密的密文檢索CRSHE(Ciphertext Retrieval Scheme based on Homomorphic Encryption)。
隨著云存儲(chǔ)應(yīng)用領(lǐng)域的不斷拓展,針對(duì)密文數(shù)據(jù)檢索的研究成為當(dāng)前研究的熱點(diǎn)之一。目前,針對(duì)加密數(shù)據(jù)的檢索技術(shù)主要分為兩類:
第一類是基于索引文件的檢索方法,即為關(guān)鍵詞建立安全索引,通過檢索索引查詢關(guān)鍵詞是否存在,判斷加密數(shù)據(jù)中是否包含檢索關(guān)鍵詞。Boneh等[4]基于雙線性映射提出一種可檢索的公鑰加密方案SPKE(Searchable Public Key Encryption),但每次檢索時(shí)服務(wù)器都需要對(duì)加密數(shù)據(jù)文件進(jìn)行線性掃描,以獲得檢索結(jié)果,查詢效率較低。Goh[5]提出使用Bloom filters構(gòu)造文件的索引,但存在一定的錯(cuò)判率。為了獲取更高效的搜索性能,Chang等[6]為整個(gè)文件集合建立一個(gè)單一的加密Hash表索引,但是這種基于詞頻的方案查詢會(huì)大大增加服務(wù)器端的開銷。
第二類是基于匹配的檢索方法,即通過逐一掃描加密后的數(shù)據(jù)文件,從中尋找與檢索關(guān)鍵詞匹配的單詞,從而定位出所需要的文件。Song等[7]提出了一種可檢索的序列加密方法,其線性搜索方案實(shí)質(zhì)上是一次一密的加密信息檢索算法,抗統(tǒng)計(jì)分析的能力不足,且逐次匹配密文信息使得這種檢索方法在大數(shù)據(jù)集、特別是多關(guān)鍵詞查詢時(shí)計(jì)算量巨大。Goh[5]提出一種基于安全索引的檢索方案,但其索引結(jié)構(gòu)構(gòu)建和維護(hù)開銷較大。此外,Lin 等[8]提出一種基于通配符(Wildcard-based)的云端加密數(shù)據(jù)的模糊關(guān)鍵詞檢索技術(shù),部分解決了模糊密文檢索問題,但是需要語義庫的支持。Boneh等[9]提出一種基于公鑰加密的關(guān)鍵詞查找方案PEKS(Public-key Encryption with Keywork Search),但是該方案需要將查詢對(duì)象和查詢關(guān)鍵詞逐個(gè)比對(duì),不適合于數(shù)據(jù)量大、檢索范圍不確定的加密文本檢索。
此外,研究人員還提出基于可搜索加密的檢索方法,即通過設(shè)計(jì)特殊的加密機(jī)制,利用陷門信息對(duì)密文直接執(zhí)行搜索操作。1978年,Rivest等[10]首次提出同態(tài)加密的概念,但是直到2009年才由IBM的Gentry從數(shù)學(xué)上提出了全同態(tài)加密的可行方法[11]。隨后他又和他人合作提出了兩個(gè)整數(shù)上的全同態(tài)加密方案DGHV[12]和CAFED[13]。然而這三種方案的效率非常低下,都需要增加上萬億倍的運(yùn)算量。Byun等[14]提出一種基于雙線性對(duì)的檢索方案,需要對(duì)每個(gè)文件計(jì)算雙線性對(duì),并不適合大量文件的云應(yīng)用環(huán)境。Cash等[15]提出一種同時(shí)支持布爾查詢和海量數(shù)據(jù)的方案,但該方案不能保證陷門的不可關(guān)聯(lián)性。Chang等[16]在可搜索對(duì)稱加密的安全定義基礎(chǔ)上給出了一種基于模擬的安全性定義,但該定義不能抵御敵手進(jìn)行適應(yīng)性詢問后的攻擊。
在國內(nèi),蔡克等[17]提出了一種基于單斷言的安全密文區(qū)間檢索方案。該方案提供了一種唯密文條件下的區(qū)間密文檢索方法,安全性較好、效率較高。但是,其密文區(qū)間檢索方案限于唯密文的場(chǎng)景,對(duì)于服務(wù)器了解敏感數(shù)據(jù)相關(guān)背景或服務(wù)器了解部分索引與敏感數(shù)據(jù)的對(duì)應(yīng)關(guān)系等場(chǎng)景均未涉及。宋偉等[18]基于B+樹構(gòu)建了一種安全密文全文索引結(jié)構(gòu),并在此基礎(chǔ)上提出一種基于密文的全文檢索方案Mimir,可以有效地抵御已知明文攻擊、選擇明文攻擊和詞頻統(tǒng)計(jì)攻擊。Li等[19]提出一種改進(jìn)的基于整數(shù)同態(tài)加密的密文檢索方案,可實(shí)現(xiàn)單關(guān)鍵字的密文檢索。該方案對(duì)基于整數(shù)的同態(tài)加密算法進(jìn)行了簡(jiǎn)化,服務(wù)器能夠以較小代價(jià)破解獲得密鑰,故安全性有待加強(qiáng)。
傳統(tǒng)密文檢索技術(shù)雖然能夠初步滿足查全率和查準(zhǔn)率的需求,但是檢索效率普遍不高,也不能滿足多關(guān)鍵詞查詢和結(jié)果排序等要求。與上述方案相比,本文提出的基于全同態(tài)加密的密文檢索機(jī)制基于同態(tài)加密機(jī)制,并添加偽隨機(jī)噪聲,可以有效地抵御已知明文攻擊、選擇明文攻擊和詞頻統(tǒng)計(jì)攻擊,能夠保護(hù)使用者的數(shù)據(jù)隱私和檢索關(guān)鍵字安全,并能夠在多關(guān)鍵詞檢索時(shí)提升檢索效率,具有一定的應(yīng)用前景。
CRSHE機(jī)制包括加密方案CRSHE_Enc、解密方案CRSHE_Dec、單關(guān)鍵字檢索方案CRSHE_Rtr和多關(guān)鍵詞檢索方案CRSHE_RMK4個(gè)部分。
通常情況下,云存儲(chǔ)服務(wù)提供方會(huì)忠實(shí)履行服務(wù)承諾,為用戶提供有質(zhì)量保障的存儲(chǔ)服務(wù);它不會(huì)對(duì)用戶上傳的密文數(shù)據(jù)實(shí)施唯密文攻擊破譯或者故意實(shí)施篡改、刪除等攻擊行為。然而,它卻會(huì)有意收集用戶的訪問行為、操作記錄、敏感信息等數(shù)據(jù)。
針對(duì)密文存儲(chǔ)與檢索需求,本文提出一種支持檢索與共享訪問功能分離的云存儲(chǔ)系統(tǒng)模型。該模型包括云存儲(chǔ)系統(tǒng)、數(shù)據(jù)擁有者、數(shù)據(jù)檢索者和數(shù)據(jù)共享者4個(gè)角色,如圖1所示。
Figure 1 A cloud storage model for encrypted data retrieval and sharing圖1 面向密文檢索與共享的云存儲(chǔ)模型
圖1中,云存儲(chǔ)系統(tǒng)為大量用戶管理海量的密文數(shù)據(jù)文件;數(shù)據(jù)擁有者將自己的數(shù)據(jù)加密后上傳至云存儲(chǔ)系統(tǒng),他可以自己檢索或者下載數(shù)據(jù),也可以將檢索權(quán)限和密文共享權(quán)限分別指派給自己的合作者,包括數(shù)據(jù)檢索者和數(shù)據(jù)共享者;數(shù)據(jù)檢索者只能通過關(guān)鍵詞在云存儲(chǔ)中檢索感興趣的密文,但是不能獲得明文;而數(shù)據(jù)共享者則只能對(duì)獲得的密文進(jìn)行解密,但無法執(zhí)行搜索操作。與現(xiàn)有其它模型相比,該模型實(shí)現(xiàn)了搜索和解密功能的分離,更有利于保護(hù)用戶的隱私數(shù)據(jù)。本文所使用的符號(hào)定義如表1所示。
Table 1 Symbol definition表1 本文所用符號(hào)定義表
(1)密鑰生成函數(shù):GenKey(π)→P,Q,g,x。
令π為系統(tǒng)參數(shù)集合,該函數(shù)隨機(jī)生成兩個(gè)安全大素?cái)?shù)P、Q作為密鑰(Q>P);然后尋找ZP的生成元g,并選擇秘密數(shù)x使得gx為有限半群〈ZP,*〉的一個(gè)冪等元。
(2)偽隨機(jī)函數(shù):ψκ(π)→R。
令κ為用戶保管的、數(shù)據(jù)m對(duì)應(yīng)的密鑰,在每次使用加密函數(shù)Encrypt之前,該函數(shù)生成一個(gè)長(zhǎng)度為|R|位的偽隨機(jī)整數(shù)R。
(3)加密函數(shù):Encrypt(m)→c。
給定安全大素?cái)?shù)P、Q和隨機(jī)數(shù)R,m是長(zhǎng)度為l的明文分組所對(duì)應(yīng)的整數(shù),據(jù)式(1)計(jì)算:
c=mgx+RP+RPQ
(1)
可得到m對(duì)應(yīng)的密文c(注意Q≥P>m)。
(4)解密函數(shù):Decrypt(c)→m。
給定安全大素?cái)?shù)P和密文c,據(jù)式(2)計(jì)算:
m=cg-xmodP
(2)
可得到c對(duì)應(yīng)的明文m。
(1)系統(tǒng)參數(shù)生成。使用GenKey()函數(shù)生成與m對(duì)應(yīng)的大素?cái)?shù)P、Q及秘密數(shù)x、g,使用函數(shù)ψκ(π)生成用于檢索的偽隨機(jī)整數(shù)R。
(2)明文分組。用戶首先將明文進(jìn)行分組,分組長(zhǎng)度為l,即:M=m1m2…mr,r=|M|/l。
(3)分組加密。分別對(duì)每個(gè)明文分組mi實(shí)施Encrypt()運(yùn)算,得到對(duì)應(yīng)的密文分組ci=migx+RP+RPQ,1≤i≤r。
(4)密文上傳。先將密文分組拼接起來形成完整密文C=c1c2…cr,然后將文件C和安全大素?cái)?shù)Q一起發(fā)送給服務(wù)器保存。
(1)密文下載。用戶向云存儲(chǔ)服務(wù)器請(qǐng)求下載密文文件C;用戶收到C后,對(duì)密文消息進(jìn)行分組,得到C=c1c2…cr。
(2)密文分組解密。針對(duì)每個(gè)密文分組ci,使用安全大素?cái)?shù)P和解密算法Decrypt()獲得解密結(jié)果mi。
(3)明文重組。將所有明文分組按照分組順序拼接,得到原始明文M=m1m2…mr。
(1)檢索請(qǐng)求生成。針對(duì)安全大素?cái)?shù)P和檢索關(guān)鍵詞k,用戶計(jì)算檢索關(guān)鍵詞對(duì)應(yīng)的密文K= (kgx+RP+RPQ)modQ=(kgx+RP)modQ,然后將K作為搜索請(qǐng)求上傳至云存儲(chǔ)服務(wù)器。
(2)密文檢索過程。云存儲(chǔ)服務(wù)器從加密文件C中依次讀取密文分組ci(1≤i≤r),計(jì)算密文分組累乘積И=Πci,并計(jì)算И/KmodK。若結(jié)果為0,則表示關(guān)鍵詞檢索命中,檢索計(jì)數(shù)器count加1;否則為未命中。
(3)排序并返回檢索結(jié)果。令И=И/K,再次計(jì)算И/KmodK。如果結(jié)果仍為0,則檢索計(jì)數(shù)器count加1;否則搜索結(jié)束。在對(duì)所有文檔執(zhí)行搜索后,云存儲(chǔ)服務(wù)器依據(jù)count的大小對(duì)包含關(guān)鍵詞的文檔進(jìn)行排序,并將count和對(duì)應(yīng)文件的下載地址返回給檢索用戶,以反映不同文件的相關(guān)程度。
注意:檢索用戶并不能獲得文檔明文,只有數(shù)據(jù)擁有者將密鑰P及秘密數(shù)x、g共享給檢索用戶時(shí),他才能夠正確解密并獲得原始明文。
(1)檢索請(qǐng)求生成。針對(duì)安全大素?cái)?shù)P和檢索關(guān)鍵詞Ki(1≤i≤t),計(jì)算檢索用戶計(jì)算關(guān)鍵詞密文乘積K=Π(Kigx+RP+RPQ)modQ=Π(Kigx+RP)modQ,然后將K作為搜索請(qǐng)求上傳至云存儲(chǔ)服務(wù)器。
(2)密文檢索過程。云存儲(chǔ)服務(wù)器從加密文件C中依次讀取密文分組ci(1≤i≤r),計(jì)算密文分組累乘積И=Πci,然后計(jì)算И/KmodK。若結(jié)果為0,則表示多關(guān)鍵字檢索命中,檢索計(jì)數(shù)器count置1;否則為未命中,count置0。
(3)返回檢索結(jié)果。在對(duì)所有文件執(zhí)行搜索后,云存儲(chǔ)服務(wù)器將count值為1的文件下載地址返回給用戶。
定理1在CRSHE機(jī)制中,持有密鑰P、Q及秘密數(shù)x、g的用戶可恢復(fù)明文M。
證明對(duì)任意明文分組mi,由于P>mi,因此對(duì)應(yīng)密文c的解密結(jié)果Decrypt(c) =cg-xmodP= (migx+RP+RPQ)g-xmodP=mi。顯然,將所有分組mi按順序拼接起來即可還原成明文M。證畢。
□
定理2CRSHE_Enc為全同態(tài)加密方案。
證明給定兩個(gè)分組mi和mj,其對(duì)應(yīng)的密文分別是:ci=migx+RiP+RiPQ和cj=mjgx+RjP+RjPQ,以下分別證明CRSHE機(jī)制支持加法同態(tài)及乘法同態(tài)。
(1)因Encrypt(mi+mj)=(mi+mj)gx+RP+RPQ,另一方面,Encrypt(mi)+Encrypt(mj)=migx+RiP+RiPQ+mjgx+RjP+RjPQ=(mi+mj)gx+(Ri+Rj)P+(Ri+Rj)PQ,故Decrypt(Encrypt(mi+mj))=(mi+mj)gxg-x=mi+mj=Decrypt(Encrypt(mi)+Encrypt(mj)),因此該方案滿足加法同態(tài)。
(2)因Encrypt(mi*mj)=mimjgx+RP+RPQ,所以:Decrypt(Encrypt(mi*mj))=mimjgxg-xmodP=mimj;此外,Encrypt(mi)*Encrypt(mj)=(migx+RiP+RiPQ)*(mjgx+RjP+RjPQ)g-x=mimjg2x+ (miRjgx+mjRigx+miRjgxQ+mjRigxQ)P+(RiRj+2RiRjQ+RiRjQ2)P2,則Decrypt(Encrypt(mi) *Encrypt(mj))=mimjg2xg-xmodP??紤]到gx是有限半群〈ZP,*〉的冪等元,則g2xmodP=gxmodP,故Decrypt(Encrypt(mi*mj))=Decrypt(Encrypt(mi) *Encrypt(mj)),因此該方案同樣滿足乘法同態(tài)。
由于減法和除法可以由加法和乘法分別實(shí)現(xiàn),因此該方案為全同態(tài)加密方案,證畢。
□
(1)密文數(shù)據(jù)安全性。
由于服務(wù)器只能從用戶得到C和Q,服務(wù)方只能獲得 (mgx+RP)modQ。一方面,密鑰P是對(duì)服務(wù)器保密的,且通過隨機(jī)數(shù)R施加噪聲干擾;另一方面,即使服務(wù)器通過多組mgx+RP成功猜測(cè)到P,但是由于其不知道具體的g及x,因此依然不能獲悉原始數(shù)據(jù)m??梢奀RSHE機(jī)制通過雙重安全機(jī)制有效保護(hù)了用戶數(shù)據(jù)隱私。
(2)檢索關(guān)鍵詞安全性。
用戶向服務(wù)器提交的檢索請(qǐng)求是通過P、g及x的轉(zhuǎn)換之后的密文,在無法獲得P和g及x的前提下是無法獲得關(guān)鍵詞明文M的,保證了用戶檢索關(guān)鍵詞的安全性。同時(shí),服務(wù)器在執(zhí)行檢索的過程中只是對(duì)密文進(jìn)行操作,全程無法獲悉用戶數(shù)據(jù)和關(guān)鍵詞的明文,實(shí)現(xiàn)了密文檢索的功能。
(3)保密參數(shù)安全性。
在生成系統(tǒng)保密參數(shù)時(shí),必須考慮密鑰P要有足夠大的密鑰空間,以防止密鑰P、g、x被窮舉攻破。但是,P越大,帶來的運(yùn)算開銷將越大。如何在效率和安全性之間達(dá)到較好的平衡是本機(jī)制需要重點(diǎn)解決的問題之一。
CRSHE機(jī)制的檢索效率與關(guān)鍵字長(zhǎng)度密切相關(guān)。對(duì)于固定長(zhǎng)度的文件,在對(duì)明文M進(jìn)行分組時(shí),分組長(zhǎng)度越大,則劃分的分組越少,檢索循環(huán)次數(shù)相應(yīng)越少;反之,則劃分的分組越多,檢索時(shí)需要的循環(huán)次數(shù)也越多。同時(shí),在分組時(shí)有可能正好將關(guān)鍵字劃分到不同的分組中,導(dǎo)致不能正確檢索到該關(guān)鍵字,因此檢索準(zhǔn)確率并非100%,而是隨著劃分組數(shù)的增加而減小。如何設(shè)計(jì)合理的分組長(zhǎng)度也是本方案的難點(diǎn)問題之一。
此外,由于CRSHE機(jī)制支持多關(guān)鍵詞聯(lián)合查詢,因此較其他方案可顯著提高檢索效率。
為了檢驗(yàn)方案的正確性與效率,搭建了一個(gè)由1個(gè)NameNode和15個(gè)DataNode組成的Hadoop云存儲(chǔ)實(shí)驗(yàn)系統(tǒng)。服務(wù)端結(jié)點(diǎn)采用IBM X3650M2機(jī)架式服務(wù)器,具有4 GB DDR3內(nèi)存和2個(gè)146 GB SAS硬盤,Ubuntu 10.0.2系統(tǒng);客戶端采用普通PC機(jī),配備1 GB內(nèi)存和160 GB硬盤,Windows 7操作系統(tǒng);所有結(jié)點(diǎn)連接在百兆局域網(wǎng)中。通過反復(fù)實(shí)驗(yàn)對(duì)比,確定密鑰P和大素?cái)?shù)Q的長(zhǎng)度為512位,關(guān)鍵字長(zhǎng)度和明文分組長(zhǎng)度均設(shè)為32位。
通過建立不同關(guān)鍵詞數(shù)量的索引,對(duì)方案的檢索效率進(jìn)行測(cè)試,并與經(jīng)典線性密文檢索方案SSKE(Sequential Searching on Keyword Encrytion)[7]進(jìn)行比較。以100篇純中文文本文檔為測(cè)試樣本,每個(gè)文檔平均為2 MB。在測(cè)試過程中將關(guān)鍵詞長(zhǎng)度確定為2個(gè)中文字符,對(duì)應(yīng)為32位的二進(jìn)制數(shù);數(shù)量從1個(gè)逐步增加到5個(gè)。在每種索引關(guān)鍵詞數(shù)量下分別進(jìn)行50次檢索測(cè)試,取其平均時(shí)間為最終結(jié)果。
將SSKE方案在Hadoop測(cè)試平臺(tái)上進(jìn)行了代碼實(shí)現(xiàn),使用相同的安全參數(shù)。由于該方案不支持多關(guān)鍵詞索引,因此需要多次執(zhí)行單關(guān)鍵詞索引,然后累加所需時(shí)間。測(cè)試結(jié)果如表2所示。
Table 2 Performance comparison between the two retrieval schemes表2 兩種不同方案的檢索效率對(duì)比
可見,兩種方案的單關(guān)鍵詞檢索效率相差不大,CRSHE稍快;但是隨著當(dāng)索引數(shù)量增加,CRSHE返回結(jié)果所用時(shí)間增長(zhǎng)較為緩慢,而SSKE方案由于不支持多關(guān)鍵詞索引,需要多次執(zhí)行單關(guān)鍵詞索引,故其所需時(shí)間大致成線性增長(zhǎng)。
如上所述,在密文分組時(shí)有可能正好將關(guān)鍵字劃分到不同的分組中,導(dǎo)致檢索準(zhǔn)確率會(huì)低于100%。仍以上述100篇文本文檔為測(cè)試樣本,對(duì)CRSHE機(jī)制的檢索準(zhǔn)確性進(jìn)行測(cè)試。每個(gè)數(shù)量隨機(jī)抽取10種不同的關(guān)鍵字組合,分別進(jìn)行50次測(cè)試并記錄平均準(zhǔn)確率,測(cè)試結(jié)果如表3所示。
Table 3 Test result of retrieval accuracy rate表3 CRSHE機(jī)制檢索準(zhǔn)確性測(cè)試結(jié)果
可見,隨著關(guān)鍵詞數(shù)量增加,CRSHE機(jī)制的準(zhǔn)確率有一定的下降,但綜合檢索準(zhǔn)確率都在88%以上。
與傳統(tǒng)的數(shù)據(jù)存儲(chǔ)方式相比,云存儲(chǔ)具有低成本、可擴(kuò)展、快速伸縮和利用率高等特征,使得云存儲(chǔ)得到了越來越多的關(guān)注和支持。但是,如果不能妥善解決云存儲(chǔ)中的安全問題,特別是基于密文的高效檢索問題,將會(huì)嚴(yán)重制約云存儲(chǔ)應(yīng)用的可持續(xù)發(fā)展。本文針對(duì)這一緊迫問題,提出一種基于全同態(tài)加密的密文檢索機(jī)制CRSHE,通過兩重機(jī)制對(duì)明文加密,可以在不恢復(fù)加密明文信息的情況下實(shí)施近似精確的密文檢索,并實(shí)現(xiàn)了結(jié)果的排序。該方案不但保護(hù)了使用者的數(shù)據(jù)安全,同時(shí)全同態(tài)算法在多關(guān)鍵詞檢索時(shí)能較大地提升檢索性能,具有一定的應(yīng)用前景。