[发明专利]一种适用于关系数据库的可查询加密方法有效
申请号: | 202110380758.2 | 申请日: | 2021-04-09 |
公开(公告)号: | CN113157821B | 公开(公告)日: | 2022-03-15 |
发明(设计)人: | 许春香;黄雨晴;张源;胡清华 | 申请(专利权)人: | 电子科技大学;电子科技大学长三角研究院(湖州) |
主分类号: | G06F16/28 | 分类号: | G06F16/28;G06F16/27;G06F16/2455;G06F16/22;G06F21/60 |
代理公司: | 电子科技大学专利中心 51203 | 代理人: | 邹裕蓉 |
地址: | 611731 四川省成*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 适用于 关系 数据库 查询 加密 方法 | ||
1.一种适用于关系数据库的可查询加密方法,其特征在于,由一个转发模块和多个子查询模块构造的分布式的可查询加密系统进行执行,所述转发模块和多个子查询模块被加载在云服务器的硬件飞地中;各子查询模块对应负责云服务器内的一块存储区域,各子查询模块内部有一个本地可信存储stash,可查询加密具体包括以下步骤:
1)初始化阶段:转发模块与用户进行身份认证并进行会话密钥协商,每个子查询模块初始化自己负责的云服务器内的存储区为Path ORAM结构;
2)当用户需要存储数据时:
2-1)由转发模块接收用户向云服务器发起数据插入请求;
2-2)转发模块从数据插入请求获取待存储数据,将待存储数据以表项为单位重新划分,对每一个表项封装为表项插入请求并转发,一个表项插入请求转发至一个子查询模块;
2-3)该子查询模块对接收到一个表项插入请求通过以下方式在存储区中插入一条新表项:
a.子查询模块从表项插入请求获取待插入表项data后,构造用于存放data的块bl,并且构造指向块bl的指针ptr;
b.子查询模块提取data中的全部查询标签构成列表TAG,并对于列表TAG中的每一个查询标签tag生成映射(tag,ptr),将一个映射(tag,ptr)作为一条DOSM的映射条目,将列表TAG对应的全部映射条目组成关键字映射列表ListP;
c.子查询模块利用DOSM的INSERT算法将ListP中每一条映射条目以加密形式存储至其负责的云服务器内的存储区中;
d.子查询模块对步骤a中产生的块bl与stash中的块bl进行分组,以桶为单位进行加密后存储至其负责的云服务器内的存储区中;
3)当用户需要查询数据时:
3-1)由转发模块接收用户向云服务器发起的查询请求;
3-2)转发模块将查询请求转发所有子查询模块;
3-3)各子查询模块通过以下方式进行数据查询得到查询结果:
a.子查询模块从查询请求获取查询标签tag,使用DOSM的FIND算法与其负责的云服务器内的存储区交互获取符合查询标签tag的表项的指针所组成的指针列表PTR;
b.子查询模块对于PTR中的每一个指针,子查询模块与存储区交互获取指针指向的路径上的所有桶至stash,再在stash中找到包含有查询标签的表项的块bl作为查询结果;当子查询模块获取的PTR为空时,则构造随机值填充的查询结果;
c.子查询模块在stash中更新被查询到的表项的指针,生成新的映射条目,调用DOSM中的DELETE算法将删除其负责的云服务器内的存储区中旧的指针列表PTR中对应的所有映射条目,调用DOSM中的INSERT算法将新的映射条目以加密形式存储至其负责的云服务器内的存储区中,最后将stash中的块bl进行分组,以桶为单位进行加密后存储至其负责的云服务器内的存储区中,从而完成存储区内被查询的表项的存储位置以及对应指针的更新;
3-4)云服务器返回查询结果:各子查询模块将查询结果进行填充后返回给转发模块;转发模块使用会话密钥加密查询结果返回给用户。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于电子科技大学;电子科技大学长三角研究院(湖州),未经电子科技大学;电子科技大学长三角研究院(湖州)许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110380758.2/1.html,转载请声明来源钻瓜专利网。