云存儲加密方案之關(guān)鍵字搜索

近年來,云存儲加密是大家非常關(guān)心的話題,那么如何才能給云存儲加密呢?今天我就給大家介紹一種關(guān)鍵字搜索的方法。

一、方案構(gòu)造

1、相關(guān)困難問題

狄夫一赫爾曼(BDH)假設(shè):設(shè)G1,G2是階為q的循環(huán)群,生成元為R.?dāng)呈諥試圖解決如下問題,給定參數(shù)(R,aR,bR,cp)這里a,b,c∈ZRN,要求計算雙線性映射對函數(shù)e(R,R)ibc,在這里定義A敵手的成功概率:

云存儲加密方案之關(guān)鍵字搜索

2、PEKS方案定義

設(shè)定k長度的安全參數(shù)產(chǎn)生算法產(chǎn)生公私鑰對pku,sku,pk,...,sk,其分別為用戶和服務(wù)器的公私鑰對.注:pk公鑰中包括了安全參數(shù)、關(guān)鍵字域的描述、以及PEKS密文空間。

PEKS(pku,w):這里記為S= PEKS(pku,w)。

陷門函數(shù)(sku,w):Tw=Trapdoor(sku,w)。

測試函數(shù)(Twu,S):判斷S中W,是否和w相等。

3、擴(kuò)展方案( H-SCF-PEKS)定義

公共參數(shù)產(chǎn)生算法在安全參數(shù)k下的公共參數(shù)cp。

服務(wù)器公私鑰對產(chǎn)生算法:產(chǎn)生pku,sku,

用戶公私鑰對產(chǎn)生算法:產(chǎn)生pku,sku。

散列函數(shù):w = H(M)。

可檢索無安全信道PEKS算法H-SCF-PEKS(cp,pks,pku,w):該算法通過對關(guān)鍵字生成摘要信息w.再用服務(wù)器公鑰加密由用戶公鑰生成的PEKS密文, 陷門生成函數(shù)Trapdoor(cp,sk。,w):通過用戶私鑰產(chǎn)生陷門,服務(wù)器使用該陷門Tw能夠?qū)用芪募M(jìn)行檢索。

測試函數(shù)(cp,Tw,sku,S):測試返回S中w.和Tw中w的等同性,這里數(shù)據(jù)包的主體結(jié)構(gòu)定義為:Encpy(pk。,M)|[ Encpy(pks,PEKS(pk。,H(M))。

4、挑戰(zhàn)游戲(IND-H-SCF-CKA)

設(shè)A作為一個攻擊者在多項(xiàng)式時間t內(nèi)攻擊安全參數(shù)為k的安全方案。

A假設(shè)為服務(wù)器管理員,

階段1-1:公共參數(shù)產(chǎn)生算法生成G1,G2,以及cp.服務(wù)器和用戶分別參數(shù)自己的公私鑰對pku,sku,pku,sku,其中公共參數(shù)cp,pku,pku,sku為服務(wù)器持有,sku對A保密。

階段1-2:A查詢一定數(shù)量的明文信息Mi,進(jìn)行摘要生成w=H(M),用戶作為隨機(jī)預(yù)言機(jī),能夠?qū)γ恳粋€w;響應(yīng)對應(yīng)的Twi。

階段1-3:A選定特定的關(guān)鍵字Mo,Mi,交給用戶,用戶隨即選擇|ε∈{0,1}生成摘要wp進(jìn)行方案加密Su= H-SCF-PEKS(cp.pku,pku,w'p)并返回給A。

階段l-4:A判斷S‘是由M。還是由Mi產(chǎn)生,判斷可以借助階段1-2的訓(xùn)練查詢進(jìn)行輔助決策,但是不能對Mo Mi進(jìn)行查詢。

階段1-5:A輸出它的猜想I3’∈{O,1)。

定義A的成功概率為SuccGeA= 2Pr[β’=β-1]。

5、方案的描述

公共參數(shù)產(chǎn)生算法:選擇兩個循環(huán)群G1、G2,兩者有共同的階q,2k≤q.構(gòu)造雙線性映射對e:G,×Gi一G2,特別的設(shè)定三個H函數(shù),Hi:{O,1)*÷Gi*,Hz:G2*啼{0,1)k,H3:{0,1}*一{0,1)k,cp= (q,Gi,Gz,巹,Hi,Hz,Hz,dw)作為公共參數(shù),這里dw是摘要的空間。

服務(wù)器公私鑰產(chǎn)生算法:從x∈ZR中隨機(jī)選擇計算X- xR.隨機(jī)的選擇Q∈G1’,定義公鑰pks;(cp,Q,X)私鑰sks - (cp,x)。

同理產(chǎn)生用戶公私鑰pku=(cp,Q.Y)私鑰sku= (cp,y)。

H-SCF"PEKS(cp,pk,pk。,w)算法為:從r∈ZR中隨機(jī)選擇計算S-(U,V),其中(U,V)=(rR,H2(K))且K=((Q,X)e( H1 (H3 (M)),Y)),返回S。

陷門生成算法Trapdoor(cp,sk。,w):計算Tw=y Hi( H3 (M)).返回Tw.

測試Test(cp,Tw,sk:,S)):檢查Hz(龜(xQ+Tw,rR))-V.返回相等結(jié)果.

二、方案證明

定理l 上述方案(IND-H-SCF-CKA)安全性基于在隨機(jī)預(yù)言模型下BDH問題是難解的。

證明 假設(shè)存在一個攻擊算法B能夠在多項(xiàng)式時間t’內(nèi)求解安全參數(shù)為(q,Gi,G2,R,aR,bR,cR)的BDH問題,其中2k≤q。規(guī)定B的任務(wù)就是在給定aR.bR,cR的情況下計算e(R,R)aU。

B設(shè)Y-cR,選擇x∈Z矗計算X=xR.隨機(jī)的選擇Q∈Gf.返回(Q,X).B攻擊者對Hi,Hz,H3做如下詢問記錄:

構(gòu)建Hi列表記錄為一個四元組(M.,Li.1;,Si).如果查詢M在列表中存在,那么返同否則執(zhí)行下操作。

選擇隨即硬幣Si.該硬幣反面的概率為1/(qT+1)。

選擇li∈Zq',如果Si_0計算Li= bR+liR,如果Si-I,計算Li=liR。

返同I。i,并把(Mi,Li,I;,Si)放入Hi列表,如果A查詢Ki在Hz函數(shù)中,B做如下工作,若Si=0終止,否則做下面的工作計算Twli Y返回。注:公鑰Y-cR,Twi=liY;licR- cliR= cLiR= cHl( wi).

運(yùn)行上述給定的(Wo*,WI)它們來自于Hi列表,如果硬幣so=O且S1 =1,終止運(yùn)算,否則執(zhí)行如下操作:

隨機(jī)選擇B∈{o,l}這里設(shè)定Sp -0。

選擇P∈{O,1}K密文為S‘=(U’,V’)-(aR,P),P= Hz(K)且K=(6(Q,X)e(H1 (H3(M)),Y))a.

通過上述的定義Q,X.Y有如下等式:

這里通過查詢H2列表計算:

云存儲加密方案之關(guān)鍵字搜索

涉及到BDH難題。

云存儲加密方案之關(guān)鍵字搜索

證畢

小知識之云存儲

云存儲是在云計算(cloud computing)概念上延伸和發(fā)展出來的一個新的概念,是一種新興的網(wǎng)絡(luò)存儲技術(shù),是指通過集群應(yīng)用、網(wǎng)絡(luò)技術(shù)或分布式文件系統(tǒng)等功能,將網(wǎng)絡(luò)中大量各種不同類型的存儲設(shè)備通過應(yīng)用軟件集合起來協(xié)同工作,共同對外提供數(shù)據(jù)存儲和業(yè)務(wù)訪問功能的一個系統(tǒng)。