欢迎光临小豌豆知识网!
当前位置:首页 > 电学技术 > 电通讯技术> 保护隐私的数据联合处理方法及装置独创技术40832字

保护隐私的数据联合处理方法及装置

2021-02-01 15:22:15

保护隐私的数据联合处理方法及装置

  技术领域

  本说明书一个或多个实施例涉及计算机技术领域,尤其涉及一种保护隐私的数据联合处理方法及装置。

  背景技术

  为了能够更好的创造价值、促进业务发展、打破数据孤岛,通常会在多数据平台之间进行数据联合处理。比如,在多数据平台之间进行数据求交,即获取多数据平台的重合数据。然而由于各数据平台的数据具有机密性,因此,在确定重合数据的过程中,通常需要数据平台在不泄漏自身数据的前提下,获得自身和其它数据平台的重合数据。也即需要在对各数据平台的数据进行隐私保护的前提下,确定各数据平台的重合数据。

  传统技术中,通常借助加密通信信道或者密码学方法,确定各数据平台的重合数据。

  发明内容

  本说明书一个或多个实施例描述了一种保护隐私的数据联合处理方法及装置,可以实现各数据平台数据的隐私保护。

  第一方面,提供了一种保护隐私的数据联合处理方法,包括:

  获取所述N个数据平台各自的加密数据,所述N个数据平台中任意的第一数据平台的加密数据,通过在所述第一数据平台的各条原始数据中添加所述第二公钥后进行哈希运算,再使用对应于所述第一数据平台的第一公钥,对各条哈希结果进行加密而得到;

  将所述N个数据平台各自的加密数据加载到所述TEE中,在所述TEE中,使用所述N个第一公钥对应的N个第一私钥,分别对所述N个数据平台各自的加密数据进行解密,得到所述N个数据平台各自的各条哈希结果;

  基于所述N个数据平台各自的各条哈希结果,确定所述N个数据平台的重合数据的指示结果。

  第二方面,提供了一种保护隐私的数据联合处理方法,包括:

  在所述第一数据平台的各条原始数据中,添加保存在所述第一数据平台的第二公钥;所述第二公钥为所述第一服务器维护的N+1个公私钥对中,除对应于所述N个数据平台的N个公私钥对外的1个公私钥对中的公钥;

  对添加所述第二公钥后的各条原始数据进行哈希运算,得到各条哈希结果;

  使用保存在所述第一数据平台的第一公钥,对所述各条哈希结果进行加密,得到所述第一数据平台的加密数据,用于提供给所述第一服务器,使其确定所述N个数据平台的重合数据的指示结果;所述第一公钥为所述N个公私钥对中的N个第一公钥中对应于所述第一数据平台的第一公钥。

  第三方面,提供了一种保护隐私的数据联合处理装置,包括:

  获取单元,用于获取所述N个数据平台各自的加密数据,所述N个数据平台中任意的第一数据平台的加密数据,通过在所述第一数据平台的各条原始数据中添加所述第二公钥后进行哈希运算,再使用对应于所述第一数据平台的第一公钥,对各条哈希结果进行加密而得到;

  解密单元,用于将所述N个数据平台各自的加密数据加载到所述TEE中,在所述TEE中,使用所述N个第一公钥对应的N个第一私钥,分别对所述N个数据平台各自的加密数据进行解密,得到所述N个数据平台各自的各条哈希结果;

  确定单元,用于基于所述N个数据平台各自的各条哈希结果,确定所述N个数据平台的重合数据的指示结果。

  第四方面,提供了一种保护隐私的数据联合处理装置,包括:

  添加单元,用于在所述第一数据平台的各条原始数据中,添加保存在所述第一数据平台的第二公钥;所述第二公钥为所述第一服务器维护的N+1个公私钥对中,除对应于所述N个数据平台的N个公私钥对外的1个公私钥对中的公钥;

  运算单元,用于对添加所述第二公钥后的各条原始数据进行哈希运算,得到各条哈希结果;

  加密单元,用于使用保存在所述第一数据平台的第一公钥,对所述各条哈希结果进行加密,得到所述第一数据平台的加密数据,用于提供给所述第一服务器,使其确定所述N个数据平台的重合数据的指示结果;所述第一公钥为所述N个公私钥对中的N个第一公钥中对应于所述第一数据平台的第一公钥。

  第五方面,提供了一种存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面的方法或第二方面的方法。

  第六方面,提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面的方法或第二方面的方法。

  本说明书一个或多个实施例提供的保护隐私的数据联合处理方法及装置,各数据平台在各自的数据中添加相同的公钥,并在添加公钥后进行哈希运算,以及对哈希结果进行加密,由此可以得到各数据平台的加密数据。之后,在第一服务器的可信执行环境中,对各数据平台各自的加密数据进行解密,得到各数据平台各自的哈希结果。基于各数据平台各自的哈希结果,确定N个数据平台的重合数据的指示结果。需要说明的是,本方案中,各数据平台在获取各自的加密数据时,通过在各自的原始数据中添加第二公钥,可以有效解决各数据平台的数据泄露问题,进而可以确保数据联合处理的安全性。此外,第一服务器在其可信执行环境进行中对各数据平台的加密数据进行解密,进而确定各数据平台的重合数据的指示结果,可以实现各数据平台的数据的隐私保护。

  附图说明

  为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。

  图1为本说明书提供的保护隐私的数据联合处理方法应用场景示意图;

  图2为本说明书一个实施例提供的保护隐私的数据联合处理方法流程图;

  图3为本说明书另一个实施例提供的保护隐私的数据联合处理方法流程图;

  图4为本说明书提供的保护隐私的数据联合处理方法示意图;

  图5为本说明书一个实施例提供的保护隐私的数据联合处理装置示意图;

  图6为本说明书另一个实施例提供的保护隐私的数据联合处理装置示意图。

  具体实施方式

  下面结合附图,对本说明书提供的方案进行描述。

  在描述本说明书提供的方案之前,先对本方案的发明构思作以下说明。

  如前所述,在传统技术中,通常借助加密通信信道或者密码学方法,确定各数据平台的重合数据,这些方法均需基于网络传输才能实现,也即需要在有网络连接的环境下实现。为了进一步确保各数据平台数据的安全性,本申请的发明人提出在没有网络连接的环境下确定各数据平台的重合数据,也即在网络隔离环境下确定各数据平台的重合数据。

  具体地,获取N个数据平台各自的加密数据,N个数据平台中任意的第一数据平台的加密数据,通过在第一数据平台的各条原始数据中添加第二公钥后进行哈希运算,再使用对应于第一数据平台的第一公钥,对各条原始数据的哈希结果进行加密而得到。将N个数据平台各自的加密数据加载到可信执行环境(Trusted Execution Environment,TEE)中,在TEE中,使用N个第一公钥对应的N个第一私钥,分别对N个数据平台各自的加密数据进行解密,得到N个数据平台各自的各条原始数据的哈希结果。基于N个数据平台各自的各条哈希结果,确定N个数据平台的重合数据的指示结果。

  需要说明的是,本方案中,各数据平台在获取各自的加密数据时,通过在各自的原始数据中添加第二公钥,可以避免在通过移动存储介质传递各数据平台的数据过程中数据泄露的问题,也即可以有效解决中间人攻击的问题,进而可以确保数据联合处理的安全性。此外,第一服务器在其可信执行环境进行中对各数据平台的加密数据进行解密,进而确定各数据平台的重合数据的指示结果,可以实现各数据平台的数据的隐私保护。

  此外,对于上述第一数据平台的第一公钥,由于其也是由第一服务器生成后,通过移动存储介质传递给第一数据平台,从而其也存在被中间人攻击的问题。这里的中间人对第一公钥的攻击过程可以如下:中间人在获取到第一服务器生成的第一公钥之后,向数据平台提供其私下生成的公钥,等到拿到数据平台返回的加密数据,便可用自己的私钥解密获得hash后的数据。最后用获取的第一公钥(即第一服务器生成的公钥)对解密后的数据再次加密。

  为此,本申请的发明人提出第一服务器预先生成N+1个公私钥对,这里的N为参与方的个数,多余的1个公私钥对(以下称根秘钥对)中的私钥用于对传输至各参与方的第一公钥进行签名。其中,这里的根秘钥对的生成是借鉴于证书的数字签名的思想。也即这里对第一公钥进行签名类似于根证书对二级证书签名。应理解,为了使得各参与方能够对对应的第一公钥进行验证。第一服务器需预先向各参与方传输根秘钥对中的第二公钥。然而由于该根秘钥对中的第二公钥也存在被攻击的可能,为此本申请的发明人提出将该第二公钥添加到各数据平台各自的数据中。应理解,因为各数据平台添加了同一公钥,从而不会影响重合数据的判断。

  需要说明的是,在将第二公钥添加到各数据平台各自的数据中之后,如果任一数据平台中所保存的该第二公钥被中间人所篡改,那么该数据平台的数据的哈希结果与其它数据平台的数据的哈希结果的求交结果一般为空(即重合数据为空),在经过多次求交之后,就可以识别出异常数据,进而可以识别出第二公钥被篡改的数据平台。

  总而言之,本申请提供的方案,可以有效防止第一公钥、第二公钥以及各数据平台的数据被篡改,进而可以在对各数据平台的数据进行隐私保护的前提下,确定N个数据平台的重合数据。

  以上就是本说明书提供的发明构思,基于该发明构思就可以得到本方案,以下对本方案进行详细阐述。

  图1为本说明书提供的保护隐私的数据联合处理方法应用场景示意图。图1中,第一服务器处于网络隔离环境下,或者说第一服务器没有网络连接。其可以包括TEE,该TEE中维护有N+1个公私钥对,其中的N个公私钥对中的N个第一公钥由N个数据平台分别使用,剩余的1个公私钥对中的第二公钥由所述N个数据平台共同使用。此外,第一服务器还可以包括对应于N个数据平台的N个文件目录,其中的每个文件目录用于保存对应数据平台的加密数据。图1中的N个数据平台中的每个数据平台维护有对应的第一公钥和第二公钥,且每个数据平台可以基于其维护的第一公钥和第二公钥,对对应的各条数据进行加密,得到对应的加密数据。

  需要说明的是,由于第一服务器处于网络隔离环境下,从而第一服务器在生成上述第一公钥和第二公钥之后,可以通过移动存储介质传递给各数据平台。同样的,各数据平台的加密数据也通过移动存储介质提供给第一服务器。这里的移动存储介质可以包括但不限于U盘、移动硬盘、软盘、光盘以及存储卡等。

  以下结合图1对本说明书提供的方案进行详细说明。

  图2为本说明书一个实施例提供的保护隐私的数据联合处理方法流程图。所述方法的执行主体可以为具有处理能力的设备:服务器或者系统或者装置,如,可以为图1中的第一服务器。如图2所示,所述方法具体可以包括:

  步骤202,获取N个数据平台各自的加密数据。

  如,可以是通过移动存储介质,分别获取N个数据平台各自的加密数据。

  在一个例子中,在获取到N个数据平台各自的加密数据之后,可以将其对应存储到N个文件目录文件中。其中的每个文件目录可以用于保存对应的一个数据平台的加密数据。

  以N个数据平台中任意的第一数据平台为例来说,第一数据平台的加密数据可以通过以下步骤获得:步骤a,在第一数据平台的各条原始数据中添加第二公钥后进行哈希运算,得到第一数据平台的各条哈希结果。步骤b,使用保存在第一数据平台的第一公钥,对各条哈希结果进行加密,得到第一数据平台的加密数据。

  关于上述步骤a,步骤a中的各条原始数据可以包括用户的隐私数据。其中,用户的隐私数据可以包括以下任一种:风险标签、隐私属性、身份标识信息以及生物特征信息等。此外,上述各条原始数据可以是记录在数据表中的各行数据记录。从而,上述在第一数据平台的各条原始数据中添加第二公钥,即为在数据表的各行数据记录中添加第二公钥。

  上述第二公钥是指第一服务器维护的N+1个公私钥对中,除对应于N个数据平台的N个公私钥对外的1个公私钥对中的公钥(即根秘钥对中的公钥)。在一个例子中,可以在第一服务器生成第二公钥之后,将该第二公钥存入移动存储介质,之后通过该移动存储介质,将第二公钥传递给第一数据平台。在另一个例子中,也可以是在第一服务器生成并公示第二公钥之后,由中间人记录在该第一数据平台中。

  需要说明的是,上述在各条原始数据中添加第二公钥,也可以理解为是在各条原始数据中加盐或者添加随机字符串。比如,可以是在每条原始数据的前面、后面或者中间某个位置添加第二公钥。之后,对每条添加第二公钥后的原始数据进行哈希运算,得到对应的一条哈希结果。也就是说,上述添加第二公钥以及哈希运算是针对每条原始数据单独执行的。

  另外,步骤a中所使用的哈希算法可以采用SHA家族算法,例如可以为SHA256算法、SHA384算法以及SHA512算法等。

  可选地,在得到第一数据平台的各条哈希结果之后,可以对各条哈希结果进行排序。以及,还可以将排序后的各条哈希结果输出至中间表中。

  应理解,在还对各条哈希结果进行排序时,步骤b可以替换为:使用保存在第一数据平台的第一公钥,对排序后的各条哈希结果进行加密,得到第一数据平台的加密数据。

  在步骤b或者替换后的步骤b中,第一公钥是指第一服务器维护的N个公私钥对中的N个第一公钥中对应于第一数据平台的第一公钥。在一个例子中,可以是在第一服务器生成N个第一公钥之后,通过移动存储介质,将第一公钥传递给第一数据平台。

  为避免在通过移动存储介质传递第一公钥时,对该第一公钥进行篡改,也即为了避免中间人攻击第一公钥,上述通过移动存储介质传递第一公钥的步骤具体可以包括:第一服务器生成第一公钥,使用上述第二公钥对应的第二私钥(即根秘钥对中的私钥),对该第一公钥签名。并将签名后的第一公钥存入移动存储介质。之后通过移动存储介质,将签名后的第一公钥传递给第一数据平台。第一数据平台在获取到签名后的第一公钥之后,使用上述第二公钥,对签名后的第一公钥进行验证,并在验证通过后保存在第一公钥。

  需要说明的是,为了避免中间人攻击第一公钥,本说明书中提出上述通过第二公钥对第一公钥进行签名的构思。然而,为实现签名后的第一公钥的验证,各数据平台需预先保存第二公钥。由于第二公钥也存在被中间人攻击的可能,本申请提出将该第二公钥添加到各数据平台各自的数据中。

  应理解,在将该第二公钥添加到各数据平台各自的数据中时,如果任一数据平台中所保存的该第二公钥被中间人所篡改,那么该数据平台的数据的哈希结果与其它数据平台的数据的哈希结果的求交结果一般为空,在经过多次求交之后,就可以识别出异常数据,进而可以识别出第二公钥被篡改的数据平台。

  此外,步骤b或者替换后的步骤b中所使用的加密算法可以为任一非对称加密算法,如,可以为RSA2048算法、数字签名算法(Digital Signature Algorithm,DSA)、椭圆曲线加密算法(Elliptic Curves Cryptography,ECC)以及DH算法等。其中,RSA2048算法采用分块加密的方式,其中的每个分块的大小可以为198byte大小的数据。也就是说,在采用RSA2048算法进行加密时,每个分块可以对应若干条哈希结果。

  步骤204,将N个数据平台各自的加密数据加载到TEE中,在TEE中,使用N个第一公钥对应的N个第一私钥,分别对N个数据平台各自的加密数据进行解密,得到N个数据平台各自的各条哈希结果。

  如,可以从N个目录文件中,分别读取N个数据平台各自的加密数据,并将其加载到TEE中。

  还以N个数据平台中的第一数据平台为例来说,可以使用第一数据平台的第一公钥对应的第一私钥,对第一数据平台的加密数据进行解密,可以得到第一数据平台的各条哈希结果。应理解,这里的哈希结果即为通过对添加第二公钥后的各条原始数据进行哈希运算而得到。

  步骤206,基于N个数据平台各自的各条哈希结果,确定N个数据平台的重合数据的指示结果。

  上述确定指示结果的步骤具体可以包括:将N个数据平台中哈希结果的条数最少的数据平台作为目标平台。对于目标平台的每条哈希结果,在其它N-1个数据平台各自的各条哈希结果中,查找相匹配的哈希结果。若在每个数据平台的各条哈希结果中,均能查找到相匹配的哈希结果。则将该条原始哈希结果的查找结果设定为第一数值。否则将该条哈希结果的查找结果设定为第二数值。基于各条哈希结果的查找结果,形成N个数据平台的重合数据的指示结果。

  在一个示例中,如果N个数据平台各自的各条哈希结果是按序排列的,那么对于目标平台的每条哈希结果,在其它N-1个数据平台各自的各条哈希结果中,查找相匹配的哈希结果的步骤具体可以包括:对于目标平台的每条哈希结果,通过二分查找法,在其它N-1个数据平台中每个数据平台的各条哈希结果中查找相匹配的哈希结果。

  需要说明的是,本说明书中,通过二分查找法,在每个数据平台的各条哈希结果中查找相匹配的哈希结果,可以大大提升查找效率。

  此外,应理解,在上述第一数值为1,第二数值为0的情况下,所形成的指示结果即为布尔向量。需要说明的是,本说明书中确定N个数据平台的重合数据的指示结果的方式,可以避免数据泄露的风险。

  还需要说明的是,本说明书所获取的指示结果的数目可以为N个,其中,一个指示结果对应于一个数据平台。应理解,当指示结果的数目为N个时,在上述确定指示结果的具体步骤中,不再将哈希结果的条数最少的数据平台作为目标平台,而是依次将N个数据平台中的每个数据平台作为目标平台,然后确定对应的指示结果。具体确定过程在此不复赘述。

  以下结合例子对指示结果为N个的情况进行说明。

  假设有两个数据平台:平台1和平台2,且平台1的各条哈希结果如表1所示,平台2的各条哈希结果如表2所示。

  表1

  

  

  表2

  

  在平台1和平台2的各条哈希结果分别如表1和表2所示时,所得到的指示结果可以分别如表3和表4所示。其中,表3的指示结果对应于平台1,表4的指示结果对应于平台2。

  表3

  表4

  由上可以看出,表1中哈希结果的条数与表3中“0”和“1”的总个数是相等的。且表1中每条哈希结果对应于表3中的一个“0”或者“1”。表2中哈希结果的条数与表4中“0”和“1”的总个数是相等的。且表2中每条哈希结果对应于表4中的一个“0”或者“1”。以表3为例来说,第1个“0”用于表示在表2中未存储哈希结果“123”。或者说,在平台2的各条哈希结果中未查找到哈希结果“123”。

  需要说明的是,由于上述指示结果通常没有任何的实际含义,因此,第一服务器在确定出对应于N个数据平台的N个指示结果之后,可以将每个指示结果存入移动存储介质中。之后,通过该移动存储介质,可以将每个指示结果传递给对应的数据平台。各数据平台在获取到对应的指示结果之后,可以确定对应于各自的指示结果的最终重合结果。

  以N个数据平台中任意的第一数据平台为例来说,在上述指示结果为布尔向量的情况下,确定对应于指示结果的最终重合结果的步骤可以包括:

  对布尔向量中的各元素进行元素值判断,该元素值判断包括:若当前元素的元素值为1,则将排序后的各条哈希结果中,位于当前元素所在位置的哈希结果选取为目标结果。否则,舍弃位于当前元素所在位置的哈希结果。在对布尔向量中的各元素进行元素值判断之后,基于选取的各目标结果,形成最终重合结果。

  以表3示出的指示结果为例来说,该指示结果可以表示为如下的布尔向量:0110。布尔向量中的每个元素对应于表1中的一个哈希结果。比如,假设表1中的各个哈希结果是按序排列的,那么第1个元素“0”对应于表1中的第1个哈希结果“123”。第2个元素“1”对应于表1中的第2个哈希结果“456”。依次类推。需要说明的是,如果表1中的各个哈希结果未经过排序,那么可以从中间表中读取经过排序的各个哈希结果。

  可以理解的是,按照前述的最终重合结果的确定步骤,在对布尔向量:0110中的各元素进行元素值判断之后,所选取的各目标结果包括:“456”和“abc”。从而所形成的最终重合结果可以如表5所示。

  表5

  即平台1和平台2之间存在两条重合数据,且该两条重合数据分别为:“456”和“abc”。

  总上,本说明书实施例提供的保护隐私的数据联合处理方法,可以在网络隔离环境下,确定各数据平台的重合数据,由此,可以实现各数据平台的数据的隐私保护。此外,本方案额外生成一对公私钥对作为根秘钥对,并且用根秘钥对的私钥对各数据平台的第一公钥进行签名,以及将根秘钥对中的公钥添加到各数据平台的各条原始数据中,可以有效解决中间人攻击的问题。

  图3为本说明书另一个实施例提供的保护隐私的数据联合处理方法流程图。所述方法的执行主体可以为具有处理能力的设备:服务器或者系统或者装置,如,可以为图1中的N个数据平台中任意的第一数据平台。如图3所示,所述方法具体可以包括:

  步骤302,在第一数据平台的各条原始数据中,添加保存在第一数据平台的第二公钥。

  这里的各条原始数据可以包括用户的隐私数据。其中,用户的隐私数据可以包括以下任一种:风险标签、隐私属性、身份标识信息以及生物特征信息等。此外,上述各条原始数据可以是记录在数据表中的各行数据记录。从而,上述在第一数据平台的各条原始数据中添加第二公钥,即为在数据表的各行数据记录中添加第二公钥。

  上述第二公钥是指第一服务器维护的N+1个公私钥对中,除对应于N个数据平台的N个公私钥对外的1个公私钥对中的公钥(即根秘钥对中的公钥)。在一个例子中,可以在第一服务器生成第二公钥之后,将该第二公钥存入移动存储介质,之后通过该移动存储介质,将第二公钥传递给第一数据平台。在另一个例子中,也可以是在第一服务器生成并公示第二公钥之后,由中间人记录在该第一数据平台中。

  需要说明的是,上述在各条原始数据中添加第二公钥,也可以理解为是在各条原始数据中加盐或者添加随机字符串。比如,可以是在每条原始数据的前面、后面或者中间某个位置添加第二公钥。之后,对每条添加第二公钥后的原始数据进行哈希运算,得到对应的一条哈希结果。也就是说,上述添加第二公钥的步骤是针对每条原始数据分别执行的。

  步骤304,对添加第二公钥后的各条原始数据进行哈希运算,得到各条哈希结果。

  需要说明的是,这里的哈希运算也是针对每条原始数据分别执行的。也即,针对一条原始数据,可以得到一条哈希结果。另外,上述哈希算法可以采用SHA家族算法,例如可以为SHA256算法、SHA384算法以及SHA512算法等。

  步骤306,使用保存在第一数据平台的第一公钥,对各条哈希结果进行加密,得到第一数据平台的加密数据。

  可选地,在对各条哈希结果进行加密之前,可以对各条哈希结果进行排序。以及,还可以将排序后的各条哈希结果输出至中间表中。

  应理解,在还对各条哈希结果进行排序时,步骤306可以替换为:使用保存在第一数据平台的第一公钥,对排序后的各条哈希结果进行加密,得到第一数据平台的加密数据。

  上述第一公钥是指第一服务器维护的N个公私钥对中的N个第一公钥中对应于第一数据平台的第一公钥。在一个例子中,可以是在第一服务器生成N个第一公钥之后,通过移动存储介质,将对应于第一数据平台的第一公钥传递给第一数据平台。

  为避免在通过移动存储介质传递第一公钥时,对该第一公钥进行篡改,也即为了避免中间人攻击第一公钥,上述通过移动存储介质传递第一公钥的步骤具体可以包括:第一服务器生成第一公钥,使用上述第二公钥对应的第二私钥(即根秘钥对中的私钥),对该第一公钥签名。并将签名后的第一公钥存入移动存储介质。之后通过移动存储介质,将签名后的第一公钥传递给第一数据平台。第一数据平台在获取到签名后的第一公钥之后,使用上述第二公钥,对签名后的第一公钥进行验证,并在验证通过后保存在第一公钥。

  需要说明的是,为了避免中间人攻击第一公钥,本说明书中提出上述通过第二公钥对第一公钥进行签名的构思。然而,为实现签名后的第一公钥的验证,各数据平台需预先保存第二公钥。由于第二公钥也存在被中间人攻击的可能,因此本申请将该第二公钥添加到各数据平台各自的数据中。

  应理解,在将该第二公钥添加到各数据平台各自的数据中时,如果任一数据平台中所保存的该第二公钥被中间人所篡改,那么该数据平台的数据的哈希结果与其它数据平台的数据的哈希结果的求交结果一般为空,在经过多次求交之后,就可以识别出异常数据,进而可以识别出第二公钥被篡改的数据平台。

  另外,步骤306中所使用的加密算法可以为任一非对称加密算法,如,可以为RSA2048算法、数字签名算法(Digital Signature Algorithm,DSA)、椭圆曲线加密算法(Elliptic Curves Cryptography,ECC)以及DH算法等。其中,RSA2048算法采用分块加密的方式,其中的每个分块的大小可以为198byte大小的数据。也就是说,在采用RSA2048算法进行加密时,每个分块可以对应若干条哈希结果。

  还需要说明的是,第一数据平台在获取到对应的加密数据之后,可以通过移动存储介质将该加密数据提供给第一服务器。从而第一服务器可以将第一数据平台的加密数据加载到TEE中,并对其进行解密,得到第一数据平台的各条哈希结果。可以理解的是,在第一服务器可以解密得到N个数据平台各自的各条哈希结果之后,可以基于N个数据平台各自的各条哈希结果,确定N个数据平台的重合数据的指示结果。以及各数据平台可以基于各自获取的指示结果以及中间表,可以确定出各数据平台的最终重合结果。这里的指示结果的确定以及最终重合结果的确定可参见上文所述,在此不复赘述。

  总上,本说明书实施例提供的保护隐私的数据联合处理方法,可以在网络隔离环境下,确定各数据平台的重合数据,由此,可以实现各数据平台的数据的隐私保护。

  图4为本说明书提供的保护隐私的数据联合处理方法示意图。图4中,数据联合处理方法可以包括四个步骤。第一,秘钥分配。第一服务器可以在TEE中预先生成N+1个公私钥对,其中的N个公私钥对中的N个第一公钥按照约定分别分配给N个数据平台。剩余的1个公私钥对中的第二公钥同时分配给N个数据平台。第二,数据加密。每个数据平台可以在对应原始表中的各行数据记录中添加第二公钥后进行哈希运算,得到各条哈希结果。之后通过对各条哈希结果进行排序,可以得到中间表。最后,通过对中间表中经过排序的各条哈希结果进行加密,得到对应的加密数据。第三,确定重合数据的指示结果。第一服务器获取N个数据平台各自的加密数据,并将其加载到TEE中进行解密,得到N个数据平台各自的各条哈希结果。之后,基于N个数据平台各自的各条哈希结果,确定N个数据平台各自的布尔向量。第四,确定最终重合结果。每个数据平台基于各自的布尔向量以及中间表,确定最终重合结果。

  与上述保护隐私的数据联合处理方法对应地,本说明书一个实施例还提供的一种保护隐私的数据联合处理装置,设置于第一服务器,该第一服务器包括可信执行环境TEE。TEE中维护有N+1个公私钥对,其中的N个公私钥对中的N个第一公钥由N个数据平台分别使用,剩余的1个公私钥对中的第二公钥由所述N个数据平台共同使用,N为正整数。如图5所示,该装置可以包括:

  获取单元502,用于获取N个数据平台各自的加密数据,该N个数据平台中任意的第一数据平台的加密数据,通过在第一数据平台的各条原始数据中添加第二公钥后进行哈希运算,再使用对应于第一数据平台的第一公钥,对各条哈希结果进行加密而得到。

  这里的各条原始数据可以包括用户的隐私数据。用户的隐私数据包括以下任一种:风险标签、隐私属性、身份标识信息以及生物特征信息等。

  获取单元502具体可以用于:

  通过移动存储介质,分别获取N个数据平台各自的加密数据。

  解密单元504,用于将N个数据平台各自的加密数据加载到TEE中,在TEE中,使用N个第一公钥对应的N个第一私钥,分别对N个数据平台各自的加密数据进行解密,得到N个数据平台各自的各条哈希结果。

  确定单元506,用于基于N个数据平台各自的各条哈希结果,确定N个数据平台的重合数据的指示结果。

  确定单元506具体可以用于:

  将N个数据平台中哈希结果的条数最少的数据平台作为目标平台。

  对于目标平台的每条哈希结果,在其它N-1个数据平台各自的各条哈希结果中,查找相匹配的哈希结果。

  若在每个数据平台的各条哈希结果中,均能查找到相匹配的哈希结果。则将该条哈希结果的查找结果设定为第一数值,否则将该条哈希结果的查找结果设定为第二数值。

  基于各条哈希结果的查找结果,形成重合数据的指示结果。

  其中,在第一数值为1,第二数值为0时,上述指示结果可以为布尔向量。

  可选地,N个数据平台各自的各条哈希结果是按序排列的。

  确定单元506还具体可以用于:

  对于目标平台的每条哈希结果,通过二分查找法,在其它N-1个数据平台中每个数据平台的各条哈希结果中查找相匹配的哈希结果。

  可选地,该装置还可以包括:

  签名单元508,用于使用第二公钥对应的第二私钥,对所述第一数据平台的第一公钥进行签名。

  保存单元510,用于将签名后的第一公钥存入移动存储介质,用以通过移动存储介质将签名后的第一公钥传递给第一数据平台,以供其验证后保存第一公钥。

  本说明书上述实施例装置的各功能模块的功能,可以通过上述方法实施例的各步骤来实现,因此,本说明书一个实施例提供的装置的具体工作过程,在此不复赘述。

  本说明书一个实施例提供的保护隐私的数据联合处理装置,可以在网络隔离环境下,确定各数据平台的重合数据,由此,可以实现各数据平台的数据的隐私保护。

  与上述保护隐私的数据联合处理方法对应地,本说明书一个实施例还提供的一种保护隐私的数据联合处理装置,设置于N个数据平台中任意的第一数据平台。如图6所示,该装置可以包括:

  添加单元602,用于在第一数据平台的各条原始数据中,添加保存在第一数据平台的第二公钥。该第二公钥为第一服务器维护的N+1个公私钥对中,除对应于N个数据平台的N个公私钥对外的1个公私钥对中的公钥。

  运算单元604,用于对添加第二公钥后的各条原始数据进行哈希运算,得到各条哈希结果。

  加密单元606,用于使用保存在第一数据平台的第一公钥,对各条哈希结果进行加密,得到第一数据平台的加密数据,用于提供给第一服务器,使其确定N个数据平台的重合数据的指示结果。第一公钥为N个公私钥对中的N个第一公钥中对应于第一数据平台的第一公钥。

  加密单元606具体可以用于:

  对各条哈希结果进行排序。

  使用保存在第一数据平台的第一公钥,对排序后的各条哈希结果进行加密,得到第一数据平台的加密数据。

  可选地,该装置还可以包括:

  获取单元608,用于通过移动存储介质,获取签名后的第一公钥。使用第二公钥,对签名后的第一公钥进行验证。在验证通过后,保存第一公钥。

  可选地,上述指示结果可以为布尔向量。该装置还可以包括:

  确定单元610,用于对布尔向量中的各元素进行元素值判断,该元素值判断包括:若当前元素的元素值为1,则将排序后的各条哈希结果中,位于当前元素所在位置的哈希结果选取为目标结果。否则,舍弃位于当前元素所在位置的哈希结果。在对布尔向量中的各元素进行元素值判断之后,基于选取的各目标结果,形成最终重合结果。

  本说明书上述实施例装置的各功能模块的功能,可以通过上述方法实施例的各步骤来实现,因此,本说明书一个实施例提供的装置的具体工作过程,在此不复赘述。

  本说明书一个实施例提供的保护隐私的数据联合处理装置,可以在网络隔离环境下,确定各数据平台的重合数据,由此,可以实现各数据平台的数据的隐私保护。

  另一方面,本说明书的实施例提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行图2或图3所示的方法。

  另一方面,本说明书的实施例提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现图2或图3所示的方法。

  本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

  结合本说明书公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、移动硬盘、CD-ROM或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于服务器中。当然,处理器和存储介质也可以作为分立组件存在于服务器中。

  本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。

  上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

  以上所述的具体实施方式,对本说明书的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本说明书的具体实施方式而已,并不用于限定本说明书的保护范围,凡在本说明书的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本说明书的保护范围之内。

《保护隐私的数据联合处理方法及装置.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

文档为doc格式(或pdf格式)