CN113836569B - 数据查询方法及相关设备 - Google Patents
数据查询方法及相关设备 Download PDFInfo
- Publication number
- CN113836569B CN113836569B CN202010512708.0A CN202010512708A CN113836569B CN 113836569 B CN113836569 B CN 113836569B CN 202010512708 A CN202010512708 A CN 202010512708A CN 113836569 B CN113836569 B CN 113836569B
- Authority
- CN
- China
- Prior art keywords
- data
- query
- database server
- grouping
- pieces
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9538—Presentation of query results
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computing Systems (AREA)
- Medical Informatics (AREA)
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供数据查询方法及相关设备,涉及数据安全领域领域,所述方法,包括:对数据库服务器中的数据字段执行分组操作,得到多个分组字段;发布多个分组字段;接收数据查询端的查询请求;其中,查询请求包括分组查询条件,分组查询条件由数据查询端根据目标查询条件与发布的分组字段之间的对应关系确定;在数据库服务器中的数据字段中确定分组查询条件对应的初始查询结果;通过不经意传输协议向数据查询端发送第一信息;其中,第一信息用于使数据查询端从初始查询结果中获取目标查询结果;其中,目标查询结果与目标查询条件相对应。通过本发明提供的数据查询方法及相关设备,能够提高数据查询过程的安全性能,降低用户查询数据泄露风险。
Description
技术领域
本发明涉及数据安全领域,尤其涉及数据查询方法及相关设备。
背景技术
目前,随着信息技术应用的不断普及和深入,各种信息系统存储并积累了丰富的数据,例如医疗机构建立的患者诊断数据集,电子商务企业收集的客户在线交易数据集等。对这些数据集进行分析可以使人们获得更多关于真实世界的知识,对于数据研究、信息咨询以及政府决策等机构来说,数据是非常重要的基础资源,这极大地促进了数据查询的需求。然而,数据查询过程可能暴露用户的查询隐私,可见,目前的数据查询过程的安全性能比较差。
发明内容
本发明实施例提供数据查询方法及相关设备,以解决现有数据查询过程的安全性能比较差的问题。
为解决上述技术问题,第一方面,本发明实施例提供了一种数据查询方法,应用于数据库服务器,所述方法包括:
对所述数据库服务器中的数据字段执行分组操作,得到多个分组字段;
发布所述多个分组字段;
接收数据查询端的查询请求;其中,所述查询请求包括分组查询条件,所述分组查询条件由所述数据查询端根据目标查询条件与发布的所述分组字段之间的对应关系确定;
在所述数据库服务器中的数据字段中确定所述分组查询条件对应的初始查询结果;
通过不经意传输协议向所述数据查询端发送第一信息;其中,所述第一信息用于使所述数据查询端从所述初始查询结果中获取目标查询结果;其中,所述目标查询结果与所述目标查询条件相对应。
可选的,所述对所述数据库服务器中的数据字段执行分组操作,包括:
对数据字段执行泛化分组操作,其中,每组分组字段包括的数据条目大于等于2。
可选的,所述查询请求,还包括所述数据查询端以其私钥对身份信息和时间戳签名得到的数字签名;
所述接收数据查询端的查询请求步骤之后,在所述数据库服务器中的数据字段中确定所述分组查询条件对应的初始查询结果步骤之前,所述方法,还包括:
从鉴权存证系统获取数据查询端的证书;其中所述证书由所述数据查询端上传至鉴权存证系统,由所述鉴权存证系统挂载于区块链;
利用所述证书验证所述数字签名正确性;
所述在所述数据库服务器中的数据字段中确定所述分组查询条件对应的初始查询结果,包括:
若所述证书验证所述数字签名正确,则在所述数据库服务器中的数据字段中确定所述分组查询条件对应的初始查询结果。
可选的,所述初始查询结果包括n条数据;
所述在所述数据库服务器中的数据字段中确定所述分组查询条件对应的初始查询结果步骤之后,通过不经意传输协议向所述数据查询端发送第一信息步骤之前,所述方法,还包括:
利用n个随机数分别对所述n条数据进行加密,得到n条加密数据;
将所述n条加密数据发送至所述数据查询端;
所述通过不经意传输协议向所述数据查询端发送第一信息,包括:
通过不经意传输协议将所述n个随机数发送至所述数据查询端。
可选的,所述初始查询结果包括n条数据;
所述方法还包括:
从所述鉴权存证系统获取查询预算m,其中,所述查询预算m为所述鉴权存证系统为数据查询端分配的数据条数预算,由所述鉴权存证系统挂载于区块链;
所述通过不经意传输协议向所述数据查询端发送第一信息,包括:
若n小于等于查询预算m,则通过不经意传输协议向所述数据查询端发送第一信息。
第二方面,本发明实施例还提供一种数据查询方法,应用于数据查询端,所述方法包括:
接收目标查询条件;
读取数据库服务器发布的分组字段,所述分组字段由所述数据库服务器对所述数据库服务器中的数据字段执行分组操作得到并发布;
根据所述目标查询条件与分组字段之间的对应关系,确定分组查询条件;
向数据库服务器发送查询请求;其中,所述查询请求包括分组查询条件;
接收所述数据库服务器通过不经意传输协议发送的第一信息;其中,所述第一信息用于使所述数据查询端从初始查询结果中获取目标查询结果;其中,所述初始查询结果为所述数据库服务器在所述数据库服务器中的数据字段中确定所述分组查询条件对应的查询结果;所述目标查询结果与所述目标查询条件相对应。
可选的,所述向数据库服务器发送查询请求之前,所述方法,还包括:
生成数据查询端的证书;
利用私钥对身份信息和时间戳签名,得到数字签名;
将所述数据查询端的证书上传至鉴权存证系统,由所述鉴权存证系统将所述证书挂载于区块链;
所述查询请求,还包括所述数字签名。
可选的,所述初始查询结果包括n条数据,所述目标查询结果为n条数据中的s条数据;
所述方法,还包括:
接收数据库服务器发送的n条加密数据,其中所述n条加密数据由所述数据库服务器利用n个随机数分别对所述n条数据进行加密得到;
所述接收所述数据库服务器通过不经意传输协议发送的第一信息,包括:
从所述数据库服务器通过不经意传输协议发送的n个随机数中,获取s个随机数,其中所述s个随机数与所述s条数据的加密随机数相对应。
可选的,所述向数据库服务器发送查询请求之前,所述方法,还包括:
向所述鉴权存证系统申请数据查询权限;
接收所述鉴权存证系统分配数据查询预算m;
所述查询请求,还包括所述数据查询预算m。
第三方面,本发明实施例提供一种数据库服务器,包括:
分组模块,用于对所述数据库服务器中的数据字段执行分组操作,得到多个分组字段;
发布模块,用于发布所述多个分组字段;
查询请求接收模块,用于接收数据查询端的查询请求;其中,所述查询请求包括分组查询条件,所述分组查询条件由所述数据查询端根据目标查询条件与发布的所述分组字段之间的对应关系确定;
查询模块,用于在所述数据库服务器中的数据字段中确定所述分组查询条件对应的初始查询结果;
发送模块,用于通过不经意传输协议向所述数据查询端发送第一信息;其中,所述第一信息用于使所述数据查询端从所述初始查询结果中获取目标查询结果;其中,所述目标查询结果与所述目标查询条件相对应。
第四方面,本发明实施例提供一种数据库服务器,包括处理器,所述处理器,用于:
对所述数据库服务器中的数据字段执行分组操作,得到多个分组字段;
发布所述多个分组字段;
接收数据查询端的查询请求;其中,所述查询请求包括分组查询条件,所述分组查询条件由所述数据查询端根据目标查询条件与发布的所述分组字段之间的对应关系确定;
在所述数据库服务器中的数据字段中确定所述分组查询条件对应的初始查询结果;
通过不经意传输协议向所述数据查询端发送第一信息;其中,所述第一信息用于使所述数据查询端从所述初始查询结果中获取目标查询结果;其中,所述目标查询结果与所述目标查询条件相对应。
第五方面,本发明实施例提供一种电子设备,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序,所述程序被所述处理器执行时实现第一方面所述的数据查询方法的步骤。
第六方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面所述的数据查询方法的步骤。
第七方面,本发明实施例提供一种数据查询端,包括:
第一接收模块,用于接收目标查询条件;
读取模块,用于读取数据库服务器发布的分组字段,所述分组字段由所述数据库服务器对所述数据库服务器中的数据字段执行分组操作得到并发布;
查询条件确定模块,用于根据所述目标查询条件与分组字段之间的对应关系,确定分组查询条件;
请求模块,用于向数据库服务器发送查询请求;其中,所述查询请求包括分组查询条件;
第二接收模块,用于接收所述数据库服务器通过不经意传输协议发送的第一信息;其中,所述第一信息用于使所述数据查询端从初始查询结果中获取目标查询结果;其中,所述初始查询结果为所述数据库服务器在所述数据库服务器中的数据字段中确定所述分组查询条件对应的查询结果;所述目标查询结果与所述目标查询条件相对应。
第八方面,本发明实施例提供一种电子设备,包括收发机和处理器,
所述处理器,用于:
接收目标查询条件;
读取数据库服务器发布的分组字段,所述分组字段由所述数据库服务器对所述数据库服务器中的数据字段执行分组操作得到并发布;
根据所述目标查询条件与分组字段之间的对应关系,确定分组查询条件;
向数据库服务器发送查询请求;其中,所述查询请求包括分组查询条件;
接收所述数据库服务器通过不经意传输协议发送的第一信息;其中,所述第一信息用于使所述数据查询端从初始查询结果中获取目标查询结果;其中,所述初始查询结果为所述数据库服务器在所述数据库服务器中的数据字段中确定所述分组查询条件对应的查询结果;所述目标查询结果与所述目标查询条件相对应。
第九方面,本发明实施例提供一种电子设备,其特征在于,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序,所述程序被所述处理器执行时实现上述第二方面所述的数据查询方法的步骤。
第十方面,本发明实施例提供一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述第二方面所述的数据查询方法的步骤
本发明实施例的上述技术方案,对所述数据库服务器中的数据字段执行分组操作,得到多个分组字段;发布所述多个分组字段;接收数据查询端的查询请求;其中,所述查询请求包括分组查询条件,所述分组查询条件由所述数据查询端根据目标查询条件与发布的所述分组字段之间的对应关系确定;在所述数据库服务器中的数据字段中确定所述分组查询条件对应的初始查询结果;通过不经意传输协议向所述数据查询端发送第一信息;其中,所述第一信息用于使所述数据查询端从所述初始查询结果中获取目标查询结果;其中,所述目标查询结果与所述目标查询条件相对应;能够提高数据查询过程的安全性能,降低用户查询数据泄露风险。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种数据查询方法的流程图;
图2是本发明实施例提供的一种数据查询模块交互的示意图;
图3是本发明实施例提供的另一种数据查询方法的流程图。
图4是本发明实施例提供的数据库服务器的示意图;
图5是本发明又一实施例提供的数据查询端的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例中,提出了一种数据查询方法,应用于数据库服务器,以解决现有数据查询过程的安全性能比较差的问题。
参见图1,图1是本发明实施例提供的一种数据查询方法的流程图,应用于数据库服务器,如图1所示,所述方法包括以下步骤:
步骤101、对所述数据库服务器中的数据字段执行分组操作,得到多个分组字段。
本发明实施例中,上述数据库服务器为数据提供者,负责响应用户的数据查询请求。数据库服务器中的数据包括数据字段,所述字段可以理解为包含某一专题的信息,以表1为例,该数据包括姓名、手机号码、年龄、收入四个字段。
| 姓名 | 手机号码 | 年龄 | 收入 |
| 张明 | 138****9019 | 32 | 25w |
| 庄翰 | 158****0706 | 41 | 40w |
| 王森 | 138****5601 | 28 | 30w |
| 李淼 | 138****2890 | 33 | 35w |
| 张三 | 139****7652 | 37 | 50w |
| 宋云 | 186****2762 | 25 | 28w |
表1
对数据字段执行分组操作,可以理解为数据库服务器初始化的过程。
对数据字段执行分组操作时,可以采用泛化分组的方式,也可以采用其他分组方式,在此不做具体限定。可选择的,每组分组字段包括的数据条目大于等于2。可选择的,所述分组操作采用采用k泛化分组,分组后的每个字段包括的数据条数大于等于k,k为大于等于2的正整数。仍以表1数据为例,采用k泛化分组,k=2,对该数据字段做k-泛化之后的结果是:
姓名字段:{(张*)、([庄|王]*)、([李|宋]*)};
手机号码字段:{(138********)、([139|158|186]********)};
年龄字段:{(25-30)、(31-35)、(36-45)};
收入字段:{(25w-29w)、(30w-35w)、(36w-50w)}。
其中,姓名字段分成3组,分别是(张*)、([庄|王]*)和([李|宋]*),其中(张*)分组字段包括张明、张三2条数据,([庄|王]*)分组字段包括庄翰、王森2条数据。
其中,所述数据库服务器内部维护一张映射表,用于记录泛化后的分组字段与原数据的对应关系。
可选的,设置分组后的每个字段包括的数据条数小于等于2k,从而提高数据传输效率。
步骤102、发布所述多个分组字段。
所述数据库服务器对分组后的多个分组字段进行发布,可选的,所述数据库服务器可以将分组后的多个分组字段,发布至鉴权存证系统的区块链上或者当前数据库服务器,也可以发布至另一数据库,所发布位置能够供数据查询端读取所述分组字段即可。
步骤103、接收数据查询端的查询请求;其中,所述查询请求包括分组查询条件,所述分组查询条件由所述数据查询端根据目标查询条件与发布的所述分组字段之间的对应关系确定。
数据查询端,读取数据库服务器发布的分组后的分组字段信息,根据目标查询条件选择一个或多个分组字段,其中,上述目标查询条件可以理解为查询者的实际查询意图。可选的,上述选择的一个或多个分组字段为泛化分组字段。
举例而言,数据查询端接收查询者的目标查询条件,例如,目标查询条件为32岁,根据读取到的分组字段信息年龄字段:{(25-30)、(31-35)、(36-45)},确定分组查询条件为(31-35),并将该分组查询条件发送给数据库服务器,执行查询请求。
可选的,上述目标查询条件可能涉及多个字段,分组查询条件可以对应为多个分组字段。上述目标查询条件可能涉及单个字段时,分组查询条件也可以选择一个或多个分组字段,例如,目标查询条件为大于32岁,分组查询条件可以确定为(31-35)、(36-45)两个分组字段。由此可见,本实施例中的数据查询方式支持多条件查询和范围化的查询。
由数据库服务器按字段执行分组,查询者从中选择自己需要的某一组并发给数据库服务器,由于每组对应了至少k个数据,所以服务端难以确定查询者查的是哪条数据,即难以确定用户的真实查询意图,从而保护查询隐私。
步骤104、在所述数据库服务器中的数据字段中确定所述分组查询条件对应的初始查询结果。
由于数据查询端提供给数据服务器的查询条件是将目标查询条件对应到分组字段后的得到的分组查询条件,数据库服务器根据所述分组查询条件确定初始查询结果,所述初始查询结果包括与目标查询条件对应的查询结果,也可能包括与目标查询条件无关的查询结果。
步骤105、通过不经意传输协议向所述数据查询端发送第一信息;其中,所述第一信息用于使所述数据查询端从所述初始查询结果中获取目标查询结果;其中,所述目标查询结果与所述目标查询条件相对应。
由于所述初始查询结果包括与目标查询条件对应的查询结果,也包括与目标查询条件无关的查询结果,上述数据查询端需要从初始查询结果中选择出与目标查询条件相对应的目标查询结果。例如,目标查询条件为32岁,根据分组查询条件(31-35)返回的初始查询结果包括(张明,138****9019,32,25w)和(李淼,138****2890,33,35w)两条数据,此时需要根据目标查询条件,确定目标查询结果为(张明,138****9019,32,25w),即选择(张明,138****9019,32,25w)作为目标查询结果,但是这个选择过程需要对数据库服务器不可见,此时采用数据传输方式是不经意传输协议。
以初始查询结果为n条数据,目标查询结果为s条数据为例,介绍不经意传输协议:
(1)数据库服务器选取大素数p、模p循环子群的生成元g,并计算α=gamodp,其中,a为随机数,mod为取余算符,将p、g、α发送给数据查询端;
(2)A计算h=αb、y=grhw并发送给数据库服务器,其中b、r为随机数,w为数据查询端要选取的消息编号;
(3)数据库服务器发送给数据查询端,其中ki为随机数,Mi为数据库服务器发送的数据,i∈{1,2,…,n};
(4)数据查询端计算Mw=v*ur,从而得到Mw的值。
因为所以v*ur=Mw,即数据库服务器的第w个数据,所以通过该协议数据查询端可以正确的获取第w个数据。而且除了他选取的第w条数据外,其他数据都是Mihx(x为数据查询端无法知晓的随机数)的形式,基于计算离散对数的困难性,数据查询端也只能得到第w条消息。对于数据查询端来说,他的选择隐藏在y中,数据库服务器也无法获知数据查询端的选择。所以上述协议实现了n取1不经意传输。重复s次,数据查询端就可以从数据库服务器那里获得其想要的s个数据,从而得到对应的s条数据。
可选的,所述步骤105、通过不经意传输协议向所述数据查询端发送第一信息,具体包括:将所述初始查询结果n条数据通过不经意传输协议向所述数据查询端发送,数据查询端通过不经意传输协议获取其中s条数据。
可选的,所述在所述数据库服务器中的数据字段中确定所述分组查询条件对应的初始查询结果步骤之后,通过不经意传输协议向所述数据查询端发送第一信息步骤之前,所述方法,还包括:
利用n个随机数分别对所述n条数据进行加密,得到n条加密数据;
将所述n条加密数据发送至所述数据查询端。
其中,可选的,上述加密可以是n条数据分别与n个随机数相加,也可以是利用n个随机数相加以其他加密形式对n条数据进行加密。其中,上述加密的数据包括公开的索引,使得数据查询端知晓其所需的目标查询结果。例如,以年龄作为公开索引,当数据查询端以32岁对应的数据条作为目标数据条时,从n条加密数据中获取32岁对应的s条加密数据作为待解密对象,32岁对应的s个随机数作为解密随机数。
所述步骤105、所述通过不经意传输协议向所述数据查询端发送第一信息,具体包括:
通过不经意传输协议将所述n个随机数发送至所述数据查询端。
该实施方式中,利用不经意传输协议发送加密随机数,数据库服务器通过不经意传输协议发送n个随机数,上述数据查询端通过该协议数据查询端可以正确的获取第w个随机数,重复s次,数据查询端就可以从数据库服务器那里获得其想要的s个随机数,上述s个随机数为数据查询端希望获取的s个初始查询结果的加密随机数,上述s个随机数通过上述n条数据的公开的索引确定;利用上述s个随机数对s个初始查询结果进行解密。可选的,当加密是n条数据分别与n个随机数相加时,解密时将s个初始查询结果分别与s个随机数对应相减即可得到目标查询结果。而对于剩下的n-s条数据,由于不经意传输协议的特性,数据查询端无法得到其对应的随机数,也就无法正确“解密”。保证了数据查询端只可以得到想要的s条目标数据,但数据库服务器不知道数据查询端取的是哪些数据。
该实施方式中,在执行不经意传输协议时,用随机数对原数据做混淆处理,把对原始数据执行协议运算转换为对随机数的运算,即用不经意传输协议传输随机数而非原始数据,降低运算的复杂度,提高执行效率。
可选的,所述查询请求,还包括所述数据查询端以其私钥对身份信息和时间戳签名得到的数字签名;所述步骤103之后,步骤104之前,如图2所示,所述方法,还包括:
从鉴权存证系统获取数据查询端的证书;其中所述证书由所述数据查询端上传至鉴权存证系统,由所述鉴权存证系统挂载于区块链;
利用所述证书验证所述数字签名正确性。
其中,上述鉴权存证系统负责管控数据查询和响应操作,通过区块链技术完成功能。数据查询端在第一次发起数据查询操作之前需要执行初始化操作,向鉴权存证系统申请数据查询权限,数据查询端生成一张证书Cert,将证书Cert传给鉴权存证系统,也可以同时将身份信息A、时间戳T、证书Cert和签名A||T||Cert||Sig(A||T)传给鉴权存证系统。
鉴权存证系统收到数据查询端的消息后,首先验证签名的有效性,然后将A||T||Cert||Sig(A||T)挂载到区块链。
数据查询端在发起数据查询请求前,用自己的私钥对身份信息和时间戳的签名A||T||Sig(A||T)发给数据库服务器。
数据库服务器查询数据查询端信息,可以从鉴权存证系统获取数据查询端的证书,用所述证书验证所述数字签名正确性。
所述步骤104,包括:
若所述证书验证所述数字签名正确,则在所述数据库服务器中的数据字段中确定所述分组查询条件对应的初始查询结果。
上述数据库服务器在数字签名验证正确的情况下,确定所述分组查询条件对应的初始查询结果,并执行不经意传输协议,返回数据。可选的,在返回数据后,上述数据库服务器还将数据查询请求操作上传上述鉴权存证系统进行存证。
该实施例利用区块链技术配合本方案的执行协议实现数据查询过程中的鉴权和存证,进一步保证数据查询的安全性。
可选的,所述方法,还包括:
从所述鉴权存证系统获取查询预算m,其中,所述查询预算m为所述鉴权存证系统为数据查询端分配的数据条数预算,由所述鉴权存证系统挂载于区块链;
所述通过不经意传输协议向所述数据查询端发送第一信息,包括:
若n小于等于查询预算m,则通过不经意传输协议向所述数据查询端发送第一信息。
其中,数据查询端在第一次发起数据查询操作之前需要执行初始化操作时,向鉴权存证系统申请数据查询权限,鉴权存证系统会给数据查询端分配一个数据查询预算m,表示该请求者总共可以查询m条数据。数据查询端私钥对查询预算m和时间戳做数字签名Sig(m||T),将查询预算m传给鉴权存证系统,也可以同时将身份信息A、查询预算m、时间戳T、证书Cert和签名A||m||T||Cert||Sig(A||m||T)传给鉴权存证系统。
数据库服务器在收到查询请求后从鉴权存证系统拿到数据查询端的查询预算m,然后计算分组查询条件对应的数据条目数n,如果n不大于查询预算m,则认为数据查询端的查询请求合法,开始执行不经意传输协议。
可选的,数据查询端查询得到s条数据之后,其查询预算应该减掉s。数据查询端需要用自己的私钥对(m-s)||T做签名Sig((m-s)||T),并将签名信息发给发给鉴权存证系统,更新数据查询端的查询预算。
本发明实施例中,对所述数据库服务器中的数据字段执行分组操作,得到多个分组字段;发布所述多个分组字段;接收数据查询端的查询请求;其中,所述查询请求包括分组查询条件,所述分组查询条件由所述数据查询端根据目标查询条件与发布的所述分组字段之间的对应关系确定;在所述数据库服务器中的数据字段中确定所述分组查询条件对应的初始查询结果;通过不经意传输协议向所述数据查询端发送第一信息;其中,所述第一信息用于使所述数据查询端从所述初始查询结果中获取目标查询结果;其中,所述目标查询结果与所述目标查询条件相对应;通过数据字段执行分组操作和不经意传输协议执行数据查询,能够提高数据查询过程的安全性能,降低用户查询数据泄露风险。
参见图3,图3是本发明实施例提供的另一种数据查询方法的流程图,用于数据查询端,如图3所示,所述方法包括以下步骤:
步骤301、接收目标查询条件。
上述数据查询端接收查询者的目标查询条件,上述目标查询条件可以理解为查询者的实际查询意图。
步骤302、读取数据库服务器发布的分组字段,所述分组字段由所述数据库服务器对所述数据库服务器中的数据字段执行分组操作得到并发布。
步骤303、根据所述目标查询条件与分组字段之间的对应关系,确定分组查询条件。
步骤304、向数据库服务器发送查询请求;其中,所述查询请求包括分组查询条件。
步骤305、接收所述数据库服务器通过不经意传输协议发送的第一信息;其中,所述第一信息用于使所述数据查询端从初始查询结果中获取目标查询结果;其中,所述初始查询结果为所述数据库服务器在所述数据库服务器中的数据字段中确定所述分组查询条件对应的查询结果;所述目标查询结果与所述目标查询条件相对应。
需要说明的是,本实施例作为与图1所示的实施例中对应的数据查询端的实施方式,其具体的实施方式可以参见图1所示的实施例中的相关说明,为避免重复说明,本实施例不再赘述。
可选的,所述步骤304之前,所述方法,还包括:
生成数据查询端的证书;
利用私钥对身份信息和时间戳签名,得到数字签名;
将所述数据查询端的证书上传至鉴权存证系统,由所述鉴权存证系统将所述证书挂载于区块链;
所述查询请求,还包括所述数字签名。
可选的,所述初始查询结果包括n条数据,所述目标查询结果为n条数据中的s条数据;
所述方法,还包括:
接收数据库服务器发送的n条加密数据,其中所述n条加密数据由所述数据库服务器利用n个随机数分别对所述n条数据进行加密得到;
所述步骤305,包括:
从所述数据库服务器通过不经意传输协议发送的n个随机数中,获取s个随机数,其中所述s个随机数与所述s条数据的加密随机数相对应。
可选的,所述步骤304之前,所述方法,还包括:
向所述鉴权存证系统申请数据查询权限;
接收所述鉴权存证系统分配数据查询预算m;
所述查询请求,还包括所述数据查询预算m。
上述可选的实施方式可以参见图1所示的实施例中的相关说明,为避免重复说明,本实施例不再赘述。
本实施例中的数据查询方法,接收目标查询条件;读取数据库服务器发布的分组字段,所述分组字段由所述数据库服务器对所述数据库服务器中的数据字段执行分组操作得到并发布;根据所述目标查询条件与分组字段之间的对应关系,确定分组查询条件;向数据库服务器发送查询请求;其中,所述查询请求包括分组查询条件;接收所述数据库服务器通过不经意传输协议发送的第一信息;其中,所述第一信息用于使所述数据查询端从初始查询结果中获取目标查询结果;其中,所述初始查询结果为所述数据库服务器在所述数据库服务器中的数据字段中确定所述分组查询条件对应的查询结果;所述目标查询结果与所述目标查询条件相对应。通过数据字段执行分组操作和不经意传输协议执行数据查询,能够提高数据查询过程的安全性能,降低用户查询数据泄露风险。
参见图4,图4是本发明实施例提供的一种数据库服务器的结构示意图,如图4所示,数据库服务器400包括:
分组模块401,用于对所述数据库服务器中的数据字段执行分组操作,得到多个分组字段;
发布模块402,用于发布所述多个分组字段;
查询请求接收模块403,用于接收数据查询端的查询请求;其中,所述查询请求包括分组查询条件,所述分组查询条件由所述数据查询端根据目标查询条件与发布的所述分组字段之间的对应关系确定;
查询模块404,用于在所述数据库服务器中的数据字段中确定所述分组查询条件对应的初始查询结果;
发送模块405,用于通过不经意传输协议向所述数据查询端发送第一信息;其中,所述第一信息用于使所述数据查询端从所述初始查询结果中获取目标查询结果;其中,所述目标查询结果与所述目标查询条件相对应。
可选的,所述分组模块,具体用于对数据字段执行泛化分组操作,其中,每组分组字段包括的数据条目大于等于2。
可选的,所述查询请求,还包括所述数据查询端以其私钥对身份信息和时间戳签名得到的数字签名。
所述数据库服务器,还包括:
证书获取模块,用于从鉴权存证系统获取数据查询端的证书;其中所述证书由所述数据查询端上传至鉴权存证系统,由所述鉴权存证系统挂载于区块链;
签名验证模块,用于利用所述证书验证所述数字签名正确性。
所述查询模块,具体用于若所述证书验证所述数字签名正确,则在所述数据库服务器中的数据字段中确定所述分组查询条件对应的初始查询结果。
所述初始查询结果包括n条数据。可选的,所述数据库服务器,还包括:
加密模块,用于利用n个随机数分别对所述n条数据进行加密,得到n条加密数据;
加密数据发送模块,用于将所述n条加密数据发送至所述数据查询端;
所述发送模块,具体用于通过不经意传输协议将所述n个随机数发送至所述数据查询端。
可选的,所述数据库服务器,还包括:
预算获取模块,用于从所述鉴权存证系统获取查询预算m,其中,所述查询预算m为所述鉴权存证系统为数据查询端分配的数据条数预算,由所述鉴权存证系统挂载于区块链。
所述发送模块,具体用于若n小于等于查询预算m,则通过不经意传输协议向所述数据查询端发送第一信息。
需要说明的是,本实施例作为与图1所示的实施例中对应的数据库服务器的实施方式,其具体的实施方式可以参见图1所示的实施例中的相关说明,为避免重复说明,本实施例不再赘述。
本发明实施例提供的数据库服务器是能够执行上述数据查询方法方法的装置,则上述数据查询方法方法实施例中的所有实现方式均适用于该装置,且均能达到相同或相似的有益效果。
本发明实施例还提供的一种数据库服务器,上述数据库服务器包括:包括处理器,所述处理器,用于:
对所述数据库服务器中的数据字段执行分组操作,得到多个分组字段;
发布所述多个分组字段;
接收数据查询端的查询请求;其中,所述查询请求包括分组查询条件,所述分组查询条件由所述数据查询端根据目标查询条件与发布的所述分组字段之间的对应关系确定;
在所述数据库服务器中的数据字段中确定所述分组查询条件对应的初始查询结果;
通过不经意传输协议向所述数据查询端发送第一信息;其中,所述第一信息用于使所述数据查询端从所述初始查询结果中获取目标查询结果;其中,所述目标查询结果与所述目标查询条件相对应。
可选的,所述对所述数据库服务器中的数据字段执行分组操作,包括:
对数据字段执行泛化分组操作,其中,每组分组字段包括的数据条目大于等于2。
可选的,所述查询请求,还包括所述数据查询端以其私钥对身份信息和时间戳签名得到的数字签名;
所述接收数据查询端的查询请求步骤之后,在所述数据库服务器中的数据字段中确定所述分组查询条件对应的初始查询结果步骤之前,所述处理器,还用于:
从鉴权存证系统获取数据查询端的证书;其中所述证书由所述数据查询端上传至鉴权存证系统,由所述鉴权存证系统挂载于区块链;
利用所述证书验证所述数字签名正确性;
所述在所述数据库服务器中的数据字段中确定所述分组查询条件对应的初始查询结果,包括:
若所述证书验证所述数字签名正确,则在所述数据库服务器中的数据字段中确定所述分组查询条件对应的初始查询结果
可选的,所述初始查询结果包括n条数据;
所述在所述数据库服务器中的数据字段中确定所述分组查询条件对应的初始查询结果步骤之后,通过不经意传输协议向所述数据查询端发送第一信息步骤之前,所述处理器,还用于:
利用n个随机数分别对所述n条数据进行加密,得到n条加密数据;
将所述n条加密数据发送至所述数据查询端;
所述通过不经意传输协议向所述数据查询端发送第一信息,包括:
通过不经意传输协议将所述n个随机数发送至所述数据查询端
可选的,所述处理器,还用于:
从所述鉴权存证系统获取查询预算m,其中,所述查询预算m为所述鉴权存证系统为数据查询端分配的数据条数预算,由所述鉴权存证系统挂载于区块链;
所述通过不经意传输协议向所述数据查询端发送第一信息,包括:
若n小于等于查询预算m,则通过不经意传输协议向所述数据查询端发送第一信息。
需要说明的是,本实施例作为与图1所示的实施例中对应的数据库服务器的实施方式,其具体的实施方式可以参见图1所示的实施例中的相关说明,为避免重复说明,本实施例不再赘述。
本发明实施例还提供了一种电子设备,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序,所述程序被所述处理器执行时实现上述数据查询方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述数据查询方法实施例中的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等。
参见图5,图5是本发明实施例提供的一种数据查询端的结构示意图,如图5所示,数据查询端500包括:
第一接收模块501,用于接收目标查询条件;
读取模块502,用于读取数据库服务器发布的分组字段,所述分组字段由所述数据库服务器对所述数据库服务器中的数据字段执行分组操作得到并发布;
查询条件确定模块503,用于根据所述目标查询条件与分组字段之间的对应关系,确定分组查询条件;
请求模块504,用于向数据库服务器发送查询请求;其中,所述查询请求包括分组查询条件;
第二接收模块505,用于接收所述数据库服务器通过不经意传输协议发送的第一信息;其中,所述第一信息用于使所述数据查询端从初始查询结果中获取目标查询结果;其中,所述初始查询结果为所述数据库服务器在所述数据库服务器中的数据字段中确定所述分组查询条件对应的查询结果;所述目标查询结果与所述目标查询条件相对应。
可选的,所述数据查询端,还包括:
证书生成模块,用于生成数据查询端的证书;
数字签名模块,用于利用私钥对身份信息和时间戳签名,得到数字签名;
证书上传模块,用于将所述数据查询端的证书上传至鉴权存证系统,由所述鉴权存证系统将所述证书挂载于区块链;
所述查询请求,还包括所述数字签名。
可选的,所述初始查询结果包括n条数据,所述目标查询结果为n条数据中的s条数据,所述数据查询端,还包括:
加密数据接收模块,用于接收数据库服务器发送的n条加密数据,其中所述n条加密数据由所述数据库服务器利用n个随机数分别对所述n条数据进行加密得到;
第二接收模块,具体用于:从所述数据库服务器通过不经意传输协议发送的n个随机数中,获取s个随机数,其中所述s个随机数与所述s条数据的加密随机数相对应。
可选的,所述数据查询端,还包括:
权限申请模块,用于向所述鉴权存证系统申请数据查询权限;
预算接收模块,用于接收所述鉴权存证系统分配数据查询预算m;
所述查询请求,还包括所述数据查询预算m。
需要说明的是,本实施例作为与图1所示的实施例中对应的数据查询端的实施方式,其具体的实施方式可以参见图1所示的实施例中的相关说明,为避免重复说明,本实施例不再赘述。
本发明实施例提供的数据查询端是能够执行上述数据查询方法方法的装置,则上述数据查询方法方法实施例中的所有实现方式均适用于该装置,且均能达到相同或相似的有益效果。
本发明实施例还提供的一种电子设备,包括收发机和处理器,所述处理器,用于:
接收目标查询条件;
读取数据库服务器发布的分组字段,所述分组字段由所述数据库服务器对所述数据库服务器中的数据字段执行分组操作得到并发布;
根据所述目标查询条件与分组字段之间的对应关系,确定分组查询条件;
向数据库服务器发送查询请求;其中,所述查询请求包括分组查询条件;
接收所述数据库服务器通过不经意传输协议发送的第一信息;其中,所述第一信息用于使所述数据查询端从初始查询结果中获取目标查询结果;其中,所述初始查询结果为所述数据库服务器在所述数据库服务器中的数据字段中确定所述分组查询条件对应的查询结果;所述目标查询结果与所述目标查询条件相对应。
可选的,所述向数据库服务器发送查询请求之前,所述处理器,还用于:
生成数据查询端的证书;
利用私钥对身份信息和时间戳签名,得到数字签名;
将所述数据查询端的证书上传至鉴权存证系统,由所述鉴权存证系统将所述证书挂载于区块链;
所述查询请求,还包括所述数字签名。
可选的,所述初始查询结果包括n条数据,所述目标查询结果为n条数据中的s条数据,所述处理器,还用于:
接收数据库服务器发送的n条加密数据,其中所述n条加密数据由所述数据库服务器利用n个随机数分别对所述n条数据进行加密得到;
所述接收所述数据库服务器通过不经意传输协议发送的第一信息,包括:
从所述数据库服务器通过不经意传输协议发送的n个随机数中,获取s个随机数,其中所述s个随机数与所述s条数据的加密随机数相对应。
可选的,所述向数据库服务器发送查询请求之前,所述处理器,还用于:
向所述鉴权存证系统申请数据查询权限;
接收所述鉴权存证系统分配数据查询预算m;
所述查询请求,还包括所述数据查询预算m。
本发明实施例还提供了一种电子设备,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序,所述程序被所述处理器执行时实现上述数据查询方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述数据查询方法实施例中的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。
Claims (15)
1.一种数据查询方法,应用于数据库服务器,其特征在于,所述方法包括:
对所述数据库服务器中的数据字段执行分组操作,得到多个分组字段;
发布所述多个分组字段;
接收数据查询端的查询请求;其中,所述查询请求包括分组查询条件,所述分组查询条件由所述数据查询端根据目标查询条件与发布的所述分组字段之间的对应关系确定;
在所述数据库服务器中的数据字段中确定所述分组查询条件对应的初始查询结果;
通过不经意传输协议向所述数据查询端发送第一信息;其中,所述第一信息用于使所述数据查询端从所述初始查询结果中获取目标查询结果;其中,所述目标查询结果与所述目标查询条件相对应;
所述初始查询结果包括n条数据,所述目标查询结果为n条数据中的s条数据;
所述在所述数据库服务器中的数据字段中确定所述分组查询条件对应的初始查询结果步骤之后,通过不经意传输协议向所述数据查询端发送第一信息步骤之前,所述方法,还包括:
利用n个随机数分别对所述n条数据进行加密,得到n条加密数据,所述加密数据包括公开的索引;
将所述n条加密数据发送至所述数据查询端;
所述通过不经意传输协议向所述数据查询端发送第一信息,包括:
通过不经意传输协议将所述n个随机数发送至所述数据查询端,以使得所述数据查询端根据所述公开的索引从所述n个随机数中获取s个随机数,其中所述s个随机数与所述s条数据的加密随机数相对应。
2.根据权利要求1所述的方法,其特征在于,所述对所述数据库服务器中的数据字段执行分组操作,包括:
对数据字段执行泛化分组操作,其中,每组分组字段包括的数据条目大于等于2。
3.根据权利要求1所述的方法,其特征在于,所述查询请求,还包括所述数据查询端以其私钥对身份信息和时间戳签名得到的数字签名;
所述接收数据查询端的查询请求步骤之后,在所述数据库服务器中的数据字段中确定所述分组查询条件对应的初始查询结果步骤之前,所述方法,还包括:
从鉴权存证系统获取数据查询端的证书;其中所述证书由所述数据查询端上传至鉴权存证系统,由所述鉴权存证系统挂载于区块链;
利用所述证书验证所述数字签名正确性;
所述在所述数据库服务器中的数据字段中确定所述分组查询条件对应的初始查询结果,包括:
若所述证书验证所述数字签名正确,则在所述数据库服务器中的数据字段中确定所述分组查询条件对应的初始查询结果。
4.根据权利要求1或3所述的方法,其特征在于,所述初始查询结果包括n条数据;
所述方法还包括:
从鉴权存证系统获取查询预算m,其中,所述查询预算m为所述鉴权存证系统为数据查询端分配的数据条数预算,由所述鉴权存证系统挂载于区块链;
所述通过不经意传输协议向所述数据查询端发送第一信息,包括:
若n小于等于查询预算m,则通过不经意传输协议向所述数据查询端发送第一信息。
5.一种数据查询方法,应用于数据查询端,其特征在于,所述方法包括:
接收目标查询条件;
读取数据库服务器发布的分组字段,所述分组字段由所述数据库服务器对所述数据库服务器中的数据字段执行分组操作得到并发布;
根据所述目标查询条件与分组字段之间的对应关系,确定分组查询条件;
向数据库服务器发送查询请求;其中,所述查询请求包括分组查询条件;
接收所述数据库服务器通过不经意传输协议发送的第一信息;其中,所述第一信息用于使所述数据查询端从初始查询结果中获取目标查询结果;其中,所述初始查询结果为所述数据库服务器在所述数据库服务器中的数据字段中确定所述分组查询条件对应的查询结果;所述目标查询结果与所述目标查询条件相对应;
所述初始查询结果包括n条数据,所述目标查询结果为n条数据中的s条数据;
所述方法,还包括:
接收数据库服务器发送的n条加密数据,其中所述n条加密数据由所述数据库服务器利用n个随机数分别对所述n条数据进行加密得到,所述加密数据包括公开的索引;
所述接收所述数据库服务器通过不经意传输协议发送的第一信息,包括:
根据所述公开的索引,从所述数据库服务器通过不经意传输协议发送的n个随机数中,获取s个随机数,其中所述s个随机数与所述s条数据的加密随机数相对应。
6.根据权利要求5所述的方法,其特征在于,所述向数据库服务器发送查询请求之前,所述方法,还包括:
生成数据查询端的证书;
利用私钥对身份信息和时间戳签名,得到数字签名;
将所述数据查询端的证书上传至鉴权存证系统,由所述鉴权存证系统将所述证书挂载于区块链;
所述查询请求,还包括所述数字签名。
7.根据权利要求5或6所述的方法,其特征在于,所述向数据库服务器发送查询请求之前,所述方法,还包括:
向鉴权存证系统申请数据查询权限;
接收所述鉴权存证系统分配数据查询预算m;
所述查询请求,还包括所述数据查询预算m。
8.一种数据库服务器,其特征在于,包括:
分组模块,用于对所述数据库服务器中的数据字段执行分组操作,得到多个分组字段;
发布模块,用于发布所述多个分组字段;
查询请求接收模块,用于接收数据查询端的查询请求;其中,所述查询请求包括分组查询条件,所述分组查询条件由所述数据查询端根据目标查询条件与发布的所述分组字段之间的对应关系确定;
查询模块,用于在所述数据库服务器中的数据字段中确定所述分组查询条件对应的初始查询结果;
发送模块,用于通过不经意传输协议向所述数据查询端发送第一信息;其中,所述第一信息用于使所述数据查询端从所述初始查询结果中获取目标查询结果;其中,所述目标查询结果与所述目标查询条件相对应;
所述初始查询结果包括n条数据,所述目标查询结果为n条数据中的s条数据;所述数据库服务器,还包括:
加密模块,用于利用n个随机数分别对所述n条数据进行加密,得到n条加密数据,所述加密数据包括公开的索引;
加密数据发送模块,用于将所述n条加密数据发送至所述数据查询端;
所述发送模块,具体用于通过不经意传输协议将所述n个随机数发送至所述数据查询端,以使得所述数据查询端根据所述公开的索引从所述n个随机数中获取s个随机数,其中所述s个随机数与所述s条数据的加密随机数相对应。
9.一种数据库服务器,其特征在于,包括处理器,所述处理器,用于:
对所述数据库服务器中的数据字段执行分组操作,得到多个分组字段;
发布所述多个分组字段;
接收数据查询端的查询请求;其中,所述查询请求包括分组查询条件,所述分组查询条件由所述数据查询端根据目标查询条件与发布的所述分组字段之间的对应关系确定;
在所述数据库服务器中的数据字段中确定所述分组查询条件对应的初始查询结果;
通过不经意传输协议向所述数据查询端发送第一信息;其中,所述第一信息用于使所述数据查询端从所述初始查询结果中获取目标查询结果;其中,所述目标查询结果与所述目标查询条件相对应;
所述初始查询结果包括n条数据,所述目标查询结果为n条数据中的s条数据;所述处理器,还用于:
利用n个随机数分别对所述n条数据进行加密,得到n条加密数据,所述加密数据包括公开的索引;
将所述n条加密数据发送至所述数据查询端;
所述通过不经意传输协议向所述数据查询端发送第一信息,包括:
通过不经意传输协议将所述n个随机数发送至所述数据查询端,以使得所述数据查询端根据所述公开的索引从所述n个随机数中获取s个随机数,其中所述s个随机数与所述s条数据的加密随机数相对应。
10.一种电子设备,其特征在于,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序,所述程序被所述处理器执行时实现如权利要求1至4中任一项所述的数据查询方法的步骤。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至4中任一项所述的数据查询方法的步骤。
12.一种数据查询端,其特征在于,包括:
第一接收模块,用于接收目标查询条件;
读取模块,用于读取数据库服务器发布的分组字段,所述分组字段由所述数据库服务器对所述数据库服务器中的数据字段执行分组操作得到并发布;
查询条件确定模块,用于根据所述目标查询条件与分组字段之间的对应关系,确定分组查询条件;
请求模块,用于向数据库服务器发送查询请求;其中,所述查询请求包括分组查询条件;
第二接收模块,用于接收所述数据库服务器通过不经意传输协议发送的第一信息;其中,所述第一信息用于使所述数据查询端从初始查询结果中获取目标查询结果;其中,所述初始查询结果为所述数据库服务器在所述数据库服务器中的数据字段中确定所述分组查询条件对应的查询结果;所述目标查询结果与所述目标查询条件相对应;
所述初始查询结果包括n条数据,所述目标查询结果为n条数据中的s条数据,所述数据查询端,还包括:
加密数据接收模块,用于接收数据库服务器发送的n条加密数据,其中所述n条加密数据由所述数据库服务器利用n个随机数分别对所述n条数据进行加密得到,所述加密数据包括公开的索引;
第二接收模块,具体用于:根据所述公开的索引,从所述数据库服务器通过不经意传输协议发送的n个随机数中,获取s个随机数,其中所述s个随机数与所述s条数据的加密随机数相对应。
13.一种电子设备,其特征在于,包括收发机和处理器,
所述处理器,用于:
接收目标查询条件;
读取数据库服务器发布的分组字段,所述分组字段由所述数据库服务器对所述数据库服务器中的数据字段执行分组操作得到并发布;
根据所述目标查询条件与分组字段之间的对应关系,确定分组查询条件;
向数据库服务器发送查询请求;其中,所述查询请求包括分组查询条件;
接收所述数据库服务器通过不经意传输协议发送的第一信息;其中,所述第一信息用于使所述电子设备从初始查询结果中获取目标查询结果;其中,所述初始查询结果为所述数据库服务器在所述数据库服务器中的数据字段中确定所述分组查询条件对应的查询结果;所述目标查询结果与所述目标查询条件相对应;
所述初始查询结果包括n条数据,所述目标查询结果为n条数据中的s条数据,所述处理器,还用于:
接收数据库服务器发送的n条加密数据,其中所述n条加密数据由所述数据库服务器利用n个随机数分别对所述n条数据进行加密得到,所述加密数据包括公开的索引;
所述接收所述数据库服务器通过不经意传输协议发送的第一信息,包括:
根据所述公开的索引,从所述数据库服务器通过不经意传输协议发送的n个随机数中,获取s个随机数,其中所述s个随机数与所述s条数据的加密随机数相对应。
14.一种电子设备,其特征在于,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序,所述程序被所述处理器执行时实现如权利要求5至7中任一项所述的数据查询方法的步骤。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求5至7中任一项所述的数据查询方法的步骤。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202010512708.0A CN113836569B (zh) | 2020-06-08 | 2020-06-08 | 数据查询方法及相关设备 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202010512708.0A CN113836569B (zh) | 2020-06-08 | 2020-06-08 | 数据查询方法及相关设备 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN113836569A CN113836569A (zh) | 2021-12-24 |
| CN113836569B true CN113836569B (zh) | 2024-08-02 |
Family
ID=78963555
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202010512708.0A Active CN113836569B (zh) | 2020-06-08 | 2020-06-08 | 数据查询方法及相关设备 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN113836569B (zh) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN114357522A (zh) * | 2022-01-13 | 2022-04-15 | 厦门荷月信息科技有限公司 | 一种隐私计算分组查询方法及系统 |
| CN114676169B (zh) * | 2022-05-27 | 2022-08-26 | 富算科技(上海)有限公司 | 一种数据查询方法及装置 |
| CN115982198A (zh) * | 2022-12-27 | 2023-04-18 | 中国电信股份有限公司 | Sql语句执行方法和装置、系统、电子设备、存储介质 |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN108848081A (zh) * | 2018-06-01 | 2018-11-20 | 深圳崀途科技有限公司 | 基于联盟链存储校验和积分激励机制的数据共享方法 |
| CN110096899A (zh) * | 2019-04-29 | 2019-08-06 | 腾讯科技(深圳)有限公司 | 一种数据查询方法及装置 |
| CN111092871A (zh) * | 2019-12-11 | 2020-05-01 | 支付宝(杭州)信息技术有限公司 | 一种个人信息保护的数据共享方法、装置及电子设备 |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9917820B1 (en) * | 2015-06-29 | 2018-03-13 | EMC IP Holding Company LLC | Secure information sharing |
| CN105721140B (zh) * | 2016-01-27 | 2019-03-15 | 北京航空航天大学 | n取k的不经意传输方法和系统 |
| DE102016004426A1 (de) * | 2016-04-12 | 2017-10-12 | Giesecke+Devrient Mobile Security Gmbh | Identifizieren eines Identitätsträgers |
| CN111062052B (zh) * | 2019-12-09 | 2023-04-18 | 支付宝(杭州)信息技术有限公司 | 一种数据查询的方法和系统 |
-
2020
- 2020-06-08 CN CN202010512708.0A patent/CN113836569B/zh active Active
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN108848081A (zh) * | 2018-06-01 | 2018-11-20 | 深圳崀途科技有限公司 | 基于联盟链存储校验和积分激励机制的数据共享方法 |
| CN110096899A (zh) * | 2019-04-29 | 2019-08-06 | 腾讯科技(深圳)有限公司 | 一种数据查询方法及装置 |
| CN111092871A (zh) * | 2019-12-11 | 2020-05-01 | 支付宝(杭州)信息技术有限公司 | 一种个人信息保护的数据共享方法、装置及电子设备 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN113836569A (zh) | 2021-12-24 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Miao et al. | Fair and dynamic data sharing framework in cloud-assisted internet of everything | |
| US8214637B2 (en) | Public key certificate issuing system, public key certificate issuing method, digital certification apparatus, and program storage medium | |
| Yang et al. | Multi-user private keyword search for cloud computing | |
| Xu et al. | Provably secure anonymous three-factor authentication scheme for multi-server environments | |
| CN113836569B (zh) | 数据查询方法及相关设备 | |
| CN101841521A (zh) | 对dns报文中的身份信息进行认证的方法、服务器和系统 | |
| Parameswarath et al. | User-empowered privacy-preserving authentication protocol for electric vehicle charging based on decentralized identity and verifiable credential | |
| Rehman et al. | A secure and improved multi server authentication protocol using fuzzy commitment | |
| Huang et al. | An efficient authentication and key agreement protocol for IoT-enabled devices in distributed cloud computing architecture | |
| Gowda et al. | BPCPR-FC: blockchain-based privacy preservation with confidentiality using proxy reencryption and ring signature in fog computing environments | |
| Yang et al. | Identity-based cloud storage auditing for data sharing with access control of sensitive information | |
| Yu et al. | Public cloud data auditing with practical key update and zero knowledge privacy | |
| Wu et al. | Privacy-preserving certificateless cloud auditing with multiple users | |
| CN106411999A (zh) | 云存储的密钥生成方法、云数据存储方法及审计方法 | |
| Luo et al. | A security communication model based on certificateless online/offline signcryption for Internet of Things | |
| CN115276998B (zh) | 物联网身份认证方法、装置和物联网设备 | |
| Yu et al. | Identity‐Based Proxy Signcryption Protocol with Universal Composability | |
| US9292671B1 (en) | Multi-server authentication using personalized proactivization | |
| Li et al. | Secure data access and sharing scheme for cloud storage | |
| Padhya et al. | R-oo-kase: revocable online/offline key aggregate searchable encryption | |
| He et al. | Anonymous identity-based broadcast encryption technology for smart city information system | |
| Patonico et al. | Elliptic curve‐based proxy re‐signcryption scheme for secure data storage on the cloud | |
| CN106533681B (zh) | 一种支持部分出示的属性证明方法与系统 | |
| Thirasak et al. | SSX-EHRs: secure and scalable cross-domain EHRs sharing with blockchain sharding and dynamic proxy re-encryption | |
| Xu et al. | A generic integrity verification algorithm of version files for cloud deduplication data storage |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PB01 | Publication | ||
| PB01 | Publication | ||
| SE01 | Entry into force of request for substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| GR01 | Patent grant | ||
| GR01 | Patent grant |