CN114357522A - 一种隐私计算分组查询方法及系统 - Google Patents
一种隐私计算分组查询方法及系统 Download PDFInfo
- Publication number
- CN114357522A CN114357522A CN202210036993.2A CN202210036993A CN114357522A CN 114357522 A CN114357522 A CN 114357522A CN 202210036993 A CN202210036993 A CN 202210036993A CN 114357522 A CN114357522 A CN 114357522A
- Authority
- CN
- China
- Prior art keywords
- data
- query
- client
- user
- prompt
- 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.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
本发明涉及一种隐私计算分组查询方法及系统。该方法包括客户端根据用户待查询的数据生成查询提示;并将查询提示和用户生成的公钥发送至服务端;服务端根据查询提示确定查询结果;并根据查询结果将数据库中的数据划分为多个分组;之后将分组后的数量发送至客户端;客户端对分组的编号进行选择;服务端利用查询提示和用户生成的公钥对客户端选择的分组中的数据进行加密,并将加密后的数据发送至客户端;客户端根据加密后的数据判断是否为待查询的数据。本发明能够保障用户操作时的隐私安全以及避免数据泄露。
Description
技术领域
本发明涉及数据交易领域,特别是涉及一种隐私计算分组查询方法及系统。
背景技术
现有的某些数据交易平台拥有大量的企业信用数据,企业信用数据包括企业的名称,地址,电话等各项基本信息和企业的信用等级,用户(可以是个人、企业或者机构)通过付费可以对想要了解的企业进行信用等级的查询。但是此过程中所有的数据对该数据交易平台是透明的,数据交易平台可以精准的知道每个用户所有的查询操作,甚至将用户所有的查询记录保存下来。如此,用户的隐私安全便得不到保障,数据交易平台有可能将用户的查询记录非法出售给一些别有所图的机构或者个人,从而给用户造成难以估量的损失。
因为,基于上述问题,亟需提供一种保障用户操作时的隐私安全,以及避免因数据泄露给用户造成损失的风险的数据查询方法或系统。
发明内容
本发明的目的是提供一种隐私计算分组查询方法及系统,能够保障用户操作时的隐私安全以及避免数据泄露。
为实现上述目的,本发明提供了如下方案:
一种隐私计算分组查询方法,包括:
客户端根据用户待查询的数据生成查询提示;并将查询提示和用户生成的公钥发送至服务端;
服务端根据查询提示确定查询结果;并根据查询结果将数据库中的数据划分为多个分组;之后将分组后的数量发送至客户端;
客户端对分组的编号进行选择;
服务端利用查询提示和用户生成的公钥对客户端选择的分组中的数据进行加密,并将加密后的数据发送至客户端;
客户端根据加密后的数据判断是否为待查询的数据。
可选地,所述客户端根据用户待查询的数据生成查询提示,具体包括:
将用户待查询的数据拼接上一个随机生成的salt,之后通过MD5散列函数生成一个散列值;所述散列值为查询提示。
可选地,所述服务端根据查询提示确定查询结果,具体包括:
将查询提示与数据库里所有数据的键逐一进行异或的位运算,确定查询结果。
可选地,所述服务端利用查询提示和用户生成的公钥对客户端选择的分组中的数据进行加密,并将加密后的数据发送至客户端,具体包括:
客户端选择的分组中的数据的键拼接上查询提示,之后通过sha256散列函数生成散列值;
将生成的散列值通过用户生成的公钥生成加密后的数据。
可选地,所述客户端根据加密后的数据判断是否为待查询的数据,具体包括:
将待查询的数据的键拼接上查询提示,之后通过sha256散列函数生成目标散列值;
利用用户生成的私钥对加密后的数据进行解密,确定散列值;
判断目标散列值与确定的散列值是否相同;
若相同,则根据确定的散列值获取用户待查询的数据;
若不相同,则返回所述客户端对分组的编号进行选择的步骤。
一种隐私计算分组查询系统,包括:
查询提示获取模块,用于客户端根据用户待查询的数据生成查询提示;并将查询提示和用户生成的公钥发送至服务端;
数据划分模块,用于服务端根据查询提示确定查询结果;并根据查询结果将数据库中的数据划分为多个分组;之后将分组后的数量发送至客户端;
分组选择模块,用于客户端对分组的编号进行选择;
分组数据加密及发送模块,用于服务端利用查询提示和用户生成的公钥对客户端选择的分组中的数据进行加密,并将加密后的数据发送至客户端;
判断模块,用于客户端根据加密后的数据判断是否为待查询的数据。
可选地,所述查询提示获取模块具体包括:
查询提示生成单元,用于将用户待查询的数据拼接上一个随机生成的salt,之后通过MD5散列函数生成一个散列值;所述散列值为查询提示。
可选地,所述数据划分模块具体包括:
查询结果确定单元,用于将查询提示与数据库里所有数据的键逐一进行异或的位运算,确定查询结果。
可选地,所述分组数据加密及发送模块具体包括:
分组数据第一加密单元,用于客户端选择的分组中的数据的键拼接上查询提示,之后通过sha256散列函数生成散列值;
分组数据第二加密单元,用于将生成的散列值通过用户生成的公钥生成加密后的数据。
可选地,所述判断模块具体包括:
目标散列值生成单元,用于将待查询的数据的键拼接上查询提示,之后通过sha256散列函数生成目标散列值;
解密单元,用于利用用户生成的私钥对加密后的数据进行解密,确定散列值;
判断单元,用于判断目标散列值与确定的散列值是否相同;
若相同,则根据确定的散列值获取用户待查询的数据;
若不相同,则返回所述分组选择模块。
根据本发明提供的具体实施例,本发明公开了以下技术效果:
本发明所提供的一种隐私计算分组查询方法及系统,通过将数据库中的数据划分为多个分组,之后服务端利用查询提示和用户生成的公钥对客户端选择的分组中的数据进行加密,服务器无法知道用户查询的是具体哪条数据,而用户只能获得其所要查询的那条数据,同时无法获取到用户返回的其它数据。进而保障了用户操作时的隐私安全,避免了数据泄露从而给用户造成损失的风险。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明所提供的一种隐私计算分组查询方法流程示意图;
图2为公钥及查询提示信息传递示意图;
图3为数据分组示意图;
图4为查询分组示意图;
图5为解密并判断是否继续查询示意图;
图6为本发明所提供的一种隐私计算分组查询系统结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的目的是提供一种隐私计算分组查询方法及系统,能够保障用户操作时的隐私安全以及避免数据泄露。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
图1为本发明所提供的一种隐私计算分组查询方法流程示意图,如图1所示,本发明所提供的一种隐私计算分组查询方法,包括:
S101,客户端根据用户(查询者)待查询的数据生成查询提示;并将查询提示和用户生成的公钥发送至服务端;
S101具体包括:
将用户待查询的数据拼接上一个随机生成的salt,之后通过MD5散列函数生成一个散列值;所述散列值为查询提示。
客户端会为每一个用户生成单独的国密算法sm2的公私钥的密钥对,并如图2所示。
S102,服务端(数据提供者)根据查询提示确定查询结果;并根据查询结果将数据库中的数据划分为多个分组,即多个子集,并如图3所示;之后将分组后的数量发送至客户端;
S102具体包括:
将查询提示与数据库里所有数据的键逐一进行异或的位运算,确定查询结果。
S103,客户端对分组的编号进行选择;
S104,服务端利用查询提示和用户生成的公钥对客户端选择的分组中的数据进行加密,并将加密后的数据发送至客户端;
S104具体包括:
客户端选择的分组中的数据的键拼接上查询提示,之后通过sha256散列函数生成散列值;
将生成的散列值通过用户生成的公钥生成加密后的数据。
如图4所示,作为一个具体的实施例,分为N个分组,将数字N发送至客户端,客户端收到数字N之后,随机返回数字X(1<=X<=N)给到服务端,服务端取出第X个子集,对子集里的所有数据进行加密处理:
(1)每条数据的键(key)拼接上查询提示,之后通过sha256散列函数生成散列值;
(2)每条数据的散列值(value)通过查询者的公钥加密生成密文;
S105,客户端根据加密后的数据判断是否为待查询的数据。
如图5所示,S105具体包括:
将待查询的数据的键拼接上查询提示,之后通过sha256散列函数生成目标散列值;
利用用户生成的私钥对加密后的数据进行解密,确定散列值;
判断目标散列值与确定的散列值是否相同;
若相同,则根据确定的散列值获取用户待查询的数据;
若不相同,则返回所述客户端对分组的编号进行选择的步骤。
如若所有分组内均不包含目标散列值,则代表查询者所要查询的数据不存在于服务端的数据库中。
图6为本发明所提供的一种隐私计算分组查询系统结构示意图,如图6所示,本发明所提供的一种隐私计算分组查询系统,包括:
查询提示获取模块601,用于客户端根据用户待查询的数据生成查询提示;并将查询提示和用户生成的公钥发送至服务端;
数据划分模块602,用于服务端根据查询提示确定查询结果;并根据查询结果将数据库中的数据划分为多个分组;之后将分组后的数量发送至客户端;
分组选择模块603,用于客户端对分组的编号进行选择;
分组数据加密及发送模块604,用于服务端利用查询提示和用户生成的公钥对客户端选择的分组中的数据进行加密,并将加密后的数据发送至客户端;
判断模块605,用于客户端根据加密后的数据判断是否为待查询的数据。
所述查询提示获取模块601具体包括:
查询提示生成单元,用于将用户待查询的数据拼接上一个随机生成的salt,之后通过MD5散列函数生成一个散列值;所述散列值为查询提示。
所述数据划分模块602具体包括:
查询结果确定单元,用于将查询提示与数据库里所有数据的键逐一进行异或的位运算,确定查询结果。
所述分组数据加密及发送模块604具体包括:
分组数据第一加密单元,用于客户端选择的分组中的数据的键拼接上查询提示,之后通过sha256散列函数生成散列值;
分组数据第二加密单元,用于将生成的散列值通过用户生成的公钥生成加密后的数据。
所述判断模块605具体包括:
目标散列值生成单元,用于将待查询的数据的键拼接上查询提示,之后通过sha256散列函数生成目标散列值;
解密单元,用于利用用户生成的私钥对加密后的数据进行解密,确定散列值;
判断单元,用于判断目标散列值与确定的散列值是否相同;
若相同,则根据确定的散列值获取用户待查询的数据;
若不相同,则返回所述分组选择模块。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种隐私计算分组查询方法,其特征在于,包括:
客户端根据用户待查询的数据生成查询提示;并将查询提示和用户生成的公钥发送至服务端;
服务端根据查询提示确定查询结果;并根据查询结果将数据库中的数据划分为多个分组;之后将分组后的数量发送至客户端;
客户端对分组的编号进行选择;
服务端利用查询提示和用户生成的公钥对客户端选择的分组中的数据进行加密,并将加密后的数据发送至客户端;
客户端根据加密后的数据判断是否为待查询的数据。
2.根据权利要求1所述的一种隐私计算分组查询方法,其特征在于,所述客户端根据用户待查询的数据生成查询提示,具体包括:
将用户待查询的数据拼接上一个随机生成的salt,之后通过MD5散列函数生成一个散列值;所述散列值为查询提示。
3.根据权利要求1所述的一种隐私计算分组查询方法,其特征在于,所述服务端根据查询提示确定查询结果,具体包括:
将查询提示与数据库里所有数据的键逐一进行异或的位运算,确定查询结果。
4.根据权利要求1所述的一种隐私计算分组查询方法,其特征在于,所述服务端利用查询提示和用户生成的公钥对客户端选择的分组中的数据进行加密,并将加密后的数据发送至客户端,具体包括:
客户端选择的分组中的数据的键拼接上查询提示,之后通过sha256散列函数生成散列值;
将生成的散列值通过用户生成的公钥生成加密后的数据。
5.根据权利要求1所述的一种隐私计算分组查询方法,其特征在于,所述客户端根据加密后的数据判断是否为待查询的数据,具体包括:
将待查询的数据的键拼接上查询提示,之后通过sha256散列函数生成目标散列值;
利用用户生成的私钥对加密后的数据进行解密,确定散列值;
判断目标散列值与确定的散列值是否相同;
若相同,则根据确定的散列值获取用户待查询的数据;
若不相同,则返回所述客户端对分组的编号进行选择的步骤。
6.一种隐私计算分组查询系统,其特征在于,包括:
查询提示获取模块,用于客户端根据用户待查询的数据生成查询提示;并将查询提示和用户生成的公钥发送至服务端;
数据划分模块,用于服务端根据查询提示确定查询结果;并根据查询结果将数据库中的数据划分为多个分组;之后将分组后的数量发送至客户端;
分组选择模块,用于客户端对分组的编号进行选择;
分组数据加密及发送模块,用于服务端利用查询提示和用户生成的公钥对客户端选择的分组中的数据进行加密,并将加密后的数据发送至客户端;
判断模块,用于客户端根据加密后的数据判断是否为待查询的数据。
7.根据权利要求6所述的一种隐私计算分组查询系统,其特征在于,所述查询提示获取模块具体包括:
查询提示生成单元,用于将用户待查询的数据拼接上一个随机生成的salt,之后通过MD5散列函数生成一个散列值;所述散列值为查询提示。
8.根据权利要求6所述的一种隐私计算分组查询系统,其特征在于,所述数据划分模块具体包括:
查询结果确定单元,用于将查询提示与数据库里所有数据的键逐一进行异或的位运算,确定查询结果。
9.根据权利要求6所述的一种隐私计算分组查询系统,其特征在于,所述分组数据加密及发送模块具体包括:
分组数据第一加密单元,用于客户端选择的分组中的数据的键拼接上查询提示,之后通过sha256散列函数生成散列值;
分组数据第二加密单元,用于将生成的散列值通过用户生成的公钥生成加密后的数据。
10.根据权利要求6所述的一种隐私计算分组查询系统,其特征在于,所述判断模块具体包括:
目标散列值生成单元,用于将待查询的数据的键拼接上查询提示,之后通过sha256散列函数生成目标散列值;
解密单元,用于利用用户生成的私钥对加密后的数据进行解密,确定散列值;
判断单元,用于判断目标散列值与确定的散列值是否相同;
若相同,则根据确定的散列值获取用户待查询的数据;
若不相同,则返回所述分组选择模块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210036993.2A CN114357522A (zh) | 2022-01-13 | 2022-01-13 | 一种隐私计算分组查询方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210036993.2A CN114357522A (zh) | 2022-01-13 | 2022-01-13 | 一种隐私计算分组查询方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114357522A true CN114357522A (zh) | 2022-04-15 |
Family
ID=81109383
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210036993.2A Pending CN114357522A (zh) | 2022-01-13 | 2022-01-13 | 一种隐私计算分组查询方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114357522A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114785485A (zh) * | 2022-04-21 | 2022-07-22 | 中国联合网络通信集团有限公司 | 信息加密传输方法、装置、设备及存储介质 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105471826A (zh) * | 2014-09-04 | 2016-04-06 | 中电长城网际系统应用有限公司 | 密文数据查询方法、装置和密文查询服务器 |
CN105610910A (zh) * | 2015-12-18 | 2016-05-25 | 中南民族大学 | 面向云存储并基于全同态密码的密文全文检索方法及系统 |
CN106022145A (zh) * | 2016-05-17 | 2016-10-12 | 上海凭安网络科技有限公司 | 一种基于密文索引的数据查询方法 |
CN106357839A (zh) * | 2016-09-28 | 2017-01-25 | 中国互联网络信息中心 | 一种dns查询方法及装置 |
CN109933603A (zh) * | 2019-03-15 | 2019-06-25 | 中国科学技术大学 | 保护数据隐私和查询隐私的结果可验证的数据查询方法 |
CN111092871A (zh) * | 2019-12-11 | 2020-05-01 | 支付宝(杭州)信息技术有限公司 | 一种个人信息保护的数据共享方法、装置及电子设备 |
CN112100234A (zh) * | 2020-08-12 | 2020-12-18 | 北京大学 | 基于随机共识的图式账本的内容寻址方法和系统 |
US20210160068A1 (en) * | 2018-12-14 | 2021-05-27 | Advanced New Technologies Co., Ltd. | Data sharing method, apparatus, and system, and electronic device |
CN113613243A (zh) * | 2021-08-07 | 2021-11-05 | 蚌埠学院 | 一种基于同态加密的随机锚点位置隐私保护方法及系统 |
CN113626484A (zh) * | 2021-07-03 | 2021-11-09 | 西安电子科技大学 | 一种可灵活替换密文可搜索加密方法、系统及计算机设备 |
CN113836569A (zh) * | 2020-06-08 | 2021-12-24 | 中国移动通信有限公司研究院 | 数据查询方法及相关设备 |
-
2022
- 2022-01-13 CN CN202210036993.2A patent/CN114357522A/zh active Pending
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105471826A (zh) * | 2014-09-04 | 2016-04-06 | 中电长城网际系统应用有限公司 | 密文数据查询方法、装置和密文查询服务器 |
CN105610910A (zh) * | 2015-12-18 | 2016-05-25 | 中南民族大学 | 面向云存储并基于全同态密码的密文全文检索方法及系统 |
CN106022145A (zh) * | 2016-05-17 | 2016-10-12 | 上海凭安网络科技有限公司 | 一种基于密文索引的数据查询方法 |
CN106357839A (zh) * | 2016-09-28 | 2017-01-25 | 中国互联网络信息中心 | 一种dns查询方法及装置 |
US20210160068A1 (en) * | 2018-12-14 | 2021-05-27 | Advanced New Technologies Co., Ltd. | Data sharing method, apparatus, and system, and electronic device |
CN109933603A (zh) * | 2019-03-15 | 2019-06-25 | 中国科学技术大学 | 保护数据隐私和查询隐私的结果可验证的数据查询方法 |
CN111092871A (zh) * | 2019-12-11 | 2020-05-01 | 支付宝(杭州)信息技术有限公司 | 一种个人信息保护的数据共享方法、装置及电子设备 |
CN113836569A (zh) * | 2020-06-08 | 2021-12-24 | 中国移动通信有限公司研究院 | 数据查询方法及相关设备 |
CN112100234A (zh) * | 2020-08-12 | 2020-12-18 | 北京大学 | 基于随机共识的图式账本的内容寻址方法和系统 |
CN113626484A (zh) * | 2021-07-03 | 2021-11-09 | 西安电子科技大学 | 一种可灵活替换密文可搜索加密方法、系统及计算机设备 |
CN113613243A (zh) * | 2021-08-07 | 2021-11-05 | 蚌埠学院 | 一种基于同态加密的随机锚点位置隐私保护方法及系统 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114785485A (zh) * | 2022-04-21 | 2022-07-22 | 中国联合网络通信集团有限公司 | 信息加密传输方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11483161B2 (en) | Method for information processing and non-transitory computer readable storage medium | |
US8171289B2 (en) | Method and apparatus to provide authentication and privacy with low complexity devices | |
US11374975B2 (en) | TLS integration of post quantum cryptographic algorithms | |
Örencik et al. | Efficient and secure ranked multi-keyword search on encrypted cloud data | |
CN111698088B (zh) | 密钥轮换方法、装置、电子设备及介质 | |
CN109729041B (zh) | 一种加密内容的发布以及获取方法及装置 | |
CN104967693B (zh) | 面向云存储的基于全同态密码技术的文档相似度计算方法 | |
CN113497709A (zh) | 基于区块链的可信数据源管理方法、签名设备和验证设备 | |
US9325499B1 (en) | Message encryption and decryption utilizing low-entropy keys | |
CN112131227A (zh) | 一种基于联盟链的数据查询方法及装置 | |
US20110219233A1 (en) | Quadratic residue based password authenticated key exchange method and system | |
CN113067823B (zh) | 邮件用户身份认证和密钥分发方法、系统、设备及介质 | |
US20100017623A1 (en) | Executable software security system | |
CN112948851A (zh) | 用户认证方法、装置、服务器及存储介质 | |
CN115269938B (zh) | 基于同态加密的关键词匿踪查询方法、系统及相关装置 | |
US20200044838A1 (en) | Data encryption method and system using device authentication key | |
CN110855667A (zh) | 一种区块链加密方法、装置及系统 | |
CN115913621A (zh) | 适合云环境的数据库加密方法、终端及系统 | |
CN110188545B (zh) | 一种基于链式数据库的数据加密方法及装置 | |
CN113849797B (zh) | 数据安全漏洞的修复方法、装置、设备及存储介质 | |
US11133926B2 (en) | Attribute-based key management system | |
CN114357522A (zh) | 一种隐私计算分组查询方法及系统 | |
CN116866029B (zh) | 随机数加密数据传输方法、装置、计算机设备及存储介质 | |
CN115567200B (zh) | http接口防刷方法、系统及相关设备 | |
CN116861461A (zh) | 数据处理方法、系统、装置、存储介质及电子设备 |
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 |