云存儲加密方案之關鍵字搜索

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

一、方案構造

1、相關困難問題

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

云存儲加密方案之關鍵字搜索

2、PEKS方案定義

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

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

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

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

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

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

服務器公私鑰對產生算法:產生pku,sku,

用戶公私鑰對產生算法:產生pku,sku。

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

可檢索無安全信道PEKS算法H-SCF-PEKS(cp,pks,pku,w):該算法通過對關鍵字生成摘要信息w.再用服務器公鑰加密由用戶公鑰生成的PEKS密文, 陷門生成函數(shù)Trapdoor(cp,sk。,w):通過用戶私鑰產生陷門,服務器使用該陷門Tw能夠對加密文件進行檢索。

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

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

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

A假設為服務器管理員,

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

階段1-2:A查詢一定數(shù)量的明文信息Mi,進行摘要生成w=H(M),用戶作為隨機預言機,能夠對每一個w;響應對應的Twi。

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

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

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

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

5、方案的描述

公共參數(shù)產生算法:選擇兩個循環(huán)群G1、G2,兩者有共同的階q,2k≤q.構造雙線性映射對e:G,×Gi一G2,特別的設定三個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是摘要的空間。

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

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

H-SCF"PEKS(cp,pk,pk。,w)算法為:從r∈ZR中隨機選擇計算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.返回相等結果.

二、方案證明

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

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

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

構建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).

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

隨機選擇B∈{o,l}這里設定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列表計算:

云存儲加密方案之關鍵字搜索

涉及到BDH難題。

云存儲加密方案之關鍵字搜索

證畢

小知識之云存儲

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