CN107196919B - 一种匹配数据的方法和装置 - Google Patents

一种匹配数据的方法和装置 Download PDF

Info

Publication number
CN107196919B
CN107196919B CN201710288750.7A CN201710288750A CN107196919B CN 107196919 B CN107196919 B CN 107196919B CN 201710288750 A CN201710288750 A CN 201710288750A CN 107196919 B CN107196919 B CN 107196919B
Authority
CN
China
Prior art keywords
ciphertext
matching
key
server
stored
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
CN201710288750.7A
Other languages
English (en)
Other versions
CN107196919A (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 Xiaomi Mobile Software Co Ltd
Original Assignee
Beijing Xiaomi Mobile Software 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 Xiaomi Mobile Software Co Ltd filed Critical Beijing Xiaomi Mobile Software Co Ltd
Priority to CN201710288750.7A priority Critical patent/CN107196919B/zh
Publication of CN107196919A publication Critical patent/CN107196919A/zh
Application granted granted Critical
Publication of CN107196919B publication Critical patent/CN107196919B/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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds

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)
  • Storage Device Security (AREA)
  • Computer And Data Communications (AREA)

Abstract

本公开是关于一种匹配数据的方法和装置,属于互联网技术领域。所述方法包括:获取预先存储的目标数据集合,所述目标数据集合包含至少一个子数据;基于预先存储的第一密钥,分别确定所述目标数据集合中的每个子数据对应的密文,得到第一密文集合;将所述第一密文集合发送给匹配服务器,以使所述匹配服务器将所述第一密文集合与其他业务服务器的第二密文集合进行匹配处理;接收所述匹配服务器发送的所述第一密文集合与所述第二密文集合共同包含的密文,确定接收到的密文对应的子数据,得到本地与所述其他业务服务器共同包含的子数据。采用本公开,可以在匹配数据的过程中,提高数据的安全性。

Description

一种匹配数据的方法和装置
技术领域
本公开是关于互联网技术领域,尤其是关于一种匹配数据的方法和装置。
背景技术
随着互联网技术的发展,互联网在人们生活中的应用越来越广泛,互联网中的业务种类也越来越多。各业务的业务服务器中,都会存储与该业务相关的数据,比如,某旅游业务的业务服务器中,会存储使用该旅游业务的用户信息(如手机号和身份证号等),某设备销售业务的业务服务器中,会存储所销售的各设备的设备信息(如设备编号和生产厂商信息等)。
在实际中,业务提供商有时需要查询本地数据与其他业务提供商的数据的相同部分,以便进行业务规划。具体的处理过程为:第一业务提供商的第一业务服务器可以将本地的数据发送给第二业务提供商的第二业务服务器,第二业务服务器进行数据匹配,然后将匹配结果发送给第一业务服务器,以使双方获知匹配结果。例如,该数据为用户信息,第一业务提供商为某旅游业务的业务提供商,第二业务提供商为某理财业务的业务提供商,可以确定既使用旅游业务又使用理财业务的用户,这些用户的经济状况通常比较好,旅游业务的业务提供商可以向这些用户推荐比较高端的旅游产品,而理财业务的业务提供商可以向这些用户推荐数额较高的理财产品。
在实现本公开的过程中,发明人发现至少存在以下问题:
在进行数据匹配时,某一业务服务器需要将自己的数据发送给另一业务服务器,容易出现数据泄露的情况,导致数据的安全性较差。
发明内容
为了克服相关技术中存在的问题,本公开提供了一种匹配数据的方法和装置。所述技术方案如下:
根据本公开实施例的第一方面,提供一种匹配数据的方法,所述方法包括:
获取预先存储的目标数据集合,所述目标数据集合包含至少一个子数据;
基于预先存储的第一密钥,分别确定所述目标数据集合中的每个子数据对应的密文,得到第一密文集合;
将所述第一密文集合发送给匹配服务器,以使所述匹配服务器将所述第一密文集合与其他业务服务器的第二密文集合进行匹配处理;
接收所述匹配服务器发送的所述第一密文集合与所述第二密文集合共同包含的密文,确定接收到的密文对应的子数据,得到本地与所述其他业务服务器共同包含的子数据。
可选的,所述基于预先存储的第一密钥,分别确定所述目标数据集合中的每个子数据对应的密文之前,还包括:
通过预先存储的密钥交换算法,确定与所述其他业务服务器共同使用的第一密钥。
这样,进行数据匹配的各业务服务器可以使用相同的密钥,对子数据进行加密,以便匹配服务器对于密文进行匹配处理。
可选的,所述将所述第一密文集合发送给匹配服务器,包括:
基于预先存储的第二密钥对所述第一密文集合进行加密;
将加密后的第一密文集合发送给所述匹配服务器。
这样,业务服务器先对密文集合进行加密,然后再发送给匹配服务器,可以提高传输密文集合的安全性。
可选的,所述接收所述匹配服务器发送的所述第一密文集合与所述第二密文集合共同包含的密文,包括:
接收经过所述匹配服务器加密的所述第一密文集合与所述第二密文集合共同包含的密文;
基于预先存储的第三密钥对加密后的密文进行解密,得到所述第一密文集合与所述第二密文集合共同包含的密文。
这样,匹配服务器将对确定出的密文进行加密,然后在发送给各业务服务器,可以提高传输密文的安全性。
根据本公开实施例的第二方面,提供一种匹配数据的方法,所述方法包括:
接收至少两个业务服务器发送的密文集合,其中,每个业务服务器的密文集合由所述每个业务服务器基于预先存储的第一密钥,分别对其存储的目标数据集合中的每个子数据进行加密得到;
基于所述密文集合进行匹配处理,得到所述密文集合共同包含的密文;
分别向所述每个业务服务器发送确定出的密文。
可选的,所述接收至少两个业务服务器发送的密文集合,包括:
接收至少两个业务服务器发送的加密后的密文集合;
基于预先存储的第四密钥,对所述加密后的密文集合进行解密,得到所述密文集合。
这样,业务服务器先对密文集合进行加密,然后再发送给匹配服务器,可以提高传输密文集合的安全性。
可选的,所述分别向所述每个业务服务器发送确定出的密文,包括:
基于预先存储的第五密钥,对确定出的密文进行加密;
分别向所述每个业务服务器发送加密后的密文。
这样,匹配服务器将对确定出的密文进行加密,然后在发送给各业务服务器,可以提高传输密文的安全性。
根据本公开实施例的第三方面,提供一种匹配数据的装置,所述装置包括:
获取模块,用于获取预先存储的目标数据集合,所述目标数据集合包含至少一个子数据;
第一确定模块,用于基于预先存储的第一密钥,分别确定所述目标数据集合中的每个子数据对应的密文,得到第一密文集合;
发送模块,用于将所述第一密文集合发送给匹配服务器,以使所述匹配服务器将所述第一密文集合与其他业务服务器的第二密文集合进行匹配处理;
第二确定模块,用于接收所述匹配服务器发送的所述第一密文集合与所述第二密文集合共同包含的密文,确定接收到的密文对应的子数据,得到本地与所述其他业务服务器共同包含的子数据。
可选的,所述装置还包括:
第三确定模块,用于通过预先存储的密钥交换算法,确定与所述其他业务服务器共同使用的第一密钥。
可选的,所述发送模块,包括:
加密子模块,用于基于预先存储的第二密钥对所述第一密文集合进行加密;
发送子模块,用于将加密后的第一密文集合发送给所述匹配服务器。
可选的,所述第二确定模块,包括:
接收子模块,用于接收经过所述匹配服务器加密的所述第一密文集合与所述第二密文集合共同包含的密文;
解密子模块,用于基于预先存储的第三密钥对加密后的密文进行解密,得到所述第一密文集合与所述第二密文集合共同包含的密文。
根据本公开实施例的第四方面,提供一种匹配数据的装置,所述装置包括:
接收模块,用于接收至少两个业务服务器发送的密文集合,其中,每个业务服务器的密文集合由所述每个业务服务器基于预先存储的第一密钥,分别对其存储的目标数据集合中的每个子数据进行加密得到;
匹配模块,用于基于所述密文集合进行匹配处理,得到所述密文集合共同包含的密文;
发送模块,用于分别向所述每个业务服务器发送确定出的密文。
可选的,所述接收模块,包括:
接收子模块,用于接收至少两个业务服务器发送的加密后的密文集合;
解密子模块,用于基于预先存储的第四密钥,对所述加密后的密文集合进行解密,得到所述密文集合。
可选的,所述发送模块,包括:
加密子模块,用于基于预先存储的第五密钥,对确定出的密文进行加密;
发送子模块,用于分别向所述每个业务服务器发送加密后的密文。
根据本公开实施例的第五方面,提供一种匹配数据的装置,所述装置包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
获取预先存储的目标数据集合,所述目标数据集合包含至少一个子数据;
基于预先存储的第一密钥,分别确定所述目标数据集合中的每个子数据对应的密文,得到第一密文集合;
将所述第一密文集合发送给匹配服务器,以使所述匹配服务器将所述第一密文集合与其他业务服务器的第二密文集合进行匹配处理;
接收所述匹配服务器发送的所述第一密文集合与所述第二密文集合共同包含的密文,确定接收到的密文对应的子数据,得到本地与所述其他业务服务器共同包含的子数据。
根据本公开实施例的第六方面,提供一种匹配数据的装置,所述装置包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
接收至少两个业务服务器发送的密文集合,其中,每个业务服务器的密文集合由所述每个业务服务器基于预先存储的第一密钥,分别对其存储的目标数据集合中的每个子数据进行加密得到;
基于所述密文集合进行匹配处理,得到所述密文集合共同包含的密文;
分别向所述每个业务服务器发送确定出的密文。
本公开的实施例提供的技术方案可以包括以下有益效果:
本公开实施例中,获取预先存储的目标数据集合,目标数据集合包含至少一个子数据,基于预先存储的第一密钥,分别确定目标数据集合中的每个子数据对应的密文,得到第一密文集合,将第一密文集合发送给匹配服务器,以使匹配服务器将第一密文集合与其他业务服务器的第二密文集合进行匹配处理,接收匹配服务器发送的第一密文集合与第二密文集合共同包含的密文,确定接收到的密文对应的子数据,得到本地与其他业务服务器共同包含的子数据,这样,由匹配服务器根据各子数据的密文进行匹配处理,无需业务服务器将自己的数据发送给其他业务服务器,可以有效的避免数据泄露的请情况,提高数据的安全性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。在附图中:
图1是根据一示例性实施例示出的一种系统框架图;
图2是根据一示例性实施例示出的一种匹配数据的方法的流程图;
图3是根据一示例性实施例示出的一种匹配数据的装置的示意图;
图4是根据一示例性实施例示出的一种匹配数据的装置的示意图;
图5是根据一示例性实施例示出的一种匹配数据的装置的示意图;
图6是根据一示例性实施例示出的一种匹配数据的装置的示意图;
图7是根据一示例性实施例示出的一种匹配数据的装置的示意图;
图8是根据一示例性实施例示出的一种匹配数据的装置的示意图;
图9是根据一示例性实施例示出的一种匹配数据的装置的示意图;
图10是根据一示例性实施例示出的一种业务服务器的结构示意图;
图11是根据一示例性实施例示出的一种匹配服务器的结构示意图。
通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
本公开实施例提供了一种匹配数据的方法,该方法可以由业务服务器和匹配服务器共同实现,其中,业务服务器可以某业务的后台服务器,比如某旅游业务的后台服务器,或者在某理财业务的后台服务器,业务服务器可以是单独的服务器,也可以是由多个服务器组成的服务器组,本实施例以业务服务器为一个服务器为例进行说明,其他情况与之类似,另外,本实施例中的业务服务器,可以是需要进行数据匹配的任一业务服务器;匹配服务器可以是区块链中的任一节点服务器,匹配服务器可以与多个业务服务器建立连接。另外,区块链中还可以设置有权限管理服务器,权限管理服务器可以是是用于管理区块链中各匹配服务器的公钥的服务器。如图1所示,为本实施例的系统框架图,包括匹配服务器、至少一个业务服务器和权限管理服务器。
业务服务器可以包括处理器、存储器和收发器。处理器,可以为CPU(CentralProcessing Unit,中央处理单元)等,可以获取存储器中存储的目标数据集合,然后基于预先存储的第一密钥,分别确定目标数据集合中的每个子数据对应的密文,得到密文集合,处理器还可以确定接收到的密文对应的子数据,从而得到本地与其他业务服务器共同包含的子数据;存储器,可以为RAM(Random Access Memory,随机存取存储器)、Flash(闪存)等,可以用于存储接收到的数据、处理过程所需的数据、处理过程中生成的数据等,如目标数据集合、第一密钥、第二密钥等。收发器可以用于向匹配服务器发送密文集合,以及接收匹配服务器发送的密文。另外,业务服务器还可以包括电源和网络端口等部件。
匹配服务器可以包括处理器、存储器和收发器。处理器,可以为CPU(CentralProcessing Unit,中央处理单元)等,可以基于收发器接收到的密文集合进行匹配处理,得到密文集合共同包含的密文;存储器,可以为RAM(Random Access Memory,随机存取存储器)、Flash(闪存)等,可以用于存储接收到的数据、处理过程所需的数据、处理过程中生成的数据等,如收发器接收到的密文集合,以及第四密钥等。收发器可以用于接收各业务服务器发送的密文集合,以及向各业务服务器发送确定出的密文。另外,匹配服务器还可以包括电源和网络端口等部件。
下面将结合实施方式,对图2所示的处理流程进行详细的说明,内容可以如下:
在步骤201中,业务服务器获取预先存储的目标数据集合。
其中,目标数据集合可以包含至少一个子数据,该子数据可以是任意数据,例如,子数据可以是用户信息,用户信息可以包括用户的手机号、姓名、账户名、手机的MAC地址中的一项或多项;子数据也可以是设备信息,比如设备的标识、生产厂商名称等,本实施例不做限定。
在实施中,各业务的业务服务器中通常会存储与该业务相关的数据库,该数据库中可以存储有多个子数据。子数据可以是通过人工输入得到的,也可以是从其他服务器中获取到的。业务服务器可以在接收到数据匹配指令时,执行获取预先存储的目标数据集合的处理,或者,也可以在达到预设的匹配周期时,执行获取预先存储的目标数据集合的处理。业务服务器可以从数据库中,获取需要进行数据匹配的数据(即目标数据集合)。业务服务器可以获取本地存储的全部子数据,作为目标数据集合;或者,也可以根据管理人员输入的数据条件(比如数据类型,或者数据的创建时间),获取满足该数据条件的子数据,得到目标数据集合。
在步骤202中,业务服务器基于预先存储的第一密钥,分别确定目标数据集合中的每个子数据对应的密文,得到第一密文集合。
在实施中,业务服务器中还可以存储用于对子数据进行加密的密钥(即第一密钥)。业务服务器可以基于第一密钥,分别确定目标数据集合中的每个子数据对应的密文。例如,业务服务器可以基于第一密钥,分别对每个子数据进行加密,得到每个子数据对应的密文。目标数据集合中的全部子数据对应的密文,可以组成第一密文集合。例如,目标数据集合包括3个用户的电话号码,即1111111,222222,3333333,业务服务器可以基于第一密钥对1111111进行加密,得到密文a,基于第一密钥对222222进行加密,得到密文b,基于第一密钥对3333333进行加密,得到密文c,从而得到第一密文集合{a,b,c}。为了便于匹配服务器进行数据匹配,提高匹配结果的准确度,各业务服务器会使用相同的第一密钥对各子数据进行加密处理。
可选的,第一密钥可以是业务服务器中预先存储的密钥,也可以是业务服务器在需要进行数据匹配时,基于密钥交换算法生成的密钥。对于业务服务器生成第一密钥的情况,相应的,业务服务器的处理过程可以如下:通过预先存储的密钥交换算法,确定与其他业务服务器共同使用的第一密钥。
在实施中,业务服务器中可以预先存储密钥交换算法。例如,密钥交换算法可以采用DH(Diffie-Hellman密钥交换协议)算法,基于DH算法,交换密钥的双方(为了便于描述,可以称为发送方和接收方)可以预先协商共同使用的大素数P和生成数g,发送方和接收方可以分别产生各自的随机数X和Y。发送方可以计算g的X次方mod P产生的数值,将该数值发送给接收方;接收方可以计算g的Y次方mod P产生的数值,将该数值发送给发送方,发送方再对接收的结果做X次方运算,接收方对接收的结果做Y次方运算,发送方和接收方计算得到的结果是相同的,即第一密钥,该第一密钥可以是对称密钥。这样,该业务服务器与其他业务服务器可以使用相同的密钥,对需要进行匹配的子数据进行加密,由于同一子数据基于同一密钥进行加密,得到的密文是相同的,匹配服务器可以基于接收到的密文进行匹配处理。
在步骤203中,业务服务器将第一密文集合发送给匹配服务器。
在实施中,业务服务器确定第一密文集合后,可以向匹配服务器发送匹配请求消息,该匹配请求消息中可以携带有第一密文集合,还可以携带有该业务服务器的标识,以及与该业务服务器进行数据匹配的其他业务服务器的标识。
可选的,业务服务器可以对第一密文集合进行加密后,再发送给匹配服务器,相应的,步骤203的处理过程可以如下:基于预先存储的第二密钥对第一密文集合进行加密,将加密后的第一密文集合发送给匹配服务器。
其中,第二密钥可以是匹配服务器的公钥。
在实施中,业务服务器中可以预先设置接收第一密文集合的匹配服务器,该业务服务器可以向区块链中的权限管理服务器发送对应该匹配服务器的密钥获取请求,该密钥获取请求中可以携带有该匹配服务器的标识。权限管理服务器接收到该密钥获取请求后,可以获取该匹配服务器的公钥,然后将该公钥发送给该业务服务器。在数据匹配处理中,进行数据匹配的各业务服务器可以向同一个匹配服务器发送密文集合。
业务服务器确定第一密文集合后,可以基于预先存储的第二密钥以及预设的加密算法,对第一密文集合进行加密,然后可以向匹配服务器发送匹配请求消息,该匹配请求消息中可以携带有加密后的第一密文集合,还可以携带有该业务服务器的标识。这样,可以提高传输密文集合的安全性,即使其他非法节点非法获取到该匹配请求消息,也不能获取到第一密文集合。另外,第二密钥也可以是业务服务器根据预先存储的密钥交换算法,与匹配服务器协商得到的密钥。
在步骤204中,匹配服务器接收至少两个业务服务器发送的密文集合。
其中,每个业务服务器的密文集合由每个业务服务器基于预先存储的第一密钥,分别对其存储的目标数据集合中的每个子数据进行加密得到。
在实施中,匹配服务器可以接收到至少两个业务服务器发送的匹配请求消息,该匹配请求消息中可以携带有密文集合,还可以携带有该业务服务器的标识。匹配服务器可以对接收到的匹配请求消息进行解析,获取各匹配请求消息中的密文集合和业务服务器的标识,并进行对应的存储。
可选的,对于业务服务器对密文集合进行加密的情况,相应的,步骤204的处理过程可以如下:接收至少两个业务服务器发送的加密后的密文集合;基于预先存储的第四密钥,对加密后的密文集合进行解密,得到密文集合。
其中,第四密钥可以是业务服务器的私钥。
在实施中,匹配服务器可以接收到至少两个业务服务器发送的匹配请求消息,该匹配请求消息中可以携带有加密后的密文集合,还可以携带有该业务服务器的标识。匹配服务器可以对接收到的匹配请求消息进行解析,获取各匹配请求消息中的加密后的密文集合和业务服务器的标识,然后可以根据第四密钥,分别对获取到的每个该加密后的密文集合进行解密,得到至少两个密文集合。另外,第四密钥也可以是匹配服务器根据预先存储的密钥交换算法,与业务服务器协商得到的密钥。
在步骤205中,匹配服务器基于密文集合进行匹配处理,得到密文集合共同包含的密文。
在实施中,匹配服务器获取到各业务服务器的密文集合后,可以将各密文集合中所包含的密文进行对比,确定各密文集合共同包含的密文(即确定各密文集合的交集)。例如,如果密文集合的数目为2,匹配服务器可以将两个密文集合中所包含的密文进行对比,确定相同的密文;如果密文集合的数目大于2,则可以先将任意两个密文集合中的密文进行对比,得到这两个密文集合的共同包含的密文,然后再将确定出的密文与其他密文集合中的密文进行对比。
在步骤206中,匹配服务器分别向每个业务服务器发送确定出的密文。
在实施中,匹配服务器确定出各密文集合共同包含的密文后,可以向根据从匹配请求消息中获取到的业务服务器的标识,向对应的业务服务器发送反馈消息。该反馈消息中可以携带有确定出的密文,以及匹配服务器的标识。
可选的,匹配服务器可以对确定出的密文进行加密,然后在发送给各业务服务器,相应的,步骤206的处理过程可以如下:基于预先存储的第五密钥,对确定出的密文进行加密,分别向每个业务服务器发送加密后的密文。
其中,第五密钥可以是业务服务器的私钥。
在实施中,匹配服务器确定出各密文集合共同包含的密文后,可以向各业务服务器发送反馈消息。该反馈消息中可以携带有通过第五密钥加密后的密文,以及匹配服务器的标识。另外,第五密钥也可以是匹配服务器根据预先存储的密钥交换算法,与业务服务器协商得到的密钥。第五密钥可以与第四密钥相同,也可以与第四密钥不同。
在步骤207中,业务服务器接收匹配服务器发送的第一密文集合与第二密文集合共同包含的密文,确定接收到的密文对应的子数据,得到本地与其他业务服务器共同包含的子数据。
在实施中,每个业务服务器都有对应的密文集合,为了便于描述,其他业务服务器的密文集合可称为第二密文集合,其他业务服务器可以是一个,也可以是多个,相应的,第二密文集合可以是一个,也可以是多个。业务服务器可以接收匹配服务器发送的反馈消息,该反馈消息中可以携带有匹配服务器确定出的密文,以及匹配服务器的标识。业务服务器可以对该反馈消息进行解析,获取其中的密文,然后可以基于上述第一密钥对每个密文进行解密处理,得到每个密文对应的子数据,这些子数据即为该业务服务器与参数匹配的其他业务服务器共同包含的子数据。或者,业务服务器对各子数据进行加密后,可以将密文与子数据进行对应的存储,建立密文和子数据的对应关系。业务服务器接收到匹配服务器发送的密文后,可以在该对应关系中,分别查找接收到的每个密文对应的子数据,得到该业务服务器与参数匹配的其他业务服务器共同包含的子数据。
例如,目标数据集合包括3个用户的电话号码,即1111111,222222,3333333,业务服务器可以基于第一密钥对1111111进行加密,得到密文a,基于第一密钥对222222进行加密,得到密文b,基于第一密钥对3333333进行加密,得到密文c,从而得到密文集合{a,b,c}。匹配服务器接收到匹配服务器发送的密文为a和b,则可以确定本地与其他业务服务器共同包含的电话号码为1111111和222222。
可选的,对于匹配服务器对密文进行加密的情况,相应的,步骤207的处理过程可以如下:接收匹配服务器发送的加密后的密文;基于预先存储的第三密钥对加密后的密文进行解密,得到密文。
其中,第三密钥可以是匹配服务器的公钥。
在实施中,业务服务器可以接收匹配服务器发送的反馈消息,该反馈消息中可以携带有匹配服务器通过第五密钥进行加密后的密文,以及匹配服务器的标识。业务服务器可以对该反馈消息进行解析,获取加密后的密文,然后可以基于第三密钥对加密后的密文进行解密处理,得到密文,进而确定该密文对应的子数据,得到本地与其他业务服务器共同包含的子数据,具体的处理过程可以参照上述说明。另外,第三密钥也可以是业务服务器根据预先存储的密钥交换算法,与匹配服务器协商得到的密钥。第三密钥可以与第二密钥相同,也可以与第二密钥不同。
本公开实施例中,获取预先存储的目标数据集合,目标数据集合包含至少一个子数据,基于预先存储的第一密钥,分别确定目标数据集合中的每个子数据对应的密文,得到第一密文集合,将第一密文集合发送给匹配服务器,以使匹配服务器将第一密文集合与其他业务服务器的第二密文集合进行匹配处理,接收匹配服务器发送的第一密文集合与第二密文集合共同包含的密文,确定接收到的密文对应的子数据,得到本地与其他业务服务器共同包含的子数据,这样,由匹配服务器根据各子数据的密文进行匹配处理,无需业务服务器将自己的数据发送给其他业务服务器,可以有效的避免数据泄露的请情况,提高数据的安全性。
基于相同的技术构思,本公开实施例还提供了一种匹配数据的装置,如图3所示,该装置包括:获取模块310,第一确定模块320、发送模块330和第二确定模块340。
获取模块310,用于获取预先存储的目标数据集合,所述目标数据集合包含至少一个子数据;
第一确定模块320,用于基于预先存储的第一密钥,分别确定所述目标数据集合中的每个子数据对应的密文,得到第一密文集合;
发送模块330,用于将所述第一密文集合发送给匹配服务器,以使所述匹配服务器将所述第一密文集合与其他业务服务器的第二密文集合进行匹配处理;
第二确定模块340,用于接收所述匹配服务器发送的所述第一密文集合与所述第二密文集合共同包含的密文,确定接收到的密文对应的子数据,得到本地与所述其他业务服务器共同包含的子数据。
可选的,如图4所示,所述装置还包括:
第三确定模块350,用于通过预先存储的密钥交换算法,确定与所述其他业务服务器共同使用的第一密钥。
可选的,如图5所示,所述发送模块330,包括:
加密子模块331,用于基于预先存储的第二密钥对所述第一密文集合进行加密;
发送子模块332,用于将加密后的第一密文集合发送给所述匹配服务器。
可选的,如图6所示,所述第二确定模块340,包括:
接收子模块341,用于接收经过所述匹配服务器加密的所述第一密文集合与所述第二密文集合共同包含的密文;
解密子模块342,用于基于预先存储的第三密钥对加密后的密文进行解密,得到所述第一密文集合与所述第二密文集合共同包含的密文。
基于相同的技术构思,本公开实施例还提供了一种匹配数据的装置,如图7所示,该装置包括:接收模块710,匹配模块720和发送模块730。
接收模块710,用于接收至少两个业务服务器发送的密文集合,其中,每个业务服务器的密文集合由所述每个业务服务器基于预先存储的第一密钥,分别对其存储的目标数据集合中的每个子数据进行加密得到;
匹配模块720,用于基于所述密文集合进行匹配处理,得到所述密文集合共同包含的密文;
发送模块730,用于分别向所述每个业务服务器发送确定出的密文。
可选的,如图8所示,所述接收模块710,包括:
接收子模块711,用于接收至少两个业务服务器发送的加密后的密文集合;
解密子模块712,用于基于预先存储的第四密钥,对所述加密后的密文集合进行解密,得到所述密文集合。
可选的,如图9所示,所述发送模块730,包括:
加密子模块731,用于基于预先存储的第五密钥,对确定出的密文进行加密;
发送子模块732,用于分别向所述每个业务服务器发送加密后的密文。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本公开实施例中,获取预先存储的目标数据集合,目标数据集合包含至少一个子数据,基于预先存储的第一密钥,分别确定目标数据集合中的每个子数据对应的密文,得到第一密文集合,将第一密文集合发送给匹配服务器,以使匹配服务器将第一密文集合与其他业务服务器的第二密文集合进行匹配处理,接收匹配服务器发送的第一密文集合与第二密文集合共同包含的密文,确定接收到的密文对应的子数据,得到本地与其他业务服务器共同包含的子数据,这样,由匹配服务器根据各子数据的密文进行匹配处理,无需业务服务器将自己的数据发送给其他业务服务器,可以有效的避免数据泄露的请情况,提高数据的安全性。
需要说明的是:上述实施例提供的匹配数据的装置在匹配数据时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的匹配数据的装置与匹配数据的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本公开再一示例性实施例提供了一种用于匹配数据的装置1900的框图。例如,装置1900可以被提供为一业务服务器。参照图10,装置1900包括处理组件1922,其进一步包括一个或多个处理器,以及由存储器1932所代表的存储器资源,用于存储可由处理部件1922的执行的指令,例如应用程序。存储器1932中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件1922被配置为执行指令,以执行上述对设备进行控制的方法。
装置1900还可以包括一个电源组件1926被配置为执行装置1900的电源管理,一个有线或无线网络接口1950被配置为将装置1900连接到网络,和一个输入输出(I/O)接口1958。装置1900可以操作基于存储在存储器1932的操作系统,例如Windows ServerTM,MacOS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
装置1900可以包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于业务服务器进行上述匹配数据的方法的指令。
本公开实施例中,获取预先存储的目标数据集合,目标数据集合包含至少一个子数据,基于预先存储的第一密钥,分别确定目标数据集合中的每个子数据对应的密文,得到第一密文集合,将第一密文集合发送给匹配服务器,以使匹配服务器将第一密文集合与其他业务服务器的第二密文集合进行匹配处理,接收匹配服务器发送的第一密文集合与第二密文集合共同包含的密文,确定接收到的密文对应的子数据,得到本地与其他业务服务器共同包含的子数据,这样,由匹配服务器根据各子数据的密文进行匹配处理,无需业务服务器将自己的数据发送给其他业务服务器,可以有效的避免数据泄露的请情况,提高数据的安全性。
本公开再一示例性实施例提供了一种用于匹配数据的装置2000的框图。例如,装置2000可以被提供为一匹配服务器。参照图11,装置2000包括处理组件2022,其进一步包括一个或多个处理器,以及由存储器2032所代表的存储器资源,用于存储可由处理部件2022的执行的指令,例如应用程序。存储器2032中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件2022被配置为执行指令,以执行上述对设备进行控制的方法。
装置2000还可以包括一个电源组件2026被配置为执行装置2000的电源管理,一个有线或无线网络接口2050被配置为将装置2000连接到网络,和一个输入输出(I/O)接口2058。装置2000可以操作基于存储在存储器2032的操作系统,例如Windows ServerTM,MacOS XTM,UnixTM,LinuxTM,FreeBSDTM或类似。
装置2000可以包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于匹配服务器进行上述匹配数据的方法的指令。
本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (12)

1.一种匹配数据的方法,其特征在于,所述方法包括:
获取预先存储的目标数据集合,所述目标数据集合包含至少一个子数据;
基于预先存储的第一密钥,分别确定所述目标数据集合中的每个子数据对应的密文,得到第一密文集合;
将所述第一密文集合发送给匹配服务器,以使所述匹配服务器将所述第一密文集合与其他业务服务器的第二密文集合进行匹配处理;
接收经过所述匹配服务器加密的所述第一密文集合与所述第二密文集合共同包含的密文;
基于预先存储的第三密钥对加密后的密文进行解密,得到所述第一密文集合与所述第二密文集合共同包含的密文,确定接收到的密文对应的子数据,得到本地与所述其他业务服务器共同包含的子数据。
2.根据权利要求1所述的方法,其特征在于,所述基于预先存储的第一密钥,分别确定所述目标数据集合中的每个子数据对应的密文之前,还包括:
通过预先存储的密钥交换算法,确定与所述其他业务服务器共同使用的第一密钥。
3.根据权利要求1所述的方法,其特征在于,所述将所述第一密文集合发送给匹配服务器,包括:
基于预先存储的第二密钥对所述第一密文集合进行加密;
将加密后的第一密文集合发送给所述匹配服务器。
4.一种匹配数据的方法,其特征在于,所述方法包括:
接收至少两个业务服务器发送的密文集合,其中,每个业务服务器的密文集合由所述每个业务服务器基于预先存储的第一密钥,分别对其存储的目标数据集合中的每个子数据进行加密得到;
基于所述密文集合进行匹配处理,得到所述密文集合共同包含的密文;
基于预先存储的第五密钥,对确定出的密文进行加密;
分别向所述每个业务服务器发送加密后的密文。
5.根据权利要求4所述的方法,其特征在于,所述接收至少两个业务服务器发送的密文集合,包括:
接收至少两个业务服务器发送的加密后的密文集合;
基于预先存储的第四密钥,对所述加密后的密文集合进行解密,得到所述密文集合。
6.一种匹配数据的装置,其特征在于,所述装置包括:
获取模块,用于获取预先存储的目标数据集合,所述目标数据集合包含至少一个子数据;
第一确定模块,用于基于预先存储的第一密钥,分别确定所述目标数据集合中的每个子数据对应的密文,得到第一密文集合;
发送模块,用于将所述第一密文集合发送给匹配服务器,以使所述匹配服务器将所述第一密文集合与其他业务服务器的第二密文集合进行匹配处理;
第二确定模块,用于接收所述匹配服务器发送的所述第一密文集合与所述第二密文集合共同包含的密文,确定接收到的密文对应的子数据,得到本地与所述其他业务服务器共同包含的子数据;
所述第二确定模块,包括:
接收子模块,用于接收经过所述匹配服务器加密的所述第一密文集合与所述第二密文集合共同包含的密文;
解密子模块,用于基于预先存储的第三密钥对加密后的密文进行解密,得到所述第一密文集合与所述第二密文集合共同包含的密文。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
第三确定模块,用于通过预先存储的密钥交换算法,确定与所述其他业务服务器共同使用的第一密钥。
8.根据权利要求6所述的装置,其特征在于,所述发送模块,包括:
加密子模块,用于基于预先存储的第二密钥对所述第一密文集合进行加密;
发送子模块,用于将加密后的第一密文集合发送给所述匹配服务器。
9.一种匹配数据的装置,其特征在于,所述装置包括:
接收模块,用于接收至少两个业务服务器发送的密文集合,其中,每个业务服务器的密文集合由所述每个业务服务器基于预先存储的第一密钥,分别对其存储的目标数据集合中的每个子数据进行加密得到;
匹配模块,用于基于所述密文集合进行匹配处理,得到所述密文集合共同包含的密文;
发送模块,用于分别向所述每个业务服务器发送确定出的密文;
所述发送模块,包括:
加密子模块,用于基于预先存储的第五密钥,对确定出的密文进行加密;
发送子模块,用于分别向所述每个业务服务器发送加密后的密文。
10.根据权利要求9所述的装置,其特征在于,所述接收模块,包括:
接收子模块,用于接收至少两个业务服务器发送的加密后的密文集合;
解密子模块,用于基于预先存储的第四密钥,对所述加密后的密文集合进行解密,得到所述密文集合。
11.一种匹配数据的装置,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
获取预先存储的目标数据集合,所述目标数据集合包含至少一个子数据;
基于预先存储的第一密钥,分别确定所述目标数据集合中的每个子数据对应的密文,得到第一密文集合;
将所述第一密文集合发送给匹配服务器,以使所述匹配服务器将所述第一密文集合与其他业务服务器的第二密文集合进行匹配处理;
接收经过所述匹配服务器加密的所述第一密文集合与所述第二密文集合共同包含的密文;
基于预先存储的第三密钥对加密后的密文进行解密,得到所述第一密文集合与所述第二密文集合共同包含的密文,确定接收到的密文对应的子数据,得到本地与所述其他业务服务器共同包含的子数据。
12.一种匹配数据的装置,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
接收至少两个业务服务器发送的密文集合,其中,每个业务服务器的密文集合由所述每个业务服务器基于预先存储的第一密钥,分别对其存储的目标数据集合中的每个子数据进行加密得到;
基于所述密文集合进行匹配处理,得到所述密文集合共同包含的密文;
基于预先存储的第五密钥,对确定出的密文进行加密;
分别向所述每个业务服务器发送加密后的密文。
CN201710288750.7A 2017-04-27 2017-04-27 一种匹配数据的方法和装置 Active CN107196919B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710288750.7A CN107196919B (zh) 2017-04-27 2017-04-27 一种匹配数据的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710288750.7A CN107196919B (zh) 2017-04-27 2017-04-27 一种匹配数据的方法和装置

Publications (2)

Publication Number Publication Date
CN107196919A CN107196919A (zh) 2017-09-22
CN107196919B true CN107196919B (zh) 2021-01-01

Family

ID=59872573

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710288750.7A Active CN107196919B (zh) 2017-04-27 2017-04-27 一种匹配数据的方法和装置

Country Status (1)

Country Link
CN (1) CN107196919B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109345223A (zh) * 2018-02-13 2019-02-15 李茗 区块链版权数字内容恢复方法和区块链操作平台
CN109218291B (zh) * 2018-08-14 2021-02-09 深圳高灯计算机科技有限公司 一种基于区块链的数据流转方法、系统及相关设备
CN111355707B (zh) * 2020-02-12 2022-06-17 深圳市晨北科技有限公司 一种数据处理方法及相关设备
CN111061720B (zh) * 2020-03-12 2021-05-07 支付宝(杭州)信息技术有限公司 数据筛选方法、装置和电子设备
WO2024062480A1 (en) * 2022-09-21 2024-03-28 Hooxpay Ltd Platform and method for encrypted interaction
CN115774885B (zh) * 2023-01-29 2023-07-14 成方金融科技有限公司 基于同态加密的对账方法、装置、电子设备和存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102999574A (zh) * 2011-11-14 2013-03-27 微软公司 跨多个不同的内容源来定位相关内容项
CN104714977A (zh) * 2013-12-17 2015-06-17 日本电气株式会社 一种实体与知识库项的关联方法及装置
CN104836821A (zh) * 2014-02-10 2015-08-12 腾讯科技(深圳)有限公司 一种基于路由器设备的网络加速方法、装置和设备
CN105045880A (zh) * 2015-07-22 2015-11-11 福州大学 一种不同数据源的兴趣点的模糊匹配方法
US9477825B1 (en) * 2015-07-10 2016-10-25 Trusted Mobile, Llc System for transparent authentication across installed applications

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103078841B (zh) * 2012-12-03 2016-01-13 厦门市美亚柏科信息股份有限公司 一种预防性电子数据保全的方法及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102999574A (zh) * 2011-11-14 2013-03-27 微软公司 跨多个不同的内容源来定位相关内容项
CN104714977A (zh) * 2013-12-17 2015-06-17 日本电气株式会社 一种实体与知识库项的关联方法及装置
CN104836821A (zh) * 2014-02-10 2015-08-12 腾讯科技(深圳)有限公司 一种基于路由器设备的网络加速方法、装置和设备
US9477825B1 (en) * 2015-07-10 2016-10-25 Trusted Mobile, Llc System for transparent authentication across installed applications
CN105045880A (zh) * 2015-07-22 2015-11-11 福州大学 一种不同数据源的兴趣点的模糊匹配方法

Also Published As

Publication number Publication date
CN107196919A (zh) 2017-09-22

Similar Documents

Publication Publication Date Title
CN107196919B (zh) 一种匹配数据的方法和装置
CN110971415B (zh) 一种天地一体化空间信息网络匿名接入认证方法及系统
US10205713B2 (en) Private and mutually authenticated key exchange
KR101982237B1 (ko) 클라우드 컴퓨팅 환경에서의 속성 기반 암호화를 이용한 데이터 공유 방법 및 시스템
CN111355745A (zh) 基于边缘计算网络架构的跨域身份认证方法
WO2016201732A1 (zh) 一种虚拟sim卡参数管理方法、移动终端及服务器
US11374910B2 (en) Method and apparatus for effecting a data-based activity
CN110933484A (zh) 一种无线投屏设备的管理方法及装置
CN104756458A (zh) 用于保护通信网络中的连接的方法和设备
CN105516157A (zh) 基于独立加密的网络信息安全输入系统和方法
CN107196918B (zh) 一种匹配数据的方法和装置
CN107767281B (zh) 一种基于移动社交网络二度人脉的交友匹配隐私保护方法及系统
CN106453246A (zh) 设备身份信息分配方法、装置以及系统
CN108549824A (zh) 一种数据脱敏方法及装置
CN113239403A (zh) 一种数据共享方法及装置
CN114173328A (zh) 密钥交换方法、装置、电子设备
WO2022153051A1 (en) System and method for key establishment
CN110035083A (zh) 基于会话密钥的通信方法、设备及计算机可读存储介质
CN110830240B (zh) 一种终端与服务器的通信方法和装置
WO2023116027A1 (zh) 安全多方计算中的跨域身份验证方法及服务器
CN107193884B (zh) 一种匹配数据的方法和装置
CN115883207A (zh) 多方安全计算方法及装置
Peng et al. On the security of fully homomorphic encryption for data privacy in Internet of Things
CN109617916A (zh) 秘钥处理方法及即时通讯系统
CN112437436B (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