CN111931221B - 数据处理方法、装置和服务器 - Google Patents

数据处理方法、装置和服务器 Download PDF

Info

Publication number
CN111931221B
CN111931221B CN202011019718.7A CN202011019718A CN111931221B CN 111931221 B CN111931221 B CN 111931221B CN 202011019718 A CN202011019718 A CN 202011019718A CN 111931221 B CN111931221 B CN 111931221B
Authority
CN
China
Prior art keywords
data
encrypted
attribute
server
ciphertext
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
CN202011019718.7A
Other languages
English (en)
Other versions
CN111931221A (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.)
Sasi Digital Technology Beijing Co ltd
Original Assignee
Alipay Hangzhou Information 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 Alipay Hangzhou Information Technology Co Ltd filed Critical Alipay Hangzhou Information Technology Co Ltd
Priority to CN202011019718.7A priority Critical patent/CN111931221B/zh
Publication of CN111931221A publication Critical patent/CN111931221A/zh
Application granted granted Critical
Publication of CN111931221B publication Critical patent/CN111931221B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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/6227Protecting 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 where protection concerns the structure of data, e.g. records, types, queries

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bioethics (AREA)
  • Databases & Information Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本说明书提供了数据处理方法、装置和服务器。基于该数据处理方法,第一服务器和第二服务器可以合作,在不向对方或第三方泄露己方所拥有的数据对象具体的属性数据和特征数据的前提下,根据双方各自拥有的数据对象的第一特征数据、第二特征数据进行联合分组;并合并双方所各自拥有的数据对象的第一属性数据、第二属性数据,得到数据对象合并后的属性数据;再对不同分组中的合并后的属性数据进行联合统计,得到各个分组的属性数据统计结果,完成相关的数据处理,避免在上述数据处理场景中泄露己方所拥有的数据对象的具体数据,提高了数据处理的安全性,保护了参与数据处理的数据方的数据隐私。

Description

数据处理方法、装置和服务器
技术领域
本说明书属于互联网技术领域,尤其涉及数据处理方法、装置和服务器。
背景技术
在许多数据处理场景中,不同的数据方往往会拥有同一用户的不同类型的数据。例如,第一数据方拥有用户的职业数据(一种特征数据)和月工资数据(一种属性数据),而第二数据方拥有用户的学历数据和月理财收益数据。
在进行用户信息数据统计时,有时需要不同的数据方合作,利用双方分别拥有的用户的特征数据进行联合分组;并将双方分别拥有的用户的属性数进行合并;再对各个分组内用户合并后的属性数据进行联合统计,以最终得到针对各个分组的合并后的属性数据的统计结果。
例如,第一数据方和第二数据方需要根据用户的职业数据和用户的学历数据将用户划分为对应不同职业和学历的多个分组;并合并用户的月工资数据和月理财受益数据,得到用户的月收入数据;最后才能统计得到各个分组中用户的月收入数据的总和。在上述数据处理过程中,要求保护参与数据处理的数据方的数据隐私。即,第一数据方不希望第二数据方知晓己方所拥有的具体用户的职业数据和月工资数据。同时,第二数据方也不希望第一数据方知晓己方所拥有的具体用户的学历数据和月理财收益数据。
因此,亟需一种能够在需要利用双方所分别拥有的数据对象的特征数据进行联合分组,并对分组后的数据对象的合并后的属性数据进行联合统计的数据处理场景中,避免泄露己方所拥有的数据对象的具体数据,保护数据隐私的数据处理方法。
发明内容
本说明书提供了一种数据处理方法、装置和服务器,以能够在需要利用双方所分别拥有的数据对象的特征数据进行联合分组,并对分组后的数据对象的合并后的属性数据进行联合统计的数据处理场景中,避免泄露己方所拥有的数据对象的具体数据,提高数据处理的安全性,保护参与数据处理的数据方的数据隐私。
本说明书提供的一种数据处理方法、装置和服务器是这样实现的:
一种数据处理方法,应用于第一服务器,包括:接收加密后的第二特征数据和加密后的第二属性数据;其中,所述加密后的第二特征数据为第二服务器利用第二公钥加密第二特征数据所得到的密文数据,所述加密后的第二属性数据为第二服务器利用共享秘钥加密第二属性数据所得到的密文数据;合并加密后的第一属性数据和所述加密后的第二属性数据,得到合并后的属性数据的密文数据;并根据第一特征数据、所述加密后的第二特征数据,以及所述合并后的属性数据的密文数据,构建多个乱序后的数据组;其中,所述加密后的第一属性数据为第一服务器利用共享秘钥加密第一属性数据所得到的密文数据;将所述多个乱序后的数据组发送至第二服务器;其中,所述第二服务器用于将所述多个乱序后的数据组划分为多个类型组,并对各个类型组中合并后的属性数据的密文数据进行处理,得到多个类型组的属性数据统计结果的第一密文数据;所述第二服务器还用于利用第二私钥对所述第一密文数据进行解密处理,得到第二密文数据;接收并根据所述第二密文数据,确定出多个类型组的属性数据统计结果的明文数据。
一种数据处理方法,应用于第二服务器,包括:利用第二公钥加密第二特征数据,得到加密后的第二特征数据;利用共享秘钥加密第二属性数据,得到加密后的第二属性数据;将所述加密后的第二特征数据和所述加密后的第二属性数据发送至第一服务器;其中,所述第一服务器用于合并加密后的第一属性数据和所述加密后的第二属性数据,得到合并后的属性数据的密文数据;并根据第一特征数据、所述加密后的第二特征数据,以及所述合并后的属性数据的密文数据,构建多个乱序后的数据组;将所接收的所述多个乱序后的数据组划分为多个类型组,并对各个类型组中合并后的属性数据的密文数据进行处理,得到多个类型组的属性数据统计结果的第一密文数据;利用第二私钥对所述第一密文数据进行解密处理,得到多个类型组的属性数据统计结果的第二密文数据;向第一服务器发送所述第二密文数据;其中,所述第一服务器用于根据所述第二密文数据,确定出多个类型组的属性数据统计结果的明文数据。
一种数据处理方法,应用于包含有第一服务器和第二服务器的系统,包括:第二服务器利用第二公钥加密第二特征数据,得到加密后的第二特征数据;利用共享秘钥加密第二属性数据,得到加密后的第二属性数据;第一服务器接收所述加密后的第二特征数据和所述加密后的第二属性数据;合并加密后的第一属性数据和所述加密后的第二属性数据,得到合并后的属性数据的密文数据;并根据第一特征数据、所述加密后的第二特征数据,以及所述合并后的属性数据的密文数据,构建多个乱序后的数据组;其中,所述加密后的第一属性数据为第一服务器利用共享秘钥加密第一属性数据所得到的密文数据;第二服务器将所接收的所述多个乱序后的数据组划分为多个类型组,并对各个类型组中合并后的属性数据的密文数据进行处理,得到多个类型组的属性数据统计结果的第一密文数据;利用第二私钥对所述多个类型组的属性数据统计结果的密文数据进行解密处理,得到多个类型组的属性数据统计结果的第二密文数据;第一服务器接收并根据所述第二密文数据,确定出多个类型组的属性数据统计结果的明文数据。
一种数据处理装置,包括:接收模块,用于接收加密后的第二特征数据和加密后的第二属性数据;其中,所述加密后的第二特征数据为第二服务器利用第二公钥加密第二特征数据所得到的密文数据,所述加密后的第二属性数据为第二服务器利用共享秘钥加密第二属性数据所得到的密文数据;合并模块,用于合并加密后的第一属性数据和所述加密后的第二属性数据,得到合并后的属性数据的密文数据;并根据第一特征数据、所述加密后的第二特征数据,以及所述合并后的属性数据的密文数据,构建多个乱序后的数据组;其中,所述加密后的第一属性数据为第一服务器利用共享秘钥加密第一属性数据所得到的密文数据;第一发送模块,用于将所述多个乱序后的数据组发送至第二服务器;其中,所述第二服务器用于将所述多个乱序后的数据组划分为多个类型组,并对各个类型组中合并后的属性数据的密文数据进行处理,得到多个类型组的属性数据统计结果的第一密文数据;所述第二服务器还用于利用第二私钥对所述第一密文数据进行解密处理,得到第二密文数据;确定模块,用于接收并根据所述第二密文数据,确定出多个类型组的属性数据统计结果的明文数据。
一种数据处理装置,包括:加密模块,用于利用第二公钥加密第二特征数据,得到加密后的第二特征数据;利用共享秘钥加密第二属性数据,得到加密后的第二属性数据;第二发送模块,用于将所述加密后的第二特征数据和所述加密后的第二属性数据发送至第一服务器;其中,所述第一服务器用于合并加密后的第一属性数据和所述加密后的第二属性数据,得到合并后的属性数据的密文数据;并根据第一特征数据、所述加密后的第二特征数据,以及所述合并后的属性数据的密文数据,构建多个乱序后的数据组;划分模块,用于将所接收的所述多个乱序后的数据组划分为多个类型组,并对各个类型组中合并后的属性数据的密文数据进行处理,得到多个类型组的属性数据统计结果的第一密文数据;解密模块,用于利用第二私钥对所述第一密文数据进行解密处理,得到多个类型组的属性数据统计结果的第二密文数据;第三发送模块,用于向第一服务器发送所述第二密文数据;其中,所述第一服务器用于根据所述第二密文数据,确定出多个类型组的属性数据统计结果的明文数据。
一种服务器,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现接收加密后的第二特征数据和加密后的第二属性数据;其中,所述加密后的第二特征数据为第二服务器利用第二公钥加密第二特征数据所得到的密文数据,所述加密后的第二属性数据为第二服务器利用共享秘钥加密第二属性数据所得到的密文数据;合并加密后的第一属性数据和所述加密后的第二属性数据,得到合并后的属性数据的密文数据;并根据第一特征数据、所述加密后的第二特征数据,以及所述合并后的属性数据的密文数据,构建多个乱序后的数据组;其中,所述加密后的第一属性数据为第一服务器利用共享秘钥加密第一属性数据所得到的密文数据;将所述多个乱序后的数据组发送至第二服务器;其中,所述第二服务器用于将所述多个乱序后的数据组划分为多个类型组,并对各个类型组中合并后的属性数据的密文数据进行处理,得到多个类型组的属性数据统计结果的第一密文数据;所述第二服务器还用于利用第二私钥对所述第一密文数据进行解密处理,得到第二密文数据;接收并根据所述第二密文数据,确定出多个类型组的属性数据统计结果的明文数据。
本说明书提供的一种数据处理方法、装置和服务器,基于该方法,第一服务器、第二服务器可以先分别使用基于预设的同态加密算法得到的共享秘钥将双方各自拥有的数据对象的第一属性数据、第二属性数据分别进行加密处理得到加密后的第一属性数据、加密后的第二属性数据,同时第二服务器还使用第二公钥加密第二特征数据,得到加密后的第二特征数据;再由第一服务器合并加密后的第一属性数据和加密后的第二属性数据,得到合并后的属性数据的密文数据,并构建得到多个乱序后的数据组;第二服务器根据上述乱序后的数据组中的第一特征数据和第二特征数据,在无法知道数据组所对应的具体数据对象的情况下,进行联合分组,将多个乱序后的数据组划分为多个类型组,并对各个类型组中合并后的属性数据的密文数据进行联合统计,得到各个类型组的第一密文数据;再使用第二私钥解密所述第一密文数据得到对应的第二密文数据;第一服务器获取并根据上述第二密文数据,解密得到多个类型组的属性数据统计结果的明文数据,完成数据处理,从而可以有效避免在上述需要利用双方所分别拥有的数据对象的特征数据进行联合分组,并对分组后的数据对象的合并后的属性数据进行联合统计的数据处理场景中泄露己方所拥有的数据对象的具体数据,提高了数据处理的安全性,保护了参与数据处理的数据方的数据隐私。
附图说明
为了更清楚地说明本说明书实施例,下面将对实施例中所需要使用的附图作简单地介绍,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是应用本说明书实施例提供的数据处理方法的系统的结构组成的一个实施例的示意图;
图2是本说明书的一个实施例提供的数据处理方法的流程示意图;
图3是在一个场景示例中,应用本说明书实施例提供的数据处理方法的一种实施例的示意图;
图4是在一个场景示例中,应用本说明书实施例提供的数据处理方法的一种实施例的示意图;
图5是在一个场景示例中,应用本说明书实施例提供的数据处理方法的一种实施例的示意图;
图6是本说明书的一个实施例提供的数据处理方法的流程示意图;
图7是本说明书的一个实施例提供的数据处理方法的流程示意图;
图8是本说明书的一个实施例提供的服务器的结构组成示意图;
图9是本说明书的一个实施例提供的数据处理装置的结构组成示意图;
图10是本说明书的一个实施例提供的数据处理装置的结构组成示意图。
具体实施方式
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
本说明书实施例提供一种数据处理方法。该方法具体可以应用于包含有第一服务器和第二服务器的系统中。具体可以参阅图1所示,上述第一服务器和第二服务器之间可以通过有线或无线的方式相连,以进行具体的数据交互。
上述第一服务器和第二服务器分别布设于第一数据方一侧和第二数据方一侧。其中,第一数据方和第二数据方分别拥有相同数据对象的部分特征数据(例如,用户的职业、用户的年龄、用户的学历等)和部分属性数据(例如,用户的月工资、用户的月理财收益、用户的信用评分等)。
具体的,第一数据方拥有数据对象的第一特征数据和第一属性数据。第二数据方拥有相同数据对象(或者大部分相同的数据对象)的第二特征数据和第二属性数据。
当前的数据处理场景要求在双方无法获取对方所拥有的数据对象具体的特征数据和属性数据的前提下,完成下述数据处理:利用数据对象的第一特征数据和第二特征数据将数据对象划分成多个不同的类型组;并统计各个类型组中数据对象的合并后的属性数据(例如,相同数据对象的第一属性数据和第二属性数据的和),得到各个类型组的属性数据统计结果。
具体实施之前,第一服务器可以生成第一私钥和第一公钥,并向第二服务器分享第一公钥。同时,第二服务器可以生成第二私钥和第二公钥,并向第一服务器分享第二公钥。第一服务器可以根据预设的同态加密算法(例如,多秘钥的EIGamal同态加密算法),根据第一私钥和第二公钥生成共享秘钥(也可以称为共享公钥)。第二服务器可以根据预设的同态加密算法,根据第二私钥和第一公钥生成相同的共享秘钥。其中,使用上述共享秘钥加密的密文数据,需要分别使用第一私钥、第二私钥进行解密处理后,才能得到对应的明文数据。
具体实施时,第二服务器可以先利用第二公钥加密己方所拥有的第二特征数据,得到加密后的第二特征数据;利用共享秘钥加密第二属性数据,得到加密后的第二属性数据;并将上述加密后的第二特征数据和加密后的第二属性数据发送给第一服务器。
第一服务器可以先利用共享秘钥加密己方所拥有的第一属性数据;合并加密后的第一属性数据和加密后的第二属性数据,得到合并后的属性数据的密文数据。再根据所拥有的第一特征数据、加密后的第二特征数据,以及合并后的属性数据的密文数据,构建得到多个乱序后的数据组。其中,每一个乱序后的数据组中所包含的第一特征数据、加密后的第二特征数据、合并后的属性数据的密文数据对应于同一个数据对象。但是,由于上述多个乱序后的数据组是经过乱序处理后得到的,第二服务器或者其他第三方服务器无法确定出每一个乱序后的数据组所对应的具体数据对象。第一服务器将上述多个乱序后的数据组发送给第二服务器。
第二服务器在接收到上述多个乱序后的数据组后,可以处理上述多个乱序后的数据组,以得到各个类型组的属性数据统计结果的第二密文数据。
具体的,第二服务器可以先利用第二私钥解密乱序后的数据组中的加密后的第二特征数据;进而可以根据乱序后的数据组中的第一特征数据和第二特征数据,将多个乱序后的数据组划分成多个类型组,完成联合分组。
进一步,第二服务器可以针对各个类型组,对各个类型组中的乱序后的数据组的合并后的属性数据的密文数据进行相应处理(例如,同态求和处理等),得到各个类型组的属性数据统计结果的第一密文数据,完成联合统计。
由于各个类型组的属性数据统计结果的第一密文数据是使用共享秘钥加密后的密文数据。因此,第二服务器和第一服务器都无法单独解密得到对应的明文数据。
在本实施例中,第二服务器可以利用第二私钥对上述各个类型组的属性数据统计结果的第一密文数据进行第一次解密处理,得到对应的各个类型组的属性数据统计结果的第二密文数据;再将上述第二密文数据发送给第一服务器。
第一服务器可以利用第一私钥对上述第二密文数据进行第二次解密处理,最终得到对应的各个类型组的属性数据统计结果的明文数据。
从而可以在不泄露己方所拥有的数据对象的特征数据和属性数据,保护数据方的数据隐私的前提下,联合利用己方和对方所分别拥有的特征数据和属性数据,确定出基于特征数据分类的各个类型组的数据对象的合并后的属性数据的统计结果。
在本实施例中,所述第一服务器、第二服务器具体可以包括一种应用于数据处理平台一侧,能够实现数据传输、数据处理等功能的后台服务器。具体的,所述第一服务器、第二服务器例如可以为一个具有数据运算、存储功能以及网络交互功能的电子设备。或者,所述第一服务器、第二服务器也可以为运行于该电子设备中,为数据处理、存储和网络交互提供支持的软件程序。在本实施例中,并不具体限定所述第一服务器、第二服务器所包含的服务器的数量。所述第一服务器、第二服务器具体可以为一个服务器,也可以为几个服务器,或者,由若干服务器形成的服务器集群。
参阅图2所示。本说明书实施例提供了一种数据处理方法。其中,该方法具体应用于包含有第一服务器和第二服务器的数据处理系统中。具体实施时,该方法可以包括以下内容。
S201:第二服务器利用第二公钥加密第二特征数据,得到加密后的第二特征数据;利用共享秘钥加密第二属性数据,得到加密后的第二属性数据。
在一些实施例中,上述第一服务器具体可以为布设于第一数据方一侧的服务器,上述第二服务器具体可以为布设于第二数据方一侧的服务器。
其中,上述第一数据方和第二数据方分别拥有相同数据对象的不同数据。可以理解为第一数据方和第二数据方所拥有的数据是符合垂直模式的。
具体的,例如,第一数据方拥有数据对象的第一特征数据和第一属性数据。第二数据方拥有相同数据对象的第二特征数据和第二属性数据。其中,上述第一特征数据和第二特征数据不相同,上述第一属性数据和第二属性数据不相同。
在一些实施例中,上述数据对象具体可以是用户对象。具体的,每一个用户对象具体可以使用与该用户对象对应的标识信息(例如,身份标识等)表示。当然,根据不同的应用场景,上述数据对象还可以是其他类型的数据对象,例如,订单对象、邮件对象、商品对象等等。对此,本说明书不作限定。
在本说明书实施例中,仅以数据对象为用户对象的场景进行具体说明,对于其他类型的数据对象,可以参阅用户对象的实施例。本说明书不作赘述。
在一些实施例中,上述第一数据方、第二数据方具体可以是不同的网络平台,也可以是不同的机构或企业等。例如,在一些应用场景中,上述第一数据方可以是某购物网站,上述第二数据方可以是某银行等。
在一些实施例中,特征数据具体可以理解为在具体的应用场景中,作为数据对象的分组依据的特征数据。具体的,以数据对象为用户对象为例,上述特征数据具体可以为用户的学历、用户的职业、用户的年龄等等。当然,上述所列举的特征数据只是一种示意性说明。具体实施时,根据具体的应用场景,以及所涉及的数据对象,上述特征数据还可以包括其他类型的特征数据。对此,本说明书不作限定。
在一些实施例中,上述第一特征数据具体可以理解为第一数据方所拥有的那部分的特征数据。上述第二特征数据具体可以理解为第二数据方所拥有的那部分的特征数据。其中,上述第一特征数据和第二特征数据可以为不同的特征数据。
需要说明的是,在一些具体的应用场景中,进行具体的数据处理时,需要根据数据对象的第一特征数据和第二特征数据两种数据,来对数据对象进行分组。
例如,在关于用户的月收入数据统计的应用场景中,第一数据方拥有的第一特征数据可以为用户对象的职业数据,第二数据方拥有的第二特征数据可以为用户对象的学历数据。具体处理时,根据场景需求,需要同时根据双方所各自拥有的相同用户对象的职业数据和学历数据组合,来将多个用户对象划分成多个类型组。其中,每一个类型组中的用户对象的职业和学历相同。
在一些实施例中,属性数据具体可以理解为在具体的应用场景中,需要进行统计处理的属性数据。具体的,以数据对象为用户对象为例,上述属性数据具体可以为用户的月工资、用户的月理财收益、用户的信用评分等等。当然,上述所列举的属性数据只是一种示意性说明。具体实施时,根据具体的应用场景,以及所涉及的数据对象,上述属性数据还可以包括其他类型的属性数据。对此,本说明书不作限定。
在一些实施例中,上述第一属性数据具体可以理解为第一数据方所拥有的那部分的属性数据。上述第二属性数据具体可以理解为第二数据方所拥有的那部分的属性数据。其中,上述第一属性数据和第二属性数据可以为不同的属性数据。
需要说明的是,在一些具体的应用场景中,进行具体的数据处理时,需要先将相同数据对象的第一属性数据和第二属性进行合并,得到合并后的属性数据;再对合并后的属性数据进行后续的统计处理。
例如,在关于用户的月收入数据统计的应用场景中,第一数据方拥有的第一属性数据可以为用户对象的月工资数据,第二数据方拥有的第二属性数据可以为用户对象的月理财收益数据。具体处理时,根据场景需求,需要先将双方所各自拥有的相同用户对象的月工资数据和月理财收益数据进行相加合并,得到该用户对象的合并后的属性数据作为该用户对象的月收入数据。再基于上述用户对象的月收入数据,根据场景需要进行相应的数据统计。例如,统计不同职业和学历(即对应不同类型组)的用户对象的月收入的和、月收入的平均值或者月收入的中位数等等。
在一些实施例中,具体实施前,参阅图3所示,第一服务器可以先生成一对相互对应的秘钥对,分别为第一私钥(可以记为sk1)和第一公钥(可以记为pk1)。同时,第二服务器可以生成一对互相对应的秘钥对,分别为第二私钥(可以记为sk2)和第二公钥(可以记为pk2)。
进一步,第一服务器和第二服务器可以协助,根据预设的同态加密算法,生成共同拥有的共享秘钥(可以记为PK)。
在一些实施例中,具体实施时,第一服务器可以将第一公钥发送给第二服务器,第一服务器保留第一私钥。同时,第二服务器可以将第二公钥发送给第一服务器,第二服务器保留第二私钥。进而,第一服务器可以根据预设的同态加密算法,根据第一私钥和第二公钥生成共享秘钥。同时,第二服务器可以根据预设的同态加密算法,根据第二私钥和第一公钥生成共享秘钥。
在一些实施例中,上述预设的同态加密算法具体可以是多秘钥的EIGamal同态加密算法(Multi-Key ElGamal)。当然,上述所列举的多秘钥的EIGamal同态加密算法只是一种示意性说明。具体实施时,根据具体情况和处理需求,还可以选择使用其他类型合适的同态加密算法作为预设的同态加密算法。对此,本说明书不作限定。
在一些实施例中,可以由第一服务器和/或第二服务器在系统中发起数据处理请求。其中,该数据处理请求用于请求利用双方所拥有的特征数据进行联合分组,并对分组后得到的各个类型组中的数据对象的合并后的属性数据进行联合统计。
此外,上述数据处理请求中具体还可以携带有与用作分组依据的特征数据对应的第一类标识信息,以及与待进行统计处理的属性数据对应的第二类标识信息。系统中的第一服务器和第二服务器接收并响应该数据处理请求,进行具体的数据处理。
具体的,第一服务器可以根据上述数据处理请求中所携带的第一类标识信息,从所拥有的特征数据中确定出第一特征数据;根据第二类标识信息,从所拥有的属性数据中确定出第一属性数据。类似的,第二服务器可以根据上述数据处理请求中所携带的第一类标识信息,从所拥有的特征数据中确定出第二特征数据;根据第二类标识信息,从所拥有的属性数据中确定出第二属性数据。
在一些实施例中,具体实施时,第一服务器可以根据预设的同态加密算法,将第一私钥与第二公钥相乘,以得到共享秘钥。例如,PK=sk1*pk2。类似的,第二服务器可以根据预设的同态加密算法,将第二私钥与第一公钥相乘,以得到共享秘钥。例如,PK=sk2*pk1。
需要说明的是,使用上述共享秘钥(PK)加密后的密文数据,需要使用第一私钥(sk1)和第二私钥(sk2)进行两次解密处理后,才能最终得到加密前的明文数据。
在一些实施例中,具体实施时,第二服务器可以利用第二公钥加密各个第二特征数据(可以记为b_i),得到加密后的第二特征数据(可以记为E_{1,i})。其中,上述i具体可以表示为第二特征数据的数据编号,上述数据编号又对应于一个数据对象,每一个第二特征数据对应于一个数据对象。
具体的,例如,第二服务器可以按照以下算式加密各个数据对象的第二特征数据:E_{1,i}=E(pk2,b_i),得到加密后的第二特征数据的集合,可以记为:[E_{1,1},……E_{1,i},……E_{1,N}]。其中,上述N具体可以表示为第二特征数据的总数。
同时,第二服务器还可以利用共享秘钥加密各个第二属性数据(可以记为y_i),得到加密后的第二属性数据(可以记为E_{2,i})。其中,上述i具体可以表示为第二属性数据的数据编号,上述数据编号又对应于一个数据对象,每一个第二属性数据对应于一个数据对象。
具体的,例如,第二服务器可以按照以下算式加密各个数据对象的第二属性数据:E_{2,i}=E(PK,y_i),得到加密后的第二属性数据的集合,可以记为:[E_{2,1},……E_{2,i},……E_{2,N}]。其中,上述N具体可以表示为第二属性数据的总数。
按照上述方式处理后,第二服务器一侧的数据具体可以参阅表1所示。表1中同一行的3个数据对应同一个数据对象
表1
Figure 608319DEST_PATH_IMAGE001
类似的,第一服务器可以利用共享秘钥加密各个第一属性数据(可以记为x_i),得到加密后的第一属性数据(可以记为E_{3,i})。其中,上述i具体可以表示为第一属性数据的数据编号,上述数据编号又对应于一个数据对象,每一个第一属性数据对应于一个数据对象。
具体的,例如,第一服务器可以按照以下算式加密各个数据对象的第一属性数据:E_{3,i}=E(PK,x_i),得到加密后的第一属性数据的集合,可以记为:[E_{3,1},……E_{3,i},……E_{3,N}]。其中,上述N具体可以表示为第一属性数据的总数。
在一些实施例中,第二服务器可以将上述加密后的第二特征数据,以及加密后的第二属性数据发送至第一服务器。
S202:第一服务器接收所述加密后的第二特征数据和所述加密后的第二属性数据;合并加密后的第一属性数据和所述加密后的第二属性数据,得到合并后的属性数据的密文数据;并根据第一特征数据、所述加密后的第二特征数据,以及所述合并后的属性数据的密文数据,构建多个乱序后的数据组;其中,所述加密后的第一属性数据为第一服务器利用共享秘钥加密第一属性数据所得到的密文数据。
在一些实施例中,第一服务器可以接收到第二服务器发送的加密后的第二特征数据,以及加密后的第二属性数据。这时,第一服务器虽然知道加密后的第二特征数据,以及加密后的第二属性数据所对应的数据对象,但是由于加密后的第二特征数据需要使用第二私钥才能解密,加密后的第二属性数据又需要分别使用第一私钥和第二私钥才能解密,因此,第一服务器无法知道数据对象的第二特征数据,以及第二属性数据的具体数值。
在一些实施例中,第一服务器可以将对应同一个数据对象的加密后的第一属性数据和加密后的第二属性数据进行合并,得到该数据对象的合并后的属性数据的密文数据。
由于上述加密后的第一属性数据和加密后的第二属性数据都是使用基于同态加密算法得到的共享秘钥加密得到的密文数据。因此,第一服务器可以在加密的状态下,合并上述两个加密后的属性数据。
在一些实施例中,参阅图4所示,具体实施时,第一服务器可以根据加密后的第一属性数据和加密后的第二属性数据的数据编号,找到属于同一个数据对象的加密后的第一属性数据和加密后的第二属性数据的数据;并将同一个数据对象的加密后的第一属性数据和加密后的第二属性数据的数据进行合并,得到该数据对象的合并后的属性数据的密文数据。
例如,可以按照以下算式合并同一个数据对象的加密后的第一属性数据和加密后的第二属性数据的数据:E_i=E_{3,i}+E_{2,i}。其中,上述E_i具体可以表示为与数据编号i对应的数据对象的合并后的属性数据的密文数据。
在一些实施例,参阅图4所示,第一服务器可以先将属于相同数据对象的第一特征数据、加密后的第二特征数据,以及合并后的属性数据的密文数据划分为对应同一个数据对象的第一数据组中,还可以在该数据组中添加所对应的数据编号,从而可以构建得到分别对应多个数据对象的多个第一数据组。具体可以参阅表2所示。表中同一行的3个数据构成对应于一个数据对象的一个第一数据组。
例如,与数据编号i对应的某个数据对象的第一数据组可以表示为(i,a_i,E_{1,i},E_i)。其中,i为所对应的数据编号,a_i为与数据编号i对应的第一特征数据,E_{1,i}为与数据编号i对应的加密后的第二特征数据;E_i为与数据编号i对应的合并后的属性数据的密文数据。
表2
Figure 953849DEST_PATH_IMAGE002
进一步,可以对上述多个第一数据组进行乱序处理(例如,可以记为shuffle(.)),得到多个乱序后的数据组。通过上述乱序处理后,无法再确定出乱序后的数据组与数据对象之间的对应关系。例如,后续第二服务器在得到多个乱序后的数据组后,是无法知晓每一个乱序后的数据组具体是哪一个数据对象的数据组的。
在一些实施例中,具体进行乱序处理时,第一服务器可以使用新生成的数据编号,随机替换掉第一数据组中原本使用的数据编号,从而得到乱序后的数据组。
例如,第一数据组(i,a_i,E_{1,i},E_i)中原本使用的数据编号为i,第一服务器可以使用随机选中的新生成的数据编号w_i进行替换,得到了乱序后的数据组,表示为:(w_i,a_w_i,E_{1,w_i},E_w_i)。
当然,上述所列举的乱序处理方式只是一种示意性说明。具体实施时,根据具体情况还可以采用其他合适的乱序处理方式来对多个第一数据组进行乱序处理,得到乱序后的数据组。对此,本说明书不作限定。
在本实施例中,上述乱序后的数据组中的第一特征数据可以是明文数据。但由于该第一特征数据是乱序后的数据组中的第一特征数据,即使第二服务器或者其他地方服务器知道了乱序后的数据组中第一特征数据的具体数值,但也无法知道该第一特征数据具体是哪个数据对象的第一特征数据。
第一服务器在按照上述方式得到多个乱序后的数据组后,可以将上述多个乱序后的数据组发送给第二服务器。
S203:第二服务器将所接收的所述多个乱序后的数据组划分为多个类型组,并对各个类型组中合并后的属性数据的密文数据进行处理,得到多个类型组的属性数据统计结果的第一密文数据;利用第二私钥对所述多个类型组的属性数据统计结果的密文数据进行解密处理,得到多个类型组的属性数据统计结果的第二密文数据。
在一些实施例中,参阅图5所示,第二服务器可以先使用第二私钥解密各个乱序后的数据组中加密后的第二特征数据,得到各个乱序后的数据组中的第二特征数据。
进一步,参阅图5所示,第二服务器可以获取并根据各个乱序后的数据组中的第一特征数据和第二特征数据的数据值组合,将多个乱序后的数据组划分成多个类型组。其中,每一个类型组对应一种第一特征数据和第二特征数据的数据值组合,每一个类型组中可以包括有一个或多个乱序后的数据组。
例如,第一特征数据为职业数据,数据值包括:工人,老师和司机。第二特征数据为学历数据,数据值包括:大专,本科。第二服务器可以根据乱序后的数据组中的第一特征数据和第二特征数据的数据值将多个乱序后的数据组划分为以下6个类型组:第一类型组(职业为工人,学历为大专)、第二类型组(职业为工人,学历为本科)、第三类型组(职业为老师,学历为大专)、第四类型组(职业为老师,学历为本科)、第五类型组(职业为司机,学历为大专)和第六类型组(职业为司机,学历为本科)。其中,每一个类型组中可以包括一个或多个乱序后的数据组。且在同一个类型组的不同乱序后的数据组中第一特征数据相同,第二特征数据也相同。
例如,第一类型组中包含有两个乱序后的数据组,记为数据组1和数据组2。其中,数据组1和数据组2中的第一特征数据都为工人,数据组1和数据组2中的第二特征数据都为大专。
在一些实施例中,参阅图5所示,第二服务器可以进一步获取各个类型组中的乱序后的数据组中的合并后的属性数据的密文数据,再对各个类型组中的合并后的属性数据的密文数据进行相应的统计处理,得到各个类型组的属性数据统计结果的第一密文数据。
具体的,以确定当前类型组的属性数据统计结果的第一密文数据为例,可以获取当前类型组中乱序后的数据组中的合并后的属性数据的密文数据。由于上述密文数据是利用基于同态加密得到的共享秘钥加密后的密文数据。因此,根据具体的场景需求,可以对当前类型组中的合并后的属性数据的密文数据进行例如同态求和等统计处理,得到当前类型组的属性数据统计结果的第一密文数据。
例如,当前类型组为第一类型组,第一类型组中包含有乱序后的数据组1和数据组2。可以先获取数据组1中的合并后的属性数据的密文数据(可以记为E_m1),以及数据组2中的合并后的属性数据的密文数据(可以记为E_m2)。再对上述E_m1和E_m2进行同态求和,得到结果Sum(1),作为第一类型组的属性数据统计结果的第一密文数据(可以简记为第一密文数据)。其中,括号里的1可以用于指示第一类型组。
按照上述方式可以依次得到各个类型组的属性数据统计结果的第一密文数据,从而可以得到多个类型组的属性数据统计结果的第一密文数据。
在一些实施例中,参阅图5所示,进一步,第二服务器可以使用所拥有的第二私钥对上述多个第一密文数据进行第一次解密处理,得到解密后的数据,作为各个类型组的属性数据统计结果的第二密文数据(可以简记为第二密文数据)。
由于第二服务器只拥有第二私钥,没有第一私钥,因此第二服务器无法对上述第二密文数据进行进一步解密,也就无法得到各个类型组的属性数据统计结果的明文数据。
第二服务器可以将上述各个类型组的属性数据统计结果的第二密文数据发送给第一服务器。其中,第二服务器所发送的各个类型组的属性数据统计结果的第二密文数据还可以携带有所对应类型组的标识信息。
S204:第一服务器接收并根据所述第二密文数据,确定出多个类型组的属性数据统计结果的明文数据。
在一些实施例中,由于上述类型组的属性数据统计结果的第二密文数据是经过第二私钥进行第一次解密后得到的密文数据。因此,第一服务器可以使用自己所拥有的第一私钥对上述各个类型组的属性数据统计结果的第二密文数据进行第二次解密,得到对应的各个类型组的属性数据统计结果的明文数据。
例如,第一服务器使用第一私钥解密第一类型组的属性数据统计结果的第二密文数据,得到对应的属性数据统计结果的明文数据为5000元。同时,第一服务器还可以根据该类型组的属性数据统计结果的第二密文数据所携带的标识信息,确定出该类型组为第一类型组,即所对应的类型为职业为工人,学历为大专。从而可以确定出职业为工人且学历为大专的用户对象的月收入数据的中位数为5000元这一统计结果。但是,上述数据处理过程中第一服务器无法知晓各个用户对象的具体的学历和月理财收益数据。同样,第二服务器也无法知晓各个用户对象的具体职业和月工资数据。从而避免了向对方泄露己方所拥有的用户对象的具体数据,提高数据处理的安全性,保护了参与数据处理的数据方的数据隐私。
在一些实施例中,第一服务器在得到多个类型组的属性数据统计结果的明文数据后,还可以结合具体的应用场景,利用上述多个类型组的属性数据统计结果的明文数据对不同类型的数据对象的具体情况进行精细划分;进而可以根据各种类型数据对象的属性数据统计结果,有区分地进行与不同类型的数据数据对象相关的数据处理。
例如,可以根据多个类型组的属性数据统计结果的明文数据,确定出不同职业和学历的用户对象的月收入情况;进而可以根据月收入情况确定与不同职业和学历的用户对象相匹配的商品;并对不同职业和学历的用户对象进行区分,有针对性地推广相匹配的商品,以提高商品的推广效果。
在本说明书实施例中,基于上述数据处理方法,第一服务器、第二服务器可以先分别使用基于预设的同态加密算法得到的共享秘钥将双方各自拥有数据对象的第一属性数据、第二属性数据分别进行加密处理得到加密后的第一属性数据、加密后的第二属性数据,同时第二服务器还使用第二公钥加密第二特征数据,得到加密后的第二特征数据;由第一服务器合并加密后的第一属性数据和加密后的第二属性数据,得到合并后的属性数据的密文数据,并构建得到多个乱序后的数据组;第二服务器再根据上述乱序后的数据组中的第一特征数据和第二特征数据,在无法知道数据组所对应的数据对象的情况下,进行联合分组,将多个乱序后的数据组划分为多个类型组,并对各个类型组中合并后的属性数据的密文数据进行联合统计,得到各个类型组的第一密文数据,再使用第二私钥解密所述第一密文数据得到第二密文数据;第一服务器获取并根据上述第二密文数据,得到多个类型组的属性数据统计结果的明文数据,完成上述数据处理,从而可以在需要利用双方所分别拥有的数据对象的特征数据进行联合分组,并对分组后的数据对象的合并后的属性数据进行联合统计的数据处理场景中,避免向对方泄露己方所拥有的数据对象的具体数据,提高了数据处理的安全性,保护了参与数据处理的数据方的数据隐私。
本说明书实施例还提供了一种数据处理方法。该方法应用于第一服务器一侧。参阅图6所示,该方法具体实施时,可以包括以下内容。
S601:接收加密后的第二特征数据和加密后的第二属性数据;其中,所述加密后的第二特征数据为第二服务器利用第二公钥加密第二特征数据所得到的密文数据,所述加密后的第二属性数据为第二服务器利用共享秘钥加密第二属性数据所得到的密文数据。
S602:合并加密后的第一属性数据和所述加密后的第二属性数据,得到合并后的属性数据的密文数据;并根据第一特征数据、所述加密后的第二特征数据,以及所述合并后的属性数据的密文数据,构建多个乱序后的数据组;其中,所述加密后的第一属性数据为第一服务器利用共享秘钥加密第一属性数据所得到的密文数据。
S603:将所述多个乱序后的数据组发送至第二服务器;其中,所述第二服务器用于将所述多个乱序后的数据组划分为多个类型组,并对各个类型组中合并后的属性数据的密文数据进行处理,得到多个类型组的属性数据统计结果的第一密文数据;所述第二服务器还用于利用第二私钥对所述第一密文数据进行解密处理,得到第二密文数据。
S604:接收并根据所述第二密文数据,确定出多个类型组的属性数据统计结果的明文数据。
在一些实施例中,在接收加密后的第二特征数据和加密后的第二属性数据之前,所述方法具体实施时,还可以包括:生成第一私钥和第一公钥,并向所述第二服务器发送第一公钥;其中,所述第二服务器生成第二私钥和第二公钥;接收来自第二服务器的第二公钥;根据预设的同态加密算法,利用所述第一私钥和所述第二公钥,生成共享秘钥。
在一些实施例中,所述根据第一特征数据、所述加密后的第二特征数据,以及所述合并后的属性数据的密文数据,构建多个乱序后的数据组,具体实施时,可以包括以下内容:根据所述第一特征数据、所述加密后的第二特征数据,以及所述合并后的属性数据的密文数据,构建多个第一数据组;其中,所述第一数据组中包含有对应同一个数据对象的第一特征数据、加密后的第二特征数据,以及合并后的属性数据的密文数据;对所述多个第一数据组进行乱序处理,得到多个乱序后的数据组。
进一步,第一服务器可以将上述多个乱序后的数据组发送给第二服务器。但是,第二服务器基于上述乱序后的数据组,无法找到数据组所对应的数据对象,从而可以保护数据对象的具体数据。
在一些实施例中,在对第一特征数据的数据保护更加严格的场景中,还会要求第二服务器无法知晓第一特征数据的具体数据值。这时可以对数据组中的第一特征数据进行脱敏处理。
在一些实施例中,为能够更好地保护第一数据方所拥有的第一特征数据,在得到多个乱序后的数据组之后,所述方法具体实施时,还可以包括以下内容:建立第一特征数据的数据值和第一标识信息的对应关系;根据所述第一特征数据的数据值和第一标识信息的对应关系,将乱序后的数据组中的第一特征数据的数据值替换为对应的第一标识信息。
在一些实施例中,第一服务器可以先统计所拥有的第一特征数据的数据值,例如包括:工人、老师和司机这3种数据值。进一步,可以设置相应的第一标识信息,并建立第一特征数据的数据值和第一标识信息的对应关系。例如工人对应编号1,老师对应编号2,司机对应编号3。
进而可以根据上述第一特征数据和第一标识信息的对应关系,将乱序后的数据组中的第一特征数据的真实数据值替换成所对应的第一标识信息,从而可以隐藏乱序后的数据组中第一特征数据的数据值。例如,原本乱序后的数据组i表示为(w_i,a_w_i,E_{1,w_i},E_w_i),其中,第一特征数据a_w_i的数据值为老师,这时可以根据对应关系将第一特征数据的数据值替换成与该数据值老师对应的编号2。即可以将乱序后的数据组i修改为(w_i,I,E_{1,w_i},E_w_i)。其中,I为第一标识信息,在该数据组中I的取值可以为2。
这样处理后,第二服务器无法根据乱序后的数据组知晓第一特征数据的具体数据值。但是第二服务器还是可以根据上述与第二特征数据的数据值对应的第一标识信息,与第二特征数据的数据值进行组合,将乱序后的数据组划分成多个类型组。其中,每一个类型组分别对应一个第一标识信息和一个第二特征数据的组合。即,上述脱敏处理在进一步保护第一数据方的数据隐私的同时,不会影响第二服务器的联合分组。
在一些实施例中,在对数据保护更加严格的场景中,为了避免后续第二服务器根据乱序后的数据组中第二特征数据的数据值反推出乱序后的数据组所对应的数据对象,第一服务器还可以对所接收到的加密后的第二特征数据进行随机化操作(也可以称为Rerandom处理),以使得第二服务器后续无法根据第二特征数据反推出乱序后的数据组所对应的数据对象。
在一些实施例中,在接收到加密后的第二特征数据和加密后的第二属性数据之后,所述方法具体实施时,还可以包括以下内容:利用所述第二公钥对所述加密后的第二特征数据进行随机化操作,以隐藏与所述加密后的第二特征数据相关的信息。
在一些实施例中,具体进行随机化操作时,第一服务器可以根据第二公钥生成一个数值意义为0的新密文,再将上述加密后的第二特征数据E_{1,i}分别与新密文相加,得到更新后的加密后的第二特征数据,记为E’_{1,i}。而上述更新后的加密后的第二特征数据不影响第二服务器后续划分类型组。
后续在构建乱序后的数据组时,第一服务器可以使用上述更新后的加密后的第二特征数据来替换原本的加密后的第二特征数据。相应的,乱序后的数据组可以表示为(i,a_i,E’_{1,i},E_ i)。其中,上述E’_{1,i}为更新后的加密后的第二特征数据。
在一些实施例中,上述根据所述第二密文数据,确定出多个类型组的属性数据统计结果的明文数据,具体实施时,可以包括以下内容:利用第一私钥对所述第二密文数据进行解密处理,得到多个类型组的属性数据统计结果的明文数据。
在一些实施例中,在对数据保护更加严格的场景中,为了防止第二服务器没有按照数据处理请求中的第一类标识信息使用准确的第二特征数据来参与联合分组,还要求第二服务器在所发送的加密后的第二特征数据中还要携带有范围证明文件。其中,所述范围证明文件具体可以是第二服务器根据所述第二特征数据的数据类型确定。
例如,数据处理请求中要求第二服务器使用学历数据作为第二特征数据,但是第二服务器出于某些目的,实际使用的是年龄数据作为第二特征数据进行加密,再将加密后的第二特征数据发送给第一服务器。由于第一服务器接收到的是加密后的第二特征数据,因此,通常情况下,第一服务器也无法鉴别所接收到的加密后的第二特征数据是否是所要求的加密后的学历数据。
而在本实施例中,第二服务器在加密第二特征数据的同时,还被要求根据第二特征数据的数据类型,按照预设的方式,生成对应的范围证明文件。并使得加密后的第二特征数据上携带有上述范围证明文件。
其中,上述预设的方式可以是基于EIGamal同态加密算法的方式,也可以是基于零知识证明的方式。
这样第一服务器接收到的是携带有范围证明文件的加密后的第二特征数据。
在一些实施例中,在接收到加密后的第二特征数据之后,所述方法具体实施时,还可以包括:获取所述范围证明文件;根据所述范围证明文件,检测所述加密后的第二特征数据是否符合预设要求。
在本实施例中,第一服务器可以根据范围证明文件,确定出加密后的第二特征数据是否为数据处理请求中所指示的数据类型,从而可以确定第二特征数据是否符合预设要求。如果根据范围证明文件,确定加密后的第二特征数据的数据类型与数据处理请求中所指示的数据类型不同,可以确定加密后的第二特征数据不符合预设要求,进而可以停止后续的数据处理,生成并向第二服务器发送错误提示信息。相反,如果根据范围证明文件,确定加密后的第二特征数据的数据类型与数据处理请求中所指示的数据类型相同,可以确定加密后的第二特征数据符合预设要求,进而可以继续后续的数据处理。
在一些实施例中,所述第一特征数据具体还可以包括多种特征数据的组合。在所述第一特征数据包括多种特征数据的组合的情况下,第一服务器可以先根据多种特征数据的组合,将数据对象划分成多个第一类型组。其中,每一个第一类型组对应一个特征数据的组合。进而可以将上述特征数据的组合整体作为一种第一特征数据,这样可以转换为只有一种特征数据的情况,从而按照本说明书提供的数据处理方法进行相应的数据处理。
在一些实施例中,上述第一特征数据具体可以包括用户的学历,上述第一属性数据具体可以包括基于第一服务器所采集的用户的第一类交易行为所生成的第一信用数据。相应的,上述第二特征数据具体可以包括用户的职业,上述第二属性数据具体可以包括基于第二服务器所采集的用户的第二类交易行为所生成的第二信用数据。
其中,上述第一服务器具体可以是布设于第一数据方一侧的服务器。上述第二服务器具体可以是布设于第二数据方一侧的服务器。
具体的,例如,在综合信用评价场景中,第一数据方可以是专卖服装的A购物网站。第二数据方可以是专卖鞋类的B购物网站。其中,第一数据方可以拥有例如用户的学历等第一特征数据。第二数据方可以拥有例如用户的职业等第二特征数据。且第一数据方可以基于用户在A购物网站上购买服装的第一类交易行为生成用户的第一信用数据(即第一属性数据)。第二数据方可以基于用户在B购物网站上购买鞋类的第二类交易行为生成用户的第二信用数据(即第二属性数据)。
当前,A购物网站和B购物网站计划合作,分别利用各自所拥有的特征数据和属性数据,通过联合分组和联合统计,以确定出不同学历和职业的用户的综合信用数据的平均值。同时,又要求数据处理过程要保护双方的数据隐私,不允许对方获取己方所拥有的用户的具体的特征数据和属性数据。
针对上述场景,可以采用本说明书实施例所提供的数据处理方法进行相应的数据处理。具体的,第一服务器可以构建出多个乱序后的数据组。其中,上述乱序后的数据组包含有一个用户的学历数据、加密后的职业数据,以及合并了第一信用数据和第二信用数据后得到的综合信用数据的密文数据。第一服务器将上述多个乱序后的数据组发送至第二服务器。
由于上述乱序后的数据组经过乱序处理后隐藏了数据组原本所对应的数据对象的信息,因此,第二服务器无法识别出乱序后的数据组原本对应的数据对象。
第二服务器可以根据乱序后的数据组中的职业数据和学历数据,将多个乱序后的数据组划分为多个类型组。其中,每一个类型组分别对应一种职业和学历的数据值组合。每一个类型组可以包含有一个或多个乱序后的数据组。进一步,第二服务器可以对各个类型组的乱序后的数据组中的综合信用数据的密文数据在加密的状态下进行统计处理,得到各个类型组的综合信用数据统计结果的第一密文数据;并使用己方所拥有的第二私钥进行第一次解密处理得到对应的第二密文数据。第二服务器将上述第二密文数据发送至第一服务器。
第一服务器可以使用己方所拥有的第一私钥进行第二次解密处理,得到各个类型组的综合信用数据统计结果的明文数据,从而可以确定出不同学历和职业的用户的综合信用数据的平均值。
当然,上述所列举的场景示例只是一种示意性说明。具体实施时,根据具体情况,还可以将本说明书实施例提供的数据处理方法应用于其他相关涉及数据隐私保护的应用场景中。对此,本说明书不作限定。
本说明书实施例还提供了一种数据处理方法。该方法具体可以应用于第二服务器。参阅图7所示,该方法具体实施时可以包括以下内容。
S701:利用第二公钥加密第二特征数据,得到加密后的第二特征数据;利用共享秘钥加密第二属性数据,得到加密后的第二属性数据。
S702:将所述加密后的第二特征数据和所述加密后的第二属性数据发送至第一服务器;其中,所述第一服务器用于合并加密后的第一属性数据和所述加密后的第二属性数据,得到合并后的属性数据的密文数据;并根据第一特征数据、所述加密后的第二特征数据,以及所述合并后的属性数据的密文数据,构建多个乱序后的数据组。
S703:将所接收的所述多个乱序后的数据组划分为多个类型组,并对各个类型组中合并后的属性数据的密文数据进行处理,得到多个类型组的属性数据统计结果的第一密文数据;
S704:利用第二私钥对所述第一密文数据进行解密处理,得到多个类型组的属性数据统计结果的第二密文数据。
S705:向第一服务器发送所述第二密文数据;其中,所述第一服务器用于根据所述第二密文数据,确定出多个类型组的属性数据统计结果的明文数据。
在一些实施例中,在利用第二公钥加密第二特征数据,得到加密后的第二特征数据;利用共享秘钥加密第二属性数据,得到加密后的第二属性数据之前,所述方法具体实施时,还可以包括以下内容:生成第二私钥和第二公钥,并向所述第一服务器发送第二公钥;其中,所述第一服务器生成第一私钥和第一公钥;接收来自第一服务器的第一公钥;根据预设的同态加密算法,利用所述第二私钥和所述第一公钥,生成共享秘钥。
在一些实施例中,所述乱序后的数据组具体可以包括第一特征数据,或与第一特征数据的数据值对应的第一标识信息。
在一些实施例中,所述将所接收的所述多个乱序后的数据组划分为多个类型组,具体实施时,可以包括以下内容:利用第二私钥解密所述多个乱序后的数据组中的加密后的第二特征数据,得到乱序后的数据组中的第二特征数据;根据所述乱序后的数据组中的第二特征数据,以及乱序后的数据组中的第一特征数据或第一标识信息,将所述多个乱序后的数据组划分为多个类型组。
在本实施例中,在所述乱序后的数据组只包含有第一标识信息,而不包含第一特征数据的数据值的情况下,第二服务器可以根据第一标识信息与第二特征数据的数据值的组合来划分类型组,而不需要使用到第一特征数据的数据值,从而可以进一步保护第一数据方的所拥有的第一特征数据的数据安全。
在一些实施例中,上述对各个类型组中合并后的属性数据的密文数据进行处理,得到多个类型组的属性数据统计结果的第一密文数据,具体实施时,可以包括以下内容:按照以下方式计算当前类型组的属性数据统计结果的第一密文数据:获取当前类型组中乱序后的数据组中的合并后的属性数据的密文数据;对当前类型组中乱序后的数据组中的合并后的属性数据的密文数据进行同态求和,以得到当前类型组的属性数据统计结果的第一密文数据。
需要说明的是,上述所列举的同态求和只是一种示意性说明。具体实施时,根据具体情况和处理需求,结合同态加密后的密文数据的特性,还可以使用其他合适的处理方式,对当前类型组中乱序后的数据组中的合并后的属性数据的密文数据进行相应的统计处理。
在一些实施例中,在利用第二私钥对所述第一密文数据进行解密处理,得到多个类型组的属性数据统计结果的第二密文数据之后,所述方法具体实施时,还可以包括以下内容:利用所述第一公钥对所述第二密文数据进行随机化操作(也可以称为Rerandom处理),以隐藏与所述第二密文数据相关的信息。
通过上述随机化操作可以隐藏第二密文数据中与原本乱序后的数据组中的合并后的属性数据的密文数据相关的数据信息,从而可以避免后续第一服务器根据第二密文数据,结合所拥有的乱序后的数据组中的合并后的属性数据的密文数据,反推出各个类型组中的数据组所对应的类型对象,保护第二数据方的数据安全。
在一些实施例中,在利用第二公钥加密第二特征数据,得到加密后的第二特征数据,所述方法具体实施时,还可以包括以下内容:根据第二特征数据的数据类型,生成范围证明文件;并使得所述加密后的第二特征数据上携带有所述范围证明文件。
在一些实施例中,在第二服务器在根据所述乱序后的数据组中的第二特征数据,以及乱序后的数据组中的第一特征数据或第一标识信息,将所述多个乱序后的数据组划分为多个类型组后,所述方法具体实施时,还可以包括以下内容:根据第二密文数据所对应的类型组,在反馈给第一服务器的第二密文数据上标识出所对应的第二特征数据的数据值,以及所对应第一特征数据的数据值或第一标识信息。
这样可以使得第一服务器能够知晓划分出的各个类型组所对应的第一特征数据和第二特征数据的数据值组合。
在一些实施例中,所述第二服务器在将所述多个乱序后的数据组划分为多个类型组后,所述方法具体实施时,还可以包括以下内容:统计出各个类型组中所包含的乱序后的数据组的数量;将各个类型组中所包含的乱序后的数据组的数量反馈给第一服务器。
这样虽然第一服务器仍然无法知道各个类型组所包含的具体数据对象,但可以根据上述各个类型组中所包含的乱序后的数据组的数量,了解到各个类型组所包含的数据对象的数量,从而可以更好地进行与数据对象相关的数据处理。
由上可见,基于本说明书实施例提供的数据处理方法,第一服务器和第二服务器可以合作,在不向对方或第三方泄露己方所拥有的数据对象具体的属性数据和特征数据的前提下,根据双方各自拥有的数据对象的第一特征数据、第二特征数据进行联合分组;并合并双方所各自拥有的数据对象的第一属性数据、第二属性数据,得到数据对象合并后的属性数据,再对分组中的合并后的属性数据进行联合统计,得到各个分组的属性数据统计结果,完成相关的数据处理,从而可以在上述数据处理场景中,避免向对方泄露己方所拥有的数据对象的具体数据,提高数据处理的安全性,保护数据方的数据隐私。还通过在接收加密后的第二特征数据和加密后的第二属性数据之后,利用第二公钥对加密后的第二特征数据进行随机化操作,以隐藏与加密后的第二特征数据相关的信息,避免后续第二服务器可以根据乱序后的数据组中加密后的第二特征数据反推出所对应的数据对象,从而可以降低数据处理过程中数据对象的具体数据遭到泄露的风险,有效保护数据方的数据隐私。还通过在利用第二私钥对所述第一密文数据进行解密处理,得到多个类型组的属性数据统计结果的第二密文数据之后,利用第一公钥对第二密文数据进行随机化操作,以隐藏与第二密文数据相关的信息,避免后续第一服务器可以根据第二密文数据,结合自己之前所处理的合并后的属性数据的密文数据反推出所对应的数据对象,从而可以进一步降低数据处理过程中数据对象的具体数据遭到泄露的风险,进一步保护数据方的数据隐私。
本说明书实施例还提供一种服务器,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器具体实施时可以根据指令执行以下步骤:接收加密后的第二特征数据和加密后的第二属性数据;其中,所述加密后的第二特征数据为第二服务器利用第二公钥加密第二特征数据所得到的密文数据,所述加密后的第二属性数据为第二服务器利用共享秘钥加密第二属性数据所得到的密文数据;合并加密后的第一属性数据和所述加密后的第二属性数据,得到合并后的属性数据的密文数据;并根据第一特征数据、所述加密后的第二特征数据,以及所述合并后的属性数据的密文数据,构建多个乱序后的数据组;其中,所述加密后的第一属性数据为第一服务器利用共享秘钥加密第一属性数据所得到的密文数据;将所述多个乱序后的数据组发送至第二服务器;其中,所述第二服务器用于将所述多个乱序后的数据组划分为多个类型组,并对各个类型组中合并后的属性数据的密文数据进行处理,得到多个类型组的属性数据统计结果的第一密文数据;所述第二服务器还用于利用第二私钥对所述第一密文数据进行解密处理,得到第二密文数据;接收并根据所述第二密文数据,确定出多个类型组的属性数据统计结果的明文数据。
为了能够更加准确地完成上述指令,参阅图8所示,本说明书实施例还提供了另一种具体的服务器,其中,所述服务器包括网络通信端口801、处理器802以及存储器803,上述结构通过内部线缆相连,以便各个结构可以进行具体的数据交互。
其中,所述网络通信端口801,具体可以用于接收加密后的第二特征数据和加密后的第二属性数据;其中,所述加密后的第二特征数据为第二服务器利用第二公钥加密第二特征数据所得到的密文数据,所述加密后的第二属性数据为第二服务器利用共享秘钥加密第二属性数据所得到的密文数据。
所述处理器802,具体可以用于合并加密后的第一属性数据和所述加密后的第二属性数据,得到合并后的属性数据的密文数据;并根据第一特征数据、所述加密后的第二特征数据,以及所述合并后的属性数据的密文数据,构建多个乱序后的数据组;其中,所述加密后的第一属性数据为第一服务器利用共享秘钥加密第一属性数据所得到的密文数据;将所述多个乱序后的数据组发送至第二服务器;其中,所述第二服务器用于将所述多个乱序后的数据组划分为多个类型组,并对各个类型组中合并后的属性数据的密文数据进行处理,得到多个类型组的属性数据统计结果的第一密文数据;所述第二服务器还用于利用第二私钥对所述第一密文数据进行解密处理,得到第二密文数据;接收并根据所述第二密文数据,确定出多个类型组的属性数据统计结果的明文数据。
所述存储器803,具体可以用于存储相应的指令程序。
在本实施例中,所述网络通信端口801可以是与不同的通信协议进行绑定,从而可以发送或接收不同数据的虚拟端口。例如,所述网络通信端口可以是负责进行web数据通信的端口,也可以是负责进行FTP数据通信的端口,还可以是负责进行邮件数据通信的端口。此外,所述网络通信端口还可以是实体的通信接口或者通信芯片。例如,其可以为无线移动网络通信芯片,如GSM、CDMA等;其还可以为Wifi芯片;其还可以为蓝牙芯片。
在本实施例中,所述处理器802可以按任何适当的方式实现。例如,处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式等等。本说明书并不作限定。
在本实施例中,所述存储器803可以包括多个层次,在数字系统中,只要能保存二进制数据的都可以是存储器;在集成电路中,一个没有实物形式的具有存储功能的电路也叫存储器,如RAM、FIFO等;在系统中,具有实物形式的存储设备也叫存储器,如内存条、TF卡等。
本说明书实施例还提供了一种基于上述数据处理方法的计算机存储介质,所述计算机存储介质存储有计算机程序指令,在所述计算机程序指令被执行时实现:接收加密后的第二特征数据和加密后的第二属性数据;其中,所述加密后的第二特征数据为第二服务器利用第二公钥加密第二特征数据所得到的密文数据,所述加密后的第二属性数据为第二服务器利用共享秘钥加密第二属性数据所得到的密文数据;合并加密后的第一属性数据和所述加密后的第二属性数据,得到合并后的属性数据的密文数据;并根据第一特征数据、所述加密后的第二特征数据,以及所述合并后的属性数据的密文数据,构建多个乱序后的数据组;其中,所述加密后的第一属性数据为第一服务器利用共享秘钥加密第一属性数据所得到的密文数据;将所述多个乱序后的数据组发送至第二服务器;其中,所述第二服务器用于将所述多个乱序后的数据组划分为多个类型组,并对各个类型组中合并后的属性数据的密文数据进行处理,得到多个类型组的属性数据统计结果的第一密文数据;所述第二服务器还用于利用第二私钥对所述第一密文数据进行解密处理,得到第二密文数据;接收并根据所述第二密文数据,确定出多个类型组的属性数据统计结果的明文数据。
在本实施例中,上述存储介质包括但不限于随机存取存储器(Random AccessMemory, RAM)、只读存储器(Read-Only Memory, ROM)、缓存(Cache)、硬盘(Hard DiskDrive, HDD)或者存储卡(Memory Card)。所述存储器可以用于存储计算机程序指令。网络通信单元可以是依照通信协议规定的标准设置的,用于进行网络连接通信的接口。
在本实施例中,该计算机存储介质存储的程序指令具体实现的功能和效果,可以与其它实施方式对照解释,在此不再赘述。
参阅图9所示,在软件层面上,本说明书实施例还提供了一种数据处理装置,该装置具体可以包括以下的结构模块。
接收模块901,具体可以用于接收加密后的第二特征数据和加密后的第二属性数据;其中,所述加密后的第二特征数据为第二服务器利用第二公钥加密第二特征数据所得到的密文数据,所述加密后的第二属性数据为第二服务器利用共享秘钥加密第二属性数据所得到的密文数据;
合并模块902,具体可以用于合并加密后的第一属性数据和所述加密后的第二属性数据,得到合并后的属性数据的密文数据;并根据第一特征数据、所述加密后的第二特征数据,以及所述合并后的属性数据的密文数据,构建多个乱序后的数据组;其中,所述加密后的第一属性数据为第一服务器利用共享秘钥加密第一属性数据所得到的密文数据;
第一发送模块903,具体可以用于将所述多个乱序后的数据组发送至第二服务器;其中,所述第二服务器用于将所述多个乱序后的数据组划分为多个类型组,并对各个类型组中合并后的属性数据的密文数据进行处理,得到多个类型组的属性数据统计结果的第一密文数据;所述第二服务器还用于利用第二私钥对所述第一密文数据进行解密处理,得到第二密文数据;
确定模块904,具体可以用于接收并根据所述第二密文数据,确定出多个类型组的属性数据统计结果的明文数据。
参阅图10所示,本说明书实施例还提供了另一种数据处理装置,具体可以包括以下结构模块。
加密模块1001,具体可以用于利用第二公钥加密第二特征数据,得到加密后的第二特征数据;利用共享秘钥加密第二属性数据,得到加密后的第二属性数据;
第二发送模块1002,具体可以用于将所述加密后的第二特征数据和所述加密后的第二属性数据发送至第一服务器;其中,所述第一服务器用于合并加密后的第一属性数据和所述加密后的第二属性数据,得到合并后的属性数据的密文数据;并根据第一特征数据、所述加密后的第二特征数据,以及所述合并后的属性数据的密文数据,构建多个乱序后的数据组;
划分模块1003,具体可以用于将所接收的所述多个乱序后的数据组划分为多个类型组,并对各个类型组中合并后的属性数据的密文数据进行处理,得到多个类型组的属性数据统计结果的第一密文数据;
解密模块1004,具体可以用于利用第二私钥对所述第一密文数据进行解密处理,得到多个类型组的属性数据统计结果的第二密文数据;
第三发送模块1005,具体可以用于向第一服务器发送所述第二密文数据;其中,所述第一服务器用于根据所述第二密文数据,确定出多个类型组的属性数据统计结果的明文数据。
需要说明的是,上述实施例阐明的单元、装置或模块等,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块或子单元的组合实现等。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
由上可见,本说明书实施例提供的数据处理装置,基于该装置可以在需要利用双方所分别拥有的数据对象的特征数据进行联合分组,并对分组后的数据对象的合并后的属性数据进行联合统计的数据处理场景中,避免向对方泄露己方所拥有的数据对象的具体数据,提高了数据处理的安全性,保护了参与数据处理的数据方的数据隐私。
虽然本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至为分布式数据处理环境)。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内部包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
本说明书可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构、类等等。也可以在分布式计算环境中实践本说明书,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
通过以上的实施例的描述可知,本领域的技术人员可以清楚地了解到本说明书可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书的技术方案本质上可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,移动终端,服务器,或者网络设备等)执行本说明书各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例采用递进的方式描述,各个实施例之间相同或相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。本说明书可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
虽然通过实施例描绘了本说明书,本领域普通技术人员知道,本说明书有许多变形和变化而不脱离本说明书的精神,希望所附的权利要求包括这些变形和变化而不脱离本说明书的精神。

Claims (21)

1.一种数据处理方法,应用于第一服务器,包括:
接收加密后的第二特征数据和加密后的第二属性数据;其中,所述加密后的第二特征数据为第二服务器利用第二公钥加密第二特征数据所得到的密文数据,所述加密后的第二属性数据为第二服务器利用共享秘钥加密第二属性数据所得到的密文数据;
合并加密后的第一属性数据和所述加密后的第二属性数据,得到合并后的属性数据的密文数据;并根据第一特征数据、所述加密后的第二特征数据,以及所述合并后的属性数据的密文数据,构建多个乱序后的数据组;其中,所述加密后的第一属性数据为第一服务器利用共享秘钥加密第一属性数据所得到的密文数据;其中,所述第一特征数据和所述第二特征数据为不同的特征数据;
将所述多个乱序后的数据组发送至第二服务器;其中,所述第二服务器用于根据所述乱序后的数据组中的第二特征数据,以及乱序后的数据组中的第一特征数据将所述多个乱序后的数据组划分为多个类型组,并对各个类型组中合并后的属性数据的密文数据进行处理,得到多个类型组的属性数据统计结果的第一密文数据;所述第二服务器还用于利用第二私钥对所述第一密文数据进行解密处理,得到对应的第二密文数据;
接收并根据所述第二密文数据,确定出多个类型组的属性数据统计结果的明文数据。
2.根据权利要求1所述的方法,在接收加密后的第二特征数据和加密后的第二属性数据之前,所述方法还包括:
生成第一私钥和第一公钥,并向所述第二服务器发送第一公钥;其中,所述第二服务器生成第二私钥和第二公钥;
接收来自第二服务器的第二公钥;
根据预设的同态加密算法,利用所述第一私钥和所述第二公钥,生成共享秘钥。
3.根据权利要求1所述的方法,所述根据第一特征数据、所述加密后的第二特征数据,以及所述合并后的属性数据的密文数据,构建多个乱序后的数据组,包括:
根据所述第一特征数据、所述加密后的第二特征数据,以及所述合并后的属性数据的密文数据,构建多个第一数据组;其中,所述第一数据组中包含有对应同一个数据对象的第一特征数据、加密后的第二特征数据,以及合并后的属性数据的密文数据;
对所述多个第一数据组进行乱序处理,得到多个乱序后的数据组。
4.根据权利要求3所述的方法,在得到多个乱序后的数据组之后,所述方法还包括:
建立第一特征数据的数据值和第一标识信息的对应关系;
根据所述第一特征数据的数据值和第一标识信息的对应关系,将乱序后的数据组中的第一特征数据的数据值替换为对应的第一标识信息。
5.根据权利要求2所述的方法,在接收加密后的第二特征数据和加密后的第二属性数据之后,所述方法还包括:
利用所述第二公钥对所述加密后的第二特征数据进行随机化操作,以隐藏与所述加密后的第二特征数据相关的信息。
6.根据权利要求2所述的方法,根据所述第二密文数据,确定出多个类型组的属性数据统计结果的明文数据,包括:
利用第一私钥对所述第二密文数据进行解密处理,得到多个类型组的属性数据统计结果的明文数据。
7.根据权利要求1所述方法,所接收的加密后的第二特征数据还携带有范围证明文件,其中,所述范围证明文件根据所述第二特征数据的数据类型确定。
8.根据权利要求7所述的方法,在接收加密后的第二特征数据之后,所述方法还包括:
获取所述范围证明文件;
根据所述范围证明文件,检测所述加密后的第二特征数据是否符合预设要求。
9.根据权利要求1所述的方法,所述第一特征数据还包括多种特征数据的组合。
10.根据权利要求1所述的方法,第一特征数据包括用户的学历,第一属性数据包括基于第一服务器所采集的用户的第一类交易行为所生成的第一信用数据;第二特征数据包括用户的职业,第二属性数据包括基于第二服务器所采集的用户的第二类交易行为所生成的第二信用数据。
11.一种数据处理方法,应用于第二服务器,包括:
利用第二公钥加密第二特征数据,得到加密后的第二特征数据;利用共享秘钥加密第二属性数据,得到加密后的第二属性数据;
将所述加密后的第二特征数据和所述加密后的第二属性数据发送至第一服务器;其中,所述第一服务器用于合并加密后的第一属性数据和所述加密后的第二属性数据,得到合并后的属性数据的密文数据;并根据第一特征数据、所述加密后的第二特征数据,以及所述合并后的属性数据的密文数据,构建多个乱序后的数据组;其中,所述第一特征数据和所述第二特征数据为不同的特征数据;
根据所述乱序后的数据组中的第二特征数据,以及乱序后的数据组中的第一特征数据将所接收的多个乱序后的数据组划分为多个类型组,并对各个类型组中合并后的属性数据的密文数据进行处理,得到多个类型组的属性数据统计结果的第一密文数据;
利用第二私钥对所述第一密文数据进行解密处理,得到多个类型组的属性数据统计结果的第二密文数据;
向第一服务器发送所述第二密文数据;其中,所述第一服务器用于根据所述第二密文数据,确定出多个类型组的属性数据统计结果的明文数据。
12.根据权利要求11所述的方法,在利用第二公钥加密第二特征数据,得到加密后的第二特征数据;利用共享秘钥加密第二属性数据,得到加密后的第二属性数据之前,所述方法还包括:
生成第二私钥和第二公钥,并向所述第一服务器发送第二公钥;其中,所述第一服务器生成第一私钥和第一公钥;
接收来自第一服务器的第一公钥;
根据预设的同态加密算法,利用所述第二私钥和所述第一公钥,生成共享秘钥。
13.根据权利要求12所述的方法,所述乱序后的数据组包括第一特征数据,或与第一特征数据的数据值对应的第一标识信息。
14.根据权利要求13所述的方法,所述将所接收的所述多个乱序后的数据组划分为多个类型组,包括:
利用第二私钥解密所述多个乱序后的数据组中的加密后的第二特征数据,得到乱序后的数据组中的第二特征数据;
根据所述乱序后的数据组中的第二特征数据,以及乱序后的数据组中的第一特征数据或第一标识信息,将所述多个乱序后的数据组划分为多个类型组。
15.根据权利要求11所述的方法,对各个类型组中合并后的属性数据的密文数据进行处理,得到多个类型组的属性数据统计结果的第一密文数据,包括:按照以下方式计算当前类型组的属性数据统计结果的第一密文数据:
获取当前类型组中乱序后的数据组中的合并后的属性数据的密文数据;
对当前类型组中乱序后的数据组中的合并后的属性数据的密文数据进行同态求和,以得到当前类型组的属性数据统计结果的第一密文数据。
16.根据权利要求12所述的方法,在利用第二私钥对所述第一密文数据进行解密处理,得到多个类型组的属性数据统计结果的第二密文数据之后,所述方法还包括:
利用所述第一公钥对所述第二密文数据进行随机化操作,以隐藏与所述第二密文数据相关的信息。
17.根据权利要求11所述的方法,在利用第二公钥加密第二特征数据,得到加密后的第二特征数据之后,所述方法还包括:
根据第二特征数据的数据类型,生成范围证明文件;并使得所述加密后的第二特征数据上携带有所述范围证明文件。
18.一种数据处理方法,应用于包含有第一服务器和第二服务器的系统,包括:
第二服务器利用第二公钥加密第二特征数据,得到加密后的第二特征数据;利用共享秘钥加密第二属性数据,得到加密后的第二属性数据;
第一服务器接收所述加密后的第二特征数据和所述加密后的第二属性数据;合并加密后的第一属性数据和所述加密后的第二属性数据,得到合并后的属性数据的密文数据;并根据第一特征数据、所述加密后的第二特征数据,以及所述合并后的属性数据的密文数据,构建多个乱序后的数据组;其中,所述加密后的第一属性数据为第一服务器利用共享秘钥加密第一属性数据所得到的密文数据;其中,所述第一特征数据和所述第二特征数据为不同的特征数据;
第二服务器根据所述乱序后的数据组中的第二特征数据和的第一特征数据将所接收的所述多个乱序后的数据组划分为多个类型组,并对各个类型组中合并后的属性数据的密文数据进行处理,得到多个类型组的属性数据统计结果的第一密文数据;利用第二私钥对所述多个类型组的属性数据统计结果的密文数据进行解密处理,得到多个类型组的属性数据统计结果的第二密文数据;
第一服务器接收并根据所述第二密文数据,确定出多个类型组的属性数据统计结果的明文数据。
19.一种数据处理装置,包括:
接收模块,用于接收加密后的第二特征数据和加密后的第二属性数据;其中,所述加密后的第二特征数据为第二服务器利用第二公钥加密第二特征数据所得到的密文数据,所述加密后的第二属性数据为第二服务器利用共享秘钥加密第二属性数据所得到的密文数据;
合并模块,用于合并加密后的第一属性数据和所述加密后的第二属性数据,得到合并后的属性数据的密文数据;并根据第一特征数据、所述加密后的第二特征数据,以及所述合并后的属性数据的密文数据,构建多个乱序后的数据组;其中,所述加密后的第一属性数据为第一服务器利用共享秘钥加密第一属性数据所得到的密文数据;其中,所述第一特征数据和所述第二特征数据为不同的特征数据;
第一发送模块,用于将所述多个乱序后的数据组发送至第二服务器;其中,所述第二服务器用于根据所述乱序后的数据组中的第二特征数据和第一特征数据将所述多个乱序后的数据组划分为多个类型组,并对各个类型组中合并后的属性数据的密文数据进行处理,得到多个类型组的属性数据统计结果的第一密文数据;所述第二服务器还用于利用第二私钥对所述第一密文数据进行解密处理,得到第二密文数据;
确定模块,用于接收并根据所述第二密文数据,确定出多个类型组的属性数据统计结果的明文数据。
20.一种数据处理装置,包括:
加密模块,用于利用第二公钥加密第二特征数据,得到加密后的第二特征数据;利用共享秘钥加密第二属性数据,得到加密后的第二属性数据;
第二发送模块,用于将所述加密后的第二特征数据和所述加密后的第二属性数据发送至第一服务器;其中,所述第一服务器用于合并加密后的第一属性数据和所述加密后的第二属性数据,得到合并后的属性数据的密文数据;并根据第一特征数据、所述加密后的第二特征数据,以及所述合并后的属性数据的密文数据,构建多个乱序后的数据组;其中,所述第一特征数据和所述第二特征数据为不同的特征数据;
划分模块,用于根据所述乱序后的数据组中的第二特征数据和第一特征数据将所接收的所述多个乱序后的数据组划分为多个类型组,并对各个类型组中合并后的属性数据的密文数据进行处理,得到多个类型组的属性数据统计结果的第一密文数据;
解密模块,用于利用第二私钥对所述第一密文数据进行解密处理,得到多个类型组的属性数据统计结果的第二密文数据;
第三发送模块,用于向第一服务器发送所述第二密文数据;其中,所述第一服务器用于根据所述第二密文数据,确定出多个类型组的属性数据统计结果的明文数据。
21.一种服务器,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现权利要求1至10,或11至17,或18中任一项所述方法的步骤。
CN202011019718.7A 2020-09-25 2020-09-25 数据处理方法、装置和服务器 Active CN111931221B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011019718.7A CN111931221B (zh) 2020-09-25 2020-09-25 数据处理方法、装置和服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011019718.7A CN111931221B (zh) 2020-09-25 2020-09-25 数据处理方法、装置和服务器

Publications (2)

Publication Number Publication Date
CN111931221A CN111931221A (zh) 2020-11-13
CN111931221B true CN111931221B (zh) 2021-01-01

Family

ID=73334698

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011019718.7A Active CN111931221B (zh) 2020-09-25 2020-09-25 数据处理方法、装置和服务器

Country Status (1)

Country Link
CN (1) CN111931221B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113037764B (zh) * 2021-03-19 2022-06-07 北京三快在线科技有限公司 一种业务执行的系统、方法及装置
CN115118448B (zh) * 2022-04-21 2023-09-01 腾讯科技(深圳)有限公司 数据处理方法、装置、设备及存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109726580B (zh) * 2017-10-31 2020-04-14 阿里巴巴集团控股有限公司 一种数据统计方法和装置
CN109525386B (zh) * 2018-11-29 2021-05-18 东北大学 一种基于Paillier同态加密私有交集和的方法
CN110535622A (zh) * 2019-08-01 2019-12-03 阿里巴巴集团控股有限公司 数据处理方法、装置和电子设备
CN110852374B (zh) * 2019-11-08 2023-05-02 腾讯云计算(北京)有限责任公司 数据检测方法、装置、电子设备以及存储介质

Also Published As

Publication number Publication date
CN111931221A (zh) 2020-11-13

Similar Documents

Publication Publication Date Title
WO2021114927A1 (zh) 保护隐私安全的多方联合进行特征评估的方法及装置
CN109544331B (zh) 基于区块链的供应链金融应用方法、装置、终端设备及存储介质
CN110086817B (zh) 可靠的用户服务系统和方法
CN109905360B (zh) 数据验证方法及终端设备
CN112100679B (zh) 基于隐私保护的数据处理方法、装置和服务器
CN111931221B (zh) 数据处理方法、装置和服务器
US11379616B2 (en) System and method for providing anonymous validation of a query among a plurality of nodes in a network
CN114175028B (zh) 密码假名映射方法、计算机系统、计算机程序和计算机可读介质
CN114329527A (zh) 交集数据获取方法、设备和系统
CN109615021A (zh) 一种基于k均值聚类的隐私信息保护方法
CN116488789B (zh) 一种数据处理方法、装置、设备和介质
CN112800479B (zh) 利用可信第三方的多方联合数据处理方法及装置
CN111291122B (zh) 基于区块链的竞标方法及装置
CN115242371A (zh) 差分隐私保护的集合交集及其基数计算方法、装置及系统
CN111490995A (zh) 保护隐私的模型训练方法和装置、数据处理方法、服务器
CN112069525A (zh) 基于信息的属性生成密钥的加密方法、装置及设备
WO2020233038A1 (zh) 基于同态加密的黑名单云共享验证的方法和相关装置
CN112597525B (zh) 基于隐私保护的数据处理方法、装置和服务器
CN114144783B (zh) 密码假名映射方法、计算机系统、计算机程序和计算机可读介质
CN112165383B (zh) 基于共享根密钥的加密方法、装置、设备及介质
CN101984629B (zh) 协作式识别基于Web服务中泄露用户隐私信息站点的方法
CN113254989B (zh) 目标数据的融合方法、装置和服务器
CN102833239B (zh) 基于网络身份标识实现客户端账户信息嵌套保护的方法
CN114742649A (zh) 交易数据处理方法、装置和服务器
CN113965310A (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
TR01 Transfer of patent right

Effective date of registration: 20240923

Address after: Room 302, 3rd Floor, Building 1, Yard 1, Danling Street, Haidian District, Beijing, 100080

Patentee after: Sasi Digital Technology (Beijing) Co.,Ltd.

Country or region after: China

Address before: 310000 801-11 section B, 8th floor, 556 Xixi Road, Xihu District, Hangzhou City, Zhejiang Province

Patentee before: Alipay (Hangzhou) Information Technology Co.,Ltd.

Country or region before: China