[发明专利]一种支持多查询的密文数据库中间件的设计方法在审
申请号: | 201510242584.8 | 申请日: | 2015-05-13 |
公开(公告)号: | CN104881280A | 公开(公告)日: | 2015-09-02 |
发明(设计)人: | 戴华;王磊;王琛;羊梦娇;保静静;杨庚 | 申请(专利权)人: | 南京邮电大学 |
主分类号: | G06F9/44 | 分类号: | G06F9/44;G06F17/30 |
代理公司: | 南京知识律师事务所 32207 | 代理人: | 汪旭东 |
地址: | 210023 *** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 支持 查询 数据库 中间件 设计 方法 | ||
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:接收返回的密文查询结果,通过建立的密文数据字典,将返回的密文数据进行解密,最后将解密的明文数据返回给用户。
2.根据权利要求1所述的一种支持多查询的密文数据库中间件的设计方法,其特征在于,所述方法的步骤1包括:在最开始需要做的是SQL语句的语法检查,常规地检查SQL语句有没有基本的语法错误,如果有错误,直接返回报告语法错误;如果没有错误,进入下一个阶段。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京邮电大学,未经南京邮电大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510242584.8/1.html,转载请声明来源钻瓜专利网。