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

Password service system, method and device Download PDF

Info

Publication number
CN112003690A
CN112003690A CN201910759555.7A CN201910759555A CN112003690A CN 112003690 A CN112003690 A CN 112003690A CN 201910759555 A CN201910759555 A CN 201910759555A CN 112003690 A CN112003690 A CN 112003690A
Authority
CN
China
Prior art keywords
service
cryptographic service
cryptographic
password
node
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910759555.7A
Other languages
Chinese (zh)
Other versions
CN112003690B (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

Images

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

Abstract

The application provides a password service system, a method and a device, wherein the password service system comprises: a plurality of cryptographic service nodes configured in a mutually untrusted and network communicating system architecture; each password service node is preset with an operation instruction used for executing a plurality of password services in cooperation with at least one other password service node; the plurality of cryptographic service nodes cooperatively execute the operation instruction of the corresponding cryptographic service based on a cryptographic service request to obtain a plurality of cryptographic service result components. The password service system is used for solving the problem that the security is not high because the hardware encryption machine uses a single server to provide password service.

Description

Password service system, method and device
Technical Field
The present application relates to the field of data security technologies, and in particular, to a password 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 a hardware encryption machine to encrypt, transmit and store the private data. However, the existing hardware encryption machine generally uses a single server to perform the cryptographic service, and when the single cryptographic server is used to perform the cryptographic service, the problem that the data such as a private key used by a user or an enterprise to encrypt private data, a plaintext of the private data, a main key of the encryption machine, and the like cannot be recovered in the single server is avoided, and an attacker can obtain the data if the attacker breaks through the server of the hardware encryption machine, so that the existing hardware encryption machine has the problem of low security. Aiming at the problems existing in the existing hardware encryption machine, no effective solution is provided at present.
Disclosure of Invention
In view of the above drawbacks of the prior art, the present application aims to provide a cryptographic service system, method and device, which are used to solve the problem of low security caused by using a single server to provide cryptographic service in an encryption machine in the prior art.
To achieve the above and other related objects, a first aspect of the present application provides a cryptographic service system, comprising: a plurality of cryptographic service nodes configured in a mutually untrusted and network communicating system architecture; each password service node is preset with an operation instruction used for executing a plurality of password services in cooperation with at least one other password service node; the plurality of cryptographic service nodes cooperatively execute the operation instruction of the corresponding cryptographic service based on a cryptographic service request to obtain a plurality of cryptographic service result components.
In certain embodiments 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 mutually untrusted and network communicating system architecture; each cryptographic service management node is preset with an operation instruction used for executing cryptographic management service based on a cryptographic service request provided by the cryptographic service node and at least one other cryptographic service management node in a coordinated manner.
In some embodiments of the first aspect, the step of presetting, in each cryptographic service management node, an operation instruction for executing the cryptographic management 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 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 recover corresponding key data by each password service node.
In some embodiments of the first aspect, the step of the plurality of cryptographic service nodes cooperatively executing the operation instructions of the corresponding cryptographic service 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 requests; and the plurality of cryptographic service nodes cooperatively execute the operation instruction of the corresponding cryptographic service on the acquired data to be processed based on the respectively recovered key data.
In certain embodiments of the first aspect, the cryptographic service request comprises any one of: generating a random number service request, a service request containing a password type for generating a password; the plurality of cryptographic service nodes execute, when executing respective operation instructions corresponding to the cryptographic service: at least two password service nodes generate random initial values; the plurality of cryptographic service nodes cooperatively execute the operation instruction of the corresponding cryptographic service based on the generated random initial value to obtain a plurality of cryptographic service result components.
In certain embodiments of the first aspect, the operation instruction is set based on a computing role of the cryptographic service node in a secret sharing technique.
In some embodiments of the first aspect, the cryptographic service management system further processes the cryptographic service request into cryptographic service request components corresponding to the cryptographic service nodes and provides the cryptographic service request components to the cryptographic service nodes based on a multi-party secure computing system architecture formed by the cryptographic service nodes.
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 which is not trusted with each other and is in network communication; each password service node is preset with an operation instruction used for executing a plurality of password services in cooperation with at least one other password service node; the password service method includes: and the password service node executes the operation instruction of the corresponding password service based on a password service request and other password service nodes in a cooperative manner to obtain a password service result component.
A third aspect of the present application provides a cryptographic service apparatus, comprising: a plurality of computing devices, each configured in a mutually untrusted and electrically connected computing system architecture; a plurality of computing devices in the cryptographic service device perform the cryptographic service method of 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 cooperation with a plurality of processors, performs the cryptographic service method according to the second aspect.
As described above, the cryptographic service system, the cryptographic service method and the cryptographic service device of the present application cooperatively execute an operation instruction of a cryptographic service through a plurality of cryptographic service nodes 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 recover a service result corresponding to the cryptographic service, thereby improving the 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 illustrating data interaction between the cryptographic service system and the client according to an embodiment of the present disclosure.
FIG. 4 is a diagram illustrating a computing task for describing a loop processing operation using a tree structure.
FIG. 5 is a schematic diagram illustrating the task of computing a factoring operation using a tree structure.
FIG. 6 is a schematic diagram illustrating the task of computing a common expression extraction operation using a tree structure.
Fig. 7 is a schematic block diagram of a flow chart of a 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 apparatus according to another embodiment of the present application.
Detailed Description
The following description of the embodiments of the present application is provided for illustrative purposes, and other advantages and capabilities of the present application will become apparent to those skilled in the art from the present disclosure.
Although the terms first, second, etc. may be used herein to describe various elements in some instances, these elements should not be limited by these terms. These terms are only used to distinguish one element from another. 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, it should be further understood that the terms "comprises" and "comprising" indicate the presence of the stated features, steps, operations, elements, components, items, species, and/or groups, but do not preclude the presence, or addition of one or more other features, steps, operations, elements, components, items, species, and/or groups. A; b; c; a and B; a and C; b and C; A. b and C ". an exception to this definition will occur only when a combination of elements, functions, steps or operations are inherently mutually exclusive in some way.
With the development of information technology, the network information security problem is increasingly prominent, so that various enterprises, 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 manner, and use a hardware encryption machine to protect privacy data of users and enterprises (such as personal bank financing information, personal bank card payment passwords, investor stock trading information, bank applications and the like), enterprise application programs and the like.
However, the existing hardware encryptor generally performs the cryptographic service by a single server, such a way of providing the cryptographic service will increase the burden of the server, and when the cryptographic service is performed by using the single cryptographic server, the problem that the security of the existing hardware encryptor is not high because an attacker can obtain the data if the attacker attacks the server of the hardware encryptor because the data such as the private key used for encryption by a user or an enterprise, the plaintext of private data, and the master key of the encryptor cannot be recovered in the single server is avoided.
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 not trusted by each other and is in network communication, where each cryptographic service node is preset with an operation instruction for executing a plurality of cryptographic services in cooperation with at least another cryptographic service node.
The plurality of cryptographic service nodes have an untrusted property, that is, under the condition that no trusted third party exists, the plurality of cryptographic service nodes participating in any cryptographic service operation cannot actively leak the data stored in the cryptographic service nodes to the third party, and other additional input information except the calculation result cannot be obtained among the cryptographic service nodes participating in the calculation. In the method, any one cryptographic service is calculated cooperatively among the cryptographic service nodes which are not trusted with each other by using an operation instruction set based on multi-party security calculation.
The password service node can be a single computer device, or a physical device or a virtual device used in a cloud architecture-based service system. The single computer device may be an autonomously configured computer device that can perform multi-party secure computation based on operation instructions, and may be located in a private computer room or a leased machine location in a public computer 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 executable by the virtual device, and the 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, IaaS and the like. The private cloud service end comprises an Array cloud computing service platform, an Amazon cloud computing service platform, a Baidu 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 in data connection with a processing device, which can carry out data transfer by means of network communication. To this end, the interface means includes, but is not limited to, a network card, a mobile network access module, and the like.
The storage device is used for storing at least one program for the cryptographic service node to execute the cryptographic service method. The storage 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, electrically erasable programmable read only memory, or other non-volatile solid state storage devices, among others. The storage device also includes a memory controller that can control access to the storage device by other components of the apparatus, such as the CPU and peripheral interfaces. Among the software components stored in the storage device are an operating system, a communications module (or set of instructions), a text input module (or set of instructions), and an application (or set of instructions).
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 combination thereof.
In fact, depending on the hardware devices of the operation instructions actually run by the cryptographic service node, the above devices may be located on a single server, or located in multiple servers and perform the operation instructions executed by the cryptographic service node through data communication between the servers.
In an embodiment, the cryptographic service node may further include a computer device that sends the cryptographic service request, and the computer device may be a client or a server.
The multi-party secure computing system architecture is formed by a plurality of password service nodes participating in specified password service for multi-party secure computing in the password service system, and the number of the password service nodes participating in the password service can be fixed or can be determined according to the password service request of a user. Each cryptographic service node is preset with an operation instruction used for executing a plurality of cryptographic services in cooperation with at least one other cryptographic service node, and the plurality of cryptographic service nodes execute the operation instruction of the corresponding cryptographic service in cooperation based on a cryptographic service request so as to obtain a plurality of cryptographic service result components.
Wherein, the password service system is used for providing a plurality of password services. The cryptographic services include, but are not limited to, key generation, key storage, key import, key export, key update, key destruction, key backup and key recovery, signing, signature verification, working key agreement, message digest, data encryption, data decryption, random number generation, and the like. The password service system is used for ensuring the safety, effectiveness, integrity, non-repudiation and other safety problems of the whole process of generating, transmitting, receiving and managing 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 multiple cryptographic services through network communication.
Wherein, the password service request can come from a client or a server. Taking the payment application as an example, when the user swipes the card for payment, the user sends out at least one password service request based on the payment business process by the terminal equipment executing the card swiping operation. Taking the secure network communication application as an example, according to a communication flow for establishing a secure communication channel between a server and a browser, the corresponding server sends out at least one cryptographic service request. 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 password service nodes participate in executing a password service, and a sender sends a password service request to each password service node individually according to the advance. For another example, the sender sends a cryptographic service request to one of the cryptographic service nodes, and the cryptographic service node that receives 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, and the cryptographic service management system is configured to process the cryptographic service request into cryptographic service request components corresponding to the cryptographic service nodes and provide the cryptographic service request components to the cryptographic service nodes based on a multi-party secure computing system architecture formed by the plurality of cryptographic service nodes. 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 execute cooperatively 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 with at least one other password service node are different correspondingly. Wherein the operation instruction is set based on a computing role of the cryptographic service node in a secret sharing technology.
Taking the example that the cryptographic service system includes four cryptographic service nodes, the operation instruction is generated based on the computing role of each cryptographic service node in the computing protocol in which the four cryptographic service nodes perform the secret sharing operation. The computing protocol for executing the secret sharing operation based on the four cryptographic service nodes comprises: the method comprises the steps of executing a calculation protocol of addition calculation in the 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 for performing a multiplication computation of two input data in a secret sharing technology by using four cryptographic service nodes. The input data is data used for executing a corresponding cryptographic service, such as key data, data to be processed, or data obtained by preprocessing 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 password service node respectively carries out local calculation on the respective data fragment group, and intermediate data generated by the local calculation are interacted, so that calculation results respectively held by each password service node are obtained. 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 calculation result is extracted by adopting a two-out-of-four mode, and the correctness of the calculation result of each password service node is verified.
Each password service node respectively carries out local calculation on the acquired data fragment group, and carries out interaction on intermediate data generated by the local calculation to obtainThe step of calculating the result held by each cryptographic service node includes: a first password service node, a second password service node, a third password service node and a fourth password service node in the password service system sequentially acquire a data slice group { x }1,x'1,y1,y'1}, data slice groups { x2,x'2,y2,y'2}, data slice groups { xa,x'a,ya,y'aAnd a set of data slices { x }b,x'b,yb,y'b}; wherein, { x1,x'1,x2,x'2,xa,x'a,xb,x'bThe data X is obtained by random decentralized processing of input data, y1,y'1,y2,y'2,ya,y'a,yb,y'bThe data Y is obtained by performing random dispersion processing on the input data Y.
According to a multi-party computing instruction generated by performing a multiplication task of input data X and Y by using four password service nodes, the password service system performs the following steps: enabling the first password service node and the second password service node to share a random number r12And r1'2And enabling the third password service node and the fourth password service node to share the random number rabAnd ra'b(ii) a The first password service node and the second password service node respectively carry out multiplication calculation on the data slice groups held by the first password service node and the second password service node and are used for offsetting the random number r12And r1'2So that the first cryptographic service node gets the intermediate data t1And t'1And the second cryptographic service node obtains the intermediate data t2And t'2(ii) a The third password service node and the fourth password service node respectively carry out multiplication calculation on the data slice groups held by the third password service node and the fourth password service node and are used for offsetting the random number rabAnd ra'bSo that the third cryptographic service node gets the intermediate data taAnd t'aAnd the fourth cryptographic service node obtains the intermediate data tbAnd t'b(ii) a The first password service node and the third password service node replace respective intermediate data, and the first password service node and the fourth password service node replace respective intermediate data; the second password service node and the third password service node replace respective intermediate data, and the second password service node and the fourth password service node replace respective intermediate data; and enabling the cryptographic service nodes to respectively perform local calculation including addition by using the intermediate data paired based on the permutation operation, so that each cryptographic service node obtains two calculation results including the cancelable random number.
In one embodiment, the computing protocol is a computing protocol for performing bit extraction computation in a secret sharing technology by using four cryptographic service nodes, and the computation task includes a computation task for extracting binary bits in input data X. The step of performing local computation on the data fragment groups acquired by the cryptographic service nodes respectively according to the computation instruction, and performing interaction on intermediate data generated by the local computation to obtain computation results held by the cryptographic service nodes respectively comprises the following steps: and the four password service nodes obtain respective calculation results by utilizing data interaction of the 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 the binary digits to be extracted corresponding to the input data X in the calculation task.
The calculation tasks include a calculation task of extracting binary bits in the input data X. The step of performing local computation on the data fragment groups acquired by the cryptographic service nodes respectively according to the computation instruction, and performing interaction on intermediate data generated by the local computation to obtain computation results held by the cryptographic service nodes respectively comprises the following steps: a first password service node, a second password service node, a third password service node and a fourth password service node in the password service system sequentially acquire a data slice group { x }1}, data slice groups { x2}, data slice groups { xaAnd a set of data slices { x }b}; wherein, { x1,x2,xa,xbAnd the data fragments are binary representation data fragments obtained by carrying out random dispersion processing on the input data X, wherein each data fragment and the input data X have the same binary bit number. According to the calculation instruction, the password service system executes the following steps: each cryptographic service node initializes a bit value for output { c }1,c'1},{c2,c'2},{ca,c'a},{cb,c'b}; and enabling the first password service node and the second password service node to share a random number r12And b12(ii) a And enabling the third password service node and the fourth password service node to share a random number bab(ii) a Wherein the random number r12、b12And babIs a binary random number generated based on the number of extracted bits k; the first password service node and the second password service node use the random number r12For each held data fragment x1And x2Performing logic processing on the kth bit to obtain the uniform binary intermediate data u with the kth bit1And u2(ii) a Making the first cryptographic service node to intermediate data u1Sending to a third cryptographic service node, and performing by the third cryptographic service node based on the formula u1∧xaAnd obtaining intermediate data ua(ii) a Based on the k value, the following loop calculation is set: each cryptographic service node divides data into x1With the random number b based on the sharing12Or babAnd obtaining the intermediate data of the ith round; performing replacement processing on the intermediate data obtained in each turn, and assigning corresponding output bits; the first password service node and the third password service node carry out replacement processing on intermediate data, and the second password service node and the fourth password service node carry out replacement processing on the intermediate data; each password 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 is to calculate result c'1Providing to a third cryptographic service node; the second cryptographic service node will compute result c'2Providing to a fourth cryptographic service node; the third cryptographic service node will calculate the result caProviding to a second cryptographic service node; the fourth cryptographic service node will calculate the result cbThe first cryptographic service node is provided so that each cryptographic service node holds two computation 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 calculation result is extracted by adopting a two-out-of-four mode, and the correctness of the calculation result of each password service node is verified.
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 a multi-party computing instruction 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 respective held calculation results. Wherein the calculation result comprises a result for indicating transmission of the corresponding data slice or a result for indicating non-transmission of the corresponding data slice.
The computing tasks include computing tasks that inadvertently transfer input data X; the step of performing local computation on the data fragment groups acquired by the cryptographic service nodes respectively according to the computation instruction, and performing interaction on intermediate data generated by the local computation to obtain computation results held by the cryptographic service nodes respectively comprises the following steps: the data fragments obtained by each password service node in the password service system are sequentially { x }1,x'1},{x2,x'2},{xa,x'a},{xb,x'b}; wherein the data is sliced { x1,x'1,x2,x'2,xa,x'a,xb,x'bIs input data X scattered randomlyAnd processing to obtain that each password service node obtains sharable random bit value { c) set respectively based on the data shards to be shared1,c'1},{c2,c'2},{ca,c'a},{cb,c'b}. According to a multi-party computing instruction generated by executing a computing task of inadvertently transmitting input data X by using four password service nodes, the password service system executes the following steps: enabling the first password service node and the second password service node to share a first random number r12And r1'2(ii) a The first password service node and the third password service node share a second random number r1'a(ii) a The first password service node and the fourth password service node share a second random number r1b(ii) a The second password service node and the third password service node share a second random number r2a(ii) a The second password service node and the fourth password service node share a second random number r2'b(ii) a The third password service node and the fourth password service node share the first random number rabAnd ra'b(ii) a Enabling each password service node to perform mathematical calculation with a first type of random number on whether to transmit data fragments or not by using the respectively configured bit value, and performing mathematical calculation with a second type of random number on whether to transmit the first type of random numbers or not by using the respectively configured bit value to obtain intermediate data and an intermediate random number; the first password service node and the second password service node respectively perform replacement operation of intermediate data and intermediate random numbers with the third password service node and the fourth password service node; and enabling each password service node to execute mathematical calculation including offsetting of the second random number and obtaining 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 calculation result is extracted by adopting a two-out-of-four mode, and the correctness of the calculation result of each password service node is verified.
In an embodiment, the computing protocol is a computing protocol for performing addition computation in the secret sharing technology by using at least two cryptographic service nodes, and when a computation task includes that Z is X + Y, the data slice groups obtained by the cryptographic service nodes are sequentially { X + Y1,Y1}、{X2,Y2It only needs cryptographic service nodes S1, S2 to locally calculate Z1 ═ X1+ Y1 and Z2 ═ X2+ Y2, respectively, add Z1 to random number r12Subtracting the random number r from Z212And obtaining the calculation results held by each.
It should be noted that the number of the cryptographic service nodes is not limited to four, and may also be two, three, five, and the like, and the computing protocols corresponding to different numbers of the cryptographic service nodes are also different.
With the above-mentioned example of the multi-party involved basic operation, the operation instructions of the multiple cryptographic service nodes describe a multi-party computing process for cooperatively performing a cryptographic service by the multiple cryptographic service nodes. For this purpose, the operation instruction includes a local computation instruction and a data interaction instruction, where the local computation instruction and the data interaction instruction are used to instruct, according to a computation role of a corresponding cryptographic service node in the secret sharing technology, the cryptographic service node to execute the instruction. The operational instructions may be described in a computer program language or a machine language.
It can be seen from the above embodiments that the complete business logic for implementing a cryptographic service can be executed by multi-party executed operation instructions designed based on the secret sharing technology and including computation protocols such as addition computation, multiplication computation, bit extraction computation, and careless transmission, and each cryptographic service node only holds the operation instructions 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 can not recover the service result corresponding to the password service; however, multiple cryptographic service result components may recover the service result for the corresponding cryptographic service. Taking an example that four cryptographic service nodes cooperatively execute an operation instruction of a cryptographic service and obtain a plurality of cryptographic service result components, where the cryptographic service is, for example, generating a key pair, the cryptographic service nodes cooperatively execute the operation instruction of generating the key pair and obtain two cryptographic service result components held by each cryptographic service node, a receiver of the key pair receives all the cryptographic service result components of two of the cryptographic service nodes, performs a recovery operation to obtain two groups of key pairs, and determines whether the key pair generated by the cryptographic service system is authentic according to whether the obtained two groups of key pairs are identical.
It should be noted that, the way in which the service result component of the cryptographic service results obtained by the cryptographic service nodes can recover the service result is related to the operation instruction, and is not limited to the calculation example of the four cryptographic service nodes, which is not given by way of example.
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 another embodiment, the cryptographic service nodes may feed back the cryptographic service result components when the corresponding client (or server) initiates the obtaining request.
In order to ensure the security of each cryptographic service node during data interaction, the cryptographic service nodes cooperatively execute the operation instruction based on a multilayer key. The multi-layer secret key ensures that the secret keys at all levels do not appear in plaintext by adopting a mode that the secret keys at lower levels are protected by the secret keys at upper levels, wherein the secret key at the uppermost level is stored in a scattered mode to ensure the safety of the secret key at the uppermost level. 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 a client (or a server), performing data interaction based on multiple layers of keys.
In one embodiment, the multi-layer key is a three-layer key, and the three-layer key includes: root key, transport master key and working key. The root key comprises a master key and a user private key. In other embodiments, the multi-layer key may be a four-layer key. Taking a three-layer key as an example, the master key is used for encrypting the transmission master key to ensure that the transmission key is not stored in the clear text in each cryptographic service node or the 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 plain text manner in each cryptographic service node or a corresponding storage node, wherein the transmission master key is distributed by a cryptographic service management system, and the cryptographic service management system will be detailed later. The working key is used for encrypting the intermediate data and encrypting interactive data for data interaction between the client (or the server) and each password service node so as to ensure that the intermediate data and the interactive data do not appear in a communication link in a clear text manner. Wherein the interactive 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 agreement between the cryptographic service nodes or between the cryptographic service nodes and the client (or the server), wherein the key agreement mode comprises a mode based on Diffie-Hellman key exchange and the like. In other embodiments, the working key may also be dispatched by the cryptographic service management system.
Referring to fig. 2, fig. 2 is a schematic structural diagram of a cryptographic service system according to another embodiment of the present application, where the cryptographic service system further includes a cryptographic service management system including a plurality of cryptographic service management nodes configured in a mutually untrusted and network-communicating system architecture.
The password service management system can provide password management service for each password service node. The password management services include, but are not limited to: the method comprises the steps of generating a transmission master key of each cryptographic service node, generating a working key of each cryptographic service node, encrypting the transmission master key of each cryptographic service node, encrypting the working key of each cryptographic service node, decrypting the transmission master key of each cryptographic service node, decrypting the working key of each cryptographic service node, updating the transmission master key of each cryptographic service node, updating the working key of each cryptographic 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 multiple cryptographic management services through network communication.
The plurality of cryptographic service management nodes have an untrusted property, that is, under the condition that no trusted third party exists, the plurality of cryptographic service management nodes participating in the execution of the cryptographic management service do not actively leak the data stored or generated by the plurality of cryptographic service management nodes to the third party, and no other additional input information except the calculation result is obtained between the plurality of cryptographic service management nodes executing the cryptographic management service. The password management service is cooperatively executed between the password service management nodes which are not trusted with each other by utilizing the operation instruction set based on the multi-party security calculation.
The password service management node may be a single computer device, or a physical device or a virtual device used in a cloud-based service system. The single computer device, or the physical device or the virtual device used in the cloud-based architecture service system is the same as or similar to that mentioned in the aforementioned password 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 device is used for storing at least one program for the cryptographic service management node to execute the cryptographic management service. The processing device is connected with the storage device and 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 device, the processing device and the network interface device are respectively the same as or similar to the storage device, the processing device and the network interface device of each of the aforementioned cryptographic service nodes, and are not described in detail herein.
Each cryptographic service management node is preset with an operation instruction used for executing cryptographic management service based on a cryptographic service request provided by the cryptographic service node and at least one other cryptographic service management node in a coordinated manner. The plurality of password service management nodes execute the operation instruction of the corresponding password management service based on the password service request 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 recover corresponding key data by each password service node.
Taking the example that the cryptographic service management system includes four cryptographic service management nodes, the operation instruction for executing the cryptographic service is generated based on the calculation role of each cryptographic service management node in the calculation protocol in which the four cryptographic service management nodes execute the secret sharing operation. The computing protocol for executing the secret sharing operation based on the four cryptographic service management nodes is the same as or similar to the computing protocol for executing the secret sharing operation by the four cryptographic service nodes, and is not described herein again.
The key data includes, but is not limited to, a transmission master key, a work 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 cryptographic service execution, taking the cryptographic service system including four cryptographic service nodes S1, S2, Sa, Sb as an example, the cryptographic service node Sa sends the cryptographic service request for generating the transmission master key to each cryptographic service management node, the cryptographic service request includes information of the cryptographic service nodes S1, S2 interacting with the cryptographic service node Sa, each cryptographic service management node cooperatively executes an operation instruction of the cryptographic 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, so that the cryptographic service node Sa can recover the transmission master key a1_ TMK used when the cryptographic service node Sa interacts with intermediate data of the cryptographic service node S1, and the cryptographic service node Sa can recover the transmission master key used when the cryptographic service node Sa interacts with the intermediate data of the cryptographic service node S85 The transport master key a2_ TMK used by the service node S2 for intermediate data interaction is used by the cryptographic service node S1 to recover the transport master key a1_ TMK and by the cryptographic service node S2 to recover the transport master key a2_ TMK. Here, each cryptographic service node participating in executing a cryptographic service operation command needs to send a cryptographic service request corresponding to a cryptographic management service to each cryptographic service management node to obtain a transmission master key or a work key of each cryptographic service node.
In another embodiment, the cryptographic service request may be directly sent by a client (or a server) to each cryptographic service management node, and 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 provides the plurality of cryptographic management service results to a corresponding cryptographic service node based on a multi-party 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, the cooperatively executing the operation instruction of the cryptographic management service based on the cryptographic service request by each cryptographic service management node to obtain a plurality of cryptographic management service results comprises: the K cryptographic service management nodes acquire K scattered root key fragments from N scattered storage nodes based on user information in the received cryptographic service request, wherein N is larger than K, and the cryptographic service management nodes execute operation instructions of corresponding cryptographic management services according to the K scattered root key fragments to obtain a plurality of cryptographic management service results. Each password service management node acquires root key fragments of corresponding users from corresponding storage nodes based on user information in the received password service request, wherein the root key fragments comprise master key fragments and user private key fragments. In an embodiment, all of the N storage nodes are the cryptographic service node, but the present invention is not limited thereto, and in another embodiment, 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. In another embodiment, the N storage nodes may also include at least two of a computer device that issued 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 the root key in a distributed manner of the Shamir secret sharing algorithm. The distributed mode set based on the Shamir secret sharing algorithm comprises a distributed mode of distributing the master key into N number based on the structural polynomial, wherein the N number is larger than or equal to the minimum number Kmin of distributed ciphertexts required by the recoverable master key, and N & gtK is larger than or equal to Kmin. The number N of the distributed nodes is larger than the minimum number Kmin, so that the recovery of the main key is not influenced when the abnormal condition of part of the storage nodes occurs, and further the cryptographic service of the whole cryptographic service system is not influenced. Taking the plaintext of the master key as a constant term to construct a first-order polynomial as an example, and taking points on the first-order polynomial as master key fragments to be dispersedly stored in a plurality of cryptographic service nodes, obtaining the key fragments in two cryptographic service nodes in the plurality of cryptographic service nodes to recover the master key.
In order to ensure that the root key is not stored in the storage nodes in a plaintext manner, in one embodiment, a plurality of root key fragments obtained by performing distributed processing on the root key are distributed and stored in the storage nodes, and are strictly protected by the storage nodes. Taking a master key as an example, in an embodiment, the preconfigured distribution manner is a distribution manner set based on addition, and the master key fragments obtained by distributing the master key X are { X1}, { X2}, { X3}, and … … { xn }, where n is the number of the storage nodes, and X1+ X2+ X3+ … … + xn ═ X. Taking the cryptographic service request as a cryptographic service request for encrypting the transmission master key as an example, the cryptographic service management node obtains the cryptographic service request for encrypting the transmission master key, which is executed by less than n master key fragments in the storage node, to obtain a plurality of cryptographic management service results, so that the cryptographic service node can recover the encrypted transmission master key.
In a specific embodiment, the cryptographic service system includes four cryptographic service nodes, where the master key fragment obtained by scattering the master key X is { X1}, { X2}, { X3}, { X4}, { X5}, where { X1}, { X2}, { X3}, and { X4} are stored in each cryptographic service node, respectively, and { X5} is stored in the client (or the server), where X1+ X2+ X3+ X4+ X5 ═ X. Taking the cryptographic service request as the cryptographic service request for encrypting the transmission master key as an example, the cryptographic service management node obtains any 3 master key fragments in the master key fragments to execute the cryptographic service request for encrypting the transmission master key to obtain a plurality of cryptographic management service results for the cryptographic service node to recover the encrypted transmission master key.
In another embodiment, the cryptographic service system includes four cryptographic service nodes, and the master key fragment obtained by scattering the master key X is { X1}, { X2}, { X3}, { X4}, where { X1}, { X2}, { X3}, and { X4} are stored in each cryptographic service node, respectively, where X1+ X2+ X3+ X4 ═ X. Taking the cryptographic service request as the cryptographic service request for encrypting the transmission master key as an example, the cryptographic service management node obtains 3 master key fragments in the master key fragments to execute the cryptographic service request for encrypting the transmission master key to obtain a plurality of cryptographic management service results for the cryptographic service node to recover the encrypted transmission master key.
The manner of distributing the root key is not limited to this. It should be noted that, in addition to the encrypted transmission master key, all master key fragments are not obtained in the process of decrypting the transmission master key, the encrypted working key, and the decrypted working key, and the purpose of not obtaining all master key fragments is to ensure the security of the master key.
Referring to fig. 3, fig. 3 is a schematic diagram illustrating data interaction between a cryptographic service system and a client according to an embodiment of the present application, where the cryptographic service system includes four cryptographic service nodes S1, S2, Sa, and Sb. The client performs data interaction with the cryptographic service nodes S1 and S2, and the interactive data during the data interaction may be the cryptographic service request, the data to be encrypted, the data to be decrypted, the data to be signed, and the like, which are required for executing the cryptographic service request. When data interaction is performed, the cryptographic service node S1 sends cryptographic service requests for decrypting the transmission master key TA _ TMK between the cryptographic service node S1 and the user side to the cryptographic service management nodes, each cryptographic service management node obtains a plurality of cryptographic management service results based on the obtained encrypted transmission master key and the obtained K dispersed master key fragments, the cryptographic service node S1 recovers the TA _ TMK based on the cryptographic management service results, and decrypts the working keys TA _ TAK and TA _ TPK based on the TA _ TMK. The cryptographic service node S2 sends a cryptographic service request for decrypting the transmission master key TD _ TMK between the cryptographic service node S2 and the user side to the cryptographic service management nodes, each cryptographic service management node obtains a plurality of cryptographic management service results based on the obtained encrypted transmission master key and the obtained K dispersed master key fragments, the cryptographic service node S2 recovers the TD _ TMK based on the cryptographic management service results of the cryptographic service management nodes, and decrypts the work keys TD _ TAK and TD _ TPK based on the TD _ TMK. The client sends to the cryptographic service system a cryptographic service request for decrypting the transport master key TA _ TMK assigned to the client by the cryptographic service node S1 and for decrypting the transport master key TD _ TMK assigned to the client by the cryptographic service node S2, the client recovering the transport master keys TA _ TMK and TD _ TMK based on the obtained plurality of cryptographic service result components. And the working keys TA _ TAK and TA _ TPK when the data interaction is carried out with the cryptographic service node S1 are locally decrypted by using the TA _ TMK, and the working keys TD _ TAK and TD _ TPK when the data interaction is carried out with the cryptographic service node S2 are locally decrypted by using the TD _ TMK, wherein the TA _ TAK and the TD _ TAK are used for generating or verifying the MAC value of the interaction data, and the TA _ TPK and the TD _ TPK are used for encrypting or decrypting the interaction data.
Taking the client sending the data to be encrypted as an example, as shown in fig. 3, the client splits the data to be encrypted into two parts, x1 and x2, based on a computing protocol in which four cryptographic 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 locally decrypts x1 with TA _ TAK, verifies the MAC value of x1 with TA _ TPK to ensure that x1 was sent by the client, the cryptographic service node S2 locally decrypts x2 with TD _ TAK, verifies the MAC value of x2 with TD _ TPK to ensure that x2 was sent by the client. The process of data interaction with other cryptographic service nodes at the cryptographic service node S1 and the cryptographic service node S2 is the same as or similar to the above-described process of data interaction, and will not be described in detail herein.
During the period that the plurality of cryptographic service nodes execute the corresponding cryptographic service according to the cryptographic service request, the plurality of cryptographic service nodes can provide the cryptographic service only according to the respective operation instruction 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 cryptographic service request includes any of: for example, a service request for generating a random number or a service request for generating a key including a cipher type, a plurality of cipher service nodes are corresponding to perform a cipher service for generating a random number or a key.
The cryptographic service for generating the random number includes, but is not limited to, at least one of the following: random numbers are generated based on a one-way hash function pseudo-random number generator, random numbers are generated based on an ANSI X9.17 pseudo-random number generator, random numbers are generated based on an ANSI X9.31 pseudo-random number generator, or random numbers are generated based on hardware utilizing a physical noise source, etc.
The cipher type in the key generation service including a cipher type is, for example, any one of the following: public key cryptography, symmetric cryptography. Wherein the key generation service comprising a public key cipher type comprises at least one of: the method comprises the steps of generating a cipher pair based on an RSA public key algorithm, generating a cipher pair based on an ElGamal public key algorithm, generating a cipher pair based on a Rabin public key algorithm, and generating a cipher equivalent based on an elliptic curve cipher. The key generation service comprising symmetric cipher types includes at least one of: generating a symmetric cipher based on a DES algorithm, generating a symmetric cipher by using an EBC mode, generating a symmetric cipher by using a CFB mode, generating a symmetric cipher by using a one-item hash function, and the like.
In some specific examples, any of the above cryptographic services may utilize at least two random initial values and obtain a cryptographic service result component of the corresponding cryptographic service through multi-party security computation. For this purpose, each cryptographic service node participating in the computation receives a cryptographic service request that can be obtained according to any of the aforementioned manners, so as to start execution of the corresponding cryptographic service. The execution process of each password service node participating in the calculation is as follows: at least two password service nodes generate random initial values; and each cryptographic service node participating in calculation cooperatively executes the operation instruction of the corresponding cryptographic service based on the generated random initial value so as to obtain a plurality of cryptographic 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 according to the execution logic of the cryptographic service. For example, at least two cryptographic service nodes generate respective random initial values by using a shared (or unshared) random number seed, and encrypt the respective random initial values to obtain another random number to be distributed to other cryptographic service nodes participating in the computation, and all the cryptographic service nodes participating in the computation cooperatively execute an operation instruction corresponding to the cryptographic service to obtain corresponding cryptographic service result components. For another example, all the cryptographic service nodes participating in the calculation generate respective random initial values by using the shared (or unshared) random number seeds, and perform the multiparty security calculation by using the respective generated random initial values as initial input data for cooperatively executing the operation instruction of the corresponding cryptographic service, so as to obtain corresponding cryptographic service result components.
Taking four cryptographic service nodes as an example to call an operation instruction of a corresponding random number cryptographic service according to a service request for generating a random number sent by a client, the four cryptographic service nodes S1, S2, Sa, Sb respectively generate random initial values r1, r2, ra, rb based on the operation instruction for generating the random number, the four cryptographic service nodes S1, S2, Sa, Sb cooperatively execute multiparty computation based on the random initial values r1, r2, ra, rb, to obtain a plurality of cryptographic service result components r11, r22, raa, rbb, for recovering the random number, wherein, the r11 and raa can be recovered into a random number, and the four cryptographic service result components can be recovered into two random numbers, the cryptographic service result component of each cryptographic service node is correct if the two random numbers are equal, and the two random numbers can be used to verify the correctness of each cryptographic service result component. In some embodiments, the random initial value may also be directly used as a cryptographic service result component.
Taking as an example that four cryptographic service nodes call a cryptographic service for correspondingly generating a public key password according to a service request for generating a password sent by a client, the four cryptographic service nodes S1, S2, Sa, Sb respectively generate random initial values by using random number seeds shared in pairs, and the four cryptographic service nodes cooperatively execute multiparty computation based on the generated random initial values to obtain four private key fragments m1, m2, ma, mb which can be used for recovering the private key and are respectively held; and generating four public key fragments n1, n2, na, nb based on the four private key fragments. The four private key fragments m1, m2, ma and mb can restore the private keys in the public key cryptosystem, and the four public key fragments n1, n2, na and nb can restore the public keys in the public key cryptosystem. And obtaining two groups of public and private key pairs based on the four private key fragments and the four public key fragments, wherein if the two groups of public and private key pairs are equal, the calculation of the password service result components of each password service node is correct.
In other specific examples, the plurality of cryptographic service nodes participating in performing the cryptographic service may also obtain the 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: key derivation, key import, key export, key backup, key update, key destruction, key recovery, 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 dispersion processing, and each cryptographic service node executes an operation instruction designed for performing multi-party secure computation on complete key data based on the obtained key data that is not subjected to dispersion processing, so that each cryptographic service node obtains a cryptographic service result component corresponding to the cryptographic service. For example, a cryptographic service request is a cryptographic service request of a backup public key SK, the cryptographic service system includes four cryptographic service nodes, the four cryptographic service nodes execute an operation instruction of a corresponding backup public key stored in each cryptographic service node based on an acquired public key SK of a user without decentralized processing to complete multiparty security calculation of the corresponding backup public key, so as to obtain four cryptographic service result components SK1, SK2, SKa and SKb, respectively, and the four cryptographic service result components can recover a correct and complete public key SK. In another embodiment, the acquired key data includes a plurality of key fragments obtained by performing distributed processing on the key. Taking the cryptographic service request as an example of key renewal, a private key a is randomly scattered to obtain four private key fragments a1, a2, a3 and a4, wherein a1+ a2 is a3+ a4 is a, and the four private key fragments a1, a2, a3 and a4 are respectively stored in the cryptographic service nodes S1, S2, Sa and Sb before the key renewal is performed. The four cryptographic service nodes cooperatively execute the operation instruction for updating the private key based on the random number shared between every two cryptographic service nodes, and each cryptographic service node obtains the updated private key a1+ r12, a2-r12, a3+ rab and a 4-rab. It should be noted that the random distribution manner and the key update manner are not limited to this, and the distribution manner is related to the protocols and operation instructions of a plurality of cryptographic service nodes.
Taking the example that the key data includes a plurality of key fragments obtained by performing distributed processing on the key, when the cryptographic service request indicates that the above-mentioned one cryptographic service is executed, a plurality of cryptographic service nodes participating in executing the corresponding cryptographic service read the local key fragment. When a password service request is received, the corresponding password service node reads the locally stored key fragment, performs multi-party security calculation by taking the key fragment as input in cooperation with other password service nodes based on corresponding operation instructions, and obtains a password service result component.
Or, when the cryptographic service request indicates to execute one of the above mentioned cryptographic services, the cryptographic service node participating in executing the corresponding cryptographic service reads the plurality of key fragments from the corresponding storage node based on the cryptographic service request.
The storage nodes and the password service nodes 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. In order to ensure the safety of each password service node, the password service node and the storage node execute a safe data communication process based on a cryptography operation during the network communication process.
The storage node may be one or more storage devices, and the storage node includes a database storage engine for writing the key fragment corresponding to a key to the storage node and reading the key fragment corresponding to a key from the storage node. The storage device is the same as or similar to the storage device of each of the aforementioned cryptographic service nodes, and is not described in detail herein.
The storage node may be located in a single computer device, or in a physical device or a virtual device used in a cloud-based architecture service system. The single computer device, or the physical device or the virtual device used in the cloud-based architecture service system is the same as or similar to that mentioned in the aforementioned password service node, and will not be described in detail herein.
When the cryptographic service request indicates that the cryptographic service system is requested to execute the above mentioned one cryptographic service, each cryptographic service node obtains read information for reading the corresponding key fragment based on the cryptographic service request, and each cryptographic service node sends a read request for reading the key fragment to the corresponding storage node by 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 may be parsed from the cryptographic service request or may be retrieved from a predetermined 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 the 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, based on an adaptation relationship between the output configuration and the storage configuration, the key fragments corresponding to the same key are read from at least two storage nodes, and the read key fragments are adapted to obtain output data conforming to a read request of the cryptographic service system, so that the key fragments corresponding to the same key after being adapted are key fragments for the 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 distribution mode, and correspondingly, the storage configuration also represents a distribution relation between the key fragments and the keys stored by each storage node. In some examples, the storage configuration may be preset in a configuration file (or a log file, etc.) and saved in a storage node or an output device; wherein the configuration file at least comprises a distribution mode of the key. In another example, the storage configuration is built in a program, and by running the program, keys are distributed and processed into key fragments and stored in different storage nodes respectively. The output configuration includes a dispersion mode of the output data, the number of the output data, an encryption mode of the output data, and the like.
In an embodiment, the storage node may be located at a client that provides the cryptographic service request, wherein the key data may be provided by the client.
In some specific examples, the cryptographic service request further includes any of: encrypt data, decrypt data, sign, verify signature, and the like. 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 data for correspondingly executing the cryptographic service: data to be encrypted, data to be decrypted, data to be signed and signature data to be verified. According to a pre-designed multi-party secure computing protocol, the data to be processed may be data that is not processed dispersedly, or may be a plurality of pieces of data to be processed that are obtained through distributed processing by a client (or other device, such as a cryptographic service management system). And the plurality of cryptographic service nodes cooperatively execute the operation instruction of the corresponding cryptographic service on the acquired data to be processed based on the respectively recovered key data. And each cryptographic service node locally decrypts a working key based on the recovered transmission master key, and guarantees the safety of the intermediate data in the process of executing the operation instruction of the corresponding cryptographic service based on the working key.
In an embodiment, the to-be-processed data is data that is not processed by fragmentation, each cryptographic service node holds the to-be-processed data, and the obtained cryptographic data is a key fragment that is processed by distributed processing. Taking signature cryptographic service as an example, in a specific implementation manner, a client sends a signature request and provides data to be signed, and four cryptographic service nodes acquire four user private key fragments from N distributed storage nodes, where N is greater than four. And each password service node executes an operation instruction corresponding to the signature service based on the obtained user private key fragment to obtain four signed password service result components, and the four signed password service result components can restore the signature. In another specific embodiment, the four cryptographic service nodes perform multi-party secure computation of corresponding signature service on data to be signed based on locally stored private key fragments to obtain four signed cryptographic service result components. Because the whole process of executing the signature service is executed by utilizing multi-party secure computation, the user private key is not really generated in the computation process or the use process, the security of the user private key is guaranteed, the password service is implemented, the password service result component of a single password service node is obtained, and the security of the user service result is guaranteed.
In another embodiment, the data to be processed includes a plurality of distributed processed data fragments to be operated with the key data. For example, a piece of data a to be decrypted is randomly scattered to obtain four pieces of data to be processed, i.e., a1, a2, a3 and a4, wherein a1+ a2 is a3+ a4 is a, the cryptographic service nodes S1, S2, Sa and Sb respectively obtain the pieces of data to be processed, i.e., a1, a2, a3 and a4, and obtain four cryptographic service result components based on the cryptographic service for encrypting the public key pieces stored in the cryptographic service nodes and the pieces of data to be processed, and the four cryptographic service result components are used for recovering the decrypted data. It should be noted that the random distribution is not limited to this, and the random distribution is related to the protocols and operation instructions of multiple cryptographic service nodes.
The plurality of password service nodes read a plurality of to-be-processed data fragments provided by a client providing the password service request, or read the plurality of to-be-processed data fragments from corresponding storage nodes based on the password service request.
Taking the example that a plurality of password service nodes execute multiparty security calculation of a verification signature password service, and a client sends a verification signature request and provides a plurality of scattered to-be-processed data fragments, wherein the plurality of to-be-processed data fragments are obtained by performing scattered processing on to-be-verified signature data, and the number of the plurality of to-be-processed data fragments is related to an operation instruction for verifying a signature. The cryptographic service nodes utilize a plurality of public key fragments which are stored in each cryptographic service node and correspond to the client public key SK based on the operation instruction, and each cryptographic service node executes the operation instruction to perform multi-party 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 in cooperation, so that a plurality of cryptographic service result components are obtained. The data fragments to be processed can be read from corresponding storage nodes by the plurality of password service nodes based on the verification signature requests of the users, and the plurality of password service nodes perform multiparty security calculation of corresponding verification signature services 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 cryptographic service request components corresponding to the cryptographic service nodes based on a multi-party secure computing system architecture formed by the plurality of cryptographic service nodes, and provide the cryptographic service request components to the cryptographic service nodes. Each cryptographic service management node of the cryptographic service management system is preset with an operation instruction used for executing the processing method in cooperation with at least one other cryptographic service management node. Taking the example that the cryptographic service management system includes four cryptographic service management nodes, the operation instruction is generated based on the calculation role of each cryptographic service management node in the calculation protocol in which the four cryptographic service management nodes perform the secret sharing operation. The computing protocol for executing the secret sharing operation based on the four cryptographic service management nodes is the same as the computing protocol for executing the secret sharing operation by the four cryptographic service nodes.
The password service management system sends the password service request components to each password service node based on a multi-party 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 multi-party security computing corresponding to the password service request. In some embodiments, the cryptographic service management system stores an IP address of each cryptographic service node, a computing protocol, a current load of the cryptographic service node, and the like, 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 cryptographic service request components corresponding to the cryptographic service nodes includes: the number of nodes receiving the cryptographic service request components determined based on the multi-party secure computing system architecture is copied to obtain the cryptographic service request components corresponding to each cryptographic service node.
Servicing the request with the password comprises: for example, a cryptographic service request such as a random number is generated, and the cryptographic service management system copies the cryptographic service request to obtain cryptographic service request components corresponding to the cryptographic service nodes based on the number of cryptographic service nodes receiving the cryptographic service request components determined by the multi-party secure computing system architecture. For example, the cryptographic service request is a request for generating a symmetric key, the cryptographic service system has four cryptographic service nodes, and the number of the cryptographic service nodes participating in the multiparty security calculation for generating the symmetric key in the cryptographic service system is four, so that the cryptographic service management system copies the symmetric key request to obtain four requests for generating the symmetric key and sends the four requests to each cryptographic service node. It should be noted that the number of the duplicated cryptographic service requests is related to the number of the cryptographic service nodes participating in generating the symmetric key in the system architecture of the cryptographic service system.
It should be noted that, according to the pre-designed multi-party computing protocol of multiple cryptographic service nodes for performing cryptographic services, the cryptographic service management system performs corresponding cryptographic services using non-decentralized data to be processed, and correspondingly, distributes the cryptographic service request 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 cryptographic service request components corresponding to the cryptographic service nodes includes: the method comprises the steps of determining the number of nodes for receiving password service request components based on a multi-party secure computing system architecture, 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 components containing the decentralized ciphertexts.
Take the example that the cryptographic service request includes pending data and/or key data that are not all scattered. The plurality of cryptographic service management nodes further perform decentralized processing on input data indicated in the cryptographic service request to obtain a plurality of decentralized ciphertexts based on the number of nodes receiving cryptographic service request components determined by the multi-party secure computing system architecture, wherein the input data comprises any one of the following: key data and/or data to be processed. For example, the cryptographic service request is a request of an encrypted data service including data to be encrypted, four cryptographic service nodes in the cryptographic service system participate in executing multi-party secure computation of 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 restore the data to be encrypted, and a single decentralized cipher text cannot restore the data to be encrypted. And the password service management system processes the password service request into four password service request components respectively containing the scattered ciphertexts and sends each password service component to the corresponding password service node. It should be noted that the number of the cryptographic service request components is related to the number of the cryptographic service nodes participating in the encrypted data service in the system architecture of the cryptographic service system.
In another embodiment, the cryptographic service management system may further convert program modules of the cryptographic service described in the computer programming language into program modules described in the computational formula. In this regard, the complete business logic for implementing a cryptographic service may be described by a computer programming language as a program that includes processing operations such as conditional processing, loop processing, boolean processing, and computational processing. For multiparty security computing, the program is broken down into a plurality of program modules that are executable by a computing equation. For example, a processing operation involving a loop and a computational process can be decomposed into one or more program modules that can be executed by the computational process.
Among the decomposed program modules, those may be described by a computer program language or using a source code syntax structure. The source Syntax structure is, for example, an Abstract Syntax Tree (AST).
For example, please refer to FIG. 4, which is a diagram illustrating a calculation task of a loop processing operation using a tree structure; the calculation task of the loop processing operation is described as a tree structure including a processing result obtained by multiplication. For another example, please refer to fig. 5, which is a schematic diagram illustrating a computing task of extracting common factors using a tree structure; the calculation task of extracting common factor operation is described as a tree structure which obtains a processing result in a mode of cascade 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 by using a tree structure; the calculation task of the common expression extraction operation is described as a tree structure which obtains a processing result in a mode of cascade addition calculation and multiplication calculation.
As can be seen from the foregoing embodiments, the cryptographic service management system may convert a complete service logic corresponding to a cryptographic service into a basic operation instruction, which includes addition calculation, multiplication calculation, bit extraction calculation, and careless transmission and is capable of being cooperatively executed by a plurality of cryptographic service nodes, based on a basic calculation protocol, where each cryptographic service node only holds a cryptographic service result component of the 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 process of providing the operation instructions to the cryptographic service nodes by the cryptographic service management system for performing the corresponding cryptographic service based on the cryptographic service request is the same as or similar to the process described in the foregoing fig. 1 and the corresponding description, and is not described in detail herein.
Referring to fig. 7, fig. 7 is a schematic block diagram illustrating a flow of 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 cryptographic service method is configured to be executed by a system architecture including a plurality of cryptographic service nodes that are not trusted with each other, wherein each cryptographic service node is preset with an operation instruction for executing a plurality of cryptographic services in cooperation with at least one other cryptographic service node. The plurality of cryptographic service nodes cooperatively execute the operation instruction of the corresponding cryptographic service based on a cryptographic service request to obtain a plurality of cryptographic service result components. Wherein a cryptographic service node performs the cryptographic service method as shown in figure 7.
In step S110, the cryptographic service node obtains a cryptographic service request.
The process of the cryptographic service node obtaining the cryptographic service request and the hardware configuration of the cryptographic service node are the same as or similar to the description corresponding to fig. 1 and fig. 2, and are not described in detail here. For example, the obtained 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 performs an operation instruction of the corresponding cryptographic service in cooperation with other cryptographic service nodes 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 multi-party security calculation to obtain the 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 execute cooperatively so as to complete multiparty security calculation of the corresponding password service. The operation instruction is the same as or similar to the operation instructions described above and will not be described in detail herein.
When the cryptographic service request includes any of: when a random number service request, a service request including a password type for generating a password 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 based on the generated random initial value in cooperation with other cryptographic service nodes to obtain a cryptographic service result component.
In order to ensure the security of each cryptographic service node during data interaction, each cryptographic service node also cooperatively executes the operation instruction based on a multilayer key. In one embodiment, the multi-layer key is a three-layer key, and the three-layer key includes: root key, transport master key and working key. The root key comprises a master key and a user private key. In other embodiments, the multi-layer key may be a four-layer key. Taking a three-layer key as an example, the master key is used for encrypting the transmission master key to ensure that the transmission key is not stored in the clear text in each cryptographic service node or the 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 cryptographic service node or corresponding storage node in a clear text manner, wherein the transmission master key is dispatched by the cryptographic service management system. The working key is used for encrypting the intermediate data and encrypting interactive data for data interaction between the client (or the server) and each password service node so as to ensure that the intermediate data and the interactive data do not appear in a communication link in a clear text manner. Wherein the interactive 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 agreement between the cryptographic service nodes or between the cryptographic service nodes and the client (or the server), wherein the key agreement mode comprises a mode based on Diffie-Hellman key exchange and the like. In other embodiments, the working key may also be dispatched by the cryptographic service management system. The storage node includes: at least one of the computer device that issued the cryptographic service request, the cryptographic service node, the cryptographic service management node, and an external storage service node.
The cryptographic service management system comprises a plurality of cryptographic service management nodes configured in a mutually untrusted and network-communicating system architecture; each cryptographic service management node is preset with an operation instruction used for executing cryptographic management service based on a cryptographic service request provided by the cryptographic service node and at least one other cryptographic service management node in a coordinated manner. The password service management node executes an operation instruction of corresponding password management service based on a password service request provided by the password service node and other password service management nodes to obtain a password management service result; and distributing the obtained password management service result to the corresponding password service node so as to recover the corresponding key data by the corresponding password service node.
The hardware configuration of each cryptographic service management node in the cryptographic service management system and the operation instructions of the cryptographic service 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 cryptographic service management nodes in the cryptographic service management system to obtain K root key fragments from N distributed storage nodes based on user information in the received cryptographic service request as an example, where N is greater than K; and the cryptographic service management node acquiring the root key fragment executes the operation instruction of the corresponding cryptographic management service in cooperation with other cryptographic service management nodes according to the acquired root key fragment to obtain a cryptographic management service result.
For example, N storage nodes store N root key fragments obtained by dispersing the root key in a distributed manner of the Shamir secret sharing algorithm. The distributed mode set based on the Shamir secret sharing algorithm comprises a distributed mode of distributing the master key into N number based on the structural polynomial, wherein the N number is larger than or equal to the minimum number Kmin of distributed ciphertexts required by the recoverable master key, and N & gtK is larger than or equal to Kmin. The number N of the distributed nodes is larger than the minimum number Kmin, so that the recovery of the main key is not influenced when the abnormal condition of part of the storage nodes occurs, and further the cryptographic service of the whole cryptographic service system is not influenced. Any password service node in the password service management system processes the password service request into a password service request component of at least one password service node based on the multi-party security computing system architecture and provides the password service request component to other password service nodes. The step of the cryptographic service node processing the cryptographic service request into cryptographic service request components corresponding to the cryptographic service nodes comprises: copying the password service request to obtain password service request components corresponding to each password service node based on the number of nodes receiving the password service request components determined by the multi-party security computing system architecture; or the number of nodes for receiving the password service request components is determined based on the multi-party secure computing system architecture, the input data indicated in the password service request is subjected to decentralized processing to obtain a plurality of decentralized ciphertexts, and the password service request components containing the decentralized ciphertexts are formed.
Correspondingly, the password service node receives a plurality of password management service results and recovers corresponding key data according to the password management service results. For example, the cryptographic service node performs data processing on each cryptographic management service result in an addition manner to recover the key data.
The cryptographic service management system further performs the following steps based on the multi-party secure computing system architecture: and processing the password service request into password service request components corresponding to the password service nodes based on a multi-party security computing system architecture formed by the plurality of password service nodes. Correspondingly, the cryptographic service node executes the operation instruction of the corresponding cryptographic service based on the cryptographic service request component in cooperation with other cryptographic service nodes to obtain a plurality of cryptographic service result components.
The step of processing the cryptographic service request into cryptographic service request components corresponding to the cryptographic service nodes by the cryptographic service management system comprises: the number of nodes receiving the cryptographic service request components determined based on the multi-party secure computing system architecture is copied to obtain the cryptographic service request components corresponding to each cryptographic service node. Or the password service management system performs decentralized processing on input data indicated in the password service request based on the number of nodes receiving the password service request component determined by the multi-party secure computing system architecture to obtain a plurality of decentralized ciphertexts, and the password service request component containing each decentralized ciphertexts is formed.
When the cryptographic service request includes any of: when data is encrypted, decrypted, signed and verified, step S120 further includes step S121 (not shown) and step S122 (not shown), and in step S121, the cryptographic service node acquires the data to be processed based on the cryptographic service request. In step S122, the cryptographic service node cooperatively executes an operation instruction of a corresponding cryptographic service on the acquired to-be-processed data based on the recovered key data and in cooperation with other cryptographic service nodes. The kind of the data to be processed is the same as or similar to the aforementioned kind, and the data to be processed received by a single cryptographic service node may be a part of the aforementioned data to be processed fragments. 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 cryptographic service node executes the operation instruction of the corresponding cryptographic service in cooperation with other cryptographic service nodes are the same as or similar to those described above, and therefore, detailed description thereof is omitted.
Referring to fig. 8, fig. 8 is a schematic diagram of a cryptographic service apparatus according to an embodiment of the present disclosure, wherein the cryptographic service apparatus includes a plurality of computing devices, and each computing device is configured in a computing system architecture that is not trusted and electrically connected. A plurality of computing devices in the cryptographic service device may perform the cryptographic service method described above.
The password service device may be an integrated computer device for executing the password service method, and may be located in a private computer room or a certain leased machine location in a public computer room. The computing devices have the property of mutual distrust, that is, under the condition of no trusted third party, the computing devices participating in executing any cryptographic service operation cannot actively leak the data stored in the computing devices to the third party, and no other additional input information except the computing result is obtained among the computing devices participating in the computation. Wherein each computing device corresponds to the cryptographic service node. In this embodiment, the cryptographic service is calculated by using the operation instruction set based on the multi-party secure computation, and the calculation instruction is set to solve the problem of the mutual untrusted computing devices.
Each of the computing devices includes at least a memory, a processor, and the like. Wherein the memory is used for storing at least one program for the computing device to execute 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, electrically erasable programmable read only memory, or other non-volatile solid state storage devices, among others. 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 the software components stored in the storage device are an operating system, a communications module (or set of instructions), a text input module (or set of instructions), and an application (or set of instructions).
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 operatively 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 combination thereof.
In order to ensure data security of a plurality of computing devices in a computing system architecture that is not trusted with each other during execution of a cryptographic service, the plurality of computing devices in some embodiments communicate separately on physical hardware, as the computing devices are involved in storing and communicating data during execution of the cryptographic service, each of the plurality of computing devices including an I/O interface with which to connect separately to other computing devices in the cryptographic service. The cryptographic service device further 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 between the computing devices when the cryptographic service device executes the cryptographic service is ensured. Wherein, based on the multi-party secure computing protocol of each computing device configured in the cryptographic service device, the programmable integrated circuit is configured to provide corresponding connection based on the source and destination addresses issued during data communication between the two computing devices.
To this end, the I/O interfaces are used to provide data input and output for the computing devices to which they pertain. The number of I/O interfaces is related to the number of communications of the computing device, another computing device for performing the cryptographic service, etc., and the type of each I/O interface is related to the manner of data transfer between the computing device, another computing device for the cryptographic service, etc.
Referring to fig. 9, fig. 9 is a schematic diagram of a cryptographic service device according to another embodiment of the present disclosure, and as shown in the figure, 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 multi-party 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 multi-party secure computing system architecture is formed by a plurality of computing devices participating in multi-party secure computing with a specified password service in the password service device, and the number of the computing devices participating 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 sends the password service request components to each computing device respectively based on a multi-party 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 multi-party security computing corresponding to the password service request. The password service management device can be one or a plurality of devices. In some embodiments, the cryptographic service management device stores an address, a computing protocol, a current load of the computing device, and the like of each computing device for the cryptographic service management device to select the computing device performing 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 coordinated by a plurality of processors, performs the cryptographic service method. The password service method is the same as or similar to the aforementioned password service method, and is not described herein again. It should be noted that, through the above description of the embodiments, those skilled in the art can clearly understand that part or all of the present application can be implemented by software and combined with necessary general hardware platform. Based on this understanding, the technical solutions of the present application may be embodied in the form of software products, which essentially or partially contribute 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. Also, 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-writable storage media and data storage media do not include connections, carrier waves, signals, or other transitory media, but are intended to be non-transitory, tangible storage media. Disk and disc, as used in this application, 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 herein may be implemented in hardware, software, firmware, or any combination thereof. When implemented in software, the 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 processor-executable software modules, 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.
Based on the technical framework reflected by the examples described in the above system, method and device for multi-party secure computing, the application discloses the following technical solutions:
1. a cryptographic service system, comprising: a plurality of cryptographic service nodes configured in a mutually untrusted and network communicating system architecture; each password service node is preset with an operation instruction used for executing a plurality of password services in cooperation with at least one other password service node;
the plurality of cryptographic service nodes cooperatively execute the operation instruction of the corresponding cryptographic service based on a cryptographic service request to obtain a plurality of cryptographic service result components.
2. The cryptographic service system of embodiment 1, wherein the cryptographic service system further comprises a cryptographic service management system comprising a plurality of cryptographic service management nodes configured in mutually untrusted and network communicating system architectures; each cryptographic service management node is preset with an operation instruction used for executing cryptographic management service based on a cryptographic service request provided by the cryptographic service node and at least one other cryptographic service management node in a coordinated manner.
3. The cryptographic service system according to embodiment 2, wherein the step of presetting, in each cryptographic service management node, 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 comprises:
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 recover corresponding key data by each password service node.
4. The cryptographic service system of embodiment 3, wherein the step of the plurality of cryptographic service management nodes executing the operation instruction of the corresponding cryptographic service based on the cryptographic service request provided by the plurality of cryptographic service nodes to obtain a plurality of cryptographic management service results comprises:
the K password service management nodes obtain 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 the operation instruction of the corresponding password management service according to the K root key fragments acquired dispersedly so as to obtain a plurality of password management service results.
5. The cryptographic service system of embodiment 4, wherein the N storage nodes comprise at least one of: the computer equipment which sends the password service request, the password service node, the password service management node and an external storage service node.
6. The cryptographic service system of embodiment 3, wherein the cryptographic service nodes cooperatively execute the operation instructions of the corresponding cryptographic service based on a cryptographic service request to obtain the result components of the cryptographic service comprises:
the plurality of password service nodes acquire data to be processed based on the password service requests;
and the plurality of cryptographic service nodes cooperatively execute the operation instruction of the corresponding cryptographic service on the acquired data to be processed based on the respectively recovered key data.
7. The cryptographic service system of embodiment 6, wherein the to-be-processed data includes a plurality of to-be-processed data fragments obtained by distributed processing to be operated on with the key data.
8. The cryptographic service system of embodiment 7, wherein the plurality of cryptographic service nodes read a plurality of to-be-processed data fragments provided by a client providing the cryptographic service request or read the plurality of to-be-processed data fragments from respective storage nodes based on the cryptographic service request.
9. The cryptographic service system of embodiment 6, wherein the data to be processed comprises any one of: data to be encrypted, data to be decrypted, data to be signed and signature data to be verified.
10. The cryptographic service system of embodiment 1, wherein the cryptographic service request includes any one of: generating a random number service request, a service request containing a password type for generating a password;
the plurality of cryptographic service nodes execute, when executing respective operation instructions corresponding to the cryptographic service:
at least two password service nodes generate random initial values;
the plurality of cryptographic service nodes cooperatively execute the operation instruction of the corresponding cryptographic service based on the generated random initial value to obtain a plurality of cryptographic service result components.
11. The cryptographic service system of embodiment 1, wherein the operation instruction is set based on a computing role of the cryptographic service node in a secret sharing technology.
12. The cryptographic service system according to any of embodiments 1-11, wherein the cryptographic service management system further processes the cryptographic service request into cryptographic service request components corresponding to the cryptographic service nodes based on a multi-party secure computing system architecture formed by the cryptographic service nodes, and provides the cryptographic service request components to the cryptographic service nodes.
13. The cryptographic service system of embodiment 12, wherein the cryptographic service management system processes the cryptographic service request into cryptographic service request components corresponding to each cryptographic service node comprises:
copying the password service request to obtain password service request components corresponding to each password service node based on the number of nodes receiving the password service request components determined by the multi-party security computing system architecture; or
The method comprises the steps of determining the number of nodes for receiving password service request components based on a multi-party secure computing system architecture, 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 components containing the decentralized ciphertexts.
14. The cryptographic service system of embodiment 1, wherein the cryptographic service node comprises: a computer device that sends the cryptographic service request.
15. A password service method is applied to a plurality of password service nodes which are configured in system architectures which are not mutually trusted and are in network communication; each password service node is preset with an operation instruction used for executing a plurality of password services in cooperation with at least one other password service node; the password service method includes:
and the password service node executes the operation instruction of the corresponding password service based on a password service request and other password service nodes in a cooperative manner 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 used for executing the password management service based on the password service request provided by the password service node and at least one other password service management node;
the password service method further includes the steps of:
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 the operation instruction of the corresponding password management service based on the password service request and other password service management nodes in a cooperative manner.
17. The cryptographic service method of embodiment 16, wherein K cryptographic service management nodes obtain K root key fragments from N distributed storage nodes based on user information in the received cryptographic service request; wherein N is greater than K;
the cryptographic service management node which acquires the root key fragment executes the operation instruction of the corresponding cryptographic management service in cooperation with other cryptographic service management nodes according to the acquired root key fragment so as to obtain a cryptographic management service result.
18. The cryptographic service method of embodiment 16, wherein the cryptographic service node performs 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;
and the password service node cooperatively executes the operation instruction of the corresponding password service on the acquired data to be processed based on the recovered key data and in cooperation with other password service nodes.
19. The cryptographic service method of embodiment 18, wherein the to-be-processed data includes to-be-processed data fragments obtained by distributed processing to be operated on with key data.
20. The cryptographic service method of embodiment 19, wherein the fragmentation of data to be processed comprises:
the cryptographic service node is read from a client providing the cryptographic service request; or
The cryptographic service node reads from a respective storage node based on the cryptographic service request.
21. The cryptographic service method of embodiment 20, wherein the data to be processed comprises any one of: data to be encrypted, data to be decrypted, data to be signed and signature data to be verified.
22. The cryptographic service method of embodiment 15, wherein the cryptographic service request comprises any of: generating a random number service request, a service request containing a password type for generating a password;
the step that the password service node executes the operation instruction of the corresponding password service based on the password service request and other password service nodes in a cooperative way comprises the following steps:
the password service node generates a random initial value;
and the password service node cooperatively executes the operation instruction of the corresponding password service based on the generated random initial value so as to obtain the password service result component.
23. The cryptographic service method of embodiment 15, wherein the operation instruction is set based on a computing role of the cryptographic service node in a secret sharing technology.
24. The cryptographic service method according to any of embodiments 15-23, wherein the cryptographic service management system is further configured to process the cryptographic service request into cryptographic service request components corresponding to the cryptographic service nodes based on a multi-party secure computing system architecture formed by the cryptographic service nodes;
and the password service node executes the operation instruction of the corresponding password service based on the password service request component in cooperation with other password service nodes to obtain a plurality of password service result components.
25. A cryptographic service apparatus, comprising: a plurality of computing devices, each configured in a mutually untrusted and electrically connected computing system architecture; a plurality of computing devices in the cryptographic service device perform the cryptographic service method as in any of embodiments 15-24.
26. A computer-readable storage medium in which at least one program is stored, the program being executed by a plurality of processors in cooperation to perform the cryptographic service method according to any one of embodiments 15 to 24.
The above embodiments are merely illustrative of the principles and utilities of the present application and are not intended to limit the application. Any person skilled in the art can modify or change the above-described embodiments without departing from the spirit and scope of the present application. Accordingly, it is intended that all equivalent modifications or changes which can be made by those skilled in the art without departing from the spirit and technical concepts disclosed in the present application shall be covered by the claims of the present application.

Claims (10)

1. A cryptographic service system, comprising: a plurality of cryptographic service nodes configured in a mutually untrusted and network communicating system architecture; each password service node is preset with an operation instruction used for executing a plurality of password services in cooperation with at least one other password service node;
the plurality of cryptographic service nodes cooperatively execute the operation instruction of the corresponding cryptographic service based on a cryptographic service request to obtain a plurality of cryptographic service result components.
2. The cryptographic service system of claim 1, further comprising a cryptographic service management system comprising a plurality of cryptographic service management nodes configured in mutually untrusted and network communicating system architectures; each cryptographic service management node is preset with an operation instruction used for executing cryptographic management service based on a cryptographic service request provided by the cryptographic service node and at least one other cryptographic service management node in a coordinated manner.
3. The cryptographic service system of claim 2, wherein the step of presetting, in each cryptographic service management node, an operation instruction for performing 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 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 recover corresponding key data by each password service node.
4. The cryptographic service system of claim 3, wherein the cryptographic service nodes cooperatively execute computing instructions for a corresponding cryptographic service based on a cryptographic service request to obtain a plurality of cryptographic service result components comprises:
the plurality of password service nodes acquire data to be processed based on the password service requests;
and the plurality of cryptographic service nodes cooperatively execute the operation instruction of the corresponding cryptographic service on the acquired data to be processed based on the respectively recovered key data.
5. The cryptographic service system of claim 1, wherein the cryptographic service request comprises any one of: generating a random number service request, a service request containing a password type for generating a password;
the plurality of cryptographic service nodes execute, when executing respective operation instructions corresponding to the cryptographic service:
at least two password service nodes generate random initial values;
the plurality of cryptographic service nodes cooperatively execute the operation instruction of the corresponding cryptographic service based on the generated random initial value to obtain a plurality of cryptographic service result components.
6. The cryptographic service system of claim 1, wherein the operation instruction is set based on a computing role of the cryptographic service node in a secret sharing technology.
7. The cryptographic service system of any one of claims 1-6, wherein the cryptographic service management system further processes the cryptographic service request into cryptographic service request components corresponding to each cryptographic service node based on a multi-party secure computing system architecture formed by the plurality of cryptographic service nodes, and provides the cryptographic service request components to each cryptographic service node.
8. The password service method is characterized by being applied to a plurality of password service nodes which are configured in system architectures which are not mutually trusted and are in network communication; each password service node is preset with an operation instruction used for executing a plurality of password services in cooperation with at least one other password service node; the password service method includes:
and the password service node executes the operation instruction of the corresponding password service based on a password service request and other password service nodes in a cooperative manner to obtain a password service result component.
9. A cryptographic service apparatus, comprising: a plurality of computing devices, each configured in a mutually untrusted and electrically connected computing system architecture; a plurality of computing devices in the cryptographic service device performing the cryptographic service method of any of claims 8.
10. A computer-readable storage medium storing at least one program which, when executed in cooperation with a plurality of processors, performs the cryptographic service method according to claim 8.
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 true CN112003690A (en) 2020-11-27
CN112003690B 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)

Cited By (2)

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

Citations (8)

* 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
US20140229729A1 (en) * 2013-02-12 2014-08-14 Amazon Technologies, Inc. Data security service
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

Patent Citations (8)

* 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
US20140229729A1 (en) * 2013-02-12 2014-08-14 Amazon Technologies, Inc. Data security service
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
蒋瀚;徐秋亮;: "基于云计算服务的安全多方计算", 计算机研究与发展, no. 10, pages 2152 - 2162 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112966022A (en) * 2021-03-10 2021-06-15 安徽航天信息科技有限公司 Information query method, device and system for data transaction platform
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

Also Published As

Publication number Publication date
CN112003690B (en) 2024-01-12

Similar Documents

Publication Publication Date Title
CN113424185B (en) Fast inadvertent transmission
JP6799061B2 (en) Secure multi-party loss resistant storage and transfer of cryptographic keys for blockchain-based systems combined with wallet management systems
US10785019B2 (en) Data transmission method and apparatus
US11722314B2 (en) Digital transaction signing for multiple client devices using secured encrypted private keys
TWI760149B (en) Determining a common secret for the secure exchange of information and hierarchical, deterministic cryptographic keys
KR20200066258A (en) System and method for information protection
US20170244687A1 (en) Techniques for confidential delivery of random data over a network
CN110289968B (en) Private key recovery method, collaborative address creation method, collaborative address signature device and storage medium
AU2018340671B2 (en) Access to secured information
US11930110B2 (en) System and method for key recovery and verification in blockchain based networks
CN112003690B (en) Password service system, method and device
WO2022115559A1 (en) Cryptographic key storage system and method
CN115868141A (en) Techniques for single-round multi-party computation of digital signatures
CN110784318B (en) Group key updating method, device, electronic equipment, storage medium and communication system
Kaur et al. Monitoring data integrity while using TPA in cloud environment
KR102546762B1 (en) Multi-signature wallet system in blockchain using the bloom filter
WO2023099895A1 (en) A method and system for securely sharing data
Deepa et al. A privacy-preserving unpadded RSA based-third party auditing protocol for cloud storage secure
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