WO2021109720A1 - 一种基于区块链网络的节点认证方法及装置 - Google Patents

一种基于区块链网络的节点认证方法及装置 Download PDF

Info

Publication number
WO2021109720A1
WO2021109720A1 PCT/CN2020/121113 CN2020121113W WO2021109720A1 WO 2021109720 A1 WO2021109720 A1 WO 2021109720A1 CN 2020121113 W CN2020121113 W CN 2020121113W WO 2021109720 A1 WO2021109720 A1 WO 2021109720A1
Authority
WO
WIPO (PCT)
Prior art keywords
node
certificate
attribute information
cross
authentication
Prior art date
Application number
PCT/CN2020/121113
Other languages
English (en)
French (fr)
Inventor
廖飞强
严强
李昊轩
李辉忠
张开翔
范瑞彬
Original Assignee
深圳前海微众银行股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 深圳前海微众银行股份有限公司 filed Critical 深圳前海微众银行股份有限公司
Publication of WO2021109720A1 publication Critical patent/WO2021109720A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3247Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3263Cryptographic 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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • H04L9/3268Cryptographic 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 certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]

Definitions

  • the invention relates to the technical field of financial technology (Fintech), in particular to a node authentication method and device based on a blockchain network.
  • a commonly used cross-chain node authentication strategy is: before joining multiple blockchain networks, the cross-chain node obtains the node certificate of the cross-chain node in each blockchain network from the certificate issuing node.
  • the cross-chain node When joining any blockchain network, the cross-chain node only needs to send the node certificate of the cross-chain node in the blockchain network to the blockchain network to be joined, so that the blockchain network can authenticate the node certificate. If the authentication is passed, the blockchain network can allow cross-chain nodes to join the blockchain network. If the authentication fails, the blockchain network does not allow cross-chain nodes to join the blockchain network.
  • the node certificates of cross-chain nodes in different blockchain networks in this implementation cannot be reused.
  • the cross-chain nodes need to have cross-chain nodes in multiple blocks.
  • the node certificate in the chain network, and the node certificate corresponding to each blockchain network needs to be used for node authentication. Obviously, this method will make the management and authentication of the node certificate in the cross-chain node more complicated.
  • the present invention provides a node authentication method and device based on a blockchain network, which is used to solve the management and management of node certificates caused by cross-chain nodes separately maintaining the node certificates of the cross-chain nodes in each blockchain network in the prior art. More complicated technical issues for certification.
  • the present invention provides a node authentication method based on a blockchain network.
  • the method is suitable for cross-chain nodes.
  • the method includes: the cross-chain node first receives the node certificate, and then according to the authentication attribute of the first blockchain network The information and the node certificate generate the data to be authenticated, and finally the data to be authenticated is sent to the authentication node in the first blockchain network, so that the authentication node can verify the authentication attribute information of the first blockchain network according to the node certificate in the data to be authenticated Perform authentication.
  • the node certificate is obtained by the certificate issuing node signing each certificate attribute information in the cross-chain node, and each certificate attribute information includes the authentication attribute information of at least two blockchain networks to be accessed by the cross-chain node.
  • the blockchain network is one of at least two blockchain networks to be accessed.
  • the node certificate of the cross-chain node can be obtained by signing the authentication attribute information of the at least two blockchain networks to be accessed by the cross-chain node, and one node certificate can be used to manage the cross-chain node access to multiple blockchains During the network authentication process, there is no need to separately set the node certificate corresponding to each blockchain network, thereby reducing the complexity of node certificate management and authentication.
  • the node certificate in this scheme is obtained by signing the authentication attribute information of multiple blockchain networks, rather than the plaintext form of the authentication attribute information of multiple blockchain networks, so this method is used in any area of authentication. The authentication attribute information of the blockchain network will not leak the authentication attribute information of other blockchain networks, so this method also helps to ensure the security of the authentication attribute information of each blockchain network.
  • the certificate attribute information may include the first type of certificate attribute information and the second type of certificate attribute information, and the first type of certificate attribute information has a higher priority than the second type of certificate attribute information.
  • the cross-chain node before the cross-chain node receives the node certificate, it can also receive the signature public key corresponding to the signature private key sent by the certificate issuing node, and then use the signature public key to perform the first-type certificate attribute information in each certificate attribute information. Blind, obtain the first ciphertext, and then send the first ciphertext to the certificate issuing node, so that the certificate issuing node uses the signature private key to sign the second-type certificate attribute information in each certificate attribute information according to the first ciphertext , Get the node certificate.
  • the more important attribute information of the first type of certificate is blinded by the cross-chain node, and then the certificate issuance node is signed, which can ensure that the certificate issuance node successfully issues the certificate to the cross-chain node.
  • the cross-chain node may also offset the node certificate before generating the data to be authenticated according to the authentication attribute information of the first blockchain network and the node certificate.
  • the cross-chain node may also offset the node certificate before generating the data to be authenticated according to the authentication attribute information of the first blockchain network and the node certificate.
  • the present invention provides a node authentication method based on a blockchain network.
  • the method is suitable for a certificate issuing node.
  • the method includes: the certificate issuing node first obtains the attribute information of each certificate in the cross-chain node, and then checks the cross-chain node. Each certificate attribute information in the node is signed to obtain the node certificate of the cross-chain node, and finally the node certificate is sent to the cross-chain node, so that the cross-chain node uses the authentication attribute information of the first blockchain network to generate the data to be authenticated according to the node certificate .
  • each certificate attribute information includes the authentication attribute information of at least two blockchain networks to be accessed by the cross-chain node, and the first blockchain network is one of the at least two blockchain networks to be accessed.
  • the authentication data is used by the authentication node in the first blockchain network to authenticate the authentication attribute information of the first blockchain network.
  • the certificate issuing node signs each certificate attribute information in the cross-chain node to obtain the node certificate of the cross-chain node, including: the certificate issuing node first determines the signature based on the signature private key and each certificate attribute information The signature public key corresponding to the private key, and then send the signature public key to the cross-chain node, so that the cross-chain node blinds the first type certificate attribute information in each certificate attribute information according to the signature public key to obtain the first ciphertext In this way, after receiving the first ciphertext sent by the cross-chain node, the certificate issuing node can use the first ciphertext and the signature private key to sign the second-type certificate attribute information in each certificate attribute information to obtain the node certificate.
  • the present invention provides a node authentication device based on a blockchain network, the device including:
  • the transceiver module is used to receive the node certificate, which is obtained by the certificate issuing node signing each certificate attribute information in the cross-chain node, and each certificate attribute information includes at least two blockchains to be accessed by the cross-chain node Authentication attribute information of the network;
  • a generating module for generating data to be authenticated according to the authentication attribute information of the first blockchain network and the node certificate, where the first blockchain network may be one of at least two blockchain networks to be accessed;
  • the transceiver module is also used to send the data to be authenticated to the authentication node in the first blockchain network, so that the authentication node authenticates the authentication attribute information of the first blockchain network according to the node certificate in the data to be authenticated.
  • the certificate attribute information may include the first type of certificate attribute information and the second type of certificate attribute information, and the first type of certificate attribute information has a higher priority than the second type of certificate attribute information.
  • the node authentication device may further include a processing module. Before the transceiver module receives the node certificate, the transceiver module may also receive the signature public key corresponding to the signature private key sent by the certificate issuing node. Correspondingly, the processing module can use the signature public key to blind the first-type certificate attribute information in each certificate attribute information to obtain the first ciphertext.
  • the transceiver module may also send the first ciphertext to the certificate issuing node, so that the certificate issuing node uses the signature private key to sign the second-type certificate attribute information in each certificate attribute information according to the first ciphertext to obtain the node certificate .
  • the generating module may also offset the node certificate.
  • the present invention provides a node authentication device based on a blockchain network, the device including:
  • the obtaining module is used to obtain the attribute information of each certificate in the cross-chain node, and each certificate attribute information may include the authentication attribute information of at least two blockchain networks to be accessed by the cross-chain node;
  • the processing module is used to sign each certificate attribute information in the cross-chain node to obtain the node certificate of the cross-chain node;
  • the transceiver module is used to send the node certificate to the cross-chain node, so that the cross-chain node uses the authentication attribute information of the first blockchain network to generate the data to be authenticated according to the node certificate; wherein, the first blockchain network is the to-be-accessed In one of at least two blockchain networks, the data to be authenticated is used by the authentication node in the first blockchain network to authenticate the authentication attribute information of the first blockchain network.
  • the processing module may also determine the signature public key corresponding to the signature private key according to the signature private key and the attribute information of each certificate.
  • the transceiver module may also send the signature public key to the cross-chain node, so that the cross-chain node blinds the first type certificate attribute information in each certificate attribute information according to the signature public key to obtain the first ciphertext.
  • the transceiver module can also receive the first ciphertext sent by the cross-chain node.
  • the processing module can also use the first ciphertext and the signature private key to sign the second-type certificate attribute information in each certificate attribute information to obtain the node certificate.
  • the present invention provides a computing device including at least one processor and at least one memory, where the memory may store a computer program, and when the computer program is executed by the processor, the processor may execute the first aspect or The node authentication method based on the blockchain network described in any of the second aspect.
  • the present invention provides a computer-readable storage medium that stores a computer program that can be executed by a computing device.
  • the computing device can execute any of the first or second aspects described above.
  • the node authentication method based on the blockchain network.
  • FIG. 1 is a schematic diagram of a possible system architecture provided by an embodiment of the present invention
  • FIG. 2 is a schematic flowchart of a node authentication method based on a blockchain network provided by an embodiment of the present invention
  • FIG. 3 is a schematic diagram of a process for determining a node certificate of a cross-chain node according to an embodiment of the present invention
  • FIG. 4 is a schematic structural diagram of a node authentication device based on a blockchain network provided by an embodiment of the present invention
  • FIG. 5 is a schematic structural diagram of yet another node authentication device based on a blockchain network according to an embodiment of the present invention.
  • FIG. 6 is a schematic structural diagram of a computing device provided by an embodiment of the present invention.
  • FIG. 1 is a schematic diagram of a possible system architecture provided by an embodiment of the present invention.
  • the system architecture includes a certificate issuing node 100, a cross-chain node 110, and at least two blockchain networks, such as a blockchain network. 121 and the blockchain network 122.
  • at least two blockchain networks are the blockchain networks to be joined by the cross-chain node 110, each of the certificate issuing node 100 and the cross-chain node 110, the cross-chain node 110 and at least two blockchain networks All chain networks can be connected in communication, for example, they can be connected in a wired way, or they can be connected in a wireless way, which is not limited.
  • the certificate issuing node 100 may refer to a relatively authoritative security certification authority, such as the China Financial Certification Authority (CFCA).
  • CFCA China Financial Certification Authority
  • the certificate issuance node 100 can generate a node certificate signed by the certificate issuance node 100 according to the certificate issuance request of the cross-chain node 110.
  • each blockchain network can be provided with one or more blockchain nodes. Any two blockchain nodes in one or more blockchain nodes can be connected in communication to jointly maintain the blockchain network.
  • the blockchain network 121 is provided with a blockchain node 1211, a blockchain node 1212, a blockchain node 1213, and a blockchain node 1214, and any two areas from the blockchain node 1211 to the blockchain node 1214 Block chain nodes can be communicatively connected.
  • the blockchain network 122 is provided with a blockchain node 1221, a blockchain node 1222, a blockchain node 1223, and a blockchain node 1224, and any two blocks from the blockchain node 1221 to the blockchain node 1224
  • the chain nodes can be connected in communication.
  • the blockchain nodes in the blockchain network may have multiple functions, such as routing functions, transaction functions, blockchain functions, and consensus functions.
  • the routing function means that the block chain node can transmit the transaction information sent by the client to other block chain nodes in the block chain network to realize the communication between each block chain node.
  • Transaction function and consensus function means that blockchain nodes can support transactions with users or transactions with other blockchain nodes through consensus, and can also record all executed in the blockchain node (or blockchain network) transaction.
  • Blockchain function means that blockchain nodes can generate new blocks in the blockchain network based on the execution of transactions.
  • the routing function is a function that each blockchain node in the blockchain network must have, and other functions can be set by those skilled in the art according to actual needs.
  • a blockchain node in the blockchain network can refer to a physical machine (server), or it can refer to a process or a series of processes running in the server.
  • the blockchain node 1211 may refer to a process running on a server, or may also refer to a server, which is not specifically limited.
  • the cross-chain node 110 can be connected to each blockchain network in multiple ways.
  • the cross-chain node 110 can be connected to only one blockchain node in the blockchain network to pass through the zone.
  • the blockchain node is indirectly connected with other blockchain nodes in the blockchain network.
  • the cross-chain node 110 may also be connected to all blockchain nodes in the blockchain network.
  • the cross-chain node 110 may also be connected to some blockchain nodes in the blockchain network to indirectly connect with other blockchain nodes in the blockchain network through the partial blockchain nodes, which is not specifically limited.
  • Figure 2 is a node authentication method provided by an embodiment of the present invention.
  • the method is suitable for certificate issuing nodes, cross-chain nodes and blockchain nodes, such as the certificate issuing node shown in Figure 1 100.
  • the method includes:
  • Step 201 The certificate issuing node signs each certificate attribute information in the cross-chain node to obtain the node certificate of the cross-chain node.
  • each certificate attribute information includes authentication attribute information of at least two blockchain networks to be accessed by the cross-chain node.
  • each certificate attribute information may include first type certificate attribute information and second type certificate attribute information.
  • the first type of certificate attribute information is the certificate attribute information related to the private data of the cross-chain node, such as the issuer, validity period, user, and authentication attribute information of the blockchain network to be added to the node certificate.
  • the second type The certificate attribute information is certificate attribute information that has nothing to do with the private data of the cross-chain node, such as the version number, serial number, signature algorithm of the node certificate, message digest algorithm, etc.
  • the priority of the attribute information of the first type of certificate is greater than the priority of the attribute information of the second type of certificate.
  • the certificate issuing node can send a preset node certificate template to the cross-chain node after determining that the cross-chain node has a node certificate issuance requirement, so that the cross-chain node can follow the preset node certificate
  • the template determines the node certificate template corresponding to the cross-chain node.
  • the preset node certificate template is used to identify the deployment form of each set of certificate attribute information.
  • the certificate attribute information can be set by those skilled in the art based on experience, or can be set according to business requirements. For example, it can include the certificate attribute name and the corresponding certificate attribute value, which is not specifically limited.
  • the preset node certificate template may be composed of an attribute name template and an attribute key-value pair template.
  • the attribute name template is a list container that stores the set of each certificate attribute name.
  • the attribute name template can also support operations such as adding new certificate attribute names, deleting existing certificate attribute names, modifying existing certificate attribute names, or querying existing attribute certificate names.
  • the attribute key-value pair template is a key-value pair container for storing each certificate attribute name and corresponding certificate attribute value.
  • the attribute key-value pair template can also support adding new certificate attribute names and corresponding certificate attribute values, deleting existing certificate attribute names and corresponding certificate attribute values, modifying existing certificate attribute names and corresponding certificate attribute values, or querying existing certificate attribute names and corresponding certificate attribute values. Operations such as certificate attribute names and corresponding certificate attribute values.
  • each set certificate attribute name may include the authentication attribute name of the blockchain network to be added, such as the digital identity information of the blockchain network to be added (ie, chain identity information (identity document, id) )), it can also include one or more of version number, serial number and user, without limitation.
  • the cross-chain node can select each certificate attribute name from the set certificate attribute names stored in the attribute name template, and assemble the attribute name template corresponding to the cross-chain node.
  • the cross-chain node can also assemble the attribute key-value pair template corresponding to the cross-chain node according to the certificate attribute value corresponding to each certificate attribute name.
  • the attribute name template corresponding to the cross-chain node 110 can be:
  • the attribute key-value pair template corresponding to the cross-chain node 110 can be:
  • the authentication attribute information of the blockchain network to be joined is set in each certificate attribute information, and the node certificate is obtained by signing based on the authentication attribute information of the blockchain network to be joined, so that the node certificates can be simultaneously Contains the characteristics of each blockchain network to be added. Therefore, the node certificate can be authenticated when a cross-chain node joins the blockchain network to be joined, and can ensure the accuracy of the authentication.
  • Step 202 The certificate issuing node sends the node certificate of the cross-chain node to the cross-chain node.
  • Step 203 The cross-chain node generates data to be authenticated according to the authentication attribute information of the first blockchain network and the node certificate, where the first blockchain network is one of at least two blockchain networks to be accessed.
  • the certificate issuing node in addition to sending the node certificate of the cross-chain node to the cross-chain node, can also send the blind key used in the process of signing the node certificate to the cross-chain node at the same time.
  • the cross-chain node after receiving the node certificate and blind key, can also offset the blind key, and according to the offset blind key, node certificate and authentication attribute information of the first blockchain network Generate data to be authenticated.
  • the offset mode can be set by those skilled in the art based on experience, such as increasing or decreasing a certain value, dot multiplying or dot dividing a certain value, etc., which is not specifically limited.
  • the certificate issuing node can be prevented from tracking the cross-chain node based on the blind key
  • the use of node certificates for authentication occurs, which helps to ensure that cross-chain nodes use node certificates in a safe environment to improve the security of authentication.
  • Step 204 The cross-chain node sends the data to be authenticated to the authentication node in the first blockchain network.
  • Step 205 The authentication node in the first blockchain network authenticates the authentication attribute information of the first blockchain network according to the node certificate in the data to be authenticated, and determines whether the cross-chain node can access the first zone according to the authentication result Block chain network.
  • the authentication node in the first blockchain network after the authentication node in the first blockchain network receives the data to be authenticated sent by the cross-chain node, it can first parse the data to be authenticated to obtain the node certificate of the cross-chain node and the authentication attribute of the first blockchain network Information, and then construct a proof function based on the node certificate of the cross-chain node and the authentication attribute information of the first blockchain network, and load the proof function. If the result of the loading is successful, it means that the cross-chain node has passed the authentication, so the first block The chain network can allow cross-chain nodes to access. If the result of loading is a failure, it means that the cross-chain node authentication fails. Therefore, the first blockchain network does not allow cross-chain nodes to access.
  • the proof function can be set based on the signature process of the node certificate, and is not limited.
  • the authentication node may be any blockchain node in the first blockchain network, and the cross-chain node may be connected to only one blockchain node in the first blockchain network, or may be connected to the first blockchain node. All the blockchain nodes in a blockchain network are connected, or may also be connected with some blockchain nodes in the first blockchain network.
  • the cross-chain node can send the data to be authenticated to the connected blockchain node, so that the connected blockchain
  • the node synchronizes the data to be authenticated to other blockchain nodes in the first blockchain network, and any blockchain node in the first blockchain network can verify the data to be authenticated after receiving the data to be authenticated , Get the authentication result of the blockchain node to the cross-chain node.
  • each blockchain node in the first blockchain network can also agree on the authentication result of each blockchain node on the cross-chain node to obtain the authentication result, and can determine whether to allow the cross-chain node to connect according to the authentication result. Enter the first blockchain network.
  • the node certificate of the cross-chain node is obtained by signing the authentication attribute information of the at least two blockchain networks to be accessed by the cross-chain node, and one node certificate can be used to manage the access of the cross-chain node to multiple blocks
  • the authentication process of the chain network does not need to separately set the node certificate corresponding to each blockchain network, which helps to reduce the complexity of node certificate management and authentication.
  • the node certificate in this scheme is obtained by signing the authentication attribute information of multiple blockchain networks, rather than the plaintext form of the authentication attribute information of multiple blockchain networks, so this method is used in any area of authentication.
  • the authentication attribute information of the blockchain network will not leak the authentication attribute information of other blockchain networks, which also helps to ensure the security of the authentication attribute information of each blockchain network.
  • the certificate issuing node can generate the node certificate of the cross-chain node in a variety of ways. A possible generation method is described in detail below.
  • FIG. 3 is a schematic diagram of a process for generating a node certificate for a cross-chain node according to an embodiment of the present invention.
  • the method is suitable for certificate issuing nodes and cross-chain nodes, such as the certificate issuing node 100 and the cross-chain node 110 shown in FIG. 1 .
  • the method includes:
  • Step 301 The certificate issuing node determines the signature public key corresponding to the signature private key according to the attribute information of each certificate in the cross-chain node.
  • the cross-chain node can first generate a certificate signing request based on the attribute information of each certificate, and send the certificate signing request to the certificate issuing node, so that the certificate issuing node can determine the signature corresponding to the signed private key according to the signature private key and the certificate signature request Public key.
  • the cross-chain node may first extract the second-type certificate attribute information from each certificate attribute information, and then generate a certificate signing request based on each certificate attribute name and the second-type certificate attribute information. For example, if the cross-chain node generates the certificate attribute name template and the certificate attribute key-value pair template corresponding to the cross-chain node based on the preset node certificate template, the cross-chain node can first obtain the certificate attribute key value corresponding to the cross-chain node The key-value pairs of the second-type certificate attribute information are extracted from the template, and then the certificate signing request is generated according to the key-value pairs of the second-type certificate attribute information and the certificate attribute name template corresponding to the cross-chain node.
  • each certificate attribute information includes the first type of certificate attribute information and the second type of certificate attribute information. Since the first type of certificate attribute information is attribute information related to the private data of the cross-chain node, the cross-chain node is After assembling the certificate attribute name template and certificate attribute key-value pair template corresponding to the cross-chain node, by sending only the certificate attribute name template corresponding to the cross-chain node and the second-type certificate attribute information to the certificate issuing node, it can protect the cross-chain node. The security of private data, especially to ensure the security of the authentication attribute information of each blockchain network to be accessed.
  • the certificate signing node after the certificate signing node obtains the certificate signing request, it can parse the certificate signing request to obtain each certificate attribute name and the second type certificate attribute information, and then use the signature private key and each certificate attribute name to calculate the first information and each certificate
  • the second information corresponding to the attribute name, and the first information and the second information corresponding to each certificate attribute name can be used as the signature public key corresponding to the signature private key.
  • the certificate issuing node may use the following steps a to d to determine the signature private key and the signature public key corresponding to the signature private key:
  • Step a The certificate signing node determines the first signature private key and the second signature private key.
  • the certificate signing node can randomly select the first prime number psafe and the second prime number qsafe, and calculate the first signature private key p and the second signature private key q according to the first prime number psafe and the second prime number qsafe according to the following formula :
  • first prime number and the second prime number may both be large prime numbers (that is, prime numbers with an order greater than 2256), and the number of bits of the first signature private key p and the second signature private key q may be 1024 bits.
  • Step b The certificate signing node calculates the first random blind key according to the first signature private key and the second signature private key.
  • the certificate signing node 100 may first calculate the modulus n according to the first prime number psafe and the second prime number qsafe according to the following formula:
  • modn is the remainder of modulo n.
  • Step c The certificate signing node calculates the first information and each second information corresponding to each certificate attribute name according to the first random blind key, the first signature private key, the second signature private key, and each certificate attribute name.
  • the certificate signing node can first select a random number x Z1 from the interval range [2, p*qL], and then according to the random number x Z1 and the first random blind key S 1 , Calculate the first information Z 1 according to the following formula:
  • the certificate signing node can select the random numbers x Z21 , x Z22 , x Z23 ,..., x Z2L corresponding to the L certificate attribute information from the interval range [2, p*qL], and according to the first
  • the random blind key S 1 and the random number corresponding to each certificate attribute information are calculated according to the following formula to obtain the second information Z 2i corresponding to each certificate attribute information:
  • x Z2i is the random number corresponding to the i-th certificate attribute information, 0 ⁇ i ⁇ L.
  • Step d Use the first signature private key and the second signature private key as the signature private key, and use the first random blind key, the first information, and the second information corresponding to each certificate attribute information as the signature public key corresponding to the signature private key. key.
  • the certificate signing node may directly use the first random blind key S 1 , the first information Z 1 and the second information corresponding to each certificate attribute information as the signature public key corresponding to the signature private key, or may also use The modulus n, the first random blind key S 1 , the first information Z 1 and the second information corresponding to each certificate attribute information are used as the signature public key corresponding to the signature private key.
  • the signature public key corresponding to the signature private key can be a row of L+3 columns constructed based on modulo n, the first random blind key S 1 , the first information Z 1 and the second information corresponding to each certificate attribute information
  • the vector of (n,S 1 ,Z 1 ,Z 21 ,Z 22 , «,Z 2L ), can also be based on modulo n, the first random blind key S 1 , the first information Z 1 and each certificate attribute information
  • the L+3 row and column vector (n, S 1 , Z 1 , Z 21 , Z 22 ,..., Z 2L ) T constructed by the corresponding second information is not limited.
  • Step 302 The certificate issuing node sends the signature public key corresponding to the signature private key to the cross-chain node.
  • Step 303 The cross-chain node uses the signature public key to blind the first-type certificate attribute information in each certificate attribute information to obtain the first ciphertext.
  • the cross-chain node after the cross-chain node receives the signature public key sent by the certificate issuing node, it can first extract the attribute information of each first type certificate from the certificate attribute key-value pair template, and then set the second random blind key and use the signature The public key and the second random blind key blind each first type certificate attribute information to obtain the first ciphertext.
  • the first ciphertext can be calculated based on the following formula:
  • U is the first ciphertext
  • S 2 is the second random blind key
  • m 1 , m 2 , ..., m T are T first-type certificate attribute information
  • each first-type certificate attribute information includes Certificate attribute name and certificate attribute value
  • the method of generating the first ciphertext listed is only for the convenience of explaining the solution, and does not constitute a limitation on the solution.
  • the first ciphertext is generated only for the convenience of explaining the solution.
  • Step 304 The cross-chain node sends the first ciphertext to the certificate issuing node.
  • Step 305 The certificate issuing node uses the first ciphertext and the signature private key to sign the second-type certificate attribute information in each certificate attribute information to obtain the node certificate of the cross-chain node.
  • the certificate issuing node may first set the third random blind key, and according to the first information, the first ciphertext, the third random blind key, and the first random key And each second type certificate attribute information, generate the second cipher text according to the following formula:
  • Q is the second ciphertext
  • S 3 is the third random blind key
  • r 1 , r 2 ,..., r W are W second-type certificate attribute information
  • each second-type certificate attribute information includes Certificate attribute name and certificate attribute value
  • the certificate issuing node can randomly generate a prime number e, and use prime number e, modulo n, signature private key p and signature private key q to sign the second ciphertext according to the following formula to obtain cross Node certificate A of the chain node:
  • the first type of certificate attribute information is blinded by using the second random blind key to obtain the first cipher text, and then the third random blind key is used to pair the first cipher text and the second type certificate attribute information Perform blinding to obtain the second ciphertext, and finally use the signature private key to sign the second ciphertext, which can protect the attribute information of the first type certificate and the attribute information of the second type certificate while ensuring that the certificate issuing node successfully signs the node certificate Security.
  • the certificate issuing node may simultaneously send the node certificate A of the cross-chain node and the third random blind key S 3 and the prime number e used in the process of generating the node certificate A to the cross-chain node; accordingly, the cross-chain node After the chain node receives the node certificate A, the third random blind key S 3 and the prime number e, it can first offset the third random blind key S 3 and/or the prime number e, and then generate the waiting information according to the offset information. Authentication data.
  • the offset mode can be set by those skilled in the art based on experience.
  • the second random blind key S 2 can be used to add and offset the third random blind key S 3 (or make a difference offset), and Generate the data to be authenticated according to the node certificate A, the offset information S 3 + S 2 (or S 3 -S 2 ) and the prime number e, or the second random blind key S 2 can be used to perform the third random blind key S 3 Dot multiplying the offset (or dot dividing the offset), and generating the data to be authenticated according to the node certificate A, the offset information S 3 *S 2 (or S 3 /S 2 ), and the prime number e, etc., which are not specifically limited.
  • the more important attribute information of the first type of certificate is blinded by the cross-chain node, and then the signature is blinded by the certificate issuing node, which can successfully issue the certificate to the cross-chain node by the certificate issuing node. , To ensure the security of the first type of certificate attribute information.
  • the certificate issuing node signs each certificate attribute information in the cross-chain node to obtain the node certificate, and sends the node certificate to the cross-chain node, so that the cross-chain node is based on the first blockchain network.
  • the authentication attribute information and the node certificate generate the data to be authenticated, and the data to be authenticated is sent to the authentication node in the first blockchain network, and the authentication node verifies the authentication attribute of the first blockchain network according to the node certificate in the data to be authenticated Information is authenticated.
  • each certificate attribute information includes authentication attribute information of at least two blockchain networks to be accessed by the cross-chain node, and the first blockchain network is one of the at least two blockchain networks to be accessed.
  • the node certificate of the cross-chain node is obtained by signing the authentication attribute information of the at least two blockchain networks to be accessed by the cross-chain node, and one node certificate can be used to manage the access of the cross-chain node to multiple blocks
  • the authentication process of the chain network does not need to separately set the node certificate corresponding to each blockchain network, which helps to reduce the complexity of node certificate management and authentication.
  • the node certificate in this scheme is obtained by signing the authentication attribute information of multiple blockchain networks, rather than the plaintext form of the authentication attribute information of multiple blockchain networks, so this method is used in any area of authentication.
  • the authentication attribute information of the blockchain network will not leak the authentication attribute information of other blockchain networks, which also helps to ensure the security of the authentication attribute information of each blockchain network.
  • an embodiment of the present invention also provides a node authentication device based on a blockchain network.
  • the specific content of the device can be implemented with reference to the foregoing method.
  • FIG. 4 is a schematic structural diagram of a node authentication device based on a blockchain network provided by an embodiment of the present invention. As shown in FIG. 4, the device includes:
  • the transceiver module 401 is configured to receive a node certificate, which is obtained by the certificate issuing node signing each certificate attribute information in the cross-chain node, and each certificate attribute information includes at least two blocks to be accessed by the cross-chain node Authentication attribute information of the chain network;
  • the generating module 402 is configured to generate data to be authenticated according to the authentication attribute information and the node certificate of the first blockchain network, where the first blockchain network is one of at least two blockchain networks to be accessed;
  • the transceiver module 401 is also used to send the data to be authenticated to the authentication node in the first blockchain network, so that the authentication node performs authentication on the authentication attribute information of the first blockchain network according to the node certificate in the data to be authenticated. Certification.
  • the certificate attribute information may include first-type certificate attribute information and second-type certificate attribute information, and the first-type certificate attribute information has a higher priority than the second-type certificate attribute information.
  • the node authentication device may further include a processing module 403. Before the transceiver module 401 receives the node certificate, the transceiver module 401 may also receive the signature public key corresponding to the signature private key sent by the certificate issuing node, and the processing module 403 may use The signature public key blinds the first-type certificate attribute information in each certificate attribute information to obtain the first ciphertext. The transceiver module 401 may also send the first ciphertext to the certificate issuing node, so that the certificate issuing node can be based on the first ciphertext. The ciphertext uses the signature private key to sign the second-type certificate attribute information in each certificate attribute information to obtain the node certificate.
  • the generating module 402 may also offset the node certificate.
  • FIG. 5 is a schematic structural diagram of another node authentication device based on a blockchain network provided by an embodiment of the present invention. As shown in FIG. 5, the node authentication device includes:
  • the obtaining module 501 is configured to obtain each certificate attribute information in a cross-chain node, and each certificate attribute information includes authentication attribute information of at least two blockchain networks to be accessed by the cross-chain node;
  • the processing module 502 is configured to sign each certificate attribute information in the cross-chain node to obtain the node certificate of the cross-chain node;
  • the transceiver module 503 is configured to send the node certificate to the cross-chain node, so that the cross-chain node uses the authentication attribute information of the first blockchain network to generate the data to be authenticated according to the node certificate, where the first blockchain network is the to-be-connected One of the at least two blockchain networks entered, and the data to be authenticated is used by the authentication node in the first blockchain network to authenticate the authentication attribute information of the first blockchain network.
  • the processing module 502 may also determine the signature public key corresponding to the signature private key according to the signature private key and each certificate attribute information.
  • the transceiver module 503 can also send the signature public key to the cross-chain node.
  • the signature public key is used by the cross-chain node to blind the first type certificate attribute information in each certificate attribute information to obtain the first ciphertext and receive the cross-chain node.
  • the processing module 502 may also use the first ciphertext and the signature private key to sign the second-type certificate attribute information in each certificate attribute information to obtain the node certificate.
  • the certificate issuing node signs each certificate attribute information in the cross-chain node to obtain the node certificate, and sends the node certificate to the cross-chain node, and the cross-chain node receives the node certificate Then, the data to be authenticated can be generated according to the authentication attribute information of the first blockchain network and the node certificate, and the data to be authenticated can be sent to the authentication node in the first blockchain network, so that the authentication node can be based on the data to be authenticated.
  • the node certificate in certifies the authentication attribute information of the first blockchain network.
  • the first blockchain network is one of at least two blockchain networks to be accessed, and each certificate attribute information includes authentication attribute information of at least two blockchain networks to be accessed by a cross-chain node.
  • the node certificate of the cross-chain node is obtained by signing the authentication attribute information of the at least two blockchain networks to be accessed by the cross-chain node, and one node certificate can be used to manage the access of the cross-chain node to multiple blocks
  • the authentication process of the chain network does not need to separately set the node certificate corresponding to each blockchain network, which helps to reduce the complexity of node certificate management and authentication.
  • the node certificate in this scheme is obtained by signing the authentication attribute information of multiple blockchain networks, rather than the plaintext form of the authentication attribute information of multiple blockchain networks, so this method is used in any area of authentication.
  • the authentication attribute information of the blockchain network will not leak the authentication attribute information of other blockchain networks, which also helps to ensure the security of the authentication attribute information of each blockchain network.
  • an embodiment of the present invention also provides a computing device. As shown in FIG. 6, it includes at least one processor 601 and a memory 602 connected to the at least one processor.
  • the embodiment of the present invention does not limit the processor.
  • the connection between the processor 601 and the memory 602 in FIG. 6 is taken as an example.
  • the bus can be divided into address bus, data bus, control bus and so on.
  • the memory 602 stores instructions that can be executed by at least one processor 601. By executing the instructions stored in the memory 602, the at least one processor 601 can execute all of the aforementioned node authentication methods based on the blockchain network. Steps included.
  • the processor 601 is the control center of the computing device, which can use various interfaces and lines to connect to various parts of the computing device, and realize data by running or executing instructions stored in the memory 602 and calling data stored in the memory 602. deal with.
  • the processor 601 may include one or more processing units, and the processor 601 may integrate an application processor and a modem processor.
  • the application processor mainly processes the operating system, user interface, and application programs.
  • the adjustment processor mainly processes the instructions issued by the operation and maintenance personnel. It can be understood that the foregoing modem processor may not be integrated into the processor 601.
  • the processor 601 and the memory 602 may be implemented on the same chip, and in some embodiments, they may also be implemented on separate chips.
  • the processor 601 may be a general-purpose processor, such as a central processing unit (CPU), a digital signal processor, an application specific integrated circuit (ASIC), a field programmable gate array or other programmable logic devices, discrete gates or transistors Logic devices and discrete hardware components can implement or execute the methods, steps, and logic block diagrams disclosed in the embodiments of the present invention.
  • the general-purpose processor may be a microprocessor or any conventional processor or the like.
  • the steps of the method disclosed in the embodiment of node authentication based on the blockchain network can be directly embodied as executed by a hardware processor, or executed by a combination of hardware and software modules in the processor.
  • the memory 602 as a non-volatile computer-readable storage medium, can be used to store non-volatile software programs, non-volatile computer-executable programs, and modules.
  • the memory 602 may include at least one type of storage medium, for example, may include flash memory, hard disk, multimedia card, card-type memory, random access memory (Random Access Memory, RAM), static random access memory (Static Random Access Memory, SRAM), Programmable Read Only Memory (PROM), Read Only Memory (ROM), Electrically Erasable Programmable Read-Only Memory (EEPROM), magnetic memory, disk , CD, etc.
  • the memory 602 is any other medium that can be used to carry or store desired program codes in the form of instructions or data structures and that can be accessed by a computer, but is not limited thereto.
  • the memory 602 in the embodiment of the present invention may also be a circuit or any other device capable of realizing a storage function for storing program instructions and/or data.
  • embodiments of the present invention also provide a computer-readable storage medium that stores a computer program executable by a computing device, and when the program runs on the computing device, the computing device executes The node authentication method based on the blockchain network described in any of FIG. 2 or FIG. 3 above.
  • the embodiments of the present invention can be provided as a method or a computer program product. Therefore, the present invention may adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Moreover, the present invention may adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program codes.
  • a computer-usable storage media including but not limited to disk storage, CD-ROM, optical storage, etc.
  • These computer program instructions can also be stored in a computer-readable memory that can direct a computer or other programmable data processing equipment to work in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture including the instruction device.
  • the device implements the functions specified in one process or multiple processes in the flowchart and/or one block or multiple blocks in the block diagram.
  • These computer program instructions can also be loaded on a computer or other programmable data processing equipment, so that a series of operation steps are executed on the computer or other programmable equipment to produce computer-implemented processing, so as to execute on the computer or other programmable equipment.
  • the instructions provide steps for implementing the functions specified in one process or multiple processes in the flowchart and/or one block or multiple blocks in the block diagram.

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)
  • Storage Device Security (AREA)

Abstract

一种基于区块链网络的节点认证方法及装置,用以降低节点证书的管理和认证的复杂性。其中方法包括:证书签发节点对跨链节点中的各个证书属性信息进行签名得到节点证书,且跨链节点根据第一区块链网络的认证属性信息和节点证书生成待认证数据,并将待认证数据发送给第一区块链网络中的认证节点,以使认证节点进行认证。通过签名待接入的至少两个区块链网络的认证属性信息得到跨链节点的节点证书,使得跨链节点仅使用一个节点证书就可以管理跨链节点接入多个区块链网络的认证过程,有助于降低节点证书管理和认证的复杂性。且,该方式在认证时还不会泄露其它区块链网络的认证属性信息,从而还有助于保证各区块链网络的认证属性信息的安全。

Description

一种基于区块链网络的节点认证方法及装置
相关申请的交叉引用
本申请要求在2019年12月03日提交中国专利局、申请号为201911218904.0、申请名称为“一种基于区块链网络的节点认证方法及装置”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本发明涉及金融科技(Fintech)技术领域,尤其涉及一种基于区块链网络的节点认证方法及装置。
背景技术
随着计算机技术的发展,越来越多的技术应用在金融领域,传统金融业正在逐步向金融科技(Fintech)转变,区块链技术也不例外。然而,由于金融行业的安全性、实时性要求,金融科技也对区块链技术提出了更高的要求。
现阶段,一种常用的跨链节点认证策略为:跨链节点在加入多个区块链网络之前,分别从证书签发节点处获取跨链节点在每个区块链网络中的节点证书,在加入任一区块链网络时,跨链节点只需要向待加入的区块链网络发送跨链节点在该区块链网络中的节点证书,以使该区块链网络对节点证书进行认证,若认证通过,则区块链网络可以允许跨链节点加入该区块链网络,若认证不通过,则区块链网络不允许跨链节点加入该区块链网络。然而,该种实现方式中的跨链节点在不同区块链网络中的节点证书无法复用,若要加入多个区块链网络,则跨链节点需要分别拥有跨链节点在多个区块链网络中的节点证书,且需要分别使用每个区块链网络对应的节点证书进行节点认证。显然地,该方式会使跨链节点中节点证书的管理和认证较为复杂。
综上,目前亟需一种基于区块链网络的节点认证方法,用以解决现有技术中跨链节点分别维护跨链节点在各个区块链网络中的节点证书所导致的节点证书的管理和认证较为复杂的技术问题。
发明内容
本发明提供一种基于区块链网络的节点认证方法及装置,用以解决现有技术中跨链节点分别维护跨链节点在各个区块链网络中的节点证书所导致的节点证书的管理和认证较为复杂的技术问题。
第一方面,本发明提供一种基于区块链网络的节点认证方法,该方法适用于跨链节点,该方法包括:跨链节点先接收节点证书,再根据第一区块链网络的认证属性信息和节点证书生成待认证数据,最后将待认证数据发送给第一区块链网络中的认证节点,以使认证节点根据待认证数据中的节点证书对第一区块链网络的认证属性信息进行认证。其中,节点证书为证书签发节点对跨链节点中的各个证书属性信息进行签名得到的,各个证书属性信息中 包括跨链节点待接入的至少两个区块链网络的认证属性信息,第一区块链网络为待接入的至少两个区块链网络中的一个。
在上述设计中,通过签名跨链节点待接入的至少两个区块链网络的认证属性信息得到跨链节点的节点证书,可以使用一个节点证书来管理跨链节点接入多个区块链网络的认证过程,而无需分别设置每个区块链网络对应的节点证书,从而可以降低节点证书管理和认证的复杂性。且,本方案中的节点证书是对多个区块链网络的认证属性信息进行签名得到的,而不是多个区块链网络的认证属性信息的明文形式,因此该种方式在认证任一区块链网络的认证属性信息时均不会泄露其它区块链网络的认证属性信息,从而这种方式还有助于保证各个区块链网络的认证属性信息的安全。
在一种可能的实现方式中,证书属性信息可以包括第一类型证书属性信息和第二类型证书属性信息,第一类型证书属性信息的优先级高于第二类型证书属性信息。在这种情况下,跨链节点接收节点证书之前,还可以接收证书签发节点发送的签名私钥对应的签名公钥,然后使用签名公钥对各个证书属性信息中的第一类型证书属性信息进行盲化,得到第一密文,再将第一密文发送给证书签发节点,以使证书签发节点根据第一密文使用签名私钥对各个证书属性信息中的第二类型证书属性信息进行签名,得到节点证书。在上述实现方式中,通过跨链节点对重要程度较高的第一类型证书属性信息进行盲化,再通过证书签发节点进行签名,能够在证书签发节点成功对跨链节点签发证书的同时,保证第一类型证书属性信息的安全。
在一种可能的实现方式中,跨链节点根据第一区块链网络的认证属性信息和节点证书生成待认证数据之前,还可以对节点证书进行偏移。在上述实现方式中,通过先对节点证书进行偏移,再基于偏移后的节点证书生成待认证数据,可以避免证书签发节点根据签发过程追踪到跨链节点使用节点证书进行认证的情况发生,有助于保证跨链节点在一个安全的环境下使用节点证书,以提高认证的安全性。
第二方面,本发明提供一种基于区块链网络的节点认证方法,该方法适用于证书签发节点,该方法包括:证书签发节点先获取跨链节点中的各个证书属性信息,再对跨链节点中的各个证书属性信息进行签名得到跨链节点的节点证书,最后将节点证书发送给跨链节点,以使跨链节点根据节点证书使用第一区块链网络的认证属性信息生成待认证数据。其中,各个证书属性信息中包括跨链节点待接入的至少两个区块链网络的认证属性信息,第一区块链网络为待接入的至少两个区块链网络中的一个,待认证数据用于第一区块链网络中的认证节点对第一区块链网络的认证属性信息进行认证。
在一种可能的实现方式中,证书签发节点对跨链节点中的各个证书属性信息进行签名得到跨链节点的节点证书,包括:证书签发节点先根据签名私钥和各个证书属性信息,确定签名私钥对应的签名公钥,再将签名公钥发送给跨链节点,以使跨链节点根据签名公钥对各个证书属性信息中的第一类型证书属性信息进行盲化,得到第一密文,如此,证书签发节点在接收跨链节点发送的第一密文后,可以使用第一密文和签名私钥对各个证书属性信息中 的第二类型证书属性信息进行签名,得到节点证书。
第三方面,本发明提供一种基于区块链网络的节点认证装置,该装置包括:
收发模块,用于接收节点证书,该节点证书为证书签发节点对跨链节点中的各个证书属性信息进行签名得到的,各个证书属性信息中包括跨链节点待接入的至少两个区块链网络的认证属性信息;
生成模块,用于根据第一区块链网络的认证属性信息和节点证书生成待认证数据,其中,第一区块链网络可以为待接入的至少两个区块链网络中的一个;
收发模块,还用于将待认证数据发送给第一区块链网络中的认证节点,以使认证节点根据待认证数据中的节点证书对第一区块链网络的认证属性信息进行认证。
在一种可能的实现方式中,证书属性信息中可以包括第一类型证书属性信息和第二类型证书属性信息,第一类型证书属性信息的优先级高于第二类型证书属性信息。在这种情况下,节点认证装置还可以包括处理模块,在收发模块接收节点证书之前,收发模块还可以接收证书签发节点发送的签名私钥对应的签名公钥。对应的,处理模块可以使用签名公钥对各个证书属性信息中的第一类型证书属性信息进行盲化,得到第一密文。进而,收发模块还可以将第一密文发送给证书签发节点,以使证书签发节点根据第一密文使用签名私钥对各个证书属性信息中的第二类型证书属性信息进行签名,得到节点证书。
在一种可能的实现方式中,在生成模块根据第一区块链网络的认证属性信息和节点证书生成待认证数据之前,生成模块还可以对节点证书进行偏移。
第四方面,本发明提供一种基于区块链网络的节点认证装置,该装置包括:
获取模块,用于获取跨链节点中的各个证书属性信息,各个证书属性信息中可以包括跨链节点待接入的至少两个区块链网络的认证属性信息;
处理模块,用于对跨链节点中的各个证书属性信息进行签名得到跨链节点的节点证书;
收发模块,用于将节点证书发送给跨链节点,以使跨链节点根据节点证书使用第一区块链网络的认证属性信息生成待认证数据;其中,第一区块链网络为待接入的至少两个区块链网络中的一个,待认证数据用于第一区块链网络中的认证节点对第一区块链网络的认证属性信息进行认证。
在一种可能的实现方式中,处理模块还可以根据签名私钥和各个证书属性信息,确定签名私钥对应的签名公钥。相应地,收发模块还可以将签名公钥发送给跨链节点,以使跨链节点根据签名公钥对各个证书属性信息中的第一类型证书属性信息进行盲化,得到第一密文。收发模块还可以接收跨链节点发送的第一密文。进而,处理模块还可以使用第一密文和签名私钥对各个证书属性信息中的第二类型证书属性信息进行签名,得到节点证书。
第五方面,本发明提供一种计算设备,包括至少一个处理器以及至少一 个存储器,其中,存储器可以存储有计算机程序,当该计算机程序被处理器执行时,处理器可以执行上述第一方面或第二方面任意所述的基于区块链网络的节点认证方法。
第六方面,本发明提供一种计算机可读存储介质,其存储有可由计算设备执行的计算机程序,当该计算机程序在计算设备上运行时,计算设备可以执行上述第一方面或第二方面任意所述的基于区块链网络的节点认证方法。
本发明的这些方面或其他方面在以下实施例的描述中会更加简明易懂。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种可能的系统架构示意图;
图2为本发明实施例提供的一种基于区块链网络的节点认证方法的流程示意图;
图3为本发明实施例提供的一种确定跨链节点的节点证书的流程示意图;
图4为本发明实施例提供的一种基于区块链网络的节点认证装置的结构示意图;
图5为本发明实施例提供的又一种基于区块链网络的节点认证装置的结构示意图;
图6为本发明实施例提供的一种计算设备的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
图1为本发明实施例提供的一种可能的系统架构示意图,如图1所示,该系统架构包括证书签发节点100、跨链节点110和至少两个区块链网络,比如区块链网络121和区块链网络122。其中,至少两个区块链网络是跨链节点110待加入的区块链网络,证书签发节点100与跨链节点110、跨链节点110与至少两个区块链网络中的每个区块链网络都可以通信连接,比如可以通过有线方式通信连接,或者可以通过无线方式通信连接,不作限定。
本发明实施例中,证书签发节点100可以是指较为权威的安全认证机构,例如中国金融认证中心(china financial certification authority,CFCA)。证书签发节点100能够根据跨链节点110的证书签发请求生成带有证书签发节点100签名的节点证书。
继续参照图1所示,每个区块链网络中可以设置有一个或多个区块链节点。一个或多个区块链节点中的任意两个区块链节点可以通信连接,以共同维护区块链网络。比如区块链网络121中设置有区块链节点1211、区块链节点1212、区块链节点1213与区块链节点1214,区块链节点1211~区块链节点1214中的任意两个区块链节点可以通信连接。区块链网络122中设置有区块链节点1221、区块链节点1222、区块链节点1223与区块链节点1224,区块链节点1221~区块链节点1224中的任意两个区块链节点可以通信连接。
本发明实施例中,区块链网络中的区块链节点可以具有多种功能,比如路由功能、交易功能、区块链功能和共识功能等。路由功能是指区块链节点可以将客户端传送过来的交易信息传送给区块链网络中的其它区块链节点,以实现各个区块链节点之间的通信。交易功能和共识功能是指区块链节点可以通过共识支持与用户的交易或与其它区块链节点的交易,还可以记录在该区块链节点(或区块链网络)中执行过的全部交易。区块链功能是指区块链节点可以基于交易的执行情况在区块链网络中生成新区块。其中,路由功能是区块链网络中的每个区块链节点必须具有的功能,而其它功能可由本领域技术人员根据实际需要进行设置。
需要说明的是,区块链网络中的一个区块链节点可以是指一台物理机(服务器),也可以是指服务器中运行的一个进程或者一系列进程。比如,区块链节点1211可以是指服务器上运行的一个进程,或者也可以是指服务器,具体不作限定。
本发明实施例中,跨链节点110与每个区块链网络连接的方式可以有多种,例如跨链节点110可以仅与区块链网络中的一个区块链节点连接,以通过该区块链节点与该区块链网络中的其它区块链节点间接连接。或者,跨链节点110也可以与区块链网络中的全部区块链节点连接。或者,跨链节点110还可以与区块链网络中的部分区块链节点连接,以通过该部分区块链节点与该区块链网络中的其它区块链节点间接连接,具体不作限定。
基于图1所示意的系统架构,图2为本发明实施例提供的一种节点认证方法,该方法适用于证书签发节点、跨链节点和区块链节点,例如图1所示意的证书签发节点100、跨链节点110和区块链节点1211至区块链节点1214中的任一区块链节点、或区块链节点1221至区块链节点1224中的任一区块链节点。如图2所示,该方法包括:
步骤201,证书签发节点对跨链节点中的各个证书属性信息进行签名,得到跨链节点的节点证书。其中,各个证书属性信息中包括跨链节点待接入的至少两个区块链网络的认证属性信息。
本发明实施例中,各个证书属性信息中可以包括第一类型证书属性信息和第二类型证书属性信息。其中,第一类型证书属性信息为与跨链节点的隐私数据相关的证书属性信息,比如节点证书的颁发者、有效期、使用者、待加入的区块链网络的认证属性信息等,第二类型证书属性信息为与跨链节点的隐私数据无关的证书属性信息,比如版本号、序列号、节点证书的签名算法、消息摘要算法等。第一类型证书属性信息的优先级大于第二类型证书属 性信息的优先级。
在一种可能的实现方式中,证书签发节点在确定跨链节点存在节点证书的签发需求后,可以将预设的节点证书模板发送给跨链节点,以使跨链节点按照预设的节点证书模板确定跨链节点对应的节点证书模板。其中,预设的节点证书模板用于标识设定的各个证书属性信息的部署形式。证书属性信息可以由本领域技术人员根据经验进行设置,也可以根据业务需求进行设置,比如可以包括证书属性名及对应的证书属性值,具体不作限定。
具体实施中,预设的节点证书模板可以由属性名模板和属性键值对模板构成,属性名模板为一个列表容器,存储有设定的各个证书属性名。属性名模板还可以支持增加新的证书属性名、删除已有的证书属性名、修改已有的证书属性名或查询已有的属性证书名等操作。相应地,属性键值对模板为一个键值对容器,用于存储各个证书属性名和对应的证书属性值。属性键值对模板还可以支持增加新的证书属性名和对应的证书属性值、删除已有的证书属性名和对应的证书属性值、修改已有的证书属性名和对应的证书属性值或查询已有的证书属性名和对应的证书属性值等操作。
本发明实施例中,设定的各个证书属性名中可以包括待加入的区块链网络的认证属性名,比如待加入的区块链网络的数字身份信息(即链身份信息(identity document,id)),还可以包括版本号、序列号和使用者中的一项或多项,不作限定。
相应地,跨链节点在获取预设的节点证书模板后,可以从属性名模板所存储的设定的各个证书属性名中选取各个证书属性名,组装得到跨链节点对应的属性名模板。相应地,跨链节点还可以根据各个证书属性名对应的证书属性值,组装得到跨链节点对应的属性键值对模板。
举例来说,如图1所示,假设跨链节点110待加入的区块链网络为区块链网络121和区块链网络122,当跨链节点110中的各个证书属性名还包括版本号和使用者时,跨链节点110对应的属性名模板可以为:
{版本号,使用者,链121的id,链122的id}
若版本号为1.0,链121的id为0x12ab,链122的id为0xbc68,则跨链节点110对应的属性键值对模板可以为:
{版本号=1.0,使用者=“跨链节点110”,链121的id=“0x12ab”,链122的id=“0xbc68”}
本发明实施例中,通过在各个证书属性信息中设置待加入的区块链网络的认证属性信息,并基于待加入的区块链网络的认证属性信息签名得到节点证书,使得节点证书中能够同时包含待加入的各个区块链网络的特征,因此,该节点证书能够在跨链节点加入待加入的区块链网络时进行认证,并能保证认证的准确性。
步骤202,证书签发节点将跨链节点的节点证书发送给跨链节点。
步骤203,跨链节点根据第一区块链网络的认证属性信息和节点证书生成待认证数据,其中,第一区块链网络为待接入的至少两个区块链网络中的一个。
在一个示例中,证书签发节点除了可以将跨链节点的节点证书发送给跨链节点,还可以同时将签名节点证书的过程中所使用的盲密钥发送给跨链节点。相应地,跨链节点在接收到节点证书和盲密钥后,还可以对盲密钥进行偏移,并根据偏移后的盲密钥、节点证书和第一区块链网络的认证属性信息生成待认证数据。其中,偏移的方式可以由本领域技术人员根据经验进行设置,比如可以为增大或减小某一数值、点乘或点除某一数值,等等,具体不作限定。在该示例中,通过对证书签发节点使用的盲密钥进行偏移,并基于偏移后的盲密钥和节点证书生成待认证数据,可以避免证书签发节点根据盲密钥追踪到跨链节点使用节点证书进行认证的情况发生,从而有助于保证跨链节点在一个安全的环境下使用节点证书,以提高认证的安全性。
继续参照图1所示,具体实施中,若第一区块链网络为区块链网络121,跨链节点110想要接入区块链网络121,则跨链节点110可以使用区块链网络121的认证属性信息“链121的id=“0x12ab””和节点证书生成待认证数据。若第一区块链网络为区块链网络122,跨链节点110想要接入区块链网络122,则跨链节点110可以使用区块链网络122的认证属性信息“链122的id=“0xbc68””和节点证书生成待认证数据。
步骤204,跨链节点将待认证数据发送给第一区块链网络中的认证节点。
步骤205,第一区块链网络中的认证节点根据待认证数据中的节点证书对第一区块链网络的认证属性信息进行认证,并根据认证结果确定跨链节点是否能接入第一区块链网络。
在一个示例中,第一区块链网络中的认证节点接收到跨链节点发送的待认证数据后,可以先解析待认证数据得到跨链节点的节点证书和第一区块链网络的认证属性信息,再基于跨链节点的节点证书和第一区块链网络的认证属性信息构造证明函数,并加载证明函数,若加载的结果为成功,则说明跨链节点认证通过,因此第一区块链网络可以允许跨链节点接入,若加载的结果为失败,则说明跨链节点认证不通过,因此第一区块链网络不允许跨链节点接入。其中,证明函数可以基于节点证书的签名过程进行设置,不作限定。
本发明实施例中,认证节点可以为第一区块链网络中的任一区块链节点,跨链节点可以仅与第一区块链网络中的一个区块链节点连接,也可以与第一区块链网络中的全部区块链节点连接,或者还可以与第一区块链网络中的部分区块链节点连接。具体实施中,若跨链节点仅与第一区块链网络中的一个区块链节点连接,则跨链节点可以将待认证数据发送给连接的区块链节点,以使连接的区块链节点将待认证数据同步给第一区块链网络中的其它区块链节点,且,第一区块链网络中的任一区块链节点接收到待认证数据后,可以对待认证数据进行验证,得到该区块链节点对跨链节点的认证结果。进一步地,第一区块链网络中的各个区块链节点还可以对各个区块链节点对跨链节点的认证结果进行共识,得到认证结果,并可以根据认证结果确定是否允许跨链节点接入第一区块链网络。
本发明实施例中,通过签名跨链节点待接入的至少两个区块链网络的认证属性信息得到跨链节点的节点证书,可以使用一个节点证书来管理跨链节 点接入多个区块链网络的认证过程,而无需分别设置每个区块链网络对应的节点证书,从而有助于降低节点证书管理和认证的复杂性。且,本方案中的节点证书是对多个区块链网络的认证属性信息进行签名得到的,而不是多个区块链网络的认证属性信息的明文形式,因此该种方式在认证任一区块链网络的认证属性信息时均不会泄露其它区块链网络的认证属性信息,从而还有助于保证各个区块链网络的认证属性信息的安全。
在上述步骤201中,证书签发节点可以通过多种方式生成跨链节点的节点证书,下面具体描述一种可能的生成方式。
图3为本发明实施例提供的一种生成跨链节点的节点证书的流程示意图,该方法适用于证书签发节点和跨链节点,例如图1所示意出的证书签发节点100和跨链节点110。如图3所示,该方法包括:
步骤301,证书签发节点根据跨链节点中的各个证书属性信息,确定签名私钥对应的签名公钥。
具体实施中,跨链节点可以先根据各个证书属性信息生成证书签名请求,并将证书签名请求发送给证书签发节点,以使证书签发节点根据签名私钥和证书签名请求确定签名私钥对应的签名公钥。
在一个示例中,跨链节点可以先从各个证书属性信息中提取出第二类型证书属性信息,然后基于各个证书属性名和第二类型证书属性信息生成证书签名请求。举例来说,若跨链节点基于预设的节点证书模板生成了跨链节点对应的证书属性名模板和证书属性键值对模板,则跨链节点可以先从跨链节点对应的证书属性键值对模板中提取得到第二类型证书属性信息的键值对,然后根据第二类型证书属性信息的键值对和跨链节点对应的证书属性名模板生成证书签名请求。在上述示例中,各个证书属性信息中包括第一类型证书属性信息和第二类型证书属性信息,由于第一类型证书属性信息为与跨链节点的隐私数据相关的属性信息,因此跨链节点在组装得到跨链节点对应的证书属性名模板和证书属性键值对模板后,通过仅发送跨链节点对应的证书属性名模板和第二类型证书属性信息给证书签发节点,能够保护跨链节点的隐私数据的安全,尤其保证各个待接入区块链网络的认证属性信息的安全。
具体实施中,证书签名节点在获取证书签名请求后,可以解析证书签名请求得到各个证书属性名和第二类型证书属性信息,然后使用签名私钥和各个证书属性名计算得到第一信息和每个证书属性名对应的第二信息,并可以将第一信息和各个证书属性名对应的第二信息作为签名私钥对应的签名公钥。
在一种可能的实现方式中,证书签发节点可以采用如下步骤a~步骤d确定签名私钥和签名私钥对应的签名公钥:
步骤a,证书签名节点确定第一签名私钥和第二签名私钥。
具体实施中,证书签名节点可以随机地选取第一素数psafe和第二素数qsafe,并根据第一素数psafe和第二素数qsafe按照如下公式计算得到第一签名私钥p和第二签名私钥q:
p=psafe/2
q=qsafe/2
其中,第一素数和第二素数可以均为大素数(即阶大于2256的素数),第一签名私钥p和第二签名私钥q的位数可以为1024位。
步骤b,证书签名节点根据第一签名私钥和第二签名私钥计算得到第一随机盲密钥。
具体实施中,证书签名节点100可以先根据第一素数psafe和第二素数qsafe,按照如下公式计算得到模n:
n=psafe*qsafe
再从区间范围(0,n)内选取随机数x 1,根据随机数x 1和模n,按照如下公式计算得到第一随机盲密钥S 1
S 1=x 1 2modn
其中,modn为对模n取余。
步骤c,证书签名节点根据第一随机盲密钥、第一签名私钥、第二签名私钥和各个证书属性名计算得到第一信息和各个证书属性名对应的各个第二信息。
具体实施中,若存在L个证书属性信息,则证书签名节点可以先从区间范围[2,p*q-L]内选取随机数x Z1,然后根据随机数x Z1和第一随机盲密钥S 1,按照如下公式计算得到第一信息Z 1
Figure PCTCN2020121113-appb-000001
进一步地,证书签名节点可以再从区间范围[2,p*q-L]内选取出L个证书属性信息分别对应的随机数x Z21、x Z22、x Z23、……、x Z2L,并根据第一随机盲密钥S 1和每个证书属性信息对应的随机数,按照如下公式计算得到每个证书属性信息对应的第二信息Z 2i
Figure PCTCN2020121113-appb-000002
其中,x Z2i为第i个证书属性信息对应的随机数,0<i≤L。
步骤d,将第一签名私钥和第二签名私钥作为签名私钥,并将第一随机盲密钥、第一信息、各个证书属性信息对应的第二信息作为签名私钥对应的签名公钥。
本发明实施例中,证书签名节点可以直接将第一随机盲密钥S 1、第一信息Z 1和各个证书属性信息对应的第二信息作为签名私钥对应的签名公钥,或者也可以将模n、第一随机盲密钥S 1、第一信息Z 1和各个证书属性信息对应的第二信息作为签名私钥对应的签名公钥。以后者为例,签名私钥对应的签名公钥可以为基于模n、第一随机盲密钥S 1、第一信息Z 1和各个证书属性信息对应的第二信息构建的一行L+3列的向量(n,S 1,Z 1,Z 21,Z 22,……,Z 2L),也可以为基于模n、第一随机盲密钥S 1、第一信息Z 1和各个证书属性信息对应的第二信息构建的L+3行一列的向量(n,S 1,Z 1,Z 21,Z 22,……,Z 2L) T,不作限定。
需要说明的是,上述内容仅是一种示例性的简单说明,其所列举的各个公式仅是为了便于说明方案,并不构成对方案的限定,在具体实施中,各个公式也可以由本领域技术人员根据经验进行设置,具体不作限定。
步骤302,证书签发节点将签名私钥对应的签名公钥发送给跨链节点。
步骤303,跨链节点使用签名公钥对各个证书属性信息中的第一类型证书属性信息进行盲化,得到第一密文。
具体实施中,跨链节点接收到证书签发节点发送的签名公钥后,可以先从证书属性键值对模板中提取得到各个第一类型证书属性信息,然后设置第二随机盲密钥,使用签名公钥和第二随机盲密钥对各个第一类型证书属性信息进行盲化,得到第一密文。举例来说,若跨链节点对应的证书属性键值对模板为Cv={版本号=1.0,使用者=“跨链节点110”,链121的id=“0x12ab”,链122的id=“0xbc68”},则“版本号=1.0”属于第二类型证书属性信息,“使用者=“跨链节点110””、“链121的id=“0x12ab””和“链122的id=“0xbc68””属于第一类型证书属性信息,跨链节点110可以盲化处理证书属性键值对模板为Cv中需要盲化的第一类型证书属性信息,即“使用者=“跨链节点110””、“链121的id=“0x12ab””和“链122的id=“0xbc68””。
在一个示例中,第一密文可以基于如下公式计算得到:
U=S 1*S 2*Z m1 m1*Z m2 m2*……*Z mT mT
其中,U为第一密文,S 2为第二随机盲密钥,m 1、m 2、……、m T为T个第一类型证书属性信息,每个第一类型证书属性信息均包括证书属性名和证书属性值,Z m1、Z m2、……、Z mT为T个第一类型证书属性信息对应的第二信息,0<T<=L。
需要说明的是,上述内容仅是一种示例性的简单说明,其所列举的第一密文的生成方式仅是为了便于说明方案,并不构成对方案的限定,在具体实施中,第一密文也可以按照其它公式生成,比如U=K+S 1*S 2*Z 1 m1*Z 2 m2*……*Z L mT,或者U=K*S 1*S 2*Z 1 m1*Z 2 m2*……*Z L mT,K为随机数,具体不作限定。
步骤304,跨链节点将第一密文发送给证书签发节点。
步骤305,证书签发节点使用第一密文和签名私钥对各个证书属性信息中的第二类型证书属性信息进行签名,得到跨链节点的节点证书。
在一个示例中,证书签发节点在接收到第一密文后,可以先设置第三随机盲密钥,并根据第一信息、第一密文、第三随机盲密钥、第一随机密钥和各个第二类型证书属性信息,按照如下公式生成第二密文:
Q=Z 1/(U*S 1S 3*Z r1 r1*Z r2 r2*……*Z rW rW)
其中,Q为第二密文,S 3为第三随机盲密钥,r 1、r 2、……、r W为W个第二类型证书属性信息,每个第二类型证书属性信息均包括证书属性名和证书属性值,Z r1、Z r2、……、Z rW为W个第二类型证书属性信息对应的第二信息,0<W<=L,且W+T=L。
相应地,在生成第二密文后,证书签发节点可以随机生成素数e,并使用素数e、模n、签名私钥p和签名私钥q按照如下公式对第二密文进行签名,得到跨链节点的节点证书A:
A=Q (1/e)mod(p*q)modn
在上述示例中,通过使用第二随机盲密钥对第一类型证书属性信息进行 盲化,得到第一密文,再使用第三随机盲密钥对第一密文和第二类型证书属性信息进行盲化,得到第二密文,最后使用签名私钥对第二密文进行签名,能够在保证证书签发节点成功签名节点证书的同时,保护第一类型证书属性信息和第二类型证书属性信息的安全。
在一个示例中,证书签发节点可以同时将跨链节点的节点证书A以及在生成节点证书A的过程中使用的第三随机盲密钥S 3和素数e发送给跨链节点;相应地,跨链节点接收到节点证书A、第三随机盲密钥S 3和素数e后,可以先对第三随机盲密钥S 3和/或素数e进行偏移,然后根据偏移后的信息生成待认证数据。其中,偏移的方式可以由本领域技术人员根据经验进行设置,比如可以使用第二随机盲密钥S 2对第三随机盲密钥S 3进行加和偏移(或作差偏移),并根据节点证书A、偏移信息S 3+S 2(或S 3-S 2)和素数e生成待认证数据,或者可以使用第二随机盲密钥S 2对第三随机盲密钥S 3进行点乘偏移(或点除偏移),并根据节点证书A、偏移信息S 3*S 2(或S 3/S 2)和素数e生成待认证数据,等等,具体不作限定。
在上述实现方式中,通过跨链节点对重要程度较高的第一类型证书属性信息进行盲化,再通过证书签发节点进行签名盲化,能够在证书签发节点成功对跨链节点签发证书的同时,保证第一类型证书属性信息的安全。
本发明的上述实施例中,证书签发节点对跨链节点中的各个证书属性信息进行签名得到节点证书,并将节点证书发送给跨链节点,以使跨链节点根据第一区块链网络的认证属性信息和节点证书生成待认证数据,并将待认证数据发送给第一区块链网络中的认证节点,由认证节点根据待认证数据中的节点证书对第一区块链网络的认证属性信息进行认证。其中,各个证书属性信息中包括跨链节点待接入的至少两个区块链网络的认证属性信息,第一区块链网络为待接入的至少两个区块链网络中的一个。本发明实施例中,通过签名跨链节点待接入的至少两个区块链网络的认证属性信息得到跨链节点的节点证书,可以使用一个节点证书来管理跨链节点接入多个区块链网络的认证过程,而无需分别设置每个区块链网络对应的节点证书,从而有助于降低节点证书管理和认证的复杂性。且,本方案中的节点证书是对多个区块链网络的认证属性信息进行签名得到的,而不是多个区块链网络的认证属性信息的明文形式,因此该种方式在认证任一区块链网络的认证属性信息时均不会泄露其它区块链网络的认证属性信息,从而还有助于保证各个区块链网络的认证属性信息的安全。
针对上述方法流程,本发明实施例还提供一种基于区块链网络的节点认证装置,该装置的具体内容可以参照上述方法实施。
图4为本发明实施例提供的一种基于区块链网络的节点认证装置的结构示意图,如图4所示,该装置包括:
收发模块401,用于接收节点证书,该节点证书为证书签发节点对跨链节点中的各个证书属性信息进行签名得到的,各个证书属性信息中包括跨链节点待接入的至少两个区块链网络的认证属性信息;
生成模块402,用于根据第一区块链网络的认证属性信息和节点证书生成 待认证数据,其中,第一区块链网络为待接入的至少两个区块链网络中的一个;
所述收发模块401,还用于将待认证数据发送给第一区块链网络中的认证节点,以使认证节点根据待认证数据中的节点证书对第一区块链网络的认证属性信息进行认证。
可选地,证书属性信息中可以包括第一类型证书属性信息和第二类型证书属性信息,第一类型证书属性信息的优先级高于第二类型证书属性信息。在这种情况下,节点认证装置还可以包括处理模块403,在收发模块401接收节点证书之前,收发模块401还可以接收证书签发节点发送的签名私钥对应的签名公钥,处理模块403可以使用签名公钥对各个证书属性信息中的第一类型证书属性信息进行盲化,得到第一密文,收发模块401还可以将第一密文发送给证书签发节点,以使证书签发节点根据第一密文使用签名私钥对各个证书属性信息中的第二类型证书属性信息进行签名,得到节点证书。
可选地,在生成模块402根据第一区块链网络的认证属性信息和节点证书生成待认证数据之前,生成模块402还可以对节点证书进行偏移。
图5为本发明实施例提供的又一种基于区块链网络的节点认证装置的结构示意图,如图5所示,节点认证装置包括:
获取模块501,用于获取跨链节点中的各个证书属性信息,各个证书属性信息中包括跨链节点待接入的至少两个区块链网络的认证属性信息;
处理模块502,用于对跨链节点中的各个证书属性信息进行签名得到跨链节点的节点证书;
收发模块503,用于将节点证书发送给跨链节点,以使跨链节点根据节点证书使用第一区块链网络的认证属性信息生成待认证数据,其中,第一区块链网络为待接入的至少两个区块链网络中的一个,待认证数据用于第一区块链网络中的认证节点对第一区块链网络的认证属性信息进行认证。
可选地,处理模块502还可以根据签名私钥和各个证书属性信息,确定签名私钥对应的签名公钥。收发模块503还可以将签名公钥发送给跨链节点,签名公钥用于跨链节点对各个证书属性信息中的第一类型证书属性信息进行盲化,得到第一密文,并接收跨链节点发送的第一密文。处理模块502还可以使用第一密文和签名私钥对各个证书属性信息中的第二类型证书属性信息进行签名,得到节点证书。
从上述内容可以看出:本发明的上述实施例中,证书签发节点对跨链节点中的各个证书属性信息进行签名得到节点证书,并将节点证书发送给跨链节点,跨链节点接收节点证书后,可以根据第一区块链网络的认证属性信息和节点证书生成待认证数据,并将待认证数据发送给所述第一区块链网络中的认证节点,以使认证节点根据待认证数据中的节点证书对第一区块链网络的认证属性信息进行认证。其中,第一区块链网络为待接入的至少两个区块链网络中的一个,各个证书属性信息中包括跨链节点待接入的至少两个区块链网络的认证属性信息。本发明实施例中,通过签名跨链节点待接入的至少两个区块链网络的认证属性信息得到跨链节点的节点证书,可以使用一个节 点证书来管理跨链节点接入多个区块链网络的认证过程,而无需分别设置每个区块链网络对应的节点证书,从而有助于降低节点证书管理和认证的复杂性。且,本方案中的节点证书是对多个区块链网络的认证属性信息进行签名得到的,而不是多个区块链网络的认证属性信息的明文形式,因此该种方式在认证任一区块链网络的认证属性信息时均不会泄露其它区块链网络的认证属性信息,从而还有助于保证各个区块链网络的认证属性信息的安全。
基于同一发明构思,本发明实施例还提供了一种计算设备,如图6所示,包括至少一个处理器601,以及与至少一个处理器连接的存储器602,本发明实施例中不限定处理器601与存储器602之间的具体连接介质,图6中处理器601和存储器602之间通过总线连接为例。总线可以分为地址总线、数据总线、控制总线等。
在本发明实施例中,存储器602存储有可被至少一个处理器601执行的指令,至少一个处理器601通过执行存储器602存储的指令,可以执行前述的基于区块链网络的节点认证方法中所包括的步骤。
其中,处理器601是计算设备的控制中心,可以利用各种接口和线路连接计算设备的各个部分,通过运行或执行存储在存储器602内的指令以及调用存储在存储器602内的数据,从而实现数据处理。可选的,处理器601可包括一个或多个处理单元,处理器601可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理运维人员下发的指令。可以理解的是,上述调制解调处理器也可以不集成到处理器601中。在一些实施例中,处理器601和存储器602可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。
处理器601可以是通用处理器,例如中央处理器(CPU)、数字信号处理器、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本发明实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合基于区块链网络的节点认证实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器602作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器602可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(Random Access Memory,RAM)、静态随机访问存储器(Static Random Access Memory,SRAM)、可编程只读存储器(Programmable Read Only Memory,PROM)、只读存储器(Read Only Memory,ROM)、带电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性存储器、磁盘、光盘等等。存储器602是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本发明实施例中的存储器602还可以是电路或者其它 任意能够实现存储功能的装置,用于存储程序指令和/或数据。
基于同一发明构思,本发明实施例还提供了一种计算机可读存储介质,其存储有可由计算设备执行的计算机程序,当所述程序在所述计算设备上运行时,使得所述计算设备执行上述图2或图3任意所述的基于区块链网络的节点认证方法。
本领域内的技术人员应明白,本发明的实施例可提供为方法、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (12)

  1. 一种基于区块链网络的节点认证方法,其特征在于,所述方法包括:
    跨链节点接收节点证书;所述节点证书为证书签发节点对所述跨链节点中的各个证书属性信息进行签名得到的,所述各个证书属性信息中包括所述跨链节点待接入的至少两个区块链网络的认证属性信息;
    所述跨链节点根据第一区块链网络的认证属性信息和所述节点证书生成待认证数据;所述第一区块链网络为所述待接入的至少两个区块链网络中的一个;
    所述跨链节点将所述待认证数据发送给所述第一区块链网络中的认证节点;所述待认证数据用于所述认证节点根据所述待认证数据中的节点证书对所述第一区块链网络的认证属性信息进行认证。
  2. 根据权利要求1所述的方法,其特征在于,所述证书属性信息包括第一类型证书属性信息和第二类型证书属性信息;所述第一类型证书属性信息的优先级高于第二类型证书属性信息;
    所述跨链节点接收节点证书之前,还包括:
    所述跨链节点接收所述证书签发节点发送的签名私钥对应的签名公钥;
    所述跨链节点使用所述签名公钥对所述各个证书属性信息中的第一类型证书属性信息进行盲化,得到第一密文;
    所述跨链节点将所述第一密文发送给所述证书签发节点,所述第一密文用于所述证书签发节点使用所述签名私钥对所述各个证书属性信息中的第二类型证书属性信息进行签名,得到所述节点证书。
  3. 根据权利要求1所述的方法,其特征在于,所述跨链节点根据第一区块链网络的认证属性信息和所述节点证书生成待认证数据之前,还包括:
    所述跨链节点对所述节点证书进行偏移。
  4. 一种基于区块链网络的节点认证方法,其特征在于,所述方法包括:
    证书签发节点获取跨链节点中的各个证书属性信息;所述各个证书属性信息中包括所述跨链节点待接入的至少两个区块链网络的认证属性信息;
    所述证书签发节点对所述跨链节点中的各个证书属性信息进行签名得到所述跨链节点的节点证书;
    所述证书签发节点将所述节点证书发送给所述跨链节点;所述节点证书用于所述跨链节点使用第一区块链网络的认证属性信息生成待认证数据,所述第一区块链网络为所述待接入的至少两个区块链网络中的一个,所述待认证数据用于所述第一区块链网络中的认证节点对所述第一区块链网络的认证属性信息进行认证。
  5. 根据权利要求4所述的方法,其特征在于,所述证书签发节点对所述跨链节点中的各个证书属性信息进行签名得到所述跨链节点的节点证书,包括:
    所述证书签发节点根据签名私钥和所述各个证书属性信息,确定签名私钥对应的签名公钥;
    所述证书签发节点将所述签名公钥发送给所述跨链节点,所述签名公钥 用于所述跨链节点对所述各个证书属性信息中的第一类型证书属性信息进行盲化,得到第一密文;
    所述证书签发节点接收所述跨链节点发送的所述第一密文;
    所述证书签发节点使用所述第一密文和所述签名私钥对所述各个证书属性信息中的第二类型证书属性信息进行签名,得到所述节点证书。
  6. 一种基于区块链网络的节点认证装置,其特征在于,所述装置包括:
    收发模块,用于接收节点证书;所述节点证书为证书签发节点对跨链节点中的各个证书属性信息进行签名得到的,所述各个证书属性信息中包括所述跨链节点待接入的至少两个区块链网络的认证属性信息;
    生成模块,用于根据第一区块链网络的认证属性信息和所述节点证书生成待认证数据;所述第一区块链网络为所述待接入的至少两个区块链网络中的一个;
    所述收发模块,还用于将所述待认证数据发送给所述第一区块链网络中的认证节点;所述待认证数据用于所述认证节点根据所述待认证数据中的节点证书对所述第一区块链网络的认证属性信息进行认证。
  7. 根据权利要求6所述的装置,其特征在于,所述证书属性信息包括第一类型证书属性信息和第二类型证书属性信息;所述第一类型证书属性信息的优先级高于第二类型证书属性信息;
    所述装置还包括处理模块;
    所述收发模块接收节点证书之前,还用于:接收所述证书签发节点发送的签名私钥对应的签名公钥;
    所述处理模块用于:使用所述签名公钥对所述各个证书属性信息中的第一类型证书属性信息进行盲化,得到第一密文;
    所述收发模块还用于:将所述第一密文发送给所述证书签发节点,所述第一密文用于所述证书签发节点使用所述签名私钥对所述各个证书属性信息中的第二类型证书属性信息进行签名,得到所述节点证书。
  8. 根据权利要求6所述的装置,其特征在于,所述生成模块根据第一区块链网络的认证属性信息和所述节点证书生成待认证数据之前,还用于:
    对所述节点证书进行偏移。
  9. 一种基于区块链网络的节点认证装置,其特征在于,所述装置包括:
    获取模块,用于获取跨链节点中的各个证书属性信息;所述各个证书属性信息中包括所述跨链节点待接入的至少两个区块链网络的认证属性信息;
    处理模块,用于对所述跨链节点中的各个证书属性信息进行签名得到所述跨链节点的节点证书;
    收发模块,用于将所述节点证书发送给所述跨链节点;所述节点证书用于所述跨链节点使用第一区块链网络的认证属性信息生成待认证数据,所述第一区块链网络为所述待接入的至少两个区块链网络中的一个,所述待认证数据用于所述第一区块链网络中的认证节点对所述第一区块链网络的认证属性信息进行认证。
  10. 根据权利要求9所述的装置,其特征在于,
    所述处理模块还用于:根据签名私钥和所述各个证书属性信息,确定签名私钥对应的签名公钥;
    所述收发模块还用于:将所述签名公钥发送给所述跨链节点,所述签名公钥用于所述跨链节点对所述各个证书属性信息中的第一类型证书属性信息进行盲化,得到第一密文;以及,接收所述跨链节点发送的所述第一密文;
    所述处理模块还用于:使用所述第一密文和所述签名私钥对所述各个证书属性信息中的第二类型证书属性信息进行签名,得到所述节点证书。
  11. 一种计算设备,其特征在于,包括至少一个处理器以及至少一个存储器,其中,所述存储器存储有计算机程序,当所述程序被所述处理器执行时,使得所述处理器执行如权利要求1~3中任一项所述的方法、或执行如权利要求4~5中任一项所述的方法。
  12. 一种计算机可读存储介质,其特征在于,其存储有可由计算设备执行的计算机程序,当所述程序在所述计算设备上运行时,使得所述计算设备执行如权利要求1~3中任一项所述的方法、或执行如权利要求4~5中任一项所述的方法。
PCT/CN2020/121113 2019-12-03 2020-10-15 一种基于区块链网络的节点认证方法及装置 WO2021109720A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201911218904.0A CN111131171B (zh) 2019-12-03 2019-12-03 一种基于区块链网络的节点认证方法及装置
CN201911218904.0 2019-12-03

Publications (1)

Publication Number Publication Date
WO2021109720A1 true WO2021109720A1 (zh) 2021-06-10

Family

ID=70497265

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/121113 WO2021109720A1 (zh) 2019-12-03 2020-10-15 一种基于区块链网络的节点认证方法及装置

Country Status (2)

Country Link
CN (1) CN111131171B (zh)
WO (1) WO2021109720A1 (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111131171B (zh) * 2019-12-03 2021-05-11 深圳前海微众银行股份有限公司 一种基于区块链网络的节点认证方法及装置
CN111737707B (zh) * 2020-05-14 2022-09-27 云南云烁巴克云科技有限公司 基于区块链的验证包生成、验证方法、服务器和电子设备
CN111917865B (zh) * 2020-07-29 2022-09-20 成都质数斯达克科技有限公司 区块链网络系统、网关以及组网方法
CN112733174B (zh) * 2020-10-29 2022-07-19 腾讯科技(深圳)有限公司 区块链系统的认证管理方法、系统及电子设备
CN112953960B (zh) * 2021-03-10 2023-02-03 东软集团股份有限公司 一种区块链访问的身份认证方法、装置及设备
CN112910660B (zh) * 2021-03-25 2023-02-24 中国工商银行股份有限公司 区块链系统的证书颁发方法、添加方法及交易处理方法
CN115514504A (zh) * 2021-06-04 2022-12-23 顺丰科技有限公司 跨联盟的节点认证方法、装置、计算机设备和存储介质
CN115834590A (zh) * 2021-09-15 2023-03-21 华为技术有限公司 一种区块链系统
CN113850599B (zh) * 2021-12-01 2022-02-15 南京金宁汇科技有限公司 一种应用于联盟链的跨链交易方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105719185A (zh) * 2016-01-22 2016-06-29 杭州复杂美科技有限公司 区块链的数据对比及共识方法
CN108737370A (zh) * 2018-04-05 2018-11-02 西安电子科技大学 一种基于区块链的物联网跨域认证系统及方法
CN109327309A (zh) * 2018-11-08 2019-02-12 北京中电华大电子设计有限责任公司 一种基于ibc与pki混合体系的跨域密钥管理方法
WO2019195108A1 (en) * 2018-04-03 2019-10-10 Alibaba Group Holding Limited Cross-blockchain authentication method and apparatus
CN111131171A (zh) * 2019-12-03 2020-05-08 深圳前海微众银行股份有限公司 一种基于区块链网络的节点认证方法及装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108259469A (zh) * 2017-12-19 2018-07-06 浪潮软件集团有限公司 一种基于区块链的集群安全认证方法、一种节点及集群
CN108256864B (zh) * 2018-02-13 2019-06-07 中链科技有限公司 一种区块链之间的跨链联盟的建立及通信方法、系统
CN108933667B (zh) * 2018-05-03 2021-08-10 深圳市京兰健康医疗大数据有限公司 一种基于区块链的公钥证书的管理方法及管理系统
CN109636599A (zh) * 2018-11-07 2019-04-16 广西师范大学 基于群签名的许可区块链隐私保护和监管方法
CN109743172B (zh) * 2018-12-06 2021-10-15 国网山东省电力公司电力科学研究院 基于联盟区块链v2g网络跨域认证方法、信息数据处理终端
CN110929288B (zh) * 2018-12-07 2021-06-01 深圳市智税链科技有限公司 生成公钥证书的方法、证书授权中心和介质
CN110071807B (zh) * 2019-03-22 2022-03-01 湖南天河国云科技有限公司 区块链点对点节点认证方法、系统及计算机可读存储介质
CN110061851A (zh) * 2019-04-28 2019-07-26 广州大学 一种去中心化的跨信任域认证方法及系统
CN110266655B (zh) * 2019-05-30 2021-11-12 中国工商银行股份有限公司 一种基于区块链的跨链互联方法、设备以及系统
CN110505058B (zh) * 2019-08-20 2021-07-20 西安电子科技大学 跨链场景下异构区块链的身份认证方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105719185A (zh) * 2016-01-22 2016-06-29 杭州复杂美科技有限公司 区块链的数据对比及共识方法
WO2019195108A1 (en) * 2018-04-03 2019-10-10 Alibaba Group Holding Limited Cross-blockchain authentication method and apparatus
CN108737370A (zh) * 2018-04-05 2018-11-02 西安电子科技大学 一种基于区块链的物联网跨域认证系统及方法
CN109327309A (zh) * 2018-11-08 2019-02-12 北京中电华大电子设计有限责任公司 一种基于ibc与pki混合体系的跨域密钥管理方法
CN111131171A (zh) * 2019-12-03 2020-05-08 深圳前海微众银行股份有限公司 一种基于区块链网络的节点认证方法及装置

Also Published As

Publication number Publication date
CN111131171A (zh) 2020-05-08
CN111131171B (zh) 2021-05-11

Similar Documents

Publication Publication Date Title
WO2021109720A1 (zh) 一种基于区块链网络的节点认证方法及装置
TWI713353B (zh) 區塊鏈節點間通訊方法、數位憑證管理方法、裝置和電子設備
US10790976B1 (en) System and method of blockchain wallet recovery
TWI727292B (zh) 區塊鏈交易方法及裝置、電子設備
US8874900B2 (en) Direct anonymous attestation scheme with outsourcing capability
WO2020207233A1 (zh) 一种区块链的权限控制方法及装置
AU2019246982B2 (en) Generating and linking private transaction identifiers to distributed data repositories
US10833871B2 (en) System and method for deterministic signing of a message using a multi-party computation (MPC) process
US9219602B2 (en) Method and system for securely computing a base point in direct anonymous attestation
US20090055916A1 (en) Secure delegation using public key authentication
WO2021103997A1 (zh) 一种区块链凭证撤销、验证方法、签发节点、验证节点
WO2021109718A1 (zh) 一种基于区块链系统的验证方法及装置
US10176307B2 (en) Licensing using a node locked virtual machine
US8868910B2 (en) Elliptic curve cryptographic signature
US11038685B1 (en) Correcting blockchain transactions with cryptocurrency type mistakes
US11930125B2 (en) Binding of multiple heterogeneous root certificate authorities
CN112184245B (zh) 一种跨区块链的交易身份确认方法及装置
CN112926983A (zh) 一种基于区块链的存证交易加密系统及方法
US20230093146A1 (en) Cross-certification for secure binding of cryptographic systems
US20210392002A1 (en) Cross-certification for secure binding of cryptographic systems
CN113507528B (zh) 数据处理方法及电子设备
US11902451B2 (en) Cross-blockchain identity and key management
CN115499247B (zh) 基于零知识证明的属性凭证的验证方法及装置
CN113806810B (zh) 认证方法、认证系统、计算设备以及存储介质
WO2022120521A1 (zh) 一种区块链共识方法、系统、电子设备及存储介质

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: 20896891

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 10/10/2022)

122 Ep: pct application non-entry in european phase

Ref document number: 20896891

Country of ref document: EP

Kind code of ref document: A1