[发明专利]一种基于后缀树的可搜索加密系统及方法在审

专利信息
申请号: 201910151513.5 申请日: 2019-02-28
公开(公告)号: CN109815723A 公开(公告)日: 2019-05-28
发明(设计)人: 周福才;郭斯栩;葛悦;孙僖泽 申请(专利权)人: 东北大学
主分类号: G06F21/60 分类号: G06F21/60;G06F21/62;G06F16/903;G06F16/901
代理公司: 沈阳东大知识产权代理有限公司 21109 代理人: 刘晓岚
地址: 110819 辽宁*** 国省代码: 辽宁;21
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 搜索 后缀树 构建 加密系统 服务器 令牌 加密索引 密文数据 子字符串 客户端 字符串 索引 验证 初始化模块 互联网技术 字符串搜索 安全索引 构建模块 加密密钥 解密模块 令牌发送 搜索结果 搜索模块 解密 上传 加密 查询
【权利要求书】:

1.一种基于后缀树的可搜索加密系统,采用两方实体方案,即客户端与服务器端,其特征在于:包括初始化模块、安全索引构建模块、子字符串搜索模块及验证解密模块;

所述初始化模块用于构建加密密钥和后缀树;

构建加密密钥:由客户端运行,初始化客户端的公私钥及加密所需的密钥;

所述安全索引构建模块用于构建索引以及索引加密;

构建索引:由客户端运行,将待搜索数据构建成后缀树并生成后缀树的索引信息,包括字典结构,密文结构和叶子数组结构;

索引加密:运行于客户端,负责对关键字索引即字典结构、密文数组结构和叶子数组结构进行加密操作,并将加密后的安全索引,包括密文,上传至云服务器,由云服务器进行存储;

所述子字符串搜索模块用于构建搜索令牌和搜索;

构建搜索令牌:运行于客户端,负责对搜索请求计算搜索令牌;

搜索:运行于客户端和服务器端,客户端发送搜索令牌,服务器根据令牌搜索加密的安全索引,并将搜索后的结果返回给客户端;

所述验证解密模块用于解密和验证;

解密:运行于客户端,客户端收到返回的结果后,用自己的私钥对返回的结果进行解密,获取搜索结果明文;

验证:运行于客户端,对解密后的明文进行验证,如果某步验证不通过,则丢弃此明文。

2.一种基于后缀树的可搜索加密方法,其特征在于:包括以下步骤:

步骤1、根据安全参数λ,输出用户的对称密钥K;

随机选择7个比特串KD,KC,KL,K1,K2,K3,其中,KD为字典结构D的加密密钥,KC为密文数组C的密钥,KL为叶子数组结构L的密钥,K1,K2用于处理字典结构D入口值和对应后缀树节点u的第i个孩子节点child(u,j)的值,以及用于计算搜索令牌Tok=T1、...、Tm,K3,K4分别用来对待搜索字符串下标数ind,...,ind+m-1以及叶子的位置leftleaf,...,leftleaf+num-1进行伪随机置换;最后,输出K=(KD,KC,KL,K1,K2,K3,K4)作为用户的密钥,保证每个密钥各不相同;

步骤2、客户端对给定数据构建后缀树Ts;利用UKK算法将给定的字符串s构建成后缀树;

步骤3、客户端根据后缀树Ts建立安全索引CT并上传至服务器,其中CT由字典结构D、密文数组C和叶子数组L组成,表示为CT=(D,C,L);

所述字典结构D对后缀树Ts的每一个节点u建立一条包括key和value的条目,表示为D=(key,value),其中,key存储搜索的入口,键值value由搜索结构和待返回的密文结构组成;找到搜索入口,即能返回对应的value,用户进行解密操作;所述字典结构D采用进行构造,为后缀树的根节点到节点u的父亲节点上所有边上的字符串的连接,再加上节点u的父亲节点到它本身边上的第一个字符ω;

客户端与服务器之间的交互搜索如下:

步骤4、在用户搜索时,选取待搜索字符串p=p1,...pm∈∑s.len,其中,s.len为待搜索字符串长度,并计算搜索令牌上传至服务器;

步骤5、服务器接收到搜索令牌Tok后,先找到字典结构的初始入口,即根节点u0的字典项D(F(K1,∈)),其中,∈表示空字符串;

步骤6、对于每个搜索令牌Ti′,使用伪随机函数f(i′)按搜索令牌顺序进行解密;

步骤7、用户运行解密操作,若解密失败,输出⊥并中止搜索协议,否则验证解密操作是否成立,若不成立,则输出⊥并中止搜索协议;否则,用户发送随机序列(x1,...xm)给服务器;

步骤8、服务器根据(x1,...xm)搜索密文数组C,令Ci″=C[xi′]i″=1,...,m,并发送(C1,...Cm)给用户;

步骤9、客户端执行循环执行步骤7m次,i″初始值为1,每执行一次,i″增加1,当i″>m时,终止协议;

若Y=⊥,输出⊥并中止查询协议,否则,使搜索结果为(pi′,j″),若j″≠ind+i″-1,输出⊥;当j″=ind+i″-1时,如果p′1,…,p′m≠p,用户输出Φ作为答案然后结束协议;如果p′1,...,p′m=p,i″=1,...,num,用户选择随机序列π2:[num]→[num],使用户发送随机序列(y1,...ynum)给服务器;

步骤10、如果i″=m,跳转到步骤8,否则,将i″加1,跳转到步骤7;

步骤11、服务器端设置Li″=L[yi″],i″=1,...,num,并将(L1,...Lnum)发送给客户端;

步骤12、客户端执行i=1,...,num,i″初始值为1,循环执行步骤12num次,当i″>num时终止搜索;

如果搜索结果为⊥,客户端输出⊥作为答案;

如果搜索结果为(ai″,j″),且j″≠leftleaf+i″-1,则客户端输出⊥作为答案,如果j″=leftleaf+i″-1,则客户端输出A={a1,...anum}作为答案。

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

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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