数据处理系统、数据处理方法与流程

专利2024-02-21  108



1.本公开涉及数据处理技术领域,具体地,涉及一种数据处理系统、数据处理方法。


背景技术:

2.由大数据形成的数据要素,既来自个人衣食住行、医疗、社交等行为活动,又来自平台公司、政府、商业机构提供服务后的统计、收集。目前,聚合多维海量数据,挖掘和利用数据的内在价值,已经是诸多产业机构的研究重点。
3.但是在相关场景中,数据在多方传递时仍然面临着风险,容易出现数据泄露的现象。


技术实现要素:

4.本公开的目的是提供一种数据处理系统、数据处理方法,以解决上述技术问题。
5.为了实现上述目的,根据本公开实施例的第一方面,提供一种数据处理系统,包括目标数据端、多个计算端以及节点集合,所述节点集合包括区块链网络中的多个区块链节点,其中,
6.所述节点集合中的多个区块链节点用于,通过共识从所述多个计算端中确定目标计算端;
7.所述目标数据端用于,将待处理数据进行同态加密,得到第一密文数据,并通过所述节点集合将所述第一密文数据保存至所述区块链网络的区块链中;
8.所述目标计算端用于,获取第一密文数据,对所述第一密文数据进行处理,得到处理结果,并通过所述节点集合将所述处理结果保存至所述区块链中,以便于所述目标数据端获取所述处理结果。
9.可选地,所述目标数据端用于,生成同态秘钥对,通过所述节点集合将所述同态秘钥对中的同态公钥保存至所述区块链中,并通过所述同态公钥对所述待处理数据进行同态加密,得到第一密文数据;
10.所述目标计算端用于,获取第一密文数据以及所述区块链中的所述同态公钥,并基于所述同态公钥对所述第一密文数据进行处理。
11.可选地,所述目标数据端用于,响应于接收到对所述待处理数据的数据处理请求,生成所述同态秘钥对。
12.可选地,包括多个数据端,所述目标数据端为所述多个数据端中的任一数据端,所述目标数据端还用于,将所述同态秘钥对中的同态私钥发送至所述多个数据端中的其他数据端;
13.所述目标计算端还用于,生成加密秘钥对,并通过所述节点集合将所述加密秘钥对中的加密公钥保存至所述区块链中;
14.所述目标数据端还用于,获取所述区块链中的所述加密公钥,基于所述加密公钥对所述第一密文数据进行加密,将加密得到的第二密文数据保存至所述区块链中;
15.所述目标计算端还用于,获取所述区块链中的第二密文数据,基于所述加密秘钥对中的加密私钥对所述第二密文数据进行解密,得到所述第一密文数据。
16.可选地,所述目标数据端还用于,基于所述同态私钥对验证信息进行加密,得到加密验证信息,将所述加密验证信息保存至所述区块链中,并向所述多个数据端中的其他数据端发送所述验证信息以及所述同态私钥;
17.任意所述数据端用于,从所述区块链中获取所述加密验证信息,在接收到所述验证信息以及所述同态私钥的情况下,通过所述加密验证信息、所述验证信息对所述同态私钥的正确性进行验证。
18.可选地,所述多个数据端还用于,共识确定所述待处理数据的处理规则,将所述处理规则保存至所述区块链中;
19.所述目标计算端用于,获取所述区块链中的所述处理规则,根据所述处理规则以及所述同态公钥对所述第一密文数据进行处理,得到处理结果。
20.可选地,所述目标计算端还用于,通过所述加密私钥对所述处理结果进行加密,得到加密处理结果,并通过所述节点集合将所述加密处理结果保存至所述区块链中;
21.任意所述数据端用于,从所述区块链中获取所述加密处理结果,通过所述加密公钥对获取到的加密处理结果进行解密,得到所述处理结果,并通过所述同态私钥对所述处理结果进行解密,得到处理结果明文。
22.可选地,所述节点集合中的多个区块链节点用于,
23.响应于接收到所述目标数据端的数据处理请求,通过共识从所述多个计算端中共识确定目标计算端;或者,
24.按照预设时间周期,通过共识从所述多个计算端中共识确定目标计算端。
25.可选地,所述节点集合包括多个区块链共识节点,所述多个区块链共识节点通过如下方式从所述多个计算端中确定目标计算端:
26.获取各计算端的数据处理历史记录,所述数据处理历史记录包括数据处理指标;
27.根据所述数据处理指标,从各计算端中确定所述目标计算端。
28.根据本公开实施例的第二方面,提供一种数据处理方法,应用于上述第一方面中任一项所述的数据处理系统,所述方法包括:
29.节点集合中的多个区块链节点通过共识从多个计算端中确定目标计算端;
30.目标数据端将待处理数据进行同态加密,得到第一密文数据;
31.目标数据端通过所述节点集合将所述第一密文数据保存至区块链网络的区块链中;
32.目标计算端获取第一密文数据;
33.目标计算端对所述第一密文数据进行处理,得到处理结果;
34.目标计算端通过所述节点集合将所述处理结果保存至所述区块链中,以便于所述目标数据端获取所述处理结果。
35.可选地,所述方法还包括:
36.目标数据端生成同态秘钥对;
37.目标数据端通过所述节点集合将所述同态秘钥对中的同态公钥保存至所述区块链中;
38.所述目标数据端将待处理数据进行同态加密,得到第一密文数据,包括:目标数据端通过所述同态公钥对所述待处理数据进行同态加密,得到第一密文数据;
39.所述目标计算端对所述第一密文数据进行处理,得到处理结果,包括:
40.目标计算端获取所述区块链中的所述同态公钥,并基于所述同态公钥对所述第一密文数据进行处理,得到处理结果。
41.可选地,所述目标数据端生成同态秘钥对,包括:
42.目标数据端响应于接收到对待处理数据的数据处理请求,生成所述同态秘钥对。
43.可选地,所述数据处理系统包括多个数据端,所述目标数据端为所述多个数据端中的任一数据端,所述方法还包括:
44.目标数据端将所述同态秘钥对中的同态私钥发送至所述多个数据端中的其他数据端;
45.目标计算端生成加密秘钥对,并通过所述节点集合将所述加密秘钥对中的加密公钥保存至所述区块链中;
46.目标数据端获取所述区块链中的所述加密公钥,基于所述加密公钥对所述第一密文数据进行加密,将加密得到的第二密文数据保存至所述区块链中;
47.所述目标计算端获取第一密文数据,包括:
48.目标计算端获取所述区块链中的第二密文数据,基于所述加密秘钥对中的加密私钥对所述第二密文数据进行解密,得到所述第一密文数据。
49.可选地,目标数据端将所述同态秘钥对中的同态私钥发送至所述多个数据端中的其他数据端,包括:
50.目标数据端基于所述同态私钥对验证信息进行加密,得到加密验证信息,将所述加密验证信息保存至所述区块链中,并向所述多个数据端中的其他数据端发送所述验证信息以及所述同态私钥;
51.所述方法还包括:任意所述数据端从所述区块链中获取所述加密验证信息,在接收到所述验证信息以及所述同态私钥的情况下,通过所述加密验证信息、所述验证信息对所述同态私钥的正确性进行验证。
52.可选地,还包括:
53.多个数据端共识确定所述待处理数据的处理规则,将所述处理规则保存至所述区块链中;
54.所述目标计算端对所述第一密文数据进行处理,得到处理结果,包括:
55.目标计算端获取所述区块链中的所述处理规则,根据所述处理规则以及所述同态公钥对所述第一密文数据进行处理,得到处理结果。
56.可选地,还包括:
57.目标计算端通过所述加密私钥对所述处理结果进行加密,得到加密处理结果,并通过所述节点集合将所述加密处理结果保存至所述区块链中;
58.任意所述数据端从所述区块链中获取所述加密处理结果,通过所述加密公钥对获取到的加密处理结果进行解密,得到所述处理结果,并通过所述同态私钥对所述处理结果进行解密,得到处理结果明文。
59.可选地,节点集合中的多个区块链节点通过共识从多个计算端中确定目标计算
端,包括:
60.所述节点集合中的多个区块链节点响应于接收到所述目标数据端的数据处理请求,通过共识从所述多个计算端中共识确定目标计算端;或者,
61.所述节点集合中的多个区块链节点按照预设时间周期,通过共识从所述多个计算端中共识确定目标计算端。
62.可选地,所述节点集合包括多个区块链共识节点,所述节点集合中的多个区块链节点通过共识从多个计算端中确定目标计算端,包括:
63.所述节点集合中的多个区块链节点获取各计算端的数据处理历史记录,所述数据处理历史记录包括数据处理指标;
64.所述节点集合中的多个区块链节点根据所述数据处理指标,从各计算端中确定所述目标计算端。
65.上述技术方案中,节点集合中的多个区块链节点可以通过共识的方式,从多个计算端中确定目标计算端。通过这样的方式,可以避免计算端的中心化问题,降低数据泄露风险。在数据处理时,目标数据端可以将待处理数据进行同态加密,得到第一密文数据,并将第一密文数据保存至区块链中。这样,目标计算端可以获取区块链中的第一密文数据,并在密文状态下对待处理数据进行处理。在处理完成之后,可以将处理结果上传至区块链中,以便于目标数据端获取。也就是说,第一密文数据为同态密文,目标计算端在处理时也是基于同态密文进行处理,而无需获取数据原文。同时,数据处理过程中的第一密文数据、处理结果通过区块链流转,具有不可篡改、可追溯的性质。因此,上述技术方案能够降低数据处理过程中的数据泄露风险,保障数据的安全。
66.本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
67.附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
68.图1是本公开一示例性实施例所示出的一种数据处理系统的框图。
69.图2是本公开一示例性实施例所示出的一种数据处理系统的框图。
70.图3是本公开一示例性实施例所示出的一种数据处理系统的框图。
71.图4是本公开一示例性实施例所示出的一种数据处理方法的流程图。
72.图5是本公开一示例性实施例所示出的一种数据处理方法的流程图。
73.图6是本公开一示例性实施例所示出的一种数据处理方法的流程图。
74.图7是本公开一示例性实施例所示出的一种数据处理方法的流程图。
具体实施方式
75.以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。
76.在介绍本公开的数据处理系统、数据处理方法之前,首先对本公开的应用场景进行介绍。本公开所提供的各实施例可以用于各种数据处理场景,如计算多方数据的平均值、基于多方数据进行模型训练等等。
77.相关场景中,在多方数据交互时,由于各方之间缺乏信任,因此可以引入可信任的第三方机构。这样,各方之间可以通过可信任的第三方机构进行数据交互。但是,这样的方式仍然面临着数据安全风险。例如在一些场景中,第三方机构作为数据的中转方,中心化程度较高。当第三方机构被攻击时,可能出现数据无法流转、数据泄露等现象。在一些场景中,第三方机构也可能具备较高的数据查看权限,因而可能出现数据泄露的现象。
78.为此,本公开提供一种数据处理系统,包括目标数据端、多个计算端以及节点集合,节点集合包括区块链网络中的多个区块链节点。其中,目标数据端和计算端可以是区块链网络中的节点也可以是能够与区块链网络进行交互的其他设备,本公开对此不做限制。
79.图1是本公开一示例性实施例所示出的一种数据处理系统的框图,在图1的示例中,节点集合包括区块链网络中的n个节点,计算端包括计算端1至计算端m。
80.其中,所述节点集合中的各个区块链节点可以以各种计算设备的形式呈现,这些计算设备可以是服务器、笔记本电脑,台式电脑等等,或是它们的组合。此外,节点集合中的区块链节点之间可以具有不同的功能。例如,节点1至节点4可以是用于共识的节点,如相关区块链网络中的背书节点。节点5至节点n则可以是用于记账的记账节点。当然,基于区块链网络的设置,在一些场景中,节点集合中的同一区块链节点也可以用于共识和记账,本公开对此不做限制。
81.在所述数据处理系统中,所述节点集合中的多个区块链节点用于,通过共识从所述多个计算端中确定目标计算端。
82.这里,在一种可能的实施方式中,所述节点集合中的多个区块链节点用于,响应于接收到所述目标数据端的数据处理请求,通过共识从所述多个计算端中共识确定目标计算端。也就是说,可以在接收到所述目标数据端的数据处理请求的情况下,确定用于处理所述数据处理请求的目标计算端。
83.在一种可能的实施方式中,所述节点集合中的多个区块链节点用于,按照预设时间周期,通过共识从所述多个计算端中共识确定目标计算端。
84.也就是说,所述多个区块链节点可以按照预设的时间周期(如一小时、一天),通过共识的方式确定目标计算端。这样,目标数据端需要进行数据处理时,可以查询当前的目标计算端,并进而通过所述目标计算端进行数据处理。
85.在一种可能的实施方式中,所述节点集合包括多个区块链共识节点,所述多个区块链共识节点通过如下方式从所述多个计算端中确定目标计算端:
86.获取各计算端的数据处理历史记录,所述数据处理历史记录包括数据处理指标;
87.根据所述数据处理指标,从各计算端中确定所述目标计算端。
88.示例地,目标数据端可以在数据处理完成之后,将用于该次数据处理的计算端的数据处理记录上传至区块链中。这里,数据处理记录例如可以包括数据处理质量参数、数据处理时长、数据处理收费信息等等。以数据处理为图像识别为例,数据处理质量参数可以包括图像识别的准确率、图像识别的成功率等等。
89.这样,在确定目标计算端时,各个区块链共识节点可以从区块链中获取各个计算端的数据处理历史记录。并根据数据处理历史记录中的数据处理指标,从各计算端中确定所述目标计算端。示例地,参照图2所示出的一种数据处理系统的框图,区块链共识节点可以根据获取到的数据处理历史记录计算计算端1至计算端m的数据处理时间的平均值,将平
均值最小的计算端2作为所述目标计算端。
90.此外值得说明的是,本公开实施例所描述的区块链节点共识确定目标计算端的步骤可以结合相关的共识算法使用,如工作量证明算法、raft算法等等。其中,确定目标计算端的步骤可以作为算法模块嵌入至相关共识算法中。例如,在raft算法中,可以由主节点随机选取(或通过上述示例的方式选取)目标计算端,并将目标计算端同步至其他从节点中,从而完成共识;在工作量证明算法中,则可以由获得记账权的节点选取目标计算端,并进而同步至其他节点,从而完成共识。
91.仍参照图1,所述目标数据端用于,将待处理数据进行同态加密,得到第一密文数据,并通过所述节点集合将所述第一密文数据保存至所述区块链网络的区块链中。
92.所述目标计算端用于,获取第一密文数据,对所述第一密文数据进行处理,得到处理结果,并通过所述节点集合将所述处理结果保存至所述区块链中,以便于所述目标数据端获取所述处理结果。
93.以下对第一密文数据的处理流程进行示例性说明。在一种可能的实施方式中,所述目标数据端用于,生成同态秘钥对,通过所述节点集合将所述同态秘钥对中的同态公钥保存至所述区块链中,并通过所述同态公钥对所述待处理数据进行同态加密,得到第一密文数据。
94.示例地,目标数据端可以预先生成同态秘钥对,所述同态秘钥对包括同态私钥以及同态公钥。生成同态秘钥对之后,目标数据端可以将所述同态公钥保存至区块链中,以便于目标计算端获取所述同态公钥。此外,目标数据端可以通过同态公钥对待处理数据进行同态加密,得到所述第一密文数据。
95.所述目标计算端用于,获取第一密文数据以及所述区块链中的所述同态公钥,并基于所述同态公钥对所述第一密文数据进行处理。
96.值得注意的是,上述同态秘钥对可以多次使用,在后续的数据处理流程在,目标数据端仍可以使用已保存的同态秘钥对。
97.在一些实施方式中,同态秘钥对也可以是一次性的,用于一次数据处理流程中。
98.例如,所述目标数据端用于,响应于接收到对所述待处理数据的数据处理请求,生成所述同态秘钥对。
99.也就是说,目标数据端可以在接收到数据处理请求时,生成用于对所述待处理数据进行处理的同态秘钥对。这样,在下一次接收到数据处理请求时,所述目标数据端可以重新生成新的同态秘钥对。通过这样的方式,多次数据处理流程可以采用不同的同态秘钥,因而能够增加数据破解的难度,起到提升数据安全性的效果。
100.上述技术方案中,节点集合中的多个区块链节点可以通过共识的方式,从多个计算端中确定目标计算端。通过这样的方式,可以避免计算端的中心化问题,降低数据泄露风险。在数据处理时,目标数据端可以将待处理的数据进行同态加密,得到第一密文数据,并将第一密文数据保存至区块链中。这样,目标计算端可以获取区块链中的第一密文数据,并在密文状态下对待处理数据进行处理。在处理完成之后,可以将处理结果上传至区块链中,以便于目标数据端获取。也就是说,第一密文数据为同态密文,目标计算端在处理时也是基于同态密文进行处理,而无需获取数据原文。同时,数据处理过程中的第一密文数据、处理结果通过区块链流转,具有不可篡改、可追溯的性质。因此,上述技术方案能够降低数据处
理过程中的数据泄露风险,保障数据的安全。
101.在一些实施场景中,所述数据处理系统可以包括多个数据端,所述目标数据端为所述多个数据端中的任一数据端。图3是本公开一示例性实施例所示出的一种数据处理系统的框图。参照图3,所述数据处理系统可以包括数据端1、数据端2以及数据端3,其中数据端3为目标数据端。
102.所述目标数据端还用于,将所述同态秘钥对中的同态私钥发送至所述多个数据端中的其他数据端。
103.示例地,目标数据端可以是发起联合数据处理请求的数据端。沿用图3的例子,当数据端3需要联合数据端1以及数据端2进行数据处理时,数据端3可以作为所述目标数据端,并生成同态秘钥对。生成同态秘钥对之后,目标数据端可以将同态秘钥对中的同态私钥发送至其他数据端。
104.以下对同态私钥的分发流程进行示例性说明。在一种可能的实施方式中,所述目标数据端用于,基于所述同态私钥对验证信息进行加密,得到加密验证信息,将所述加密验证信息保存至所述区块链中,并向所述多个数据端中的其他数据端发送所述验证信息以及所述同态私钥。
105.这里,验证信息(token)例如可以为随机内容,所述目标数据端可以通过对所述同态私钥对验证信息进行加密,得到加密验证信息,并将所述加密验证信息保存至所述区块链中。此外,目标数据端例如可以通过链下通信的方式分发同态私钥。作为一种示例,目标数据端可以通过p2p(peer to peer,对等网络)的方式向其他数据端分发同态私钥。
106.这样,任意所述数据端用于,从所述区块链中获取所述加密验证信息,在接收到所述验证信息以及所述同态私钥的情况下,通过所述加密验证信息、所述验证信息对所述同态私钥的正确性进行验证。
107.沿用图3的例子,数据端1和数据端2在接收到所述验证信息以及所述同态私钥时,可以通过接收到的同态私钥对所述验证信息加密,得到目标验证信息。这样,数据端1和数据端2可以对比目标验证信息和获取到的加密验证信息。当目标验证信息和加密验证信息一致时,确定同态私钥正确,当目标验证信息和加密验证信息不一致时,则确定同态私钥有误。通过这样的方式,能够确保同态私钥正确分发。
108.需要注意的是,由于各个数据端的同态私钥一致,因此数据端之间可以通过同态私钥解密其他数据端通过同态公钥加密得到的数据。在这种情况下,可能出现数据泄露的现象。
109.为此,本公开还引入了双重加密的机制。在这种情况下,所述目标计算端还用于,生成加密秘钥对,并通过所述节点集合将所述加密秘钥对中的加密公钥保存至所述区块链中;
110.所述目标数据端还用于,获取所述区块链中的所述加密公钥,基于所述加密公钥对所述第一密文数据进行加密,将加密得到的第二密文数据保存至所述区块链中;
111.所述目标计算端还用于,获取所述区块链中的第二密文数据,基于所述加密秘钥对中的加密私钥对所述第二密文数据进行解密,得到所述第一密文数据。
112.也就是说,目标数据端可以通过同态公钥对待处理数据进行加密,得到第一密文数据,并通过加密公钥对第一密文数据进行加密,得到第二密文数据。这样,由于加密私钥
由目标计算端持有,数据端和节点集合中的区块链节点在缺少加密私钥的情况下,无法对第二密文数据进行解密。因此,即便将第二密文数据上传至区块链中,数据端和节点集合中的区块链节点也无法获取到第二密文数据的原文。此外,目标计算端拥有加密私钥,因而可以将第二密文数据进行解密,得到第一密文数据。但由于目标计算端缺少同态私钥,因此目标计算端也无法获取到第二密文数据的原文。
113.采用上述技术方案,其他数据端、节点集合中的区块链节点以及目标计算端只能获取到数据处理过程中的部分阶段的数据,而无法通过任一方获取目标数据端的数据原文。并且,同态密文(第一加密数据)也具备可操作性,因此上述技术方案在保障数据可用、可操作的基础上还对数据明文进行了隐藏,从而实现了数据可用但不可见的效果,有助于保障数据安全。
114.以下对目标计算端对第一密文数据的处理方式进行示例性说明。在一种可能的实施方式中,所述多个数据端还用于,共识确定所述待处理数据的处理规则,将所述处理规则保存至所述区块链中。
115.所述目标计算端用于,获取所述区块链中的所述处理规则,根据所述处理规则以及所述同态公钥对所述第一密文数据进行处理,得到处理结果。
116.以图3为例,在一些实施场景中,数据端1拥有待处理数据a、数据端2拥有待处理数据b,数据端3拥有待处理数据c。这样,数据端1至数据端3可以约定数据的处理规则(例如求待处理数据a、待处理数据b以及待处理数据c的平均值),并将所述处理规则保存在区块链中,或是将所述处理规则以智能合约的方式部署在区块链中。
117.在这种情况下,目标计算端可以获取所述区块链中的所述处理规则、数据端1的第一密文数据a、数据端2的第一密文数据b、数据端3的第一密文数据c以及同态公钥。这样,目标计算端可以基于同态计算的方式,对第一密文数据a、第一密文数据b、第一密文数据c进行处理,得到处理结果。此外,目标计算端还可以将处理结果上传至区块链中,以便于数据端1、数据端2以及数据端3获取所述处理结果。
118.在一种可能的实施方式中,所述目标计算端还用于,通过所述加密私钥对所述处理结果进行加密,得到加密处理结果,并通过所述节点集合将所述加密处理结果保存至所述区块链中;
119.任意所述数据端用于,从所述区块链中获取所述加密处理结果,通过所述加密公钥对获取到的加密处理结果进行解密,得到所述处理结果,并通过所述同态私钥对所述处理结果进行解密,得到处理结果明文。
120.沿用上述关于图3的例子,数据端1、数据端2以及数据端3可以从区块链中获取加密处理结果,通过所述加密公钥对获取到的加密处理结果进行解密,得到所述处理结果。这样,数据端1、数据端2以及数据端3可以通过所述同态私钥对所述处理结果进行解密,得到待处理数据a、待处理数据b以及待处理数据c的平均值。
121.采用上述技术方案,多个数据端之间可以联合进行数据处理。在数据处理过程中,其他数据端、节点集合中的区块链节点以及目标计算端只能获取到部分阶段的数据,而无法通过任一方获取目标数据端的数据原文。并且,同态密文(第一加密数据)也具备可操作性,因此上述技术方案在保障数据可用、可操作的基础上还对数据明文进行了隐藏,从而实现了数据可用但不可见的效果,有助于保障数据安全。
122.基于同一发明构思,本公开还提供一种数据处理方法,应用于本公开所提供的数据处理系统。图4是本公开一示例性实施例所示出的一种数据处理方法的流程图,参照图4,所述方法包括:
123.在步骤s41中,节点集合中的多个区块链节点通过共识从多个计算端中确定目标计算端。
124.在一种可能的实施方式中,所述节点集合中的多个区块链节点可以响应于接收到所述目标数据端的数据处理请求,通过共识从所述多个计算端中共识确定目标计算端。也就是说,可以在接收到所述目标数据端的数据处理请求的情况下,确定用于处理所述数据处理请求的目标计算端。
125.在一种可能的实施方式中,所述节点集合中的多个区块链节点可以按照预设时间周期,通过共识从所述多个计算端中共识确定目标计算端。
126.也就是说,所述多个区块链节点可以按照预设的时间周期,通过共识的方式确定目标计算端。这样,目标数据端需要进行数据处理时,可以查询当前的目标计算端,并进而通过所述目标计算端进行数据处理。
127.在一种可能的实施方式中,所述节点集合包括多个区块链共识节点,所述节点集合中的多个区块链节点通过共识从多个计算端中确定目标计算端(步骤s41),包括:
128.所述节点集合中的多个区块链节点获取各计算端的数据处理历史记录,所述数据处理历史记录包括数据处理指标;
129.所述节点集合中的多个区块链节点根据所述数据处理指标,从各计算端中确定所述目标计算端。
130.示例地,目标数据端可以在数据处理完成之后,将用于该次数据处理的计算端的数据处理记录上传至区块链中。这里,数据处理记录例如可以包括数据处理质量参数、数据处理时长、数据处理收费信息等等。以数据处理为图像识别为例,数据处理质量参数可以包括图像识别的准确率、图像识别的成功率等等。
131.这样,在确定目标计算端时,各个区块链共识节点可以从区块链中获取各个计算端的数据处理历史记录。并根据数据处理历史记录中的数据处理指标,从各计算端中确定所述目标计算端。示例地,参照图2所示出的一种数据处理系统的框图,区块链共识节点可以根据获取到的数据处理历史记录计算计算端1至计算端m的数据处理时间的平均值,将平均值最小的计算端2作为所述目标计算端。
132.在步骤s42中,目标数据端将待处理数据进行同态加密,得到第一密文数据。
133.在步骤s43中,目标数据端通过所述节点集合将所述第一密文数据保存至区块链网络的区块链中。
134.在步骤s44中,目标计算端获取第一密文数据。
135.在步骤s45中,目标计算端对所述第一密文数据进行处理,得到处理结果。
136.在步骤s46中,目标计算端通过所述节点集合将所述处理结果保存至所述区块链中,以便于所述目标数据端获取所述处理结果。
137.上述技术方案中,节点集合中的多个区块链节点可以通过共识的方式,从多个计算端中确定目标计算端。通过这样的方式,可以避免计算端的中心化问题,降低数据泄露风险。在数据处理时,目标数据端可以将待处理的数据进行同态加密,得到第一密文数据,并
将第一密文数据保存至区块链中。这样,目标计算端可以获取区块链中的第一密文数据,并在密文状态下对待处理数据进行处理。在处理完成之后,可以将处理结果上传至区块链中,以便于目标数据端获取。也就是说,第一密文数据为同态密文,目标计算端在处理时也是基于同态密文进行处理,而无需获取数据原文。同时,数据处理过程中的第一密文数据、处理结果通过区块链流转,具有不可篡改、可追溯的性质。因此,上述技术方案能够降低数据处理过程中的数据泄露风险,保障数据的安全。
138.图5是本公开一示例性实施例所示出的一种数据处理方法的流程图,所述方法应用于本公开所提供的数据处理系统。参照图5,所述方法包括:
139.在步骤s51中,节点集合中的多个区块链节点通过共识从多个计算端中确定目标计算端。
140.在步骤s52中,目标数据端生成同态秘钥对。
141.在步骤s53中,目标数据端通过节点集合将同态秘钥对中的同态公钥保存至区块链中。
142.在步骤s54中,目标数据端通过同态公钥对待处理数据进行同态加密,得到第一密文数据。
143.示例地,目标数据端可以预先生成同态秘钥对,所述同态秘钥对包括同态私钥以及同态公钥。生成同态秘钥对之后,目标数据端可以将所述同态公钥保存至区块链中,以便于目标计算端获取所述同态公钥。此外,目标数据端可以通过同态公钥对待处理数据进行同态加密,得到所述第一密文数据。
144.在步骤s55中,目标数据端通过所述节点集合将第一密文数据保存至区块链网络的区块链中。
145.在步骤s56中,目标计算端获取第一密文数据。
146.在步骤s57中,目标计算端获取区块链中的同态公钥,并基于同态公钥对第一密文数据进行处理,得到处理结果。
147.在步骤s58中,目标计算端通过节点集合将处理结果保存至所述区块链中,以便于目标数据端获取处理结果。
148.值得注意的是,上述同态秘钥对可以多次使用,在后续的数据处理流程在,目标数据端仍可以使用已保存的同态秘钥对。
149.在一些实施方式中,同态秘钥对也可以是一次性的,用于一次数据处理流程中。在这种情况下,所述目标数据端生成同态秘钥对(步骤s52),包括:
150.目标数据端响应于接收到对所述待处理数据的数据处理请求,生成所述同态秘钥对。
151.也就是说,目标数据端可以在接收到数据处理请求时,生成用于对所述待处理数据进行处理的同态秘钥对。这样,在下一次接收到数据处理请求时,所述目标数据端可以重新生成新的同态秘钥对。通过这样的方式,多次数据处理流程可以采用不同的同态秘钥,因而能够增加数据破解的难度,起到提升数据安全性的效果。
152.在一种可能的实施方式中,所述数据处理系统包括多个数据端,所述目标数据端为所述多个数据端中的任一数据端。参照图6所示出的一种数据处理方法的流程图,所述方法应用于本公开所提供的数据处理系统,所述方法包括:
153.在步骤s61中,节点集合中的多个区块链节点通过共识从多个计算端中确定目标计算端。
154.在步骤s62中,目标数据端生成同态秘钥对。
155.在步骤s63中,目标数据端通过节点集合将同态秘钥对中的同态公钥保存至区块链中。
156.在步骤s64中,目标数据端将同态秘钥对中的同态私钥发送至多个数据端中的其他数据端。
157.示例地,目标数据端可以是发起联合数据处理请求的数据端。沿用图3的例子,当数据端3需要联合数据端1以及数据端2进行数据处理时,数据端3可以作为所述目标数据端,并生成同态秘钥对。生成同态秘钥对之后,目标数据端可以将同态秘钥对中的同态私钥发送至其他数据端。
158.以下对同态私钥的分发流程进行示例性说明。在一种可能的实施方式中,所述目标数据端将所述同态秘钥对中的同态私钥发送至所述多个数据端中的其他数据端,包括:
159.目标数据端基于所述同态私钥对验证信息进行加密,得到加密验证信息,将所述加密验证信息保存至所述区块链中,并向所述多个数据端中的其他数据端发送所述验证信息以及所述同态私钥。
160.这里,验证信息(token)例如可以为随机内容,所述目标数据端可以通过对所述同态私钥对验证信息进行加密,得到加密验证信息,并将所述加密验证信息保存至所述区块链中。此外,目标数据端例如可以通过链下通信的方式分发同态私钥。作为一种示例,目标数据端可以通过p2p(peer to peer,对等网络)的方式向其他数据端分发同态私钥。
161.这样,任意所述数据端从所述区块链中获取所述加密验证信息,在接收到所述验证信息以及所述同态私钥的情况下,通过所述加密验证信息、所述验证信息对所述同态私钥的正确性进行验证。
162.沿用图3的例子,数据端1和数据端2在接收到所述验证信息以及所述同态私钥时,可以通过接收到的同态私钥对所述验证信息加密,得到目标验证信息。这样,数据端1和数据端2可以对比目标验证信息和获取到的加密验证信息。当目标验证信息和加密验证信息一致时,确定同态私钥正确,当目标验证信息和加密验证信息不一致时,则确定同态私钥有误。通过这样的方式,能够确保同态秘钥正确分发。
163.需要注意的是,由于各个数据端的同态私钥一致,因此数据端之间可以通过同态私钥解密其他数据端通过同态公钥加密得到的数据。在这种情况下,可能出现数据泄露的现象。
164.为此,本公开还引入了双重加密的机制。在步骤s65中,目标计算端生成加密秘钥对,并通过所述节点集合将加密秘钥对中的加密公钥保存至区块链中。
165.在步骤s66中,目标数据端通过同态公钥对待处理数据进行同态加密,得到第一密文数据。
166.在步骤s67中,目标数据端获取区块链中的加密公钥,基于加密公钥对第一密文数据进行加密,得到第二密文数据。
167.在步骤s68中,目标数据端通过节点集合将第二密文数据保存至区块链网络的区块链中。
168.在步骤s69中,目标计算端获取区块链中的第二密文数据,基于所述加密秘钥对中的加密私钥对第二密文数据进行解密,得到第一密文数据。
169.也就是说,目标数据端可以通过同态公钥对待处理数据进行加密,得到第一密文数据,并通过加密公钥对第一密文数据进行加密,得到第二密文数据。这样,由于加密私钥由目标计算端持有,数据端和节点集合中的区块链节点在缺少加密私钥的情况下,无法对第二密文数据进行解密。因此,即便将第二密文数据上传至区块链中,数据端和节点集合中的区块链节点也无法获取到第二密文数据的原文。此外,目标计算端拥有加密私钥,因而可以将第二密文数据进行解密,得到第一密文数据。但由于目标计算端缺少同态私钥,因此目标计算端也无法获取到第二密文数据的原文。
170.采用上述技术方案,其他数据端、节点集合中的区块链节点以及目标计算端只能获取到数据处理过程中的部分阶段的数据,而无法通过任一方获取目标数据端的数据原文。并且,同态密文(第一加密数据)也具备可操作性,因此上述技术方案在保障数据可用、可操作的基础上还对数据明文进行了隐藏,从而实现了数据可用但不可见的效果,有助于保障数据安全。
171.在步骤s610中,目标计算端获取区块链中的同态公钥,并基于同态公钥对第一密文数据进行处理,得到处理结果。
172.在步骤s611中,目标计算端通过节点集合将处理结果保存至区块链中,以便于目标数据端获取处理结果。
173.以下对目标计算端对第一密文数据的处理方式进行示例性说明。在一种可能的实施方式中,所述方法包括:
174.多个数据端共识确定所述待处理数据的处理规则,将所述处理规则保存至所述区块链中;
175.在这种情况下,所述目标计算端对所述第一密文数据进行处理,得到处理结果,包括:
176.目标计算端获取所述区块链中的所述处理规则,根据所述处理规则以及所述同态公钥对所述第一密文数据进行处理,得到处理结果。
177.以图3为例,在一些实施场景中,数据端1拥有待处理数据a、数据端2拥有待处理数据b,数据端3拥有待处理数据c。这样,数据端1至数据端3可以约定数据的处理规则(例如求待处理数据a、待处理数据b以及待处理数据c的平均值),并将所述处理规则保存在区块链中,或是将所述处理规则以智能合约的方式部署在区块链中。
178.在这种情况下,目标计算端可以获取所述区块链中的所述处理规则、数据端1的第一密文数据a、数据端2的第一密文数据b、数据端3的第一密文数据c以及同态公钥。这样,目标计算端可以基于同态计算的方式,对第一密文数据a、第一密文数据b、第一密文数据c进行处理,得到处理结果。此外,目标计算端还可以将处理结果上传至区块链中,以便于数据端1、数据端2以及数据端3获取所述处理结果。
179.在一种可能的实施方式中,所述方法还包括:
180.目标计算端通过所述加密私钥对所述处理结果进行加密,得到加密处理结果,并通过所述节点集合将所述加密处理结果保存至所述区块链中;
181.任意所述数据端从所述区块链中获取所述加密处理结果,通过所述加密公钥对获
取到的加密处理结果进行解密,得到所述处理结果,并通过所述同态私钥对所述处理结果进行解密,得到处理结果明文。
182.沿用上述关于图3的例子,数据端1、数据端2以及数据端3可以从区块链中获取加密处理结果,通过所述加密公钥对获取到的加密处理结果进行解密,得到所述处理结果。这样,数据端1、数据端2以及数据端3可以通过所述同态私钥对所述处理结果进行解密,得到待处理数据a、待处理数据b以及待处理数据c的平均值。
183.采用上述技术方案,多个数据端之间可以联合进行数据处理。在数据处理过程中,其他数据端、节点集合中的区块链节点以及目标计算端只能获取到部分阶段的数据,而无法通过任一方获取目标数据端的数据原文。并且,同态密文(第一加密数据)也具备可操作性,因此上述技术方案在保障数据可用、可操作的基础上还对数据明文进行了隐藏,从而实现了数据可用但不可见的效果,有助于保障数据安全。
184.另外值得说明的是,对于上述方法实施例,为了简单描述,故将其表述为一系列的动作组合。但是本领域技术人员应该知悉,本公开并不受所描述的动作顺序的限制。例如,参照图7所示出的一种数据处理方法的流程图,在一些可能的实施方式中,选取目标计算端的步骤可以在各个数据端的同态私钥分发完成之后进行,本公开对此不做限制。此外,关于图7中各个步骤的实施方式,请参照本公开上述实施例中的说明,为了说明书的简洁,本公开对此不做赘述。
185.在另一示例性实施例中,还提供一种计算机程序产品,该计算机程序产品包含能够由可编程的装置执行的计算机程序,该计算机程序具有当由该可编程的装置执行时用于执行上述的数据处理方法的代码部分。
186.以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。
187.另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。
188.此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。

技术特征:
1.一种数据处理系统,其特征在于,包括目标数据端、多个计算端以及节点集合,所述节点集合包括区块链网络中的多个区块链节点,其中,所述节点集合中的多个区块链节点用于,通过共识从所述多个计算端中确定目标计算端;所述目标数据端用于,将待处理数据进行同态加密,得到第一密文数据,并通过所述节点集合将所述第一密文数据保存至所述区块链网络的区块链中;所述目标计算端用于,获取第一密文数据,对所述第一密文数据进行处理,得到处理结果,并通过所述节点集合将所述处理结果保存至所述区块链中,以便于所述目标数据端获取所述处理结果。2.根据权利要求1所述的数据处理系统,其特征在于,所述目标数据端用于,生成同态秘钥对,通过所述节点集合将所述同态秘钥对中的同态公钥保存至所述区块链中,并通过所述同态公钥对所述待处理数据进行同态加密,得到第一密文数据;所述目标计算端用于,获取第一密文数据以及所述区块链中的所述同态公钥,并基于所述同态公钥对所述第一密文数据进行处理。3.根据权利要求2所述的数据处理系统,其特征在于,所述目标数据端用于,响应于接收到对待处理数据的数据处理请求,生成所述同态秘钥对。4.根据权利要求2或3所述的数据处理系统,其特征在于,包括多个数据端,所述目标数据端为所述多个数据端中的任一数据端,所述目标数据端还用于,将所述同态秘钥对中的同态私钥发送至所述多个数据端中的其他数据端;所述目标计算端还用于,生成加密秘钥对,并通过所述节点集合将所述加密秘钥对中的加密公钥保存至所述区块链中;所述目标数据端还用于,获取所述区块链中的所述加密公钥,基于所述加密公钥对所述第一密文数据进行加密,将加密得到的第二密文数据保存至所述区块链中;所述目标计算端还用于,获取所述区块链中的第二密文数据,基于所述加密秘钥对中的加密私钥对所述第二密文数据进行解密,得到所述第一密文数据。5.根据权利要求4所述的数据处理系统,其特征在于,所述目标数据端还用于,基于所述同态私钥对验证信息进行加密,得到加密验证信息,将所述加密验证信息保存至所述区块链中,并向所述多个数据端中的其他数据端发送所述验证信息以及所述同态私钥;任意所述数据端用于,从所述区块链中获取所述加密验证信息,在接收到所述验证信息以及所述同态私钥的情况下,通过所述加密验证信息、所述验证信息对所述同态私钥的正确性进行验证。6.根据权利要求4所述的数据处理系统,其特征在于,所述多个数据端还用于,共识确定所述待处理数据的处理规则,将所述处理规则保存至所述区块链中;所述目标计算端用于,获取所述区块链中的所述处理规则,根据所述处理规则以及所述同态公钥对所述第一密文数据进行处理,得到处理结果。7.根据权利要求4所述的数据处理系统,其特征在于,所述目标计算端还用于,通过所述加密私钥对所述处理结果进行加密,得到加密处理结果,并通过所述节点集合将所述加密处理结果保存至所述区块链中;任意所述数据端用于,从所述区块链中获取所述加密处理结果,通过所述加密公钥对
获取到的加密处理结果进行解密,得到所述处理结果,并通过所述同态私钥对所述处理结果进行解密,得到处理结果明文。8.根据权利要求1至3中任一项所述的数据处理系统,其特征在于,所述节点集合中的多个区块链节点用于,响应于接收到所述目标数据端的数据处理请求,通过共识从所述多个计算端中共识确定目标计算端;或者,按照预设时间周期,通过共识从所述多个计算端中共识确定目标计算端。9.根据权利要求1至3中任一项所述的数据处理系统,其特征在于,所述节点集合包括多个区块链共识节点,所述多个区块链共识节点通过如下方式从所述多个计算端中确定目标计算端:获取各计算端的数据处理历史记录,所述数据处理历史记录包括数据处理指标;根据所述数据处理指标,从各计算端中确定所述目标计算端。10.一种数据处理方法,其特征在于,应用于权利要求1至9中任一项所述的数据处理系统,所述方法包括:节点集合中的多个区块链节点通过共识从多个计算端中确定目标计算端;目标数据端将待处理数据进行同态加密,得到第一密文数据;目标数据端通过所述节点集合将所述第一密文数据保存至区块链网络的区块链中;目标计算端获取第一密文数据;目标计算端对所述第一密文数据进行处理,得到处理结果;目标计算端通过所述节点集合将所述处理结果保存至所述区块链中,以便于所述目标数据端获取所述处理结果。

技术总结
本公开涉及一种数据处理系统、数据处理方法,所述系统包括:包括目标数据端、多个计算端以及节点集合,所述节点集合包括区块链网络中的多个区块链节点,其中,所述节点集合中的多个区块链节点用于,通过共识从所述多个计算端中确定目标计算端;所述目标数据端用于,将待处理数据进行同态加密,得到第一密文数据,并通过所述节点集合将所述第一密文数据保存至所述区块链网络的区块链中;所述目标计算端用于,获取第一密文数据,对所述第一密文数据进行处理,得到处理结果,并通过所述节点集合将所述处理结果保存至所述区块链中,以便于所述目标数据端获取所述处理结果。上述技术方案能够降低数据处理过程中的数据泄露风险,保障数据的安全。据的安全。据的安全。


技术研发人员:蒋帅 徐石成 何光宇
受保护的技术使用者:东软集团股份有限公司
技术研发日:2022.07.11
技术公布日:2022/11/1
转载请注明原文地址: https://tieba.8miu.com/read-6920.html

最新回复(0)