WO2020034751A1 - 多方安全计算方法及装置、电子设备 - Google Patents

多方安全计算方法及装置、电子设备 Download PDF

Info

Publication number
WO2020034751A1
WO2020034751A1 PCT/CN2019/092217 CN2019092217W WO2020034751A1 WO 2020034751 A1 WO2020034751 A1 WO 2020034751A1 CN 2019092217 W CN2019092217 W CN 2019092217W WO 2020034751 A1 WO2020034751 A1 WO 2020034751A1
Authority
WO
WIPO (PCT)
Prior art keywords
computing
party secure
calculation
participating
node
Prior art date
Application number
PCT/CN2019/092217
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 SG11202010773WA priority Critical patent/SG11202010773WA/en
Priority to EP19850323.7A priority patent/EP3779751B1/en
Publication of WO2020034751A1 publication Critical patent/WO2020034751A1/zh
Priority to US17/086,385 priority patent/US11050561B2/en
Priority to US17/330,819 priority patent/US11290267B2/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/46Secure multiparty computation, e.g. millionaire problem
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Definitions

  • One or more embodiments of the present specification relate to the field of distributed computing, and in particular, to a multi-party secure computing method and device, and electronic equipment.
  • Multi-party secure computing is a cryptographic technology. Multiple parties participating in the calculation can execute a multi-party secure computing algorithm based on the input data held by them to jointly perform a secure calculation to obtain a calculation result without revealing their holdings to other parties. Some input data.
  • each party can develop its own multi-party secure computing software, and each uses its own multi-party secure computing software to participate in multi-party secure computing.
  • the parties may generally use multi-party secure computing software provided by one provider; therefore, for the provider, it is necessary to prove that the multi-party secure computing software provided by them is trustworthy and does not reveal privacy data.
  • This specification proposes a multi-party secure computing method that is applied to any computing node deployed in a distributed network; wherein the distributed network deploys multiple computing nodes that are based on their own private data Participating in multi-party secure computing together, the method includes:
  • Optional also includes:
  • calculation parameters include:
  • Random numbers participating in multi-party secure calculations and / or,
  • the ciphertext data involved in multi-party secure computing The ciphertext data involved in multi-party secure computing.
  • the description information related to the calculation parameter includes:
  • a random number generation rule corresponding to a random number participating in multi-party secure calculation and / or,
  • Optional also includes:
  • performing a privacy audit on the computing parameters sent by the computing nodes participating in multi-party secure computing based on the audit log, and confirming whether the computing parameters sent by the computing nodes are at risk of privacy leakage includes:
  • performing a privacy audit on the computing parameters sent by the computing nodes participating in multi-party secure computing based on the audit log, and confirming whether the computing parameters sent by the computing nodes are at risk of privacy leakage includes:
  • This specification also proposes a multi-party secure computing device, which is applied to any computing node deployed in a distributed network; wherein the distributed network deploys multiple computing nodes based on the privacy held by each of them The data participates in multi-party secure computing together, and the device includes:
  • a generation module that generates calculation parameters related to the held private data based on a multi-party secure calculation algorithm
  • a sending module sending the computing parameters to other computing nodes participating in multi-party secure computing, and performing multi-party secure computing by the other computing nodes based on the collected computing parameters sent by each computing node participating in multi-party secure computing;
  • a creating module creates an audit log corresponding to the calculation parameter; wherein the audit log records descriptive information related to the calculation parameter.
  • Optional also includes:
  • the collection module collects calculation parameters sent by other computing nodes participating in multi-party secure computing, and performs multi-party security calculation based on the collected computing parameters sent by other computing nodes;
  • the creation module further:
  • calculation parameters include:
  • Random numbers participating in multi-party secure calculations and / or,
  • the ciphertext data involved in multi-party secure computing The ciphertext data involved in multi-party secure computing.
  • the description information related to the calculation parameter includes:
  • a random number generation rule corresponding to a random number participating in multi-party secure calculation and / or,
  • Optional also includes:
  • An audit module performs a privacy audit on the computing parameters sent by the computing nodes participating in multi-party secure computing based on the audit log, and confirms whether the computing parameters sent by the computing nodes have a risk of privacy leakage; or sends the audit log to a third party
  • the auditing node performs a privacy audit on the computing parameters sent by the computing nodes participating in multi-party secure computing by the auditing node to confirm whether the computing parameters sent by the computing nodes are at risk of privacy leakage.
  • the audit module further:
  • the audit module further:
  • This specification also proposes an electronic device that is applied to a distributed network; wherein the distributed network is deployed with multiple computing nodes, and the multiple computing nodes jointly participate in multi-party secure computing based on their respective private data, including:
  • Memory for storing machine-executable instructions
  • the processor is caused to:
  • the computing nodes participating in multi-party secure computing after generating the computing parameters based on the multi-party secure computing algorithms on board, it is also possible to create and store audit logs corresponding to the computing parameters, and record the audit logs in the audit log.
  • the description information related to the calculation parameters enables the management users of each computing node to understand the detailed information of the calculation parameters generated by the multi-party secure computing algorithm by viewing the audit log. Therefore, for the users of the multi-party secure computing algorithm, they can Obtaining audit information that is more convenient for auditing the algorithm; and for the provider of the multi-party secure computing algorithm, the above multi-party secure computing algorithm can be made transparent and auditable without disclosing the source code of the multi-party secure computing algorithm.
  • FIG. 1 is a flowchart of a multi-party secure computing method according to an exemplary embodiment.
  • FIG. 2 is a schematic structural diagram of an electronic device according to an exemplary embodiment.
  • FIG. 3 is a block diagram of a multi-party secure computing device according to an exemplary embodiment.
  • multi-party secure computing algorithms are usually black box algorithms, and the data transmission behavior between computing nodes equipped with multi-party secure computing algorithms is very opaque;
  • this specification aims to propose a technical solution in which the provider of a multi-party secure computing algorithm can provide algorithm users with audit information that is more convenient for auditing the algorithm without disclosing the source code of the algorithm.
  • the computing nodes in the distributed network can generate computing parameters related to the held private data based on the multi-party secure computing algorithms carried; for example, in practical applications, the generated computing parameters can include participating in multi-party secure computing. Random number; and / or, ciphertext data participating in multi-party secure calculations.
  • the above-mentioned computing nodes may send the generated computing parameters to other computing nodes participating in multi-party secure computing in the distributed network, and other computing nodes may collect the participating multi-party secure computing based on the collected data.
  • the computing node may also create an audit log corresponding to the computing parameter, record the description information related to the computing parameter in the audit log, and store the created audit log;
  • the generated calculation parameters include random numbers participating in multi-party secure calculations; and / or, ciphertext data participating in multi-party secure calculations are taken as an example.
  • the description information related to the above calculation parameters may include random numbers related to participating multi-party secure calculations A random number generation rule corresponding to the number; and / or, key information corresponding to the ciphertext data participating in multi-party secure calculation.
  • the computing nodes participating in multi-party secure computing after generating the computing parameters based on the multi-party secure computing algorithms on board, it is also possible to create and store audit logs corresponding to the computing parameters, and record the audit logs in the audit log.
  • the description information related to the calculation parameters enables the management users of each computing node to understand the detailed information of the calculation parameters generated by the multi-party secure computing algorithm by viewing the audit log. Therefore, for the users of the multi-party secure computing algorithm, they can Obtaining audit information that is more convenient for auditing the algorithm; and for the provider of the multi-party secure computing algorithm, the above multi-party secure computing algorithm can be made transparent and auditable without disclosing the source code of the multi-party secure computing algorithm.
  • FIG. 1 is a multi-party secure computing method provided by an embodiment of the present specification, and is applied to any computing node deployed in a distributed network.
  • the distributed network has multiple computing nodes deployed.
  • Each computing node participates in a multi-party security plan based on the privacy data held by them; the multi-party secure computing method performs the following steps:
  • Step 102 Generate calculation parameters related to the held private data based on the multi-party secure calculation algorithm.
  • Step 104 Send the computing parameters to other computing nodes participating in multi-party secure computing, and perform multi-party secure computing by the other computing nodes based on the collected computing parameters sent by each computing node participating in multi-party secure computing;
  • Step 106 Create an audit log corresponding to the calculation parameter.
  • the audit log records descriptive information related to the calculation parameter.
  • the above-mentioned distributed network may include any form of data network capable of supporting multi-party secure computing and adopting a distributed architecture
  • the above-mentioned distributed network may be a multi-party secure computing platform constructed by a device cluster (such as a server cluster) composed of several computing devices;
  • the above-mentioned distributed network may also be a blockchain network composed of several node devices; in this blockchain network, it is possible to deploy private data that requires multiple node devices based on holding Participate in multi-party secure computing together, and need to ensure that the private data held is not disclosed to the online business of other node devices.
  • the specific types of the above online services are not particularly limited in this specification.
  • the computing node may specifically include a node device capable of carrying the multi-party secure computing algorithm in the distributed network.
  • the above-mentioned multi-party secure computing algorithm may specifically include independently developed by each computing node, or a multi-party secure computing algorithm provided by the provider in a unified manner; for example, in practical applications, the above-mentioned multi-party secure computing algorithm may specifically be developed independently by each computing node. , Or multi-party secure computing software provided uniformly by the provider.
  • the above calculation parameters specifically refer to the calculation parameters related to the privacy data held by each calculation node generated by each calculation node participating in the multi-party secure calculation based on the multi-party secure computing algorithm carried; each calculation node requires interaction between the calculation nodes. Messages transmit the calculation parameters generated by each other, and perform multi-party secure calculations based on the calculation parameters generated by each collected computing node.
  • the above-mentioned calculation parameters may generally include: random numbers that need to participate in multi-party secure calculations; and / or, ciphertext data that needs to participate in multi-party secure calculations.
  • the above-mentioned multi-party secure computing algorithms usually include multi-party secure computing algorithms such as secret sharing, homomorphic encryption, and obfuscation circuits.
  • the specific content contained in the above calculation parameters usually depends on the specific algorithm type of the multi-party secure computing algorithm carried by each computing node. When each node device is equipped with the different algorithms listed above, the content included in the above calculation parameters will also have certain differences.
  • the above calculation parameters usually include N random numbers that each computing node splits the private data it holds; where the N random numbers include N-1 independently generated random numbers, and An operation result obtained by calculating the above N-1 random numbers together with the held private data (that is, the Nth random number).
  • the above calculation parameters usually include ciphertext data obtained by encrypting the privacy data based on the held key.
  • the above calculation parameters usually include a random number used to replace the input value of the obfuscation circuit (that is, the input data participating in the calculation) and the output value (also known as the obfuscated value of the input value and the output value).
  • the output value also known as the obfuscated value of the input value and the output value.
  • ciphertext data obtained by encrypting the obfuscated value of the output data with the obfuscated value of the input value as a key.
  • multiple computing nodes can be deployed in a distributed network, and each computing node can be a participant in multi-party secure computing.
  • each computing node can be a participant in multi-party secure computing.
  • the private data held by them cannot be leaked.
  • the premise come to participate in multi-party secure computing.
  • each computing node may jointly carry multi-party secure computing software provided by a multi-party secure computing algorithm provider, use the multi-party secure computing software to perform message interactions, and transmit random numbers participating in multi-party secure computing between each computing node, and / Or ciphertext data to participate in multi-party secure computing.
  • Each of the computing nodes deployed in the above-mentioned distributed network needs to be equipped with the same multi-party secure computing algorithm, and can also deploy independent data sources, result storage systems, and log storage systems.
  • the data source is used to store and maintain the private data held by each data node.
  • the above result storage system is used to store and maintain the calculation results finally obtained by each data node participating in multi-party secure calculation.
  • each node device may not need to deploy an independent data source and result storage system.
  • each computing node can directly obtain the data input by the user through the operation interface as a data source, and output the final calculation result of multi-party security calculation to the user through the operation interface.
  • the above-mentioned log storage system is used to store and maintain audit logs related to calculation parameters created by each data node.
  • each computing node does not need to deploy an independent log storage system locally; that is, in the In practical applications, the generating node and the storage node of the audit log may be the same or different, and are not specifically limited in this specification.
  • any target computing node participating in multi-party secure computing when completing multi-party secure computing together with other computing nodes, it can first read the private data that needs to participate in multi-party secure computing from the deployed data source;
  • the read privacy data may be calculated based on the installed multi-party secure computing algorithm to generate a random number and / or ciphertext data related to the held privacy data.
  • the target computing node may construct an interactive message based on the existing message interaction mechanism of the multi-party secure computing algorithm, and send the generated random number and / or ciphertext data as calculation parameters to other participating participating multi-party secure computing. calculate node.
  • computing nodes can collect the computing parameters sent by the computing nodes participating in multi-party secure computing through interactive messages, and perform multi-party secure computing based on the collected computing parameters, and then store the calculation results in the above-mentioned result storage system deployed locally. For storage.
  • the above-mentioned target computing node may also collect the computing parameters sent by each computing node participating in multi-party secure computing through interactive messages, and perform multi-party secure computing based on the collected computing parameters, and then deploy the calculation results locally.
  • the results are stored in a storage system.
  • each computing node participating in multi-party secure computing based on the collected computing parameters to perform multi-party secure computing usually depends on the specific algorithm type of the multi-party secure computing algorithm carried by each computing node. There are usually some differences in the calculation processes involved in the types of multi-party secure computing algorithms.
  • each computing node is used as examples for secret sharing algorithms, homomorphic encryption algorithms, and obfuscation circuit algorithms as examples to briefly describe the algorithm logic of the various algorithms listed above.
  • Secret sharing algorithm is also called secret segmentation algorithm and secret sharing algorithm. Its basic principle is to split a secret (such as a key) into multiple shares (shares) and give them to different people for safekeeping. Only when the number of collected shares exceeds the threshold number can the secret be recovered; and if the number of collected shares is less than the threshold number, then no information can be recovered based on the share.
  • the above threshold number is usually the same as the number of computing nodes deployed in the distributed network that need to participate in multi-party computing.
  • each computing node When the secret sharing algorithm is used for multi-party secure computing, each computing node will split the input data into shares and exchange the shares with each other; then, each computing node will separately operate on multiple shares collected locally to obtain multi-party The secure share corresponding to the final calculation result (that is, a fragment of the final calculation result); finally, all the computing nodes' combined shares corresponding to the final calculation result are combined to obtain the final calculation result and complete multi-party secure calculation.
  • each computing node deployed in the above-mentioned distributed network is equipped with a multi-party secure computing algorithm that is a secret sharing algorithm
  • the target computing node reads the private data S that needs to participate in multi-party secure computing from the deployed data source, first
  • the above private data can be divided into d shares (random numbers) according to a secret sharing algorithm.
  • d-1 independent random numbers can be generated in the preset random number value space P by random extraction as the first d-1 shares, denoted as S 1 , S 2 , S 3 , ... S d-1 .
  • the privacy data S is a 64-bit integer data
  • P 2 64
  • the resulting d-1 independent random numbers are all randomly selected from the value space of [0, 2 64 -1] An extracted value.
  • the above d-1 random numbers may be operated together with the privacy data S, and the operation result obtained by the operation may be used as the d-th share and denoted as S d .
  • the operation rule for performing the above d-1 random numbers together with the privacy data S generally depends on the specific secret sharing algorithm
  • % is a modulo operator.
  • the target computing node can retain a share locally, and then build an interactive message based on the existing message interaction mechanism of the secret sharing algorithm, and divide the remaining shares separately. Send to other computing nodes participating in multi-party secure computing.
  • the target computing node may retain the Nth share locally or any one of the first d-1 shares; that is, when the target computing node retains the Nth share locally, only the The randomness of the first d-1 shares is used as the calculation parameter; if any one of the first d-1 shares is retained locally, it will eventually be the remaining randomness of the first d-1 shares and the above-mentioned N-1 randomness.
  • the budget result of the number and privacy data S is used as a calculation parameter.
  • other computing nodes can collect the shares sent by each computing node, calculate the collected shares according to the computing logic agreed upon by each computing node, obtain a share corresponding to the final calculation result, and send the calculation result to Other computing nodes broadcast;
  • the target computing node can collect the calculation results broadcasted by other computing nodes, and then calculate the collected calculation results again according to the agreed operation logic to obtain the privacy held by each computing node.
  • the final calculation result of the multi-party secure calculation of the data, and then the above-mentioned final calculation result is stored in a locally deployed result storage system;
  • the above-mentioned target computing node may also collect the shares sent by other computing nodes, and calculate the collected shares according to the agreed operation logic to obtain a share corresponding to the final calculation result, and send the calculation result to Each other computing node broadcasts; and the other computing results can collect the computing results broadcasted by each computing node, and then recalculate the collected computing results in accordance with the agreed operating logic to obtain multi-party security for the private data S held The final result of the calculation;
  • the computing logic agreed upon by each computing node usually depends on the actual multi-party secure computing requirements, and is not specifically limited in this specification.
  • Homomorphic encryption is a type of encryption algorithm that can perform data operations in the ciphertext state. Without decryption and without using the decryption key, the ciphertext is calculated, and the ciphertext of the calculation result obtained by the calculation based on the plaintext can also be obtained.
  • the homomorphic ciphertext E (a) of a and the homomorphic ciphertext E (b) of b can be calculated to obtain the ciphertext E (a + b) of a + b. Leaking a, b, or a + b without decrypting the ciphertext using the decrypted key.
  • each of the computing nodes deployed in the distributed network is equipped with a multi-party secure computing algorithm that is a homomorphic encryption algorithm
  • a pair of homomorphic encryption keys PK and decryption keys SK can be generated according to the homomorphic encryption algorithm, and the above privacy data is encrypted based on the generated encryption key PK to generate ciphertext data, and then based on the homomorphic encryption algorithm
  • An existing message interaction mechanism is used to construct an interactive message, and the generated ciphertext data is sent to other computing nodes participating in multi-party secure computing respectively.
  • other computing nodes can also use the same method to generate a pair of homomorphically encrypted encryption keys PK and decryption keys SK in accordance with the homomorphic encryption algorithm.
  • the data source is deployed locally. Encrypt the private data read in to obtain ciphertext data, and collect the ciphertext data obtained by encrypting the private data held by each computing node, and then collect the ciphertext sent by other computing nodes The data is calculated together with the locally generated ciphertext data in accordance with the agreed operating logic to obtain the ciphertext data corresponding to the final calculation result of the multi-party secure calculation of the privacy data held by each computing node (the other computing nodes mentioned above cannot Decrypt the ciphertext data locally).
  • each other computing node may broadcast the ciphertext data corresponding to the final calculation result to each node device.
  • the target computing node can decrypt the ciphertext data corresponding to the final calculation result based on the decryption key SK to obtain the plaintext data of the final calculation result. , And then store the plaintext data of the final calculation result in a locally deployed result storage system.
  • the above-mentioned target computing node may also collect the ciphertext data obtained by encrypting the privacy data held by other computing nodes, and then collect the ciphertext data sent by other computing nodes.
  • the calculation is performed with the locally generated ciphertext data according to the agreed operation logic, and the ciphertext data corresponding to the final calculation result of the multi-party secure calculation of the private data held by each computing node is obtained (the above target computing node cannot be located locally Decrypt the ciphertext data).
  • the target computing node may broadcast the ciphertext data corresponding to the final calculation result to other computing nodes.
  • each other computing node After each other computing node receives the ciphertext data corresponding to the final calculation result, it can decrypt the ciphertext data corresponding to the final calculation result based on the decryption key SK to obtain the plaintext data of the final calculation result. , And then store the plaintext data of the final calculation result in a locally deployed result storage system.
  • any operation logic can be decomposed into basic operations such as addition homomorphic encryption and multiplicative homomorphic encryption.
  • the obfuscation circuit algorithm works by using a computer to simulate ASIC integrated circuits to achieve multi-party secure computing.
  • Any multi-party secure computing task can be implemented with ASIC integrated circuits designed for it. That is, according to the operation logic corresponding to multi-party secure computing tasks, multiple operation gates (basic operation gates such as AND gate, XOR gate, etc.) are connected to simulate the gate circuit corresponding to the above operation logic, and then the gate circuit is used to perform the operation. .
  • basic operation gates such as AND gate, XOR gate, etc.
  • the operation logic corresponding to the multi-party secure computing task is usually expressed as a gate circuit, and each operation line of the gate circuit is encrypted.
  • the encrypted gate circuit is called an obfuscation circuit.
  • a computer is used to perform the calculation of the obfuscated circuit to achieve multi-party secure computing.
  • the computing nodes participating in the multi-party secure calculation are usually divided into two roles: the obfuscator generator and the obfuscator executive.
  • K-1 computing nodes are usually used as circuit generators to generate obfuscated circuits, and the remaining one is used as the obfuscator's executer. To perform the operation of the obfuscation circuit to obtain the final calculation result.
  • the operation logic corresponding to the multi-party secure computing task may first be expressed as a gate circuit
  • the operation logic needs to be shared by multiple computing nodes based on the private data held by them, for each computing node, it may only be able to correspond to one or a few of the above-mentioned gate circuits.
  • Some privacy data may only be used as input data for one or several of the above-mentioned gates.
  • the target computing node reads the private data S that needs to participate in multi-party secure computing from the deployed data source
  • the read private data S can be used as the target computing node's corresponding in the gate circuit.
  • the input value of the operation gate is calculated in the operation gate to obtain the output value of the operation gate.
  • truth table to represent and execute A truth table is used to record the output value obtained by the output line when the input line of the operation gate takes any input value. Each row in the truth table corresponds to an input value combination of the input lines. In order to hide the true value of each operation line in the operation gate in the operation of the gate circuit:
  • the above-mentioned target computing node can generate random numbers based on the random function carried by the obfuscation circuit algorithm, and replace the input values and output values in the truth table of the above arithmetic gates respectively; among them, the replaced random numbers are called Obfuscated values.
  • the target computing node may also use the obfuscated value corresponding to the input value of the arithmetic gate as a key, encrypt the obfuscated value of the output value in the truth table of the arithmetic gate to obtain ciphertext data, and based on The ciphertext data replaces the obfuscated value of the output value in the original truth table to obtain a confounded truth table; or, based on the ciphertext data, a confounded truth table (that is, a confounded truth table) can be created separately. Only the ciphertext data is included).
  • the target computing node may also disrupt the order of each row in the confusion truth table.
  • the obfuscation circuit is generated at this time, and the target computing node may be based on the existing message interaction mechanism of the obfuscation circuit.
  • the obfuscated value corresponding to the input value of the operation gate corresponding to the target computing node in the gate circuit and using the obfuscated value corresponding to the input value of the operation gate as a key to the truth value of the operation gate
  • the ciphertext data obtained by encrypting the obfuscated values of the output values in the table is used as a calculation parameter and is sent to the computing node that is the execution side of the obfuscation circuit.
  • the obfuscated circuit algorithm is usually combined with an inadvertent transmission technology.
  • the above-mentioned target computing node is sending computation parameters to the computing node that acts as the obfuscation circuit's executing party.
  • the obfuscated truth table can usually be sent in plain text directly to the computing node that is the executor of the obfuscated circuit; on the other hand, the target computing node can be placed
  • the obfuscated value corresponding to the input value of the corresponding operation gate in the circuit is sent to the computing node that is the obfuscating circuit executer through the fuzzy transmission method.
  • the specific implementation process will not be described in detail in this specification, and those skilled in the art may refer to the description in related technologies when implementing the technical solutions of this specification.
  • the computing node which is the execution side of the obfuscation circuit, can receive the calculation parameters sent by each computing node, and can calculate the confusion value corresponding to the input value of the corresponding operation gate of each computing node in the gate circuit.
  • the ciphertext data recorded in the obfuscated truth table of the corresponding operation gate in the above gate circuit is decrypted to obtain the obfuscated value of the output value of the operation gate corresponding to each calculation node in the above gate circuit.
  • the operations can be performed step by step to obtain the obfuscation corresponding to the final output value of the gate circuit. Value, and then use the obfuscated value as the final calculation result to send to other computing nodes.
  • the above target calculation calculates that after receiving the obfuscated value corresponding to the final output value of the gate circuit, it can query the truth table and obtain the output value corresponding to the obfuscated value based on the correspondence between the obfuscated value and the real output value.
  • the output value is used as the original value of the final calculation result of the multi-party security calculation, and stored in a locally deployed result storage system.
  • the calculation results stored in the above-mentioned result storage system can also be visually output to the management users of the computing nodes.
  • the above target node device is based on an existing message interaction mechanism based on a multi-party secure computing algorithm
  • the generated computing parameters are sent to each computing node participating in multi-party secure computing.
  • the audit log may be specifically used to record descriptive information related to calculation parameters sent to each computing node participating in multi-party secure computing;
  • the computing parameters that the computing node needs to send to other computing nodes participating in multi-party secure computing are usually carried in the message field in the interactive message constructed by the computing node, so they can be included in the audit log. It records the specific meaning of each field in the interactive message constructed by the computing node, and the descriptive information related to each field for auditing purposes.
  • the target node device when the target node device receives the calculation parameters sent by other computing nodes through the constructed interactive message, it can also locally create an audit log related to the calculation parameters sent by other computing nodes, and Audit logs are stored in a locally deployed log storage system.
  • the interactive messages constructed by each computing node usually follow the same message format; therefore, the target computing node is receiving
  • the interactive messages can be parsed according to the standard message format to generate a corresponding audit log, and the specific meaning of each field in the interactive message is recorded in the audit log.
  • the description information related to the calculation parameters recorded in the audit log may correspond to the content included in the calculation parameters.
  • the computing parameters sent by each computing node to other computing nodes through interactive messages usually include random numbers participating in multi-party secure calculations; and / or, cipher text data participating in multi-party secure calculations; correspondingly, the final and
  • the description information related to the calculation parameters may include description information corresponding to a random number participating in multi-party secure calculation; and / or, description information corresponding to cipher text data participating in multi-party secure calculation.
  • the specific content of the above description information is not particularly limited in this specification; in practical applications, it can be based on the specific audit requirements of the management user of the computing node for the multi-party secure computing algorithm carried by the computing node.
  • the description information related to the calculation parameters recorded in the finally generated audit log may include a random number generation rule corresponding to a random number participating in multi-party secure calculation; and / or, related to participation Keys corresponding to multi-party securely calculated ciphertext data;
  • the above-mentioned random number generation rule may specifically include any form of description information related to the above-mentioned random number generation method
  • the above-mentioned random numbers are randomly generated locally on the computing node, the local node generates random numbers and other data obtained by the computing node through an operation, random numbers received from other computing nodes or trusted random sources, or from other computing nodes or The random number and other data received by a trusted source of randomness are obtained by an operation, the random number generated locally by the computing node and the received random number are obtained by an operation, and so on.
  • An enumeration is randomly generated locally on the computing node, the local node generates random numbers and other data obtained by the computing node through an operation, random numbers received from other computing nodes or trusted random sources, or from other computing nodes or The random number and other data received by a trusted source of randomness are obtained by an operation, the random number generated locally by the computing node and the received random number are obtained by an operation, and so on.
  • the key corresponding to the ciphertext data participating in multi-party secure calculation may specifically include an encryption key used to encrypt the ciphertext data;
  • a decryption key for decrypting the ciphertext data may be carried; even in the audit log, the plaintext data of the ciphertext data may also be carried.
  • the audit logs created by the computing nodes related to the computing parameters sent locally to other computing nodes and the audit logs created by the computing nodes related to the received computing parameters sent by other computing nodes There may be some differences in the recorded description information related to the calculation parameters.
  • multi-party secure computing nodes and the input data used by each computing node usually need to be kept strictly confidential to other computing nodes participating in multi-party secure computing; therefore, in the audit log created by a computing node and related to the computing parameters sent by its computing nodes, if When a key corresponding to the ciphertext data needs to be recorded, only the encryption key related to the ciphertext data may be recorded.
  • the audit log created by the computing node and related to the computing parameters sent to other computing nodes locally, in addition to the encryption key of the ciphertext data, it can also record the decryption key of the ciphertext data, and the Plaintext data for ciphertext data.
  • the management user of the computing node can decrypt the ciphertext data generated by the computing node locally as the computing parameter based on the decryption key recorded in the audit log to further verify the decrypted computing parameter.
  • the plaintext data of the computing node is consistent with the plaintext data of the calculation parameters recorded in the audit log to audit the multi-party secure computing algorithm carried by the computing node. Whether the privacy data is maliciously added to the calculation parameters transmitted without the user's knowledge To improve the auditability of the algorithm.
  • the multi-party security algorithm provided by the provider of the multi-party secure computing algorithm may be commonly used, although the multi-party security algorithm itself is an algorithm used to protect private data , But incorrect or even malicious algorithm implementation, there may still be a risk of privacy data leakage.
  • a malicious multi-party secure computing algorithm may not use a randomly generated random number as a key according to the algorithm design to encrypt the private data that needs to be transmitted to other computing nodes, but will be used instead. Without the user's knowledge, they choose to use the keys known to other participants to encrypt the private data that needs to be transmitted to other computing nodes, so that the receiver can decrypt the data with the known keys to obtain the data held by other computing nodes. Privacy data;
  • a malicious multi-party secure computing algorithm may use a user's knowledge to construct a pseudo-random number based on the private data held by the computing node, and then use the pseudo-random number to calculate other Nodes send private data.
  • a privacy audit can be performed on the multi-party security algorithms carried by each computing node.
  • Multi-party security algorithm or a multi-party security algorithm carried by a specified computing node in each computing node for privacy auditing) to determine whether the computing parameters sent by each computing node are at risk of privacy leakage.
  • the privacy audit of the multi-party security algorithms carried by each computing node can also be completed by a third-party audit node; in this case, each computing node deployed in the above-mentioned distributed network can use
  • the audit log in the log storage system is sent to the audit node (for example, the audit log can be sent actively, or the audit node can actively call the audit log), and the third-party audit node checks the audit log based on the received audit log.
  • the multi-party security algorithm carried by each computing node performs a privacy audit to determine whether the computing parameters sent by each computing node are at risk of privacy leakage.
  • each computing node is equipped with a multi-party secure computing algorithm provided by a provider, and the operator of each computing node independently deploys an audit node to perform multi-party secure computing algorithms provided by the provider. Privacy audit.
  • the audit logic for performing a privacy audit on the multi-party security algorithms carried by each computing node depends on the specific content of the description information related to the calculation parameters recorded in the audit log;
  • the above calculation parameter is a random number participating in multi-party secure calculation; and the description information related to the calculation parameter is a random number generation rule corresponding to the random number participating in multi-party secure calculation
  • the description information related to the calculation parameter is a random number generation rule corresponding to the random number participating in multi-party secure calculation
  • the computing node can read the audit log corresponding to the random number sent by each computing node participating in multi-party secure computing as a calculation parameter from the locally deployed log storage system, and based on the read audit log Recorded random number generation rules corresponding to the above random numbers to verify whether the random number is a random number constructed based on the private data held by other computing nodes;
  • the summary values of the privacy data are compared to determine whether the above random number is a pseudo-random number constructed based on the privacy data held by other computing nodes.
  • the above random number is a random number constructed based on the private data held by each other computing node.
  • this random number has the risk of privacy leakage; otherwise, if the verification is confirmed, the above random number is generated
  • the data source of the number is a legitimate data source.
  • the above-mentioned random number is not a random number constructed based on the private data held by other computing nodes, and the random number as a calculation parameter does not pose a risk of privacy leakage.
  • the computing node can check whether the random number used as the calculation parameter is a pseudo-random based on the private data held by other computing nodes by simply auditing the audit log in the locally deployed log storage system. So that the risk of privacy breaches can be identified in a timely manner.
  • the calculation parameter is ciphertext data participating in multi-party security calculation; and the description information related to the calculation parameter is a ciphertext corresponding to ciphertext data participating in multi-party security calculation.
  • the description information related to the calculation parameter is a ciphertext corresponding to ciphertext data participating in multi-party security calculation.
  • the compute node can read the audit log corresponding to the ciphertext data sent by the compute nodes participating in multi-party secure computing as the calculation parameter from the locally deployed log storage system, and based on the read audit log A key corresponding to the ciphertext data recorded in the above to verify whether the key is a known key held by other computing nodes;
  • the key corresponding to the ciphertext data recorded in the audit log may be compared with the known key held by each computing node to determine the key corresponding to the ciphertext data. Whether it is a known key held by other computing nodes.
  • the key corresponding to the ciphertext data is a known key held by other computing nodes, and this random number as a calculation parameter has the risk of privacy leakage; otherwise, if the verification is confirmed, the above The key corresponding to the ciphertext data does not match the known key held by other computing nodes, and the random number as a calculation parameter does not have the risk of privacy leakage.
  • the computing node can confirm whether the key corresponding to the ciphertext data as a computing parameter is already held by other computing nodes by simply auditing the audit log in the locally deployed log storage system. Know the key, so you can discover the risk of privacy leakage in time.
  • the audit log also carries the decryption key for decrypting the ciphertext data, and the plaintext data of the ciphertext data
  • the computing node can also Based on the decryption key corresponding to the ciphertext data recorded in the read audit log, and the plaintext data of the ciphertext data, further security check is performed on the ciphertext data to confirm whether the ciphertext data has been Equipped with multi-party secure computing algorithms, maliciously added private data;
  • the ciphertext data generated by the computing node as the calculation parameter can be decrypted to further verify whether the plaintext data of the decrypted calculation parameter is Is it consistent with the plaintext data of the calculation parameters recorded in the audit log to audit the multi-party secure computing algorithm carried by the computing node, and whether the privacy is maliciously added to the ciphertext data transmitted as the calculation parameters without the user's knowledge?
  • the computing node can simply check the audit log in the locally deployed log storage system to confirm whether the ciphertext data used as the computing parameter is maliciously added with private data by the multi-party security algorithm.
  • the risk of privacy breaches can thus be identified in a timely manner.
  • the computing nodes participating in multi-party secure computing after generating the computing parameters based on the multi-party secure computing algorithms on board, it is also possible to create and store audit logs corresponding to the computing parameters, and record the audit logs in the audit log.
  • the description information related to the calculation parameters enables the management users of each computing node to understand the detailed information of the calculation parameters generated by the multi-party secure computing algorithm by viewing the audit log. Therefore, for the users of the multi-party secure computing algorithm, they can Obtaining audit information that is more convenient for auditing the algorithm; and for the provider of the multi-party secure computing algorithm, the above multi-party secure computing algorithm can be made transparent and auditable without disclosing the source code of the multi-party secure computing algorithm.
  • this specification also provides an embodiment of a multi-party secure computing device.
  • the embodiments of the multi-party secure computing device of this specification can be applied to electronic devices.
  • the device embodiments may be implemented by software, or by hardware or a combination of software and hardware. Taking software implementation as an example, as a device in a logical sense, it is formed by reading the corresponding computer program instructions in the non-volatile memory into the memory through the processor of the electronic device in which it is located.
  • FIG. 2 it is a hardware structure diagram of the electronic device in which the multi-party secure computing device of this specification is located, except for the processor, memory, network interface, and non-volatile memory shown in FIG. 2.
  • the electronic device in which the device is located in the embodiment may generally include other hardware according to the actual function of the electronic device, and details are not described herein again.
  • Fig. 3 is a block diagram of a multi-party secure computing device according to an exemplary embodiment of the present specification.
  • the multi-party secure computing device 30 may be applied to the electronic device shown in FIG. 2 and includes a generating module 301, a sending module 302, and a creating module 303.
  • the generating module 301 generates calculation parameters related to the held private data based on a multi-party secure calculation algorithm
  • the sending module 302 sends the computing parameters to other computing nodes participating in multi-party secure computing, and performs multi-party secure computing with the other computing nodes based on the collected computing parameters sent by each computing node participating in multi-party secure computing;
  • the creating module 303 creates an audit log corresponding to the calculation parameter.
  • the audit log records descriptive information related to the calculation parameter.
  • the apparatus 30 further includes:
  • a collecting module 304 (not shown in FIG. 3), collects computing parameters sent by other computing nodes participating in multi-party secure computing, and performs multi-party secure computing based on the collected computing parameters sent by other computing nodes;
  • the creation module 303 further:
  • the calculation parameters include:
  • Random numbers participating in multi-party secure calculations and / or,
  • the ciphertext data involved in multi-party secure computing The ciphertext data involved in multi-party secure computing.
  • the description information related to the calculation parameter includes:
  • a random number generation rule corresponding to a random number participating in multi-party secure calculation and / or,
  • the apparatus 30 further includes:
  • An audit module 305 (not shown in FIG. 3), performing a privacy audit on the calculation parameters sent by the computing nodes participating in multi-party secure computing based on the audit log, and confirming whether the calculation parameters sent by the computing nodes are at risk of privacy leakage;
  • the audit log is sent to a third-party audit node, and the audit node performs a privacy audit on the computing parameters sent by the computing nodes participating in multi-party secure computing to confirm whether there is a privacy leak in the computing parameters sent by the computing nodes. risk.
  • the auditing module 305 further:
  • the auditing module 305 further:
  • the relevant part may refer to the description of the method embodiment.
  • the device embodiments described above are only schematic, and the modules described as separate components may or may not be physically separated, and the components displayed as modules may or may not be physical modules, which may be located in One place, or can be distributed to multiple network modules. Some or all of the modules can be selected according to actual needs to achieve the purpose of the solution in this specification. Those of ordinary skill in the art can understand and implement without creative efforts.
  • the system, device, module, or module described in the foregoing embodiments may be specifically implemented by a computer chip or entity, or may be implemented by a product having a certain function.
  • a typical implementation device is a computer, and the specific form of the computer may be a personal computer, a laptop computer, a cellular phone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an email sending and receiving device, and a game control Desk, tablet computer, wearable device, or a combination of any of these devices.
  • the electronic device includes a processor and a memory for storing machine-executable instructions; wherein the processor and the memory are usually connected to each other through an internal bus.
  • the device may further include an external interface to enable communication with other devices or components.
  • the processor by reading and executing machine-executable instructions corresponding to control logic of multi-party secure computing stored in the memory, the processor is caused to:
  • the processor by reading and executing machine-executable instructions corresponding to control logic of multi-party secure computing stored in the memory, the processor is caused to:
  • the processor by reading and executing machine-executable instructions corresponding to control logic of multi-party secure computing stored in the memory, the processor is caused to:
  • the audit log is sent to a third-party audit node, and the audit node performs a privacy audit on the computing parameters sent by the computing nodes participating in multi-party secure computing to confirm whether there is a privacy leak in the computing parameters sent by the computing nodes. risk.
  • the processor by reading and executing machine-executable instructions corresponding to control logic of multi-party secure computing stored in the memory, the processor is caused to:
  • the processor by reading and executing machine-executable instructions corresponding to control logic of multi-party secure computing stored in the memory, the processor is caused to:

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Bioethics (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种多方安全计算方法,应用于分布式网络中部署的任一计算节点;其中,所述分布式网络部署了多个计算节点,所述多个计算节点基于各自持有的隐私数据共同参与多方安全计算,所述方法包括:基于多方安全计算算法生成与持有的隐私数据相关的计算参数;将所述计算参数发送至参与多方安全计算的其它计算节点,以由所述其它计算节点基于收集到的由参与多方安全计算的各计算节点发送的计算参数执行多方安全计算;以及,创建对应于所述计算参数的审计日志;其中,所述审计日志记录了与所述计算参数相关的描述信息。

Description

多方安全计算方法及装置、电子设备 技术领域
本说明书一个或多个实施例涉及分布式计算领域,尤其涉及一种多方安全计算方法及装置、电子设备。
背景技术
多方安全计算是一种密码学技术,参与计算的多方可以通过执行一个多方安全计算算法,基于各自持有的输入数据来共同进行安全计算,得到出一个计算结果,而不向其它各方泄露持有的输入数据。
多方安全计算算法,虽然能保护隐私数据,但不正确甚至恶意的算法实现,仍然可能会泄露隐私数据。最理想情况下,各方可以自行开发自己的多方安全计算软件,并各自利用各自开发的多方安全计算软件来参与多方安全计算。然而,在实际应用中,各方通常使用的可能是一个提供商提供的多方安全计算软件;因此,对于提供商而言,则需要证明其提供的多方安全计算软件是可信的,没有泄露隐私数据。
发明内容
本说明书提出一种多方安全计算方法,应用于分布式网络中部署的任一计算节点;其中,所述分布式网络部署了多个计算节点,所述多个计算节点基于各自持有的隐私数据共同参与多方安全计算,所述方法包括:
基于多方安全计算算法生成与持有的隐私数据相关的计算参数;
将所述计算参数发送至参与多方安全计算的其它计算节点,以由所述其它计算节点基于收集到的由参与多方安全计算的各计算节点发送的计算参数执行多方安全计算;以及,
创建对应于所述计算参数的审计日志;其中,所述审计日志记录了与所述计算参数相关的描述信息。
可选的,还包括:
收集参与多方安全计算的其它各计算节点发送的计算参数,基于收集到的由其它各计算节点发送的计算参数执行多方安全计算;以及,
创建对应于由所述其它各计算节点发送的计算参数的审计日志,并存储所述审计日志;其中,所述审计日志记录了与所述计算参数相关的描述信息。
可选的,所述计算参数,包括:
参与多方安全计算的随机数;和/或,
参与多方安全计算的密文数据。
可选的,与所述计算参数相关的描述信息,包括:
与参与多方安全计算的随机数对应的随机数生成规则;和/或,
与参与多方安全计算的密文数据对应的密钥。
可选的,还包括:
基于所述审计日志对参与多方安全计算的计算节点发送的计算参数进行隐私审计,确认所述计算节点发送的计算参数是否存在隐私泄露风险;或者,将所述审计日志发送至第三方的审计节点,以由所述审计节点对参与多方安全计算的计算节点发送的计算参数进行隐私审计,确认所述计算节点发送的计算参数是否存在隐私泄露风险。
可选的,所述基于所述审计日志对参与多方安全计算的计算节点发送的计算参数进行隐私审计,确认所述计算节点发送的计算参数是否存在隐私泄露风险,包括:
基于所述审计日志中记录的,与参与多方安全计算的计算节点发送的随机数对应的随机数生成规则,校验所述随机数是否为基于其它各计算节点持有的隐私数据构建的随机数;
如果是,确认所述计算节点发送的计算参数存在隐私泄露风险;
如果否,确认所述计算节点发送的计算参数不存在隐私泄露风险。
可选的,所述基于所述审计日志对参与多方安全计算的计算节点发送的计算参数进行隐私审计,确认所述计算节点发送的计算参数是否存在隐私泄露风险,包括:
基于所述审计日志中记录的,参与多方安全计算的计算节点发送的密文数据对应的密钥,校验所述所述密钥是否为其它各计算节点持有的已知密钥;
如果是,确认所述计算节点发送的计算参数存在隐私泄露风险;
如果否,确认所述计算节点发送的计算参数不存在隐私泄露风险。
本说明书还提出一种多方安全计算装置,应用于分布式网络中部署的任一计算节点; 其中,所述分布式网络部署了多个计算节点,所述多个计算节点基于各自持有的隐私数据共同参与多方安全计算,所述装置包括:
生成模块,基于多方安全计算算法生成与持有的隐私数据相关的计算参数;
发送模块,将所述计算参数发送至参与多方安全计算的其它计算节点,以由所述其它计算节点基于收集到的由参与多方安全计算的各计算节点发送的计算参数执行多方安全计算;
创建模块,创建对应于所述计算参数的审计日志;其中,所述审计日志记录了与所述计算参数相关的描述信息。
可选的,还包括:
收集模块,收集参与多方安全计算的其它各计算节点发送的计算参数,基于收集到的由其它各计算节点发送的计算参数执行多方安全计算;
所述创建模块进一步:
创建对应于由所述其它各计算节点发送的计算参数的审计日志,并存储所述审计日志;其中,所述审计日志记录了与所述计算参数相关的描述信息。
可选的,所述计算参数,包括:
参与多方安全计算的随机数;和/或,
参与多方安全计算的密文数据。
可选的,与所述计算参数相关的描述信息,包括:
与参与多方安全计算的随机数对应的随机数生成规则;和/或,
与参与多方安全计算的密文数据对应的密钥。
可选的,还包括:
审计模块,基于所述审计日志对参与多方安全计算的计算节点发送的计算参数进行隐私审计,确认所述计算节点发送的计算参数是否存在隐私泄露风险;或者,将所述审计日志发送至第三方的审计节点,以由所述审计节点对参与多方安全计算的计算节点发送的计算参数进行隐私审计,确认所述计算节点发送的计算参数是否存在隐私泄露风险。
可选的,所述审计模块进一步:
基于所述审计日志中记录的,与参与多方安全计算的计算节点发送的随机数对应的 随机数生成规则,校验所述随机数是否为基于其它各计算节点持有的隐私数据构建的随机数;
如果是,确认所述计算节点发送的计算参数存在隐私泄露风险;
如果否,确认所述计算节点发送的计算参数不存在隐私泄露风险。
可选的,所述审计模块进一步:
基于所述审计日志中记录的,参与多方安全计算的计算节点发送的密文数据对应的密钥,校验所述所述密钥是否为其它各计算节点持有的已知密钥;
如果是,确认所述计算节点发送的计算参数存在隐私泄露风险;
如果否,确认所述计算节点发送的计算参数不存在隐私泄露风险。
本说明书还提出一种电子设备,应用于分布式网络;其中,所述分布式网络部署了多个计算节点,所述多个计算节点基于各自持有的隐私数据共同参与多方安全计算,包括:
处理器;
用于存储机器可执行指令的存储器;
其中,通过读取并执行所述存储器存储的与多方安全计算的控制逻辑对应的机器可执行指令,所述处理器被促使:
基于多方安全计算算法生成与持有的隐私数据相关的计算参数;
将所述计算参数发送至参与多方安全计算的其它计算节点,以由所述其它计算节点基于收集到的由参与多方安全计算的各计算节点发送的计算参数执行多方安全计算;以及,
创建对应于所述计算参数的审计日志;其中,所述审计日志记录了与所述计算参数相关的描述信息。
通过以上技术方案,由于参与多方安全计算的各计算节点,在基于搭载的多方安全计算算法生成了计算参数之后,还可以创建并存储与计算参数对应的审计日志,并在审计日志中记录与所述计算参数相关的描述信息,使得各计算节点的管理用户可以通过查看审计日志,就可以了解到多方安全计算算法生成的计算参数的详细信息,因此对于多方安全计算算法的使用方而言,可以获得更加便于对算法进行审计的审计信息;而对于 多方安全计算算法的提供方而言,可以在不公开多方安全计算算法的源代码的前提下,使得上述多方安全计算算法变得透明可审计。
附图说明
图1是一示例性实施例提供的一种多方安全计算方法的流程图。
图2是一示例性实施例提供的一种电子设备的结构示意图。
图3是一示例性实施例提供的一种多方安全计算装置的框图。
具体实施方式
在实际应用中,出于隐私保护的目的,多方安全计算算法通常均为黑盒算法,搭载多方安全计算算法的各个计算节点之间的数据传输行为很不透明;
例如,对于搭载诸如秘密分享、同态加密、混淆电路等多方安全计算算法的计算节点之间,通常传输携带大量的密文和/或随机数的交互消息,即便对于多方安全计算算法的使用者而言,也很难理解以上交互消息中携带的密文和/或随机数的具体含义。
因此,对于多方安全计算算法的提供方而言,为证明其所提供的多方安全计算算法透明可信,则不得不需要将其所提供的多方安全计算算法的源代码向使用者或者中立机构进行公开,以完成针对算法的审计。
基于此,本说明书中则旨在提出一种,多方安全计算算法的提供方可以在不公开算法的源代码的前提下,向算法使用者提供更加便于对算法进行审计的审计信息的技术方案。
在实现时,分布式网络中的计算节点,可以基于搭载的多方安全计算算法生成与持有的隐私数据相关的计算参数;例如,在实际应用中,生成的计算参数可以包括,参与多方安全计算的随机数;和/或,参与多方安全计算的密文数据。
一方面,当生成了上述计算参数后,上述计算节点可以将生成的计算参数,发送至分布式网络中参与多方安全计算的其它各计算节点,由其它计算节点基于收集到的由参与多方安全计算的各计算节点发送的计算参数来执行多方安全计算。
另一方面,上述计算节点还可以创建对应于上述计算参数的审计日志,在审计日志中记录与上述计算参数相关的描述信息,并存储创建完成的审计日志;
例如,生成的计算参数包括,参与多方安全计算的随机数;和/或,参与多方安全计算的密文数据为例,与上述计算参数相关的描述信息,则可以包括与参与多方安全计算的随机数对应的随机数生成规则;和/或,与参与多方安全计算的密文数据对应的密钥信息。
通过以上技术方案,由于参与多方安全计算的各计算节点,在基于搭载的多方安全计算算法生成了计算参数之后,还可以创建并存储与计算参数对应的审计日志,并在审计日志中记录与所述计算参数相关的描述信息,使得各计算节点的管理用户可以通过查看审计日志,就可以了解到多方安全计算算法生成的计算参数的详细信息,因此对于多方安全计算算法的使用方而言,可以获得更加便于对算法进行审计的审计信息;而对于多方安全计算算法的提供方而言,可以在不公开多方安全计算算法的源代码的前提下,使得上述多方安全计算算法变得透明可审计。
下面通过具体实施例并结合具体的应用场景对本说明书进行描述。
请参考图1,图1是本说明书一实施例提供的一种多方安全计算方法,应用于分布式网络中部署的任一计算节点;其中,上述分布式网络部署了多个计算节点,上述多个计算节点基于各自持有的隐私数据共同参与多方安全计;所述多方安全计算方法执行以下步骤:
步骤102,基于多方安全计算算法生成与持有的隐私数据相关的计算参数;
步骤104,将所述计算参数发送至参与多方安全计算的其它计算节点,以由所述其它计算节点基于收集到的由参与多方安全计算的各计算节点发送的计算参数执行多方安全计算;
步骤106,创建对应于所述计算参数的审计日志;其中,所述审计日志记录了与所述计算参数相关的描述信息。
上述分布式网络,可以包括能够支撑多方安全计算,且采用了分布式架构的任意形态的数据网络;
例如,在一种场景下,上述分布式网络可以是由若干台计算设备组成的设备集群(比如服务器集群)搭建的多方安全计算平台;
又如,在另一种场景下,上述分布式网络也可以是由若干台节点设备组成的区块链网络;在该区块链网络中可以部署需要由多台节点设备基于持有的隐私数据共同参与多方安全计算,且需要保证持有的隐私数据不公开给其它节点设备的在线业务。其中,上 述在线业务的具体类型,在本说明书中不进行特别限定。
上述计算节点,具体可以包括上述分布式网络中,能够搭载上述多方安全计算算法的节点设备。
上述多方安全计算算法,具体可以包括由各计算节点独立开发,或者由提供方统一提供的多方安全计算算法;比如,在实际应用中,上述多方安全计算算法,具体可以对应由各计算节点独立开发,或者由提供方统一提供的多方安全计算软件。
上述计算参数,具体是指由参与多方安全计算的各计算节点,基于搭载的多方安全计算算法生成的,与各计算节点持有的隐私数据相关计算参数;各计算节点需要计算节点之间通过交互消息互相传输生成的计算参数,并基于收集到的各计算节点生成的计算参数来执行多方安全计算。
在实际应用中,上述计算参数通常可以包括:需要参与多方安全计算的随机数;和/或,需要参与多方安全计算的密文数据。
其中,需要说明的是,在实际应用中,上述多方安全计算算法,通常包括诸如秘密分享、同态加密、混淆电路等多方安全计算算法。而上述计算参数所包含的具体内容,通常取决于各计算节点所搭载的多方安全计算算法的具体算法类型。当各节点设备搭载以上列举出的不同算法时,上述计算参数所包含的内容,也会存在一定的差异。
例如,基于秘密分享算法,上述计算参数,通常包括各计算节点将持有的隐私数据拆分出的N个随机数;其中,上述N个随机数包括N-1个独立生成的随机数、和将上述N-1个随机数与持有的隐私数据一起进行运算得到的运算结果(即第N个随机数)。
基于同态加密算法,上述计算参数,通常包括基于持有的密钥对隐私数据进行加密后得到的密文数据。
基于混淆电路算法,上述计算参数,通常包括用于对混淆电路的输入值(即参与计算的输入数据)和输出值分别进行替换的随机数(也称之为输入值和输出值的混淆值),以及将输入值的混淆值作为密钥,对输出数据的混淆值进行加密后得到的密文数据。
在本说明书中,可以在分布式网络中,部署多个计算节点,各个计算节点作为多方安全计算的参与方,可以通过共同搭载同一种多方安全计算算法,在不泄露各自持有的隐私数据的前提下,来参与多方安全计算。
例如,各个计算节点可以共同搭载由多方安全计算算法的提供商提供的多方安全计 算软件,通过该多方安全计算软件进行消息交互,在各个计算节点之间传输参与多方安全计算的随机数,和/或密文数据,来参与多方安全计算。
上述分布式网络中部署的各个计算节点,除了需要共同搭载上同一种多方安全计算算法以外,还可以分别部署独立的数据源,结果存储系统、以及日志存储系统。
其中,上述数据源,用于存储和维护各个数据节点持有的隐私数据。
上述结果存储系统,用于存储和维护各个数据节点参与多方安全计算最终得到的计算结果。
需要说明的是,在一些仅有少量数据参与的安全多方计算中,各个节点设备也可以不需要部署独立的数据源和结果存储系统。在这种情况下,各个计算节点,可以直接获取用户通过操作界面输入的数据作为数据源,并将最终的多方安全计算的计算结果,通过该操作界面向用户输出即可。上述日志存储系统,用于存储和维护由各个数据节点创建的与计算参数相关的审计日志。
需要说明的是,对于创建的审计日志,也可以存储在第三方的存储设备或者存储系统中,在这种情况下,各个计算节点本地则可以不需要部署独立的日志存储系统;也即,在实际应用中,审计日志的生成节点和存储节点,可以相同也可以不同,在本说明书中不进行特别限定。
对于参与多方安全计算的任一目标计算节点而言,在与其它各计算节点共同完成多方安全计算时,首先可以从部署的数据源中读取需要参与多方安全计算的隐私数据;
然后,可以基于搭载的多方安全计算算法,对读取到的隐私数据进行计算,生成与持有的隐私数据相关的随机数、和/或密文数据。
进一步,上述目标计算节点可以基于搭载的多方安全计算算法现有的消息交互机制,来构建交互消息,将生成的随机数、和/或密文数据作为计算参数,发送至参与多方安全计算的其它计算节点。
而其它计算节点可以收集由参与多方安全计算的各计算节点通过交互消息发送的计算参数,并基于收集到的计算参数,来执行多方安全计算,然后将计算结果在本地部署的上述结果存储系统中进行存储。
相应的,上述目标计算节点也可以收集由参与多方安全计算的各计算节点,通过交互消息发送的计算参数,并基于收集到的计算参数,来执行多方安全计算,然后将计算 结果在本地部署的上述结果存储系统中进行存储。
其中,需要说明的是,参与多方安全计算的各计算节点,在基于收集到的计算参数执行多方安全计算的计算过程,通常取决于各计算节点所搭载的多方安全计算算法的具体算法类型,不同类型的多方安全计算算法所涉及的计算过程通常会存在一定的差异。
以下分别以各计算节点搭载的多方安全计算算法为秘密分享算法、同态加密算法、混淆电路算法为例,对以上列举出的各种算法的算法逻辑进行简要描述。
1)秘密分享(secret sharing)算法
秘密分享(secret sharing)算法也称为秘密分割算法、秘密共享算法。它的基本原理是将秘密(比如密钥)拆分成多个分片(share),分别交给不同人保管。只有收集到的share的数量超过门限数量时,才能恢复秘密;而如果收集到的share的数量少于门限数量,则基于share无法恢复秘密的任何信息。其中,秘密分享算法应用在多方安全计算中时,上述门限数量通常与分布式网络中部署的需要参与多方计算的计算节点的数量相同。
当秘密分享算法用于多方安全计算时,各计算节点会将输入数据分别拆分成share,并互相交换share;然后,各计算节点会分别对本地收集到的多个share进行运算,得到与多方安全计算最终的计算结果对应的share(即最终运算结果的一个分片);最后,各计算节点合并生成的所有与最终的计算结果对应的share,得到最终的计算结果,完成多方安全计算。
如果上述分布式网络中部署的各计算节点,所搭载的多方安全计算算法为秘密分享算法,上述目标计算节点在从部署的数据源中读取到需要参与多方安全计算的隐私数据S之后,首先可以按照秘密分享算法,将上述隐私数据分割为d个share(随机数)。
具体地,基于秘密分享算法,可以在预设的随机数取值空间P中,采用随机抽取的方式,生成d-1个独立的随机数作为前d-1个share,记为S 1,S 2,S 3,…S d-1
例如,若隐私数据S是一个64bit的整型数据,则P=2 64;最终生成的d-1个独立的随机数,则均为从[0,2 64-1]的取值空间中随机抽取的一个取值。
进一步的,可以将上述d-1个随机数与隐私数据S一起进行运算,并将运算得到的运算结果,作为第d个share,记为S d
其中,将上述d-1个随机数与隐私数据S一起进行运算的运算规则,通常取决 于具体的秘密分享算法;
例如,以秘密分享算法中最常用的trivial additive secret sharing算法为例,通常要求对隐私数据分割得到的d个share要满足以下表达时:
S=S 1+S 2+S 3+…+S d%P
其中,%为取模运算符。
基于以上表达式,S d=S-(S 1+S 2+S 3+…+S d-1)%P。在这种算法下,可以通过将隐私数据S,与前d-1个share的和与取值空间P的取模计算结果进行相减得到S d
当基于秘密分享算法完成对隐私数据S的数据分割后,上述目标计算节点可以在本地保留一个share,然后基于秘密分享算法现有的消息交互机制,来构建交互消息,将剩下的share,分别发送给其它参与多方安全计算的各计算节点。
其中,上述目标计算节点可以在本地保留第N个share,也可以保留前d-1个share中的任意一个;也即,当上述目标计算节点在本地保留第N个share时,最终仅会将作为前d-1个share的随机作为计算参数;而如果在本地保留前d-1个share中的任意一个,最终会将作为前d-1个share的剩余随机,和上述N-1个随机数与隐私数据S的预算结果作为计算参数。
一方面,其它各计算节点,可以收集各计算节点发送的share,按照各计算节点约定好的运算逻辑对收集到的share进行计算,得到一个与最终的计算结果对应的share,并将计算结果向其它各计算节点进行广播;而上述目标计算节点可以收集其它各计算节点广播的计算结果,再按照约定好的运算逻辑对收集到的计算结果再次进行计算,得到对各个计算节点各自持有的隐私数据进行多方安全计算的最终计算结果,然后将上述最终计算结果在本地部署的结果存储系统中进行存储;
另一方面,上述目标计算节点,也可以收集其它各计算节点发送的share,按照约定好的运算逻辑对收集到的share进行计算,得到一个与最终的计算结果对应的share,并将计算结果向其它各计算节点进行广播;而其它各计算结果可以收集各计算节点广播的计算结果,再按照约定好的运算逻辑对收集到的计算结果再次进行计算,得到对持有的隐私数据S进行多方安全计算的最终结果;
其中,各计算节点约定好的运算逻辑,通常取决于实际的多方安全计算需求,在本说明书中不进行特别限定。
2)同态加密算法
同态加密(homomorphic encryption)算法,是一类能在密文状态下进行数据运算的加密算法。在不解密也不需使用解密密钥情况下,对密文进行计算,也可以得到基于明文进行计算得到的计算结果的密文。
例如,对a的同态加密密文E(a)和b的同态加密密文E(b)进行运算,可以得到a+b的密文E(a+b),且操作过程中不会泄露a、b或a+b,也不需要使用解密的密钥对密文进行解密。
如果上述分布式网络中部署的各计算节点,所搭载的多方安全计算算法为同态加密算法,上述目标计算节点在从部署的数据源中读取到需要参与多方安全计算的隐私数据S之后,首先可以按照同态加密算法,生成一对同态加密的加密密钥PK和解密密钥SK,并基于生成的加密密钥PK对上述隐私数据进行加密生成密文数据,然后基于同态加密算法现有的消息交互机制,来构建交互消息,将生成的上述密文数据,分别发送给其它参与多方安全计算的各计算节点。
一方面,其它各计算节点,也可以采用相同的方式,按照同态加密算法,生成一对同态加密的加密密钥PK和解密密钥SK,基于加密密钥PK对从本地部署的数据源中读取的隐私数据进行加密得到密文数据,并收集各计算节点发送的对各自持有的隐私数据进行加密后得到的密文数据,然后将收集到的由其它各计算节点发送的密文数据,和本地生成的密文数据一起按照约定好的运算逻辑进行计算,得到对各个计算节点各自持有的隐私数据进行多方安全计算的最终计算结果对应的密文数据(上述其它各计算节点无法在其本地解密该密文数据)。
当得到与最终计算结果对应的密文数据后,其它各计算节点可以将与最终计算结果对应的密文数据,向各节点设备进行广播。而当上述目标计算节点在收到与最终计算结果对应的密文数据后,可以基于上述解密密钥SK对收到的与最终计算结果对应的密文数据进行解密,得到最终计算结果的明文数据,然后将上述最终计算结果的明文数据在本地部署的结果存储系统中进行存储。
另一方面,上述目标计算节点,也可以收集其它各计算节点发送的对各自持有的隐私数据进行加密后得到的密文数据,然后将收集到的由其它各计算节点发送的密文数据,和本地生成的密文数据一起按照约定好的运算逻辑进行计算,得到对各个计算节点各自持有的隐私数据进行多方安全计算的最终计算结果对应的密文数据(上述目标计 算节点无法在其本地解密该密文数据)。
当得到与最终计算结果对应的密文数据后,上述目标计算节点可以将与最终计算结果对应的密文数据,向其它各计算节点进行广播。而当其它各计算节点在收到与最终计算结果对应的密文数据后,可以基于上述解密密钥SK对收到的与最终计算结果对应的密文数据进行解密,得到最终计算结果的明文数据,然后将上述最终计算结果的明文数据在本地部署的结果存储系统中进行存储。
其中,需要说明的是,各计算节点约定好的运算逻辑,仍然取决于实际的多方安全计算需求,在本说明书中不进行特别限定。但基于同态加密算法,任何运算逻辑,都可以分解为加法同态加密、乘法同态加密等基础的运算。
3)混淆电路算法
混淆电路算法,原理是通过用计算机模拟ASIC集成电路,来实现多方安全计算。任何多方安全计算任务,都可以用为其设计的ASIC集成电路来实现。即可以按照多方安全计算任务对应的运算逻辑,利用多个运算门(与门、异或门等基础运算门)连接起来,模拟出与上述运算逻辑对应的门电路,然后使用门电路来进行运算。
基于混淆电路算法,通常将多方安全计算任务对应的运算逻辑表示为门电路,并对上述门电路的每条运算线路进行加密,加密后的上述门电路称为混淆电路。最终通过用计算机来执行混淆电路的运算,来实现多方安全计算。
在基于混淆电路算法来实现多方安全计算时,参与多方安全计算的计算节点,通常会被划分为混淆电路生成方,和混淆电路的执行方两种角色。
例如,在一个由K个计算节点参与的多方安全计算中,通常会由其中的K-1个计算节点作为电路生成方,来生成混淆电路,而剩余的一个计算节点作为混淆电路的执行方,来执行混淆电路的运算,来得到最终的计算结果。
如果上述分布式网络中部署的各计算节点,所搭载的多方安全计算算法为混淆电路算法,首先可以将与多方安全计算任务对应的运算逻辑,表示为门电路;
其中,由于该运算逻辑需要由多个计算节点基于各自持有的隐私数据来共同参数,对于每一个计算节点而言,可能仅能够对应上述门电路中的一个或者其中几个运算门,其持有的隐私数据可能仅能够作为上述门电路中的一个或者其中几个运算门的输入数据。
进一步的,上述目标计算节点在从部署的数据源中读取到需要参与多方安全计算的隐私数据S之后,可以将读取到的隐私数据S,作为该目标计算节点在上述门电路中对应的运算门的输入值,在上述运算门中进行运算,得到上述运算门的输出值。
其中,在实际应用中,上述门电路中每个运算门的运算逻辑,都可以用
真值表来表示和执行。一张真值表用于记录该运算门的输入线路取任何输入值时,输出线路得到的输出值。真值表中的每一行对应输入线路的一种输入值组合。而为了在门电路的运算中隐藏该运算门中各运算线路的真实值:
一方面,上述目标计算节点,可以基于混淆电路算法搭载的随机函数生成随机数,对上述运算门的真值表中的输入值和输出值分别进行替换;其中,替换后的随机数称之为混淆值。
另一方面,上述目标计算节点,还可以将上述运算门的输入值对应的混淆值作为密钥,对上述运算门的真值表中的输出值的混淆值进行加密得到密文数据,并基于该密文数据对原来真值表中的输出值的混淆值进行替换,得到一张混淆真值表;或者,也可以基于该密文数据单独创建一张混淆真值表(即混淆真值表中仅包括该密文数据)。
第三方面,上述目标计算节点,还可以打乱上述混淆真值表中的每一行的顺序。
当上述目标计算节点完成以上三方面的针对上述门电路中对应的运算门的真值表的混淆替换后,此时上述混淆电路生成完毕,上述目标计算节点可以基于混淆电路现有的消息交互机制,来构建交互消息,上述目标计算节点在上述门电路中对应的运算门的输入值对应的混淆值,以及将上述运算门的输入值对应的混淆值作为密钥,对上述运算门的真值表中的输出值的混淆值进行加密得到的密文数据作为计算参数,发送给作为混淆电路执行方的计算节点。
例如,在实际应用中,在基于混淆电路算法来实现多方安全计算时,通常会将混淆电路算法与不经意传输技术进行结合,上述目标计算节点在向作为作为混淆电路执行方的计算节点发送计算参数时,一方面,可以通常可以将上述混淆真值表采用明文发送的形式,直接发送给作为混淆电路执行方的计算节点;另一方面,可以采用不经意传输技术,将上述目标计算节点在上述门电路中对应的运算门的输入值对应的混淆值,通过模糊化的传送方式,发送给作为混淆电路执行方的计算节点;其中,基于不经意传输技术向作为混淆电路执行方的计算节点传输数据的具体实施过程,在本说明书中不再进行详述,本领域技术人员在将本说明书的技术方案付诸实现时,可以参考相关技术中的 记载。
而作为混淆电路执行方的计算节点,在收到各计算节点发送的计算参数后,可以根据各计算节点在上述门电路中对应的运算门的输入值对应的混淆值,对与各计算节点在上述门电路中对应的运算门的混淆真值表中记录的密文数据进行解密,得到各计算节点在上述门电路中对应的运算门的输出值的混淆值。
最后,作为混淆电路执行方的计算节点,可以基于最终解密出的上述门电路中的各个运算门的输出值的混淆值后,可以逐级进行运算,得到上述门电路最终的输出值对应的混淆值,然后可以将该混淆值作为最终的计算结果,发送给其它的各计算节点。
上述目标计算计算在收到与门电路最终的输出值对应的混淆值后,可以查询真值表,基于混淆值与真正的输出值之间的对应关系,得到与该混淆值对应的输出值,并将该输出值作为多方安全计算的最终计算结果的原始值,在本地部署的结果存储系统中进行存储。
对于上述分布式网络中部署的各计算节点而言,当完成了以上示出的多方安全计算过程,还可以将存储在上述结果存储系统中的计算结果,向计算节点的管理用户进行可视化输出。
在本说明书中,对于搭载诸如秘密分享、同态加密、混淆电路等多方安全计算算法的计算节点之间,通常传输携带大量的密文和/或随机数的交互消息,而即便对于多方安全计算算法的使用者而言,通常也很难理解以上交互消息中携带的密文和/或随机数的具体含义
基于此,在本说明书中,当上述目标节点设备在基于搭载的多方安全计算算法的现有的消息交互机制,通过构建交互消息,将生成的计算参数发送给参与多方安全计算的各计算节点时,还可以在本地创建与发送的计算参数相关的审计日志,并将创建的审计日志,在本地部署的日志存储系统中进行存储。
其中,上述审计日志,具体可以用于记录向参与多方安全计算的各计算节点发送的计算参数相关的描述信息;
在示出的一种实施方式中,计算节点需要向其它参与多方安全计算的计算节点发送的计算参数,通常是携带在该计算节点所构建的交互消息中的消息字段中,因此可以在审计日志中记录计算节点所构建的交互消息中,每一个字段的具体含义,以及与每一个字段相关的描述信息,以供审计使用。
相应的,当上述目标节点设备在接收到由其它各计算节点通过构建的交互消息发送的计算参数时,也可以在本地创建与其它各计算节点发送的计算参数相关的审计日志,并将创建的审计日志,在本地部署的日志存储系统中进行存储。
例如,对于部署在上述分布式网络中的各计算节点而言,通常搭载了同一多方安全计算算法,因此各计算节点构建的交互消息通常遵循相同的消息格式;因此,上述目标计算节点在收到其它各计算节点发送的交互消息后,可以按照标准的消息格式对该交互消息进行解析,生成相应的审计日志,并在审计日志中记录该交互消息中的每一个字段的具体含义。
在本说明书中,上述审计日志中记录的与上述计算参数相关的描述信息,可以与上述计算参数所包含的内容相对应。
各计算节点通过交互消息向其它计算节点发送的计算参数,通常包括参与多方安全计算的随机数;和/或,参与多方安全计算的密文数据;相应的,最终生成的审计日志中记录的与上述计算参数相关的描述信息,则可以包括与参与多方安全计算的随机数对应的描述信息;和/或,与参与多方安全计算的密文数据对应的描述信息。
其中,上述描述信息的具体内容,在本说明书中不进行特别限定;在实际应用中,可以基于计算节点的管理用户对计算节点搭载的多方安全计算算法的具体审计需求。
在示出的一种实施方式中,最终生成的审计日志中记录的与上述计算参数相关的描述信息,可以包括与参与多方安全计算的随机数对应的随机数生成规则;和/或,与参与多方安全计算的密文数据对应的密钥;
其中,上述随机数生成规则,具体可以涵盖与上述随机数的生成方式相关的任意形式的描述信息;
例如,上述随机数在计算节点本地随机生成、由计算节点将本地生成的随机数和其它数据通过某运算得到、从其它计算节点或者可信的随机源接收到的随机数、从其它计算节点或者可信的随机源接收到的随机数和其它数据通过某运算得到、由计算节点将在本地生成的随机数和接收到的随机数通过某运算得到,等等,在本说明书中不再进行一一列举。
而与参与多方安全计算的密文数据对应的密钥,具体可以包括对该密文数据进行加密时所使用的加密密钥;
其中,在一些场景下,除了加密密钥以外,还可以携带对上述密文数据进行解 密的解密密钥;甚至,在上述审计日志中,还可以携带上述密文数据的明文数据。
例如,在一种实现方式中,计算节点创建的与本地发送给其它各计算节点的计算参数相关的审计日志,和计算节点创建的与接收到的其它各计算节点发送的计算参数相关的审计日志,所记录的与计算参数相关的描述信息,可以存在一定的差异。
由于多方安全计算节点,各个计算节点采用的输入数据,通常需要向其它参与多方安全计算的计算节点严格保密;因此,计算节点创建的与它各计算节点发送的计算参数相关的审计日志中,如果需要记录与密文数据对应的密钥时,可以仅记录与该密文数据相关的加密密钥。而对于计算节点创建的与本地发送给其它各计算节点的计算参数相关的审计日志中,则除了可以记录该密文数据的加密密钥,还可以记录该密文数据的解密密钥,以及该密文数据的明文数据。
通过这种方式,使得计算节点的管理用户,可以基于审计日志记录的解密密钥,对该计算节点在本地生成的作为计算参数的密文数据进行解密后,来进一步校验解密后的计算参数的明文数据,与审计日志中记录的计算参数的明文数据是否一致,来审计该算节点搭载的多方安全计算算法,是否在用户不知情的情况下,在传输的计算参数中恶意添加了隐私数据,以此来提升算法的可审计性。
在本说明书中,对于上述分布式网络中部署的各计算节点而言,可能共同使用由多方安全计算算法的提供方所提供的多方安全算法,虽然多方安全算法本身是用于保护隐私数据的算法,但不正确甚至恶意的算法实现,仍然可能会存在隐私数据泄露的风险。
例如,在一种场景下,恶意的多方安全计算算法,可能并不会按照算法设计使用随机生成的随机数作为密钥,来加密需要向其它各计算节点传输的隐私数据,而是会在使用用户不知情的情况下,选择使用其它参与方已知的密钥来加密需要向其它各计算节点传输的隐私数据,使得接收方可以通过已知的密钥解密数据,获得其它计算节点持有的隐私数据;
又如,在另一种场景下,恶意的多方安全计算算法,可能会在使用用户不知情的情况下,基于计算节点持有的隐私数据来构造假随机数,然后利用假随机数向其它计算节点发送隐私数据。
在本说明书中,对于上述分布式网络中部署的各计算节点而言,可以基于上述日志存储系统中存储的审计日志,对各计算节点搭载的多方安全算法进行隐私审计(也 可以仅对本节点搭载的多方安全算法,或者各计算节点中某一指定的计算节点搭载的多方安全算法进行隐私审计),来确定各计算节点发送的计算参数,是否存在隐私泄露的风险。
当然,在实际应用中,对各计算节点搭载的多方安全算法进行隐私审计,也可以由第三方的审计节点来完成;在这种情况下,上述分布式网络中部署的各计算节点,可以将上述日志存储系统中所述审计日志,发送给上述审计节点(比如可以主动发送审计日志,也可以由审计节点来主动调用审计日志),由上述第三方的审计节点基于接收到的审计日志,对各计算节点搭载的多方安全算法进行隐私审计,来确定各计算节点发送的计算参数,是否存在隐私泄露的风险。
例如,在一种场景下,各计算节点搭载由提供商提供的多方安全计算算法,并由各计算节点的运营方,来独立的部署审计节点,用于对提供商提供的多方安全计算算法进行隐私审计。
其中,对各计算节点搭载的多方安全算法进行隐私审计的审计逻辑,取决于上述审计日志中记录的与计算参数相关的描述信息的具体内容;
在示出的一种实施方式中,以上述计算参数为参与多方安全计算的随机数;以及,与所述计算参数相关的描述信息为,与参与多方安全计算的随机数对应的随机数生成规则为例:
在这种场景下,计算节点可以从本地部署的日志存储系统中,读取参与多方安全计算的各计算节点发送的作为计算参数的随机数对应的审计日志,并基于读取到的审计日志中记录的,与上述随机数对应的随机数生成规则,来校验该随机数是否为基于其它各计算节点持有的隐私数据构建的随机数;
例如,在实际应用中,可以计算上述随机数生成规则中记录的,在生成上述随机数时所使用的数据的摘要值(比如hash值),将计算得到的摘要与其它各计算节点持有的隐私数据的摘要值进行比较,来确定上述随机数是否为基于其它各计算节点持有的隐私数据构建的假随机数。
如果经过校验确认,上述随机数为基于其它各计算节点持有的隐私数据构建的随机数,作为计算参数的该随机数则存在隐私泄露的风险;反之,如果经过校验确认,生成上述随机数的数据源为合法数据源,上述随机数并不是基于其它各计算节点持有的隐私数据构建的随机数,作为计算参数的该随机数则并不存在隐私泄露的风险。
通过这种方式,使得计算节点通过对本地部署的日志存储系统中的审计日志进行简易的审计,就可以确认作为计算参数的随机数是否为基于其它各计算节点持有的隐私数据构建的假随机数,从而可以及时发现隐私泄露的风险。
在示出的另一种实施方式中,以上述计算参数为参与多方安全计算的密文数据;以及,与所述计算参数相关的描述信息为,与参与多方安全计算的密文数据对应的密钥为例:
在这种场景下,计算节点可以从本地部署的日志存储系统中,读取参与多方安全计算的各计算节点发送的作为计算参数的密文数据对应的审计日志,并基于读取到的审计日志中记录的,与上述密文数据对应的密钥,来校验该密钥是否为其它各计算节点持有的已知密钥;
例如,在实际应用中,可以将上述审计日志中记录的与上述密文数据对应的密钥,与其它各计算节点持有的已知密钥进行比较,来确定上述密文数据对应的密钥是否为其它各计算节点持有的已知密钥。
如果经过校验确认,上述密文数据对应的密钥为其它各计算节点持有的已知密钥,作为计算参数的该随机数则存在隐私泄露的风险;反之,如果经过校验确认,上述密文数据对应的密钥并不匹配其它各计算节点持有的已知密钥,作为计算参数的该随机数则并不存在隐私泄露的风险。
通过这种方式,使得计算节点通过对本地部署的日志存储系统中的审计日志进行简易的审计,就可以确认作为计算参数的密文数据对应的密钥,是否为其它各计算节点持有的已知密钥,从而可以及时发现隐私泄露的风险。
当然,在一些场景下,如果上述审计日志中,除了携带加密密钥以外,还携带了对上述密文数据进行解密的解密密钥,以及上述密文数据的明文数据,此时计算节点还可以基于读取到的审计日志中记录的,与上述密文数据对应的解密密钥,以及上述密文数据的明文数据,进一步对上述密文数据进行安全校验,来确认上述密文数据是否被搭载的多方安全计算算法,恶意添加了隐私数据;
例如,在实际应用中,可以基于审计日志记录的解密密钥,对该计算节点在本地生成的作为计算参数的密文数据进行解密后,来进一步校验解密后的计算参数的明文数据,是否与审计日志中记录的计算参数的明文数据是否一致,来审计该计算节点搭载的多方安全计算算法,是否在用户不知情的情况下,在传输的作为计算参数的密文数据 中恶意添加了隐私数据;如果一致,表明该计算节点搭载的由提供商提供的多方安全计算算法的实现逻辑,与该多方安全计算算法的设计一致,上述密文数据不存在隐私泄露的风险;如果不一致,表明该计算节点搭载的由算法提供方提供的多方安全计算算法,可能在用户不知情的情况下,在传输的计算参数中恶意添加了隐私数据,此时上述密文数据存在隐私泄露的风险。
通过这种方式,使得计算节点通过对本地部署的日志存储系统中的审计日志进行简易的审计,就可以确认作为计算参数的密文数据中,是否被搭载的多方安全算法恶意添加了隐私数据,从而可以及时发现隐私泄露的风险。
通过以上技术方案,由于参与多方安全计算的各计算节点,在基于搭载的多方安全计算算法生成了计算参数之后,还可以创建并存储与计算参数对应的审计日志,并在审计日志中记录与所述计算参数相关的描述信息,使得各计算节点的管理用户可以通过查看审计日志,就可以了解到多方安全计算算法生成的计算参数的详细信息,因此对于多方安全计算算法的使用方而言,可以获得更加便于对算法进行审计的审计信息;而对于多方安全计算算法的提供方而言,可以在不公开多方安全计算算法的源代码的前提下,使得上述多方安全计算算法变得透明可审计。
与上述方法实施例相对应,本说明书还提供了一种多方安全计算装置的实施例。本说明书的多方安全计算装置的实施例可以应用在电子设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在电子设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图2所示,为本说明书的多方安全计算装置所在电子设备的一种硬件结构图,除了图2所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的电子设备通常根据该电子设备的实际功能,还可以包括其他硬件,对此不再赘述。
图3是本说明书一示例性实施例示出的一种多方安全计算装置的框图。
请参考图3,所述多方安全计算装置30可以应用在前述图2所示的电子设备中,包括有:生成模块301、发送模块302、和创建模块303。
生成模块301,基于多方安全计算算法生成与持有的隐私数据相关的计算参数;
发送模块302,将所述计算参数发送至参与多方安全计算的其它计算节点,以由所述其它计算节点基于收集到的由参与多方安全计算的各计算节点发送的计算参数执 行多方安全计算;
创建模块303,创建对应于所述计算参数的审计日志;其中,所述审计日志记录了与所述计算参数相关的描述信息。
在本实施例中,所述装置30还包括:
收集模块304(图3中未示出),收集参与多方安全计算的其它各计算节点发送的计算参数,基于收集到的由其它各计算节点发送的计算参数执行多方安全计算;
所述创建模块303进一步:
创建对应于由所述其它各计算节点发送的计算参数的审计日志,并存储所述审计日志;其中,所述审计日志记录了与所述计算参数相关的描述信息。
在本实施例中,所述计算参数,包括:
参与多方安全计算的随机数;和/或,
参与多方安全计算的密文数据。
在本实施例中,与所述计算参数相关的描述信息,包括:
与参与多方安全计算的随机数对应的随机数生成规则;和/或,
与参与多方安全计算的密文数据对应的密钥。
在本实施例中,所述装置30还包括:
审计模块305(图3中未示出),基于所述审计日志对参与多方安全计算的计算节点发送的计算参数进行隐私审计,确认所述计算节点发送的计算参数是否存在隐私泄露风险;
或者,将所述审计日志发送至第三方的审计节点,以由所述审计节点对参与多方安全计算的计算节点发送的计算参数进行隐私审计,确认所述计算节点发送的计算参数是否存在隐私泄露风险。
在本实施例中,所述审计模块305进一步:
基于所述审计日志中记录的,与参与多方安全计算的计算节点发送的随机数对应的随机数生成规则,校验所述随机数是否为基于其它各计算节点持有的隐私数据构建的随机数;
如果是,确认所述计算节点发送的计算参数存在隐私泄露风险;
如果否,确认所述计算节点发送的计算参数不存在隐私泄露风险。
在本实施例中,所述审计模块305进一步:
基于所述审计日志中记录的,参与多方安全计算的计算节点发送的密文数据对应的密钥,校验所述所述密钥是否为其它各计算节点持有的已知密钥;
如果是,确认所述计算节点发送的计算参数存在隐私泄露风险;
如果否,确认所述计算节点发送的计算参数不存在隐私泄露风险。
上述装置中各个模块的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
上述实施例阐明的系统、装置、模块或模块,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
与上述方法实施例相对应,本说明书还提供了一种电子设备的实施例。该电子设备包括:处理器以及用于存储机器可执行指令的存储器;其中,处理器和存储器通常通过内部总线相互连接。在其他可能的实现方式中,所述设备还可能包括外部接口,以能够与其他设备或者部件进行通信。
在本实施例中,通过读取并执行所述存储器存储的与多方安全计算的控制逻辑对应的机器可执行指令,所述处理器被促使:
基于多方安全计算算法生成与持有的隐私数据相关的计算参数;
将所述计算参数发送至参与多方安全计算的其它计算节点,以由所述其它计算节点基于收集到的由参与多方安全计算的各计算节点发送的计算参数执行多方安全计 算;以及,
创建对应于所述计算参数的审计日志;其中,所述审计日志记录了与所述计算参数相关的描述信息。
在本实施例中,通过读取并执行所述存储器存储的与多方安全计算的控制逻辑对应的机器可执行指令,所述处理器被促使:
收集参与多方安全计算的其它各计算节点发送的计算参数,基于收集到的由其它各计算节点发送的计算参数执行多方安全计算;以及,
创建对应于由所述其它各计算节点发送的计算参数的审计日志,并存储所述审计日志;其中,所述审计日志记录了与所述计算参数相关的描述信息。
在本实施例中,通过读取并执行所述存储器存储的与多方安全计算的控制逻辑对应的机器可执行指令,所述处理器被促使:
基于所述审计日志对参与多方安全计算的计算节点发送的计算参数进行隐私审计,确认所述计算节点发送的计算参数是否存在隐私泄露风险;
或者,将所述审计日志发送至第三方的审计节点,以由所述审计节点对参与多方安全计算的计算节点发送的计算参数进行隐私审计,确认所述计算节点发送的计算参数是否存在隐私泄露风险。
在本实施例中,通过读取并执行所述存储器存储的与多方安全计算的控制逻辑对应的机器可执行指令,所述处理器被促使:
基于所述审计日志中记录的,与参与多方安全计算的计算节点发送的随机数对应的随机数生成规则,校验所述随机数是否为基于其它各计算节点持有的隐私数据构建的随机数;
如果是,确认所述计算节点发送的计算参数存在隐私泄露风险;
如果否,确认所述计算节点发送的计算参数不存在隐私泄露风险。
在本实施例中,通过读取并执行所述存储器存储的与多方安全计算的控制逻辑对应的机器可执行指令,所述处理器被促使:
基于所述审计日志中记录的,参与多方安全计算的计算节点发送的密文数据对应的密钥,校验所述所述密钥是否为其它各计算节点持有的已知密钥;
如果是,确认所述计算节点发送的计算参数存在隐私泄露风险;
如果否,确认所述计算节点发送的计算参数不存在隐私泄露风险。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本说明书的其它实施方案。本说明书旨在涵盖本说明书的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本说明书的一般性原理并包括本说明书未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本说明书的真正范围和精神由下面的权利要求指出。
应当理解的是,本说明书并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本说明书的范围仅由所附的权利要求来限制。
以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。

Claims (15)

  1. 一种多方安全计算方法,应用于分布式网络中部署的任一计算节点;其中,所述分布式网络部署了多个计算节点,所述多个计算节点基于各自持有的隐私数据共同参与多方安全计算,所述方法包括:
    基于多方安全计算算法生成与持有的隐私数据相关的计算参数;
    将所述计算参数发送至参与多方安全计算的其它计算节点,以由所述其它计算节点基于收集到的由参与多方安全计算的各计算节点发送的计算参数执行多方安全计算;以及,
    创建对应于所述计算参数的审计日志;其中,所述审计日志记录了与所述计算参数相关的描述信息。
  2. 根据权利要求1所述的方法,还包括:
    收集参与多方安全计算的其它各计算节点发送的计算参数,基于收集到的由其它各计算节点发送的计算参数执行多方安全计算;以及,
    创建对应于由所述其它各计算节点发送的计算参数的审计日志,并存储所述审计日志;其中,所述审计日志记录了与所述计算参数相关的描述信息。
  3. 根据权利要求1或2所述的方法,所述计算参数,包括:
    参与多方安全计算的随机数;和/或,
    参与多方安全计算的密文数据。
  4. 根据权利要求3所述的方法,与所述计算参数相关的描述信息,包括:
    与参与多方安全计算的随机数对应的随机数生成规则;和/或,
    与参与多方安全计算的密文数据对应的密钥。
  5. 根据权利要求4所述的方法,还包括:
    基于所述审计日志对参与多方安全计算的计算节点发送的计算参数进行隐私审计,确认所述计算节点发送的计算参数是否存在隐私泄露风险;
    或者,将所述审计日志发送至第三方的审计节点,以由所述审计节点对参与多方安全计算的计算节点发送的计算参数进行隐私审计,确认所述计算节点发送的计算参数是否存在隐私泄露风险。
  6. 根据权利要求5所述的方法,所述基于所述审计日志对参与多方安全计算的计算节点发送的计算参数进行隐私审计,确认所述计算节点发送的计算参数是否存在隐私泄露风险,包括:
    基于所述审计日志中记录的,与参与多方安全计算的计算节点发送的随机数对应的 随机数生成规则,校验所述随机数是否为基于其它各计算节点持有的隐私数据构建的随机数;
    如果是,确认所述计算节点发送的计算参数存在隐私泄露风险;
    如果否,确认所述计算节点发送的计算参数不存在隐私泄露风险。
  7. 根据权利要求5所述的方法,
    所述基于所述审计日志对参与多方安全计算的计算节点发送的计算参数进行隐私审计,确认所述计算节点发送的计算参数是否存在隐私泄露风险,包括:
    基于所述审计日志中记录的,参与多方安全计算的计算节点发送的密文数据对应的密钥,校验所述所述密钥是否为其它各计算节点持有的已知密钥;
    如果是,确认所述计算节点发送的计算参数存在隐私泄露风险;
    如果否,确认所述计算节点发送的计算参数不存在隐私泄露风险。
  8. 一种多方安全计算装置,应用于分布式网络中部署的任一计算节点;其中,所述分布式网络部署了多个计算节点,所述多个计算节点基于各自持有的隐私数据共同参与多方安全计算,所述装置包括:
    生成模块,基于多方安全计算算法生成与持有的隐私数据相关的计算参数;
    发送模块,将所述计算参数发送至参与多方安全计算的其它计算节点,以由所述其它计算节点基于收集到的由参与多方安全计算的各计算节点发送的计算参数执行多方安全计算;
    创建模块,创建对应于所述计算参数的审计日志;其中,所述审计日志记录了与所述计算参数相关的描述信息。
  9. 根据权利要求8所述的装置,还包括:
    收集模块,收集参与多方安全计算的其它各计算节点发送的计算参数,基于收集到的由其它各计算节点发送的计算参数执行多方安全计算;
    所述创建模块进一步:
    创建对应于由所述其它各计算节点发送的计算参数的审计日志,并存储所述审计日志;其中,所述审计日志记录了与所述计算参数相关的描述信息。
  10. 根据权利要求8或9所述的装置,所述计算参数,包括:
    参与多方安全计算的随机数;和/或,
    参与多方安全计算的密文数据。
  11. 根据权利要求10所述的装置,与所述计算参数相关的描述信息,包括:
    与参与多方安全计算的随机数对应的随机数生成规则;和/或,
    与参与多方安全计算的密文数据对应的密钥。
  12. 根据权利要求11所述的装置,还包括:
    审计模块,基于所述审计日志对参与多方安全计算的计算节点发送的计算参数进行隐私审计,确认所述计算节点发送的计算参数是否存在隐私泄露风险;或者,将所述审计日志发送至第三方的审计节点,以由所述审计节点对参与多方安全计算的计算节点发送的计算参数进行隐私审计,确认所述计算节点发送的计算参数是否存在隐私泄露风险。
  13. 根据权利要求12所述的装置,所述审计模块进一步:
    基于所述审计日志中记录的,与参与多方安全计算的计算节点发送的随机数对应的随机数生成规则,校验所述随机数是否为基于其它各计算节点持有的隐私数据构建的随机数;
    如果是,确认所述计算节点发送的计算参数存在隐私泄露风险;
    如果否,确认所述计算节点发送的计算参数不存在隐私泄露风险。
  14. 根据权利要求12所述的装置,所述审计模块进一步:
    基于所述审计日志中记录的,参与多方安全计算的计算节点发送的密文数据对应的密钥,校验所述所述密钥是否为其它各计算节点持有的已知密钥;
    如果是,确认所述计算节点发送的计算参数存在隐私泄露风险;
    如果否,确认所述计算节点发送的计算参数不存在隐私泄露风险。
  15. 一种电子设备,包括:
    处理器;
    用于存储机器可执行指令的存储器;
    其中,通过读取并执行所述存储器存储的与多方安全计算的控制逻辑对应的机器可执行指令,所述处理器被促使:
    基于多方安全计算算法生成与持有的隐私数据相关的计算参数;
    将所述计算参数发送至参与多方安全计算的其它计算节点,以由所述其它计算节点基于收集到的由参与多方安全计算的各计算节点发送的计算参数执行多方安全计算;以及,
    创建对应于所述计算参数的审计日志;其中,所述审计日志记录了与所述计算参数相关的描述信息。
PCT/CN2019/092217 2018-08-14 2019-06-21 多方安全计算方法及装置、电子设备 WO2020034751A1 (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
SG11202010773WA SG11202010773WA (en) 2018-08-14 2019-06-21 Multi-party security computing method and apparatus, and electronic device
EP19850323.7A EP3779751B1 (en) 2018-08-14 2019-06-21 Multi-party security computing method and apparatus, and electronic device
US17/086,385 US11050561B2 (en) 2018-08-14 2020-10-31 Multi-party security computing method and apparatus, and electronic device
US17/330,819 US11290267B2 (en) 2018-08-14 2021-05-26 Multi-party security computing method and apparatus, and electronic device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201810925182.1 2018-08-14
CN201810925182.1A CN109359470B (zh) 2018-08-14 2018-08-14 多方安全计算方法及装置、电子设备

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/086,385 Continuation US11050561B2 (en) 2018-08-14 2020-10-31 Multi-party security computing method and apparatus, and electronic device

Publications (1)

Publication Number Publication Date
WO2020034751A1 true WO2020034751A1 (zh) 2020-02-20

Family

ID=65349987

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/092217 WO2020034751A1 (zh) 2018-08-14 2019-06-21 多方安全计算方法及装置、电子设备

Country Status (6)

Country Link
US (2) US11050561B2 (zh)
EP (1) EP3779751B1 (zh)
CN (1) CN109359470B (zh)
SG (1) SG11202010773WA (zh)
TW (1) TWI712301B (zh)
WO (1) WO2020034751A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112272208A (zh) * 2020-09-22 2021-01-26 国网上海市电力公司 安全多方计算方法、电子设备及存储介质
CN113824546A (zh) * 2020-06-19 2021-12-21 百度在线网络技术(北京)有限公司 用于生成信息的方法和装置
CN114285558A (zh) * 2021-12-24 2022-04-05 浙江大学 一种基于半可信硬件的多方隐私计算方法及装置
CN115065611A (zh) * 2022-06-08 2022-09-16 上海万向区块链股份公司 数据安全多方协同计算的监控和验证方法及系统
CN116151627A (zh) * 2023-04-04 2023-05-23 支付宝(杭州)信息技术有限公司 一种业务风控的方法、装置、存储介质及电子设备

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109241016B (zh) * 2018-08-14 2020-07-07 阿里巴巴集团控股有限公司 多方安全计算方法及装置、电子设备
CN109359470B (zh) 2018-08-14 2020-09-01 阿里巴巴集团控股有限公司 多方安全计算方法及装置、电子设备
CN109714165B (zh) * 2019-02-28 2021-12-07 矩阵元技术(深圳)有限公司 客户端各自生成密钥分量的密钥管理方法和电子设备
CN109981592B (zh) * 2019-02-28 2021-07-16 矩阵元技术(深圳)有限公司 多客户端多服务器联合生成密钥的方法和电子设备
CN111723384B (zh) * 2019-03-22 2024-04-02 阿里巴巴集团控股有限公司 数据处理方法、系统及设备
WO2020211075A1 (zh) * 2019-04-19 2020-10-22 云图有限公司 去中心化多方安全数据处理方法、装置及存储介质
CN110061829A (zh) * 2019-04-26 2019-07-26 上海点融信息科技有限责任公司 基于区块链网络的安全多方计算方法、装置及存储介质
CN110166446B (zh) * 2019-05-13 2021-10-22 矩阵元技术(深圳)有限公司 一种基于安全多方计算的地理加权平均中心的实现方法
US11222129B2 (en) * 2019-06-24 2022-01-11 International Business Machines Corporation Entity resolution between multiple private data sources
CN110427969B (zh) * 2019-07-01 2020-11-27 创新先进技术有限公司 数据处理方法、装置和电子设备
JP7409380B2 (ja) * 2019-07-24 2024-01-09 日本電気株式会社 秘密計算サーバ、証跡管理方法及びプログラム
CN111125727B (zh) * 2019-12-03 2021-05-14 支付宝(杭州)信息技术有限公司 混淆电路生成方法、预测结果确定方法、装置和电子设备
CN111027981B (zh) * 2019-12-13 2021-04-27 支付宝(杭州)信息技术有限公司 多方联合训练针对IoT机具的风险评估模型的方法及装置
CN111143894B (zh) * 2019-12-24 2022-01-28 支付宝(杭州)信息技术有限公司 一种提升安全多方计算效率的方法及系统
CN111444526B (zh) * 2020-03-27 2021-08-27 上海观源信息科技有限公司 基于计算机软件实现近似最大值计算的安全多方计算控制方法及相应的系统
CN111177790B (zh) * 2020-04-10 2020-07-10 支付宝(杭州)信息技术有限公司 保护两方数据隐私的协同计算方法、系统及装置
CN111523145B (zh) * 2020-07-03 2020-09-29 支付宝(杭州)信息技术有限公司 针对隐私数据进行安全运算的方法和装置
CN112395642B (zh) * 2020-11-20 2024-02-13 湖南智慧政务区块链科技有限公司 一种安全多方隐私计算方法、装置、设备及存储介质
CN112527898B (zh) * 2020-12-03 2022-06-07 杭州趣链科技有限公司 安全计算方法、装置、计算机及存储介质
CN112765631B (zh) * 2021-01-26 2022-05-24 天津理工大学 一种基于区块链的安全多方计算方法
US20220247548A1 (en) * 2021-02-01 2022-08-04 Sap Se Efficient distributed privacy-preserving computations
CN112989420B (zh) * 2021-03-31 2022-05-10 支付宝(杭州)信息技术有限公司 一种保护数据隐私的相关系数确定方法和系统
CN113810170A (zh) * 2021-04-06 2021-12-17 京东科技控股股份有限公司 数据传输方法、装置及电子设备、存储介质
CN113179158B (zh) * 2021-04-08 2022-05-17 支付宝(杭州)信息技术有限公司 一种控制带宽的多方联合数据处理方法及装置
CN113312641B (zh) * 2021-06-02 2023-07-18 杭州趣链科技有限公司 多点多方的数据交互方法、系统、电子装置和存储介质
CN115529299A (zh) * 2021-06-24 2022-12-27 支付宝(杭州)信息技术有限公司 隐私计算数据资源发布、发现的方法、装置和系统
CN113343283B (zh) * 2021-07-30 2021-10-15 深圳前海微众银行股份有限公司 一种数据处理方法
US11928234B2 (en) * 2021-08-06 2024-03-12 International Business Machines Corporation Platform for dynamic collaborative computation with confidentiality and verifiability
CN113472538B (zh) * 2021-09-02 2021-12-10 富算科技(上海)有限公司 多方安全计算的结果隐私性检测方法、装置、设备及介质
WO2023049080A1 (en) * 2021-09-24 2023-03-30 The Ethical Identity Company System and method for operating a secure database
CN113901507B (zh) * 2021-12-08 2022-04-19 粤港澳大湾区数字经济研究院(福田) 一种多参与方的资源处理方法及隐私计算系统
CN114218318B (zh) * 2022-02-21 2022-05-17 国网山东省电力公司乳山市供电公司 一种用于电力大数据的数据处理系统及方法
CN114647662B (zh) * 2022-05-13 2022-08-23 富算科技(上海)有限公司 数据检索方法、装置、电子设备、存储介质
CN114996449A (zh) * 2022-05-25 2022-09-02 支付宝(杭州)信息技术有限公司 一种基于隐私保护的聚类方法及装置
CN115865391A (zh) * 2022-08-04 2023-03-28 中国银联股份有限公司 一种数据匹配方法、装置、系统、设备及介质
CN115270162B (zh) * 2022-09-26 2022-12-02 国网浙江省电力有限公司金华供电公司 基于多方计算的审计审价异构数据在线整合方法及系统
CN115622686B (zh) * 2022-12-19 2023-03-21 豪符密码检测技术(成都)有限责任公司 一种安全多方计算的检测方法
CN116760647B (zh) * 2023-08-22 2023-11-10 翼方健数(北京)信息科技有限公司 基于参数自适应的多方安全计算方法、系统和存储介质
CN117254911B (zh) * 2023-11-17 2024-02-13 北京安华金和科技有限公司 一种基于秘密分享的多方安全计算处理方法和系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102611749A (zh) * 2012-01-12 2012-07-25 电子科技大学 一种云存储数据安全审计方法
WO2016135738A1 (en) * 2015-02-27 2016-09-01 Dyadic Security Ltd Asystem and methods for protecting keys using garbled circuits
CN108364223A (zh) * 2017-12-29 2018-08-03 阿里巴巴集团控股有限公司 一种数据审计的方法及装置
CN109241016A (zh) * 2018-08-14 2019-01-18 阿里巴巴集团控股有限公司 多方安全计算方法及装置、电子设备
CN109255247A (zh) * 2018-08-14 2019-01-22 阿里巴巴集团控股有限公司 多方安全计算方法及装置、电子设备
CN109359470A (zh) * 2018-08-14 2019-02-19 阿里巴巴集团控股有限公司 多方安全计算方法及装置、电子设备

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6099408A (en) * 1996-12-31 2000-08-08 Walker Digital, Llc Method and apparatus for securing electronic games
US7372856B2 (en) 2004-05-27 2008-05-13 Avaya Technology Corp. Method for real-time transport protocol (RTP) packet authentication
CN1957384B (zh) * 2004-07-07 2011-04-06 三菱电机株式会社 电子元件和数据处理方法
US8874477B2 (en) 2005-10-04 2014-10-28 Steven Mark Hoffberg Multifactorial optimization system and method
US7937270B2 (en) * 2007-01-16 2011-05-03 Mitsubishi Electric Research Laboratories, Inc. System and method for recognizing speech securely using a secure multi-party computation protocol
JP5132222B2 (ja) 2007-08-13 2013-01-30 株式会社東芝 クライアント装置、サーバ装置及びプログラム
US9552191B2 (en) * 2008-11-12 2017-01-24 Igt Canada Solutions Ulc Secure random number generation
US9252942B2 (en) * 2012-04-17 2016-02-02 Futurewei Technologies, Inc. Method and system for secure multiparty cloud computation
EP2891267B1 (en) 2012-08-30 2022-04-06 Triad National Security, LLC Multi-factor authentication using quantum communication
CN103248478A (zh) * 2013-05-08 2013-08-14 天津大学 基于多方安全协议的密封式电子拍卖方案与验证方法
CN103888262B (zh) * 2014-03-31 2017-04-26 公安部第三研究所 用于云数据审计的密钥变化和签名更新的方法
US9762386B1 (en) * 2014-12-19 2017-09-12 AbeBooks Inc. Verification of stored encryption keys in multi-tiered encryption system
US10122767B2 (en) 2015-05-29 2018-11-06 Nagravision S.A. Systems and methods for conducting secure VOIP multi-party calls
US10805393B2 (en) 2015-12-02 2020-10-13 Olea Networks, Inc. System and method for data management structure using auditable delta records in a distributed environment
US10237259B2 (en) * 2016-02-29 2019-03-19 Securekey Technologies Inc. Systems and methods for distributed identity verification
US9967096B2 (en) 2016-05-23 2018-05-08 Accenture Global Solutions Limited Rewritable blockchain
US11829998B2 (en) 2016-06-07 2023-11-28 Cornell University Authenticated data feed for blockchains
US10404471B1 (en) 2017-04-26 2019-09-03 Wells Fargo Bank, N.A. Secure ledger assurance tokenization
US11323444B2 (en) * 2017-09-29 2022-05-03 Robert Bosch Gmbh Method for faster secure multiparty inner product computation with SPDZ
US10833861B2 (en) 2017-11-28 2020-11-10 International Business Machines Corporation Protection of confidentiality, privacy and ownership assurance in a blockchain based decentralized identity management system
US11257077B2 (en) 2017-11-30 2022-02-22 Visa International Service Association Blockchain system for confidential and anonymous smart contracts
US10778412B2 (en) 2017-12-28 2020-09-15 Intel Corporation Multi-domain convolutional neural network
US10956075B2 (en) 2018-02-02 2021-03-23 Bank Of America Corporation Blockchain architecture for optimizing system performance and data storage
KR102086228B1 (ko) 2018-06-11 2020-03-06 고하준 기밀보장 블록체인 중개서버를 통하여 블록체인 클라이언트들이 블록체인 서비스를 이용하는 방법.
US10887081B2 (en) 2018-06-28 2021-01-05 International Business Machines Corporation Audit trail configuration in a blockchain
CN112204921A (zh) 2018-07-27 2021-01-08 赫尔实验室有限公司 利用区块链和多方计算保护轻量级设备的数据隐私的系统和方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102611749A (zh) * 2012-01-12 2012-07-25 电子科技大学 一种云存储数据安全审计方法
WO2016135738A1 (en) * 2015-02-27 2016-09-01 Dyadic Security Ltd Asystem and methods for protecting keys using garbled circuits
CN108364223A (zh) * 2017-12-29 2018-08-03 阿里巴巴集团控股有限公司 一种数据审计的方法及装置
CN109241016A (zh) * 2018-08-14 2019-01-18 阿里巴巴集团控股有限公司 多方安全计算方法及装置、电子设备
CN109255247A (zh) * 2018-08-14 2019-01-22 阿里巴巴集团控股有限公司 多方安全计算方法及装置、电子设备
CN109359470A (zh) * 2018-08-14 2019-02-19 阿里巴巴集团控股有限公司 多方安全计算方法及装置、电子设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3779751A4 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113824546A (zh) * 2020-06-19 2021-12-21 百度在线网络技术(北京)有限公司 用于生成信息的方法和装置
CN113824546B (zh) * 2020-06-19 2024-04-02 百度在线网络技术(北京)有限公司 用于生成信息的方法和装置
CN112272208A (zh) * 2020-09-22 2021-01-26 国网上海市电力公司 安全多方计算方法、电子设备及存储介质
CN112272208B (zh) * 2020-09-22 2023-03-31 国网上海市电力公司 安全多方计算方法、电子设备及存储介质
CN114285558A (zh) * 2021-12-24 2022-04-05 浙江大学 一种基于半可信硬件的多方隐私计算方法及装置
CN114285558B (zh) * 2021-12-24 2023-09-08 浙江大学 一种基于半可信硬件的多方隐私计算方法及装置
CN115065611A (zh) * 2022-06-08 2022-09-16 上海万向区块链股份公司 数据安全多方协同计算的监控和验证方法及系统
CN115065611B (zh) * 2022-06-08 2023-09-26 上海万向区块链股份公司 数据安全多方协同计算的监控和验证方法及系统
CN116151627A (zh) * 2023-04-04 2023-05-23 支付宝(杭州)信息技术有限公司 一种业务风控的方法、装置、存储介质及电子设备
CN116151627B (zh) * 2023-04-04 2023-09-01 支付宝(杭州)信息技术有限公司 一种业务风控的方法、装置、存储介质及电子设备

Also Published As

Publication number Publication date
TWI712301B (zh) 2020-12-01
SG11202010773WA (en) 2020-11-27
US20210051008A1 (en) 2021-02-18
US11290267B2 (en) 2022-03-29
EP3779751A4 (en) 2021-09-15
EP3779751B1 (en) 2023-05-10
TW202013928A (zh) 2020-04-01
US20210281402A1 (en) 2021-09-09
CN109359470A (zh) 2019-02-19
CN109359470B (zh) 2020-09-01
EP3779751A1 (en) 2021-02-17
US11050561B2 (en) 2021-06-29

Similar Documents

Publication Publication Date Title
WO2020034751A1 (zh) 多方安全计算方法及装置、电子设备
TWI706279B (zh) 多方安全計算方法及裝置、電子設備
TWI733125B (zh) 多方安全計算方法及裝置、電子設備
CN110138802B (zh) 用户特征信息获取方法、装置,区块链节点、网络,及存储介质
JP6363032B2 (ja) 鍵付替え方向制御システムおよび鍵付替え方向制御方法
US10826694B2 (en) Method for leakage-resilient distributed function evaluation with CPU-enclaves
US20220337428A1 (en) Anonymous broadcast method, key exchange method, anonymous broadcast system, key exchange system, communication device, and program
US20210099296A1 (en) Key generation for use in secured communication
Zhang et al. Data security in cloud storage
Böttcher et al. Secure Set Union and Bag Union Computation for Guaranteeing Anonymity of Distrustful Participants.
Singh et al. Cloud assisted semi-static secure accountable authority identity-based broadcast encryption featuring public traceability without random oracles
Lugrin One-Time Pad Thomas Lugrin
van Kempen et al. LISA: LIghtweight single-server Secure Aggregation with a public source of randomness
CN117708881A (zh) 基于可重用混淆电路的跨机构黑名单共享方法及系统
CN117834121A (zh) 防止医疗数据随访中恶意攻击的叛逆者追踪方法及系统
CN114936380A (zh) 基于变色龙哈希的区块链隐私数据共享方法及系统
Li et al. The Power of Refresh: a Novel Mechanism for Securing Low Entropy PII
Zhao Protecting Identity and Location Privacy in Online Environment
Paterson Applied Cryptography Knowledge Area Version..

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: 19850323

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2019850323

Country of ref document: EP

Effective date: 20201030

NENP Non-entry into the national phase

Ref country code: DE