支持模糊查询的数据库操作方法及用户端与流程

未命名 09-12 阅读:103 评论:0


1.本发明涉及密码应用技术领域,具体涉及一种支持模糊查询的数据库操作方法及用户端。


背景技术:

2.数据库的数据加密以后,对其内容的查询会存在一定的问题,特别是对于模糊查找,因为数据库中的每一条数据内容都是整体进行加密,精确查找可以对需要查找的内容进行同样算法和相同密钥的加密,然后比较匹配即可,而模糊查询时只是对部分查找关键词进行,对这部分需查找的关键词,即使采用同样算法和相同密钥,加密后的结果与包括该关键词的数据内容整体加密的结果也完全无法匹配。如果对数据库被查找列各条数据逐一解密后进行比较匹配,效率和安全性都非常低。
3.当前常用的方案,是对数据内容进行分词处理,即从数据内容中拆分和组合出常用的关键词,然后对这些关键词进行加密处理后组成集合,模糊查询时加密查询关键词并先在关键词密文集合中比较匹配,比如公布号为cn114201532a和公布号为cn113076562a的专利申请文献都是基于分词原理,即将明文分出很多小的字段进行加密,形成模糊查询的检索集合,但这种方法如果要覆盖所有的分词组合,所得的集合将远远超出加密数据内容本身容量,存储量和运算量都相当大。


技术实现要素:

4.本发明所要解决的技术问题在于如何提供一种支持模糊查询的数据库操作方法,实现对数据库加密内容进行模糊查找,且存储容量不高。
5.本发明是通过以下技术手段解决上述技术问题的:一方面,本发明提出了一种支持模糊查询的数据库操作方法,应用于用户端,所述方法包括:截获用户端对数据库的insert语句;调用数据库密码机采用数据加密密钥对所述insert语句中的明文数据进行加密得到第一密文数据;调用所述数据库密码机对所述insert语句中每列明文数据按字节采用每列对应的单字节加密密钥进行单字节加密处理,得到辅助数据;将所述insert语句中的明文数据替换为拼接后的所述第一密文数据和所述辅助数据并发送至数据库服务器以使所述数据库服务器将所述第一密文数据和所述辅助数据存入同一列表项。
6.进一步地,在所述截获用户端对数据库的insert语句之前,所述方法还包括:获取用户端对数据库的数据定义语句;基于所述数据定义语句的内容,向所述数据库密码机发送密钥申请信息;接收所述数据库密码机反馈的每个新建列对应的各密钥id和随机数,各密钥id包
括数据加密密钥的id、单字节混淆密钥的id和单字节加密密钥的id,所述单字节加密密钥包括所述单字节混淆密钥和所述单字节加密密钥。
7.进一步地,在所述截获用户端对数据库的insert语句之前,所述方法还包括:为用户端产生公私钥对,并将用户端的第一公钥导入所述数据库密码机;接收所述数据库密码机产生的第二公钥,建立tls安全通道。
8.进一步地,所述调用数据库密码机采用数据加密密钥对所述insert语句中的明文数据进行加密得到第一密文数据,包括:基于所述insert语句中新增数据行中每列明文数据对应的数据加密密钥的id,调用所述数据库密码机采用与该数据加密密钥的id对应的数据加密密钥对所述insert语句中的明文数据进行对称分组加密,得到所述密文数据。
9.进一步地,所述调用所述数据库密码机对所述insert语句中每列明文数据按字节采用每列对应的单字节加密密钥进行单字节加密处理,得到辅助数据,包括:基于所述insert语句中新增数据行下的每列数据对应的单字节加密密钥的id,调用所述数据库密码机采用相应的单字节加密密钥进行单字节加密处理;接收所述数据库密码机每次进行单字节加密处理返回的一个字节,按序将返回的字节组合成与该列密文数据等长的辅助数据。
10.进一步地,所述单字节加密密钥包括单字节混淆密钥、单字节加密密钥以及随机数;所述基于所述insert语句中新增数据行下的每列数据对应的单字节加密密钥的id,调用所述数据库密码机采用相应的单字节加密密钥进行单字节加密处理,包括:基于insert语句中新增数据行下的每列数据对应的单字节混淆密钥的id、单字节加密密钥的id和随机数,调用所述数据库密码机采用相应的随机数对该列数据进行分组长度取模,并在根据所述取模结果选取单字节混淆密钥的对应字节以将该字节与需要加密的单字节进行异或操作后,采用单字节加密密钥对单字节混淆密钥进行对称分组加密,得到加密结果;相应地,所接收的所述数据库密码机返回的字节为从加密结果中选取与所述取模结果对应的字节。
11.进一步地,所述方法还包括:截获用户端对数据库的读操作语句;调用所述数据库密码机对所述读操作语句中的模糊查找关键词按字节采用相关列对应的单字节加密密钥进行单字节加密处理;接收所述数据库密码机对模糊查找关键词每字节进行加密处理返回的一个字节,并将返回的字节按序组合后替换所述读操作语句中的明文关键词,得到新的读操作语句;将新的读操作语句发送至所述数据库服务器,以使所述数据库服务器执行新的读操作语句,查询对应的数据行;接收所述数据库服务器返回的数据行,并基于该数据行各列对应的数据加密密钥的id,调用所述数据库密码机采用对应的数据加密密钥该数据行每列数据进行对称分组解密,得到与所述模糊查找关键词对应的明文数据;接收所述数据库密码机返回的所述明文数据。
12.进一步地,所述方法还包括:截获用户端对数据库的写操作语句;调用所述数据库密码机对所述写操作语句中的模糊查找关键词按字节采用相关列对应的单字节加密密钥进行单字节加密处理,得到密文关键词;根据与所述写操作语句相关的列对应的数据加密密钥id,调用所述数据库密码机对所述写操作语句中的明文数据进行对称分组加密处理,得到第二密文数据;根据与所述写操作语句相关的列对应的单字节加密密钥的id,调用所述数据库密码机对所述写操作语句中的该列明文数据进行单字节加密处理;接收所述数据库密码机每次进行单字节加密处理返回的一个字节,按序将返回的字节组合成与该第二密文数据等长的查询辅助数据;将所述查询辅助数据与所述第二密文数据拼接后替换所述写操作语句中的明文数据,得到新的写操作语句;将新的写操作语句发送至所述数据库服务器,以使所述数据库服务器将所述查询辅助数据和所述第二密文数据存入所述密文关键词命中的数据库的行。
13.进一步地,所述方法还包括:截获用户端对数据库的包含模糊查找操作的语句;调用所述数据库密码机对语句中的模糊查找关键词按字节采用相关列对应的单字节加密密钥进行单字节加密处理,得到密文关键词;将所述密文关键词替换所述包含模糊查找操作的语句中的明文关键词,得到新的包含模糊查找操作的语句;将新的包含模糊查找操作的语句发送至所述数据库服务器,以使所述数据库服务器执行删除所述密文关键词匹配命中的数据库的行数据。
14.此外,本发明还提出了一种用户端,所述用户端中部署有服务网格,所述服务网格用于执行如上所述的支持模糊查询的数据库操作方法。
15.本发明的优点在于:(1)本发明通过为需要加密的数据库列建立辅助数据,针对每个明文字节只增加一个辅助查找字节,方便用户对该加密列的数据进行模糊查找,查找辅助数据是针对每个字节进行加密变换,查找时效率和灵活性更高;而且建立的查询辅助数据,基于同样强度的密码算法和密钥长度,不会增加明文泄露风险,存储容量仅增加一倍。
16.本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
17.图1是本发明一实施例提出的一种支持模糊查询的数据库操作方法的流程示意图;图2是本发明一实施例提出的一种支持模糊查询的数据库操作系统的结构示意图;图3是本发明一实施例提出的一种支持模糊查询的数据库操作系统的工作流程示意图。
具体实施方式
18.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
19.如图1所示,本发明一实施例公开了一种支持模糊查询的数据库操作方法,应用于用户端,所述方法包括以下步骤:s10、截获用户端对数据库的insert语句;s20、调用数据库密码机采用数据加密密钥对所述insert语句中的明文数据进行加密得到第一密文数据;s30、调用所述数据库密码机对所述insert语句中每列明文数据按字节采用每列对应的单字节加密密钥进行单字节加密处理,得到辅助数据;s40、将所述insert语句中的明文数据替换为拼接后的所述第一密文数据和所述辅助数据并发送至数据库服务器以使所述数据库服务器将所述第一密文数据和所述辅助数据存入同一列表项。
20.本实施例调用数据库密码机采用数据加密密钥对明文数据进行加密得到第一密文数据,采用每列明文数据对应的单字节加密密钥进行单字节加密处理,得到辅助数据,并将第一密文数据和辅助数据一起存入数据库中的同一列表项;通过为需要加密的数据库列建立辅助数据,方便用户对该加密列的数据进行模糊查找,而且建立的查询辅助数据,基于同样强度的密码算法和密钥长度,不会增加明文泄露风险,存储容量仅增加一倍。
21.在一实施例中,在所述步骤s10:截获用户端对数据库的insert语句之前,所述方法还包括以下步骤:获取用户端对数据库的数据定义语句;基于所述数据定义语句的内容,向所述数据库密码机发送密钥申请信息;接收所述数据库密码机反馈的每个新建列对应的各密钥id和随机数,各密钥id包括数据加密密钥的id、单字节混淆密钥的id和单字节加密密钥的id,所述单字节加密密钥包括所述单字节混淆密钥和所述单字节加密密钥。
22.本实施例在用户端部署服务网格,用于获取用户对数据库的ddl语句(数据库定义语句)内容,并为每个新建列向数据库密码机申请三支对称加密密钥,分别为:数据加密密钥、单字节混淆密钥(与对称密码算法分组长度等长)、单字节加密密钥和一个随机数,并保存数据库密码机返回的各密钥id和随机数至用户端。
23.其中,数据加密密钥用于对明文数据进行加密处理,单字节混淆密钥、单字节加密密钥和随机数构成所述单字节加密密钥,用于对每列数据按字节进行单字节特殊加密处理。
24.在一实施例中,在所述步骤s10:截获用户端对数据库的insert语句之前,所述方法还包括以下步骤:为用户端产生公私钥对,并将用户端的第一公钥导入所述数据库密码机;接收所述数据库密码机产生的第二公钥,建立tls安全通道。
25.具体地,本实施例通过为各用户端的设备或应用安装服务网格,服务网格为用户
产生公私钥对,将各用户的公钥导入数据库密码机,数据库密码机产生设备公私钥对并将设备公钥导入各服务网格,各服务网格和数据库密码机之间基于以上公私钥对建立tls安全通道。
26.在一实施例中,所述步骤s20:调用数据库密码机采用数据加密密钥对所述insert语句中的明文数据进行加密得到第一密文数据,具体包括:基于所述insert语句中新增数据行中每列明文数据对应的数据加密密钥的id,调用所述数据库密码机采用与该数据加密密钥的id对应的数据加密密钥对所述insert语句中的明文数据进行对称分组加密,得到所述密文数据。
27.在一实施例中,所述步骤s30:调用所述数据库密码机对所述insert语句中每列明文数据按字节采用每列对应的单字节加密密钥进行单字节加密处理,得到辅助数据,具体包括以下步骤:s31、基于所述insert语句中新增数据行下的每列数据对应的单字节加密密钥的id,调用所述数据库密码机采用相应的单字节加密密钥进行单字节加密处理;s32、接收所述数据库密码机每次进行单字节加密处理返回的一个字节,按序将返回的字节组合成与该列密文数据等长的辅助数据。
28.在一实施例中,所述步骤s31:基于所述insert语句中新增数据行下的每列数据对应的单字节加密密钥的id,调用所述数据库密码机采用相应的单字节加密密钥进行单字节加密处理,包括以下步骤:基于insert语句中新增数据行下的每列数据对应的单字节混淆密钥的id、单字节加密密钥的id和随机数,调用所述数据库密码机采用相应的随机数对该列数据进行分组长度取模,并在根据所述取模结果选取单字节混淆密钥的对应字节以将该字节与需要加密的单字节进行异或操作后,采用单字节加密密钥对单字节混淆密钥进行对称分组加密,得到加密结果;相应地,所接收的所述数据库密码机返回的字节为从加密结果中选取与所述取模结果对应的字节。
29.需要说明的是,本实施例利用数据库密码机对每列insert的明文数据按字节采用该列对应的单字节混淆密钥id、单字节加密密钥id、随机数逐个调用数据库密码机进行单字节特殊加密处理,数据库密码机的单字节特殊加密处理过程如下:采用随机数(对称密码算法)对分组长度取模,根据取模结果选取单字节混淆密钥的对应字节,将该字节与需要加密的单字节进行异或,然后采用单字节加密密钥对单字节混淆密钥进行对称分组加密,从加密结果中选取上述取模结果对应字节作为返回结果,按序将返回的字节组合成与该列密文数据等长的数据作为辅助数据,并将辅助数据和密文数据拼接在一起替换明文insert数据,在数据库服务器执行该insert语句,将密文数据和辅助数据一起存入数据库的同一个列表项。
30.在一实施例中,所述方法还包括以下步骤:截获用户端对数据库的读操作语句;调用所述数据库密码机对所述读操作语句中的模糊查找关键词按字节采用相关列对应的单字节加密密钥进行单字节加密处理;接收所述数据库密码机对模糊查找关键词每字节进行加密处理返回的一个字节,
并将返回的字节按序组合后替换所述读操作语句中的明文关键词,得到新的读操作语句;将新的读操作语句发送至所述数据库服务器,以使所述数据库服务器执行新的读操作语句,查询对应的数据行;接收所述数据库服务器返回的数据行,并基于该数据行各列对应的数据加密密钥的id,调用所述数据库密码机采用对应的数据加密密钥该数据行每列数据进行对称分组解密,得到与所述模糊查找关键词对应的明文数据;接收所述数据库密码机返回的所述明文数据。
31.具体地,服务网格截获用户对数据库的select等读语句,对读语句中涉及到的模糊查找关键词,调用数据库密码机对关键词按字节采用相关列对应的单字节混淆密钥、单字节加密密钥、随机数逐个调用数据库密码机进行单字节特殊加密处理,返回的字节按序组合后替换select语句的明文关键词,在数据库服务器执行该select语句,命中返回的数据行再采用该行各列对应的数据加密密钥的id调用数据库密码机对该列数据进行对称分组解密得到明文数据并返给用户端。
32.在一实施例中,所述方法还包括以下步骤:截获用户端对数据库的写操作语句;调用所述数据库密码机对所述写操作语句中的模糊查找关键词按字节采用相关列对应的单字节加密密钥进行单字节加密处理,得到密文关键词;根据与所述写操作语句相关的列对应的数据加密密钥id,调用所述数据库密码机对所述写操作语句中的明文数据进行对称分组加密处理,得到第二密文数据;根据与所述写操作语句相关的列对应的单字节加密密钥的id,调用所述数据库密码机对所述写操作语句中的该列明文数据进行单字节加密处理;接收所述数据库密码机每次进行单字节加密处理返回的一个字节,按序将返回的字节组合成与该第二密文数据等长的查询辅助数据;将所述查询辅助数据与所述第二密文数据拼接后替换所述写操作语句中的明文数据,得到新的写操作语句;将新的写操作语句发送至所述数据库服务器,以使所述数据库服务器将所述查询辅助数据和所述第二密文数据存入所述密文关键词命中的数据库的行。
33.具体地,服务网格截获用户对数据库的update等包含模糊查找操作的写语句,对其包含的模糊查找关键词调用数据库密码机进行单字节特殊加密处理后形成密文关键词替换明文关键词,然后采用需update的相关列对应的数据加密密钥id调用数据库密码机对update的明文数据进行对称分组加密得到密文数据,并对需update的相关列的update的明文数据按字节采用该列对应的单字节混淆密钥id、单字节加密密钥id、随机数逐个调用数据库密码机进行单字节特殊加密处理,按序将返回的字节组合成与该列密文数据等长的数据作为查询辅助数据并与密文数据拼接后替换明文update数据,在数据库服务器执行该update语句,将新的密文数据和辅助数据一起存入密文关键词匹配命中的数据库的行。
34.在一实施例中,所述方法还包括以下步骤:截获用户端对数据库的包含模糊查找操作的语句;调用所述数据库密码机对语句中的模糊查找关键词按字节采用相关列对应的单字节加密密钥进行单字节加密处理,得到密文关键词;
将所述密文关键词替换所述包含模糊查找操作的语句中的明文关键词,得到新的包含模糊查找操作的语句;将新的包含模糊查找操作的语句发送至所述数据库服务器,以使所述数据库服务器执行删除所述密文关键词匹配命中的数据库的行数据。
35.具体地,服务网格截获用户对数据库的delete等无实际读写内容但包含模糊查找操作的语句,首先对模糊查找关键词调用数据库密码机进行单字节特殊加密处理后形成密文关键词替换明文关键词,然后在数据库服务器执行该delete语句,删除密文关键词匹配命中的数据库的行。
36.在一实施例中,本发明还公开了一种用户端,所述用户端中部署有服务网格,所述服务网格用于执行如上述实施例所述的支持模糊查询的数据库操作方法,其中,服务网格为以sidecar方式运行的网络服务代理,具备路由、流控、身份认证、访问控制、流量分析、加密安全连接等安全功能,是用户端侧设备或应用的安全代理,服务网格对于访问数据库的读写流量调用数据库密码机进行加解密处理的具体实施例或具有实现方法可参照上述各方法实施例,此处不再赘余。
37.此外,如图2所示,本发明一实施例还提出了一种支持模糊查询的数据库操作系统,所述系统包括:第一用户端、第二用户端、数据库服务器和数据库密码机,所述第一用户端和所述第二用户端均分别与所述数据库服务器和所述数据库密码机连接;其中:所述第一用户端和所述第二用户端均部署有服务网格,该服务网格用于执行如上实施例所述的支持模数查询的数据库操作方法。
38.具体地,本实施例提出的支持模数查询的数据库操作系统的工作流程如图3所示,其中,用户端一般是调用数据库客户端对数据库进行远程操作的用户端侧设备或应用。
39.服务网格为以sidecar方式运行的网络服务代理,具备路由、流控、身份认证、访问控制、流量分析、加密安全连接等安全功能,是用户端侧设备或应用的安全代理。本方案中的服务网格负责对于访问数据库的读写流量调用数据库密码机进行加解密处理。
40.数据库密码机为符合安全要求的硬件密码设备,内置随机数发生器和安全存储器,从随机数发生器采集合格的随机数作为密钥,并存入安全存储器,使用统一编号的密钥id进行识别和索引。
41.数据库服务器为用户提供公有数据库服务的设备,该设备具备通用性,为运行关系型数据库。
42.在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
43.此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
44.尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例
性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

技术特征:
1.一种支持模糊查询的数据库操作方法,其特征在于,应用于用户端,所述方法包括:截获用户端对数据库的insert语句;调用数据库密码机采用数据加密密钥对所述insert语句中的明文数据进行加密得到第一密文数据;调用所述数据库密码机对所述insert语句中每列明文数据按字节采用每列对应的单字节加密密钥进行单字节加密处理,得到辅助数据;将所述insert语句中的明文数据替换为拼接后的所述第一密文数据和所述辅助数据并发送至数据库服务器以使所述数据库服务器将所述第一密文数据和所述辅助数据存入同一列表项。2.如权利要求1所述的支持模糊查询的数据库操作方法,其特征在于,在所述截获用户端对数据库的insert语句之前,所述方法还包括:获取用户端对数据库的数据定义语句;基于所述数据定义语句的内容,向所述数据库密码机发送密钥申请信息;接收所述数据库密码机反馈的每个新建列对应的各密钥id和随机数,各密钥id包括数据加密密钥的id、单字节混淆密钥的id和单字节加密密钥的id,所述单字节加密密钥包括所述单字节混淆密钥和所述单字节加密密钥。3.如权利要求1所述的支持模糊查询的数据库操作方法,其特征在于,在所述截获用户端对数据库的insert语句之前,所述方法还包括:为用户端产生公私钥对,并将用户端的第一公钥导入所述数据库密码机;接收所述数据库密码机产生的第二公钥,建立tls安全通道。4.如权利要求1所述的支持模糊查询的数据库操作方法,其特征在于,所述调用数据库密码机采用数据加密密钥对所述insert语句中的明文数据进行加密得到第一密文数据,包括:基于所述insert语句中新增数据行中每列明文数据对应的数据加密密钥的id,调用所述数据库密码机采用与该数据加密密钥的id对应的数据加密密钥对所述insert语句中的明文数据进行对称分组加密,得到所述密文数据。5.如权利要求1所述的支持模糊查询的数据库操作方法,其特征在于,所述调用所述数据库密码机对所述insert语句中每列明文数据按字节采用每列对应的单字节加密密钥进行单字节加密处理,得到辅助数据,包括:基于所述insert语句中新增数据行下的每列数据对应的单字节加密密钥的id,调用所述数据库密码机采用相应的单字节加密密钥进行单字节加密处理;接收所述数据库密码机每次进行单字节加密处理返回的一个字节,按序将返回的字节组合成与当前列密文数据等长的辅助数据。6.如权利要求5所述的支持模糊查询的数据库操作方法,其特征在于,所述单字节加密密钥包括单字节混淆密钥、单字节加密密钥以及随机数;所述基于所述insert语句中新增数据行下的每列数据对应的单字节加密密钥的id,调用所述数据库密码机采用相应的单字节加密密钥进行单字节加密处理,包括:基于insert语句中新增数据行下的每列数据对应的单字节混淆密钥的id、单字节加密密钥的id和随机数,调用所述数据库密码机采用相应的随机数对该列数据进行分组长度取
模,并在根据取模结果选取单字节混淆密钥的对应字节以将该字节与需要加密的单字节进行异或操作后,采用单字节加密密钥对单字节混淆密钥进行对称分组加密,得到加密结果;相应地,所接收的所述数据库密码机返回的字节为从加密结果中选取与所述取模结果对应的字节。7.如权利要求1所述的支持模糊查询的数据库操作方法,其特征在于,所述方法还包括:截获用户端对数据库的读操作语句;调用所述数据库密码机对所述读操作语句中的模糊查找关键词按字节采用相关列对应的单字节加密密钥进行单字节加密处理;接收所述数据库密码机对模糊查找关键词每字节进行加密处理返回的一个字节,并将返回的字节按序组合后替换所述读操作语句中的明文关键词,得到新的读操作语句;将新的读操作语句发送至所述数据库服务器,以使所述数据库服务器执行新的读操作语句,查询对应的数据行;接收所述数据库服务器返回的数据行,并基于该数据行各列对应的数据加密密钥的id,调用所述数据库密码机采用对应的数据加密密钥该数据行每列数据进行对称分组解密,得到与所述模糊查找关键词对应的明文数据;接收所述数据库密码机返回的所述明文数据。8.如权利要求1所述的支持模糊查询的数据库操作方法,其特征在于,所述方法还包括:截获用户端对数据库的写操作语句;调用所述数据库密码机对所述写操作语句中的模糊查找关键词按字节采用相关列对应的单字节加密密钥进行单字节加密处理,得到密文关键词;根据与所述写操作语句相关的列对应的数据加密密钥id,调用所述数据库密码机对所述写操作语句中的明文数据进行对称分组加密处理,得到第二密文数据;根据与所述写操作语句相关的列对应的单字节加密密钥的id,调用所述数据库密码机对所述写操作语句中的该列明文数据进行单字节加密处理;接收所述数据库密码机每次进行单字节加密处理返回的一个字节,按序将返回的字节组合成与该第二密文数据等长的查询辅助数据;将所述查询辅助数据与所述第二密文数据拼接后替换所述写操作语句中的明文数据,得到新的写操作语句;将新的写操作语句发送至所述数据库服务器,以使所述数据库服务器将所述查询辅助数据和所述第二密文数据存入所述密文关键词命中的数据库的行。9.如权利要求1所述的支持模糊查询的数据库操作方法,其特征在于,所述方法还包括:截获用户端对数据库的包含模糊查找操作的语句;调用所述数据库密码机对语句中的模糊查找关键词按字节采用相关列对应的单字节加密密钥进行单字节加密处理,得到密文关键词;将所述密文关键词替换所述包含模糊查找操作的语句中的明文关键词,得到新的包含模糊查找操作的语句;
将新的包含模糊查找操作的语句发送至所述数据库服务器,以使所述数据库服务器执行删除所述密文关键词匹配命中的数据库的行数据。10.一种用户端,其特征在于,所述用户端中部署有服务网格,所述服务网格用于执行如权利要求1~9任一项所述的支持模糊查询的数据库操作方法。

技术总结
本发明公开一种支持模糊查询的数据库操作方法及用户端,方法包括截获用户端对数据库的insert语句;调用数据库密码机采用数据加密密钥对insert语句中的明文数据进行加密得到第一密文数据;调用数据库密码机对insert语句中每列明文数据按字节采用每列对应的单字节加密密钥进行单字节加密处理,得到辅助数据;将insert语句中的明文数据替换为拼接后的第一密文数据和辅助数据并发送至数据库服务器以使数据库服务器将第一密文数据和辅助数据存入同一列表项;本发明方便用户对加密列的数据进行模糊查找,且不会增加明文泄露风险,存储容量仅增加一倍。储容量仅增加一倍。储容量仅增加一倍。


技术研发人员:罗俊
受保护的技术使用者:中电信量子科技有限公司
技术研发日:2023.08.07
技术公布日:2023/9/9
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

相关推荐