[发明专利]一种支持skyline查询的可搜索加密方法与系统有效
申请号: | 201811631193.5 | 申请日: | 2018-12-29 |
公开(公告)号: | CN109815730B | 公开(公告)日: | 2020-11-20 |
发明(设计)人: | 迟佳琳;冯登国;张敏;李昊;张立武 | 申请(专利权)人: | 中国科学院软件研究所 |
主分类号: | G06F21/62 | 分类号: | G06F21/62;G06F16/2458 |
代理公司: | 北京君尚知识产权代理有限公司 11200 | 代理人: | 司立彬 |
地址: | 100190 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 支持 skyline 查询 搜索 加密 方法 系统 | ||
1.一种支持skyline查询的可搜索加密方法,其步骤包括:
1)对于每一待上传的元组,客户端生成该元组的用于最近邻查询的安全索引以及该元组的用于支配查询的安全索引并对该元组进行加密;然后将该元组的密文数据、安全索引以及安全索引发送给云存储系统;云存储系统根据收到的各元组的密文数据、安全索引以及安全索引生成密文索引;
2)客户端根据skyline查询中的查询条件生成用于最近邻查询的安全陷门并将其发送给云存储系统;
3)云存储系统根据用于最近邻查询的安全索引和安全陷门找到匹配的元组,并将其对应的密文数据返回给客户端;
4)客户端对云存储系统返回的密文数据进行解密;如果需要继续查找,则根据解密得到的元组以及查询条件生成用于支配查询的安全陷门并将其发送给云存储系统;
5)云存储系统根据用于支配查询的安全索引和安全陷门确定出被支配的元组并剔除;
6)将已被返回给客户端和已被剔除的元组之外的元组构成一集合;
7)如果该集合不为空,则对该集合中的元组重复步骤3)~6),直至该集合为空或不再需要继续查找;
其中,安全索引安全索引安全陷门和安全陷门使用任意保留向量内积的加密算法;
生成所述安全索引的方法为:对于一个d维元组P=(p1,p2,...,pd),为其构造一个长度为2d的向量并对进行加密得到用于最近邻查询的安全索引其中,pd表示元组P的第d维属性值;
生成所述安全索引的方法为:对于一个d维元组P=(p1,p2,...,pd),对于i∈[1,d],分别构造一个长度为3的向量并将其加密得到最终得到用于支配查询的安全索引
生成所述安全陷门的方法为:对于一个d维查询条件Q=(q1,q2,...,qd),为其构造一个长度为2d的向量并将其加密得到用于最近邻查询的安全陷门qd表示查询条件Q的第d维属性值,是一个实数;
生成所述安全陷门的方法为:对于客户端解密得到的元组R=(r1,r2,...,rd)和查询条件Q=(q1,q2,...,qd),对于i∈[1,d],分别构造一个长度为3的向量并将其加密得到最终得到用于支配查询的安全陷门其中,rd表示元组R的第d维属性值,qd表示查询条件Q的第d维属性值,是一个实数。
2.如权利要求1所述的方法,其特征在于,确定出被支配的元组的方法为:对于查询条件Q对应的支配查询安全陷门以及元组P对应的支配查询安全索引如果对于任意i∈[1,d]均满足且至少存在一个i∈[1,d]使得则确定元组P被元组R支配。
3.如权利要求1所述的方法,其特征在于,找到匹配的元组的方法为:通过分别计算各元组对应的最近邻查询安全索引与安全陷门的内积,如果元组P对应的最近邻查询安全索引与安全陷门的内积最小,则将元组P作为匹配的元组。
4.一种支持skyline查询的可搜索加密系统,其特征在于,包括云存储系统和若干客户端,各所述客户端分别通过网络与所述云存储系统连接,所述客户端包括安全模块、索引操作模块、陷门操作模块,所述云存储系统包括查询服务器和密文存储服务器;其中,
所述安全模块,用于对元组进行加解密操作,并对索引向量和陷门向量进行加密操作,得到对应的安全索引和安全陷门;所述安全索引包括元组的用于最近邻查询的安全索引以及元组的用于支配查询的安全索引所述安全陷门包括用于最近邻查询的安全陷门和用于支配查询的安全陷门
所述索引操作模块,用于生成元组的索引向量,由安全模块加密元组和索引向量后,将密文数据和安全索引发送给云存储系统;
所述陷门操作模块,用于生成陷门向量,由安全模块加密陷门向量后,将安全陷门发送给云存储系统;
所述查询服务器,用于存储安全索引,并根据安全索引和安全陷门进行查询操作,将查询到的元组对应的标识id发送给密文存储服务器;
所述密文存储服务器,用于存储密文数据,并将查询服务器发来的标识id对应的密文数据返回给客户端;
其中,安全索引安全索引安全陷门和安全陷门使用任意保留向量内积的加密算法;
生成所述安全索引的方法为:对于一个d维元组P=(p1,p2,...,pd),为其构造一个长度为2d的向量并对进行加密得到用于最近邻查询的安全索引其中,pd表示元组P的第d维属性值;
生成所述安全索引的方法为:对于一个d维元组P=(p1,p2,...,pd),对于i∈[1,d],分别构造一个长度为3的向量并将其加密得到最终得到用于支配查询的安全索引
生成所述安全陷门的方法为:对于一个d维查询条件Q=(q1,q2,...,qd),为其构造一个长度为2d的向量并将其加密得到用于最近邻查询的安全陷门qd表示查询条件Q的第d维属性值,是一个实数;
生成所述安全陷门的方法为:对于客户端解密得到的元组R=(r1,r2,...,rd)和查询条件Q=(q1,q2,...,qd),对于i∈[1,d],分别构造一个长度为3的向量并将其加密得到最终得到用于支配查询的安全陷门其中,rd表示元组R的第d维属性值,qd表示查询条件Q的第d维属性值,是一个实数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院软件研究所,未经中国科学院软件研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811631193.5/1.html,转载请声明来源钻瓜专利网。
- 上一篇:基于区块链的具有隐私保护的公平合同签署方法
- 下一篇:权限处理方法及相关设备