CN112003690B - Password service system, method and device - Google Patents

Password service system, method and device Download PDF

Info

Publication number
CN112003690B
CN112003690B CN201910759555.7A CN201910759555A CN112003690B CN 112003690 B CN112003690 B CN 112003690B CN 201910759555 A CN201910759555 A CN 201910759555A CN 112003690 B CN112003690 B CN 112003690B
Authority
CN
China
Prior art keywords
service
password
cryptographic
cryptographic service
nodes
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910759555.7A
Other languages
Chinese (zh)
Other versions
CN112003690A (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.)
Huakong Tsingjiao Information Technology Beijing Co Ltd
Original Assignee
Huakong Tsingjiao Information Technology Beijing 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 Huakong Tsingjiao Information Technology Beijing Co Ltd filed Critical Huakong Tsingjiao Information Technology Beijing Co Ltd
Priority to CN201910759555.7A priority Critical patent/CN112003690B/en
Publication of CN112003690A publication Critical patent/CN112003690A/en
Application granted granted Critical
Publication of CN112003690B publication Critical patent/CN112003690B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/0863Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • 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

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 provides a password service system, a method and a device, wherein the password service system comprises the following components: a plurality of cryptographic service nodes configured in a system architecture that is mutually untrusted and that communicates over a network; wherein, each cipher service node is preset with an operation instruction for executing a plurality of cipher services in cooperation with at least one other cipher service node; the plurality of cipher service nodes cooperatively execute the operation instructions of the corresponding cipher service based on a cipher service request to obtain a plurality of cipher service result components. The password service system is used for solving the problem of low security caused by the fact that a hardware encryption machine provides password service by using a single server.

Description

Password service system, method and device
Technical Field
The present disclosure relates to the field of data security technologies, and in particular, to a cryptographic service system, method, and apparatus.
Background
In order to protect private data of enterprises and users, financial systems such as banks and the like adopt hardware encryptors to encrypt, transmit and store the private data. However, in the present hardware encryptor, the single server is generally used for performing the cryptographic service, so that the data such as the private key used for encrypting the private data, the plaintext of the private data and the master key of the encryptor cannot be recovered in the single server when the single cryptographic server is used for performing the cryptographic service, and an attacker may obtain the data if the server of the hardware encryptor is broken, so that the present hardware encryptor has the problem of low security. For the above problems existing in the existing hardware encryptor, no effective solution has been proposed at present.
Disclosure of Invention
In view of the above drawbacks of the prior art, an object of the present application is to provide a cryptographic service system, method and device, which are used for solving the problem in the prior art that the cryptographic machine uses a single server to provide the cryptographic service, resulting in low security.
To achieve the above and other related objects, a first aspect of the present application provides a cryptographic service system, including: a plurality of cryptographic service nodes configured in a system architecture that is mutually untrusted and that communicates over a network; wherein, each cipher service node is preset with an operation instruction for executing a plurality of cipher services in cooperation with at least one other cipher service node; the plurality of cipher service nodes cooperatively execute the operation instructions of the corresponding cipher service based on a cipher service request to obtain a plurality of cipher service result components.
In certain implementations of the first aspect, the cryptographic service system further comprises a cryptographic service management system comprising a plurality of cryptographic service management nodes configured in a system architecture that is mutually untrusted and that is in network communication; each password service management node is preset with an operation instruction for executing password management service in cooperation with at least one other password service management node based on a password service request provided by the password service node.
In certain implementations of the first aspect, the step of presetting, in each cryptographic service management node, operation instructions for executing the cryptographic service in cooperation with at least one other cryptographic service management node based on the cryptographic service request provided by the cryptographic service node includes: the password service management nodes execute operation instructions of corresponding password management services based on the password service requests provided by the password service nodes to obtain a plurality of password management service results; and distributing the obtained multiple password management service results to each password service node so as to enable each password service node to recover corresponding key data.
In certain embodiments of the first aspect, the step of the plurality of cryptographic service nodes cooperatively executing the operation instructions of the respective cryptographic services based on a cryptographic service request to obtain a plurality of cryptographic service result components includes: the plurality of password service nodes acquire data to be processed based on the password service request; the plurality of cipher service nodes cooperatively execute operation instructions of corresponding cipher services on the acquired data to be processed based on the respective restored key data.
In certain implementations of the first aspect, the cryptographic service request includes any one of: generating a random number service request and a service request containing a password type generated password; the plurality of cryptographic service nodes execute, when executing the operation instruction of the respective corresponding cryptographic service: generating random initial values by at least two password service nodes; the plurality of cipher service nodes cooperatively execute operation instructions of corresponding cipher services based on the generated random initial values to obtain a plurality of cipher service result components.
In certain implementations of the first aspect, the operation instructions are set based on a computing role of the cryptographic service node in a secret sharing technique.
In certain implementations of the first aspect, the cryptographic service management system further processes the cryptographic service request into a cryptographic service request component corresponding to each cryptographic service node based on a multiparty secure computing system architecture formed by the plurality of cryptographic service nodes and provides the cryptographic service request component to each cryptographic service node.
A second aspect of the present application provides a cryptographic service method, wherein the cryptographic service method is applied to a plurality of cryptographic service nodes configured in a system architecture that is mutually untrusted and in network communication; wherein, each cipher service node is preset with an operation instruction for executing a plurality of cipher services in cooperation with at least one other cipher service node; the password service method comprises the following steps: and the password service node cooperates with other password service nodes to execute the operation instruction of the corresponding password service based on a password service request so as to obtain a password service result component.
A third aspect of the present application provides a cryptographic service apparatus, including: a plurality of computing devices, each configured in a computing system architecture that is mutually untrusted and electrically connected; a plurality of computing devices in the cryptographic service device perform the cryptographic service method as described in the second aspect.
A fourth aspect of the present application provides a computer-readable storage medium storing at least one program which, when executed in concert by a plurality of processors, performs the cryptographic service method according to the second aspect.
As described above, the cryptographic service system, method and apparatus of the present application cooperatively execute an operation instruction of a cryptographic service by a plurality of cryptographic service nodes, so as to obtain a plurality of cryptographic service result components corresponding to a cryptographic service, so that the cryptographic service result component of a single cryptographic service node cannot recover a service result corresponding to the cryptographic service, and the plurality of cryptographic service result components can be recovered to a service result corresponding to the cryptographic service, thereby improving security of the cryptographic service.
Drawings
Fig. 1 is a schematic structural diagram of a cryptographic service system according to an embodiment of the present application.
Fig. 2 is a schematic structural diagram of a cryptographic service system according to another embodiment of the present application.
Fig. 3 is a schematic diagram of a data interaction between a cryptographic service system and a client according to an embodiment of the present application.
FIG. 4 is a schematic diagram of a computing task describing a loop processing operation using a tree structure.
FIG. 5 is a schematic diagram illustrating a computing task for extracting a common factor operation using a tree structure.
FIG. 6 is a schematic diagram illustrating a computing task of a common expression extraction operation using a tree structure.
Fig. 7 shows a schematic block flow diagram of the cryptographic service method of the present application.
Fig. 8 is a schematic diagram of a cryptographic service device according to an embodiment of the present application.
Fig. 9 is a schematic diagram of a cryptographic service device according to another embodiment of the present application.
Detailed Description
Further advantages and effects of the present application will be readily apparent to those skilled in the art from the present disclosure, by describing the embodiments of the present application with specific examples.
Although the terms first, second, etc. may be used herein to describe various elements in some examples, these elements should not be limited by these terms. These terms are only used to distinguish one element from another element. For example, a first cryptographic service node may be referred to as a second cryptographic service node, and similarly, a second cryptographic service node may be referred to as a first cryptographic service node without departing from the scope of the various described embodiments. The first cryptographic service node and the second cryptographic service node are both describing one cryptographic service node, but they are not the same cryptographic service node unless the context clearly indicates otherwise.
Furthermore, as used herein, the singular forms "a," "an," and "the" are intended to include the plural forms as well, unless the context indicates otherwise: a, A is as follows; b, a step of preparing a composite material; c, performing operation; a and B; a and C; b and C; A. an exception to this definition will occur only when a combination of elements, functions, steps or operations are in some way inherently mutually exclusive.
With the development of information technology, the network information security problem is increasingly raised, so that each enterprise, especially, financial systems such as commercial banks, financial IC card systems, credit card systems, bank transfer systems, online securities trading systems and the like, can transmit and store data in an encryption mode, and can use a hardware encryption machine to protect private data (such as personal bank financing information, personal bank card payment passwords, stock trading information of investors, banks and the like) of users and enterprises, application programs of the enterprises and the like.
However, the current hardware encryptor generally uses a single server to perform the cryptographic service, which tends to increase the burden of the server, and when the single cryptographic server is used to perform the cryptographic service, the data such as the private key used for encryption by the user or the enterprise, the plaintext of the private data and the master key of the encryptor cannot be recovered in the single server, so that an attacker may obtain the data if the server of the hardware encryptor is broken, which makes the current hardware encryptor have the problem of low security.
To this end, the present application provides a cryptographic service system, as shown in fig. 1, where the cryptographic service system includes a plurality of cryptographic service nodes configured in a system architecture that is mutually not trusted and that is in network communication, where each of the cryptographic service nodes is preset with an operation instruction for executing a plurality of cryptographic services in cooperation with at least one other cryptographic service node.
The multiple password service nodes have mutually-untrusted attributes, namely, under the condition of no trusted third party, the multiple password service nodes participating in executing any password service operation cannot actively leak the data stored by the multiple password service nodes to the third party, and other additional input information except the calculation result is not obtained among the password service nodes participating in calculation. Here, any one of the cryptographic services is cooperatively calculated between the cryptographic service nodes that are mutually not trusted by utilizing an operation instruction set based on the multiparty security calculation.
The cryptographic service node may be a single computer device, or a physical device or a virtual device used in a cloud architecture-based service system, or the like. The single computer device may be an autonomously configured computer device capable of performing multiparty security calculations based on operational instructions, which may be located in a private machine room or in a rented machine location in a public machine room. The cryptographic service node may also be a virtual device, where the operation instruction configured by the cryptographic service node is a software program that may be executed by the virtual device, and an entity or the virtual device of the cryptographic service node is configured in the distributed system. The service system of the cloud architecture comprises a public cloud service end and a private cloud service end, wherein the public or private cloud service end comprises SaaS, paaS, iaS and the like. The private cloud service end is, for example, an Arian cloud computing service platform, an Amazon cloud computing service platform, a hundred degree cloud computing platform, a Tencent cloud computing platform and the like.
The cryptographic service node may include a storage device, a processing device, a network interface device, and the like. For this purpose, the network interface device is connected to the processing device in data form, which can be used for data transfer via network communication. To this end, the interface means include, but are not limited to, a network card, a mobile network access module, etc.
The storage device is used for storing at least one program for the password service node to execute the password service method. The storage means may comprise dynamic random access memory, static random access memory, and may also comprise non-volatile memory, such as one or more hard disk storage devices, flash memory devices, programmable read-only memory, erasable programmable read-only memory, charged erasable programmable read-only memory, or other non-volatile solid state storage devices, etc. The storage also includes a memory controller that can control access to the storage by other components of the device, such as the CPU and peripheral interfaces. Among other software components stored in the storage device include an operating system, a communication module (or instruction set), a text input module (or instruction set), and an application (or instruction set).
The processing device is connected with the storage device and is used for calling the at least one program and coordinating the storage device and the network interface device to execute the password service method. The processing device is operatively coupled with the storage device. More specifically, the processing device may execute a program stored in the storage device to perform operations in the processing device. As such, the processing device may include one or more general purpose microprocessors, one or more application specific processors (ASICs), one or more field programmable logic arrays (FPGAs), or any combinations thereof.
In fact, the above-mentioned devices may be located on a single server or in a plurality of servers and complete the operation instructions executed by the cryptographic service node through data communication between the servers, according to the hardware devices of the operation instructions actually operated by the cryptographic service node.
In an embodiment, the cryptographic service node may further include a computer device that sends the cryptographic service request, where the computer device may be a client or a server.
The multiparty secure computing system architecture is composed of a plurality of cipher service nodes participating in specified cipher service to perform multiparty secure computation in the cipher service system, wherein the number of the cipher service nodes participating in the cipher service can be fixed or can be determined according to the cipher service request of a user. Each of the plurality of cipher service nodes is preset with an operation instruction for executing a plurality of cipher services in cooperation with at least one other cipher service node, and the plurality of cipher service nodes execute the operation instruction of the corresponding cipher service in cooperation based on a cipher service request so as to obtain a plurality of cipher service result components.
The password service system is used for providing various password services. Including but not limited to key generation, key storage, key importation, key derivation, key updating, key destruction, key backup and key recovery, signing, verification signing, working key agreement, message digest, data encryption, data decryption, generation of random numbers, and the like. The password service system is used for guaranteeing the security problems of security, effectiveness, integrity, non-repudiation and the like of the whole process of generating, transmitting and receiving data of the client. In some embodiments, the cryptographic service system is a distributed cryptographic service system, and the cryptographic service nodes cooperatively execute the operation instructions of a plurality of cryptographic services through network communication.
Wherein the cryptographic service request may come from a client or a server. Taking payment application as an example, a user sends at least one password service request based on a payment business process by using a terminal device for executing card swiping operation during card swiping payment. Taking the secure network communication application as an example, according to the communication flow of establishing a secure communication channel between the server and the browser, the corresponding server sends at least one password service request. And the sender sending the password service request sends at least one password service request for one-time password service according to the request configuration preset by the password service system and the sender. For example, a plurality of cryptographic service nodes participate in executing one cryptographic service, and a sender individually sends a cryptographic service request to each of the cryptographic service nodes in accordance with a predetermined schedule. For another example, the sending party sends a cryptographic service request to one of the cryptographic service nodes, and the cryptographic service node receiving the cryptographic service request forwards the cryptographic service request to the other cryptographic service nodes participating in the corresponding cryptographic service.
In some examples, the cryptographic service system further includes a cryptographic service management system for processing the cryptographic service request into a cryptographic service request component corresponding to each cryptographic service node based on a multiparty secure computing system architecture constituted by the plurality of cryptographic service nodes and providing the cryptographic service request component to each cryptographic service node. Wherein the cryptographic service management system will be described in detail later.
The operation instruction is used for indicating each hardware module in each password service node to cooperatively execute so as to complete multiparty security calculation of the corresponding password service. And if the number of the password service nodes in the password service system is different, the operation instructions which are preset in each password service node and used for executing a plurality of password services in cooperation with at least one other password service node are different. The operation instruction is set based on the calculation role of the password service node in the secret sharing technology.
Taking an example that the password service system comprises four password service nodes, the operation instruction is generated based on the calculation roles of all the password service nodes in a calculation protocol for executing secret sharing operation by the four password service nodes. The computing protocol for executing secret sharing operation based on the four password service nodes comprises the following steps: the method comprises the steps of executing a calculation protocol of addition calculation in a secret sharing technology by utilizing at least two password service nodes, executing a calculation protocol of multiplication calculation in the secret sharing technology by utilizing four password service nodes, executing a calculation protocol of bit extraction calculation in the secret sharing technology by utilizing four password service nodes, executing a calculation protocol of careless transmission in the secret sharing technology by utilizing four password service nodes and the like.
In one embodiment, the computing protocol is a computing protocol that performs a multiplication of two input data in a secret sharing technique using four cryptographic service nodes. The input data is data for executing corresponding cryptographic services, such as key data, data to be processed, or data obtained by preprocessing based on the key data and/or the data to be processed. And performing dispersion processing on the input data to obtain corresponding data fragments. According to the corresponding calculation protocol, each cipher service node performs local calculation on each data fragment group, and performs interaction on intermediate data generated by the local calculation to obtain calculation results respectively held by each cipher service node. The number of the processing results obtained by the client (or the server) based on the four password service nodes is two, if the two processing results are the same, the client (or the server) can determine that the calculation result of the password service executed by the password service system is correct, otherwise, the calculation result is incorrect. Therefore, the method of four-out-of-two is adopted to extract the calculation result, and the method also has the function of verifying the correctness of the calculation result of each password service node.
Each cipher service node performs local calculation on the acquired data fragment group, and performs interaction on intermediate data generated by the local calculation, so as to obtain calculation results respectively held by each cipher service node, wherein the steps of obtaining the calculation results respectively include: the first password service node, the second password service node, the third password service node and the fourth password service node in the password service system sequentially acquire the data fragment group { x } 1 ,x' 1 ,y 1 ,y' 1 Data shard group { x } 2 ,x' 2 ,y 2 ,y' 2 Data shard group { x } a ,x' a ,y a ,y' a } and data slice group { x } b ,x' b ,y b ,y' b -a }; wherein { x 1 ,x' 1 ,x 2 ,x' 2 ,x a ,x' a ,x b ,x' b The input data X is obtained by random dispersion processing, { y 1 ,y' 1 ,y 2 ,y' 2 ,y a ,y' a ,y b ,y' b The input data Y is obtained by random dispersion processing.
According to the utilization of four cipher service sectionsA multiparty computing instruction generated by performing a multiply computing task of input data X and Y by a point, the cryptographic service system performing the steps of: enabling the first password service node and the second password service node to share a random number r 12 And r 1 ' 2 And causing the third and fourth cryptographic service nodes to share a random number r ab And r a ' b The method comprises the steps of carrying out a first treatment on the surface of the The first password service node and the second password service node respectively carry out multiplication calculation on the data fragment groups held by the first password service node and the second password service node and are used for counteracting the random number r 12 And r 1 ' 2 So that the first cryptographic service node obtains the intermediate data t 1 And t' 1 And the second password service node obtains the intermediate data t 2 And t' 2 The method comprises the steps of carrying out a first treatment on the surface of the The third password service node and the fourth password service node respectively carry out multiplication calculation on the data fragment groups held by the third password service node and the fourth password service node and are used for counteracting the random number r ab And r a ' b So that the third cryptographic service node obtains the intermediate data t a And t' a And the fourth password service node obtains the intermediate data t b And t' b The method comprises the steps of carrying out a first treatment on the surface of the The first password service node and the third password service node replace respective one of the intermediate data, and the first password service node and the fourth password service node replace respective one of the intermediate data; the second password service node and the third password service node replace respective one of the intermediate data, and the second password service node and the fourth password service node replace respective one of the intermediate data; the cryptographic service nodes are made to perform local calculations including additions using intermediate data paired based on permutation operations, respectively, so that each cryptographic service node obtains two calculation results including a cancelable random number.
In an embodiment, the computing protocol is a computing protocol that performs bit extraction computation in a secret sharing technology by using four cryptographic service nodes, and the computing task includes a computing task that extracts bits in the input data X. According to the calculation instruction, each cipher service node performs local calculation on the acquired data fragment group, and performs interaction on intermediate data generated by the local calculation, so as to obtain calculation results respectively held by each cipher service node, wherein the steps include: and the four password service nodes acquire respective calculation results by utilizing data interaction of k rounds of 1-bit replacement data, wherein the calculation results are used for extracting binary digits in the input data X, and k is the number of binary digits to be extracted of the input data X in the corresponding calculation task.
The computing task includes a computing task that extracts binary bits in the input data X. According to the calculation instruction, each cipher service node performs local calculation on the acquired data fragment group, and performs interaction on intermediate data generated by the local calculation, so as to obtain calculation results respectively held by each cipher service node, wherein the steps include: the first password service node, the second password service node, the third password service node and the fourth password service node in the password service system sequentially acquire the data fragment group { x } 1 Data shard group { x } 2 Data shard group { x } a } and data slice group { x } b -a }; wherein { x 1 ,x 2 ,x a ,x b And the data fragments are binary representation data fragments obtained by random dispersion processing of the input data X, wherein each data fragment has the same binary bit number as the input data X. According to the calculation instruction, the password service system executes the following steps: each cipher service node separately initializes a bit value { c }, for output 1 ,c' 1 },{c 2 ,c' 2 },{c a ,c' a },{c b ,c' b -a }; enabling the first password service node and the second password service node to share a random number r 12 And b 12 The method comprises the steps of carrying out a first treatment on the surface of the Enabling the third password service node and the fourth password service node to share a random number b ab The method comprises the steps of carrying out a first treatment on the surface of the Wherein the random number r 12 、b 12 And b ab Is a binary random number generated based on the extracted number of bits k; the first password service node and the second password service node use the random number r 12 For each held data fragment x 1 And x 2 Logically processing the kth bit to obtain a bit with the kth bit unificationBinary intermediate data u 1 And u 2 The method comprises the steps of carrying out a first treatment on the surface of the Let the first cryptographic service node send the intermediate data u 1 Transmitting to the third password service node, and carrying out the process based on the formula u by the third password service node 1 ∧x a Logic calculation of (a) and obtaining intermediate data u a The method comprises the steps of carrying out a first treatment on the surface of the The following loop calculation is set based on the k value: each cipher service node divides data into slices x 1 With a shared random number b based on the ith bit and output bit position of (b) 12 Or b ab Logic calculation of (2) and obtaining intermediate data of the ith round; performing replacement processing on the intermediate data obtained in each round, and assigning corresponding output bits; the first password service node and the third password service node perform the replacement processing of the intermediate data, and the second password service node and the fourth password service node perform the replacement processing of the intermediate data; each cipher service node utilizes the assigned output bit and the random number to carry out logic calculation on the k bit value of each held data fragment to obtain a calculation result; the first cryptographic service node calculates the result c' 1 Providing the third password service node; the second cryptographic service node calculates the result c' 2 Providing the fourth password service node; the third cryptographic service node calculates the result c a Providing the second password service node; the fourth password service node calculates the result c b The first cryptographic service node is provided such that each cryptographic service node holds two calculation results. The number of the processing results obtained by the client (or the server) based on the four password service nodes is two, if the two processing results are the same, the client (or the server) can determine that the calculation result of the password service executed by the password service system is correct, otherwise, the calculation result is incorrect. Therefore, the method of four-out-of-two is adopted to extract the calculation result, and the method also has the function of verifying the correctness of the calculation result of each password service node.
In one embodiment, the computing protocol is a computing protocol for performing an inadvertent transmission in a secret sharing technology by using four cryptographic service nodes, and the step of performing multiparty computing instructions set based on the inadvertent transmission protocol by using the four cryptographic service nodes and obtaining computing results held by the four cryptographic service nodes includes: and enabling the four password service nodes to perform local calculation and data interaction based on sharable random bit values for representing transmission/non-transmission of corresponding data fragments, and obtaining calculation results held by the four password service nodes respectively. Wherein the calculation result includes a result for indicating that the corresponding data fragment is transmitted or a result for indicating that the corresponding data fragment is not transmitted.
The computing tasks comprise computing tasks for inadvertently transmitting input data X; according to the calculation instruction, each cipher service node performs local calculation on the acquired data fragment group, and performs interaction on intermediate data generated by the local calculation, so as to obtain calculation results respectively held by each cipher service node, wherein the steps include: the data fragments acquired by each cipher service node in the cipher service system are { x }, in turn 1 ,x' 1 },{x 2 ,x' 2 },{x a ,x' a },{x b ,x' b -a }; wherein, data slicing { x } 1 ,x' 1 ,x 2 ,x' 2 ,x a ,x' a ,x b ,x' b Each cipher service node obtains sharable random bit value { c } set based on data shard to be shared 1 ,c' 1 },{c 2 ,c' 2 },{c a ,c' a },{c b ,c' b }. According to a multiparty computing instruction generated by performing a computing task with four cryptographic service nodes that inadvertently transmits input data X, the cryptographic service system performs the steps of: enabling the first password service node and the second password service node to share a first type random number r 12 And r 1 ' 2 The method comprises the steps of carrying out a first treatment on the surface of the The first password service node and the third password service node share a second class random number r 1 ' a The method comprises the steps of carrying out a first treatment on the surface of the The first password service node and the fourth password service node share a second class random number r 1b The method comprises the steps of carrying out a first treatment on the surface of the Enabling the second password service node and the third password service node to share a second class random number r 2a The method comprises the steps of carrying out a first treatment on the surface of the The second password service node and the fourth password service node share a second class random number r 2 ' b The method comprises the steps of carrying out a first treatment on the surface of the Order theThe third password service node and the fourth password service node share a first type random number r ab And r a ' b The method comprises the steps of carrying out a first treatment on the surface of the Enabling each cipher service node to carry out mathematical calculation with first type random numbers on whether to transmit data fragments by using bit values configured by each cipher service node, and carrying out mathematical calculation with second type random numbers on whether to transmit the first type random numbers by using bit values configured by each cipher service node so as to obtain intermediate data and intermediate random numbers; the first password service node and the second password service node are respectively made to perform the replacement operation of the intermediate data and the intermediate random number with the third password service node and the fourth password service node; and enabling each password service node to execute mathematical calculation comprising the second class of offset random numbers and obtain calculation results held by each password service node. The number of the processing results obtained by the client (or the server) based on the four password service nodes is two, if the two processing results are the same, the client (or the server) can determine that the calculation result of the password service executed by the password service system is correct, otherwise, the calculation result is incorrect. Therefore, the method of four-out-of-two is adopted to extract the calculation result, and the method also has the function of verifying the correctness of the calculation result of each password service node.
In an embodiment, the computing protocol is a computing protocol that uses at least two cryptographic service nodes to perform addition computation in a secret sharing technology, and when the computing task includes z=x+y, the data slice groups acquired by each cryptographic service node are { X }, in sequence 1 ,Y 1 }、{X 2 ,Y 2 Only the cryptographic service nodes S1, S2 are required to locally calculate z1=x1+y1 and z2=x2+y2, respectively, adding Z1 to the random number r 12 Subtracting the random number r from Z2 12 And obtaining the calculation results held by the respective users.
It should be noted that the number of the cryptographic service nodes is not limited to four, but may be two, three, five, etc., and the computing protocols corresponding to the different numbers of the cryptographic service nodes are also different.
With the above-described example of the basic operation involving multiple parties, the operation instructions of the multiple cryptographic service nodes describe the multiparty computing process of cooperatively executing a cryptographic service by the multiple cryptographic service nodes. For this purpose, the operation instruction includes a local calculation instruction and a data interaction instruction, where the local calculation instruction and the data interaction instruction are configured according to a calculation role of a corresponding cryptographic service node in the secret sharing technology, and the instruction is configured to instruct the corresponding cryptographic service node to execute. The operational instructions may be described by a computer program language or by a machine language.
As can be seen from the above embodiments, the complete business logic for implementing a cryptographic service may be implemented by multi-party execution of operation instructions designed based on a secret sharing technology, including addition computation, multiplication computation, bit extraction computation, inadvertent transmission, etc., and each cryptographic service node only holds the operation instruction of the corresponding computation role and obtains the cryptographic service result component of the corresponding computation role.
The password service result component of the single password service node cannot recover the service result corresponding to the password service; however, the plurality of cryptographic service result components may be restored to the service result of the corresponding cryptographic service. Taking four cipher service nodes cooperatively executing operation instructions of cipher service and obtaining a plurality of cipher service result components as an example, wherein the cipher service is used for generating a key pair, the cipher service nodes cooperatively executing operation instructions for generating the key pair and obtaining two cipher service result components held by each cipher service result component, a receiver of the key pair receives all cipher service result components of the two cipher service nodes, and carries out recovery operation to obtain two sets of key pairs, and whether the key pairs generated by the cipher service system are credible is determined according to whether the two sets of key pairs are consistent or not.
It should be noted that, the manner in which the service results can be recovered by the cryptographic service result components obtained by the plurality of cryptographic service nodes is related to the operation instruction, and is not limited to the calculation examples of the four cryptographic service nodes, which are not exemplified here.
In an embodiment, the obtained multiple cryptographic service result components may be pushed to the corresponding clients (or servers) by the multiple cryptographic service nodes. In yet another embodiment, the plurality of cryptographic service nodes may feed back a plurality of cryptographic service result components when the corresponding client (or server) initiates the acquisition request.
In order to ensure the security of each cipher service node during data interaction, the plurality of cipher service nodes also cooperatively execute the operation instruction based on the multi-layer key. The multi-layer key ensures that each level of key does not appear in the clear text by adopting a mode that an upper level key protects a lower level key, wherein the uppermost level key is stored in a scattered mode to ensure the security of the uppermost level key. And when the password service nodes cooperatively execute the operation instruction to perform intermediate data interaction, and when the password service nodes perform data interaction with the client (or the server), performing data interaction based on the multi-layer secret key.
In one embodiment, the multi-layer key is a three-layer key comprising: root key, transfer master key, and working key. The root key includes a master key, a user private key. In other embodiments, the multi-layer key may be a four-layer key or the like. Taking three layers of keys as an example, the master key is used to encrypt the transmission master key to ensure that the transmission key is not stored in plaintext in each cryptographic service node or corresponding storage node. The transmission master key is used for encrypting the working key to ensure that the working key is not stored in a clear manner in each cryptographic service node or corresponding storage node, wherein the transmission master key is distributed by a cryptographic service management system, which will be described in detail later. The working key is used for encrypting the intermediate data and the interactive data for data interaction between the encryption client (or the server) and each cipher service node so as to ensure that the intermediate data and the interactive data do not appear in a communication link in a plaintext manner. Wherein the interaction data includes, but is not limited to, data to be processed, key data, cryptographic service result components, and the like. The working key can be obtained through key negotiation between the password service nodes or between the password service nodes and the client (or the service end), wherein the key negotiation mode comprises a mode based on Diffie-Hellman key exchange and the like. In other embodiments, the working key may also be distributed by the cryptographic service management system.
Referring to fig. 2, fig. 2 is a schematic structural diagram of a cryptographic service system in another embodiment of the present application, where the cryptographic service system further includes a cryptographic service management system, and the cryptographic service management system includes a plurality of cryptographic service management nodes configured in a system architecture that is mutually untrusted and in network communication.
The cryptographic service management system may provide cryptographic management services for each cryptographic service node. The password management service includes, but is not limited to: generating a transmission master key of each cipher service node, generating a working key of each cipher service node, encrypting the transmission master key of each cipher service node, encrypting the working key of each cipher service node, decrypting the transmission master key of each cipher service node, decrypting the working key of each cipher service node, updating the transmission master key of each cipher service node, updating the working key of each cipher service node, and the like. In some embodiments, the cryptographic service management system is a distributed cryptographic service management system, and the cryptographic service management nodes cooperatively execute the operation instructions of a plurality of cryptographic management services through network communication.
The multiple password service management nodes have mutually-untrusted attributes, namely, under the condition of no trusted third party, the multiple password service management nodes participating in executing the password management service cannot actively leak the data stored or generated by the multiple password service management nodes to the third party, and other additional input information except the calculation result is not obtained among the password service management nodes executing the password management service. Here, the cryptographic management service is cooperatively executed between cryptographic service management nodes that solve mutual distrust by using an operation instruction set based on multiparty security calculation.
The cryptographic service management node may be a single computer device, or a physical device or a virtual device used in a cloud architecture-based service system, or the like. The single computer device, or the entity device or the virtual device used in the cloud architecture-based service system, is the same as or similar to that mentioned in the foregoing cryptographic service node, and will not be described in detail herein.
The cryptographic service management node may include a storage device, a processing device, a network interface device, and the like. The storage means is for storing at least one program for the cryptographic service management node to execute the cryptographic service. The processing device is connected with the storage device and is used for calling the at least one program and coordinating the storage device and the network interface device to execute the password management service. The storage means, processing means, network interface means are the same as or similar to the storage means, processing means, network interface means of the respective cryptographic service nodes mentioned above, respectively, and will not be described in detail here.
Each password service management node is preset with an operation instruction for executing password management service in cooperation with at least one other password service management node based on a password service request provided by the password service node. The plurality of password service management nodes execute operation instructions of corresponding password management services based on the password service requests provided by the plurality of password service nodes to obtain a plurality of password management service results. And distributing the obtained multiple password management service results to each password service node so as to enable each password service node to recover corresponding key data.
Taking an example that the password service management system comprises four password service management nodes, the operation instruction for executing the password service is generated based on the calculation roles of the password service management nodes in the calculation protocol for executing the secret sharing operation by the four password service management nodes. The computing protocol for executing the secret sharing operation based on the four password service management nodes is the same as or similar to the computing protocol for executing the secret sharing operation by the four password service nodes, and will not be described herein.
Wherein the key data includes, but is not limited to, a transmission master key, a working key, etc. of each cryptographic service node.
In an embodiment, the cryptographic service request is sent to each cryptographic service management node by each cryptographic service node participating in executing the cryptographic service, taking four cryptographic service nodes S1, S2, sa, sb as an example in the cryptographic service system, the cryptographic service node Sa sends a cryptographic service request for generating a transmission master key to each cryptographic service management node, the cryptographic service request includes information of the cryptographic service nodes S1, S2 for performing data interaction with the cryptographic service node Sa, each cryptographic service management node cooperatively executes an operation instruction of the cryptographic management service based on the cryptographic service request to obtain a plurality of cryptographic management service results, and distributes the obtained plurality of cryptographic management service results to the cryptographic service nodes Sa, S1, S2 for the cryptographic service node Sa to recover a transmission master key a1_tmk used when the cryptographic service node Sa performs intermediate data interaction with the cryptographic service node S1 and a transmission master key a2_tmk used when the cryptographic service node Sa performs intermediate data interaction with the cryptographic service node S2, so that the cryptographic service node S1 recovers the transmission master key a1_tmk and the cryptographic service node S2 recovers the transmission master key TMK. Here, each cryptographic service node participating in executing a cryptographic service operation instruction needs to send a cryptographic service request corresponding to a cryptographic service to each cryptographic service management node to obtain a transmission master key or a working key of each cryptographic service node.
In another embodiment, the cryptographic service request may be directly sent to each cryptographic service management node by a client (or a server), where each cryptographic service management node cooperatively executes an operation instruction of a cryptographic service based on the cryptographic service request to obtain a plurality of cryptographic service results, and provides the plurality of cryptographic service results to a corresponding cryptographic service node based on a multiparty secure computing system architecture formed by the plurality of cryptographic service nodes, so that each cryptographic service node recovers corresponding key data.
In one embodiment, each of the cryptographic service management nodes cooperatively executes an operation instruction of the cryptographic service based on the cryptographic service request to obtain a plurality of cryptographic service results includes: the K password service management nodes acquire K scattered root key fragments from N scattered storage nodes based on user information in the received password service requests, wherein N is larger than K, and the plurality of password service management nodes execute operation instructions of corresponding password management services according to the K scattered root key fragments so as to acquire a plurality of password management service results. Each cryptographic service management node obtains a root key fragment of a corresponding user from a corresponding storage node based on user information in the received cryptographic service request, wherein the root key fragment comprises a master key fragment and a user private key fragment. In one embodiment, all of the N storage nodes are the cryptographic service nodes, but not limited to this, and in other embodiments, all of the N storage nodes may be any one of a computer device that issues the cryptographic service request, the cryptographic service management node, or an external storage service node, for example. In another embodiment, the N storage nodes may also include at least two of a computer device that issues the cryptographic service request, the cryptographic service node, the cryptographic service management node, and an external storage service node.
For example, N storage nodes store N root key fragments obtained by dispersing root keys in a dispersing manner of Shamir secret sharing algorithm. The dispersing mode set on the basis of the Shamir secret sharing algorithm comprises a dispersing mode of dispersing the master key into a number N on the basis of a constructed polynomial, wherein the number N is larger than or equal to the minimum number Kmin of dispersed ciphertext required by the recoverable master key, and N is larger than or equal to K and larger than or equal to Kmin. The dispersed number N is larger than the minimum number Kmin, so that when part of storage nodes are abnormal, the recovery master key is not influenced, and the whole password service system is not influenced to carry out password service. Taking the plaintext of the master key as a constant term to construct a first-order polynomial as an example, taking points on the first-order polynomial as master key fragments to be stored in a plurality of cipher service nodes in a scattered manner, and acquiring key fragments in two cipher service nodes in the plurality of cipher service nodes can restore the master key.
In order to ensure that the root key is not stored in a plaintext manner in each storage node, in an embodiment, a plurality of root key fragments obtained by performing the decentralized processing on the root key are stored in each storage node in a decentralized manner, and are strictly protected by each storage node. Taking a master key as an example, in an embodiment, the preconfigured dispersion manner is a dispersion manner set based on addition, and the master key fragments obtained by dispersing the master key X are { X1}, { X2}, { X3}, … … { xn }, where n is the number of storage nodes, where x1+x2+x3+ … … +xn=x. Taking the password service request as an example of the password service request for encrypting the transmission master key, the password service management node obtains a plurality of password management service results for the password service node to recover the encrypted transmission master key by executing the password service request for encrypting the transmission master key by less than n master key fragments in the storage node.
In a specific embodiment, the cryptographic service system includes four cryptographic service nodes, the master key fragments obtained by dispersing the master key X are { X1}, { X2}, { X3}, { X4}, { X5}, where { X1}, { X2}, { X3}, and { X4} are respectively stored in each cryptographic service node, and { X5} is stored in the client (or the server), where x1+x2+x3+x4+x5=x. Taking the password service request as an example of encrypting the password service request of the transmission master key, the password service management node obtains any 3 master key fragments in the master key fragments to execute the password service request of encrypting the transmission master key to obtain a plurality of password management service results for the password service node to recover the encrypted transmission master key.
In another specific embodiment, the cryptographic service system includes four cryptographic service nodes, and the master key fragments obtained by dispersing the master key X are { X1}, { X2}, { X3}, { X4}, where { X1}, { X2}, { X3}, and { X4} are stored in each cryptographic service node, where x1+x2+x3+x4=x. Taking the password service request as an example of encrypting the password service request of the transmission master key, the password service management node obtains 3 master key fragments in the master key fragments to execute the password service request of encrypting the transmission master key to obtain a plurality of password management service results for the password service node to recover the encrypted transmission master key.
The manner of distributing the root key is not limited thereto. Besides the above encrypted transmission master key, all master key fragments are not obtained in the processes of decrypting the transmission master key, encrypting the working key and decrypting the working key, and the reason that all master key fragments are not obtained is to ensure the security of the master key.
Referring to fig. 3, fig. 3 is a schematic diagram of an embodiment of data interaction between a cryptographic service system and a client, where the cryptographic service system includes four cryptographic service nodes S1, S2, sa, sb. The client performs data interaction with the cryptographic service nodes S1 and S2, and interaction data when performing the data interaction may be the cryptographic service request, data to be encrypted, data to be decrypted, data to be signed, data to be verified and signed required for executing the cryptographic service request, and the like. When data interaction is performed, the password service node S1 sends a password service request for decrypting a transmission master key ta_tmk between the password service node S1 and the user side to the plurality of password service management nodes, each password service management node obtains a plurality of password management service results based on the obtained encrypted transmission master key and the obtained K scattered master key fragments, the password service node S1 recovers ta_tmk based on the plurality of password management service results, and decrypts the working keys ta_tak and ta_tpk based on the ta_tmk. The password service node S2 sends a password service request for decrypting the transmission master key TD_TMK between the password service node S2 and the user side to the password service management nodes, each password service management node obtains a plurality of password management service results based on the obtained encrypted transmission master key and the obtained K scattered master key fragments, the password service node S2 recovers the TD_TMK based on the plurality of password management service results of the password service management nodes, and the working keys TD_TAK and TD_TPK are decrypted based on the TD_TMK. The client sends a cipher service request for decrypting the transmission master key TA_TMK distributed to the client by the cipher service node S1 and the transmission master key TD_TMK distributed to the client by the cipher service node S2 to the cipher service system, and the client recovers the transmission master keys TA_TMK and TD_TMK based on the obtained multiple cipher service result components. Working keys TA_TAK and TA_TPK when data interaction is carried out with the password service node S1 are decrypted locally by using TA_TMK, working keys TD_TAK and TD_TPK when data interaction is carried out with the password service node S2 are decrypted locally by using TD_TMK, wherein the TA_TAK and the TD_TAK are used for generating or verifying MAC values of interaction data, and the TA_TPK and the TD_TPK are used for encrypting or decrypting the interaction data.
Taking the example that the client sends the data to be encrypted, as shown in fig. 3, the client splits the data to be encrypted into two parts x1 and x2 based on a computing protocol that the four password service nodes execute secret sharing operation. The terminal encrypts x1 with ta_tak, generates a MAC value of x1 with ta_tpk, and uploads the ciphertext of x1 and the MAC value of x1 to the cryptographic service node S1, encrypts x2 with T D _tak, generates a MAC value of x2 with T D _tpk, and uploads the ciphertext of x2 and the MAC value of x2 to the cryptographic service node S2. The cryptographic service node S1 decrypts x1 locally with ta_tak, verifies the MAC value of x1 with ta_tpk to ensure that x1 is client transmitted, and the cryptographic service node S2 decrypts x2 locally with td_tak, verifies the MAC value of x2 with td_tpk to ensure that x2 is client transmitted. The process of data interaction between the cryptographic service node S1 and the cryptographic service node S2 and other cryptographic service nodes is the same as or similar to the process of data interaction described above, and will not be described in detail here.
During the execution of the corresponding cryptographic service by the plurality of cryptographic service nodes according to the cryptographic service request, the plurality of cryptographic service nodes may provide the cryptographic service only according to the respective operation instructions according to the cryptographic service indicated by the cryptographic service request, and obtain a plurality of cryptographic service result components for recovering the corresponding service result.
The service request with the password includes any one of the following: for example, a service request for generating a random number and a service request for generating a key including a password type are provided, and a plurality of password service nodes correspondingly execute a password service for generating a random number or a key.
Wherein the cryptographic services that generate the random number include, but are not limited to, at least one of: generating random numbers based on a one-way hash function pseudorandom number generator, generating random numbers based on an ANSI X9.17 pseudorandom number generator, generating random numbers based on an ANSI X9.31 pseudorandom number generator, or generating random numbers based on hardware utilizing a physical noise source, etc.
The cipher type in the key generation service including a cipher type is exemplified by any one of the following: public key cryptography, symmetric cryptography. Wherein the key generation service including the public key cryptography type includes at least one of: the password pair is generated based on an RSA public key algorithm, the password pair is generated based on an ElGamal public key algorithm, the password pair is generated based on a Rabin public key algorithm, and the password pair is generated based on an elliptic curve password. The key generation service containing symmetric cipher types includes at least one of: symmetric passwords are generated based on a DES algorithm, symmetric passwords are generated by using an EBC mode, symmetric passwords are generated by using a CFB mode, symmetric passwords are generated by using a single hash function, and the like.
In some specific examples, any of the cryptographic services described above may utilize at least two random initial values and obtain the cryptographic service result component of the corresponding cryptographic service by multiparty secure computation. To this end, each cryptographic service node involved in the calculation receives a request for obtaining a cryptographic service according to any of the ways mentioned above, to initiate execution of the corresponding cryptographic service. The execution process of each cipher service node participating in the calculation is as follows: wherein at least two of the cryptographic service nodes generate a random initial value; each cipher service node participating in the calculation cooperatively executes an operation instruction of the corresponding cipher service based on the generated random initial value to obtain a plurality of cipher service result components.
Here, the random initial values generated by each of the at least two cryptographic service nodes may be the same or different depending on the execution logic of the cryptographic service. For example, at least two cipher service nodes generate random initial values held by the shared (or non-shared) random number seeds, encrypt the random initial values generated by the at least two cipher service nodes to obtain a random number, and distribute the random number to other cipher service nodes participating in the calculation, and all the cipher service nodes participating in the calculation cooperatively execute operation instructions of corresponding cipher services to obtain corresponding cipher service result components. For another example, all the cryptographic service nodes participating in the computation generate random initial values held by the shared (or non-shared) random number seeds, and perform multiparty security computation by taking the random initial values generated by the random initial values as initial input data for cooperatively executing operation instructions of the corresponding cryptographic service, so as to obtain corresponding cryptographic service result components.
Taking an example that four password service nodes call operation instructions of corresponding random number password service generation according to a service request of generating random numbers sent by a client, the four password service nodes S1, S2, sa and Sb respectively generate random initial values r1, r2, ra and rb based on the operation instructions of generating the random numbers, the four password service nodes S1, S2, sa and Sb cooperatively execute multiparty calculation based on the random initial values r1, r2, ra and rb to obtain a plurality of password service result components r11, r22, raa and rbb, wherein the plurality of password service result components are used for recovering the random numbers, r11 and raa can be obtained to recover a random number, meanwhile, the four password service result components can be recovered to two random numbers, and if the two random numbers are equal, the password service result components of the password service nodes are correct, and the two random numbers can be used for verifying the correctness of the password service result components. In some embodiments, the random initial value may also be directly used as a cryptographic service result component.
Taking four password service nodes as an example, calling corresponding password service for generating public key passwords according to a service request for generating the passwords sent by a client, wherein the four password service nodes S1, S2, sa and Sb respectively generate random initial values by utilizing random number seeds shared by two pairs, and the four password service nodes cooperatively execute multiparty calculation based on the generated random initial values to obtain four private key fragments m1, m2, ma and mb which can be used for recovering private keys and are respectively held; and generating four public key slices n1, n2, na, nb based on the four private key slices. The four private key fragments m1, m2, ma, mb may recover private keys in the public key cipher, and the four public key fragments n1, n2, na, nb may recover public keys in the public key cipher. Two sets of public and private key pairs can be obtained based on the four private key fragments and the four public key fragments, and if the two sets of public and private key pairs are equal, the calculation of the cipher service result components of each cipher service node is correct.
In other specific examples, the plurality of cryptographic service nodes participating in performing the cryptographic service may also obtain key data based on the cryptographic service request. The cryptographic services performed by the plurality of cryptographic service nodes based on the obtained key data include, but are not limited to, any of the following: key derivation, key importation, key derivation, key backup, key update, key destruction, key restoration, etc.
In an embodiment, the obtained key data except the master key fragment and the user private key fragment may be key data that is not subjected to decentralized processing, and each cryptographic service node executes an operation instruction designed for performing multiparty security calculation on the complete key data based on the obtained key data that is not subjected to decentralized processing, so that each cryptographic service node obtains a cryptographic service result component of the corresponding cryptographic service. For example, one cryptographic service request is a cryptographic service request of a backup public key SK, the cryptographic service system includes four cryptographic service nodes, and the four cryptographic service nodes execute operation instructions of corresponding backup public keys stored in each cryptographic service node based on the obtained public key SK of the user that is not subjected to decentralized processing to complete multiparty security computation of the corresponding backup public key, so as to obtain four cryptographic service result components SK1, SK2, SKa, SKb respectively, where the four cryptographic service result components can recover a correct and complete public key SK. In another embodiment, the obtained key data includes a plurality of key fragments obtained by performing a decentralized processing on the key. Taking the cryptographic service request as a key update example, a private key a is randomly dispersed to obtain four private key fragments a1, a2, a3 and a4, wherein a1+a2=a3+a4=a, and before the key update, the four private key fragments a1, a2, a3 and a4 are respectively stored in the cryptographic service nodes S1, S2, sa and Sb. And the four password service nodes cooperatively execute the operation instruction for updating the private key based on the random numbers shared between every two password service nodes, and each password service node obtains updated private keys a1+r12, a2-r12, a3+rab and a4-rab. The random dispersion method and the key update method are not limited to this, and the dispersion method is related to protocols and operation instructions of a plurality of cryptographic service nodes.
Taking the example that the key data contains a plurality of key fragments obtained by performing decentralized processing on the key, when the cryptographic service request is a cryptographic service which is indicated to be executed, a plurality of cryptographic service nodes which participate in executing the corresponding cryptographic service read the local key fragments. The method comprises the steps that cipher data for executing cipher service are dispersed into key fragments in advance and stored in at least two cipher service nodes in a plurality of cipher service nodes participating in executing corresponding cipher service, when a cipher service request is received, the corresponding cipher service node reads the locally stored key fragments, and executes multiparty security calculation by taking the key fragments as input by cooperating with other cipher service nodes based on corresponding operation instructions, and a cipher service result component is obtained.
Alternatively, when a cryptographic service request is indicative of performing one of the above-mentioned cryptographic services, the cryptographic service node participating in performing the respective cryptographic service reads the plurality of key fragments from the respective storage nodes based on the cryptographic service request.
The storage node and the password service node execute point-to-point communication connection, and are used for storing a plurality of key fragments obtained after pre-dispersion processing, and the key fragments are stored in different storage nodes in an index establishing mode. Wherein the plurality of storage nodes maintain corresponding cryptographic data by maintaining respective stored key fragments. To secure the respective cryptographic service node, the cryptographic service node performs a secure data communication procedure based on cryptographic operations with the storage node during a network communication procedure.
The storage node may be one or more storage devices, the storage node comprising a database storage engine for writing to the storage node key fragments of the corresponding one key and reading from the storage node key fragments of the corresponding one key. The storage device is the same as or similar to the storage device of each of the aforementioned cryptographic service nodes, and will not be described in detail herein.
The storage node may be located on a single computer device, or on a physical device or virtual device used in a cloud architecture-based service system, etc. The single computer device, or the entity device or the virtual device used in the cloud architecture-based service system, is the same as or similar to that mentioned in the foregoing cryptographic service node, and will not be described in detail herein.
When the cryptographic service request indicates that the cryptographic service system is requested to perform one of the above-mentioned cryptographic services, each of the cryptographic service nodes obtains read information for reading the corresponding key fragment based on the cryptographic service request, and each of the cryptographic service nodes issues a read request for the key fragment to the corresponding storage node using the read information, thereby obtaining the key fragment. Wherein the read information includes, but is not limited to: address information of the storage node, data table information and field information of the key fragment, and the like. The read information can be parsed from the cryptographic service request or obtained from a preset configuration file according to the cryptographic service request.
In an embodiment, at least two storage nodes in the plurality of storage nodes are connected with an output device through a communication interface, the plurality of storage nodes disperse a key into a plurality of key fragments according to a storage configuration and store the key fragments in the corresponding plurality of storage nodes, when the output device obtains a read request including the output configuration, the key fragments corresponding to the same key are read from the at least two storage nodes based on an adaptation relation between the output configuration and the storage configuration, and the read plurality of key fragments are subjected to adaptation processing to obtain output data which accords with a read request of a cryptographic service system, so that the key fragments corresponding to the same key after the adaptation processing are key fragments which can be used by a plurality of cryptographic service nodes in the cryptographic service system to cooperatively execute corresponding cryptographic services.
The storage configuration is at least used for describing a key dispersion mode, and correspondingly, the storage configuration also represents a dispersion relation between the key fragments stored by each storage node and the keys. In some examples, the storage configuration may be preset in a configuration file (or log file, etc.) and stored in a storage node or output device; wherein the configuration file at least comprises a dispersion mode of the secret key. In another example, the storage configuration is built into a program, and by running the program, keys are decentralized into key fragments and stored in different storage nodes, respectively. The output configuration includes a dispersion manner of the output data, the number of output data, an encryption manner of the output data, and the like.
In an embodiment, the storage node may be located at a client providing the cryptographic service request, wherein the key data may be provided by the client.
In yet other specific examples, the cryptographic service request further includes any one of: encrypt data, decrypt data, sign, verify signatures, etc. Correspondingly, the plurality of password service nodes acquire the data to be processed based on the password service request on the basis of acquiring the key data. Wherein the data to be processed is any one of the following corresponding execution cryptographic services: data to be encrypted, data to be decrypted, data to be signed, and data to be verified. The data to be processed may be data that is not processed in a decentralized manner, or may be a plurality of pieces of data to be processed obtained by performing decentralized processing on a client (or other devices, such as a cryptographic service management system) according to a pre-designed multiparty secure computing protocol. The plurality of cipher service nodes cooperatively execute operation instructions of corresponding cipher services on the acquired data to be processed based on the respective restored key data. Each cipher service node performs local decryption on a working key based on the recovered transmission master key, and ensures the security of the intermediate data in the process of executing the operation instruction of the corresponding cipher service based on the working key.
In an embodiment, the data to be processed is data that is not fragmented, each cryptographic service node holds the data to be processed, and the obtained cryptographic data is a key fragment that is scattered. Taking signature password service as an example, in a specific embodiment, a client sends a signature request and provides data to be signed, and four password service nodes acquire four user private key fragments from N distributed storage nodes, where N is greater than four. Each cryptographic service node executes an operation instruction of a corresponding signature service based on the respective obtained user private key fragment to obtain four signed cryptographic service result components, which can recover the signature. In another specific embodiment, the four cipher service nodes perform multiparty security computation of corresponding signature service on the data to be signed based on the locally stored private key fragments to obtain four signed cipher service result components. Because the whole process of executing the signature service is executed by utilizing multiparty secure computation, the user private key is not actually generated in the computation process or the use process, so that the security of the user private key is ensured, the password service is implemented, the service result cannot be obtained by acquiring the password service result component of a single password service node, and the security of the user service result is ensured.
In another embodiment, the data to be processed includes a plurality of data fragments to be processed, which are obtained by performing a decentralized process, to perform an operation with the key data. For example, to-be-decrypted data a is randomly dispersed to obtain four to-be-processed data fragments a1, a2, a3 and a4, wherein a1+a2=a3+a4=a, the cryptographic service nodes S1, S2, sa and Sb respectively obtain the to-be-processed data fragments a1, a2, a3 and a4, and four cryptographic service result components are obtained based on public key fragments stored in each cryptographic service node and cryptographic services for encrypting the to-be-processed data fragments, and the four cryptographic service result components are used for recovering decrypted data. It should be noted that the random dispersion manner is not limited to this, and the dispersion manner is related to protocols and operation instructions of a plurality of cryptographic service nodes.
The plurality of cryptographic service nodes read the plurality of data fragments to be processed provided by the client providing the cryptographic service request, or read the plurality of data fragments to be processed from the corresponding storage nodes based on the cryptographic service request.
Taking a plurality of password service nodes to execute multiparty security computation of verification signature password service, and sending a verification signature request by a client and providing a plurality of scattered data fragments to be processed as an example, wherein the plurality of data fragments to be processed are obtained by carrying out scattered processing on signature data to be verified, and the number of the plurality of data fragments to be processed is related to an operation instruction for verifying the signature. Based on the operation instruction, each password service node executes the operation instruction by utilizing a plurality of public key fragments corresponding to the public key SK stored in each password service node so as to cooperatively perform multiparty security calculation of corresponding verification signature service on a plurality of data fragments to be processed based on the plurality of public key SK fragments, and a plurality of password service result components are obtained. And the plurality of password service nodes perform multiparty security calculation of corresponding authentication signature service based on the plurality of data fragments to be processed and the plurality of public key fragments to obtain a plurality of password service result components.
In an embodiment, as shown in fig. 2, the cryptographic service system further includes a cryptographic service management system, configured to process the cryptographic service request into a cryptographic service request component corresponding to each cryptographic service node based on a multiparty secure computing system architecture formed by the plurality of cryptographic service nodes, and provide the cryptographic service request component to each cryptographic service node. Each password service management node of the password service management system is preset with an operation instruction for executing the processing method in cooperation with at least one other password service management node. Taking an example that the password service management system comprises four password service management nodes, the operation instruction is generated based on the calculation roles of the password service management nodes in a calculation protocol for executing secret sharing operation by the four password service management nodes. The computing protocol for executing the secret sharing operation based on the four password service management nodes is the same as the computing protocol for executing the secret sharing operation by the four password service nodes.
The password service management system respectively sends password service request components to each password service node based on a multiparty security computing system architecture formed by a plurality of password service nodes, and each password service node executes corresponding operation instructions based on the obtained password service request components to complete multiparty security computation of corresponding password service requests. In some embodiments, the cryptographic service management system stores an IP address, a computing protocol, a current load of the cryptographic service nodes, and the like of each cryptographic service node, so that the cryptographic service management system can select the cryptographic service node performing the corresponding cryptographic service when receiving the cryptographic service request. The password service management system is connected with the plurality of password service nodes through data communication.
In a specific embodiment, the step of the cryptographic service management system processing the cryptographic service request into a cryptographic service request component corresponding to each cryptographic service node includes: the cryptographic service request is replicated to obtain a cryptographic service request component corresponding to each cryptographic service node based on a number of nodes receiving the cryptographic service request component determined by the multiparty secure computing system architecture.
The cryptographic service request includes: for example, the cryptographic service management system copies the cryptographic service request to obtain the cryptographic service request components corresponding to each cryptographic service node based on the number of cryptographic service nodes for receiving the cryptographic service request components determined by the multiparty secure computing system architecture. For example, the password service request is a request for generating a symmetric key, four password service nodes are arranged in the password service system, the number of the password service nodes participating in multiparty security calculation for generating the symmetric key in the password service system is four, and then the password service management system copies the request for generating the symmetric key to obtain four requests for generating the symmetric key and sends the four requests to each password service node. The number of duplicate cryptographic service requests is related to the number of cryptographic service nodes participating in generating a symmetric key in the system architecture of the cryptographic service system.
It should be noted that, according to a multi-party computing protocol of a plurality of cryptographic service nodes that execute cryptographic services, which execute corresponding cryptographic services by using data to be processed that is not subjected to decentralized processing, the cryptographic service management system also distributes cryptographic service requests containing the data to be processed to each cryptographic service node in a replication manner.
In another embodiment, the step of the cryptographic service management system processing the cryptographic service request into a cryptographic service request component corresponding to each cryptographic service node comprises: based on the number of nodes for receiving the cipher service request component determined by the multiparty secure computing system architecture, the input data indicated in the cipher service request is subjected to decentralized processing to obtain a plurality of decentralized ciphertexts, and the cipher service request component comprising the decentralized ciphertexts is composed.
Taking as an example that the cryptographic service request comprises data to be processed and/or key data that are not all distributed. The plurality of cryptographic service management nodes further perform decentralized processing on input data indicated in the cryptographic service request based on the number of nodes receiving the cryptographic service request component determined by the multiparty secure computing system architecture to obtain a plurality of decentralized ciphertexts, wherein the input data includes any one of: key data and/or data to be processed. For example, the cryptographic service request is a request of an encrypted data service containing data to be encrypted, four cryptographic service nodes in the cryptographic service system participate in multi-party security computation for executing the encrypted data service, and the cryptographic service management system performs decentralized processing on the data to be encrypted to obtain four decentralized ciphertexts, wherein the four decentralized ciphertexts can recover the data to be encrypted, and a single decentralized ciphertext cannot recover the data to be encrypted. The password service management system processes the password service request into four password service request components respectively containing dispersed ciphertext, and sends each password service component to a corresponding password service node. The number of the password service request components is related to the number of the password service nodes participating in the encrypted data service in the system architecture of the password service system.
In another embodiment, the cryptographic service management system may further convert a program module of a cryptographic service described using a computer program language into a program module described using a computational formula. The complete business logic for implementing a cryptographic service may be described in a computer program language as a program comprising processing operations such as conditional processing, loop processing, boolean processing, computational processing, etc. For multiparty security calculations, the program is broken down into a plurality of program modules executable by the calculation formula. For example, a processing operation including a loop and computational processing may be broken down into one or more program modules that may be executed by computational formulas.
Among the program modules that are decomposed, the program modules may be described in a computer program language or with a source code syntax structure. Wherein the source code syntax structure is exemplified by an abstract syntax tree (Abstract Syntax Tree, AST).
For example, referring to FIG. 4, a schematic diagram of a computing task describing a loop processing operation using a tree structure is shown; wherein the calculation task of the loop processing operation is described as a tree structure that obtains the processing result by including multiplication. For another example, please refer to fig. 5, which is a schematic diagram illustrating a calculation task of extracting a common factor operation using a tree structure; the calculation task of the operation of extracting the common factors is described as a tree structure of processing results obtained in a cascade mode of addition calculation and multiplication calculation. For another example, please refer to fig. 6, which is a schematic diagram illustrating a calculation task of a common expression extraction operation using a tree structure; the calculation task of the common expression extraction operation is described as a tree structure for obtaining a processing result in a cascade mode of addition calculation and multiplication calculation.
As can be seen from the above embodiments, the cryptographic service management system may convert the complete business logic corresponding to a cryptographic service into basic operation instructions for a plurality of cryptographic service nodes to cooperatively execute, including addition calculation, multiplication calculation, bit extraction calculation, careless transmission, etc., based on a basic calculation protocol, where each cryptographic service node only holds a cryptographic service result component of a corresponding cryptographic service, and the cryptographic service result component of a single cryptographic service node cannot recover a service result corresponding to the cryptographic service. The cryptographic service management system provides each operation instruction to each cryptographic service node, so that the process of executing the corresponding cryptographic service based on the cryptographic service request is the same as or similar to that of fig. 1 and the corresponding description, and will not be described in detail herein.
Referring to fig. 7, fig. 7 is a schematic block diagram illustrating a cryptographic service method according to the present application. The cryptographic service method may be performed by the cryptographic service system described above, or other computer device that may perform the steps associated with the cryptographic service method. The password service method is configured in a mutually-untrusted system architecture comprising a plurality of password service nodes for execution, wherein each password service node is preset with an operation instruction for executing a plurality of password services in cooperation with at least one other password service node. The plurality of cipher service nodes cooperatively execute operation instructions of corresponding cipher service based on a cipher service request to obtain a plurality of cipher service result components. One of the cryptographic service nodes performs the cryptographic service method shown in fig. 7.
In step S110, the cryptographic service node obtains a cryptographic service request.
The process of obtaining the cryptographic service request by the cryptographic service node and the hardware configuration of the cryptographic service node are the same as or similar to those described in fig. 1 and fig. 2, and will not be described in detail herein. For example, the acquired cryptographic service request comes from a client or other cryptographic service node.
In step S120, based on the cryptographic service request, the cryptographic service node cooperates with other cryptographic service nodes to execute an operation instruction of a corresponding cryptographic service, so as to obtain a cryptographic service result component. And the password service node and other password service nodes cooperatively execute the operation instruction of the corresponding password service based on multiparty security calculation to obtain a password service result component.
The operation instruction is set based on the calculation role of the password service node in the secret sharing technology, and is used for indicating each hardware module in each password service node to cooperatively execute so as to complete multiparty security calculation of the corresponding password service. The operation instruction is the same as or similar to the operation instruction described above, and will not be described in detail herein.
When the cryptographic service request includes any one of the following: when a random number service request is generated, a service request including a generated password of a password type is generated, any one of at least two password service nodes performs step S121 '(not shown) and step S122' (not shown).
In step S121', the cryptographic service node generates a random initial value; in step S122', the cryptographic service node performs an operation instruction of the corresponding cryptographic service in cooperation with other cryptographic service nodes based on the generated random initial value to obtain a cryptographic service result component.
In order to ensure the security of each cipher service node during data interaction, each cipher service node also cooperatively executes the operation instruction based on the multi-layer key. In one embodiment, the multi-layer key is a three-layer key comprising: root key, transfer master key, and working key. The root key includes a master key, a user private key. In other embodiments, the multi-layer key may be a four-layer key or the like. Taking three layers of keys as an example, the master key is used to encrypt the transmission master key to ensure that the transmission key is not stored in plaintext in each cryptographic service node or corresponding storage node. The transmission master key is used for encrypting the working key to ensure that the working key is not stored in each cipher service node or corresponding storage node in a clear text manner, wherein the transmission master key is dispatched by the cipher service management system. The working key is used for encrypting the intermediate data and the interactive data for data interaction between the encryption client (or the server) and each cipher service node so as to ensure that the intermediate data and the interactive data do not appear in a communication link in a plaintext manner. Wherein the interaction data includes, but is not limited to, data to be processed, key data, cryptographic service result components, and the like. The working key can be obtained through key negotiation between the password service nodes or between the password service nodes and the client (or the service end), wherein the key negotiation mode comprises a mode based on Diffie-Hellman key exchange and the like. In other embodiments, the working key may also be distributed by the cryptographic service management system. The storage node includes: at least one of a computer device issuing the cryptographic service request, the cryptographic service node, the cryptographic service management node, and an external storage service node.
The cryptographic service management system includes a plurality of cryptographic service management nodes configured in a system architecture that is mutually untrusted and that is in network communication; each password service management node is preset with an operation instruction for executing password management service in cooperation with at least one other password service management node based on a password service request provided by the password service node. The password service management node executes operation instructions of corresponding password management services based on the password service requests provided by the password service nodes and other password service management nodes to obtain password management service results; and distributing the obtained password management service result to the corresponding password service node so as to enable the corresponding password service node to recover the corresponding key data.
The hardware configuration of each cryptographic service management node in the cryptographic service management system and the operation instruction of the cryptographic service cooperatively executed by each cryptographic service management node are the same as or similar to those described above, and will not be described in detail herein.
Taking K password service management nodes in the password service management system as an example, based on user information in the received password service request, obtaining K root key fragments from N scattered storage nodes, wherein N is greater than K; and the obtained root key fragment and other password service management nodes cooperatively execute the operation instruction of the corresponding password management service according to the obtained root key fragment so as to obtain a password management service result.
For example, N storage nodes store N root key fragments obtained by dispersing root keys in a dispersing manner of Shamir secret sharing algorithm. The dispersing mode set on the basis of the Shamir secret sharing algorithm comprises a dispersing mode of dispersing the master key into a number N on the basis of a constructed polynomial, wherein the number N is larger than or equal to the minimum number Kmin of dispersed ciphertext required by the recoverable master key, and N is larger than or equal to K and larger than or equal to Kmin. The dispersed number N is larger than the minimum number Kmin, so that when part of storage nodes are abnormal, the recovery master key is not influenced, and the whole password service system is not influenced to carry out password service. Any one of the cryptographic service nodes in the cryptographic service management system processes the cryptographic service request into a cryptographic service request component of at least one cryptographic service node and provides the cryptographic service request component to other cryptographic service nodes based on the multiparty secure computing system architecture. The step of the cryptographic service node processing the cryptographic service request into a cryptographic service request component corresponding to each cryptographic service node comprises: copying the password service request based on the number of nodes which are determined by the multiparty security computing system architecture and receive the password service request components so as to obtain the password service request components corresponding to the password service nodes; or based on the number of nodes which are determined by the multiparty secure computing system architecture and receive the password service request component, performing decentralized processing on input data indicated in the password service request to obtain a plurality of decentralized ciphertexts, and forming the password service request component containing each decentralized ciphertext.
Correspondingly, the password service node receives a plurality of password management service results, and corresponding key data is recovered according to each password management service result. For example, the cryptographic service node performs data processing on each cryptographic management service result by using an addition manner to restore key data.
The cryptographic service management system further performs the following steps based on the multiparty secure computing system architecture: and processing the password service request into password service request components corresponding to the password service nodes based on a multiparty security computing system architecture formed by the password service nodes. Correspondingly, the password service node cooperates with other password service nodes to execute operation instructions of corresponding password service based on the password service request component so as to obtain a plurality of password service result components.
Wherein the step of the cryptographic service management system processing the cryptographic service request into a cryptographic service request component corresponding to each cryptographic service node comprises: the cryptographic service request is replicated to obtain a cryptographic service request component corresponding to each cryptographic service node based on a number of nodes receiving the cryptographic service request component determined by the multiparty secure computing system architecture. Or the password service management system performs decentralized processing on input data indicated in the password service request based on the number of nodes for receiving the password service request components determined by the multiparty security computing system architecture to obtain a plurality of decentralized ciphertexts, and forms the password service request components containing the decentralized ciphertexts.
When the cryptographic service request includes any one of the following: when data encryption, data decryption, signature verification, step S120 further includes step S121 (not shown) and step S122 (not shown), and in step S121, the cryptographic service node obtains data to be processed based on the cryptographic service request. In step S122, the cryptographic service node cooperatively executes an operation instruction of the corresponding cryptographic service on the acquired data to be processed in cooperation with other cryptographic service nodes based on the restored key data. The type of the data to be processed is the same as or similar to that described above, and the data to be processed received by the single cryptographic service node may be a part of the data to be processed fragments mentioned above. The manner in which the cryptographic service node obtains the data to be processed based on the cryptographic service request and the manner in which the computing instructions of the corresponding cryptographic service are executed in cooperation with other cryptographic service nodes are the same as or similar to those described above, and will not be described in detail herein.
Referring to fig. 8, fig. 8 is a schematic diagram of a cryptographic service device according to an embodiment of the present application, where the cryptographic service device includes a plurality of computing devices, and each of the computing devices is configured in a computing system architecture that is not trusted and electrically connected with each other. A plurality of computing devices in the cryptographic service device may perform the cryptographic service method described previously.
The cryptographic service means may be an integrated computer device for performing the cryptographic service method, which may be located in a private room or in some leased place in a public room. The computing devices have mutually-untrusted attributes, namely, under the condition of no trusted third party, the computing devices participating in executing any password service operation cannot actively leak the data stored by the computing devices to the third party, and no additional input information except the calculation result is obtained among the computing devices participating in the calculation. Wherein each computing device corresponds to the aforementioned cryptographic service node. The method for cooperatively calculating any cryptographic service between computing devices that are not trusted by each other by using the operation instruction set based on the multiparty security calculation may refer to examples of the foregoing cryptographic service method, and will not be described in detail herein.
Each computing device comprises at least a memory and a processor. Wherein the memory is for storing at least one program for the computing device to perform the cryptographic service method. The memory may include dynamic random access memory, static random access memory, and may also include non-volatile memory, such as one or more hard disk storage devices, flash memory devices, programmable read-only memory, erasable programmable read-only memory, charged erasable programmable read-only memory, or other non-volatile solid state storage devices, and the like. The memory also includes a memory controller that can control access to the memory by other components of the device, such as the CPU and peripheral interfaces. Among other software components stored in the storage device include an operating system, a communication module (or instruction set), a text input module (or instruction set), and an application (or instruction set).
The processor is connected with the memory and is used for calling the at least one program and coordinating the memory and the interface to execute the password service method. The processor is operably coupled to the memory. In particular, the processor may execute programs stored in the memory to perform operations in the processor. As such, the processor may include one or more general purpose microprocessors, one or more application specific processors (ASICs), one or more field programmable logic arrays (FPGAs), or any combinations thereof.
Since each computing device is involved in storing and communicating data during execution of the cryptographic service, to ensure data security of multiple computing devices in a computing system architecture that are not trusted by each other during execution of the multiparty secure computation, in some embodiments, the multiple computing devices communicate separately on physical hardware, each of the multiple computing devices including an I/O interface with which to connect separately with other computing devices in the cryptographic service device. The cryptographic service device also comprises a programmable integrated circuit, each I/O interface is connected with the integrated circuit, and the integrated circuit selects two I/O interfaces to communicate based on a computing protocol, so that the security of communication among the computing devices when the cryptographic service device executes the cryptographic service is ensured. Wherein the programmable integrated circuit is configured to provide respective connections based on source and destination addresses issued upon data communication between the two computing devices based on a multiparty secure computing protocol for each computing device configured in the cryptographic service device.
To this end, the I/O interface is used to provide data input and output for the computing device to which it pertains. The number of I/O interfaces is related to the number of communications of the computing device, another computing device for performing cryptographic services, etc., and the type of each I/O interface is related to the manner in which data is transferred between the computing device, another computing device for cryptographic services, etc.
Referring to fig. 9, fig. 9 is a schematic diagram of a cryptographic service device according to another embodiment of the present application, where the cryptographic service device further includes a cryptographic service management device electrically connected to the plurality of computing devices, and the cryptographic service management device is configured to process the cryptographic service request into a cryptographic service request component corresponding to each computing device based on a multiparty secure computing system architecture formed by the plurality of computing devices, and provide the cryptographic service request component to each computing device. Wherein the cryptographic service management device may be a separate hardware device or one of the computing devices.
The multiparty security computing system architecture is formed by a plurality of computing devices which participate in specified password service in the password service device to perform multiparty security computation, and the number of the computing devices which participate in the password service can be fixed or can be determined according to the password service request of a user.
The password service management device respectively sends the password service request components to each computing device based on a multiparty security computing system architecture formed by a plurality of computing devices, and each computing device executes corresponding operation instructions based on the obtained password service request components to complete multiparty security computation of the corresponding password service requests. The cryptographic service management apparatus may be one or a plurality of cryptographic service management apparatuses. In some embodiments, the cryptographic service management device stores an address of each computing device, a computing protocol, a current load of the computing device, and the like for the cryptographic service management device to select the computing device executing the corresponding cryptographic service when receiving the cryptographic service request.
The present application also discloses a computer readable storage medium storing at least one computer program that when invoked by a plurality of processors cooperatively performs the cryptographic service method. The cryptographic service method is the same as or similar to the cryptographic service method mentioned above, and will not be described in detail here. It should be further noted that, from the description of the above embodiments, it is clear to those skilled in the art that some or all of the present application may be implemented by means of software in combination with a necessary general hardware platform. Based on such understanding, the technical solutions of the present application may be embodied essentially or in part in the form of a software product that contributes to the prior art.
In the embodiments provided herein, the computer-readable storage medium may include read-only memory, random-access memory, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, flash memory, U-disk, removable hard disk, or any other medium that can be used to store desired program code in the form of instructions or data structures and that can be accessed by a computer. In addition, any connection is properly termed a computer-readable medium. For example, if the instructions are transmitted from a website, server, or other remote source using a coaxial cable, fiber optic cable, twisted pair, digital Subscriber Line (DSL), or wireless technologies such as infrared, radio, and microwave, then the coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave are included in the definition of medium. It should be understood, however, that computer-readable and data storage media do not include connections, carrier waves, signals, or other transitory media, but are intended to be directed to non-transitory, tangible storage media. Disk and disc, as used herein, includes Compact Disc (CD), laser disc, optical disc, digital Versatile Disc (DVD), floppy disk and blu-ray disc where disks usually reproduce data magnetically, while discs reproduce data optically with lasers.
The cryptographic service method described in the present application may be implemented in hardware, software, firmware, or any combination thereof. When implemented in software, these functions may be stored on or transmitted over as one or more instructions or code on a computer-readable medium. The steps of the methods disclosed herein may be embodied in a processor-executable software module, which may be located on a tangible, non-transitory computer-readable and writable storage medium. Tangible, non-transitory computer readable and writable storage media may be any available media that can be accessed by a computer.
Under the technical framework reflected by examples described by the system, the method and the device for multiparty secure computing, the application discloses the following technical schemes:
1. a cryptographic service system, comprising: a plurality of cryptographic service nodes configured in a system architecture that is mutually untrusted and that communicates over a network; wherein, each cipher service node is preset with an operation instruction for executing a plurality of cipher services in cooperation with at least one other cipher service node;
the plurality of cipher service nodes cooperatively execute the operation instructions of the corresponding cipher service based on a cipher service request to obtain a plurality of cipher service result components.
2. The cryptographic service system according to embodiment 1, wherein the cryptographic service system further comprises a cryptographic service management system comprising a plurality of cryptographic service management nodes configured in a mutually untrusted and network-communicating system architecture; each password service management node is preset with an operation instruction for executing password management service in cooperation with at least one other password service management node based on a password service request provided by the password service node.
3. The cryptographic service system according to embodiment 2, wherein the step of presetting, in each of the cryptographic service management nodes, an operation instruction for executing the cryptographic service in cooperation with at least another cryptographic service management node based on the cryptographic service request provided by the cryptographic service node includes:
the password service management nodes execute operation instructions of corresponding password management services based on the password service requests provided by the password service nodes to obtain a plurality of password management service results;
and distributing the obtained multiple password management service results to each password service node so as to enable each password service node to recover corresponding key data.
4. The cryptographic service system according to embodiment 3, wherein the step of the plurality of cryptographic service management nodes executing the operation instruction of the respective cryptographic service based on the cryptographic service request provided by the plurality of cryptographic service nodes to obtain the plurality of cryptographic service results includes:
the K password service management nodes acquire K scattered root key fragments from N scattered storage nodes based on user information in the received password service request; wherein N is greater than K;
and the plurality of password service management nodes execute operation instructions of corresponding password management services according to the K root key fragments acquired in a scattered way so as to obtain a plurality of password management service results.
5. The cryptographic service system according to embodiment 4, wherein the N storage nodes include at least one of: the computer device issuing the cryptographic service request, the cryptographic service node, the cryptographic service management node, and an external storage service node.
6. The cryptographic service system according to embodiment 3, wherein the step of the plurality of cryptographic service nodes cooperatively executing the operation instructions of the respective cryptographic services based on a cryptographic service request to obtain a plurality of cryptographic service result components includes:
The plurality of password service nodes acquire data to be processed based on the password service request;
the plurality of cipher service nodes cooperatively execute operation instructions of corresponding cipher services on the acquired data to be processed based on the respective restored key data.
7. The cryptographic service system according to embodiment 6, wherein the data to be processed includes a plurality of pieces of data to be processed obtained by performing a decentralized process to perform an operation with key data.
8. The cryptographic service system according to embodiment 7, wherein the plurality of cryptographic service nodes read the plurality of pieces of data to be processed provided by the client providing the cryptographic service request, or read the plurality of pieces of data to be processed from the respective storage nodes based on the cryptographic service request.
9. The cryptographic service system according to embodiment 6, wherein the data to be processed includes any one of the following: data to be encrypted, data to be decrypted, data to be signed, and data to be verified.
10. The cryptographic service system according to embodiment 1, wherein the cryptographic service request includes any one of the following: generating a random number service request and a service request containing a password type generated password;
The plurality of cryptographic service nodes execute, when executing the operation instruction of the respective corresponding cryptographic service:
generating random initial values by at least two password service nodes;
the plurality of cipher service nodes cooperatively execute operation instructions of corresponding cipher services based on the generated random initial values to obtain a plurality of cipher service result components.
11. The cryptographic service system according to embodiment 1, wherein the operation instruction is set based on a computation role of the cryptographic service node in a secret sharing technique.
12. The cryptographic service system according to any one of embodiments 1 to 11, wherein the cryptographic service management system further processes the cryptographic service request into a cryptographic service request component corresponding to each cryptographic service node based on a multiparty secure computing system architecture constituted by the plurality of cryptographic service nodes, and provides the cryptographic service request component to each cryptographic service node.
13. The cryptographic service system according to embodiment 12, wherein the step of the cryptographic service management system processing the cryptographic service request into a cryptographic service request component corresponding to each cryptographic service node includes:
copying the password service request based on the number of nodes which are determined by the multiparty security computing system architecture and receive the password service request components so as to obtain the password service request components corresponding to the password service nodes; or alternatively
Based on the number of nodes for receiving the cipher service request component determined by the multiparty secure computing system architecture, the input data indicated in the cipher service request is subjected to decentralized processing to obtain a plurality of decentralized ciphertexts, and the cipher service request component comprising the decentralized ciphertexts is composed.
14. The cryptographic service system according to embodiment 1, wherein the cryptographic service node comprises: and the computer equipment is used for sending the password service request.
15. A cryptographic service method, wherein the cryptographic service method is applied to a plurality of cryptographic service nodes configured in a system architecture that is mutually untrusted and that communicates over a network; wherein, each cipher service node is preset with an operation instruction for executing a plurality of cipher services in cooperation with at least one other cipher service node; the password service method comprises the following steps:
and the password service node cooperates with other password service nodes to execute the operation instruction of the corresponding password service based on a password service request so as to obtain a password service result component.
16. The cryptographic service method of embodiment 15, wherein the cryptographic service system further comprises a cryptographic service management system comprising a plurality of cryptographic service management nodes configured in a mutually untrusted and network-communicating system architecture; each password service management node is preset with an operation instruction for executing password management service in cooperation with at least one other password service management node based on a password service request provided by the password service node;
The password service method further comprises the following steps:
and receiving a password management service result, and recovering corresponding key data according to the password management service result, wherein the password management service result is obtained by the password service management node executing operation instructions of corresponding password management services in a cooperative manner with other password service management nodes based on a password service request.
17. The cryptographic service method according to embodiment 16, wherein the K cryptographic service management nodes acquire K root key fragments from the N decentralized storage nodes based on the user information in the received cryptographic service request; wherein N is greater than K;
the password service management node which acquires the root key fragment cooperatively executes the operation instruction of the corresponding password management service with other password service management nodes according to the acquired root key fragment so as to acquire a password management service result.
18. The method of embodiment 16, wherein the step of the cryptographic service node executing the operation instruction of the corresponding cryptographic service in cooperation with other cryptographic service nodes based on a cryptographic service request to obtain the cryptographic service result component includes:
The password service node acquires data to be processed based on the password service request;
the password service node cooperates with other password service nodes to execute the operation instruction of the corresponding password service on the acquired data to be processed based on the restored key data.
19. The cryptographic service method according to embodiment 18, wherein the data to be processed includes pieces of data to be processed obtained by performing a decentralized process to perform an operation with key data.
20. The cryptographic service method of embodiment 19, wherein the data slicing to be processed includes:
the password service node reads from a client providing the password service request; or alternatively
The cryptographic service node reads from the respective storage node based on the cryptographic service request.
21. The cryptographic service method according to embodiment 20, wherein the data to be processed includes any one of the following: data to be encrypted, data to be decrypted, data to be signed, and data to be verified.
22. The cryptographic service method of embodiment 15, wherein the cryptographic service request includes any one of: generating a random number service request and a service request containing a password type generated password;
The step of the password service node executing the operation instruction of the corresponding password service in cooperation with other password service nodes based on a password service request comprises the following steps:
the password service node generates a random initial value;
the cryptographic service node cooperatively executes an operation instruction of the corresponding cryptographic service based on the generated random initial value to obtain a cryptographic service result component.
23. The cryptographic service method according to embodiment 15, wherein the operation instruction is set based on a computation role of the cryptographic service node in a secret sharing technique.
24. The cryptographic service method according to any one of embodiments 15 to 23, wherein the cryptographic service management system is further configured to process the cryptographic service request into a cryptographic service request component corresponding to each cryptographic service node based on a multiparty secure computing system architecture constituted by the plurality of cryptographic service nodes;
the password service node cooperates with other password service nodes to execute operation instructions of corresponding password service based on the password service request component so as to obtain a plurality of password service result components.
25. A cryptographic service apparatus, comprising: a plurality of computing devices, each configured in a computing system architecture that is mutually untrusted and electrically connected; a plurality of computing devices in the cryptographic service device perform the cryptographic service method as in any one of embodiments 15-24.
26. A computer-readable storage medium in which at least one program is stored, which when executed in concert by a plurality of processors performs the cryptographic service method of any one of embodiments 15-24.
The foregoing embodiments are merely illustrative of the principles of the present application and their effectiveness, and are not intended to limit the application. Modifications and variations may be made to the above-described embodiments by those of ordinary skill in the art without departing from the spirit and scope of the present application. Accordingly, it is intended that all equivalent modifications and variations which may be accomplished by persons skilled in the art without departing from the spirit and technical spirit of the disclosure be covered by the claims of this application.

Claims (22)

1. A cryptographic service system, comprising: a plurality of cryptographic service nodes configured in a system architecture that is mutually untrusted and that communicates over a network; wherein, each cipher service node is preset with an operation instruction for executing a plurality of cipher services in cooperation with at least one other cipher service node;
the password service nodes cooperatively execute operation instructions of corresponding password service based on a password service request to obtain a plurality of password service result components, and restore service results of corresponding password service based on the plurality of password service result components; wherein the step of obtaining a plurality of cryptographic service result components comprises:
The plurality of password service nodes acquire data to be processed based on the password service request;
the plurality of cipher service nodes cooperatively execute operation instructions of corresponding cipher services on the acquired data to be processed based on the respective restored key data; the data to be processed comprises a plurality of data fragments to be processed, which are obtained by decentralized processing and are subjected to operation with the key data.
2. The cryptographic service system according to claim 1, wherein the cryptographic service system further comprises a cryptographic service management system comprising a plurality of cryptographic service management nodes configured in a mutually untrusted and network-communicating system architecture; each password service management node is preset with an operation instruction for executing password management service in cooperation with at least one other password service management node based on a password service request provided by the password service node.
3. The cryptographic service system according to claim 2, wherein the step of presetting in each of the cryptographic service management nodes operation instructions for executing the cryptographic service in cooperation with at least another cryptographic service management node based on the cryptographic service request provided by the cryptographic service node comprises:
The password service management nodes execute operation instructions of corresponding password management services based on the password service requests provided by the password service nodes to obtain a plurality of password management service results;
and distributing the obtained multiple password management service results to each password service node so as to enable each password service node to recover corresponding key data.
4. The cryptographic service system according to claim 3, wherein the step of the plurality of cryptographic service management nodes executing the operation instruction of the respective cryptographic service based on the cryptographic service requests provided by the plurality of cryptographic service nodes to obtain the plurality of cryptographic service results comprises:
the K password service management nodes acquire K scattered root key fragments from N scattered storage nodes based on user information in the received password service request; wherein N is greater than K;
and the plurality of password service management nodes execute operation instructions of corresponding password management services according to the K root key fragments acquired in a scattered way so as to obtain a plurality of password management service results.
5. The cryptographic service system according to claim 4, wherein the N storage nodes comprise at least one of: the computer device issuing the cryptographic service request, the cryptographic service node, the cryptographic service management node, and an external storage service node.
6. The cryptographic service system of claim 1, wherein the plurality of cryptographic service nodes read the plurality of pending data slices provided by clients providing the cryptographic service requests or read the plurality of pending data slices from respective storage nodes based on the cryptographic service requests.
7. The cryptographic service system of claim 1, wherein the data to be processed comprises any one of: data to be encrypted, data to be decrypted, data to be signed, and data to be verified.
8. The cryptographic service system according to claim 1, wherein the cryptographic service request comprises any one of: generating a random number service request and a service request containing a password type generated password;
the plurality of cryptographic service nodes execute, when executing the operation instruction of the respective corresponding cryptographic service:
generating random initial values by at least two password service nodes;
the plurality of cipher service nodes cooperatively execute operation instructions of corresponding cipher services based on the generated random initial values to obtain a plurality of cipher service result components.
9. The cryptographic service system according to claim 1, wherein the operation instruction is set based on a computation role of the cryptographic service node in a secret sharing technique.
10. The cryptographic service system according to claim 2, wherein the cryptographic service management system further processes the cryptographic service request into a cryptographic service request component corresponding to each cryptographic service node based on a multiparty secure computing system architecture constituted by the plurality of cryptographic service nodes and provides the cryptographic service request component to each cryptographic service node.
11. The cryptographic service system according to claim 10, wherein the cryptographic service management system processes the cryptographic service request into a cryptographic service request component corresponding to each cryptographic service node comprises:
copying the password service request based on the number of nodes which are determined by the multiparty security computing system architecture and receive the password service request components so as to obtain the password service request components corresponding to the password service nodes; or alternatively
Based on the number of nodes for receiving the cipher service request component determined by the multiparty secure computing system architecture, the input data indicated in the cipher service request is subjected to decentralized processing to obtain a plurality of decentralized ciphertexts, and the cipher service request component comprising the decentralized ciphertexts is composed.
12. The cryptographic service system of claim 1, wherein the cryptographic service node comprises: and the computer equipment is used for sending the password service request.
13. A cryptographic service method, characterized by being applied to a plurality of cryptographic service nodes arranged in a system architecture that is mutually untrusted and that communicates over a network; wherein, each cipher service node is preset with an operation instruction for executing a plurality of cipher services in cooperation with at least one other cipher service node; the password service method comprises the following steps:
the password service node cooperates with other password service nodes to execute operation instructions of corresponding password service based on a password service request so as to obtain a plurality of password service result components; recovering a service result of the corresponding cryptographic service based on the plurality of cryptographic service result components; wherein the step of obtaining the cryptographic service result component comprises:
the password service node acquires data to be processed based on the password service request;
the password service node cooperates with other password service nodes to execute operation instructions of corresponding password service on the acquired data to be processed based on the restored key data; the data to be processed comprises data fragments to be processed, which are obtained by decentralized processing and are subjected to operation with the key data.
14. The cryptographic service method of claim 13, wherein the system architecture further comprises a cryptographic service management system comprising a plurality of cryptographic service management nodes configured in a mutually untrusted and network-communicating system architecture; each password service management node is preset with an operation instruction for executing password management service in cooperation with at least one other password service management node based on a password service request provided by the password service node;
The password service method further comprises the following steps:
and receiving a password management service result, and recovering corresponding key data according to the password management service result, wherein the password management service result is obtained by the password service management node executing operation instructions of corresponding password management services in a cooperative manner with other password service management nodes based on a password service request.
15. The cryptographic service method of claim 14, wherein the K cryptographic service management nodes obtain K root key fragments from the N decentralized storage nodes based on the user information in the received cryptographic service request; wherein N is greater than K;
the password service management node which acquires the root key fragment cooperatively executes the operation instruction of the corresponding password management service with other password service management nodes according to the acquired root key fragment so as to acquire a password management service result.
16. The cryptographic service method of claim 13, wherein the data shard to be processed comprises:
the password service node reads from a client providing the password service request; or alternatively
The cryptographic service node reads from the respective storage node based on the cryptographic service request.
17. The cryptographic service method of claim 16, wherein the data to be processed comprises any one of: data to be encrypted, data to be decrypted, data to be signed, and data to be verified.
18. The cryptographic service method of claim 13, wherein the cryptographic service request comprises any one of: generating a random number service request and a service request containing a password type generated password;
the step of the password service node executing the operation instruction of the corresponding password service in cooperation with other password service nodes based on a password service request comprises the following steps:
the password service node generates a random initial value;
the cryptographic service node cooperatively executes an operation instruction of the corresponding cryptographic service based on the generated random initial value to obtain a cryptographic service result component.
19. The cryptographic service method of claim 13, wherein the operation instruction is set based on a computing role of the cryptographic service node in a secret sharing technique.
20. The cryptographic service method according to any one of claims 14, wherein the cryptographic service management system is further configured to process the cryptographic service request into a cryptographic service request component corresponding to each cryptographic service node based on a multiparty secure computing system architecture constituted by the plurality of cryptographic service nodes;
The password service node cooperates with other password service nodes to execute operation instructions of corresponding password service based on the password service request component so as to obtain a plurality of password service result components.
21. A cryptographic service apparatus, comprising: a plurality of computing devices, each configured in a computing system architecture that is mutually untrusted and electrically connected; a plurality of computing devices in the cryptographic service device performing the cryptographic service method of any one of claims 13-20.
22. A computer-readable storage medium, characterized in that at least one program is stored, which when executed in cooperation by a plurality of processors performs the cryptographic service method of any one of claims 13-20.
CN201910759555.7A 2019-08-16 2019-08-16 Password service system, method and device Active CN112003690B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910759555.7A CN112003690B (en) 2019-08-16 2019-08-16 Password service system, method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910759555.7A CN112003690B (en) 2019-08-16 2019-08-16 Password service system, method and device

Publications (2)

Publication Number Publication Date
CN112003690A CN112003690A (en) 2020-11-27
CN112003690B true CN112003690B (en) 2024-01-12

Family

ID=73461844

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910759555.7A Active CN112003690B (en) 2019-08-16 2019-08-16 Password service system, method and device

Country Status (1)

Country Link
CN (1) CN112003690B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112966022B (en) * 2021-03-10 2024-04-05 安徽航天信息科技有限公司 Information query method, device and system of data transaction platform
CN114826702A (en) * 2022-04-11 2022-07-29 中国南方电网有限责任公司 Database access password encryption method and device and computer equipment

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020085734A (en) * 2001-05-10 2002-11-16 (주) 비씨큐어 Recoverable Password-Based Mutual Authentication and Key Exchange Protocol
CN101401341A (en) * 2005-11-18 2009-04-01 安全第一公司 Secure data parser method and system
CN103001957A (en) * 2012-11-26 2013-03-27 广州大学 Key generation method, device and server
CN105187379A (en) * 2015-07-17 2015-12-23 上海交通大学 Multi-party distrust-based password split managing method
CN108063813A (en) * 2017-12-15 2018-05-22 华中农业大学 The method and system of cryptographic service network parallelization under a kind of cluster environment
CN108600174A (en) * 2018-03-26 2018-09-28 西安交通大学 A kind of access control mechanisms and its implementation of big merger network
CN109086624A (en) * 2018-08-03 2018-12-25 北京海泰方圆科技股份有限公司 login method and device

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9590959B2 (en) * 2013-02-12 2017-03-07 Amazon Technologies, Inc. Data security service

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020085734A (en) * 2001-05-10 2002-11-16 (주) 비씨큐어 Recoverable Password-Based Mutual Authentication and Key Exchange Protocol
CN101401341A (en) * 2005-11-18 2009-04-01 安全第一公司 Secure data parser method and system
CN103001957A (en) * 2012-11-26 2013-03-27 广州大学 Key generation method, device and server
CN105187379A (en) * 2015-07-17 2015-12-23 上海交通大学 Multi-party distrust-based password split managing method
CN108063813A (en) * 2017-12-15 2018-05-22 华中农业大学 The method and system of cryptographic service network parallelization under a kind of cluster environment
CN108600174A (en) * 2018-03-26 2018-09-28 西安交通大学 A kind of access control mechanisms and its implementation of big merger network
CN109086624A (en) * 2018-08-03 2018-12-25 北京海泰方圆科技股份有限公司 login method and device

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于云计算服务的安全多方计算;蒋瀚;徐秋亮;;计算机研究与发展(10);第2152-2162页 *

Also Published As

Publication number Publication date
CN112003690A (en) 2020-11-27

Similar Documents

Publication Publication Date Title
JP7164580B6 (en) Secure multi-party loss-tolerant storage and transfer of cryptographic keys for blockchain-based systems in conjunction with wallet management systems
US11601407B2 (en) Fast oblivious transfers
US10785019B2 (en) Data transmission method and apparatus
US11552792B2 (en) Systems and methods for generating signatures
CN108292402A (en) The determination of the public secret of secure exchange for information and level certainty key
CN110289968B (en) Private key recovery method, collaborative address creation method, collaborative address signature device and storage medium
KR20200066258A (en) System and method for information protection
US11930110B2 (en) System and method for key recovery and verification in blockchain based networks
CN114631285A (en) Key generation for use in secure communications
CN110635912A (en) Data processing method and device
CN112003690B (en) Password service system, method and device
US11893577B2 (en) Cryptographic key storage system and method
CN110784318B (en) Group key updating method, device, electronic equipment, storage medium and communication system
KR20210127063A (en) Private Key backup Key recovery framework in a distributed service environment
KR20220142254A (en) Multi-signature wallet system in blockchain using the bloom filter
CN101470643A (en) Fixed hardware security unit backup and recovery method and system
KR20170031482A (en) System and Method for Providing Tripartite Multiple Certification

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