共享数据的方法和装置与流程

文档序号:29072063发布日期:2022-03-01 21:38阅读:149来源:国知局
共享数据的方法和装置与流程

1.本公开涉及数据共享技术领域,具体涉及一种共享数据的方法和装置。


背景技术:

2.数据共享是指在不同的数据持有方(例如,企业、机构、电子商务平台)之间通过数据共享的方式进行合作。目前,数据共享通常应用于金融领域、电子商务领域等。在金融领域,为了更好地了解用户的财务状况,进行风险评估和风险控制,金融机构之间可以共享用户借贷信息、违约信息等用户的数据。在电子商务领域,为了更好地了解消费者的习惯和选择营销活动的目标群体,电子商务平台和电子商务平台之间需要共享用户的购买行为、消费习惯等用户的数据。
3.在现有的数据共享方案中,各个数据持有方需要将各自用户的用户标识以及用户的数据加密发送至可信第三方,相应地,可信第三方在对密文解密后,以明文的形式保存上报的用户标识以及用户的数据。这样,当第一数据持有方需要查询用户的数据时,可以将待查询的用户的用户标识加密发送至可信第三方,可信第三方基于解密后得到的待查询的用户的用户标识,与已存储的用户标识进行匹配,如果找到匹配的,可以将查询到的用户标识对应的用户的数据共享给第一数据持有方。
4.然而,上述数据共享的方案中,可信第三方是以明文的形式保存用户的数据的,若可信第三方受到攻击,将会直接导致数据的泄露。


技术实现要素:

5.有鉴于此,本公开实施例致力于提供一种共享数据的方法和装置,以提高数据共享过程中用户的数据的安全性。
6.第一方面,提供一种共享数据的方法,包括:获取第一数据持有方的第一用户的数据以及所述第一用户的第一密文标识,所述第一密文标识是依次采用所述第一数据持有方的密钥和第二数据持有方的密钥对所述第一用户的用户标识进行加密后得到的密文标识;获取所述第二数据持有方的第二用户的数据以及所述第二用户的第二密文标识,所述第二密文标识是依次采用所述第二数据持有方的密钥和所述第一数据持有方的密钥对所述第二用户的用户标识进行加密后得到的密文标识;如果所述第一密文标识与所述第二密文标识相同,在所述第一数据持有方以及所述第二数据持有方之间共享所述第一用户的数据和/或所述第二用户的数据。
7.第二方面,提供了一种共享数据的装置,所述装置包括:第一获取单元,用于获取第一数据持有方的第一用户的数据以及所述第一用户的第一密文标识,所述第一密文标识是依次采用所述第一数据持有方的密钥和第二数据持有方的密钥对所述第一用户的用户标识进行加密后得到的密文标识;第二获取单元,用于获取所述第二数据持有方的第二用户的数据以及所述第二用户的第二密文标识,所述第二密文标识是依次采用所述第二数据持有方的密钥和所述第一数据持有方的密钥对所述第二用户的用户标识进行加密后得到
的密文标识;共享单元,用于如果所述第一密文标识与所述第二密文标识相同,在所述第一数据持有方以及所述第二数据持有方之间共享所述第一用户的数据和/或所述第二用户的数据。
8.第三方面,提供了一种共享数据的装置,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器被配置为执行所述可执行代码,以实现如第一方面所述的方法。
9.第四方面,提供一种计算机可读存储介质,其上存储有可执行代码,当所述可执行代码被执行时,能够实现如第一方面所述的方法。
10.第五方面,提供一种计算机程序产品,包括可执行代码,当所述可执行代码被执行时,能够实现如第一方面所述的方法。
11.在本公开实施例中,利用加密操作的可交换性原理,通过对比第一数据持有方中第一用户的第一密文标识,与第二数据持有方中第二用户的第二密文标识是否相同,来判断第一用户与第二用户是否为同一个用户,当第一用户和第二用户为同一个用户时,可以在第一数据持有方和第二数据持有方之间共享第一用户和/或第二用户的数据。也就是说,可信第三方可以直接基于第一用户的第一密文标识以及第二用户的第二密文标识,来确定是否在第一数据持有方和第二数据持有方之间共享上述第一用户的数据和/或第二用户的数据,这样,可信第三方无需用户标识的明文,有利于提高数据共享过程中用户的数据的安全性。避免了传统的数据共享过程中,可信第三方需要基于用户标识明文来判断对应的用户是否为第一数据持有方和第二数据持有方的共同用户,再确定是否在第一数据持有方和第二数据持有方之间共享该用户的数据。
附图说明
12.图1是本公开实施例适用的数据共享联盟架构的示意图。
13.图2是本公开实施例的共享数据的方法的流程图。
14.图3是本公开另一实施例的共享数据的方法的流程图。
15.图4是本公开一实施例的共享数据的装置的结构示意图。
16.图5是本公开另一实施例的共享数据的装置的结构示意图。
具体实施方式
17.下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本公开一部分实施例,而不是全部的实施例。
18.为了便于理解本公开,下文先结合图1介绍本公开实施例适用的数据共享联盟架构。图1所示的架构包括多个数据持有方110、联盟中心120、以及数据库130。
19.多个数据持有方110,数据共享联盟的成员。例如,可以是持有用户的数据的企业、机构等。
20.在一些实施例中,数据持有方可以包括节点服务器,节点服务器可以为数据持有方提供本地服务,例如,节点服务器可以采用数据持有方的密钥对用户标识加密。又例如,节点服务器可以与联盟中心120通信,以查询用户的数据。
21.在另一些实施例中,上述节点服务器还可以运行数据持有方所需的业务系统。例如,数据持有方属于金融行业,节点服务器可以运行金融行业业务系统。又例如,数据持有
方属于广告推送行业,节点服务器可以广告推送平台的业务系统。
22.联盟中心(league center)120,通常部署在可信第三方(例如,政府、监管机构、第三方审计机构等),与节点服务器进行通信。例如,联盟中心120可以从节点服务器接收用于查询用户的数据的查询请求,并基于查询请求从数据库130中读取用户的数据,再将查询到的用户的数据反馈给节点服务器。又例如,联盟中心120还可以接收节点服务器上报的用户的数据,并将上报的用户的数据存储至可信第三方,以便其他数据持有方查询。
23.在另一些实施例中,联盟中心120还用于对用户的数据进行加密,以确保用户的数据在传输过程中的安全性。
24.数据库(data base,db)130,用于存储各个数据持有方110上报的用户标识,以及用户标识对应的用户的数据。在一些实施例中,为了提高用户的数据的安全性,db130可以部署在可信第三方(例如,政府、监管机构、第三方审计机构等)。
25.通常,加入数据共享联盟的数据持有方需要签署以下合作协议:
26.第一,当某一用户是数据共享联盟中多个数据持有方的共同用户时,该用户的数据需要在这多个数据持有方之间共享。
27.第二,在共享数据的过程中,上述多个数据持有方仅能获知用户的数据本身,但是无法获知持有该数据的数据持有方是谁。
28.下文以在金融机构间共享用户的借贷信息为例介绍上述合作协议。假设加入数据共享联盟的金融机构包括金融机构a、金融机构b以及金融机构c。
29.第一,若用户a在金融机构a发生借贷,且用户a准备在金融机构b办理金融业务时,金融机构a需要按照约定将用户a的借贷信息共享给金融机构b。由于用户a还不是金融机构c的用户,因此,用户a的借贷信息不会被共享给金融机构c。
30.第二,在向金融机构b共享用户a的借贷信息时,只能向金融机构b共享用户a的借贷信息,但不能共享用户a在哪家金融机构发生借贷。
31.为了满足上述合作协议,传统的共享数据方案中,各个数据持有方110需要将各自用户的用户标识以及用户的数据加密发送至联盟中心120,相应地,联盟中心120在对密文解密后,以明文的形式将上报的用户标识以及用户的数据存储在db 130中。在一些实现方式中,上述用户标识用于唯一标识用户。用户标识例如可以是用户的手机号、身份证号等。
32.这样,当数据共享联盟中的第一数据持有方需要查询用户的数据时,可以将待查询的用户的用户标识加密发送至联盟中心120,联盟中心120基于解密后得到的待查询的用户的用户标识,与db130中存储的用户标识进行匹配,如果找到匹配的,可以将查询到的用户标识对应的用户的数据共享给第一数据持有方。
33.然而,上述数据共享的方案中,可信第三方是以明文的形式保存用户的数据的,若可信第三方受到攻击,将会直接导致数据的泄露。
34.为了避免上述问题,本公开提供一种共享数据的方案。在该方案中,利用下文介绍的加密操作的可交换性,使得可信第三方可以直接基于用户的密文标识(即采用密钥对用户的用户标识加密得到的密文),来判断是否在多个数据持有方之间共享该用户的数据。这样,数据持有方不再需要将用户的标识以明文的方式保存在可信第三方,以提高数据共享过程中数据的安全性。
35.为了便于理解,下文先介绍加密操作的可交换性。
36.加密操作的可交换性是指,对同一数据采用多个密钥进行加密时,无论这多个密钥的加密顺序如何变化,最终得到的密文都是相同的。
37.例如,采用第一密钥a’和第二密钥b’分别以不同的加密顺序对数据data进行加密时,加密后得到的密文是相同的,即e_a’(e_b’(data))=e_b’(e_a’(data)),其中,e_a’(e_b’(data))表示先采用第二密钥b’对数据data加密后得到密文e_b’(data),再采用第一密钥a’对密文e_b’(data)加密后得到的密文;e_b’(e_a’(data))表示先采用第一密钥a’对数据data加密后得到密文e_a’(data),再采用第二密钥b’对密文e_a’(data)加密后得到的密文。
38.需要说明的是,对于目前已知的密钥而言,普遍满足上述加密操作的可交换性。例如,基于椭圆曲线密码学(elliptic curve cryptography,ecc)的密钥,基于rsa加密算法的密钥等。
39.下文基于图1所示的架构,结合图2介绍本公开实施例的共享数据的方法的流程图。图2所示的方法可以由可信第三方执行,例如,可以是图1中所示的联盟中心120执行。另外,图1所示的多个数据持有方110包括第一数据持有方和第二数据持有方,其中第二数据持有方可以是多个数据持有方中除第一数据持有方之外的一个或多个数据持有方。
40.图2是本公开实施例的共享数据的方法的流程图。图2所示的方法包括步骤s210至步骤s230。
41.在步骤s210,获取第一数据持有方的第一用户的数据以及第一用户的第一密文标识。
42.上述第一密文标识是依次采用第一数据持有方的密钥和第二数据持有方的密钥对第一用户的用户标识进行加密后得到的密文标识。或者说,上述第一密文标识是先采用第一数据持有方的密钥对第一用户的用户标识进行加密后得到第三密文标识,再采用第二数据持有方的密钥对第三密文标识加密得到的。
43.例如,上述步骤s210可以包括:从第一数据持有方接收第一用户的数据以及第一用户的第三密文标识,第三密文标识是采用第一数据持有方的密钥对第一用户的用户标识进行加密后得到的密文标识;向第二数据持有方发送第三密文标识;从第二数据持有方接收第一密文标识,第一密文标识是第二数据持有方采用第二数据持有方的密钥对第三密文标识进行加密后得到的密文标识。
44.基于上文对第一密文标识的生成过程的介绍可知,在一些实现方式中,可信第三方可以从第二数据持有方处获取第一密文标识。当然,在另一些实现方式中,当第二数据持有方生成第一密文标识后,还可以通过可信第三方返回给第一数据持有方,此时,上述步骤s210中,可信第三方也可以从第一数据持有方获取第一密文标识,本公开实施例对此不作限定。
45.上述第一用户数据与第一密文标识之间存在对应关系,第一密文标识可以理解为用于标识上述数据是第一用户的数据。
46.在步骤s220,获取第二数据持有方的第二用户的数据以及第二用户的第二密文标识。
47.上述第二密文标识是依次采用第二数据持有方的密钥和第一数据持有方的密钥对第二用户的用户标识进行加密后得到的密文标识。或者说,上述第二密文标识是先采用
第二数据持有方的密钥对第二用户的用户标识加密得到第四密文标识,再利用第一数据持有方的密钥对第四密文标识进行加密得到的。
48.基于上文对第二密文标识的生成过程的介绍可知,在一些实现方式中,可信第三方可以从第一数据持有方处获取第二密文标识。当然,在另一些实现方式中,当第一数据持有方生成第二密文标识后,还可以通过可信第三方返回给第二数据持有方,此时,上述步骤s220中,可信第三方也可以从第二数据持有方获取第二密文标识,本公开实施例对此不作限定。
49.在步骤s230,如果第一密文标识与第二密文标识相同,在第一数据持有方以及第二数据持有方之间共享第一用户的数据和/或第二用户的数据。
50.基于上文介绍的加密操作的可交换性可知,上述第一密文标识与第二密文标识相同,可以理解为,生成第一密文标识的用户标识与生成第二密文标识的用户标识是相同的,也就是说,第一密文标识和第二密文标识对应的用户是相同的,即第一用户和第二用户是同一个用户。如此,便可以在第一数据持有方和第二数据持有方之间共享该用户的数据。
51.相反,如果第一密文标识与第二密文标识不同,那么可以理解为,第一密文标识的用户标识与生成第二密文标识的用户标识是不同的,也就是说,第一密文标识和第二密文标识对应的用户是不相同的用户,即第一用户和第二用户不是同一个用户。如此,可以不再第一数据持有方和第二数据持有方之间共享第一用户的数据和/或第二用户的数据。
52.在本公开实施例中,利用加密操作的可交换性原理,通过对比第一数据持有方中第一用户的第一密文标识,与第二数据持有方中第二用户的第二密文标识是否相同,来判断第一用户与第二用户是否为同一个用户,当第一用户和第二用户为同一个用户时,可以在第一数据持有方和第二数据持有方之间共享第一用户和/或第二用户的数据。也就是说,可信第三方可以直接基于第一用户的第一密文标识以及第二用户的第二密文标识,来确定是否在第一数据持有方和第二数据持有方之间共享上述第一用户的数据和/或第二用户的数据,这样,可信第三方无需用户标识的明文,有利于提高数据共享过程中用户的数据的安全性。避免了传统的数据共享过程中,可信第三方需要基于用户标识明文来判断对应的用户是否为第一数据持有方和第二数据持有方的共同用户,再确定是否在第一数据持有方和第二数据持有方之间共享该用户的数据。
53.另一方面,在本公开实施例的方案中,基于加密操作的可交换性,使得可信第三方可以直接基于用户的密文标识(即采用密钥对用户的用户标识加密得到的密文),来判断是否在多个数据持有方之间共享该用户的数据。这样,数据持有方不再需要将数据以明文的方式保存在可信第三方,即通过“数据不出域(其中“域”可以理解为数据持有方)”的方式实现数据共享,以提高数据的安全性。
54.如上文介绍,为了确定第一用户是否是第二数据持有方和第一数据持有方的共同用户,可信第三方需要从第一数据持有方或第二数据持有方处获取第二密文标识。如果在后续的数据共享过程中,每当可信第三方需要使用第二密文标识时,都需要从第二数据持有方或第一数据持有方获取,则意味着需要占用传输资源(例如,带宽)来传输第二密文标识,另外,也会增加可信第三方获取第二密文标识的时间。
55.因此,为了降低传输第二密文标识占用的传输资源,或者减少可信第三方获取第二密文标识的时间,在本公开实施例中,上述第二密文标识可以直接存储在可信第三方中,
即第二密文标识为可信第三方中预存的密文标识。相应地,上述步骤s220可以理解为可信第三方从本地获取第二密文标识。当然,如果不考虑传输资源占用以及可信第三方获取第二密文标识的时间过长的问题,可信第三方也可以从第一数据持有方或第二数据持有方第二密文标识。
56.在本公开实施例中,将第二用户的用户标识以密文标识(即第二密文标识)存储在可信第三方的方案,相比于传统的数据共享方案中用户标识以明文的形式存储在可信第三方,有利于提高数据的隐私安全。
57.可信第三方获取第二用户的数据的方式与可信第三方获取第二密文标识的方式类似。可信第三方可能会使用第二用户的数据(例如,需要向第一数据持有方分享第二用户的数据),因此,可信第三方会从第二数据持有方获取第二用户的数据。然而,如果每当可信第三方需要使用第二用户的数据时,都重新从第二数据持有方获取第二用户的数据,则意味着需要占用传输资源(例如,带宽)来传输第二用户的数据,另外,也会增加可信第三方获取第二用户的数据的时间。
58.因此,为了降低传输第二用户的数据占用的传输资源,或者减少可信第三方获取第二用户的数据的时间,在本公开实施例中,上述第二用户的数据可以直接存储在可信第三方中,即第二用户的数据为可信第三方中预存的数据。相应地,上述步骤s220可以理解为可信第三方从本地获取第二用户的数据。当然,如果不考虑传输资源占用以及可信第三方获取第二密文标识的时间过长的问题,可信第三方也可以从第二数据持有方获取第二用户的数据。
59.在本公开实施例中,虽然将第二用户的数据以明文的方式存储在可信第三方,但是第二用户的数据对应的用户标识是以密文的形式(即第二密文标识)存储在可信第三方的,在这种情况下,即使可信第三方受到攻击,攻击者也无法获取第二用户的数据对应的用户标识,也就是说,只能获知第二用户的数据的具体内容,而无法获知第二用户具体是谁,有利于提高用户的数据的隐私安全。
60.在上文介绍的数据共享方案中,如果第一密文标识与第二密文标识不同,那么可以理解为第一密文标识对应的第一用户仅是第一持有方的用户,在这种情况下,如果仅仅执行了不再第一数据持有方和第二数据持有方之间共享第一用户的数据和/或第二用户的数据。那么,在后续共享数据的过程中,如果可信第三方需要使用第一密文标识时,依然需要重新从第一数据持有方获取第一密文标识。这种方式意味着需要占用传输资源(例如,带宽)来传输第一密文标识,另外,也会增加可信第三方获取第一密文标识的时间。
61.例如,后续的数据分享过程需要确定第二数据持有方中的第三用户是不是第一数据持有方和第二数据持有方之间的共同用户,此时,可信第三方需要重新从第一数据持有方获取第一用户的第一密文标识,这种方式意味着需要占用传输资源(例如,带宽)来传输第一密文标识,另外,也会增加可信第三方获取第一密文标识的时间。
62.因此,为了避免上述问题,本公开实施例还提供一种方案,当第一密文标识与第二密文标识不相同时,可以存储第一密文标识。这样,在后续的数据分享过程中,可信第三方可以直接基于存储的第一密文标识来判断是否共享第一用户的数据,相比于可信第三方重新从第一数据持有方获取第一密文标识的方案而言,有利于降低传输第一密文标识的传输资源,减少可信第三方获取第一密文标识的时间。
63.与上文可信第三方获取第一密文标识的方式类似,在第一密文标识与第二密文标识不同的情况下,如果仅仅执行了不再第一数据持有方和第二数据持有方之间共享第一用户的数据和/或第二用户的数据。那么,在后续共享数据的过程中,如果可信第三方需要使用第一用户的数据时,依然需要重新从第一数据持有方获取第一用户的数据。这种方式意味着需要占用传输资源(例如,带宽)来传输第一用户的数据,另外,也会增加可信第三方获取第一用户的数据的时间。
64.因此,为了避免上述问题,在本公开实施例中,当第一密文标识与第二密文标识不相同时,可以存储第一用户的数据。这样,在后续的数据共享过程中,可信第三方在确定需要共享第一用户的数据之后,可以直接从本地获取第一用户的数据,相比于可信第三方重新从第一数据持有方获取第一用户的数据的方案而言,有利于降低传输第一用户的数据的传输资源,减少可信第三方获取第一用户的数据的时间。
65.在本公开实施例中,虽然将第一用户的数据以明文的方式存储在可信第三方,但是第一用户的数据对应的用户标识是以密文的形式(即第一密文标识)存储在可信第三方的,在这种情况下,即使可信第三方受到攻击,攻击者也无法获取第一用户的数据对应的用户标识,也就是说,攻击者只能获知第一用户的数据的具体内容,而无法获知第一用户具体是谁,有利于提高用户的数据的隐私安全。
66.在本公开实施例中,对上述可信第三方获取第一数据持有方的第一用户的数据以及所述第一用户的第一密文标识的触发条件不作具体限定。在一些实施例中,第一数据持有方可以在需要查询第一用户的数据时,向可信第三方发送第一密文标识,因此,上述第一密文标识可以携带在用于查询数据的查询请求中,又或者,上述第一密文标识可以直接作为查询请求。
67.在另一些实施例中,第一数据持有方可以是基于上文提到的合作协议,主动将第一用户的数据以及第一用户的第一密文标识发送到可信第三方共享,以便其他数据持有方(例如,第二数据持有方)可以查询。
68.如上文所述,本公开共享数据的方案可以应用于多种领域,因此,为了提高数据共享方案的兼容性,数据持有方在生成数据时可以采用多元组的结构表示用户标识以及数据,即[用户标识,数据1,数据2,
……
数据n],其中,数据1,数据2,
……
数据n的数据内容属性和元组数量,可以基于需求定制,本公开实施例对此不作限定。例如,在金融领域,上述数据持有方生成的数据的格式可以为[id,date],其中,id表示用户的用户标识;date表示用户的借贷日期。
[0069]
相应地,对于第一用户而言,在对第一用户的用户标识加密后,第一用户的第一密文标识与数据可以表示为[第一密文标识,数据
11
,数据
12

……
数据
1n
]。对于第二用户而言,在对第二用户的用户标识加密后,第二用户的第二密文标识与数据可以表示为[第二密文标识,数据
21
,数据
22

……
数据
2n
]。
[0070]
上述在第一数据持有方以及第二数据持有方之间共享第一用户的数据和/或第二用户的数据,可以包括可信第三方将第一用户的数据发送至第二数据持有方,或者,可信第三方将第二用户的数据发送至第一数据持有方。这样,也可以满足上述合作协议中的第二条,即向某个数据持有方共享用户的数据的同时并且隐藏用户所属的数据持有方的信息。当然,如果不需要遵守上述合作协议中的第二条,第二数据持有方还可以直接向第一数据
持有方发送第一用户的数据。
[0071]
例如,对于第一用户而言,第一用户的数据属于第一数据持有方,在向第二数据持有方共享第一用户的数据时,可以由可信第三方直接将第一用户的数据发送至第二数据持有方,这样,第二数据持有方仅能获知第一用户的数据,无法获知持有第一用户的数据的数据持有方是谁。
[0072]
又例如,对于第二用户而言,第二用户的数据属于第二数据持有方,在向第一数据持有方共享第二用户的数据时,可以由可信第三方直接将第二用户的数据发送至第一数据持有方,这样,第一数据持有方仅能获知第二用户的数据,无法获知持有第二用户的数据的数据持有方。
[0073]
为了便于理解本公开实施例的方案,下文基于图1所示的架构,结合图3,以金融机构之间共享用户的借贷信息为例,介绍本公开的方法流程。假设图1所示的架构中参与数据共享联盟的数据持有方分别包括金融机构a、金融机构b以及金融机构c。
[0074]
图3所示的流程具体可以分为建库阶段310和查询阶段320。在建库阶段310包括步骤s311至步骤s316,在查询阶段320包括步骤s321至步骤s326。
[0075]
在建库阶段310,数据库130的初始状态为空,此时数据库130中未存储任何数据。
[0076]
在步骤s311,用户a在金融机构a办理了借贷业务,此时,金融机构a向可信第三方发送消息#1:msga(a)1=(e_a’(a),datea),其中,e_a’(a)表示使用金融机构a的密钥对用户a的用户标识加密得到的密文标识#1,datea表示用户a在金融机构a的借贷业务办理成功的时间。
[0077]
在步骤s312,可信第三方将接收到的消息#1广播至金融机构b和金融机构c。
[0078]
在步骤s313,金融机构b和金融机构c分别使用各自对应的密钥,对消息#1中的密文标识#1加密,得到密文标识#2:e_b’(e_a’(a))和密文标识#3:e_c’(e_a’(a))。
[0079]
在步骤s314,金融机构b向可信第三方返回携带密文标识#2:e_b’(e_a’(a))的消息#2:msg_b(a)1=(e_b’(e_a’(a)),datea);金融机构c向可信第三方返回携带密文标识#3:e_c’(e_a’(a))的消息#3:msg_c(a)1=(e_c’(e_a’(a)),datea)。
[0080]
在步骤s315,可信第三方将密文标识#2和密文标识#3与数据库130中存储的密文标识进行匹配。由于此时数据库为空,因此匹配失败,并执行步骤s316。
[0081]
在步骤s316,可信第三方将消息#2中的密文标识#2:e_b’(e_a’(a))与数据datea存储至数据库,并且可信第三方将消息#3中的密文标识#3:e_c’(e_a’(a))与数据datea存储至数据库。
[0082]
查询阶段320。
[0083]
在步骤s321,若用户a继续到金融机构b申请借贷业务,此时,金融机构b向可信第三方发送消息#4:msgb(a)2=(e_b’(a),dateb),其中,e_b’(a)表示使用金融机构b的密钥对用户a的用户标识加密得到的密文标识#4,dateb表示用户a在金融机构b申请借贷的时间。
[0084]
在步骤s322,可信第三方将接收到的消息#4广播至金融机构a和金融机构c。
[0085]
在步骤s323,金融机构a和金融机构c分别使用各自对应的密钥,对消息#4中的密文标识#4加密,得到密文标识#5:e_a’(e_b’(a))和密文标识#6:e_c’(e_b’(a))。
[0086]
在步骤s324,金融机构a向可信第三方返回携带密文标识#5:e_a’(e_b’(a))的消息#5:msg_a(a)2=(e_a’(e_b’(a)),dateb);金融机构c向可信第三方返回携带密文标识#6:
e_c’(e_b’(a))的消息#6:msg_c(a)2=(e_c’(e_b’(a)),dateb)。
[0087]
在步骤s325,可信第三方将密文标识#5和密文标识#6与数据库中存储的密文标识进行匹配。此时,经过步骤316,数据库中已存储有密文标识#2:e_b’(e_a’(a)),基于上文介绍的加密操作可交换性,密文标识#5:e_a’(e_b’(a))与密文标识#2:e_b’(e_a’(a))匹配,然后,执行步骤s326。
[0088]
在步骤s326,可信第三方将密文标识#2:e_b’(e_a’(a))对应的数据datea共享给金融机构b。
[0089]
上文结合图1至图3,详细描述了本公开的方法实施例,下面结合图4至图5,详细描述本公开的装置实施例。应理解,方法实施例的描述与装置实施例的描述相互对应,因此,未详细描述的部分可以参见前面方法实施例。
[0090]
图4是本公开一实施例的共享数据的装置的结构示意图。图4所示的装置400可以是部署在可信第三方,例如,联盟中心120。该装置400可以包括第一获取单元410、第二获取单元420以及共享单元430。下面对这些单元进行详细介绍。
[0091]
第一获取单元410,用于获取第一数据持有方的第一用户的数据以及所述第一用户的第一密文标识,所述第一密文标识是依次采用所述第一数据持有方的密钥和第二数据持有方的密钥对所述第一用户的用户标识进行加密后得到的密文标识;
[0092]
第二获取单元420,用于获取所述第二数据持有方的第二用户的数据以及所述第二用户的第二密文标识,所述第二密文标识是依次采用所述第二数据持有方的密钥和所述第一数据持有方的密钥对所述第二用户的用户标识进行加密后得到的密文标识;
[0093]
共享单元430,用于如果所述第一密文标识与所述第二密文标识相同,在所述第一数据持有方以及所述第二数据持有方之间共享所述第一用户的数据和/或所述第二用户的数据。
[0094]
可选地,所述第一获取单元410,具体用于:从所述第一数据持有方接收所述第一用户的数据以及所述第一用户的第三密文标识,所述第三密文标识是采用所述第一数据持有方的密钥对所述第一用户的用户标识进行加密后得到的密文标识;向所述第二数据持有方发送所述第三密文标识;从所述第二数据持有方接收所述第一密文标识,所述第一密文标识是所述第二数据持有方采用所述第二数据持有方的密钥对所述第一密文标识进行加密后得到的密文标识。
[0095]
可选地,所述第二用户的数据为预存的数据,所述第二密文标识为预存的密文标识,所述装置还包括:存储单元,用于如果所述第一密文标识与所述第二密文标识不相同,存储所述第一用户的数据以及所述第一密文标识。
[0096]
可选地,所述共享单元430,还用于:向所述第一数据持有方发送所述第二用户的数据,和/或,向所述第二数据持有方发送所述第一用户的数据。
[0097]
图5是本公开另一实施例的共享数据的装置的结构示意图。图5所示的装置500可以是部署在可信第三方具有数据共享功能的装置,例如,联盟中心120。装置500可以包括存储器510和处理器520。存储器510可用于存储可执行代码。处理器520可用于执行所述存储器510中存储的可执行代码,以实现前文描述的各个方法中的步骤。在一些实施例中,该装置500还可以包括网络接口530,处理器520与外部设备的数据交换可以通过该网络接口530实现。
[0098]
在本公开实施例中,上述处理器520可以采用通用的中央处理器(central processing unit,cpu),微处理器,应用专用集成电路(application specific integrated circuit,asic),或者一个或多个集成电路,用于执行相关程序,以实现本公开实施例所提供的技术方案。
[0099]
上述的存储器510可以包括只读存储器和随机存取存储器,并向处理器520提供指令和数据。处理器520的一部分还可以包括非易失性随机存取存储器。例如,处理器520还可以存储设备类型的信息。
[0100]
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其他任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本公开实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如数字视频光盘(digital video disc,dvd))、或者半导体介质(例如固态硬盘(solid state disk,ssd))等。
[0101]
在上述实施例中,在本公开的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本公开实施例的实施过程构成任何限定。
[0102]
本领域普通技术人员可以意识到,结合本公开实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本公开的范围。
[0103]
在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0104]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0105]
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以
是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0106]
以上所述,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以所述权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1