一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

数据查询方法、装置、系统、设备及介质与流程

2022-05-18 08:09:51 来源:中国专利 TAG:


1.本技术涉及区块链、数据库技术领域,尤其涉及一种基于同态加密算法的数据查询方法、装置、系统、设备及介质。


背景技术:

2.随着计算机和通信技术的飞速发展,互联网已经普及到人们日常生活中的方方面面,数据的存储是互联网的核心组成部分,是整个互联网的心脏。现有的关系型数据库、非关系型数据库给互联网企业的数据存储提供了诸多便利。
3.发明意识到,一些方案中,通过同态加密算法实现了将数字加密成密文字符串形式实现数据间的运算,通过java程序调用同态处理机,实现数字密文加密,然而,但随着密文记录数据量的增大,目前直接使用java程序调用同态处理机处理数据的数据量巨大,会导致数据处理效率低下,已不适用于直接使用使用java程序调用同态处理机处理数据。


技术实现要素:

4.本技术实施例提供一种基于同态加密算法的数据查询方法、装置、系统、设备及介质,用于解决传统方案数据处理效率较低的技术问题。
5.一种基于同态加密算法的数据查询方法,所述方法包括:
6.同态处理机接收目标数据库通过解密接口地址发送的接口调用请求,所述接口调用请求包含数据请求内容;所述接口调用请求为所述目标数据库响应应用程序端发送的数据处理请求所发送;
7.所述同态处理机响应所述接口调用请求,获取所述数据请求内容对应的密文数据;
8.所述同态处理机对所述密文数据进行同态计算后进行解密,得到解密数据;
9.所述同态处理机向所述目标数据库反馈所述解密数据,以使所述目标数据库将所述解密数据反馈回所述应用程序端。
10.在一实施方式中,所述同态处理机响应所述接口调用请求,获取所述数据请求内容对应的密文数据之前,所述方法还包括:
11.所述同态处理机接收数据上传请求,所述数据上传请求包含明文数据和加密字段指示信息;
12.所述同态处理机按照所述加密字段指示信息,从所述明文数据中筛选出待加密字段;
13.所述同态处理机对所述明文数据中的待加密字段进行加密,得到所述密文数据;
14.所述同态处理机将所述密文数据存储至密文数据库中。
15.在一实施方式中,所述数据上传请求还包括同态计算方式;所述同态处理机响应所述接口调用请求,获取所述数据请求内容对应的密文数据,包括:
16.所述同态处理机响应所述接口调用请求,从所述密文数据库获取所述数据请求内
容对应的密文数据;
17.所述同态处理机按照所述同态计算方式,对所述密文数据进行同态计算后进行解密,得到所述解密数据。
18.在一实施方式中,所述密文数据库为区块链数据库。
19.在一实施方式中,所述同态处理机接收目标数据库通过解密接口地址发送的接口调用请求,包括:
20.所述同态处理机与所述目标数据库建立http连接通道;
21.所述同态处理机通过所述http连接通道,接收所述目标数据库通过解密接口地址发送的接口调用请求,所述接口调用请求为htp请求。
22.一种基于同态加密算法的数据查询方法,所述方法包括:
23.应用程序端生成数据处理请求,所述数据处理请求包含同态处理机的解密接口地址和数据请求内容;
24.所述应用程序端将所述数据处理请求发送给目标数据库,以使所述目标数据库通过所述解密接口地址,向所述同态处理机发送接口调用请求,所述接口调用请求包含所述数据请求内容;
25.所述应用程序端接收所述目标数据库反馈回的解密数据,其中,所述解密数据为所述同态处理机响应所述接口调用请求,对所述密文进行密文同态计算后解密得到的数据。
26.一种基于同态加密算法的数据查询系统,所述数据查询系统,包括应用程序端、目标数据库和同态处理机:
27.应用程序端,生成数据处理请求,所述数据处理请求包含同态处理机的解密接口地址和数据请求内容;
28.目标数据库,用于响应所述数据处理请求,通过所述解密接口地址,向所述同态处理机发送接口调用请求,所述接口调用请求包含所述数据请求内容;
29.所述同态处理机,用于响应所述接口调用请求,获取所述数据请求内容对应的密文数据,对所述密文数据进行同态计算后进行解密,得到解密数据;
30.所述目标数据库,还用于接收所述同态处理机发送的所述解密数据,并将所述解密数据发送给所述应用程序端。
31.一种基于同态加密算法的数据查询装置,所述方法包括:
32.接收模块,用于接收目标数据库通过解密接口地址发送的接口调用请求,所述接口调用请求包含数据请求内容;所述接口调用请求为所述目标数据库响应应用程序端发送的数据处理请求所发送;
33.处理模块,用于响应所述接口调用请求,获取所述数据请求内容对应的密文数据,对所述密文数据进行同态计算后进行解密,得到解密数据;
34.发送模块,用于向所述目标数据库反馈所述解密数据,以使所述目标数据库将所述解密数据反馈回所述应用程序端。
35.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述基于同态加密算法的数据查询方法的步骤。
36.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述基于同态加密算法的数据查询方法的步骤。
37.上述基于同态加密算法的数据查询方法、装置、系统、计算机设备及存储介质所提供的方案中,同态处理机接收目标数据库通过解密接口地址发送的接口调用请求,所述接口调用请求包含数据请求内容;所述接口调用请求为所述目标数据库响应应用程序端发送的数据处理请求所发送;所述同态处理机响应所述接口调用请求,获取所述数据请求内容对应的密文数据;所述同态处理机对所述密文数据进行同态计算后进行解密,得到解密数据;所述同态处理机向所述目标数据库反馈所述解密数据,以使所述目标数据库将所述解密数据反馈回所述应用程序端。应用程序端并没有与同态加密机实现交互,实现了目标数据库与同态加密机的直接互联和数据交互,有效地减少了由于jdbc连接而承载大量数据的压力,可以有效地提高数据处理效率。
附图说明
38.为了更清楚地说明本技术实施例的技术方案,下面将对本技术实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
39.图1是本技术一实施例中一种基于同态加密算法的数据查询系统的一系统框架示意图;
40.图2是本技术一实施例中一种基于同态加密算法的数据查询方法的一流程图;
41.图3是图2中步骤s102的一具体实施方式流程图;
42.图4是本技术一实施例中一种基于同态加密算法的数据查询方法的另一流程图;
43.图5是本技术一实施例中基于同态加密算法的数据查询装置的一结构示意图;
44.图6是本技术一实施例中基于同态加密算法的数据查询装置的另一结构示意图;
45.图7是本技术一实施例中计算机设备的一结构示意图;
46.图8是本技术一实施例中计算机设备的另一结构示意图。
具体实施方式
47.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
48.本技术实施例提供的基于同态加密算法的数据查询方法,可应用在如图1的基于同态加密算法的数据查询系统中,该数据查询系统包括应用程序端、同态处理机、目标数据库,还可以包括密文数据库,其中,应用程序端,生成数据处理请求,所述数据处理请求包含同态处理机的解密接口地址和数据请求内容;目标数据库,用于响应所述数据处理请求,通过所述解密接口地址,向所述同态处理机发送接口调用请求,所述接口调用请求包含所述数据请求内容;所述同态处理机,用于响应所述接口调用请求,获取所述数据请求内容对应的密文数据,对所述密文数据进行同态计算后进行解密,得到解密数据;所述目标数据库,
还用于接收所述同态处理机发送的所述解密数据,并将所述解密数据发送给所述应用程序端。上述应用程序端可以包括但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。同台加密机可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
49.发明人研究发现,通过同态加密算法实现了将数字加密成密文字符串形式实现数据间的运算,通过应用程序端调用同态处理机,实现数字密文加密,然而,但随着密文记录数据量的增大,目前直接使用应用程序段调用同态处理机处理数据的数据量巨大,会导致数据处理效率低下,已不适用于直接使用使用应用程序段调用同态处理机处理数据,基于此,申请人提供一种新的基于同态加密算法的数据查询方法,下面分别进行说明。
50.在一实施例中,如图2所示,提供一种基于同态加密算法的数据查询方法,以该方法应用在图1中的同态处理机为例进行说明,包括如下步骤:
51.s101:同态处理机接收目标数据库通过解密接口地址发送的接口调用请求,所述接口调用请求包含数据请求内容;所述接口调用请求为所述目标数据库响应应用程序端发送的数据处理请求所发送。
52.s102:所述同态处理机响应所述接口调用请求,获取所述数据请求内容对应的密文数据。
53.s103:所述同态处理机对所述密文数据进行同态计算后进行解密,得到解密数据。
54.s104:所述同态处理机向所述目标数据库反馈所述解密数据,以使所述目标数据库将所述解密数据反馈回所述应用程序端。
55.对于步骤s101,应用程序端是指安装有应用程序的终端设备,示例性的,该应用程序是一种java应用程序,在一些实施例中,应用程序端可以向目标数据库建立通信关系。示例性的,应用程序端可以通过java数据库连接技术(jdbc),与该目标数据库进行交互。示例性的,上述目标数据库可以是一种oracle数据库。
56.其中,同态处理机是一可以明文数据进行加密、对密文数据进行同态运算和解密的服务端。需要说明的是,在许多应用场景中,应用程序端存在与某些存储服务器之间的数据是有保密要求的,目前的做法中,通常是直接利用应用程序端调用同态处理机的方式明,实现对明文数据加密的处理以及输出存入等操作操作,然而,随着数据的量的增大,此种方式已经有明显的局限性。
57.因此,本发明实施例中,应用程序端在需要获取存储在密文数据库的密文数据时,应用程序端会向目标数据库发送一数据处理请求,该数据处理请求中包含了同态处理机的解密接口地址和数据请求内容。该数据请求内容也即是用于请求存储在密文数据库的密文数据的内容,该解密接口地址,是可以调用同态处理机进行解密处理和同态运算的接口。从这里也可以看出,该步骤与传统的方案的差异,是本方案中的应用程序端并没有直接调用同态处理机。
58.需要说明的是,可以有应用程序端可以有多种方式向述oracle数据库发送上述数据处理请求,具体不做限定。
59.示例性的,以oracle数据库为例,在一些实施方式中,应用程序端通过jdbc方式,执行构建的自定义函数以向oracle数据库发送数据处理请求。示例性的,应用程序端向oracle数据库发送用于请求上述数据请求内容的http请求的自定义函数tl_resp,调用时
传递的参数可以为clob类型。其中,同态加密机的解密接口地址为:/opt/api/decrypt/batchdouble,传递数据的格式可以为{"endata":[""]},且请求的数据内容类型为application/json。
[0060]
对于步骤s101,继续以目标数据库为oracle数据库为例,所述oracle数据库在接收到应用程序端发送的数据处理请求之后,会响应该应用程序端的数据处理请求,通过所述解密接口地址,向所述同态处理机的解密接口发送接口调用请求,所述接口调用请求包含所述数据请求内容。
[0061]
在一实施例中,步骤s101中,也即所述同态处理机接收目标数据库通过解密接口地址发送的接口调用请求,具体包括如下步骤:
[0062]
s1011:所述同态处理机与所述目标数据库建立http连接通道;
[0063]
s1022:所述同态处理机通过所述http连接通道,接收所述目标数据库通过解密接口地址发送的接口调用请求,所述接口调用请求为htp请求。
[0064]
在该实施例中,在一些实施例中,oracle数据库的系统可以通过超文本传输协议(http)连接至外网,与同态处理机通信交互,也就是说,所述oracle数据库通过所述解密接口地址,可以向所述同态处理机的解密接口发送http类型的调用请求,也即可以oracle数据库可以向同态加密机发送http请求。
[0065]
具体地,在一实施方式中,oracle数据库可以调用utl_http程序包,使用sql(结构化查询语言),或pl/sql(过程化查询语言)进行超文本传输协议(http)的有关标注,从而访问同态处理机。需要说明的是,当oracle数据库调用utl_http程序包,使用https从web站点(同态加密机)获取数据时,可以通过oracle wallet manager或orapki实用程序创建。
[0066]
需要说明的是,oracle数据库使用utl_http软件包的方式,可以允许使用pl/sql程序,并且utl_http包中包含可以在sql查询中使用的功能。该utl_http程序包还支持通过安全套接字层协议(ssl)进行的http,也即上述https,为方案实施提供了必要的实施条件。
[0067]
可以理解的是,http 1.1协议是http协议的其中一版本,根据http 1.1协议规范,当oracle数据库使用pl/sql记录类型表示http请求完成后,可以保持持久性的网络连接的同态处理机和tcp/ip端口。其中,持久性网络连接可以由使得对同一主机和端口的给后续http请求重用,可以有效地避免网络连接延迟,因此,可以更快地完成后续的http请求,在该实施例中,可以进一步保证本方案实施过程的请求响应效率。
[0068]
在一些实施例中,对于与同态处理机的直接http持久连接,http请求中的proxy_和proxy_port字段可以直接包含同态加密机的主机名和tcp/ip端口号,以便于生成上述接口调用请求
[0069]
在一些实施例中,该proxy_host和proxy_port字段没有被设置,具体地,本技术实施例中还可以通过代理服务器访问同态处理机。需要说明的是,对于oracle数据库用于连接到某个代理服务器的http持久网络连接,此时的持久性网络连接对应的http请求的proxy_host和proxy_port字段,是包含了代理服务器的主机名和tcp/ip端口号,如果没有设置proxy_host和proxy_port字段,这表示在连接到此代理服务器时,对应的持久性连接并未绑定到任何特定的同态处理机,与代理服务器的持久性网络连接,可用于访问使用代理的任何同态处理机。在该实施例中也可以看出,上述方案进一步扩大的本方案的技术适应能力和实现可能,保证方案的可实施。
[0070]
需要说明的是,在一些实施方式中,oracle数据库与同态处理机的持久连接中,是否正在使用安全套接字层(ssl)时,字段设置也会有所不同。如果是通过ssl字段发出的http请求,也即https请求,对于使用代理连接的https(ssl)持久性网络连接,proxy_host和proxy_port字段包含目标同态处理机的主机名和tcp/ip端口号,并且将始终设置上述字段,可以理解的是,使用代理服务器到的https持久性连接,只能重用于向同一目标同态处理机发送另一个http请求。
[0071]
通过上述描述可知,所述oracle数据库通过所述解密接口地址,向所述同态处理机的解密接口发送http调用请求,该htt调用请求包含所述数据请求内容。
[0072]
对于步骤s20-s30,同态处理机在接收到上述接口调用请求之后,会响应上述接口调用请求,从密文数据库中获取数据请求内容对应的密文数据,并对获取到的密文数据进行同态计算进行对应的解密,得到解密数据。
[0073]
在一实施例中,步骤s102之前,也即所述同态处理机响应所述接口调用请求,获取所述数据请求内容对应的密文数据之前,所述方法还包括如下步骤:
[0074]
s105:所述同态处理机接收数据上传请求,所述数据上传请求包含明文数据和加密字段指示信息;
[0075]
s106:所述同态处理机按照所述加密字段指示信息,从所述明文数据中筛选出待加密字段;
[0076]
s107:所述同态处理机对所述明文数据中的待加密字段进行加密,得到所述密文数据;
[0077]
s108:所述同态处理机将所述密文数据存储至密文数据库中。
[0078]
在一实施例中,如图3所示,所述数据上传请求还包括同态计算方式;步骤s102中,所述同态处理机响应所述接口调用请求,获取所述数据请求内容对应的密文数据,具体包括如下步骤:
[0079]
s1021:所述同态处理机响应所述接口调用请求,从所述密文数据库获取所述数据请求内容对应的密文数据;
[0080]
s1022:所述同态处理机按照所述同态计算方式,对所述密文数据进行同态计算后进行解密,得到所述解密数据。
[0081]
需要说明的是,上述过程包括几个方面的内容,有必要做一些解释,第一个过程,数据上传端在往密文数据库库存储密文数据时,是会利用同态处理机对明文数据进行加密得到密文数据,然后将密文数据放置于密文数据库中。其中,所述同态处理机接收数据上传请求,所述数据上传请求包含明文数据和加密字段指示信息,按照所述加密字段指示信息,从所述明文数据中筛选出待加密字段后,对所述明文数据中的待加密字段进行加密,得到所述密文数据存储至密文数据库中。在一些应用场景中,数据上传请求还包括了同态计算方式,以便于后续应用程序段调用密文数据时,触发同态处理机根据此同态计算方式进行同态计算。
[0082]
具体的,示例性的,同态处理机具有某个同态加密算法a的公钥和私钥,同态处理机利用公钥可以对明文数据进行加密,得到密文e(m)。对于密文数据库而言,其仅能知晓上述公钥,无法对密文数据进行解密得到密文数据,保证了存储在密文数据库的数据的安全。当需要基于某些业务场景需要对某些明文数据进行一些计算时,应用程序端会请求对某些
明文数据的计算结果,也即会触发上述接口调用请求至同态处理机中。同态处理机收到后,执行第二个过程:会从密文数据库中获取所述数据请求内容对应的密文数据,第三个过程,同态处理机会按照应用程序端的同态计算方式指示的同态计算所需,对获取到的密文数据进行同态计算,并利用同态私钥进行对应的解密,得到解密数据。
[0083]
需要说明的是,有关同态加密计算的过程取决于具体的应用场景和应用程序端所需,这里不展开说明。示例性的,同态计算一般包括对密文数据进行求和,平均值,取最大值最小值,排序等操作。
[0084]
在一些实施例中,上述密文数据库可以是一种区块链数据库。本技术所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。从该实施例可以进一步看出,通过区块链技术,可以进一步保证密文数据的安全性和不可篡改性。
[0085]
对于步骤s104,所述同态处理机在得到上述解密数据之后,所述同态处理机向所述目标数据库反馈所述解密数据,以使所述目标数据库将所述解密数据反馈回所述应用程序端,如此,应用程序端获取到了最终经过同台计算和解密的解密数据。
[0086]
在一实施例中,所述同态处理机得到上述解密数据之后,并不会直接反馈回应用程序端,因为这无疑会增大应用程序端承载较多数据的工作量,而是向所述oracle数据库反馈所述解密数据,所述oracle数据库依据所述解密数据,获取所述数据处理请求对应的响应结果,并将所述响应结果反馈回所述应用程序端。其中,经过同态处理机解密得到的解密数据,仅是对经过同态计算的密文数据进行解密后的数据,所述oracle数据库依据所述解密数据,获取所述数据处理请求对应的响应结果,例如对解密数据进行筛选、封装、压缩等操作,得到上述响应结果,再反馈回应用程序端,至此,应用程序端便拿到了请求对应的响应数据,执行后续业务操作。
[0087]
通过上述方案,可以看出,本方案提供了一种基于同态加密算法的数据查询方法,与传统方案相比,应用程序端并没有与同态处理机实现jdbc交互,实现了oracle数据库与同态处理机的直接互联网数据交互,有效地减少了jdbc承载大量数据的压力;由于是oracle数据库与同态处理机的交互实现同态计算、解密等过程,省去了应用程序端后台调用同态加密机的过程所带来的中间环节处理环节,减轻了应用程序端的负担;实现了从数据库层面,实现加密后的密文数据间的直接运算,是一种新的技术手段。
[0088]
在一实施例中,如图2所示,提供一种基于同态加密算法的数据查询方法,以该方法应用在图1中的同态处理机为例进行说明,包括如下步骤:
[0089]
s201:应用程序端生成数据处理请求,所述数据处理请求包含同态处理机的解密接口地址和数据请求内容;
[0090]
s202:所述应用程序端将所述数据处理请求发送给目标数据库,以使所述目标数据库通过所述解密接口地址,向所述同态处理机发送接口调用请求,所述接口调用请求包含所述数据请求内容;
[0091]
s203:所述应用程序端接收所述目标数据库反馈回的解密数据,其中,所述解密数
据为所述同态处理机响应所述接口调用请求,对所述数据请求内容对应的密文数据进行密文同态计算后解密得到的数据。
[0092]
对于步骤s201-s203,为应用程序端侧的内容,应用程序端在需要获取存储在密文数据库的密文数据时,应用程序端会向目标数据库发送一数据处理请求,该数据处理请求中包含了同态处理机的解密接口地址和数据请求内容。该数据请求内容也即是用于请求存储在密文数据库的密文数据的内容,该解密接口地址,是可以调用同态处理机进行解密处理和同态运算的接口。目标数据库在接收到应用程序端发送的数据处理请求之后,会响应该应用程序端的数据处理请求,通过所述解密接口地址,向所述同态处理机的解密接口发送接口调用请求,所述接口调用请求包含所述数据请求内容。同态处理机在接收到上述接口调用请求之后,会响应上述接口调用请求,从密文数据库中获取数据请求内容对应的密文数据,并对获取到的密文数据进行同态计算进行对应的解密,得到解密数据,然后将解密数据反馈回目标数据库,让目标数据库将解密数据反馈回应用程序端。
[0093]
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
[0094]
在一实施例中,还提供了一种基于同态加密算法的数据查询系统,包括:
[0095]
应用程序端,生成数据处理请求,所述数据处理请求包含同态处理机的解密接口地址和数据请求内容;
[0096]
目标数据库,用于响应所述数据处理请求,通过所述解密接口地址,向所述同态处理机发送接口调用请求,所述接口调用请求包含所述数据请求内容;
[0097]
所述同态处理机,用于响应所述接口调用请求,获取所述数据请求内容对应的密文数据,对所述密文数据进行同态计算后进行解密,得到解密数据;
[0098]
所述目标数据库,还用于接收所述同态处理机发送的所述解密数据,并将所述解密数据发送给所述应用程序端。
[0099]
其中,上述应用程序端、目标数据库和所述同态处理机的更多细节,可对应参阅前述方法实施例的对应描述,这里不再重复描述。
[0100]
在一实施例中,该基于同态加密算法的数据查询系统还可以包括密文数据库,该密文数据库用保存上述密文数据。
[0101]
在一实施例中,该密文数据库是一种区块链数据库。其中,本技术所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。从该实施例可以进一步看出,通过区块链技术,可以进一步保证密文数据的安全性和不可篡改性。
[0102]
在一实施例中,上述目标数据库是一种oracle数据库。在一实施例中,oracle数据库与同态处理机之间可以建立http通道,进行http交互。
[0103]
通过上述方案,可以看出,本方案提供了一种基于同态加密算法的数据查询系统,与传统方案相比,应用程序端并没有与同态处理机实现jdbc交互,实现了oracle数据库与
同态处理机的直接互联网数据交互,有效地减少了jdbc承载大量数据的压力;由于是oracle数据库与同态处理机的交互实现同态计算、解密等过程,省去了应用程序端后台调用同态加密机的过程所带来的中间环节处理环节,减轻了应用程序端的负担;实现了从数据库层面,实现加密后的密文数据间的直接运算,是一种新的技术手段。
[0104]
在一实施例中,提供一种基于同态加密算法的数据查询装置,该基于同态加密算法的数据查询装置与上述实施例中的基于同态加密算法的数据查询方法中的同态处理机一一对应。如图5所示,该基于同态加密算法的数据查询装置包括接收模块101、处理模块102和发送模块103。各功能模块详细说明如下:
[0105]
接收模块101,用于接收目标数据库通过解密接口地址发送的接口调用请求,所述接口调用请求包含数据请求内容;所述接口调用请求为所述目标数据库响应应用程序端发送的数据处理请求所发送;
[0106]
处理模块102,用于响应所述接口调用请求,获取所述数据请求内容对应的密文数据,对所述密文数据进行同态计算后进行解密,得到解密数据;
[0107]
发送模块103,用于向所述目标数据库反馈所述解密数据,以使所述目标数据库将所述解密数据反馈回所述应用程序端。
[0108]
在一实施例中,接收模块,还用于接收数据上传请求,所述数据上传请求包含明文数据和加密字段指示信息;
[0109]
处理模块102还用于:
[0110]
按照所述加密字段指示信息,从所述明文数据中筛选出待加密字段;
[0111]
对所述明文数据中的待加密字段进行加密,得到所述密文数据;
[0112]
将所述密文数据存储至密文数据库中。
[0113]
在一实施例中,所述处理模块102还用于:
[0114]
响应所述接口调用请求,从所述密文数据库获取所述数据请求内容对应的密文数据;
[0115]
按照所述同态计算方式,对所述密文数据进行同态计算后进行解密,得到所述解密数据。
[0116]
在一实施例中,所述密文数据库为区块链数据库。
[0117]
在一实施例中,接收模块101还用于:
[0118]
与所述目标数据库建立http连接通道;
[0119]
通过所述http连接通道,接收所述目标数据库通过解密接口地址发送的接口调用请求,所述接口调用请求为htp请求。
[0120]
在一实施例中,提供一种基于同态加密算法的数据查询装置,该基于同态加密算法的数据查询装置与上述实施例中的基于同态加密算法的数据查询方法中的应用程序端一一对应。如图6所示,该基于同态加密算法的数据查询装置包括处理模块201、发送模块202和接收模块203。各功能模块详细说明如下:
[0121]
处理模块201,用于生成数据处理请求,所述数据处理请求包含同态处理机的解密接口地址和数据请求内容;
[0122]
发送模块202,用于将所述数据处理请求发送给目标数据库,以使所述目标数据库通过所述解密接口地址,向所述同态处理机发送接口调用请求,所述接口调用请求包含所
述数据请求内容;
[0123]
接收模块203,用于接收所述目标数据库反馈回的解密数据,其中,所述解密数据为所述同态处理机响应所述接口调用请求,对所述数据请求内容对应的密文数据进行密文同态计算后解密得到的数据。
[0124]
关于基于同态加密算法的数据查询装置的具体限定可以参见上文中对于基于同态加密算法的数据查询方法中对应同态处理机或应用程序端的限定,在此不再赘述。上述基于同态加密算法的数据查询装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0125]
在一个实施例中,提供了一种计算机设备,该计算机设备可以是同态处理机,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的目标数据库通过网络连接通信。该计算机程序被处理器执行时以实现一种基于同态加密算法的数据查询方法中同态处理机的功能或步骤。
[0126]
在一个实施例中,提供了一种计算机设备,该计算机设备可以是应用程序端,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与目标数据库通过网络连接通信。该计算机程序被处理器执行时以实现一种基于同态加密算法的数据查询方法中应用程序端的功能或步骤。
[0127]
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
[0128]
接收目标数据库通过解密接口地址发送的接口调用请求,所述接口调用请求包含数据请求内容;所述接口调用请求为所述目标数据库响应应用程序端发送的数据处理请求所发送;
[0129]
响应所述接口调用请求,获取所述数据请求内容对应的密文数据;
[0130]
对所述密文数据进行同态计算后进行解密,得到解密数据;
[0131]
向所述目标数据库反馈所述解密数据,以使所述目标数据库将所述解密数据反馈回所述应用程序端。
[0132]
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
[0133]
接收目标数据库通过解密接口地址发送的接口调用请求,所述接口调用请求包含数据请求内容;所述接口调用请求为所述目标数据库响应应用程序端发送的数据处理请求所发送;
[0134]
响应所述接口调用请求,获取所述数据请求内容对应的密文数据;
[0135]
对所述密文数据进行同态计算后进行解密,得到解密数据;
[0136]
向所述目标数据库反馈所述解密数据,以使所述目标数据库将所述解密数据反馈回所述应用程序端。
[0137]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
[0138]
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
[0139]
以上所述实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围,均应包含在本技术的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献