CN113922953B - 一种数据处理方法及装置 - Google Patents
一种数据处理方法及装置 Download PDFInfo
- Publication number
- CN113922953B CN113922953B CN202111162359.5A CN202111162359A CN113922953B CN 113922953 B CN113922953 B CN 113922953B CN 202111162359 A CN202111162359 A CN 202111162359A CN 113922953 B CN113922953 B CN 113922953B
- Authority
- CN
- China
- Prior art keywords
- data
- computing
- node
- candidate
- nodes
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting 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/6245—Protecting personal data, e.g. for financial or medical purposes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/46—Secure multiparty computation, e.g. millionaire problem
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Computing Systems (AREA)
- Storage Device Security (AREA)
Abstract
本申请提供一种数据处理方法及装置,数据节点可以向候选计算节点发送第一随机数据,候选计算节点生成第一安全数据,基于第一安全数据和第一随机数据,生成第二随机数据;如果第二随机数据满足预设条件,将候选计算节点作为计算节点使用,并向数据节点发送回复信息以指示候选计算节点可作为计算节点使用。数据节点可以根据候选计算节点发送的回复信息,确定第一候选计算组信息,然后根据第一候选计算组信息,得到计算组信息,计算组信息中的计算节点用于对数据节点发送的数据分片进行处理,实现从多个候选计算节点中动态选择计算节点以及去中心化的目的。因计算节点的不固定性,可以提高安全性和避免计算节点之间共谋。
Description
技术领域
本申请属于安全计算技术领域,尤其涉及一种数据处理方法及装置。
背景技术
Secure Multi-Party Computation(安全多方计算或多方安全计算,MPC)是解决在一个互不信任的多节点网络中,两个节点或多个节点能够在不泄漏各自私有输入信息时,协同合作执行某项计算任务的问题。
其中多节点网络是MPC系统中的多个计算节点组成的网络,在MPC系统包括:多个候选计算节点、多个数据节点和一个协调节点,协调节点从多个候选计算节点中选择出多个计算节点,数据节点根据计算节点的信息,将数据节点中的数据秘密分享给计算节点。但是协调节点选择出的计算节点固定,使得计算节点容易遭受攻击者的攻击,且固定的计算节点之间存在共享数据的可能性,导致计算节点能够反推出数据节点中的数据,降低数据安全性。
发明内容
本申请提供一种数据处理方法及装置。
一方面,本申请提供一种数据处理方法,应用于安全多方计算系统的候选计算节点中,所述方法包括:
候选计算节点接收数据节点发送的第一随机数据,所述第一随机数据用于确定所述候选计算节点是否可作为计算节点使用,所述数据节点位于所述安全多方计算系统中,所述计算节点可接收所述数据节点发送的数据分片,由所述计算节点对所述数据分片进行处理;
生成第一安全数据;
基于所述第一安全数据和所述第一随机数据,生成第二随机数据;
如果所述第二随机数据满足预设条件,将所述候选计算节点作为所述计算节点使用;
向所述数据节点发送回复信息,所述回复信息用于指示所述候选计算节点作为所述计算节点使用。
可选的,所述方法还包括:生成第二安全数据,所述第二安全数据与所述第一安全数据相关;
在将所述候选计算节点作为所述计算节点使用后,将所述第二安全数据、所述第二随机数据和证明数据封装在所述回复信息中,所述证明数据基于所述第一安全数据和所述第一随机数据生成,所述证明数据用于证明所述候选计算节点利用所述第一随机数据确定其可作为计算节点;所述第二安全数据和所述第二随机数据用于所述数据节点验证所述候选计算节点作为计算节点的真假。
可选的,所述如果所述第二随机数据满足预设条件,将所述候选计算节点作为所述计算节点使用包括:
基于所述第二随机数据,生成所述候选计算节点的抽取值;
如果所述候选计算节点的抽取值大于预设阈值,将所述候选计算节点作为所述计算节点使用。
可选的,所述候选计算节点和所述数据节点分别为区块链中的节点,所述方法还包括:将证明数据发布在所述区块链上,所述证明数据基于所述第一安全数据和所述第一随机数据生成,所述证明数据用于证明所述候选计算节点利用所述第一随机数据确定其可作为计算节点。
可选的,所述数据节点利用所述数据节点的第三安全数据对所述第一随机数据进行加密后发送,所述方法还包括:
利用所述数据节点的第四安全数据对加密后的第一随机数据进行验证,所述第四安全数据和所述第三安全数据相关;
如果所述加密后的第一随机数据验证通过,执行所述生成第一安全数据的步骤;
如果所述加密后的第一随机数据验证失败,等待其他数据节点发送的加密后的第一随机数据。
另一方面,本申请提供一种数据处理方法,应用于安全多方计算系统的数据节点中,所述方法包括:
所述数据节点向候选计算节点发送第一随机数据,所述第一随机数据用于确定所述候选计算节点是否可作为计算节点使用,所述候选计算节点位于所述安全多方计算系统中;
接收所述候选计算节点发送的回复信息,所述回复信息是所述候选计算节点确定为计算节点后发送,所述候选计算节点在第二随机数据满足预设条件的情况下确定为计算节点,所述第二随机数据基于所述第一随机数据和候选计算节点生成的第一安全数据得到;
根据所述候选计算节点发送的回复信息,确定第一候选计算组信息,所述第一候选计算组信息中携带有计算节点的标识信息;
根据所述第一候选计算组信息,得到计算组信息,所述计算组信息中的计算节点用于对数据节点发送的数据分片进行处理。
可选的,所述方法还包括:
从所述回复信息中提取第二安全数据、第二随机数据和证明数据;
基于所述第二安全数据和所述第一随机数据,对所述第二随机数据和所述证明数据进行验证;
如果所述第二随机数据和所述证明数据验证通过,将发送所述回复信息的候选计算节点的标识信息记录在所述第一候选计算组信息中;
如果所述第二随机数据和所述证明数据验证失败,禁止在所述第一候选计算组信息中写入发送所述回复信息的候选计算节点的标识信息。
可选的,所述接收所述候选计算节点发送的回复信息包括:在预设时间内接收多个所述候选计算节点发送的回复信息;
所述方法还包括:如果接收到的回复信息的数量小于预设数量,重新向所述候选计算节点发送另一个第一随机数据;
如果接收到的回复信息的数量大于或等于所述预设数量,对发送所述回复信息的候选计算节点进行验证,以验证所述候选计算节点作为计算节点的真假。
可选的,所述预设数量size=N/2+t,N是候选计算节点的总数,t是所述计算组信息中计算节点的预设总数。
可选的,所述根据所述第一候选计算组信息,得到计算组信息包括:从所述第一候选计算组信息中选取预设总数的计算节点,将选取的计算节点的标识信息记录在所述计算组信息中,所述预设总数是所述计算组信息中计算节点的总数;
或者
所述根据所述第一候选计算组信息,得到计算组信息包括:将所述第一候选计算组信息发送给其他数据节点,接收其他数据节点发送的第二候选计算组信息;
选择同时存在于所述第一候选计算组信息和所述第二候选计算组信息中的计算节点,将所选择的计算节点的标识信息记录在所述计算组信息中。
再一方面,本申请提供一种候选计算节点,所述候选计算节点包括:通信模块和处理器;
所述处理器,用于利用所述通信模块接收数据节点发送的第一随机数据,所述第一随机数据用于确定所述候选计算节点是否可作为计算节点使用,生成第一安全数据;基于所述第一安全数据和所述第一随机数据,生成第二随机数据;如果所述第二随机数据满足预设条件,将所述候选计算节点作为所述计算节点使用;利用所述通信模块向所述数据节点发送回复信息,所述回复信息用于指示所述候选计算节点作为所述计算节点使用;
所述候选计算节点和所述数据节点位于安全多方计算系统中,所述计算节点可接收所述数据节点发送的数据分片,由所述计算节点对所述数据分片进行处理。
再一方面,本申请提供一种数据节点,所述数据节点包括:通信模块和处理器;
所述处理器,用于利用所述通信模块向候选计算节点发送第一随机数据,所述第一随机数据用于确定所述候选计算节点是否可作为计算节点使用,以及利用所述通信模块接收所述候选计算节点发送的回复信息,所述回复信息是所述候选计算节点确定为计算节点后发送,所述候选计算节点在第二随机数据满足预设条件的情况下确定为计算节点,所述第二随机数据基于所述第一随机数据和候选计算节点生成的第一安全数据得到,所述候选计算节点和所述数据节点位于安全多方计算系统中;
所述处理器,还用于根据所述候选计算节点发送的回复信息,确定第一候选计算组信息,所述第一候选计算组信息中携带有计算节点的标识信息;根据所述第一候选计算组信息,得到计算组信息,所述计算组信息中的计算节点用于对数据节点发送的数据分片进行处理。
再一方面,本申请提供一种数据处理装置,应用于安全多方计算系统的候选计算节点中,所述装置包括:
接收单元,用于接收数据节点发送的第一随机数据,所述第一随机数据用于确定所述候选计算节点是否可作为计算节点使用,所述数据节点位于所述安全多方计算系统中,所述计算节点可接收所述数据节点发送的数据分片,由所述计算节点对所述数据分片进行处理;
生成单元,用于生成第一安全数据,基于所述第一安全数据和所述第一随机数据,生成第二随机数据;
确定单元,用于如果所述第二随机数据满足预设条件,将所述候选计算节点作为所述计算节点使用;
发送单元,用于向所述数据节点发送回复信息,所述回复信息用于指示所述候选计算节点作为所述计算节点使用。
再一方面,本申请提供一种数据处理装置,应用于安全多方计算系统的数据节点中,所述装置包括:
发送单元,用于向候选计算节点发送第一随机数据,所述第一随机数据用于确定所述候选计算节点是否可作为计算节点使用,所述候选计算节点位于所述安全多方计算系统中;
接收单元,用于接收所述候选计算节点发送的回复信息,所述回复信息是所述候选计算节点确定为计算节点后发送,所述候选计算节点在第二随机数据满足预设条件的情况下确定为计算节点,所述第二随机数据基于所述第一随机数据和候选计算节点生成的第一安全数据得到;
确定单元,用于根据所述候选计算节点发送的回复信息,确定第一候选计算组信息,所述第一候选计算组信息中携带有计算节点的标识信息;根据所述第一候选计算组信息,得到计算组信息,所述计算组信息中的计算节点用于对数据节点发送的数据分片进行处理。
再一方面,本申请提供一种存储介质,所述存储介质中存储有计算机程序代码,所述计算机程序代码运行时实现上述数据处理方法。
上述数据处理方法及装置,数据节点可以向候选计算节点发送第一随机数据,候选计算节点生成第一安全数据,基于第一安全数据和第一随机数据,生成第二随机数据;如果第二随机数据满足预设条件,将候选计算节点作为计算节点使用,并向数据节点发送回复信息以指示候选计算节点可作为计算节点使用。数据节点可以根据候选计算节点发送的回复信息,确定第一候选计算组信息,然后根据第一候选计算组信息,得到计算组信息,计算组信息中的计算节点用于对数据节点发送的数据分片进行处理,由此不同数据节点发送不同的第一随机数据时,候选计算节点计算出的第二随机数据可能不同,使得候选计算节点存在作为计算节点或不能作为计算节点的可能性,防止计算节点的固定,实现从多个候选计算节点中动态选择计算节点的目的。因计算节点的不固定性,计算节点遭受攻击者攻击的可能性降低且计算节点之间共享数据的可能性也会降低,从而提高安全性和避免计算节点之间共谋。并且计算节点的选择可根据数据节点发送的第一随机数据完成,不需要协调节点指定,减少安全多方计算系统中的中心化角色,实现了去中心化。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种安全多方计算系统的结构示意图;
图2是本申请实施例提供的一种数据处理方法的信令图;
图3是本申请实施例提供的另一种数据处理方法的信令图;
图4是本申请实施例提供的再一种数据处理方法的信令图;
图5是本申请实施例提供的一种候选计算节点的示意图;
图6是本申请实施例提供的一种数据节点的示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参见图1,其示出了本申请实施例提供的一种安全多方计算系统的可选结构,安全多方计算系统中包括多个节点,多个节点的角色可能不同,如图1所示安全多方计算节点中包括多个数据节点10、多个候选计算节点20和一个协调节点30。协调节点30可以从多个候选计算节点20中选择部分候选计算节点20作为计算节点使用,协调节点30可以将计算节点的地址等发送给数据节点10。
每个数据节点10根据计算节点的地址,将数据分片传输给计算节点,不同的计算节点得到的数据分片可以不同;计算节点对数据分片进行计算处理。
例如安全多方计算系统的需求是,在数据节点A和数据节点B互相不泄露各自数据的情况下,求两者之和。其中数据节点A拥有资产金额为10,数据节点B拥有资产金额为20。协调节点30可从多个候选计算节点20中选择4个候选计算节点作为计算节点使用,然后协调节点30将4个计算节点的地址发送给数据节点A和数据节点B。
数据节点A和数据节点B分别对各自的资产金额进行分片,然后将不同的资产金额分片发送给不同的计算节点,每个计算节点会计算出部分资产金额之后,通过4个计算节点得到资产金额总数。
但是在通过协调节点30选择计算节点时,选择的计算节点可固定不变,计算节点之间可能存在共谋的可能性,如计算节点将接收到的数据分片发送给其他计算节点,从而使得计算节点能够得到数据节点的所有数据,降低安全性。并且安全多方计算系统需要一个协调节点来指定计算节点,计算节点的固定也会导致其受到攻击的可能性加大,进而降低安全性。
为此本实施例提供一种数据处理方法及装置,动态地从多个候选计算节点中选择计算节点,使得安全多方计算系统中的计算节点不固定,降低计算节点共谋和计算节点被攻击的可能性,提高安全性,且无需协调节点指定,实现对安全多方计算系统的去中心化。
相对应的一种数据处理方法的信令图如图2所示,应用于安全多方计算系统的候选计算节点和数据节点中,可以包括以下步骤:
101、数据节点向候选计算节点发送第一随机数据,第一随机数据用于确定候选计算节点是否可作为计算节点使用。第一随机数据还可以用于触发候选计算节点验证是否可作为计算节点使用,验证过程中使用第一随机数据。
在本实施例中,数据节点可以根据候选计算节点的地址,向候选计算节点发送第一随机数据,一个数据节点可以向安全多方计算系统中的多个候选计算节点发送第一随机数据,以触发多个候选计算节点验证是否可作为计算节点使用,这样能够从安全多方计算系统中选择多个计算节点。
其中候选计算节点的地址可记录在安全多方计算系统的配置信息中,数据节点能够访问配置信息以得到候选计算节点的地址。数据节点发送的第一随机数据可以是一个随机值seed,对于随机值seed的取值本实施例不进行限定。数据节点每次请求计算节点时生成的第一随机数据可以不同,如每次请求计算节点时生成不同的随机值seed,对于每次生成的随机值seed之间的差异也可以是随机的,以防止攻击者发现随机值的生成规律,任意两个随机值seed之间的差异本实施例不进行限定。
102、候选计算节点生成第一安全数据。
第一安全数据也用于确定候选计算节点是否可作为计算节点使用,以防止攻击者识别到第一随机数据后伪装成计算节点,从而引入第一安全数据来提高安全性。候选计算节点可生成公私钥对(PK,SK),其中PK为公钥,SK为私钥,私钥SK可以作为第一安全数据使用。
103、候选计算节点基于第一安全数据和第一随机数据,生成第二随机数据。在本实施例中,候选计算节点可利用第一安全数据和第一随机数据,重新生成一个随机数据,如第二随机数据,这样即便第一随机数据暴露,但是用于确定候选计算节点作为计算节点使用的第二随机数据不会随着暴露,提高安全性。
候选计算节点可通过一些随机函数生成第二随机数据,如可通过但不限于VRF(Verifiable Random Functions)算法生成第二随机数据。在利用随机函数生成第二随机数据时,第一安全数据和第一随机数据可作为随机函数的输入,通过随机函数的内部处理后,输出第二随机数据。例如将私钥SK和随机值seed作为VRF算法的输入,VRF算法输出的随机值作为第二随机数据。
104、候选计算节点如果确定第二随机数据满足预设条件,将候选计算节点作为计算节点使用。
预设条件可根据第二随机数据的类型而定,如果第二随机数据是一个随机值,预设条件可以是一个与随机值相关的预设阈值。例如本实施例中,候选计算节点可以基于第二随机数据,生成候选计算节点的抽取值,如果候选计算节点的抽取值大于预设阈值,将候选计算节点作为计算节点使用。
抽取值用于验证候选计算节点是否可作为计算节点使用,如果抽取值大于预设阈值,将候选计算节点作为计算节点使用;如果抽取值小于或等于预设阈值,禁止将候选计算节点作为计算节点使用,候选计算节点继续等待下一个第一随机数据,下一个第一随机数据可以是同一个数据节点发送也可以是其他数据节点发送。
一种可行方式是,候选计算节点在利用VRF算法生成一个随机值后,可以使用hash函数(如sha-256)计算VRF算法生成的随机数的哈希值hash(r),r为作为第二随机数据的随机值,使用hash函数的原因是能够将随机数的长度控制在一个合适的范围内,然后计算(hash(r))/2hashlen作为抽取值,hashlen表示hash函数输出的位长,因此使用hash函数输出的值域为[0,2hashlen],(hash(r))/2hashlen的值域为[0,1],相对应的预设阈值λ的取值可以为λ∈[0,1],当抽取值[0,1],说明候选计算节点没有被抽中为计算节点,继续等待下一个第一随机数据,反之,说明候选计算节点被抽中为计算节点。
105、候选计算节点向数据节点发送回复信息,回复信息用于指示候选计算节点作为计算节点使用。
106、数据节点根据候选计算节点发送的回复信息,确定第一候选计算组信息,第一候选计算组信息中携带有计算节点的标识信息,以通过计算节点的标识信息指向计算节点。
在本实施例中,计算节点的标识信息可以是计算节点的地址,这是因为在确定计算节点之后数据节点还需要向计算节点发送数据分片,以计算节点的地址为计算节点的标识信息,数据节点可直接利用计算节点的地址,向计算节点发送数据分片。
107、数据节点根据第一候选计算组信息,得到计算组信息,计算组信息中的计算节点用于对数据节点发送的数据分片进行处理。
安全多方计算系统中存在多个数据节点,在任一数据节点接收到候选计算节点发送的回复信息后,多个数据节点需要协商出对数据分片进行处理的计算节点。也就是说候选计算节点确定自身作为计算节点使用后,这些计算节点不能够直接确定为对数据分片进行处理的计算节点,安全多方计算系统中的多个数据节点还需要再次协商,以从所有计算节点中确定出对数据分片进行处理的计算节点。
因安全多方计算系统中存在多个数据节点,多个数据节点协商的方式包括但不限于如下方式:
一种方式,多个数据节点协商出一个目标数据节点,目标数据节点用于确定对数据分片进行处理的计算节点,多个数据节点可线下沟通出目标数据节点。目标数据节点可以从第一候选计算组信息中选取预设总数的计算节点,将选取的计算节点的标识信息记录在计算组信息中,预设总数是计算组信息中计算节点的总数。
目标数据节点在得到计算组信息后,将计算组信息发送给其他数据节点。然后每个数据节点可按照秘密分享算法得到数据分片,将数据分片发送给计算组信息中的各计算节点。
另一种方式,每个数据节点各自得到一个候选计算组信息,然后对候选计算组信息中的计算节点进行求交,以查找出公共的计算节点,这些公共的计算节点被记录在计算组信息中。例如数据节点将第一候选计算组信息发送给其他数据节点,接收其他数据节点发送的第二候选计算组信息;选择同时存在于第一候选计算组信息和第二候选计算组信息中的计算节点,将所选择的计算节点的标识信息记录在计算组信息中。
在本实施例中,为了多个数据节点能够查找出公共的计算节点以及计算组信息中计算节点的数量不小于预设总数,安全多方计算系统可以设置一个预设数量。对于一个数据节点来说,预设数量是数据节点从多个候选计算节点中请求到的计算节点的数量,也视为是数据节点接收到的回复信息的数量。
当预设数量满足一定值时,多个数据节点从多个候选计算组信息中求出一个满足预设总数(或者称为门限值)的交集。其中预设数量和预设总数之间的关系可以是预设数量size=N/2+t,N是候选计算节点的总数,t是计算组信息中计算节点的预设总数,在此关系下任一数据节点能够从多个候选计算组信息中公共的计算节点的数量为预设总数,从而得到预设总数的用于对数据分片进行处理的计算节点。
例如安全多方计算系统中有两个数据节点,分别以A和B表示,候选计算节点的总数为10,分别以1至10表示这10个候选计算节点,预设总数t可以为1;如果预设数量size为5,则A得到的第一候选计算组信息可以是{1,2,3,4,5},B得到的第二候选计算组信息可以是{6,7,8,9,10},这两个候选计算组信息中没有交集,但是如果预设数量size为6,A得到的第一候选计算组信息可以是{1,2,3,4,5,6},B得到的第二候选计算组信息可以是{5,6,7,8,9,10},这两个候选计算组信息中有交集,且交集中有相同的候选计算节点,由此能够得到计算组信息。
上述数据处理方法,数据节点可以向候选计算节点发送第一随机数据,候选计算节点生成第一安全数据,基于第一安全数据和第一随机数据,生成第二随机数据;如果第二随机数据满足预设条件,将候选计算节点作为计算节点使用,并向数据节点发送回复信息以指示候选计算节点可作为计算节点使用。数据节点可以根据候选计算节点发送的回复信息,确定第一候选计算组信息,然后根据第一候选计算组信息,得到计算组信息,计算组信息中的计算节点用于对数据节点发送的数据分片进行处理,由此不同数据节点发送不同的第一随机数据时,候选计算节点计算出的第二随机数据可能不同,使得候选计算节点存在作为计算节点或不能作为计算节点的可能性,防止计算节点的固定,实现从多个候选计算节点中动态选择计算节点的目的。因计算节点的不固定性,计算节点遭受攻击者攻击的可能性降低且计算节点之间共享数据的可能性也会降低,从而提高安全性和避免计算节点之间共谋。并且计算节点的选择可根据数据节点发送的第一随机数据完成,不需要协调节点指定,减少安全多方计算系统中的中心化角色,实现了去中心化。
请参见图3,其示出了本申请实施例提供的另一种数据处理方法的信令图,可以包括以下步骤:
201、数据节点向候选计算节点发送第一随机数据,第一随机数据用于确定候选计算节点是否可作为计算节点使用。
202、候选计算节点生成第一安全数据和第二安全数据,第二安全数据与第一安全数据相关。在本实施例中,第一安全数据用于确定候选计算节点是否可作为计算节点使用,第二安全数据则是在候选计算节点确定作为计算节点使用后,验证该结果的真假,第二安全数据会发送给数据节点使用。
例如候选计算节点可生成公私钥对(PK,SK),其中PK为公钥,SK为私钥,私钥SK可以作为第一安全数据使用,公钥PK可以作为第二安全数据使用。
203、候选计算节点基于第一安全数据和第一随机数据,生成第二随机数据。
204、候选计算节点如果确定第二随机数据满足预设条件,将候选计算节点作为计算节点使用。
205、在将候选计算节点作为计算节点使用后,候选计算节点将第二安全数据、第二随机数据和证明数据封装在回复信息中,证明数据基于第一安全数据和第一随机数据生成,证明数据用于证明候选计算节点利用第一随机数据确定其可作为计算节点,第二安全数据和第二随机数据用于数据节点验证候选计算节点作为计算节点的真假。
在本实施例中,证明数据和第二随机数据可以是通过一个算法同时生成,例如VRF算法在以第一随机数据和第一安全数据生成第二随机数据时,还可以生成另一个数据,另一个数据则是证明数据。如候选计算节点生成第二随机数据和证明数据的过程是,(r,proof)=MarkProof(s,SK),r是第二随机数据,proof是证明数据,s是第一随机数据,SK是第一安全数据,MarkProof()是VRF_MakeProof算法。
206、候选计算节点向数据节点发送回复信息,回复信息用于指示候选计算节点作为计算节点使用。
207、数据节点从回复信息中提取第二安全数据、第二随机数据和证明数据。
208、数据节点基于第二安全数据和第一随机数据,对第二随机数据和证明数据进行验证。对第二随机数据和证明数据进行验证的目的是为了验证候选计算节点作为计算节点的真假;如果第二随机数据和证明数据验证通过(表明验证成功),说明候选计算节点作为计算节点是真的,是经过对数据节点发送的第一随机数据进行处理后抽取出来的;如果第二随机数据和证明数据验证失败,说明候选计算节点作为计算节点是假的,可能是其他攻击节点伪造的,通过数据节点的二次验证,排除伪造计算节点的可能性,提高安全性。
其中对第二随机数据和证明数据进行验证的一种方式是,数据节点基于第一随机数据生成第三随机数据;基于第一随机数据和第二安全数据对证明数据进行验证,如果证明数据验证通过说明第三随机数据是一个有效数据;数据节点可验证第三随机数据和第二随机数据是否相同,如果第三随机数据和第二随机数据相同,确定第二随机数据验证通过。如果证明数据验证失败说明第三随机数据是一个无效数据,数据节点省去验证第三随机数据和第二随机数据的环节,确定第二随机数据和证明数据验证失败。
下面结合VRF_MakeProof算法,介绍从候选计算节点生成公私钥对到数据节点验证第二随机数据和证明数据的过程进行说明:
1)候选计算节点生成公私钥对,公私钥对中的私钥作为第一安全数据,公私钥对中的公钥作为第二安全数据
A1:选择两个大素数p和q,并且p≠q;
A2:计算n=p×q,其中/>为欧拉函数;
A3:选择一个整数e,并且/>
A4:计算d,
A5:公钥为(e,n),私钥为(d,n)。
2)候选计算节点生成第二随机数据和证明数据
B1:计算h=H(m),其中m为VRF_MakeProof算法的输入(第一随机数据),H()为哈希函数,例如:SHA-256;
B2:计算π=hdmodn,其中π为证明数据;
B2:计算v=H(π),其中v为输出的第二随机数据。
3)数据节点对第二随机数据和证明数据进行验证
C1:计算v′=H(m),其中v′是第三随机数据;
C2:验证(π)e=H(m)modn,如果验证通过则说明v′是有效数据,否则说明v′是无效数据。
C3:如果第三随机数据v′与第二随机数据v相同,第二随机数据验证通过。
209、如果第二随机数据和证明数据验证通过,数据节点将发送回复信息的候选计算节点的标识信息记录在第一候选计算组信息中。
210、如果第二随机数据和证明数据验证失败,禁止在第一候选计算组信息中写入发送回复信息的候选计算节点的标识信息。
211、数据节点根据第一候选计算组信息,得到计算组信息,计算组信息中的计算节点用于对数据节点发送的数据分片进行处理。
上述数据处理方法中,数据节点从回复信息中提取第二安全数据、第二随机数据和证明数据,基于第二安全数据和第一随机数据,对第二随机数据和证明数据进行验证。如果第二随机数据和证明数据验证通过,数据节点将发送回复信息的候选计算节点的标识信息记录在第一候选计算组信息中;如果第二随机数据和证明数据验证失败,禁止在第一候选计算组信息中写入发送回复信息的候选计算节点的标识信息。
对第二随机数据和证明数据进行验证的目的是为了验证候选计算节点作为计算节点的真假;如果第二随机数据和证明数据验证通过(表明验证成功),说明候选计算节点作为计算节点是真的,是经过对数据节点发送的第一随机数据进行处理后抽取出来的,候选计算节点的标识信息可以记录在第一候选计算组信息中;如果第二随机数据和证明数据验证失败,说明候选计算节点作为计算节点是假的,可能是其他攻击节点伪造的,候选计算节点的标识信息禁止记录在第一候选计算组信息中,由此数据节点选择计算组信息时是从验证为真的计算节点中选择,通过数据节点的二次验证,排除伪造计算节点的可能性,提高安全性。
请参见图4,其示出了本申请实施例提供的再一种数据处理方法的信令图,可以包括以下步骤:
301、数据节点向候选计算节点发送第一随机数据,第一随机数据用于确定候选计算节点是否可作为计算节点使用。
302、候选计算节点生成第一安全数据。
303、候选计算节点基于第一安全数据和第一随机数据,生成第二随机数据。
304、候选计算节点如果确定第二随机数据满足预设条件,将候选计算节点作为计算节点使用。
305、候选计算节点向数据节点发送回复信息,回复信息用于指示候选计算节点作为计算节点使用。
306、数据节点在预设时间内接收多个候选计算节点发送的回复信息。
在本实施例中,数据节点在向候选计算节点发送第一随机数据后,数据节点可以启动一个定时器,以检测从发送第一随机数据开始经历的时间。如以发送第一随机数据为开始时间,在经历预设时间后停止接收候选计算节点发送的回复信息。也就是说预设时间的作用是为了限定数据节点对回复信息的接收,对于超过预设时间的回复信息,数据节点可以忽略。
307、如果接收到的回复信息的数量小于预设数量,数据节点重新向候选计算节点发送另一个第一随机数据。
其中,预设数量是为了能够选择出符合要求的多个计算节点,如两个数据节点相交选择时每个数据节点得到的候选计算组信息中的计算节点数量要大于计算时使用的,这样才能够使相交出的计算节点不少于计算时使用的。
在数据节点通过相交选择计算节点方式中,预设数量size=N/2+t,N是候选计算节点的总数,t是计算组信息中计算节点的预设总数;在目标数据节点选择计算节点方式中,预设数量不小于计算组信息中计算节点的预设总数。
如果数据节点通过相交选择计算节点,多个数据节点都需要向候选计算节点发送第一随机数据,多个数据节点发送的第一随机数据可相同也可以不同;如果目标数据节点选择计算节点,则目标数据节点向候选计算节点发送第一随机数据即可。
308、如果接收到的回复信息的数量大于或等于预设数量,数据节点对发送回复信息的候选计算节点进行验证,以验证候选计算节点作为计算节点的真假。
309、数据节点根据候选计算节点发送的回复信息,确定第一候选计算组信息,第一候选计算组信息中携带有计算节点的标识信息,以通过计算节点的标识信息指向计算节点。在确定第一候选计算组信息时,数据节点是基于验证通过的候选计算节点发送的回复信息,第一候选计算组信息中的计算节点是通过数据节点验证的候选计算节点。
310、数据节点根据第一候选计算组信息,得到计算组信息,计算组信息中的计算节点用于对数据节点发送的数据分片进行处理。
上述数据处理方法中,数据节点设置一个预设数量,以通过预设数量的限制使数据节点能够选择出符合要求的多个计算节点,如两个数据节点相交选择时每个数据节点得到的候选计算组信息中的计算节点数量要大于计算时使用的,这样才能够使相交出的计算节点不少于计算时使用的。此外数据节点还设置一个预设时间,以防止选择计算节点的时间过长。
在本实施例中,候选计算节点和数据节点分别为区块链中的节点,相对应的数据处理方法还包括:候选计算节点将证明数据发布在区块链上,证明数据基于第一安全数据和第一随机数据生成,证明数据用于证明候选计算节点利用第一随机数据确定其可作为计算节点。
此外,为了数据安全性,数据节点可以利用数据节点的第三安全数据对第一随机数据进行加密后发送。候选计算节点接收到加密后的第一随机数据后,利用数据节点的第四安全数据对加密后的第一随机数据进行验证,第四安全数据和第三安全数据相关。如果加密后的第一随机数据验证通过,候选计算节点执行生成第一安全数据的步骤;如果加密后的第一随机数据验证失败,候选计算节点等待其他数据节点发送的加密后的第一随机数据。
其中,第三安全数据是对第一随机数据进行加密,第四安全数据是对加密后的第一随机数据进行解密,第三安全数据和第四安全数据的可行方式是,数据节点生成公私钥对,公私钥对中的私钥作为第三安全数据,公私钥对中的公钥作为第四安全数据。公钥可以随加密后的第一随机数据发送至候选计算节点,也可以在发送第一随机数据之前发送,此处不再阐述。
对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
与上述方法实施例相对应,本申请实施例还提供一种候选计算节点,其可选结构如图5所示,可以包括:通信模块100和处理器200。
处理器200,用于利用通信模块100接收数据节点发送的第一随机数据,第一随机数据用于确定候选计算节点是否可作为计算节点使用,生成第一安全数据;基于第一安全数据和第一随机数据,生成第二随机数据;如果第二随机数据满足预设条件,将候选计算节点作为计算节点使用;利用通信模块100向数据节点发送回复信息,回复信息用于指示候选计算节点作为计算节点使用;候选计算节点和数据节点位于安全多方计算系统中,计算节点可接收数据节点发送的数据分片,由计算节点对数据分片进行处理。
在一些示例中,处理器200,还用于生成第二安全数据,第二安全数据与第一安全数据相关;在将候选计算节点作为计算节点使用后,将第二安全数据、第二随机数据和证明数据封装在回复信息中,证明数据基于第一安全数据和第一随机数据生成,证明数据用于证明候选计算节点利用第一随机数据确定其可作为计算节点;第二安全数据和第二随机数据用于数据节点验证候选计算节点作为计算节点的真假。
在一些示例中,处理器200,用于基于第二随机数据,生成候选计算节点的抽取值;如果候选计算节点的抽取值大于预设阈值,将候选计算节点作为计算节点使用。
在一些示例中,候选计算节点和数据节点分别为区块链中的节点,处理器200,还用于将证明数据发布在区块链上,证明数据基于第一安全数据和第一随机数据生成,证明数据用于证明候选计算节点利用第一随机数据确定其可作为计算节点。
在一些示例中,数据节点利用数据节点的第三安全数据对第一随机数据进行加密后发送,相应的,处理器200,还用于利用数据节点的第四安全数据对加密后的第一随机数据进行验证,第四安全数据和第三安全数据相关;如果加密后的第一随机数据验证通过,执行生成第一安全数据的步骤;如果加密后的第一随机数据验证失败,等待其他数据节点发送的加密后的第一随机数据。
请参见图6,其示出了本申请实施例提供的一种数据节点的可选结构,数据节点包括:通信模块300和处理器400。
处理器400,用于利用通信模块300向候选计算节点发送第一随机数据,第一随机数据用于确定候选计算节点是否可作为计算节点使用,以及利用通信模块300接收候选计算节点发送的回复信息,回复信息是候选计算节点确定为计算节点后发送,候选计算节点在第二随机数据满足预设条件的情况下确定为计算节点,第二随机数据基于第一随机数据和候选计算节点生成的第一安全数据得到,候选计算节点和数据节点位于安全多方计算系统中;
处理器400,还用于根据候选计算节点发送的回复信息,确定第一候选计算组信息,第一候选计算组信息中携带有计算节点的标识信息;根据第一候选计算组信息,得到计算组信息,计算组信息中的计算节点用于对数据节点发送的数据分片进行处理。
在一些示例中,处理器400,还用于从回复信息中提取第二安全数据、第二随机数据和证明数据;基于第二安全数据和第一随机数据,对第二随机数据和证明数据进行验证;如果第二随机数据和证明数据验证通过,将发送回复信息的候选计算节点的标识信息记录在第一候选计算组信息中;如果第二随机数据和证明数据验证失败,禁止在第一候选计算组信息中写入发送回复信息的候选计算节点的标识信息。
在一些示例中,处理器400,还用于在预设时间内接收多个候选计算节点发送的回复信息;如果接收到的回复信息的数量小于预设数量,重新利用通信模块向候选计算节点发送另一个第一随机数据;如果接收到的回复信息的数量大于或等于预设数量,对发送回复信息的候选计算节点进行验证,以验证候选计算节点作为计算节点的真假。
其中,预设数量size=N/2+t,N是候选计算节点的总数,t是计算组信息中计算节点的预设总数。
在一些示例中,处理器400根据第一候选计算组信息,得到计算组信息包括:从第一候选计算组信息中选取预设总数的计算节点,将选取的计算节点的标识信息记录在计算组信息中,预设总数是计算组信息中计算节点的总数;
或者
处理器400根据第一候选计算组信息,得到计算组信息包括:将第一候选计算组信息发送给其他数据节点,接收其他数据节点发送的第二候选计算组信息;
选择同时存在于第一候选计算组信息和第二候选计算组信息中的计算节点,将所选择的计算节点的标识信息记录在计算组信息中。
本申请提供一种数据处理装置,应用于安全多方计算系统的候选计算节点中,数据处理装置包括:接收单元、生成单元、确定单元和发送单元。
接收单元,用于接收数据节点发送的第一随机数据,第一随机数据用于确定候选计算节点是否可作为计算节点使用,数据节点位于安全多方计算系统中,计算节点可接收数据节点发送的数据分片,由计算节点对数据分片进行处理。
生成单元,用于生成第一安全数据,基于第一安全数据和第一随机数据,生成第二随机数据。
确定单元,用于如果第二随机数据满足预设条件,将候选计算节点作为计算节点使用。
发送单元,用于向数据节点发送回复信息,回复信息用于指示候选计算节点作为计算节点使用。
本申请提供一种数据处理装置,应用于安全多方计算系统的数据节点中,数据处理装置包括:发送单元、接收单元和确定单元。
发送单元,用于向候选计算节点发送第一随机数据,第一随机数据用于确定候选计算节点是否可作为计算节点使用,候选计算节点位于安全多方计算系统中。
接收单元,用于接收候选计算节点发送的回复信息,回复信息是候选计算节点确定为计算节点后发送,候选计算节点在第二随机数据满足预设条件的情况下确定为计算节点,第二随机数据基于第一随机数据和候选计算节点生成的第一安全数据得到。
确定单元,用于根据候选计算节点发送的回复信息,确定第一候选计算组信息,第一候选计算组信息中携带有计算节点的标识信息;根据第一候选计算组信息,得到计算组信息,计算组信息中的计算节点用于对数据节点发送的数据分片进行处理。
本申请实施例还提供一种存储介质,存储介质中存储有计算机程序代码,计算机程序代码运行时实现上述数据处理方法。
对于候选计算节点、数据节点和数据处理装置中各功能单元的执行过程请参见上述方法实施例,此处不再赘述。
需要说明的是,本说明书中的各个实施例可以采用递进的方式描述、本说明书中各实施例中记载的特征可以相互替换或者组合,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (9)
1.一种数据处理方法,应用于安全多方计算系统的候选计算节点中,所述方法包括:
候选计算节点接收数据节点发送的第一随机数据,所述第一随机数据用于确定所述候选计算节点是否可作为计算节点使用,所述数据节点位于所述安全多方计算系统中,两个数据节点或多个数据节点能够在不泄漏各自私有输入信息的情况下,协同合作执行同一计算任务,所述计算节点可接收所述数据节点发送的数据分片,由所述计算节点对所述数据分片进行处理;
生成第一安全数据;
基于所述第一安全数据和所述第一随机数据,生成第二随机数据;
如果所述第二随机数据满足预设条件,将所述候选计算节点作为所述计算节点使用;
向所述数据节点发送回复信息,所述回复信息用于指示所述候选计算节点作为所述计算节点使用,以使所述数据节点根据回复信息,确定第一候选计算组信息,所述第一候选计算组信息中携带有计算节点的标识信息,根据所述第一候选计算组信息,得到计算组信息,所述计算组信息中的计算节点用于对数据节点发送的数据分片进行处理;
所述根据所述第一候选计算组信息,得到计算组信息包括:从所述第一候选计算组信息中选取预设总数的计算节点,将选取的计算节点的标识信息记录在所述计算组信息中,所述预设总数是所述计算组信息中计算节点的总数;
或者
所述根据所述第一候选计算组信息,得到计算组信息包括:将所述第一候选计算组信息发送给其他数据节点,接收其他数据节点发送的第二候选计算组信息;
选择同时存在于所述第一候选计算组信息和所述第二候选计算组信息中的计算节点,将所选择的计算节点的标识信息记录在所述计算组信息中。
2.根据权利要求1所述的方法,所述方法还包括:生成第二安全数据,所述第二安全数据与所述第一安全数据相关;
在将所述候选计算节点作为所述计算节点使用后,将所述第二安全数据、所述第二随机数据和证明数据封装在所述回复信息中,所述证明数据基于所述第一安全数据和所述第一随机数据生成,所述证明数据用于证明所述候选计算节点利用所述第一随机数据确定其可作为计算节点;所述第二安全数据和所述第二随机数据用于所述数据节点验证所述候选计算节点作为计算节点的真假。
3.根据权利要求1或2所述的方法,所述如果所述第二随机数据满足预设条件,将所述候选计算节点作为所述计算节点使用包括:
基于所述第二随机数据,生成所述候选计算节点的抽取值;
如果所述候选计算节点的抽取值大于预设阈值,将所述候选计算节点作为所述计算节点使用。
4.根据权利要求1或2所述的方法,所述候选计算节点和所述数据节点分别为区块链中的节点,所述方法还包括:将证明数据发布在所述区块链上,所述证明数据基于所述第一安全数据和所述第一随机数据生成,所述证明数据用于证明所述候选计算节点利用所述第一随机数据确定其可作为计算节点。
5.一种数据处理方法,应用于安全多方计算系统的数据节点中,两个数据节点或多个数据节点能够在不泄漏各自私有输入信息的情况下,协同合作执行同一计算任务,所述方法包括:
所述数据节点向候选计算节点发送第一随机数据,所述第一随机数据用于确定所述候选计算节点是否可作为计算节点使用,所述候选计算节点位于所述安全多方计算系统中;
接收所述候选计算节点发送的回复信息,所述回复信息是所述候选计算节点确定为计算节点后发送,所述候选计算节点在第二随机数据满足预设条件的情况下确定为计算节点,所述第二随机数据基于所述第一随机数据和候选计算节点生成的第一安全数据得到;
根据所述候选计算节点发送的回复信息,确定第一候选计算组信息,所述第一候选计算组信息中携带有计算节点的标识信息;
根据所述第一候选计算组信息,得到计算组信息,所述计算组信息中的计算节点用于对数据节点发送的数据分片进行处理;
所述根据所述第一候选计算组信息,得到计算组信息包括:从所述第一候选计算组信息中选取预设总数的计算节点,将选取的计算节点的标识信息记录在所述计算组信息中,所述预设总数是所述计算组信息中计算节点的总数;
或者
所述根据所述第一候选计算组信息,得到计算组信息包括:将所述第一候选计算组信息发送给其他数据节点,接收其他数据节点发送的第二候选计算组信息;
选择同时存在于所述第一候选计算组信息和所述第二候选计算组信息中的计算节点,将所选择的计算节点的标识信息记录在所述计算组信息中。
6.根据权利要求5所述的方法,所述方法还包括:
从所述回复信息中提取第二安全数据、第二随机数据和证明数据;
基于所述第二安全数据和所述第一随机数据,对所述第二随机数据和所述证明数据进行验证;
如果所述第二随机数据和所述证明数据验证通过,将发送所述回复信息的候选计算节点的标识信息记录在所述第一候选计算组信息中;
如果所述第二随机数据和所述证明数据验证失败,禁止在所述第一候选计算组信息中写入发送所述回复信息的候选计算节点的标识信息。
7.根据权利要求5或6所述的方法,所述接收所述候选计算节点发送的回复信息包括:在预设时间内接收多个所述候选计算节点发送的回复信息;
所述方法还包括:如果接收到的回复信息的数量小于预设数量,重新向所述候选计算节点发送另一个第一随机数据;
如果接收到的回复信息的数量大于或等于所述预设数量,对发送所述回复信息的候选计算节点进行验证,以验证所述候选计算节点作为计算节点的真假;
其中,所述预设数量size=N/2+t,N是候选计算节点的总数,t是所述计算组信息中计算节点的预设总数。
8.一种候选计算节点,所述候选计算节点包括:通信模块和处理器;
所述处理器,用于利用所述通信模块接收数据节点发送的第一随机数据,所述第一随机数据用于确定所述候选计算节点是否可作为计算节点使用,生成第一安全数据;基于所述第一安全数据和所述第一随机数据,生成第二随机数据;如果所述第二随机数据满足预设条件,将所述候选计算节点作为所述计算节点使用;利用所述通信模块向所述数据节点发送回复信息,所述回复信息用于指示所述候选计算节点作为所述计算节点使用,以使所述数据节点根据回复信息,确定第一候选计算组信息,所述第一候选计算组信息中携带有计算节点的标识信息,根据所述第一候选计算组信息,得到计算组信息,所述计算组信息中的计算节点用于对数据节点发送的数据分片进行处理;
所述候选计算节点和所述数据节点位于安全多方计算系统中,所述计算节点可接收所述数据节点发送的数据分片,由所述计算节点对所述数据分片进行处理,两个数据节点或多个数据节点能够在不泄漏各自私有输入信息的情况下,协同合作执行同一计算任务;
所述根据所述第一候选计算组信息,得到计算组信息包括:从所述第一候选计算组信息中选取预设总数的计算节点,将选取的计算节点的标识信息记录在所述计算组信息中,所述预设总数是所述计算组信息中计算节点的总数;
或者
所述根据所述第一候选计算组信息,得到计算组信息包括:将所述第一候选计算组信息发送给其他数据节点,接收其他数据节点发送的第二候选计算组信息;
选择同时存在于所述第一候选计算组信息和所述第二候选计算组信息中的计算节点,将所选择的计算节点的标识信息记录在所述计算组信息中。
9.一种数据节点,所述数据节点包括:通信模块和处理器;
所述处理器,用于利用所述通信模块向候选计算节点发送第一随机数据,所述第一随机数据用于确定所述候选计算节点是否可作为计算节点使用,以及利用所述通信模块接收所述候选计算节点发送的回复信息,所述回复信息是所述候选计算节点确定为计算节点后发送,所述候选计算节点在第二随机数据满足预设条件的情况下确定为计算节点,所述第二随机数据基于所述第一随机数据和候选计算节点生成的第一安全数据得到,所述候选计算节点和所述数据节点位于安全多方计算系统中,两个数据节点或多个数据节点能够在不泄漏各自私有输入信息的情况下,协同合作执行同一计算任务;
所述处理器,还用于根据所述候选计算节点发送的回复信息,确定第一候选计算组信息,所述第一候选计算组信息中携带有计算节点的标识信息;根据所述第一候选计算组信息,得到计算组信息,所述计算组信息中的计算节点用于对数据节点发送的数据分片进行处理;
所述根据所述第一候选计算组信息,得到计算组信息包括:从所述第一候选计算组信息中选取预设总数的计算节点,将选取的计算节点的标识信息记录在所述计算组信息中,所述预设总数是所述计算组信息中计算节点的总数;
或者
所述根据所述第一候选计算组信息,得到计算组信息包括:将所述第一候选计算组信息发送给其他数据节点,接收其他数据节点发送的第二候选计算组信息;
选择同时存在于所述第一候选计算组信息和所述第二候选计算组信息中的计算节点,将所选择的计算节点的标识信息记录在所述计算组信息中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111162359.5A CN113922953B (zh) | 2021-09-30 | 2021-09-30 | 一种数据处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111162359.5A CN113922953B (zh) | 2021-09-30 | 2021-09-30 | 一种数据处理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113922953A CN113922953A (zh) | 2022-01-11 |
CN113922953B true CN113922953B (zh) | 2023-07-21 |
Family
ID=79237630
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111162359.5A Active CN113922953B (zh) | 2021-09-30 | 2021-09-30 | 一种数据处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113922953B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110298190A (zh) * | 2019-04-19 | 2019-10-01 | 矩阵元技术(深圳)有限公司 | 去中心化多方安全数据处理方法、装置及存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19822543A1 (de) * | 1998-05-20 | 1999-11-25 | Alcatel Sa | Verfahren zum Zuteilen von Aufträgen, Datenverarbeitssystem, Client-Datenbearbeitungsknoten und computerlesbares Speichermedium |
CN110049029B (zh) * | 2019-04-04 | 2021-07-20 | 矩阵元技术(深圳)有限公司 | 共识节点确定方法、装置、计算机设备和存储介质 |
CN112003941A (zh) * | 2020-08-25 | 2020-11-27 | 杭州时戳信息科技有限公司 | 分发链下数据请求的方法、系统、节点设备与存储介质 |
CN112181431A (zh) * | 2020-09-30 | 2021-01-05 | 完美世界(北京)软件科技发展有限公司 | 一种分布式数据打包方法及系统、存储介质、计算设备 |
CN113301114B (zh) * | 2021-04-13 | 2022-03-04 | 广东电网有限责任公司 | 区块链共识节点选择方法、装置、计算机设备和存储介质 |
-
2021
- 2021-09-30 CN CN202111162359.5A patent/CN113922953B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110298190A (zh) * | 2019-04-19 | 2019-10-01 | 矩阵元技术(深圳)有限公司 | 去中心化多方安全数据处理方法、装置及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113922953A (zh) | 2022-01-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111066046B (zh) | 抗重放攻击认证协议 | |
US9495668B1 (en) | Computing solutions to a problem involving inversion of a one-way function | |
CN100474851C (zh) | 对等网络名字解析协议的安全基础结构和方法 | |
KR20200013680A (ko) | 스크립트 기반 블록체인 상호작용 | |
US11063941B2 (en) | Authentication system, authentication method, and program | |
CN110675265B (zh) | 无临时密钥泄露的区块链双密钥隐匿地址协议的实现方法 | |
JP5355685B2 (ja) | 無線波読取装置による無線タグの認証方法 | |
US11362836B2 (en) | Consensus protocol for permissioned ledgers | |
WO2017030111A1 (ja) | 計算システム、計算装置、その方法、およびプログラム | |
Jurcut et al. | Establishing and Fixing Security Protocols Weaknesses Using a Logic-based Verification Tool. | |
CN115550002B (zh) | 一种基于tee的智能家居远程控制方法及相关装置 | |
CN113922953B (zh) | 一种数据处理方法及装置 | |
US8422683B2 (en) | Appraising systems with zero knowledge proofs | |
Chen et al. | Privacy-preserving anomaly detection of encrypted smart contract for blockchain-based data trading | |
CN112104701B (zh) | 一种跨链通信的方法、装置、网络节点和存储介质 | |
CN114172923B (zh) | 数据传输方法、通信系统及通信装置 | |
CN112765570B (zh) | 一个支持数据转移的基于身份可证明数据持有方法 | |
KR20090005834A (ko) | 분산환경에 적합한 저비용 rfid 인증 프로토콜 방법 | |
CN113553873A (zh) | 疫情防控系统中基于云的rfid双向认证协议的设计方法 | |
Zubair | Cryptanalysis of RFID ultra-lightweight protocols and comparison between its solutions approaches | |
CN117574408B (zh) | 基于区块链的生产资料管理方法、装置及电子设备 | |
CN112364339B (zh) | 一种改进的安全轻量级rfid认证方法 | |
CN109995745B (zh) | 一种信息匹配方法、终端及计算机可读存储介质 | |
EP3361690B1 (en) | Multi-ttp-based method and device for verifying validity of identity of entity | |
Hong et al. | BeOAC: Blockchain-enabled offline audit scheme in cross-chain interaction |
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 |