WO2018174112A1 - Technology for authenticating device on network - Google Patents
Technology for authenticating device on network Download PDFInfo
- Publication number
 - WO2018174112A1 WO2018174112A1 PCT/JP2018/011231 JP2018011231W WO2018174112A1 WO 2018174112 A1 WO2018174112 A1 WO 2018174112A1 JP 2018011231 W JP2018011231 W JP 2018011231W WO 2018174112 A1 WO2018174112 A1 WO 2018174112A1
 - Authority
 - WO
 - WIPO (PCT)
 - Prior art keywords
 - client
 - public key
 - block
 - hash
 - logical
 - Prior art date
 - Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
 - Ceased
 
Links
Images
Classifications
- 
        
- G—PHYSICS
 - G06—COMPUTING OR CALCULATING; COUNTING
 - G06F—ELECTRIC DIGITAL DATA PROCESSING
 - G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
 - G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
 - G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
 - G06F21/73—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by creating or determining hardware identification, e.g. serial numbers
 
 - 
        
- G—PHYSICS
 - G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
 - G09C—CIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
 - G09C1/00—Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
 
 - 
        
- H—ELECTRICITY
 - H04—ELECTRIC COMMUNICATION TECHNIQUE
 - H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
 - H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
 - H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
 
 - 
        
- H—ELECTRICITY
 - H04—ELECTRIC COMMUNICATION TECHNIQUE
 - H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
 - H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
 - H04L9/10—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols with particular housing, physical features or manual controls
 
 - 
        
- H—ELECTRICITY
 - H04—ELECTRIC COMMUNICATION TECHNIQUE
 - H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
 - H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
 - H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
 
 
Definitions
- the present invention relates to a technique for authenticating a device existing on a network.
 - CS client / server
 - core node central node
 - P2P peer-to-peer
 - a network generally consists of nodes (nodes) and communication lines (links).
 - the first node and the second node are linked by a signal transmission path that is a communication line.
 - a first node and a second node exchange protocol data units (PDUs), which are a form of data, via a signal transmission path.
 - PDUs protocol data units
 - Each of the first node and the second node handles a protocol data unit according to a protocol having a certain consistency.
 - these first and second nodes are devices (hardware) that connect to the network and have physical reality, so they are called physical nodes.
 - the first physical node and the second physical node are connected by a signal transmission path having physical reality.
 - Such a signal transmission path transmits a wired / wireless electronic signal or optical signal.
 - a network constructed by a plurality of physical nodes and signal transmission paths in this way is called a physical network.
 - An address used for recognizing a physical node on a physical network is called a physical address. That is, the first physical node has a first physical address, and the second physical node has a second physical address.
 - Sending data from the first physical node to the second physical node means that data (in this case, a frame) is transmitted from the first physical address to the second physical address through a signal transmission path having physical reality. It is sent.
 - a logical node is a node associated with a logical address virtually defined on the network, and is not necessarily associated with specific birdware.
 - a network constructed by a plurality of logical nodes is called a logical network. At this time, the signal transmission path connecting the first logical node and the second logical node does not necessarily have a physical reality.
 - An address used to recognize a logical node on the logical network is called a logical address. That is, sending data from the first logical node to the second logical node is interpreted as sending data from the first logical address to the second logical address.
 - the first logical address and the second logical address are sequentially attached to the transferred data as codes. Therefore, when the transfer is repeated, a list of a plurality of logical addresses is attached to the data. This list of logical addresses includes the latest logical address of this data and the past transfer history. In this way, all logical nodes accessing this data can know where and how this data is transferred and which virtual node is currently defined.
 - data to which a transfer history including the latest logical address is attached is called a block or a logical block. As long as the transfer history is not falsified, the logical block can be properly recognized by the latest logical address.
 - Blockchain is a public ledger system in a peer-to-peer (P2P) network.
 - P2P peer-to-peer
 - all nodes (nodes) connecting to the network are non-core, equal, and secure each other by monitoring each other. It is necessary. That is, it is possible to provide an application that cannot be realized in a client-server network assuming the existence of a core server.
 - Bitcoin cryptocurrency remittance system
 - the processing means is not left to financial institutions.
 - the updated and forwarded processing history is monitored by many other non-core nodes on the network and certified in a manner similar to majority voting.
 - Transfer of process history is synonymous with transfer of currency, and an authorized process history is treated like currency. In this way, processing proceeds without going through a specific core like a bank.
 - the ciphers used for electronic signatures that flow on the network are the simplest to describe with public key cryptography, famous for the metaphor of Alice and Bob.
 - Alice sends Bob her public key in advance. This public key may be stolen by someone on the net.
 - Bob encrypts the letter with Alice's public key and sends it to Alice.
 - the public key may be exposed on the network. Therefore, Alice does not only send Bob the public key. However, only Alice who owns the private key can read the letter by decrypting the cipher encrypted with the public key unless the cipher is decrypted.
 - the public key and private key are always generated as a pair, but it must be practically impossible to reproduce the private key from the public key. In other words, decryption means reproducing the secret key from the public key.
 - a letter encrypted with a private key can also be decrypted with a public key.
 - Another important role of the public key is to become the destination for sending letters to Alice, ie the address on Alice's network.
 - Bob sends an encrypted letter to the network, it goes into the hands of any recipient connected to the network. If it cannot be solved at this time, it cannot be read. If you can't read it anyway, you agree that you didn't receive it. Therefore, being able to unlock only Alice is equivalent to reaching only Alice.
 - another role of the public key is a logical address on the network. Therefore, the public key used in bitcoin is also called a bitcoin address.
 - a logical node is a wallet that stores cryptocurrencies such as bit coins, and a logical address is assigned in advance.
 - the contents of the wallet contain something with some monetary value (data on currency and equivalent coins, etc.).
 - the address and the contents of the wallet can be attached to the wallet as an electronic signature.
 - such a wallet can be used by installing a dedicated application on hardware such as a personal computer, a tablet, a smartphone, or a smart card. At that time, the contents of the wallet are stored as digital data in the hardware storage in which the dedicated application is installed.
 - the hardware manager / owner in digital processing based on P2P, the hardware manager / owner must take responsibility for managing digital data. This point is different from the client / server type. In the client-server type, financial institutions will take responsibility. Electronic processing with P2P does not require the existence of a financial institution having such a core function.
 - FIG. 1 shows a chain of processing (N ⁇ 2, N ⁇ 1), processing (N ⁇ 1, N), processing (N, N + 1),.
 - Processing (N-2, N-1) is some processing from wallet (N-2) to wallet (N-1)
 - processing (N-1, N) is from wallet (N-1) to wallet (N )
 - the process (N, N + 1) is some process from the wallet (N) to the wallet (N + 1).
 - N is an arbitrary natural number of 3 or more.
 - the wallet (N-1) is the contents of the wallet of 1,000 yen, its digital signature, the private key (N-1) used to create the next digital signature, and a unique public key that makes a pair with it. (N-1).
 - the public key (N-1) is an address on the network of the wallet (N-1). As an example, a bit coin address is raised.
 - the hash value (N-1) is obtained from the public key (N-1), the contents of the wallet (N-1), and the digital signature (N-2) using a hash function (SHA-256 as an example). Is generated.
 - This hash value (N-1) is sent to the wallet (N), and the wallet (N) stores it as the contents of the wallet (N).
 - the public key (N) as the address of the wallet (N) and the hash value (N-1) as the contents are encrypted by using the private key (N-1) of the transfer source, and an electronic signature (N-1 ) Is generated and transferred to the wallet (N) together with the hash value (N-1).
 - the wallet (N) forms a pair of a hash value (N-1), an electronic signature (N-1), and a pair of a public key (N) and a private key (N) unique to the wallet (N). It will consist of This completes the process of transferring 1000 yen from the wallet (N-1) to the wallet (N).
 - the hash value (N-1) should contain information that this 1000 yen came from the wallet (N-1). However, since a hash cannot be reversely converted unlike a cipher, the hash value (N-1) cannot be reversely converted (signed) and read. Therefore, an electronic signature (N-1) is attached. This electronic signature (N-1) is obtained by encrypting a public key (N) and a hash value (N-1) together using a secret key (N-1). Therefore, in order to confirm whether or not this electronic signature really came from the wallet (N-1), the digital signature (N-1) was decrypted with the public key (N-1) and the wallet ( Compare with the public key (N) and hash value (N-1) stored in N).
 - the digital signature is certainly signed with the private key (N-1). If they do not match, the electronic signature is false. Alternatively, if it coincides with the result of decryption with another public key, for example, the public key (Q), it can be understood that the wallet (Q) having the public key (Q) as an address has illegally processed.
 - the hash function (SHA-256 as an example) is subsequently obtained from the contents of the public key (N), the wallet (N) (in this case, the hash value (N-1)), and the electronic signature (N-1).
 - the wallet (N) transmits this hash value (N) to the wallet (N + 1), and the wallet (N + 1) stores it as the contents of the wallet (N + 1).
 - the wallet (N) uses the private key (N) to encrypt the public key (N + 1), which is the address of the wallet (N + 1), and this hash value (N), and to create an electronic signature (N) Is generated. Subsequently, the electronic signature (N) is sent to the wallet (N + 1) together with the hash value (N).
 - the contents (N-1, N) from the wallet (N-1) to the wallet (N) are recorded as the hash value (N-1) in the contents of the wallet (N).
 - the contents (N, N + 1) from the wallet (N) to the wallet (N + 1) are recorded as the hash value (N) in the contents of the wallet (N + 1).
 - the contents of an arbitrary wallet include all past processing histories in a chain. That is, the latest past hash value represents all past histories.
 - the number of wallets to be transferred to one wallet is not limited to one as in the example of FIG. In fact, you will often transfer money from multiple wallets to a single wallet. There are also many cases where money is transferred from one wallet to multiple wallets.
 - the root of Merkuru As shown in FIG. 2, it is like a tree diagram that branches off from the root of Merkuru. This is called the Mercle tree diagram. In this way, the Merkuru tree is a collection of all past histories arranged in chronological order. That is, this corresponds to the logical block described above.
 - the root of the Merkuru which is the latest history is a code characterizing the logical block.
 - the hash value (ABCD) which is the root of Merck is connected to the history corresponding to the hash value (AB) and the hash value (CD).
 - the hash value (AB) is further connected to the past history corresponding to the hash value (A) and the hash value (B), that is, the process (A) and the process (B).
 - the hash value (CD) is further linked to the past history corresponding to the hash value (C) and the hash value (D), that is, the process (C) and the process (D), respectively.
 - the public key (N-2) of the wallet (N-2) including the hash value (N-3) can also be searched by the same method. By repeating this operation, the processing history can be traced back.
 - M and N are arbitrary natural numbers.
 - the time stamp confirms that there is a collection of past processes represented by the roots of Merkuru (in the above example, hash value (ABCD)).
 - the logical block thus approved is released on the network. Therefore, this is called a public ledger.
 - This approval is a work (work) similar to date authentication in which a document is brought into a notary public office and sealed with a date.
 - Approving a collection of unapproved processes as a new logical block is called “book entry”, and a person who has made a book is given a certain reward in bit coins as a consideration for authentication work.
 - Obtaining bit coins in this way is called mining, and the user of the mining bit coin is called a miner. However, since only one miner can be booked at a time, miners mine ahead.
 - the mined Bitcoin is distributed in the market on the logical network.
 - this approval work will be briefly described with reference to FIG.
 - a collection of unapproved processes existing on the network is found, and the root (hash value) of the Mercle of the collection is acquired.
 - a variable nonce value is added to these two hash values, and further hashed to create a block hash.
 - SHA-256 is used as a hash function in Bitcoin.
 - the nonce value is generally an arbitrary value of 32 bits.
 - a hash value (block hash here) generated including the nonce value is a 256-bit value. 2 to the 256th power is larger than 10 to the 77th power, and it can be seen that the block hash has a huge degree of freedom. Adjusting the nonce value can zero out the first few bits of the block hash. As an example, the probability that the first 16 bits of a newly generated block hash are all zero is 1/16, that is, 1 / 65,536. That is, it can hardly happen by chance.
 - the hash function is irreversible. Accordingly, it is generally impossible to obtain a nonce value by inverse transformation so as to generate a hash value (here, a block hash) in which the first few bits (16 bits in this example) are zero. In other words, it is necessary to repeat hashing while changing the nonce value until the first few bits of the generated hash value are all zero.
 - a hash value here, a block hash
 - the use of a certain computer or more is indispensable for determining a nonce value for generating a block hash in which the first 16 bits are all zero.
 - the reliability of currency is the reliability of past processing history.
 - blockchain guarantees its reliability. The longer the blockchain extends, the more difficult it is to tamper. For example, when data of a part of logical blocks is rewritten, the connection condition with the logical block connected to the logical block (the first few bits of the block hash are all zero) is not satisfied. Therefore, the nonce value of the logical block must be corrected so that this condition is satisfied. As described above, since the hash function is irreversible, it requires a corresponding calculation. However, when the nonce value of the logical block is adjusted, the nonce value of the subsequent logical block must also be adjusted.
 - the fraudulent chain may be longer than the regular chain when the fraudulent side's computing power outweighs the computing power distributed to other minors around the world. This is called “51% attack”.
 - the powers that will be attacked will need to join the blockchain. If multiple nations participate and no one can attack 51%, the problem will disappear. In this way, the blockchain is P2P, but it will also have an aspect of international information and communication infrastructure.
 - the secret key is a product of software and has nothing to do with the physical reality.
 - software is designed to function even when installed on any hardware designed and manufactured according to the same standard. In other words, it is required to move in the same way regardless of the difference in individual physical reality. Therefore, it has nothing to do with the physical reality.
 - the IoT network is composed of a myriad of hardware and wired wireless signal transmission paths that connect them to exchange electronic data. Here is both the reason for associating the private key with the physical reality and one hint.
 - the public key and the physical address are linked by some method that is not falsified.
 - the physical address required here must be non-rewritable unlike the MAC address. (Physical address that cannot be rewritten)
 - the method for realizing it may be any software technology, network technology, or hardware technology. In any case, it suffices to be able to relate to a chip that has some form of physical reality by software technology, network technology, hardware technology, or some combination of these technologies.
 - FIG. 4 is a diagram for explaining the relationship between a physical network in which hardware having (non-rewritable physical address) participates and a logical network utilizing a public ledger.
 - the hardware is a physical node because it has a physical reality and becomes a node constituting a physical network.
 - the preset physical address is linked one-to-one with the secret key by some method.
 - a logical node whose logical address is a public key that forms a pair with the secret key by public key cryptography is paired with the physical node or hardware corresponding thereto.
 - the hash value (N-1) that is the contents of the wallet (N) is the hash value (N-2) that is the contents of the wallet (N-1), the public key (N-1) that is the logical address, and the electronic signature. (N-2) is hashed together.
 - the public key (N-1) is hashed into a hash value (N-1) together with a hash value (N-2) and an electronic signature (N-2). Therefore, alteration of the public key (N-1) is also alteration of the hash value (N-1).
 - the hash value (N-1) is not necessarily the latest hash value, that is, the root of Merck. However, if you tamper with the Merkul tree, that is, some of the logic blocks, you agree that the roots of Merkul have been tampered with.
 - the block hash (N) constituting the contents of the logical block (N + 1) is a hashed form of all the logical blocks (N).
 - the logic block (N) contains the roots of Merkuru. Assuming that the root of this Mercle is altered as described above, the connection condition between the logical block (N) and the logical block (N + 1) is broken. Therefore, it is necessary to readjust the nonce value of the logical block (N) to recover the connection condition. For example, the nonce value of the logical logic block (N) must be recalculated so that the first 16 bits of the block hash (N + 1) are all zero again.
 - the hash function is irreversible, this calculation requires a certain level of calculation capability.
 - a method of generating a public key that makes a pair with the private key will be described.
 - a method using an RSA type key generation device that generates a private key and a public key that form a pair with each other from a certain input, and a public key that forms a pair with the private key by inputting the private key
 - Elgamal type key generation devices to be generated. In any case, it is very difficult to reproduce the secret key from at least the public key.
 - These key generation devices may be a kind of program recorded in a memory, or may be an embedded circuit mounted on a semiconductor chip.
 - Rivest Shamir Edelman ( reference. ) Rivest, Ronald L. Shamir, Adi. Adelman, Len M. (1977-07-04), “A Method for Obtaining Digital Signature and Public-key Cryptsystems”, MIT-LCS-TM-082 (MIT Laboratory for Computer Science) .
 - an appropriate non-negative integer e is prepared. Usually, 2 to the 16th power plus 1 is adopted, but other positive natural numbers can be adopted.
 - ⁇ e, n ⁇ is a public key.
 - a secret integer d is obtained by further dividing a positive integer whose remainder is 1 by dividing the product of (p ⁇ 1) and (q ⁇ 1) by e.
 - ⁇ p, q ⁇ is known in addition to ⁇ e, n ⁇ , d can be obtained by calculation.
 - ⁇ p, q ⁇ must be discarded or not leaked to the outside. If the set of prime numbers ⁇ p, q ⁇ is stored so as not to leak to the outside, it can be considered that the set ⁇ d, p, q ⁇ is a secret key.
 - a positive integer e can be generated by adding 1 to the physical address displayed in code.
 - prime number ⁇ p, q ⁇ is also possible to generate the prime number ⁇ p, q ⁇ from the physical address.
 - 1 is added to the physical address indicated by the code to check whether it is a prime number. If it is a prime number, let p be the prime number. If it is not a prime number, add 1 to see if it is a prime number. This is repeated to determine the prime number p. After determining the prime number p, the same procedure is repeated to determine the prime number q.
 - the prime number ⁇ p, q ⁇ can be obtained.
 - Prime number q Another example of how to determine the prime number q is to add 2 to the physical address to see if it is a prime number. If it is a prime number, let the prime number be q. If it is not a prime number, add 2 to see if it is a prime number. The prime number q is determined by repeating this.
 - the number added to the physical address to obtain the prime number p or q is not limited to 1 or 2, but an arbitrary integer (for example, k) can be adopted.
 - k can be a security parameter.
 - both p and q are sufficiently large prime numbers, and the selection of the security parameter k becomes more diverse.
 - the method of synthesizing the physical address indicated by code and k can perform all arithmetic operations and combinations of addition, subtraction, multiplication, and division, or any bit operation as much as possible.
 - N physical address
 - k is sufficiently large as a numerical value
 - p is a sufficiently large prime number.
 - the k may be an internal input or an external input.
 - a method for obtaining a prime number p or q from a physical address includes, as an example, a synthesis step for synthesizing a physical address and an appropriately given variable, and a determination step for determining whether or not the synthesized number is a prime number. And the synthesis step and the determination step are repeated until a prime number is actually obtained. See FIG.
 - a large prime number p and its primitive root g are determined.
 - the prime number p and the primitive root g can be selected according to design specifications.
 - a non-negative integer x smaller than p ⁇ 1 is randomly selected as a secret key.
 - a remainder obtained by dividing the x-th power of the primitive root g by p is set as a public key.
 - the physical address and the secret key can be linked.
 - the secret address may be a physical address represented by a code or a remainder obtained by adding an integer of 1 or more to the physical address and dividing by p ⁇ 1.
 - the difference is whether to generate a public key from a secret key, or to generate a public key and a secret key from different input variables. Or there are differences in algebraic problems used for variable transformation. For example, prime factorization, discrete logarithm problem, random oracle assumption, elliptic curve problem, etc. (System integration)
 - the physical address of the hardware to be replaced is different from the failed hardware, the physical address is also replaced. This is the same as falsifying the physical address. In this way, the logical blocks constituting the block chain are falsified. As a result, the logical block connection condition cannot be satisfied, and the block chain is also destroyed.
 - SSDs are hardware and cannot escape mechanical failure. Regardless of how reliable and failure frequency is, the number of SSDs is enormous, so SSDs must be replaced on a daily basis for maintenance and inspection. Due to the nature of the blockchain, if even one SSD is replaced, the blockchain will be destroyed. This makes it difficult to protect large systems from malicious hackers using blockchain. Even if the information necessary for preventing the blockchain from being broken can be remarkably extracted from the failed hardware, it takes time and labor to actually extract such information, which is not economical.
 - the present invention has been made in view of the above circumstances, and provides a network management technology in which a logical block is not tampered with even when hardware that is a part of a component is replaced, and a secure intranet using a block chain is provided.
 - the purpose is to build at low cost.
 - the present invention employs the following means in order to solve the above problems.
 - the server has an input / output interface for exchanging data with each client, Each of the plurality of clients has a unique physical address, sends the physical address to the server through the input / output interface,
 - the server further includes a key generation device and a synthesis device, The key generation device and the synthesis device generate a secret key and a public key corresponding to each client from the physical address, The secret key and the public key are each passed to the corresponding client,
 - the server generates an authentication variable consisting of a combination of the physical address, the secret key, and the public key for each of the plurality of clients. Collecting authentication variables corresponding to the plurality of clients and recording them in a private ledger; It is characterized by About the network.
 - the plurality of clients include a first client, a second client, and a third client different from each other,
 - the key generation device generates a first public key from a first secret key corresponding to the first client;
 - the synthesizing device generates a second secret key corresponding to the second client from the first public key and a second physical address corresponding to the second client;
 - the key generation device generates a second public key corresponding to the second client from the second secret key,
 - the synthesizing device generates a third secret key corresponding to the third client from the second public key and a third physical address corresponding to the third client,
 - the key generation device generates a third public key from the third secret key;
 - the first public key and the first secret key form a pair with each other,
 - the second public key and the second secret key form a pair with each other,
 - the third public key and the third secret key form a pair with each other; It is characterized by About the network.
 - the second client is replaced by a fourth client having a fourth physical address;
 - the fourth physical address is transmitted to the server through the input / output interface;
 - the authentication variable corresponding to the second client is replaced with a combination including the fourth physical address, the second secret key, and the second public key,
 - the fourth client is passed the second secret key and the second public key from the server, and is passed the second hash value and the second electronic signature from the first client. It is characterized by About the network.
 - the attached third logic block is connected to form part or all of the block chain,
 - the first time stamp is at least a part of a record of a public ledger that collectively approves the first logical block, a first block hash, and a first nonce value;
 - the second time stamp is at least part of a record of a public ledger that collectively approves the second logical block, a second block hash, and a second nonce value;
 - the third time stamp is at least part of a record of a public ledger that collectively approves the third logical block, a third block hash, and a third nonce value;
 - the first block hash is generated by hashing the second block, the second block hash, and the second nonce value together,
 - the second block hash is generated by hashing the
 - a plurality of physical nodes constitute a system regardless of the size.
 - Each of the plurality of physical nodes is a kind of hardware, and functions as a system while exchanging data with each other via a signal transmission path.
 - a plurality of physical nodes constituting such a large-scale system can be broadly classified into a core node in charge of core functions and peripheral nodes in charge of some functions in cooperation with the core nodes.
 - the network structure is a client-server type, and therefore, the core node will be referred to as a server and the peripheral nodes as clients.
 - the client is an SSD as an example. If the system is an SSD, the client is NAND flash as an example and the server is the controller. When the system is a controller, the server is an arithmetic processing unit, and the client is a cache memory or the like.
 - FIG. 6 shows the client (N ⁇ 1), the client (N), and the client (N + 1) before being incorporated into the system.
 - a physical address (N-1), a physical address (N), and a physical address (N + 1) are respectively assigned.
 - N is a natural number of 2 or more.
 - FIG. 7 shows a method for authenticating and registering these clients in the server. Incorporating the client into the system for the first time is called initial setting, and resetting authentication registration for maintenance and management is called resetting.
 - the server assigns an input / output interface (I / F) corresponding to each client. Each client transmits a physical address (N-1), a physical address (N), and a physical address (N + 1) to the server via the I / F.
 - I / F input / output interface
 - the server uses the physical address (N) received from each client and generates a secret key (N) by an appropriate method.
 - the server further includes a key generation device, and the key generation device generates a public key (N) from the secret key (N) in accordance with an El Gamal type encryption key generation method.
 - the secret key (N) and the public key (N) form a pair. A specific description will be given below in order.
 - N 2
 - the secret key (1) is generated from the physical address (1).
 - the key generation device generates a public key (1) from the secret key (1).
 - the private key (1) and the public key (1) are passed to the client (1).
 - a combination of (physical address (1), secret key (1), public key (1)) is formed in the client (1).
 - a combination of (physical address (1), secret key (1), public key (1)) corresponding to client (1) remains in the server.
 - This combination authentication variable is called and registered in the ledger in the server. Since this ledger is kept private outside the server, it can be called a private ledger.
 - the server further includes a synthesizer.
 - This synthesizing device synthesizes the public key (1) and the physical address (2), and generates a secret key (2) from the synthesis result.
 - the key generation device generates a public key (2) from the secret key (2).
 - the private key (2) and the public key (2) are passed to the client (2).
 - a combination of (physical address (2), secret key (2), public key (2)) is formed in the client (2).
 - the authentication variables (physical address (2), secret key (2), public key (2)) corresponding to the client (2) remain in the server and are registered in the private ledger in the server.
 - the synthesizing device synthesizes the physical address (N) and the public key (N-1), and generates a secret key (N) from the synthesis result.
 - the key generation device generates a public key (N) from the secret key (N). Pass the private key (N) and public key (N) to the client (N).
 - a combination of (physical address (N), secret key (N), public key (N)) is formed in the client (N).
 - the authentication variables (physical address (N), secret key (N), and public key (N)) corresponding to the client (N) remain in the server and are registered in the private ledger in the server.
 - a specific method for generating a secret key by the synthesizing apparatus will be described.
 - a large prime number p is prepared by an appropriate method.
 - a combination of the physical address (N) and the public key (N-1) is hashed, the result of the synthesis is divided by p-1, and the remainder is used as the secret key (N).
 - the combining device combines the physical address and the public key. For example, addition, subtraction, multiplication, division, a combination of these arithmetic operations, a logical operation, and any other bit operation as much as possible can be used.
 - a set of (physical address (N), secret key (N), and public key (N)) is stored in the client (N).
 - This private ledger is stored and managed by the server, and is not disclosed to the outside in order to enhance safety.
 - FIG. 8 shows a method of forming logical blocks by connecting clients after initial setting and resetting by hashing.
 - the logical block generation method is the same as that for bit coins. That is, the combination of the public key (N-1), hash value (N-2) and digital signature (N-2) of the client (N-1) corresponds to the bit coin purse (N-1). In this application, it is a logical node (N-1). This logical node (N-1) is hashed to generate a hash value (N-1). Subsequently, the hash value (N-1) and the public key (N) of the client (N) are collectively encrypted with the secret key (N-1) to generate an electronic signature (N-1).
 - the client (N-1) sends both the hash value (N-1) and the electronic signature (N-1) to the client (N).
 - a logical node (N) is formed from the public key (N), the hash value (N-1), and the electronic signature (N-1).
 - the logical node (N) is hashed to generate a hash value (N).
 - the hash value (N) and the public key (N + 1) of the client (N + 1) are collectively encrypted with the secret key (N) to generate an electronic signature (N).
 - the client (N) sends both the hash value (N) and the electronic signature (N) to the client (N + 1).
 - a logical node (N + 1) is formed from the public key (N + 1), the hash value (N), and the electronic signature (N).
 - a logical block composed of a plurality of logical nodes is formed.
 - the method of transferring a hash value between clients by the method as described above is one method of transferring data between clients.
 - the data In the case of cryptocurrency, the data is something with a monetary value, and in the case of bitcoin, it is a processing record. (It is actually a hashed hash value.)
 - the client If the client is a storage such as SSD, this data does not necessarily need a monetary value. Simply hashed data is only transferred between SSDs. Nevertheless, it is possible to form a logical block in this way. That is, a logical block can be formed regardless of the contents of data.
 - the client including the logical block is hardware
 - a method for dealing with hardware mechanical failure is required as described above. That is, the failed hardware must be replaced with new hardware.
 - the private ledger stored in the server records (physical address (N), private key (N), public key (N)). This is an authentication variable corresponding to the client (N).
 - the physical address (N ′) is input to the server via the I / F connecting the failed client (N) and the server.
 - the server edits the private ledger and modifies the authentication variables to (physical address (N ′), secret key (N), public key (N)).
 - FIG. 10 is a diagram illustrating a state after the failed hardware is replaced. Compared with FIG. 8, it can be seen that the logical nodes are exactly the same. That is, the logical node does not have to be tampered with. Thus, by using the server relating to the present embodiment, it is possible to replace the failed hardware without falsifying the logical block.
 - FIG. 8 Assume that before the hardware breaks down, the collection of logical nodes and their data transfer history shown in FIG. 8 are disclosed as logical blocks. A minor who digs up this logical block or a wider range of logical blocks that contain this logical block records it in a public ledger (for example, a block chain). Thereafter, the hardware breaks down, and the hardware is replaced by the method shown in FIG. However, as shown in FIG. 10, in this embodiment, there is no change in the logical node of the client whose hardware has been replaced. Therefore, the logical block is not falsified, and there is no fear of breaking the block chain connection condition.
 - a public ledger for example, a block chain
 - the logic block also changes. If the time axis is taken on the vertical axis, this change is divided at an appropriate time interval, and a time stamp is attached, it is possible to stack logical blocks that change from bottom to top as shown in FIG. The latest one is the logical block (M), and the last one approved is the logical block (M-1). The previous block is a logical block (M-2). However, in the present embodiment, this time stamp is issued to a server to which a client constituting a logical block is connected. The time stamp is issued at predetermined time intervals determined for the convenience of client maintenance using the server according to the present embodiment.
 - the server issues a time stamp, it means that the server approves the logical block at that time on behalf of the public ledger (eg, blockchain).
 - the public ledger eg, blockchain
 - this approval work is performed by an arbitrary minor.
 - the approval of the logical block according to the present embodiment is fundamentally different from the conventional method using the block chain. That is, the chain of logical blocks that are vertically continuous in FIG. 11 is different from a normal block chain.
 - FIG. 12 is a diagram illustrating an example of an approval operation by the server according to the present embodiment.
 - the transition of logic blocks and time stamps are arranged from left to right in the figure. The latest one is the time stamp (M), going back one at a time (M-1), time stamp (M-2), and so on. Similarly, it can be traced back to logical block (M), logical block (M-1), logical block (M-2).
 - the block hash (M-2) is generated by combining the logical block (M-2) with the block hash (M-3) and an appropriately selected nonce value and hashing them.
 - the block hash (M-1) is generated by combining the block hash (M-2) and an appropriately selected nonce value with the logical block (M-1) and hashing it.
 - the block hash (M-1) may be hashed together with the logical block (M) and an appropriately selected nonce value.
 - the nonce value is generally an arbitrary value of 32 bits.
 - a hash value (block hash here) generated including the nonce value is a 256-bit value. 2 to the 256th power is larger than 10 to the 77th power, and it can be seen that the block hash has an enormous degree of freedom.
 - the first few bits of the block hash can be made zero.
 - the probability that the first 16 bits of a newly generated block hash are all zero is 1/16, that is, 1 / 65,536. It is almost impossible to happen by chance, and in order to find such a nonce value, a corresponding work is required.
 - the first 16 bits of the block hash are set to zero as a connection condition for connecting a new logical block to an existing logical block.
 - the reason why the number of bits set to zero first is 16 is to adjust so that the frequency at which a new logical block is approved is once every 10 minutes worldwide.
 - the 16-bit connection condition is for maintaining the reliability of data transfer in the P2P network without management by the server, and the reliability of data transfer between specific clients connected via the server as in the present application. 16 bits is considered to be sufficient to maintain the above. Rather, it may be necessary to reduce the number of bits and shorten the average time required for the server for this embodiment to approve a new logical block.
 - the logical block connection condition in the present application is to set all the first L bits of the block hash to zero.
 - L is a natural number smaller than 16.
 - the nonce value relating to the present application is adjusted to satisfy this connection condition.
 - the nonce value can be adjusted, a new logical block can be approved, and a time stamp can be issued as shown in FIG.
 - This operation is preferably performed by a server related to the present application.
 - the block chain related to the present application is different from the conventional block chain used for bit coins and the like.
 - the maintenance management of a server that approves a new logical block is appropriate, it is possible to prevent alteration of the processing history from the outside.
 - the public encryption that makes the public key and the private key correspond one-to-one is not broken, the logical address and the physical address can be linked as shown in FIG.
 - SSD is an example of the client of the present application
 - the history of data exchange between the SSDs is hashed and managed so that it cannot be tampered with in the block chain related to the present application.
 - This management is substantially management by a server that stores a private ledger.
 - the logical block is updated on the server that controls the data center activities.
 - the electronic signature technology and the private ledger stored in the server related to the present application the physical address of the SSD once initialized by the server can be prevented from being tampered with from the outside. (Physical address that cannot be rewritten from the outside) Also, by using the private ledger inside the server, it is possible to replace a failed SSD without destroying the block chain. (Third embodiment)
 - the physical address can be generated from some physical randomness extracted from a cell array in a semiconductor chip having physical reality.
 - a chip is called an authentication chip.
 - FIG. 13 shows an example of a cell array composed of word lines and bit lines.
 - An authentication element is arranged where the word line and the bit line intersect.
 - the number of rows (number of word lines) is N
 - the number of columns (number of bit lines) is M.
 - rows and columns can be interchanged at any time.
 - each authentication element has at least two terminals (a first terminal and a second terminal), one of a word line and a bit line is connected to the first terminal, and the other is connected to the second terminal. Connecting.
 - the word line is connected to the first control gate and the bit line is connected to the second control gate.
 - the bit line is connected to the first control gate, and the word line is connected to the second control gate. In any case, access between the first terminal and the authentication element can be controlled in this way.
 - the second terminal is dropped to the source line, the substrate electrode, or the ground as necessary.
 - the authentication element is a resistor (or a conductor).
 - a capacitor or it is a PN junction. Or it is a Schottky junction.
 - a transistor or it is a DRAM cell composed of a transistor and a capacitor.
 - a variable resistance memory cell which consists of a transistor and a variable resistance.
 - MRAM magnetoresistive memory cell
 - STT-MRAM spin torque type MRAM
 - it is a non-volatile memory cell with a charge storage layer.
 - the charge storage layer may be either a charge trapping layer or a floating gate.
 - it is a nonvolatile memory cell with a charge storage layer arranged on a NAND type array in which the bit line terminals are intentionally excluded as shown in FIG.
 - the transistors are arranged on a NAND type array in which the bit line terminals are intentionally excluded.
 - a bit line terminal is connected to one end of a group of authentication elements in series in the bit line direction, and a source line terminal is connected to the other end.
 - a transfer voltage is applied to the word lines (non-selected word lines) of all other authentication elements connected to the bit line (selected bit line) including the authentication element (selected cell) to be read, and other than the selected cell. Turn all switches on. Then, a voltage (read gate voltage) lower than the transfer voltage may be applied to the word line (selected word line) of the selected cell. At this time, an appropriate voltage (read drain voltage) may be applied between the bit line terminal and the source line terminal, and the current flowing between them may be measured.
 - a word line is selected using a word line decoder
 - a bit line is selected using a bit line decoder
 - an authentication element selected by each selected word line (selected word line) and bit line (selected bit line). Is the selected cell.
 - the first type is easy to flow current when a read voltage is applied when it is broken, and it is difficult to flow current when it is not broken.
 - Major examples are capacitors, PN junctions, and Schottky junctions.
 - the destruction determination current value is higher than the non-destruction determination current value.
 - the second type is less likely to pass current when a read voltage is applied when it is destroyed, and more likely to pass current if it is not destroyed.
 - the main example is a resistor (or conductor). In order to determine whether or not it has been destroyed, it is only necessary to check whether the absolute value of the current when the destruction determination voltage is applied is higher than the nondestructive determination current value or lower than the breakdown determination current value. However, the destruction determination current value is lower than the nondestructive determination current value.
 - a plurality of destruction bits are generally found.
 - a defective bit is found that does not exhibit the specified characteristics.
 - the position information on the cell array of the destruction bit or the defective bit is an array composed of a word line number and a bit line number. If the position information of the plurality of broken bits or defective bits is arranged and displayed as a code, an authentication code corresponding to the distribution of the broken bits or defective bits can be obtained. As long as the occurrence of the destruction bit or defective bit is physically random, this authentication code is expected to be unique to the semiconductor chip and physically random.
 - the format of the authentication code is appropriately formed to be a physical address used in the present application.
 - Q be the number of broken bits or defective bits
 - R be the number of selected cells.
 - Q is a number smaller than R.
 - the number of authentication codes is equal to the number when Q is selected from R. That is, if R is sufficiently large and the probability of existence of a broken bit or defective bit is not small enough to be ignored, the number of authentication codes is very large.
 - a Q of 1 G and an R of 1 km corresponds to a defective rate of 1 / 1,000,000. That is, even if it is assumed that the defect rate is so low that the semiconductor chip achieves six sigma (3.4 / 1,000,000 or less), the probability that the authentication codes of the two semiconductor chips will coincide is almost zero. I can say that.
 - the stress includes various types such as an electrical stress, an optical stress, a mechanical stress, and an electromagnetic field stress.
 - authentication cells in a part of a region selected for generating an authentication code are simultaneously selected from all cell arrays, and a high voltage pulse is applied to all the selected cells.
 - a high voltage pulse is applied to all the selected cells.
 - optical stress As an example of optical stress, a certain amount of X-rays, ultraviolet rays, or the like is irradiated to the authentication element cell array before assembly. The amount of irradiation is adjusted so that the number of non-destructive bits and destructive bits is approximately the same. However, when the area of the cell array for authentication elements is very narrow, stress is similarly applied to other elements. This is a relatively effective method when the entire chip is used as a cell array for authentication elements.
 - An example of electromagnetic field stress is exposing the authentication chip to a strong electromagnetic field. However, stress is similarly applied to a cell array other than the authentication element cell array. Therefore, this method is effective only when all the chips are used as the authentication element cell array.
 - the authentication code is physically generated randomly. Further, as long as the probability that the authentication codes of the two semiconductor chips are coincidentally coincidentally is practically zero, the authentication code is sufficiently used as a physical address unique to the semiconductor chip.
 - the physical address of the present embodiment can be generated from the distribution of the destruction bits in the cell array.
 - the physical address of the present embodiment can be generated from the distribution of defective bits in the cell array.
 - the physical address of the present embodiment can be generated from the distribution of broken bits and defective bits in the cell array.
 - Some memory chip products are provided with a redundant bit line for replacing the bit line in which the defective bit is generated in consideration of the fact that the defective bit is generated in the memory cell at a predetermined ratio or less in advance. Yes.
 - the causes of such defects are various and depend on manufacturing variations in the manufacturing stage of the semiconductor chip (memory chip in this example) and naturally occurring variations in the physical formation process of the members. In general, these variations are uncontrollable. Redundant bit lines are usually not included in the bit capacity of memory chip products. See FIG. 18 as an example.
 - the bit line group arranged in the row direction is divided into two groups.
 - One is a redundant bit line group consisting of a plurality of redundant bit lines
 - the other is a normal bit line group consisting of normal bit lines.
 - N be the number of rows in the normal bit line group
 - L be the number of rows in the redundant bit line group.
 - N and L are non-negative integers, and N is larger than L.
 - the bit capacity of the memory chip product corresponds to the number of cells included in this normal bit line group.
 - the normal bit line including the defective bit is changed to one redundant bit line in the redundant bit line group. assign. Such replacement (reading replacement A, replacement B in the figure) is performed for each normal bit line including a defective bit, and the defective bit can be substantially removed.
 - a peripheral memory for example, a fuse memory or the like in which a bit line number of a bit line that has been found defective in a pre-shipment inspection and a bit line number of a redundant bit line that replaces the bit line are mixedly loaded in the peripheral area ).
 - This peripheral memory is referred to when accessing the memory cell.
 - information recorded in the peripheral memory is displayed as a code, and is formed into a predetermined format to play the role of a physical address.
 - a memory chip product that satisfies such conditions is a DRAM.
 - a flash memory a phase change memory, a resistance change memory, a magnetoresistance change memory (MRAM), a spin torque type MRAM, and the like can be considered.
 - MRAM magnetoresistance change memory
 - the number in that case is a combination of selecting m from N. That is, C (N, m).
 - C (N, m) the number of cases must be further multiplied by the number of permutations that are arranged from L. That is, C (N, m) P (L, m). In other words, the number of cases even when underestimated is about C (N, m).
 - the number of redundant bit lines is about 153,000 with respect to the total number of bit lines of 6,550,000.
 - the maximum number of rows in which defective bits are generated on the bit lines in the regular bit line group for some reason is acceptable as a mass production DRAM of up to about 153,000.
 - the number in the case of reassignment to the redundant bit line is equal to the combination of selecting 153,000 out of 6,550,000.
 - the calculation is about 10 to the power of 315, 289 (1E315, 289). That is, even if 100 trillion DRAM chips are supplied, the probability that the authentication codes of the two DRAM chips coincide by chance is 1E-315 and 275. It is practically almost zero.
 - the bit line and the word line can be interchanged. That is, the number of redundant word lines is about 3,044 with respect to the total number of word lines of 4.4 million. Assuming that all redundant word lines are used for replacement, the number in that case is approximately 2.9E10, 938. Although it is much less than the number in the former case, it is still a radically large number. That is, even if 100 trillion DRAM chips are supplied, the probability that the authentication codes of the two authentication chips will coincide is 1E-10,924. It is practically almost zero.
 - an authentication code having a very large information entropy can be generated.
 - no extra bit is allocated to generate the authentication code. That is, the redundant bit line (or redundant word line) is already mounted on the memory chip product, and the same applies to the peripheral memory that records the replacement information.
 - the probability that the authentication codes of the two semiconductor chips will coincide is small enough to be practically almost zero. This authentication code is sufficient as the physical address of the present application.
 - the physical address related to the present application is code information assigned to hardware. Or it is the code information allocated to some of the components which comprise hardware. Or it is chip
 - the chip authentication is generated based on a physical disorder unique to the semiconductor chip.
 - the semiconductor chip is composed of a plurality of elements, and the plurality of elements are stochastically destroyed by applying a predetermined stress, and a set (distribution) of position information of the destroyed elements is unique to the semiconductor chip. It is characterized by a physical disorder. Alternatively, a plurality of elements constituting the semiconductor chip become probabilistic defective bits due to uncontrollable variations in the manufacturing process. A set (distribution) of position information of the defective bits is a physical disorder unique to the semiconductor chip.
 - the predetermined stress is an electrical stress, a mechanical stress, an electromagnetic field stress, an optical stress, or the like.
 - this block chain uses what is recorded by an arbitrary minor from an external logical network. In other words, it is consistent with the conventional block chain, and can maintain and manage the data center efficiently and safely using an external network.
 - a server that stores a private ledger records logical blocks and configures a unique block chain.
 - hashing is frequently used.
 - a hash function may be used for hashing.
 - hash functions such as MD2, MD4, MD5, RIPE-MD160, SHA-256, SHA-384, and SHA-512.
 - SHA-256 is used in bitcoin as an example.
 - the technical scope of the present invention is not limited to the above embodiment, and various modifications can be made without departing from the spirit of the present invention.
 - the figure explaining the mechanism of remittance of a cryptocurrency The figure explaining the dendrogram of Merkuru.
 - the figure explaining the example which is the non-volatile memory cell which the authentication element in connection with this application consists of a transistor with a charge storage layer, and has arranged in NAND type.
 - the figure explaining the example which the authentication element in connection with this application is a transistor, and has arranged in the NAND type.
 
Landscapes
- Engineering & Computer Science (AREA)
 - Computer Security & Cryptography (AREA)
 - Physics & Mathematics (AREA)
 - Theoretical Computer Science (AREA)
 - Computer Networks & Wireless Communication (AREA)
 - Signal Processing (AREA)
 - Computer Hardware Design (AREA)
 - General Physics & Mathematics (AREA)
 - Mathematical Physics (AREA)
 - Software Systems (AREA)
 - General Engineering & Computer Science (AREA)
 - Storage Device Security (AREA)
 
Abstract
Description
本発明は、ネットワーク上に存在する装置を認証する技術に関する。 The present invention relates to a technique for authenticating a device existing on a network.
進化し続けるインターネットに接続する装置の数は年とともに増大し、そのネットワーク構造も複雑化・多様化してきている。しかしながら、基本的には、特別な機能を有するサーバーを中心的なノード(基幹ノード)に据えたクライアント・サーバー(CS)型と、このような基幹ノードが存在せずすべてのノードが基本的に対等な形で接続するピアトゥア(P2P)型に大別することができる。 The number of devices connected to the ever-evolving Internet has increased over the years, and its network structure has become more complex and diversified. However, basically, a client / server (CS) type in which a server having a special function is set as a central node (core node), and such a node does not exist and all nodes are basically It can be roughly divided into peer-to-peer (P2P) types that are connected in an equal form.
ネットワークは一般に結節点(ノード)と通信線(リンク)からなる。第一のノードと第二のノードが、通信線である信号伝達路によってリンクしている。たとえば、第一のードと第二のノードは、信号伝達路を介してデータの一形態であるプロトコル・データ・ユニット(PDU)を交換している。この第一のノードと第二のノードは、それぞれ一定の整合性を持つプロトコルに従ってプロトコル・データ・ユニットを扱う。 A network generally consists of nodes (nodes) and communication lines (links). The first node and the second node are linked by a signal transmission path that is a communication line. For example, a first node and a second node exchange protocol data units (PDUs), which are a form of data, via a signal transmission path. Each of the first node and the second node handles a protocol data unit according to a protocol having a certain consistency.
物のインターネット(IoT)では、これら第一および第二のノードはネットワークに接続する装置(ハードウェア)であり、物理的実態を持つので物理ノードと呼ぶ。このとき、第一の物理ノードと第二の物理ノードが物理的実態を有する信号伝達路によって接続されているとみなされる。このような信号伝達路は、有線・無線の電子信号あるいは光信号を伝達する。このように複数の物理ノードと信号伝達路で構築されるネットワークを物理ネットワークと呼ぶ。 In the Internet of Things (IoT), these first and second nodes are devices (hardware) that connect to the network and have physical reality, so they are called physical nodes. At this time, it is considered that the first physical node and the second physical node are connected by a signal transmission path having physical reality. Such a signal transmission path transmits a wired / wireless electronic signal or optical signal. A network constructed by a plurality of physical nodes and signal transmission paths in this way is called a physical network.
物理ネットワーク上で物理ノードを認識するために用いられるアドレスを物理アドレスと呼ぶ。つまり、第一の物理ノードが第一の物理アドレスを持ち、第二の物理ノードが第二の物理アドレスを持つ。第一の物理ノードから第二の物理ノードにデータを送るということは、第一の物理アドレスから第二の物理アドレスに、物理的実態を有する信号伝達路を通してデータ(この場合一例としてフレーム)が送られるということである。 An address used for recognizing a physical node on a physical network is called a physical address. That is, the first physical node has a first physical address, and the second physical node has a second physical address. Sending data from the first physical node to the second physical node means that data (in this case, a frame) is transmitted from the first physical address to the second physical address through a signal transmission path having physical reality. It is sent.
一方、第一および第二のノードに物理的実態が無い場合、これらのノードを論理ノードと呼ぶ。論理ノードは、ネットワーク上で仮想的に定義された論理アドレスに関連づけられたノードであり、必ずしも特定のバードウェアに関連づけられていない。複数の論理ノードで構築されるネットワークを論理ネットワークと呼ぶ。このとき、第一の論理ノードと第二の論理ノードを結びつける信号伝達路は必ずしも物理的実態を持っていなくて良い。 On the other hand, if the first and second nodes do not have physical reality, these nodes are called logical nodes. A logical node is a node associated with a logical address virtually defined on the network, and is not necessarily associated with specific birdware. A network constructed by a plurality of logical nodes is called a logical network. At this time, the signal transmission path connecting the first logical node and the second logical node does not necessarily have a physical reality.
論理ネットワーク上で論理ノードを認識するために用いられるアドレスを論理アドレスと呼ぶ。つまり、第一の論理ノードから第二の論理ノードにデータを送るということは、第一の論理アドレスから第二の論理アドレスにデータが送られると解釈される。実際には、転送されるデータに第一の論理アドレスと第二の論理アドレスを順に符号として添付することでもある。したがって転送を繰り返すと、データには複数の論理アドレスのリストが添付されることになる。この論理アドレスのリストは、このデータの最新の論理アドレスと過去の転送履歴を含むものである。こうして、このデータにアクセスするすべての論理ノードが、このデータがどこをどう転送され、今どの論理ノードに仮想的に存在していると定義されているかを知ることができる。このように、最新の論理アドレスを含む転送履歴が添付されたデータをブロック、あるいは、論理ブロックと呼ぶ。転送履歴が改ざんされない限り、論理ブロックは最新の論理アドレスによって適切に認識できる。 An address used to recognize a logical node on the logical network is called a logical address. That is, sending data from the first logical node to the second logical node is interpreted as sending data from the first logical address to the second logical address. In practice, the first logical address and the second logical address are sequentially attached to the transferred data as codes. Therefore, when the transfer is repeated, a list of a plurality of logical addresses is attached to the data. This list of logical addresses includes the latest logical address of this data and the past transfer history. In this way, all logical nodes accessing this data can know where and how this data is transferred and which virtual node is currently defined. As described above, data to which a transfer history including the latest logical address is attached is called a block or a logical block. As long as the transfer history is not falsified, the logical block can be properly recognized by the latest logical address.
         
転送履歴を改ざん不能にする技術として近年脚光を浴びているのが公開台帳と呼ばれる技術である。公開台帳技術の中でも最も有名なものが、ビットコインと呼ばれる暗号通貨の送金データを改ざん不能にするために考案されたブロックチェーンである。すなわち、送金履歴を改ざんできないようにすることで不正送金を防ぐネットワークシステムである。
 
(ブロックチェーン)
In recent years, a technology called a public ledger has been in the limelight as a technology that makes it impossible to falsify the transfer history. The most famous public ledger technology is a blockchain designed to make it impossible to tamper with the remittance data of a cryptocurrency called Bitcoin. In other words, the network system prevents unauthorized remittance by preventing falsification of the remittance history. 
 
 (Block chain)
      
ここでブロックチェーンについて簡単に説明する。 Here, the block chain will be briefly described.
ブロックチェーンは、ピア・トゥ・ピア(P2P)型ネットワークにおける公開台帳システムである。P2P型ネットワーク構造では、中核を担うサーバーの存在を仮定せず、ネットワークに結節するすべてのノード(結節点)が非中核的であり、対等であり、互いを監視し合うことによってセキュリティを担保することが必要である。すなわち、中核(コア)となるサーバーの存在を仮定したクライアント・サーバー型ネットワークでは実現不可能なアプリケーションを提供できる。 Blockchain is a public ledger system in a peer-to-peer (P2P) network. In the P2P type network structure, without assuming the existence of the server that plays the core, all nodes (nodes) connecting to the network are non-core, equal, and secure each other by monitoring each other. It is necessary. That is, it is possible to provide an application that cannot be realized in a client-server network assuming the existence of a core server.
その最も重要なものがビットコインと呼ばれる暗号通貨による送金システムである。ビットコインでは、まず過去の処理履歴と処理する主体となるアカウント名を合成して暗号化する。それを電子署名として転送し、新たな処理とするものである。したがって、処理手段を金融機関にゆだねない。更新され転送された処理履歴は、ネットワーク上の他の多くの非中核的ノードによって監視され、多数決に似た手法で公認される。 The most important one is a cryptocurrency remittance system called Bitcoin. In Bitcoin, first, the past processing history and the account name to be processed are synthesized and encrypted. It is transferred as an electronic signature and used as a new process. Therefore, the processing means is not left to financial institutions. The updated and forwarded processing history is monitored by many other non-core nodes on the network and certified in a manner similar to majority voting.
処理履歴の転送は通貨の転送と同義であり、公認された処理履歴が通貨のように扱われる。こうして、銀行のように特定の中核的存在を介さずに処理が進行してゆく。 Transfer of process history is synonymous with transfer of currency, and an authorized process history is treated like currency. In this way, processing proceeds without going through a specific core like a bank.
ネットワーク上を流れる電子署名に利用される暗号は、アリスとボブの喩で有名な公開鍵暗号で説明するのが最も簡単である。アリスは予めボブに自分の公開鍵を送っておく。この公開鍵はネット上で誰かに盗み取られても構わない。ボブは、アリスから貰った公開鍵で手紙を暗号化し、アリスに送る。この暗号化された手紙を解読するには、アリスの公開鍵と対になっている秘密鍵が必要である。したがって、暗号が解読されない限り、ネットワーク上で誰かに盗まれても手紙の中身を読まれることはない。その秘密鍵を持っているのはアリスだけだからである。アリスは、自分で持っている秘密鍵でボブの手紙の暗号を解き、それを読むことができる。 The ciphers used for electronic signatures that flow on the network are the simplest to describe with public key cryptography, famous for the metaphor of Alice and Bob. Alice sends Bob her public key in advance. This public key may be stolen by someone on the net. Bob encrypts the letter with Alice's public key and sends it to Alice. To decrypt this encrypted letter, you need a private key that is paired with Alice's public key. Therefore, unless the code is decrypted, even if someone is stolen on the network, the contents of the letter cannot be read. This is because only Alice has the secret key. Alice can decrypt Bob's letter with her private key and read it.
このように、公開鍵はネットワーク上に晒して構わない。したがって、アリスが公開鍵を送るのはボブだけではない。ただし、その公開鍵で暗号化された暗号を解いて手紙を読めるのは、暗号が解読されない限り秘密鍵を所有しているアリスだけである。公開鍵と秘密鍵は必ず一組で生成されるが、公開鍵から秘密鍵を再生することは現実的に不可能であるようにしなければならない。つまり、暗号を解くということは公開鍵から秘密鍵を再生することである。また、秘密鍵で暗号化した手紙は公開鍵で解号することもできる。 Thus, the public key may be exposed on the network. Therefore, Alice does not only send Bob the public key. However, only Alice who owns the private key can read the letter by decrypting the cipher encrypted with the public key unless the cipher is decrypted. The public key and private key are always generated as a pair, but it must be practically impossible to reproduce the private key from the public key. In other words, decryption means reproducing the secret key from the public key. A letter encrypted with a private key can also be decrypted with a public key.
公開鍵のもう一つの重要な役割は、アリスへ手紙を送るための宛先、すなわち、アリスのネットワーク上のアドレスになることである。ボブが暗号化した手紙をネットワークに流すとき、ネットワークに接続している任意の受信者の手に渡ることになる。このとき解号できなければ読めない。どのようにしても読めないということは、受信しなかったことと同意である。したがって、アリスのみが解号できるということは、アリスのみに届いたということと等価である。こうして、公開鍵のもう一つの役割がネットワーク上の論理アドレスになることが明らかになる。したがって、ビットコインで使用される公開鍵は、ビットコインアドレスとも呼ばれる。 Another important role of the public key is to become the destination for sending letters to Alice, ie the address on Alice's network. When Bob sends an encrypted letter to the network, it goes into the hands of any recipient connected to the network. If it cannot be solved at this time, it cannot be read. If you can't read it anyway, you agree that you didn't receive it. Therefore, being able to unlock only Alice is equivalent to reaching only Alice. Thus, it becomes clear that another role of the public key is a logical address on the network. Therefore, the public key used in bitcoin is also called a bitcoin address.
たとえば、論理ノードとは、ビットコイン等の暗号通貨を納める財布のことであり、予め論理アドレスが付与されている。財布の中身には何らかの貨幣価値のあるもの(通貨やそれと等価なコインなどに関するデータ)が納められる。更に何らかの暗号技術を用い、アドレスと財布の中身を電子署名として財布に取り付けられるようになっている。 For example, a logical node is a wallet that stores cryptocurrencies such as bit coins, and a logical address is assigned in advance. The contents of the wallet contain something with some monetary value (data on currency and equivalent coins, etc.). Furthermore, using some kind of encryption technology, the address and the contents of the wallet can be attached to the wallet as an electronic signature.
このような財布は、たとえば、専用アプリをパーソナルコンピューター、タブレット、スマートフォン、スマートカード等のハードウェアにインストールして使うことができる。そのとき、財布の中身は、専用アプリをインストールしたハードウェアのストレージにデジタルデータとして保存される。このデジタルデータの管理は、たとえば、P2Pを前提とした電子処理では、ハードウェアの管理者・所有者が自ら責任を持って行う必要がある。この点がクライアント・サーバー型と異なる点である。クライアント・サーバー型では、金融機関などが責任を持って行うことになる。P2Pでの電子処理は、このように中核的機能を有する金融機関のような存在を必要としない。 For example, such a wallet can be used by installing a dedicated application on hardware such as a personal computer, a tablet, a smartphone, or a smart card. At that time, the contents of the wallet are stored as digital data in the hardware storage in which the dedicated application is installed. For example, in digital processing based on P2P, the hardware manager / owner must take responsibility for managing digital data. This point is different from the client / server type. In the client-server type, financial institutions will take responsibility. Electronic processing with P2P does not require the existence of a financial institution having such a core function.
図1は、処理(N-2、N-1)、処理(N-1,N)、処理(N、N+1)、…の鎖を示す図面である。処理(N-2,N-1)は財布(N-2)から財布(N-1)への何らかの処理であり、処理(N-1,N)は財布(N-1)から財布(N)への何らかの処理であり、処理(N,N+1)は財布(N)から財布(N+1)への何らかの処理である。ただし、Nは3以上の任意の自然数。 FIG. 1 shows a chain of processing (N−2, N−1), processing (N−1, N), processing (N, N + 1),. Processing (N-2, N-1) is some processing from wallet (N-2) to wallet (N-1), and processing (N-1, N) is from wallet (N-1) to wallet (N ), And the process (N, N + 1) is some process from the wallet (N) to the wallet (N + 1). However, N is an arbitrary natural number of 3 or more.
財布(N-1)の中身は、たとえば、どこかから振り込まれた1000円だったとしよう。この1000円の振り込み元を財布(N-2)とし、更にこの1000円には電子署名(N-2)が添付されているとする。ただし、1000円というのは一例に過ぎず、他の貨幣価値と等価または可換なデジタル情報であれば何でも良い。財布(N-1)は、財布の中身である1000円と、その電子署名と、次の電子署名作成のために用いる秘密鍵(N-1)と、それと一対の組をなす固有の公開鍵(N-1)からなる。上述したように、公開鍵(N-1)は、財布(N-1)のネットワーク上のアドレスである。一例として、ビットコインアドレスが上げられる。 Let's say the contents of the wallet (N-1) were 1000 yen transferred from somewhere. Assume that the transfer source of 1000 yen is a wallet (N-2), and further, an electronic signature (N-2) is attached to the 1000 yen. However, 1000 yen is merely an example, and any digital information equivalent to or exchangeable with other monetary values may be used. The wallet (N-1) is the contents of the wallet of 1,000 yen, its digital signature, the private key (N-1) used to create the next digital signature, and a unique public key that makes a pair with it. (N-1). As described above, the public key (N-1) is an address on the network of the wallet (N-1). As an example, a bit coin address is raised.
次に、公開鍵(N-1)、財布(N-1)の中身、および電子署名(N-2)から、ハッシュ関数(一例としてSHA-256)を用いて、ハッシュ値(N-1)を生成する。このハッシュ値(N-1)を財布(N)に送付し、財布(N)ではそれを財布(N)の中身として保存する。一方、転送元の秘密鍵(N-1)を用いて、財布(N)のアドレスである公開鍵(N)と中身であるハッシュ値(N-1)を暗号化して電子署名(N-1)を生成し、ハッシュ値(N-1)と共に財布(N)に転送する。 Next, the hash value (N-1) is obtained from the public key (N-1), the contents of the wallet (N-1), and the digital signature (N-2) using a hash function (SHA-256 as an example). Is generated. This hash value (N-1) is sent to the wallet (N), and the wallet (N) stores it as the contents of the wallet (N). On the other hand, the public key (N) as the address of the wallet (N) and the hash value (N-1) as the contents are encrypted by using the private key (N-1) of the transfer source, and an electronic signature (N-1 ) Is generated and transferred to the wallet (N) together with the hash value (N-1).
こうして財布(N)は、ハッシュ値(N-1)と、電子署名(N-1)と、さらに一対の組を成す、財布(N)に固有の公開鍵(N)及び秘密鍵(N)から構成されることになる。こうして、財布(N-1)から財布(N)へ1000円を送金する処理が完了する。 In this way, the wallet (N) forms a pair of a hash value (N-1), an electronic signature (N-1), and a pair of a public key (N) and a private key (N) unique to the wallet (N). It will consist of This completes the process of transferring 1000 yen from the wallet (N-1) to the wallet (N).
ハッシュ値(N-1)には、この1000円が財布(N-1)から来たという情報が含まれているはずである。しかしながら、ハッシュは暗号と異なり逆変換不能なので、ハッシュ値(N-1)を逆変換(解号)してそれを読むことができない。そのため、電子署名(N-1)が添付されている。この電子署名(N-1)は、秘密鍵(N-1)を使い、公開鍵(N)およびハッシュ値(N-1)をまとめて暗号化したものである。したがって、この電子署名が本当に財布(N-1)から来たものであるかどうか確かめるには、この電子署名(N-1)を公開鍵(N-1)で解号したものと、財布(N)に納められている公開鍵(N)およびハッシュ値(N-1)と比較すれば良い。暗号が破られていない限り、一致していれば確かに秘密鍵(N-1)で電子署名したことに偽りはない。一致していなければその電子署名は偽りである。あるいは別の公開鍵、例えば公開鍵(Q)で解号した結果と一致すれば、公開鍵(Q)をアドレスとして所有する財布(Q)が不正処理したことが判る。 The hash value (N-1) should contain information that this 1000 yen came from the wallet (N-1). However, since a hash cannot be reversely converted unlike a cipher, the hash value (N-1) cannot be reversely converted (signed) and read. Therefore, an electronic signature (N-1) is attached. This electronic signature (N-1) is obtained by encrypting a public key (N) and a hash value (N-1) together using a secret key (N-1). Therefore, in order to confirm whether or not this electronic signature really came from the wallet (N-1), the digital signature (N-1) was decrypted with the public key (N-1) and the wallet ( Compare with the public key (N) and hash value (N-1) stored in N). As long as the ciphers are not broken, it is true that the digital signature is certainly signed with the private key (N-1). If they do not match, the electronic signature is false. Alternatively, if it coincides with the result of decryption with another public key, for example, the public key (Q), it can be understood that the wallet (Q) having the public key (Q) as an address has illegally processed.
ただし、過去の履歴に不正処理がないことを証明するには別の方法が必要である。なぜなら、電子署名だけでは、秘密鍵(N-1)を正規に所有している者が不正を働く可能性を否定できないからである。たとえば、所有者による秘密鍵の乱用が考えられる。P2Pを前提にしたビットコインでは、それを「仕事による証明」(PoW)によって防ごうとしている。これは、概ね上手く行っていると考えられている。「仕事による証明」(PoW)について以下で述べる。 However, another method is required to prove that there is no unauthorized processing in the past history. This is because it is not possible to deny the possibility that a person who properly owns the private key (N-1) will commit fraud by using only the electronic signature. For example, the private key can be misused by the owner. Bitcoin based on P2P tries to prevent it by “proof by work” (PoW). This is believed to be generally successful. “Proof by work” (PoW) is described below.
図1では、続いて公開鍵(N)、財布(N)の中身(この場合ハッシュ値(N-1))、および電子署名(N-1)から、ハッシュ関数(一例としてSHA-256)を用いて、ハッシュ値(N)を作成する。財布(N)はこのハッシュ値(N)を財布(N+1)に送信し、財布(N+1)はそれを財布(N+1)の中身として納める。一方、財布(N)は、秘密鍵(N)を用いて、財布(N+1)のアドレスである公開鍵(N+1)とこのハッシュ値(N)を暗号化し、電子署名(N)を生成する。続いて、ハッシュ値(N)と共にこの電子署名(N)を財布(N+1)に送付する。 In FIG. 1, the hash function (SHA-256 as an example) is subsequently obtained from the contents of the public key (N), the wallet (N) (in this case, the hash value (N-1)), and the electronic signature (N-1). To create a hash value (N). The wallet (N) transmits this hash value (N) to the wallet (N + 1), and the wallet (N + 1) stores it as the contents of the wallet (N + 1). On the other hand, the wallet (N) uses the private key (N) to encrypt the public key (N + 1), which is the address of the wallet (N + 1), and this hash value (N), and to create an electronic signature (N) Is generated. Subsequently, the electronic signature (N) is sent to the wallet (N + 1) together with the hash value (N).
以上から、財布(N)の中身には、財布(N-1)から財布(N)への処理(N-1、N)がハッシュ値(N-1)として記録されていることが判る。同様に、財布(N+1)の中身には、財布(N)から財布(N+1)への処理(N、N+1)がハッシュ値(N)として記録されていることが判る。こうして、任意の財布の中身は、過去のすべての処理履歴を連鎖的に含んでいることが判る。すなわち、過去の最新のハッシュ値が、過去のすべての履歴を代表している。 From the above, it can be seen that the contents (N-1, N) from the wallet (N-1) to the wallet (N) are recorded as the hash value (N-1) in the contents of the wallet (N). Similarly, it can be seen that the contents (N, N + 1) from the wallet (N) to the wallet (N + 1) are recorded as the hash value (N) in the contents of the wallet (N + 1). Thus, it can be seen that the contents of an arbitrary wallet include all past processing histories in a chain. That is, the latest past hash value represents all past histories.
一方、一つの財布に送金する財布は、図1の例のように一つとは限らない。実際には複数の財布から一つの財布に送金する場合は少なくないだろう。また、一つの財布から複数の財布に送金される場合も少なくないだろう。こうして、送金の処理履歴はより複雑になることが判る。しかしながら、最新の履歴を含むハッシュ値は必ずたった一つである。それをメルクルの根という。したがって、メルクルの根から過去を遡ることができる。それは、図2のように、メルクルの根から枝分かれした樹形図のようになる。これをメルクル樹形図という。このように、メルクル樹形は過去のすべての履歴の集まりを時系列で並べたもである。すなわち、これが上述した論理ブロックに相当する。また、最新の履歴であるメルクルの根が論理ブロックを特徴づける符号となる。 On the other hand, the number of wallets to be transferred to one wallet is not limited to one as in the example of FIG. In fact, you will often transfer money from multiple wallets to a single wallet. There are also many cases where money is transferred from one wallet to multiple wallets. Thus, it can be seen that the remittance processing history is more complicated. However, there is always only one hash value including the latest history. This is called the root of Merkuru. Therefore, the past can be traced back from the root of Merkuru. As shown in FIG. 2, it is like a tree diagram that branches off from the root of Merkuru. This is called the Mercle tree diagram. In this way, the Merkuru tree is a collection of all past histories arranged in chronological order. That is, this corresponds to the logical block described above. In addition, the root of the Merkuru which is the latest history is a code characterizing the logical block.
たとえば、メルクルの根であるハッシュ値(ABCD)は、ハッシュ値(AB)およびハッシュ値(CD)に対応する履歴に繋がっている。ハッシュ値(AB)は、更にハッシュ値(A)およびハッシュ値(B)に対応する過去の履歴、すなわち、処理(A)および処理(B)にそれぞれ繋がっている。ハッシュ値(CD)は、更にハッシュ値(C)およびハッシュ値(D)に対応する過去の履歴、すなわち、処理(C)および処理(D)にそれぞれに繋がっている。 For example, the hash value (ABCD) which is the root of Merck is connected to the history corresponding to the hash value (AB) and the hash value (CD). The hash value (AB) is further connected to the past history corresponding to the hash value (A) and the hash value (B), that is, the process (A) and the process (B). The hash value (CD) is further linked to the past history corresponding to the hash value (C) and the hash value (D), that is, the process (C) and the process (D), respectively.
しかしながら、そもそもハッシュ値は逆変換不可能なのでハッシュ値を解読することによって送金処理の履歴を辿ることは不可能である。たとえば財布(N)の中身(ハッシュ値(N-1))の過去の処理履歴を実際に辿る一つの方法は、任意の他の財布(M)を選び、その公開鍵(M)を使って電子署名(N)を解号し、その結果を公開鍵(N)およびハッシュ値(N-1)と比較する。一致しなければ別の財布(M+1)を選び、公開鍵(M+1)使って解号し同じ作業をする。一致すればその処理は財布(M+1)からの送金であったことが判る。このときM+1はN-1であることが判る。続いてハッシュ値(N-3)を含む財布(N-2)の公開鍵(N-2)も同様の方法で検索できる。この作業を繰り返すことによって処理履歴を遡ることが可能である。ここでMおよびNは任意の自然数とする。 However, since the hash value cannot be inversely converted in the first place, it is impossible to trace the history of remittance processing by decoding the hash value. For example, one way to actually trace the past processing history of the contents of a wallet (N) (hash value (N-1)) is to select any other wallet (M) and use its public key (M) The digital signature (N) is decrypted, and the result is compared with the public key (N) and the hash value (N-1). If they don't match, choose another wallet (M + 1) and use the public key (M + 1) to unlock and do the same. If they match, it can be seen that the transaction was from a wallet (M + 1). At this time, it can be seen that M + 1 is N-1. Subsequently, the public key (N-2) of the wallet (N-2) including the hash value (N-3) can also be searched by the same method. By repeating this operation, the processing history can be traced back. Here, M and N are arbitrary natural numbers.
こうして、論理的には過去の処理履歴を遡ってゆくことができるわけであるが、このようにハッシュ値を使って過去の履歴をひとつずつ遡ることは実は必ずしも必要ない。むしろ、数百から千個程度の処理を一塊に集め、これらの処理が現実に存在したことを何らかの方法でまとめて承認してしまえば良い。具体的には、メルクルの根以外のハッシュ値をすべて削除し、最新のハッシュ値(たとえばABCD)を符号として用いれば良い。一つの符号で代表される処理の集まりを論理ブロックと呼ぶ。 Thus, it is logically possible to go back in the past processing history, but it is not always necessary to go back in the past history one by one using the hash value in this way. Rather, it is only necessary to collect several hundred to a thousand processes in a lump and approve that these processes actually existed in some way. Specifically, all the hash values other than the roots of Merkle are deleted, and the latest hash value (for example, ABCD) may be used as a code. A collection of processes represented by one code is called a logical block.
メルクルの根(上の例ではハッシュ値(ABCD))に代表される過去の処理の集まりが存在することをタイムスタンプで承認する。こうして承認された論理ブロックがネットワーク上に公開される。したがって、これを公開台帳と呼ぶ。この承認は、公証役場に書類を持ち込み日付を付けて封書してもらう日付認証に似た作業(ワーク)である。未承認の処理の集まりを新たな論理ブロックとして承認することを記帳と呼び、記帳した者には認証作業の対価として一定の報酬がビットコインで与えられる。こうしてビットコインを獲得することを採掘(マイニング)と言い、採掘するビットコインの利用者を採掘者(マイナー)と言う。しかしながら、一度に記帳できるマイナーは一人だけなので、マイナーたちは先を競って採掘する。採掘されたビットコインは論理ネットワーク上の市場で流通する。 The time stamp confirms that there is a collection of past processes represented by the roots of Merkuru (in the above example, hash value (ABCD)). The logical block thus approved is released on the network. Therefore, this is called a public ledger. This approval is a work (work) similar to date authentication in which a document is brought into a notary public office and sealed with a date. Approving a collection of unapproved processes as a new logical block is called “book entry”, and a person who has made a book is given a certain reward in bit coins as a consideration for authentication work. Obtaining bit coins in this way is called mining, and the user of the mining bit coin is called a miner. However, since only one miner can be booked at a time, miners mine ahead. The mined bitcoin is distributed in the market on the logical network.
一例として図3を用い、この承認作業を簡単に説明する。まず承認済みの過去の論理ブロックに関する何らかのハッシュ値を獲得する。次にネットワーク上に存在する未承認処理の集まりを発見し、その集まりのメルクルの根(ハッシュ値)を獲得する。この二つのハッシュ値に可変のノンス値というものを追加し、更にハッシュ化してブロックハッシュを作る。このとき、ビットコインではハッシュ関数としてSHA-256を利用する。もちろん、他のハッシュ関数を利用してブロックハッシュを生成することも可能である。 As an example, this approval work will be briefly described with reference to FIG. First, some hash value related to the approved past logical block is obtained. Next, a collection of unapproved processes existing on the network is found, and the root (hash value) of the Mercle of the collection is acquired. A variable nonce value is added to these two hash values, and further hashed to create a block hash. At this time, SHA-256 is used as a hash function in Bitcoin. Of course, it is also possible to generate a block hash using another hash function.
ノンス値は、一般に、32ビットの任意の値である。このノンス値を含めて生成されたハッシュ値(ここではブロックハッシュ)は256ビットの値である。2の256乗は10の77乗より大きく、ブロックハッシュは膨大な自由度を持っていることが判る。前記ノンス値を調整すると、ブロックハッシュの最初の数ビットをゼロにすることができる。一例として、新たに生成したブロックハッシュの最初の16ビットがすべてゼロになる確率は2の16乗分の1、すなわち65,536分の1である。すなわち、偶然にはほとんど起こりえないことである。 The nonce value is generally an arbitrary value of 32 bits. A hash value (block hash here) generated including the nonce value is a 256-bit value. 2 to the 256th power is larger than 10 to the 77th power, and it can be seen that the block hash has a huge degree of freedom. Adjusting the nonce value can zero out the first few bits of the block hash. As an example, the probability that the first 16 bits of a newly generated block hash are all zero is 1/16, that is, 1 / 65,536. That is, it can hardly happen by chance.
ハッシュ関数は非可逆的である。したがって、最初の数ビット(この例では16ビット)がゼロとなるハッシュ値(ここではブロックハッシュ)を生成するようなナンス値を、逆変換で求めることは一般に不可能である。つまり、ナンス値を変えながらハッシュ化を繰り返し、その都度生成したハッシュ値の最初の数ビットがすべてゼロになるまでそれを繰り返さなければならない。こうして、最初の16ビットがすべてゼロとなるようなブロックハッシュを生成するためのナンス値の決定には、一定以上の計算機の活用が不可欠であることが判る。 The hash function is irreversible. Accordingly, it is generally impossible to obtain a nonce value by inverse transformation so as to generate a hash value (here, a block hash) in which the first few bits (16 bits in this example) are zero. In other words, it is necessary to repeat hashing while changing the nonce value until the first few bits of the generated hash value are all zero. Thus, it can be seen that the use of a certain computer or more is indispensable for determining a nonce value for generating a block hash in which the first 16 bits are all zero.
P2Pネットワークでは、マイニングを行うのは特定の中核的機能を持つノードではない。一定以上の計算機リソースを活用できれば誰でもマイニング可能である。マイナーは、より正確には、そのマイナーが活用するP2P上のノードは、ナンス値を変更しながらネットワーク上で総当たり探索を行い、最初の数桁がすべてゼロとなるような未承認処理の集まりを見つけ出せばよい。つまり、ナンス値を変更しながらネットワーク上を採掘(マイニング)して回っているのである。このように、必ずしも特定の未承認処理の集まりに対してナンス値を調整する必要はない。 In a P2P network, mining is not a node with a specific core function. Anyone who can utilize more than a certain amount of computer resources can mine. More precisely, a node on P2P utilized by a minor performs a brute force search on the network while changing the nonce value, and a collection of unapproved processes in which the first few digits are all zero. Find out. In other words, it is mined around the network while changing the nonce value. In this way, it is not always necessary to adjust the nonce value for a specific collection of unapproved processes.
いずれにしろ、最初の数ビット(この例では16ビット)がゼロのブロックハッシュが掘り出されると、このブロックハッシュに対応する未承認処理の集まりは、新たに承認された論理ブロックとして前出の承認済みの過去の論理ブロックに連結し公開することが許される。こうして論理ブロックの記帳が完成する。すなわち、最初の所定のビット数をすべてゼロにすることが論理ブロック連結の条件である。マイニングを繰り返すことによって複数のブロックが連結され、ブロックチェーンが形成されてゆく。 In any case, when a block hash whose first few bits (16 bits in this example) are zero is mined, the collection of unapproved processes corresponding to this block hash becomes the newly approved logical block. It is allowed to be linked to the approved past logical block and published. Thus, the logic block book is completed. That is, it is a condition for logical block concatenation that the initial predetermined number of bits is all zero. By repeating mining, a plurality of blocks are connected to form a block chain.
上述したことから判るように、ビットコインでは通貨の信頼性は過去の処理履歴の信頼性である。公正認証に代わりその信頼性を保証しているのがブロックチェーンである。ブロックチェーンが長く伸びるほど改ざんが難しくなる。たとえば、一部の論理ブロックのデータを書き換えると、その論理ブロックにつながる論理ブロックとの連結条件(ブロックハッシュの最初の数ビットがすべてゼロ)を満たさなくなる。そこでその論理ブロックのナンス値を修正してこの条件が満たされるようにしなければならない。上述したように、ハッシュ関数は非可逆なので、それには相応の計算が必要とされる。しかしながら、その論理ブロックのナンス値を調整すると、それ以降の論理ブロックのナンス値も調整しなければならない。結局、一部のデータを改ざんするだけでブロックチェーンに連結されている複数の論理ブロックのナンス値を再調整しなければならなくなる。これには更に膨大な計算機能力を必要とする。こうして、ブロックチェーンが長く伸びるほど幾何級数的に改ざんが難しくなるとされている。 As can be seen from the above, in Bitcoin, the reliability of currency is the reliability of past processing history. Instead of fair certification, blockchain guarantees its reliability. The longer the blockchain extends, the more difficult it is to tamper. For example, when data of a part of logical blocks is rewritten, the connection condition with the logical block connected to the logical block (the first few bits of the block hash are all zero) is not satisfied. Therefore, the nonce value of the logical block must be corrected so that this condition is satisfied. As described above, since the hash function is irreversible, it requires a corresponding calculation. However, when the nonce value of the logical block is adjusted, the nonce value of the subsequent logical block must also be adjusted. Eventually, it is necessary to readjust the nonce values of a plurality of logical blocks connected to the block chain only by falsifying some data. This requires an enormous calculation capability. Thus, the longer the blockchain is, the more difficult it is to tamper with geometrically.
ビットコインにおいて、通貨の偽造とは過去の処理履歴の改ざんや不正コピーである。処理の検証が成功した証として電子署名を処理履歴に添付するのであるから、通貨の偽造とは電子署名の偽造である。電子署名を作成できるのは、暗号が破られない限り、唯一電子署名に必要な秘密鍵を所有する前の財布の所有者のみである。逆に言えば、暗号が破られなかったとしても、秘密鍵の正規の利用者は過去の処理履歴を改ざんしようと思えば可能である。しかしながら、上記のように一度ブロックチェーンをくみ上げてしまうと、たとえ秘密鍵の正規の利用者であっても、ブロックチェーンを連結させるナンス値すべてを改ざんすることは難しい。ブロックチェーンが長く伸びるほどその難易度は劇的に上昇する。すなわち、一度ブロックチェーンを長くしてしまえば過去に遡って改ざん、あるいは、編集することはほぼ不可能になる。これを「仕事による証明(Proof-of-Work)」(PoW)という。 In Bitcoin, currency counterfeiting is falsification or unauthorized copying of past processing history. Since the electronic signature is attached to the processing history as a proof that the processing has been successfully verified, forgery of currency is forgery of the electronic signature. Only the owner of the wallet before possessing the private key necessary for the electronic signature can create the electronic signature unless the cipher is broken. In other words, even if the encryption is not broken, it is possible if a legitimate user of the secret key wants to tamper with the past processing history. However, once the block chain is created as described above, it is difficult to falsify all nonce values that connect the block chains, even if they are legitimate users of the secret key. The longer the blockchain is stretched, the more difficult it becomes. In other words, once the block chain is lengthened, it is almost impossible to tamper with it or edit it. This is called “Proof-of-Work” (PoW).
しかしながら、不正を働く側の計算能力が全世界の他のマイナーに分配されている計算能力を凌駕するとき、不正チェーンが正規のチェーンより長くなる可能性がある。これを「51%攻撃」という。 However, the fraudulent chain may be longer than the regular chain when the fraudulent side's computing power outweighs the computing power distributed to other minors around the world. This is called “51% attack”.
51%攻撃は、費用対効果の関係で現実的ではないという議論がある。しかしながら、ある集団の財政基盤を脆弱にするためサイバー攻撃として行われる場合はこの限りではない。たとえば、ある大国でブロックチェーンを基盤としたフィンテック2.0が広く普及していたとしよう。ある小国がこの大国の金融システムを麻痺させるためマイニングに国防費用を投入することがあるかも知れない。この場合核兵器の開発よりコストを抑えることが可能となるだろう。また、クラウドマイニングの発達により一部の業者が一時的に51%攻撃の能力を獲得することはありえる。 There is a debate that the 51% attack is not realistic because of cost-effectiveness. However, this does not apply to cyber attacks that are used to weaken a group's financial base. For example, let's say that FinTech 2.0 based on blockchain was widely used in a large country. A small country may invest defense costs in mining to paralyze the financial system of this large country. In this case, it would be possible to keep costs lower than the development of nuclear weapons. Also, with the development of cloud mining, it is possible that some traders will temporarily gain 51% attack capability.
このような攻撃を防ぐため、攻撃されるであろう大国もブロックチェーンに参加する必要が出てくる。複数の国家が参加し、どの国家も51%攻撃を実施できないような状態にしておけば問題はなくなる。このようにブロックチェーンはP2Pであるが、国際的な情報通信インフラという側面を併せ持つようになるだろう。 In order to prevent such attacks, the powers that will be attacked will need to join the blockchain. If multiple nations participate and no one can attack 51%, the problem will disappear. In this way, the blockchain is P2P, but it will also have an aspect of international information and communication infrastructure.
P2Pネットワーク上で処理の履歴を共有化し、マイナーに承認作業を任せて信頼性を担保するという公開台帳システムの考え方は、情報通信インフラとしてビットコイン以外にも幅広い応用が期待されている。これは、最低コストで過去の処理の改ざんを現実的に不可能にできるという理由による。現実的に改ざん不可能なデータベースの需要は、たとえば、日々増大する蓄積された医療データを利用したヘルスケアや、日々増大する蓄積された処理データを利用した証券取引や、その他日々増大する蓄積されたビッグデータを活用するありとあらゆる情報サービスが考えられる。そして、フィンテック2.0と呼ばれる世界的な金融技術革新の波を引き起こしている。 The idea of the open ledger system that shares the processing history on the P2P network and entrusts the approval work to the minor to ensure the reliability is expected to be applied to a wide range of applications other than bitcoin as an information communication infrastructure. This is because the past processing can be practically impossible at the lowest cost. Demand for databases that cannot be falsified in reality is, for example, health care using accumulated medical data that increases daily, securities transactions that use accumulated processing data that increases daily, and other daily increases that accumulate. Various information services that use big data can be considered. And it is causing a wave of global financial innovation called FinTech 2.0.
51%攻撃を抑制するにはもう一つポイントがある。まず、攻撃するノードの数を無限大にしないことである。ノードに割り当てるアドレスがIPアドレスのような論理アドレスであると、攻撃者は無限の数の攻撃用ノードを仮想空間で獲得することが可能となる。したがって、P2Pに結節するノードは、すべてCPUなどと一対一の組みを成すようにリンクしなければならない。この考え方をOne-CPU-One-Vote(一台一票)と呼ぶ。たとえば、投票用紙一人一枚というのは、多数決のようなシステムでは不可欠な条件である。 There is another point in suppressing the 51% attack. First, do not make the number of attacking nodes infinite. If the address assigned to the node is a logical address such as an IP address, the attacker can acquire an infinite number of attack nodes in the virtual space. Therefore, all nodes connected to P2P must be linked to form a one-to-one pair with the CPU. This idea is called “One-CPU-One-Vote”. For example, a single ballot is an indispensable condition in a system such as majority voting.
こうして、秘密鍵と物理的実態を持つハードウェアの個別認証とを関連付けることが必要であることが判る。しかしながら、秘密鍵はソフトウェアによる産物であり物理的実態とは縁がない。そもそもソフトウェアは、同じ規格で設計・製造されたどのハードウェアにインストールしても同じく機能するように作られたものである。すなわち、個々の物理的実態の違いに関らず同様に動くことが求められている。それゆえ物理的実態とは成り立ちから言って無縁である。にも拘わらず、IoTネットワークを構成するのは、無数のハードウェアと、それらを連結して電子データを交換する有線無線の信号伝達路の集合である。ここに秘密鍵と物理的実態とを関連付ける理由と一つのヒントの両方がある。 Thus, it can be seen that it is necessary to associate the private key with the individual authentication of the hardware having physical reality. However, the secret key is a product of software and has nothing to do with the physical reality. In the first place, software is designed to function even when installed on any hardware designed and manufactured according to the same standard. In other words, it is required to move in the same way regardless of the difference in individual physical reality. Therefore, it has nothing to do with the physical reality. Nevertheless, the IoT network is composed of a myriad of hardware and wired wireless signal transmission paths that connect them to exchange electronic data. Here is both the reason for associating the private key with the physical reality and one hint.
         
具体的には、公開鍵と物理アドレスを改ざんされない何らかの方法でリンクさせることである。ここで要求される物理アドレスとは、MACアドレスなどとは違って書き換え不能なものでなければならない。
 
 
(書き換え不能の物理アドレス) 
Specifically, the public key and the physical address are linked by some method that is not falsified. The physical address required here must be non-rewritable unlike the MAC address. 
 
 
 (Physical address that cannot be rewritten)
      
このように、(書き換え不能の物理アドレス)が必要なことは明白である。それを実現する方法は、ソフトウェア技術でも、ネットワーク技術でも、ハードウェア技術でも何でもよい。いずれにしろ、ソフトウェア技術、ネットワーク技術、ハードウェア技術、あるいは、それら技術の何等かの組み合わせによって何らかの形で物理的実態を有するチップに関連させることが可能であれば十分である。 Thus, it is clear that (non-rewritable physical address) is necessary. The method for realizing it may be any software technology, network technology, or hardware technology. In any case, it suffices to be able to relate to a chip that has some form of physical reality by software technology, network technology, hardware technology, or some combination of these technologies.
図4は、(書き換え不能の物理アドレス)を搭載したハードウェアが参加する物理ネットワークと、公開台帳を活用する論理ネットワークの関係を説明する図面である。前記ハードウェアは物理的実態を持ち、物理ネットワークを構成するノードとなるので物理ノードである。予め設定した物理アドレスを何らかの方法で秘密鍵と一対一にリンクする。公開鍵暗号によってこの秘密鍵と一対の組をなす公開鍵を論理アドレスとする論理ノードが、この物理ノード、あるいはそれに対応するハードウェアと対をなす。 FIG. 4 is a diagram for explaining the relationship between a physical network in which hardware having (non-rewritable physical address) participates and a logical network utilizing a public ledger. The hardware is a physical node because it has a physical reality and becomes a node constituting a physical network. The preset physical address is linked one-to-one with the secret key by some method. A logical node whose logical address is a public key that forms a pair with the secret key by public key cryptography is paired with the physical node or hardware corresponding thereto.
図1のように、前記物理アドレスとリンクした公開鍵を論理アドレスとする論理ノード間で情報が転送される。財布(N)の中身であるハッシュ値(N-1)は、財布(N-1)の中身であるハッシュ値(N-2)、その論理アドレスである公開鍵(N-1)および電子署名(N-2)をまとめてハッシュ化したものである。ここで、財布(N-1)、財布(N)、財布(N+1)…は、それぞれ論理ノード(N-1)、論理ノード(N)、論理ノード(N+1)…に対応する。 As shown in FIG. 1, information is transferred between logical nodes using a public key linked to the physical address as a logical address. The hash value (N-1) that is the contents of the wallet (N) is the hash value (N-2) that is the contents of the wallet (N-1), the public key (N-1) that is the logical address, and the electronic signature. (N-2) is hashed together. Here, wallet (N-1), wallet (N), wallet (N + 1),... Correspond to logical node (N-1), logical node (N), logical node (N + 1),. .
ここで論理ノード(N-1)と対をなす物理ノードのアドレス、すなわち物理アドレス(N-1)を改ざんしたとしよう。この物理アドレス(N-1)と一対一にリンクする秘密鍵(N-1)は、論理ノード(N-1)の論理アドレスである公開鍵(N-1)とも一対一にリンクしている。したがって、物理アドレス(N-1)を改ざんするということは、公開鍵(N-1)の改ざんを同時に行うことを意味する。 Assume that the address of the physical node that forms a pair with the logical node (N-1), that is, the physical address (N-1) has been altered. The private key (N-1) linked one-to-one with the physical address (N-1) is linked one-to-one with the public key (N-1) that is the logical address of the logical node (N-1). . Therefore, falsifying the physical address (N-1) means that the public key (N-1) is falsified at the same time.
図1で説明したように、公開鍵(N-1)は、ハッシュ値(N-2)および電子署名(N-2)と共にハッシュ値(N-1)にハッシュ化される。したがって、公開鍵(N-1)の改ざんはハッシュ値(N-1)の改ざんでもある。一般に、ハッシュ値(N-1)は最新のハッシュ値、すなわちメルクルの根とは限らない。しかしながら、メルクル樹形、すなわち、論理ブロックの一部でも改ざんすればそれはメルクルの根を改ざんしたことと同意である。 As described in FIG. 1, the public key (N-1) is hashed into a hash value (N-1) together with a hash value (N-2) and an electronic signature (N-2). Therefore, alteration of the public key (N-1) is also alteration of the hash value (N-1). In general, the hash value (N-1) is not necessarily the latest hash value, that is, the root of Merck. However, if you tamper with the Merkul tree, that is, some of the logic blocks, you agree that the roots of Merkul have been tampered with.
図3で示したように、論理ブロック(N+1)の中身を構成するブロックハッシュ(N)は、論理ブロック(N)をすべてまとめてハッシュ化したものである。論理ブロック(N)はメルクルの根を含んでいる。このメルクルの根が上述したように改ざんされているとすると、論理ブロック(N)と論理ブロック(N+1)との間の連結条件を破壊する。したがって、連結条件を回復するよう、論理ブロック(N)のノンス値を再調節する必要がある。たとえば、ブロックハッシュ(N+1)の最初の16ビットが再びすべてゼロになるよう論理論理ブロック(N)のノンス値を再計算しなければならない。ここで、ハッシュ関数は非可逆なのでこの計算には一定以上の計算能力が必要である。 As shown in FIG. 3, the block hash (N) constituting the contents of the logical block (N + 1) is a hashed form of all the logical blocks (N). The logic block (N) contains the roots of Merkuru. Assuming that the root of this Mercle is altered as described above, the connection condition between the logical block (N) and the logical block (N + 1) is broken. Therefore, it is necessary to readjust the nonce value of the logical block (N) to recover the connection condition. For example, the nonce value of the logical logic block (N) must be recalculated so that the first 16 bits of the block hash (N + 1) are all zero again. Here, since the hash function is irreversible, this calculation requires a certain level of calculation capability.
このようにノンス値を再調整して(一例として)最初の16ビットを全てゼロにすることに成功したとしても、メルクルの根が改ざんされている限り第17ビット以降のデータは改ざんされる。結局ブロックハッシュ(N-1)も改ざんされ、論理ブロック(N)と論理ブロック(N+1)の連結条件を破壊する。上述したのと同様にこの連結条件を回復するためには一定以上の計算能力の消費が必要であり、更に論理ブロック(N+1)と論理ブロック(N+2)の連結条件を破壊する。このようにブロックチェーンが長く連なっている限り、延々とブロック連結条件の回復のために計算を続けなければならなくなる。 In this way, even if the nonce value is readjusted (for example) and the first 16 bits are all zeroed, the data after the 17th bit is falsified as long as the root of the Merkuru is falsified. Eventually, the block hash (N-1) is also tampered with, and the connection condition between the logical block (N) and the logical block (N + 1) is destroyed. In the same manner as described above, it is necessary to consume more than a certain amount of computing power to recover the connection condition, and the connection condition between the logical block (N + 1) and the logical block (N + 2) is destroyed. Thus, as long as the block chain continues for a long time, the calculation must be continued to recover the block connection condition.
         
このように十分長いブロックチェーンが構成されている限り、たとえ一部であっても物理アドレスの改ざんは現実的に不可能になる。無理に改ざんすれば論理ブロック間の連結条件が満たされなくなり、ブロックチェーンが破壊される。こうして秘密鍵とリンクした物理アドレスを用いることによってブロックチェーンなどの公開台帳技術で(書き換え不可能な物理アドレス)を実現することが可能となる。
 
(鍵生成方法) 
As long as a sufficiently long block chain is configured in this way, even if it is a part, it is practically impossible to falsify the physical address. If forcibly tampered with, the connection condition between logical blocks will not be satisfied, and the block chain will be destroyed. By using the physical address linked with the secret key in this way, it becomes possible to realize a (non-rewritable physical address) with a public ledger technology such as a block chain. 
 
 (Key generation method)
      
秘密鍵と互いに一対の組みをなす公開鍵を生成する方法について説明する。大別すると、ある入力から互いに一対の組みを成す秘密鍵と公開鍵を生成するRSA型鍵生成装置を用いる方法と、秘密鍵を入力してこの秘密鍵と互いに一対の組みを成す公開鍵を生成するエルガマル型鍵生成装置に大別できる。いずれにしろ、少なくとも公開鍵から秘密鍵を再生することは非常に困難である。なお、これらの鍵生成装置は、メモリに記録された一種のプログラムであっても良いし、半導体チップに搭載された組み込み回路であっても良い。 A method of generating a public key that makes a pair with the private key will be described. Broadly speaking, a method using an RSA type key generation device that generates a private key and a public key that form a pair with each other from a certain input, and a public key that forms a pair with the private key by inputting the private key It can be broadly classified into Elgamal type key generation devices to be generated. In any case, it is very difficult to reproduce the secret key from at least the public key. These key generation devices may be a kind of program recorded in a memory, or may be an embedded circuit mounted on a semiconductor chip.
         
まずRSA型の説明をする。これはリベスト・シャミア・エーデルマンにより発明された暗号鍵生成方法である。(
 
RSA法では、まず適当な非負整数eを準備する。通常2の16乗に1を足したものを採用するがそれ以外の正の自然数を採用することも出来る。次に大きな二つの素数の組み{p、q}を何らかの方法で生成し、それらの積n(=pq)を計算する。このとき{e、n}が公開鍵となる。続いて、(p-1)および(q-1)の積で割った余りが1となる正の整数を更にeで割ったものを秘密鍵dとする。ただし、{e、n}以外に{p、q}も既知になれば計算によってdを獲得することが可能になるので、{p、q}は破棄するか外部に漏れないようにしなければならない。素数の組み{p、q}を外部に漏れないよう保存しているのであれば組み{d、p、q}が秘密鍵であるという見方もできる。 In the RSA method, first, an appropriate non-negative integer e is prepared. Usually, 2 to the 16th power plus 1 is adopted, but other positive natural numbers can be adopted. Next, a pair of large two prime numbers {p, q} is generated by some method, and a product n (= pq) thereof is calculated. At this time, {e, n} is a public key. Subsequently, a secret integer d is obtained by further dividing a positive integer whose remainder is 1 by dividing the product of (p−1) and (q−1) by e. However, if {p, q} is known in addition to {e, n}, d can be obtained by calculation. Therefore, {p, q} must be discarded or not leaked to the outside. . If the set of prime numbers {p, q} is stored so as not to leak to the outside, it can be considered that the set {d, p, q} is a secret key.
コード表示した物理アドレスから最初の数ビットを切り出し、1を加算して前記eとすることが可能である。あるいは、コード表示した物理アドレスに1を加えて正の整数eを生成すること可能である。 It is possible to cut out the first few bits from the physical address displayed in code and add 1 to the above e. Alternatively, a positive integer e can be generated by adding 1 to the physical address displayed in code.
物理アドレスから前記素数{p、q}を生成することも可能である。一例として、コード表示した物理アドレスに1を足し算し、素数かどうかを確かめる。素数であればその素数をpとする。素数でなければ更に1を足し算して素数かどうかを確かめる。これを繰り返し、素数pを決める。素数pを決めたのち同じ手続きを繰り返し、素数qを決める。こうして前記素数{p、q}を求めることができる。 It is also possible to generate the prime number {p, q} from the physical address. As an example, 1 is added to the physical address indicated by the code to check whether it is a prime number. If it is a prime number, let p be the prime number. If it is not a prime number, add 1 to see if it is a prime number. This is repeated to determine the prime number p. After determining the prime number p, the same procedure is repeated to determine the prime number q. Thus, the prime number {p, q} can be obtained.
素数qの決め方の別の一例は、物理アドレスに2を足し算して素数かどうかを確かめる。素数であればその素数をqとする。素数でなければ更に2を足し算して素数かどうかを確かめる。これを繰り返して素数qを決める。 Another example of how to determine the prime number q is to add 2 to the physical address to see if it is a prime number. If it is a prime number, let the prime number be q. If it is not a prime number, add 2 to see if it is a prime number. The prime number q is determined by repeating this.
素数pまたはqを求めるために物理アドレスに足し算する数は1や2のみではなく、任意の整数(たとえばk)を採用することが可能である。このとき前記kをセキュリティパラメータとすることができる。たとえば、物理乱数あるいは疑似乱数などを用いて一定の範囲内の整数からランダムに選択し、それをセキュリティパラメータkとすることが可能である。いずれにしろ、コード表示した物理アドレスとkを何らかの方法で合成したものが素数になるまで合成を繰り返すことが可能である。物理アドレスが数値として十分大きい限りpもqも十分大きな素数となり、セキュリティパラメータkの選択もより多様になる。 The number added to the physical address to obtain the prime number p or q is not limited to 1 or 2, but an arbitrary integer (for example, k) can be adopted. At this time, k can be a security parameter. For example, it is possible to select a random number from an integer within a certain range using a physical random number or a pseudo-random number and set it as the security parameter k. In any case, it is possible to repeat the synthesis until the code-addressed physical address and k synthesized by some method become a prime number. As long as the physical address is sufficiently large as a numerical value, both p and q are sufficiently large prime numbers, and the selection of the security parameter k becomes more diverse.
コード表示した物理アドレスとkの合成方法は、加減乗除すべての算術演算およびその組み合わせ、あるいは、可能な限りあらゆるビット演算が可能である。いずれにしろ、物理アドレス(N)あるいは前記kが数値として十分大きい限りpも十分大きな素数となる。前記kは、内部入力でも外部入力でも良い。 The method of synthesizing the physical address indicated by code and k can perform all arithmetic operations and combinations of addition, subtraction, multiplication, and division, or any bit operation as much as possible. In any case, as long as the physical address (N) or k is sufficiently large as a numerical value, p is a sufficiently large prime number. The k may be an internal input or an external input.
いずれにしろ、物理アドレスから素数pまたはqを求める方法は、一例として、物理アドレスと適当に与えられた変数を合成する合成ステップと、合成された数が素数であるかどうかを判定する判定ステップと、から構成され、実際に素数が得られるまで前記合成ステップおよび前記判定ステップを繰り返すことである。図5参照。 In any case, a method for obtaining a prime number p or q from a physical address includes, as an example, a synthesis step for synthesizing a physical address and an appropriately given variable, and a determination step for determining whether or not the synthesized number is a prime number. And the synthesis step and the determination step are repeated until a prime number is actually obtained. See FIG.
         
続いてエルガマル型を説明する。これはエルガマルによって発明された暗号鍵生成方法である。(
 
エルガマル法では、まず大きな素数pとその原始根gを決める。素数pおよび原始根gは設計仕様に応じて選択することができる。次に、p-1より小さい非負整数xをランダムに選び秘密鍵とする。続いて、前記原始根gのx乗をpで割った余りを公開鍵とする。 In the El Gamal method, first, a large prime number p and its primitive root g are determined. The prime number p and the primitive root g can be selected according to design specifications. Next, a non-negative integer x smaller than p−1 is randomly selected as a secret key. Subsequently, a remainder obtained by dividing the x-th power of the primitive root g by p is set as a public key.
物理アドレスから適当なコード変換を施し秘密鍵を得ると、物理アドレスと秘密鍵をリンクすることが可能となる。一例として、コード表示した物理アドレス、あるいは前記物理アドレスに1以上の整数を加えてp-1で割った余りを秘密鍵とすればよい。 When a proper code conversion is performed from the physical address to obtain a secret key, the physical address and the secret key can be linked. As an example, the secret address may be a physical address represented by a code or a remainder obtained by adding an integer of 1 or more to the physical address and dividing by p−1.
         
RSA型鍵生成方法もエルガマル型鍵生成方法も具体的なアルゴリズムは複数存在する。この中で現在電子署名に良く使われているのはDSA法というものとその改良版であるECDSA法である。他にもシュノール法、ランダムオラクル法、クラマーショウプ法など多種多様あるが、これらの共通点は公開鍵から秘密鍵を生成することが現実的に難しいことである。(数学的に不可能であることを証明できないが、実際に生成することは困難であると言える。)また、秘密鍵でハッシュ値等を暗号化して電子署名を生成することも共通点として挙げられる。異なる点は、秘密鍵から公開鍵を生成するか、あるいは、別の入力変数から公開鍵と秘密鍵を生成するか、などである。あるいは、変数変換に用いる代数上の問題の違いもある。たとえば、素因数分解、離散対数問題、ランダムオラクル仮定、楕円曲線問題などなどである。
 
(システムインテグレーション)
There are multiple specific algorithms for both the RSA key generation method and the El Gamal key generation method. Of these, the DSA method and the ECDSA method, which is an improved version of the DSA method, are often used for electronic signatures. There are many other methods such as the Schnorr method, the random oracle method, and the kramer show method, but the common point between them is that it is actually difficult to generate a secret key from a public key. (Although it cannot be proved mathematically impossible, it can be said that it is difficult to actually generate it.) Also, it is common to generate a digital signature by encrypting a hash value with a private key. It is done. The difference is whether to generate a public key from a secret key, or to generate a public key and a secret key from different input variables. Or there are differences in algebraic problems used for variable transformation. For example, prime factorization, discrete logarithm problem, random oracle assumption, elliptic curve problem, etc. 
 
 (System integration)
      
多数のハードウェアより構成される大規模システムを考える。このシステムへのハッキングは、少なくとも一つハードウェアへのハッキングに他ならない。ハッキングしたことを秘密にするには、そのハードウェアへのアクセス履歴を消し去れねばならない。これは履歴の改ざんに他ならない。また、このシステムを乗っ取るためには、少なくとも構成要素である一部のハードウェアの物理アドレスを改ざんすることが必要である。 Consider a large-scale system composed of a large number of hardware. Hacking to this system is nothing but at least one hardware hacking. To keep hacked secrets, you must erase the hardware access history. This is nothing more than falsification of history. Also, in order to take over this system, it is necessary to tamper with at least some of the hardware addresses that are constituent elements.
         
したがって、上述のような方法で物理アドレスと論理アドレスと一対一に連結すれば、ブロックチェーンによってシステムをハッキングから守ることが可能となる。
 
(ハードウェア特有の問題) 
Therefore, if the physical address and the logical address are connected one-to-one by the method as described above, the system can be protected from hacking by the block chain. 
 
 (Hardware specific problems)
      
しかしながら、物理的実態を持つハードウェアには、物理的実態を持たない論理ノードにはありえない問題が存在する。すなわち、論理ノードは機械的故障を起こしえないが、ハードウェアには常に機械的故障のリスクがつきまとう。故障したハードウェアは、システムを保持するために新しいハードウェアと交換しなければならない。 However, there is a problem in hardware that has physical reality that is impossible for a logical node that does not have physical reality. That is, logical nodes cannot cause mechanical failure, but hardware always carries the risk of mechanical failure. The failed hardware must be replaced with new hardware to maintain the system.
このとき交換するハードウェアの物理アドレスが故障したハードウェアと異なれば、物理アドレスも交換されることになる。これは、物理アドレスを改ざんしたのと同じである。こうしてブロックチェーンを構成する論理ブロックが改ざんされることになる。結果として、論理ブロックの連結条件を満たせなくなり、ブロックチェーンも破壊される。 At this time, if the physical address of the hardware to be replaced is different from the failed hardware, the physical address is also replaced. This is the same as falsifying the physical address. In this way, the logical blocks constituting the block chain are falsified. As a result, the logical block connection condition cannot be satisfied, and the block chain is also destroyed.
このようなブロックチェーンの破壊を防ぐためには、物理アドレスのみならず、故障したハードウェアに記録されている履歴(ハッシュ値)や電子署名などの情報もすべて交換するハードウェアに移さなければならない。しかしながら、故障したハードウェからこのような情報を全て完全な状態で取り出すことはいつでも可能とは限らない。むしろ、故障によって不可能である場合の対処方法を準備しなければシステムを維持・管理することが不可能となる。 In order to prevent such destruction of the block chain, not only the physical address but also information such as history (hash value) and electronic signature recorded in the failed hardware must be transferred to the hardware to be exchanged. However, it is not always possible to retrieve all such information from a failed hardware in its entirety. Rather, it is impossible to maintain and manage the system unless a countermeasure is prepared when it is impossible due to a failure.
例えば、上記システムをが大規模データセンターである場合、無数の個体ドライブ(SSD)に物理アドレスが割り当てられ、それぞれ物理アドレスが論理アドレスと一対一に連結され、ブロックチェーンで外部からのハッキングを遮断することが出来る。こうして、安価に安全なイントラネットが構築できる。 For example, if the above system is a large-scale data center, physical addresses are assigned to countless individual drives (SSDs), and each physical address is linked to a logical address on a one-to-one basis, blocking external hacking with a block chain I can do it. In this way, an inexpensive and safe intranet can be constructed.
全世界からの検索などのアクセスに常時対処できるよう、このような大規模データセンターは膨大な数のSSDで構成される。SSDはハードウェアであり、機械的故障を逃れられない。如何に信頼性が高く故障頻度が低かったとしても、SSDの数が膨大であるため保守点検のために日常的にSSDの交換が必要である。ブロックチェーンの性質から、たった一つでもSSDを入れ替えればブロックチェーンは破壊される。こうして、ブロックチェーンを使って大規模システムを悪質なハッカーの攻撃から守ることは困難になる。また、仮に故障したハードウェアからブロックチェーンの破壊を防ぐために必要な情報が運よく取り出せたとしても、実際にそのような情報を取り出すには時間と労力がかかり経済的ではない。 Such a large-scale data center is composed of a huge number of SSDs so that access such as search from all over the world can always be handled. SSDs are hardware and cannot escape mechanical failure. Regardless of how reliable and failure frequency is, the number of SSDs is enormous, so SSDs must be replaced on a daily basis for maintenance and inspection. Due to the nature of the blockchain, if even one SSD is replaced, the blockchain will be destroyed. This makes it difficult to protect large systems from malicious hackers using blockchain. Even if the information necessary for preventing the blockchain from being broken can be fortunately extracted from the failed hardware, it takes time and labor to actually extract such information, which is not economical.
本発明は上記事情を鑑みて成されたものであり、構成要素の一部であるハードウェアを交換しても論理ブロックが改ざんされないネットワーク管理技術を提供し、ブロックチェーンを用いて安全なイントラネットを安価に構築することを目的とする。 The present invention has been made in view of the above circumstances, and provides a network management technology in which a logical block is not tampered with even when hardware that is a part of a component is replaced, and a secure intranet using a block chain is provided. The purpose is to build at low cost.
本発明は、上記課題を解決するため、以下の手段を採用する。 The present invention employs the following means in order to solve the above problems.
           
複数のクライアントと、少なくとも一つのサーバーから構成されるネットワークにおいて、
前記サーバーは、各クライアントとデータのやり取りをする入出力インターフェースを有し、
前記複数のクライアントは、それぞれ固有の物理アドレスを有し、前記入出力インターフェースを通して前記物理アドレスを前記サーバーに送信し、
前記サーバーは、更に鍵生成装置および合成装置を含み、
前記鍵生成装置および前記合成装置は、前記物理アドレスから、それぞれのクライアントに対応する秘密鍵および公開鍵を生成し、
前記秘密鍵および前記公開鍵は、それぞれ対応する前記クライアントに渡し、
 
前記サーバーは、前記複数のクライアントそれぞれに対応して、前記物理アドレス、前記秘密鍵、および前記公開鍵の組み合わせからなる認証変数を生成し、
前記複数のクライアントに対応する認証変数を集めて非公開台帳に記録する、
ことを特徴とする、
ネットワークに関する。
In a network consisting of multiple clients and at least one server, 
 The server has an input / output interface for exchanging data with each client, 
 Each of the plurality of clients has a unique physical address, sends the physical address to the server through the input / output interface, 
 The server further includes a key generation device and a synthesis device, 
 The key generation device and the synthesis device generate a secret key and a public key corresponding to each client from the physical address, 
 The secret key and the public key are each passed to the corresponding client, 
 
 The server generates an authentication variable consisting of a combination of the physical address, the secret key, and the public key for each of the plurality of clients. 
 Collecting authentication variables corresponding to the plurality of clients and recording them in a private ledger; 
 It is characterized by 
 About the network.
        
           
前記複数のクライアントは、互いに異なる第一のクライアントと、第二のクライアントと、第三のクライアントと、を含み、
前記鍵生成装置は、前記第一のクライアントに対応する第一の秘密鍵から第一の公開鍵を生成し、
前記合成装置は、前記第一の公開鍵と、前記第二のクライアントに対応する第二の物理アドレスと、から前記第二のクライアントに対応する第二の秘密鍵を生成し、
前記鍵生成装置は、前記第二の秘密鍵から、前記第二のクライアントに対応する第二の公開鍵を生成し、
前記合成装置は、前記第二の公開鍵と、前記第三のクライアントに対応する第三の物理アドレスとから、前記第三のクライアントに対応する第三の秘密鍵を生成し、
前記鍵生成装置は、前記第三の秘密鍵から、第三の公開鍵を生成し、
 
前記第一の公開鍵と前記第一の秘密鍵は、互いに一対の組みを成し、
前記第二の公開鍵と前記第二の秘密鍵は、互いに一対の組みを成し、
前記第三の公開鍵と前記第三の秘密鍵は、互いに一対の組みを成す、
 
ことを特徴とする、
ネットワークに関する。
The plurality of clients include a first client, a second client, and a third client different from each other, 
 The key generation device generates a first public key from a first secret key corresponding to the first client; 
 The synthesizing device generates a second secret key corresponding to the second client from the first public key and a second physical address corresponding to the second client; 
 The key generation device generates a second public key corresponding to the second client from the second secret key, 
 The synthesizing device generates a third secret key corresponding to the third client from the second public key and a third physical address corresponding to the third client, 
 The key generation device generates a third public key from the third secret key; 
 
 The first public key and the first secret key form a pair with each other, 
 The second public key and the second secret key form a pair with each other, 
 The third public key and the third secret key form a pair with each other; 
 
 It is characterized by 
 About the network.
        
           
前記第二のクライアントは、第四の物理アドレスを有する第四のクライアントに置き換えられ、
前記第四の物理アドレスは、前記入出力インターフェースを通して、前記サーバーに送信され、
 
前記非公開台帳において、前記第二のクライアントに対応する前記認証変数が、前記第四の物理アドレス、前記第二の秘密鍵、および前記第二の公開鍵を含む組み合わせに置き換えられ、
 
前記第四のクライアントは、前記サーバーから前記第二の秘密鍵および前記第二の公開鍵を渡され、前記第一のクライアントから前記第二のハッシュ値および前記第二の電子署名を渡される、
 
ことを特徴とする、
ネットワークに関する。
The second client is replaced by a fourth client having a fourth physical address; 
 The fourth physical address is transmitted to the server through the input / output interface; 
 
 In the private ledger, the authentication variable corresponding to the second client is replaced with a combination including the fourth physical address, the second secret key, and the second public key, 
 
 The fourth client is passed the second secret key and the second public key from the server, and is passed the second hash value and the second electronic signature from the first client. 
 
 It is characterized by 
 About the network.
        
           
ある時点で第一のタイムスタンプを添付した第一の論理ブロックと、その前のある時点で第二のスタンプを添付した第二の論理ブロックと、更にその前のある時点で第三のスタンプを添付した第三の論理ブロックとが、連結し、ブロックチェーンの一部あるいは全部を構成し、
 
前記第一のタイムスタンプは、前記第一の論理ブロック、第一のブロックハッシュ、および第一のノンス値をまとめて承認した公開台帳の記録の少なくとも一部であり、
 
前記第二のタイムスタンプは、前記第二の論理ブロック、第二のブロックハッシュ、および第二のノンス値をまとめて承認した公開台帳の記録の少なくとも一部であり、
 
前記第三のタイムスタンプは、前記第三の論理ブロック、第三のブロックハッシュ、および第三のノンス値をまとめて承認した公開台帳の記録の少なくとも一部であり、
 
前記第一のブロックハッシュは、前記第二のブロック、前記第二のブロックハッシュ、前記第二のノンス値を、まとめてハッシュ化して生成したものであり、
 
前記第二のブロックハッシュは、前記第三のブロック、前記第三のブロックハッシュ、前記第三のノンス値を、まとめてハッシュ化して生成したものである、
 
ことを特徴とする、
ネットワークに関する。
A first logical block with a first time stamp attached at a certain point, a second logical block with a second stamp attached at a certain point before that, and a third stamp at a certain point before that. The attached third logic block is connected to form part or all of the block chain, 
 
 The first time stamp is at least a part of a record of a public ledger that collectively approves the first logical block, a first block hash, and a first nonce value; 
 
 The second time stamp is at least part of a record of a public ledger that collectively approves the second logical block, a second block hash, and a second nonce value; 
 
 The third time stamp is at least part of a record of a public ledger that collectively approves the third logical block, a third block hash, and a third nonce value; 
 
 The first block hash is generated by hashing the second block, the second block hash, and the second nonce value together, 
 
 The second block hash is generated by hashing the third block, the third block hash, and the third nonce value together, 
 
 It is characterized by 
 About the network.
        
本発明によれば、膨大な数のハードウェアより構成される大規模システムの保守管理の経済性と安全性の向上を両立させることが可能となる。 According to the present invention, it is possible to achieve both the economical efficiency of maintenance management and the improvement of safety of a large-scale system composed of an enormous number of hardware.
以下、発明を実施するための最良の形態について、具体的に説明する。 The best mode for carrying out the invention will be specifically described below.
         
 
(第一の実施形態)
 
 (First embodiment)
      
一般に、規模の大小に関わらず、システムを構成するのは複数の物理ノードである。これら複数の物理ノードはそれぞれ一種のハードウェアであり、信号伝達路を介してお互いにデータを交換しながらシステムとしての機能を生み出している。このような大規模システムを構成する複数の物理ノードは、中核的機能を担当する基幹ノードと、基幹ノードと連携して一部の機能を担当する周辺ノードに大別できる。必然的にネットワークとしての構造はクライアント・サーバー型になるので、以下基幹ノードをサーバー、周辺ノードをクライアントと呼ぶことにする。 In general, a plurality of physical nodes constitute a system regardless of the size. Each of the plurality of physical nodes is a kind of hardware, and functions as a system while exchanging data with each other via a signal transmission path. A plurality of physical nodes constituting such a large-scale system can be broadly classified into a core node in charge of core functions and peripheral nodes in charge of some functions in cooperation with the core nodes. Inevitably, the network structure is a client-server type, and therefore, the core node will be referred to as a server and the peripheral nodes as clients.
このようなシステムがデータセンターである場合、クライアントは一例としてSSDである。システムがSSDである場合、クライアントは一例としてNANDフラッシュであり、サーバーはコントローラーである。システムがコントローラーである場合、サーバーは演算処理装置であり、クライアントはキャッシュメモリなどである。 If such a system is a data center, the client is an SSD as an example. If the system is an SSD, the client is NAND flash as an example and the server is the controller. When the system is a controller, the server is an arithmetic processing unit, and the client is a cache memory or the like.
図6は、システムに組み込む前のクライアント(N-1)、クライアント(N)、およびクライアント(N+1)である。それぞれ物理アドレス(N-1)、物理アドレス(N)、および物理アドレス(N+1)が割り当てられている。ただし、Nは2以上の自然数とする。 FIG. 6 shows the client (N−1), the client (N), and the client (N + 1) before being incorporated into the system. A physical address (N-1), a physical address (N), and a physical address (N + 1) are respectively assigned. However, N is a natural number of 2 or more.
図7は、これらのクライアントをサーバーに認証登録する方法を示している。クライアントを始めてシステムに組み込むことを初期設定と言い、保守・管理などの都合で認証登録をやり直すことを再設定と言う。サーバーは、各クライアントに対応して入出力インターフェース(I/F)を割り当てる。各クライアントは、このI/Fを介して物理アドレス(N-1)、物理アドレス(N)、物理アドレス(N+1)をそれぞれサーバーに送信する。 FIG. 7 shows a method for authenticating and registering these clients in the server. Incorporating the client into the system for the first time is called initial setting, and resetting authentication registration for maintenance and management is called resetting. The server assigns an input / output interface (I / F) corresponding to each client. Each client transmits a physical address (N-1), a physical address (N), and a physical address (N + 1) to the server via the I / F.
サーバーは、各クライアントから受信した物理アドレス(N)を用い、適当な方法で秘密鍵(N)を生成する。サーバーは更に鍵生成装置を含み、前記鍵生成装置はエルガマル型暗号鍵生成方法に則って秘密鍵(N)から公開鍵(N)を生成する。ここで、秘密鍵(N)および公開鍵(N)は互いに一対の組みを成す。以下順を追って具体的に説明する。 The server uses the physical address (N) received from each client and generates a secret key (N) by an appropriate method. The server further includes a key generation device, and the key generation device generates a public key (N) from the secret key (N) in accordance with an El Gamal type encryption key generation method. Here, the secret key (N) and the public key (N) form a pair. A specific description will be given below in order.
N=2とし、物理アドレス(1)から秘密鍵(1)を生成する。続いて、鍵生成装置がこの秘密鍵(1)から公開鍵(1)を生成する。秘密鍵(1)および公開鍵(1)をクライアント(1)に渡す。こうして、クライアント(1)には(物理アドレス(1)、秘密鍵(1)、公開鍵(1))の組み合わせが形成される。一方、サーバーの中にもクライアント(1)に対応する(物理アドレス(1)、秘密鍵(1)、公開鍵(1))の組合わせが残る。この組み合わせ認証変数と呼び、サーバー内の台帳に登録する。この台帳はサーバー外に非公開とするので非公開台帳と呼ぶことができる。 N = 2, and the secret key (1) is generated from the physical address (1). Subsequently, the key generation device generates a public key (1) from the secret key (1). The private key (1) and the public key (1) are passed to the client (1). Thus, a combination of (physical address (1), secret key (1), public key (1)) is formed in the client (1). On the other hand, a combination of (physical address (1), secret key (1), public key (1)) corresponding to client (1) remains in the server. This combination authentication variable is called and registered in the ledger in the server. Since this ledger is kept private outside the server, it can be called a private ledger.
サーバーは更に合成装置を含む。この合成装置は、公開鍵(1)と物理アドレス(2)を合成し、その合成結果から秘密鍵(2)を生成する。続いて鍵生成装置は、この秘密鍵(2)をから公開鍵(2)を生成する。秘密鍵(2)および公開鍵(2)をクライアント(2)に渡す。こうして、クライアント(2)には(物理アドレス(2)、秘密鍵(2)、公開鍵(2))の組み合わせが形成される。一方、サーバーの中にもクライアント(2)に対応する認証変数(物理アドレス(2)、秘密鍵(2)、公開鍵(2))が残り、それをサーバー内の非公開台帳に登録する。 The server further includes a synthesizer. This synthesizing device synthesizes the public key (1) and the physical address (2), and generates a secret key (2) from the synthesis result. Subsequently, the key generation device generates a public key (2) from the secret key (2). The private key (2) and the public key (2) are passed to the client (2). Thus, a combination of (physical address (2), secret key (2), public key (2)) is formed in the client (2). On the other hand, the authentication variables (physical address (2), secret key (2), public key (2)) corresponding to the client (2) remain in the server and are registered in the private ledger in the server.
以後Nを更新しながらこの作業を繰り返す。すなわち、前記合成装置が物理アドレス(N)と公開鍵(N-1)を合成し、その合成結果から秘密鍵(N)を生成する。続いて、前記鍵生成装置がこの秘密鍵(N)から公開鍵(N)を生成する。秘密鍵(N)および公開鍵(N)をクライアント(N)に渡す。こうして、クライアント(N)には(物理アドレス(N)、秘密鍵(N)、公開鍵(N))の組み合わせが形成される。一方、サーバーの中にもクライアント(N)に対応する認証変数(物理アドレス(N)、秘密鍵(N)、公開鍵(N))が残り、それをサーバー内の非公開台帳に登録する。 Thereafter, this operation is repeated while updating N. That is, the synthesizing device synthesizes the physical address (N) and the public key (N-1), and generates a secret key (N) from the synthesis result. Subsequently, the key generation device generates a public key (N) from the secret key (N). Pass the private key (N) and public key (N) to the client (N). Thus, a combination of (physical address (N), secret key (N), public key (N)) is formed in the client (N). On the other hand, the authentication variables (physical address (N), secret key (N), and public key (N)) corresponding to the client (N) remain in the server and are registered in the private ledger in the server.
続いて前記合成装置が秘密鍵を生成する具体的な方法を説明する。一例として、まず適当な方法で大きな素数pを用意する。次に、物理アドレス(N)と公開鍵(N-1)を合成したものをハッシュ化し、その合成結果をp-1で割り、その余りを秘密鍵(N)とする。ここで、物理アドレスのハッシュ化は書式を整える役割も含む。物理アドレスが既に秘密鍵を生成するのに適した形式に整えられているのであれば省略することも可能である。また、N=1の場合、公開鍵(0)は存在しないのでダミーである。したがって、予めサーバー側で初期入力として用意しておく必要がある。この初期入力を公開鍵(0)の代わりに用いれば良い。 Next, a specific method for generating a secret key by the synthesizing apparatus will be described. As an example, first, a large prime number p is prepared by an appropriate method. Next, a combination of the physical address (N) and the public key (N-1) is hashed, the result of the synthesis is divided by p-1, and the remainder is used as the secret key (N). Here, the hashing of the physical address includes the role of adjusting the format. If the physical address is already in a format suitable for generating a secret key, it can be omitted. If N = 1, the public key (0) does not exist and is a dummy. Therefore, it is necessary to prepare the initial input on the server side in advance. This initial input may be used instead of the public key (0).
前記合成装置が物理アドレスと公開鍵を合成する方法は各種多様である。たとえば、足し算、引き算、掛け算、割り算、これら算術演算の組み合わせ、論理演算、その他可能な限りのあらゆるビット演算を活用することが可能である。 There are various methods by which the combining device combines the physical address and the public key. For example, addition, subtraction, multiplication, division, a combination of these arithmetic operations, a logical operation, and any other bit operation as much as possible can be used.
こうして、クライアント(N)には(物理アドレス(N)、秘密鍵(N)および公開鍵(N))の組が保管される。同時に、前記非公開台帳には(物理アドレス(N)、秘密鍵(N)、公開鍵(N))の組がN=1から順に登録される。この非公開台帳はサーバーで保管・管理し、安全性を高めるため外部に開示しない。 Thus, a set of (physical address (N), secret key (N), and public key (N)) is stored in the client (N). At the same time, a set of (physical address (N), secret key (N), public key (N)) is registered in order from N = 1 in the private ledger. This private ledger is stored and managed by the server, and is not disclosed to the outside in order to enhance safety.
図8は、初期設定・再設定した後のクライアントをハッシュ化によって連結し、論理ブロックを形成する方法を示している。この論理ブロックの生成方法は、ビットコインと同様である。すなわち、クライアント(N-1)の公開鍵(N-1)、ハッシュ値(N-2)および電子署名(N-2)の組み合わせがビットコインの財布(N-1)に対応するものであり、本願では論理ノード(N-1)である。この論理ノード(N-1)をハッシュ化し、ハッシュ値(N-1)を生成する。続いて、このハッシュ値(N-1)とクライアント(N)の公開鍵(N)をまとめて秘密鍵(N-1)で暗号化し、電子署名(N-1)を生成する。最後に、クライアント(N-1)は、ハッシュ値(N-1)と電子署名(N-1)を共にクライアント(N)に送付する。クライアント(N)では、公開鍵(N)、ハッシュ値(N-1)および電子署名(N-1)から論理ノード(N)が形成される。 FIG. 8 shows a method of forming logical blocks by connecting clients after initial setting and resetting by hashing. The logical block generation method is the same as that for bit coins. That is, the combination of the public key (N-1), hash value (N-2) and digital signature (N-2) of the client (N-1) corresponds to the bit coin purse (N-1). In this application, it is a logical node (N-1). This logical node (N-1) is hashed to generate a hash value (N-1). Subsequently, the hash value (N-1) and the public key (N) of the client (N) are collectively encrypted with the secret key (N-1) to generate an electronic signature (N-1). Finally, the client (N-1) sends both the hash value (N-1) and the electronic signature (N-1) to the client (N). In the client (N), a logical node (N) is formed from the public key (N), the hash value (N-1), and the electronic signature (N-1).
続いて、論理ノード(N)をハッシュ化し、ハッシュ値(N)を生成する。続いて、このハッシュ値(N)とクライアント(N+1)の公開鍵(N+1)をまとめて秘密鍵(N)で暗号化し、電子署名(N)を生成する。最後に、クライアント(N)はハッシュ値(N)と電子署名(N)を共にクライアント(N+1)に送付する。クライアント(N+1)では、公開鍵(N+1)、ハッシュ値(N)および電子署名(N)から論理ノード(N+1)が形成される。 Subsequently, the logical node (N) is hashed to generate a hash value (N). Subsequently, the hash value (N) and the public key (N + 1) of the client (N + 1) are collectively encrypted with the secret key (N) to generate an electronic signature (N). Finally, the client (N) sends both the hash value (N) and the electronic signature (N) to the client (N + 1). In the client (N + 1), a logical node (N + 1) is formed from the public key (N + 1), the hash value (N), and the electronic signature (N).
この作業を繰り返し、複数の論理ノードから構成される論理ブロックが形成される。上述のような方法でハッシュ値をクライアント間で転送して行く方法は、クライアント間でデータを転送する一つの方法である。暗号通貨であればそのデータとは貨幣価値のある何かであり、ビットコインの場合それは処理記録である。(実際にはハッシュ化されたハッシュ値である。)クライアントがSSDなどのストレージであれば、必ずしもこのデータに貨幣価値は必要ない。単純にハッシュ化されたデータがSSD間を転送されるのみである。それでもこのように論理ブロックを形成することが可能である。すなわち、データの内容に関わらず論理ブロックが形成可能である。 By repeating this operation, a logical block composed of a plurality of logical nodes is formed. The method of transferring a hash value between clients by the method as described above is one method of transferring data between clients. In the case of cryptocurrency, the data is something with a monetary value, and in the case of bitcoin, it is a processing record. (It is actually a hashed hash value.) If the client is a storage such as SSD, this data does not necessarily need a monetary value. Simply hashed data is only transferred between SSDs. Nevertheless, it is possible to form a logical block in this way. That is, a logical block can be formed regardless of the contents of data.
前記論理ブロックを含むクライアントがハードウェアである場合、上述したようにハードウェアの機械的故障に対処する方法が必要である。すなわち、故障したハードウェアを新しいハードウェアに取り換えなければならない。 When the client including the logical block is hardware, a method for dealing with hardware mechanical failure is required as described above. That is, the failed hardware must be replaced with new hardware.
図9のように、クライアント(N)のハードウェアが故障した場合を考えよう。このとき、故障したハードウェアには物理アドレス(N)が添付されており、これと交換する新しいハードウェアには物理アドレス(N’)が添付されている。サーバーに保管されている非公開台帳には(物理アドレス(N)、秘密鍵(N)、公開鍵(N))が記録されている。これをクライアント(N)に対応する認証変数とする。故障したクライアント(N)とサーバーを結んでいたI/Fを介して物理アドレス(N’)がサーバーに入力される。サーバーは、非公開台帳を編集し、前記認証変数を(物理アドレス(N’)、秘密鍵(N)、公開鍵(N))に修正する。あるいは(物理アドレス(N’)、秘密鍵(N)、公開鍵(N);物理アドレス(N))と記録しなおし、クライアント(N)がハードウェアを交換した履歴まで残すことも可能である。ここで、秘密鍵(N)と公開鍵(N)を修正する必要はない。 Consider the case where the hardware of the client (N) fails as shown in FIG. At this time, the physical address (N) is attached to the failed hardware, and the physical address (N ′) is attached to the new hardware to be replaced with the failed hardware. The private ledger stored in the server records (physical address (N), private key (N), public key (N)). This is an authentication variable corresponding to the client (N). The physical address (N ′) is input to the server via the I / F connecting the failed client (N) and the server. The server edits the private ledger and modifies the authentication variables to (physical address (N ′), secret key (N), public key (N)). Alternatively, it is possible to re-record as (physical address (N '), secret key (N), public key (N); physical address (N)), and to leave a history of hardware (N) exchanged hardware. . Here, there is no need to modify the private key (N) and the public key (N).
図10は、故障したハードウェアを置き換えた後の様子を示す図である。図8と見比べると、論理ノードは全く同じであることが判る。すなわち、論理ノードが改ざんがされなくて済む。こうして、本実施形態に関するサーバーを利用することによって、論理ブロックを改ざんすることなく故障したハードウェアを交換することが可能となる。 FIG. 10 is a diagram illustrating a state after the failed hardware is replaced. Compared with FIG. 8, it can be seen that the logical nodes are exactly the same. That is, the logical node does not have to be tampered with. Thus, by using the server relating to the present embodiment, it is possible to replace the failed hardware without falsifying the logical block.
ハードウェアが故障する以前に、図8の論理ノードの集まりとそのデータ転送履歴が論理ブロックとして公開されているとしよう。この論理ブロック、あるいはこの論理ブロックを内包するより広範な論理ブロックを掘り当てたマイナーが、公開台帳(たとえばブロックチェーン)に記帳する。その後ハードウェアが故障し、図9の方法でハードウェアを交換する。しかしながら、図10のように、本実施形態ではハードウェアを交換したクライアントの論理ノードに変化はない。したがって、論理ブロックが改ざんされることはなく、ブロックチェーンの連結条件を壊す心配がない。 Assume that before the hardware breaks down, the collection of logical nodes and their data transfer history shown in FIG. 8 are disclosed as logical blocks. A minor who digs up this logical block or a wider range of logical blocks that contain this logical block records it in a public ledger (for example, a block chain). Thereafter, the hardware breaks down, and the hardware is replaced by the method shown in FIG. However, as shown in FIG. 10, in this embodiment, there is no change in the logical node of the client whose hardware has been replaced. Therefore, the logical block is not falsified, and there is no fear of breaking the block chain connection condition.
         
こうして本実施形態に関する非公開台帳を利用すれば、ブロックチェーンの連結条件を破壊することなく故障したハードウェアを交換することが可能となる。外部のブロックチェーンの利用に追加コストは発生しないので、前記サーバーと前記複数のクライアントからなるイントラネットを外部のハッキングから低コストで守ることができる。
 
(第二の実施形態)
In this way, by using the private ledger relating to the present embodiment, it becomes possible to replace the failed hardware without destroying the block chain connection condition. Since there is no additional cost for using an external block chain, the intranet composed of the server and the plurality of clients can be protected from external hacking at low cost. 
 
 (Second embodiment)
      
クライアントの間でデータをやり取りするごとに論理ノードの一部を構成するハッシュ値が変化する。したがって論理ブロックも変化する。時間軸を縦軸に取り、この変化を適当な時間間隔で区切ってタイムスタンプを添付すると、図11のように下から上に変化する論理ブロックを積み上げることが可能である。最新のものが論理ブロック(M)であり、一つ前に承認されたものが論理ブロック(M-1)である。更にその一つ前が論理ブロック(M-2)である。ただし、本実施形態では、このタイムスタンプを発行するのは論理ブロックを構成するクライアントが接続するサーバーである。タイムスタンプは、本実施形態に関するサーバーを使ったクライアントの保守管理の都合で定められた所定の時間間隔ごとに発行される。 Each time data is exchanged between clients, the hash value that forms part of the logical node changes. Therefore, the logic block also changes. If the time axis is taken on the vertical axis, this change is divided at an appropriate time interval, and a time stamp is attached, it is possible to stack logical blocks that change from bottom to top as shown in FIG. The latest one is the logical block (M), and the last one approved is the logical block (M-1). The previous block is a logical block (M-2). However, in the present embodiment, this time stamp is issued to a server to which a client constituting a logical block is connected. The time stamp is issued at predetermined time intervals determined for the convenience of client maintenance using the server according to the present embodiment.
サーバーがタイムスタンプを発行するということは、その時点でその論理ブロックが存在していたことを公開台帳(たとえばブロックチェーン)に代わってサーバーが承認するということである。一方、P2P型ネットワークを前提にしたブロックチェーンでは、この承認作業は任意のマイナーによって行われる。この点で本実施形態に関する論理ブロックの承認は従来のブロックチェーンを利用する方法とは根本的に異なる。すなわち、図11の縦に連続する論理ブロックの連鎖は通常のブロックチェーンとは異なる。 When the server issues a time stamp, it means that the server approves the logical block at that time on behalf of the public ledger (eg, blockchain). On the other hand, in the blockchain based on the P2P type network, this approval work is performed by an arbitrary minor. In this respect, the approval of the logical block according to the present embodiment is fundamentally different from the conventional method using the block chain. That is, the chain of logical blocks that are vertically continuous in FIG. 11 is different from a normal block chain.
図12は、本実施形態に関するサーバーによる承認作業の一例を示す図面である。論理ブロックの変遷とタイムスタンプが図中左から右に向かって並べてある。最新のものがタイムスタンプ(M)であり、一つずつ遡ってタイムスタンプ(M-1)、タイムスタンプ(M-2)…となる。同様に論理ブロック(M)、論理ブロック(M-1)、論理ブロック(M-2)…と遡ることができる。 FIG. 12 is a diagram illustrating an example of an approval operation by the server according to the present embodiment. The transition of logic blocks and time stamps are arranged from left to right in the figure. The latest one is the time stamp (M), going back one at a time (M-1), time stamp (M-2), and so on. Similarly, it can be traced back to logical block (M), logical block (M-1), logical block (M-2).
論理ブロック(M-2)にブロックハッシュ(M-3)および適当に選んだノンス値を併せ、ハッシュ化してブロックハッシュ(M-2)を生成する。論理ブロック(M-1)に前記ブロックハッシュ(M-2)および適当に選んだノンス値を併せ、ハッシュ化してブロックハッシュ(M-1)を生成する。次のブロックハッシュ(M)を生成するには前記ブロックハッシュ(M-1)に論理ブロック(M)および適当に選んだノンス値を併せ、ハッシュ化すれば良い。 The block hash (M-2) is generated by combining the logical block (M-2) with the block hash (M-3) and an appropriately selected nonce value and hashing them. The block hash (M-1) is generated by combining the block hash (M-2) and an appropriately selected nonce value with the logical block (M-1) and hashing it. In order to generate the next block hash (M), the block hash (M-1) may be hashed together with the logical block (M) and an appropriately selected nonce value.
ビットコインでは、ノンス値は一般に32ビットの任意の値である。このノンス値を含めて生成されたハッシュ値(ここではブロックハッシュ)は256ビットの値である。2の256乗は10の77乗より大きく、ブロックハッシュは膨大な自由度を持っていることが判る。前記ノンス値を適当に調整するとブロックハッシュの最初の数ビットをゼロにすることができる。一例として、新たに生成したブロックハッシュの最初の16ビットがすべてゼロになる確率は2の16乗分の1、すなわち65,536分の1である。偶然にはほとんど起こりえないことであり、このようなノンス値を掘り当てるには相応の仕事(ワーク)が必要である。また、ブロックハッシュの最初の16ビットをゼロにすることが既存の論理ブロックに新たな論理ブロックを接続するための接続条件である。最初にゼロにするビット数を16にしたのは、新たな論理ブロックが承認される頻度が全世界で10分に一回程度になるよう調整するためである。 In bitcoin, the nonce value is generally an arbitrary value of 32 bits. A hash value (block hash here) generated including the nonce value is a 256-bit value. 2 to the 256th power is larger than 10 to the 77th power, and it can be seen that the block hash has an enormous degree of freedom. By appropriately adjusting the nonce value, the first few bits of the block hash can be made zero. As an example, the probability that the first 16 bits of a newly generated block hash are all zero is 1/16, that is, 1 / 65,536. It is almost impossible to happen by chance, and in order to find such a nonce value, a corresponding work is required. The first 16 bits of the block hash are set to zero as a connection condition for connecting a new logical block to an existing logical block. The reason why the number of bits set to zero first is 16 is to adjust so that the frequency at which a new logical block is approved is once every 10 minutes worldwide.
16ビットの連結条件はサーバーによる管理を介さないP2P型ネットワークでのデータ転送の信頼性を維持するためであり、本願のようにサーバーを介してつながる特定のクライアント同士の間のデータ転送の信頼性を維持するためであれば、16ビットは十分すぎると考えられる。むしろこのビット数を少なくし、本実施形態に関するサーバーが新たな論理ブロックを承認するために要する平均時間を短くすることが必要な場合がある。 The 16-bit connection condition is for maintaining the reliability of data transfer in the P2P network without management by the server, and the reliability of data transfer between specific clients connected via the server as in the present application. 16 bits is considered to be sufficient to maintain the above. Rather, it may be necessary to reduce the number of bits and shorten the average time required for the server for this embodiment to approve a new logical block.
このような状況を鑑み、本願での論理ブロック接続条件は、ブロックハッシュの最初のLビットを全てゼロにすることである。ただし、Lは16より小さい自然数とする。本願に関わるノンス値はこの接続条件を満たすよう調整される。 In view of such a situation, the logical block connection condition in the present application is to set all the first L bits of the block hash to zero. However, L is a natural number smaller than 16. The nonce value relating to the present application is adjusted to satisfy this connection condition.
こうしてノンス値を調整し、新たな論理ブロックを承認し、図12のようにタイムスタンプを発行することができる。この作業は本願に関するサーバーで行うことが好ましい。 Thus, the nonce value can be adjusted, a new logical block can be approved, and a time stamp can be issued as shown in FIG. This operation is preferably performed by a server related to the present application.
このように、本願に関するブロックチェーンはビットコインなどに利用される従来のブロックチェーンとは異なる。本願では、新たな論理ブロックを承認するサーバーの保守管理さえ適切にしておけば外部から処理履歴の改ざんを防ぐことが可能となる。また、公開鍵と秘密鍵を一対一に対応させる公開暗号が破られない限り、図4で示すように論理アドレスと物理アドレスをリンクさせることができる。 Thus, the block chain related to the present application is different from the conventional block chain used for bit coins and the like. In the present application, if the maintenance management of a server that approves a new logical block is appropriate, it is possible to prevent alteration of the processing history from the outside. Also, as long as the public encryption that makes the public key and the private key correspond one-to-one is not broken, the logical address and the physical address can be linked as shown in FIG.
サーバーに保存される非公開台帳を適切に管理する限り、サーバー以外から物理アドレスを書き換えることは不可能である。こうして、(外部から書き換え不能の物理アドレス)を実現することができる。更に、故障したハードウェアを交換しても本願に関わるブロックチェーンを破壊しなくて済む。これは、論理ネットワーク内のみで稼働する従来のブロックチェーン(本願に関わる非公開台帳を採用しないブロックチェーン)にはない特徴である。 As long as the private ledger stored on the server is properly managed, it is impossible to rewrite the physical address from outside the server. In this way, (physical address that cannot be rewritten from the outside) can be realized. Further, even if the failed hardware is replaced, it is not necessary to destroy the block chain related to the present application. This is a feature that does not exist in the conventional block chain that operates only within the logical network (a block chain that does not employ a private ledger related to the present application).
例えば、データセンターで大量に稼動しているSSDなどのストレージは、互いに連携してビッグデータを扱うことが考えらえる。SSDは本願のクライアントの一例であり、SSD間のデータのやり取りの履歴はハッシュ化されて本願に関するブロックチェーンで改ざんできないよう管理される。この管理は、実質的には非公開台帳を保存するサーバーによる管理である。 For example, it is conceivable that storages such as SSDs operating in large quantities in data centers handle big data in cooperation with each other. The SSD is an example of the client of the present application, and the history of data exchange between the SSDs is hashed and managed so that it cannot be tampered with in the block chain related to the present application. This management is substantially management by a server that stores a private ledger.
         
論理ブロックの更新は、データーセンターの活動を制御するサーバーで行う。電子署名技術と本願に関するサーバーに保存される非公開台帳を利用することにより、一度サーバーによって初期設定されたSSDの物理アドレスを外部から改ざんできないようにですることができる。(外部から書き換え不能の物理アドレス)また、前記非公開台帳をサーバー内部で利用することによって、ブロックチェーンを破壊せずに故障したSSDを交換することが可能となる。
 
(第三の実施形態)
The logical block is updated on the server that controls the data center activities. By using the electronic signature technology and the private ledger stored in the server related to the present application, the physical address of the SSD once initialized by the server can be prevented from being tampered with from the outside. (Physical address that cannot be rewritten from the outside) Also, by using the private ledger inside the server, it is possible to replace a failed SSD without destroying the block chain. 
 
 (Third embodiment)
      
前記物理アドレスは、物理的実態を有する半導体チップ内のセルアレイから抽出した何らかの物理的乱雑さより生成できる。このようなチップを認証チップと呼ぶ。 The physical address can be generated from some physical randomness extracted from a cell array in a semiconductor chip having physical reality. Such a chip is called an authentication chip.
図13は、ワード線およびビット線からなるセルアレイの一例である。ワード線およびビット線が交差したところに認証素子が配置している。この例では、行数(ワード線数)はNであり、列数(ビット線数)はMである。ただし、行と列はいつでも入れ替え可能である。 FIG. 13 shows an example of a cell array composed of word lines and bit lines. An authentication element is arranged where the word line and the bit line intersect. In this example, the number of rows (number of word lines) is N, and the number of columns (number of bit lines) is M. However, rows and columns can be interchanged at any time.
一例として、認証素子はそれぞれ少なくとも二つの端子(第一の端子および第二の端子)を持ち、ワード線およびビット線の一方が前記第一の端子に接続し、他方が前記第二の端子に接続する。あるいは別の一例として、図14のように、ワード線を第一の制御ゲートに接続し、ビット線を第二の制御ゲートに接続する。あるいは、図15のように、ビット線を第一の制御ゲートに接続し、ワード線を第二の制御ゲートに接続する。いずれにしろ、こうして第一の端子と認証素子との間のアクセスを制御することができる。第二の端子は、必要に応じてソース線、基板電極、あるいは、グランドに落とす。 As an example, each authentication element has at least two terminals (a first terminal and a second terminal), one of a word line and a bit line is connected to the first terminal, and the other is connected to the second terminal. Connecting. Alternatively, as another example, as shown in FIG. 14, the word line is connected to the first control gate and the bit line is connected to the second control gate. Alternatively, as shown in FIG. 15, the bit line is connected to the first control gate, and the word line is connected to the second control gate. In any case, access between the first terminal and the authentication element can be controlled in this way. The second terminal is dropped to the source line, the substrate electrode, or the ground as necessary.
一例として認証素子は抵抗体(あるいは導電体)である。あるいは、キャパシタある。あるいはPN接合である。あるいはショットキー接合である。あるいはトランジスタある。あるいはトランジスタおよびキャパシタからなるDRAMセルである。あるいはトランジスタおよび可変抵抗からなる可変抵抗メモリセルである。あるいはトランジスタおよび磁気抵抗からなる磁気抵抗メモリセル(MRAM)である。あるいはスピントルク型MRAM(STT-MRAM)である。あるいは電荷蓄積層付き不揮発性メモリセルである。電荷蓄積層は電荷トラッピング層でも浮遊ゲートでもどちらでも良い。 As an example, the authentication element is a resistor (or a conductor). Alternatively, there is a capacitor. Or it is a PN junction. Or it is a Schottky junction. Or there is a transistor. Alternatively, it is a DRAM cell composed of a transistor and a capacitor. Or it is a variable resistance memory cell which consists of a transistor and a variable resistance. Or it is a magnetoresistive memory cell (MRAM) which consists of a transistor and a magnetoresistive. Or it is a spin torque type MRAM (STT-MRAM). Or it is a non-volatile memory cell with a charge storage layer. The charge storage layer may be either a charge trapping layer or a floating gate.
あるいは、図16のように意図的にビット線端子を排除したNAND型配列上に配置した電荷蓄積層付き不揮発性メモリセルである。あるいは、図17のように意図的にビット線端子を排除したNAND型配列上に配置したトランジスタである。ただし、ビット線方向に直列する認証素子の集団の両端の一方にはビット線端子が接続し、他方にはソース線端子が接続する。このようにビット線端子を取り除いても、ビット線とワード線が交差するところの認証素子は、通常のNAND型の読み出し方法によって読み出すことが可能である。より具体的には、読み出す認証素子(選択セル)が含まれるビット線(選択ビット線)に連なる他のすべての認証素子のワード線(非選択ワード線)に転送電圧を印加し、選択セル以外すべてスイッチオン状態にする。その上で選択セルのワード線(選択ワード線)には転送電圧より低い電圧(読み出しゲート電圧)を印加すればよい。このとき、ビット線端子とソース線端子の間に適度な電圧(読み出しドレイン電圧)を印加してその間を流れる電流を測定すれば良い。 Alternatively, it is a nonvolatile memory cell with a charge storage layer arranged on a NAND type array in which the bit line terminals are intentionally excluded as shown in FIG. Alternatively, as shown in FIG. 17, the transistors are arranged on a NAND type array in which the bit line terminals are intentionally excluded. However, a bit line terminal is connected to one end of a group of authentication elements in series in the bit line direction, and a source line terminal is connected to the other end. Thus, even if the bit line terminal is removed, the authentication element where the bit line and the word line intersect can be read by a normal NAND type reading method. More specifically, a transfer voltage is applied to the word lines (non-selected word lines) of all other authentication elements connected to the bit line (selected bit line) including the authentication element (selected cell) to be read, and other than the selected cell. Turn all switches on. Then, a voltage (read gate voltage) lower than the transfer voltage may be applied to the word line (selected word line) of the selected cell. At this time, an appropriate voltage (read drain voltage) may be applied between the bit line terminal and the source line terminal, and the current flowing between them may be measured.
ここで、前記セルアレイ上の複数の認証素子の一部が何らかの原因で破壊され、破壊ビットとなっている、あるいは、何らかの原因で規定の特性を示さない不良ビットになっている、としよう。このような破壊ビットあるいは不良ビットのセルアレイ内での分布は、半導体チップに固有で物理的にランダムであると考えられる。また、破壊ビットは、何らかのストレスを半導体チップに意図的に印可することで確率的に発生し、セルアレイ上にランダムに分布する。不良ビットは、半導体チップ製造段階の制御不能の何らかのばらつきによって確率的に発生し、セルアレイ上にランダムに分布する。いずれにしろ、発生メカニズムはどのようなアルゴリズムとも関係しないので、物理的にランダムである。 Here, it is assumed that a part of the plurality of authentication elements on the cell array is destroyed for some reason and becomes a broken bit, or a defective bit that does not exhibit a specified characteristic for some reason. The distribution of such broken bits or defective bits in the cell array is considered to be unique to the semiconductor chip and physically random. Destructive bits are generated probabilistically by intentionally applying some stress to the semiconductor chip, and are randomly distributed on the cell array. The defective bits are generated stochastically due to some uncontrollable variation in the semiconductor chip manufacturing stage, and are randomly distributed on the cell array. In any case, the generation mechanism is not related to any algorithm, so it is physically random.
以下その方法の一例を具体的に説明する。 An example of the method will be specifically described below.
まずワード線デコーダを使ってワード線を選択し、ビット線デコーダを使ってビット線を選択し、それぞれ選択されたワード線(選択ワード線)とビット線(選択ビット線)で選択された認証素子を選択セルとする。 First, a word line is selected using a word line decoder, a bit line is selected using a bit line decoder, and an authentication element selected by each selected word line (selected word line) and bit line (selected bit line). Is the selected cell.
ここで、認証素子は大きく分けて2種類ある。第一の種類は、破壊されると読み出し電圧を印加した際電流を流しやすく、破壊されていないと電流を流しにくい。主な例は、キャパシタ、PN接合、ショットキー接合などである。破壊されているからどうかを判定するには、破壊判定電圧を印加したときの電流の絶対値が破壊判定電流値より高いか非破壊判定電流値より低いかを調べれば良い。ただし、破壊判定電流値は非破壊判定電流値より高い。 Here, there are two types of authentication elements. The first type is easy to flow current when a read voltage is applied when it is broken, and it is difficult to flow current when it is not broken. Major examples are capacitors, PN junctions, and Schottky junctions. In order to determine whether or not it has been destroyed, it is only necessary to check whether the absolute value of the current when the breakdown determination voltage is applied is higher than the breakdown determination current value or lower than the non-destructive determination current value. However, the destruction determination current value is higher than the non-destruction determination current value.
第二の種類は、破壊されると読み出し電圧を印加した際電流を流しにくく、破壊されていないと電流を流しやすい。主な例は抵抗体(あるいは導電体)である。破壊されているかどうかを判定するには、破壊判定電圧を印加したときの電流の絶対値が非破壊判定電流値より高いか破壊判定電流値より低いかを調べれば良い。ただし、破壊判定電流値は非破壊判定電流値より低い。 The second type is less likely to pass current when a read voltage is applied when it is destroyed, and more likely to pass current if it is not destroyed. The main example is a resistor (or conductor). In order to determine whether or not it has been destroyed, it is only necessary to check whether the absolute value of the current when the destruction determination voltage is applied is higher than the nondestructive determination current value or lower than the breakdown determination current value. However, the destruction determination current value is lower than the nondestructive determination current value.
セルアレイ上の認証素子の集団から複数のセルを選択して読み出すと、一般に複数の破壊ビットが見つかる。あるいは、規定の特性を示さない不良ビットが見つかる。破壊ビットあるいは不良ビットのセルアレイ上の位置情報は、ワード線番号およびビット線番号からなる配列である。これら複数の破壊ビットあるいは不良ビットの位置情報を並べてコード表示すれば、破壊ビットあるいは不良ビットの分布に応じた認証コードが得られる。破壊ビットあるいは不良ビットの発生が物理的にランダムである限り、この認証コードは半導体チップに固有で物理的にランダムであると期待される。この認証コードの書式を適当に成形し、本願に使用される物理アドレスとする。 When a plurality of cells are selected and read from a group of authentication elements on the cell array, a plurality of destruction bits are generally found. Alternatively, a defective bit is found that does not exhibit the specified characteristics. The position information on the cell array of the destruction bit or the defective bit is an array composed of a word line number and a bit line number. If the position information of the plurality of broken bits or defective bits is arranged and displayed as a code, an authentication code corresponding to the distribution of the broken bits or defective bits can be obtained. As long as the occurrence of the destruction bit or defective bit is physically random, this authentication code is expected to be unique to the semiconductor chip and physically random. The format of the authentication code is appropriately formed to be a physical address used in the present application.
破壊ビットあるいは不良ビットの数をQとし、選択セルの数をRとする。ただし、QはRより小さな数である。このとき認証コードの場合の数はRからQを選ぶ場合の数に等しい。すなわち、Rが十分大きく破壊ビットあるいは不良ビットの存在確率が無視できるほど小さくなければ、認証コードの場合の数は非常にに大きな数になる。 Let Q be the number of broken bits or defective bits, and R be the number of selected cells. However, Q is a number smaller than R. At this time, the number of authentication codes is equal to the number when Q is selected from R. That is, if R is sufficiently large and the probability of existence of a broken bit or defective bit is not small enough to be ignored, the number of authentication codes is very large.
Qを1ギガ(10億)とし、Rを1キロ(1000)とすると、認証コードの場合の数はおよび10の6432乗に2.5を掛けた程度になる。すなわち、トリリオンノードに必要な1兆個(10の12乗)の半導体チップを生産したとき偶然に二つの半導体チップチップの認証コードが同じになる確率が4E-6421になることを意味している。半導体チップを100兆個供給したとしても偶然に二つの半導体チップの認証コードが同じになる確率は4E-6419になる。これは現実的にほぼゼロである。 If Q is 1 gigabyte (1 billion) and R is 1 kilometer (1000), the number in the case of an authentication code is approximately 10 times 6432 times 2.5. That is, when 1 trillion (10 12) semiconductor chips necessary for the trilion node are produced, the probability that the authentication codes of the two semiconductor chip chips will coincide is 4E-6421. . Even if 100 trillion semiconductor chips are supplied, the probability that the authentication codes of the two semiconductor chips will coincide is 4E-6419. This is practically zero.
また、Qが1ギガでRが1キロというのは不良率100万分の1に相当する。すなわち、半導体チップがシックスシグマ(100万分の3.4以下)を達成するほど不良率が低いと仮定しても、偶然に二つの半導体チップの認証コードが同じになる確率はほぼゼロであると言える。 A Q of 1 G and an R of 1 km corresponds to a defective rate of 1 / 1,000,000. That is, even if it is assumed that the defect rate is so low that the semiconductor chip achieves six sigma (3.4 / 1,000,000 or less), the probability that the authentication codes of the two semiconductor chips will coincide is almost zero. I can say that.
また、シックスシグマ(100万分の3.4以下)に沿って考えると、1ギガビットのチップ製品において100万分の1以下に相当する1キロビットを他の目的に使用することは何ら問題にならない。したがって、1キロビットを認証素子用のセルアレイに割り当て、認証セル用のセルアレイに何らかのストレスを印加してほぼ半分を意図的に破壊することにする。このとき、認証コードの場合の数は10の299乗の2.7倍程度になる。すなわち、半導体チップを100兆個供給したとしても偶然に二つの半導体チップの認証コードが同じになる確率は3.7E-286になる。すなわち、現実的にほぼゼロである。 In addition, considering Six Sigma (3.4 / 1,000 or less), it is no problem to use 1 kilobit equivalent to 1 / 1,000,000 or less for other purposes in a 1-gigabit chip product. Therefore, 1 kilobit is allocated to the cell array for the authentication element, and some stress is applied to the cell array for the authentication cell so that almost half is intentionally destroyed. At this time, the number of authentication codes is about 2.7 times 10 to the 299th power. That is, even if 100 trillion semiconductor chips are supplied, the probability that the authentication codes of the two semiconductor chips will coincide is 3.7E-286. That is, it is practically almost zero.
前記ストレスは、電気的ストレス、光学的ストレス、機械的ストレス、電磁場的ストレスなど多種多様である。 The stress includes various types such as an electrical stress, an optical stress, a mechanical stress, and an electromagnetic field stress.
電気的ストレスの一例は、まず全セルアレイの中から認証コードを生成するために選ばれた一部の領域の認証セルを同時に選択し、全選択セルに高電圧パルスを印加する。各セルを読み出し、非破壊ビットの数が破壊ビットの数より少なかった場合非破壊ビットのみ選択して2回目の高電圧パルスを印加する。非破壊ビットの数が破壊ビットの数とほぼ同数になるまでこの作業を繰り返す。 As an example of electrical stress, first, authentication cells in a part of a region selected for generating an authentication code are simultaneously selected from all cell arrays, and a high voltage pulse is applied to all the selected cells. When each cell is read and the number of non-destructive bits is smaller than the number of destructive bits, only the non-destructive bits are selected and the second high voltage pulse is applied. This process is repeated until the number of non-destructive bits is approximately the same as the number of destructive bits.
光学的ストレスの一例は、アセンブリする前に認証素子用のセルアレイにX線や紫外線などを一定量照射する。照射量は、非破壊ビットと破壊ビットの数がほぼ同数になる程度に調整する。ただし、認証素子用のセルアレイの領域が非常狭い場合、それ以外の素子にも同様にストレスが印可される。全チップを認証素子用のセルアレイとするときに比較的有効な方法である。 As an example of optical stress, a certain amount of X-rays, ultraviolet rays, or the like is irradiated to the authentication element cell array before assembly. The amount of irradiation is adjusted so that the number of non-destructive bits and destructive bits is approximately the same. However, when the area of the cell array for authentication elements is very narrow, stress is similarly applied to other elements. This is a relatively effective method when the entire chip is used as a cell array for authentication elements.
機械的ストレスの一例は、認証チップを湾曲させたり、打撃を加えるたりすることである。ただし、認証素子用のセルアレイ以外にも同様にストレスが印可されるので、全チップを認証素子用のセルアレイとするときにのみ有効な方法である。 An example of mechanical stress is bending the authentication chip or applying a blow. However, stress is similarly applied to a cell array other than the authentication element cell array. Therefore, this method is effective only when all the chips are used as the authentication element cell array.
電磁場的ストレスの一例は、認証チップを強い電磁場に晒すことである。ただし、認証素子用のセルアレイ以外にも同様にストレスが印可されるので、全チップを認証素子用のセルアレイとするときにのみ有効な方法である。 An example of electromagnetic field stress is exposing the authentication chip to a strong electromagnetic field. However, stress is similarly applied to a cell array other than the authentication element cell array. Therefore, this method is effective only when all the chips are used as the authentication element cell array.
いずれにしろ、認証素子の破壊が確率的に発生する限り、認証コードは物理的にランダムに生成される。また、偶然に二つの半導体チップの認証コードが同じになる確率が現実的にほぼゼロである限り、認証コードは半導体チップに固有の物理アドレスとして十分通用する。 In any case, as long as destruction of the authentication element occurs stochastically, the authentication code is physically generated randomly. Further, as long as the probability that the authentication codes of the two semiconductor chips are coincidentally coincidentally is practically zero, the authentication code is sufficiently used as a physical address unique to the semiconductor chip.
         
このように、本実施形態の物理アドレスは、セルアレイ内での破壊ビットの分布から生成することが可能である。あるいは、本実施形態の物理アドレスは、セルアレイ内での不良ビットの分布から生成することが可能である。あるいは、本実施形態の物理アドレスは、セルアレイ内での破壊ビットおよび不良ビットの分布から生成することが可能である。
 
(第四の実施形態)
As described above, the physical address of the present embodiment can be generated from the distribution of the destruction bits in the cell array. Alternatively, the physical address of the present embodiment can be generated from the distribution of defective bits in the cell array. Alternatively, the physical address of the present embodiment can be generated from the distribution of broken bits and defective bits in the cell array. 
 
 (Fourth embodiment)
      
一部のメモリチップ製品では、メモリセルの中に予め一定の割合以下で不良ビットが発生することを考慮に入れ、不良ビットが発生したビット線をビット線ごと入れ替えるための冗長ビット線を備えている。このような不良の発生原因は多種多様であり、半導体チップ(この例ではメモリチップ)の製造段階における製造ばらつきや部材の物理的な形成過程において自然発生するばらつきに依存する。一般に、これらのばらつきは制御不能である。冗長ビット線は通常メモリチップ製品のビット容量には含まれない。一例として図18参照。 Some memory chip products are provided with a redundant bit line for replacing the bit line in which the defective bit is generated in consideration of the fact that the defective bit is generated in the memory cell at a predetermined ratio or less in advance. Yes. The causes of such defects are various and depend on manufacturing variations in the manufacturing stage of the semiconductor chip (memory chip in this example) and naturally occurring variations in the physical formation process of the members. In general, these variations are uncontrollable. Redundant bit lines are usually not included in the bit capacity of memory chip products. See FIG. 18 as an example.
図18では、行方向に配列したビット線群を二つのグループに分ける。一方を複数の冗長ビット線からなる冗長ビット線群とし、他方を正規ビット線からなる正規ビット線群とする。正規ビット線群の行数をNとし、冗長ビット線群の行数をLとする。NもLも非負整数であり、NはLより大きい。メモリチップ製品のビット容量は、この正規ビット線群に含まれるセル数に相当する。 In FIG. 18, the bit line group arranged in the row direction is divided into two groups. One is a redundant bit line group consisting of a plurality of redundant bit lines, and the other is a normal bit line group consisting of normal bit lines. Let N be the number of rows in the normal bit line group and L be the number of rows in the redundant bit line group. N and L are non-negative integers, and N is larger than L. The bit capacity of the memory chip product corresponds to the number of cells included in this normal bit line group.
出荷前検査で正規ビット線群の中に一定の条件を満たす不良ビットが発生していることが判明すると、その不良ビットを含む正規ビット線を冗長ビット線群の中の一つの冗長ビット線に割り当てる。このような読み換え(図中読み換えA、読み替えB…)を、不良ビットを含む正規ビット線それぞれに対して行い、不良ビットを実質的に取り除くことが可能となる。 If it is found by inspection before shipment that a defective bit satisfying a certain condition is generated in the normal bit line group, the normal bit line including the defective bit is changed to one redundant bit line in the redundant bit line group. assign. Such replacement (reading replacement A, replacement B in the figure) is performed for each normal bit line including a defective bit, and the defective bit can be substantially removed.
より具体的には、出荷前検査で不良が見つかったビット線のビット線番号とそのビット線を読み換える冗長ビット線のビット線番号を周辺領域に混載している周辺メモリ(一例としてフューズメモリなど)に記録する。この周辺メモリは、メモリセルにアクセスする際参照される。本実施形態では、この周辺メモリに記録された情報をコード表示し、所定の書式に成形したものが物理アドレスの役割を果たす。 More specifically, a peripheral memory (for example, a fuse memory or the like) in which a bit line number of a bit line that has been found defective in a pre-shipment inspection and a bit line number of a redundant bit line that replaces the bit line are mixedly loaded in the peripheral area ). This peripheral memory is referred to when accessing the memory cell. In the present embodiment, information recorded in the peripheral memory is displayed as a code, and is formed into a predetermined format to play the role of a physical address.
このような条件を満たすメモリチップ製品の一例としてDRAMがあげられる。そのほかフラッシュメモリ、相変化メモリ、抵抗変化メモリ、磁気抵抗変化メモリ(MRAM)、スピントルク型MRAM等が考えられる。 An example of a memory chip product that satisfies such conditions is a DRAM. In addition, a flash memory, a phase change memory, a resistance change memory, a magnetoresistance change memory (MRAM), a spin torque type MRAM, and the like can be considered.
出荷前検査で発覚する不良ビットの数をmとすると、その場合の数はNの中からmを選ぶ組み合わせである。すなわち、C(N,m)である。それぞれをどの冗長ビット線に読み換えるかを考慮に入れると、場合の数は更にLの中からmを選んで並べる順列の数を掛け合わせなければならない。すなわち、C(N,m)P(L,m)である。つまり、過小評価しても場合の数はC(N,m)程度ある。 Assuming that the number of defective bits detected in the pre-shipment inspection is m, the number in that case is a combination of selecting m from N. That is, C (N, m). Taking into account which redundant bit line to replace each, the number of cases must be further multiplied by the number of permutations that are arranged from L. That is, C (N, m) P (L, m). In other words, the number of cases even when underestimated is about C (N, m).
典型的な4ギガビットDRAM製品の場合、たとえば、全ビット線数655万本に対して冗長ビット線数は15万3千本程度である。すなわち、何らかの事情によって正規ビット線群内のビット線に不良ビットが発生する行数は、最大15万3千程度まで量産DRAMとして許容できる。このとき冗長ビット線への再割り付けの場合の数は655万の内から15万3千を選ぶ組み合わせに等しい。計算すると約10の315、289乗(1E315、289)になる。すなわち、DRAMチップを100兆個供給したとしても偶然に二つのDRAMチップの認証コードが同じになる確率は1E-315、275になる。現実的にほぼゼロである。 In the case of a typical 4-gigabit DRAM product, for example, the number of redundant bit lines is about 153,000 with respect to the total number of bit lines of 6,550,000. In other words, the maximum number of rows in which defective bits are generated on the bit lines in the regular bit line group for some reason is acceptable as a mass production DRAM of up to about 153,000. At this time, the number in the case of reassignment to the redundant bit line is equal to the combination of selecting 153,000 out of 6,550,000. The calculation is about 10 to the power of 315, 289 (1E315, 289). That is, even if 100 trillion DRAM chips are supplied, the probability that the authentication codes of the two DRAM chips coincide by chance is 1E-315 and 275. It is practically almost zero.
なお、本実施形態では、ビット線とワード線を入れ替えることも可能である。すなわち、全ワード線数440万本に対して冗長ワード線数は3、044本程度である。全冗長ワード線を読み換えに使ったと仮定すると、その場合の数はおよそ2.9E10、938となる。前者の場合の数より大分少なくなるが、それでも恐ろしく大きな数である。すなわち、DRAMチップを100兆個供給したとしても偶然に二つの認証チップの認証コードが同じになる確率は1E-10、924になる。現実的にほぼゼロである。 In the present embodiment, the bit line and the word line can be interchanged. That is, the number of redundant word lines is about 3,044 with respect to the total number of word lines of 4.4 million. Assuming that all redundant word lines are used for replacement, the number in that case is approximately 2.9E10, 938. Although it is much less than the number in the former case, it is still a terribly large number. That is, even if 100 trillion DRAM chips are supplied, the probability that the authentication codes of the two authentication chips will coincide is 1E-10,924. It is practically almost zero.
こうして、非常に大きな情報エントロピーを有する認証コードを生成することが可能となる。ここで着目すべきことは、本実施形態では認証コードを生成するために1ビットも余計に割いていないことである。すなわち、冗長ビット線(あるいは冗長ワード線)は既にメモリチップ製品に搭載されているものであり、読み替え情報を記録する周辺メモリも同様である。その上偶然に二つの半導体チップの認証コードが同じになる確率が現実的にほぼゼロでるほど小さい。この認証コードは、本願の物理アドレスとして十分通用する。 In this way, an authentication code having a very large information entropy can be generated. What should be noted here is that in this embodiment, no extra bit is allocated to generate the authentication code. That is, the redundant bit line (or redundant word line) is already mounted on the memory chip product, and the same applies to the peripheral memory that records the replacement information. In addition, the probability that the authentication codes of the two semiconductor chips will coincide is small enough to be practically almost zero. This authentication code is sufficient as the physical address of the present application.
本願に関する物理アドレスは、ハードウェアに割り当てられたコード情報である。あるいは、ハードウェアを構成する部品の一部に割り当てられたコード情報である。あるいは、ハードウェアを構成する半導体チップに割り当てられるチップ認証である。前記チップ認証は、半導体チップに固有の物理的乱雑さに基づいて生成されることを特徴とする。前記半導体チップは複数の素子で構成され、前記複数の素子は、所定のストレスを印加することによって確率的に破壊され、前記破壊された素子の位置情報の集合(分布)が前記半導体チップに固有の物理的乱雑さとなることを特徴とする。あるいは、前記半導体チップを構成する複数の素子は、製造過程における制御不能のばらつきにより、確率的に不良ビットとなる。前記不良ビットの位置情報の集合(分布)が前記半導体チップに固有の物理的乱雑さとなることを特徴とする。前記所定のストレスは、電気的ストレス、力学的ストレス、電磁場的ストレス、光学的ストレス等であることを特徴とする。 The physical address related to the present application is code information assigned to hardware. Or it is the code information allocated to some of the components which comprise hardware. Or it is chip | tip authentication allocated to the semiconductor chip which comprises hardware. The chip authentication is generated based on a physical disorder unique to the semiconductor chip. The semiconductor chip is composed of a plurality of elements, and the plurality of elements are stochastically destroyed by applying a predetermined stress, and a set (distribution) of position information of the destroyed elements is unique to the semiconductor chip. It is characterized by a physical disorder. Alternatively, a plurality of elements constituting the semiconductor chip become probabilistic defective bits due to uncontrollable variations in the manufacturing process. A set (distribution) of position information of the defective bits is a physical disorder unique to the semiconductor chip. The predetermined stress is an electrical stress, a mechanical stress, an electromagnetic field stress, an optical stress, or the like.
本願に関する巧妙なネットワーク・ハードウェア・セキュリティ・システムを構築することにより、非公開台帳を使ってブロックチェーンを破壊せずに故障した物理ノードを交換するとが可能となる。このブロックチェーンは、(第一の実施形態)では外部の論理ネットワークから任意のマイナーによって記帳されるものを利用する。すなわち、従来のブロックチェーンと整合性のあるものであり、外部のネットワークを利用してデータセンターの保守管理を効率よく安全に行うことができるようになる。一方(第二の実施形態)では、非公開台帳を保管するサーバーが論理ブロックを記帳して独自のブロックチェーンを構成する。 By constructing a clever network hardware security system related to the present application, it becomes possible to replace a failed physical node without destroying the blockchain using a private ledger. In this (first embodiment), this block chain uses what is recorded by an arbitrary minor from an external logical network. In other words, it is consistent with the conventional block chain, and can maintain and manage the data center efficiently and safely using an external network. On the other hand (second embodiment), a server that stores a private ledger records logical blocks and configures a unique block chain.
本願によれば、過去の処理履歴の改ざんを不能にし、(外部から書き換え不能の物理アドレス)を実現し、なおかつ、故障したハードウェアを交換することが可能なネットワーク・ハードウェア・セキュリティ・システムを構築することが可能となる。 According to the present application, there is a network hardware security system that makes it impossible to tamper with past processing histories, realizes (physical addresses that cannot be rewritten from the outside), and can replace faulty hardware. It becomes possible to construct.
         
本願ではハッシュ化を頻繁に使っている。ハッシュ化にはハッシュ関数を用いればよい。ハッシュ関数は、MD2、MD4、MD5、RIPE-MD160、SHA-256、SHA-384、SHA-512など多数存在し、このうち一例としてビットコインではSHA-256が使用されている。
なお、本発明の技術範囲は上記実施の形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲において種々の変更を加えることが可能である。
 
In this application, hashing is frequently used. A hash function may be used for hashing. There are many hash functions such as MD2, MD4, MD5, RIPE-MD160, SHA-256, SHA-384, and SHA-512. Of these, SHA-256 is used in bitcoin as an example. 
 The technical scope of the present invention is not limited to the above embodiment, and various modifications can be made without departing from the spirit of the present invention. 
 
      
         
安全かつ利便性の高いIoTビジネスの基盤技術をより低いコストで提供することが可能となる
                                  
 
It will be possible to provide safe and convenient basic technology for IoT business at lower cost 
 
 
      
        
Claims (13)
前記サーバーは、各クライアントとデータのやり取りをする入出力インターフェースを有し、
前記複数のクライアントは、それぞれ固有の物理アドレスを有し、前記入出力インターフェースを通して前記物理アドレスを前記サーバーに送信し、
前記サーバーは、更に鍵生成装置および合成装置を含み、
前記鍵生成装置および前記合成装置は、前記物理アドレスから、それぞれのクライアントに対応する秘密鍵および公開鍵を生成し、
前記秘密鍵および前記公開鍵は、それぞれ対応する前記クライアントに渡される、
ことを特徴とするネットワーク。
In a network consisting of multiple clients and at least one server,
The server has an input / output interface for exchanging data with each client,
Each of the plurality of clients has a unique physical address, sends the physical address to the server through the input / output interface,
The server further includes a key generation device and a synthesis device,
The key generation device and the synthesis device generate a secret key and a public key corresponding to each client from the physical address,
The secret key and the public key are each passed to the corresponding client.
A network characterized by that.
前記複数のクライアントに対応する前記認証変数を集めて非公開台帳に記録する、
ことを特徴とする、
請求項1記載のネットワーク。
The server generates an authentication variable consisting of a combination of the physical address, the secret key, and the public key for each of the plurality of clients.
Collecting the authentication variables corresponding to the plurality of clients and recording them in a private ledger;
It is characterized by
The network according to claim 1.
請求項1記載のネットワーク。
The private ledger is stored in the server and is private to the outside of the server,
The network according to claim 1.
前記鍵生成装置は、前記第一のクライアントに対応する第一の秘密鍵から第一の公開鍵を生成し、
前記合成装置は、前記第一の公開鍵と、前記第二のクライアントに対応する第二の物理アドレスと、から前記第二のクライアントに対応する第二の秘密鍵を生成し、
前記鍵生成装置は、前記第二の秘密鍵から、前記第二のクライアントに対応する第二の公開鍵を生成し、
前記合成装置は、前記第二の公開鍵と、前記第三のクライアントに対応する第三の物理アドレスとから、前記第三のクライアントに対応する第三の秘密鍵を生成し、
前記鍵生成装置は、前記第三の秘密鍵から、第三の公開鍵を生成し、
前記第一の公開鍵と前記第一の秘密鍵は、互いに一対の組みを成し、
前記第二の公開鍵と前記第二の秘密鍵は、互いに一対の組みを成し、
前記第三の公開鍵と前記第三の秘密鍵は、互いに一対の組みを成す、
ことを特徴とする、
請求項1記載のネットワーク。
The plurality of clients include a first client, a second client, and a third client different from each other,
The key generation device generates a first public key from a first secret key corresponding to the first client;
The synthesizing device generates a second secret key corresponding to the second client from the first public key and a second physical address corresponding to the second client;
The key generation device generates a second public key corresponding to the second client from the second secret key,
The synthesizing device generates a third secret key corresponding to the third client from the second public key and a third physical address corresponding to the third client,
The key generation device generates a third public key from the third secret key;
The first public key and the first secret key form a pair with each other,
The second public key and the second secret key form a pair with each other,
The third public key and the third secret key form a pair with each other;
It is characterized by
The network according to claim 1.
ことを特徴とする、
請求項4記載のネットワーク。
The synthesizer divides a value obtained by synthesizing the first public key and the second physical address by a predetermined synthesis method by a value obtained by dividing a value obtained by subtracting 1 from a predetermined prime number, The second secret key
It is characterized by
The network according to claim 4.
前記第二の公開鍵、第二のハッシュ値、および第二の電子署名から、第二の論理ノードを形成し、
前記第三の公開鍵、第三のハッシュ値、および第三の電子署名から、第三の論理ノードを形成し、
前記第二のハッシュは、前記第一の論理ノードをハッシュ化して生成したものであり、
前記第三のハッシュは、前記第二の論理ノードをハッシュ化して生成したものであり、
前記第二の電子署名は、前記第二のハッシュ値と前記第二の公開鍵とを前記第一の秘密鍵で暗号化して生成したものであり、
前記第三の電子署名は、前記第三のハッシュ値と前記第三の公開鍵とを前記第二の秘密鍵で暗号化して生成したものである、
ことを特徴とする、
請求項4記載のネットワーク。
Forming a first logical node from the first public key, a first hash value, and a first electronic signature;
Forming a second logical node from the second public key, a second hash value, and a second electronic signature;
Forming a third logical node from the third public key, a third hash value, and a third electronic signature;
The second hash is generated by hashing the first logical node,
The third hash is generated by hashing the second logical node,
The second electronic signature is generated by encrypting the second hash value and the second public key with the first secret key,
The third electronic signature is generated by encrypting the third hash value and the third public key with the second secret key.
It is characterized by
The network according to claim 4.
前記第四の物理アドレスは、前記入出力インターフェースを通して、前記サーバーに送信され、
前記非公開台帳において、前記第二のクライアントに対応する前記認証変数が、前記第四の物理アドレス、前記第二の秘密鍵、および前記第二の公開鍵を含む組み合わせに置き換えられ、
前記第四のクライアントは、前記サーバーから前記第二の秘密鍵および前記第二の公開鍵を渡され、前記第一のクライアントから前記第二のハッシュ値および前記第二の電子署名を渡される、
ことを特徴とする、
請求項6記載のネットワーク。
The second client is replaced by a fourth client having a fourth physical address;
The fourth physical address is transmitted to the server through the input / output interface;
In the private ledger, the authentication variable corresponding to the second client is replaced with a combination including the fourth physical address, the second secret key, and the second public key,
The fourth client is passed the second secret key and the second public key from the server, and is passed the second hash value and the second electronic signature from the first client.
It is characterized by
The network according to claim 6.
前記第一の論理ノードは、前記第一のクライアントに対応し、
前記第二の論理ノードは、前記第二のクライアントに対応し、
前記第三の論理ノードは、前記第三のクライアントに対応し、
前記第一のクライアントから前記第二のクライアントにデータを転送することによって、前記第二のハッシュ値が更新され、前記論理ブロックが変化し、
前記サーバーは、所定の時間間隔で前記論理ブロックを承認し、その時点でのタイムスタンプを添付し、前記論理ブロックの変化の履歴の少なくとも一部を記録することを特徴とする、
請求項6記載のネットワーク。
The first logical node, the second logical node, and the third logical node form part or all of a logical block;
The first logical node corresponds to the first client;
The second logical node corresponds to the second client;
The third logical node corresponds to the third client;
By transferring data from the first client to the second client, the second hash value is updated, the logical block changes,
The server approves the logical block at a predetermined time interval, attaches a time stamp at that time, and records at least a part of the history of changes of the logical block,
The network according to claim 6.
請求項8記載のネットワーク。
A first logical block with a first time stamp attached at a certain point, a second logical block with a second stamp attached at a certain point before that, and a third stamp at a certain point before that. The attached third logic block is connected to form part or all of the block chain,
The network according to claim 8.
前記第二のタイムスタンプは、前記第二の論理ブロック、第二のブロックハッシュ、および第二のノンス値をまとめて承認した公開台帳の記録の少なくとも一部であり、
前記第三のタイムスタンプは、前記第三の論理ブロック、第三のブロックハッシュ、および第三のノンス値をまとめて承認した公開台帳の記録の少なくとも一部であり、
前記第一のブロックハッシュは、前記第二の論理ブロック、前記第二のブロックハッシュ、前記第二のノンス値を、まとめてハッシュ化して生成したものであり、
前記第二のブロックハッシュは、前記第三の論理ブロック、前記第三のブロックハッシュ、前記第三のノンス値を、まとめてハッシュ化して生成したものである、
ことを特徴とする、
請求項9記載のネットワーク。
The first time stamp is at least a part of a record of a public ledger that collectively approves the first logical block, a first block hash, and a first nonce value;
The second time stamp is at least part of a record of a public ledger that collectively approves the second logical block, a second block hash, and a second nonce value;
The third time stamp is at least part of a record of a public ledger that collectively approves the third logical block, a third block hash, and a third nonce value;
The first block hash is generated by hashing the second logical block, the second block hash, and the second nonce value together,
The second block hash is generated by hashing the third logical block, the third block hash, and the third nonce value together,
It is characterized by
The network according to claim 9.
前記複数のビットは、それぞれ、第一の値、あるいは、第二の値、のどちらかの値であり、
前記第二のノンス値は、前記第一のブロックハッシュの最初のQ桁のビットが第一の値になるように調整され、
前記第三のノンス値は、前記第二のブロックハッシュの最初のQ桁のビットが前記第一の値になるように調整され、
前記Qが16より小さい自然数である、
ことを特徴とする、
請求項10記載のネットワーク。
Each of the first block hash, the second block hash, and the third block hash is composed of a sequence of a plurality of bits each having a predetermined number of digits,
Each of the plurality of bits is a first value or a second value,
The second nonce value is adjusted such that the first Q digits of the first block hash are the first value;
The third nonce value is adjusted such that the first Q digits of the second block hash are the first value;
The Q is a natural number smaller than 16;
It is characterized by
The network according to claim 10.
前記複数のハードウェアは、それぞれ少なくとも一つの半導体チップを含み、
前記半導体チップは、少なくともセルアレイを含み、
前記セルアレイは、複数の認証素子で構成され、
前記複数の認証素子の一部は、前記半導体チップの製造段階における制御不能のばらつきにより、不良ビットとなり、
あるいは、前記複数の認証素子の一部は、前記半導体チップに意図的に印可したストレスにより、破壊ビットとなり、
前記不良ビット、あるいは、前記破壊ビットの、前記セルアレイ内での分布に応じて、前記物理アドレスを生成する、
ことを特徴とする、
請求項1記載のネットワーク。
Each of the plurality of clients includes a plurality of hardware,
Each of the plurality of hardware includes at least one semiconductor chip;
The semiconductor chip includes at least a cell array,
The cell array is composed of a plurality of authentication elements,
Some of the plurality of authentication elements become defective bits due to uncontrollable variations in the manufacturing stage of the semiconductor chip,
Alternatively, a part of the plurality of authentication elements becomes a destruction bit due to stress intentionally applied to the semiconductor chip,
The physical address is generated according to the distribution of the defective bit or the destructive bit in the cell array.
It is characterized by
The network according to claim 1.
ことを特徴とする、
請求項12記載のネットワーク。
The stress is electrical stress, optical stress, mechanical stress, or electromagnetic field stress.
It is characterized by
The network according to claim 12.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title | 
|---|---|---|---|
| JP2019507724A JPWO2018174112A1 (en) | 2017-03-21 | 2018-03-21 | Device authentication technology on the network | 
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title | 
|---|---|---|---|
| JP2017054728 | 2017-03-21 | ||
| JP2017-054728 | 2017-03-21 | 
Publications (2)
| Publication Number | Publication Date | 
|---|---|
| WO2018174112A1 true WO2018174112A1 (en) | 2018-09-27 | 
| WO2018174112A4 WO2018174112A4 (en) | 2018-11-29 | 
Family
ID=63584558
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date | 
|---|---|---|---|
| PCT/JP2018/011231 Ceased WO2018174112A1 (en) | 2017-03-21 | 2018-03-21 | Technology for authenticating device on network | 
Country Status (2)
| Country | Link | 
|---|---|
| JP (1) | JPWO2018174112A1 (en) | 
| WO (1) | WO2018174112A1 (en) | 
Cited By (6)
| Publication number | Priority date | Publication date | Assignee | Title | 
|---|---|---|---|---|
| JP2020512716A (en) * | 2018-12-19 | 2020-04-23 | アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited | Data separation within blockchain networks | 
| WO2021010030A1 (en) * | 2019-07-12 | 2021-01-21 | シスナ株式会社 | System for managing assets | 
| JP2021016143A (en) * | 2019-08-26 | 2021-02-12 | シスナ株式会社 | System for managing assets | 
| WO2021241590A1 (en) * | 2020-05-26 | 2021-12-02 | 渡辺浩志 | Electronic device network and electronic device | 
| JP2021190980A (en) * | 2020-05-26 | 2021-12-13 | 浩志 渡辺 | Electronic device network and electronic device | 
| US11665159B2 (en) | 2020-04-22 | 2023-05-30 | Kyndryl, Inc. | Secure resource access by amalgamated identities and distributed ledger | 
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title | 
|---|---|---|---|---|
| JP2002537646A (en) * | 1999-02-17 | 2002-11-05 | アイシーアイディー リミテッド ライアビリティー カンパニー | System for providing a unique identifier for an integrated circuit | 
| WO2005064844A1 (en) * | 2003-12-26 | 2005-07-14 | Matsushita Electric Industrial Co.,Ltd. | Prime calculation device, method, and key issuing system | 
| WO2016164310A1 (en) * | 2015-04-05 | 2016-10-13 | Digital Asset Holdings | Digital asset intermediary electronic settlement platform | 
- 
        2018
        
- 2018-03-21 WO PCT/JP2018/011231 patent/WO2018174112A1/en not_active Ceased
 - 2018-03-21 JP JP2019507724A patent/JPWO2018174112A1/en active Pending
 
 
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title | 
|---|---|---|---|---|
| JP2002537646A (en) * | 1999-02-17 | 2002-11-05 | アイシーアイディー リミテッド ライアビリティー カンパニー | System for providing a unique identifier for an integrated circuit | 
| WO2005064844A1 (en) * | 2003-12-26 | 2005-07-14 | Matsushita Electric Industrial Co.,Ltd. | Prime calculation device, method, and key issuing system | 
| WO2016164310A1 (en) * | 2015-04-05 | 2016-10-13 | Digital Asset Holdings | Digital asset intermediary electronic settlement platform | 
Non-Patent Citations (2)
| Title | 
|---|
| FUCHITA, YASUYUKI ET AL.: "Innovation and improvement of financial blockchain and financial transaction", NOMURA CAPITAL MARKETS QUARTERLY, vol. 19, no. 2, 1 November 2015 (2015-11-01), pages 11 - 35, XP009507516 * | 
| SHIBATA, YOICHI ET AL.: "Mechanism- based PKI", COMPUTER SECURITY SYMPOSIUM 2013, vol. 2003, no. 15, 29 October 2003 (2003-10-29), pages 181 - 186, XP002987575 * | 
Cited By (13)
| Publication number | Priority date | Publication date | Assignee | Title | 
|---|---|---|---|---|
| JP2020512716A (en) * | 2018-12-19 | 2020-04-23 | アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited | Data separation within blockchain networks | 
| US11074358B2 (en) | 2018-12-19 | 2021-07-27 | Advanced New Technologies Co., Ltd. | Data isolation in a blockchain network | 
| US11106817B2 (en) | 2018-12-19 | 2021-08-31 | Advanced New Technologies Co., Ltd. | Data isolation in a blockchain network | 
| JP7344543B2 (en) | 2019-07-12 | 2023-09-14 | シスナ株式会社 | Valuables management system | 
| WO2021010030A1 (en) * | 2019-07-12 | 2021-01-21 | シスナ株式会社 | System for managing assets | 
| JP2021016095A (en) * | 2019-07-12 | 2021-02-12 | シスナ株式会社 | System for managing assets | 
| JP2021016143A (en) * | 2019-08-26 | 2021-02-12 | シスナ株式会社 | System for managing assets | 
| US11665159B2 (en) | 2020-04-22 | 2023-05-30 | Kyndryl, Inc. | Secure resource access by amalgamated identities and distributed ledger | 
| US12225006B2 (en) | 2020-04-22 | 2025-02-11 | Kyndryl, Inc. | Secure resource access by amalgamated identities and distributed ledger | 
| JP2021190980A (en) * | 2020-05-26 | 2021-12-13 | 浩志 渡辺 | Electronic device network and electronic device | 
| WO2021241590A1 (en) * | 2020-05-26 | 2021-12-02 | 渡辺浩志 | Electronic device network and electronic device | 
| US12328301B2 (en) | 2020-05-26 | 2025-06-10 | Yukiko Watanabe | Electronic apparatus and network of electronic apparatus | 
| JP7692555B2 (en) | 2020-05-26 | 2025-06-16 | 浩志 渡辺 | Network of electronic devices and electronic devices | 
Also Published As
| Publication number | Publication date | 
|---|---|
| JPWO2018174112A1 (en) | 2020-05-14 | 
| WO2018174112A4 (en) | 2018-11-29 | 
Similar Documents
| Publication | Publication Date | Title | 
|---|---|---|
| CN108632028B (en) | Authentication network | |
| CN107819583B (en) | Anti-abuse technology of keys | |
| JP6592621B2 (en) | Authentication network | |
| US11818269B2 (en) | Computer-implemented system and method providing a decentralised protocol for the recovery of cryptographic assets | |
| WO2018174112A1 (en) | Technology for authenticating device on network | |
| CN116670673A (en) | Transferring cryptocurrency from a remote limited access wallet | |
| CN101355422B (en) | Novel authentication mechanism for encrypting vector | |
| JP2020522205A (en) | Progressive key encryption algorithm | |
| CA2452419A1 (en) | Method for an integrated protection system of data distributed processing in computer networks and system for carrying out said method | |
| CN107276754A (en) | A kind of method and device that private key is largely generated based on block chain | |
| CN101488856A (en) | System and method for digital signatures and authentication | |
| US20220224532A1 (en) | Systems and Methods for Hiding Private Cryptographic Keys in Multimedia Files | |
| KR20200118303A (en) | Private key securing methods of decentralizedly storying keys in owner's device and/or blockchain nodes | |
| CN119783138B (en) | Blockchain-driven distributed privacy data storage and access control method and system | |
| CN109245894A (en) | A kind of distributed cloud storage system based on intelligent contract | |
| Gudditti et al. | Adaptive light weight encryption algorithm for securing multi-cloud storage | |
| Arora et al. | Hybrid algorithm designed for handling remote integrity check mechanism over dynamic cloud environment | |
| CN113326522A (en) | Data processing method, device, equipment and computer storage medium | |
| CN107070896B (en) | Safe and efficient block chain network customized login method and safe reinforcement system | |
| US10706177B2 (en) | Apparatus and method for chip identification and preventing malicious manipulation of physical addresses by incorporating a physical network with a logical network | |
| CN104917616B (en) | Network equipment identification method in a kind of software defined network based on smart card | |
| JP2019145926A (en) | Chip wallet | |
| Clupek et al. | Robust mutual authentication and secure transmission of information on low-cost devices using physical unclonable functions and hash functions | |
| Keerthana et al. | Slicing, Tokenization, and Encryption Based Combinational Approach to Protect Data-at-Rest in Cloud Using TF-Sec Model | |
| Chen et al. | Security and trust model for data disaster-recovery service on the cloud | 
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: 18771672 Country of ref document: EP Kind code of ref document: A1  | 
        |
| NENP | Non-entry into the national phase | 
             Ref country code: DE  | 
        |
| ENP | Entry into the national phase | 
             Ref document number: 2019507724 Country of ref document: JP Kind code of ref document: A  | 
        |
| 122 | Ep: pct application non-entry in european phase | 
             Ref document number: 18771672 Country of ref document: EP Kind code of ref document: A1  |