Disclosure of Invention
The following presents a simplified summary of one or more aspects in order to provide a basic understanding of such aspects. This summary is not an extensive overview of all contemplated aspects, and is intended to neither identify key or critical elements of all aspects nor delineate the scope of any or all aspects. Its sole purpose is to present some concepts of one or more aspects in a simplified form as a prelude to the more detailed description that is presented later.
The invention aims to solve the problems and provides a block chain key recovery method and a block chain key recovery medium based on a secure multi-party computing technology, which can prevent the core node from having overlarge authority, make the backup and recovery of a private key safer and protect the user rights and interests.
The technical scheme of the invention is as follows: the invention discloses a block chain key recovery method based on a safe multiparty computing technology, which is divided into a key recovery service registration stage and a key recovery service request stage by participation of a user, a third party agent and a key management service provider, wherein:
in the key recovery service registration stage, a user puts forward an authentication application to a third-party agent, the third-party agent verifies the identity of the user through identity verification, and a successful token and a hash value of user biological information are returned after the authentication is passed; the user provides a key backup service application to the key management service provider through the token to request for backing up the private key, the key management service provider inquires the validity of the user token from the third-party agent, and if the validity passes, the private key is backed up;
in the key recovery service request stage, when a user finds that own private key is lost, firstly, the user submits an authentication application to a third-party agent, the third-party agent verifies the identity of the user through identity verification, and a successful token and a hash value of user biological information are returned after the authentication is passed; the user provides a key recovery service application to the key management service provider through the token to request for recovering the private key, the key management service provider inquires the validity of the user token for the third-party agent, if the validity of the user token passes the validity, the random number of the user is found, the random number and the hash value of the user biological information are subjected to cooperative calculation to decrypt the ciphertext, and the user private key obtained after decryption is returned to the user.
According to an embodiment of the block chain key recovery method based on the secure multi-party computing technology, the step of backing up the private key at the key recovery service registration stage includes: and the key management service provider generates a random number for the user, performs cooperative calculation on the random number and the hash value of the user biological information to encrypt a user private key to generate a ciphertext, and issues the ciphertext subjected to the cooperative calculation to the block chain.
According to an embodiment of the block chain key recovery method based on the secure multi-party computing technology, the step of backing up the private key at the key recovery service registration stage includes: the user generates a random number, the private key is encrypted locally by using the random number and the hash value of the biological information of the user to form a ciphertext, the ciphertext is issued to a block chain, the user encrypts the random number by using a public key of a key management service provider and then sends the encrypted random number to the key management service provider, and the key management service provider decrypts the encrypted random number and then stores the decrypted random number.
According to one embodiment of the block chain key recovery method based on the secure multi-party computing technology, the third-party agent verifies the identity of the user through authentication by networking with an authentication mechanism and calling an interface to verify the identity of the user.
According to an embodiment of the blockchain key recovery method based on secure multiparty computing technology of the present invention, the authentication authority is a legally effective government authority.
The invention also discloses a computer readable medium, comprising a computer program stored on the medium, wherein the computer program is used for executing the following block chain key recovery method based on the secure multiparty computing technology, and the method is participated by a user, a third party agent and a key management service provider and comprises a key recovery service registration stage and a key recovery service request stage, wherein:
in the key recovery service registration stage, a user puts forward an authentication application to a third-party agent, the third-party agent verifies the identity of the user through identity verification, and a successful token and a hash value of user biological information are returned after the authentication is passed; the user provides a key backup service application to the key management service provider through the token to request for backing up the private key, the key management service provider inquires the validity of the user token from the third-party agent, and if the validity passes, the private key is backed up;
in the key recovery service request stage, when a user finds that own private key is lost, firstly, the user submits an authentication application to a third-party agent, the third-party agent verifies the identity of the user through identity verification, and a successful token and a hash value of user biological information are returned after the authentication is passed; the user provides a key recovery service application to the key management service provider through the token to request for recovering the private key, the key management service provider inquires the validity of the user token for the third-party agent, if the validity of the user token passes the validity, the random number of the user is found, the random number and the hash value of the user biological information are subjected to cooperative calculation to decrypt the ciphertext, and the user private key obtained after decryption is returned to the user.
According to an embodiment of the computer readable medium of the present invention, the step of backing up the private key during the key recovery service registration phase when the method is performed comprises: and the key management service provider generates a random number for the user, performs cooperative calculation on the random number and the hash value of the user biological information to encrypt a user private key to generate a ciphertext, and issues the ciphertext subjected to the cooperative calculation to the block chain.
According to an embodiment of the computer readable medium of the present invention, the step of backing up the private key during the key recovery service registration phase when the method is performed comprises: the user generates a random number, the private key is encrypted locally by using the random number and the hash value of the biological information of the user to form a ciphertext, the ciphertext is issued to a block chain, the user encrypts the random number by using a public key of a key management service provider and then sends the encrypted random number to the key management service provider, and the key management service provider decrypts the encrypted random number and then stores the decrypted random number.
According to one embodiment of the computer-readable medium of the present invention, the third party agent verifies the identity of the user by authenticating the third party agent by networking with an authentication mechanism that invokes an interface to verify the identity of the user.
According to one embodiment of the computer-readable medium of the present invention, the authentication authority is a legally effective governmental agency.
Compared with the prior art, the invention has the following beneficial effects: the present invention performs blockchain key escrow and recovery by using secure multi-party computing (multi-party computing) techniques. The user identity is effectively verified and endorsed by introducing a third party agent capable of verifying the validity of the user identity in a networked manner with a legally effective government agency. On the basis of effective endorsement, the user and the key management service provider can perform safe collaborative calculation on the private key of the user, so that the encrypted backup and recovery of the private key of the user are realized. The invention can realize user identity management, minimize the authority of privileged nodes, and carry out validity verification on the user identity through the introduction of a third-party agent, thereby meeting the requirement of node user key escrow.
Compared with the existing privacy protection method, the method can realize that:
1) the user does not need to completely backup the private key to the key management service provider, so that the user can be prevented from recovering the key with too large authority.
2) And introducing qualified third-party agents, and verifying and endorseing the validity of the user identity through networking with an authority.
3) The introduction of the secure multi-party computing technology enables a user not to need to completely backup the private key to a key management service provider, minimizes the authority of the service provider, enables the backup and recovery of the private key to be safer, and protects the rights and interests of the user.
Detailed Description
The invention is described in detail below with reference to the figures and specific embodiments. It is noted that the aspects described below in connection with the figures and the specific embodiments are only exemplary and should not be construed as imposing any limitation on the scope of the present invention.
Traditional centralized mechanisms, such as banks, can use means such as real-name authentication, and if a U shield representing the identity of a user is lost or a password is forgotten, a new U shield (private key) can be bound by the system through account verification. The freezing and recovery of the related account assets are realized, and the digital assets can be recovered to a certain extent. And presenting a logical binding relationship between the account and the private key, and operating by a centralized bank under the condition of meeting the wind control requirement.
In order to solve the technical problem provided by the invention, the invention refers to the idea of real-name authentication of the traditional centralized organization, and the block chain key recovery needs to be realized based on safe multi-party calculation. The secure multi-party computation (multi-party computation) is the core field of the cryptology research, can provide multi-party collaborative computing capability of original data without being collected for a data demand party, and provides an integral data portrait after data computation of each party for the demand party, so that the analysis, processing and result release of the data can be completed on the premise that the data does not leave respective nodes, and the consistency guarantee of data access authority control and data exchange is provided, thereby realizing the effective supervision of a block chain system.
On the basis of carrying out key recovery service on a user of a block chain system by utilizing a safe multiparty computing technology, a qualified third-party agent is introduced, the third-party agent is networked with a government organization with legal effectiveness to realize the authentication of the user identity, the user and the transaction can be effectively supervised, after the user passes the authentication of the agent, the user carries out safe cooperative computing encryption and decryption on the user private key together with a key management service provider, and the encrypted ciphertext is stored in a chain, so that the encrypted backup and recovery of the user private key are realized.
The block chain key recovery method based on the safe multi-party computing technology comprises two stages: the key recovery service registration phase shown in fig. 1 or fig. 2 corresponds to two optional key recovery service registration modes, respectively, and the key recovery service request phase shown in fig. 3. While the system participates in key recovery: a (generic) user, a third party agent, a key management facilitator. Preferably, there may be an authentication authority, representing a legally effective government agency, such as the public security bureau, as a fourth party.
In the key recovery service registration phase, a user puts forward an authentication application to a third-party agent, the third-party agent verifies the identity of the user through authentication (wherein the third-party agent verifies the identity of the user through authentication, the third-party agent is networked with an authentication mechanism such as a public security bureau, and an interface is called to verify the identity of the user), and a successful token (token) and a hash value of the biological information of the user are returned after the authentication is passed; the user provides a key backup service application to the key management service provider through the token (token) to request for backing up the private key, the key management service provider inquires the validity of the user token (token) to the third-party agent, if the key backup service application passes through the token (token), two optional methods are provided for backing up the key: the first optional method is that the service provider generates a random number for the user, performs cooperative calculation on the random number and the hash value of the user biological information to encrypt a user private key to generate a ciphertext, and issues the ciphertext after the cooperative calculation to a block chain; the second alternative method is that the random number is generated by the user, then the private key of the user is encrypted locally by using the random number and the hash value of the biological information of the user to generate a ciphertext, and the ciphertext is issued to the block chain. And finally, the user encrypts the random number by using the public key of the key management service provider and then sends the random number to the key management service provider, and the key management service provider decrypts the random number and then stores the decrypted random number.
Referring to fig. 1, a more detailed flow of the key recovery service registration phase corresponding to the first mode of key backup is shown, and a process of the key recovery service registration phase is described below with respect to fig. 1 in steps. The reference numerals in the following description correspond to those in fig. 1.
1. The user presents the identity ID and user biometric information (including face, fingerprint, iris, etc.), requesting authentication services from the (third party) agent.
2. The agent invokes a biometric interface networked with the legally effective government agency to transmit the user ID and the biometric information to the government agency.
3. And the government agency verifies whether the user identity ID information is matched with the biological information, if so, returns the agent 'yes', and otherwise, returns the agent 'no'.
4. The agent generates a user token (token) pair: (token: yes/no).
5. The agent recalls an interface networked with the legally effective government agency and sends the user ID and biometric information to the government agency.
6. And the government agency reviews the matching information and returns the user biological information feature (ID) associated with the agent and the identity ID.
7. The agent sends the hash values of token and feature obtained from the legal authority to the user: (token: yes/no, h (feature)), where h (feature) represents the hash value of feature.
8. The user generates a public-private key pair (sk1, pk 1).
9. And the user sends the generated token and the identity ID to a key management service provider to request the key management service provider to perform key backup service.
10. The key management service provider sends the user token to the agent to request to verify the validity of the token.
11. The agent inquires the local user token library, and sends the information whether the user token is valid to the key management service provider: (yes/no).
12. If the returned information is yes, the key management service provider generates a user random number, and the user random number is recorded as (ID: r).
13. The user and the key management service provider use an MPC cooperative calculation method to symmetrically encrypt the user private key sk1 by using the hash value of the user biological information feature and the random number r to obtain a ciphertext C, and the calculation formula is as follows:
14. and the key management service provider synchronizes the ciphertext C to the block chain, and the user is successfully registered.
For a more detailed flow of the key recovery service registration phase corresponding to the second way of key backup, please refer to fig. 2, and the following describes the process of the key recovery service registration phase with respect to fig. 2 in steps. The reference numerals in the following description correspond to those in fig. 2.
1. The user presents the identity ID and user biometric information (including face, fingerprint, iris, etc.), requesting authentication services from the (third party) agent.
2. The agent invokes a biometric interface networked with the legally effective government agency to transmit the user ID and the biometric information to the government agency.
3. And the government agency verifies whether the user identity ID information is matched with the biological information, if so, returns the agent 'yes', and otherwise, returns the agent 'no'.
4. The agent generates a user token (token) pair: (token: yes/no).
5. The agent recalls an interface networked with the legally effective government agency and sends the user ID and biometric information to the government agency.
6. And the government agency reviews the matching information and returns the user biological information feature (ID) associated with the agent and the identity ID.
7. The agent sends the hash values of token and feature obtained from the legal authority to the user: (token: yes/no, h (feature)), where h (feature) represents the hash value of feature.
8. The user generates a public-private key pair (sk1, pk 1).
9. The user generates a random number r, then encrypts a private key sk1 by using the random number r and the hash value of the user biological information feature to obtain a ciphertext C, and issues the ciphertext to a block chain, wherein the calculation formula is as follows:
10. the user encrypts the random number r by using the public key of the key management service provider to obtain a ciphertext Cr of r.
11. And the user sends the generated token and the identity ID to a key management service provider to request the key management service provider to perform random number backup service.
12. The key management service provider sends the user token to the agent to request to verify the validity of the token.
13. The agent inquires the local user token library, and sends the information whether the user token is valid to the key management service provider: (yes/no).
14. If the returned information is yes, the key management service provider allows receiving the ciphertext Cr of the user random number.
15. The user transmits a random number cipher text Cr.
16. And the key management service provider decrypts the ciphertext Cr by using the private key of the ciphertext Cr to obtain r, and stores the r, so that the user is successfully registered.
In a key recovery service request phase, when a user finds that own private key is lost, firstly, the user puts forward an authentication application to a third-party agent, the third-party agent verifies the identity of the user through authentication (wherein the third-party agent verifies the identity of the user through authentication, the third-party agent is networked with an authentication mechanism such as a public security bureau, and an interface is called to verify the identity of the user), and a successful token (token) and a hash value of user biological information are returned after the authentication is passed; the user provides a key recovery service application to the key management service provider through the token (token) to request for recovering the private key, the key management service provider inquires the validity of the user token (token) to the third-party agent, if the user token (token) passes the validity, the random number of the user is found, the random number and the hash value of the user biological information are subjected to cooperative calculation to decrypt the ciphertext, and the user private key obtained after decryption is returned to the user.
Referring to fig. 3, a more specific flow chart is shown, and a process of the key recovery service request phase is described below with respect to fig. 3. The reference numerals in the following description correspond to those in fig. 3.
1. The user presents the identity ID and biometric information and requests an authentication service from the agent.
2. The agent invokes a biometric interface networked with the legally effective government agency to transmit the user ID and the biometric information to the government agency.
3. And the government agency verifies whether the user identity ID information is matched with the biological information, if so, returns the agent 'yes', and otherwise, returns the agent 'no'.
4. The agent generates a user token (token) pair: (token: yes/no).
5. The agent recalls and legally enforces a government agency networking interface to send the user ID and biometric information to the government agency.
6. And (3) the government organization audits the matching information and returns the user biological information feature associated with the agent and the identity ID: (ID: feature), corresponding to the same ID, the user feature returned by the government agency is consistent with the registration stage.
7. The agent sends the hash values of token and feature obtained from the government agency to the user: (token: yes/no, h (feature)), where h (feature) represents the hash value of feature.
8. And the user sends the generated token and the identity ID to a key management service provider to request the key management service provider to perform key recovery service.
9. The key management service provider sends the user token to the agent to request to verify the validity of the token.
10. The agent inquires the local user token library, and sends the information whether the user token is valid to the key management service provider: (yes/no).
11. If the returned information is yes, the key management service provider finds the user random number r through the user identity ID, and retrieves the private key ciphertext C from the chain.
12. The user and the key management service provider use an MPC cooperative calculation method to symmetrically decrypt the user private key ciphertext C by using the hash value of the user biological information feature and the random number r to obtain a user private key sk1, wherein the calculation formula is as follows:
13. the key management facilitator returns sk1 to the user, and the user successfully recovers the key.
Furthermore, another subject of the present invention is a computer readable medium comprising a computer program stored on the medium for executing the block chain key recovery method based on secure multi-party computing technique described in the foregoing embodiments. Since the method steps are the same as in the previous embodiment, they are not described again here.
While, for purposes of simplicity of explanation, the methodologies are shown and described as a series of acts, it is to be understood and appreciated that the methodologies are not limited by the order of acts, as some acts may, in accordance with one or more embodiments, occur in different orders and/or concurrently with other acts from that shown and described herein or not shown and described herein, as would be understood by one skilled in the art.
Those of skill would further appreciate that the various illustrative logical blocks, modules, circuits, and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present invention.
The various illustrative logical blocks, modules, and circuits described in connection with the embodiments disclosed herein may be implemented or performed with a general purpose processor, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general purpose processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration.
The steps of a method or algorithm described in connection with the embodiments disclosed herein may be embodied directly in hardware, in a software module executed by a processor, or in a combination of the two. A software module may reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art. An exemplary storage medium is coupled to the processor such the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium may be integral to the processor. The processor and the storage medium may reside in an ASIC. The ASIC may reside in a user terminal. In the alternative, the processor and the storage medium may reside as discrete components in a user terminal.
In one or more exemplary embodiments, the functions described may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software as a computer program product, the functions may be stored on or transmitted over as one or more instructions or code on a computer-readable medium. Computer-readable media includes both computer storage media and communication media including any medium that facilitates transfer of a computer program from one place to another. A storage media may be any available media that can be accessed by a computer. By way of example, and not limitation, such computer-readable media can comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer. Any connection is properly termed a computer-readable medium. For example, if the software is transmitted from a web site, 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. Disk (disk) and disc (disc), as used herein, includes Compact Disc (CD), laser disc, optical disc, Digital Versatile Disc (DVD), floppy disk and blu-ray disc where disks (disks) usually reproduce data magnetically, while discs (discs) reproduce data optically with lasers. Combinations of the above should also be included within the scope of computer-readable media.
The previous description of the disclosure is provided to enable any person skilled in the art to make or use the disclosure. Various modifications to the disclosure will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other variations without departing from the spirit or scope of the disclosure. Thus, the disclosure is not intended to be limited to the examples and designs described herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.