一种基于安全多方计算的数据处理系统及方法与流程

文档序号:17290014发布日期:2019-04-03 03:52阅读:266来源:国知局
一种基于安全多方计算的数据处理系统及方法与流程

本发明涉及计算机技术领域,特别涉及一种基于安全多方计算的数据处理系统及方法。



背景技术:

当用户需要查询某些数据时,一般需要验证该用户是否具有相应的权限,这时,需要用户提供相应的用户信息,由于用户提供用户信息后,无法保证该用户信息的安全性,获取到用户信息的一方可能会泄露或非法使用该用户信息。因此,现有技术中,用户在需要查询某些数据时,用户提供的用户信息的安全性较低。



技术实现要素:

本发明实施例提供了一种基于安全多方计算的数据处理系统及方法,能够提高用户信息的安全性。

第一方面,本发明实施例提供了一种基于安全多方计算的数据处理系统,包括:

多个节点和至少一个用户终端;

每个所述节点中设置有分布式账本;

每个所述节点,用于当接收到目标产品的全过程数据时,将所述目标产品的全过程数据保存到本节点的分布式账本中,并将本节点的分布式账本与其他节点的分布式账本同步;

所述用户终端,用于接收请求用户发来用户信息,对所述用户信息进行转码处理,生成密文,将所述密文发送给每个所述节点;

每个所述节点,用于当接收到任一所述用户终端发来的所述密文时,根据所述密文判断所述请求用户是否具有查询所述分布式账本中的全过程数据的权限,并发布所述请求用户对应的权限结果,所述权限结果包括:有权限和没有权限;

每个所述节点,用于当作为共识节点时,根据每个所述节点的权限结果,确定是否允许所述请求用户查询所述分布式账本中的全过程数据。

优选地,

每个所述节点,进一步用于保存计算逻辑,以及,所述计算逻辑的计算结果与权限结果的对应关系;

每个所述节点,在执行所述根据所述密文判断所述请求用户是否具有查询所述分布式账本中的全过程数据的权限时,具体用于:

利用所述计算逻辑对所述密文进行处理,生成计算结果;

根据所述计算结果和所述对应关系,确定所述请求用户对应的权限结果。

优选地,

每个所述节点,在执行所述利用所述计算逻辑对所述密文进行处理,生成计算结果时,具体用于:

将所述计算逻辑转换为布尔电路;

对所述布尔电路进行加密;

将所述密文输入到加密后的所述布尔电路中;

获取加密后的所述布尔电路根据所述密文生成的所述计算结果。

优选地,

每个所述节点,在执行所述根据每个所述节点的权限结果,确定是否允许所述请求用户查询所述分布式账本中的全过程数据时,具体用于:

根据每个所述节点的权限结果,确定允许节点的数量,其中,所述允许节点为所述权限结果是有权限的节点;

确定所述允许节点的数量与所述多个节点的总数的比值;

判断所述比值是否大于等于预设阈值,如果是,则确定允许所述请求用户查询所述分布式账本中的全过程数据,否则,确定不允许所述请求用户查询所述分布式账本中的全过程数据。

优选地,

所述目标产品的全过程数据,包括:从制造所述目标产品的原材料至销售所述目标产品的整个过程的信息。

第二方面,本发明实施例提供了基于第一方面中任一所述的系统的一种基于安全多方计算的数据处理方法,包括:

每个节点预先设置分布式账本;

每个所述节点在接收到目标产品的全过程数据时,将所述目标产品的全过程数据保存到本节点的分布式账本中,并将本节点的分布式账本与其他节点的分布式账本同步;

用户终端接收请求用户发来用户信息,对所述用户信息进行转码处理,生成密文,将所述密文发送给每个所述节点;

每个所述节点接收所述用户终端发来的所述密文,根据所述密文判断所述请求用户是否具有查询所述分布式账本中的全过程数据的权限,并发布所述请求用户对应的权限结果,其中,所述权限结果包括:有权限和没有权限;

作为共识节点的节点根据每个所述节点的权限结果,确定是否允许所述请求用户查询所述分布式账本中的全过程数据。

优选地,

该方法进一步包括:

每个所述节点保存计算逻辑,以及,所述计算逻辑的计算结果与权限结果的对应关系;

所述根据所述密文判断所述请求用户是否具有查询所述分布式账本中的全过程数据的权限,包括:

利用所述计算逻辑对所述密文进行处理,生成计算结果;

根据所述计算结果和所述对应关系,确定所述请求用户对应的权限结果。

优选地,

所述利用所述计算逻辑对所述密文进行处理,生成计算结果,包括:

将所述计算逻辑转换为布尔电路;

对所述布尔电路进行加密;

将所述密文输入到加密后的所述布尔电路中;

获取加密后的所述布尔电路根据所述密文生成的所述计算结果。

优选地,

所述作为共识节点的节点根据每个所述节点的权限结果,确定是否允许所述请求用户查询所述分布式账本中的全过程数据,包括:

作为共识节点的节点根据每个所述节点的权限结果,确定允许节点的数量,其中,所述允许节点为所述权限结果是有权限的节点;

确定所述允许节点的数量与所述多个节点的总数的比值;

判断所述比值是否大于等于预设阈值,如果是,则确定允许所述请求用户查询所述分布式账本中的全过程数据,否则,确定不允许所述请求用户查询所述分布式账本中的全过程数据。

优选地,

所述目标产品的全过程数据,包括:从制造所述目标产品的原材料至销售所述目标产品的整个过程的信息。

在本发明实施例中,每个节点中设置有分布式账本,在任一节点接收到目标产品的全过程数据后,记录到本节点的分布式账本中,并与其他节点的分布式账本同步,这样,每个节点中都记录有目标产品的全过程数据,在任一请求用户需要查询任一分布式账本中的全过程数据时,请求用户将用户信息发送给用户终端,用户终端进行转码处理后,生成密文,将密文发送给各个节点,各个节点根据密文来确定该请求用户是否有权限查询分布式账本中的全过程数据,也就是说,各个节点无法查看到用户信息,只能查看到用户信息的密文,用户信息只是在用户终端中,大大提高了用户信息的安全性。

附图说明

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

图1是本发明一实施例提供的一种基于安全多方计算的数据处理系统的示意图;

图2是本发明一实施例提供的一种基于安全多方计算的数据处理方法的流程图;

图3是本发明一实施例提供的另一种基于安全多方计算的数据处理方法的流程图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

如图1所示,本发明实施例提供了一种基于安全多方计算的数据处理系统,包括:

多个节点101和至少一个用户终端102;

每个所述节点101中设置有分布式账本;

每个所述节点101,用于当接收到目标产品的全过程数据时,将所述目标产品的全过程数据保存到本节点的分布式账本中,并将本节点的分布式账本与其他节点的分布式账本同步;

所述用户终端102,用于接收请求用户发来用户信息,对所述用户信息进行转码处理,生成密文,将所述密文发送给每个所述节点;

每个所述节点101,用于当接收到任一所述用户终端102发来的所述密文时,根据所述密文判断所述请求用户是否具有查询所述分布式账本中的全过程数据的权限,并发布所述请求用户对应的权限结果,所述权限结果包括:有权限和没有权限;

每个所述节点101,用于当作为共识节点时,根据每个所述节点的权限结果,确定是否允许所述请求用户查询所述分布式账本中的全过程数据。

在本发明实施例中,每个节点中设置有分布式账本,在任一节点接收到目标产品的全过程数据后,记录到本节点的分布式账本中,并与其他节点的分布式账本同步,这样,每个节点中都记录有目标产品的全过程数据,在任一请求用户需要查询任一分布式账本中的全过程数据时,请求用户将用户信息发送给用户终端,用户终端进行转码处理后,生成密文,将密文发送给各个节点,各个节点根据密文来确定该请求用户是否有权限查询分布式账本中的全过程数据,也就是说,各个节点无法查看到用户信息,只能查看到用户信息的密文,用户信息只是在用户终端中,大大提高了用户信息的安全性。

在本发明实施例中,多个节点可以构成区块链网络,这些节点可以都是区块链网络中的节点。

图中示出了3个节点101和一个用户终端102。

在本发明一实施例中,每个所述节点,进一步用于保存计算逻辑,以及,所述计算逻辑的计算结果与权限结果的对应关系;

每个所述节点,在执行所述根据所述密文判断所述请求用户是否具有查询所述分布式账本中的全过程数据的权限时,具体用于:

利用所述计算逻辑对所述密文进行处理,生成计算结果;

根据所述计算结果和所述对应关系,确定所述请求用户对应的权限结果。

在本发明实施例中,节点中保存的计算逻辑可以对用户终端发来的密文进行处理,基于得到的计算结果即可确定出请求用户是否具有权限。在对应关系中,每种计算结果对应了有权限或者没有权限。

举例来说,节点1得到的权限结果为有权限,节点2得到的权限结果为没有权限。

在本发明一实施例中,每个所述节点,在执行所述利用所述计算逻辑对所述密文进行处理,生成计算结果时,具体用于:

将所述计算逻辑转换为布尔电路;

对所述布尔电路进行加密;

将所述密文输入到加密后的所述布尔电路中;

获取加密后的所述布尔电路根据所述密文生成的所述计算结果。

在本发明实施例中,可以将计算逻辑转换为布尔电路,然后,对布尔电路进行加密,通过加密后的布尔电路来处理用户终端发来的密文,该处理过程更加安全。

在本发明一实施例中,每个所述节点,在执行所述根据每个所述节点的权限结果,确定是否允许所述请求用户查询所述分布式账本中的全过程数据时,具体用于:

根据每个所述节点的权限结果,确定允许节点的数量,其中,所述允许节点为所述权限结果是有权限的节点;

确定所述允许节点的数量与所述多个节点的总数的比值;

判断所述比值是否大于等于预设阈值,如果是,则确定允许所述请求用户查询所述分布式账本中的全过程数据,否则,确定不允许所述请求用户查询所述分布式账本中的全过程数据。

在本发明实施例中,在每个节点生成本节点的权限结果后,由各个节点中共识节点来统计允许节点的数量。

举例来说,该系统中有100个节点,其中,有80个节点的权限结果为有权限,有20个节点的权限结果为没有权限,该80个节点即为允许节点。共识节点计算出允许节点的数量与系统中节点的总数的比值为80%。例如:预设阈值为78%,那么,允许请求用户查询分布式账本中的全过程数据。

在本发明一实施例中,所述目标产品的全过程数据,包括:从制造所述目标产品的原材料至销售所述目标产品的整个过程的信息。

在本发明实施例中,目标产品的全过程数据可以包括:原材料的名称、原材料的产地、目标产品的制作过程中产生的数据、目标产品的销售过程中产生的数据等。

如图2所示,本发明实施例提供了基于本发明实施例中任一所述的系统的一种基于安全多方计算的数据处理方法,包括:

步骤201:每个节点预先设置分布式账本;

步骤202:每个所述节点在接收到目标产品的全过程数据时,将所述目标产品的全过程数据保存到本节点的分布式账本中,并将本节点的分布式账本与其他节点的分布式账本同步;

步骤203:用户终端接收请求用户发来用户信息,对所述用户信息进行转码处理,生成密文,将所述密文发送给每个所述节点;

步骤204:每个所述节点接收所述用户终端发来的所述密文,根据所述密文判断所述请求用户是否具有查询所述分布式账本中的全过程数据的权限,并发布所述请求用户对应的权限结果,其中,所述权限结果包括:有权限和没有权限;

步骤205:作为共识节点的节点根据每个所述节点的权限结果,确定是否允许所述请求用户查询所述分布式账本中的全过程数据。

在本发明一实施例中,该方法进一步包括:

每个所述节点保存计算逻辑,以及,所述计算逻辑的计算结果与权限结果的对应关系;

所述根据所述密文判断所述请求用户是否具有查询所述分布式账本中的全过程数据的权限,包括:

利用所述计算逻辑对所述密文进行处理,生成计算结果;

根据所述计算结果和所述对应关系,确定所述请求用户对应的权限结果。

在本发明一实施例中,所述利用所述计算逻辑对所述密文进行处理,生成计算结果,包括:

将所述计算逻辑转换为布尔电路;

对所述布尔电路进行加密;

将所述密文输入到加密后的所述布尔电路中;

获取加密后的所述布尔电路根据所述密文生成的所述计算结果。

在本发明一实施例中,所述作为共识节点的节点根据每个所述节点的权限结果,确定是否允许所述请求用户查询所述分布式账本中的全过程数据,包括:

作为共识节点的节点根据每个所述节点的权限结果,确定允许节点的数量,其中,所述允许节点为所述权限结果是有权限的节点;

确定所述允许节点的数量与所述多个节点的总数的比值;

判断所述比值是否大于等于预设阈值,如果是,则确定允许所述请求用户查询所述分布式账本中的全过程数据,否则,确定不允许所述请求用户查询所述分布式账本中的全过程数据。

在本发明一实施例中,所述目标产品的全过程数据,包括:从制造所述目标产品的原材料至销售所述目标产品的整个过程的信息。

如图3所示,本发明实施例提供了一种基于安全多方计算的数据处理方法,包括:

步骤301:每个节点预先设置分布式账本,每个节点保存计算逻辑,以及计算逻辑的计算结果与权限结果的对应关系。

步骤302:每个节点在接收到目标产品的全过程数据时,将目标产品的全过程数据保存到本节点的分布式账本中,并将本节点的分布式账本与其他节点的分布式账本同步。

具体地,每个节点都可能接收到目标产品的全过程数据,这时,通过分布式账本,可以将该全过程数据同步到其他节点中,实现了数据的共享。

步骤303:用户终端接收请求用户发来用户信息,对用户信息进行转码处理,生成密文,将密文发送给每个节点。

具体地,该转码处理可以是对用户信息进行加密,也可以是计算用户信息的哈希值。

步骤304:每个节点将计算逻辑转换为布尔电路,对布尔电路进行加密,将密文输入到加密后的布尔电路中,获取加密后的布尔电路根据密文生成的计算结果。

步骤305:根据计算结果和对应关系,确定请求用户对应的权限结果。

步骤306:作为共识节点的节点根据每个节点的权限结果,确定允许节点的数量,其中,允许节点为权限结果是有权限的节点。

步骤307:作为共识节点的节点确定允许节点的数量与节点的总数的比值。

步骤308:作为共识节点的节点判断比值是否大于等于预设阈值,如果是,则执行步骤309,否则,执行步骤310。

步骤309:作为共识节点的节点确定允许所述请求用户查询所述分布式账本中的全过程数据

步骤310:作为共识节点的节点确定不允许所述请求用户查询所述分布式账本中的全过程数据。

在本发明实施例中,通过分布式账本来记录目标产品的全过程数据可以使得各个节点共享该全过程数据。分布式账本,从实质上说就是一个可以在多个站点、不同地理位置或者多个机构组成的网络里进行分享的资产数据库。该系统中的各个节点获得一个唯一、真实的分布式账本的副本。分布式账本里的任何改动都会在所有的副本中被反映出来,也就是说,每个节点都可以知道分布式账本的更新情况,保证了分布式账本中的全过程数据的真实性。

本发明各个实施例至少具有如下有益效果:

1、在本发明实施例中,每个节点中设置有分布式账本,在任一节点接收到目标产品的全过程数据后,记录到本节点的分布式账本中,并与其他节点的分布式账本同步,这样,每个节点中都记录有目标产品的全过程数据,在任一请求用户需要查询任一分布式账本中的全过程数据时,请求用户将用户信息发送给用户终端,用户终端进行转码处理后,生成密文,将密文发送给各个节点,各个节点根据密文来确定该请求用户是否有权限查询分布式账本中的全过程数据,也就是说,各个节点无法查看到用户信息,只能查看到用户信息的密文,用户信息只是在用户终端中,大大提高了用户信息的安全性。

2、在本发明实施例中,通过分布式账本来记录目标产品的全过程数据可以使得各个节点共享该全过程数据。分布式账本,从实质上说就是一个可以在多个站点、不同地理位置或者多个机构组成的网络里进行分享的资产数据库。该系统中的各个节点获得一个唯一、真实的分布式账本的副本。分布式账本里的任何改动都会在所有的副本中被反映出来,也就是说,每个节点都可以知道分布式账本的更新情况,保证了分布式账本中的全过程数据的真实性。

需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质中。

最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1