云存储中基于双线性对的多用户多关键词可搜索加密方法

文档序号:9306507阅读:579来源:国知局
云存储中基于双线性对的多用户多关键词可搜索加密方法
【技术领域】
[0001] 本发明属于信息安全技术领域,具体涉及一种云存储中基于双线性对的多用户多 关键词可搜索加密方法。
【背景技术】
[0002] 云计算作为一种新的计算模型,能够提供成本较低、可扩展的各种先进的计算服 务,为了节省存储及管理数据的代价,企业和个人可以将数据外包到云存储服务器。云存 储服务提供的数据具有可用性和可靠性等优势,但是其也有一个很明显的缺点,即数据不 在用户的管理及控制之下,那么如何维护数据的机密性和完整性便成为用户迫切关注的问 题。
[0003] 虽然企业相信云存储服务提供商(CloudStorageServiceProvider,CSSP)的可 靠性、可用性、容错性等,但是人们无法确信CSSP不将托管的数据用于其他目的;同样对于 个人用户而言,他们希望自己的数据只能由自己或指定的人访问而不能被CSSP访问。这将 导致两方面的问题:一方面,从用户的角度看,他们无法找到让他们完全可信的CSSP来存 储和管理他们的数据;另一方面从CSSP的角度看,在没有解决上述问题的情况下将会丢失 大量的客户。因此,数据的机密性及完整性将阻碍云存储的推广及使用。
[0004] 鉴于以上的实际问题,云存储中数据必须在传输到CSSP之前,由用户自己加密, 并且也只能由用户自己进行解密,这样将会减轻用户数据泄漏的危险。但这将引入一个新 的问题,如用户需要包含某个关键字的文档,那么用户是否能很快的获得他们想要的数据 并保证数据对CSSP的机密性?

【发明内容】

[0005] 本发明的目的是提供一种云存储中基于双线性对的多用户多关键词可搜索加密 方法,解决了现有技术中存在的云存储数据加密后不能实现关键词检索的问题。
[0006] 本发明所采用的技术方案是,云存储中基于双线性对的多用户多关键词可搜索加 密方法,具体按照以下步骤实施:
[0007]步骤1、系统参数初始化;
[0008] 步骤2、添加用户;
[0009] 步骤3、文件拥有者对文件加密和安全索引生成;
[0010] 步骤4、服务器对索引重加密;
[0011] 步骤5、用户关于关键词搜索令牌的生成;
[0012] 步骤6、云存储服务器关于密文关键词的搜索;
[0013] 步骤7、用户关于密文的解密;
[0014] 步骤8、撤销用户。
[0015] 本发明的特点还在于,
[0016] 步骤1具体按照以下步骤实施:
[0017] 步骤(I.I)、由文件加密者Ent输入安全参数k,输出两个阶为素数q的乘法循环 群GjPG2,Gi的生成元,g2为G2的生成元;
[0018] 步骤(1. 2)、选择双线性映射心G1XG丨4G2 ;
[0019] 步骤(1.3)、随机均匀地选择XGZq作为文件加密者Ent的主密钥,记为 w為a,,,其中= H,计算h=G1;
[0020] 步骤(1. 4)、选择两个伪随机函数/_':彳0,U'\徵『一>< 和/"HUiXZ,]--任意选择两个随机种子s',s"GR{〇,l}k;
[0021] 步骤(1. 5)、选择对称加密算法SKE= {SKE.Gen(Ik),SKE.ENC(.),SKE.DE(.)},随 机均匀地选择一个加密密钥ek-SKE.Gen(Ik);
[0022] 步骤(1. 6)、文件加密者Ent公开系统参数为腦, 保密系统私钥为,随机种子S',S"GR{〇, 1}^?文件加密密钥ek。
[0023] 步骤2具体按照以下步骤实施:
[0024] 步骤(2. 1)、输入系统用户管理者UM的主密钥皿* = 1£<和一个用户身份UlD,输 出用户Uid的密钥和辅助密钥) = (gf? ,g2(A) = :^这里^是在 足;中随机选择的,即气T % < ',滅如=gf e G1, = g/,/c e (?
[0025] 步骤(2.2)、将(式安全地发送给用户UlD,用户UlD保密(魂
[0026] 步骤(2.3)、将安全地发送给服务器Serv, Serv在其用户列表 U-ComK中加入并保密用户列表U-ComK。
[0027] 步骤3具体按照以下步骤实施:
[0028] 步骤(3. 1)、输入用户uID密钥我w=Aw、加密密钥ek、随机种子s'、文档D1及其 关键词列表% = (u;.r…,),1W^,随机选择riGRZq;
[0029] 步骤(3. 2)、计算容'和爲:每馬.,计算:气〒,八《,气)')'6 ,气』=(成奶); 1彡」彡1",令/,'=(//,心〃<.,,叹丨,,叹,,..),记(:=(以.,.4(9^ 器Serv0
[0030] 步骤4具体按照以下步骤实施:
[0031] 步骤(4. 1)、输入用户身份uID和接收到的< = (£&,,, (£),),/>服务器 Serv在用户列表U-ComK中查找),若无,则返回,否则根据q中的 < = ,?"计算得到新的索引Ti,计算如下:
[0033]步骤(4. 2)、将密文及索引C1=(EncA(D1),I1)存储在服务器Serv上。
[0034] 步骤5具体按照以下步骤实施:
[0035] 步骤(5.1)、由系统用户uID执行,得到d(d彡1)个关键词w'i,…,w' d的搜索 令牌r= 九wV? ?,以 ^
[0036] 随机选择M2 %计算
[0038] 步骤(5. 2)、将任意d(d彡1)个关键词w'1,…,w'd的搜索令牌T=(uID,T11,… ,Tld,T2,T3)发送给云存贮服务器Serv。
[0039] 步骤6具体按照以下步骤实施:
[0040]步骤(6. 1)、输入搜索令牌T= (uID,T11,…,Tld,T2,T3),Serv首先在U-ComK中查 找是否存在(〃〃.夂>""/^,>),若无,则返回 ;否则3£^根据密文(:1=伽(^(01),11)中的索引 结构 4 =¥Iw,為.):做出判断;
[0041] 步骤(6. 2)、首先初始化搜索结果Q为空集,对C1= (Encek(D1),I1),其中 /,.=(/匕(_>;"<。,/;.丨判断如下等是否至少有d个成立:
[0042] ComKlij)! c(h', 7;) = (/,,)/;,J eP,--,4}
[0043]其中,:?沪=[e(:g!,g:Tt. ]_'、,
[0044] 如果(^中含有该d个关键词w'i,…,w'd,,其中d彡1,则Q=QUIC1K继 续搜索下一个密文C1+1= (Encdi(D1+1),I1J,否则,该密文与关键词不匹配,继续搜索下一个 Ci+1=(Encek(Di+1),Ii+1);
[0045] 步骤(6. 3)、当服务器对所有的存贮的密文检索后,将最终的搜索结果Q发送给 用户uID。
[0046] 步骤7具体为:
[0047] 输入对称密钥ek及接收到的搜索结果Q,对VC: = (£夂";(A)D,计算D1= Decdi (E1),得到含有d(d彡1)个关键词w'i,…,w'd的解密数据D113
[0048] 步骤8具体为:
[0049] 输入用户身份uID,用户管理机构UM向云存贮服务器Serv发送撤销用户uID 的命令,服务器Serv在用户列表U-ComK中删除用户uID注册项目),更新 U-ComK~U-ComK\\{u,,^comku )\〇
[0050] 本发明的有益效果是,云存储中基于双线性对的多用户多关键词可搜索加密方 法,数据用户可以将自己的数据加密后,存放到云存储服务器,需要时候,可以通过关键词 检索令牌检索到需要的密文数据,然后下载解密,同时,云存储服务器并不知道用户检索的 关键词,确保用户的数据信息隐私性,通过与现有方案相比较,本发明方法在通信和计算代 价,即搜索陷门大小、关键词加密和搜索的速度等方面的综合效率得到提高,而且本发明是 适合多用户环境的,可以增加和撤销用户,用户增加可以通过算法Enroll(kUM,uID)实现,用 户的撤销可以通过算法RevokeUser(uID)实现。
【具体实施方式】
[0051] 下面结合【具体实施方式】对本发明进行详细说明。
[0052] 本发明云存储中基于双线性对的多用户多关键词可搜索加密方法,具体按照以 下步骤实施:
[0053] 步骤1、系统参数初始化:
[0054] 具体按照以下步骤实施:
[0055] 步骤(I. 1)、由文件加密者Ent输入安全参数k,输出两个阶为素数q的乘法循环 群GjPG2, Gi的生成元,g2为G2的生成元;
[0056] 步骤(1. 2)、选择双线性映射G1XG1 ->G:;
[0057] 步骤(1.3)、随机均匀地选择XGZq作为文件加密者Ent的主密钥,记为 =XeZ:,其中 & .= {1,2,…,《―Pr,计算h=gjGG丄;
[0058] 步骤(1.4)、选择两个伪随机函数.f ,. 任意选择两个随机种子S',S"GR{〇,l}k;
[0059] 步骤(I. 5)、选择对称加密算法SKE= {SKE.Gen(Ik),SKE.ENC(?),SKE.DE(?)},随 机均匀地选择一个加密密钥ek-SKE.Gen(Ik);
[0060] 步骤^州入文件加密者已拉公开系统参数为輝郷:构而义沿各斗/',/'/7,?^), 保密系统私钥为,随机种子s',s"GrIO i1P及文件加密密钥ek。
[0061] 步骤2、添加用户:
[0062] 具体按照以下步骤实施:
[0063] 步骤(2. 1)、输入系统用户管理者UM的主密钥_丨=技<和一个用户身份uID,输
U-ComK中加入.0,,v),〇洲\./;),并保密用户列表U-ComK。
[0066] 步骤3、文件拥有者对文件加密和安全索引生成:
[0067] 具体按照以下步骤实施:
[0068] 步骤(3. 1)、输入用户uID密钥殊^ =Aid、加密密钥ek、随机种子s'、文档D1及其 关键词列表% = …KZ",随机选择riGRZq;
[0069] 步骤(3. 2)、计算f和舻,Vt%e心,:计算~=/'(义冰eg,% = 1 彡j彡i",令/: =(/,X训气),记C=⑷将 务器Serv。
[0070] 步骤4、服务器对索引重加密:
[0071] 具体按照以下步骤实施:
[0072] 步骤(4. 1)、输入用户身份uID和接收到的Cf=.(£>&(0,),服务器Se
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1