WO2019127278A1 - Safe access blockchain method, apparatus, system, storage medium, and electronic device - Google Patents
Safe access blockchain method, apparatus, system, storage medium, and electronic device Download PDFInfo
- Publication number
- WO2019127278A1 WO2019127278A1 PCT/CN2017/119575 CN2017119575W WO2019127278A1 WO 2019127278 A1 WO2019127278 A1 WO 2019127278A1 CN 2017119575 W CN2017119575 W CN 2017119575W WO 2019127278 A1 WO2019127278 A1 WO 2019127278A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- node
- endorsement
- target node
- target
- trusted
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
Definitions
- the present disclosure relates to the field of computers, and in particular, to a method, an apparatus, a storage medium, and an electronic device for securely accessing a blockchain.
- Blockchain is a technical solution for collectively maintaining a reliable database through decentralization.
- nodes are connected to each other through a P2P (Peer-to-Peer) network.
- P2P Peer-to-Peer
- a node for example, a new node, including various terminals, a blockchain light node, a blockchain full node, etc.
- the legitimacy of the target node the target node will not verify the legitimacy of the node.
- this type of access may lead to the disclosure of critical information.
- multiple organizations, such as banks and enterprises participate in a blockchain at the same time to complete the business. Different organizations participating in the same blockchain may acquire key information that they do not want the other party to obtain. Therefore, it is imperative that inter-node access in the blockchain network complete mutual authentication.
- the traditional identity authentication method is generally implemented by mutual transfer of digital certificates issued by third parties. This traditional identity authentication method is over-centralized, and the problem of high complexity of digital certificate is not applicable to decentralized. Blockchain network.
- the present disclosure provides a method, apparatus, system, storage medium, and electronic device for securely accessing a blockchain for implementing secure access in a blockchain network.
- a method for securely accessing a blockchain is provided, which is applied to prepare a new node for accessing a target node in a blockchain network, the method comprising: determining whether a need is needed The trusted node preset in the blockchain network endorses the target node; if the trusted node is required to endorse the target node, acquiring the trusted node to use the private key to the target An endorsement data obtained by signing a node public key; and providing a public key of the new node to the target node, wherein a public key of the new node is used to make the target node in the blockchain network Querying, in the preset permission permission, the permission permission of the account address corresponding to the public key of the new node, determining whether the identity authentication of the new node is successful according to the queried permission, and performing signature verification on the endorsement data; If the signature verification is passed, it is determined that the identity authentication of the target node is successful.
- an apparatus for securely accessing a blockchain configured to prepare to access or access a new node of a target node in a blockchain network.
- the apparatus includes a determination module configured to determine whether a trusted node preset in the blockchain network is required to endorse the target node.
- the endorsement obtaining module is configured to acquire, when the trusted node is required to endorse the target node, the endorsement data obtained by the trusted node using the private key to sign the target node public key.
- a public key providing module configured to provide a public key of the new node to the target node, wherein a public key of the new node is used to enable a license of the target node to be preset in the blockchain network Querying the permission permission of the account address corresponding to the public key of the new node, and determining whether the identity authentication of the new node is successful according to the queried permission.
- the target identity authentication module is configured to perform signature verification on the endorsement data, and if the signature verification is passed, determine that the identity authentication of the target node is successful.
- a method of securely accessing a blockchain applied to a target node in a blockchain network.
- the method includes: acquiring a public key of the new node in response to receiving an access or access request issued by a new node; querying a public key corresponding to the new node in a permission permission preset by the blockchain network The license right owned by the account address; determining whether the identity authentication of the new node is successful according to the queried permission.
- an apparatus for securely accessing a blockchain configured in a target node in a blockchain network.
- the apparatus includes a new node public key acquisition module configured to acquire a public key of the new node in response to receiving an access or access request issued by the new node.
- the new node permission query module is configured to query, in the license rights preset by the blockchain network, the permission rights owned by the account address corresponding to the public key of the new node.
- the new node identity authentication module is configured to determine whether the identity authentication of the new node is successful according to the queried permission.
- a method of securely accessing a blockchain the method being applied to a trusted node preset in a blockchain network.
- the method includes: in response to preparing a new node accessing a target node in a blockchain network, requiring a trusted node to endorse the target node, obtaining a public key of the target node; using the trusted node's own private key to the target The node's public key is signed to obtain endorsement data; the endorsement data is provided to the new node, so that the new node determines whether the identity authentication of the target node is successful by performing signature verification on the endorsement data.
- an apparatus for securely accessing a blockchain the apparatus being configured with a trusted node preset in a blockchain network.
- the apparatus includes a target public key acquisition module configured to acquire a public key of the target node in response to a new node that is ready to access a target node in the blockchain network, requiring the trusted node to endorse the target node.
- the signature module is configured to use the trusted node's own private key to sign the public key of the target node to obtain endorsement data.
- An endorsement providing module configured to provide the endorsement data to the new node to cause the new node to perform signature verification on the endorsement data, and if the new node signature verification passes, the new node determines a location The identity authentication of the target node is successful.
- a computer readable storage medium comprising one or more programs for performing the first embodiment of the present disclosure The method described on the one hand.
- an electronic device comprising: the computer readable storage medium of the seventh aspect of the embodiments of the present disclosure; and one or more processors for executing the computer Read the program in the storage medium.
- a computer readable storage medium comprising one or more programs for performing the first embodiment of the present disclosure The method described in three aspects.
- an electronic device comprising: the computer readable storage medium of the ninth aspect of the embodiments of the present disclosure; and one or more processors for executing the computer Read the program in the storage medium.
- a computer readable storage medium comprising one or more programs for performing the embodiments of the present disclosure The method of the fifth aspect.
- an electronic device comprising: the computer readable storage medium of the eleventh aspect of the embodiments of the present disclosure; and one or more processors for executing A program in a computer readable storage medium.
- a system for securely accessing a blockchain includes: a new node implemented by the electronic device according to the eighth aspect of the present disclosure; a target node implemented by the electronic device according to the tenth aspect of the embodiment of the present disclosure; The trusted node implemented by the electronic device of the second aspect; wherein the new node, the target node, and the trusted node belong to the same blockchain network.
- a new node preparing to access the blockchain network acquires endorsement data obtained by the trusted node preset in the blockchain network using the private key to sign the target node public key, and performs signature verification on the endorsement data. If the signature verification is passed, it is determined that the identity authentication of the target node is successful, and the target node queries the permission permission of the account address corresponding to the public key of the new node in the permission permission preset by the blockchain network, according to the permission of the query.
- the authority determines whether the identity authentication of the new node is successful, and the trusted node responds to the new node that is ready to access the target node in the blockchain network, and the trusted node needs to endorse the target node, obtain the public key of the target node, and use the
- the private key of the target node is signed by the private key of the target node to obtain endorsement data; the endorsement data is provided to the new node, and therefore, the mutual authentication of the new node and the target node of the disclosure directly utilizes the blockchain network.
- the public and private keys of the node account do not require a centralized third party to participate in the digital certificate, avoiding the digital certificate award Brought about by high complexity, inter-block chain to achieve a secure access network node.
- FIG. 1 is a schematic structural diagram of a blockchain network according to an exemplary embodiment of the present disclosure.
- FIG. 2 is a flow chart of a method of securely accessing a blockchain, according to an exemplary embodiment of the first aspect of the present disclosure.
- FIG. 3 is a schematic diagram of signaling interaction of a method for securely accessing a blockchain according to another exemplary embodiment of the first aspect of the present disclosure.
- FIG. 4 is a block diagram of an apparatus for securely accessing a blockchain, according to an exemplary embodiment of the second aspect of the present disclosure.
- FIG. 5 is a block diagram of an apparatus for securely accessing a blockchain, according to another exemplary embodiment of the second aspect of the present disclosure.
- FIG. 6 is a block diagram of an apparatus for securely accessing a blockchain, according to still another exemplary embodiment of the second aspect of the present disclosure.
- FIG. 7 is a flowchart of a method for securely accessing a blockchain according to an exemplary embodiment of the third aspect of the present disclosure.
- FIG. 8 is a block diagram of an apparatus for securely accessing a blockchain, according to an exemplary embodiment of the fourth aspect of the present disclosure.
- FIG. 9 is a block diagram of an apparatus for securely accessing a blockchain, according to another exemplary embodiment of the fourth aspect of the present disclosure.
- FIG. 10 is a block diagram of an apparatus for securely accessing a blockchain, according to still another exemplary embodiment of the fourth aspect of the present disclosure.
- FIG. 11 is a flowchart of a method for securely accessing a blockchain according to an exemplary embodiment of the fifth aspect of the present disclosure.
- FIG. 12 is a block diagram of an apparatus for securely accessing a blockchain, according to an exemplary embodiment of the sixth aspect of the present disclosure.
- FIG. 13 is a block diagram of an apparatus for securely accessing a blockchain, according to another exemplary embodiment of the sixth aspect of the present disclosure.
- FIG. 14 is a block diagram of an electronic device, according to an exemplary embodiment.
- the blockchain network shown in Figure 1 is a P2P-based peer-to-peer network composed of several nodes. Each node in the blockchain network maintains a string of blockchains generated using cryptographic methods. The latest blocks are obtained by broadcasting between the nodes, so that the blocks between the nodes are maintained synchronously. Each node has an account that describes its identity. This account consists of public and private key pairs. The hash coded value of the public key is the address of the "account”. The private key is kept by the account owner and cannot be made public.
- FIG. 1 is a schematic diagram of a blockchain network structure according to an exemplary embodiment.
- the blockchain network may include a new node 110, a target node 120, a trusted node 130, a management node 140, and a participating node 150. among them:
- the new node 110 may include, but is not limited to, various terminals, a blockchain light node, a blockchain full node, etc., and needs to generate its own blockchain account, but may not synchronize any block data of the target blockchain network. .
- the target node 120 may include, but is not limited to, various terminals, and may be any node in the blockchain network, and block the block data of the blockchain network.
- the trusted node 130 may include, but is not limited to, various terminals, and is a default trusted node that the management node 140 presets into the blockchain network, and may have multiple.
- the management node 140 may include, but is not limited to, various terminals, management nodes in the blockchain network, and may configure the permission rights of other blockchain node accounts.
- the participating nodes 150 may include, but are not limited to, various terminals, and any number of nodes other than the default trusted nodes in the blockchain network are not limited.
- each node can generate its own blockchain node account by running a blockchain program on the corresponding node server.
- the management node 140 can configure the permission rights of each node through the node control platform, for example, access permission rights, and the rights configuration is sent to the blockchain network by means of transaction, and is written into the blockchain after being verified by the blockchain network node. And finally through the P2P network to all nodes in the blockchain network.
- FIG. 2 is a flow chart of a method of securely accessing a blockchain, according to an exemplary embodiment of the first aspect of the present disclosure.
- the method is applied to a new node that is ready to access a target node in a blockchain network.
- the method may include:
- step 210 the new node determines whether a trusted node preset in the blockchain network is required to endorse the target node.
- Endorsement in the present disclosure, refers to a process in which a node uses a blockchain account private key of a node itself to sign endorean data (such as public key, communication encrypted data) of a blockchain node that needs to be endorsed.
- target node that is not trusted in the present disclosure needs to be endorsed.
- a target node that is preset as a trusted node or endorsed (endorsed is not expired) can be regarded as a trusted node for the new node, and does not need to endorse, but is not preset as a target node of the trusted node or expires without endorsement or endorsement.
- the target node is an untrusted node and needs to be endorsed.
- the trusted node of the new node requesting endorsement can be preset by the new node after the new node generates its own node account.
- the node information of the preset trusted node may include an IP or a domain name and an account public key of the trusted node.
- the manner in which the new node presets the default trusted node may include: the client accessing the blockchain by the new node presets the default trusted node information internally, or the client accessing the blockchain by the new node prompts the user to input the default. Information about the node. If the new node does not have other node information in the chain, it can also obtain other node information from the trusted node, and refresh the local trusted node information list, such as adding/removing trusted nodes and refreshing the trusted node validity period.
- the new node can issue a connection request to the target node.
- the new node may also receive a random challenge code from the target node, sign the random challenge code using the new node's own private key, and send the signed random challenge code. Give the target node.
- step 220 if the trusted node is required to endorse the target node, the endorsement data obtained by the trusted node using the private key to sign the target node public key is obtained.
- the new node sends the IP or domain name of the trusted node and the endorsement determination indication to the target node.
- the list of trusted nodes and the validity period can be locally updated and maintained at the new node.
- the endorsement determination indication may be used to cause the target node to pre-store from the local query according to the IP or domain name of the trusted node, and the trusted node performs the target node public key by using its own private key.
- the endorsement data obtained by the signature transmits the endorsement data to the new node if the endorsement data has not expired.
- the corresponding endorsement request may be sent to the trusted node, the endorsement data is obtained from the trusted node, and the endorsement data is sent to the new node. Since the embodiment obtains the endorsement data locally from the target node, it is not necessary to obtain the endorsement data from the trusted node every time, thereby effectively reducing the burden on the trusted node.
- the endorsement determination indication may be used to cause the target node to issue a corresponding endorsement request to the trusted node, obtain endorsement data from the trusted node, and send the endorsement data to the new node.
- the new node receives the endorsement data sent by the target node for the endorsement determination indication.
- the random challenge code can also be used to prevent replay attacks.
- the trusted node may query the account address corresponding to the public key of the target node in the permission permission preset by the blockchain network. Permission authority, determining whether to endorse the target node according to the queried permission, and in the case of determining endorsement of the target node, using the private key to sign the public key of the target node and the communication encrypted data Get endorsed data.
- the new node may send the endorsement determination indication to the target node along with the signed random challenge code.
- the communication encrypted data generated by the new node can also be sent to the target node together with the endorsement determination indication.
- the communication encrypted data is used by the new node and the target node to perform encrypted communication with each other using the communication encrypted data after the identity authentication is passed.
- the communication encrypted data may include: a communication encrypted symmetric key, or a communication encrypted random number.
- the new node encrypts the communication encrypted data.
- the target node may send the random challenge code and its own public key to the new node after receiving the connection request of the new node.
- the new node can encrypt the communication encrypted data by using the target node public key, and send the encrypted communication encrypted data, the endorsement determination indication, and the signed random challenge code to the target node.
- the communication encrypted data for encrypted communication is generated by the new node client and transmitted to the other party in the two-way authentication process, thereby reducing the number of interactions and improving the authentication efficiency.
- the new node may send an endorsement request to the trusted node. Receiving endorsement data that the trusted node requests feedback for the endorsement.
- the new node directly obtains the endorsement data from the trusted node, and the endorsement data does not pass through the target node, and the security is higher.
- step 230 the public key of the new node is provided to the target node.
- the public key of the new node is used to enable the target node to query the permission rights of the account address corresponding to the public key of the new node in the permission permission preset by the blockchain network, according to the query.
- the permission determines whether the identity authentication for the new node is successful. For example, here, corresponding to the access or access request of the new node, the target node checks the access permission of the new node account on the current blockchain, that is, checks whether the account of the new node has its corresponding in the current blockchain network. Access permission, if any, determines that the identity authentication for the new node was successful.
- step 240 signature verification is performed on the endorsement data.
- step 250 if the signature verification is passed, it is determined that the identity authentication for the target node is successful.
- a new node that is ready to access the blockchain network acquires endorsement data obtained by the trusted node preset in the blockchain network using the private key to sign the target node public key, and performs endorsement data on the endorsement data.
- Signature verification if the signature verification is passed, it determines that the identity authentication of the target node is successful.
- the identity authentication directly utilizes the public and private keys of the blockchain network node account, and does not require a centralized third party to participate in the digital certificate, thereby avoiding the digital certificate issuing office.
- the high complexity brings about secure access between nodes in the blockchain network.
- FIG. 3 is a schematic diagram of signaling interaction of a method for securely accessing a blockchain according to another exemplary embodiment of the first aspect of the present disclosure.
- the new node may first generate a node account and preset the trusted node public key.
- the new node such as the local no-chain intra-node information, can obtain the intra-chain node information from the trusted node and refresh the trusted node information list.
- the trusted node presets the trusted node information in the blockchain network and adds the new node account to the blockchain. Understandably, these preset operations need only be completed in advance, and do not need to be performed before each authentication.
- step 310 the new node issues a connection request to the target node.
- step 311 the new node receives the random challenge code and the target node public key from the target node.
- step 312 the new node signs the random challenge code using its own private key.
- step 313 the new node generates a communication encryption symmetric key and encrypts the communication encryption symmetric key using the target node public key.
- a communication encrypted random number may be used instead of the encrypted symmetric key.
- step 314 the new node determines whether the target node is trusted, that is, determines whether the trusted node preset in the blockchain network needs to endorse the target node.
- step 315 if the new node determines that the target node is trusted, the signed random challenge code, the encrypted communication encryption symmetric key, and the endorsement negative indication are carried together in the access or access request and sent to the target node. .
- step 316 when the new node determines that the target node is not trusted, that is, if the trusted node is required to endorse the target node, the IP address of the trusted node or the domain name and the signed random challenge code are encrypted.
- the communication encrypts the symmetric key, and the endorsement determination indication is carried along with the access or access request to the target node.
- step 320 the target node performs signature verification on the random challenge code carried in response to receiving the access or access request, and obtains the public key of the new node according to the signature.
- step 321 the target node queries the permission rights of the account address corresponding to the public key of the new node in the permission permission preset by the blockchain network.
- step 322 the target node determines whether the identity authentication of the new node is successful according to the queried permission.
- the account authority corresponding to the account address of the new node of the new node may include multiple types, where the target node checks the access of the new node account on the current blockchain, corresponding to the access or access request of the new node. Permission, that is, checking whether the account of the new node has its corresponding access permission in the current blockchain network.
- step 323 the target node determines whether the endorsement determination indication or the endorsement negative indication is received in the case that it is determined that the identity authentication of the new node is successful.
- step 324 if the target node determines that the endorsement determination indication is received, the target node carries the communication encryption symmetric key in the endorsement request according to the IP or domain name of the trusted node carried in the access or access request. Send to the corresponding trusted node.
- the target node may locally maintain the endorsement of the trusted node, including end-of-life management of the endorsement. Within the validity period of the endorsement, the target node may not need to endorse the trusted node again, which reduces the burden on the trusted node. Specifically, the target node may locally query, according to the IP address or the domain name of the trusted node, the previously stored endorsement data obtained by the trusted node using the private key to sign the target node public key, in the endorsement data. If not expired, the endorsement data is sent to the new node. It can be understood that if there is no endorsement of the trusted node that has not expired locally, the endorsement data can be obtained by sending an endorsement request to the trusted node.
- the target node determines that the endorsement negative indication is received, it means that the new node determines that the target node is trusted, and the target node can decrypt the communication encryption symmetric key by using its own private key, and use its own private key.
- the decrypted communication encryption symmetric key is signed, and the signed communication encryption symmetric key is sent to the new node, and the new node performs signature verification on the received communication encryption symmetric key. After the verification is passed, the new node is The target nodes can communicate with each other.
- step 325 the target node receives a random challenge code from the trusted node.
- step 326 the target node signs the random challenge code using its own private key.
- step 327 the target node sends the signed random challenge code to the trusted node.
- step 330 the trusted node performs signature verification on the received random challenge code, and obtains the public key of the target node after the verification is passed.
- step 331 the trusted node queries the permission rights of the target node's public key corresponding account address in the license rights preset by the blockchain network.
- step 332 the trusted node determines whether to endorse the target node according to the queried permission.
- the public key of the target node may have multiple license rights corresponding to the account address, where the trusted node may check the access permission of the target node account on the current blockchain corresponding to the endorsement request of the target node. That is, it checks whether the account of the target node has its corresponding access permission right in the current blockchain network. If the inspection is passed, the target node can be endorsed. If it is not passed, it will not be endorsed.
- the trusted node when determining to endorse the target node, uses the private key to sign the public key of the target node and the communication encryption symmetric key to obtain endorsement data.
- step 334 the trusted node sends the endorsement data to the target node.
- step 340 the target node decrypts the communication encryption symmetric key using its own private key and signs the communication encryption symmetric key using its own private key.
- step 341 the target node transmits the signed communication encryption symmetric key and the endorsement data to the new node. That is, the trusted node provides the endorsement data to the new node through the target node.
- step 342 the new node determines whether the identity authentication of the target node is successful by performing signature verification on the received endorsement data.
- step 343 the new node performs signature verification on the signed communication encrypted symmetric key to obtain the public key of the target node. If the signature verification passes, the new node determines that the identity authentication of the target node is successful, and the new node will target the node. The public key is added to the list of trusted nodes of the new node and configured for its validity period. Thereafter, the new node can communicate with the target node with each other.
- the new node and the target node need to calculate the encryption key according to the communication encrypted random number before the communication, and use the encryption key to perform the encrypted communication.
- the communication encrypted random number may be a true random number segment generated by the new node and having the same length as the plaintext byte number.
- the encryption key can be generated by adding or XORing the plaintext one-to-one. Decryption is the inverse of encryption.
- the two-way authentication of the new node and the target node directly utilizes the public and private keys of the node of the blockchain network node, and does not require a centralized third party to participate in the digital certificate, thereby avoiding the digital certificate issuance.
- High complexity enables secure access between nodes in the blockchain network.
- the target node adopts a challenge response manner to prevent replay attacks, and the encryption key of the subsequent encrypted communication is generated by the new node client, and is transmitted to the other party in the two-way authentication process, which reduces the number of interactions, and the identity authentication efficiency is higher.
- FIG. 4 is a block diagram of an apparatus 400 for securely accessing a blockchain, according to an exemplary embodiment of the second aspect of the present disclosure.
- the device is configured to a new node that is ready to access a target node in the blockchain network.
- the apparatus may include: a determining module 410, an endorsement obtaining module 420, a public key providing module 430, and a target identity authentication module 440.
- the determining module 410 may be configured to determine whether a trusted node preset in the blockchain network is required to endorse the target node.
- the endorsement obtaining module 420 may be configured to acquire, when the trusted node is required to endorse the target node, the endorsement data obtained by the trusted node using the private key to sign the target node public key. .
- the public key providing module 430 may be configured to provide the public key of the new node to the target node, wherein a public key of the new node is used to pre-stage the target node in the blockchain network
- the permission permission of the account address corresponding to the public key of the new node is queried, and the identity authentication of the new node is determined according to the privileged permission.
- the target identity authentication module 440 can be configured to perform signature verification on the endorsement data, and if the signature verification is passed, determine that the identity authentication of the target node is successful.
- a new node that is ready to access the blockchain network acquires endorsement data obtained by the trusted node preset in the blockchain network using the private key to sign the target node public key, and performs endorsement data on the endorsement data.
- Signature verification if the signature verification is passed, it is determined that the identity authentication of the target node is successful, and the identity authentication directly utilizes the public and private keys of the blockchain network node account, and does not require a centralized third party to participate in the digital certificate, thereby avoiding the digital certificate issuance.
- the high complexity has resulted in secure access between nodes in the blockchain network.
- FIG. 5 is a block diagram of an apparatus 500 for securely accessing a blockchain, according to another exemplary embodiment of the second aspect of the present disclosure.
- the endorsement obtaining module 420 may include: a first request sending submodule 421, and may be configured to: if the trusted node is required to endorse the target node, The IP or domain name and endorsement determination indication of the trusted node is sent to the target node.
- the first endorsement receiving sub-module 422 may be configured to receive endorsement data sent by the target node for the endorsement determination indication.
- the endorsement determination indication may be used to enable the target node to locally query, according to the IP address or the domain name of the trusted node, the pre-stored, trusted node to use its own private key pair.
- the endorsement data obtained by signing the target node public key is sent to the new node if the endorsement data has not expired.
- the corresponding endorsement request may be sent to the trusted node, the endorsement data is obtained from the trusted node, and the endorsement data is sent to the Describe the new node. Since the embodiment obtains the endorsement data locally from the target node, it is not necessary to obtain the endorsement data from the trusted node every time, thereby effectively reducing the burden on the trusted node.
- the endorsement determination indication may be used to enable the target node to issue a corresponding endorsement request directly to the trusted node, obtain endorsement data from the trusted node, and use the endorsement data Sent to the new node.
- FIG. 6 is a block diagram of an apparatus 600 for securely accessing a blockchain, according to yet another exemplary embodiment of the second aspect of the present disclosure.
- the endorsement obtaining module 420 may include: a second request sending submodule 423, which may be configured to request an endorsement if the trusted node is required to endorse the target node Sent to the trusted node.
- the second endorsement receiving sub-module 424 can be configured to receive endorsement data that the trusted node requests feedback for the endorsement.
- the new node directly obtains the endorsement data from the trusted node, and the endorsement data does not pass through the target node, and the security is higher.
- the apparatus may further include: a communication encrypted data generating module 450, which may be configured to generate communication encrypted data.
- the communication encrypted data is used by the new node and the target node to perform encrypted communication with each other using the communication encrypted data after the identity authentication is passed.
- the communication encrypted data encryption module 451 can be configured to encrypt the communication encrypted data.
- the communication encrypted data transmitting module 452 may be configured to, when transmitting the endorsement determination indication to the target node, transmit the encrypted communication encrypted data together with the endorsement determination indication to the target node.
- the communication encrypted data may include: a communication encryption symmetric key, or a communication encryption random number.
- the apparatus may further include: a challenge code receiving module 460, configured to receive a random challenge code from the target node.
- the challenge code signature module 461 can be configured to sign the random challenge code using the new node's own private key.
- the challenge code sending module 462 can be configured to send the signed random challenge code to the target node.
- FIG. 7 is a flowchart of a method for securely accessing a blockchain according to an exemplary embodiment of the third aspect of the present disclosure. The method is applied to a target node in a blockchain network. As shown in FIG. 7, the method may include:
- the target node acquires the public key of the new node in response to receiving an access or access request issued by the new node.
- the target node may further receive an IP address or a domain name and an endorsement determination indication of the trusted node sent by the new node, and according to the receiving the endorsement determination indication, locally query the corresponding IP or domain name.
- Pre-stored endorsement data wherein the endorsement data is obtained by the trusted node using the private key to sign the target node public key, and if the endorsement data has not expired, the endorsement is performed Data is sent to the new node.
- the IP or domain name and endorsement determination indication of the trusted node sent by the new node may be carried in an access or access request sent by the new node, and the target node obtains the trusted from the access or access request.
- the IP or domain name of the node and the endorsement determine the indication.
- the target node may further receive an IP or a domain name and an endorsement determination indication of the trusted node sent by the new node, and according to the receiving the endorsement determination indication, may correspond to the IP or the domain name.
- the letter node sends an endorsement request, wherein the endorsement request is used to enable the trusted node to acquire the public key of the target node, and use the trusted node's own private key to sign the public key of the target node to obtain an endorsement Data, the target node obtains the endorsement data from the trusted node, and the target node sends the endorsement data to the new node.
- step 720 the license authority owned by the account address corresponding to the public key of the new node is queried in the license authority preset by the blockchain network.
- step 730 it is determined whether the identity authentication of the new node is successful according to the queried permission.
- the target node determines the license right of the account address corresponding to the public key of the new node in the permission permission preset by the blockchain network, and determines the identity authentication of the new node according to the checked permission. Whether it is successful, therefore, the identity authentication directly utilizes the public and private keys of the blockchain network node account, and does not require a centralized third party to participate in the digital certificate, thereby avoiding the high complexity brought by the digital certificate issuance and realizing the blockchain network. Secure access between nodes.
- FIG. 8 is a block diagram of an apparatus 800 for securely accessing a blockchain, according to an exemplary embodiment of the fourth aspect of the present disclosure.
- the device is configured at a target node in a blockchain network.
- the apparatus may include: a new node public key obtaining module 810, a new node authority querying module 820, and a new node identity authentication module 830.
- the new node public key obtaining module 810 can be configured to acquire the public key of the new node in response to receiving an access or access request issued by the new node.
- the new node permission query module 820 can be configured to query the license rights owned by the account address corresponding to the public key of the new node in the license rights preset by the blockchain network.
- the new node identity authentication module 830 can be configured to determine whether the identity authentication of the new node is successful according to the queried permission.
- FIG. 9 is a block diagram of an apparatus 900 for securely accessing a blockchain, according to another exemplary embodiment of the fourth aspect of the present disclosure.
- the apparatus may further include: an endorsement indication obtaining module 840, configured to receive an IP or domain name and an endorsement determination indication of the trusted node sent by the new node.
- the endorsement data query module 841 may be configured to, according to the receipt of the endorsement determination indication, locally query the pre-stored endorsement data corresponding to the IP or the domain name, wherein the endorsement data is used by the trusted node.
- the private key of the target node is signed by the private key.
- the endorsement sending first module 842 can be configured to send the endorsement data to the new node if the endorsement data has not expired.
- FIG. 10 is a block diagram of an apparatus 1000 for securely accessing a blockchain, according to yet another exemplary embodiment of the fourth aspect of the present disclosure.
- the apparatus may further include: an endorsement indication obtaining module 1010, configured to receive an IP or domain name and an endorsement determination indication of the trusted node sent by the new node.
- the endorsement request sending module 1011 may be configured to issue an endorsement request to the trusted node corresponding to the IP or the domain name according to the received endorsement determination indication, where the endorsement request is used to obtain the trusted node Describe the public key of the target node, and use the trusted node's own private key to sign the public key of the target node to obtain endorsement data.
- the endorsement data receiving module 1012 can be configured to obtain the endorsement data from the trusted node.
- the endorsement sending second module 1013 can be configured to send the endorsement data to the new node.
- the target node queries the permission permission of the account address corresponding to the public key of the new node in the permission permission preset by the blockchain network, and determines the identity of the new node according to the obtained permission permission. Whether the authentication is successful, therefore, the identity authentication directly utilizes the public and private keys of the blockchain network node account, and does not require a centralized third party to participate in the digital certificate, thereby avoiding the high complexity brought by the digital certificate issuance and realizing the blockchain. Secure access between network nodes.
- FIG. 11 is a flowchart of a method for securely accessing a blockchain according to an exemplary embodiment of the fifth aspect of the present disclosure.
- the method is applied to a trusted node preset in a blockchain network.
- the method may include:
- the trusted node responds to the new node that is ready to access the target node in the blockchain network, and the trusted node needs to endorse the target node to obtain the public key of the target node.
- the trusted node may acquire the public key of the target node in response to receiving the endorsement request sent by the target node, where the endorsement request is received by the target node according to the The IP or domain name of the trusted node sent by the new node and the endorsement determination indication are correspondingly issued.
- the trusted node may acquire the public key of the target node in response to receiving an endorsement request for the target node from the new node.
- step 1120 the public key of the target node is signed using the trusted node's own private key to obtain endorsement data.
- the trusted node may further query, in the permission permission preset by the blockchain network, the permission permission of the account address corresponding to the public key of the target node, according to the query.
- the permission authority determines whether to endorse the target node, and if it is determined to endorse the target node, re-enter the signature of the public key of the target node by using the private key of the trusted node itself The step of endorsing data.
- step 1130 the endorsement data is provided to the new node, so that the new node performs signature verification on the endorsement data, and if the new node signature verification passes, the new node determines the target The identity authentication of the node is successful.
- the endorsement data may be sent to the target node, and the endorsement data is sent to the new node via the target node.
- the endorsement data can be sent directly to the new node.
- the trusted node since the trusted node uses the private key to sign the public key of the target node to obtain endorsement data, the endorsement data is provided to the new node, and therefore, the new node and the target node of the present disclosure
- the two-way authentication directly utilizes the public and private keys of the blockchain network node account, and does not require a centralized third party to participate in the digital certificate, thereby avoiding the high complexity brought by the digital certificate issuance and realizing the secure access between the nodes of the blockchain network. .
- FIG. 12 is a block diagram of an apparatus 1200 for securely accessing a blockchain, according to an exemplary embodiment of the sixth aspect of the present disclosure.
- the device is configured on a trusted node in a blockchain network.
- the apparatus may include: a target public key obtaining module 1210, a signature module 1220, and an endorsement providing module 1230.
- the target public key obtaining module 1210 may be configured to acquire a public key of the target node in response to preparing a new node of the target node in the blockchain network to require the trusted node to endorse the target node.
- the signature module 1220 can be configured to use the trusted node's own private key to sign the public key of the target node to obtain endorsement data.
- the endorsement providing module 1230 may be configured to provide the endorsement data to the new node, so that the new node performs signature verification on the endorsement data, and if the new node signature verification passes, the new node Determining that the identity authentication of the target node is successful.
- the target public key obtaining module 1210 may be configured to acquire a public key of the target node in response to receiving an endorsement request sent by the target node, where the endorsement request is The target node is correspondingly sent according to the IP or domain name of the trusted node sent by the new node and the endorsement determination indication.
- the endorsement providing module 1230 may be configured to send the endorsement data to the target node, and the endorsement data is sent to the new node via the target node.
- the target public key obtaining module 1210 may be configured to acquire the public key of the target node in response to receiving an endorsement request to the target node from the new node.
- the endorsement providing module 1230 can be configured to send the endorsement data directly to the new node.
- FIG. 13 is a block diagram of an apparatus 1300 for securely accessing a blockchain, according to another exemplary embodiment of the sixth aspect of the present disclosure.
- the apparatus may further include: a target authority querying module 1240, configured to query, in the permission permission preset by the blockchain network, after receiving the endorsement request sent by the target node
- the license authority owned by the account address corresponding to the public key of the target node.
- the endorsement determination module 1241 may be configured to determine whether to endorse the target node according to the queried permission.
- the signing module 1220 may be configured to execute the signing of the public key of the target node by using the trusted node's private key to obtain endorsement data if the endorsement determining module determines to endorse the target node. A step of.
- the trusted node since the trusted node uses the private key to sign the public key of the target node to obtain endorsement data, the endorsement data is provided to the new node, and therefore, the new node and the target node of the present disclosure
- the two-way authentication directly utilizes the public and private keys of the blockchain network node account, and does not require a centralized third party to participate in the digital certificate, thereby avoiding the high complexity brought by the digital certificate issuance and realizing the secure access between the nodes of the blockchain network. .
- FIG. 14 is a block diagram of an electronic device 1400, according to an exemplary embodiment.
- the electronic device 1400 can include a processor 1401, a memory 1402, a multimedia component 1403, an input/output (I/O) interface 1404, and a communication component 1405.
- a processor 1401 a memory 1402
- multimedia component 1403 a multimedia component 1403
- I/O input/output
- the processor 1401 is configured to control the overall operation of the electronic device 1400 to complete all or part of the steps of the method for securely accessing the blockchain.
- the memory 1402 is configured to store various types of data to support operations at the electronic device 1400, such as may include instructions for any application or method operating on the electronic device 1400, and application related data, For example, contact data, sent and received messages, pictures, audio, video, and so on.
- the memory 1402 can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as a static random access memory (SRAM), an electrically erasable programmable read only memory ( Electrically Erasable Programmable Read-Only Memory (EEPROM), Erasable Programmable Read Only Memory (Erasable) Programmable Read-Only Memory (EPROM), Programmable Read-Only Memory (PROM), Read-Only Memory (ROM), magnetic memory, flash memory, disk or optical disk.
- the multimedia component 1403 can include a screen and an audio component.
- the screen may be, for example, a touch screen, and the audio component is used to output and/or input an audio signal.
- the audio component can include a microphone for receiving an external audio signal.
- the received audio signal may be further stored in memory 1402 or transmitted via communication component 1405.
- the audio component also includes at least one speaker for outputting an audio signal.
- the I/O interface 1404 provides an interface between the processor 1401 and other interface modules, such as a keyboard, a mouse, a button, and the like. These buttons can be virtual buttons or physical buttons.
- the communication component 1405 is used for wired or wireless communication between the electronic device 1400 and other devices. Wireless communication, such as Wi-Fi, Bluetooth, Near Field Communication (NFC), 2G, 3G or 4G, or a combination of one or more of them, so the corresponding communication component 1405 can include: Wi-Fi module, Bluetooth module, NFC module.
- the electronic device 1400 may be configured by one or more application specific integrated circuits (Application Specific) Integrated Circuit (ASIC), Digital Signal Processor (DSP), Digital Signal Processing Device (DSPD), Programmable Logic Device (PLD), field programmable A Field Programmable Gate Array (FPGA), controller, microcontroller, microprocessor or other electronic component implementation for performing the above method of securely accessing a blockchain.
- ASIC Application Specific
- DSP Digital Signal Processor
- DSPD Digital Signal Processing Device
- PLD Programmable Logic Device
- FPGA field programmable A Field Programmable Gate Array
- controller microcontroller, microprocessor or other electronic component implementation for performing the above method of securely accessing a blockchain.
- a computer readable storage medium comprising program instructions, such as a memory 1402 comprising program instructions executable by processor 1401 of electronic device 1400 to perform the secure access described above Blockchain approach.
- the present disclosure also provides a system for securely accessing a blockchain.
- the system may include at least one new node implemented by the electronic device as described in the above embodiments, at least one new node implemented by the electronic device as described in the above embodiment, at least one electronic device as described in the above embodiment
- the target node implemented by the device at least one trusted node implemented by the electronic device as described in the above embodiments.
- the trusted node implemented by the electronic device as described in the foregoing embodiment, the target node implemented by the electronic device as described in the foregoing embodiment, and the electronic device as described in the foregoing embodiment belong to the same area.
- Blockchain network may include at least one new node implemented by the electronic device as described in the above embodiments, at least one new node implemented by the electronic device as described in the above embodiment, at least one electronic device as described in the above embodiment
- the target node implemented by the device at least one trusted node implemented by the electronic device as described in the above embodiments.
- the two-way authentication of the new node and the target node of the present disclosure directly utilizes the public and private keys of the blockchain network node account, and does not require a centralized third party to participate in the digital certificate, thereby avoiding the high complexity brought by the digital certificate issuance. Degrees, achieve secure access between nodes in the blockchain network.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
本公开涉及计算机领域,尤其涉及一种安全访问区块链的方法、装置、存储介质及电子设备。The present disclosure relates to the field of computers, and in particular, to a method, an apparatus, a storage medium, and an electronic device for securely accessing a blockchain.
区块链是通过去中心化的方式集体维护一个可靠数据库的技术方案。区块链中,节点间通过P2P(Peer-to-Peer,点对点)网络建立相互连接。Blockchain is a technical solution for collectively maintaining a reliable database through decentralization. In the blockchain, nodes are connected to each other through a P2P (Peer-to-Peer) network.
目前的区块链技术中,某节点(例如,新节点,包括各种终端、区块链轻节点、区块链全节点等等)访问区块链网络上的目标节点时,不会去验证目标节点的合法性,目标节点也不会去验证该节点的合法性。然而,在某些对信息安全性要求较高的场景中,这种访问方式可能会导致关键信息的泄露。例如,银行、企业等多个组织同时参与一条区块链来完成业务,参与同一条区块链的不同组织彼此可能会获取到不想让对方获取到的关键信息。因此,区块链网络中节点间访问完成彼此身份认证是势在必行的。而传统的身份认证方式一般通过双方互传第三方机构颁发的数字证书来实现,这种传统的身份认证方式又存在过度中心化,数字证书颁发复杂度高的问题,不适用于去中心化的区块链网络。In the current blockchain technology, a node (for example, a new node, including various terminals, a blockchain light node, a blockchain full node, etc.) does not verify when accessing a target node on the blockchain network. The legitimacy of the target node, the target node will not verify the legitimacy of the node. However, in some scenarios where information security is required, this type of access may lead to the disclosure of critical information. For example, multiple organizations, such as banks and enterprises, participate in a blockchain at the same time to complete the business. Different organizations participating in the same blockchain may acquire key information that they do not want the other party to obtain. Therefore, it is imperative that inter-node access in the blockchain network complete mutual authentication. The traditional identity authentication method is generally implemented by mutual transfer of digital certificates issued by third parties. This traditional identity authentication method is over-centralized, and the problem of high complexity of digital certificate is not applicable to decentralized. Blockchain network.
因此,如何在区块链网络中实现节点间安全互访成为了令人苦恼的问题。Therefore, how to achieve secure mutual access between nodes in a blockchain network has become an annoying problem.
发明内容Summary of the invention
有鉴于此,本公开提供一种安全访问区块链的方法、装置、系统、存储介质及电子设备,用以在区块链网络中实现安全访问。In view of this, the present disclosure provides a method, apparatus, system, storage medium, and electronic device for securely accessing a blockchain for implementing secure access in a blockchain network.
为了实现上述目的,根据本公开实施例的第一方面,提供一种安全访问区块链的方法,应用于准备访问区块链网络中目标节点的新节点,所述方法包括:判断是否需要所述区块链网络中预置的可信节点对所述目标节点背书;在需要所述可信节点对所述目标节点背书的情况下,获取所述可信节点使用自身私钥对所述目标节点公钥进行签名得到的背书数据;以及,将所述新节点的公钥提供给所述目标节点,其中,所述新节点的公钥用于使所述目标节点在所述区块链网络预置的许可权限中查询所述新节点的公钥对应的账户地址拥有的许可权限,根据查询出的许可权限确定对所述新节点的身份认证是否成功;对所述背书数据进行签名验证;如果签名验证通过,确定对所述目标节点的身份认证成功。In order to achieve the above object, according to a first aspect of an embodiment of the present disclosure, a method for securely accessing a blockchain is provided, which is applied to prepare a new node for accessing a target node in a blockchain network, the method comprising: determining whether a need is needed The trusted node preset in the blockchain network endorses the target node; if the trusted node is required to endorse the target node, acquiring the trusted node to use the private key to the target An endorsement data obtained by signing a node public key; and providing a public key of the new node to the target node, wherein a public key of the new node is used to make the target node in the blockchain network Querying, in the preset permission permission, the permission permission of the account address corresponding to the public key of the new node, determining whether the identity authentication of the new node is successful according to the queried permission, and performing signature verification on the endorsement data; If the signature verification is passed, it is determined that the identity authentication of the target node is successful.
根据本公开实施例的第二方面,提供一种安全访问区块链的装置,配置于准备接入或访问区块链网络中目标节点的新节点。该装置包括:判断模块,被配置为判断是否需要所述区块链网络中预置的可信节点对所述目标节点背书。背书获取模块,被配置为在需要所述可信节点对所述目标节点背书的情况下,获取所述可信节点使用自身私钥对所述目标节点公钥进行签名得到的背书数据。公钥提供模块,被配置为将所述新节点的公钥提供给所述目标节点,其中,所述新节点的公钥用于使所述目标节点在所述区块链网络预置的许可权限中查询所述新节点的公钥对应的账户地址拥有的许可权限,根据查询出的许可权限确定对所述新节点的身份认证是否成功。目标身份认证模块,被配置为对所述背书数据进行签名验证,如果签名验证通过,确定对所述目标节点的身份认证成功。According to a second aspect of an embodiment of the present disclosure, there is provided an apparatus for securely accessing a blockchain, configured to prepare to access or access a new node of a target node in a blockchain network. The apparatus includes a determination module configured to determine whether a trusted node preset in the blockchain network is required to endorse the target node. The endorsement obtaining module is configured to acquire, when the trusted node is required to endorse the target node, the endorsement data obtained by the trusted node using the private key to sign the target node public key. a public key providing module configured to provide a public key of the new node to the target node, wherein a public key of the new node is used to enable a license of the target node to be preset in the blockchain network Querying the permission permission of the account address corresponding to the public key of the new node, and determining whether the identity authentication of the new node is successful according to the queried permission. The target identity authentication module is configured to perform signature verification on the endorsement data, and if the signature verification is passed, determine that the identity authentication of the target node is successful.
根据本公开实施例的第三方面,提供一种安全访问区块链的方法,应用于区块链网络中的目标节点。所述方法包括:响应于接收到新节点发出的访问或接入请求,获取所述新节点的公钥;在所述区块链网络预置的许可权限中查询所述新节点的公钥对应的账户地址拥有的许可权限;根据查询出的许可权限确定对所述新节点的身份认证是否成功。According to a third aspect of an embodiment of the present disclosure, there is provided a method of securely accessing a blockchain, applied to a target node in a blockchain network. The method includes: acquiring a public key of the new node in response to receiving an access or access request issued by a new node; querying a public key corresponding to the new node in a permission permission preset by the blockchain network The license right owned by the account address; determining whether the identity authentication of the new node is successful according to the queried permission.
根据本公开实施例的第四方面,提供一种安全访问区块链的装置,配置于区块链网络中的目标节点。所述装置包括:新节点公钥获取模块,被配置为响应于接收到新节点发出的访问或接入请求,获取所述新节点的公钥。新节点权限查询模块,被配置为在所述区块链网络预置的许可权限中查询所述新节点的公钥对应的账户地址拥有的许可权限。新节点身份认证模块,被配置为根据查询出的许可权限确定对所述新节点的身份认证是否成功。According to a fourth aspect of an embodiment of the present disclosure, there is provided an apparatus for securely accessing a blockchain, configured in a target node in a blockchain network. The apparatus includes a new node public key acquisition module configured to acquire a public key of the new node in response to receiving an access or access request issued by the new node. The new node permission query module is configured to query, in the license rights preset by the blockchain network, the permission rights owned by the account address corresponding to the public key of the new node. The new node identity authentication module is configured to determine whether the identity authentication of the new node is successful according to the queried permission.
根据本公开实施例的第五方面,提供一种安全访问区块链的方法,所述方法应用于区块链网络中预置的可信节点。所述方法包括:响应于准备访问区块链网络中目标节点的新节点需要可信节点对目标节点背书,获取所述目标节点的公钥;使用所述可信节点自身私钥对所述目标节点的公钥进行签名得到背书数据;将所述背书数据提供给所述新节点,以便使所述新节点通过对所述背书数据进行签名验证确定对所述目标节点的身份认证是否成功。According to a fifth aspect of an embodiment of the present disclosure, there is provided a method of securely accessing a blockchain, the method being applied to a trusted node preset in a blockchain network. The method includes: in response to preparing a new node accessing a target node in a blockchain network, requiring a trusted node to endorse the target node, obtaining a public key of the target node; using the trusted node's own private key to the target The node's public key is signed to obtain endorsement data; the endorsement data is provided to the new node, so that the new node determines whether the identity authentication of the target node is successful by performing signature verification on the endorsement data.
根据本公开实施例的第六方面,提供一种安全访问区块链的装置,所述装置配置于区块链网络中预置的可信节点。所述装置包括:目标公钥获取模块,被配置为响应于准备访问区块链网络中目标节点的新节点需要可信节点对目标节点背书,获取所述目标节点的公钥。签名模块,被配置为使用所述可信节点自身私钥对所述目标节点的公钥进行签名得到背书数据。背书提供模块,被配置为将所述背书数据提供给所述新节点,以便使所述新节点对所述背书数据进行签名验证,如果所述新节点签名验证通过,所述新节点确定对所述目标节点的身份认证成功。According to a sixth aspect of an embodiment of the present disclosure, there is provided an apparatus for securely accessing a blockchain, the apparatus being configured with a trusted node preset in a blockchain network. The apparatus includes a target public key acquisition module configured to acquire a public key of the target node in response to a new node that is ready to access a target node in the blockchain network, requiring the trusted node to endorse the target node. The signature module is configured to use the trusted node's own private key to sign the public key of the target node to obtain endorsement data. An endorsement providing module configured to provide the endorsement data to the new node to cause the new node to perform signature verification on the endorsement data, and if the new node signature verification passes, the new node determines a location The identity authentication of the target node is successful.
根据本公开实施例的第七方面,提供一种计算机可读存储介质,所述计算机可读存储介质中包括一个或多个程序,所述一个或多个程序用于执行本公开实施例的第一方面所述的方法。According to a seventh aspect of the embodiments of the present disclosure, there is provided a computer readable storage medium comprising one or more programs for performing the first embodiment of the present disclosure The method described on the one hand.
根据本公开实施例的第八方面,提供一种电子设备,包括:本公开实施例的第七方面所述的计算机可读存储介质;以及,一个或者多个处理器,用于执行所述计算机可读存储介质中的程序。According to an eighth aspect of the embodiments of the present disclosure, there is provided an electronic device comprising: the computer readable storage medium of the seventh aspect of the embodiments of the present disclosure; and one or more processors for executing the computer Read the program in the storage medium.
根据本公开实施例的第九方面,提供一种计算机可读存储介质,所述计算机可读存储介质中包括一个或多个程序,所述一个或多个程序用于执行本公开实施例的第三方面所述的方法。According to a ninth aspect of the embodiments of the present disclosure, there is provided a computer readable storage medium comprising one or more programs for performing the first embodiment of the present disclosure The method described in three aspects.
根据本公开实施例的第十方面,提供一种电子设备,包括:本公开实施例的第九方面所述的计算机可读存储介质;以及,一个或者多个处理器,用于执行所述计算机可读存储介质中的程序。According to a tenth aspect of the embodiments of the present disclosure, there is provided an electronic device comprising: the computer readable storage medium of the ninth aspect of the embodiments of the present disclosure; and one or more processors for executing the computer Read the program in the storage medium.
根据本公开实施例的第十一方面,提供一种计算机可读存储介质,所述计算机可读存储介质中包括一个或多个程序,所述一个或多个程序用于执行本公开实施例的第五方面所述的方法。According to an eleventh aspect of the embodiments of the present disclosure, there is provided a computer readable storage medium comprising one or more programs for performing the embodiments of the present disclosure The method of the fifth aspect.
根据本公开实施例的第十二方面,提供一种电子设备,包括:本公开实施例的第十一方面所述的计算机可读存储介质;以及,一个或者多个处理器,用于执行所述计算机可读存储介质中的程序。According to a twelfth aspect of the embodiments of the present disclosure, there is provided an electronic device comprising: the computer readable storage medium of the eleventh aspect of the embodiments of the present disclosure; and one or more processors for executing A program in a computer readable storage medium.
根据本公开实施例的第十三方面,提供一种安全访问区块链的系统。所述系统包括:本公开实施例的第八方面所述的电子设备所实现的新节点;本公开实施例的第十方面所述的电子设备所实现的目标节点;本公开实施例的第十二方面所述的电子设备所实现的可信节点;其中,所述新节点、目标节点、可信节点属于同一区块链网络。According to a thirteenth aspect of an embodiment of the present disclosure, a system for securely accessing a blockchain is provided. The system includes: a new node implemented by the electronic device according to the eighth aspect of the present disclosure; a target node implemented by the electronic device according to the tenth aspect of the embodiment of the present disclosure; The trusted node implemented by the electronic device of the second aspect; wherein the new node, the target node, and the trusted node belong to the same blockchain network.
通过本公开上述技术方案,准备访问区块链网络的新节点获取区块链网络中预置的可信节点使用自身私钥对目标节点公钥进行签名得到的背书数据,对背书数据进行签名验证,如果签名验证通过,确定对目标节点的身份认证成功,而目标节点在区块链网络预置的许可权限中查询出新节点的公钥对应的账户地址拥有的许可权限,根据查询出的许可权限确定对新节点的身份认证是否成功,可信节点响应于准备访问区块链网络中目标节点的新节点需要可信节点对目标节点背书,获取所述目标节点的公钥,使用所述可信节点自身私钥对所述目标节点的公钥进行签名得到背书数据;将所述背书数据提供给所述新节点,因此,本公开新节点与目标节点的双向认证直接利用了区块链网络节点账户的公私钥,不需要中心化的第三方参与数字证书,避免了数字证书颁发所带来的高复杂度,实现了区块链网络节点间安全访问。Through the above technical solution of the present disclosure, a new node preparing to access the blockchain network acquires endorsement data obtained by the trusted node preset in the blockchain network using the private key to sign the target node public key, and performs signature verification on the endorsement data. If the signature verification is passed, it is determined that the identity authentication of the target node is successful, and the target node queries the permission permission of the account address corresponding to the public key of the new node in the permission permission preset by the blockchain network, according to the permission of the query. The authority determines whether the identity authentication of the new node is successful, and the trusted node responds to the new node that is ready to access the target node in the blockchain network, and the trusted node needs to endorse the target node, obtain the public key of the target node, and use the The private key of the target node is signed by the private key of the target node to obtain endorsement data; the endorsement data is provided to the new node, and therefore, the mutual authentication of the new node and the target node of the disclosure directly utilizes the blockchain network. The public and private keys of the node account do not require a centralized third party to participate in the digital certificate, avoiding the digital certificate award Brought about by high complexity, inter-block chain to achieve a secure access network node.
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。The above general description and the following detailed description are intended to be illustrative and not restrictive.
图1是根据本公开一示例性实施例示出的区块链网络的结构示意图。FIG. 1 is a schematic structural diagram of a blockchain network according to an exemplary embodiment of the present disclosure.
图2是根据本公开第一方面一示例性实施例提供的一种安全访问区块链的方法的流程图。2 is a flow chart of a method of securely accessing a blockchain, according to an exemplary embodiment of the first aspect of the present disclosure.
图3是根据本公开第一方面另一示例性实施例提供的一种安全访问区块链的方法的信令交互示意图。FIG. 3 is a schematic diagram of signaling interaction of a method for securely accessing a blockchain according to another exemplary embodiment of the first aspect of the present disclosure.
图4是根据本公开第二方面一示例性实施例提供的一种安全访问区块链的装置的框图。FIG. 4 is a block diagram of an apparatus for securely accessing a blockchain, according to an exemplary embodiment of the second aspect of the present disclosure.
图5是根据本公开第二方面另一示例性实施例提供的一种安全访问区块链的装置的框图。FIG. 5 is a block diagram of an apparatus for securely accessing a blockchain, according to another exemplary embodiment of the second aspect of the present disclosure.
图6是根据本公开第二方面又一示例性实施例提供的一种安全访问区块链的装置的框图。FIG. 6 is a block diagram of an apparatus for securely accessing a blockchain, according to still another exemplary embodiment of the second aspect of the present disclosure.
图7是根据本公开第三方面一示例性实施例提供的一种安全访问区块链的方法的流程图。FIG. 7 is a flowchart of a method for securely accessing a blockchain according to an exemplary embodiment of the third aspect of the present disclosure.
图8是根据本公开第四方面一示例性实施例提供的一种安全访问区块链的装置的框图。FIG. 8 is a block diagram of an apparatus for securely accessing a blockchain, according to an exemplary embodiment of the fourth aspect of the present disclosure.
图9是根据本公开第四方面另一示例性实施例提供的一种安全访问区块链的装置的框图。FIG. 9 is a block diagram of an apparatus for securely accessing a blockchain, according to another exemplary embodiment of the fourth aspect of the present disclosure.
图10是根据本公开第四方面又一示例性实施例提供的一种安全访问区块链的装置的框图。FIG. 10 is a block diagram of an apparatus for securely accessing a blockchain, according to still another exemplary embodiment of the fourth aspect of the present disclosure.
图11是根据本公开第五方面一示例性实施例提供的一种安全访问区块链的方法的流程图。FIG. 11 is a flowchart of a method for securely accessing a blockchain according to an exemplary embodiment of the fifth aspect of the present disclosure.
图12是根据本公开第六方面一示例性实施例提供的一种安全访问区块链的装置的框图。FIG. 12 is a block diagram of an apparatus for securely accessing a blockchain, according to an exemplary embodiment of the sixth aspect of the present disclosure.
图13是根据本公开第六方面另一示例性实施例提供的一种安全访问区块链的装置的框图。FIG. 13 is a block diagram of an apparatus for securely accessing a blockchain, according to another exemplary embodiment of the sixth aspect of the present disclosure.
图14是根据一示例性实施例示出的一种电子设备的框图。FIG. 14 is a block diagram of an electronic device, according to an exemplary embodiment.
具体实施方式Detailed ways
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。Exemplary embodiments will be described in detail herein, examples of which are illustrated in the accompanying drawings. The following description refers to the same or similar elements in the different figures unless otherwise indicated. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with the present disclosure. Instead, they are merely examples of devices and methods consistent with aspects of the present disclosure as detailed in the appended claims.
在介绍本公开提供的安全访问区块链的方法、装置、系统、存储介质及电子设备之前,首先对区块链网络进行简单介绍。如图1所示的区块链网络,是由若干节点所组成的基于P2P的对等网络。区块链网络中的每个节点都维护着一串使用密码学方法相关联产生的区块链。各个节点之间通过广播来获取最新的区块,从而保证各个节点之间的区块是同步维护的。每个节点都有一个描述其身份的账户,这个账户由公私钥对组成。公钥的哈希编码值即为该“账户”的地址。私钥由账户所有人保管,不可公开。Before introducing the method, device, system, storage medium and electronic device of the secure access blockchain provided by the present disclosure, the blockchain network is first introduced briefly. The blockchain network shown in Figure 1 is a P2P-based peer-to-peer network composed of several nodes. Each node in the blockchain network maintains a string of blockchains generated using cryptographic methods. The latest blocks are obtained by broadcasting between the nodes, so that the blocks between the nodes are maintained synchronously. Each node has an account that describes its identity. This account consists of public and private key pairs. The hash coded value of the public key is the address of the "account". The private key is kept by the account owner and cannot be made public.
为了使公开技术方案更加易于理解,再对本公开各个实施例所涉及的可能的区块链网络结构进行介绍。例如,图1是根据一示例性实施例示出的一种区块链网络结构示意图。如图1所示,该区块链网络可以包括:新节点110、目标节点120、可信节点130、管理节点140、参与节点150。其中:In order to make the disclosed technical solution easier to understand, a possible blockchain network structure involved in various embodiments of the present disclosure is introduced. For example, FIG. 1 is a schematic diagram of a blockchain network structure according to an exemplary embodiment. As shown in FIG. 1, the blockchain network may include a new node 110, a target node 120, a trusted node 130, a management node 140, and a participating node 150. among them:
新节点110,可以包括但不限于各种终端、区块链轻节点、区块链全节点等等,需要产生自己的区块链账户,但可以不同步目标区块链网络的任何区块数据。The new node 110 may include, but is not limited to, various terminals, a blockchain light node, a blockchain full node, etc., and needs to generate its own blockchain account, but may not synchronize any block data of the target blockchain network. .
目标节点120,可以包括但不限于各种终端,可以是区块链网络中的任意节点,同步区块链网络的区块数据。The target node 120 may include, but is not limited to, various terminals, and may be any node in the blockchain network, and block the block data of the blockchain network.
可信节点130,可以包括但不限于各种终端,是管理节点140预置到区块链网络中的的默认可信节点,可以有多个。The trusted node 130 may include, but is not limited to, various terminals, and is a default trusted node that the management node 140 presets into the blockchain network, and may have multiple.
管理节点140,可以包括但不限于各种终端,区块链网络中的管理节点,可以配置其它区块链节点账户的许可权限。The management node 140 may include, but is not limited to, various terminals, management nodes in the blockchain network, and may configure the permission rights of other blockchain node accounts.
参与节点150,可以包括但不限于各种终端,区块链网络中除默认可信节点外的任意节点,数量不限。The participating nodes 150 may include, but are not limited to, various terminals, and any number of nodes other than the default trusted nodes in the blockchain network are not limited.
在区块链网络中,各个节点可以通过在对应的节点服务器上运行区块链程序产生自己的区块链节点账户。管理节点140可以通过节点控制平台配置各个节点的许可权限,例如接入许可权限,权限配置以交易的方式发送到区块链网络上,经区块链网络节点的验证后写入区块链,并最终通过P2P网络同步到区块链网络的所有节点中。In a blockchain network, each node can generate its own blockchain node account by running a blockchain program on the corresponding node server. The management node 140 can configure the permission rights of each node through the node control platform, for example, access permission rights, and the rights configuration is sent to the blockchain network by means of transaction, and is written into the blockchain after being verified by the blockchain network node. And finally through the P2P network to all nodes in the blockchain network.
图2是根据本公开第一方面一示例性实施例提供的一种安全访问区块链的方法的流程图。该方法应用于准备访问区块链网络中目标节点的新节点。如图2所示,该方法可以包括:2 is a flow chart of a method of securely accessing a blockchain, according to an exemplary embodiment of the first aspect of the present disclosure. The method is applied to a new node that is ready to access a target node in a blockchain network. As shown in FIG. 2, the method may include:
在步骤210中,新节点判断是否需要所述区块链网络中预置的可信节点对所述目标节点背书。In step 210, the new node determines whether a trusted node preset in the blockchain network is required to endorse the target node.
背书,在本公开中是指节点用节点自身的区块链账户私钥对需要背书的区块链节点的需要背书的数据(如公钥、通信加密数据)进行签名的过程。Endorsement, in the present disclosure, refers to a process in which a node uses a blockchain account private key of a node itself to sign endorean data (such as public key, communication encrypted data) of a blockchain node that needs to be endorsed.
可以理解的是,在本公开中不可信的目标节点即需要被背书。预置为可信节点或经过背书(背书未过期)的目标节点对新节点来说可视为可信节点,无需背书,而未预置为可信节点的目标节点或者未经背书或者背书过期的目标节点即为不可信节点,需要背书。It can be understood that the target node that is not trusted in the present disclosure needs to be endorsed. A target node that is preset as a trusted node or endorsed (endorsed is not expired) can be regarded as a trusted node for the new node, and does not need to endorse, but is not preset as a target node of the trusted node or expires without endorsement or endorsement. The target node is an untrusted node and needs to be endorsed.
本公开中新节点要求背书的可信节点可以在新节点产生自己的节点账户后,由新节点预置。预置的可信节点的节点信息可以包括IP或域名及可信节点的账户公钥。例如,新节点预置默认可信节点的方式可以包括:新节点访问区块链的客户端在内部预置默认可信节点信息,或者,新节点访问区块链的客户端提示用户输入默认可信节点的信息。如果新节点本地没有链内其他节点信息,还可以从可信节点获取其他节点信息,并刷新本地可信节点信息列表,如增/删可信节点及刷新可信节点有效期。In the present disclosure, the trusted node of the new node requesting endorsement can be preset by the new node after the new node generates its own node account. The node information of the preset trusted node may include an IP or a domain name and an account public key of the trusted node. For example, the manner in which the new node presets the default trusted node may include: the client accessing the blockchain by the new node presets the default trusted node information internally, or the client accessing the blockchain by the new node prompts the user to input the default. Information about the node. If the new node does not have other node information in the chain, it can also obtain other node information from the trusted node, and refresh the local trusted node information list, such as adding/removing trusted nodes and refreshing the trusted node validity period.
新节点在完成以上预置后,可以向目标节点发出连接请求。为了防止重放攻击,在新节点对目标节点发出连接请求之后,新节点还可以从目标节点接收随机挑战码,使用新节点自身私钥对随机挑战码进行签名,将签名后的随机挑战码发送给目标节点。After completing the above presets, the new node can issue a connection request to the target node. In order to prevent replay attacks, after the new node issues a connection request to the target node, the new node may also receive a random challenge code from the target node, sign the random challenge code using the new node's own private key, and send the signed random challenge code. Give the target node.
在步骤220中,在需要所述可信节点对所述目标节点背书的情况下,获取所述可信节点使用自身私钥对所述目标节点公钥进行签名得到的背书数据。In step 220, if the trusted node is required to endorse the target node, the endorsement data obtained by the trusted node using the private key to sign the target node public key is obtained.
一种可能的实施方式中,新节点将可信节点的IP或域名及背书确定指示发送给目标节点。所述可信节点的列表及有效期可以在所述新节点本地更新维护。In a possible implementation manner, the new node sends the IP or domain name of the trusted node and the endorsement determination indication to the target node. The list of trusted nodes and the validity period can be locally updated and maintained at the new node.
例如,所述背书确定指示可以用于使所述目标节点根据所述可信节点的IP或域名从本地查询出预先存储的、所述可信节点使用自身私钥对所述目标节点公钥进行签名得到的背书数据,在所述背书数据未过期的情况下,将所述背书数据发送给所述新节点。在目标节点本地不存在未过期的背书数据的情况下,则可以向可信节点发出相应背书请求,从所述可信节点获得背书数据,将所述背书数据发送给所述新节点。由于该实施方式从目标节点本地获取背书数据,不必每次都从可信节点获取背书数据,有效减轻了可信节点的负担。For example, the endorsement determination indication may be used to cause the target node to pre-store from the local query according to the IP or domain name of the trusted node, and the trusted node performs the target node public key by using its own private key. The endorsement data obtained by the signature transmits the endorsement data to the new node if the endorsement data has not expired. In the case that the target node does not have unexpired endorsement data locally, the corresponding endorsement request may be sent to the trusted node, the endorsement data is obtained from the trusted node, and the endorsement data is sent to the new node. Since the embodiment obtains the endorsement data locally from the target node, it is not necessary to obtain the endorsement data from the trusted node every time, thereby effectively reducing the burden on the trusted node.
再例如,所述背书确定指示可以用于使所述目标节点向所述可信节点发出相应的背书请求,从所述可信节点获得背书数据,将所述背书数据发送给所述新节点。新节点接收所述目标节点针对所述背书确定指示发送的背书数据。在目标节点与可信节点交互的过程中,也可以采用随机挑战码的方式防止重放攻击。另外,为了确保背书数据的安全性,可信节点在接收到目标节点的背书请求后,可以在所述区块链网络预置的许可权限中查询所述目标节点的公钥对应的账户地址拥有的许可权限,根据查询出的许可权限确定是否对所述目标节点进行背书,在确定对所述目标节点进行背书的情况下,再使用自身私钥对目标节点的公钥及通信加密数据进行签名得到背书数据。For another example, the endorsement determination indication may be used to cause the target node to issue a corresponding endorsement request to the trusted node, obtain endorsement data from the trusted node, and send the endorsement data to the new node. The new node receives the endorsement data sent by the target node for the endorsement determination indication. In the process of interacting with the trusted node, the random challenge code can also be used to prevent replay attacks. In addition, in order to ensure the security of the endorsement data, after receiving the endorsement request of the target node, the trusted node may query the account address corresponding to the public key of the target node in the permission permission preset by the blockchain network. Permission authority, determining whether to endorse the target node according to the queried permission, and in the case of determining endorsement of the target node, using the private key to sign the public key of the target node and the communication encrypted data Get endorsed data.
可选地,新节点可以将背书确定指示与签名后的随机挑战码一同发送给目标节点。为了减少交互次数,提高认证效率,新节点所产生的通信加密数据同样可以同背书确定指示一同发送给目标节点。所述通信加密数据用于所述新节点与所述目标节点在身份认证通过后使用所述通信加密数据彼此进行加密通信。例如,通信加密数据可以包括:通信加密对称密钥,或者,通信加密随机数。新节点对所述通信加密数据进行加密。例如,一种可能的实施方式中,目标节点可以在接收到新节点的连接请求后,将随机挑战码及自身公钥发送给新节点。这样,新节点就可以使用目标节点公钥对通信加密数据进行加密,将加密后的通信加密数据、背书确定指示及签名后的随机挑战码一同发送给目标节点。在该实施方式中,加密通信用的通信加密数据由新节点客户端产生,并在双向认证过程中传递给对方,从而减少交互次数,提高了认证效率。Optionally, the new node may send the endorsement determination indication to the target node along with the signed random challenge code. In order to reduce the number of interactions and improve the authentication efficiency, the communication encrypted data generated by the new node can also be sent to the target node together with the endorsement determination indication. The communication encrypted data is used by the new node and the target node to perform encrypted communication with each other using the communication encrypted data after the identity authentication is passed. For example, the communication encrypted data may include: a communication encrypted symmetric key, or a communication encrypted random number. The new node encrypts the communication encrypted data. For example, in a possible implementation manner, the target node may send the random challenge code and its own public key to the new node after receiving the connection request of the new node. In this way, the new node can encrypt the communication encrypted data by using the target node public key, and send the encrypted communication encrypted data, the endorsement determination indication, and the signed random challenge code to the target node. In this embodiment, the communication encrypted data for encrypted communication is generated by the new node client and transmitted to the other party in the two-way authentication process, thereby reducing the number of interactions and improving the authentication efficiency.
另一种可能的实施方式中,在需要所述可信节点对所述目标节点背书的情况下,新节点可以将背书请求发送给所述可信节点。接收所述可信节点针对所述背书请求反馈的背书数据。在该实施方式中,新节点直接从可信节点获取背书数据,背书数据不经过目标节点,安全性更高。In another possible implementation manner, in case the trusted node is required to endorse the target node, the new node may send an endorsement request to the trusted node. Receiving endorsement data that the trusted node requests feedback for the endorsement. In this embodiment, the new node directly obtains the endorsement data from the trusted node, and the endorsement data does not pass through the target node, and the security is higher.
在步骤230中,将所述新节点的公钥提供给所述目标节点。In step 230, the public key of the new node is provided to the target node.
其中,所述新节点的公钥用于使所述目标节点在所述区块链网络预置的许可权限中查询所述新节点的公钥对应的账户地址拥有的许可权限,根据查询出的许可权限确定对所述新节点的身份认证是否成功。例如,此处对应新节点的接入或访问请求,目标节点检查新节点账户在当前区块链上的接入许可权限,即检查新节点的账户在当前区块链网络中是否拥有其对应的接入许可权,如果有,则确定对新节点的身份认证成功。The public key of the new node is used to enable the target node to query the permission rights of the account address corresponding to the public key of the new node in the permission permission preset by the blockchain network, according to the query. The permission determines whether the identity authentication for the new node is successful. For example, here, corresponding to the access or access request of the new node, the target node checks the access permission of the new node account on the current blockchain, that is, checks whether the account of the new node has its corresponding in the current blockchain network. Access permission, if any, determines that the identity authentication for the new node was successful.
在步骤240中,对所述背书数据进行签名验证。In step 240, signature verification is performed on the endorsement data.
在步骤250中,如果签名验证通过,确定对所述目标节点的身份认证成功。In step 250, if the signature verification is passed, it is determined that the identity authentication for the target node is successful.
另外,如果签名验证未通过,则可以确定身份认证失败。In addition, if the signature verification fails, it can be determined that the identity authentication failed.
在新节点与目标节点双方身份认证成功后即可进行通信。After the identity authentication between the new node and the target node is successful, communication can be performed.
可见,通过本公开上述技术方案,准备访问区块链网络的新节点获取区块链网络中预置的可信节点使用自身私钥对目标节点公钥进行签名得到的背书数据,对背书数据进行签名验证,如果签名验证通过,则确定对目标节点的身份认证成功,身份认证直接利用了区块链网络节点账户的公私钥,不需要中心化的第三方参与数字证书,避免了数字证书颁发所带来的高复杂度,实现了区块链网络节点间安全访问。It can be seen that, through the foregoing technical solution of the present disclosure, a new node that is ready to access the blockchain network acquires endorsement data obtained by the trusted node preset in the blockchain network using the private key to sign the target node public key, and performs endorsement data on the endorsement data. Signature verification, if the signature verification is passed, it determines that the identity authentication of the target node is successful. The identity authentication directly utilizes the public and private keys of the blockchain network node account, and does not require a centralized third party to participate in the digital certificate, thereby avoiding the digital certificate issuing office. The high complexity brings about secure access between nodes in the blockchain network.
为了使本公开技术方案更加易于理解,下面再通过以下可能的实施方式的信令交互示意图对本公开技术方案进行详细说明。In order to make the technical solutions of the present disclosure easier to understand, the technical solutions of the present disclosure are further described in detail through the signaling interaction diagrams of the following possible implementation manners.
图3是根据本公开第一方面另一示例性实施例提供的一种安全访问区块链的方法的信令交互示意图。需要说明的是,在新节点与目标节点相互认证之前,新节点可以先产生节点账户,预置可信节点公钥。新节点如本地无链内节点信息,可以从可信节点获取链内节点信息,刷新可信节点信息列表。可信节点则在区块链网络预置可信节点信息,将新节点账户加入区块链。可以理解的是,这些预置操作只需提前完成即可,无需在每次认证之前进行。FIG. 3 is a schematic diagram of signaling interaction of a method for securely accessing a blockchain according to another exemplary embodiment of the first aspect of the present disclosure. It should be noted that before the new node and the target node authenticate each other, the new node may first generate a node account and preset the trusted node public key. The new node, such as the local no-chain intra-node information, can obtain the intra-chain node information from the trusted node and refresh the trusted node information list. The trusted node presets the trusted node information in the blockchain network and adds the new node account to the blockchain. Understandably, these preset operations need only be completed in advance, and do not need to be performed before each authentication.
在步骤310中,新节点向目标节点发出连接请求。In step 310, the new node issues a connection request to the target node.
在步骤311中,新节点从目标节点接收随机挑战码及目标节点公钥。In step 311, the new node receives the random challenge code and the target node public key from the target node.
在步骤312中,新节点使用自身私钥对随机挑战码进行签名。In step 312, the new node signs the random challenge code using its own private key.
在步骤313中,新节点产生通信加密对称密钥,并使用目标节点公钥加密通信加密对称密钥。In step 313, the new node generates a communication encryption symmetric key and encrypts the communication encryption symmetric key using the target node public key.
在另一种可能的实施方式中,为了加强安全性,可以用通信加密随机数来代替加密对称密钥。In another possible implementation, in order to enhance security, a communication encrypted random number may be used instead of the encrypted symmetric key.
在步骤314中,新节点判断目标节点是否可信,也即判断是否需要区块链网络中预置的可信节点对目标节点背书。In step 314, the new node determines whether the target node is trusted, that is, determines whether the trusted node preset in the blockchain network needs to endorse the target node.
在步骤315中,在新节点判定目标节点可信的情况下,将签名后的随机挑战码,加密后的通信加密对称密钥,背书否定指示一同携带在访问或接入请求中发送给目标节点。In step 315, if the new node determines that the target node is trusted, the signed random challenge code, the encrypted communication encryption symmetric key, and the endorsement negative indication are carried together in the access or access request and sent to the target node. .
在步骤316中,在新节点判定目标节点不可信的情况下,也即在需要可信节点对目标节点背书的情况下,将可信节点的IP或域名、签名后的随机挑战码,加密后的通信加密对称密钥,背书确定指示一同携带在访问或接入请求中发送给目标节点。In step 316, when the new node determines that the target node is not trusted, that is, if the trusted node is required to endorse the target node, the IP address of the trusted node or the domain name and the signed random challenge code are encrypted. The communication encrypts the symmetric key, and the endorsement determination indication is carried along with the access or access request to the target node.
在步骤320中,目标节点响应于接收到访问或接入请求,对其中携带的随机挑战码进行签名验证,并根据签名获得新节点的公钥。In step 320, the target node performs signature verification on the random challenge code carried in response to receiving the access or access request, and obtains the public key of the new node according to the signature.
在步骤321中,目标节点在所述区块链网络预置的许可权限中查询所述新节点的公钥对应的账户地址拥有的许可权限。In step 321, the target node queries the permission rights of the account address corresponding to the public key of the new node in the permission permission preset by the blockchain network.
在步骤322中,目标节点根据查询出的许可权限确定对所述新节点的身份认证是否成功。In step 322, the target node determines whether the identity authentication of the new node is successful according to the queried permission.
可以理解的是,新节点的公钥对应的账户地址拥有的许可权限可以包括多种,此处对应新节点的接入或访问请求,目标节点检查新节点账户在当前区块链上的接入许可权限,即检查新节点的账户在当前区块链网络中是否拥有其对应的接入许可权。It can be understood that the account authority corresponding to the account address of the new node of the new node may include multiple types, where the target node checks the access of the new node account on the current blockchain, corresponding to the access or access request of the new node. Permission, that is, checking whether the account of the new node has its corresponding access permission in the current blockchain network.
在步骤323中,目标节点在确定对新节点的身份认证成功的情况下,判断接收到的是背书确定指示还是背书否定指示。In step 323, the target node determines whether the endorsement determination indication or the endorsement negative indication is received in the case that it is determined that the identity authentication of the new node is successful.
在步骤324中,目标节点在判定接收到的是背书确定指示的情况下,根据所述访问或接入请求中携带的可信节点的IP或域名,将通信加密对称密钥携带在背书请求中发送给相应的可信节点。In step 324, if the target node determines that the endorsement determination indication is received, the target node carries the communication encryption symmetric key in the endorsement request according to the IP or domain name of the trusted node carried in the access or access request. Send to the corresponding trusted node.
在另一种可能的实施方式中,为了减轻可信节点的负担,目标节点可以在本地维护可信节点对其的背书,包括背书的有效期限管理。在背书有效期限内,目标节点可以不用再次向可信节点索要背书,减轻了可信节点的负担。具体地,目标节点可以根据可信节点的IP或域名从本地查询出预先存储的、所述可信节点使用自身私钥对所述目标节点公钥进行签名得到的背书数据,在所述背书数据未过期的情况下,将所述背书数据发送给所述新节点。可以理解的是,如果本地不存在该可信节点未过期的背书的情况下,则可以通过向该可信节点发送背书请求来获得背书数据。In another possible implementation manner, in order to alleviate the burden on the trusted node, the target node may locally maintain the endorsement of the trusted node, including end-of-life management of the endorsement. Within the validity period of the endorsement, the target node may not need to endorse the trusted node again, which reduces the burden on the trusted node. Specifically, the target node may locally query, according to the IP address or the domain name of the trusted node, the previously stored endorsement data obtained by the trusted node using the private key to sign the target node public key, in the endorsement data. If not expired, the endorsement data is sent to the new node. It can be understood that if there is no endorsement of the trusted node that has not expired locally, the endorsement data can be obtained by sending an endorsement request to the trusted node.
可以理解的是,目标节点在判定接收到的是背书否定指示的情况下,也就意味着新节点判定目标节点可信,目标节点可以使用自身私钥解密通信加密对称密钥,使用自身私钥对解密后的通信加密对称密钥进行签名,并将签名后的通信加密对称密钥发送给新节点,新节点即对接收到的通信加密对称密钥进行签名验证,验证通过后,新节点就可以与目标节点彼此进行通信。It can be understood that, when the target node determines that the endorsement negative indication is received, it means that the new node determines that the target node is trusted, and the target node can decrypt the communication encryption symmetric key by using its own private key, and use its own private key. The decrypted communication encryption symmetric key is signed, and the signed communication encryption symmetric key is sent to the new node, and the new node performs signature verification on the received communication encryption symmetric key. After the verification is passed, the new node is The target nodes can communicate with each other.
在步骤325中,目标节点从可信节点接收随机挑战码。In step 325, the target node receives a random challenge code from the trusted node.
在步骤326中,目标节点使用自身私钥对随机挑战码进行签名。In step 326, the target node signs the random challenge code using its own private key.
在步骤327中,目标节点将签名后的随机挑战码发送给可信节点。In step 327, the target node sends the signed random challenge code to the trusted node.
在步骤330中,可信节点对接收到的随机挑战码进行签名验证,验证通过后获取目标节点的公钥。In step 330, the trusted node performs signature verification on the received random challenge code, and obtains the public key of the target node after the verification is passed.
在步骤331中,可信节点在所述区块链网络预置的许可权限中查询所述目标节点的公钥对应账户地址拥有的许可权限。In step 331, the trusted node queries the permission rights of the target node's public key corresponding account address in the license rights preset by the blockchain network.
在步骤332中,可信节点根据查询出的许可权限确定是否对所述目标节点进行背书。In step 332, the trusted node determines whether to endorse the target node according to the queried permission.
可以理解的是,目标节点的公钥对应账户地址拥有的许可权限可以包括多种,此处对应目标节点的背书请求,可信节点可以检查目标节点账户在当前区块链上的接入许可权限,即检查目标节点的账户在当前区块链网络中是否拥有其对应的接入许可权限。检查通过则可以为目标节点背书,未通过则不予背书。It can be understood that the public key of the target node may have multiple license rights corresponding to the account address, where the trusted node may check the access permission of the target node account on the current blockchain corresponding to the endorsement request of the target node. That is, it checks whether the account of the target node has its corresponding access permission right in the current blockchain network. If the inspection is passed, the target node can be endorsed. If it is not passed, it will not be endorsed.
在步骤333中,可信节点在确定对所述目标节点进行背书的情况下,使用自身私钥对目标节点的公钥及通信加密对称密钥进行签名,得到背书数据。In step 333, the trusted node, when determining to endorse the target node, uses the private key to sign the public key of the target node and the communication encryption symmetric key to obtain endorsement data.
在步骤334中,可信节点将背书数据发送给目标节点。In step 334, the trusted node sends the endorsement data to the target node.
在步骤340中,目标节点使用自身私钥解密通信加密对称密钥,使用自身私钥对通信加密对称密钥进行签名。In step 340, the target node decrypts the communication encryption symmetric key using its own private key and signs the communication encryption symmetric key using its own private key.
在步骤341中,目标节点将签名后的通信加密对称密钥以及背书数据发送给新节点。也即,可信节点通过目标节点将背书数据提供给新节点。In step 341, the target node transmits the signed communication encryption symmetric key and the endorsement data to the new node. That is, the trusted node provides the endorsement data to the new node through the target node.
在步骤342中,新节点通过对接收到的背书数据进行签名验证确定对所述目标节点的身份认证是否成功。In step 342, the new node determines whether the identity authentication of the target node is successful by performing signature verification on the received endorsement data.
可以理解的是,签名验证通过则身份认证成功,签名验证未通过则身份认证失败。It can be understood that if the signature verification succeeds, the identity authentication succeeds, and if the signature verification fails, the identity authentication fails.
在步骤343中,新节点对签名后的通信加密对称密钥进行签名验证,得到目标节点的公钥,如果签名验证通过,新节点确定对所述目标节点的身份认证成功,新节点将目标节点的公钥加入新节点的可信节点列表,并配置其有效期。此后,新节点可以与目标节点彼此进行通信。In step 343, the new node performs signature verification on the signed communication encrypted symmetric key to obtain the public key of the target node. If the signature verification passes, the new node determines that the identity authentication of the target node is successful, and the new node will target the node. The public key is added to the list of trusted nodes of the new node and configured for its validity period. Thereafter, the new node can communicate with the target node with each other.
在用通信加密随机数来代替通信加密对称密钥的情况下,新节点及目标节点在通信之前需根据通信加密随机数来计算加密密钥,使用加密密钥来进行加密通信。其中,通信加密随机数可以是由新节点产生的与明文字节数一样长度的真随机数字节。再进行加密密钥生成时,可以通过与明文一对一的顺序相加或者异或起来生成加密密钥。解密则是做加密的逆运算。In the case where the communication encryption random number is used instead of the communication encryption symmetric key, the new node and the target node need to calculate the encryption key according to the communication encrypted random number before the communication, and use the encryption key to perform the encrypted communication. The communication encrypted random number may be a true random number segment generated by the new node and having the same length as the plaintext byte number. When the encryption key is generated, the encryption key can be generated by adding or XORing the plaintext one-to-one. Decryption is the inverse of encryption.
可见,通过本公开上述技术方案,新节点与目标节点的双向认证直接利用了区块链网络节点账户的公私钥,不需要中心化的第三方参与数字证书,避免了数字证书颁发所带来的高复杂度,实现了区块链网络节点间安全访问。而且,目标节点采用挑战应答的方式以防重放攻击,后续加密通信的加密密钥由新节点客户端产生,并在双向认证过程中传递给对方,减少了交互次数,身份认证效率更高。It can be seen that, through the above technical solution of the present disclosure, the two-way authentication of the new node and the target node directly utilizes the public and private keys of the node of the blockchain network node, and does not require a centralized third party to participate in the digital certificate, thereby avoiding the digital certificate issuance. High complexity enables secure access between nodes in the blockchain network. Moreover, the target node adopts a challenge response manner to prevent replay attacks, and the encryption key of the subsequent encrypted communication is generated by the new node client, and is transmitted to the other party in the two-way authentication process, which reduces the number of interactions, and the identity authentication efficiency is higher.
图4是根据本公开第二方面一示例性实施例提供的一种安全访问区块链的装置400的框图。该装置配置于准备访问区块链网络中目标节点的新节点。如图4所示,该装置可以包括:判断模块410、背书获取模块420、公钥提供模块430、目标身份认证模块440。FIG. 4 is a block diagram of an apparatus 400 for securely accessing a blockchain, according to an exemplary embodiment of the second aspect of the present disclosure. The device is configured to a new node that is ready to access a target node in the blockchain network. As shown in FIG. 4, the apparatus may include: a determining module 410, an endorsement obtaining module 420, a public key providing module 430, and a target identity authentication module 440.
该判断模块410,可以被配置为判断是否需要所述区块链网络中预置的可信节点对所述目标节点背书。The determining module 410 may be configured to determine whether a trusted node preset in the blockchain network is required to endorse the target node.
该背书获取模块420,可以被配置为在需要所述可信节点对所述目标节点背书的情况下,获取所述可信节点使用自身私钥对所述目标节点公钥进行签名得到的背书数据。The endorsement obtaining module 420 may be configured to acquire, when the trusted node is required to endorse the target node, the endorsement data obtained by the trusted node using the private key to sign the target node public key. .
该公钥提供模块430,可以被配置为将所述新节点的公钥提供给所述目标节点,其中,所述新节点的公钥用于使所述目标节点在所述区块链网络预置的许可权限中查询所述新节点的公钥对应的账户地址拥有的许可权限,根据查询出的许可权限确定对所述新节点的身份认证是否成功。The public key providing module 430 may be configured to provide the public key of the new node to the target node, wherein a public key of the new node is used to pre-stage the target node in the blockchain network The permission permission of the account address corresponding to the public key of the new node is queried, and the identity authentication of the new node is determined according to the privileged permission.
该目标身份认证模块440,可以被配置为对所述背书数据进行签名验证,如果签名验证通过,确定对所述目标节点的身份认证成功。The target identity authentication module 440 can be configured to perform signature verification on the endorsement data, and if the signature verification is passed, determine that the identity authentication of the target node is successful.
可见,通过本公开上述技术方案,准备访问区块链网络的新节点获取区块链网络中预置的可信节点使用自身私钥对目标节点公钥进行签名得到的背书数据,对背书数据进行签名验证,如果签名验证通过,确定对目标节点的身份认证成功,身份认证直接利用了区块链网络节点账户的公私钥,不需要中心化的第三方参与数字证书,避免了数字证书颁发所带来的高复杂度,实现了区块链网络节点间安全访问。It can be seen that, through the foregoing technical solution of the present disclosure, a new node that is ready to access the blockchain network acquires endorsement data obtained by the trusted node preset in the blockchain network using the private key to sign the target node public key, and performs endorsement data on the endorsement data. Signature verification, if the signature verification is passed, it is determined that the identity authentication of the target node is successful, and the identity authentication directly utilizes the public and private keys of the blockchain network node account, and does not require a centralized third party to participate in the digital certificate, thereby avoiding the digital certificate issuance. The high complexity has resulted in secure access between nodes in the blockchain network.
图5是根据本公开第二方面另一示例性实施例提供的一种安全访问区块链的装置500的框图。如图5所示,在该装置中,背书获取模块420可以包括:第一请求发送子模块421,可以被配置为在需要所述可信节点对所述目标节点背书的情况下,将所述可信节点的IP或域名及背书确定指示发送给所述目标节点。第一背书接收子模块422,可以被配置为接收所述目标节点针对所述背书确定指示发送的背书数据。FIG. 5 is a block diagram of an apparatus 500 for securely accessing a blockchain, according to another exemplary embodiment of the second aspect of the present disclosure. As shown in FIG. 5, in the apparatus, the endorsement obtaining module 420 may include: a first request sending submodule 421, and may be configured to: if the trusted node is required to endorse the target node, The IP or domain name and endorsement determination indication of the trusted node is sent to the target node. The first endorsement receiving sub-module 422 may be configured to receive endorsement data sent by the target node for the endorsement determination indication.
一种可能的实施方式中,所述背书确定指示可以用于使所述目标节点根据所述可信节点的IP或域名从本地查询出预先存储的、所述可信节点使用自身私钥对所述目标节点公钥进行签名得到的背书数据,在所述背书数据未过期的情况下,将所述背书数据发送给所述新节点。在该实施方式中,在目标节点本地不存在未过期的背书数据的情况下,则可以向可信节点发出相应背书请求,从所述可信节点获得背书数据,将所述背书数据发送给所述新节点。由于该实施方式从目标节点本地获取背书数据,不必每次都从可信节点获取背书数据,有效减轻了可信节点的负担。In a possible implementation manner, the endorsement determination indication may be used to enable the target node to locally query, according to the IP address or the domain name of the trusted node, the pre-stored, trusted node to use its own private key pair. The endorsement data obtained by signing the target node public key is sent to the new node if the endorsement data has not expired. In this embodiment, if there is no unexpired endorsement data locally in the target node, the corresponding endorsement request may be sent to the trusted node, the endorsement data is obtained from the trusted node, and the endorsement data is sent to the Describe the new node. Since the embodiment obtains the endorsement data locally from the target node, it is not necessary to obtain the endorsement data from the trusted node every time, thereby effectively reducing the burden on the trusted node.
另一种可能的实施方式中,所述背书确定指示可以用于使所述目标节点直接向所述可信节点发出相应的背书请求,从所述可信节点获得背书数据,将所述背书数据发送给所述新节点。In another possible implementation manner, the endorsement determination indication may be used to enable the target node to issue a corresponding endorsement request directly to the trusted node, obtain endorsement data from the trusted node, and use the endorsement data Sent to the new node.
图6是根据本公开第二方面又一示例性实施例提供的一种安全访问区块链的装置600的框图。如图6所示,在该装置中,背书获取模块420可以包括:第二请求发送子模块423,可以被配置为在需要所述可信节点对所述目标节点背书的情况下,将背书请求发送给所述可信节点。第二背书接收子模块424,可以被配置为接收所述可信节点针对所述背书请求反馈的背书数据。FIG. 6 is a block diagram of an apparatus 600 for securely accessing a blockchain, according to yet another exemplary embodiment of the second aspect of the present disclosure. As shown in FIG. 6, in the apparatus, the endorsement obtaining module 420 may include: a second request sending submodule 423, which may be configured to request an endorsement if the trusted node is required to endorse the target node Sent to the trusted node. The second endorsement receiving sub-module 424 can be configured to receive endorsement data that the trusted node requests feedback for the endorsement.
在该实施方式中,新节点直接从可信节点获取背书数据,背书数据不经过目标节点,安全性更高。In this embodiment, the new node directly obtains the endorsement data from the trusted node, and the endorsement data does not pass through the target node, and the security is higher.
一可能的实施方式中,如图5及图6所示,该装置还可以包括:通信加密数据产生模块450,可以被配置为产生通信加密数据。其中,所述通信加密数据用于所述新节点与所述目标节点在身份认证通过后使用所述通信加密数据彼此进行加密通信。通信加密数据加密模块451,可以被配置为对所述通信加密数据进行加密。通信加密数据发送模块452,可以被配置为在将所述背书确定指示发送给所述目标节点时,将加密后的所述通信加密数据与所述背书确定指示一同发送给所述目标节点。其中,所述通信加密数据可以包括:通信加密对称密钥,或者,通信加密随机数。In a possible implementation, as shown in FIG. 5 and FIG. 6, the apparatus may further include: a communication encrypted data generating module 450, which may be configured to generate communication encrypted data. The communication encrypted data is used by the new node and the target node to perform encrypted communication with each other using the communication encrypted data after the identity authentication is passed. The communication encrypted data encryption module 451 can be configured to encrypt the communication encrypted data. The communication encrypted data transmitting module 452 may be configured to, when transmitting the endorsement determination indication to the target node, transmit the encrypted communication encrypted data together with the endorsement determination indication to the target node. The communication encrypted data may include: a communication encryption symmetric key, or a communication encryption random number.
通过该实施方式,减少了新节点与目标节点交互次数,提高了认证效率。Through this embodiment, the number of interactions between the new node and the target node is reduced, and the authentication efficiency is improved.
又一可能的实施方式中,如图5及图6所示,该装置还可以包括:挑战码接收模块460,可以被配置为从所述目标节点接收随机挑战码。挑战码签名模块461,可以被配置为使用所述新节点自身私钥对所述随机挑战码进行签名。挑战码发送模块462,可以被配置为将签名后的所述随机挑战码发送给所述目标节点。In another possible implementation manner, as shown in FIG. 5 and FIG. 6, the apparatus may further include: a challenge code receiving module 460, configured to receive a random challenge code from the target node. The challenge code signature module 461 can be configured to sign the random challenge code using the new node's own private key. The challenge code sending module 462 can be configured to send the signed random challenge code to the target node.
通过该实施方式,可以防止重放攻击,提高节点间交互的安全性。With this embodiment, replay attacks can be prevented and the security of interaction between nodes can be improved.
图7是根据本公开第三方面一示例性实施例提供的一种安全访问区块链的方法的流程图。该方法应用于区块链网络中的目标节点。如图7所示,该方法可以包括:FIG. 7 is a flowchart of a method for securely accessing a blockchain according to an exemplary embodiment of the third aspect of the present disclosure. The method is applied to a target node in a blockchain network. As shown in FIG. 7, the method may include:
在步骤710中,目标节点响应于接收到新节点发出的访问或接入请求,获取所述新节点的公钥。In step 710, the target node acquires the public key of the new node in response to receiving an access or access request issued by the new node.
一种可能的实施方式中,目标节点还可以接收所述新节点发送的可信节点的IP或域名及背书确定指示,根据接收到所述背书确定指示,从本地查询出该IP或域名所对应的预先存储的背书数据,其中,所述背书数据是由所述可信节点使用自身私钥对所述目标节点公钥进行签名得到,在所述背书数据未过期的情况下,将所述背书数据发送给所述新节点。例如,在该实施方式中,新节点发送的可信节点的IP或域名及背书确定指示可以携带在新节点发出的访问或接入请求中,目标节点从该访问或接入请求中获得可信节点的IP或域名及背书确定指示。In a possible implementation manner, the target node may further receive an IP address or a domain name and an endorsement determination indication of the trusted node sent by the new node, and according to the receiving the endorsement determination indication, locally query the corresponding IP or domain name. Pre-stored endorsement data, wherein the endorsement data is obtained by the trusted node using the private key to sign the target node public key, and if the endorsement data has not expired, the endorsement is performed Data is sent to the new node. For example, in this embodiment, the IP or domain name and endorsement determination indication of the trusted node sent by the new node may be carried in an access or access request sent by the new node, and the target node obtains the trusted from the access or access request. The IP or domain name of the node and the endorsement determine the indication.
另一种可能的实施方式中,目标节点还可以接收所述新节点发送的可信节点的IP或域名及背书确定指示,根据接收到所述背书确定指示,向所述IP或域名对应的可信节点发出背书请求,其中,所述背书请求用于使所述可信节点获取所述目标节点的公钥,使用所述可信节点自身私钥对所述目标节点的公钥进行签名得到背书数据,目标节点从所述可信节点获得所述背书数据,目标节点将所述背书数据发送给所述新节点。In another possible implementation manner, the target node may further receive an IP or a domain name and an endorsement determination indication of the trusted node sent by the new node, and according to the receiving the endorsement determination indication, may correspond to the IP or the domain name. The letter node sends an endorsement request, wherein the endorsement request is used to enable the trusted node to acquire the public key of the target node, and use the trusted node's own private key to sign the public key of the target node to obtain an endorsement Data, the target node obtains the endorsement data from the trusted node, and the target node sends the endorsement data to the new node.
在步骤720中,在所述区块链网络预置的许可权限中查询所述新节点的公钥对应的账户地址拥有的许可权限。In step 720, the license authority owned by the account address corresponding to the public key of the new node is queried in the license authority preset by the blockchain network.
在步骤730中,根据查询出的许可权限确定对所述新节点的身份认证是否成功。In step 730, it is determined whether the identity authentication of the new node is successful according to the queried permission.
通过本公开上述技术方案,由于目标节点在区块链网络预置的许可权限中查询出新节点的公钥对应的账户地址拥有的许可权限,根据查询出的许可权限确定对新节点的身份认证是否成功,因此,身份认证直接利用了区块链网络节点账户的公私钥,不需要中心化的第三方参与数字证书,避免了数字证书颁发所带来的高复杂度,实现了区块链网络节点间安全访问。Through the above technical solution of the present disclosure, the target node determines the license right of the account address corresponding to the public key of the new node in the permission permission preset by the blockchain network, and determines the identity authentication of the new node according to the checked permission. Whether it is successful, therefore, the identity authentication directly utilizes the public and private keys of the blockchain network node account, and does not require a centralized third party to participate in the digital certificate, thereby avoiding the high complexity brought by the digital certificate issuance and realizing the blockchain network. Secure access between nodes.
另外,还可以参考图3所示信令交互示意图来进一步详细了解本公开提供的应用于目标节点的安全访问区块链的方法,在此不再赘述。In addition, the method for the secure access block chain applied to the target node provided by the present disclosure may be further described in detail with reference to the signaling interaction diagram shown in FIG. 3 , and details are not described herein again.
图8是根据本公开第四方面一示例性实施例提供的一种安全访问区块链的装置800的框图。该装置配置于区块链网络中的目标节点。如图8所示,该装置可以包括:新节点公钥获取模块810、新节点权限查询模块820、新节点身份认证模块830。FIG. 8 is a block diagram of an apparatus 800 for securely accessing a blockchain, according to an exemplary embodiment of the fourth aspect of the present disclosure. The device is configured at a target node in a blockchain network. As shown in FIG. 8, the apparatus may include: a new node public key obtaining module 810, a new node authority querying module 820, and a new node identity authentication module 830.
该新节点公钥获取模块810,可以被配置为响应于接收到新节点发出的访问或接入请求,获取所述新节点的公钥。The new node public key obtaining module 810 can be configured to acquire the public key of the new node in response to receiving an access or access request issued by the new node.
该新节点权限查询模块820,可以被配置为在所述区块链网络预置的许可权限中查询所述新节点的公钥对应的账户地址拥有的许可权限。The new node permission query module 820 can be configured to query the license rights owned by the account address corresponding to the public key of the new node in the license rights preset by the blockchain network.
该新节点身份认证模块830,可以被配置为根据查询出的许可权限确定对所述新节点的身份认证是否成功。The new node identity authentication module 830 can be configured to determine whether the identity authentication of the new node is successful according to the queried permission.
图9是根据本公开第四方面另一示例性实施例提供的一种安全访问区块链的装置900的框图。如图9所示,该装置还可以包括:背书指示获取模块840,可以被配置为接收所述新节点发送的可信节点的IP或域名及背书确定指示。背书数据查询模块841,可以被配置为根据接收到所述背书确定指示,从本地查询出该IP或域名所对应的预先存储的背书数据,其中,所述背书数据是由所述可信节点使用自身私钥对所述目标节点公钥进行签名得到。背书发送第一模块842,可以被配置为在所述背书数据未过期的情况下,将所述背书数据发送给所述新节点。FIG. 9 is a block diagram of an apparatus 900 for securely accessing a blockchain, according to another exemplary embodiment of the fourth aspect of the present disclosure. As shown in FIG. 9, the apparatus may further include: an endorsement indication obtaining module 840, configured to receive an IP or domain name and an endorsement determination indication of the trusted node sent by the new node. The endorsement data query module 841 may be configured to, according to the receipt of the endorsement determination indication, locally query the pre-stored endorsement data corresponding to the IP or the domain name, wherein the endorsement data is used by the trusted node. The private key of the target node is signed by the private key. The endorsement sending first module 842 can be configured to send the endorsement data to the new node if the endorsement data has not expired.
图10是根据本公开第四方面又一示例性实施例提供的一种安全访问区块链的装置1000的框图。如图10所示,该装置还可以包括:背书指示获取模块1010,可以被配置为接收所述新节点发送的可信节点的IP或域名及背书确定指示。背书请求发送模块1011,可以被配置为根据接收到所述背书确定指示,向所述IP或域名对应的可信节点发出背书请求,其中,所述背书请求用于使所述可信节点获取所述目标节点的公钥,使用所述可信节点自身私钥对所述目标节点的公钥进行签名得到背书数据。背书数据接收模块1012,可以被配置为从所述可信节点获得所述背书数据。背书发送第二模块1013,可以被配置为将所述背书数据发送给所述新节点。FIG. 10 is a block diagram of an apparatus 1000 for securely accessing a blockchain, according to yet another exemplary embodiment of the fourth aspect of the present disclosure. As shown in FIG. 10, the apparatus may further include: an endorsement indication obtaining module 1010, configured to receive an IP or domain name and an endorsement determination indication of the trusted node sent by the new node. The endorsement request sending module 1011 may be configured to issue an endorsement request to the trusted node corresponding to the IP or the domain name according to the received endorsement determination indication, where the endorsement request is used to obtain the trusted node Describe the public key of the target node, and use the trusted node's own private key to sign the public key of the target node to obtain endorsement data. The endorsement data receiving module 1012 can be configured to obtain the endorsement data from the trusted node. The endorsement sending second module 1013 can be configured to send the endorsement data to the new node.
可见,由于本公开上述技术方案中目标节点在区块链网络预置的许可权限中查询出新节点的公钥对应的账户地址拥有的许可权限,根据查询出的许可权限确定对新节点的身份认证是否成功,因此,身份认证直接利用了区块链网络节点账户的公私钥,不需要中心化的第三方参与数字证书,避免了数字证书颁发所带来的高复杂度,实现了区块链网络节点间安全访问。It can be seen that, in the foregoing technical solution of the present disclosure, the target node queries the permission permission of the account address corresponding to the public key of the new node in the permission permission preset by the blockchain network, and determines the identity of the new node according to the obtained permission permission. Whether the authentication is successful, therefore, the identity authentication directly utilizes the public and private keys of the blockchain network node account, and does not require a centralized third party to participate in the digital certificate, thereby avoiding the high complexity brought by the digital certificate issuance and realizing the blockchain. Secure access between network nodes.
图11是根据本公开第五方面一示例性实施例提供的一种安全访问区块链的方法的流程图。该方法应用于区块链网络中预置的可信节点。如图11所示,该方法可以包括:FIG. 11 is a flowchart of a method for securely accessing a blockchain according to an exemplary embodiment of the fifth aspect of the present disclosure. The method is applied to a trusted node preset in a blockchain network. As shown in FIG. 11, the method may include:
在步骤1110中,可信节点响应于准备访问区块链网络中目标节点的新节点需要可信节点对目标节点背书,获取所述目标节点的公钥。In step 1110, the trusted node responds to the new node that is ready to access the target node in the blockchain network, and the trusted node needs to endorse the target node to obtain the public key of the target node.
一种可能的实施方式中,可信节点可以响应于接收到所述目标节点发送的背书请求,获取所述目标节点的公钥,其中,所述背书请求是由所述目标节点根据接收到所述新节点发送的可信节点的IP或域名及背书确定指示相应发出的。In a possible implementation manner, the trusted node may acquire the public key of the target node in response to receiving the endorsement request sent by the target node, where the endorsement request is received by the target node according to the The IP or domain name of the trusted node sent by the new node and the endorsement determination indication are correspondingly issued.
另一种可能的实施方式中,可信节点可以响应于从新节点接收到对所述目标节点的背书请求,获取所述目标节点的公钥。In another possible implementation manner, the trusted node may acquire the public key of the target node in response to receiving an endorsement request for the target node from the new node.
在步骤1120中,使用所述可信节点自身私钥对所述目标节点的公钥进行签名得到背书数据。In step 1120, the public key of the target node is signed using the trusted node's own private key to obtain endorsement data.
在从目标节点接收背书请求的实施方式中,可信节点还可以在所述区块链网络预置的许可权限中查询所述目标节点的公钥对应的账户地址拥有的许可权限,根据查询出的许可权限确定是否对所述目标节点进行背书,在确定对所述目标节点进行背书的情况下,再进入所述使用所述可信节点自身私钥对所述目标节点的公钥进行签名得到背书数据的步骤。In an implementation manner of receiving an endorsement request from the target node, the trusted node may further query, in the permission permission preset by the blockchain network, the permission permission of the account address corresponding to the public key of the target node, according to the query. The permission authority determines whether to endorse the target node, and if it is determined to endorse the target node, re-enter the signature of the public key of the target node by using the private key of the trusted node itself The step of endorsing data.
在步骤1130中,将所述背书数据提供给所述新节点,以便使所述新节点对所述背书数据进行签名验证,如果所述新节点签名验证通过,所述新节点确定对所述目标节点的身份认证成功。In step 1130, the endorsement data is provided to the new node, so that the new node performs signature verification on the endorsement data, and if the new node signature verification passes, the new node determines the target The identity authentication of the node is successful.
例如,在从目标节点接收背书请求的实施方式中,可以将所述背书数据发送给所述目标节点,所述背书数据经过所述目标节点发送给所述新节点。For example, in an embodiment in which an endorsement request is received from a target node, the endorsement data may be sent to the target node, and the endorsement data is sent to the new node via the target node.
再例如,在从新节点接收背书请求的实施方式中,可以将所述背书数据直接发送给所述新节点。As another example, in an embodiment in which an endorsement request is received from a new node, the endorsement data can be sent directly to the new node.
通过本公开上述技术方案,由于可信节点使用自身私钥对所述目标节点的公钥进行签名得到背书数据,将所述背书数据提供给所述新节点,因此,本公开新节点与目标节点的双向认证直接利用了区块链网络节点账户的公私钥,不需要中心化的第三方参与数字证书,避免了数字证书颁发所带来的高复杂度,实现了区块链网络节点间安全访问。Through the above technical solution of the present disclosure, since the trusted node uses the private key to sign the public key of the target node to obtain endorsement data, the endorsement data is provided to the new node, and therefore, the new node and the target node of the present disclosure The two-way authentication directly utilizes the public and private keys of the blockchain network node account, and does not require a centralized third party to participate in the digital certificate, thereby avoiding the high complexity brought by the digital certificate issuance and realizing the secure access between the nodes of the blockchain network. .
另外,还可以参考图3所示信令交互示意图来进一步详细了解本公开提供的应用于可信节点的安全访问区块链的方法,在此不再赘述。In addition, the method for the secure access block chain applied to the trusted node provided by the present disclosure may be further described in detail with reference to the signaling interaction diagram shown in FIG. 3 , and details are not described herein again.
图12是根据本公开第六方面一示例性实施例提供的一种安全访问区块链的装置1200的框图。该装置配置于区块链网络中的可信节点。如图12所示,该装置可以包括:目标公钥获取模块1210、签名模块1220、背书提供模块1230。FIG. 12 is a block diagram of an apparatus 1200 for securely accessing a blockchain, according to an exemplary embodiment of the sixth aspect of the present disclosure. The device is configured on a trusted node in a blockchain network. As shown in FIG. 12, the apparatus may include: a target public key obtaining module 1210, a signature module 1220, and an endorsement providing module 1230.
该目标公钥获取模块1210,可以被配置为响应于准备访问区块链网络中目标节点的新节点需要可信节点对目标节点背书,获取所述目标节点的公钥。The target public key obtaining module 1210 may be configured to acquire a public key of the target node in response to preparing a new node of the target node in the blockchain network to require the trusted node to endorse the target node.
该签名模块1220,可以被配置为使用所述可信节点自身私钥对所述目标节点的公钥进行签名得到背书数据。The signature module 1220 can be configured to use the trusted node's own private key to sign the public key of the target node to obtain endorsement data.
该背书提供模块1230,可以被配置为将所述背书数据提供给所述新节点,以便使所述新节点对所述背书数据进行签名验证,如果所述新节点签名验证通过,所述新节点确定对所述目标节点的身份认证成功。The endorsement providing module 1230 may be configured to provide the endorsement data to the new node, so that the new node performs signature verification on the endorsement data, and if the new node signature verification passes, the new node Determining that the identity authentication of the target node is successful.
一种可能的实施方式中,所述目标公钥获取模块1210可以被配置为响应于接收到所述目标节点发送的背书请求,获取所述目标节点的公钥,其中,所述背书请求是由所述目标节点根据接收到所述新节点发送的可信节点的IP或域名及背书确定指示相应发出的。所述背书提供模块1230可以被配置为将所述背书数据发送给所述目标节点,所述背书数据经过所述目标节点发送给所述新节点。In a possible implementation manner, the target public key obtaining module 1210 may be configured to acquire a public key of the target node in response to receiving an endorsement request sent by the target node, where the endorsement request is The target node is correspondingly sent according to the IP or domain name of the trusted node sent by the new node and the endorsement determination indication. The endorsement providing module 1230 may be configured to send the endorsement data to the target node, and the endorsement data is sent to the new node via the target node.
另一种可能的实施方式中,所述目标公钥获取模块1210可以被配置为响应于从新节点接收到对所述目标节点的背书请求,获取所述目标节点的公钥。所述背书提供模块1230可以被配置为将所述背书数据直接发送给所述新节点。In another possible implementation manner, the target public key obtaining module 1210 may be configured to acquire the public key of the target node in response to receiving an endorsement request to the target node from the new node. The endorsement providing module 1230 can be configured to send the endorsement data directly to the new node.
图13是根据本公开第六方面另一示例性实施例提供的一种安全访问区块链的装置1300的框图。如图13所示,该装置还可以包括:目标权限查询模块1240,可以被配置为在接收到所述目标节点发送的背书请求之后,在所述区块链网络预置的许可权限中查询所述目标节点的公钥对应的账户地址拥有的许可权限。背书确定模块1241,可以被配置为根据查询出的许可权限确定是否对所述目标节点进行背书。所述签名模块1220可以被配置为在所述背书确定模块确定对所述目标节点进行背书的情况下,执行所述使用可信节点自身私钥对所述目标节点的公钥进行签名得到背书数据的步骤。FIG. 13 is a block diagram of an apparatus 1300 for securely accessing a blockchain, according to another exemplary embodiment of the sixth aspect of the present disclosure. As shown in FIG. 13, the apparatus may further include: a target authority querying module 1240, configured to query, in the permission permission preset by the blockchain network, after receiving the endorsement request sent by the target node The license authority owned by the account address corresponding to the public key of the target node. The endorsement determination module 1241 may be configured to determine whether to endorse the target node according to the queried permission. The signing module 1220 may be configured to execute the signing of the public key of the target node by using the trusted node's private key to obtain endorsement data if the endorsement determining module determines to endorse the target node. A step of.
通过本公开上述技术方案,由于可信节点使用自身私钥对所述目标节点的公钥进行签名得到背书数据,将所述背书数据提供给所述新节点,因此,本公开新节点与目标节点的双向认证直接利用了区块链网络节点账户的公私钥,不需要中心化的第三方参与数字证书,避免了数字证书颁发所带来的高复杂度,实现了区块链网络节点间安全访问。Through the above technical solution of the present disclosure, since the trusted node uses the private key to sign the public key of the target node to obtain endorsement data, the endorsement data is provided to the new node, and therefore, the new node and the target node of the present disclosure The two-way authentication directly utilizes the public and private keys of the blockchain network node account, and does not require a centralized third party to participate in the digital certificate, thereby avoiding the high complexity brought by the digital certificate issuance and realizing the secure access between the nodes of the blockchain network. .
图14是根据一示例性实施例示出的一种电子设备1400的框图。如图14所示,该电子设备1400可以包括:处理器1401,存储器1402,多媒体组件1403,输入/输出(I/O)接口1404,以及通信组件1405。FIG. 14 is a block diagram of an electronic device 1400, according to an exemplary embodiment. As shown in FIG. 14, the electronic device 1400 can include a processor 1401, a memory 1402, a multimedia component 1403, an input/output (I/O) interface 1404, and a communication component 1405.
其中,处理器1401用于控制该电子设备1400的整体操作,以完成上述的安全访问区块链的方法中的全部或部分步骤。存储器1402用于存储各种类型的数据以支持在该电子设备1400的操作,这些数据例如可以包括用于在该电子设备1400上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器1402可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。多媒体组件1403可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器1402或通过通信组件1405发送。音频组件还包括至少一个扬声器,用于输出音频信号。I/O接口1404为处理器1401和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件1405用于该电子设备1400与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(Near Field Communication,简称NFC),2G、3G或4G,或它们中的一种或几种的组合,因此相应的该通信组件1405可以包括:Wi-Fi模块,蓝牙模块,NFC模块。The processor 1401 is configured to control the overall operation of the electronic device 1400 to complete all or part of the steps of the method for securely accessing the blockchain. The memory 1402 is configured to store various types of data to support operations at the electronic device 1400, such as may include instructions for any application or method operating on the electronic device 1400, and application related data, For example, contact data, sent and received messages, pictures, audio, video, and so on. The memory 1402 can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as a static random access memory (SRAM), an electrically erasable programmable read only memory ( Electrically Erasable Programmable Read-Only Memory (EEPROM), Erasable Programmable Read Only Memory (Erasable) Programmable Read-Only Memory (EPROM), Programmable Read-Only Memory (PROM), Read-Only Memory (ROM), magnetic memory, flash memory, disk or optical disk. The multimedia component 1403 can include a screen and an audio component. The screen may be, for example, a touch screen, and the audio component is used to output and/or input an audio signal. For example, the audio component can include a microphone for receiving an external audio signal. The received audio signal may be further stored in memory 1402 or transmitted via communication component 1405. The audio component also includes at least one speaker for outputting an audio signal. The I/O interface 1404 provides an interface between the processor 1401 and other interface modules, such as a keyboard, a mouse, a button, and the like. These buttons can be virtual buttons or physical buttons. The communication component 1405 is used for wired or wireless communication between the electronic device 1400 and other devices. Wireless communication, such as Wi-Fi, Bluetooth, Near Field Communication (NFC), 2G, 3G or 4G, or a combination of one or more of them, so the corresponding communication component 1405 can include: Wi-Fi module, Bluetooth module, NFC module.
在一示例性实施例中,电子设备1400可以被一个或多个应用专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器(Digital Signal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的安全访问区块链的方法。In an exemplary embodiment, the electronic device 1400 may be configured by one or more application specific integrated circuits (Application Specific) Integrated Circuit (ASIC), Digital Signal Processor (DSP), Digital Signal Processing Device (DSPD), Programmable Logic Device (PLD), field programmable A Field Programmable Gate Array (FPGA), controller, microcontroller, microprocessor or other electronic component implementation for performing the above method of securely accessing a blockchain.
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,例如包括程序指令的存储器1402,上述程序指令可由电子设备1400的处理器1401执行以完成上述的安全访问区块链的方法。In another exemplary embodiment, there is also provided a computer readable storage medium comprising program instructions, such as a memory 1402 comprising program instructions executable by processor 1401 of electronic device 1400 to perform the secure access described above Blockchain approach.
另外,本公开还提供了一种安全访问区块链的系统。在该系统中可以包括至少一个如上述实施例所述的电子设备所实现的新节点,至少一个如上述实施例所述的电子设备所实现的新节点,至少一个如上述实施例所述的电子设备所实现的目标节点,至少一个如上述实施例所述的电子设备所实现的可信节点。其中,如上述实施例所述的电子设备所实现的新节点、如上述实施例所述的电子设备所实现的目标节点、如上述实施例所述的电子设备所实现的可信节点属于同一区块链网络。In addition, the present disclosure also provides a system for securely accessing a blockchain. The system may include at least one new node implemented by the electronic device as described in the above embodiments, at least one new node implemented by the electronic device as described in the above embodiment, at least one electronic device as described in the above embodiment The target node implemented by the device, at least one trusted node implemented by the electronic device as described in the above embodiments. The trusted node implemented by the electronic device as described in the foregoing embodiment, the target node implemented by the electronic device as described in the foregoing embodiment, and the electronic device as described in the foregoing embodiment belong to the same area. Blockchain network.
综上所述,本公开新节点与目标节点的双向认证直接利用了区块链网络节点账户的公私钥,不需要中心化的第三方参与数字证书,避免了数字证书颁发所带来的高复杂度,实现了区块链网络节点间安全访问。In summary, the two-way authentication of the new node and the target node of the present disclosure directly utilizes the public and private keys of the blockchain network node account, and does not require a centralized third party to participate in the digital certificate, thereby avoiding the high complexity brought by the digital certificate issuance. Degrees, achieve secure access between nodes in the blockchain network.
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。The preferred embodiments of the present disclosure have been described in detail above with reference to the accompanying drawings. However, the present disclosure is not limited to the specific details of the above embodiments, and various simple modifications can be made to the technical solutions of the present disclosure within the scope of the technical idea of the present disclosure. These simple variations are all within the scope of the disclosure.
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。It should be further noted that the specific technical features described in the above specific embodiments may be combined in any suitable manner without contradiction. In order to avoid unnecessary repetition, the present disclosure is applicable to various possibilities. The combination method will not be described separately.
此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。In addition, any combination of various embodiments of the present disclosure may be made as long as it does not deviate from the idea of the present disclosure, and should also be regarded as the disclosure of the present disclosure.
Claims (31)
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/CN2017/119575 WO2019127278A1 (en) | 2017-12-28 | 2017-12-28 | Safe access blockchain method, apparatus, system, storage medium, and electronic device |
| CN201780002593.7A CN108235806B (en) | 2017-12-28 | 2017-12-28 | Method, device and system for safely accessing block chain, storage medium and electronic equipment |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/CN2017/119575 WO2019127278A1 (en) | 2017-12-28 | 2017-12-28 | Safe access blockchain method, apparatus, system, storage medium, and electronic device |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2019127278A1 true WO2019127278A1 (en) | 2019-07-04 |
Family
ID=62643269
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2017/119575 Ceased WO2019127278A1 (en) | 2017-12-28 | 2017-12-28 | Safe access blockchain method, apparatus, system, storage medium, and electronic device |
Country Status (2)
| Country | Link |
|---|---|
| CN (1) | CN108235806B (en) |
| WO (1) | WO2019127278A1 (en) |
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN108989468A (en) * | 2018-08-31 | 2018-12-11 | 北京八分量信息科技有限公司 | A kind of trust network construction method and device |
| CN110933108A (en) * | 2019-09-26 | 2020-03-27 | 腾讯科技(深圳)有限公司 | Data processing method and device based on block chain network, electronic equipment and storage medium |
| CN111478769A (en) * | 2020-03-18 | 2020-07-31 | 西安电子科技大学 | A distributed trusted identity authentication method, system, storage medium and terminal |
| CN114153918A (en) * | 2021-11-10 | 2022-03-08 | 卓尔智联(武汉)研究院有限公司 | A node determination method, device, electronic device and storage medium |
| CN114221824A (en) * | 2022-02-22 | 2022-03-22 | 北京悦游信息技术有限公司 | Security access control method, system and readable storage medium for private area network |
| US11405364B1 (en) | 2021-03-04 | 2022-08-02 | International Business Machines Corporation | Privacy-preserving endorsements in blockchain transactions |
Families Citing this family (36)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110677376B (en) * | 2018-07-03 | 2022-03-22 | 中国电信股份有限公司 | Authentication method, related device and system and computer readable storage medium |
| CN109146683A (en) * | 2018-08-01 | 2019-01-04 | 江苏恒宝智能系统技术有限公司 | A kind of information management and Verification System using block chain |
| CN110839002B (en) * | 2018-08-15 | 2022-05-17 | 华为云计算技术有限公司 | Cloud account opening, authentication and access method and device |
| CN109344628B (en) * | 2018-08-23 | 2022-07-08 | 达闼机器人股份有限公司 | Method for managing trusted nodes in block chain network, nodes and storage medium |
| CN109117674A (en) * | 2018-09-25 | 2019-01-01 | 深圳市元征科技股份有限公司 | A kind of client validation encryption method, system, equipment and computer media |
| RU2718959C1 (en) * | 2018-11-16 | 2020-04-15 | Алибаба Груп Холдинг Лимитед | Domain name control scheme for cross-chain interactions in blockchain systems |
| CN109740370A (en) * | 2018-12-12 | 2019-05-10 | 北京世纪互联宽带数据中心有限公司 | Data access method and its device, electronic equipment, computer-readable medium |
| CN109886036B (en) * | 2019-01-02 | 2020-12-01 | 广州大学 | Blockchain-based domain name distributed authentication method, device and blockchain network |
| CN109905388B (en) * | 2019-02-20 | 2021-12-07 | 中国互联网络信息中心 | Domain name credit processing method and system based on block chain |
| CN109996229B (en) * | 2019-02-28 | 2022-06-24 | 达闼机器人股份有限公司 | Data transmission method, device, electronic device and storage medium based on DHT network |
| CN110611647A (en) * | 2019-03-06 | 2019-12-24 | 张超 | Node joining method and device on block chain system |
| CN109961292B (en) * | 2019-03-22 | 2022-04-01 | 杭州复杂美科技有限公司 | Block chain verification code application method, equipment and storage medium |
| CN110046521B (en) * | 2019-04-24 | 2023-04-18 | 成都派沃特科技股份有限公司 | Decentralized privacy protection method |
| CN110213264A (en) * | 2019-05-30 | 2019-09-06 | 全链通有限公司 | Auth method, equipment and storage medium based on alliance's block chain |
| CN110266659B (en) * | 2019-05-31 | 2020-09-25 | 联想(北京)有限公司 | Data processing method and equipment |
| CN110210209A (en) * | 2019-06-06 | 2019-09-06 | 中星技术股份有限公司 | The method and apparatus for managing picture pick-up device |
| CN112311735B (en) * | 2019-07-30 | 2021-11-19 | 华为技术有限公司 | Credible authentication method, network equipment, system and storage medium |
| CN110381167B (en) * | 2019-08-09 | 2022-02-08 | 中国工商银行股份有限公司 | Cloud-based block link point active discovery system and method |
| CN110851857B (en) | 2019-10-14 | 2022-07-01 | 上海唯链信息科技有限公司 | A method and device for realizing identity endorsement on blockchain |
| CN112713990A (en) * | 2019-10-25 | 2021-04-27 | 驷途(上海)科技有限公司 | Identity authentication system |
| CN110851813B (en) * | 2019-11-11 | 2021-01-26 | 北京海益同展信息科技有限公司 | Identity verification method, node device of block chain system and block chain system |
| CN111222885B (en) * | 2019-11-13 | 2021-04-16 | 腾讯科技(深圳)有限公司 | Data processing request endorsement method and device, computer equipment and storage medium |
| CN111010372A (en) * | 2019-11-20 | 2020-04-14 | 国家信息中心 | Blockchain network identity authentication system, data processing method and gateway device |
| CN111092958B (en) * | 2019-12-27 | 2022-10-21 | 深圳市迅雷网络技术有限公司 | A node access method, device, system and storage medium |
| CN111294205A (en) * | 2020-02-24 | 2020-06-16 | 联想(北京)有限公司 | Key management method and device, computer system and readable storage medium |
| CN111447070B (en) * | 2020-03-26 | 2023-04-07 | 丁莉萍 | Block chain signature verification method and device and storage medium |
| CN111935075B (en) * | 2020-06-23 | 2024-08-23 | 浪潮云信息技术股份公司 | Digital identity issuing method, device and medium based on blockchain |
| CN111711646B (en) * | 2020-08-20 | 2020-11-24 | 飞天诚信科技股份有限公司 | Method and equipment for ensuring communication security of block chain P2P network node |
| CN112311556B (en) * | 2020-11-05 | 2024-05-24 | 北京领主科技有限公司 | Device authentication method, device control method, node, device and blockchain |
| CN112543098B (en) * | 2020-11-12 | 2021-10-01 | 西安交通大学 | Intelligent building mobile device authentication system and method based on challenge response mechanism |
| JP7312279B2 (en) | 2020-11-27 | 2023-07-20 | 達闥機器人股▲分▼有限公司 | MOBILE NETWORK ACCESS SYSTEM, METHOD, STORAGE MEDIUM AND ELECTRONIC DEVICE |
| CN112512048B (en) * | 2020-11-27 | 2022-07-12 | 达闼机器人股份有限公司 | Mobile network access system, method, storage medium and electronic device |
| WO2022150961A1 (en) * | 2021-01-12 | 2022-07-21 | 深圳大学 | Blockchain security monitoring method and apparatus, electronic device and storage medium |
| CN113364583B (en) * | 2021-05-31 | 2024-05-21 | 山东中科好靓基础软件技术有限公司 | Remote verification method based on decentralization network |
| CN115967623B (en) * | 2021-10-09 | 2025-09-05 | 中移(杭州)信息技术有限公司 | Device management method, device, electronic device, and storage medium |
| CN118826995A (en) * | 2023-09-18 | 2024-10-22 | 中国移动通信有限公司研究院 | Blockchain endorsement method, device, equipment and readable storage medium |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN106453636A (en) * | 2016-11-22 | 2017-02-22 | 深圳银链科技有限公司 | Credible block generation method and system |
| CN106796685A (en) * | 2016-12-30 | 2017-05-31 | 深圳前海达闼云端智能科技有限公司 | Block chain authority control method and device and node equipment |
| CN107070667A (en) * | 2017-06-07 | 2017-08-18 | 国民认证科技(北京)有限公司 | Identity identifying method, user equipment and server |
| CN107077674A (en) * | 2016-12-29 | 2017-08-18 | 深圳前海达闼云端智能科技有限公司 | Transaction verification processing method and device and node equipment |
Family Cites Families (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2015142765A1 (en) * | 2014-03-17 | 2015-09-24 | Coinbase, Inc | Bitcoin host computer system |
| US9876646B2 (en) * | 2015-05-05 | 2018-01-23 | ShoCard, Inc. | User identification management system and method |
| CN105488675B (en) * | 2015-11-25 | 2019-12-24 | 布比(北京)网络技术有限公司 | Block chain distributed shared general ledger construction method |
| CN107079036A (en) * | 2016-12-23 | 2017-08-18 | 深圳前海达闼云端智能科技有限公司 | Registration and authorization method, device and system |
| CN107171806B (en) * | 2017-05-18 | 2020-04-10 | 北京航空航天大学 | Mobile terminal network key negotiation method based on block chain |
| CN107392608B (en) * | 2017-07-11 | 2020-07-07 | 北京博晨技术有限公司 | Block chain system-based digital asset transaction method and block chain system |
| CN107451874A (en) * | 2017-07-27 | 2017-12-08 | 武汉天喻信息产业股份有限公司 | Electronic invoice integrated conduct method and system based on block chain |
| CN107403379B (en) * | 2017-08-07 | 2021-02-26 | 成都质数斯达克科技有限公司 | Data processing method and device and block chain core distributed system |
-
2017
- 2017-12-28 WO PCT/CN2017/119575 patent/WO2019127278A1/en not_active Ceased
- 2017-12-28 CN CN201780002593.7A patent/CN108235806B/en active Active
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN106453636A (en) * | 2016-11-22 | 2017-02-22 | 深圳银链科技有限公司 | Credible block generation method and system |
| CN107077674A (en) * | 2016-12-29 | 2017-08-18 | 深圳前海达闼云端智能科技有限公司 | Transaction verification processing method and device and node equipment |
| CN106796685A (en) * | 2016-12-30 | 2017-05-31 | 深圳前海达闼云端智能科技有限公司 | Block chain authority control method and device and node equipment |
| CN107070667A (en) * | 2017-06-07 | 2017-08-18 | 国民认证科技(北京)有限公司 | Identity identifying method, user equipment and server |
Cited By (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN108989468A (en) * | 2018-08-31 | 2018-12-11 | 北京八分量信息科技有限公司 | A kind of trust network construction method and device |
| CN108989468B (en) * | 2018-08-31 | 2021-03-30 | 北京八分量信息科技有限公司 | Trust network construction method and device |
| CN110933108A (en) * | 2019-09-26 | 2020-03-27 | 腾讯科技(深圳)有限公司 | Data processing method and device based on block chain network, electronic equipment and storage medium |
| CN111478769A (en) * | 2020-03-18 | 2020-07-31 | 西安电子科技大学 | A distributed trusted identity authentication method, system, storage medium and terminal |
| US11405364B1 (en) | 2021-03-04 | 2022-08-02 | International Business Machines Corporation | Privacy-preserving endorsements in blockchain transactions |
| CN114153918A (en) * | 2021-11-10 | 2022-03-08 | 卓尔智联(武汉)研究院有限公司 | A node determination method, device, electronic device and storage medium |
| CN114221824A (en) * | 2022-02-22 | 2022-03-22 | 北京悦游信息技术有限公司 | Security access control method, system and readable storage medium for private area network |
| CN114221824B (en) * | 2022-02-22 | 2022-05-17 | 北京悦游信息技术有限公司 | Security access control method, system and readable storage medium for private area network |
Also Published As
| Publication number | Publication date |
|---|---|
| CN108235806A (en) | 2018-06-29 |
| CN108235806B (en) | 2020-10-02 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN108235806B (en) | Method, device and system for safely accessing block chain, storage medium and electronic equipment | |
| US11606352B2 (en) | Time-based one time password (TOTP) for network authentication | |
| TWI737240B (en) | Improving integrity of communications between blockchain networks and external data sources | |
| CN111277577B (en) | Digital identity verification method, apparatus, device and storage medium | |
| CN110392889B (en) | Field Programmable Gate Array-Based Trusted Execution Environment for Blockchain Networks | |
| US11159307B2 (en) | Ad-hoc trusted groups on a blockchain | |
| CN107231351B (en) | Electronic certificate management method and related equipment | |
| US10284378B2 (en) | Certificate authority master key tracking on distributed ledger | |
| US9467430B2 (en) | Device, method, and system for secure trust anchor provisioning and protection using tamper-resistant hardware | |
| US9912485B2 (en) | Method and apparatus for embedding secret information in digital certificates | |
| CN108647964B (en) | A block chain data processing method, device and computer-readable storage medium | |
| KR102266206B1 (en) | How to manage communication between consensus nodes and client nodes | |
| US9680827B2 (en) | Geo-fencing cryptographic key material | |
| WO2022252992A1 (en) | User data authorization method and user data authorization system | |
| WO2021114923A1 (en) | Data storage method and apparatus and data reading method and apparatus for private data | |
| US9654922B2 (en) | Geo-fencing cryptographic key material | |
| WO2021073170A1 (en) | Method and apparatus for data provision and fusion | |
| CN108768988A (en) | Block chain access control method, equipment and computer readable storage medium | |
| US20150271155A1 (en) | Geo-Fencing Cryptographic Key Material | |
| WO2019110018A1 (en) | Message authentication method for communication network system, communication method and communication network system | |
| CN117397199A (en) | Secure root of trust registration and identity management for embedded devices | |
| CN115242471A (en) | Information transmission method and device, electronic equipment and computer readable storage medium | |
| Goel | Techniques wrt Client Applications | |
| TW201935357A (en) | Method and system for electrical transaction | |
| JP2018148293A (en) | Credential generation system and method, client terminal, server device, issue request device, credential issue device, and program |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 17936643 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 32PN | Ep: public notification in the ep bulletin as address of the adressee cannot be established |
Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 16/11/2020) |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 17936643 Country of ref document: EP Kind code of ref document: A1 |