CN112887297A - 保护隐私的差异数据确定方法、装置、设备及系统 - Google Patents

保护隐私的差异数据确定方法、装置、设备及系统 Download PDF

Info

Publication number
CN112887297A
CN112887297A CN202110087138.XA CN202110087138A CN112887297A CN 112887297 A CN112887297 A CN 112887297A CN 202110087138 A CN202110087138 A CN 202110087138A CN 112887297 A CN112887297 A CN 112887297A
Authority
CN
China
Prior art keywords
data
encryption
difference
encrypted
primary
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.)
Granted
Application number
CN202110087138.XA
Other languages
English (en)
Other versions
CN112887297B (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.)
Alipay Hangzhou Information Technology 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 CN202110087138.XA priority Critical patent/CN112887297B/zh
Publication of CN112887297A publication Critical patent/CN112887297A/zh
Application granted granted Critical
Publication of CN112887297B publication Critical patent/CN112887297B/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/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
    • 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/6245Protecting personal data, e.g. for financial or medical purposes
    • 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/0478Network 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 applying multiple layers of encryption, e.g. nested tunnels or encrypting the content with a first key and then with at least a second key

Abstract

本说明书提供一种保护隐私的差异数据确定方法、装置、设备及系统,通过各自持有不同数据的双方分别先对自己持有的数据进行一次加密后,再发送给对方进行二级加密。其中一方在对对方的数据进行二级加密时增加了乱序手段,使得对方即使在获得差异数据加密集合后也无法获得差异数据的明文以及交集数据的明文,未被打乱顺序的一方可以基于对方发送的差异数据加密集合和自己拥有的数据集合,获知差异数据的明文。获得的差异数据的明文仅仅是自己持有的数据与对方持有的数据中有差别的数据,并不能获知差异数据在对方持有的数据中的数据值。实现了不暴露任何明文数据,但可以获得双方存在差异的数据,确保了数据的安全性。

Description

保护隐私的差异数据确定方法、装置、设备及系统
技术领域
本说明书属于计算机技术领域,尤其涉及一种保护隐私的差异数据确定方法、装置、设备及系统。
背景技术
随着计算机技术的发展,数据越来越重要,不同的用户可能会拥有不同的数据,但是,有些场景可能需要双方甚至多方的数据在一起分析。其中,从多方的数据中查询到存在差异的数据,在一些场景中可能会有重要的用途,如:找出双方共同客户中填写个人信息不一致的客户,以识别出潜在的风险客户(如盗用他人身份证号的欺诈、洗钱客户),又比如找出双方手机号相同客户中身份证号码不同的客户,以识别出潜在的风险客户。但是,各方的数据可能涉及到用户不同方面的隐私,各方都不希望自己的数据被暴露,如何在各方数据不被暴露的情况下,查询到各方数据中存在差异的数据,是本领域一个重要的问题。
发明内容
本说明书实施例的目的在于提供一种保护隐私的差异数据确定方法、装置、设备及系统,提高了数据的安全性。
第一方面,本说明书实施例提供了一种保护隐私的差异数据确定方法,所述方法应用在第一系统,所述第一系统内存储有第一数据集合,所述方法包括:
利用第一密钥对所述第一数据集合中的数据进行加密,获得第一数据一级加密集合;
将所述第一数据一级加密集合发送至第二系统,以使得所述第二系统使用第二密钥对所述第一数据一级加密集合中的数据进行乱序加密后获得第一数据二级加密集合;所述第二系统内存储有第二数据集合;
利用所述第一密钥对所述第二系统发送的第二数据一级加密集合中的数据进行加密,获得第二数据二级加密集合;其中,所述第二数据一级加密集合由所述第二系统使用所述第二密钥对所述第二数据集合中的数据加密后获得;
确定所述第二数据二级加密集合中与接收到的所述第二系统发送的所述第一数据二级加密集合存在差异的数据,获得差异数据加密集合;
将所述差异数据加密集合发送至所述第二系统,以使得所述第二系统基于所述差异数据加密集合获得所述第一数据集合和所述第二数据集合的差异数据明文集合;其中,对数据进行加密的算法采用可交替的确定性加密算法。
第二方面,本说明书提供了一种保护隐私的差异数据确定方法,所述方法应用在第二系统,所述第二系统内存储有第二数据集合,所述方法包括:
利用第二密钥对所述第二数据集合中的数据进行加密,获得第二数据一级加密集合;
将所述第二数据一级加密集合发送至第一系统,以使得所述第一系统对使用第一密钥对所述第二数据一级加密集合进行加密获得第二数据二级加密集合;所述第一系统内存储有第一数据集合;
利用所述第二密钥对所述第一系统发送的第一数据一级加密集合中的数据进行乱序加密,获得第一数据二级加密集合;其中,所述第一数据一级加密集合由所述第一系统使用第一密钥对所述第一数据集合中的数据加密后获得;
将所述第一数据二级加密集合发送至所述第一系统,以使得所述第一系统基于所述第二数据二级加密集合和所述第一数据二级加密集合确定出差异数据加密集合;
接收所述第一系统发送的差异数据加密集合,并基于所述差异数据加密集合确定出所述第一数据集合和所述第二数据集合的差异数据明文集合;其中,对数据进行加密的算法采用可交替的确定性加密算法。
第三方面,本说明书提供了一种保护隐私的差异数据确定装置,应用于第一系统,所述第一系统内存储有第一数据集合,所述装置包括:
第一数据一级加密模块,用于利用第一密钥对所述第一数据集合中的数据进行加密,获得第一数据一级加密集合;
第一数据加密发送模块,用于将所述第一数据一级加密集合发送至第二系统,以使得所述第二系统使用第二密钥对所述第一数据一级加密集合的数据进行乱序加密后获得第一数据二级加密集合;所述第二系统内存储有第二数据集合;
第二数据二级加密模块,用于利用所述第一密钥对所述第二系统发送的第二数据一级加密集合中的数据进行加密,获得第二数据二级加密集合;其中,所述第二数据一级加密集合由所述第二系统使用所述第二密钥对所述第二数据集合中的数据加密后获得;
加密差异数据查询模块,用于确定所述第二数据二级加密集合中与接收到的所述第二系统发送的所述第一数据二级加密集合存在差异的数据,获得差异数据加密集合;
差异数据解密模块,用于将所述差异数据加密集合发送至所述第二系统,以使得所述第二系统基于所述差异数据加密集合获得所述第一数据集合和所述第二数据集合的差异数据明文集合;其中,对数据进行加密的算法采用可交替的确定性加密算法。
第四方面,本说明书提供了一种保护隐私的差异数据确定装置,应用于第一系统,所述第一系统内存储有第一数据集合,所述装置包括:
第一数据一级加密模块,用于利用第一密钥对所述第一数据集合中的数据进行加密,获得第一数据一级加密集合;
第一数据加密发送模块,用于将所述第一数据一级加密集合发送至第二系统,以使得所述第二系统使用第二密钥对所述第一数据一级加密集合的数据进行乱序加密后获得第一数据二级加密集合;所述第二系统内存储有第二数据集合;
第二数据二级加密模块,用于利用所述第一密钥对所述第二系统发送的第二数据一级加密集合中的数据进行加密,获得第二数据二级加密集合;其中,所述第二数据一级加密集合由所述第二系统使用所述第二密钥对所述第二数据集合中的数据加密后获得;
加密差异数据查询模块,用于确定所述第二数据二级加密集合中与接收到的所述第二系统发送的所述第一数据二级加密集合存在差异的数据,获得差异数据加密集合;
差异数据解密模块,用于将所述差异数据加密集合发送至所述第二系统,以使得所述第二系统基于所述差异数据加密集合获得所述第一数据集合和所述第二数据集合的差异数据明文集合;其中,对数据进行加密的算法采用可交替的确定性加密算法。
第五方面,本说明书实施例提供了一种保护隐私的差异数据确定设备,包括至少一个处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现上述第一方面或第二方法所述的保护隐私的差异数据确定方法。
第六方面,本说明书实施例提供了一种保护隐私的差异数据确定系统,包括:第一系统、第二系统,其中,所述第一系统内存储有第一数据集合,所述第二系统内存储有第二数据集合;其中,所述第一系统中包括至少一个处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现上述第一方面所述的方法;
所述第二系统包括至少一个处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现上述第二方面所述的方法。
本说明书提供的保护隐私的差异数据确定方法、装置、设备及系统,通过各自持有不同数据的双方分别先对自己持有的数据进行一次加密后,再发送给对方进行二级加密。并且,其中一方在对对方的数据进行二级加密时增加了乱序手段,使得对方即使在获得两方数据的加密数据的差异数据后也无法基于数据的位置获得差异数据的明文以及交集数据的明文,未被打乱顺序的一方可以基于对方发送的差异数据加密集合和自己拥有的数据集合,获知差异数据的明文。获得的差异数据的明文仅仅是自己持有的数据与对方持有的数据中有差别的数据,并不能获知差异数据在对方持有的数据中的数据值。实现了不暴露任何明文数据,但可以获得双方存在差异的数据,确保了数据的安全性,为后续数据分析处理奠定了数据基础。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本说明书实施例提供的保护隐私的差异数据确定方法实施例的流程示意图;
图2是本说明书又一个实施例中保护隐私的差异数据确定方法的流程示意图;
图3是本说明书一个场景示例中保护隐私的差异数据确定的数据流程示意图;
图4是本说明书提供的保护隐私的差异数据确定装置一个实施例的模块结构示意图;
图5是本说明书提供的保护隐私的差异数据确定装置另一个实施例的模块结构示意图;
图6是本说明书一个实施例中保护隐私的差异数据确定服务器的硬件结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
随着计算机互联网技术的发展,数据分析越来越重要,而多方合作进行数据分析的场景也越来越多。一般的,在多方合作过程中,大家都不希望自己的数据被泄露,以确保自己数据的安全性。本说明书实施例提供一种保护隐私的差异数据确定方法,可以应用于分别拥有不同数据的两个数据持有方,利用本说明书实施例提供的保护隐私的差异数据确定方法可以确定出两个数据持有方的数据中的差异数据。本说明书实施例中的差异数据不同于简单的数据完全不同,差异数据可以理解为部分内容相同,但部分内容不同的数据,如:若数据1与数据2均由两部分组成:数据标识和数据内容,若数据1和数据2的数据标识相同,但数据内容不同,那么可以认为数据1与数据2是存在差异的数据。又如:A方有集合S1={<xi,ui>},B方有集合S2={<yi,vi>},A方和B方的差异数据的集合可以表示为:S3={xj|<xj,uj>在S1中,且<yk,vk>在S2中,且xj==yk且uj!=vk}。当然,若其中一方有的数据,对方没有如:A方有数据1,但B方没有数据1,那么数据1不能认为是差异数据。
图1是本说明书实施例提供的保护隐私的差异数据确定方法实施例的流程示意图。虽然本说明书提供了如下述实施例或附图所示的方法操作步骤或装置结构,但基于常规或者无需创造性的劳动在所述方法或装置中可以包括更多或者部分合并后更少的操作步骤或模块单元。在逻辑性上不存在必要因果关系的步骤或结构中,这些步骤的执行顺序或装置的模块结构不限于本说明书实施例或附图所示的执行顺序或模块结构。所述的方法或模块结构的在实际中的装置、服务器或终端产品应用时,可以按照实施例或者附图所示的方法或模块结构进行顺序执行或者并行执行(例如并行处理器或者多线程处理的环境、甚至包括分布式处理、服务器集群的实施环境)。
本说明书实施例中可以有两方系统即第一系统和第二系统,第一系统和第二系统内分别存储有不同的数据集合即第一数据集合和第二数据集合,本说明书实施例可以确定出第一数据集合和第二数据集合的差异数据。具体的一个实施例如图1所示,本说明书提供的保护隐私的差异数据确定方法的一个实施例中,所述方法可以应用在第一系统,第一系统可以理解为拥有第一数据集合的数据方的系统,第一系统内存储有第一数据集合,第一系统可以为计算机、平板电脑、服务器等终端,所述方法可以包括如下步骤:
步骤102、利用第一密钥对所述第一数据集合中的数据进行加密,获得第一数据一级加密集合。
在具体的实施过程中,第一系统预先可以生成用于进行数据加密的密钥即第一密钥,密钥的生成方式本说明书实施例不作具体限定。在需要与其他数据方合作求取两方数据中的差异数据时,第一系统可以利用第一密钥对自己持有的第一数据集合中的数据进行加密,即利用第一密钥对第一数据集合中的每个数据进行加密,加密后的各个数据的集合作为第一数据一级加密集合。
步骤104、将所述第一数据一级加密集合发送至第二系统,以使得所述第二系统使用所述第二密钥对所述第一数据一级加密集合的数据进行乱序加密后获得第一数据二级加密集合;所述第二系统内存储有第二数据集合。
在具体的实施过程中,第一系统在对自己持有的第一数据集合进行加密后获得第一数据一级加密集合,可以将获得的第一数据一级加密集合发送至第二系统,由第二系统对第一系统持有的数据进行二级加密。第二系统也可以预先生成用于数据加密的密钥即第二密钥,一般的第二密钥与第一密钥是不同的。第二系统在接收到第一系统发送的第一数据一级加密集合后,可以利用自己生成的第二密钥对接收到的第一数据一级加密集合中的数据进行乱序加密,获得第一数据二级加密集合。乱序加密后的第一数据二级加密集合中的数据的排序与加密之前的第一数据一级加密集合中的数据的排序是不同的,本说明书一些实施例中,第二系统可以先将接收到的第一数据一级加密集合中的数据打乱顺序,再对打乱顺序的数据进行加密,获得第一数据二级加密集合。或者,第二系统也可以先对接收到的第一数据一级加密集合中的数据进行加密,再将加密后的数据打乱顺序获得第一数据二级加密集合。第二系统在加密获得第一数据二级加密集合后,可以将获得的第一数据二级加密集合发送至第一系统。
步骤106、利用所述第一密钥对所述第二系统发送的第二数据一级加密集合中的数据进行加密,获得第二数据二级加密集合;其中,所述第二数据一级加密集合由所述第二系统使用所述第二密钥对所述第二数据集合中的数据加密后获得。
在具体的实施过程中,在第一系统对自己持有的第一数据集合进行加密时,第二系统也可以对自己持有的第二数据集合进行加密,如:第二系统可以利用自己生成的第二密钥对第二数据集合进行加密获得第二数据一级加密集合。第二系统可以将对自己持有数据集合加密获得的第二数据一级加密集合发送至第一系统,由第一系统对第二系统持有的数据进行二级加密。第一系统接收到第二系统发送的第二数据一级加密集合后,可以利用第一密钥对接收到的第二数据一级加密集合中的数据进行加密,获得第二数据二级加密集合。
步骤108、确定所述第二数据二级加密集合中与接收到的所述第二系统发送的所述第一数据二级加密集合存在差异的数据,获得差异数据加密集合。
在具体的实施过程中,本说明书实施例中的数据加密采用的是可交替的确定性加密算法,确定性加密可以理解为同一明文每次加密所得密文均一样,可交替加密可以理解为用两个不同的密钥k1和k2进行两重加密,使用密钥的顺序不同不改变加密结果,解密时解密顺序可以跟加密顺序相同或不同。可以根据实际需要选择符合要求的可交替的确定性加密算法,如:DH(Diffie–Hellman key exchange,密钥交换算法)算法或RSA算法等,DH算法可以让双方在完全没有对方任何预先信息的条件下通过不安全信道创建起一个密钥,这个密钥可以在后续的通讯中作为对称密钥来加密通讯内容。RSA算法可以使用不同的加密密钥与解密密钥。
第一系统可以接收第二系统发送的第一数据二级加密集合,又通过对第二系统发送的第二数据一级加密集合进行二级加密,那么第一系统拥有了第一数据集合和第二数据集合的二重加密数据。本说明书实施例中选择可交替的确定性加密算法对第一数据集合和第二数据集合分别进行两次加密,加密的顺序不会改变加密的结果,并且,同一个数据加密得到的密文相同,因此,若两次加密后的加密数据不同,那么原始数据也是不同的。第一系统将接收到的第一数据二级加密集合与对第二系统的数据进行二级加密获得的第二数据二级加密集合进行比较,确定出第二数据二级加密集合中与第一数据二级加密集合中的数据存在差异的数据,获得差异数据加密集合,该集合内的差异数据即为第一数据集合和第二数据集合的差异数据的二重加密数据。
参见上述实施例的记载,本说明书实施例中的差异数据可以理解为一部分内容相同一部分内容不同的数据,可以通过比较第二数据二级加密集合中与第一数据二级加密集合中的数据,确定出两个集合中是否存在数据的一部分内容相同但另一部分内容不同的数据。确定出的差异数据是第一数据集合和第二数据集合中的数据被进行两次加密后的密文数据,可以将确定出的差异数据作为一个集合作为差异数据加密集合。本说明书实施例中确定的是第二数据二级加密集合中与第一数据二级加密集合中存在差异的数据,因此,差异数据加密集合中的数据实际上可以理解为从第二数据二级加密集合中筛选出的部分数据。
本说明书一些实施例中,所述第一数据集合和所述第二数据集合中的每个数据包括数据标识和数据内容;所述确定所述第二数据二级加密集合中与所述第一数据二级加密集合存在差异的数据,包括:
查询所述第二数据二级加密集合中与所述第一数据二级加密集合中数据标识相同,且数据内容不同的数据,将查询到的数据对添加到所述差异数据加密集合中。
在具体的实施过程中,本说明书实施例中可以查询数据标识相同但数据内容不同的数据,当然,也可以查询数据内容相同但数据标识不同的数据。在确定出第二数据二级加密集合中与第一数据二级加密集合中的数据存在差异的数据时,可以查询第二数据二级加密集合中与第一数据二级加密集合中数据标识相同但数据内容不同的数据,将查询出的数据存储在差异数据加密集合中。例如:第二数据二级加密集合中有3个数据A1、B1、C1,A1的数据标识为ID1、数据内容为L1,B1的数据标识为ID2、数据内容为L2,C1的数据标识为ID3、数据内容为L3。第一数据二级加密集合中有4个数据A2、B2、C2、D2,A2的数据标识为ID1、数据内容为L1,B2的数据标识为ID2、数据内容为L2,C2的数据标识为ID3、数据内容为L5,D2的数据标识为ID4,数据内容为L4。通过比较第二数据二级加密集合中和第一数据二级加密集合,获知数据C1与数据C2的数据标识相同均为ID3,但数据内容不同,基于此,确定出第二数据二级加密集合中与第一数据二级加密集合中的差异数据为数据C1(数据标识=ID3,数据内容=L3)。
在实际应用时,可以根据实际需要设置数据的数据标识和数据内容,如:若要筛选出手机号相同但身份证号码不同的用户,则可以将手机号码作为数据标识,将身份证号码作为数据内容;若要筛选出身份证号码相同但用户个人信息不同的用户,则可以将身份证号码作为数据标识,将用户个人信息作为数据内容。通过合理设置数据标识和数据内容,采用本说明书实施例的方法,可以快速筛选出存在差异的数据,并且,确保双方都没有泄露各自的真实数据,保证了数据的安全性。
步骤110、将所述差异数据加密集合发送至所述第二系统,以使得所述第二系统基于所述差异数据加密集合获得所述第一数据集合和所述第二数据集合的差异数据明文集合;其中,对数据进行加密的算法采用可交替的确定性加密算法。
在具体的实施过程中,因为第二系统在对第一系统的第一数据集合中的数据进行二级加密时,使用了乱序加密,使得第一数据二级加密集合中的数据的顺序与第一数据集合中数据的顺序不一致,而,第二数据二级加密集合中的数据虽然没有被打乱顺序,但其中的数据是第二系统内的数据加密后的密文数据,第一系统无法获知数据的明文。因此,即使第一系统获得了第一数据二级加密集合和第二数据二级加密集合中的差异数据,也无法对获得的差异数据进行解密,即无法获得差异数据的明文。同时,第一系统也无法获得与第二系统的数据的交集的明文,进而无法确认第二系统拥有哪些数据,确保了第二系统的数据的安全性。第一系统在获得差异数据加密集合后,可以将获得的差异数据加密集合发送至第二系统,因为第二系统持有的第二数据集合在加密过程中没有打乱顺序,并且,第一系统筛选出的是第二数据二级加密集合中与第一数据二级加密集合中存在差异的数据,即差异数据加密集合中的数据实际上是第二数据二级加密集合中的部分数据。第二系统接收到第一系统发送的差异数据加密集合后,可以通过比较差异数据加密集合和自己持有的第二数据集合中的数据获得差异数据加密集合中数据的明文,即为差异数据明文集合,该差异数据明文集合即可以表示第一数据集合和第二数据集合中存在差异的数据。
其中,第二系统在确定差异数据明文集合时,可以将第一系统发送的差异数据加密集合中各个数据在集合内的位置即排序与第二数据集合中数据的位置进行比较,即可以确定出存在差异的数据的明文。例如:第一系统在确定差异数据加密集合时,可以将第二数据二级加密集合中不存在差异的数据置为空,使得差异数据加密集合中数据的排序不变,或者可以将差异数据的在集合中原始的排序在差异数据加密集合中标记出来,以便第二系统能够快速确定出差异数据的明文。或者第一系统也可以使用自己的密钥对获得的差异数据加密集合中的数据进行一级解密,将解密后的差异数据加密集合发送至第二系统,第二系统再对接收到的差异数据加密集合中的数据进行二级解密,即可以获得差异数据加密集合中数据的明文。当然,第二系统也可以采用其他方式获得差异数据的明文,本说明书实施例不作具体限定。获得的差异数据可以用于后续进行数据分析如:风险分析、账户被盗分析等等。
本说明书一些实施例中,所述将所述差异数据加密集合发送至所述第二系统,包括:
获取所述差异数据加密集合内的数据的差异数据一级加密数据,将获得的所述差异数据一级加密数据发送至所述第二系统或将所述差异数据一级加密数据的哈希值发送至所述第二系统;
或,将所述差异数据加密集合内的数据在所述第二数据二级加密集合中的位置发送至所述第二系统。
在具体的实施过程中,第一系统在将差异数据加密集合发送至第二系统时,可以获取差异数据加密集合中的数据的差异数据一级加密数据。其中,差异数据加密集合中的数据是对原始数据二重加密获得的,差异数据一级加密数据可以通过第一系统对差异数据加密集合中的数据使用第一密钥进行一次解密获得,或者,差异数据加密集合中的数据实际上是第二数据二级加密集合中的部分数据,第二数据二级加密集合中的数据是由第一系统对第二数据一级加密集合中的数据二级加密获得,第一系统可以通过将差异数据加密集合中的数据的原始位置与第二数据一级加密集合中的数据的位置进行比较获得差异数据加密集合中的数据在第二数据一级加密集合中的数值即为差异数据一级加密数据。或者,第一系统在将差异数据加密集合发送至第二系统时,也可以对获得的差异数据一级加密数据进行哈希计算,将计算出的差异数据一级加密数据哈希值发送至第二系统。差异数据一级加密数据可以包括数据标识的一级加密结果和数据内容的一级加密结果,当然,差异数据一级加密数据也可以仅仅是数据标识的一级加密结果,第二系统基于数据标识就可以获得对应的数据内容,数据标识以便比较小,可以降低数据传输大小,节省数据传输流量。
或者,第一系统在将差异数据加密集合发送至第二系统时,也可以获取差异数据加密集合内的数据在第二数据二级加密集合中的位置发送给第二系统,第二系统基于数据的位置也可以快速获得差异数据的明文。
例如:第二数据集合为S2={a,b,c,d},第二系统对S2进行一级加密后获得第二数据一级加密集合Y1{a1,b1,c1,d1},第一系统对第二系统发送的Y1进行二级加密获得第二数据二级加密集合Y2{a2,b2,c2,d2}。第一系统基于第二数据二级加密集合和第一数据二级加密集合获得的差异数据加密集合可以表示P={a2,d2},第一系统可以通过对P进行一次解密,或者通过将P中的数据的原始位置与Y1中的数据位置进行比较,获得差异数据一级加密数据P1={a1,d1},或者只获取a1,d1的数据标识的一级加密数据作为P1={a1’,d1’}。第一系统可以将P1发送至第二系统,或者将P1内的数据进行哈希计算后的哈希值发送至第二系统。或者,第一系统可以获取P内的数据在Y2中的原始位置,如:第1、4位,将差异数据在Y2中的位置1、4发送至第二系统。
此外,本说明书一些实施例中,所述第一数据集合和所述第二数据集合中的每个数据包括数据标识和数据内容;所述方法还包括:
接收所述第二系统发送的所述差异数据明文集合,所述差异数据明文集合中包括差异数据的数据标识明文;其中,所述差异数据明文集合由所述第二系统基于所述差异数据一级加密数据或所述差异数据一级加密数据的哈希值或所述差异数据加密集合内的数据在所述第二数据二级加密集合中的位置获得的。
在具体的实施过程中,第二系统将接收到第一系统发送的差异数据一级加密数据或所述差异数据一级加密数据的哈希值后,可以利用自己的第二密钥进行解密,即可以获得差异数据的明文。若第二系统接收到的差异数据加密集合内的数据在第二数据二级加密集合中的位置,则可以将接收到的位置与第二数据集合中数据进行比较,即可以获得该位置出的数据的明文。第二系统获得的差异数据的明文可以包括数据标识的明文,也可以包括数据内容的明文,第二系统可以将差异数据的数据标识的明文作为差异数据明文集合发送给第一系统,使得第一系统基于获得存在差异的数据标识与自己持有的第一数据集合进行比较,即可以获知哪些数据存在问题,但又无法获知该数据标识在第二系统内对应的数据内容。并且,第二系统获得的差异数据也是其持有的数据中与第一系统有差别的数据,也无法获得差异数据在第一系统内的数据内容,确保了双方的数据都不会暴露的前提下,获得存在差异的数据。
本说明书实施例提供的保护隐私的差异数据确定方法,通过各自持有不同数据的双方分别先对自己持有的数据进行一次加密后,再发送给对方进行二级加密。并且,其中一方在对对方的数据进行二级加密时增加了乱序手段,使得对方即使在获得两方数据的加密数据的差异数据后也无法基于数据的位置获得差异数据的明文以及交集数据的明文,未被打乱顺序的一方可以基于对方发送的差异数据加密集合和自己拥有的数据集合,获知差异数据的明文。获得的差异数据的明文仅仅是自己持有的数据与对方持有的数据中有差别的数据,并不能获知差异数据在对方持有的数据中的数据值。实现了不暴露任何明文数据,但可以获得双方存在差异的数据,确保了数据的安全性,为后续数据分析处理奠定了数据基础。
在上述实施例的基础上,本说明书一些实施例中,所述第一数据集合和所述第二数据集合中的每个数据包括数据标识和数据内容,在对所述第一数据集合、所述第二数据集合、所述第一数据一级加密集合、所述第二数据一级加密集合中的数据进行加密时,对集合中每个数据的数据标识和数据内容分别进行加密。
在具体的实施过程中,本说明书实施例中的数据均包括两个部分数据标识和数据内容,数据标识和数据内容具体可以根据实际需要设置,本说明书实施例不作具体限定。本说明书实施例中在对数据进行加密时,可以分别对数据的数据标识和数据内容进行加密,以使得数据标识和数据内容都不会被暴露。当然,对数据标识和数据内容加密的密钥可以相同,也可以不同,具体可以根据实际需要进行设置。若选择相同的密钥对数据标识和数据内容进行加密,则可以少保存一个密钥,减少内存占用。若选择不同的密钥对数据标识和数据内容进行加密,即使其中一个密钥被破解,也可以保证另一部分数据的安全,确保数据的安全性。
例如:第一系统可以生成两个第一密钥k1和k3,使用k1对第一数据集合、第二数据一级加密集合中的数据标识进行加密,使用k3对第一数据集合、第二数据一级加密集合中的数据内容进行加密。同样的,第二系统也可以生成两个第二密钥k2和k4,使用k2对第二数据集合、第一数据一级加密集合中的数据标识进行加密,使用k4对第二数据集合、第一数据一级加密集合中的数据内容进行加密。
通过将数据进行拆分,对数据标识和数据内容分别进行加密,以便在查询出数据中存在差异的数据而又不会暴露数据的任何部分。
本说明书又一些实施例中,所述对集合中每个数据的数据标识和数据内容分别进行加密,包括:
将集合中每个数据的数据标识嵌入到数据内容中,对集合中每个数据的数据标识和嵌入数据标识的数据内容分别进行加密。
在具体的实施过程中,在对数据的数据标识和数据内容分别进行加密时,可以将数据标识嵌入到数据内容中,如:将数据标识添加到数据内容中作为新的数据内容,再对嵌入了数据标识的新的数据内容进行加密,这样可以保证不同的数据标识对应的数据内容一定不同,避免有些数据标识不同但数据内容相同的数据被暴露,确保数据的安全性。如:A方和B方分别拥有不同的用户数据的集合,数据集合中的数据标识为手机号,数据内容为城市,不同的数据标识可能对应有相同的数据内容。在确定差异数据的过程中,有一方可以获得自己和对方的数据的二级加密结果,通过比较两个二级加密结果有可能统计出相同城市的用户数量,如:统计出杭州市的用户数量。本说明书实施例,通过将数据标识嵌入到数据内容中,即将手机号嵌入到城市,那么就可以保证不同手机号的用户对应的城市也是不同的,那就无法统计出一个城市的用户数量,确保了数据的安全性。
上述实施例是差异数据的查询确定过程中第一系统所执行的过程,本说明书实施例还提供了一种第二系统在差异数据的查询确定过程中的保护隐私的差异数据确定方法。图2是本说明书又一个实施例中保护隐私的差异数据确定方法的流程示意图,该方法应用在第二系统,第二系统可以理解为与上述第一系统拥有不同数据集合的系统,所述第二系统内存储有第二数据集合,第二系统可以为计算机、平板电脑、服务器等终端,所述方法可以包括如下步骤:
步骤202、利用第二密钥对所述第二数据集合中的数据进行加密,获得第二数据一级加密集合。
在具体的实施过程中,本说明书实施例中的第一系统和第二系统可以先各自生成用于数据加密的密钥,密钥的生成方法可以参考上述实施例的记载。第一系统和第二系统生成密钥后,可以分别利用各自的密钥对各自持有的数据进行加密。如:第一系统利用自己生成的第一密钥对第一数据集合中的每个数据进行加密,加密后的各个数据的集合作为第一数据一级加密集合,第二系统可以利用自己生成的第二密钥对第二数据集合中的数据进行加密获得第二数据一级加密集合。
步骤204、将所述第二数据一级加密集合发送至第一系统,以使得所述第一系统对使用第一密钥对所述第二数据一级加密集合进行加密获得第二数据二级加密集合;所述第一系统内存储有第一数据集合。
在具体的实施过程中,第二系统可以将对自己持有数据集合加密获得的第二数据一级加密集合发送至第一系统,由第一系统对第二系统持有的数据进行二级加密。第一系统接收到第二系统发送的第二数据一级加密集合后,可以利用第一密钥对接收到的第二数据一级加密集合中的数据进行加密,获得第二数据二级加密集合。
步骤206、利用所述第二密钥对所述第一系统发送的第一数据一级加密集合中的数据进行乱序加密,获得第一数据二级加密集合;其中,所述第一数据一级加密集合由所述第一系统使用第一密钥对所述第一数据集合中的数据加密后获得。
在具体的实施过程中,第一系统在对自己持有的第一数据集合进行加密后获得第一数据一级加密集合,可以将获得的第一数据一级加密集合发送至第二系统。第二系统在接收到第一系统发送的第一数据一级加密集合后,可以利用自己生成的第二密钥对接收到的第一数据一级加密集合中的数据进行乱序加密,获得第一数据二级加密集合。乱序加密后的第一数据二级加密集合中的数据的排序与加密之前的第一数据一级加密集合中的数据的排序是不同的。
本说明书一些实施例中,所述利用所述第二密钥对所述第一系统发送的第一数据一级加密集合中的数据进行乱序加密,获得第一数据二级加密集合,包括:
使用所述第二密钥对接收到的所述第一数据一级加密集合中的数据进行加密,对加密后的第一数据加密集合中的数据的顺序进行打乱,获得所述第一数据二级加密集合;
或,对接收到的第一数据一级加密集合中的数据的顺序进行打乱,使用所述第二密钥对打乱顺序后的第一数据一级加密集合中的数据进行加密,获得所述第一数据二级加密集合。
在具体的实施过程中,第二系统可以先将接收到的第一数据一级加密集合中的数据打乱顺序,再对打乱顺序的数据进行加密,获得第一数据二级加密集合。或者,第二系统也可以先对接收到的第一数据一级加密集合中的数据进行加密,再将加密后的数据打乱顺序获得第一数据二级加密集合。通过对第一系统发送的第一数据一级加密集合进行乱序加密后,使得第一系统即使通过比较第一数据二级加密集合和第二数据二级加密集合获得差异数据加密集合,也无法直接获得差异数据的明文,确保第二系统内的数据不会被暴露。
步骤208、将所述第一数据二级加密集合发送至所述第一系统,以使得所述第一系统基于所述第二数据二级加密集合和所述第一数据二级加密集合确定出差异数据加密集合。
在具体的实施过程中,第二系统在加密获得第一数据二级加密集合后,可以将获得的第一数据二级加密集合发送至第一系统。本说明书实施例中的数据加密采用的是可交替的确定性加密算法,其中,可交替的确定性加密算法的含义参考上述实施例的记载,此处不再赘述。
第一系统接收到第二系统发送的第一数据二级加密集合,又通过对第二系统发送的第二数据一级加密集合进行二级加密,那么第一系统拥有了第一数据集合和第二数据集合的二重加密数据。本说明书实施例中选择可交替的确定性加密算法对第一数据集合和第二数据集合分别进行两次加密,加密的顺序不会改变加密的结果,并且,同一个数据加密得到的密文相同,因此,若两次加密后的加密数据不同,那么原始数据也是不同的。第一系统将接收到的第一数据二级加密集合与对第二系统的数据进行二级加密获得的第二数据二级加密集合进行比较,确定出第二数据二级加密集合中与第一数据二级加密集合中的数据存在差异的数据,获得差异数据加密集合,该集合内的差异数据即为第一数据集合和第二数据集合的差异数据的二重加密数据。
其中,差异数据的含义以及差异数据加密集合中的数据的确定方法可以参考上述实施例的记载,此处不再赘述。
步骤210、接收所述第一系统发送的差异数据加密集合,并基于所述差异数据加密集合确定出所述第一数据集合和所述第二数据集合的差异数据明文集合;其中,对数据进行加密的算法采用可交替的确定性加密算法。
在具体的实施过程中,因为第二系统在对第一系统的第一数据集合中的数据进行二级加密时,使用了乱序加密,使得第一数据二级加密集合中的数据的顺序与第一数据集合中数据的顺序不一致,而,第二数据二级加密集合中的数据虽然没有被打乱顺序,但其中的数据是第二系统内的数据加密后的密文数据,第一系统无法获知数据的明文。因此,即使第一系统获得了第一数据二级加密集合和第二数据二级加密集合中的差异数据,也无法对获得的差异数据进行解密,即无法获得差异数据的明文。第一系统在获得差异数据加密集合后,可以将获得的差异数据加密集合发送至第二系统,因为第二系统持有的第二数据集合在加密过程中没有打乱顺序,并且,第一系统筛选出的是第二数据二级加密集合中与第一数据二级加密集合中存在差异的数据,即差异数据加密集合中的数据实际上是第二数据二级加密集合中的部分数据。第二系统接收到第一系统发送的差异数据加密集合后,可以通过比较差异数据加密集合和自己持有的第二数据集合中的数据获得差异数据加密集合中数据的明文,即为差异数据明文集合,该差异数据明文集合即可以表示第一数据集合和第二数据集合中存在差异的数据。
第二系统可以将第一系统发送的差异数据加密集合中各个数据在集合内的位置即排序与第二数据集合中数据的位置进行比较,即可以确定出存在差异的数据的明文。当然,第一系统在确定差异数据加密集合时,可以将第二数据二级加密集合中不存在差异的数据置为空,使得差异数据加密集合中数据的排序不变,或者可以将差异数据的在集合中原始的排序在差异数据加密集合中标记出来,以便第二系统能够快速确定出差异数据的明文。当然,第二系统也可以采用其他方式获得差异数据的明文,本说明书实施例不作具体限定。获得的差异数据可以用于后续进行数据分析如:风险分析、账户被盗分析等等。
本说明书一些实施例中,所述接收所述第一系统发送的差异数据加密集合,并基于所述差异数据加密集合确定出所述第一数据集合和所述第二数据集合的差异数据明文集合,包括:
接收所述第一系统发送的所述差异数据加密集合内的数据的差异数据一级加密数据或所述差异数据一级加密数据的哈希值或所述差异数据加密集合内的数据在所述第二数据二级加密集合中的位置;
利用所述第二密钥对所述差异数据一级加密数据或所述差异数据一级加密数据的哈希值进行解密,获得差异数据明文集合;
或,基于所述差异数据加密集合内的数据在所述第二数据二级加密集合中的位置与所述第二数据集合中数据的位置,获得所述差异数据明文集合;
将所述差异数据明文集合中数据的数据标识明文发送至所述第一系统。
在具体的实施过程中,第一系统在将差异数据加密集合发送至第二系统时,可以获取差异数据加密集合中的数据的差异数据一级加密数据。差异数据一级加密数据可以通过第一系统对差异数据加密集合中的数据使用第一密钥进行一次解密获得,或者,可以通过将差异数据加密集合中的数据的原始位置与第二数据一级加密集合中的数据的位置进行比较获得差异数据加密集合中的数据在第二数据一级加密集合中的数值即为差异数据一级加密数据。或者,第一系统在将差异数据加密集合发送至第二系统时,也可以对获得的差异数据一级加密数据进行哈希计算,将计算出的差异数据一级加密数据哈希值发送至第二系统。差异数据一级加密数据可以包括数据标识的一级加密结果和数据内容的一级加密结果,当然,差异数据一级加密数据也可以仅仅是数据标识的一级加密结果,第二系统基于数据标识就可以获得对应的数据内容,数据标识一般比较小,可以降低数据传输大小,节省数据传输流量。或者,第一系统在将差异数据加密集合发送至第二系统时,也可以获取差异数据加密集合内的数据在第二数据二级加密集合中的位置发送给第二系统,第二系统基于数据的位置也可以快速获得差异数据的明文。
第二系统可以将接收到第一系统发送的差异数据一级加密数据或所述差异数据一级加密数据的哈希值后,可以利用自己的第二密钥进行解密,即可以获得差异数据的明文。一般的,数据标识的哈希值可以表征数据的位置信息,也可以直接基于数据标识的哈希值确定出数据在集合中的位置,通过比较即可以获得该位置处数据的明文。若第二系统接收到的差异数据加密集合内的数据在第二数据二级加密集合中的位置,则可以将接收到的位置与第二数据集合中数据进行比较,即可以获得该位置出的数据的明文。第二系统获得的差异数据的明文可以包括数据标识的明文,也可以包括数据内容的明文,第二系统可以将差异数据的数据标识的明文作为差异数据明文集合发送给第一系统,使得第一系统基于获得存在差异的数据标识,就可以获知哪些数据存在问题,但又无法获知该数据标识在第二系统内对应的数据内容,并且,第二系统获得的差异数据也是其持有的数据中与第一系统有差别的数据,也无法获得差异数据在第一系统内的数据内容,确保了双方的数据都不会暴露的前提下,获得存在差异的数据。
本说明书实施例提供的保护隐私的差异数据确定方法,通过各自持有不同数据的双方分别先对自己持有的数据进行一次加密后,再发送给对方进行二级加密。并且,其中一方在对对方的数据进行二级加密时增加了乱序手段,使得对方即使在获得两方数据的加密数据的差异数据后也无法基于数据的位置获得差异数据的明文以及交集数据的明文,未被打乱顺序的一方可以基于对方发送的差异数据加密集合和自己拥有的数据集合,获知差异数据的明文。获得的差异数据的明文仅仅是自己持有的数据与对方持有的数据中有差别的数据,并不能获知差异数据在对方持有的数据中的数据值。实现了不暴露任何明文数据,但可以获得双方存在差异的数据,确保了数据的安全性,为后续数据分析处理奠定了数据基础。
本说明书一些实施例中,所述第一数据集合和所述第二数据集合中的每个数据包括数据标识和数据内容,在对所述第一数据集合、所述第二数据集合、所述第一数据一级加密集合、所述第二数据一级加密集合中的数据进行加密时,对集合中每个数据的数据标识和数据内容分别进行加密。
在具体的实施过程中,本说明书实施例中的数据均包括两个部分数据标识和数据内容,数据标识和数据内容具体可以根据实际需要设置,本说明书实施例不作具体限定。本说明书实施例中在对数据进行加密时,可以分别对数据的数据标识和数据内容进行加密,以使得数据标识和数据内容都不会被暴露。当然,对数据标识和数据内容加密的密钥可以相同,也可以不同,具体可以根据实际需要进行设置。若选择相同的密钥对数据标识和数据内容进行加密,则可以少保存一个密钥,减少内存占用。若选择不同的密钥对数据标识和数据内容进行加密,即使其中一个密钥被破解,也可以保证另一部分数据的安全,确保数据的安全性。
本说明书一些实施例中,所述对集合中每个数据的数据标识和数据内容分别进行加密,包括:
将集合中每个数据的数据标识嵌入到数据内容中,对集合中每个数据的数据标识和嵌入数据标识的数据内容分别进行加密。
在对数据的数据标识和数据内容分别进行加密时,可以将数据标识嵌入到数据内容中,如:将数据标识添加到数据内容中作为新的数据内容,再对嵌入了数据标识的新的数据内容进行加密,这样可以保证不同的数据标识对应的数据内容一定不同,避免有些数据标识不同但数据内容相同的数据被暴露,确保数据的安全性。如:A方和B方分别拥有不同的用户数据的集合,数据集合中的数据标识为手机号,数据内容为城市,不同的数据标识可能对应有相同的数据内容。在确定差异数据的过程中,有一方可以获得自己和对方的数据的二级加密结果,通过比较两个二级加密结果有可能统计出相同城市的用户数量,如:统计出杭州市的用户数量。本说明书实施例,通过将数据标识嵌入到数据内容中,即将手机号嵌入到城市,那么就可以保证不同手机号的用户对应的城市也是不同的,那就无法统计出一个城市的用户数量,确保了数据的安全性。
上述实施例中的步骤的顺序可以依据实际需要进行调整,本说明书实施例不作具体限定。
图3是本说明书一个场景示例中保护隐私的差异数据确定的数据流程示意图,下面结合图3具体介绍本说明书实施例中差异数据的确定过程:
首先,本说明书实施例中采用的加密算法是可交替的确定性加密算法,具体可以是DH算法或RSA算法等。如图3所示,数据持有方有A和B两方,A方持有的数据集合即第一数据集合为S1={<x1,u1>,<x2,u2>,...},B方持有的数据集合即第二数据集合为S2={<y1,v1>,<y2,v2>...},其中x1、x2、…、xi以及y1、y2、…、yi可以表示集合内数据的数据标识,u1、u2、…、ui以及v1、v2、…、vi可以表示集合内数据的数据内容。本说明书实施例中差异数据的确定过程如下:
1a)、A方生成密钥k1和k3。其中,k1与k3可以相等或不等,其中k1可以用来加密数据标识,k3可以用来加密数据内容。
1b)、B方生成密钥k2和k4。其中,k2与k4可以相等或不等,其中k2可以用来加密数据标识,k4可以用来加密数据内容。
2a)、A方用其密钥加密其数据集合S1中的数据得到密文数据集合即第一数据一级加密集合为X1。如图3所示,加密方法可以使用k1对S1中数据的数据标识xi进行加密,使用k3对S1中数据的数据内容ui进行加密。
2b)、B方用其密钥加密其数据集合S2中的数据得到密文数据集合即第二数据一级加密集合为Y1。如图3所示,加密方法可以使用k2对S2中数据的数据标识yi进行加密,使用k4对S2中数据的数据内容vi进行加密。
3a)、A方将X1发送给B方。
3b)、B方将Y1发送给A方。
4a)、A方用其密钥加密Y1的每个元素,得到密文集合即第二数据二级加密集合为Y2。如图3所示,加密方法可以使用k1对Y1中数据的数据标识Ek2(yi)进行加密,使用k3对Y1中数据的数据内容Ek4(vi)进行加密。
4b)、B方用其密钥对X1的每个元素进行乱序加密后得到密文序列即第一数据二级加密集合为X2。如图3所示,加密方法可以使用k2对X1中数据的数据标识Ek1(xi)进行加密,使用k4对X1中数据的数据内容Ek3(ui)进行加密。图中的shuffle可以表示乱序的或打乱的。
5)、B方将X2发送给A方。
6)、A求Y2和X2存在差异的元素的集合即差异数据加密集合。差异数据加密集合的求解方式可以参考上述实施例的记载,此处不再赘述。
7)、A方将差异元素集合发给B方。如图3所示,A方可以向B方发送差异元素在Y1中的对应密文标识集合{Ek2(yi)}或密文标识的哈希值集合{h(Ek2(yi))}或差异元素在Y2中位置的集合。
8)、B方基于A方发送的内容求得差异数据明文集合,差异数据明文集合可以包括差异数据的数据标识明文和数据内容明文,B方可以将差异数据的数据标识明文发送给A方。
需要注意的是,步骤1a)~4a)、步骤5以及步骤1b)~4b)可以并行执行。
此外,可能出现数据标识不同,但数据内容相同的情况,即ui=uj但xi!=xj,由于安全求交集采用确定性加密,E(ui)和E(uj)相等,对方可以判断两元素的数据部分相等。可以在进行上述协议前,双方各自将数据内容部分嵌入数据标识,使得不同的数据表示对应的数据内容的密文不同,进一步确保数据的安全性。
需要说明的是,基于本说明书实施例提供的方法,可以进行适当的改进,以实现多方数据的差异数据的确定。
本说明书实施例中的保护隐私的差异数据确定方法,通过对安全求交集PSI(Private Set Intersection,私有集合求交协议)协议的改进,增加乱序加密手段(即上述图3步骤4)隐藏数据标识交集列表,并将双方的数据匹配也同时采用PSI协议来执行,实现数据标识交集不暴露但能得到数据内容不匹配的数据标识列表,确保了数据的安全性,同时为数据分析奠定了数据基础。
本说明书中上述方法的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参考即可,每个实施例重点说明的都是与其他实施例的不同之处。相关之处参考方法实施例的部分说明即可。
基于上述所述的保护隐私的差异数据确定方法,本说明书一个或多个实施例还提供一种用于保护隐私的差异数据确定的装置。所述装置可以包括使用了本说明书实施例所述方法的装置(包括分布式系统)、软件(应用)、模块、组件、服务器、客户端等并结合必要的实施硬件的装置。基于同一创新构思,本说明书实施例提供的一个或多个实施例中的装置如下面的实施例所述。由于装置解决问题的实现方案与方法相似,因此本说明书实施例具体的装置的实施可以参考前述方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
具体地,图4是本说明书提供的保护隐私的差异数据确定装置一个实施例的模块结构示意图,该装置可以应用在上述实施例中的第一系统中,所述第一系统内存储有第一数据集合,如图4所示,本说明书中提供的保护隐私的差异数据确定装置可以包括:
第一数据一级加密模块41,用于利用第一密钥对所述第一数据集合中的数据进行加密,获得第一数据一级加密集合;
第一数据加密发送模块42,用于将所述第一数据一级加密集合发送至第二系统,以使得所述第二系统使用第二密钥对所述第一数据一级加密集合的数据进行乱序加密后获得第一数据二级加密集合;所述第二系统内存储有第二数据集合;
第二数据二级加密模块43,用于利用所述第一密钥对所述第二系统发送的第二数据一级加密集合中的数据进行加密,获得第二数据二级加密集合;其中,所述第二数据一级加密集合由所述第二系统使用所述第二密钥对所述第二数据集合中的数据加密后获得;
加密差异数据查询模块44,用于确定所述第二数据二级加密集合中与接收到的所述第二系统发送的所述第一数据二级加密集合存在差异的数据,获得差异数据加密集合;
差异数据解密模块45,用于将所述差异数据加密集合发送至所述第二系统,以使得所述第二系统基于所述差异数据加密集合获得所述第一数据集合和所述第二数据集合的差异数据明文集合;其中,对数据进行加密的算法采用可交替的确定性加密算法。
图5是本说明书提供的保护隐私的差异数据确定装置另一个实施例的模块结构示意图,该装置可以应用在上述实施例中的第二系统中,所述第二系统内存储有第二数据集合,如图5所示,本说明书中提供的保护隐私的差异数据确定装置可以包括:
第二数据一级加密模块51,用于利用第二密钥对所述第二数据集合中的数据进行加密,获得第二数据一级加密集合;
第二数据加密发送模块52,用于将所述第二数据一级加密集合发送至第一系统,以使得所述第一系统对使用第一密钥对所述第二数据一级加密集合进行加密获得第二数据二级加密集合;所述第一系统内存储有第一数据集合;
第一数据二级加密模块53,用于利用所述第二密钥对所述第一系统发送的第一数据一级加密集合中的数据进行乱序加密,获得第一数据二级加密集合;其中,所述第一数据一级加密集合由所述第一系统使用第一密钥对所述第一数据集合中的数据加密后获得;
第一数据加密发送模块54,用于将所述第一数据二级加密集合发送至所述第一系统,以使得所述第一系统基于所述第二数据二级加密集合和所述第一数据二级加密集合确定出差异数据加密集合;
明文差异数据确定模块55,用于接收所述第一系统发送的差异数据加密集合,并基于所述差异数据加密集合确定出所述第一数据集合和所述第二数据集合的差异数据明文集合;其中,对数据进行加密的算法采用可交替的确定性加密算法。
本说明书实施例提供的保护隐私的差异数据确定装置,通过各自持有不同数据的双方分别先对自己持有的数据进行一次加密后,再发送给对方进行二级加密。并且,其中一方在对对方的数据进行二级加密时增加了乱序手段,使得对方即使在获得两方数据的加密数据的差异数据后也无法基于数据的位置获得差异数据的明文以及交集数据的明文,未被打乱顺序的一方可以基于对方发送的差异数据加密集合和自己拥有的数据集合,获知差异数据的明文。获得的差异数据的明文仅仅是自己持有的数据与对方持有的数据中有差别的数据,并不能获知差异数据在对方持有的数据中的数据值。实现了不暴露任何明文数据,但可以获得双方存在差异的数据,确保了数据的安全性,为后续数据分析处理奠定了数据基础。
需要说明的,上述所述的装置根据对应方法实施例的描述还可以包括其他的实施方式。具体的实现方式可以参照上述对应的方法实施例的描述,在此不作一一赘述。
本说明书实施例还提供一种保护隐私的差异数据确定设备,包括:至少一个处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现上述实施例的保护隐私的差异数据确定方法,如:
所述方法应用在第一系统,所述第一系统内存储有第一数据集合,所述方法包括:
利用第一密钥对所述第一数据集合中的数据进行加密,获得第一数据一级加密集合;
将所述第一数据一级加密集合发送至第二系统,以使得所述第二系统使用第二密钥对所述第一数据一级加密集合中的数据进行乱序加密后获得第一数据二级加密集合;所述第二系统内存储有第二数据集合;
利用所述第一密钥对所述第二系统发送的第二数据一级加密集合中的数据进行加密,获得第二数据二级加密集合;其中,所述第二数据一级加密集合由所述第二系统使用所述第二密钥对所述第二数据集合中的数据加密后获得;
确定所述第二数据二级加密集合中与接收到的所述第二系统发送的所述第一数据二级加密集合存在差异的数据,获得差异数据加密集合;
将所述差异数据加密集合发送至所述第二系统,以使得所述第二系统基于所述差异数据加密集合获得所述第一数据集合和所述第二数据集合的差异数据明文集合;其中,对数据进行加密的算法采用可交替的确定性加密算法。
或,所述方法应用在第二系统,所述第二系统内存储有第二数据集合,所述方法包括:
利用第二密钥对所述第二数据集合中的数据进行加密,获得第二数据一级加密集合;
将所述第二数据一级加密集合发送至第一系统,以使得所述第一系统对使用第一密钥对所述第二数据一级加密集合进行加密获得第二数据二级加密集合;所述第一系统内存储有第一数据集合;
利用所述第二密钥对所述第一系统发送的第一数据一级加密集合中的数据进行乱序加密,获得第一数据二级加密集合;其中,所述第一数据一级加密集合由所述第一系统使用第一密钥对所述第一数据集合中的数据加密后获得;
将所述第一数据二级加密集合发送至所述第一系统,以使得所述第一系统基于所述第二数据二级加密集合和所述第一数据二级加密集合确定出差异数据加密集合;
接收所述第一系统发送的差异数据加密集合,并基于所述差异数据加密集合确定出所述第一数据集合和所述第二数据集合的差异数据明文集合;其中,对数据进行加密的算法采用可交替的确定性加密算法。
本说明书实施例还提供一种保护隐私的差异数据确定系统,包括:第一系统、第二系统,其中,所述第一系统内存储有第一数据集合,所述第二系统内存储有第二数据集合;其中,所述第一系统中包括至少一个处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现上述实施例中第一系统执行的方法;
所述第二系统包括至少一个处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现上述实施例中第二系统执行的方法。
需要说明的,上述所述的设备和系统根据方法实施例的描述还可以包括其他的实施方式。具体的实现方式可以参照相关方法实施例的描述,在此不作一一赘述。
本说明书提供的保护隐私的差异数据确定装置,也可以应用在多种数据分析处理系统中。所述系统或服务器或终端或设备可以为单独的服务器,也可以包括使用了本说明书的一个或多个所述方法或一个或多个实施例系统或服务器或终端或设备的服务器集群、系统(包括分布式系统)、软件(应用)、实际操作装置、逻辑门电路装置、量子计算机等并结合必要的实施硬件的终端装置。所述核对差异数据的检测系统可以包括至少一个处理器以及存储计算机可执行指令的存储器,所述处理器执行所述指令时实现上述任意一个或者多个实施例中所述方法的步骤。
本说明书实施例所提供的方法实施例可以在移动终端、计算机终端、服务器或者类似的运算装置中执行。以运行在服务器上为例,图6是本说明书一个实施例中保护隐私的差异数据确定服务器的硬件结构框图,该计算机终端可以是上述实施例中的保护隐私的差异数据确定服务器或保护隐私的差异数据确定装置。如图6所示服务器10可以包括一个或多个(图中仅示出一个)处理器100(处理器100可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的非易失性存储器200、以及用于通信功能的传输模块300。本领域普通技术人员可以理解,图6所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,服务器10还可包括比图6中所示更多或者更少的组件,例如还可以包括其他的处理硬件,如数据库或多级缓存、GPU,或者具有与图6所示不同的配置。
非易失性存储器200可用于存储应用软件的软件程序以及模块,如本说明书实施例中的保护隐私的差异数据确定方法对应的程序指令/模块,处理器100通过运行存储在非易失性存储器200内的软件程序以及模块,从而执行各种功能应用以及资源数据更新。非易失性存储器200可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,非易失性存储器200可进一步包括相对于处理器100远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端。上述网络的实例包括但不限于互联网、企业内部网、局与网、移动通信网及其组合。
传输模块300用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算机终端的通信供应商提供的无线网络。在一个实例中,传输模块300包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输模块300可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书提供的上述实施例所述的方法或装置可以通过计算机程序实现业务逻辑并记录在存储介质上,所述的存储介质可以计算机读取并执行,实现本说明书实施例所描述方案的效果,如:
所述方法应用在第一系统,所述第一系统内存储有第一数据集合,所述方法包括:
利用第一密钥对所述第一数据集合中的数据进行加密,获得第一数据一级加密集合;
将所述第一数据一级加密集合发送至第二系统,以使得所述第二系统使用第二密钥对所述第一数据一级加密集合中的数据进行乱序加密后获得第一数据二级加密集合;所述第二系统内存储有第二数据集合;
利用所述第一密钥对所述第二系统发送的第二数据一级加密集合中的数据进行加密,获得第二数据二级加密集合;其中,所述第二数据一级加密集合由所述第二系统使用所述第二密钥对所述第二数据集合中的数据加密后获得;
确定所述第二数据二级加密集合中与接收到的所述第二系统发送的所述第一数据二级加密集合存在差异的数据,获得差异数据加密集合;
将所述差异数据加密集合发送至所述第二系统,以使得所述第二系统基于所述差异数据加密集合获得所述第一数据集合和所述第二数据集合的差异数据明文集合;其中,对数据进行加密的算法采用可交替的确定性加密算法。
或,所述方法应用在第二系统,所述第二系统内存储有第二数据集合,所述方法包括:
利用第二密钥对所述第二数据集合中的数据进行加密,获得第二数据一级加密集合;
将所述第二数据一级加密集合发送至第一系统,以使得所述第一系统对使用第一密钥对所述第二数据一级加密集合进行加密获得第二数据二级加密集合;所述第一系统内存储有第一数据集合;
利用所述第二密钥对所述第一系统发送的第一数据一级加密集合中的数据进行乱序加密,获得第一数据二级加密集合;其中,所述第一数据一级加密集合由所述第一系统使用第一密钥对所述第一数据集合中的数据加密后获得;
将所述第一数据二级加密集合发送至所述第一系统,以使得所述第一系统基于所述第二数据二级加密集合和所述第一数据二级加密集合确定出差异数据加密集合;
接收所述第一系统发送的差异数据加密集合,并基于所述差异数据加密集合确定出所述第一数据集合和所述第二数据集合的差异数据明文集合;其中,对数据进行加密的算法采用可交替的确定性加密算法。
所述存储介质可以包括用于存储信息的物理装置,通常是将信息数字化后再以利用电、磁或者光学等方式的媒体加以存储。所述存储介质有可以包括:利用电能方式存储信息的装置如,各式存储器,如RAM、ROM等;利用磁能方式存储信息的装置如,硬盘、软盘、磁带、磁芯存储器、磁泡存储器、U盘;利用光学方式存储信息的装置如,CD或DVD。当然,还有其他方式的可读存储介质,例如量子存储器、石墨烯存储器等等。
本说明书实施例提供的上述保护隐私的差异数据确定方法或装置可以在计算机中由处理器执行相应的程序指令来实现,如使用windows操作系统的c++语言在PC端实现、linux系统实现,或其他例如使用android、iOS系统程序设计语言在智能终端实现,以及基于量子计算机的处理逻辑实现等。
需要说明的是说明书上述所述的装置、计算机存储介质、系统根据相关方法实施例的描述还可以包括其他的实施方式,具体的实现方式可以参照对应方法实施例的描述,在此不作一一赘述。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参考即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于硬件+程序类实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参考方法实施例的部分说明即可。
本说明书实施例并不局限于必须是符合行业通信标准、标准计算机资源数据更新和数据存储规则或本说明书一个或多个实施例所描述的情况。某些行业标准或者使用自定义方式或实施例描述的实施基础上略加修改后的实施方案也可以实现上述实施例相同、等同或相近、或变形后可预料的实施效果。应用这些修改或变形后的数据获取、存储、判断、处理方式等获取的实施例,仍然可以属于本说明书实施例的可选实施方案范围之内。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、车载人机交互设备、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
虽然本说明书一个或多个实施例提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或终端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至为分布式资源数据更新环境)。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书一个或多个时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块或子单元的组合实现等。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
本发明是参照根据本发明实施例的方法、装置(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程资源数据更新设备的处理器以产生一个机器,使得通过计算机或其他可编程资源数据更新设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程资源数据更新设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程资源数据更新设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储、石墨烯存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
本领域技术人员应明白,本说明书一个或多个实施例可提供为方法、系统或计算机程序产品。因此,本说明书一个或多个实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书一个或多个实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书一个或多个实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本本说明书一个或多个实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参考即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参考方法实施例的部分说明即可。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本说明书的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
以上所述仅为本说明书一个或多个实施例的实施例而已,并不用于限制本说明书一个或多个实施例。对于本领域技术人员来说,本说明书一个或多个实施例可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在权利要求范围之内。

Claims (16)

1.一种保护隐私的差异数据确定方法,所述方法应用在第一系统,所述第一系统内存储有第一数据集合,所述方法包括:
利用第一密钥对所述第一数据集合中的数据进行加密,获得第一数据一级加密集合;
将所述第一数据一级加密集合发送至第二系统,以使得所述第二系统使用第二密钥对所述第一数据一级加密集合中的数据进行乱序加密后获得第一数据二级加密集合;所述第二系统内存储有第二数据集合;
利用所述第一密钥对所述第二系统发送的第二数据一级加密集合中的数据进行加密,获得第二数据二级加密集合;其中,所述第二数据一级加密集合由所述第二系统使用所述第二密钥对所述第二数据集合中的数据加密后获得;
确定所述第二数据二级加密集合中与接收到的所述第二系统发送的所述第一数据二级加密集合存在差异的数据,获得差异数据加密集合;
将所述差异数据加密集合发送至所述第二系统,以使得所述第二系统基于所述差异数据加密集合获得所述第一数据集合和所述第二数据集合的差异数据明文集合;其中,对数据进行加密的算法采用可交替的确定性加密算法。
2.如权利要求1所述的方法,所述将所述差异数据加密集合发送至所述第二系统,包括:
获取所述差异数据加密集合内的数据的差异数据一级加密数据,将获得的所述差异数据一级加密数据发送至所述第二系统或将所述差异数据一级加密数据的哈希值发送至所述第二系统;
或,将所述差异数据加密集合内的数据在所述第二数据二级加密集合中的位置发送至所述第二系统。
3.如权利要求2所述的方法,所述第一数据集合和所述第二数据集合中的每个数据包括数据标识和数据内容;所述方法还包括:
接收所述第二系统发送的所述差异数据明文集合,所述差异数据明文集合中包括差异数据的数据标识明文;其中,所述差异数据明文集合由所述第二系统基于所述差异数据一级加密数据或所述差异数据一级加密数据的哈希值或所述差异数据加密集合内的数据在所述第二数据二级加密集合中的位置获得的。
4.如权利要求1所述的方法,所述第一数据集合和所述第二数据集合中的每个数据包括数据标识和数据内容;所述确定所述第二数据二级加密集合中与所述第一数据二级加密集合存在差异的数据,包括:
查询所述第二数据二级加密集合中与所述第一数据二级加密集合中数据标识相同,且数据内容不同的数据,将查询到的数据对添加到所述差异数据加密集合中。
5.如权利要求1所述的方法,所述第一数据集合和所述第二数据集合中的每个数据包括数据标识和数据内容,在对所述第一数据集合、所述第二数据集合、所述第一数据一级加密集合、所述第二数据一级加密集合中的数据进行加密时,对集合中每个数据的数据标识和数据内容分别进行加密。
6.如权利要求5所述的方法,所述对集合中每个数据的数据标识和数据内容分别进行加密,包括:
将集合中每个数据的数据标识嵌入到数据内容中,对集合中每个数据的数据标识和嵌入数据标识的数据内容分别进行加密。
7.如权利要求5所述的方法,所述对集合中每个数据的数据标识和数据内容分别进行加密,包括:
对数据标识和数据内容进行加密的密钥不同。
8.一种保护隐私的差异数据确定方法,所述方法应用在第二系统,所述第二系统内存储有第二数据集合,所述方法包括:
利用第二密钥对所述第二数据集合中的数据进行加密,获得第二数据一级加密集合;
将所述第二数据一级加密集合发送至第一系统,以使得所述第一系统对使用第一密钥对所述第二数据一级加密集合进行加密获得第二数据二级加密集合;所述第一系统内存储有第一数据集合;
利用所述第二密钥对所述第一系统发送的第一数据一级加密集合中的数据进行乱序加密,获得第一数据二级加密集合;其中,所述第一数据一级加密集合由所述第一系统使用第一密钥对所述第一数据集合中的数据加密后获得;
将所述第一数据二级加密集合发送至所述第一系统,以使得所述第一系统基于所述第二数据二级加密集合和所述第一数据二级加密集合确定出差异数据加密集合;
接收所述第一系统发送的差异数据加密集合,并基于所述差异数据加密集合确定出所述第一数据集合和所述第二数据集合的差异数据明文集合;其中,对数据进行加密的算法采用可交替的确定性加密算法。
9.如权利要求8所述的方法,所述利用所述第二密钥对所述第一系统发送的第一数据一级加密集合中的数据进行乱序加密,获得第一数据二级加密集合,包括:
使用所述第二密钥对接收到的所述第一数据一级加密集合中的数据进行加密,对加密后的第一数据加密集合中的数据的顺序进行打乱,获得所述第一数据二级加密集合;
或,对接收到的第一数据一级加密集合中的数据的顺序进行打乱,使用所述第二密钥对打乱顺序后的第一数据一级加密集合中的数据进行加密,获得所述第一数据二级加密集合。
10.如权利要求8所述的方法,所述接收所述第一系统发送的差异数据加密集合,并基于所述差异数据加密集合确定出所述第一数据集合和所述第二数据集合的差异数据明文集合,包括:
接收所述第一系统发送的所述差异数据加密集合内的数据的差异数据一级加密数据或所述差异数据一级加密数据的哈希值或所述差异数据加密集合内的数据在所述第二数据二级加密集合中的位置;
利用所述第二密钥对所述差异数据一级加密数据或所述差异数据一级加密数据的哈希值进行解密,获得差异数据明文集合;
或,基于所述差异数据加密集合内的数据在所述第二数据二级加密集合中的位置与所述第二数据集合中数据的位置,获得所述差异数据明文集合;
将所述差异数据明文集合中数据的数据标识明文发送至所述第一系统。
11.如权利要求8所述的方法,所述第一数据集合和所述第二数据集合中的每个数据包括数据标识和数据内容,在对所述第一数据集合、所述第二数据集合、所述第一数据一级加密集合、所述第二数据一级加密集合中的数据进行加密时,对集合中每个数据的数据标识和数据内容分别进行加密。
12.如权利要求11所述的方法,所述对集合中每个数据的数据标识和数据内容分别进行加密,包括:
将集合中每个数据的数据标识嵌入到数据内容中,对集合中每个数据的数据标识和嵌入数据标识的数据内容分别进行加密。
13.一种保护隐私的差异数据确定装置,应用于第一系统,所述第一系统内存储有第一数据集合,所述装置包括:
第一数据一级加密模块,用于利用第一密钥对所述第一数据集合中的数据进行加密,获得第一数据一级加密集合;
第一数据加密发送模块,用于将所述第一数据一级加密集合发送至第二系统,以使得所述第二系统使用第二密钥对所述第一数据一级加密集合的数据进行乱序加密后获得第一数据二级加密集合;所述第二系统内存储有第二数据集合;
第二数据二级加密模块,用于利用所述第一密钥对所述第二系统发送的第二数据一级加密集合中的数据进行加密,获得第二数据二级加密集合;其中,所述第二数据一级加密集合由所述第二系统使用所述第二密钥对所述第二数据集合中的数据加密后获得;
加密差异数据查询模块,用于确定所述第二数据二级加密集合中与接收到的所述第二系统发送的所述第一数据二级加密集合存在差异的数据,获得差异数据加密集合;
差异数据解密模块,用于将所述差异数据加密集合发送至所述第二系统,以使得所述第二系统基于所述差异数据加密集合获得所述第一数据集合和所述第二数据集合的差异数据明文集合;其中,对数据进行加密的算法采用可交替的确定性加密算法。
14.一种保护隐私的差异数据确定装置,应用于第二系统,所述第二系统内存储有第二数据集合,所述装置包括:
第二数据一级加密模块,用于利用第二密钥对所述第二数据集合中的数据进行加密,获得第二数据一级加密集合;
第二数据加密发送模块,用于将所述第二数据一级加密集合发送至第一系统,以使得所述第一系统对使用第一密钥对所述第二数据一级加密集合进行加密获得第二数据二级加密集合;所述第一系统内存储有第一数据集合;
第一数据二级加密模块,用于利用所述第二密钥对所述第一系统发送的第一数据一级加密集合中的数据进行乱序加密,获得第一数据二级加密集合;其中,所述第一数据一级加密集合由所述第一系统使用第一密钥对所述第一数据集合中的数据加密后获得;
第一数据加密发送模块,用于将所述第一数据二级加密集合发送至所述第一系统,以使得所述第一系统基于所述第二数据二级加密集合和所述第一数据二级加密集合确定出差异数据加密集合;
明文差异数据确定模块,用于接收所述第一系统发送的差异数据加密集合,并基于所述差异数据加密集合确定出所述第一数据集合和所述第二数据集合的差异数据明文集合;其中,对数据进行加密的算法采用可交替的确定性加密算法。
15.一种保护隐私的差异数据确定设备,包括:至少一个处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现权利要求1-7或8-12任一项所述的方法。
16.一种保护隐私的差异数据确定系统,包括:第一系统、第二系统,其中,所述第一系统内存储有第一数据集合,所述第二系统内存储有第二数据集合;其中,所述第一系统中包括至少一个处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现权利要求1-7任一项所述的方法;
所述第二系统包括至少一个处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现权利要求8-12任一项所述的方法。
CN202110087138.XA 2021-01-22 2021-01-22 保护隐私的差异数据确定方法、装置、设备及系统 Active CN112887297B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110087138.XA CN112887297B (zh) 2021-01-22 2021-01-22 保护隐私的差异数据确定方法、装置、设备及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110087138.XA CN112887297B (zh) 2021-01-22 2021-01-22 保护隐私的差异数据确定方法、装置、设备及系统

Publications (2)

Publication Number Publication Date
CN112887297A true CN112887297A (zh) 2021-06-01
CN112887297B CN112887297B (zh) 2022-09-02

Family

ID=76050076

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110087138.XA Active CN112887297B (zh) 2021-01-22 2021-01-22 保护隐私的差异数据确定方法、装置、设备及系统

Country Status (1)

Country Link
CN (1) CN112887297B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113794738A (zh) * 2021-11-16 2021-12-14 阿里云计算有限公司 数据处理方法、装置、电子设备和存储介质
CN114003962A (zh) * 2021-12-28 2022-02-01 支付宝(杭州)信息技术有限公司 保护数据隐私的多方数据查询方法及装置

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7194618B1 (en) * 2001-03-05 2007-03-20 Suominen Edwin A Encryption and authentication systems and methods
CN102231727A (zh) * 2011-03-18 2011-11-02 杭州奕锐电子有限公司 基于加密增量传输的异地共享备份恢复方法
EP2991273A2 (en) * 2014-08-29 2016-03-02 Honeywell International Inc. Methods and systems for auto-commissioning of devices in a communication network
CN109309725A (zh) * 2018-10-25 2019-02-05 深圳市腾讯信息技术有限公司 应用下载和更新方法、装置、计算机设备及存储介质
CN110413711A (zh) * 2018-08-14 2019-11-05 腾讯大地通途(北京)科技有限公司 一种差异数据获取方法及其存储介质
CN110851869A (zh) * 2019-11-14 2020-02-28 深圳前海微众银行股份有限公司 敏感信息处理方法、设备及可读存储介质
CN111541725A (zh) * 2020-07-08 2020-08-14 支付宝(杭州)信息技术有限公司 区块链一体机及其密码加速卡、密钥管理方法和装置
CN111611623A (zh) * 2020-07-03 2020-09-01 腾讯科技(深圳)有限公司 一种隐私数据处理方法和装置
CN111741020A (zh) * 2020-07-31 2020-10-02 支付宝(杭州)信息技术有限公司 基于数据隐私保护的公共数据集确定方法、装置及系统
CN111753318A (zh) * 2020-06-04 2020-10-09 支付宝(杭州)信息技术有限公司 私有数据的多方安全计算方法、装置及系统
CN112185498A (zh) * 2020-09-24 2021-01-05 毛真真 一种中医内科患者数据信息处理方法、系统、装置

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7194618B1 (en) * 2001-03-05 2007-03-20 Suominen Edwin A Encryption and authentication systems and methods
CN102231727A (zh) * 2011-03-18 2011-11-02 杭州奕锐电子有限公司 基于加密增量传输的异地共享备份恢复方法
EP2991273A2 (en) * 2014-08-29 2016-03-02 Honeywell International Inc. Methods and systems for auto-commissioning of devices in a communication network
CN110413711A (zh) * 2018-08-14 2019-11-05 腾讯大地通途(北京)科技有限公司 一种差异数据获取方法及其存储介质
CN109309725A (zh) * 2018-10-25 2019-02-05 深圳市腾讯信息技术有限公司 应用下载和更新方法、装置、计算机设备及存储介质
CN110851869A (zh) * 2019-11-14 2020-02-28 深圳前海微众银行股份有限公司 敏感信息处理方法、设备及可读存储介质
CN111753318A (zh) * 2020-06-04 2020-10-09 支付宝(杭州)信息技术有限公司 私有数据的多方安全计算方法、装置及系统
CN111611623A (zh) * 2020-07-03 2020-09-01 腾讯科技(深圳)有限公司 一种隐私数据处理方法和装置
CN111541725A (zh) * 2020-07-08 2020-08-14 支付宝(杭州)信息技术有限公司 区块链一体机及其密码加速卡、密钥管理方法和装置
CN111741020A (zh) * 2020-07-31 2020-10-02 支付宝(杭州)信息技术有限公司 基于数据隐私保护的公共数据集确定方法、装置及系统
CN112185498A (zh) * 2020-09-24 2021-01-05 毛真真 一种中医内科患者数据信息处理方法、系统、装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113794738A (zh) * 2021-11-16 2021-12-14 阿里云计算有限公司 数据处理方法、装置、电子设备和存储介质
CN114003962A (zh) * 2021-12-28 2022-02-01 支付宝(杭州)信息技术有限公司 保护数据隐私的多方数据查询方法及装置

Also Published As

Publication number Publication date
CN112887297B (zh) 2022-09-02

Similar Documents

Publication Publication Date Title
CN113254957B (zh) 基于隐私信息保护的数据查询方法、装置、设备及系统
US10917394B2 (en) Data operations using a proxy encryption key
CN110650010B (zh) 一种非对称密钥中的私钥生成和使用方法、装置和设备
CN110870252B (zh) 验证电子设备授权的方法和设备
CN111741028B (zh) 业务处理方法、装置、设备及系统
CN109347839B (zh) 集中式密码管理方法、装置、电子设备及计算机存储介质
CN112887297B (zh) 保护隐私的差异数据确定方法、装置、设备及系统
US8769302B2 (en) Encrypting data and characterization data that describes valid contents of a column
CN107277028B (zh) 在应用间传输聊天表情的方法及装置、设备、存储介质
CN111191255B (zh) 信息加密处理的方法、服务器、终端、设备以及存储介质
CN109687966A (zh) 加密方法及其系统
CN113711247A (zh) 一种机器学习模型的数据处理方法、装置及系统
CN112822201B (zh) 保护隐私的差异数据确定方法、装置、设备及系统
CN114398623A (zh) 一种安全策略的确定方法
CN113282959A (zh) 业务数据处理方法、装置及电子设备
CN110866274A (zh) 一种数据融合方法、平台、系统以及数据处理平台
CN113254989B (zh) 目标数据的融合方法、装置和服务器
CN108985109A (zh) 一种数据存储方法及装置
CN107872312B (zh) 对称密钥动态生成方法、装置、设备及系统
JP6763096B1 (ja) システム
CN112182509A (zh) 一种合规数据的异常检测方法、装置及设备
CN110995447A (zh) 一种数据存证方法、装置、设备以及介质
CN104504306A (zh) 一种对文件进行加密的方法及设备
US20190034661A1 (en) Method for safeguarding the confidentiality of the sender&#39;s identification of messages transmitted through promiscuous channels
KR102423507B1 (ko) 정보 비교 검증 시스템 및 이를 이용한 정보 비교 검증 방법

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