WO2020237453A1 - 安全多方计算的实现方法、装置、计算机设备和存储介质 - Google Patents

安全多方计算的实现方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
WO2020237453A1
WO2020237453A1 PCT/CN2019/088488 CN2019088488W WO2020237453A1 WO 2020237453 A1 WO2020237453 A1 WO 2020237453A1 CN 2019088488 W CN2019088488 W CN 2019088488W WO 2020237453 A1 WO2020237453 A1 WO 2020237453A1
Authority
WO
WIPO (PCT)
Prior art keywords
mpc
node
target
calculation
target mpc
Prior art date
Application number
PCT/CN2019/088488
Other languages
English (en)
French (fr)
Inventor
李升林
张军
傅志敬
孙立林
Original Assignee
云图有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 云图有限公司 filed Critical 云图有限公司
Priority to PCT/CN2019/088488 priority Critical patent/WO2020237453A1/zh
Publication of WO2020237453A1 publication Critical patent/WO2020237453A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications

Definitions

  • This application relates to the technical field of secure multi-party computing, and in particular to a method, device, computer equipment and storage medium for implementing secure multi-party computing.
  • Secure Multi-Party Computation means that in a distributed network, multiple users need to work together to complete a task, and each user holds some private data as input to the task, and they hope to complete it together The calculation of these data requires that each user cannot know any input information of other users except the calculation result.
  • Secure multi-party computing is to solve the problem of collaborative computing between a group of untrusted parties under the premise of protecting privacy. Secure multi-party computing must ensure the independence of input and the correctness of the calculation, while not leaking each input data to the participants. Other members of the calculation. Secure multi-party computing plays an important role in scenarios such as electronic elections, electronic voting, electronic auctions, secret sharing, and threshold signatures.
  • the embodiments of the present application provide a method for implementing secure multi-party computing to solve the problem of the lack of technical solutions for secure multi-party computing in a decentralized environment in the prior art.
  • the embodiment of the application provides a method for implementing secure multi-party computing, including: a target MPC node joins the P2P network as a P2P node through the RELOAD protocol; the target MPC node joins the target in the P2P network according to the RELOAD protocol and the identification information of the target MPC computing group MPC computing group, where each MPC node in the target MPC computing group joins the P2P network as a P2P node through the RELOAD protocol; the target MPC node sends an acquisition request carrying identification information to the P2P network according to the RELOAD protocol to obtain the target MPC The node information of each MPC node in the computing group; the target MPC node establishes a communication connection with each MPC node in the target MPC computing group except the target MPC node according to the node information of each MPC node in the target MPC computing group to implement secure multi-party Calculation.
  • the target MPC node performs secure multi-party computing, including: the target MPC node sends a calculation request to each MPC node in the target MPC computing group except the target MPC node; determining the target MPC node in the target MPC computing group In the case that all MPC nodes other than those successfully receive the calculation request, the target MPC node sends a calculation start notification to the target MPC calculation group except the target MPC node, where the calculation start notification is used to indicate the calculation start notification in the target MPC calculation group Each MPC node performs secure multi-party calculations.
  • the target MPC node joins the target MPC calculation group in the P2P network according to the RELOAD protocol and the identification information of the target MPC calculation group, including: the target MPC node obtains the identification information and the cooperative calculation function of the target MPC calculation group, wherein, The identification information and the cooperative calculation function are determined offline by multiple MPC nodes participating in secure multi-party computing.
  • the target MPC node is one of the multiple MPC nodes; the target MPC node sends the first storage request to the P2P network according to the RELOAD protocol to Create a target MPC computing group, where the first storage request carries identification information and a collaborative computing function to store the collaborative computing function and identification information in the P2P network, and the identification information is used as the resource ID of the RELOAD protocol; the target MPC node is based on The RELOAD protocol sends a second storage request to the P2P network to join the target MPC computing group, where the second storage request carries the node information and resource ID of the target MPC node to store the node information and resource ID of the target MPC node in association To the P2P network.
  • the target MPC node joins the target MPC calculation group in the P2P network according to the RELOAD protocol and the identification information of the target MPC calculation group, including: the target MPC node obtains the identification information and the cooperative calculation function of the target MPC calculation group; the target MPC The node sends a first storage request to the P2P network according to the RELOAD protocol to create a target MPC computing group, where the first storage request carries identification information and a collaborative calculation function to associate the collaborative calculation function and identification information to the P2P network ,
  • the identification information is used as the resource ID of the RELOAD protocol;
  • the target MPC node sends a second storage request to the P2P network according to the RELOAD protocol to join the target MPC computing group, where the second storage request carries the resource ID and the node information of the target MPC node ,
  • the target MPC node publishes the resource ID so that each MPC
  • the node information of each MPC node includes the IP address of each MPC node; correspondingly, the target MPC node calculates the node information of each MPC node in the target MPC calculation group according to the target MPC calculation group except the target MPC node.
  • the establishment of communication connections for all MPC nodes outside the target MPC node includes: the target MPC node calculates the IP address of each MPC node in the target MPC calculation group, and establishes a point-to-point direct connection with each MPC node in the target MPC calculation group except the target MPC node to directly Transmission of calculation data in the secure multi-party calculation process.
  • the node information of each MPC node includes the node ID of each MPC node; correspondingly, the target MPC node calculates the node information of each MPC node in the target MPC calculation group according to the target MPC calculation group except the target MPC node.
  • the establishment of a communication connection for each MPC node outside the target MPC node includes: the target MPC node establishes a communication connection with each MPC node in the target MPC calculation group except the target MPC node through the RELOAD protocol according to the node ID of each MPC node in the target MPC calculation group, To transmit the calculation data in the secure multi-party calculation process through message routing.
  • the node information of each MPC node includes the public key of each MPC node; the target MPC node transmits the calculation data in the secure multi-party calculation process, including: the target MPC node performs the secure multi-party calculation to be sent according to its own private key The calculation data in the process is signed; the target MPC node sends the signed calculation data in the secure multi-party calculation process to the receiving MPC node, where the receiving MPC node is each of the target MPC computing group except the target MPC node One of the MPC nodes; the receiving MPC node performs signature verification on the received calculation data in the secure multi-party calculation process according to the public key of the target MPC node; when the signature is verified, the receiving MPC node determines the received security The calculation data in the multi-party calculation process is valid.
  • the embodiment of the present application also provides a device for realizing secure multi-party computing, which is located in the target MPC node, and includes: a first joining module for joining the P2P network as a P2P node through the RELOAD protocol; a second joining module for joining the P2P network according to RELOAD
  • the protocol and the identification information of the target MPC computing group are added to the target MPC computing group in the P2P network, where each MPC node in the target MPC computing group joins the P2P network as a P2P node through the RELOAD protocol; the acquisition module is used according to the RELOAD
  • the protocol sends an acquisition request carrying identification information to the P2P network to obtain the node information of each MPC node in the target MPC computing group; the connection module is used for the target MPC node to communicate with the target MPC node according to the node information of each MPC node in the target MPC computing group.
  • Each MPC node in the MPC computing group except the target MPC node
  • An embodiment of the present application further provides a computer device including a processor and a memory for storing executable instructions of the processor, and the processor implements the method for implementing secure multi-party computing described in any of the foregoing embodiments when the processor executes the instructions A step of.
  • the embodiments of the present application also provide a computer-readable storage medium on which computer instructions are stored, which when executed, implement the steps of the method for implementing secure multi-party computing described in any of the foregoing embodiments.
  • a method for implementing secure multi-party computing is provided.
  • Each MPC node publishes itself as a resource to the P2P network through the RELOAD protocol, that is, joins the P2P network as a P2P node, and joins the P2P network according to the RELOAD protocol.
  • the target MPC computing group after joining the target MPC computing group, each MPC node can obtain the node information of other MPC nodes according to the RELOAD protocol, so as to establish communication connections with other MPC nodes according to the obtained node information to perform secure multi-party computing.
  • secure multi-party computing is realized based on the P2P network using the RELOAD protocol.
  • the peer nodes (P2P nodes) in the P2P network share
  • the resources and services it owns are not only the providers of resources, services and content, but also the acquirers of resources, services and content.
  • each MPC node joins the P2P network as a P2P node through the RELOAD protocol, it is released as a resource To the P2P network; based on the data storage primitives provided by the RELOAD protocol, each MPC node can join the target MPC computing group by sending a storage request, that is, store their node information to the target MPC computing group; based on the data acquisition primitives provided by the RELOAD protocol, Each MPC node can obtain the node information of each MPC node in the target MPC computing group by sending an acquisition request; each MPC node establishes a communication connection with other MPC nodes according to the obtained node information of each MPC node, so as to be able to operate in a decentralized environment Realize safe multi-party computing in The above-mentioned solution solves the technical problem of the risk of data leakage to a third party in the existing secure multi-party computing, and achieves the technical effect of effectively improving the confidentiality of secure multi-party computing.
  • FIG. 1 shows a schematic diagram of an application scenario of a method for implementing secure multi-party computing in an embodiment of the present application
  • FIG. 2 shows a flowchart of a method for implementing secure multi-party computing in an embodiment of the present application
  • FIG. 3 shows a sequence diagram of secure multi-party calculation in an embodiment of the present application
  • FIG. 4 shows a schematic diagram of a device for realizing secure multi-party computing in an embodiment of the present application
  • Fig. 5 shows a schematic diagram of a computer device in an embodiment of the present application.
  • Fig. 1 shows a schematic diagram of an application scenario of the method.
  • a P2P network (Peer-to-peer network, peer-to-peer network) is schematically shown.
  • the P2P network includes multiple ordinary P2P nodes and multiple P2P nodes as MPC nodes (in this application) ,
  • the number of MPC nodes may be 2, 3, or more than 3, and
  • Fig. 1 only schematically shows 3 MPC nodes: MPC node 1, MPC node 2, and target MPC node).
  • the MPC node is a P2P node that joins the P2P network through the RELOAD protocol. Communication connection between each MPC node.
  • a P2P node in the P2P network stores information of the MPC computing group, where the information of the MPC computing group includes: identification information, collaborative computing functions, and a list of participants.
  • the identification information may be the group ID of the MPC computing group, which is used as the resource ID of the RELOAD protocol.
  • the cooperative calculation function is a function for performing safe multi-party calculations. For example, if the safe multi-party calculation is for obtaining the maximum value, the cooperative calculation function may be a function for obtaining the maximum value.
  • the participant list is used to store node information of each MPC node in the MPC computing group.
  • the node information of each MPC node may include but is not limited to at least one of the following: node ID, IP address, and public key.
  • each MPC node After joining the P2P network, each MPC node can send a storage request to the P2P network to join the MPC computing group, that is, storing the node information of each MPC node in the participant list of the MPC computing group. After each MPC node joins the MPC computing group, each MPC node can send a data acquisition request to the P2P network to obtain the node information of each MPC node in the MPC computing group, and then establish a communication connection based on the node information of each MPC node to perform Safe multi-party calculations.
  • P2P network is a P2P network adopting the RELOAD protocol.
  • P2P network is a distributed application architecture that distributes tasks and workloads among peer nodes (P2P nodes). Participants of the P2P network share part of the hardware resources they own, and these shared resources provide services and content through the P2P network. It can be directly accessed by other P2P nodes without going through intermediate entities.
  • the peer node in the P2P network is not only the provider of resources, services and content, but also the acquirer of resources, services and content.
  • RELOAD Resource LOcate And Discovery, resource location and discovery
  • RELOAD Resource LOcate And Discovery, resource location and discovery
  • the above-mentioned MPC nodes may be desktop computers, notebooks, mobile terminals, PDAs, etc., as long as they are devices that can communicate with other MPC nodes and have computing capabilities.
  • the present application does not limit the appearance and formation of MPC nodes.
  • Figure 2 shows a flowchart of a method for implementing secure multi-party computing in an embodiment of the present application.
  • this application provides method operation steps or device structures as shown in the following embodiments or drawings, the method or device may include more or fewer operation steps or module units based on conventional or no creative labor. .
  • the execution order of these steps or the module structure of the device is not limited to the execution order or module structure shown in the description of the embodiments of this application and the drawings.
  • the described method or module structure is applied to an actual device or terminal product, it can be executed sequentially or in parallel according to the method or module structure connection shown in the embodiments or drawings (for example, parallel processor or multi-threaded processing Environment, even distributed processing environment).
  • the method for implementing secure multi-party computing may include the following steps:
  • Step S201 the target MPC node joins the P2P network as a P2P node through the RELOAD protocol.
  • the target MPC node is one of multiple MPC nodes participating in secure multi-party computing.
  • this article describes the target MPC node side, and other MPC nodes can also perform these operation steps.
  • the target MPC node joins the P2P network as a P2P node according to the RELOAD protocol, and publishes its routing information to the P2P network according to the RELOAD protocol.
  • the routing information may include information such as node ID and IP address.
  • Step S202 the target MPC node joins the target MPC calculation group in the P2P network according to the RELOAD protocol and the identification information of the target MPC calculation group, where each MPC node in the target MPC calculation group joins the P2P network as a P2P node through the RELOAD protocol .
  • a P2P node in the P2P network can store the identification information of the target MPC computing group, and the identification information can be stored as the resource ID of the RELOAD protocol.
  • the target MPC node After the target MPC node joins the P2P network, it can join the target MPC calculation group according to the RELOAD protocol and the identification information of the target MPC calculation group, that is, store the node information of the target MPC node in the MPC calculation group.
  • Each MPC node in the target MPC computing group is a P2P node that joins the P2P network through the RELOAD protocol.
  • Each MPC node can join the target MPC calculation group according to the RELOAD protocol and the identification information of the target MPC calculation group.
  • Step S203 The target MPC node sends an acquisition request carrying identification information to the P2P network according to the RELOAD protocol to acquire node information of each MPC node in the target MPC computing group.
  • the target MPC node after the target MPC node joins the target MPC computing group, it can send an acquisition request carrying identification information to the P2P network, that is, the acquisition request carries the resource ID of the MPC computing group, and can acquire the information that joins the target MPC computing group.
  • the node information may include but is not limited to at least one of the following: node ID, IP address, public key, and so on.
  • step S204 the target MPC node establishes a communication connection with each MPC node in the target MPC calculation group except the target MPC node according to the node information of each MPC node in the target MPC calculation group, so as to perform secure multi-party calculation.
  • the target node After the target node obtains the node information of each MPC node in the target MPC computing group, it can establish a communication connection with each MPC node in the target MPC computing group except the target node according to the node information of each MPC node. After a communication connection is established between multiple MPC nodes in the MPC computing group, it is ready to perform secure multi-party computing, and secure multi-party computing can be performed later.
  • secure multi-party computing is implemented based on the P2P network using the RELOAD protocol. Since the P2P network (Peer-to-Peer Networking) is a distributed network, the P2P network The peer nodes (P2P nodes) share the resources and services they own. They are not only the providers of resources, services and content, but also the acquirers of resources, services and content.
  • each MPC node joins as a P2P node through the RELOAD protocol After the P2P network, it is published as a resource to the P2P network;
  • each MPC node can join the target MPC computing group by sending a storage request, that is, storing their node information in the target MPC computing group;
  • the data acquisition primitive provided by the RELOAD protocol each MPC node can obtain the node information of each MPC node in the target MPC computing group by sending an acquisition request; each MPC node establishes communication with other MPC nodes according to the obtained node information of each MPC node Connected to enable secure multi-party computing in a decentralized environment.
  • the target MPC node performing secure multi-party calculation may include: the target MPC node sends a calculation request to each MPC node in the target MPC computing group except the target MPC node; When all MPC nodes in the group except the target MPC node successfully receive the calculation request, the target MPC node sends a calculation start notification to the target MPC calculation group except the target MPC node, where the calculation start notification is used to indicate Each MPC node in the target MPC computing group performs secure multi-party computing.
  • FIG. 3 a sequence diagram for executing secure multi-party calculation in an embodiment of the present application is shown.
  • MPC node 1 MPC node 1
  • MPC node 2 MPC node 2
  • MPC node 1 and MPC node 2 return confirmation information in response to the received calculation request
  • the target MPC node receives MPC node 1 and MPC node 2 After the confirmation information returned by the two, they send a calculation start notification to MPC node 1 and MPC node 2 respectively.
  • the target MPC node, MPC node 1 and MPC node 2 start to perform secure multi-party calculation.
  • any two of the three MPC nodes can transmit calculation data in the secure multi-party calculation process.
  • the MPC computing group can be created by the target MPC node, and the target MPC node is any one participating in secure multi-party computing.
  • multiple MPC nodes participating in secure multi-party computing can determine the identification information and collaborative calculation function of the target MPC node offline, and any one of the multiple MPC nodes can perform P2P in accordance with the identification information, collaborative calculation function, and RELOAD protocol.
  • a target MPC computing group is created in the network, and each MPC node joins the created target MPC computing group.
  • adding the target MPC node to the target MPC calculation group in the P2P network according to the RELOAD protocol and the identification information of the target MPC calculation group may include: the target MPC node obtains the identification information of the target MPC calculation group and Collaborative calculation function, where identification information and collaborative calculation function are determined offline by multiple MPC nodes participating in secure multi-party calculation, the target MPC node is one of the multiple MPC nodes; the target MPC node sends to the P2P network according to the RELOAD protocol
  • the first storage request is to create a target MPC computing group, where the first storage request carries identification information and a collaborative computing function, so that the collaborative computing function and identification information are associated and stored in the P2P network, and the identification information is used as a resource of the RELOAD protocol ID; the target MPC node sends a second storage request to the P2P network according to the RELOAD protocol to join the target MPC computing group, where the second storage request carries the node information and resource
  • multiple MPC nodes can determine the identification information and cooperative calculation function of the target MPC computing group offline, which can be implemented in the following ways: in person, telephone, WeChat, IM, etc.
  • the multiple MPC nodes know the identification information and the cooperative calculation function of the target MPC computing group.
  • the target MPC node is one of multiple MPC nodes.
  • the target MPC node can obtain the identification information and the cooperative calculation function of the target MPC computing group, and send the first storage request to the P2P network according to the RELOAD protocol to create the target MPC computing group in the P2P network.
  • the first storage request includes identification information and a cooperative calculation function, and the identification information is used as the resource ID of the RELOAD protocol.
  • the first storage request is finally routed to the P2P node responsible for storing the resource ID, and the collaborative calculation function is stored locally by the P2P node.
  • the topology algorithm (such as the Kadmlia algorithm) can be used to determine which P2P node stores the resource ID.
  • the target MPC node can join the target MPC computing group by sending a second storage request to the P2P network.
  • the second storage request carries the resource ID and node information of the target MPC node, and the second storage request is finally routed to the P2P node responsible for storing the resource ID (that is, the one that stores the information of the MPC computing group).
  • the P2P node to store the node information of the target MPC node in the P2P node using the resource ID.
  • Other MPC nodes can also join the target MPC computing group by sending a storage request to the P2P network, where the storage request carries the resource ID and node information corresponding to each MPC node.
  • the information of the target MPC node can be determined offline by multiple MPC nodes, and the target MPC calculation group can be created by any one of the multiple MPC nodes according to the information of the target MPC node.
  • Each MPC node can join the target MPC calculation group according to the RELOAD protocol and the identification information of the target MPC calculation group.
  • any P2P node as an MPC node can also use the RELOAD protocol to send a storage request to the P2P network to create a target MPC computing group (using the identification information of the MPC computing group as the resource ID of the RELOAD protocol), and in some way
  • the MPC nodes of the participating parties are publicly released (that is, the resource ID is announced), and the other participating MPC nodes use the same resource ID to send storage requests to the P2P network to join the target MPC computing group according to the RELOAD protocol.
  • the target MPC node joins the target MPC computing group in the P2P network according to the RELOAD protocol and the identification information of the target MPC computing group, which may include: the target MPC node obtains the identification information and collaboration of the target MPC computing group Calculation function; the target MPC node sends a first storage request to the P2P network according to the RELOAD protocol to create a target MPC computing group, where the first storage request carries identification information and a collaborative calculation function to associate the collaborative calculation function with the identification information Stored in the P2P network, the identification information is used as the resource ID of the RELOAD protocol; the target MPC node sends a second storage request to the P2P network according to the RELOAD protocol to join the target MPC computing group, where the second storage request carries the resource ID and the target
  • the node information of the MPC node is used to store the node information of the target MPC node and the resource ID in the P2P network; the target MPC node publish
  • the target MPC node can obtain the identification information and collaborative calculation function of the target MPC computing group, and send a first storage request to the P2P network according to the RELOAD protocol to create the MPC computing group, where the first storage request carries identification information and Cooperative computing function, the identification information is used as the resource ID of the RELOAD protocol to create a target MPC computing group in the P2P network.
  • the target MPC computing group can send a second storage request to the P2P network through the RELOAD protocol to join the target MPC computing group, where the second storage request carries the resource ID and the node information of the target MPC node, so that the target MPC node’s
  • the node information is stored in the P2P network by the resource ID, that is, stored in the P2P node that stores the cooperative calculation function of the target MPC calculation group.
  • the target MPC node can publish the resource ID in a certain way (for example, WeChat, phone call, short message, etc.), so that other MPC nodes can join the target MPC computing group according to the resource ID and the RELOAD protocol.
  • the MPC node can establish an MPC computing group as required, and publicly solicit other MPC nodes, which is more flexible in implementation.
  • the node information of each MPC node may include the IP address of each MPC node; correspondingly, the target MPC node compares the node information of each MPC node in the target MPC calculation group with the target MPC calculation group
  • the establishment of a communication connection between each MPC node except the target MPC node in the target MPC node may include: the target MPC node calculates the IP address of each MPC node in the target MPC calculation group, and each MPC node in the target MPC calculation group except the target MPC node Establish a point-to-point direct connection to directly transmit the calculation data in the secure multi-party calculation process.
  • the node information of each MPC node may include the node ID of each MPC node; correspondingly, the target MPC node according to the node information of each MPC node in the target MPC calculation group, and the target MPC calculation group except the target
  • the establishment of a communication connection for each MPC node other than the MPC node may include: the target MPC node calculates the node ID of each MPC node in the target MPC calculation group, and communicates with each MPC node in the target MPC calculation group except the target MPC node through the RELOAD protocol Establish a communication connection to transmit the calculation data in the secure multi-party calculation process through message routing.
  • the sender MPC node can sign the calculation data to be sent, and the receiver MPC node can perform signature verification based on the public key of the sender MPC node. In this case, the receiver MPC node determines that the received MPC data is valid.
  • the method for implementing secure multi-party computing includes the following steps:
  • Step 1 Each MPC node among multiple MPC nodes joins the P2P network as a P2P node through the RELOAD protocol;
  • Step 2 One MPC node among the multiple MPC nodes added to the P2P network obtains the identification information and the collaborative calculation function of the target MPC node, and sends a storage request carrying the identification information and the collaborative calculation function to the P2P network according to the RELOAD protocol, To create a target MPC computing group, where the identification information in the storage request is used as the resource ID in the RELOAD protocol;
  • Step 3 Each MPC node among the multiple MPC nodes obtains the resource ID, and sends a storage request carrying the resource ID and node information of each MPC node to the P2P network according to the RELOAD protocol to join the target MPC node group, That is, the node information of each MPC node is stored in the participant list of the target MPC computing group, where the participant list may store the node information of each MPC node in a dictionary format;
  • Step 4 Each MPC node joining the target MPC computing group sends an acquisition request carrying the resource ID to the P2P network according to the RELAOD protocol to obtain node information of each MPC node joining the target MPC computing group;
  • Step 5 Each MPC node that joins the target MPC computing group establishes a communication connection with other MPC nodes in each MPC node according to the obtained node information of each MPC node;
  • Step 6 The first MPC node among the multiple MPC nodes that establish communication connections with each other sends calculation requests to other nodes in the multiple MPC nodes, and the first MPC node is one of the multiple MPC nodes;
  • Step 7 other MPC nodes return confirmation information in response to the received calculation request
  • Step 8 After determining that the first MPC node has received the confirmation information returned by all other MPC nodes, it sends a calculation start notification to each of the other MPC nodes respectively;
  • Step 9 In response to the calculation start notification, multiple MPC nodes in the target MPC calculation group perform secure multi-party calculation.
  • the implementation method of secure multi-party computing in the foregoing embodiment is based on the P2P network using the RELOAD protocol to achieve secure multi-party computing.
  • each MPC node of the multiple MPC nodes joins the P2P network as a P2P node through the RELOAD protocol, it is published as a resource P2P network;
  • one MPC node among multiple MPC nodes can send a storage request to the P2P network through the RELOAD protocol to create a target MPC computing group, and then each MPC node can join the target by sending a storage request MPC computing group, that is, storing their respective node information in the target MPC computing group;
  • each MPC node can obtain the node information of each MPC node in the target MPC computing group by sending an acquisition request;
  • the MPC node establishes a communication connection with other MPC nodes according to the obtained node information of each MPC node
  • the embodiment of the present application also provides a device for implementing secure multi-party computing, which is located in the target MPC node.
  • a device for implementing secure multi-party computing which is located in the target MPC node.
  • the implementation of the device for implementing secure multiparty computing can refer to the implementation of secure multiparty computing, and the repetition will not be repeated.
  • the term "unit” or "module” can be a combination of software and/or hardware that implements predetermined functions.
  • FIG. 4 is a structural block diagram of the device for implementing secure multi-party computing according to an embodiment of the present application. As shown in FIG. 4, it includes: a first joining module 401, a second joining module 402, an acquiring module 403, and a connecting module 404. The structure will be described.
  • the first joining module 401 is used to join the P2P network as a P2P node through the RELOAD protocol.
  • the second joining module 402 is used to join the target MPC calculation group in the P2P network according to the RELOAD protocol and the identification information of the target MPC calculation group, wherein each MPC node in the target MPC calculation group joins the P2P network as a P2P node through the RELOAD protocol of.
  • the obtaining module 403 is configured to send an obtaining request carrying identification information to the P2P network according to the RELOAD protocol to obtain node information of each MPC node in the target MPC computing group.
  • the connection module 404 is used for the target MPC node to establish a communication connection with each MPC node in the target MPC calculation group except the target MPC node according to the node information of each MPC node in the target MPC calculation group, so as to perform secure multi-party calculation.
  • the device may further include a calculation module, and the calculation module may be specifically configured to: send a calculation request to each MPC node in the target MPC calculation group except the target MPC node; When all MPC nodes in the group except the target MPC node successfully receive the calculation request, a calculation start notification is sent to the target MPC calculation group except the target MPC node, where the calculation start notification is used to indicate the target MPC calculation Each MPC node in the group performs secure multi-party computation.
  • the second joining module may be specifically used to: obtain the identification information and the collaborative calculation function of the target MPC computing group, where the identification information and the collaborative calculation function are online by multiple MPC nodes participating in secure multi-party computing Determined below, the target MPC node is one of multiple MPC nodes; send a first storage request to the P2P network according to the RELOAD protocol to create a target MPC computing group, where the first storage request carries identification information and a collaborative computing function , To store the collaborative computing function and identification information in the P2P network in association with the identification information as the resource ID of the RELOAD protocol; send a second storage request to the P2P network according to the RELOAD protocol to join the target MPC computing group, where the second storage request
  • the node information and resource ID of the target MPC node are carried in it, so that the node information and resource ID of the target MPC node are associated and stored in the P2P network.
  • the second joining module may be specifically used to: obtain the identification information and collaborative calculation function of the target MPC computing group; and send the first storage request to the P2P network according to the RELOAD protocol to create the target MPC computing group, where ,
  • the first storage request carries the identification information and the collaborative calculation function, so that the collaborative calculation function and the identification information are stored in the P2P network in association, and the identification information is used as the resource ID of the RELOAD protocol;
  • the second storage request is sent to the P2P network according to the RELOAD protocol ,
  • the second storage request carries the resource ID and the node information of the target MPC node, so as to store the node information of the target MPC node and the resource ID in the P2P network; publish the resource ID to Make each MPC node except the target MPC node join the target MPC computing group according to the resource ID and the RELOAD protocol.
  • the node information of each MPC node may include the IP address of each MPC node; correspondingly, the connection module may be specifically used to: calculate the IP address of each MPC node in the group according to the target MPC, and calculate with the target MPC Each MPC node in the group except the target MPC node establishes a point-to-point direct connection to directly transmit the calculation data in the secure multi-party calculation process.
  • the node information of each MPC node may include the node ID of each MPC node; correspondingly, the connection module may be specifically used to: calculate the node ID of each MPC node in the target MPC group, and communicate with each other through the RELOAD protocol Each MPC node in the target MPC computing group except the target MPC node establishes a communication connection to transmit the calculation data in the secure multi-party calculation process through message routing.
  • the node information of each MPC node may include the public key of each MPC node; the target MPC node transmits the calculation data in the secure multi-party calculation process, which may include: the target MPC node sends according to its own private key pair The calculation data in the secure multi-party calculation process is signed; the target MPC node sends the signed calculation data in the secure multi-party calculation process to the receiver MPC node, where the receiver MPC node is the target MPC computing group except the target MPC node One of the other MPC nodes; the receiver MPC node performs signature verification on the received calculation data in the secure multi-party calculation process according to the public key of the target MPC node; the receiver MPC node determines if the signature is valid The received calculation data in the secure multi-party calculation process is valid.
  • the embodiments of the present application achieve the following technical effects: based on the P2P network using the RELOAD protocol to achieve secure multi-party computing, because the P2P network (Peer-to-Peer Networking, peer-to-peer network) is a kind of In a distributed network, the peer nodes (P2P nodes) in the P2P network share the resources and services they own. They are not only the providers of resources, services and content, but also the acquirers of resources, services and content.
  • each MPC node After joining the P2P network as a P2P node through the RELOAD protocol, it is published as a resource to the P2P network; based on the data storage primitives provided by the RELOAD protocol, each MPC node can join the target MPC computing group by sending a storage request, that is, storing their node information To the target MPC computing group; based on the data acquisition primitive provided by the RELOAD protocol, each MPC node can obtain node information of each MPC node in the target MPC computing group by sending an acquisition request; each MPC node is based on the obtained node of each MPC node Information establishes a communication connection with other MPC nodes, thereby enabling secure multi-party computing in a decentralized environment.
  • the above-mentioned solution solves the technical problem of the risk of data leakage to a third party in the existing secure multi-party computing, and achieves the technical effect of effectively improving the confidentiality of secure multi-party computing.
  • the embodiment of the present application also provides a computer device.
  • the computer device may specifically include an input device 51 , Processor 52, memory 53.
  • the memory 53 is used to store processor executable instructions.
  • the processor 52 implements the steps of the method for implementing secure multi-party computing described in any of the foregoing embodiments when executing the instructions.
  • the input device may specifically be one of the main devices for information exchange between the user and the computer system.
  • the input device may include a keyboard, a mouse, a camera, a scanner, a light pen, a handwriting input board, a voice input device, etc.; the input device is used to input raw data and programs for processing these numbers into the computer.
  • the input device can also obtain and receive data transmitted from other modules, units, and devices.
  • the processor can be implemented in any suitable way.
  • the processor may take the form of a microprocessor or a processor and a computer-readable medium, logic gates, switches, application specific integrated circuits that store computer-readable program codes (such as software or firmware) executable by the (micro)processor ( Application Specific Integrated Circuit (ASIC), programmable logic controller and embedded microcontroller form, etc.
  • the memory may specifically be a memory device used to store information in modern information technology.
  • the memory can include multiple levels. In a digital system, as long as it can store binary data, it can be a memory; in an integrated circuit, a circuit with a storage function without a physical form is also called a memory, such as RAM, FIFO, etc.; In the system, storage devices in physical form are also called memory, such as memory sticks, TF cards, etc.
  • the embodiment of the present application also provides a computer storage medium based on a method for realizing secure multi-party computing.
  • the computer storage medium stores computer program instructions, and when the computer program instructions are executed, the computer program instructions described in any of the foregoing embodiments are implemented. Steps of the implementation method of secure multi-party computing.
  • the above-mentioned storage medium includes but is not limited to random access memory (Random Access Memory, RAM), read-only memory (Read-Only Memory, ROM), cache (Cache), and hard disk (Hard Disk Drive, HDD) Or memory card (Memory Card).
  • the memory can be used to store computer program instructions.
  • the network communication unit may be an interface set up in accordance with a standard stipulated by the communication protocol and used for network connection communication.
  • modules or steps of the above-mentioned embodiments of the application can be implemented by a general computing device, and they can be concentrated on a single computing device or distributed among multiple computing devices.
  • they can be implemented with program codes executable by a computing device, so that they can be stored in a storage device for execution by the computing device, and in some cases, can be different from here
  • the steps shown or described are executed in the order of, or they are respectively fabricated into individual integrated circuit modules, or multiple modules or steps of them are fabricated into a single integrated circuit module to achieve. In this way, the embodiments of the present application are not limited to any specific hardware and software combination.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)

Abstract

本申请提供了一种安全多方计算的实现方法、装置、计算机设备和存储介质,其中,该方法包括:目标MPC节点通过RELOAD协议作为P2P节点加入P2P网络;目标MPC节点根据RELOAD协议和目标MPC计算群的标识信息加入P2P网络中的目标MPC计算群;目标MPC节点根据RELOAD协议向P2P网络发送携带有标识信息的获取请求,以获取目标MPC计算群中各MPC节点的节点信息;目标MPC节点根据目标MPC计算群中各MPC节点的节点信息,与目标MPC计算群中除目标MPC节点之外的各MPC节点建立通信连接,以执行安全多方计算。上述方法实现了在去中心化环境中实现安全多方计算,提高了安全多方计算的保密性。

Description

安全多方计算的实现方法、装置、计算机设备和存储介质 技术领域
本申请涉及安全多方计算技术领域,特别涉及一种安全多方计算的实现方法、装置、计算机设备和存储介质。
背景技术
安全多方计算(Secure Multi-Party Computation,MPC)是指在一个分布式网络中,多个用户需要共同协作完成一项任务,每个用户各自持有一些私密数据作为任务的输入,他们希望共同完成对这些数据的计算,同时要求每个用户除计算结果外均不能够获知其他用户的任何输入信息。安全多方计算是解决一组互不信任的参与方之间在保护隐私的前提下完成协同计算的问题,安全多方计算要确保输入的独立性,计算的正确性,同时不泄露各输入数据给参与计算的其他成员。安全多方计算在电子选举、电子投票、电子拍卖、秘密共享、门限签名等场景中有着重要的作用。
然而,目前的安全多方计算中各参与方之间的计算协调一般通过中间服务器来实现,这样存在数据泄露给作为第三方的中间服务器的风险。如何不依赖第三方或者在去中心化环境中进行安全多方计算,成为一个亟待解决的问题。
针对上述问题,目前尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种安全多方计算的实现方法,以解决现有技术中缺少在去中心化环境中进行安全多方计算的技术方案的问题。
本申请实施例提供了一种安全多方计算的实现方法,包括:目标MPC节点通过RELOAD协议作为P2P节点加入P2P网络;目标MPC节点根据RELOAD协议和目标MPC计算群的标识信息加入P2P网络中的目标MPC计算群,其中,目标MPC计算群中的各MPC节点均是通过RELOAD协议作为P2P节点加入P2P网络的;目标MPC节点根据RELOAD协议向P2P网络发送携带有标识信息的获取请求,以获取目标MPC计算群中各MPC节点的节点信息;目标MPC节点根据目标MPC计算群中各MPC节点的节点信息,与目标MPC计算群中除目标MPC节点之外的各MPC节点建立通信连接,以执行安全多方计算。
在一个实施例中,目标MPC节点执行安全多方计算,包括:目标MPC节点向目标 MPC计算群中除目标MPC节点之外的各MPC节点发送计算请求;在确定目标MPC计算群中除目标MPC节点之外的各MPC节点均成功接收计算请求的情况下,目标MPC节点向目标MPC计算群中除目标MPC节点之外的发送计算开始通知,其中,计算开始通知用于指示目标MPC计算群中的各MPC节点执行安全多方计算。
在一个实施例中,目标MPC节点根据RELOAD协议和目标MPC计算群的标识信息加入P2P网络中的目标MPC计算群,包括:目标MPC节点获取目标MPC计算群的标识信息和协同计算函数,其中,标识信息和协同计算函数是由参与安全多方计算的多个MPC节点在线下确定的,目标MPC节点是多个MPC节点中的一个;目标MPC节点根据RELOAD协议向P2P网络发送第一存储请求,以创建目标MPC计算群,其中,第一存储请求中携带有标识信息和协同计算函数,以将协同计算函数和标识信息关联存储至P2P网络中,标识信息作为RELOAD协议的资源ID;目标MPC节点根据RELOAD协议向P2P网络发送第二存储请求,以加入目标MPC计算群,其中,第二存储请求中携带有目标MPC节点的节点信息和资源ID,以将目标MPC节点的节点信息和资源ID关联存储至P2P网络中。
在一个实施例中,目标MPC节点根据RELOAD协议和目标MPC计算群的标识信息加入P2P网络中的目标MPC计算群,包括:目标MPC节点获取目标MPC计算群的标识信息和协同计算函数;目标MPC节点根据RELOAD协议向P2P网络发送第一存储请求,以创建目标MPC计算群,其中,第一存储请求中携带有标识信息和协同计算函数,以将协同计算函数和标识信息关联存储至P2P网络中,标识信息作为RELOAD协议的资源ID;目标MPC节点根据RELOAD协议向P2P网络发送第二存储请求,以加入目标MPC计算群,其中,第二存储请求中携带有资源ID和目标MPC节点的节点信息,以将目标MPC节点的节点信息和资源ID关联存储至P2P网络中;目标MPC节点公布资源ID,以使得除目标MPC节点之外的各MPC节点根据资源ID和RELOAD协议加入目标MPC计算群。
在一个实施例中,各MPC节点的节点信息包括各MPC节点的IP地址;相应的,目标MPC节点根据目标MPC计算群中各MPC节点的节点信息,与目标MPC计算群中除目标MPC节点之外的各MPC节点建立通信连接,包括:目标MPC节点根据目标MPC计算群中各MPC节点的IP地址,与目标MPC计算群中除目标MPC节点之外的各MPC节点建立点对点直接连接,以直接传输安全多方计算过程中的计算数据。
在一个实施例中,各MPC节点的节点信息包括各MPC节点的节点ID;相应的,目标MPC节点根据目标MPC计算群中各MPC节点的节点信息,与目标MPC计算群中除目 标MPC节点之外的各MPC节点建立通信连接,包括:目标MPC节点根据目标MPC计算群中各MPC节点的节点ID,通过RELOAD协议与目标MPC计算群中除目标MPC节点之外的各MPC节点建立通信连接,以通过消息路由传输安全多方计算过程中的计算数据。
在一个实施例中,各MPC节点的节点信息包括各MPC节点的公钥;目标MPC节点传输安全多方计算过程中的计算数据,包括:目标MPC节点根据自身的私钥对要发送的安全多方计算过程中的计算数据进行签名;目标MPC节点将签名后的安全多方计算过程中的计算数据发送至接收方MPC节点,其中,接收方MPC节点是目标MPC计算群中除目标MPC节点之外的各MPC节点中的一个;接收方MPC节点根据目标MPC节点的公钥对接收到的安全多方计算过程中的计算数据进行签名验证;在验证签名有效的情况下,接收方MPC节点确定接收到的安全多方计算过程中的计算数据有效。
本申请实施例还提供了一种安全多方计算的实现装置,位于目标MPC节点中,包括:第一加入模块,用于通过RELOAD协议作为P2P节点加入P2P网络;第二加入模块,用于根据RELOAD协议和目标MPC计算群的标识信息加入P2P网络中的目标MPC计算群,其中,目标MPC计算群中的各MPC节点均是通过RELOAD协议作为P2P节点加入P2P网络的;获取模块,用于根据RELOAD协议向P2P网络发送携带有标识信息的获取请求,以获取目标MPC计算群中各MPC节点的节点信息;连接模块,用于目标MPC节点根据目标MPC计算群中各MPC节点的节点信息,与目标MPC计算群中除目标MPC节点之外的各MPC节点建立通信连接,以执行安全多方计算。
本申请实施例还提供一种计算机设备,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现上述任意实施例中所述的安全多方计算的实现方法的步骤。
本申请实施例还提供一种计算机可读存储介质,其上存储有计算机指令,所述指令被执行时实现上述任意实施例中所述的安全多方计算的实现方法的步骤。
在本申请实施例中,提供了一种安全多方计算的实现方法,各MPC节点通过RELOAD协议将自己作为资源发布到P2P网络,即作为P2P节点加入P2P网络,并根据RELOAD协议加入P2P网络中的目标MPC计算群,在加入目标MPC计算群之后,各MPC节点可以根据RELOAD协议获取其他MPC节点的节点信息,从而可以根据获得的节点信息与其他MPC节点建立通信连接,以进行安全多方计算。上述方案中,基于采用RELOAD协议的P2P网络实现安全多方计算,由于P2P网络(Peer-to-Peer Networking,对等网络)是一种分布式网络,P2P网络中的对等节点(P2P节点)共享其所拥有的资源和服务,既是资 源、服务和内容的提供者,又是资源、服务和内容的获取者,因此在各MPC节点通过RELOAD协议作为P2P节点加入P2P网络之后,即被作为资源发布到P2P网络;基于RELOAD协议提供的数据存储原语,各MPC节点可以通过发送存储请求加入目标MPC计算群,即将各自的节点信息存储至目标MPC计算群;基于RELOAD协议提供的数据获取原语,各MPC节点可以通过发送获取请求以获取目标MPC计算群中的各MPC节点的节点信息;各MPC节点根据获得的各MPC节点的节点信息与其他MPC节点建立通信连接,从而能够在去中心化环境中实现安全多方计算。通过上述方案解决了现有的安全多方计算存在数据泄露给第三方的风险的技术问题,达到了有效提升安全多方计算的保密性的技术效果。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,并不构成对本申请的限定。在附图中:
图1示出了本申请一实施例中的安全多方计算的实现方法的应用场景示意图;
图2示出了本申请一实施例中的安全多方计算的实现方法的流程图;
图3示出了本申请一实施例中的进行安全多方计算的顺序图;
图4示出了本申请一实施例中的安全多方计算的实现装置的示意图;
图5示出了本申请一实施例中的计算机设备的示意图。
具体实施方式
下面将参考若干示例性实施方式来描述本申请的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本申请,而并非以任何方式限制本申请的范围。相反,提供这些实施方式是为了使本申请公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
本领域的技术人员知道,本申请的实施方式可以实现为一种系统、装置设备、方法或计算机程序产品。因此,本申请公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
考虑到现有的安全多方计算中各参与方之间的计算协调一般通过中间服务器来实现,这样存在数据泄露给作为第三方的中间服务器的风险,发明人研究发现可以基于采用RELOAD协议的P2P网络来实现去中心化的安全多方计算。
本申请实施例提供了一种安全多方计算的实现方法,图1示出了该实现方法的一种应用场景的示意图。在图1中,示意性地示出了P2P网络(Peer-to-peer networking,对等网络),在P2P网络中,包括多个普通P2P节点和多个作为MPC节点的P2P节点(本申请中,MPC节点的个数可以为2个、3个或3个以上,图1中仅示意性地示出3个MPC节点:MPC节点1、MPC节点2和目标MPC节点)。如图1所示,MPC节点是通过RELOAD协议加入P2P网络的P2P节点。各个MPC节点之间通信连接。在图1中,P2P网络中的一个P2P节点上存储有MPC计算群的信息,其中,MPC计算群的信息包括:标识信息、协同计算函数以及参与方列表。其中,标识信息可以为MPC计算群的群ID,作为RELOAD协议的资源ID。协同计算函数为进行安全多方计算的函数,例如,如果安全多方计算是为了求取最大值,则协同计算函数可以为求最大值的函数。参与方列表用于存储MPC计算群中的各MPC节点的节点信息。各MPC节点的节点信息可以包括但不限于以下至少之一:节点ID、IP地址和公钥等。在加入P2P网络之后,各个MPC节点可以向P2P网络发送存储请求,以加入MPC计算群,即将各MPC节点的节点信息存储至MPC计算群的参与方列表中。在各MPC节点均加入MPC计算群之后,各MPC节点可以向P2P网络发送数据获取请求,以获取MPC计算群中各MPC节点的节点信息,然后根据各MPC节点的节点信息建立通信连接,以进行安全多方计算。
其中,上述P2P网络为采用RELOAD协议的P2P网络。P2P网络是一种在对等节点(P2P节点)之间分配任务和工作负载的分布式应用架构,P2P网络的参与者共享所拥有的一部分硬件资源,这些共享资源通过P2P网络提供服务和内容,能被其它P2P节点直接访问而无需经过中间实体。在P2P网络中的对等节点既是资源、服务和内容的提供者,又是资源、服务和内容的获取者。RELOAD(REsource LOcate And Discovery,资源定位和发现)协议,是IETF P2PSIP协议(Peer To Peer Session Initiation Protocol,对等网络会话初始协议)工作组定义的一种P2P网络的资源定位和发现协议。上述MPC节点可以是台式电脑、笔记本、手机终端、PDA等,只要是可以与其他MPC节点进行通信连接并具备计算能力的设备都可以,对于MPC节点的呈现形成,本申请也不作限定。
图2示出了本申请一实施例中安全多方计算的实现方法的流程图。虽然本申请提供了如下述实施例或附图所示的方法操作步骤或装置结构,但基于常规或者无需创造性的劳动在所述方法或装置中可以包括更多或者更少的操作步骤或模块单元。在逻辑性上不存在必要因果关系的步骤或结构中,这些步骤的执行顺序或装置的模块结构不限于本申请实施例描述及附图所示的执行顺序或模块结构。所述的方法或模块结构的在实际中的装置或终端 产品应用时,可以按照实施例或者附图所示的方法或模块结构连接进行顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至分布式处理环境)。
具体地,如图2所示,本申请一种实施例提供的安全多方计算的实现方法可以包括以下步骤:
步骤S201,目标MPC节点通过RELOAD协议作为P2P节点加入P2P网络。
其中,目标MPC节点为参与安全多方计算的多个MPC节点中的一个,为了描述方便而非限制性的,本文在目标MPC节点这一侧进行描述,其他MPC节点也可以执行这些操作步骤。目标MPC节点根据RELOAD协议作为一个P2P节点加入P2P网络,并按照RELOAD协议将自己的路由信息发布到P2P网络。其中,路由信息可以包括节点ID和IP地址等信息。
步骤S202,目标MPC节点根据RELOAD协议和目标MPC计算群的标识信息加入P2P网络中的目标MPC计算群,其中,目标MPC计算群中的各MPC节点均是通过RELOAD协议作为P2P节点加入P2P网络的。
其中,P2P网络中的一个P2P节点中可以存储有目标MPC计算群的标识信息,并将该标识信息可以作为RELOAD协议的资源ID进行存储。在目标MPC节点加入P2P网络之后,可以根据RELOAD协议和目标MPC计算群的标识信息加入目标MPC计算群,即将目标MPC节点的节点信息存储到MPC计算群中。加入目标MPC计算群中的各MPC节点均是通过RELOAD协议加入P2P网络的P2P节点。各MPC节点均可以根据RELOAD协议和目标MPC计算群的标识信息加入该目标MPC计算群。
步骤S203,目标MPC节点根据RELOAD协议向P2P网络发送携带有标识信息的获取请求,以获取目标MPC计算群中各MPC节点的节点信息。
具体地,在目标MPC节点加入目标MPC计算群之后,可以向P2P网络发送携带有标识信息的获取请求,即该获取请求中携带有MPC计算群的资源ID,可以获取加入目标MPC计算群中的各MPC节点的节点信息。其中,节点信息可以包括但不限于以下至少之一:节点ID、IP地址和公钥等。
步骤S204,目标MPC节点根据目标MPC计算群中各MPC节点的节点信息,与目标MPC计算群中除目标MPC节点之外的各MPC节点建立通信连接,以执行安全多方计算。
具体地,在目标节点获取目标MPC计算群中各MPC节点的节点信息之后,可以根据各MPC节点的节点信息与目标MPC计算群中除该目标节点之外的各MPC节点建立通信连接。在MPC计算群中的多个MPC节点之间建立通信连接之后,就做好了执行安全多方 计算的准备,后续可以进行安全多方计算。
上述实施例中的安全多方计算的实现方法中,基于采用RELOAD协议的P2P网络实现安全多方计算,由于P2P网络(Peer-to-Peer Networking,对等网络)是一种分布式网络,P2P网络中的对等节点(P2P节点)共享其所拥有的资源和服务,既是资源、服务和内容的提供者,又是资源、服务和内容的获取者,因此在各MPC节点通过RELOAD协议作为P2P节点加入P2P网络之后,即被作为资源发布到P2P网络;基于RELOAD协议提供的数据存储原语,各MPC节点可以通过发送存储请求加入目标MPC计算群,即将各自的节点信息存储至目标MPC计算群;基于RELOAD协议提供的数据获取原语,各MPC节点可以通过发送获取请求以获取目标MPC计算群中的各MPC节点的节点信息;各MPC节点根据获得的各MPC节点的节点信息与其他MPC节点建立通信连接,从而能够在去中心化环境中实现安全多方计算。通过上述方案解决了现有的安全多方计算存在数据泄露给第三方的风险的技术问题,达到了有效提升安全多方计算的保密性的技术效果。
进一步地,在本申请一些实施例中,目标MPC节点执行安全多方计算,可以包括:目标MPC节点向目标MPC计算群中除目标MPC节点之外的各MPC节点发送计算请求;在确定目标MPC计算群中除目标MPC节点之外的各MPC节点均成功接收计算请求的情况下,目标MPC节点向目标MPC计算群中除目标MPC节点之外的发送计算开始通知,其中,计算开始通知用于指示目标MPC计算群中的各MPC节点执行安全多方计算。
具体地,如图3所示,示出了本申请一实施例中执行安全多方计算的顺序图。在图3中,示意性地示出了三个MPC节点:MPC节点1、目标MPC节点和MPC节点2。其中,目标MPC节点分别向MPC节点1和MPC节点2发送计算请求,MPC节点1和MPC节点2分别响应于接收到的计算请求返回确认信息,目标MPC节点在接收到MPC节点1和MPC节点2两者返回的确认信息之后,分别向MPC节点1和MPC节点2发送计算开始通知。响应于计算开始通知,目标MPC节点、MPC节点1和MPC节点2开始执行安全多方计算,在计算过程中,这三个MPC节点中任意两个之间可以传输安全多方计算过程中的计算数据。通过上述方式,可以实现多个MPC节点之间的计算协调并执行安全多方计算。
考虑到在MPC节点加入P2P网络中的目标MPC计算群之前需要先创建MPC计算群,可以由目标MPC节点创造MPC计算群,目标MPC节点为参与安全多方计算中的任一个。对此,可以由参与安全多方计算的多个MPC节点在线下确定目标MPC节点的标识信息和协同计算函数,由该多个MPC节点中的任一个根据标识信息和协同计算函数以及 RELOAD协议在P2P网络中创建目标MPC计算群,各MPC节点加入创建的目标MPC计算群。因此,在本申请一些实施例中,在目标MPC节点根据RELOAD协议和目标MPC计算群的标识信息加入P2P网络中的目标MPC计算群,可以包括:目标MPC节点获取目标MPC计算群的标识信息和协同计算函数,其中,标识信息和协同计算函数是由参与安全多方计算的多个MPC节点在线下确定的,目标MPC节点是多个MPC节点中的一个;目标MPC节点根据RELOAD协议向P2P网络发送第一存储请求,以创建目标MPC计算群,其中,第一存储请求中携带有标识信息和协同计算函数,以将协同计算函数和标识信息关联存储至P2P网络中,标识信息作为RELOAD协议的资源ID;目标MPC节点根据RELOAD协议向P2P网络发送第二存储请求,以加入目标MPC计算群,其中,第二存储请求中携带有目标MPC节点的节点信息和资源ID,以将目标MPC节点的节点信息和资源ID关联存储至P2P网络中。
其中,多个MPC节点在线下确定目标MPC计算群的标识信息和协同计算函数可以通过以下方式实现:当面、电话、微信、IM等。该多个MPC节点已知目标MPC计算群的标识信息和协同计算函数。而目标MPC节点是多个MPC节点中的一个。目标MPC节点可以获取目标MPC计算群的标识信息和协同计算函数,根据RELOAD协议向P2P网络发送第一存储请求,以在P2P网络中创建目标MPC计算群。其中,第一存储请求中包括标识信息和协同计算函数,标识信息作为RELOAD协议的资源ID。所述第一存储请求最终路由到负责存储该资源ID的P2P节点,协同计算函数由该P2P节点存储到其本地。其中,可以根据拓扑算法(如Kadmlia算法)来决定由哪个P2P节点存储该资源ID。在目标MPC计算群建立之后,目标MPC节点可以通过向P2P网络发送第二存储请求来加入该目标MPC计算群。其中,第二存储请求中携带有所述资源ID和目标MPC节点的节点信息,所述第二存储请求也被最终路由到负责存储该资源ID的P2P节点(即存储MPC计算群的信息的那个P2P节点),以将目标MPC节点的节点信息以所述资源ID存储至所述P2P节点中。其他MPC节点也可以通过向P2P网络发送存储请求来加入目标MPC计算群,其中,存储请求中携带有所述资源ID以及各MPC节点对应的节点信息。通过上述方式,可以由多个MPC节点线下确定目标MPC节点的信息,并根据目标MPC节点的信息由多个MPC节点中的任一个MPC节点创建目标MPC计算群,在创建目标MPC计算群之后,各MPC节点可以根据RELOAD协议和目标MPC计算群的标识信息加入目标MPC计算群。
发明人经研究发现,也可以由任何P2P节点作为MPC节点使用RELOAD协议发送存储请求到P2P网络创建目标MPC计算群(将MPC计算群的标识信息作为RELOAD协议 的资源ID),并通过某种方式公开发布征集参与方MPC节点(即,公布资源ID),其他参与方MPC节点使用相同的资源ID,按照RELOAD协议发送存储请求到P2P网络加入目标MPC计算群。因此,在本申请一些实施例中,目标MPC节点根据RELOAD协议和目标MPC计算群的标识信息加入P2P网络中的目标MPC计算群,可以包括:目标MPC节点获取目标MPC计算群的标识信息和协同计算函数;目标MPC节点根据RELOAD协议向P2P网络发送第一存储请求,以创建目标MPC计算群,其中,第一存储请求中携带有标识信息和协同计算函数,以将协同计算函数和标识信息关联存储至P2P网络中,标识信息作为RELOAD协议的资源ID;目标MPC节点根据RELOAD协议向P2P网络发送第二存储请求,以加入目标MPC计算群,其中,第二存储请求中携带有资源ID和目标MPC节点的节点信息,以将目标MPC节点的节点信息和资源ID关联存储至P2P网络中;目标MPC节点公布资源ID,以使得除目标MPC节点之外的各MPC节点根据资源ID和RELOAD协议加入目标MPC计算群。
具体地,目标MPC节点可以获取目标MPC计算群的标识信息和协同计算函数,根据RELOAD协议向P2P网络发送第一存储请求,以创建MPC计算群,其中,第一存储请求中携带有标识信息和协同计算函数,标识信息作为RELOAD协议的资源ID,以在P2P网络中创建目标MPC计算群。目标MPC计算群可以通过RELOAD协议向P2P网络发送第二存储请求以加入目标MPC计算群,其中,第二存储请求中携带有所述资源ID和目标MPC节点的节点信息,以将目标MPC节点的节点信息以资源ID存储至P2P网络中,即,存储至存储目标MPC计算群的协同计算函数的P2P节点中。目标MPC节点可以通过某种方式(例如,微信、电话、短信等)公布资源ID,使得其他MPC节点可以根据所述资源ID和RELOAD协议加入目标MPC计算群。通过上述方式,可以由MPC节点根据需要建立MPC计算群,并公开征集其他MPC节点,实现起来更加灵活。
进一步地,在本申请一些实施例中,各MPC节点的节点信息可以包括各MPC节点的IP地址;相应的,目标MPC节点根据目标MPC计算群中各MPC节点的节点信息,与目标MPC计算群中除目标MPC节点之外的各MPC节点建立通信连接,可以包括:目标MPC节点根据目标MPC计算群中各MPC节点的IP地址,与目标MPC计算群中除目标MPC节点之外的各MPC节点建立点对点直接连接,以直接传输安全多方计算过程中的计算数据。通过上述方式,目标MPC计算群中的多个MPC节点相互间建立起点对点直接连接,RELOAD提供ICE方法实现NAT穿越,以直接传输安全多方计算过程中的计算数据。
在本申请一些实施例中,各MPC节点的节点信息可以包括各MPC节点的节点ID; 相应的,目标MPC节点根据目标MPC计算群中各MPC节点的节点信息,与目标MPC计算群中除目标MPC节点之外的各MPC节点建立通信连接,可以包括:目标MPC节点根据目标MPC计算群中各MPC节点的节点ID,通过RELOAD协议与目标MPC计算群中除目标MPC节点之外的各MPC节点建立通信连接,以通过消息路由传输安全多方计算过程中的计算数据。通过上述方式,可以直接根据RELOAD消息传输协议发送安全多方计算过程中的计算数据,RELOAD协议可根据接收方的节点ID进行消息路由,从而传输计算数据。
考虑到可能存在其他非MPC节点伪造计算数据并发送,发送方MPC节点可以对要发送的计算数据进行签名,接收方MPC节点可以根据发送方MPC节点的公钥进行签名验证,在验证签名有效的情况下,接收方MPC节点确定接收到的MPC数据有效。因此,在本申请一些实施例中,各MPC节点的节点信息可以包括各MPC节点的公钥;目标MPC节点传输安全多方计算过程中的计算数据,可以包括:目标MPC节点根据自身的私钥对要发送的安全多方计算过程中的计算数据进行签名;目标MPC节点将签名后的安全多方计算过程中的计算数据发送至接收方MPC节点,其中,接收方MPC节点是目标MPC计算群中除目标MPC节点之外的各MPC节点中的一个;接收方MPC节点根据目标MPC节点的公钥对接收到的安全多方计算过程中的计算数据进行签名验证;在验证签名有效的情况下,接收方MPC节点确定接收到的安全多方计算过程中的计算数据有效。通过上述方式,可以进一步保证计算的准确性。
下面结合一个具体实施例对上述方法进行说明,然而,值得注意的是,该具体实施例仅是为了更好地说明本申请,并不构成对本申请的不当限定。
在本实施例中,安全多方计算的实现方法包括以下步骤:
步骤1,多个MPC节点中的各MPC节点通过RELOAD协议作为P2P节点加入P2P网络;
步骤2,加入P2P网络中的多个MPC节点中的一个MPC节点获取目标MPC节点的标识信息和协同计算函数,并根据RELOAD协议向P2P网络发送携带所述标识信息和协同计算函数的存储请求,以创建目标MPC计算群,其中,所述存储请求中的标识信息作为RELOAD协议中的资源ID;
步骤3,多个MPC节点中的各MPC节点获取所述资源ID,并根据RELOAD协议向P2P网络发送携带有所述资源ID和各MPC节点的节点信息的存储请求,以加入目标MPC节点群,即,将各MPC节点的节点信息存储至目标MPC计算群的参与方列表中,其中, 参与方列表可以以字典(dictionary)格式存储各MPC节点的节点信息;
步骤4,加入目标MPC计算群中的各MPC节点根据RELAOD协议向P2P网络发送携带有所述资源ID的获取请求,以获取加入目标MPC计算群中的各MPC节点的节点信息;
步骤5,加入目标MPC计算群中的各MPC节点根据获得的各MPC节点的节点信息与所述各MPC节点中的其他MPC节点建立通信连接;
步骤6,相互之间建立通信连接的多个MPC节点中的第一MPC节点分别向多个MPC节点中的其他节点发送计算请求,第一MPC节点是所述多个MPC节点中的一个;
步骤7,其他MPC节点响应于接收到的计算请求返回确认信息;
步骤8,第一MPC节点在确定接收到所有其他MPC节点返回的确认信息之后,分别向其他MPC节点中的每一个发送计算开始通知;
步骤9,响应于所述计算开始通知,目标MPC计算群中的多个MPC节点执行安全多方计算。
上述实施例中的安全多方计算的实现方法,基于采用RELOAD协议的P2P网络实现安全多方计算,多个MPC节点中的各MPC节点通过RELOAD协议作为P2P节点加入P2P网络之后,即被作为资源发布到P2P网络;基于RELOAD协议提供的数据存储原语,多个MPC节点中的一个MPC节点可以通过RELOAD协议向P2P网络发送存储请求以创建目标MPC计算群,然后各MPC节点可以通过发送存储请求加入目标MPC计算群,即将各自的节点信息存储至目标MPC计算群;基于RELOAD协议提供的数据获取原语,各MPC节点可以通过发送获取请求以获取目标MPC计算群中的各MPC节点的节点信息;各MPC节点根据获得的各MPC节点的节点信息与其他MPC节点建立通信连接;在建立通信连接之后,可以由一个MPC节点发起计算邀请,即向其他MPC节点发送计算请求,在确定其他MPC节点均成功接收计算请求的情况下发送计算开始通知,以使得多个MPC节点执行安全多方计算,从而实现了能够在去中心化环境中实现安全多方计算。
基于同一发明构思,本申请实施例中还提供了一种安全多方计算的实现装置,位于目标MPC节点中。如下面的实施例所述。由于安全多方计算的实现装置解决问题的原理与安全多方计算的实现方法相似,因此安全多方计算的实现装置的实施可以参见安全多方计算的实现方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。图4是本申请实施例 的安全多方计算的实现装置的一种结构框图,如图4所示,包括:第一加入模块401、第二加入模块402、获取模块403和连接模块404,下面对该结构进行说明。
第一加入模块401用于通过RELOAD协议作为P2P节点加入P2P网络。
第二加入模块402用于根据RELOAD协议和目标MPC计算群的标识信息加入P2P网络中的目标MPC计算群,其中,目标MPC计算群中的各MPC节点均是通过RELOAD协议作为P2P节点加入P2P网络的。
获取模块403用于根据RELOAD协议向P2P网络发送携带有标识信息的获取请求,以获取目标MPC计算群中各MPC节点的节点信息。
连接模块404用于目标MPC节点根据目标MPC计算群中各MPC节点的节点信息,与目标MPC计算群中除目标MPC节点之外的各MPC节点建立通信连接,以执行安全多方计算。
在本申请一些实施例中,该装置还可以包括计算模块,所述计算模块可以具体用于:向目标MPC计算群中除目标MPC节点之外的各MPC节点发送计算请求;在确定目标MPC计算群中除目标MPC节点之外的各MPC节点均成功接收计算请求的情况下,向目标MPC计算群中除目标MPC节点之外的发送计算开始通知,其中,计算开始通知用于指示目标MPC计算群中的各MPC节点执行安全多方计算。
在本申请一些实施例中,第二加入模块可以具体用于:获取目标MPC计算群的标识信息和协同计算函数,其中,标识信息和协同计算函数是由参与安全多方计算的多个MPC节点在线下确定的,目标MPC节点是多个MPC节点中的一个;根据RELOAD协议向P2P网络发送第一存储请求,以创建目标MPC计算群,其中,第一存储请求中携带有标识信息和协同计算函数,以将协同计算函数和标识信息关联存储至P2P网络中,标识信息作为RELOAD协议的资源ID;根据RELOAD协议向P2P网络发送第二存储请求,以加入目标MPC计算群,其中,第二存储请求中携带有目标MPC节点的节点信息和资源ID,以将目标MPC节点的节点信息和资源ID关联存储至P2P网络中。
在本申请一些实施例中,第二加入模块可以具体用于:获取目标MPC计算群的标识信息和协同计算函数;根据RELOAD协议向P2P网络发送第一存储请求,以创建目标MPC计算群,其中,第一存储请求中携带有标识信息和协同计算函数,以将协同计算函数和标识信息关联存储至P2P网络中,标识信息作为RELOAD协议的资源ID;根据RELOAD协议向P2P网络发送第二存储请求,以加入目标MPC计算群,其中,第二存储请求中携带有资源ID和目标MPC节点的节点信息,以将目标MPC节点的节点信息和资源ID关联 存储至P2P网络中;公布资源ID,以使得除目标MPC节点之外的各MPC节点根据资源ID和RELOAD协议加入目标MPC计算群。
在本申请一些实施例中,各MPC节点的节点信息可以包括各MPC节点的IP地址;相应的,连接模块可以具体用于:根据目标MPC计算群中各MPC节点的IP地址,与目标MPC计算群中除目标MPC节点之外的各MPC节点建立点对点直接连接,以直接传输安全多方计算过程中的计算数据。
在本申请一些实施例中,各MPC节点的节点信息可以包括各MPC节点的节点ID;相应的,连接模块可以具体用于:根据目标MPC计算群中各MPC节点的节点ID,通过RELOAD协议与目标MPC计算群中除目标MPC节点之外的各MPC节点建立通信连接,以通过消息路由传输安全多方计算过程中的计算数据。
在本申请一些实施例中,各MPC节点的节点信息可以包括各MPC节点的公钥;目标MPC节点传输安全多方计算过程中的计算数据,可以包括:目标MPC节点根据自身的私钥对要发送的安全多方计算过程中的计算数据进行签名;目标MPC节点将签名后的安全多方计算过程中的计算数据发送至接收方MPC节点,其中,接收方MPC节点是目标MPC计算群中除目标MPC节点之外的各MPC节点中的一个;接收方MPC节点根据目标MPC节点的公钥对接收到的安全多方计算过程中的计算数据进行签名验证;在验证签名有效的情况下,接收方MPC节点确定接收到的安全多方计算过程中的计算数据有效。
从以上的描述中,可以看出,本申请实施例实现了如下技术效果:基于采用RELOAD协议的P2P网络实现安全多方计算,由于P2P网络(Peer-to-Peer Networking,对等网络)是一种分布式网络,P2P网络中的对等节点(P2P节点)共享其所拥有的资源和服务,既是资源、服务和内容的提供者,又是资源、服务和内容的获取者,因此在各MPC节点通过RELOAD协议作为P2P节点加入P2P网络之后,即被作为资源发布到P2P网络;基于RELOAD协议提供的数据存储原语,各MPC节点可以通过发送存储请求加入目标MPC计算群,即将各自的节点信息存储至目标MPC计算群;基于RELOAD协议提供的数据获取原语,各MPC节点可以通过发送获取请求以获取目标MPC计算群中的各MPC节点的节点信息;各MPC节点根据获得的各MPC节点的节点信息与其他MPC节点建立通信连接,从而能够在去中心化环境中实现安全多方计算。通过上述方案解决了现有的安全多方计算存在数据泄露给第三方的风险的技术问题,达到了有效提升安全多方计算的保密性的技术效果。
本申请实施方式还提供了一种计算机设备,具体可以参阅图5所示的基于本申请实施 例提供的安全多方计算的实现方法的计算机设备组成结构示意图,所述计算机设备具体可以包括输入设备51、处理器52、存储器53。其中,所述存储器53用于存储处理器可执行指令。所述处理器52执行所述指令时实现上述任意实施例中所述的安全多方计算的实现方法的步骤。
在本实施方式中,所述输入设备具体可以是用户和计算机系统之间进行信息交换的主要装置之一。所述输入设备可以包括键盘、鼠标、摄像头、扫描仪、光笔、手写输入板、语音输入装置等;输入设备用于把原始数据和处理这些数的程序输入到计算机中。所述输入设备还可以获取接收其他模块、单元、设备传输过来的数据。所述处理器可以按任何适当的方式实现。例如,处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式等等。所述存储器具体可以是现代信息技术中用于保存信息的记忆设备。所述存储器可以包括多个层次,在数字系统中,只要能保存二进制数据的都可以是存储器;在集成电路中,一个没有实物形式的具有存储功能的电路也叫存储器,如RAM、FIFO等;在系统中,具有实物形式的存储设备也叫存储器,如内存条、TF卡等。
在本实施方式中,该计算机设备具体实现的功能和效果,可以与其它实施方式对照解释,在此不再赘述。
本申请实施方式中还提供了一种基于安全多方计算的实现方法的计算机存储介质,所述计算机存储介质存储有计算机程序指令,在所述计算机程序指令被执行时实现上述任意实施例中所述安全多方计算的实现方法的步骤。
在本实施方式中,上述存储介质包括但不限于随机存取存储器(Random Access Memory,RAM)、只读存储器(Read-Only Memory,ROM)、缓存(Cache)、硬盘(Hard Disk Drive,HDD)或者存储卡(Memory Card)。所述存储器可以用于存储计算机程序指令。网络通信单元可以是依照通信协议规定的标准设置的,用于进行网络连接通信的接口。
在本实施方式中,该计算机存储介质存储的程序指令具体实现的功能和效果,可以与其它实施方式对照解释,在此不再赘述。
显然,本领域的技术人员应该明白,上述的本申请实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行 所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请实施例不限制于任何特定的硬件和软件结合。
应该理解,以上描述是为了进行图示说明而不是为了进行限制。通过阅读上述描述,在所提供的示例之外的许多实施方式和许多应用对本领域技术人员来说都将是显而易见的。因此,本申请的范围不应该参照上述描述来确定,而是应该参照前述权利要求以及这些权利要求所拥有的等价物的全部范围来确定。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请实施例可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (10)

  1. 一种安全多方计算的实现方法,其特征在于,包括:
    目标MPC节点通过RELOAD协议作为P2P节点加入P2P网络;
    所述目标MPC节点根据所述RELOAD协议和目标MPC计算群的标识信息加入所述P2P网络中的所述目标MPC计算群,其中,所述目标MPC计算群中的各MPC节点均是通过RELOAD协议作为P2P节点加入所述P2P网络的;
    所述目标MPC节点根据所述RELOAD协议向所述P2P网络发送携带有所述标识信息的获取请求,以获取所述目标MPC计算群中各MPC节点的节点信息;
    所述目标MPC节点根据所述目标MPC计算群中各MPC节点的节点信息,与所述目标MPC计算群中除所述目标MPC节点之外的各MPC节点建立通信连接,以执行安全多方计算。
  2. 根据权利要求1所述的方法,其特征在于,所述目标MPC节点执行安全多方计算,包括:
    所述目标MPC节点向所述目标MPC计算群中除所述目标MPC节点之外的各MPC节点发送计算请求;
    在确定所述目标MPC计算群中除所述目标MPC节点之外的各MPC节点均成功接收所述计算请求的情况下,所述目标MPC节点向所述目标MPC计算群中除所述目标MPC节点之外的发送计算开始通知,其中,所述计算开始通知用于指示所述目标MPC计算群中的各MPC节点执行安全多方计算。
  3. 根据权利要求1所述的方法,其特征在于,所述目标MPC节点根据所述RELOAD协议和目标MPC计算群的标识信息加入所述P2P网络中的所述目标MPC计算群,包括:
    所述目标MPC节点获取所述目标MPC计算群的标识信息和协同计算函数,其中,所述标识信息和协同计算函数是由参与安全多方计算的多个MPC节点在线下确定的,所述目标MPC节点是所述多个MPC节点中的一个;
    所述目标MPC节点根据所述RELOAD协议向所述P2P网络发送第一存储请求,以创建所述目标MPC计算群,其中,所述第一存储请求中携带有所述标识信息和所述协同计算函数,以将所述协同计算函数和所述标识信息关联存储至所述P2P网络中,所述标识信息作为RELOAD协议的资源ID;
    所述目标MPC节点根据所述RELOAD协议向所述P2P网络发送第二存储请求,以 加入所述目标MPC计算群,其中,所述第二存储请求中携带有所述目标MPC节点的节点信息和所述资源ID,以将所述目标MPC节点的节点信息和所述资源ID关联存储至所述P2P网络中。
  4. 根据权利要求1所述的方法,其特征在于,所述目标MPC节点根据所述RELOAD协议和目标MPC计算群的标识信息加入所述P2P网络中的所述目标MPC计算群,包括:
    所述目标MPC节点获取目标MPC计算群的标识信息和协同计算函数;
    所述目标MPC节点根据所述RELOAD协议向所述P2P网络发送第一存储请求,以创建所述目标MPC计算群,其中,所述第一存储请求中携带有所述标识信息和所述协同计算函数,以将所述协同计算函数和所述标识信息关联存储至所述P2P网络中,所述标识信息作为RELOAD协议的资源ID;
    所述目标MPC节点根据所述RELOAD协议向所述P2P网络发送第二存储请求,以加入所述目标MPC计算群,其中,所述第二存储请求中携带有所述资源ID和所述目标MPC节点的节点信息,以将所述目标MPC节点的节点信息和所述资源ID关联存储至所述P2P网络中;
    所述目标MPC节点公布所述资源ID,以使得除所述目标MPC节点之外的各MPC节点根据所述资源ID和所述RELOAD协议加入所述目标MPC计算群。
  5. 根据权利要求1所述的方法,其特征在于,所述各MPC节点的节点信息包括各MPC节点的IP地址;
    相应的,所述目标MPC节点根据所述目标MPC计算群中各MPC节点的节点信息,与所述目标MPC计算群中除所述目标MPC节点之外的各MPC节点建立通信连接,包括:
    所述目标MPC节点根据所述目标MPC计算群中各MPC节点的IP地址,与所述目标MPC计算群中除所述目标MPC节点之外的各MPC节点建立点对点直接连接,以直接传输安全多方计算过程中的计算数据。
  6. 根据权利要求1所述的方法,其特征在于,所述各MPC节点的节点信息包括各MPC节点的节点ID;
    相应的,所述目标MPC节点根据所述目标MPC计算群中各MPC节点的节点信息,与所述目标MPC计算群中除所述目标MPC节点之外的各MPC节点建立通信连接,包括:
    所述目标MPC节点根据所述目标MPC计算群中各MPC节点的节点ID,通过RELOAD协议与所述目标MPC计算群中除所述目标MPC节点之外的各MPC节点建立通信连接,以通过消息路由传输安全多方计算过程中的计算数据。
  7. 根据权利要求5或6所述的方法,其特征在于,所述各MPC节点的节点信息包括各MPC节点的公钥;
    所述目标MPC节点传输安全多方计算过程中的计算数据,包括:
    所述目标MPC节点根据自身的私钥对要发送的安全多方计算过程中的计算数据进行签名;
    所述目标MPC节点将签名后的安全多方计算过程中的计算数据发送至接收方MPC节点,其中,所述接收方MPC节点是所述目标MPC计算群中除所述目标MPC节点之外的各MPC节点中的一个;
    所述接收方MPC节点根据所述目标MPC节点的公钥对接收到的安全多方计算过程中的计算数据进行签名验证;
    在验证签名有效的情况下,所述接收方MPC节点确定接收到的安全多方计算过程中的计算数据有效。
  8. 一种安全多方计算的实现装置,位于目标MPC节点中,其特征在于,包括:
    第一加入模块,用于通过RELOAD协议作为P2P节点加入P2P网络;
    第二加入模块,用于根据所述RELOAD协议和目标MPC计算群的标识信息加入所述P2P网络中的所述目标MPC计算群,其中,所述目标MPC计算群中的各MPC节点均是通过RELOAD协议作为P2P节点加入所述P2P网络的;
    获取模块,用于根据所述RELOAD协议向所述P2P网络发送携带有所述标识信息的获取请求,以获取所述目标MPC计算群中各MPC节点的节点信息;
    连接模块,用于所述目标MPC节点根据所述目标MPC计算群中各MPC节点的节点信息,与所述目标MPC计算群中除所述目标MPC节点之外的各MPC节点建立通信连接,以执行安全多方计算。
  9. 一种计算机设备,其特征在于,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现权利要求1至7中任一项所述方法的步骤。
  10. 一种计算机可读存储介质,其上存储有计算机指令,其特征在于,所述指令被执行时实现权利要求1至7中任一项所述方法的步骤。
PCT/CN2019/088488 2019-05-27 2019-05-27 安全多方计算的实现方法、装置、计算机设备和存储介质 WO2020237453A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/CN2019/088488 WO2020237453A1 (zh) 2019-05-27 2019-05-27 安全多方计算的实现方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2019/088488 WO2020237453A1 (zh) 2019-05-27 2019-05-27 安全多方计算的实现方法、装置、计算机设备和存储介质

Publications (1)

Publication Number Publication Date
WO2020237453A1 true WO2020237453A1 (zh) 2020-12-03

Family

ID=73553572

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/088488 WO2020237453A1 (zh) 2019-05-27 2019-05-27 安全多方计算的实现方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
WO (1) WO2020237453A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113347268A (zh) * 2021-06-23 2021-09-03 广州炒米信息科技有限公司 基于分布式网络组网方法、装置、存储介质及计算机设备
CN115529299A (zh) * 2021-06-24 2022-12-27 支付宝(杭州)信息技术有限公司 隐私计算数据资源发布、发现的方法、装置和系统
CN116225723A (zh) * 2023-05-09 2023-06-06 粤港澳大湾区数字经济研究院(福田) 数据处理方法、装置及计算机可读存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101815294A (zh) * 2009-02-20 2010-08-25 华为技术有限公司 P2p网络的接入认证方法、设备和系统
CN102394784A (zh) * 2011-11-21 2012-03-28 北京邮电大学 基于隐私保持的分布式Top-k查询方法
US10083310B1 (en) * 2013-03-13 2018-09-25 Hrl Laboratories, Llc System and method for mobile proactive secure multi-party computation (MPMPC) using commitments
CN109359957A (zh) * 2018-09-17 2019-02-19 中国银联股份有限公司 一种安全多方计算的方法及相关装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101815294A (zh) * 2009-02-20 2010-08-25 华为技术有限公司 P2p网络的接入认证方法、设备和系统
CN102394784A (zh) * 2011-11-21 2012-03-28 北京邮电大学 基于隐私保持的分布式Top-k查询方法
US10083310B1 (en) * 2013-03-13 2018-09-25 Hrl Laboratories, Llc System and method for mobile proactive secure multi-party computation (MPMPC) using commitments
CN109359957A (zh) * 2018-09-17 2019-02-19 中国银联股份有限公司 一种安全多方计算的方法及相关装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113347268A (zh) * 2021-06-23 2021-09-03 广州炒米信息科技有限公司 基于分布式网络组网方法、装置、存储介质及计算机设备
CN113347268B (zh) * 2021-06-23 2022-11-08 广州炒米信息科技有限公司 基于分布式网络组网方法、装置、存储介质及计算机设备
CN115529299A (zh) * 2021-06-24 2022-12-27 支付宝(杭州)信息技术有限公司 隐私计算数据资源发布、发现的方法、装置和系统
CN116225723A (zh) * 2023-05-09 2023-06-06 粤港澳大湾区数字经济研究院(福田) 数据处理方法、装置及计算机可读存储介质
CN116225723B (zh) * 2023-05-09 2023-11-21 粤港澳大湾区数字经济研究院(福田) 数据处理方法、装置及计算机可读存储介质

Similar Documents

Publication Publication Date Title
US9148333B2 (en) System and method for providing anonymity in a session initiated protocol network
CN101356773B (zh) 基于上下文信息的自组织(ad hoc)组创建
WO2020237453A1 (zh) 安全多方计算的实现方法、装置、计算机设备和存储介质
US11470023B2 (en) Session initiation method and device
EP1471708A2 (en) System and method for establishing secondary channels
Lennox et al. A protocol for reliable decentralized conferencing
WO2020083112A1 (zh) 数值转移方法、装置及系统
KR20130076798A (ko) Http를 통한 신뢰할만한 프로토콜 터널링을 위한 방법 및 시스템
US9525848B2 (en) Domain trusted video network
CN109981576B (zh) 密钥迁移方法和装置
GB2460897A (en) Authorising and adding a user to a conference event by determining if a set up request received from the user is associated with the conference event
KR20120071576A (ko) 분산 해쉬 테이블 기반의 rtps 디스커버리 방법, 장치 및 시스템
WO2020168546A1 (zh) 密钥迁移方法和装置
US10855846B1 (en) Encrypting multiple party calls
US11108814B2 (en) Distributed denial of service mitigation for web conferencing
CN112333030A (zh) 用于私有网络间通信的方法、装置、电子设备及存储介质
US8793383B2 (en) Transparent transfer of a two-way communication
CN108809807B (zh) 在异类系统中创建通信会话
US10785025B1 (en) Synchronization of key management services with cloud services
CN110247960B (zh) 安全多方计算的实现方法、装置、计算机设备和存储介质
CN116743376A (zh) 基于高效密文混淆技术的多方秘密分享数据隐私比较方法
CN111709053A (zh) 基于松散耦合交易网络的作业方法及作业装置
CN111131641A (zh) 会议级联方法、装置、服务器及可读存储介质
US10686844B2 (en) Trusted group identification code
CN109120578B (zh) 一种实现链路连接处理的方法及装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19930812

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19930812

Country of ref document: EP

Kind code of ref document: A1