Authentication method and node

The integration of multi-factor authentication with zero-knowledge proofs in blockchain systems strengthens security and allows low-performance nodes to participate by reducing resource usage during authentication.

JP7846249B2Active Publication Date: 2026-04-14KYOCERA CORP
View PDF 5 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
KYOCERA CORP
Filing Date
2023-11-21
Publication Date
2026-04-14

AI Technical Summary

Technical Problem

Existing blockchain systems face security vulnerabilities due to reliance on public key authentication, and integrating multi-factor authentication for nodes can overwhelm low-performance devices like IoT devices, preventing their participation.

Method used

Implement multi-factor authentication using a zero-knowledge proof system where authentication information is stored in an electronic vault associated with a target node, including a block number for expiration, allowing nodes to prove validity without recording or verifying ledger data, thus reducing resource usage.

Benefits of technology

Enhances security while enabling low-performance nodes to participate in the blockchain system efficiently by minimizing resource consumption during authentication processes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007846249000001
    Figure 0007846249000001
  • Figure 0007846249000002
    Figure 0007846249000002
  • Figure 0007846249000003
    Figure 0007846249000003
Patent Text Reader

Abstract

This authentication method for authenticating a target node in a blockchain system which uses blockchain technology for distributed management of a ledger including a plurality of blocks comprises: a step for storing, in an electronic storage cabinet associated with the account for the target node recorded in the ledger, a block number indicating authentication information constituting elements of multi-function authentication for the target node and the expiration date of the authentication information; and a step for performing authentication on the target node by verifying, by an authentication node that communicates with the target node and by using a zero‐knowledge proof, whether the target node has the authentication information valid until the expiration date.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] This disclosure relates to authentication methods and nodes used in blockchain systems. [Background technology]

[0002] In recent years, blockchain systems, which utilize blockchain technology, have attracted considerable attention. In blockchain technology, a peer-to-peer (P2P) network, which is an autonomous, decentralized network composed of multiple nodes, manages a ledger containing the history of transactions in a distributed manner, with each node contributing to the management of the ledger. Such a ledger is also called a distributed ledger.

[0003] In conventional blockchain technology, when a user accesses assets managed by the blockchain system, authentication is performed using public key authentication (specifically, certificate authentication based on a public key certificate) against an account created on the blockchain system, and an electronic vault for the assets identified by the account is assigned. On the other hand, nodes participating in the blockchain system are authenticated using public key authentication when accessing the blockchain system.

[0004] Multi-factor authentication is a technology that can improve the authentication strength for such access. When applying multi-factor authentication to a user, authentication is performed by combining two or more factors from memorized information (memory factor), possession information (possession factor), and biometric information (biometric factor). Memorized information refers to information that the user remembers. Possession information refers to information about things that the user owns. Biometric information refers to information about the user's physical characteristics. [Prior art documents] [Patent Documents]

[0005] [Patent Document 1] Special Publication No. 2021-520714 [Patent Document 2] Special Publication No. 2020-536304 [Overview of the project]

[0006] The authentication method according to the first embodiment is a method for authenticating a target node in a blockchain system that uses blockchain technology to manage a ledger containing multiple blocks in a distributed manner. The authentication method includes the steps of storing authentication information constituting elements of multi-factor authentication for the target node and a block number indicating the expiration date of the authentication information in an electronic vault associated with an account for the target node recorded in the ledger, and authenticating the target node by verifying, using a zero-knowledge proof, that the target node possesses authentication information that is valid until the expiration date.

[0007] A node according to the second embodiment is a node that authenticates a target node in a blockchain system that uses blockchain technology for distributed management of a ledger containing multiple blocks. The node includes a control unit that stores authentication information constituting elements of multi-factor authentication for the target node and a block number indicating the expiration date of the authentication information in an electronic vault associated with an account for the target node recorded in the ledger. The control unit authenticates the target node by verifying, using a zero-knowledge proof, that the target node possesses the authentication information that is valid until the expiration date.

[0008] A node according to the third embodiment is a node authenticated by an authentication node in a blockchain system that uses blockchain technology for distributed management of a ledger containing multiple blocks. The node includes a control unit that stores authentication information constituting elements of multi-factor authentication for the node and a block number indicating the expiration date of the authentication information in an electronic vault associated with an account for the node recorded in the ledger. In the authentication process of the node, the control unit proves by zero-knowledge proof that the node possesses authentication information that is valid until the expiration date. [Brief explanation of the drawing]

[0009] [Figure 1] This figure shows an example of the configuration of a blockchain network in a blockchain system according to the embodiment. [Figure 2] This figure shows an example of the configuration of the ledger managed by each node according to the embodiment. [Figure 3] This figure shows an example of a node configuration according to the embodiment. [Figure 4] This figure shows an example configuration of a blockchain system according to the embodiment. [Figure 5] This figure shows an example of the operation of the blockchain system according to the embodiment. [Figure 6] This figure shows an example of confidential information stored in an electronic storage system according to the embodiment. [Figure 7] This is a diagram illustrating an example of authentication using zero-knowledge proofs according to the embodiment. [Figure 8] This figure shows an example of the operation of a zero-knowledge proof according to the embodiment. [Modes for carrying out the invention]

[0010] When nodes accessing a blockchain system are authenticated solely using public key authentication, security breaches such as the duplication of public key certificates can occur. Therefore, it is desirable to strengthen security by introducing multi-factor authentication.

[0011] When applying multi-factor authentication to nodes accessing a blockchain system, one possible method involves recording the association of two or more factors and the history of authentication using each factor (also referred to as "multi-factor verification information") in a distributed ledger, and having the authentication node refer to and verify the distributed ledger during authentication to authenticate the node.

[0012] However, such a method has a concern that low-performance nodes such as IoT (Internet of Things) devices may not be able to participate in the blockchain system because the usage resources associated with the verification process of the multi-factor verification information recorded in the distributed ledger increase. Also, it is preferable to strengthen the security of the blockchain system using the distributed ledger.

[0013] Therefore, an object of the present disclosure is to provide an authentication method and a node that can increase the security strength while enabling the use of low-performance nodes in a blockchain system.

[0014] The blockchain system according to the embodiment will be described with reference to the drawings. In the description of the drawings, the same or similar parts are denoted by the same or similar reference numerals.

[0015] (1) System Configuration First, the configuration of the blockchain system according to the embodiment will be described.

[0016] FIG. 1 is a diagram showing a configuration example of a blockchain network 20 in the blockchain system according to the embodiment. In FIG. 1, the lines connecting the nodes 100 represent the communication connections between the nodes.

[0017] The blockchain network 20 is a self-organizing distributed network composed of a plurality of nodes 100, specifically, a P2P network. Each node 100 is connected so as to be able to communicate with each other. The communication between the nodes 100 may be performed via a public communication network and / or a local communication network.

[0018] In Figure 1, five nodes, Nodes 100a to 100e, are shown as an example, but the number of Nodes 100 is not limited to five. Each Node 100 is a device with at least communication and computing capabilities, such as a PC (Personal Computer). In general blockchain technology, it is assumed that each Node 100 has sufficient performance (specifications).

[0019] Each node 100 manages a ledger of transaction history. For example, if a transaction occurs at one node 100 (e.g., node 100a), all participating nodes (nodes 100a through 100e) perform calculation (verification) processing. This provides a mechanism that ensures a correct transaction history remains, making tampering extremely difficult, even if there is fraud in one of the participating nodes 100 or if it malfunctions.

[0020] A transaction may also be, for example, a transfer or settlement of money or points, or the occurrence of communication. In that case, the transaction data stored in the ledger block may be transfer or settlement data, or communication data. A transaction may also be the joining or deletion of a node in the network. In that case, the transaction data stored in the ledger block may be the data (parameters) of node 100. A transaction may also be an update of the ledger. The transaction data stored in the ledger block may be the data (parameters) of node 100.

[0021] Figure 2 shows an example of the configuration of the ledger managed by each node 100 according to this embodiment.

[0022] Each node 100 stores transaction records in blocks. A block has a block header, which is the header portion, and a transaction data portion that stores the data of at least one transaction. The block header stores hash values ​​calculated from the previously generated block, etc. For example, the block header of block n+1 stores hash values ​​calculated from block n, etc.

[0023] Thus, the ledger has a data structure in which each generated block is linked in a chain along a timeline. The block header may further include a height representing the corresponding block number and a nonce, which is a value used to calculate the hash value. Here, the block number (height) is a simply increasing number assigned to the blocks in chronological order.

[0024] Figure 3 shows an example configuration of node 100 according to the embodiment.

[0025] Node 100 includes a communication unit 110, a control unit 120, and a storage unit 130. Node 100 may also have a battery 140.

[0026] The communication unit 110 includes a communication interface for communicating with other nodes. The communication interface may be a wireless communication interface. The communication interface may also be a wired communication interface.

[0027] The control unit 120 performs various control and processing operations on the node 100. The operation of the node 100 described above and below may be controlled by the control unit 120. The control unit 120 includes at least one processor 121. The processor 121 executes programs stored in the storage unit 130 and performs various processing operations.

[0028] The storage unit 130 stores programs executed by the processor 121 and information used in processing by the processor 121. The storage unit 130 includes a non-volatile storage device and a volatile storage device.

[0029] Battery 140 stores the power supplied to each part of node 100 (device).

[0030] Figure 4 shows an example configuration of blockchain system 1 according to an embodiment.

[0031] Blockchain system 1 comprises a target node 100A, an authentication node 100B, an electronic vault 10, and a blockchain network 20. The target node 100A, the authentication node 100B, the electronic vault 10, and the blockchain network 20 are connected to and communicate via a communication network 5. The communication network 5 includes a public communication network and / or a local communication network.

[0032] Target node 100A is node 100 that is subject to authentication when accessing blockchain network 20. Access to blockchain network 20 may also mean joining blockchain network 20. Such access may also mean accessing assets managed by blockchain network 20.

[0033] Authentication node 100B is node 100 that authenticates target node 100A. Authentication node 100B may be a peer node located on the outer edge of the blockchain network 20. Authentication node 100B can access and update the ledger (also called the "distributed ledger") managed in a distributed manner by the blockchain network 20.

[0034] Target node 100A and authentication node 100B may be nodes 100 included in the blockchain network 20. Target node 100A and authentication node 100B may be nodes 100 that share at least partially the ledger managed in a distributed manner on the blockchain network 20. Target node 100A (and authentication node 100B) may be nodes 100 with lower performance than a typical node 100 included in the blockchain network 20. Performance may refer to at least one of the following: processing power, storage capacity, and battery capacity. Target node 100A (and authentication node 100B) may be IoT (Internet of Things) devices such as sensor devices.

[0035] For example, a typical node 100 included in the blockchain network 20 may be a full node. Full nodes consume a large amount of resources because they perform processes such as executing transactions and verifying the results. In contrast, at least one of the target node 100A and the authentication node 100B may be a light client. Light clients only verify the result of block generation and have low resource requirements. Full nodes store a large amount of data, such as ledgers within the blockchain group, while light clients may store only the latest block header. In this embodiment, the target node 100A and the authentication node 100B are able to know the latest block number in the ledger managed in a distributed manner on the blockchain network 20.

[0036] The electronic vault 10 is a storage location associated with an account for target node 100A. The account for target node 100A is recorded in a ledger managed in a distributed manner by the blockchain network 20. The account contains information about target node 100A. The account may also contain information indicating the location of the electronic vault 10 on the communication network 5. The electronic vault 10 is also referred to as a "wallet".

[0037] In conventional blockchain technology, public key authentication (specifically, certificate authentication based on a public key certificate) can be used as a method to authenticate a target node 100A accessing the blockchain network 20. For example, target node 100A sends a public key authentication certificate containing target node 100A's public key to authentication node 100B. Authentication node 100B registers the public key. Subsequently, target node 100A sends a signature generated using the private key paired with the public key to authentication node 100B. Authentication node 100B verifies the signature using the registered public key, and if it confirms that the signature was generated using the private key, it determines that authentication was successful.

[0038] In this embodiment, multi-factor authentication is introduced to enhance the security strength of authentication using public key authentication. When multi-factor authentication is applied to the target node 100A, the authentication node 100B authenticates the target node 100A by combining other factors, for example, using the public key (public key authentication) as ownership information. These other factors may be secret information as stored information. The secret information may be a passphrase or password, etc.

[0039] In this embodiment, the authentication node 100B stores the public key information of the target node 100A in the electronic vault 10. The public key is used to uniquely identify the location of the electronic vault 10, and the private key that is paired with the public key is maintained by the target node 100A in order to unlock the electronic vault 10.

[0040] When introducing multi-factor authentication to blockchain system 1, one possible method is to record the association of authentication information for two or more factors and the history of authentication using each factor (these are also referred to as "multi-factor verification information") in a distributed ledger, and for authentication node 100B to authenticate target node 100A by referring to and verifying the distributed ledger. However, such a method increases the resources used for verifying the multi-factor verification information recorded in the distributed ledger, raising concerns that low-performance nodes such as IoT devices may not be able to participate in blockchain system 1. Furthermore, to enhance security, it is preferable to conceal the information used for multi-factor authentication and set an expiration date for that information.

[0041] In this embodiment, the target node 100A and / or the authentication node 100B store in the electronic vault 10 the authentication information (public key information, secret information) that constitutes the elements of multi-factor authentication for the target node 100A, and a block number greater than the latest block number in the ledger managed in a distributed manner on the blockchain network 20, in an encrypted state. The block number greater than the latest block number is used to indicate the expiration date of the authentication information. By encrypting the authentication information, the authentication information used for multi-factor authentication can be made confidential. In addition, by storing the block number indicating the expiration date together, an expiration date can be set for the information. Furthermore, the authentication node 100B authenticates the target node 100A by verifying, using a zero-knowledge proof, that the target node 100A possesses authentication information that is valid until the expiration date. Through a zero-knowledge proof, the target node 100A can prove to the authentication node 100B that a specific matter (also called a "proposition") is true without providing the authentication node 100B with any information other than that the proposition is true.

[0042] This allows authentication node 100B to authenticate target node 100A without recording multi-factor verification information in a ledger or performing verification processing using the ledger. As a result, efficient authentication processing is possible, and the increase in resource usage can be suppressed.

[0043] The following description of the embodiment explains an example of multi-factor authentication for the target node 100A, which combines a public key as ownership information (public key authentication) and secret information as stored information. That is, the authentication information used in multi-factor authentication is a combination of public key information and secret information. However, for example, the individual identifier of the target node 100A may be used as the secret.

[0044] (2) System operation Next, the operation of the blockchain system 1 according to the embodiment will be described.

[0045] (2.1) Example of overall operation Figure 5 shows an example of the operation of the blockchain system 1 according to the embodiment. This example of operation includes step S10 (steps S11 to S14) of performing preliminary preparations for the authentication process of the target node 100A, step S20 (steps S21 and S22) of performing the authentication process of the target node 100A, and step S30 (steps S31 to S34) of updating the secret information of the target node 100A.

[0046] In step S11, target node 100A sends a registration request to authentication node 100B. Authentication node 100B receives the registration request. The registration request may be a registration request for an account of target node 100A. The registration request includes public key information (which may be a public key certificate) containing the public key of target node 100A, and secret information of target node 100A.

[0047] In step S12, the authentication node 100B encrypts the public key information and the secret information of the target node 100A, stores the encrypted public key information and encrypted secret information in the electronic storage 10, and then locks the electronic storage 10. In this way, the public key information, which is one element used in multi-factor authentication, and the secret information, which is another element used in multi-factor authentication, are associated.

[0048] Here, the method for encrypting the authentication information stored in the electronic vault 10 may be, for example, a method using the public key of the target node 100A. This method may also be a method using symmetric-key cryptography such as AES (Advanced Encryption Standard) or ECDH (Elliptic-Curve Diffie-Hellman).

[0049] In this embodiment, the public key certificate is used as one element to identify an individual through a signature (digital signature) generated based on the public key certificate. The authentication node 100B unlocks and locks the electronic vault 10 based on the signature. Alternatively, in this embodiment, since authentication is performed using zero-knowledge proofs, the authentication node 100B may unlock and lock the electronic vault 10 based on the combination of proof key and verification key used in the zero-knowledge proof.

[0050] Figure 6 shows an example of confidential information stored in the electronic storage 10 according to the embodiment. As shown in Figure 6, the confidential information includes a secret such as a passphrase or password, and supplementary information related to the secret. The supplementary information includes a block number that represents the expiration date of the secret. Since the block number is a unique number known to each node 100, the expiration date can be appropriately specified by representing the expiration date with the block number. In the following, the block number that represents the expiration date will be "block number X".

[0051] The additional information may further include a blockchain identifier (also referred to as a "chain ID") for identifying the blockchain (i.e., the ledger). For example, if multiple nodes 100 within a blockchain network 20 are divided into multiple groups, and each group manages its own ledger, the blockchain identifier can uniquely identify the target ledger (i.e., the target group).

[0052] This additional information may also include the most recent block number at the time of registration. Specifying the most recent block number serves as a condition to indicate that older block numbers are invalid. As will be explained in more detail later, the properties of the remainder (mod) are utilized when using zero-knowledge proofs. Because the remainder is periodic, the validity period can be restricted in conjunction with the block number, thereby restricting the specification of block numbers older than the time of creation (registration) to be invalid. The validity period of a secret is the period from the most recent block number at the time of registration to the block number indicating the expiration date of that secret.

[0053] This additional information may also include the block number from the previous registration.

[0054] Returning to Figure 5, in step S13, the authentication node 100B records the account of the target node 100A in the ledger managed in a distributed manner on the blockchain network 20. For example, the authentication node 100B updates the ledger by adding a block containing the information of the account (step S14).

[0055] Subsequently, in step S21, the target node 100A sends an authentication request to the authentication node 100B in order to access the blockchain network 20. Here, the target node 100A generates information to be used for the zero-knowledge proof (specifically, a proof key and verification key for the proposition that it knows a secret valid up to block number X) independently of the target node 100A's public key. The target node 100A sends an authentication request to the authentication node 100B that includes the created verification key and a signature using the private key paired with the target node 100A's public key. The authentication node 100B receives the authentication request.

[0056] As will be explained in more detail later, in step S22, the target node 100A sends the proof generated using a concrete example of the proposition and the proof key, along with the target node 100A's public key, to the authentication node 100B. The authentication node 100B determines the truth or falsity of the proposition by verifying the proof using the verification key. The authentication node 100B then authenticates the target node 100A by combining the result of this zero-knowledge proof determination with the public key.

[0057] In step S23, the authentication node 100B sends an authentication response indicating the authentication result to the target node 100A. The target node 100A receives the authentication response. If the authentication response indicates successful authentication, the target node 100A can access the blockchain network 20. On the other hand, if the authentication response indicates a failure, the target node 100A cannot access the blockchain network 20.

[0058] Subsequently, if the target node 100A updates the block number indicating the stored secret and / or expiration date, it starts the update process in step S30. The target node 100A performs the update process before the secret's expiration date has passed. The content of the update process is the same as the preparation in step S10.

[0059] In step S31, the target node 100A sends an update request to the authentication node 100B. The authentication node 100B receives the update request. The update request includes public key information (which may be a public key certificate) containing the public key of the target node 100A, and secret information of the target node 100A.

[0060] In step S32, the authentication node 100B encrypts the secret information and stores (updates) the encrypted secret information in the electronic storage 10.

[0061] In step S33, the authentication node 100B updates the account of the target node 100A. Specifically, it records in the ledger that the authentication history, such as the authentication result of the account, and / or the account's authentication information have been updated (step S34). For example, the ledger records the extension of the expiration date (block number) and / or the invalidation of the account for the same secret.

[0062] (2.2) An example of authentication using zero-knowledge proofs Figures 7 and 8 illustrate an example of authentication using zero-knowledge proofs according to the embodiment. Figure 7 illustrates the case where the Schnorr protocol is used as an example of a zero-knowledge proof, but it is not limited to the Schnorr protocol, and other protocols such as zk-stark, zk-snark, bulletproof may also be used.

[0063] Before explaining the Schnorr protocol, let's briefly explain the modulo operation. This operation involves the original data x being g x This is an operation (modulo operation) that converts a value to a value modulo p. A mod B means the remainder when A is divided by B. An example of a modulo operation is when x is 2, g is 7, and p is 13, then the result is 7. 2 It is expressed as mod 13, and the value after the calculation is 7 2 The remainder when (=49) is divided by 13 is 10. y=g x The problem of finding x from y modulo p (where p is a prime number and g is a positive integer) is called the discrete logarithm problem. While finding y from x is easy because there is a formula, finding x from y is difficult. Using the Schnorr protocol, target node 100A can solve the discrete logarithm problem y=g x It is possible to prove to authentication node 100B with zero knowledge that we know the answer x modulo p.

[0064] As shown in FIG. 7, first, initial settings are made. The initial settings may be made in the preliminary preparation of step S10 in FIG. 5. Here, the target node 100A and the authentication node 100B agree to prove the proposition that "the target node 100A knows the password x" using the Schnorr protocol, and transform the proposition that "the target node 100A knows the password x" into the proposition that "knows the answer x of the discrete logarithm problem y = g x mod p". Also, the target node 100A and the authentication node 100B generate and share in advance the keys necessary for the proof of the proposition. After that, the target node 100A generates and stores a set of x, y, p, g, q (proof generation key (also referred to as "proof key")). The authentication node 100B obtains and stores a set of y, p, g, q excluding x (proof verification key). Here, q is the smallest natural number such that g q = 1 mod p.

[0065] Here, as x, the target node 100A designates a value greater than or equal to h indicating the current latest block.

[0066] Second, the proof is performed. The proof is performed in the authentication process of step S20 in FIG. 5. Specifically, exchanges are made between the target node 100A and the authentication node 100B to generate the data necessary for the proof of the proposition. For example, the target node 100A selects a random number r within the range from 0 to (q - 1), calculates c = g r mod p, and sends c to the authentication node 100B. Here, the range of the random number r is restricted to from 0 to (q - 1) because the values that y = g x mod p can take are from 0 to (q - 1). Since c = g r , gq = 1 mod p holds, c·1 = g r ·g q g r+q mod p holds. That is, y is the same at the time of r and r + q, and the same value is repeated every q times thereafter. In the embodiment, the target node 100A selects the random number r from the remainders (mod p) that are greater than or equal to h and less than x.

[0067] Authentication node 100B generates (selects) a random number e within the range of 0 to (q-1) and sends the random number e to target node 100A. In other words, it adds a random number in such a way that information other than the truth value of the proposition is not known. Target node 100A calculates z = r + ex mod q and sends z to authentication node 100B.

[0068] Thirdly, verification is performed. This verification is performed in the authentication process of step S20 in Figure 5. The authentication node 100B is g z =cy e Check if modulo p holds true.

[0069] Thus, in the Schnorr protocol, instead of passing the answer to the discrete logarithm problem, the target node 100A performs a calculation on a random number received from the authentication node 100B that would be impossible without knowing the answer to the discrete logarithm problem. This allows it to prove that it knows the answer to the discrete logarithm problem without providing authentication node 100B with any information about the answer.

[0070] Figure 8 shows an example of the operation of a zero-knowledge proof according to the embodiment.

[0071] In step S101, target node 100A converts the proposition "I know the secret stored in the vault valid up to block number X" into a mathematical expression and pre-generates and shares the keys necessary to prove the proposition. Specifically, target node 100A generates a key to be used to prove the truth of the proposition (proof generation key pk) and a key to be used by authentication node 100B to verify that (proof verification key vk).

[0072] In step S102, the target node 100A sends the verification key vk to the authentication node 100B. As a result, the target node 100A stores the proof generation key (proof key) pk, and the authentication node 100B stores the proof verification key vk. Note that this key generation process varies depending on the zero-knowledge proof implementation method, and may be performed by the cooperation of the target node 100A and the authentication node 100B, or / or by a third party trusted by both the target node 100A and the authentication node 100B.

[0073] In steps S103 to S106, the target node 100A generates a proof using the proof key pk for a specific example (instance) of the proposition to be proven and the evidence that it is true.

[0074] The target node 100A may send the specific example (instance) and the certificate to the authentication node 100B (steps S104, S107). Here, when generating the certificate, if data exchange is required between the target node 100A and the authentication node 100B, it is called interactive; otherwise (i.e., only one-way data transmission from the target node 100A to the authentication node 100B), it is called non-interactive.

[0075] In the interactive case, authentication node 100B sends a number less than X-1 to target node 100A (step S105). Also in the interactive case, target node 100A creates a concrete example using the number specified to authentication node 100B, representing the fact that it knows a secret valid up to block number X.

[0076] On the other hand, in the non-interactive case, target node 100A, knowing the secret valid up to block number X, creates a concrete example using a number Y that is greater than the latest block number at the time of proof key creation and less than X-1.

[0077] In the Schnorr protocol described above, the concrete examples (instances) are obtained by substituting specific numerical values ​​(y, p, q, g) into the discrete logarithm formula. These concrete examples (instances) are included in the key shared during the initial setup process. Therefore, in the proof process, there is no transmission of instances; instead, since it is an interactive proof, the proof (c, e, z) is created and transmitted while exchanging random numbers (c, e).

[0078] In step S107, the authentication node 100B, which has received the specific example (instance) and proof, performs verification using the verification key vk. If there is evidence that the specific example (instance) is correct, the verification is successful (i.e., authentication using the secret information is successful); otherwise, it fails (i.e., authentication using the secret information fails).

[0079] In step S108, the authentication node 100B notifies the target node 100A of the verification result (i.e., the result of authentication using the secret information).

[0080] (3) Examples of changes in operation In the above-described embodiment, an example was explained in which multi-factor authentication is performed for the target node 100A by combining a public key as ownership information (public key authentication) and secret information as stored information, and furthermore, authentication is performed using a zero-knowledge proof to confirm that the target node 100A knows the secret information.

[0081] However, the authentication may be configured to use zero-knowledge proofs to verify that target node 100A knows both the public key as ownership information and the secret information as stored information. In that case, the proposition used in the zero-knowledge proof could be, for example, "a target node that possesses a valid public key knows a valid secret up to block number X." When using such a proposition, in step S21, target node 100A does not need to send a signature using the secret key paired with target node 100A's public key to authentication node 100B.

[0082] (4) Other embodiments In the embodiment described above, multiple nodes 100 within the blockchain network 20 may be divided into multiple groups, and each group may manage its own ledger. In this case, participating nodes and / or accounts are rearranged into groups according to their characteristic types. When an account or node 100 is moved under the management of a different ledger (i.e., to a different group) as a result of this rearrangement, the authentication function must be completed within the ledger (group) to which it belongs. Therefore, in order to perform the authentication procedure associated with such a move, the node 100 that is moved to a different group may withdraw from the blockchain service and rejoin.

[0083] Each of the above-described operation flows can be performed not only independently, but also in combination of two or more operation flows. For example, some steps of one operation flow may be added to another operation flow, or some steps of one operation flow may be replaced with some steps of another operation flow. Furthermore, the order of steps in each of the above-described operation flows is just an example, and the order of steps may be changed as appropriate.

[0084] A program may be provided that causes a computer to execute each process performed by node 100. The program may be recorded on a computer-readable medium. Using a computer-readable medium, it is possible to install the program on a computer. Here, the computer-readable medium on which the program is recorded may be a non-transient recording medium. The non-transient recording medium is not particularly limited, but may be a recording medium such as a CD-ROM or DVD-ROM. Alternatively, the circuits that execute each process performed by node 100 may be integrated, and at least a part of node 100 may be configured as a semiconductor integrated circuit (chipset, SoC: System on a chip).

[0085] As used in this disclosure, the terms “based on” and “according to” do not mean “based solely on” or “according solely to” unless otherwise specified. The term “based on” means both “based solely on” and “based at least partially on.” Similarly, the term “according to” means both “based solely on” and “according at least partially to.” Furthermore, the terms “include,” “comprise,” and variations thereof do not mean that only the listed items are included, but that they may include only the listed items or that they may include additional items in addition to the listed items. Also, the term “or” as used in this disclosure is not intended to mean exclusive OR. Moreover, any reference to elements using designations such as “first,” “second,” etc., as used in this disclosure does not generally limit the quantity or order of those elements. These designations may be used herein as a convenient way to distinguish between two or more elements. Thus, references to first and second elements do not mean that only two elements may be employed therein, or that the first element must precede the second element in any way. In this disclosure, if articles are added by translation, such as a, an, and the in English, these articles shall be plural unless it is clearly indicated otherwise from the context.

[0086] Although the embodiments have been described in detail above with reference to the drawings, the specific configuration is not limited to those described above, and various design changes can be made without departing from the gist of the invention.

[0087] This application claims priority to Japanese Patent Application No. 2022-193441 (filed December 2, 2022), and all of its contents are incorporated into the specification of this application.

[0088] (5) Note The features of the above-described embodiment are noted below.

[0089] (Note 1) An authentication method for authenticating a target node (100A) in a blockchain system (1) that uses blockchain technology to manage a ledger containing multiple blocks in a distributed manner, The steps include storing authentication information constituting the elements of multi-factor authentication for the target node (100A) and a block number indicating the expiration date of the authentication information in an electronic vault (10) associated with the account for the target node (100A) recorded in the ledger, The authentication node (100B) communicating with the target node (100A) authenticates the target node (100A) by verifying, using a zero-knowledge proof, that the target node (100A) possesses the authentication information that is valid until the expiration date. Authentication method.

[0090] (Note 2) The authentication information includes a secret that constitutes the stored information, which is one of the elements of the multi-factor authentication. The aforementioned storage step includes storing the secret information, which includes the secret and a block number indicating the expiration date of the secret, in an encrypted state in the electronic storage (10). The authentication method described in Appendix 1.

[0091] (Note 3) The confidential information further includes an identifier that identifies the ledger. The authentication method described in Appendix 2.

[0092] (Note 4) The aforementioned confidential information further includes the most recent block number when storing the confidential information. The authentication method described in Appendix 2 or 3.

[0093] (Note 5) The authentication information further includes a public key that constitutes ownership information, which is another element of the multi-factor authentication. The aforementioned storage step includes storing the public key associated with the confidential information in an encrypted state in the electronic vault (10). The authentication method described in any of the appendices 2 to 4.

[0094] (Note 6) The method further includes the step of unlocking and / or locking the electronic storage (10) based on a private key that is paired with the public key. The authentication method described in Appendix 5.

[0095] (Note 7) The method further includes the step of unlocking and / or locking the electronic storage unit (10) based on the combination of the proof key and verification key used in the zero-knowledge proof. The authentication method described in any of the appendices 1 to 5.

[0096] (Note 8) The further step is to update the block number indicating the secret and / or the expiration date stored in the electronic storage (10). The authentication method described in Appendix 2.

[0097] (Note 9) The authentication step includes using the proposition in the zero-knowledge proof that the target node (100A) that possesses the public key has authentication information that is valid until the expiration date. The authentication method described in Appendix 5.

[0098] (Note 10) In a blockchain system that uses blockchain technology to manage a ledger containing multiple blocks in a distributed manner, a node (100B) authenticates a target node (100A), The electronic vault (10) associated with the account for the target node (100A) recorded in the ledger includes a control unit (120) that stores authentication information constituting the elements of multi-factor authentication for the target node (100A) and a block number indicating the expiration date of the authentication information. The control unit (120) authenticates the target node (100A) by verifying, using a zero-knowledge proof, that the target node (100A) possesses the authentication information that is valid until the expiration date. Node (100B).

[0099] (Note 11) In a blockchain system that uses blockchain technology to manage a ledger containing multiple blocks in a distributed manner, a node (100A) is authenticated by an authentication node (100B), An electronic vault (10) associated with the account for the node recorded in the ledger includes a control unit (120) that stores authentication information constituting the elements of multi-factor authentication for the node and a block number indicating the expiration date of the authentication information. The control unit (120) proves, in the authentication process of the node, that the node possesses the authentication information that is valid until the expiration date by zero-knowledge proof. Node (100A). [Explanation of Symbols]

[0100] 1: Blockchain System 5: Communication Network 10:Electronic storage 20: Blockchain Network 100: Node 100A: Target node 100B: Authentication node 110: Communications Department 120: Control Unit 121: Processor 130: Storage section

Claims

1. An authentication method for authenticating a target node in a blockchain system that uses blockchain technology to manage a ledger containing multiple blocks in a distributed manner, The authentication node communicating with the target node stores authentication information constituting the elements of multi-factor authentication for the target node and a block number indicating the expiration date of the authentication information in an electronic vault associated with the account for the target node recorded in the ledger. The authentication node authenticates the target node by verifying, through a zero-knowledge proof, that the target node possesses the authentication information that is valid until the expiration date. Authentication method.

2. The authentication information includes a secret that constitutes the stored information, which is one of the elements of the multi-factor authentication. The aforementioned storage includes storing the confidential information, including the confidential information and a block number indicating the expiration date of the confidential information, in an encrypted state in the electronic vault. The authentication method according to claim 1.

3. The confidential information further includes an identifier that identifies the ledger. The authentication method according to claim 2.

4. The aforementioned confidential information further includes the most recent block number when storing the confidential information. The authentication method according to claim 2.

5. The authentication information further includes a public key that constitutes ownership information, which is another element of the multi-factor authentication. The aforementioned storage includes storing the public key associated with the confidential information in an encrypted state in the electronic vault. The authentication method according to any one of claims 2 to 4.

6. The authentication node further comprises unlocking and / or locking the electronic vault based on a private key paired with the public key. The authentication method according to claim 5.

7. The authentication node further comprises unlocking and / or locking the electronic vault based on the combination of the proof key and verification key used in the zero-knowledge proof. The authentication method according to claim 1.

8. After performing the authentication, the authentication node further comprises updating the block number indicating the secret and / or the expiration date stored in the electronic vault. The authentication method according to claim 2.

9. Performing the aforementioned authentication involves using, as a proposition in the zero-knowledge proof, the proposition that the target node possessing the public key has the authentication information valid until its expiration date. The authentication method according to claim 5.

10. In a blockchain system that uses blockchain technology to manage a ledger containing multiple blocks in a distributed manner, a node that authenticates the target node, The electronic vault associated with the account for the target node recorded in the ledger includes a control unit that stores authentication information constituting the elements of multi-factor authentication for the target node and a block number indicating the expiration date of the authentication information. The control unit authenticates the target node by verifying, using a zero-knowledge proof, that the target node possesses the authentication information that is valid until the expiration date. node.

11. In a blockchain system that uses blockchain technology to manage a ledger containing multiple blocks in a distributed manner, a node is authenticated by an authentication node, The electronic vault associated with the account for the node recorded in the ledger includes a control unit that stores authentication information constituting the elements of multi-factor authentication for the node and a block number indicating the expiration date of the authentication information. The control unit, in the authentication process of the node, proves by zero-knowledge proof that the node possesses the authentication information that is valid until the expiration date. node.

Citation Information

Patent Citations

  • Enabling multi-tenant data access on a single industrial network

    JP2020536304A

  • Distributed information protection for confidentiality and fraud prevention in distributed databases

    JP2021520714A

  • Secure Surveillance Using Blockchain

    JP2022527906A

  • Container-based applications

    JP2022538897A

  • JPP7043672B