CN114793156B - 一种数据处理方法、装置、设备及存储介质 - Google Patents

一种数据处理方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN114793156B
CN114793156B CN202210733507.2A CN202210733507A CN114793156B CN 114793156 B CN114793156 B CN 114793156B CN 202210733507 A CN202210733507 A CN 202210733507A CN 114793156 B CN114793156 B CN 114793156B
Authority
CN
China
Prior art keywords
ciphertext
target
key value
keyword
key
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
Application number
CN202210733507.2A
Other languages
English (en)
Other versions
CN114793156A (zh
Inventor
不公告发明人
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Real AI Technology Co Ltd
Original Assignee
Beijing Real AI Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Real AI Technology Co Ltd filed Critical Beijing Real AI Technology Co Ltd
Priority to CN202210733507.2A priority Critical patent/CN114793156B/zh
Publication of CN114793156A publication Critical patent/CN114793156A/zh
Application granted granted Critical
Publication of CN114793156B publication Critical patent/CN114793156B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network 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
    • H04L63/0442Network 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 wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请实施例公开了一种数据处理方法、装置、设备及存储介质。方法包括:第一设备获取第二设备发送的目标关键字密文;然后确定预先存储的多个关键字密文中是否存有与目标关键字密文对应的密文,得到验证密文;再根据预设的关键字密文与键值密文的对应关系确定目标关键字密文对应的目标键值密文;将验证密文以及目标键值信息密文返回第二设备,该目标键值信息密文基于所述目标键值密文得到,第二设备再根据接收到的验证密文以及目标键值信息密文得到目标健值。本申请中的第一设备可以根据进行过同态加密的目标关键字密文进行数据处理,且存储和向第二设备返回的数据也为同态加密后的密文,本方案提高了数据处理、数据存储以及数据传输的安全性。

Description

一种数据处理方法、装置、设备及存储介质
技术领域
本申请涉及数据加密技术领域,尤其涉及一种数据处理方法、装置、设备及存储介质。
背景技术
现有的存储设备,例如数据盒子一般包括数据存储和数据服务,并且数据使用方无法接触到数据存储,不能进行直接的数据访问和修改;盒子提供数据服务时,数据使用方可以通过相应的接口进行数据查询,查询的类型可根据业务需求进行开发,如关键字-值(key-value)查询或者条件检索。
但是现有的数据盒子存在以下问题:
1、基于使用方对数据盒子的完全信任,如果数据盒子记录数据使用方的查询的key,那么数据使用方的信息存在风险。如数据使用方查询的用户信息,key为银行的用户id(IDentity),那么数据盒子可以收集到数据使用方的客户名单。导致用户数据的泄露。
2、数据盒子向数据使用方返回数据的时候,数据可能会被拦截,导致信息泄露。
3、数据盒子的物理安全,如果该数据盒子被盗,盗取数据盒子的一方可以进行数据访问,获取数据,导致信息泄露。
可见,现有的数据盒子在进行数据处理时数据的安全性还有待提高。
发明内容
本申请实施例提供了一种数据处理方法、装置、设备及存储介质,可以提高数据的安全性。
第一方面,本申请实施例提供了一种数据处理方法,应用于第一设备,所述第一设备保存用于同态加密的公钥,所述方法包括:
获取第二设备发送的目标关键字密文,所述目标关键字密文为所述第二设备根据所述公钥对目标关键字进行同态加密得到;
确定预先存储的多个关键字密文中是否存有与所述目标关键字密文对应的密文,得到验证密文,所述关键字密文对应的同态加密逻辑与所述目标关键字密文对应的同态加密逻辑相同;
根据预设的关键字密文与键值密文的对应关系确定所述目标关键字密文对应的目标键值密文;
向所述第二设备发送所述验证密文以及目标键值信息密文,所述目标键值信息密文基于所述目标键值密文得到,所述验证密文以及所述目标键值信息密文用于所述第二设备根据与所述公钥匹配的私钥获取明文的目标键值。
在一些实施例中,所述目标键值信息密文为目标键值密文,或者所述目标键值信息密文为根据所述目标键值密文以及所述验证密文生成的密文。
第二方面,本申请实施例还提供了一种数据处理方法,应用于第二设备,所述第二设备保存公钥,以及与所述公钥匹配的私钥,所述方法包括:
获取目标用户输入的目标关键字;
根据所述公钥对所述目标关键字进行同态加密,得到目标关键字密文;
将所述目标关键字密文发送至第一设备,所述第一设备保存所述公钥;
接收所述第一设备根据所述目标关键字密文返回的验证密文以及目标键值信息密文;
根据所述私钥对所述验证密文以及目标键值信息密文进行解密,以获取所述目标关键字对应的目标键值。
在一些实施例中,所述目标键值信息密文为目标键值密文,或者所述目标键值信息密文为所述第一设备根据所述目标键值密文以及所述验证密文生成的密文。
第三方面,本申请实施例还提供了一种数据处理方法,所述方法应用于数据处理系统,所述数据处理系统包括第一设备以及第二设备,述第一设备保存用于同态加密的公钥,所述第二设备保存所述公钥,以及与所述公钥匹配的私钥,所述方法包括:
所述第二设备获取目标用户输入的目标关键字;
所述第二设备根据所述公钥对所述目标关键字进行同态加密,得到目标关键字密文;
所述第二设备将所述目标关键字密文发送至所述第一设备;
所述第一设备确定预先存储的多个关键字密文中是否存有与所述目标关键字密文对应的密文,得到验证密文,所述关键字密文对应的同态加密逻辑与所述目标关键字密文对应的同态加密逻辑相同;
所述第一设备根据预设的关键字密文与键值密文的对应关系确定所述目标关键字密文对应的目标键值密文;
所述第一设备将所述验证密文以及目标键值信息密文返回所述第二设备,所述目标键值信息密文基于所述目标键值密文得到;
所述第二设备根据所述私钥对所述验证密文以及目标键值信息密文进行解密,获取所述目标关键字对应的目标健值。
第四方面,本申请实施例还提供了一种第一设备,所述第一设备保存用于同态加密的公钥,包括第一收发单元以及第一处理单元:
所述第一收发单元,用于获取第二设备发送的目标关键字密文,所述目标关键字密文为所述第二设备根据所述公钥对目标关键字进行同态加密得到;
所述第一处理单元,用于确定预先存储的多个关键字密文中是否存有与所述目标关键字密文对应的密文,得到验证密文,所述关键字密文对应的同态加密逻辑与所述目标关键字密文对应的同态加密逻辑相同;根据预设的关键字密文与键值密文的对应关系确定所述目标关键字密文对应的目标键值密文;
所述第一收发单元,还用于向所述第二设备发送所述验证密文以及目标键值信息密文,所述目标键值信息密文基于所述目标键值密文得到,所述验证密文以及所述目标键值信息密文用于所述第二设备根据与所述公钥匹配的私钥获取明文的目标键值。
在一些实施例中,所述第一处理单元在实现所述根据预设的关键字密文与键值密文的对应关系确定所述目标关键字密文对应的目标键值密文步骤时,具体用于:
根据所述关键字密文与键值密文的对应关系确定预先存储的多个键值密文是否存有与所述目标关键字密文对应的键值密文;
若存在与所述目标关键字密文对应的键值密文,则将多个所述键值密文中与所述目标关键字密文对应的键值密文确定为所述目标键值密文;
若不存在与所述目标关键字密文对应的键值密文,则将预设的假键值密文确定为所述目标键值密文。
在一些实施例中,所述第一处理单元在实现所述确定预先存储的多个关键字密文中是否存有与所述目标关键字密文对应的密文,得到验证密文步骤时,具体用于:
根据预设的同态加密验证公式,确定多个所述关键字密文中是否存有所述目标关键字密文,得到所述验证密文,所述同态加密验证公式为:
Figure 834715DEST_PATH_IMAGE001
其中,所述
Figure 236878DEST_PATH_IMAGE002
为验证密文,所述
Figure DEST_PATH_IMAGE003
为非零随机数,所述
Figure 233653DEST_PATH_IMAGE004
以及
Figure DEST_PATH_IMAGE005
为所述关键字密文,所述
Figure 758175DEST_PATH_IMAGE006
为所述关键字密文的个数。
在一些实施例中,所述目标键值信息密文为目标键值密文,或者所述目标键值信息密文为根据所述目标键值密文以及所述验证密文生成的密文。
在一些实施例中,当所述目标键值信息密文为根据所述目标键值密文以及所述验证密文生成的密文时,所述目标键值信息密文基于预设的同态加密返回公式得到,所述同态加密返回公式为:
Figure DEST_PATH_IMAGE007
其中,所述
Figure 981346DEST_PATH_IMAGE008
为所述目标键值信息密文,所述
Figure DEST_PATH_IMAGE009
为所述目标键值密文,所述
Figure 311833DEST_PATH_IMAGE010
为所述验证密文,
Figure DEST_PATH_IMAGE011
为非零随机数。
在一些实施例中,所述第一收发单元在实现所述获取第二设备发送的目标关键字密文步骤之前,还用于:
从所述第二设备接收目标密文,所述目标密文包括所述目标关键字密文以及目标用户标识密文;
所述第一处理单元,还用于判断预设的用户标识密文集合中是否存有所述用户标识密文;
此时,所述第一收发单元在实现所述获取第二设备发送的目标关键字密文步骤时,具体用于:
若所述用户标识密文集合中存在所述用户标识密文,则获取所述目标关键字密文。
在一些实施例中,所述第一收发单元还用于:接收与所述第二设备对应的多个关键字、多个键值以及所述关键字与所述键值的对应关系;
所述第一处理单元还用于,根据预设的公钥对所述关键字以及所述键值分别进行同态加密处理,得到关键字密文与键值密文;根据所述关键字与所述键值的对应关系生成所述关键字密文与键值密文的对应关系。
第五方面,本申请实施例还提供了一种第二设备,所述第二设备保存公钥,以及与所述公钥匹配的私钥,包括第二收发单元以及第二处理单元:
所述第二收发单元,用于获取目标用户输入的目标关键字;
所述第二处理单元,用于根据所述公钥对所述目标关键字进行同态加密,得到目标关键字密文;
所述第二收发单元,还用于将所述目标关键字密文发送至第一设备,所述第一设备保存所述公钥,接收所述第一设备根据所述目标关键字密文返回的验证密文以及目标键值信息密文;
所述第二处理单元,还用于根据所述私钥对所述验证密文以及目标键值信息密文进行解密,以获取所述目标关键字对应的目标键值。
在一些实施例中,所述第二处理单元在实现所述根据预设的私钥对所述验证密文以及目标键值信息密文进行解密,以获取所述目标关键字对应的目标健值步骤时,具体用于:
根据所述私钥对所述验证密文进行解密,得到验证值;若所述验证值为0,则根据所述私钥对所述目标键值信息密文进行解密,得到所述目标健值;若所述验证值为随机数,则将所述随机数设为所述目标键值。
在一些实施例中,所述目标键值信息密文为目标键值密文,或者所述目标键值信息密文为所述第一设备根据所述目标键值密文以及所述验证密文生成的密文。
第六方面,本申请实施例还提供了一种数据处理装置,其包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现上述第一方面或第二方面提供的数据处理方法。
第七方面,本申请实施例还提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时可实现上述第一方面或第二方面提供的数据处理方法。
本申请实施例提供了一种数据处理方法、装置、设备及存储介质。其中,所述方法包括:第一设备首先获取第二设备发送的目标关键字密文;然后确定预先存储的多个关键字密文中是否存有与所述目标关键字密文对应的密文,得到验证密文,其中,所述关键字密文对应的同态加密逻辑与所述目标关键字密文对应的同态加密逻辑相同;再根据预设的关键字密文与键值密文的对应关系确定所述目标关键字密文对应的目标键值密文;将所述验证密文以及目标键值信息密文返回所述第二设备,其中,目标键值信息密文基于所述目标键值密文得到,第二设备再对接收到的验证密文以及所述目标键值信息密文进行解密得到目标健值。相较于现有技术存在的问题,第一方面,本申请中的第一设备可以根据接收到的进行过同态加密的目标关键字密文进行数据处理,避免了由于目标关键字的明文被第一设备收集导致的数据泄露;第二方面,本申请中的第一设备存储的数据为同态加密后的密文,避免由于第一设备被盗导致的数据泄露,第三方面,本申请中的第一设备向第二设备返回的数据也是同态加密后的数据,避免了数据在传输时发生泄露;可见,本方案中的第一设备,提高了数据处理、存储以及传输安全性。
附图说明
为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的数据处理方法的应用场景示意图;
图2为本申请实施例提供的数据处理方法的一流程示意图;
图3为本申请实施例提供的数据处理方法的另一流程示意图;
图4a为本申请实施例提供的数据处理方法的另一流程示意图;
图4b为本申请实施例提供的数据处理方法的一具体应用场景示意图;
图5为本申请实施例提供的第一设备的示意性框图;
图6为本申请实施例提供的第二设备的示意性框图;
图7为本申请实施例提供的电子设备的示意性框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和 “包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/ 或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
本申请实施例提供了一种数据处理方法、装置、设备及存储介质。
该数据处理方法的执行主体可以是本申请实施例提供的数据处理装置,或者集成了该数据处理装置的电子设备,其中,该数据处理装置可以采用硬件或者软件的方式实现,该电子设备可以为终端或服务器,该终端可以是智能手机、平板电脑、掌上电脑、或者笔记本电脑等。
需要说明的是,本申请中的第二设备存储有用于同态加密的公钥以及私钥,且第一设备中存储有公钥(嵌入到第一设备的芯片中),该公钥与第二设备的公钥相同,其中,每个第一设备可以与多个数据使用方签约,本申请中的第二设备可以为直接与第一设备进行签约的数据使用方,也可以为登录了对应数据使用方账号的设备,具体地,该第一设备可以为数据盒子,第二设备为数据使用方对应的设备。
请参阅图1,图1为本申请实施例提供的数据处理方法的应用场景示意图。该数据处理方法应用于图1中数据处理系统中,该数据处理系统包括第二设备10以及第一设备20中,首先第二设备10获取目标关键字;然后根据预设的公钥对目标关键字进行同态加密,得到目标关键字密文;再将目标关键字密文发送至第一设备20;然后第一设备20确定预先存储的多个关键字密文中是否存有与目标关键字密文对应的密文,得到验证密文,其中,关键字密文对应的同态加密逻辑与目标关键字密文对应的同态加密逻辑相同;并根据预设的关键字密文与键值密文的对应关系确定目标关键字密文对应的目标键值密文,然后将验证密文以及目标键值信息密文返回第二设备10,其中,目标键值信息密文基于目标键值密文得到;使得第二设备10根据预设的私钥对验证密文以及目标键值信息密文进行解密,获取目标关键字对应的目标健值。
如图1所示,本申请中的第一设备可以提供匿踪查询服务以及同态密文存储服务,其中:
匿踪查询服务:即第一设备可以根据第二设备发过来的关键字密文进行对应值的查询,在服务中第一设备无法得到关键字的明文,避免了关键字信息被第一设备收集,造成信息泄露。
同态密文存储服务:即第一设备对用户的所有数据进行存储时均通过公钥进行同态加密,由于第一设备中的用户数据进行过同态加密处理,所以即使第一设备被盗,只要第二设备的私钥没有泄露,第一设备中存储的数据也是安全的,避免信息泄露。
其中,由于第一设备中存储的所有用户数据均经过了同态加密处理,所以第一设备在提供匿踪查询服务时,根据关键字密文查询到的返回值也是经过了同态加密的值,提高了数据传输的安全性。
本申请实施例的方案可基于云技术实现,具体来说涉及云技术中的云计算、云存储和数据库等技术领域,下面将分别进行介绍。
云技术(Cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。云技术(Cloudtechnology)基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。本申请实施例可通过云技术对终端下发提示信息,发送目标会话的页面等,以及从终端获取会话记录。
云存储(cloud storage)是在云计算概念上延伸和发展出来的一个新的概念,分布式云存储系统 (以下简称存储系统)是指通过集群应用、网格技术以及分布存储文件系统等功能,将网络中大量各种不同类型的存储设备(存储设备也称之为存储节点)通过应用软件或应用接口集合起来协同工作,共同对外提供数据存储和业务访问功能的一个存储系统。在本申请实施例中,可将网络配置、配置实例、配置模型、转换模板、划分的网络区域等信息均保存在该数据库中,便于服务器调取。
目前,存储系统的存储方法为:创建逻辑卷,在创建逻辑卷时,就为每个逻辑卷分配物理存储空间,该物理存储空间可能是某个存储设备或者某几个存储设备的磁盘组成。客户端在某一逻辑卷上存储数据,也就是将数据存储在文件系统上,文件系统将数据分成许多部分,每一部分是一个对象,对象不仅包含数据而且还包含数据标识(ID,ID entity)等额外的信息,文件系统将每个对象分别写入该逻辑卷的物理存储空间,且文件系统会记录每个对象的存储位置信息,从而当客户端请求访问数据时,文件系统能够根据每个对象的存储位置信息让客户端对数据进行访问。
存储系统为逻辑卷分配物理存储空间的过程,具体为:按照对存储于逻辑卷的对象的容量估量(该估量往往相对于实际要存储的对象的容量有很大余量)和独立冗余磁盘阵列(RAID,Redundant Array of Independent Disk)的组别,预先将物理存储空间划分成分条,一个逻辑卷可以理解为一个分条,从而为逻辑卷分配了物理存储空间。
数据库(Database),简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进行新增、查询、更新、删除等操作。所谓“数据库”是以一定方式储存在一起、能与多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。
数据库管理系统(英语:Database Management System,简称DBMS)是为管理数据库而设计的电脑软件系统,一般具有存储、截取、安全保障、备份等基础功能。数据库管理系统可以依据它所支持的数据库模型来作分类,例如关系式、XML(Extensible MarkupLanguage,即可扩展标记语言);或依据所支持的计算机类型来作分类,例如服务器群集、移动电话;或依据所用查询语言来作分类,例如SQL(结构化查询语言(Structured QueryLanguage)、XQuery;或依据性能冲量重点来作分类,例如最大规模、最高运行速度;亦或其他的分类方式。不论使用哪种分类方式,一些DBMS能够跨类别,例如,同时支持多种查询语言。在本申请实施例中,可将人脸特征库存储在该数据库中,便于服务器调取。
其中,需要特别说明的是,本申请实施例涉及的服务终端,可以是指向服务终端提供语音和/或数据连通性的设备,具有无线连接功能的手持式设备、或连接到无线调制解调器的其他处理设备。例如移动电话(或称为“蜂窝”电话)和具有移动终端的计算机,例如,可以是便携式、袖珍式、手持式、计算机内置的或者车载的移动装置,它们与无线接入网交换语音和/或数据。例如,个人通信业务(英文全称:Personal Communication Service,英文简称:PCS)电话、无绳电话、会话发起协议(SIP)话机、无线本地环路(Wireless LocalLoop,英文简称:WLL)站、个人数字助理(英文全称:Personal Digital Assistant,英文简称:PDA)等设备。
方法实施例一:
图2是本申请实施例提供的数据处理方法的流程示意图。本实施例的执行主体为第一设备,如图2所示,该方法包括以下步骤S110-140。
S110、第一设备获取第二设备发送的目标关键字密文。
其中,所述目标关键字密文为所述第二设备根据预设的公钥对目标关键字进行同态加密后得到的密文。
为了提高数据传输的安全性,以及避免第一设备收集数据使用方的数据,本实施例中的第二设备向第一设备发送的是加密后的关键字,即目标关键字密文,此时,第一设备接收到的也是目标关键字密文,避免了第一设备收集数据使用方的数据,导致的信息泄露的问题发生。
需要说明的是,第一设备与第二设备绑定之后,需要存储与第二设备对应的数据(即第二设备可以读取到的数据),并且,第一设备在存储第二设备对应的数据时,需要使用与该第二设备对应的公钥对数据进行加密后再进行存储。
在一些实施例中,在第一设备中进行数据存储时,第二设备可以将关键字及对应的值分别根据公钥进行同态加密后,得到关键字密文以及对应的键值密文之后,再发送至第一设备中进行存储,此时第一设备接收到的是加密后的数据,可以直接对接收到的数据进行存储,减少了对数据处理的工作量。
在另一些实施例中,在第一设备中进行数据存储时,第二设备在进行数据存储时,可以直接将关键字以及对应键值的明文发送给第一设备,此时,当第一设备接收到关键字以及对应的键值明文之后,再根据预设的公钥对该关键字以及对应键值分别进行同态加密,即:接收与第二设备对应的多个关键字、多个键值以及关键字与键值的对应关系;根据预设的公钥对关键字以及键值分别进行同态加密处理,得到关键字密文与键值密文;根据关键字与值的对应关系生成关键字密文与键值密文的对应关系。此时,第一设备主动对接收到的所有数据都进行加密处理,避免存储的数据漏加密的情况发生,提高了数据存储的安全性(该实施例可以在与第一设备约定的数据存储阶段执行,第一设备对在该阶段获取到的数据必须进行加密处理)。
在一些实施例中,为了保证数据的安全,第一设备拒绝接收非签约的第二设备发来的数据,此时,在步骤S110之前,方法还包括:从所述第二设备接收目标密文,所述目标密文包括所述目标关键字密文以及目标用户标识密文;判断预设的用户标识密文集合中是否存有所述用户标识密文;此时,当若所述用户标识集合中存在所述用户标识密文时,第一设备才接收所述目标关键字密文。
S120、第一设备确定预先存储的多个关键字密文中是否存有与所述目标关键字密文对应的密文,得到验证密文。
其中,所述关键字密文对应的同态加密逻辑与所述目标关键字密文对应的同态加密逻辑相同,即该关键字密文以及目标关键字密文都是根据同一个公钥进行同态加密生成的。
在一些实施例中,步骤S120包括:根据预设的同态加密验证公式,确定多个所述关键字密文中是否存有所述目标关键字密文,得到所述验证密文,所述同态加密验证公式为:
Figure 304060DEST_PATH_IMAGE001
;(1)
这里是同态加密的减法与乘法,其中,所述
Figure 73519DEST_PATH_IMAGE012
为验证密文,所述
Figure 315145DEST_PATH_IMAGE003
为非零随机数,所述
Figure 59110DEST_PATH_IMAGE004
以及
Figure 702581DEST_PATH_IMAGE013
为所述关键字密文,所述
Figure 303326DEST_PATH_IMAGE006
为所述关键字密文的个数。
本实施例可以基于同态加密的减法与乘法得到验证密文,如果第一设备中存储有与目标关键字密文对应的关键字密文,此时,对
Figure 360144DEST_PATH_IMAGE012
解密后的值为0,否则,解密后的值为非0随机数。
S130、第一设备根据预设的关键字密文与键值密文的对应关系确定所述目标关键字密文对应的目标键值密文。
在一些实施例中,步骤S130包括:根据所述关键字密文与键值密文的对应关系确定预先存储的多个键值密文是否存有与所述目标关键字密文对应的键值密文;若存在与所述目标关键字密文对应的键值密文,则将多个所述键值密文中与所述目标关键字密文对应的键值密文确定为所述目标键值密文;若不存在与所述目标关键字密文对应的键值密文,则将预设的假键值密文确定为所述目标键值密文。
其中,该预设的假键值密文可以为一个固定的值,也可以是一个随机生成的值。
在本实施例中,无论是否查询到目标关键字密文的键值密文,都会向数据使用终端返回一个密文数据,防止有人恶意试探第一设备是否存有对应的值。
需要说明的是,为了保证无论什么情况都有对应的数据返回,在本实施例中,无论第一设备中是否存储有关键字密文对应的键值密文,都需要进行验证密文以及目标键值密文的计算,并且,本实施例对步骤S120以及步骤S130的执行顺序不做限定,即步骤S130还可以在步骤S120之前执行,也可以与步骤S120同时执行。
S140、第一设备将所述验证密文以及目标键值信息密文返回所述第二设备,所述目标键值信息密文基于所述目标键值密文得到,所述验证密文以及所述目标键值信息密文用于所述第二设备根据与所述公钥匹配的私钥获取明文的目标键值。
本实施例中,验证密文以及目标键值信息密文都是进行过同态加密的数据,在传输过程中不会泄露数据的明文,其中,验证密文用于验证是否查询到正确数据。
其中,所述目标键值信息密文为目标键值密文,或者所述目标键值信息密文为根据所述目标键值密文以及所述验证密文生成的密文。
在一些实施例中,当所述目标键值信息密文为根据所述目标键值密文以及所述验证密文生成的密文时,为了进一步提高数据传输的安全性,防止有人根据返回的目标键值密文对数据的同态加密算法进行逆推,威胁数据的安全性,此时,还需对目标键值密文进行进一步的包装,才会与验证密文一同返回给数据第二设备。
此时,在步骤S140之前,第一设备还需要基于预设的同态加密返回公式得到所述目标键值信息密文,其中,所述同态加密返回公式为:
Figure 907800DEST_PATH_IMAGE014
;(2)
其中,所述
Figure 671357DEST_PATH_IMAGE015
为所述目标键值信息密文,所述
Figure 177424DEST_PATH_IMAGE016
为所述目标键值密文,所述
Figure 721538DEST_PATH_IMAGE017
为所述验证密文,
Figure 869623DEST_PATH_IMAGE018
为非零随机数,其中,本申请在同态加密返回公式中设置了一个随机数与验证密文相乘,目的是在没有命中关键字密文的时候,随机改变返回数据的值,提高数据传输的安全性,进一步防止有人对算法原理进行逆推。
可见,相较于现有技术中第一设备存在的问题,第一方面,本申请中的第一设备可以根据接收到的进行过同态加密的目标关键字密文进行数据处理,避免了由于目标关键字的明文被第一设备收集导致的数据泄露;第二方面,本申请中的第一设备存储的数据为同态加密后的密文,避免由于第一设备被盗导致的数据泄露,第三方面,本申请中的第一设备向第二设备返回的数据也是同态加密后的数据,避免了数据在传输时发生泄露;本方案中的第一设备,提高了数据处理、存储以及传输安全性。
方法实施例二:
图3是本申请实施例提供的数据处理方法的流程示意图。本实施例的执行主体为第二设备,如图3所示,该方法包括以下步骤S210-250。
S210、第二设备获取目标用户输入的目标关键字。
在一些实施例中,该目标关键字为用户输入的关键字,此时,当用户需要取出与该关键字对应的值时,首先,用户需要在第二设备中输入目标关键字(例如李四)。
S220、第二设备根据预设的公钥对所述目标关键字进行同态加密,得到目标关键字密文。
为了避免第一设备收集用户输入的关键字,此时,第二设备需要使用预设的公钥对该目标关键字进行同态加密,得到目标关键字密文。
S230、第二设备将所述目标关键字密文发送至第一设备。
本实施例中的第二设备通过有线或者无线传输的方式将关键字密文发送至第一设备。
可见,本申请中的第二设备将加密后的数据发送至第一设备,可以防止第一设备收集到用户的明文数据,此外,还可以避免数据在传输时发生泄漏,提高了数据在传输时的安全性。
S240、第二设备接收所述第一设备根据所述目标关键字密文返回的验证密文以及目标键值信息密文。
本实施例中第一设备返回的目标键值信息密文以及验证密文均为进行过同态加密的密文,降低了数据在传输过程中泄露的风险。
S250、第二设备根据预设的私钥对所述验证密文以及目标键值信息密文进行解密,以获取所述目标关键字对应的目标健值。
其中,所述目标键值信息密文为目标键值密文,或者所述目标键值信息密文为所述第一设备根据所述目标键值密文以及所述验证密文生成的密文。
当第二设备接收到第一设备返回的验证密文以及目标键值信息密文之后,首先会对验证值进行解密,得到验证值,如果验证值为0,则说明返回的目标键值密文为真是的目标键值密文,此时再根据预设的私钥对目标键值密文进行解密,得到对应的目标健值,如果验证值为随机数,此时,说明第一设备中不存有目标关键字对应的值,此时可以直接将获取到的目标键值信息密文丢弃,并将该随机数设为所述目标键值。
发生这种情况一般有两种可能,第一种:用户输错目标关键字,第二种:目标关键字对一个的值确实没有存储在第一设备中。
方法实施例三:
图4a是本申请实施例提供的数据处理方法的流程示意图。本实施例的执行主体为数据处理系统,该数据处理系统包括第一设备以及第二设备,其中,所述第一设备保存用于同态加密的公钥,所述第二设备保存所述公钥,以及与所述公钥匹配的私钥,为方便理解,以下以一具体实施例对本申请实施例提供的数据处理方法进行描述,如图4a所示,该方法包括以下步骤S310-350。
S310、第二设备获取目标用户输入的目标关键字。
例如,当目标用户需要通过第二设备查询目标关键字“李四”对应的值时,此时,目标用户在第二设备中输入“李四”,使得第二设备获取到该目标关键字“李四”。
S320、第二设备根据预设的公钥对所述目标关键字进行同态加密,得到目标关键字密文。
然后第二设备根据预设的公钥对“李四”进行同态加密,得到目标关键字密文(李四`)。
例如,第二设备预设的公钥为“pk”,此时使用“pk”对目标关键字进行同态加密:Encrypt(pk,李四) = 李四`。
S330、第二设备将所述目标关键字密文发送至所述第一设备。
数据使用盒子将“李四`”发送至对应的第一设备。
S340、第一设备确定预先存储的多个关键字密文中是否存有与所述目标关键字密文对应的密文,得到验证密文。
需要说明的是,本申请中的第一设备预先存储有多个关键字密文、多个键值密文以及关键字密文与键值密文的对应关系,并且与对应第二设备对应的关键字密文以及键值密文与获取到的关键字密文使用同一公钥进行同态加密。
在一些实施例中,本实施例根据函数C存储关键字密文、键值密文以及关键字密文与键值密文的对应关系,其中,函数
Figure 425369DEST_PATH_IMAGE019
,本实施例以关键字密文为张三`、李四`、王五`、赵六`,对应的键值密文分别为1`、2`、3`、4`为例进行说明,此时,本实施例中关键字密文与键值密文的对应关系如下:
C(张三`)=1`
C(李四`)=2`
C(王五`)=3`
C(赵六`)=4`。
S350、第一设备根据预设的关键字密文与键值密文的对应关系确定所述目标关键字密文对应的目标键值密文。
本实施例中,根据目标关键字密文“李四`”在关键字密文与键值密文的对应关系进行对应值的查找,查找到“2`”,即目标关键字密文对应的键值密文为“2`”。
S360、第一设备基于预设的同态加密返回公式,根据所述目标键值密文以及所述验证密文生成目标键值信息密文。
为了进一步提高数据传输的安全性,防止有人根据返回的目标键值密文对数据的同态加密算法进行逆推,威胁数据的安全性,此时,还需对目标键值密文进行进一步的包装才能进行数据的返回。
本实施例中,利用上述公式(2)对目标键值密文进行进一步的包装,此时目标键值信息密文为:
Figure 633496DEST_PATH_IMAGE020
S370、第一设备将所述验证密文以及所述目标键值信息密文返回所述第二设备。
本实施例中,第一设备将验证密文以及目标键值信息密文一同返回值第二设备,由于验证密文以及目标键值信息密文中的数据都是同态加密后的数据,所以在数据传输过程中不会导致数据的泄露。
S380、第二设备根据预设的私钥对所述验证密文以及目标键值信息密文进行解密,获取所述目标关键字对应的目标健值。
当第二设备获取到第一设备返回的私钥以及验证密文时,首先,需要对验证密文进行解密,查看验证密文的值是否为0,若为0,则进一步对目标键值信息密文进行解密,若为随机数,则直接丢弃目标键值信息密文,并将该随机数设为目标健值。
当命中时,对验证密文进行解密后,验证密文对应的值为0,此时,进一步对目标键值信息密文“2`+
Figure 399327DEST_PATH_IMAGE021
”进行解密,解密得到“2+
Figure 85523DEST_PATH_IMAGE022
”,最终计算得到“2”,即,目标关键字“李四”对应的值为“2”。
为了进一步理解本申请中的数据处理方法,请参阅图4b,图4b为本申请实施例提供的数据处理方法的一具体应用场景示意图,图中的查询方对应本申请中的第二设备,被查询方为本申请中的第一设备。
装置实施例一:
图5是本申请实施例提供的一种第一设备的示意性框图。如图5所示,对应于方法实施例一的数据处理方法,本申请还提供一种第一设备。该第一设备包括用于执行上述数据处理方法的单元,该装置可以被配置于终端或服务器中。所述第一设备保存用于同态加密的公钥,具体地,请参阅图5,该第一设备500包括第一收发单元501以及第一处理单元502:
第一收发单元501,用于获取第二设备发送的目标关键字密文,所述目标关键字密文为所述第二设备根据所述公钥对目标关键字进行同态加密得到;
第一处理单元502,用于确定预先存储的多个关键字密文中是否存有与所述目标关键字密文对应的密文,得到验证密文,所述关键字密文对应的同态加密逻辑与所述目标关键字密文对应的同态加密逻辑相同;根据预设的关键字密文与键值密文的对应关系确定所述目标关键字密文对应的目标键值密文;
第一收发单元501,还用于向所述第二设备发送所述验证密文以及目标键值信息密文,所述目标键值信息密文基于所述目标键值密文得到,所述验证密文以及所述目标键值信息密文用于所述第二设备根据与所述公钥匹配的私钥获取明文的目标键值。
在一些实施例中,第一处理单元502在实现所述根据预设的关键字密文与键值密文的对应关系确定所述目标关键字密文对应的目标键值密文步骤时,具体用于:
根据所述关键字密文与键值密文的对应关系确定预先存储的多个键值密文是否存有与所述目标关键字密文对应的键值密文;
若存在与所述目标关键字密文对应的键值密文,则将多个所述键值密文中与所述目标关键字密文对应的键值密文确定为所述目标键值密文;
若不存在与所述目标关键字密文对应的键值密文,则将预设的假键值密文确定为所述目标键值密文。
在一些实施例中,第一处理单元502在实现所述确定预先存储的多个关键字密文中是否存有与所述目标关键字密文对应的密文,得到验证密文步骤时,具体用于:
根据预设的同态加密验证公式,确定多个所述关键字密文中是否存有所述目标关键字密文,得到所述验证密文,所述同态加密验证公式为:
Figure 761355DEST_PATH_IMAGE001
其中,所述
Figure 874805DEST_PATH_IMAGE002
为验证密文,所述
Figure 127932DEST_PATH_IMAGE003
为非零随机数,所述
Figure 617819DEST_PATH_IMAGE004
以及
Figure 944895DEST_PATH_IMAGE005
为所述关键字密文,所述
Figure 432508DEST_PATH_IMAGE006
为所述关键字密文的个数。在一些实施例中,所述目标键值信息密文为目标键值密文,或者所述目标键值信息密文为根据所述目标键值密文以及所述验证密文生成的密文。
在一些实施例中,当所述目标键值信息密文为根据所述目标键值密文以及所述验证密文生成的密文时,所述目标键值信息密文基于预设的同态加密返回公式得到,所述同态加密返回公式为:
Figure 110614DEST_PATH_IMAGE023
其中,所述
Figure 873034DEST_PATH_IMAGE024
为所述目标键值信息密文,所述
Figure 382513DEST_PATH_IMAGE025
为所述目标键值密文,所述
Figure 103344DEST_PATH_IMAGE026
为所述验证密文,
Figure 3167DEST_PATH_IMAGE027
为非零随机数。
在一些实施例中,第一收发单元501在实现所述获取第二设备发送的目标关键字密文步骤之前,还用于:
从所述第二设备接收目标密文,所述目标密文包括所述目标关键字密文以及目标用户标识密文;
第一处理单元502,还用于判断预设的用户标识密文集合中是否存有所述用户标识密文;
此时,第一收发单元501在实现所述获取第二设备发送的目标关键字密文步骤时,具体用于:
若所述用户标识密文集合中存在所述用户标识密文,则获取所述目标关键字密文。
在一些实施例中,第一收发单元501还用于:接收与所述第二设备对应的多个关键字、多个键值以及所述关键字与所述键值的对应关系;
第一处理单元502还用于,根据预设的公钥对所述关键字以及所述键值分别进行同态加密处理,得到关键字密文与键值密文;根据所述关键字与所述键值的对应关系生成所述关键字密文与键值密文的对应关系。
第一方面,本申请中的第一设备可以根据接收到的进行过同态加密的目标关键字密文进行数据处理,避免了由于目标关键字的明文被第一设备收集导致的数据泄露;第二方面,本申请中的第一设备存储的数据为同态加密后的密文,避免由于第一设备被盗导致的数据泄露,第三方面,本申请中的第一设备向第二设备返回的数据也是同态加密后的数据,避免了数据在传输时发生泄露;可见,本方案中的第一设备,提高了数据处理、存储以及传输安全性。
装置实施例二:
图6是本申请实施例提供的一种第二设备的示意性框图。如图6所示,对应于方法实施例二的数据处理方法,本申请还提供一种第二设备。该第二设备包括用于执行上述数据处理方法的单元,该装置可以被配置于第一设备中。所述第二设备保存公钥,以及与所述公钥匹配的私钥,具体地,请参阅图6,该第二设备600包括第二收发单元601以及第二处理单元602:
第二收发单元601,用于获取目标用户输入的目标关键字;
第二处理单元602,用于根据所述公钥对所述目标关键字进行同态加密,得到目标关键字密文;
第二收发单元601,还用于将所述目标关键字密文发送至第一设备,所述第一设备保存所述公钥,接收所述第一设备根据所述目标关键字密文返回的验证密文以及目标键值信息密文;
第二处理单元602,还用于根据所述私钥对所述验证密文以及目标键值信息密文进行解密,以获取所述目标关键字对应的目标键值。
在一些实施例中,第二处理单元602在实现所述根据预设的私钥对所述验证密文以及目标键值信息密文进行解密,以获取所述目标关键字对应的目标健值步骤时,具体用于:
根据所述私钥对所述验证密文进行解密,得到验证值;若所述验证值为0,则根据所述私钥对所述目标键值信息密文进行解密,得到所述目标健值;若所述验证值为随机数,则将所述随机数设为所述目标键值。
在一些实施例中,所述目标键值信息密文为目标键值密文,或者所述目标键值信息密文为所述第一设备根据所述目标键值密文以及所述验证密文生成的密文。
本申请中的第二设备将目标关键字进行同态加密后再发送至第二设备,并根据接收到的第二设备返回的同态加密后的数据获取目标健值,可见,本方案中的第二设备提高了数据处理、存储以及传输安全性。
需要说明的是,所属领域的技术人员可以清楚地了解到,上述第一设备、第二设备和各单元的具体实现过程,可以参考前述方法实施例中的相应描述,为了描述的方便和简洁,在此不再赘述。
设备实施例:
上述第一设备和第二设备可以分别实现为一种计算机程序的形式,该计算机程序可以在如图7所示的电子设备上运行。
请参阅图7,图7是本申请实施例提供的一种电子设备的示意性框图。该电子设备700可以是第一设备或第二设备,该第一设备可以为数据盒子,该第二设备可以是终端,也可以是服务器,其中,
请参阅图7,该电子设备700包括通过系统总线701连接的处理器702、存储器和网络接口705,其中,存储器可以包括非易失性存储介质703和内存储器704。
该非易失性存储介质703可存储操作系统7031和计算机程序7032。该计算机程序7032包括程序指令,该程序指令被执行时,可使得处理器702执行一种数据处理方法。
该处理器702用于提供计算和控制能力,以支撑整个电子设备700的运行。
该内存储器704为非易失性存储介质703中的计算机程序7032的运行提供环境,该计算机程序7032被处理器702执行时,可使得处理器702执行一种数据处理方法。
该网络接口705用于与其它设备进行网络通信。本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的电子设备700的限定,具体的电子设备700可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,当该电子设备700为第一设备时,该电子设备保存有用于同态加密的公钥,所述处理器702用于运行存储在存储器中的计算机程序7032,以实现如下步骤:
获取第二设备发送的目标关键字密文,所述目标关键字密文为所述第二设备根据所述公钥对目标关键字进行同态加密得到;
确定预先存储的多个关键字密文中是否存有与所述目标关键字密文对应的密文,得到验证密文,所述关键字密文对应的同态加密逻辑与所述目标关键字密文对应的同态加密逻辑相同;
根据预设的关键字密文与键值密文的对应关系确定所述目标关键字密文对应的目标键值密文;
向所述第二设备发送所述验证密文以及目标键值信息密文,所述目标键值信息密文基于所述目标键值密文得到,所述验证密文以及所述目标键值信息密文用于所述第二设备根据与所述公钥匹配的私钥获取明文的目标键值。
在一些实施例中,处理器702在实现所述根据预设的关键字密文与键值密文的对应关系确定所述目标关键字密文对应的目标键值密文步骤时,具体实现如下步骤:
根据所述关键字密文与键值密文的对应关系确定预先存储的多个键值密文是否存有与所述目标关键字密文对应的键值密文;
若存在与所述目标关键字密文对应的键值密文,则将多个所述键值密文中与所述目标关键字密文对应的键值密文确定为所述目标键值密文;
若不存在与所述目标关键字密文对应的键值密文,则将预设的假键值密文确定为所述目标键值密文。
在一些实施例中,处理器702在实现所述确定预先存储的多个关键字密文中是否存有与所述目标关键字密文对应的密文,得到验证密文步骤时,具体实现如下步骤:
根据预设的同态加密验证公式,确定多个所述关键字密文中是否存有所述目标关键字密文,得到所述验证密文,所述同态加密验证公式为:
Figure 772540DEST_PATH_IMAGE001
其中,所述
Figure 74208DEST_PATH_IMAGE002
为验证密文,所述
Figure 28257DEST_PATH_IMAGE003
为非零随机数,所述
Figure 415376DEST_PATH_IMAGE004
以及
Figure 785178DEST_PATH_IMAGE005
为所述关键字密文,所述
Figure 144615DEST_PATH_IMAGE006
为所述关键字密文的个数。
在一些实施例中,所述目标键值信息密文为目标键值密文,或者所述目标键值信息密文为根据所述目标键值密文以及所述验证密文生成的密文。
在一些实施例中,当所述目标键值信息密文为根据所述目标键值密文以及所述验证密文生成的密文时,所述目标键值信息密文基于预设的同态加密返回公式得到,所述同态加密返回公式为:
Figure 207249DEST_PATH_IMAGE028
其中,所述
Figure 143981DEST_PATH_IMAGE015
为所述目标键值信息密文,所述
Figure 583053DEST_PATH_IMAGE029
为所述目标键值密文,所述
Figure 796996DEST_PATH_IMAGE030
为所述验证密文,
Figure 30532DEST_PATH_IMAGE027
为非零随机数。
在一些实施例中,处理器702在实现所述获取第二设备发送的目标关键字密文步骤之前,还实现如下步骤:
从所述第二设备接收目标密文,所述目标密文包括所述目标关键字密文以及目标用户标识密文;
判断预设的用户标识密文集合中是否存有所述用户标识密文;
所述获取第二设备发送的目标关键字密文,包括:
若所述用户标识密文集合中存在所述用户标识密文,则获取所述目标关键字密文。
在一些实施例中,处理器702在实现如下步骤:
接收与所述第二设备对应的多个关键字、多个键值以及所述关键字与所述键值的对应关系;
根据预设的公钥对所述关键字以及所述键值分别进行同态加密处理,得到关键字密文与键值密文;
根据所述关键字与所述键值的对应关系生成所述关键字密文与键值密文的对应关系。
当该电子设备700为第二设备时,所述电子设备700保存公钥,以及与所述公钥匹配的私钥,所述处理器702用于运行存储在存储器中的计算机程序7032,以实现如下步骤:
获取目标用户输入的目标关键字;
根据所述公钥对所述目标关键字进行同态加密,得到目标关键字密文;
将所述目标关键字密文发送至第一设备,所述第一设备保存所述公钥;
接收所述第一设备根据所述目标关键字密文返回的验证密文以及目标键值信息密文;
根据所述私钥对所述验证密文以及目标键值信息密文进行解密,以获取所述目标关键字对应的目标键值。
在一些实施例中,处理器702在实现所述根据预设的私钥对所述验证密文以及目标键值信息密文进行解密,以获取所述目标关键字对应的目标健值步骤时,具体实现如下步骤:
根据所述私钥对所述验证密文进行解密,得到验证值;
若所述验证值为0,则根据所述私钥对所述目标键值信息密文进行解密,得到所述目标健值;
若所述验证值为随机数,则将所述随机数设为所述目标键值。
在一些实施例中,所述目标键值信息密文为目标键值密文,或者所述目标键值信息密文为所述第一设备根据所述目标键值密文以及所述验证密文生成的密文。
应当理解,在本申请实施例中,处理器702可以是中央处理单元 (CentralProcessing Unit,CPU),该处理器702还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路 (Application Specific IntegratedCircuit,ASIC)、现成可编程门阵列 (Field-Programmable Gate Array,FPGA) 或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本领域普通技术人员可以理解的是实现上述实施例的方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成。该计算机程序包括程序指令,计算机程序可存储于一存储介质中,该存储介质为计算机可读存储介质。该程序指令被该计算机系统中的至少一个处理器执行,以实现上述方法的实施例的流程步骤。
存储介质实施例:
本申请还提供一种存储介质。该存储介质可以为计算机可读存储介质。该存储介质存储有计算机程序,其中计算机程序包括程序指令。该程序指令被处理器执行时使处理器执行如下步骤:
获取第二设备发送的目标关键字密文,所述目标关键字密文为所述第二设备根据所述公钥对目标关键字进行同态加密得到;
确定预先存储的多个关键字密文中是否存有与所述目标关键字密文对应的密文,得到验证密文,所述关键字密文对应的同态加密逻辑与所述目标关键字密文对应的同态加密逻辑相同;
根据预设的关键字密文与键值密文的对应关系确定所述目标关键字密文对应的目标键值密文;
向所述第二设备发送所述验证密文以及目标键值信息密文,所述目标键值信息密文基于所述目标键值密文得到,所述验证密文以及所述目标键值信息密文用于所述第二设备根据与所述公钥匹配的私钥获取明文的目标键值。
在一些实施例中,所述处理器在执行所述程序指令而实现所述根据预设的关键字密文与键值密文的对应关系确定所述目标关键字密文对应的目标键值密文步骤时,具体实现如下步骤:
根据所述关键字密文与键值密文的对应关系确定预先存储的多个键值密文是否存有与所述目标关键字密文对应的键值密文;
若存在与所述目标关键字密文对应的键值密文,则将多个所述键值密文中与所述目标关键字密文对应的键值密文确定为所述目标键值密文;
若不存在与所述目标关键字密文对应的键值密文,则将预设的假键值密文确定为所述目标键值密文。
在一些实施例中,所述处理器在执行所述程序指令而实现所述确定预先存储的多个关键字密文中是否存有与所述目标关键字密文对应的密文,得到验证密文步骤时,具体实现如下步骤:
根据预设的同态加密验证公式,确定多个所述关键字密文中是否存有所述目标关键字密文,得到所述验证密文,所述同态加密验证公式为:
Figure 454560DEST_PATH_IMAGE001
其中,所述
Figure 166164DEST_PATH_IMAGE002
为验证密文,所述
Figure 500193DEST_PATH_IMAGE003
为非零随机数,所述
Figure 904630DEST_PATH_IMAGE004
以及
Figure 815954DEST_PATH_IMAGE031
为所述关键字密文,所述
Figure 331249DEST_PATH_IMAGE006
为所述关键字密文的个数。
在一些实施例中,所述目标键值信息密文为目标键值密文,或者所述目标键值信息密文为根据所述目标键值密文以及所述验证密文生成的密文。
在一些实施例中,当所述目标键值信息密文为根据所述目标键值密文以及所述验证密文生成的密文时,所述目标键值信息密文基于预设的同态加密返回公式得到,所述同态加密返回公式为:
Figure 519785DEST_PATH_IMAGE032
其中,所述
Figure 95122DEST_PATH_IMAGE033
为所述目标键值信息密文,所述
Figure 493743DEST_PATH_IMAGE034
为所述目标键值密文,所述
Figure 812729DEST_PATH_IMAGE035
为所述验证密文,
Figure 652509DEST_PATH_IMAGE018
为非零随机数。
在一些实施例中,所述处理器在执行所述程序指令而实现所述获取第二设备发送的目标关键字密文步骤之前,具体实现还如下步骤:
从所述第二设备接收目标密文,所述目标密文包括所述目标关键字密文以及目标用户标识密文;
判断预设的用户标识密文集合中是否存有所述用户标识密文;
所述获取第二设备发送的目标关键字密文,包括:
若所述用户标识密文集合中存在所述用户标识密文,则获取所述目标关键字密文。
在一些实施例中,所述处理器在执行所述程序指令时,具体还实现如下步骤:
接收与所述第二设备对应的多个关键字、多个键值以及所述关键字与所述键值的对应关系;
根据预设的公钥对所述关键字以及所述键值分别进行同态加密处理,得到关键字密文与键值密文;
根据所述关键字与所述键值的对应关系生成所述关键字密文与键值密文的对应关系。
或者,该程序指令被处理器执行时使处理器执行如下步骤:
获取目标用户输入的目标关键字;
根据所述公钥对所述目标关键字进行同态加密,得到目标关键字密文;
将所述目标关键字密文发送至第一设备,所述第一设备保存所述公钥;
接收所述第一设备根据所述目标关键字密文返回的验证密文以及目标键值信息密文;
根据所述私钥对所述验证密文以及目标键值信息密文进行解密,以获取所述目标关键字对应的目标键值。
在一些实施例中,所述处理器在执行所述程序指令而实现所述根据预设的私钥对所述验证密文以及目标键值信息密文进行解密,以获取所述目标关键字对应的目标健值步骤时,具体实现如下步骤:
根据所述私钥对所述验证密文进行解密,得到验证值;
若所述验证值为0,则根据所述私钥对所述目标键值信息密文进行解密,得到所述目标健值;
若所述验证值为随机数,则将所述随机数设为所述目标键值。
在一些实施例中,所述目标键值信息密文为目标键值密文,或者所述目标键值信息密文为所述第一设备根据所述目标键值密文以及所述验证密文生成的密文。
所述存储介质可以是U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的计算机可读存储介质。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的。例如,各个单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
本申请实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。本申请实施例装置中的单元可以根据实际需要进行合并、划分和删减。另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。
该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台电子设备(可以是个人计算机,终端,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

Claims (13)

1.一种数据处理方法,其特征在于,应用于第一设备,所述第一设备保存用于同态加密的公钥,所述方法包括:
获取第二设备发送的目标关键字密文,所述目标关键字密文为所述第二设备根据所述公钥对目标关键字进行同态加密得到;
确定预先存储的多个关键字密文中是否存有与所述目标关键字密文对应的密文,得到验证密文,所述关键字密文对应的同态加密逻辑与所述目标关键字密文对应的同态加密逻辑相同,所述验证密文用于验证是否查询到正确数据;
根据预设的关键字密文与键值密文的对应关系确定所述目标关键字密文对应的目标键值密文;
向所述第二设备发送所述验证密文以及目标键值信息密文,所述目标键值信息密文基于所述目标键值密文得到,所述验证密文以及所述目标键值信息密文用于所述第二设备根据与所述公钥匹配的私钥获取明文的目标键值,所述目标键值信息密文为所述目标键值密文,或者所述目标键值信息密文为根据所述目标键值密文以及所述验证密文生成的密文。
2.根据权利要求1所述的方法,其特征在于,所述根据预设的关键字密文与键值密文的对应关系确定所述目标关键字密文对应的目标键值密文,包括:
根据所述关键字密文与键值密文的对应关系确定预先存储的多个键值密文是否存有与所述目标关键字密文对应的键值密文;
若存在与所述目标关键字密文对应的键值密文,则将多个所述键值密文中与所述目标关键字密文对应的键值密文确定为所述目标键值密文;
若不存在与所述目标关键字密文对应的键值密文,则将预设的假键值密文确定为所述目标键值密文。
3.根据权利要求1所述的方法,其特征在于,所述确定预先存储的多个关键字密文中是否存有与所述目标关键字密文对应的密文,得到验证密文,包括:
根据预设的同态加密验证公式,确定多个所述关键字密文中是否存有所述目标关键字密文,得到所述验证密文,所述同态加密验证公式为:
Figure 870550DEST_PATH_IMAGE001
其中,所述
Figure 606425DEST_PATH_IMAGE002
为验证密文,所述
Figure 149533DEST_PATH_IMAGE003
为非零随机数,所述
Figure 552832DEST_PATH_IMAGE004
以及
Figure 15038DEST_PATH_IMAGE005
为所述关键字密文,所述
Figure 362842DEST_PATH_IMAGE006
为所述关键字密文的个数。
4.根据权利要求1至3中任一项所述的方法,其特征在于,当所述目标键值信息密文为根据所述目标键值密文以及所述验证密文生成的密文时,所述目标键值信息密文基于预设的同态加密返回公式得到,所述同态加密返回公式为:
Figure 834275DEST_PATH_IMAGE007
其中,所述
Figure 701868DEST_PATH_IMAGE008
为所述目标键值信息密文,所述
Figure 600554DEST_PATH_IMAGE009
为所述目标键值密文,所述
Figure 576600DEST_PATH_IMAGE010
为所述验证密文,
Figure 445199DEST_PATH_IMAGE011
为非零随机数。
5.根据权利要求1所述的方法,其特征在于,所述获取第二设备发送的目标关键字密文之前,所述方法还包括:
从所述第二设备接收目标密文,所述目标密文包括所述目标关键字密文以及目标用户标识密文;
判断预设的用户标识密文集合中是否存有所述用户标识密文;
所述获取第二设备发送的目标关键字密文,包括:
若所述用户标识密文集合中存在所述用户标识密文,则获取所述目标关键字密文。
6.根据权利要求1、2、3或5所述的方法,其特征在于,所述方法还包括:
接收与所述第二设备对应的多个关键字、多个键值以及所述关键字与所述键值的对应关系;
根据预设的公钥对所述关键字以及所述键值分别进行同态加密处理,得到关键字密文与键值密文;
根据所述关键字与所述键值的对应关系生成所述关键字密文与键值密文的对应关系。
7.一种数据处理方法,其特征在于,应用于第二设备,所述第二设备保存公钥,以及与所述公钥匹配的私钥,所述方法包括:
获取目标用户输入的目标关键字;
根据所述公钥对所述目标关键字进行同态加密,得到目标关键字密文;
将所述目标关键字密文发送至第一设备,所述第一设备保存所述公钥;
接收所述第一设备根据所述目标关键字密文返回的验证密文以及目标键值信息密文,所述验证密文用于验证是否查询到正确数据,所述目标键值信息密文为目标键值密文,或者所述目标键值信息密文为根据所述目标键值密文以及所述验证密文生成的密文;
根据所述私钥对所述验证密文以及目标键值信息密文进行解密,以获取所述目标关键字对应的目标键值。
8.根据权利要求7所述的方法,其特征在于,所述根据预设的私钥对所述验证密文以及目标键值信息密文进行解密,以获取所述目标关键字对应的目标健值,包括:
根据所述私钥对所述验证密文进行解密,得到验证值;
若所述验证值为0,则根据所述私钥对所述目标键值信息密文进行解密,得到所述目标健值;
若所述验证值为随机数,则将所述随机数设为所述目标键值。
9.一种数据处理方法,其特征在于,所述方法应用于数据处理系统,所述数据处理系统包括第一设备以及第二设备,所述第一设备保存用于同态加密的公钥,所述第二设备保存所述公钥,以及与所述公钥匹配的私钥,所述方法包括:
所述第二设备获取目标用户输入的目标关键字;
所述第二设备根据所述公钥对所述目标关键字进行同态加密,得到目标关键字密文;
所述第二设备将所述目标关键字密文发送至所述第一设备;
所述第一设备确定预先存储的多个关键字密文中是否存有与所述目标关键字密文对应的密文,得到验证密文,所述关键字密文对应的同态加密逻辑与所述目标关键字密文对应的同态加密逻辑相同,所述验证密文用于验证是否查询到正确数据;
所述第一设备根据预设的关键字密文与键值密文的对应关系确定所述目标关键字密文对应的目标键值密文;
所述第一设备将所述验证密文以及目标键值信息密文返回所述第二设备,所述目标键值信息密文基于所述目标键值密文得到,所述目标键值信息密文为所述目标键值密文,或者所述目标键值信息密文为根据所述目标键值密文以及所述验证密文生成的密文;
所述第二设备根据所述私钥对所述验证密文以及目标键值信息密文进行解密,获取所述目标关键字对应的目标健值。
10.一种第一设备,其特征在于,所述第一设备保存用于同态加密的公钥,包括第一收发单元以及第一处理单元:
所述第一收发单元,用于获取第二设备发送的目标关键字密文,所述目标关键字密文为所述第二设备根据所述公钥对目标关键字进行同态加密得到;
所述第一处理单元,用于确定预先存储的多个关键字密文中是否存有与所述目标关键字密文对应的密文,得到验证密文,所述关键字密文对应的同态加密逻辑与所述目标关键字密文对应的同态加密逻辑相同,所述验证密文用于验证是否查询到正确数据;根据预设的关键字密文与键值密文的对应关系确定所述目标关键字密文对应的目标键值密文;
所述第一收发单元,还用于向所述第二设备发送所述验证密文以及目标键值信息密文,所述目标键值信息密文基于所述目标键值密文得到,所述验证密文以及所述目标键值信息密文用于所述第二设备根据与所述公钥匹配的私钥获取明文的目标键值,所述目标键值信息密文为所述目标键值密文,或者所述目标键值信息密文为根据所述目标键值密文以及所述验证密文生成的密文。
11.一种第二设备,其特征在于,所述第二设备保存公钥,以及与所述公钥匹配的私钥,包括第二收发单元以及第二处理单元:
所述第二收发单元,用于获取目标用户输入的目标关键字;
所述第二处理单元,用于根据所述公钥对所述目标关键字进行同态加密,得到目标关键字密文;
所述第二收发单元,还用于将所述目标关键字密文发送至第一设备,所述第一设备保存所述公钥,接收所述第一设备根据所述目标关键字密文返回的验证密文以及目标键值信息密文,所述验证密文用于验证是否查询到正确数据,所述目标键值信息密文为目标键值密文,或者所述目标键值信息密文为根据所述目标键值密文以及所述验证密文生成的密文;
所述第二处理单元,还用于根据所述私钥对所述验证密文以及目标键值信息密文进行解密,以获取所述目标关键字对应的目标键值。
12.一种数据处理装置,其特征在于,所述数据处理装置包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求1-6中任一项所述的方法,或者实现如权利要求7-8中任一项所述的方法。
13.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时可实现如权利要求1-6中任一项所述的方法,或者实现如权利要求7-8中任一项所述的方法。
CN202210733507.2A 2022-06-27 2022-06-27 一种数据处理方法、装置、设备及存储介质 Active CN114793156B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210733507.2A CN114793156B (zh) 2022-06-27 2022-06-27 一种数据处理方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210733507.2A CN114793156B (zh) 2022-06-27 2022-06-27 一种数据处理方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN114793156A CN114793156A (zh) 2022-07-26
CN114793156B true CN114793156B (zh) 2022-08-26

Family

ID=82463494

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210733507.2A Active CN114793156B (zh) 2022-06-27 2022-06-27 一种数据处理方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN114793156B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109347832A (zh) * 2018-10-24 2019-02-15 中国银行股份有限公司 一种动态数据共享方法、终端设备及代理服务器
CN110489998A (zh) * 2019-08-21 2019-11-22 青岛大学 一种可搜索加密方法、装置、设备及可读存储介质
WO2021208690A1 (zh) * 2020-11-11 2021-10-21 平安科技(深圳)有限公司 数据加解密方法、装置、设备及存储介质
WO2022007889A1 (zh) * 2020-07-08 2022-01-13 浙江工商大学 基于区块链与同态加密的可搜索加密数据共享方法及系统
WO2022057631A1 (zh) * 2020-09-15 2022-03-24 腾讯科技(深圳)有限公司 基于节点群的数据处理方法、系统、设备和介质
WO2022099495A1 (zh) * 2020-11-11 2022-05-19 深圳技术大学 云计算环境中的密文搜索方法及系统、设备

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9729312B2 (en) * 2015-04-28 2017-08-08 The United States Of America As Represented By The Secretary Of The Navy System and method for high-assurance data storage and processing based on homomorphic encryption
US9846785B2 (en) * 2015-11-25 2017-12-19 International Business Machines Corporation Efficient two party oblivious transfer using a leveled fully homomorphic encryption
CN106953722B (zh) * 2017-05-09 2017-11-07 深圳市全同态科技有限公司 一种全同态加密的密文查询方法和系统
US11483139B2 (en) * 2020-08-07 2022-10-25 Bank Of America Corporation System for secure data transmission using fully homomorphic encryption

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109347832A (zh) * 2018-10-24 2019-02-15 中国银行股份有限公司 一种动态数据共享方法、终端设备及代理服务器
CN110489998A (zh) * 2019-08-21 2019-11-22 青岛大学 一种可搜索加密方法、装置、设备及可读存储介质
WO2022007889A1 (zh) * 2020-07-08 2022-01-13 浙江工商大学 基于区块链与同态加密的可搜索加密数据共享方法及系统
WO2022057631A1 (zh) * 2020-09-15 2022-03-24 腾讯科技(深圳)有限公司 基于节点群的数据处理方法、系统、设备和介质
WO2021208690A1 (zh) * 2020-11-11 2021-10-21 平安科技(深圳)有限公司 数据加解密方法、装置、设备及存储介质
WO2022099495A1 (zh) * 2020-11-11 2022-05-19 深圳技术大学 云计算环境中的密文搜索方法及系统、设备

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
双服务器模型下支持相关度排序的多关键字密文搜索方案;李宇溪;《计算机研究与发展》;20181031;第2149-2163页 *
基于同态加密和CP-ABE的可搜索加密方案的设计及优化;田文青;《中国优秀硕士学位论文全文数据库 (信息科技辑)》;20181215;I138-123 *
基于同态加密的HBase二级密文索引方法研究;傅智宙等;《信息网络安全》;20200410(第04期);第61-70页 *
基于同态加密的多关键词检索方案;向广利等;《计算机工程与应用》;20170304(第02期);第102-106页 *

Also Published As

Publication number Publication date
CN114793156A (zh) 2022-07-26

Similar Documents

Publication Publication Date Title
US11323260B2 (en) Method and device for identity verification
CN107994991B (zh) 一种数据处理方法、数据处理服务器及存储介质
JP6180177B2 (ja) プライバシーを保護することができる暗号化データの問い合わせ方法及びシステム
EP2929481B1 (en) Secure cloud database platform
US8447983B1 (en) Token exchange
US10346627B2 (en) Privacy preserving data querying
CN110457945B (zh) 名单查询的方法、查询方设备、服务方设备及存储介质
CN106790156B (zh) 一种智能设备绑定方法及装置
US11546348B2 (en) Data service system
EP3537684B1 (en) Apparatus, method, and program for managing data
US20140172830A1 (en) Secure search processing system and secure search processing method
KR20170063559A (ko) 언제 인증이 철회되어야 하는지를 표시하는 기준을 정의하기 위한 다차원 프레임워크
CN107040520B (zh) 一种云计算数据共享系统及方法
CN109241352A (zh) 个人档案信息的获取方法及服务器
CN112733180A (zh) 数据查询方法、装置和电子设备
CN112182600A (zh) 数据加密方法、数据解密方法及电子设备
JP4594078B2 (ja) 個人情報管理システムおよび個人情報管理プログラム
CN112887087B (zh) 数据管理方法、装置、电子设备及可读存储介质
JP2004234344A (ja) データベースアクセスシステム
CN113434555A (zh) 一种基于可搜索加密技术的数据查询方法和装置
CN113010904A (zh) 数据处理方法和装置及电子设备
CN114793156B (zh) 一种数据处理方法、装置、设备及存储介质
CN111651425A (zh) 数据集市的数据提取方法、装置、终端及存储介质
US20220366381A1 (en) System and method for distributed storage of transactions
CN111539728B (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
GR01 Patent grant
GR01 Patent grant