[发明专利]一种支持多查询的密文数据库中间件的设计方法在审
申请号: | 201510242584.8 | 申请日: | 2015-05-13 |
公开(公告)号: | CN104881280A | 公开(公告)日: | 2015-09-02 |
发明(设计)人: | 戴华;王磊;王琛;羊梦娇;保静静;杨庚 | 申请(专利权)人: | 南京邮电大学 |
主分类号: | G06F9/44 | 分类号: | G06F9/44;G06F17/30 |
代理公司: | 南京知识律师事务所 32207 | 代理人: | 汪旭东 |
地址: | 210023 *** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公布了一种支持多查询的密文数据库中间件的设计方法,该方法通过对数据进行加密和对数据关系模式进行匿名化,实现可用于存在数据库外包服务的云环境中针对关系数据库存储数据的安全保护,在确保数据可用性的前提下,防范云服务提供商对数据隐私的窥探和泄露。本发明所述的方法主要包括:数据加密存储类型和查询类型的对应、本地数据字典的建立、SQL语句重写等。本发明可以支持:多种方式的密文数据存储、关系模式的匿名化和密文数据字典、密文数据的多种方式查询。该方法易于实现,安全性高,效率高,支持等值查询、范围查询、聚合查询、Top‑k查询等多种查询方式,且无需对数据库软件进行任何修改,可广泛支持各种商用关系数据库。 | ||
搜索关键词: | 一种 支持 查询 数据库 中间件 设计 方法 | ||
【主权项】:
1.一种支持多查询的密文数据库中间件的设计方法,其特征在于,所述方法通过对SQL语句操作进行重写,在关系模式和数据的匿名化的条件下,利用普通对称加密方式、保序加密、同态加密加密方式在数据库内部实现数据查询,将返回加密数据解密,不需要对数据库进行修改,包括如下步骤:步骤1:SQL语法检查,语法检查正确,执行步骤2;否则,报告错误信息;步骤2:检查SQL语句查询方式与加密存储类型是否匹配,其中通过调用密文数据字典,对SQL语句中查询方式与数据项加密存储类型的匹配检查,匹配执行步骤3,否则,报告错误信息;步骤3:重写SQL语句,对SQL语句的目标表达式、表名和列名进行替换以及和SQL语句的条件因子进行替换;重写SQL语句为安全SQL语句,包括:I.对SELECT语句中的目标表达式、表名和列名进行替换:将SQL语句中所有的目标表达式、表名和列名,根据密文数据字典中存储的表名与列名的明文与密文的对应关系,将所有的表名和列名以及目标表达式,进行匿名化替换;II.对SELECT语句中的条件因子进行替换:将SQL语句中的所有的条件因子进行替换;条件因子形如“exp1 op exp2”,由系统自动来根据本地数据字典,来判别exp1或exp2是属性名,根据关系谓词op来选择将属性名替换成相应的加密属性名;如果关系谓词op是“=”,则将属性名替换成任意的加密属性名,并在属性名前自动添加所属的表和数据库信息,再将另一个表达式根据加密属性的算法替换成加密的数据;如果关系谓词op为“<”、“>”、“<=”、“>=”,则必须将属性名替换为相应的保序加密数据的列名,并在列名前添加所属的表和数据库信息,再将另一个表达式替换成相应的保序加密的数据,最后将条件因子的表达式全部统一为匿名数据库名.匿名数据表名.匿名列名op数据表达式;对原始的SQL语句完全进行重写,对所有的数据进行加密以及对关系模式进行匿名化处理,改写为安全SQL语句;步骤4:提交安全SQL语句给数据库,等待数据库执行;步骤5:数据库执行安全SQL语句,并返回密文查询结果;步骤6:接收返回的密文查询结果,通过建立的密文数据字典,将返回的密文数据进行解密,最后将解密的明文数据返回给用户。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京邮电大学,未经南京邮电大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201510242584.8/,转载请声明来源钻瓜专利网。