CN114697113A - Hardware accelerator card-based multi-party privacy calculation method, device and system - Google Patents

Hardware accelerator card-based multi-party privacy calculation method, device and system Download PDF

Info

Publication number
CN114697113A
CN114697113A CN202210331821.8A CN202210331821A CN114697113A CN 114697113 A CN114697113 A CN 114697113A CN 202210331821 A CN202210331821 A CN 202210331821A CN 114697113 A CN114697113 A CN 114697113A
Authority
CN
China
Prior art keywords
privacy
hardware accelerator
accelerator card
data
server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202210331821.8A
Other languages
Chinese (zh)
Other versions
CN114697113B (en
Inventor
刘兵
包仁义
张凯
徐松
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Yidu Cloud Beijing Technology Co Ltd
Original Assignee
Yidu Cloud Beijing Technology Co Ltd
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 Yidu Cloud Beijing Technology Co Ltd filed Critical Yidu Cloud Beijing Technology Co Ltd
Priority to CN202210331821.8A priority Critical patent/CN114697113B/en
Publication of CN114697113A publication Critical patent/CN114697113A/en
Application granted granted Critical
Publication of CN114697113B publication Critical patent/CN114697113B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • 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/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

The application discloses a multi-party privacy calculation method, a device, equipment and a computer readable storage medium, the method uses a hardware accelerator card (for example, an FPGA calculation card) as a carrier to realize privacy calculation, can realize data encryption/decryption in the hardware accelerator card of a data provider server, sends the encrypted data to the hardware accelerator card of a privacy calculator server, and carries out decryption on the hardware accelerator card on the privacy calculator server, executes corresponding privacy calculation and returns the encrypted privacy calculation result. Since the hardware accelerator card is isolated from the server in hardware, the data privacy and security can be ensured through the isolation in hardware. In addition, data encryption/decryption and safe calculation are realized through the hardware accelerator card, the data communication cost can be effectively reduced, and the calculation performance is further improved.

Description

Hardware accelerator card-based multi-party privacy calculation method, device and system
Technical Field
The present application relates to the field of secure computing, and in particular, to a multiparty privacy computing method, apparatus, system and computer readable storage medium based on a hardware accelerator card.
Background
The privacy calculation refers to a series of information technologies for analyzing and calculating data on the premise of ensuring that original data are not leaked by a data provider, and the data are guaranteed to be 'available and invisible' in the circulation and fusion processes. Currently, common techniques for implementing privacy computing include: 1) multiparty security computing (MPC); 2) federal Learning (FL); and 3) Trusted Execution Environment (TEE), and the like.
However, the above scheme has the problems of high calculation and communication overhead and poor performance. If a trusted execution environment is used, it is also necessary to use the hardware of a particular vendor and trust the corresponding vendor.
Disclosure of Invention
In order to solve the above problems, embodiments of the present application creatively provide a hardware accelerator card-based multi-party privacy computing method and apparatus, and a computer-readable storage medium.
According to a first aspect of the embodiments of the present application, a multiparty privacy calculation method based on a hardware accelerator card is provided, and is applied to a data provider server, where the data provider server is connected with a first hardware accelerator card, and the method includes: transmitting the private data and the encryption instruction to a first hardware accelerator card; receiving encrypted private data returned by the first hardware accelerator card; and sending the encrypted privacy data and the privacy calculation request to a privacy calculation server to perform multiparty privacy calculation.
According to an embodiment of the present application, the method further comprises: and receiving an encrypted privacy calculation result corresponding to the privacy calculation request returned by the privacy calculator server.
According to an embodiment of the present application, the method further comprises: transmitting the encrypted privacy calculation result and the encrypted decryption instruction to a first hardware accelerator card; and receiving a decrypted privacy calculation result returned by the first hardware acceleration card.
According to an embodiment of the present application, the method further comprises: transmitting an instruction for acquiring a root certificate to a first hardware accelerator card; receiving an encrypted third certificate returned by the first hardware accelerator card; and sending the encrypted third certificate to the privacy calculator server.
According to an embodiment of the present application, the method further comprises: receiving an encrypted fourth certificate sent by the privacy calculator server; transmitting the encrypted fourth certificate and the certificate authentication instruction to the first hardware accelerator card; and receiving a certificate authentication result returned by the first hardware acceleration card.
According to an embodiment of the present application, the method further comprises: and transmitting the privacy calculator server to the first hardware accelerator card so that the first hardware accelerator card can perform key agreement with the privacy calculator server.
According to a second aspect of the embodiments of the present application, there is further provided a hardware accelerator card-based multi-party privacy computing method, where the method is applied to a privacy computing party server, and the privacy computing party server is connected to a second hardware accelerator card, and the method includes: receiving encrypted privacy data and a privacy calculation request sent by a data provider server; determining a privacy calculation instruction according to the privacy calculation request; transmitting the encrypted private data and the encrypted private calculation instruction to a second hardware accelerator card; receiving an encrypted privacy calculation result which is returned by the second hardware accelerator card and corresponds to the privacy calculation request; and returning the encrypted privacy calculation result to the data provider server.
According to an embodiment of the present application, the method further comprises: transmitting an instruction for acquiring the root certificate to a second hardware accelerator card; receiving an encrypted fifth certificate returned by the second hardware accelerator card; and sending the encrypted fifth certificate to the data provider server.
According to an embodiment of the present application, the method further comprises: receiving the encrypted sixth certificate sent by the data provider server; transmitting the encrypted sixth certificate and the certificate authentication instruction to a second hardware accelerator card; and receiving a certificate authentication result returned by the second hardware acceleration card.
According to an embodiment of the present application, the method further comprises: and transmitting the data provider server to the second hardware accelerator card so that the second hardware accelerator card can perform key agreement with the data provider server.
According to a third aspect of the embodiments of the present application, there is further provided a hardware accelerator card-based multi-party privacy computing method, where the method is applied to at least two data provider servers and at least one privacy calculator server, where the data provider server is connected to a first hardware accelerator card, and the privacy calculator server is connected to a second hardware accelerator card, the method including: a first data provider server of the at least two data provider servers transmits first privacy data and an encryption instruction to a first hardware accelerator card on the first data provider server, receives encrypted first privacy data returned by the first hardware accelerator card on the first data provider server, and sends the encrypted first privacy data and a privacy calculation request to a privacy calculator server; the privacy calculator server receives the encrypted first privacy data and the privacy calculation request, determines a privacy calculation instruction according to the privacy calculation request, transmits the encrypted first privacy data and the privacy calculation instruction to the second hardware accelerator card, receives an encrypted privacy calculation result corresponding to the privacy calculation request and returned by the second hardware accelerator card, and returns the encrypted privacy calculation result to the first data provider server.
According to an embodiment of the application, the privacy computation request further requires using second privacy data provided by a second data provider server of the at least two data provider servers, the method further comprising: the second data provider server transmits the second privacy data and the encryption instruction to a first hardware accelerator card on the second data provider server, receives encrypted privacy data returned by the first hardware accelerator card on the second data provider server, and sends the encrypted second privacy data to a privacy calculator server; and the privacy calculator server receives the encrypted second privacy data sent by the second data provider server and transmits the encrypted second privacy data to the second hardware accelerator card.
According to a fourth aspect of the embodiments of the present application, there is further provided a hardware accelerator card-based multi-party privacy computing apparatus, where the apparatus is applied to a data provider server, and the data provider server is connected to a first hardware accelerator card, and the apparatus includes: the first hardware accelerator card data transmission module is used for transmitting the privacy data and the encryption instruction to the first hardware accelerator card; the first hardware accelerator card data receiving module is used for receiving the encrypted private data returned by the first hardware accelerator card; and the privacy calculation request sending module is used for sending the encrypted privacy data and the privacy calculation request to the privacy calculator server so as to carry out multi-party privacy calculation.
According to a fifth aspect of the embodiments of the present application, there is further provided a hardware accelerator card-based multi-party privacy computing apparatus, where the apparatus is applied to a privacy computing party server, and the privacy computing party server is connected to a second hardware accelerator card, the apparatus includes: the privacy calculation request receiving module is used for receiving the encrypted privacy data and the privacy calculation request sent by the data provider server; the privacy calculation instruction determining module is used for determining a privacy calculation instruction according to the privacy calculation request; the second hardware accelerator card data transmission module is used for transmitting the encrypted privacy data and the privacy calculation instruction to a second hardware accelerator card; the second hardware accelerator card data receiving module is used for receiving an encrypted privacy calculation result which is returned by the second hardware accelerator card and corresponds to the privacy calculation request; and the privacy calculation result returning module is used for returning the encrypted privacy calculation result to the data provider server.
According to a sixth aspect of the embodiments of the present application, there is further provided a hardware accelerator card-based multi-party privacy computing system, which includes at least two data provider servers and at least one privacy calculator server, where the data provider server is connected with a first hardware accelerator card for executing any one of the above multi-party privacy computing methods applied to the data provider servers; the privacy calculator server is connected with a second hardware accelerator card and is used for executing any one of the multi-party privacy calculation methods applied to the privacy calculator server.
According to a seventh aspect of embodiments of the present application, there is further provided a computer-readable storage medium, on which a computer program is stored, where the computer program is executed by a processor to implement any one of the above multi-party privacy computation methods.
The embodiment of the application provides a hardware accelerator card-based multi-party privacy calculation method, a hardware accelerator card-based multi-party privacy calculation device, a hardware accelerator card-based multi-party privacy calculation system, equipment and a computer-readable storage medium.
Since the hardware accelerator card is isolated from the data provider server or the privacy calculator server in terms of hardware, the memory of the hardware accelerator card cannot be accessed through the data provider server or the privacy calculator server, and therefore the privacy and the safety of data can be ensured through the isolation in terms of hardware.
In addition, data encryption/decryption and security calculation are realized through the hardware accelerator card, the data communication cost can be effectively reduced compared with multi-party security calculation and federal learning, and the calculation performance is further improved by utilizing high-speed calculation of the hardware accelerator card.
It is to be understood that the teachings of this application need not achieve all of the above advantages, but rather that specific embodiments may achieve specific technical effects, and that other embodiments of this application may achieve other advantages not mentioned above.
Drawings
The above and other objects, features and advantages of exemplary embodiments of the present application will become readily apparent from the following detailed description read in conjunction with the accompanying drawings. Several embodiments of the present application are illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings and in which:
in the drawings, the same or corresponding reference numerals indicate the same or corresponding parts.
FIG. 1 is a schematic diagram illustrating a hardware accelerator card connected to a server according to an embodiment of the present application;
FIG. 2 is a schematic diagram illustrating an implementation flow of a multi-party privacy computation method applied to a hardware accelerator card connected to a server according to an embodiment of the present application;
FIG. 3 illustrates a schematic block diagram of a multi-party privacy computing system according to an embodiment of the present application;
FIG. 4 is a schematic flow chart illustrating an implementation of a multi-party privacy computation method applied to a data provider server according to an embodiment of the present application;
FIG. 5 is a schematic flow chart illustrating an implementation of a multi-party privacy computation method applied to a privacy calculator server according to an embodiment of the present application;
FIG. 6 is a schematic diagram illustrating a hardware accelerator card connected to a server according to another embodiment of the present application;
FIG. 7 illustrates a block diagram of a multi-party privacy computing system according to another embodiment of the present application;
FIG. 8 is a block diagram of a multi-party privacy computing device applied to a hardware accelerator card connected to a server according to an embodiment of the present application;
FIG. 9 is a schematic diagram illustrating an exemplary configuration of a multi-party privacy computing device implemented on a data provider server according to an embodiment of the present application;
FIG. 10 is a block diagram illustrating a multi-party privacy computing device applied to a privacy calculator server according to an embodiment of the present application.
Detailed Description
The principles and spirit of the present application will be described with reference to a number of exemplary embodiments. It is understood that these embodiments are presented merely to enable those skilled in the art to better understand and to implement the present application, and are not intended to limit the scope of the present application in any way. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the disclosure to those skilled in the art.
The technical solution of the present application is further elaborated below with reference to the drawings and the specific embodiments.
Fig. 1 shows a component structure of a hardware accelerator card connected to a server used in an embodiment of the present application.
As shown in fig. 1, the server 11 may be connected to the accelerator card 12 through a bus interface 1102, for example, a Peripheral Component Interconnect (PCI) interface, a Peripheral Component Interconnect Express (PCIE) interface, and drive and access the accelerator card 12 through a host driver 1101.
The hardware accelerator card 12, for example, a Field Programmable Gate Array (FPGA) card, an Alveo accelerator card, or the like, includes an input-output unit 1201, at least one logical operation unit 1202, and a storage unit 1203. The input/output unit 1201 is configured to perform data exchange with the server 11, that is, receive input data input by the server 11, and return output data to the server 11; a logic operation unit 1202, which can perform simple logic operation for executing one or more programs to implement the multi-party privacy computation method of the present application; a storage unit 1203 is used for storing one or more programs.
Since the hardware accelerator card 12 often has speed, stability and concurrency capabilities of hardware timing that software cannot match, it can provide acceleration capabilities beyond a pure software optimization scheme, often used to replace software programs on the server 11 for higher performance. To provide various functions provided by the software program, the functions can be implemented by presetting a program (for example, an embedded program that can control a hardware device) that can implement the corresponding functions in the storage unit 1203 on the hardware accelerator card 12, and executing the program by the logical operation unit 1202. In the embodiment of the present application, a corresponding program capable of implementing the multi-party privacy computing method of the present application is preset in the storage unit 1203 of the hardware accelerator card 12, and the logic operation unit 1202 executes the corresponding program to implement the multi-party privacy computing method of the present application.
As shown in fig. 1, the hardware accelerator card 12 is an electronic device connected to the server 11 through a bus interface 1102, and exchanges data and communicates data with the server 11 through the bus interface 1102. The server 11 does not have direct access to the logical operation unit 1202 and the storage unit 1203 of the hardware accelerator card 12. Therefore, the program running in the logical operation unit 1202 and the program code and data stored in the storage unit 1203 are not easily leaked, and security at a hardware level can be secured. The applied multi-party privacy calculation method formally utilizes the characteristics of the hardware accelerator card 12, and the processing related to the privacy data is carried out on the hardware accelerator card 12, so that the privacy data is ensured not to be leaked, and the privacy calculation is safer and more reliable.
In the embodiment of the present application, the storage unit 1203 of the hardware accelerator card 12 further stores customizable security authentication information, such as local server hardware information and a system key, for authenticating the server 11. Therefore, the hardware accelerator card 12 can be prevented from being stolen to an illegal server to cause potential safety hazards. Therefore, the security of the multi-party privacy calculation method can be further ensured.
The security authentication information may be preset (e.g., burned) on the hardware accelerator card according to the information of the server 11, i.e., may be customized. Thus, the server 11 may be any type of server, and need not be a server that supports a particular architecture or is provided by a particular vendor. Therefore, the application range of the hardware accelerator card 12 can be larger, and the implementation is easier. Since the hardware accelerator card 12 can be connected with more types and models of servers, the existing servers can be utilized to the maximum extent for privacy calculation, and therefore the cost for adding new servers is greatly reduced.
Fig. 2 illustrates a main flow of a multi-party privacy calculation method implemented by the hardware accelerator card connected to the server shown in fig. 1 in an embodiment of the present application, and as shown in fig. 2, the method includes:
operation S210, authenticating the first server according to the security authentication information;
the security authentication information mainly comprises hardware information and/or a system key and the like, and is preset in the hardware accelerator card according to the determined server information. The hardware information comprises equipment identification, model and the like; the system key is a credential used to determine whether the operating system installed on the first server is secure.
When the first server is authenticated, the hardware information of the first server is mainly obtained through a bus interface and is compared with the hardware information preset on a hardware accelerator card; and/or confirming whether the operating system installed by the first server is safe and legal through the system key.
Therefore, once the server to which the hardware accelerator card is connected is determined, the hardware accelerator card and the server can be safely bound, the hardware accelerator card is ensured not to be randomly connected to other unauthorized servers, and potential safety hazards are avoided.
Operation S220, receiving data and an instruction transmitted by the first server;
the first server is connected to the hardware acceleration card and is authenticated in operation S210.
The first server sends data and instructions to the hardware accelerator card through the host driver and the bus interface, and the hardware accelerator card receives corresponding data and instructions from the bus interface through the input and output unit.
The instruction transmitted by the first server is a program-processable instruction preset on the hardware accelerator card and is also an instruction realized according to the requirement of realizing the multi-party privacy calculation method of the embodiment of the application. The instructions may be named arbitrarily, can represent functions realized by the instructions, and are disclosed by a specification or a help document. When the first server transmits the instruction, the instruction transmitted by the first server is ensured to be consistent with the instruction disclosed in the specification or the help file, so that the hardware accelerator card can find the corresponding program in the storage unit and execute the program through the logic operation unit.
The data passed by the first server is the data that the instruction is to process. The data processed by different instructions are different, for example, if the instruction transmitted by the first server is an encryption instruction, the transmitted data is data to be encrypted; if the instruction transmitted by the first server is a privacy calculation instruction, the transmitted data is data to be calculated; if the instruction transmitted by the first server is a decryption instruction, the transmitted data is data to be decrypted; if the instruction transmitted by the first server is an instruction for acquiring the root certificate, the data may not be transmitted.
Operation S230, if the instruction is an encryption instruction, encrypting the data to obtain encrypted data;
the encrypted instruction is not an instruction name, but represents that the function realized by the instruction is encrypted, and when the encrypted instruction is implemented, an implementer can adopt any instruction name representing the function. Subsequent corresponding instructions are similar and therefore will not be repeated.
In the embodiment of the present application, a specific method for encrypting data is not limited, and an implementer may use any applicable encryption algorithm and encryption method according to implementation requirements and implementation conditions.
Since the encryption operation is performed on the hardware accelerator card, the encryption program and the encryption algorithm are both stored in the memory unit of the hardware accelerator card and run in the logic operation unit of the hardware accelerator card, and therefore even the first server connected with the hardware accelerator card cannot access the hardware accelerator card. Thus, the security of the encryption algorithm and the program is ensured from the hardware level, and the encrypted data is difficult to crack.
Operation S240 returns the encrypted data to the first server.
The hardware accelerator card can output the encrypted data through the input and output unit, and return the encrypted data to the first server through the bus interface and the host drive, and the first server can use the encrypted data to perform privacy calculation, so that the privacy data is not visible to the outside, and the security of the privacy calculation is also ensured.
In the embodiment of the present application, the encryption instruction is actually only one of the basic instructions executed by the hardware accelerator card in the multiparty privacy computation method of the present application. In addition, more instructions can be realized to complete corresponding operations according to the multi-party privacy computing method. Exemplarily, the following steps are carried out:
in another embodiment of the present application, the hardware accelerator card may further implement a private computing instruction, and accordingly, the method further includes: if the instruction is a privacy calculation instruction, decrypting the data to obtain decrypted data; performing multi-party privacy calculation according to the decrypted data and the privacy calculation instruction to obtain a privacy calculation result; encrypting the privacy calculation result to obtain an encrypted privacy calculation result; and returning the encrypted privacy calculation result to the first server.
The data used for privacy calculation is often privacy data, and the data is encrypted and then sent to the hardware accelerator card, and is decrypted by the hardware accelerator card. The decrypted private data is only visible to the hardware accelerator card, and even invisible to the first server connected with the hardware accelerator card, so that the corresponding private data is ensured not to be revealed from the hardware level.
In another embodiment of the present application, the hardware accelerator card also implements decryption instructions. The method further comprises the following steps: and if the instruction transmitted by the first server is the privacy calculation instruction, decrypting the data transmitted by the first server to obtain the decrypted data. This instruction is typically used to decrypt the encrypted result obtained after the privacy computation for subsequent correlation processing.
In another embodiment of the present application, the hardware accelerator card is further preset with a customizable first root certificate, and implements an instruction to obtain the root certificate, and the method further includes: and if the instruction is the instruction for acquiring the root certificate, encrypting the first root certificate, and returning the encrypted root certificate to the first server. And the first server acquires the encrypted first root certificate, and then the first root certificate and other servers can be used for confirming the trust relationship.
The first certificate is preset (burned) to the hardware accelerator card according to the user's requirement, and is not fixed and can be customized. In this way, user requirements can be flexibly met by using user-specified credentials without using credentials provided by a specific third party authority.
Since the first root certificate can be used for ensuring that multi-party privacy calculation is performed based on mutually trusted servers, the first root certificate is stored in the hardware encryption card, so that the first server connected with the hardware encryption card can only acquire the encrypted first root certificate. Therefore, all parties participating in the privacy calculation can be further ensured to be trustable servers subjected to security authentication, and the security of the multi-party privacy calculation is further improved.
In another embodiment of the present application, the data transferred by the first server includes an encrypted second root certificate, and the method further includes: if the command is a certificate authentication command, decrypting the encrypted second certificate to obtain a second certificate; authenticating the second root certificate to obtain a certificate authentication result so as to determine that the encrypted second root certificate and the encrypted first root certificate are mutually trusted; and returning the certificate authentication result to the first server.
When the second root certificate is authenticated, trust calculation is mainly performed on the second root certificate and a first root certificate preset on a hardware accelerator card to determine that the second root certificate and the first root certificate are mutually trusted.
In another embodiment of the present application, the hardware accelerator card is further preset with a customizable initial key, the data includes a second server, and the method further includes: determining a working key according to the initial key and the second server; accordingly, encrypting the data comprises: the data is encrypted using the working key.
Wherein the initial cipher refers to a seed key used for generating the working key. The initial key is fixed and unchangeable, but the initial key can be used as a seed key, and the working key is randomly generated at different times according to a certain algorithm. The working key is a key really used for encrypting data, and is not easy to break due to the randomness of the working key, so that the encrypted data is safer.
In another embodiment of the present application, the working key is provided with a validity period, and the method further includes: determining that the working key is within the validity period; and if the working key is expired, updating the working key according to the initial key and the second server.
In the embodiment of the application, the security of the encrypted data is further improved through timeliness.
It should be noted that the hardware accelerator card shown in fig. 1 and the various operations executed on the hardware accelerator card shown in fig. 2 are the basic and core parts for implementing the multi-party privacy computation of the present application. However, in order to implement a complete multiparty privacy calculation process, the hardware accelerator card is connected to the server, and the server is used as a data provider server, or a privacy calculation server forms a multiparty privacy calculation system, and the multiparty privacy calculation process can be implemented only when the server participates in the privacy calculation process.
Fig. 3 illustrates a multi-party privacy computing system comprising a plurality of servers connected to the hardware accelerator card. In the multi-party privacy computing system shown in fig. 3, at least two data provider servers are included: a data provider server 31 and a data provider server 32; and at least one privacy calculator server 30.
The data provider server 31 is connected with a first hardware accelerator card 311, and the first hardware accelerator card 311 has the same function as the hardware accelerator card 12, and is configured to execute a corresponding multi-party privacy calculation method at the data provider server; the privacy calculator server 30 is connected to a second hardware accelerator card 301, and the second hardware accelerator card 301 has the same function as the hardware accelerator card 12, and is configured to execute a corresponding multi-party privacy calculation method at the privacy calculator server 30.
Specifically, on the data provider server side, for example, the data provider server 31, the method shown in fig. 4 is performed, including:
operation S410, transmitting the first private data and the encryption instruction to the first hardware accelerator card 311;
operation S420, receiving the encrypted first private data returned by the first hardware accelerator card 311;
operation S430 is to send the encrypted first privacy data and the privacy computation request to a privacy calculator server, for example, the privacy calculator server 30, so as to perform the multi-party privacy computation.
The privacy calculator server 30, executing the method shown in fig. 5, includes:
operation S510, receiving the encrypted first private data and the privacy calculation request sent by the data provider server 31;
operation S520, determining a privacy calculation instruction according to the privacy calculation request;
operation S530, transmitting the encrypted first private data and the private calculation instruction to the second hardware accelerator card 301;
operation S540, receiving an encrypted privacy calculation result corresponding to the privacy calculation request returned by the second hardware accelerator card 301;
in operation S550, the encrypted privacy calculation result is returned to the data provider server 31.
In this way, the data provider server 31 can complete the privacy calculation of the privacy data through the above-mentioned multiparty privacy calculation process, and obtain the encrypted privacy calculation result.
In the above process, the private data provided by the data provider server 31 is the private data encrypted by the first hardware accelerator card 311. In network transmission, the private data is also transmitted in a ciphertext form. Thus, it is possible to ensure that private data provided by the data provider server 31 is not leaked.
If the privacy computation requested by the data provider server 31 further requires the use of the second privacy data to the data provider server 32, operations S410 to S430 may be performed on the data provider server 32, encrypt the second privacy data on the data provider server 32 through the first hardware accelerator card 321, and transmit the encrypted second privacy data to the privacy calculator server 30.
The hardware accelerator card 301 on the privacy calculator server 30 decrypts all the privacy data related to the same privacy calculation request according to the privacy calculation request, places the decrypted clear text data in a memory or storage unit of the second hardware accelerator card 301 for calculation, and performs corresponding privacy calculation on the second hardware accelerator card 301, thereby ensuring that all the decrypted privacy data are only visible to the second hardware accelerator card 301, and even if the privacy calculator server 30 connected with the second hardware accelerator card cannot acquire the decrypted privacy data. Thus ensuring the security of private data at the hardware level.
In the above process, although the multiparty privacy computation requires the use of the privacy data provided by a plurality of data provider servers (e.g., the data provider server 31 and the data provider server 32), each data provider server only needs to provide the encrypted privacy data to the privacy calculator server (e.g., the privacy calculator server 30), and does not need to provide any form of privacy data (including the privacy data in encrypted form) to other data providers, and does not need to communicate with other data providers. Thereby further reducing the spread range of the private data, reducing the possibility of leakage of the private data, and greatly reducing the communication cost between data providers.
In addition, since the hardware accelerator cards connected to the privacy calculator server and the data provider server are functionally equivalent, this means that when the privacy calculator server is unavailable, elections can be made from the data provider servers, and one server is re-determined from the data provider servers as a new privacy calculator server for performing the multi-party privacy calculation.
Therefore, the high availability of the multi-party privacy computing system can be greatly improved, and the fact that the whole multi-party privacy computing system is unavailable due to unexpected downtime of a privacy computing party server is avoided.
It should be noted that the embodiments shown in fig. 1 to fig. 5 are only one basic application embodiment of the multi-party privacy calculation method, and an implementer may further extend the functions of the hardware accelerator card, provide more invokable instructions, and further refine and extend the implementation manner of the multi-party privacy calculation method according to implementation needs.
Fig. 6 to 7 show another embodiment of the multi-party privacy computation method of the present application.
In the embodiment of the application, the FPGA card is used as a hardware accelerator card connected with the server, and the PCIE interface is used for accessing the FPGA card, so that data transmission and communication between the server and the FPGA card are more massive.
Fig. 6 shows a main component structure of an FPGA card used in the embodiment of the present application.
As shown in fig. 6, the FPGA card 62 used in the embodiment of the present application uses an external chip 6203 as a storage unit to increase data storage capacity and meet the requirement of big data privacy computation. The external chip 6203 may also be a large double-data-rate synchronous dynamic random access memory (DDR SDRAM).
In the embodiment of the present application, in the external chip 6203 of the FPGA card 62, in addition to the security authentication information of the processing server, a root certificate for authenticating with the multi-party privacy computing server and an initial key for generating a working key are stored, and the following processing units are added to more efficiently implement a privacy computing instruction, a decryption instruction, an instruction for obtaining the root certificate, an authentication instruction for the certificate, and the like:
an encryption/decryption unit 6204 to assist the internal logic unit 6202 in executing the encryption and decryption instructions;
a key agreement unit 6205, configured to perform key agreement with the second server, and generate a working key according to a preset initial key;
an authentication unit 6206, configured to authenticate with the second server, that is, confirm the trust relationship;
the working key generated by the key agreement unit 6205 may be used in the process of encrypting and decrypting data of the encryption and decryption unit 6204; the authentication unit 6206 performs server authentication using the initial key provided by the key agreement unit 6205; the key agreement unit 6205 may also use the authentication result provided by the authentication unit 6206 in the process of performing key agreement to determine that the second server for negotiating the key is authentic.
The internal bus 6207 is used to transmit data between the internal logic unit 6202 and the encryption/decryption unit 6204.
For the specific operations executed by the privacy calculation instruction, the decryption instruction, the root certificate acquisition instruction, and the certificate authentication instruction, please refer to the foregoing embodiments, which are not described herein again.
In the FPGA card shown in fig. 6, by adding a dedicated processing unit, for example, the encryption/decryption unit 6204, the key agreement unit 6205, the authentication unit 6206, and the like, operations such as key agreement, server authentication, encryption/decryption, and the like are completed, and processing logic of the internal logic unit 6202 can be simplified to be more concentrated on the multi-party privacy calculation part, so that performance of the FPGA in performing multi-party privacy calculation can be further improved, operations such as key agreement, server authentication, encryption/decryption, and the like can be processed in parallel with the privacy calculation process, and efficiency of the multi-party privacy calculation is also greatly improved.
In the FPGA card shown in fig. 6, the trusted units are diagonal elements, such as the encryption/decryption unit 6204, the key agreement unit 6205, the authentication unit 6206, the internal bus 6207, the internal logic unit 6202, and the external chip 6203. The blank background part is an untrusted unit, and the private data exists in an untrusted module in a ciphertext mode, so that the safety of the private data can be ensured.
The internal unit of the FPGA card is mainly a trusted unit, and because the physical characteristics of the FPGA realize high security of internal logic, even if a bottom operating system of the server is broken through, unopened data (such as a root certificate, an initial key, decrypted plaintext data and the like) in the FPGA can not be obtained through the FPGA.
In addition, in this embodiment, the firmware source code of the FPGA computing card is also sourced to the user, so that the user can modify the firmware source code to integrate the self-defined security function thereof, and can configure the aforementioned trust bases such as the customizable server security authentication information, the first root certificate, the initial key and the like by himself, so as to reduce the trust dependence of the multi-party privacy computing system on hardware vendors. The extensibility of the multi-party privacy calculation method is further improved, and most of the existing general servers can be used as data provider servers or privacy calculator servers for privacy calculation as long as the FPGA card and the corresponding host driver are additionally arranged.
Fig. 7 shows an operation performed by a multiparty privacy calculation system using a server to which the FPGA card shown in fig. 6 is connected as a data provider server and a privacy calculator server, and performing sequential multiparty privacy calculations on the respective servers (e.g., the data provider server 71, the data provider server 72, and the privacy calculator server 73).
In the multiparty privacy computing system shown in fig. 7, data provider servers (e.g., a data provider server 71 and a data provider server 72) mainly perform operations of data preprocessing, task initiation, result acquisition, and the like; the privacy calculator server (for example, the privacy calculator server 73) mainly performs operations such as task synchronization, data calculation, and result transmission. In various data communications between a data provider server participating in multi-party privacy computation and a privacy calculator server, various data, particularly privacy data, are transmitted in a ciphertext form.
Before deploying the multi-party privacy computing system shown in fig. 7, security authentication information of servers connected to the FPGA card of each server, a root certificate for allowing each server to mutually trust each other, an initial key negotiated by each server, and the like are preset in the FPGA card of each server.
Before multi-party privacy calculation, each server participating in privacy calculation authenticates the server performing interaction.
For example, operation S7110 is performed on the data provider server 71 to authenticate with the privacy calculator server.
The method specifically comprises the following steps: transmitting an instruction for acquiring a root certificate to a first hardware accelerator card; receiving an encrypted root certificate returned by the first hardware accelerator card; and sending the encrypted root certificate to the privacy calculator server.
Then, receiving an encrypted root certificate sent by a privacy calculator server; transmitting the encrypted root certificate and the certificate authentication instruction to a first hardware accelerator card; and receiving a certificate authentication result returned by the first hardware acceleration card.
If the privacy calculator server is determined to be trusted, the subsequent multiparty privacy calculation process can be continued, otherwise, an error is reported.
Similarly, the above-described procedure is also performed at the data provider server 72 to authenticate the privacy calculator server through operation S7210.
Correspondingly, operation S7310 is performed at the privacy calculator server 73 to authenticate the data provider server with which it interacts.
The method specifically comprises the following steps: transmitting an instruction for acquiring the root certificate to a second hardware accelerator card; receiving an encrypted root certificate returned by the second hardware accelerator card; and sending the encrypted root certificate to a data provider server.
Then, receiving the encrypted root certificate sent by the data provider server; transmitting the encrypted root certificate and the certificate authentication instruction to a second hardware accelerator card; and receiving a certificate authentication result returned by the second hardware acceleration card.
If the data provider server is confirmed to be trusted, the subsequent multiparty privacy computation process can be continued, otherwise, an error is reported.
After the authentication process between the servers is completed, the multi-party privacy calculation process can be started. Assuming this privacy computation task is initiated by the data provider server 72, the multi-party privacy computation task requires the use of data provided to the data provider server 71.
On the data provider server 72 side, the following operations are performed:
operation S7220, performing data preprocessing;
the method specifically comprises the steps of denoising, verifying, correcting and the like of data to be calculated.
Also included on the first hardware accelerator card is authenticating the data provider server based on the secure authentication information to ensure that the data provider server 72 is a legitimate server.
Operation S7230, negotiating a key with the privacy calculator server;
the method specifically comprises the following steps: the privacy calculator server (e.g., an identification and a network address of the privacy calculator server) is passed to the first hardware acceleration card for key agreement with the privacy calculator server by the first hardware acceleration card.
Operation S7240 of encrypting the private data using the key;
the method specifically comprises the following steps: transmitting the private data and the encryption instruction to a first hardware accelerator card; and receiving the encrypted private data returned by the first hardware acceleration card.
In operation S7250, the encrypted private data and the multiparty calculation request are uploaded to the private calculator server 73.
On the data provider server 71 side, similar operations as described above are performed through operations S7120 to S7150, and the encrypted private data on the data provider server 71 is also uploaded to the privacy calculator server 73.
At the server side of the privacy calculator, the following operations are executed:
operation S7320, receiving data to be calculated (private data uploaded by the data provider server 71 and the data provider server 72);
the method specifically comprises the following steps: and receiving the encrypted privacy data and the privacy calculation request sent by the data provider server.
Operation S7330, negotiating a key with the data provider server;
the method specifically comprises the following steps: the data provider server (e.g., an identification and network address of the data provider server) is passed to the second hardware accelerator card for key agreement with the data provider server.
Operation S7340, decrypting the received encrypted private data;
the method specifically comprises the following steps: transmitting the encrypted private data and the encrypted private calculation instruction to a second hardware accelerator card; and receiving an encrypted privacy calculation result corresponding to the privacy calculation request returned by the second hardware acceleration card.
Operation S7350, performing multi-party privacy computation on the decrypted data;
the method specifically comprises the following steps: determining a privacy calculation instruction according to the privacy calculation request; and transmitting the encrypted privacy data and the privacy calculation instruction to a second hardware accelerator card, and executing the following operations S7360 and S7370 on the second hardware accelerator card:
operation S7360, negotiating a key with a data provider server;
operation S7370, encrypt and transmit the multiparty privacy calculation result;
and then, receiving an encrypted privacy calculation result corresponding to the privacy calculation request and returned by the second hardware acceleration card, and then continuing the following operations:
operation S7380 returns the encrypted multiparty privacy calculation result to the value data provider server 72.
Then, the data provider server 7 performs the following operations to obtain a multi-party privacy result, and performs subsequent calculation:
operation S7260, receiving an encrypted result of the multiparty privacy calculation;
operation S7270, negotiating a key with the privacy calculator server;
operation S7280, decrypting the received encrypted result of the multiparty privacy computation to obtain a plaintext result of the multiparty privacy computation;
in operation S7290, a subsequent calculation is performed using the plaintext multiparty privacy calculation result.
On the data provider server 71 side, a process similar to operations S7260 to S7280 may also be performed to obtain the result of the multiparty privacy calculation, if necessary.
Thus, a multi-party privacy calculation process is completed.
In the operations shown in fig. 7, the diagonal background section is implemented in the trusted unit of the FPGA card shown in fig. 6; while the other part can be done by the server or by the untrusted unit of the FPGA card.
Similarly, based on the foregoing multi-party privacy computation method, an embodiment of the present application further provides a multi-party privacy computation apparatus, as shown in fig. 8, where the apparatus 80 is applied to a hardware acceleration card connected to a first server, and customizable security authentication information is preset on the hardware acceleration card, and the apparatus 80 includes: a server authentication module 801, configured to authenticate the first server according to the security authentication information to ensure that the first server is legal; a data receiving module 802, configured to receive data and instructions transmitted by a first server; a data encryption module 803, configured to encrypt data to obtain encrypted data if the instruction is an encryption instruction; a data returning module 804, configured to return the encrypted data to the first server.
According to an embodiment of the present application, the apparatus 80 further comprises: the data decryption module is used for decrypting the data to obtain decrypted data if the instruction is a privacy calculation instruction; the privacy calculation module is used for performing multi-party privacy calculation according to the decrypted data and the privacy calculation instruction to obtain a privacy calculation result; the data encryption module is used for encrypting the privacy calculation result to obtain an encrypted privacy calculation result; and the data returning module is used for returning the encrypted privacy calculation result to the first server.
According to an embodiment of the application, the data decryption module is further configured to decrypt the data to obtain decrypted data if the instruction is a decryption instruction; the data returning module is also used for returning the decrypted data to the first server.
According to an embodiment of the present application, the hardware accelerator card is further preset with a first root certificate that can be customized, and the apparatus 80 further includes: and the root certificate returning module is used for encrypting the first certificate and returning the encrypted first root certificate to the first server if the instruction is an instruction for acquiring the root certificate.
According to an embodiment of the application, the data includes an encrypted second certificate, and the data decryption module is further configured to decrypt the encrypted second certificate to obtain the second certificate if the instruction is a certificate authentication instruction; the apparatus 80 further includes a certificate authentication module configured to authenticate the second certificate to obtain a certificate authentication result, so as to determine that the encrypted second root certificate and the first root certificate are mutually trusted; the data returning module is also used for returning the certificate authentication result to the first server.
According to an embodiment of the present application, the hardware accelerator card is further pre-configured with a customizable initial key, the data includes a second server, and the apparatus 80 further includes: the working key determining module is used for determining a working key according to the initial key and the second server; accordingly, the data encryption module 803 is specifically configured to encrypt data using the working key.
According to an embodiment of the present application, the working key is provided with a validity period, and the apparatus 80 further includes: the validity period confirmation module is used for confirming that the working key is in the validity period; and the work key updating module is used for updating the work key according to the initial key and the second server if the work key is expired.
Similarly, based on the above multi-party privacy computation method, an embodiment of the present application further provides a multi-party privacy computation apparatus, where the apparatus is applied to a data provider server, the data provider server is connected with a first hardware accelerator card, and the first hardware accelerator card is the above hardware accelerator card, as shown in fig. 9, the apparatus 90 includes: a first hardware accelerator card data transmission module 901, configured to transmit the private data and the encryption instruction to a first hardware accelerator card; a first hardware accelerator card data receiving module 902, configured to receive encrypted private data returned by a first hardware accelerator card; a privacy computation request sending module 903, configured to send the encrypted privacy data and privacy computation request to a privacy computation side server to perform multi-party privacy computation.
According to an embodiment of the present application, the apparatus 90 further comprises: and the data receiving module is used for receiving the encrypted privacy calculation result corresponding to the privacy calculation request returned by the privacy calculator server.
According to an embodiment of the present application, the first hardware accelerator card data transmission module 901 is further configured to transmit the encrypted privacy calculation result and the decryption instruction to the first hardware accelerator card; the first hardware accelerator card data receiving module 902 is further configured to receive a decrypted privacy calculation result returned by the first hardware accelerator card.
According to an embodiment of the present application, the first hardware accelerator card data transmission module 901 is further configured to transmit an instruction for obtaining a root certificate to the first hardware accelerator card; the first hardware accelerator card data receiving module 902 is further configured to receive an encrypted third certificate returned by the first hardware accelerator card; the apparatus 90 further includes a root certificate sending module configured to send the encrypted third certificate to the privacy calculator server.
According to an embodiment of the present application, the first hardware accelerator card data receiving module 902 is further configured to receive an encrypted fourth certificate sent by the privacy calculator server; the first hardware accelerator card data transmission module 901 is further configured to transmit the encrypted fourth certificate and the certificate authentication instruction to the first hardware accelerator card; the first hardware accelerator card data receiving module 902 is further configured to receive a certificate authentication result returned by the first hardware accelerator card.
According to an embodiment of the present application, the first hardware accelerator card data transmission module 901 is further configured to transmit the privacy calculator server to the first hardware accelerator card, so that the first hardware accelerator card performs key agreement with the privacy calculator server.
Similarly, based on the above multi-party privacy computation method, an embodiment of the present application further provides a multi-party privacy computation apparatus, where the apparatus is applied to a privacy computation server, the privacy computation server is connected with a second hardware accelerator card, and the second hardware accelerator card is the above hardware accelerator card, and the apparatus 100 includes: a privacy calculation request receiving module 1001, configured to receive encrypted privacy data and a privacy calculation request sent by a data provider server; a privacy calculation instruction determining module 1002, configured to determine a privacy calculation instruction according to the privacy calculation request; the second hardware accelerator card data transmission module 1003 is configured to transmit the encrypted privacy data and the privacy calculation instruction to the second hardware accelerator card; the second hardware accelerator card data receiving module 1004 is configured to receive an encrypted privacy calculation result corresponding to the privacy calculation request and returned by the second hardware accelerator card; a privacy computation result returning module 1005, configured to return the encrypted privacy computation result to the data provider server.
According to an embodiment of the present application, the second hardware accelerator card data transmission module 1003 is further configured to transmit an instruction for obtaining a root certificate to the second hardware accelerator card; the second hardware accelerator card data receiving module 1004 is further configured to receive the encrypted fifth certificate returned by the second hardware accelerator card; the privacy computation result returning module 1005 is further configured to send the encrypted fifth certificate to the data provider server.
According to an embodiment of the present application, the second hardware accelerator card data receiving module 1004 is further configured to receive an encrypted sixth certificate sent by the data provider server; the second hardware accelerator card data transmission module 1003 is further configured to transmit the encrypted sixth certificate and the certificate authentication instruction to the second hardware accelerator card; the second hardware accelerator card data receiving module 1004 is further configured to receive a certificate authentication result returned by the second hardware accelerator card.
The second hardware accelerator card data receiving module 1004 according to an embodiment of the present application is further configured to transmit the data provider server to the second hardware accelerator card, so that the second hardware accelerator card performs key agreement with the data provider server.
Further, based on the multi-party privacy calculation method, an embodiment of the present application further provides a computer-readable storage medium storing a program, which, when executed by a processor, causes the processor to execute at least the multi-party privacy calculation method applied to the data provider server and the privacy calculator server.
Here, it should be noted that: the above descriptions of the embodiment of the multi-party privacy computation method and apparatus and the embodiment of the computer-readable storage medium are similar to the descriptions of the foregoing method embodiments, and have similar beneficial effects to the foregoing method embodiments, and therefore are not described in detail. For technical details not disclosed in the embodiments of the multi-party privacy computing method and apparatus and the embodiments of the computer-readable storage medium, please refer to the description of the foregoing method embodiments of the present application for understanding, and therefore, for brevity, no further description is provided.
It should be noted that, in this document, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other like elements in a process, method, article, or apparatus that comprises the element.
In the several embodiments provided in the present application, it should be understood that the disclosed apparatus and method may be implemented in other ways. The above-described device embodiments are merely illustrative, for example, the division of the unit is only a logical functional division, and there may be other division ways in actual implementation, such as: multiple units or components may be combined, or may be integrated into another system, or some features may be omitted, or not implemented. In addition, the coupling, direct coupling or communication connection between the components shown or discussed may be through some interfaces, and the indirect coupling or communication connection between the devices or units may be electrical, mechanical or in other forms.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units; can be located in one place or distributed on a plurality of network units; some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiments of the present application.
In addition, all functional units in the embodiments of the present application may be integrated into one processing unit, or each unit may be separately regarded as one unit, or two or more units may be integrated into one unit; the integrated unit can be realized in a form of hardware, or in a form of hardware plus a software functional unit.
Those of ordinary skill in the art will understand that: all or part of the steps for realizing the method embodiments can be completed by hardware related to program instructions, the program can be stored in a computer readable storage medium, and the program executes the steps comprising the method embodiments when executed; and the aforementioned storage medium includes: various media that can store program codes, such as a removable Memory device, a Read Only Memory (ROM), a magnetic disk, or an optical disk.
Alternatively, the integrated unit may be stored in a computer-readable storage medium if it is implemented in the form of a software functional module and sold or used as a separate product. Based on such understanding, the technical solutions of the embodiments of the present application may be essentially implemented or portions thereof contributing to the prior art may be embodied in the form of a software product stored in a storage medium, and including several instructions for enabling a computer device (which may be a personal computer, a server, or a network device) to execute all or part of the method of the embodiments of the present application. And the aforementioned storage medium includes: a removable storage device, a ROM, a magnetic or optical disk, or other various media that can store program code.
The above description is only for the specific embodiments of the present application, but the scope of the present application is not limited thereto, and any person skilled in the art can easily conceive of the changes or substitutions within the technical scope of the present application, and shall be covered by the scope of the present application. Therefore, the protection scope of the present application shall be subject to the protection scope of the claims.

Claims (16)

1. A multi-party privacy calculation method based on a hardware accelerator card is characterized in that the method is applied to a data provider server, the data provider server is connected with a first hardware accelerator card, and the method comprises the following steps:
communicating private data and encryption instructions to the first hardware accelerator card;
receiving encrypted private data returned by the first hardware accelerator card;
and sending the encrypted privacy data and the privacy calculation request to a privacy calculator server to perform multiparty privacy calculation.
2. The method of claim 1, further comprising:
and receiving an encrypted privacy calculation result which is returned by the privacy calculator server and corresponds to the privacy calculation request.
3. The method of claim 1, further comprising:
transmitting the encrypted privacy calculation result and the encrypted decryption instruction to the first hardware accelerator card;
and receiving a decrypted privacy calculation result returned by the first hardware acceleration card.
4. The method of claim 1, further comprising:
transmitting an instruction for acquiring a root certificate to the first hardware accelerator card;
receiving an encrypted third certificate returned by the first hardware accelerator card;
and sending the encrypted third certificate to a privacy calculator server.
5. The method of claim 1, further comprising:
receiving an encrypted fourth certificate sent by the privacy calculator server;
transmitting the encrypted fourth certificate and the certificate authentication instruction to the first hardware accelerator card;
and receiving a certificate authentication result returned by the first hardware acceleration card.
6. The method of claim 1, further comprising:
and transmitting the privacy calculator server to the first hardware accelerator card so that the first hardware accelerator card and the privacy calculator server can carry out key agreement.
7. A multi-party privacy computation method based on a hardware accelerator card is characterized in that the method is applied to a privacy computation side server, a second hardware accelerator card is connected to the privacy computation side server, and the method comprises the following steps:
receiving encrypted privacy data and a privacy calculation request sent by a data provider server;
determining a privacy calculation instruction according to the privacy calculation request;
transmitting the encrypted private data and the private calculation instruction to the second hardware accelerator card;
receiving an encrypted privacy calculation result which is returned by the second hardware accelerator card and corresponds to the privacy calculation request;
and returning the encrypted privacy calculation result to the data provider server.
8. The method of claim 7, further comprising:
transmitting an instruction for acquiring a root certificate to the second hardware accelerator card;
receiving an encrypted fifth certificate returned by the second hardware accelerator card;
and sending the encrypted fifth certificate to a data provider server.
9. The method of claim 7, further comprising:
receiving the encrypted sixth certificate sent by the data provider server;
transmitting the encrypted sixth certificate and the certificate authentication instruction to the second hardware accelerator card;
and receiving a certificate authentication result returned by the second hardware accelerator card.
10. The method of claim 7, further comprising:
and transmitting the data provider server to the second hardware accelerator card so that the second hardware accelerator card and the data provider server perform key agreement.
11. A hardware accelerator card-based multi-party privacy computation method is applied to at least two data provider servers and at least one privacy calculator server, wherein the data provider servers are connected with a first hardware accelerator card, and the privacy calculator server is connected with a second hardware accelerator card, and the method comprises the following steps:
a first data provider server of the at least two data provider servers transmits first privacy data and an encryption instruction to a first hardware accelerator card on the first data provider server, receives encrypted first privacy data returned by the first hardware accelerator card on the first data provider server, and sends the encrypted first privacy data and a privacy calculation request to a privacy calculator server;
the privacy calculator server receives the encrypted first privacy data and the privacy calculation request, determines a privacy calculation instruction according to the privacy calculation request, transmits the encrypted first privacy data and the privacy calculation instruction to the second hardware accelerator card, receives an encrypted privacy calculation result corresponding to the privacy calculation request and returned by the second hardware accelerator card, and returns the encrypted privacy calculation result to the first data provider server.
12. The method of claim 11, wherein the privacy computation request further requires use of second privacy data provided to a second data provider server of the at least two data provider servers, the method further comprising:
the second data provider server transmits the second privacy data and the encryption instruction to a first hardware accelerator card on the second data provider server, receives encrypted privacy data returned by the first hardware accelerator card on the second data provider server, and sends the encrypted second privacy data to the privacy calculator server;
and the privacy calculator server receives the encrypted second privacy data sent by the second data provider server and transmits the encrypted second privacy data to the second hardware accelerator card.
13. A hardware accelerator card-based multi-party privacy computing device is applied to a data provider server, the data provider server is connected with a first hardware accelerator card, and the device comprises:
the first hardware accelerator card data transmission module is used for transmitting privacy data and an encryption instruction to the first hardware accelerator card;
the first hardware accelerator card data receiving module is used for receiving the encrypted private data returned by the first hardware accelerator card;
and the privacy calculation request sending module is used for sending the encrypted privacy data and the privacy calculation request to a privacy calculator server so as to perform multi-party privacy calculation.
14. A hardware accelerator card-based multi-party privacy computing device is applied to a privacy computing party server, a second hardware accelerator card is connected to the privacy computing party server, and the device comprises:
the privacy calculation request receiving module is used for receiving the encrypted privacy data and the privacy calculation request sent by the data provider server;
the privacy calculation instruction determining module is used for determining a privacy calculation instruction according to the privacy calculation request;
the second hardware accelerator card data transmission module is used for transmitting the encrypted privacy data and the privacy calculation instruction to the second hardware accelerator card;
the second hardware accelerator card data receiving module is used for receiving an encrypted privacy calculation result which is returned by the second hardware accelerator card and corresponds to the privacy calculation request;
and the privacy calculation result returning module is used for returning the encrypted privacy calculation result to the data provider server.
15. A hardware accelerator card based multi-party privacy computing system, comprising at least two data provider servers and at least one privacy calculator server, wherein,
the data provider server is connected with a first hardware accelerator card and is used for executing the method of any one of claims 9-14;
the privacy calculator server is connected with a second hardware accelerator card for executing the method of any one of claims 15-18.
16. A computer-readable storage medium, on which a computer program is stored which, when being executed by a processor, carries out the method according to any one of claims 1-10.
CN202210331821.8A 2022-03-30 2022-03-30 Multiparty privacy calculation method, device and system based on hardware accelerator card Active CN114697113B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210331821.8A CN114697113B (en) 2022-03-30 2022-03-30 Multiparty privacy calculation method, device and system based on hardware accelerator card

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210331821.8A CN114697113B (en) 2022-03-30 2022-03-30 Multiparty privacy calculation method, device and system based on hardware accelerator card

Publications (2)

Publication Number Publication Date
CN114697113A true CN114697113A (en) 2022-07-01
CN114697113B CN114697113B (en) 2024-06-21

Family

ID=82141357

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210331821.8A Active CN114697113B (en) 2022-03-30 2022-03-30 Multiparty privacy calculation method, device and system based on hardware accelerator card

Country Status (1)

Country Link
CN (1) CN114697113B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115622684A (en) * 2022-11-16 2023-01-17 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) Privacy computation heterogeneous acceleration method and device based on fully homomorphic encryption

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1684417A (en) * 2004-04-13 2005-10-19 友旺科技股份有限公司 VPN acceleration card
US20070038867A1 (en) * 2003-06-02 2007-02-15 Verbauwhede Ingrid M System for biometric signal processing with hardware and software acceleration
US20140096261A1 (en) * 2012-10-01 2014-04-03 Nokia Corporation Method and apparatus for providing privacy policy for data stream
CN108616535A (en) * 2018-04-28 2018-10-02 济南浪潮高新科技投资发展有限公司 One kind exchanging acceleration system and method based on FPGA multi-protocols secure authenticated networks
US10284552B1 (en) * 2018-06-06 2019-05-07 Capital One Services, Llc Systems and methods for using micro accelerations as a biometric identification factor
US20200021568A1 (en) * 2018-07-16 2020-01-16 Sap Se Private Benchmarking Cloud Service with Enhanced Statistics
CN111368338A (en) * 2020-05-27 2020-07-03 支付宝(杭州)信息技术有限公司 Data processing method and data processing system based on multi-party privacy protection
US20210203492A1 (en) * 2018-05-16 2021-07-01 Inesc Tec Instituto De Engenharia De Sistemas De Computadores Internet of things security with multi-party computation (mpc)
US20210281408A1 (en) * 2019-01-04 2021-09-09 Baidu.Com Times Technology (Beijing) Co. Ltd. A data processing accelerator having a security unit to provide root trust services
CN113434284A (en) * 2021-08-27 2021-09-24 华控清交信息科技(北京)有限公司 Privacy computation server side equipment, system and task scheduling method
CN113553602A (en) * 2020-04-26 2021-10-26 华为技术有限公司 Data processing method, device, system, equipment and medium
CN114036573A (en) * 2021-11-30 2022-02-11 支付宝(杭州)信息技术有限公司 Computing device supporting private computing

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070038867A1 (en) * 2003-06-02 2007-02-15 Verbauwhede Ingrid M System for biometric signal processing with hardware and software acceleration
CN1684417A (en) * 2004-04-13 2005-10-19 友旺科技股份有限公司 VPN acceleration card
US20140096261A1 (en) * 2012-10-01 2014-04-03 Nokia Corporation Method and apparatus for providing privacy policy for data stream
CN108616535A (en) * 2018-04-28 2018-10-02 济南浪潮高新科技投资发展有限公司 One kind exchanging acceleration system and method based on FPGA multi-protocols secure authenticated networks
US20210203492A1 (en) * 2018-05-16 2021-07-01 Inesc Tec Instituto De Engenharia De Sistemas De Computadores Internet of things security with multi-party computation (mpc)
US10284552B1 (en) * 2018-06-06 2019-05-07 Capital One Services, Llc Systems and methods for using micro accelerations as a biometric identification factor
US20200021568A1 (en) * 2018-07-16 2020-01-16 Sap Se Private Benchmarking Cloud Service with Enhanced Statistics
US20210281408A1 (en) * 2019-01-04 2021-09-09 Baidu.Com Times Technology (Beijing) Co. Ltd. A data processing accelerator having a security unit to provide root trust services
CN113553602A (en) * 2020-04-26 2021-10-26 华为技术有限公司 Data processing method, device, system, equipment and medium
CN111368338A (en) * 2020-05-27 2020-07-03 支付宝(杭州)信息技术有限公司 Data processing method and data processing system based on multi-party privacy protection
CN113434284A (en) * 2021-08-27 2021-09-24 华控清交信息科技(北京)有限公司 Privacy computation server side equipment, system and task scheduling method
CN114036573A (en) * 2021-11-30 2022-02-11 支付宝(杭州)信息技术有限公司 Computing device supporting private computing

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115622684A (en) * 2022-11-16 2023-01-17 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) Privacy computation heterogeneous acceleration method and device based on fully homomorphic encryption
CN115622684B (en) * 2022-11-16 2023-03-28 哈尔滨工业大学(深圳)(哈尔滨工业大学深圳科技创新研究院) Privacy computation heterogeneous acceleration method and device based on fully homomorphic encryption

Also Published As

Publication number Publication date
CN114697113B (en) 2024-06-21

Similar Documents

Publication Publication Date Title
CN110493202B (en) Login token generation and verification method and device and server
CN108092776B (en) System based on identity authentication server and identity authentication token
US9875368B1 (en) Remote authorization of usage of protected data in trusted execution environments
KR102493744B1 (en) Security Verification Method Based on Biometric Characteristics, Client Terminal, and Server
JP6612322B2 (en) Data processing method and data processing apparatus
US7526649B2 (en) Session key exchange
EP1997270B1 (en) Method and system for authenticating a user
CN101291224B (en) Method and system for processing data in communication system
CN101051904B (en) Method for landing by account number cipher for protecting network application sequence
US8953805B2 (en) Authentication information generating system, authentication information generating method, client apparatus, and authentication information generating program for implementing the method
CN103546289A (en) USB (universal serial bus) Key based secure data transmission method and system
GB2554082B (en) User sign-in and authentication without passwords
CN113014444A (en) Internet of things equipment production test system and safety protection method
CN114244508A (en) Data encryption method, device, equipment and storage medium
CN117081736A (en) Key distribution method, key distribution device, communication method, and communication device
CN106992978B (en) Network security management method and server
CN108900595B (en) Method, device and equipment for accessing data of cloud storage server and computing medium
Hu et al. Enhancing Account Privacy in Blockchain-based IoT Access Control via Zero Knowledge Proof
CN114697113B (en) Multiparty privacy calculation method, device and system based on hardware accelerator card
CN109474431A (en) Client certificate method and computer readable storage medium
CN113545004A (en) Authentication system with reduced attack surface
CN116015647A (en) Sensitive information security acquisition method, system, device and electronic equipment
CN116450281A (en) Access processing method, virtual machine identifier configuration method, chip and computer equipment
CN110968878A (en) Information transmission method, system, electronic device and readable medium
CN114785566B (en) Data processing method, device and equipment

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant