Key processing method, device, medium and electronic device based on blockchain system

Through the identity authentication node querying and updating public key information in the blockchain system, the problem of public key inability to replace due to private key loss is solved, and the public key is replaced without relying on private keys, ensuring that the data on the chain can be recovered.

CN115776381BActive Publication Date: 2025-08-26TENPAY PAID TECH
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202111045761.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-09-07
Publication Date
2025-08-26
Estimated Expiration
2041-09-07

AI Technical Summary

Technical Problem

In the blockchain system, if the private key of the blockchain user is lost, the public key cannot be replaced, resulting in the on-chain data being unable to be retrieved.

Method used

The identity authentication node receives a key change request, querys the identity credentials associated with the authenticated public key information, and after the identity authentication is passed, the public key information in the blockchain is updated with the new public key information to realize public key replacement.

Benefits of technology

Implementing public key replacement without using private keys avoids the problem of on-chain data being unretrievable due to private key loss.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115776381B_ABST
    Figure CN115776381B_ABST
Patent Text Reader

Abstract

Embodiments of the present application provide a key processing method, device, medium, and electronic device based on a blockchain system. The blockchain system includes a consensus node and an identity authentication node. The key processing method includes: receiving a key change request sent by a blockchain user, the key change request including authenticated public key information and new public key information; querying the blockchain for an identity credential associated with the authenticated public key information based on the authenticated public key information, the identity credential being pre-generated for the blockchain user and stored in the blockchain; verifying the identity of the blockchain user based on the identity credential; and if the blockchain user's identity is authenticated, updating the authenticated public key information associated with the identity credential in the blockchain using the new public key information. The technical solution of the embodiments of the present application can replace the public key of a blockchain user without using the blockchain user's private key.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of computer and communication technology, and more specifically, to a key processing method, device, medium, and electronic device based on a blockchain system. Background Art

[0002] In blockchain technology, on-chain data resources are generally bound to on-chain addresses. If a blockchain user needs to change their on-chain address, they must use their original public and private keys to create a transaction to change the on-chain address. This transaction is then uploaded to the blockchain to effect the change. However, if a blockchain user loses their private key, they cannot update their public key, and consequently, cannot retrieve the data on the blockchain. Summary of the Invention

[0003] The embodiments of the present application provide a key processing method, device, medium, and electronic device based on a blockchain system, thereby enabling, at least to a certain extent, the replacement of a blockchain user's public key without using the blockchain user's private key, thereby avoiding the problem of being unable to retrieve on-chain data due to loss of the private key.

[0004] Other features and advantages of the present application will become apparent from the following detailed description, or may be learned in part by practice of the present application.

[0005] According to one aspect of an embodiment of the present application, a key processing method based on a blockchain system is provided, wherein the blockchain system includes a consensus node and an identity authentication node, and the key processing method is executed by the identity authentication node, and the key processing method includes: receiving a key change request sent by a blockchain user, wherein the key change request includes authenticated public key information and new public key information; querying the blockchain for an identity credential associated with the authenticated public key information based on the authenticated public key information, wherein the identity credential is generated in advance for the blockchain user and stored in the blockchain; verifying the identity of the blockchain user based on the identity credential; if the identity authentication of the blockchain user is passed, updating the authenticated public key information associated with the identity credential in the blockchain through the new public key information.

[0006] According to one aspect of an embodiment of the present application, a key processing method based on a blockchain system is provided, wherein the blockchain system includes a consensus node and an identity authentication node, and the key processing method is executed by a blockchain user, and the key processing method includes: sending a key change request to the identity authentication node, wherein the key change request includes authenticated public key information and new public key information; receiving a notification message of successful change sent by the identity authentication node in response to the key change request, wherein the notification message of successful change is sent by the identity authentication node after the identity authentication of the blockchain user is passed based on the identity credential associated with the authenticated public key information queried in the blockchain, and after the authenticated public key information associated with the identity credential in the blockchain is updated by the new public key information; and initiating a change application for the public key information associated with the business account to the consensus node based on the new public key information.

[0007] According to one aspect of an embodiment of the present application, a key processing device based on a blockchain system is provided, wherein the blockchain system includes a consensus node and an identity authentication node, and the key processing device is arranged in the identity authentication node, and the key processing device includes: a first receiving unit, configured to receive a key change request sent by a blockchain user, wherein the key change request includes authenticated public key information and new public key information; a query unit, configured to query the blockchain for an identity credential associated with the authenticated public key information based on the authenticated public key information, wherein the identity credential is generated in advance for the blockchain user and stored in the blockchain; a verification unit, configured to verify the identity of the blockchain user based on the identity credential; a first processing unit, configured to update the authenticated public key information associated with the identity credential in the blockchain through the new public key information if the identity authentication of the blockchain user is passed.

[0008] In some embodiments of the present application, based on the aforementioned scheme, the first receiving unit is further configured to: receive identity authentication information sent by the blockchain user before receiving the key change request sent by the blockchain user; the key processing device also includes: an authentication unit, configured to authenticate the identity of the blockchain user based on the identity authentication information; a generation unit, configured to generate an identity certificate for the blockchain user if the identity authentication of the blockchain user is passed; a storage unit, configured to associate the identity certificate with the public key information of the blockchain user and store it in the blockchain.

[0009] In some embodiments of the present application, based on the aforementioned scheme, the authentication unit is configured to: verify the identity of the blockchain user according to the identity identification information contained in the identity authentication information, and verify whether the authenticated public key information matches the public key information and private key signature contained in the identity authentication information; if the identity authentication of the blockchain user is passed according to the identity identification information, and the authenticated public key information matches the public key information and private key signature contained in the identity authentication information, it is determined that the identity authentication of the blockchain user is passed.

[0010] In some embodiments of the present application, based on the aforementioned scheme, the first processing unit is further configured to: if the identity authentication of the blockchain user is passed, the information used by the blockchain user when changing the key is stored in the blockchain as a public key information change record of the blockchain user.

[0011] In some embodiments of the present application, based on the aforementioned scheme, the first processing unit is configured to: encrypt the data used by the blockchain user when changing the key to obtain an encrypted file; and store the encrypted file as a record of the public key information change of the blockchain user in the blockchain.

[0012] In some embodiments of the present application, based on the aforementioned scheme, the first processing unit is further configured to: if the identity certificate associated with the authenticated public key information is not found in the blockchain based on the authenticated public key information, determine that the key change has failed.

[0013] In some embodiments of the present application, based on the aforementioned scheme, the authenticated public key information includes at least one of the following information: an authenticated public key, an authenticated on-chain address; the new public key information includes at least one of the following information: a new public key, a new on-chain address.

[0014] In some embodiments of the present application, based on the aforementioned scheme, the verification unit is configured to: verify, based on the identity credential, whether the identity of the blockchain user matches the identity identification information contained in the identity credential; if the identity of the blockchain user matches the identity identification information contained in the identity credential, it is determined that the identity authentication of the blockchain user is passed; if the identity of the blockchain user does not match the identity identification information contained in the identity credential, it is determined that the identity authentication of the blockchain user has failed.

[0015] According to one aspect of an embodiment of the present application, a key processing device based on a blockchain system is provided, wherein the blockchain system includes a consensus node and an identity authentication node, and the key processing device is arranged in a blockchain user, and the key processing device includes: a sending unit, configured to send a key change request to the identity authentication node, wherein the key change request includes authenticated public key information and new public key information; a second receiving unit, configured to receive a notification message of successful change sent by the identity authentication node in response to the key change request, wherein the notification message of successful change is sent by the identity authentication node after the identity authentication node has authenticated the identity of the blockchain user based on the identity credential associated with the authenticated public key information queried in the blockchain, and after the authenticated public key information associated with the identity credential in the blockchain is updated by the new public key information; a second processing unit, configured to initiate a change application for the public key information associated with the business account to the consensus node based on the new public key information.

[0016] In some embodiments of the present application, based on the aforementioned scheme, the sending unit is further configured to: send identity authentication information to the identity authentication node before sending a key change request to the identity authentication node; the second receiving unit is further configured to: receive the identity certificate sent by the identity authentication node after the identity authentication of the blockchain user is passed according to the identity authentication information; the key processing device also includes: a binding unit, configured to bind the identity certificate to the business account.

[0017] In some embodiments of the present application, based on the aforementioned scheme, the binding unit is configured to: generate first transaction information for binding processing, the first transaction information includes the identity credential, the first transaction information is signed by the authenticated public key information of the blockchain user, and the authenticated public key information is associated with the business account and stored in the blockchain; the first transaction information is processed on the chain to bind the identity credential with the business account.

[0018] In some embodiments of the present application, based on the aforementioned scheme, the binding unit is configured to: send the first transaction information to the consensus node, the first transaction information is used to enable the consensus node to query the business account associated with the authenticated public key information, and after querying the business account, bind the identity credentials contained in the first transaction information to the queried business account.

[0019] In some embodiments of the present application, based on the aforementioned scheme, the second processing unit is configured to: generate second transaction information that changes the public key information associated with the business account, and the second transaction information is signed by the private key information corresponding to the new public key information; send the second transaction information to the consensus node, and the second transaction information is used to enable the consensus node to obtain the authenticated public key information of the blockchain user based on the identity credentials bound to the business account, and verify the signature of the second transaction information through the obtained authenticated public key information, so that after the verification is passed, the new public key information is used to update the public key information associated with the business account.

[0020] In some embodiments of the present application, based on the aforementioned solution, the second transaction information includes an indication field, and the indication field is used to indicate that the second transaction information is used to change the public key information associated with the business account.

[0021] In some embodiments of the present application, based on the aforementioned scheme, the identity authentication information includes the identity identification information of the blockchain user, the authenticated public key information of the blockchain user, and the private key signature of the blockchain user; wherein the private key signature is the signature information obtained by signing a character string using the private key of the blockchain user.

[0022] According to one aspect of an embodiment of the present application, a computer-readable medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the key processing method based on the blockchain system as described in the above embodiment is implemented.

[0023] According to one aspect of an embodiment of the present application, an electronic device is provided, comprising: one or more processors; a storage device for storing one or more programs, wherein when the one or more programs are executed by the one or more processors, the electronic device implements the key processing method based on the blockchain system as described in the above embodiment.

[0024] According to one aspect of an embodiment of the present application, a computer program product or computer program is provided, the computer program product or computer program including computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform the key processing method based on a blockchain system provided in the various optional embodiments described above.

[0025] In the technical solutions provided in some embodiments of the present application, an identity authentication node is set up, and the identity authentication node receives a key change request sent by a blockchain user containing authenticated public key information and new public key information. Then, the identity certificate associated with the authenticated public key information is queried in the blockchain based on the authenticated public key information, and the identity of the blockchain user is verified based on the identity certificate. After the identity authentication of the blockchain user is passed, the authenticated public key information associated with the identity certificate in the blockchain is updated with the new public key information, so that the purpose of replacing the public key of the blockchain user can be achieved without using the private key of the blockchain user, thereby avoiding the problem of being unable to retrieve on-chain data due to the loss of the private key.

[0026] It should be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the present application. BRIEF DESCRIPTION OF THE DRAWINGS

[0027] The accompanying drawings are incorporated into and constitute a part of the specification, illustrating embodiments consistent with the present application and, together with the specification, explaining the principles of the present application. Obviously, the drawings described below are only some embodiments of the present application, and those skilled in the art can derive other drawings based on these drawings without inventive effort. In the drawings:

[0028] Figure 1 A schematic diagram of the structure of the blockchain network is shown;

[0029] Figure 2 A schematic diagram showing the connection relationship between blocks in the blockchain;

[0030] Figure 3 A schematic diagram of account changes in the account model is shown;

[0031] Figure 4 The following figure shows the implementation process of the UTXO model;

[0032] Figure 5 A schematic diagram showing an exemplary system architecture to which the technical solutions of the embodiments of the present application can be applied;

[0033] Figure 6 A flowchart of a key processing method based on a blockchain system according to an embodiment of the present application is shown;

[0034] Figure 7 A flowchart of a key processing method based on a blockchain system according to an embodiment of the present application is shown;

[0035] Figure 8A flowchart of a key processing method based on a blockchain system according to an embodiment of the present application is shown;

[0036] Figure 9 A flowchart of a key processing method based on a blockchain system according to an embodiment of the present application is shown;

[0037] Figure 10 A flowchart of a key processing method based on a blockchain system according to an embodiment of the present application is shown;

[0038] Figure 11 A flowchart of a key processing method based on a blockchain system according to an embodiment of the present application is shown;

[0039] Figure 12 A block diagram of a key processing device based on a blockchain system according to an embodiment of the present application is shown;

[0040] Figure 13 A block diagram of a key processing device based on a blockchain system according to an embodiment of the present application is shown;

[0041] Figure 14 A schematic diagram of the structure of a computer system suitable for implementing an electronic device according to an embodiment of the present application is shown. DETAILED DESCRIPTION

[0042] Example embodiments will now be described in a more complete manner with reference to the accompanying drawings. However, the example embodiments can be implemented in various forms and should not be construed as limited to these examples; rather, these embodiments are provided to make this application more comprehensive and complete and to fully convey the concepts of the example embodiments to those skilled in the art.

[0043] In addition, the features, structures or characteristics described in the present application may be combined in one or more embodiments in any suitable manner. In the following description, there are many specific details so that the embodiments of the present application can be fully understood. However, it will be appreciated by those skilled in the art that when implementing the technical solution of the present application, it is not necessary to use all the detailed features in the embodiments, one or more specific details may be omitted, or other methods, elements, devices, steps, etc. may be adopted.

[0044] The block diagrams shown in the accompanying drawings are merely functional entities and do not necessarily correspond to physically separate entities. That is, these functional entities may be implemented in software, in one or more hardware modules or integrated circuits, or in different networks and / or processor devices and / or microcontroller devices.

[0045] The flowcharts shown in the accompanying drawings are for illustrative purposes only and do not necessarily include all contents and operations / steps, nor must they be executed in the order described. For example, some operations / steps may be decomposed, while others may be combined or partially combined. Therefore, the actual execution order may vary depending on the actual situation.

[0046] It should be noted that the term "plurality" used in this document refers to two or more. "And / or" describes a relationship between associated objects, indicating that three possible relationships exist. For example, "A and / or B" can represent: A alone, A and B together, or B alone. The character " / " generally indicates an "or" relationship between the associated objects.

[0047] Blockchain is a new application model for computer technologies, including distributed data storage, peer-to-peer transmission, consensus mechanisms, and encryption algorithms. Essentially, a blockchain is a decentralized database, a series of data blocks (i.e., blocks) generated using cryptographic methods. Each block contains information about a batch of online transactions, used to verify the validity of that information (to prevent counterfeiting) and generate the next block. Blockchain can include the underlying blockchain platform, the platform product and service layer, and the application service layer.

[0048] The underlying blockchain platform can include processing modules such as user management, basic services, smart contracts, and operation monitoring. Among them, the user management module is responsible for the identity information management of all blockchain participants, including maintaining public and private key generation (account management), key management, and maintaining the corresponding relationship between the user's real identity and the blockchain address (authority management), etc., and under authorization, it supervises and audits the transactions of certain real identities and provides risk control rule configuration (risk control audit); the basic service module is deployed on all blockchain node devices to verify the validity of business requests, and records the valid requests to the storage after consensus is reached. For a new business request, the basic service first adapts the interface to parse and authenticate the request (interface adaptation), and then encrypts the business information through the consensus algorithm (consensus management). The smart contract module is responsible for the registration, issuance, triggering and execution of contracts. Developers can define the contract logic in a programming language and publish it to the blockchain (contract registration). According to the logic of the contract terms, the contract logic is triggered by calling keys or other events to trigger execution. The contract logic is completed, and the contract upgrade and cancellation functions are also provided. The operation monitoring module is mainly responsible for the deployment, configuration modification, contract setting, cloud adaptation and real-time status visualization output of the product during the product release process, such as alarms, network status monitoring, and node device health monitoring.

[0049] The platform's product service layer provides the basic capabilities and implementation framework for typical applications. Developers can build on these basic capabilities, overlay business features, and complete the blockchain implementation of business logic. The application service layer provides application services based on blockchain solutions for business participants to use.

[0050] As mentioned above, blockchain is essentially a decentralized database, and the blockchain is maintained by the nodes in the blockchain network. Figure 1 The blockchain network shown may include multiple nodes 101, each of which may be the individual clients forming the blockchain network. Each node 101 may receive input information during normal operation and, based on the received input information, maintain shared data within the blockchain network. To ensure information interoperability within the blockchain network, information connections may exist between each node in the blockchain network, enabling information transmission between nodes via these connections. For example, when any node in the blockchain network receives input information, the other nodes in the blockchain network obtain the input information according to a consensus algorithm and store it as shared data, ensuring that the data stored on all nodes in the blockchain network is consistent.

[0051] Each node in a blockchain network has a corresponding node identifier, and each node in the blockchain network can store the node identifiers of other nodes so that it can subsequently broadcast generated blocks to other nodes in the blockchain network based on the node identifiers of other nodes. Each node can maintain a node identifier list, storing the node name and node identifier in the node identifier list. The node identifier can be an IP (Internet Protocol, a protocol for interconnecting networks) address or any other information that can be used to identify the node.

[0052] Each node in the blockchain network stores the same blockchain. The blockchain consists of multiple blocks, see Figure 2 As shown in the figure, the blockchain consists of multiple blocks. The genesis block includes a block header and a block body. The block header stores the input information feature value, version number, timestamp, and difficulty value, etc., and the block body stores the input information. The next block of the genesis block uses the genesis block as its parent block. The next block also includes a block header and a block body. The block header stores the input information feature value of the current block, the block header feature value, version number, timestamp, and difficulty value of the parent block, etc., and so on. Therefore, the block data stored in each block in the blockchain is associated with the block data stored in the parent block, ensuring the security of the input information in the block.

[0053] Each node in the blockchain network can be a server or a terminal device. The server can be an independent physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, CDN (Content Delivery Network), and big data and artificial intelligence platforms. The terminal device can be a smartphone, tablet computer, laptop computer, desktop computer, smart speaker, smart watch, etc., but is not limited to these. The nodes can be directly or indirectly connected through wired or wireless communication, which is not limited in this application.

[0054] In related technologies, blockchains primarily use two record-keeping methods: the account / balance model and the UTXO (Unspent Transaction Output) model. To illustrate the difference between these two record-keeping methods, consider the following scenario: Zhang San obtains 12.5 virtual resources. A few days later, Zhang San pays 2.5 of these virtual resources to Li Si. A few days later, Zhang San and Li Si each contribute 2.5 virtual resources, totaling 5 virtual resources, to be paid to Wang Wu.

[0055] If the design is an account / balance model, then Zhang San, Li Si, and Wang Wu will each have an account in the database, and the changes in their accounts will be as follows: Figure 3 As shown, each account change only changes the balance in the account.

[0056] In a UTXO model, each transaction has several transaction inputs, which are the sources of resources, and several transaction outputs, which are the destinations of resources. Generally speaking, each transaction spends an input and generates an output, and the output generated is the "unspent transaction output," or UTXO.

[0057] Specifically, Figure 4 The transaction number #1001 shown in the figure is the first transaction, indicating that Zhang San unexpectedly obtained 12.5 virtual resources. After being confirmed by consensus by all nodes in the blockchain, the first transaction is recorded in the blockchain network.

[0058] A few days later, Zhang San intends to pay 2.5 virtual resources to Li Si. Zhang San initiates a transaction with the transaction number #2001. The resource source item of this transaction is written as "#1001(1)", which is the first UTXO of transaction #1001 (the transaction in which Zhang San accidentally obtained the virtual resources). Then, in the transaction output UTXO item of this transaction, the recipient address of the 2.5 virtual resources is set to Li Si's address.

[0059] It should be noted that this transaction must consume all the 12.5 virtual resources generated previously. Since Zhang San only intends to pay Li Si 2.5 virtual resources, in order to consume the remaining 10 virtual resources, he has to pay the remaining 10 virtual resources to himself. This is to comply with the input and output balancing rule.

[0060] A few days later, Zhang San and Li Si plan to pay Wang Wu 5 virtual resources together. Then Zhang San or Li Si initiates a transaction with transaction number #3001. In the transaction input, there are two resource sources, #2001(1) and #2001(2), representing the (1st) and (2nd) UTXOs of transaction #2001. Then, in the output of this transaction, the same process is repeated, giving Wang Wu 5 virtual resources and returning Zhang San's remaining 7.5 virtual resources to himself. In the future, if Wang Wu wants to spend these 5 virtual resources again, he must indicate in the transaction that the source of the resources is #3001(1).

[0061] Therefore, in a blockchain network based on the UTXO model, each transaction data has input information and output information. Except for the first transaction, the input information of other transaction data will reference a UTXO, and the output information will generate a UTXO. When the input of a new transaction data references a UTXO, the referenced UTXO is deleted and a new UTXO is generated.

[0062] Whether using the account / balance model or the UTXO model, on-chain data resources are generally bound to on-chain addresses. If a blockchain user needs to change their on-chain address, they must migrate the data resources at the original address to the on-chain address corresponding to the new public and private keys. However, the data resources at the original address are scattered across the blockchain system and various business contracts, making migration very difficult. To address this difficulty in data resource migration, related technologies have proposed the following solutions: One approach is to provide an on-chain name service, similar to a domain name, to bind data resources to on-chain names, decoupling on-chain public and private keys from data resources. This solution requires modifying the blockchain system to support on-chain names at the transaction level. Another solution is to provide a business data account service. Business data accounts maintain business data. Contracts can establish a business data account for an on-chain address, which is used within the contract to store data related to the on-chain address within the contract. Furthermore, a single on-chain address can be bound to multiple business data accounts, centralizing all on-chain address data for easy migration. Regardless of the solution, if a blockchain user wants to change their on-chain address / public / private keys, they need to use their original public and private keys to create a transaction to change the on-chain address. This transaction is then uploaded to the blockchain to complete the address change. However, if the blockchain user loses their private key, they will be unable to update their public key, and consequently, will be unable to retrieve the data on the blockchain.

[0063] Based on the above technical problems, in one embodiment of the present application, Figure 5 As shown, an identity authentication node 501 is provided, which can communicate with the blockchain network and interact with the blockchain user terminal. If the blockchain user wants to use the function of replacing the public key without the help of the private key, the blockchain user can authenticate the identity of the identity authentication node 501 through the blockchain user terminal 502. Specifically, the blockchain user can send identity authentication information to the identity authentication node 501 through the blockchain user terminal 502. If the identity authentication node 501 successfully authenticates the blockchain user based on the identity authentication information, it can generate an identity certificate for the blockchain user, associate the identity certificate with the blockchain user's public key information, and store it in the blockchain.

[0064] If a blockchain user needs to change their public key information, they can send a key change request to the identity authentication node 501 via the blockchain user terminal 502. The key change request includes the authenticated public key information and the new public key information. The identity authentication node 501 can then query the blockchain for the identity certificate associated with the authenticated public key information based on the authenticated public key information, and verify the blockchain user's identity based on the identity certificate. After the blockchain user's identity is authenticated, the authenticated public key information associated with the identity certificate in the blockchain is updated with the new public key information.

[0065] After the identity authentication node 501 updates the authenticated public key information associated with the blockchain user's identity certificate in the blockchain using the blockchain user's new public key information, it can send a notification message of successful change to the blockchain user terminal 502. Then, the blockchain user can initiate an application to change the public key information associated with the business account to the consensus node in the blockchain network based on the new public key information. Specifically, the blockchain user can generate transaction information for changing the public key information associated with the business account through the blockchain user terminal 502, and sign it with the private key information corresponding to the new public key information. Then, the transaction information is sent to the consensus node in the blockchain network. After that, the consensus node in the blockchain network can obtain the authenticated public key information of the blockchain user based on the identity certificate bound to the business account, and verify the signature of the transaction information with the obtained authenticated public key information. After the verification is passed, the new public key information is used to update the public key information associated with the blockchain user's business account.

[0066] It can be seen that the technical solution of the embodiment of the present application can achieve the purpose of replacing the public key of the blockchain user without using the private key of the blockchain user, thereby avoiding the problem of being unable to retrieve the on-chain data due to the loss of the private key.

[0067] The following describes in detail the various implementation details of the technical solutions of the embodiments of the present application:

[0068] Figure 6 A flowchart of a key processing method based on a blockchain system according to an embodiment of the present application is shown. The blockchain system includes a consensus node and an identity authentication node. The key processing method based on the blockchain system can be executed by the identity authentication node. Specifically, refer to Figure 6 As shown, the key processing method based on the blockchain system includes at least steps S610 to S640, which are described in detail as follows:

[0069] In step S610, a key change request sent by a blockchain user is received, where the key change request includes authenticated public key information and new public key information.

[0070] Optionally, the blockchain user may send a key change request through a blockchain user terminal, which may be, for example, a smartphone, tablet computer, laptop computer, desktop computer, smart speaker, smart watch, etc. The blockchain user may obtain business data from the blockchain through the blockchain user terminal, such as querying account balance information, transaction information, etc.

[0071] The authenticated public key information included in the key change request refers to the public key information that has been authenticated by the identity authentication node and stored in the blockchain, that is, the original public key information of the blockchain user, while the new public key information refers to the public key information that the blockchain user is about to replace. Optionally, since the on-chain address in the blockchain is derived from the public key, the public key information in the embodiments of the present application can refer to either the public key or the on-chain address.

[0072] In step S620, the identity credential associated with the authenticated public key information is queried in the blockchain based on the authenticated public key information. The identity credential is generated in advance for the blockchain user and stored in the blockchain.

[0073] Alternatively, the identity credential may be generated by an authentication node after authenticating the blockchain user's identity. After generating the identity credential, the authentication node may associate the identity credential with the blockchain user's public key information and then store it on the blockchain. Alternatively, the identity credential may include, for example, the blockchain user's on-chain identity identifier, on-chain address, authentication materials, and other information.

[0074] In step S630, the identity of the blockchain user is verified based on the queried identity credentials.

[0075] Optionally, the process of verifying the identity of the blockchain user based on the retrieved identity credential is to verify whether the identity of the blockchain user matches the identity identification information contained in the retrieved identity credential. If the identity of the blockchain user matches the identity identification information contained in the retrieved identity credential, then the blockchain user's identity authentication is determined to be successful; if the identity of the blockchain user does not match the identity identification information contained in the retrieved identity credential, then the blockchain user's identity authentication is determined to be unsuccessful.

[0076] In one embodiment of the present application, if no identity credential associated with the authenticated public key information is found in the blockchain based on the authenticated public key information, it can be determined that the key change has failed.

[0077] In step S640, if the identity authentication of the blockchain user is passed, the authenticated public key information associated with the identity credential in the blockchain is updated using the new public key information.

[0078] In one embodiment of the present application, the process of updating the authenticated public key information associated with the identity credential in the blockchain with the new public key information is to associate the new public key information with the identity credential as the new authenticated public key information. Optionally, the original authenticated public key information can be unbound from the identity authentication, and then the new public key information can be bound to the identity credential as the new authenticated public key information.

[0079] In one embodiment of the present application, if the blockchain user's identity verification is successful, the information used by the blockchain user during the key change can be stored in the blockchain as a record of the blockchain user's public key information change. The technical solution of this embodiment allows the information used during the key change process to be retained for subsequent verification.

[0080] Optionally, the process of storing the data used by the blockchain user when changing the key as a record of the blockchain user's public key information change in the blockchain can be to encrypt the data used by the blockchain user when changing the key to obtain an encrypted file, and then store the encrypted file as a record of the blockchain user's public key information change in the blockchain to ensure the security of the data used when changing the key.

[0081] based on Figure 6 The technical solution of the embodiment shown, Figure 7 A flowchart of a key processing method based on a blockchain system according to an embodiment of the present application is shown, and the key processing method based on a blockchain system can be executed by an identity authentication node. Specifically, referring to Figure 7 As shown, the key processing method based on the blockchain system includes at least steps S710 to S740, and Figure 6 Steps S610 to S640 shown in FIG are described in detail as follows:

[0082] In step S710, the identity authentication information sent by the blockchain user is received.

[0083] In one embodiment of the present application, the identity authentication information sent by the blockchain user may include identity identification information, the public key information of the blockchain user, and the private key signature of the blockchain user.

[0084] Optionally, the identity identification information may be, for example, biometric information, digital password information, etc.; the public key information of the blockchain user may be the original public key information of the blockchain user, that is, the public key information that has been previously authenticated; the private key signature of the blockchain user may be signature information obtained by signing a character string using the private key of the blockchain user, and the character string may be, for example, a random character string or a specified character string information, etc., for example, it may be signature information obtained by signing the biometric information, digital key information, etc. of the blockchain user using the private key.

[0085] In step S720, the identity of the blockchain user is authenticated based on the identity authentication information.

[0086] In one embodiment of the present application, the process of authenticating the identity of the blockchain user based on the identity authentication information may be to verify the identity of the blockchain user based on the identity identification information contained in the identity authentication information, and verify whether the authenticated public key information matches the public key information and private key signature contained in the identity authentication information. If the identity authentication of the blockchain user is passed based on the identity identification information, and the authenticated public key information matches the public key information and private key signature contained in the identity authentication information, then it is determined that the identity authentication of the blockchain user is passed.

[0087] Optionally, the process of verifying the identity of the blockchain user based on the identity identification information contained in the identity authentication information can adopt an identity authentication technology based on information secrets, an identity authentication technology based on trusted objects, or an identity authentication technology based on biometrics.

[0088] Identity authentication technology based on information secrets proves your identity based on what you know (i.e., what you know). For example, a static password is a password set by the user. When the correct password is entered during network login, the computer assumes that the operator is a legitimate user.

[0089] Trusted object-based identity authentication technology uses something you possess to prove your identity (i.e., what you have). Examples include smart cards (IC cards), SMS passwords, and dynamic passwords. A smart card is a chip with an integrated circuit that stores user identity data. Smart cards are manufactured by specialized manufacturers using specialized equipment and are non-replicable hardware. Smart cards are carried by authorized users and must be inserted into a dedicated card reader to verify their identity when logging in. SMS passwords request a dynamic password containing a 6-digit (or 4-digit, etc.) random number via text message. The authentication system sends this random 6-digit password to the user's phone via SMS. The user enters this dynamic password when logging in or authenticating a transaction, ensuring the security of the system. Dynamic passwords are generated using a user's handheld terminal. The most common method is time-synchronized, with the dynamic password changing every 60 seconds. This generates a dynamic 6-digit number for one-time authentication.

[0090] Biometric authentication technology directly verifies your identity (who you are) based on unique biological characteristics. Biometrics are categorized into two types: physical and behavioral. Physical characteristics include voiceprints, fingerprints, palm prints, retina patterns, irises, body odor, facial shape, hand blood vessels, and DNA; behavioral characteristics include signatures, voice, and gait. Currently, some researchers classify retinal, iris, and fingerprint recognition as advanced biometrics; palm prints, facial shapes, voice, and signature recognition as secondary biometrics; and vascular pattern recognition, body odor, and DNA recognition as "esoteric" biometrics.

[0091] Continue to refer to Figure 7 As shown, in step S730, if the identity authentication of the blockchain user is passed, an identity credential for the blockchain user is generated.

[0092] Optionally, the identity credential may be a credential issued by the identity authentication node to the blockchain user after the identity authentication of the blockchain user is passed, which may include the blockchain user's on-chain identity identification, on-chain address, authentication materials, etc.

[0093] In step S740, the identity credential is associated with the public key information of the blockchain user and stored in the blockchain.

[0094] In one embodiment of the present application, the process of associating the identity credential with the public key information of the blockchain user may be associating the identity credential with the authenticated public key information of the blockchain user, and then upon receiving a key change request sent by the blockchain user, the corresponding identity credential may be obtained based on the authenticated public key information of the blockchain user to authenticate the identity of the blockchain user, that is, executing the following: Figure 6 Steps S610 to S640 shown in .

[0095] The above describes the technical solution of the embodiment of the present application from the perspective of the identity authentication node. The following describes the implementation details of the technical solution of the embodiment of the present application from the perspective of the blockchain user:

[0096] Figure 8 A flowchart of a key processing method based on a blockchain system according to an embodiment of the present application is shown. The blockchain system includes a consensus node and an identity authentication node. The key processing method based on the blockchain system can be executed by a blockchain user. Specifically, refer to Figure 8 As shown, the key processing method based on the blockchain system includes at least steps S810 to S830, which are described in detail as follows:

[0097] In step S810, a key change request is sent to the identity authentication node, where the key change request includes authenticated public key information and new public key information.

[0098] Optionally, the blockchain user may send a key change request to the identity authentication node via a blockchain user terminal, which may be, for example, a smartphone, tablet computer, laptop computer, desktop computer, smart speaker, smart watch, etc. The blockchain user may obtain business data from the blockchain via the blockchain user terminal, such as querying account balance information, transaction information, etc.

[0099] The authenticated public key information included in the key change request refers to the public key information that has been authenticated by the identity authentication node and stored in the blockchain, that is, the original public key information of the blockchain user, while the new public key information refers to the public key information that the blockchain user is about to replace. Optionally, since the on-chain address in the blockchain is derived from the public key, the public key information in the embodiments of the present application can refer to either the public key or the on-chain address.

[0100] In step S820, a notification message of successful change sent by the identity authentication node in response to the key change request is received. The notification message of successful change is sent by the identity authentication node after the identity authentication node has passed the identity authentication of the blockchain user based on the identity certificate associated with the authenticated public key information queried in the blockchain, and after the authenticated public key information associated with the identity certificate in the blockchain is updated with the new public key information.

[0101] Optionally, the process of the identity authentication node verifying the identity of the blockchain user and updating the authenticated public key information associated with the identity credential in the blockchain through the new public key information can refer to the technical solution of the aforementioned embodiment and will not be repeated here.

[0102] In step S830, an application for changing the public key information associated with the business account is initiated to the consensus node based on the new public key information.

[0103] Optionally, after obtaining the identity certificate issued by the identity authentication node, the blockchain user can bind the identity certificate to the blockchain user's business account in the blockchain. Then, when the blockchain user initiates a change request to the consensus node for the public key information associated with the business account, the consensus node can obtain the blockchain user's authenticated public key information based on the identity certificate bound to the business account. The consensus node can then verify the change request initiated by the blockchain user using the obtained authenticated public key information. Once the verification is successful, the consensus node can then use the new public key information to update the public key information associated with the business account.

[0104] Optionally, a business account is an account used by blockchain users to process business data on the blockchain, such as an account used for virtual resource management, an account for business data query, etc. Blockchain users can register corresponding business accounts on the blockchain platform according to actual needs.

[0105] based on Figure 8 The technical solution of the embodiment shown, Figure 9 The flowchart of the key processing method based on the blockchain system according to one embodiment of the present application is shown. The key processing method based on the blockchain system can be executed by the blockchain user. Specifically, refer to Figure 9 As shown, the key processing method based on the blockchain system includes at least steps S910 to S930, and Figure 8 Steps S810 to S830 shown in FIG are described in detail as follows:

[0106] In step S910, identity authentication information is sent to the identity authentication node.

[0107] In one embodiment of the present application, the identity authentication information sent by the blockchain user may include identity identification information, the public key information of the blockchain user, and the private key signature of the blockchain user.

[0108] Optionally, the identity identification information may be, for example, biometric information, digital password information, etc.; the public key information of the blockchain user may be the original public key information of the blockchain user, that is, the public key information that has been previously authenticated; the private key signature of the blockchain user may be signature information obtained by signing a character string using the private key of the blockchain user, and the character string may be, for example, a random character string or a specified character string information, etc., for example, it may be signature information obtained by signing the biometric information, digital key information, etc. of the blockchain user using the private key.

[0109] In step S920, the identity credential sent by the identity authentication node after the identity authentication of the blockchain user is passed according to the identity authentication information is received.

[0110] Alternatively, the identity authentication process of the blockchain user by the identity authentication node may refer to the technical solutions of the aforementioned embodiments. The identity credential is a credential issued to the blockchain user by the identity authentication node after the blockchain user's identity is successfully authenticated, and may include the blockchain user's on-chain identity identifier, on-chain address, authentication materials, etc.

[0111] In step S930, the identity credential is bound to the business account.

[0112] In one embodiment of the present application, binding the identity credential with the business account may be to generate first transaction information for binding, wherein the first transaction information includes the identity credential, and the first transaction information is signed by the authenticated public key information of the blockchain user, and the authenticated public key information is associated with the business account and stored in the blockchain, and then the blockchain user performs on-chain processing on the first transaction information to bind the identity credential with the business account.

[0113] After step S930, you can execute Figure 8 In this case, in step S830, a request for changing the public key information associated with the business account is initiated to the consensus node based on the new public key information, including: generating second transaction information for changing the public key information associated with the business account, the second transaction information being signed by the private key information corresponding to the new public key information; sending the second transaction information to the consensus node, the second transaction information being used to enable the consensus node to obtain the authenticated public key information of the blockchain user based on the identity certificate bound to the business account, and verifying the signature of the second transaction information using the obtained authenticated public key information, so that after the verification is successful, the new public key information is used to update the public key information associated with the business account.

[0114] Optionally, the second transaction information may include an indication field, which is used to indicate that the second transaction information is used to change the public key information associated with the business account, so that the consensus node can identify that the second transaction information is not ordinary transaction information based on the indication field, and update the public key information associated with the business account based on the second transaction information.

[0115] The following combination Figure 10 and Figure 11 The implementation details of the technical solution of the embodiment of this application are elaborated in detail:

[0116] like Figure 10 As shown in the figure, the nodes in the blockchain system include conventional consensus nodes and newly introduced identity authentication nodes. Consensus nodes are responsible for the state storage and calculation of the entire blockchain system, while identity authentication nodes are responsible for verifying the true identity of blockchain users and issuing identity certificates on the chain. The process of issuing identity certificates includes the following steps:

[0117] In step S1001, when a blockchain user needs to update a public key without relying on a private key, they must first authenticate with an authentication node. The authentication node can optionally provide authentication methods including, but not limited to, those based on information confidentiality, trusted objects, and biometrics. In addition to submitting information related to their real-world identity, the blockchain user must also prove that the on-chain address and public key belong to them. This can be achieved by providing a private key signature corresponding to the on-chain public key.

[0118] In step S1002, after the identity authentication node successfully authenticates the blockchain user, it will issue an identity certificate (such as a digital certificate) and upload the mapping relationship between the identity certificate and the on-chain address / on-chain public key to the chain.

[0119] In step S1003, the consensus node in the blockchain system stores the identity credentials of the blockchain user. The identity credentials may include the identity credential ID, on-chain address, authentication information, etc.

[0120] In step S1004, the blockchain user binds the identity credential ID to the business data account to update the public key without relying on the private key. The specific binding operation can be to generate a transaction message and then use the authenticated public key of the identity credential to sign the transaction, and the authenticated public key is consistent with the public key bound to the business data account.

[0121] Step S1005: After receiving the transaction information of the identity credential ID bound initiated by the blockchain user, the consensus node verifies the transaction information, and after the verification is passed, binds the identity credential ID to the business data account.

[0122] When the private key of the blockchain user is lost, the data assets on the blockchain cannot be obtained. At this time, the public and private keys on the chain can be changed. The specific process is as follows: Figure 11 As shown, the following steps are included:

[0123] In step S1101, the blockchain user applies to the identity authentication node for a change in the lost private key of the on-chain address, and submits the old on-chain address / on-chain public key and the new on-chain address / on-chain public key.

[0124] In step S1102, the identity authentication node searches the chain for the identity certificate bound to the public key on the chain. If the identity certificate does not exist, an error message is directly reported; if the identity certificate does exist, step S1103 is executed.

[0125] In step S1103, the identity authentication node verifies the real identity of the blockchain user, such as physical characteristics and the possession of credible evidence. If the verification fails, an error message is directly reported; if the verification succeeds, the process proceeds to the next step.

[0126] In step S1104, the identity authentication node modifies the mapping relationship between the identity certificate on the chain and the public key on the chain, replaces the old public key with the new public key, and encrypts the change application process information on the chain. This information is used to prove that the change application was initiated by the blockchain user to avoid disputes as much as possible.

[0127] In step S1105, the blockchain uses the public key of the business data account to apply for a change on the chain. For example, a special type of transaction can be constructed (this transaction is different from an ordinary transaction, for example, an indication field can be added), and the new private key is used to sign the transaction on the chain.

[0128] In step S1106, when the consensus node of the blockchain system executes the transaction, it will obtain the identity certificate ID bound to the business data account to be changed, obtain the current authenticated public key based on the identity certificate ID, and determine whether the authenticated public key is consistent with the public key of the sender of the transaction request for change. If they are inconsistent, an error is directly reported. If they are consistent, it means that they are the same initiator and the change is completed.

[0129] In summary, the technical solution of the embodiment of the present application makes it possible to replace the public key of the blockchain user without using the private key of the blockchain user, thereby avoiding the problem of being unable to retrieve on-chain data due to loss of the private key.

[0130] The following describes an embodiment of the device of the present application, which can be used to execute the key processing method based on the blockchain system in the above-mentioned embodiment of the present application. For details not disclosed in the embodiment of the device of the present application, please refer to the embodiment of the key processing method based on the blockchain system in the above-mentioned embodiment of the present application.

[0131] Figure 12 A block diagram of a key processing device based on a blockchain system according to an embodiment of the present application is shown. The blockchain system includes a consensus node and an identity authentication node. The key processing device based on the blockchain system can be set in the identity authentication node.

[0132] Reference Figure 12 As shown, a key processing device 1200 based on a blockchain system according to an embodiment of the present application includes: a first receiving unit 1202, a query unit 1204, a verification unit 1206 and a first processing unit 1208.

[0133] Among them, the first receiving unit 1202 is configured to receive a key change request sent by a blockchain user, and the key change request includes authenticated public key information and new public key information; the query unit 1204 is configured to query the identity credential associated with the authenticated public key information in the blockchain according to the authenticated public key information, and the identity credential is generated in advance for the blockchain user and stored in the blockchain; the verification unit 1206 is configured to verify the identity of the blockchain user according to the identity credential; the first processing unit 1208 is configured to update the authenticated public key information associated with the identity credential in the blockchain through the new public key information if the identity authentication of the blockchain user is passed.

[0134] In some embodiments of the present application, based on the aforementioned scheme, the first receiving unit 1202 is further configured to: receive identity authentication information sent by the blockchain user before receiving the key change request sent by the blockchain user; the key processing device 1200 also includes: an authentication unit, configured to authenticate the identity of the blockchain user according to the identity authentication information; a generation unit, configured to generate an identity certificate for the blockchain user if the identity authentication of the blockchain user is passed; a storage unit, configured to associate the identity certificate with the public key information of the blockchain user and store it in the blockchain.

[0135] In some embodiments of the present application, based on the aforementioned scheme, the authentication unit is configured to: verify the identity of the blockchain user according to the identity identification information contained in the identity authentication information, and verify whether the authenticated public key information matches the public key information and private key signature contained in the identity authentication information; if the identity authentication of the blockchain user is passed according to the identity identification information, and the authenticated public key information matches the public key information and private key signature contained in the identity authentication information, it is determined that the identity authentication of the blockchain user is passed.

[0136] In some embodiments of the present application, based on the aforementioned scheme, the first processing unit 1208 is further configured to: if the identity authentication of the blockchain user is passed, the information used by the blockchain user when changing the key is stored in the blockchain as a public key information change record of the blockchain user.

[0137] In some embodiments of the present application, based on the aforementioned scheme, the first processing unit 1208 is configured to: encrypt the data used by the blockchain user when changing the key to obtain an encrypted file; and store the encrypted file as a record of the public key information change of the blockchain user in the blockchain.

[0138] In some embodiments of the present application, based on the aforementioned scheme, the first processing unit 1208 is further configured to: if the identity certificate associated with the authenticated public key information is not found in the blockchain based on the authenticated public key information, determine that the key change has failed.

[0139] In some embodiments of the present application, based on the aforementioned scheme, the authenticated public key information includes at least one of the following information: an authenticated public key, an authenticated on-chain address; the new public key information includes at least one of the following information: a new public key, a new on-chain address.

[0140] In some embodiments of the present application, based on the aforementioned scheme, the verification unit 1206 is configured to: verify whether the identity of the blockchain user matches the identity identification information contained in the identity certificate according to the identity certificate; if the identity of the blockchain user matches the identity identification information contained in the identity certificate, it is determined that the identity authentication of the blockchain user is passed; if the identity of the blockchain user does not match the identity identification information contained in the identity certificate, it is determined that the identity authentication of the blockchain user has failed.

[0141] Figure 13 A block diagram of a key processing device based on a blockchain system according to an embodiment of the present application is shown. The blockchain system includes a consensus node and an identity authentication node. The key processing device based on the blockchain system can be set in a terminal of a blockchain user.

[0142] Reference Figure 13 As shown, according to an embodiment of the present application, a key processing device 1300 based on a blockchain system includes: a sending unit 1302, a second receiving unit 1304 and a second processing unit 1306.

[0143] Among them, the sending unit 1302 is configured to send a key change request to the identity authentication node, and the key change request includes authenticated public key information and new public key information; the second receiving unit 1304 is configured to receive a notification message of successful change sent by the identity authentication node in response to the key change request, and the notification message of successful change is sent by the identity authentication node after the identity authentication node has authenticated the user of the blockchain based on the identity certificate associated with the authenticated public key information queried in the blockchain, and after updating the authenticated public key information associated with the identity certificate in the blockchain through the new public key information; the second processing unit 1306 is configured to initiate a change application for the public key information associated with the business account to the consensus node based on the new public key information.

[0144] In some embodiments of the present application, based on the aforementioned scheme, the sending unit 1302 is further configured to: send identity authentication information to the identity authentication node before sending a key change request to the identity authentication node; the second receiving unit 1304 is further configured to: receive the identity credential sent by the identity authentication node after the identity authentication of the blockchain user is passed according to the identity authentication information; the key processing device 1300 also includes: a binding unit, configured to bind the identity credential with the business account.

[0145] In some embodiments of the present application, based on the aforementioned scheme, the binding unit is configured to: generate first transaction information for binding processing, the first transaction information includes the identity credential, the first transaction information is signed by the authenticated public key information of the blockchain user, and the authenticated public key information is associated with the business account and stored in the blockchain; the first transaction information is processed on the chain to bind the identity credential with the business account.

[0146] In some embodiments of the present application, based on the aforementioned scheme, the binding unit is configured to: send the first transaction information to the consensus node, the first transaction information is used to enable the consensus node to query the business account associated with the authenticated public key information, and after querying the business account, bind the identity credentials contained in the first transaction information to the queried business account.

[0147] In some embodiments of the present application, based on the aforementioned scheme, the second processing unit 1306 is configured to: generate second transaction information for changing the public key information associated with the business account, and the second transaction information is signed by the private key information corresponding to the new public key information; send the second transaction information to the consensus node, and the second transaction information is used to enable the consensus node to obtain the authenticated public key information of the blockchain user based on the identity certificate bound to the business account, and verify the signature of the second transaction information through the obtained authenticated public key information, so that after the verification is passed, the new public key information is used to update the public key information associated with the business account.

[0148] In some embodiments of the present application, based on the aforementioned solution, the second transaction information includes an indication field, and the indication field is used to indicate that the second transaction information is used to change the public key information associated with the business account.

[0149] In some embodiments of the present application, based on the aforementioned scheme, the identity authentication information includes the identity identification information of the blockchain user, the authenticated public key information of the blockchain user, and the private key signature of the blockchain user; wherein the private key signature is the signature information obtained by signing a character string using the private key of the blockchain user.

[0150] Figure 14 A schematic diagram of the structure of a computer system suitable for implementing an electronic device according to an embodiment of the present application is shown.

[0151] It should be noted that Figure 14 The computer system 1400 of the electronic device shown is only an example and should not limit the functions and scope of use of the embodiments of the present application.

[0152] like Figure 14 As shown, computer system 1400 includes a central processing unit (CPU) 1401, which can perform various appropriate actions and processes according to programs stored in read-only memory (ROM) 1402 or programs loaded from storage unit 1408 into random access memory (RAM) 1403, such as executing the methods described in the above embodiments. Various programs and data required for system operation are also stored in RAM 1403. CPU 1401, ROM 1402, and RAM 1403 are connected to each other via bus 1404. Input / output (I / O) interface 1405 is also connected to bus 1404.

[0153] The following components are connected to the I / O interface 1405: an input section 1406 including a keyboard, a mouse, and the like; an output section 1407 including devices such as a cathode ray tube (CRT), a liquid crystal display (LCD), and a speaker; a storage section 1408 including a hard disk; and a communication section 1409 including a network interface card such as a LAN (Local Area Network) card or a modem. The communication section 1409 performs communication processing via a network such as the Internet. A drive 1410 is also connected to the I / O interface 1405 as needed. Removable media 1411, such as a magnetic disk, an optical disk, a magneto-optical disk, or a semiconductor memory, is installed in the drive 1410 as needed, so that computer programs read from the removable media can be installed in the storage section 1408 as needed.

[0154] In particular, according to an embodiment of the present application, the process described above with reference to the flowchart can be implemented as a computer software program. For example, an embodiment of the present application includes a computer program product, which includes a computer program carried on a computer-readable medium, and the computer program includes a computer program for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from a network via the communication section 1409, and / or installed from a removable medium 1411. When the computer program is executed by the central processing unit (CPU) 1401, the various functions defined in the system of the present application are executed.

[0155] It should be noted that the computer-readable medium shown in the embodiments of the present application may be a computer-readable signal medium or a computer-readable storage medium or any combination of the two. The computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or component, or any combination of the above. More specific examples of computer-readable storage media may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM), a flash memory, an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In the present application, a computer-readable storage medium may be any tangible medium containing or storing a program that can be used by or in combination with an instruction execution system, device or device. In the present application, a computer-readable signal medium may include a data signal propagated in baseband or as part of a carrier wave, which carries a computer-readable computer program. Such propagated data signals may take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A computer-readable signal medium may also be any computer-readable medium other than a computer-readable storage medium that can transmit, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. A computer program embodied on a computer-readable medium may be transmitted using any suitable medium, including but not limited to wireless, wired, or any suitable combination thereof.

[0156] The flowcharts and block diagrams in the accompanying drawings illustrate the possible implementation architecture, functions and operations of the systems, methods and computer program products according to various embodiments of the present application. Among them, each box in the flowchart or block diagram can represent a module, program segment, or part of the code, and the above-mentioned module, program segment, or part of the code contains one or more executable instructions for implementing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in an order different from that marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram or flowchart, and the combination of boxes in the block diagram or flowchart, can be implemented with a dedicated hardware-based system that performs the specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.

[0157] The units involved in the embodiments described in this application may be implemented by software or hardware, and the units described may also be set in a processor. In some cases, the names of these units do not constitute limitations on the units themselves.

[0158] As another aspect, the present application further provides a computer-readable medium, which may be included in the electronic device described in the above embodiments, or may exist independently without being incorporated into the electronic device. The computer-readable medium carries one or more programs, and when the one or more programs are executed by the electronic device, the electronic device implements the method described in the above embodiments.

[0159] It should be noted that, although several modules or units of the device for action execution are mentioned in the above detailed description, this division is not mandatory. In fact, according to the embodiment of the application, the features and functions of two or more modules or units described above can be concretized in one module or unit. On the contrary, the features and functions of one module or unit described above can be further divided into multiple modules or units to be concretized.

[0160] Through the description of the above embodiments, it is easy for those skilled in the art to understand that the example embodiments described herein can be implemented by software or by combining software with necessary hardware. Therefore, the technical solution according to the embodiments of the present application can be embodied in the form of a software product, which can be stored in a non-volatile storage medium (which can be a CD-ROM, a USB flash drive, a mobile hard disk, etc.) or on a network, and includes several instructions to enable a computing device (which can be a personal computer, a server, a touch terminal, or a network device, etc.) to execute the method according to the embodiments of the present application.

[0161] Those skilled in the art will readily conceive of other embodiments of the present application after considering the specification and practicing the embodiments disclosed herein. This application is intended to cover any variations, uses, or adaptations of the present application that follow the general principles of this application and include common knowledge or customary techniques in the art that are not disclosed herein.

[0162] It should be understood that the present application is not limited to the exact structures described above and shown in the drawings, and that various modifications and changes may be made without departing from the scope thereof. The scope of the present application is limited only by the appended claims.

Claims

1. A key processing method based on a blockchain system, characterized in that: The blockchain system includes a consensus node and an identity authentication node. The key processing method is executed by the identity authentication node. The key processing method includes: Receive identity authentication information sent by blockchain users; Authenticating the identity of the blockchain user according to the identity authentication information; If the identity authentication of the blockchain user is successful, an identity certificate for the blockchain user is generated; Associating the identity credential with the public key information of the blockchain user and storing the result in the blockchain; Receiving a key change request sent by the blockchain user, wherein the key change request includes authenticated public key information and new public key information; Querying the blockchain for an identity credential associated with the authenticated public key information based on the authenticated public key information; Verifying the identity of the blockchain user based on the identity credential; If the identity authentication of the blockchain user is passed, the authenticated public key information associated with the identity credential in the blockchain is updated using the new public key information.

2. The key processing method based on the blockchain system according to claim 1 is characterized in that: Authenticating the identity of the blockchain user according to the identity authentication information includes: Verifying the identity of the blockchain user based on the identity identification information included in the identity authentication information, and verifying whether the authenticated public key information matches the public key information and private key signature included in the identity authentication information; If the identity authentication of the blockchain user is passed according to the identity identification information, and the authenticated public key information matches the public key information and private key signature contained in the identity authentication information, it is determined that the identity authentication of the blockchain user is passed.

3. The key processing method based on the blockchain system according to claim 1 is characterized in that: The key processing method further includes: If the identity authentication of the blockchain user is passed, the information used by the blockchain user when changing the key will be stored in the blockchain as a record of the public key information change of the blockchain user.

4. The key processing method based on the blockchain system according to claim 3 is characterized in that: The information used by the blockchain user when changing the key is stored in the blockchain as a record of the blockchain user's public key information change, including: Encrypting the data used by the blockchain user when changing the key to obtain an encrypted file; The encrypted file is stored in the blockchain as a record of changes to the public key information of the blockchain user.

5. The key processing method based on the blockchain system according to any one of claims 1 to 4, characterized in that: The key processing method further includes: If no identity certificate associated with the authenticated public key information is found in the blockchain according to the authenticated public key information, it is determined that the key change has failed.

6. The key processing method based on the blockchain system according to any one of claims 1 to 4, characterized in that: The authenticated public key information includes at least one of the following information: an authenticated public key and an authenticated on-chain address; the new public key information includes at least one of the following information: a new public key and a new on-chain address.

7. The key processing method based on the blockchain system according to any one of claims 1 to 4, characterized in that: Verifying the identity of the blockchain user according to the identity credential includes: Verifying, based on the identity credential, whether the identity of the blockchain user matches the identity identification information contained in the identity credential; If the identity of the blockchain user matches the identity identification information contained in the identity certificate, it is determined that the identity authentication of the blockchain user is successful; If the identity of the blockchain user does not match the identity identification information contained in the identity credential, it is determined that the identity authentication of the blockchain user has failed.

8. A key processing method based on a blockchain system, characterized in that: The blockchain system includes a consensus node and an identity authentication node. The key processing method is executed by the blockchain user, and the key processing method includes: Sending identity authentication information to the identity authentication node; Receiving an identity credential sent by the identity authentication node after the identity authentication of the blockchain user is passed according to the identity authentication information; Binding the identity credential to the business account; Sending a key change request to the identity authentication node, wherein the key change request includes authenticated public key information and new public key information; receiving a notification message of successful change sent by the identity authentication node in response to the key change request, wherein the notification message of successful change is sent by the identity authentication node after successfully authenticating the blockchain user based on the identity credential associated with the authenticated public key information found in the blockchain, and after updating the authenticated public key information associated with the identity credential in the blockchain with the new public key information; Initiate an application to the consensus node to change the public key information associated with the business account based on the new public key information.

9. The key processing method based on the blockchain system according to claim 8 is characterized in that: Binding the identity credential to the business account includes: Generating first transaction information for binding processing, wherein the first transaction information includes the identity credential, the first transaction information is signed by the authenticated public key information of the blockchain user, and the authenticated public key information is associated with the business account and stored in the blockchain; The first transaction information is uploaded to the chain to bind the identity credential with the business account.

10. The key processing method based on the blockchain system according to claim 9 is characterized in that: The first transaction information is uploaded to the blockchain, including: The first transaction information is sent to the consensus node, where the first transaction information is used to enable the consensus node to query the business account associated with the authenticated public key information, and after querying the business account, the identity credentials contained in the first transaction information are bound to the queried business account.

11. The key processing method based on the blockchain system according to claim 8, characterized in that: Initiating a change application for the public key information associated with the business account to the consensus node based on the new public key information, including: Generating second transaction information that changes the public key information associated with the business account, where the second transaction information is signed using the private key information corresponding to the new public key information; The second transaction information is sent to the consensus node. The second transaction information is used to enable the consensus node to obtain the authenticated public key information of the blockchain user based on the identity credentials bound to the business account, and verify the signature of the second transaction information through the obtained authenticated public key information, so that after the verification is passed, the new public key information is used to update the public key information associated with the business account.

12. The key processing method based on the blockchain system according to claim 11 is characterized in that: The second transaction information includes an indication field, and the indication field is used to indicate that the second transaction information is used to change the public key information associated with the business account.

13. The key processing method based on the blockchain system according to claim 8, characterized in that: The identity authentication information includes the identity identification information of the blockchain user, the authenticated public key information of the blockchain user, and the private key signature of the blockchain user; The private key signature is the signature information obtained by signing a string using the private key of the blockchain user.

14. A key processing device based on a blockchain system, characterized in that: The blockchain system includes a consensus node and an identity authentication node. The key processing device is arranged in the identity authentication node. The key processing device includes: A first receiving unit is configured to receive identity authentication information sent by a blockchain user; an authentication unit, configured to authenticate the identity of the blockchain user according to the identity authentication information; a generating unit configured to generate an identity credential for the blockchain user if the identity authentication of the blockchain user is successful; a storage unit configured to associate the identity credential with the public key information of the blockchain user and store the associated information in the blockchain; The first receiving unit is further configured to receive a key change request sent by the blockchain user, wherein the key change request includes authenticated public key information and new public key information; a query unit configured to query the blockchain for an identity credential associated with the authenticated public key information based on the authenticated public key information; a verification unit, configured to verify the identity of the blockchain user based on the identity credential; The first processing unit is configured to update the authenticated public key information associated with the identity credential in the blockchain using the new public key information if the identity authentication of the blockchain user is passed.

15. A key processing device based on a blockchain system, characterized in that: The blockchain system includes a consensus node and an identity authentication node. The key processing device is set in the blockchain user, and the key processing device includes: a sending unit, configured to send identity authentication information to the identity authentication node; A second receiving unit is configured to receive an identity credential sent by the identity authentication node after the identity authentication of the blockchain user is passed according to the identity authentication information; A binding unit configured to bind the identity credential to the business account; The sending unit is further configured to send a key change request to the identity authentication node, wherein the key change request includes authenticated public key information and new public key information; The second receiving unit is further configured to receive a notification message of successful change sent by the identity authentication node in response to the key change request, wherein the notification message of successful change is sent by the identity authentication node after the identity authentication node successfully authenticates the blockchain user based on the identity credential associated with the authenticated public key information queried in the blockchain, and after updating the authenticated public key information associated with the identity credential in the blockchain with the new public key information; The second processing unit is configured to initiate an application for changing the public key information associated with the business account to the consensus node based on the new public key information.

16. A computer-readable medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the key processing method based on the blockchain system according to any one of claims 1 to 13 is implemented.

17. An electronic device, characterized in that: include: one or more processors; A storage device for storing one or more programs, which, when executed by the one or more processors, enables the electronic device to implement the key processing method based on the blockchain system as described in any one of claims 1 to 13.

18. A computer program product, characterized in that The computer program product includes computer instructions, which are stored in a computer-readable storage medium. A processor of a computer device reads and executes the computer instructions from the computer-readable storage medium, so that the computer device performs the key processing method based on a blockchain system as described in any one of claims 1 to 13.

Citation Information

Patent Citations

  • Key management method and device in block chain, electronic equipment and storage medium

    CN112907245A