当前位置: 首页 > 专利查询>吴伟峰专利>正文

一种加密数据快速模糊查询方法技术

技术编号:28710537 阅读:19 留言:0更新日期:2021-06-05 23:58
本发明专利技术公开了一种加密数据快速模糊查询方法。所述方法主要涉及用户数据库模块、协同数据库模块、双库协同调度模块、用户数据加解密模块、协同数据加解密模块、用户库执行代理模块和协同库执行代理模块,用户库用于存储用户数据,协同库用于存储快速模糊查询使用的协同数据,双库协同调度模块进行用户库和协同库间的协同转换调度工作以完成sql任务,执行代理模块分别用于向用户库或协同库提交sql命令并返回操作结果。本发明专利技术基于双库数据分离、差异加解密并独立部署数据的策略,打断数据间的联接关系,对用户敏感数据高强度加密的同时提供快速模糊查询服务,并提供增加、删除和更新数据的服务。对比现有技术,本发明专利技术更加安全、高效和灵活。效和灵活。效和灵活。

【技术实现步骤摘要】
一种加密数据快速模糊查询方法


[0001]本专利技术属于信息安全以及数据库加密
,具体涉及一种加密数据快速模糊查询方法。

技术介绍

[0002]随着社会信息化程度的日益提高,产生了大量存储于数据库中的敏感数据。攻击者利用各种手段获取对私有数据的访问权限,也有失职的管理员窃取或泄露数据,因此,最安全的保护方法是对数据进行加密。数据加密后,如果要对加密字段数据进行模糊查询,就必须将所有数据先解密再匹配查询,严重制约了其实际可用性;有人提出使用索引的加密方法解决加密数据的模糊查询问题,但此类方法是基于数据分片生成索引密文的,导致模糊查询中间结果体量大,包含很多错误的数据,需要对中间结果数据解密处理并进行二次模糊查询,致使整体性能不高且安全性欠佳。

技术实现思路

[0003]为解决现有技术中存在的上述问题,本专利技术提供了一种加密数据快速模糊查询方法。本方法基于用户库和协同库数据分离、使用不同加密算法加密、独立部署数据的策略,打断字段数据间的联接关系,对敏感数据高强度加密的同时提供快速的加密数据模糊查询服务,并提供增加、删除和更新数据的服务。
[0004]本专利技术是通过下述技术方案来实现的。
[0005]一种加密数据快速模糊查询方法,包括用户数据库模块、协同数据库模块、双库协同调度模块、用户数据加解密模块、协同数据加解密模块、用户库执行代理模块和协同库执行代理模块,其中:用户数据库模块用于存储用户明文字段的明文数据和加密字段的密文数据;协同数据库模块用于存储快速模糊查询使用的协同数据;双库协同调度模块包括sql解析部分和sql转换协同部分;用户数据加解密模块包括用户数据加密部分和用户数据解密部分;协同数据加解密模块包括协同数据加密部分和协同数据解密部分;用户库执行代理模块用于接收sql命令,向用户数据库提交sql命令并返回执行的结果数据;协同库执行代理模块用于接收sql命令,向协同数据库提交sql命令并返回执行的结果数据。
[0006]对用户数据的加解密可选择任意一种高强度加解密算法进行加密和解密,对协同数据的加解密另外选择不同的加解密算法进行加密和解密。用户数据由编号字段数据、加密字段数据和其它字段数据组成,编号字段数据是用户数据条目的唯一ID编码;协同明文数据由编号字段和加密字段的用户明文数据构成,协同数据存在的目的是用以支撑快速模糊查询。
[0007]用户数据和协同加密数据可分别部署在不同的机器上,从物理层面将用户数据和协同数据隔离开,增强数据的安全性。
[0008]所述用户数据加密部分的具体工作步骤如下:步骤S1:提取用户编号字段明文数据P_id_user,加密字段明文数据P_d_user;步骤S2:用户选用任意一种加解密算法pi对数据P_d_user进行加密,生成用户密文数据C_d_user = E(pi, P_d_user)。
[0009]所述用户数据解密部分的具体工作步骤如下:步骤S3:提取加密字段用户密文数据C_d_user;步骤S4:使用相应的加解密算法pi解密用户密文数据C_d_user,生成加密字段对应的明文数据P_d_user = D(pi, C_d_user)。
[0010]所述协同数据加密部分的具体工作步骤如下:步骤S5:提取步骤S1中使用的用户明文数据并赋值给协同数据变量,P_id_syn = P_id_user(编号字段)和P_d_syn = P_d_user(加密字段);步骤S6:使用高强度加解密算法pj加密数据P_id_syn,生成编号字段协同密文数据C_id_syn = E(pj, P_id_syn);步骤S7:使用低强度加解密算法pk加密数据P_d_syn,生成加密字段协同密文数据C_d_syn = E(pk, P_d_syn),低强度加密算法的加密操作不改变数据原有的数据特性,比如:置换加密。
[0011]所述协同数据解密部分的具体工作步骤如下:步骤S8:使用相配套的高强度加解密算法pj解密编号字段协同密文数据C_id_syn,生成编号字段协同明文数据P_id_syn = D(pj, C_id_syn)。
[0012]所述sql解析部分完成对sql语句的解析工作:步骤S9:解析sql语句,获取sql语句的操作类型、操作表、操作字段、操作条件和操作数据等信息。
[0013]所述sql转换协同部分的具体工作步骤如下:步骤S10:根据步骤S9获取的解析信息判断是否涉及加密字段,如果涉及加密字段则继续执行,否则不进行sql语句转换并转用户库执行代理模块;步骤S11:根据步骤S9获取的操作类型、操作表、操作字段、操作条件和操作数据等信息,针对用户数据或协同数据完成对数据的加解密和sql语句转换工作,分情况转用户库执行代理模块和(或)协同库执行代理模块。
[0014]进一步,所述步骤S11中,针对用户数据完成对数据加解密和sql语句转换的具体步骤如下:111)判断sql语句的操作类型;1111)如果是插入语句,使用步骤S2操作将加密字段明文数据加密为用户密文数据并对sql语句进行数据替换;1112)如果是更新语句,分情况处理:11121)如果更新语句的操作条件涉及加密字段的模糊查询,先构造一个相关加密字段的子模糊查询语句提交给步骤112获取相关记录的编号字段协同密文数据,然后使用步骤S8操作将密文数据解密为编号字段明文数据并调整sql语句相应的操作条件;
11122)使用步骤S2操作将加密字段明文数据加密为用户密文数据并对sql语句进行数据替换;1113)如果是删除语句,分情况处理:11131)如果删除语句的操作条件涉及加密字段的模糊查询,先构造一个相关加密字段的子模糊查询语句提交给步骤112获取相关记录的编号字段协同密文数据,然后使用步骤S8操作将密文数据解密为编号字段明文数据并调整sql语句相应的操作条件;11132)使用步骤S2操作将加密字段明文数据加密为用户密文数据并对sql语句进行数据替换;1114)如果是查询语句,分情况处理:11141)如果查询语句的操作条件涉及加密字段的模糊查询,先构造一个相关加密字段的子模糊查询语句提交给步骤112获取相关记录的编号字段协同密文数据,然后使用步骤S8操作将密文数据解密为编号字段明文数据并调整sql语句相应的操作条件;11142)使用步骤S2操作将加密字段明文数据加密为用户密文数据并对sql语句进行数据替换。
[0015]所述步骤S11中,针对协同数据完成对数据加解密和sql语句转换的具体步骤如下:112)判断sql语句的操作类型;1121)如果是插入语句,首先判断插入数据是否和协同数据有关,无关直接返回,否则提取出和协同数据相关的数据,使用步骤S6操作将编号字段明文数据加密为协同密文数据,使用步骤S7操作将加密字段明文数据加密为协同密文数据并对sql语句进行数据替换,同时将sql语句原操作表替换为相应的协同库数据表;1122)如果是更新语句,首先判断更新数据是否和协同数据有关,无关直接返回,否则提取出和协同数据相关的数据,分情况处理:11221)如果更新语句的操作本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种加密数据快速模糊查询方法,其特征在于,包括用户数据库模块、协同数据库模块、双库协同调度模块、用户数据加解密模块、协同数据加解密模块、用户库执行代理模块和协同库执行代理模块,其中:用户数据库模块用于存储用户明文字段的明文数据和加密字段的密文数据;协同数据库模块用于存储快速模糊查询使用的协同数据;双库协同调度模块包括sql解析部分和sql转换协同部分;所述sql解析部分对传入的sql语句进行语句解析;所述sql转换协同部分基于用户原始sql语句解析结果,自动进行操作协同调度,通过多轮sql语句转换和协同库操作,根据协同数据库返回结果调整生成所需的最终用户sql语句;用户数据加解密模块包括用户数据加密部分和用户数据解密部分;所述用户数据加密部分对用户明文敏感数据进行加密处理生成用户密文数据;所述用户数据解密部分对用户密文数据使用相应的解密算法进行解密处理生成用户明文敏感数据;协同数据加解密模块包括协同数据加密部分和协同数据解密部分;所述协同数据加密部分对协同明文数据的各部分分别使用高强度加密算法和低强度加密算法进行加密处理生成协同密文数据;所述协同数据解密部分对协同密文数据的各部分使用相配套的解密算法进行解密处理生成协同明文数据;用户库执行代理模块用于接收sql命令、向用户数据库提交sql命令并返回执行的结果数据;协同库执行代理模块用于接收sql命令、向协同数据库提交sql命令并返回执行的结果数据。2.根据权利要求1所述的一种加密数据快速模糊查询方法,其特征在于,所述用户明文数据由编号字段、加密字段和其它字段的明文数据构成,编号字段数据是用户数据条目的唯一ID编码。3.根据权利要求1所述的一种加密数据快速模糊查询方法,其特征在于,所述协同明文数据由编号字段和加密字段的用户明文数据构成。4.根据权利要求1所述的一种加密数据快速模糊查询方法,其特征在于,所述用户数据加密部分的具体工作步骤如下:步骤S1:提取用户编号字段明文数据P_id_user,加密字段明文数据P_d_user;步骤S2:用户选用任意一种加解密算法pi对数据P_d_user进行加密,生成用户密文数据C_d_user = E(pi, P_d_user)。5.根据权利要求1、4所述的一种加密数据快速模糊查询方法,其特征在于,所述用户数据解密部分的具体工作步骤如下:步骤S3:提取加密字段用户密文数据C_d_user...

【专利技术属性】
技术研发人员:吴伟峰
申请(专利权)人:吴伟峰
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1