[发明专利]多用户环境下基于细粒度排序的数据密文查询方法有效
申请号: | 201910493925.7 | 申请日: | 2019-06-08 |
公开(公告)号: | CN110222081B | 公开(公告)日: | 2022-04-19 |
发明(设计)人: | 苗银宾;童秋云;马建峰;李颖莹;王祥宇;马卓然 | 申请(专利权)人: | 西安电子科技大学 |
主分类号: | G06F16/2457 | 分类号: | G06F16/2457;G06F21/60;G06F21/62;H04L9/40 |
代理公司: | 陕西电子工业专利中心 61205 | 代理人: | 田文英;王品华 |
地址: | 710071 陕*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了多用户环境下基于细粒度排序的数据密文查询方法,具体实现步骤包括:1、生成带有访问结构的目标数据矩阵;2、设置主密钥和对称密钥;3、对目标数据矩阵进行加密;4、生成绑定访问角色的目标查询向量;5、为每个查询用户生成不同的陷门生成密钥和重加密密钥;6、对目标查询向量进行加密;7、对查询请求的中间陷门进行重加密;8、查询密文;9、解密返回的密文;10、删除撤销的查询用户。本发明实现了多查询用户对云服务器接收到的数据密文进行高效的细粒度访问控制、多关键字排序查询和查询用户撤销操作。 | ||
搜索关键词: | 多用户 环境 基于 细粒度 排序 数据 查询 方法 | ||
【主权项】:
1.一种多用户环境下基于细粒度排序的数据密文查询方法,其特征在于,为每个查询用户生成不同的陷门生成密钥和重加密密钥,删除撤销的查询用户,该方法的具体步骤如下:(1)生成带有访问结构的目标数据矩阵:(1a)利用文本矩阵化方法,将每个外包电子文档转化为中间数据矩阵;(1b)从去0后模p的剩余类环中选取Y个元素组成访问角色集,其中,Y的取值等于查询用户类别的总数;(1c)从访问角色集中为每个外包电子文档选取有权访问该电子文档的所有访问角色作为根,构建角色多项式;(1d)添加系数为0且幂指数小于或等于Y的项,使得每个角色多项式展开式的项数为Y+1;(1e)将每个角色多项式展开式的各项按幂指数递增的顺序排列,将排列后的各项系数扩展到相应外包电子文档对应的中间数据矩阵每一列的末尾,得到目标数据矩阵;(2)设置主密钥和对称密钥:(2a)随机生成一个维数与目标数据矩阵行数相同的二进制向量、两个阶数均与目标数据矩阵行数相同的可逆矩阵,将二进制向量和两个可逆矩阵组成主密钥;(2b)生成对称加密算法的对称密钥;(2c)将主密钥发送给数据拥有者,保留对称密钥;(3)对目标数据矩阵进行加密:(3a)利用数据矩阵分裂方法,将每个外包电子文档对应的目标数据矩阵分裂成两个随机矩阵,将两个随机矩阵作为相应外包电子文档的两个子矩阵;(3b)对主密钥中的两个可逆矩阵进行转置操作,将转置后的两个可逆矩阵分别与每个外包电子文档的两个子矩阵相乘,组成相应外包电子文档索引;(3c)利用对称密钥对每个外包电子文档进行加密,得到密文;(3d)将所有电子文档索引和密文打包发送给云服务器;(3f)根据每个查询用户的身份,为查询用户从访问角色集中选取一个访问角色,将每个访问角色通过安全通道发送给所选查询用户;(4)生成绑定访问角色的目标查询向量:(4a)利用文本关键字提取算法,从查询用户提交的查询请求中提取所有的关键字组成查询关键字集;(4b)通过添加外包电子文档集中没有的关键字,将查询关键字集扩展成包含d个关键字的目标关键字集,其中,d查询用户最多能输入的关键字的总数;(4c)利用哈希函数,将目标关键字集中每个关键字映射到去0后模p剩余类环中;(4d)将目标关键字集中所有关键字的哈希值作为根,构建查询多项式;(4e)将查询多项式展开式的各项按幂指数递增的顺序排列后的各项系数组成中间查询向量;(4f)将拥有的访问角色的0~Y次幂扩展到中间查询向量的末尾,得到目标查询向量;(5)为每个查询用户生成不同的陷门生成密钥和重加密密钥:(5a)为每个查询用户随机生成两个阶数与目标数据矩阵行数相同的可逆矩阵,将生成的两个可逆矩阵和主密钥中的二进制向量组成相应查询用户的陷门生成密钥;(5b)对每个查询用户的陷门生成密钥中的两个可逆矩阵进行求逆操作,将求逆后的两个可逆矩阵分别与主密钥中的两个可逆矩阵相乘后组成相应查询用户的重加密密钥;(5c)将每个陷门生成密钥发送给相应的查询用户;(5d)将所有查询用户的身份和相应的重加密密钥成对发送给云服务器;(5f)将接收到的查询用户的身份和相应的重加密密钥成对添加到初始状态为空集的用户密钥映射集中;(6)对目标查询向量进行加密:(6a)利用查询向量分裂方法,将目标查询向量分裂成两个随机向量,将两个随机向量作为相应查询请求的两个子向量;(6b)对陷门生成密钥中两个可逆矩阵进行求逆操作,将求逆后的两个可逆矩阵分别与查询请求的两个子向量相乘后组成查询请求的中间陷门;(6c)将查询请求的中间陷门、相应查询用户的身份和N提交给云服务器,其中,N为区间[1,u)上的一个正整数,u表示查询关键字集中关键字的总数;(7)对查询请求的中间陷门进行重加密:(7a)根据查询用户提交的身份从用户密钥映射集中找到对应的重加密密钥;(7b)对重加密密钥中的两个可逆矩阵进行求逆操作,将求逆后的两个可逆矩阵分别与查询请求的中间陷门中两个子向量相乘后组成查询请求的目标陷门;(8)查询密文:(8a)对每个外包电子文档索引中的两个矩阵进行转置操作,将转置后的两个矩阵分别与目标陷门中的两个向量相乘,两次乘积结果相加后得到相应外包电子文档的属性向量;(8b)将每个外包电子文档的属性向量中“0”的数量作为相应外包电子文档的得分;(8c)从所有外包电子文档的得分中筛选大于或等于N的所有密文,按得分大小对筛选出的所有密文从大到小排序;(8d)将排序的密文发送给第三方可信密钥管理系统;(9)解密返回的密文:(9a)利用对称密钥,对第三方可信密钥管理系统接收到的密文进行解密,得到每个密文对应的明文;(9b)将解密后的明文发送给相应的查询用户;(10)删除撤销的查询用户:(10a)向云服务器发送查询用户撤销的通知;(10b)根据第三方可信密钥管理系统发出的通知,从用户密钥映射集中删除撤销的查询用户的身份和相应的重加密密钥。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安电子科技大学,未经西安电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201910493925.7/,转载请声明来源钻瓜专利网。