近年来,云存储加密是大家非常关心的话题,那么如何才能给云存储加密呢?今天我就给大家介绍一种关键字搜索的方法。

一、方案构造

1、相关困难问题

狄夫一赫尔曼(BDH)假设:设G1,G2是阶为q的循环群,生成元为R.敌手A试图解决如下问题,给定参数(R,aR,bR,cp)这里a,b,c∈ZRN,要求计算双线性映射对函数e(R,R)ibc,在这里定义A敌手的成功概率:

云存储加密方案之关键字搜索

2、PEKS方案定义

设定k长度的安全参数产生算法产生公私钥对pku,sku,pk,...,sk,其分别为用户和服务器的公私钥对.注:pk公钥中包括了安全参数、关键字域的描述、以及PEKS密文空间。

PEKS(pku,w):这里记为S= PEKS(pku,w)。

陷门函数(sku,w):Tw=Trapdoor(sku,w)。

测试函数(Twu,S):判断S中W,是否和w相等。

3、扩展方案( H-SCF-PEKS)定义

公共参数产生算法在安全参数k下的公共参数cp。

服务器公私钥对产生算法:产生pku,sku,

用户公私钥对产生算法:产生pku,sku。

散列函数:w = H(M)。

可检索无安全信道PEKS算法H-SCF-PEKS(cp,pks,pku,w):该算法通过对关键字生成摘要信息w.再用服务器公钥加密由用户公钥生成的PEKS密文, 陷门生成函数Trapdoor(cp,sk。,w):通过用户私钥产生陷门,服务器使用该陷门Tw能够对加密文件进行检索。

测试函数(cp,Tw,sku,S):测试返回S中w.和Tw中w的等同性,这里数据包的主体结构定义为:Encpy(pk。,M)|[ Encpy(pks,PEKS(pk。,H(M))。

4、挑战游戏(IND-H-SCF-CKA)

设A作为一个攻击者在多项式时间t内攻击安全参数为k的安全方案。

A假设为服务器管理员,

阶段1-1:公共参数产生算法生成G1,G2,以及cp.服务器和用户分别参数自己的公私钥对pku,sku,pku,sku,其中公共参数cp,pku,pku,sku为服务器持有,sku对A保密。

阶段1-2:A查询一定数量的明文信息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、方案的描述

公共参数产生算法:选择两个循环群G1、G2,两者有共同的阶q,2k≤q.构造双线性映射对e:G,×Gi一G2,特别的设定三个H函数,Hi:{O,1)*÷Gi*,Hz:G2*啼{0,1)k,H3:{0,1}*一{0,1)k,cp= (q,Gi,Gz,卺,Hi,Hz,Hz,dw)作为公共参数,这里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’内求解安全参数为(q,Gi,G2,R,aR,bR,cR)的BDH问题,其中2k≤q。规定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在列表中存在,那么返同否则执行下操作。

选择随即硬币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函数中,B做如下工作,若Si=0终止,否则做下面的工作计算Twli Y返回。注:公钥Y-cR,Twi=liY;licR- cliR= cLiR= cHl( wi).

运行上述给定的(Wo*,WI)它们来自于Hi列表,如果硬币so=O且S1 =1,终止运算,否则执行如下操作:

随机选择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)概念上延伸和发展出来的一个新的概念,是一种新兴的网络存储技术,是指通过集群应用、网络技术或分布式文件系统等功能,将网络中大量各种不同类型的存储设备通过应用软件集合起来协同工作,共同对外提供数据存储和业务访问功能的一个系统。