[发明专利]一种支持验证的前向安全可搜索加密存储系统及方法有效

专利信息
申请号: 201910464607.8 申请日: 2019-05-30
公开(公告)号: CN110334526B 公开(公告)日: 2023-01-03
发明(设计)人: 王剑锋;张中俊;陈晓峰;宿雅萍;王贇玲 申请(专利权)人: 西安电子科技大学
主分类号: G06F21/60 分类号: G06F21/60;G06F21/62;G06F21/64;G06F16/2458;H04L9/06
代理公司: 西安长和专利代理有限公司 61227 代理人: 黄伟洪
地址: 710071 陕西省*** 国省代码: 陕西;61
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 支持 验证 安全 搜索 加密 存储系统 方法
【权利要求书】:

1.一种支持验证的前向安全可搜索加密存储方法,其特征在于,所述支持验证的前向安全可搜索加密存储方法包括:用户对明文数据进行加密得到密文数据,根据密文数据建立索引,将密文数据和索引上传到云服务器上;在搜索时,用户提交所搜索关键词的令牌,服务器收到令牌之后,根据令牌信息在密文索引上进行搜索,将搜索结果以及证据返回给用户;用户在收到密文搜索结果以及证据之后,对密文搜索结果解密,得到最终结果;当用户需要验证搜索结果的正确性和完整性时,只需要对证据进行验证;

所述支持验证的前向安全可搜索加密存储方法步骤具体包括:

第一步,采用Setup算法客户端和服务器端分别初始化自己的存储结构;准备处理客户的更新操作;在Setup算法之后,客户端和服务器端都将得到一个空的存储结构;Setup是系统初始化的过程,服务器和客户端要准备好各自的存储数据结构;客户端和服务器均为一个map结构;客户端输入安全参数,根据初始化存储结构,服务器端初始化存储结构;

第二步,在Update算法中,客户端将需要插入或删除的文档预处理为key-id对,以key-id为单位进行处理,生成该key-id对的密文和索引,将密文和索引打包发送给服务器;服务器在收到服务器发送的数据之后,将存储在服务器中;另外一方面,在更新时还需要对证据进行更新;客户端首先取出之前的集合哈希值,加入新的关键词得到新的哈希值作为新的证据;该证据需要在客户端和服务器端各存一份;在Update过程中,泄露给服务器和第三方的信息只有一对元组;

第三步,客户端对搜索关键词进行处理,生成搜索陷门,将陷门上传给服务器;

第四步,服务器收到搜索陷门之后,在索引上使用Search算法进行搜索,获得匹配的密文数据;在Search算法中,用户提交所搜索关键词的令牌,服务器收到令牌之后,根据令牌信息在密文索引上进行搜索,将搜索结果以及证据返回给用户;用户在收到密文搜索结果以及证据之后,对密文搜索结果解密,得到最终结果;

第五步,服务器使用Verify算法根据搜索结果构建针对搜索结果的证据,并将搜索结果和证据返回给客户端;当用户对服务器返回的搜索结果有所怀疑时,验证搜索结果的正确性和完整性;客户端首先计算的集合哈希,然后取出客户端存储的证据,然后比较、和proof,如果三者相等,则说明搜索结果满足正确性和完整性,否则说明服务器有作弊行为;

第六步,客户端利用证据对数据库返回的搜索结果进行验证;

所述Setup算法的初始化阶段具体包括:

客户端选择系统参数,客户端根据初始化自己的存储结构,该存储结构是一个map结构的数据结构,其key为关键词,value包含该关键词的最新状态,以及该关键词对应的集合哈希值;

客户端将发送给服务器端,服务器在接收到系统参数之后,根据初始化自己的存储结构,该存储结构是一个map结构的数据结构,其key为位置信息,value为密文以及集合哈希值,密文信息包括文件名信息、操作信息和前一个状态的位置信息;

所述Update算法更新阶段具体包括:

计算关键词的陷门以及集合哈希需要用到的密钥;

客户端首先产生出新的状态;

客户端检查本地存储中是否有的记录,如果没有关于的记录,说明该关键词是第一次出现;客户端首先随机选择一个,然后级联代表没有下一个状态的、文档标识符和操作;客户端使用作为密钥,使用异或加密得到密文;如果有关于的记录,则取出其对应的;客户端级联状态、操作和文档标识;同样的,客户端使用异或加密得到密文;

客户端更新文档标志符的集合哈希值;

客户端计算位置信息;

客户端将最新的状态以及文档哈希聚集值记录在客户端的存储结构中,并将位置信息、密文和文档哈希上传至服务器;

服务器端将客户端上传来的数据记录在服务器中;

所述Search算法的搜索阶段具体包括:

客户端检查本地存储中是否有的记录,分为如下两种情况,如果没有关于的记录,说明服务器中没有关于该关键词的信息;客户端判断出没有任何文档包含该关键词,此时直接返回空集合;如果有关于的记录,则取出其对应的和;在这种情况下,客户端将提交给服务器;将留存在客户端,hash在验证时将会被使用到;

服务器在收到之后,首先取出最后一个状态对应的证据,该证据将会被返回给客户端;对于不在最后一个状态的证据,删除掉以释放服务器端的存储空间;

找出T中关于stc的记录e;使用密钥H2 (tw||stc)对密文e进行解密,得到(stc,ind,op);将密文ind存储在结果R中;将当前密钥stc替换为st,准备下一次解密时使用;

服务器在T中搜索关于stc的记录,如果有,则继续循环操作;

最后服务器返回搜索结果R和证据hash;

所述Verify算法的验证阶段具体包括:

客户端获得从服务器上得到的搜索证据,并从自己的存储中取出本地的证据;

客户端根据服务器返回的搜索结果重新计算集合哈希值;

判断、和proof三者是否相同;如果相同,则验证通过;否则验证不通过;两个证据都是二进制数据,通过异或来判断二者是否相同;如果证据异或的结果为0,则说明二者相同;如果结果为1,则二者不相同。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安电子科技大学,未经西安电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201910464607.8/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top