CN-116155483-B - Block chain signing machine safety design method and signing machine
Abstract
The application provides a safe design method of a blockchain signature machine, which comprises the steps of responding to a signature request, obtaining multiple components of a first-level key from multiple component holders, recovering the first-level key according to the multiple components, and recovering a subsequent key according to the first-level key, wherein the subsequent key is used for deriving a blockchain private key. According to the technical scheme provided by the application, a multistage key system is adopted, a step-by-step encryption mode is adopted, a component holder can only master the component of a first-stage key, and after the first-stage key is recovered, the first-stage key can only be used for recovering a subsequent key, so that the problem that the component holder can be separated from a signer to directly recover a blockchain private key is avoided, and the problem of safety design of the signer is solved.
Inventors
- GUO WEIJI
- ZHOU CHENCHENG
- SUN YINGNAN
- WANG WEIYU
Assignees
- 上海加密原生科技有限公司
Dates
- Publication Date
- 20260512
- Application Date
- 20220720
Claims (11)
- 1. A method for securely designing a blockchain signer, comprising: obtaining a plurality of shares of the first level key from a plurality of component holders in response to the signature request; recovering the first level key from the plurality of shares; Recovering a subsequent key according to the first-level key, wherein the subsequent key is used for deriving a blockchain private key; the first-level secret key is divided into n parts by using a secret division algorithm, any t parts of the first-level secret key is recovered, and any less than t parts of the first-level secret key cannot be recovered; Said recovering said first level key from said plurality of shares comprises: Recovering the first-stage secret key according to the t components by using a secret division algorithm; comparing the first-level key with pre-stored integrity information to ensure that the first-level key is correctly recovered; the method further comprises the steps of: Receiving a first signature request, wherein the first signature request comprises preset information, and the preset information is information to be signed; providing the preset information to a plurality of component holders for confirmation; receiving a second signature request; If the second signature request accords with the preset information and the preset information is valid, signing the second signature request, and if the number of times of signing reaches a preset limit after signing is finished, the preset information is invalid; and rejecting the second signature request if the second signature request does not coincide with the preset information or the preset information has been invalid.
- 2. The blockchain signer security design method of claim 1, wherein the comparing the first level key with pre-stored integrity information includes: pre-storing first check information as integrity information, wherein the first check information is obtained by combining a correct first-level key with preset parameters by using a check algorithm; Obtaining second verification information by combining the preset parameters by using a verification algorithm through the recovered first-level secret key; comparing whether the first check information is completely identical to the second check information; if the first level key is completely identical, the first level key is correctly recovered; if not exactly equivalent, the first level key is not recovered correctly.
- 3. The blockchain signer security design method of claim 1, wherein the recovering a subsequent key from the first level key comprises: Recovering a second-level key according to the first-level key; and recovering a third-level key according to the second-level key.
- 4. The blockchain signer security design method of claim 3, wherein the recovering a second level key from the first level key comprises: Pre-storing first pre-stored information, wherein the first pre-stored information is obtained by encrypting the second-stage key by using a first encryption algorithm in combination with a first grouping mode and first additional information, and the first pre-stored information comprises a first ciphertext and first integrity protection additional information; and using the recovered first-level key as a key, and decrypting the second-level key from the first pre-stored information by using a first encryption algorithm in combination with the first packet mode and the first additional information.
- 5. The blockchain signer security design method of claim 4, wherein the recovering a third level key from the second level key comprises: Pre-storing second pre-stored information, wherein the second pre-stored information is obtained by encrypting the third-level key by using a second encryption algorithm in combination with a second grouping mode and second additional information, and the second pre-stored information comprises second ciphertext and second integrity protection additional information; and using the recovered second-level key as a key, and decrypting the third-level key from the second pre-stored information by using a second encryption algorithm in combination with the second packet mode and the second additional information.
- 6. The blockchain signer security design method of any of claims 1-5, further comprising: setting a white list of information to be signed, wherein the filtering condition of the white list is one or more characteristics of the information to be signed; Receiving a signature request; If the signature request accords with the white list, signing the signature request; and if the signature request does not accord with the white list, rejecting the signature request.
- 7. The blockchain signer security design method of claim 1, further comprising: Recording the preset information and the confirmation information of the preset information as audit basis, and/or Reporting the preset information and the confirmation information of the preset information by sending mails or calling a workflow, and taking the preset information and the confirmation information of the preset information as audit basis.
- 8. A signing machine, comprising: an acquisition module for acquiring a plurality of components of the first-level key from a plurality of component holders in response to the signature request; the recovery module is used for recovering the first-level key according to the multiple components and recovering a subsequent key according to the first-level key, wherein the subsequent key is used for deriving a blockchain private key; the first-level secret key is divided into n parts by using a secret division algorithm, any t parts of the first-level secret key is recovered, and any less than t parts of the first-level secret key cannot be recovered; the recovery module is further configured to: Recovering the first-stage secret key according to the t components by using a secret division algorithm; comparing the first-level key with pre-stored integrity information to ensure that the first-level key is correctly recovered; the signing machine is further configured to: Receiving a first signature request, wherein the first signature request comprises preset information, and the preset information is information to be signed; providing the preset information to a plurality of component holders for confirmation; receiving a second signature request; If the second signature request accords with the preset information and the preset information is valid, signing the second signature request, and if the number of times of signing reaches a preset limit after signing is finished, the preset information is invalid; and rejecting the second signature request if the second signature request does not coincide with the preset information or the preset information has been invalid.
- 9. A computer device comprising a memory, a processor, and a computer program stored on the memory and executable on the processor, wherein the processor, when executing the computer program, is configured to implement the steps of the blockchain signer security design method of any of claims 1-7.
- 10. A computer-readable storage medium, wherein a computer program is stored in the computer-readable storage medium, and the computer program is executable by at least one processor, so that the at least one processor performs the steps of the blockchain signer security design method of any of claims 1 to 7.
- 11. A computer program product comprising a computer program, characterized in that the computer program when executed by a processor implements the steps of the blockchain signer security design method of any of claims 1 to 7.
Description
Block chain signing machine safety design method and signing machine Technical Field The present application relates to the field of blockchain technologies, and in particular, to a blockchain signer security design method, a signer, a computer device, and a computer readable storage medium. Background Asymmetric encryption algorithms and public-private key pairs are widely used on blockchains, where the private key can be used to prove ownership of the address on the chain, and thus the asset with which the address is associated, etc. Therefore, security management of private keys is critical in blockchain applications. Even on some public chains, the private key is the only credential proving ownership, unlike a bank account, which can be reset by identification if a user forgets the bank card password, on blockchains, and in particular on some public chains, the related asset cannot be recovered once the private key is lost. The signer manages the private keys of important assets, and the security design of the signer is very important in order to securely manage the private keys (blockchain private keys). Disclosure of Invention The application aims to provide a safe design method of a block chain signer, the signer, computer equipment and a computer readable storage medium, which are used for solving the problem of safe design of the signer. An aspect of the embodiment of the application provides a safe design method of a blockchain signing machine, which is characterized by comprising the steps of responding to a signing request, obtaining multiple components of a first-level key from multiple component holders, recovering the first-level key according to the multiple components, and recovering a subsequent key according to the first-level key, wherein the subsequent key is used for deriving a blockchain private key. Optionally, the first-level key is divided into n parts by using a secret division algorithm, any t parts of the first-level key is recovered, any less than t parts of the first-level key cannot be recovered, and the recovering of the first-level key according to the multiple parts of the first-level key comprises recovering the first-level key according to the t parts of the first-level key or more by using the secret division algorithm, and comparing the first-level key with pre-stored integrity information to ensure that the first-level key is correctly recovered. Optionally, the comparing the first-level key with the pre-stored integrity information includes pre-storing first-level verification information as the integrity information, wherein the first-level verification information is obtained by combining a correct first-level key with a preset parameter through a verification algorithm, obtaining second-level verification information by combining the preset parameter through the recovered first-level key through the verification algorithm, comparing whether the first-level verification information is completely identical to the second-level verification information, if the first-level verification information is completely identical to the second-level verification information, the first-level key is correctly recovered, and if the first-level verification information is not completely identical to the second-level verification information, the first-level key is not correctly recovered. Optionally, the recovering the subsequent key according to the first-level key comprises recovering a second-level key according to the first-level key and recovering a third-level key according to the second-level key. Optionally, the recovering the second-level key according to the first-level key includes pre-storing first pre-stored information, wherein the first pre-stored information is obtained by encrypting the second-level key by using a first encryption algorithm in combination with a first packet mode and first additional information, the first pre-stored information includes a first ciphertext and first integrity protection additional information, and decrypting the second-level key from the first pre-stored information by using the recovered first-level key as a key and using the first encryption algorithm in combination with the first packet mode and the first additional information. Optionally, the recovering the third-level key according to the second-level key includes pre-storing second pre-stored information, wherein the second pre-stored information is obtained by encrypting the third-level key by using a second encryption algorithm in combination with a second packet mode and second additional information, the second pre-stored information includes a second ciphertext and second integrity protection additional information, and decrypting the third key from the second pre-stored information by using the recovered second-level key as a key and using the second encryption algorithm in combination with the second packet mode and the second additional information. Optionally, the b