WO2022065016A1 - 自動認証icチップ - Google Patents

自動認証icチップ Download PDF

Info

Publication number
WO2022065016A1
WO2022065016A1 PCT/JP2021/032746 JP2021032746W WO2022065016A1 WO 2022065016 A1 WO2022065016 A1 WO 2022065016A1 JP 2021032746 W JP2021032746 W JP 2021032746W WO 2022065016 A1 WO2022065016 A1 WO 2022065016A1
Authority
WO
WIPO (PCT)
Prior art keywords
authentication
address
bit
cell array
challenge
Prior art date
Application number
PCT/JP2021/032746
Other languages
English (en)
French (fr)
Inventor
渡辺浩志
Original Assignee
渡辺浩志
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from JP2021017877A external-priority patent/JP2022051661A/ja
Application filed by 渡辺浩志 filed Critical 渡辺浩志
Priority to US18/245,944 priority Critical patent/US20230370264A1/en
Publication of WO2022065016A1 publication Critical patent/WO2022065016A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting 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/73Protecting 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/088Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/3013Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the discrete logarithm problem, e.g. ElGamal or Diffie-Hellman systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/302Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the integer factorization problem, e.g. RSA or quadratic sieve [QS] schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic 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 using challenge-response

Definitions

  • the present invention relates to a technique for a memory chip having an automatic authentication function.
  • An IoT network is a network of electronic devices. However, the difference from the normal Internet has been left vague so far.
  • a cyber network is a network between virtual accounts, and a modern network, whether it is an IoT network or a cyber network, is an infrastructure for information communication that exchanges electronic data.
  • a virtual account is a logical address on the network, which is essentially different from the electronic device itself.
  • physical addresses exist as part of a protocol that links this electronic device to a logical address.
  • a protocol is a routine process for processing communication of code information, and the routine process itself can be encoded and treated as code information. That is, the protocol is software and does not come from any particular electronic device. As long as it meets the specified standards, it works in the same way regardless of which electronic device it is installed on. That is, the physical address does not necessarily come from a particular electronic device. It merely considers that a certain physical address is linked to a certain electronic device artificially (protocolally).hackers can tamper with this physical address at any time.
  • FIG. 1 is a drawing illustrating this situation.
  • a network consisting of electronic devices A to C (electronic device network, IoT network, or physical network) above, and a network consisting of logical addresses A to C (logical network or cyber network) below.
  • the dashed line connecting the upper and lower networks indicates that the electronic devices A to C are linked to the logical addresses A to C, respectively. That is, this broken line is a physical address, and the Internet protocol (hereinafter, simply protocol) controls information communication between logical addresses including this physical address.
  • the Internet protocol considers the whole that controls information communication as the Internet, it can be seen that it includes the cyber network and physical address in FIG. 1 and does not include electronic devices A to C. That is, as shown in FIG. 2, the Internet is composed of a network consisting of logical addresses A to C (logical network or cyber network) and a broken line (physical address) connecting each logical address to someone. Recognize. It is especially important that the Internet Protocol knows nothing about what this is. If we were to know it, it could deny the very origin of the software.
  • the IoT network (network of electronic devices or physical network) is obtained by removing all the elements of FIGS. 1 and 2. See FIG. From the above, it became clear that the IoT network (physical network or network of electronic devices) does not match what is now called the Internet. However, if it remains in Fig. 3, there is no application, so the IoT network cannot do much work.
  • FIG. 1 is an IoT network
  • an illegal hacker can easily break any security (cyber security) on the cyber network by using a method called spoofing.
  • 4 to 6 are diagrams illustrating an example of spoofing.
  • an illegal hacker appropriately selects one legitimate logical address. For example, let's call it logical address B.
  • this logical address B is exchanged with a logical address (logical address B') assigned to an electronic device (a laptop as an example) owned by the user. This involves tampering with the link between electronic device B and the logical address B, as in FIG. 5, to link to a device owned by this illegal hacker (eg, a laptop in the figure).
  • a logical address B' assigned to an electronic device owned by this illegal hacker
  • the link (physical address) between the electronic device B and the logical address B is tampered with between the electronic device A to which the logical address A is assigned and the electronic device C to which the logical address C is assigned, and the logical address B is modified.
  • an illegal hacker can use the copied logical address B to impersonate an intermediary between electronic device A and electronic device C.
  • Man-in-the-middle attack An illegal hacker can tamper with the information communication between electronic device A and electronic device C. Such an attack is called a man-in-the-middle attack. Even if the information communication between the logical address A and the logical address C is encrypted, the man-in-the-middle attack cannot be prevented. This is because the purpose of a man-in-the-middle attack is not necessarily the interception of information and communication between electronic device A and electronic device C. Even if it cannot be snooped, false information can be passed between the electronic device A and the electronic device C to disturb the cooperation between the electronic device A and the electronic device C.
  • IoT One of the main use cases of IoT is that multiple electronic devices actively cooperate to perform complex and large-scale work jointly.
  • the main purpose of a man-in-the-middle attack is to remotely disturb an IoT network (coordination of electronic devices) that performs such complicated and large-scale work.
  • IoT network coordination of electronic devices
  • the electronic devices (IoT devices) that make up an IoT network are information terminals such as smartphones, tablets, laptops, and PCs, smart meters, sensors, surveillance cameras, or drones and vehicles equipped with multiple sensors. be.
  • these IoT devices are spreading to the bottom of the business model with artificial intelligence (AI) at the top.
  • AI artificial intelligence
  • the big data in the middle is the various pieces of information collected by the IoT devices that flooded the city. It is expected that artificial intelligence (AI) in the upper row will utilize it to solve various problems.
  • FIG. 8 briefly shows an example of a protocol in which the electronic device A authenticates the electronic device B.
  • the electronic device A requests the electronic device B for an authentication response.
  • the electronic device B requests the electronic device B for an authentication response.
  • some kind of digital code challenge
  • electronic device B replies, "I am the logical address B.”
  • some kind of electronic code response is returned from the electronic device B to the electronic device A.
  • FIG. 9 is an example of the response of the challenge and the response when the electronic device B is impersonated.
  • FIG. 10 outlines the flow of data in and out of a computer.
  • the computer receives input from the input / output device (I / O) and passes it to the arithmetic unit.
  • the arithmetic unit accesses the memory every time it performs an arithmetic.
  • this memory has multiple layers, and from the top, registers, cache memory (SRAM, etc.), main memory (DRAM, etc.), and further down the layers, data is not lost even if the computer is turned off.
  • Storage memory flash memory, etc. exists. The higher the level, the faster the operation speed, and the lower the level, the higher the bit capacity.
  • the arithmetic unit includes the processor core, registers, and cache.
  • a stand-alone DRAM is combined with this as the main memory, and a flash memory or the like is added as needed to complete a rough configuration of an information device (or computer).
  • the amount of data that can be handled by information devices that do not include DRAM is greatly limited.
  • the data read from the upper memory chip is passed to the upper arithmetic unit, where it is appropriately processed and then output from the upper I / O.
  • the output data is exposed on the network, and when it finds the I / O in the middle stage, which is the transfer destination, it is taken in (input) to the information equipment in the middle stage.
  • This data is further written (stored) in the memory chip in the middle stage after being appropriately processed by the arithmetic unit in the middle stage.
  • the data read from the memory chip in the middle stage is passed to the arithmetic unit in the middle stage, where appropriate processing is performed, and then the data is output from the I / O in the middle stage.
  • the output data is exposed on the network, and when it finds the lower I / O that is the transfer destination, it is taken in (input) to the lower information device there. This data is further written (stored) in the lower memory chip after being appropriately processed by the lower arithmetic unit.
  • the electronic devices A, B, and C in FIG. 1 have built-in information device (computer) units in the upper, middle, and lower stages of FIG. 11, respectively.
  • the electronic devices A, B, and C in FIG. 1 are information devices (computers) in the upper, middle, and lower stages of FIG. 11, respectively. That is, the information exchange between the electronic devices of FIGS. 1-6 and 8 and 9 described so far is equivalent to the transfer of data between the upper, middle, and lower memory chips of FIG. Is.
  • FIG. 12 is an example of an information transfer method also used in a blockchain or the like.
  • the end point of the current information is the logical account (N). It is the logical account (N-1) that finally passed the information (hash value (N-1)) to this logical account (N). In the logical account (N-1), this hash value (N-1) is generated from the hash value (N-2). It is the logical account (N-2) that finally passed the information (hash value (N-2)) to this logical account (N-1). In the logical account (N-2), the hash value (N-2) is generated from the hash value (N-3).
  • Each has a public key (N), (N-1), and (N-2) corresponding to a logical address.
  • the public key (N), (N-1), and (N-2) are one-to-one linked to the private key (N), (N-1), and (N-2) by public key cryptography (PKI), respectively. ing.
  • the logical account (N-2) acquires the public key (N-1), which is the logical address of the logical account (N-1) published on the network, and uses the private key (N-2) to obtain the public key. (N-1) and the hash value (N-3) are combined and encrypted to generate an electronic signature (N-2). Further, the logical account (N-2) collectively hashes the public key (N-2), the hash value (N-3), and the digital signature (N-3) to generate the hash value (N-2). Then, the logical account (N-2) attaches a digital signature (N-2) and transfers the hash value (N-2) to the logical account (N-1).
  • the logical account (N-1) acquires the public key (N), which is the logical address of the logical account (N) published on the network, and uses the private key (N-1) to obtain the public key (N).
  • the hash value (N-2) is combined and encrypted to generate an electronic signature (N-1). Further, the logical account (N-1) collectively hashes the public key (N-1), the hash value (N-2), and the electronic signature (N-2) to generate the hash value (N-1). Then, the logical account (N-1) attaches an electronic signature (N-1) and transfers the hash value (N-1) to the logical account (N).
  • FIG. 12 has no information about the memory chip of the information device. In other words, there has never been a well-defined relationship between information exchange in cyberspace and real data communication in IoT networks.
  • the present invention has been made in view of the above circumstances.
  • the purpose is to provide.
  • the present invention employs the following means in order to solve the above problems.
  • the solution proposed by the present invention is It is a network of electronic devices consisting of multiple electronic devices. Of the plurality of electronic devices, M electronic devices are the first to Mth inspected devices. Others Of the above-mentioned multiple electronic devices, at least the electronic device is the main inspection body.
  • the first to Mth inspected devices are the first to Mth peripheral devices, respectively.
  • the inspection subject inputs the first challenge to the first to M peripheral devices and inputs the first challenge.
  • the first to M peripheral devices return the first to M responses to the inspection subject based on the response function in response to the first challenge.
  • the first to M responses form a first response set having the first to M responses as elements.
  • the inspection subject stores the first challenge and the first response set.
  • At least one peripheral device of the first to Mth peripheral devices receives the second challenge sent from the inspection subject, generates a response of the first M + 1, and from the response of the first M + 1 to the first M + 1. Generate a pair of private key and public key of M + 1
  • the first to Mth peripheral devices have the first to Mth IC chips as components, respectively.
  • the response function generates the first to M responses by taking the first challenge and the unique random numbers unique to the first to M IC chips as arguments, respectively.
  • the response function generates the response of the second M + 1 by using the second challenge and the unique random number peculiar to the IC chip to which the second challenge is input as an argument. Characterized by that or, It is a network of electronic devices consisting of multiple electronic devices.
  • M electronic devices are the first to Mth inspected devices.
  • at least two of the plurality of electronic devices are the first and second inspection subjects.
  • the first to Mth inspected devices are the first to Mth peripheral devices, respectively.
  • the inspection subject inputs the first challenge to the first to M peripheral devices and inputs the first challenge.
  • the first to M peripheral devices return the first to M responses to the inspection subject based on the response function in response to the first challenge.
  • the first to M responses form a first response set having the first to M responses as elements.
  • the inspection subject stores the first challenge and the first response set.
  • At least one peripheral device of the first to M peripheral devices receives the second challenge sent from the second inspection subject, generates a response of the first M + 1, and from the response of the first M + 1.
  • the first to Mth peripheral devices have the first to Mth IC chips as components, respectively.
  • the response function generates the first to M responses by taking the first challenge and the unique random numbers unique to the first to M IC chips as arguments, respectively.
  • the response function generates the response of the second M + 1 by using the second challenge and the unique random number peculiar to the IC chip to which the second challenge is input as an argument. It is characterized by that.
  • the solution proposed by the present invention further has the following features.
  • the IC chip has a cell array, a row decoder, a peripheral control device, a code generator, a special internal memory, and an external input / output.
  • the cell array is divided into a first cell array and a second cell array.
  • the row decoder is divided into a first row decoder and a second row decoder.
  • the first and second row decoders manipulate access to the first and second cell array, respectively.
  • the peripheral control device receives a redundant mode acquisition code and a challenge from the external input / output, operates the first and second decoders based on the redundant mode acquisition code, passes the challenge to the code generation device, and the above-mentioned.
  • the eigenrandom number is acquired from the access to the first and second cell array, and the eigenrandom number is passed to the code generator.
  • the code generator uses the response function to generate the response from the challenge and the unique random number, and passes it to the external input / output device.
  • the external input / output makes it possible to receive the input of the redundant mode acquisition code and the challenge from the outside, receive the response from the code generation device, and output the response to the outside of the IC chip.
  • the solution proposed by the present invention further has the following features. It is a network of electronic devices consisting of multiple electronic devices. Of the plurality of electronic devices, the first electronic device is the main body to be inspected, and the second electronic device is the device to be inspected.
  • the inspection subject inputs a challenge to the second electronic device and inputs the challenge.
  • the second electronic device generates a response in response to the challenge based on the response function.
  • the second electronic device has at least one IC chip and has at least one IC chip.
  • the IC chip has a cell array, a row decoder, a peripheral control device, a code generator, a special internal memory, and an external input / output.
  • the cell array is divided into a first cell array and a second cell array.
  • the row decoder is divided into a first row decoder and a second row decoder.
  • the first and second row decoders manipulate access to the first and second cell array, respectively.
  • the peripheral control device receives the redundant mode acquisition code and the challenge from the external input / output, operates the first and second decoders based on the redundant mode acquisition code, and passes the challenge to the code generation device.
  • the unique random number unique to the IC chip is acquired from the access to the first and second cell array, and the unique random number is passed to the code generator.
  • the code generator generates the response from the challenge and the unique random number.
  • the external input / output receives the input of the redundant mode acquisition code and the challenge from the outside, receives the response from the code generator, and outputs the response to the outside of the IC chip.
  • the redundant mode acquisition code includes an authentication setting option, a dedicated bit specification mode, an access option, and an operation option.
  • the cell array is divided into a plurality of small blocks.
  • the IC chip further has a cell block address table.
  • the cell block address table is a correspondence table of an arbitrary address on the cell array and a combination of a small block address and a small block address.
  • the dedicated bit specification mode has a specified bit address as an argument.
  • the designated bit address is an authentication-only bit in the small block, and is
  • the authentication setting option consists of an authentication mode or a non-authentication mode.
  • the authentication-dedicated bit is selected as the selection bit address of the address in the small block, and the non-authentication mode is selected. If this is the case, one bit other than the authentication-only bit is selected as the selection bit address in the small block.
  • the access option manipulates a combination of the column decoder, the first and second row decoders, and directs access to each bit address on the cell array.
  • the operating options include writing, erasing, and reading to each of the bit addresses.
  • the peripheral circuit reads the unique random number from the cell array based on the redundancy code by switching the combination of the access option and the operation option.
  • the response function generates the response by using the challenge and the unique random number unique to the IC chip as arguments.
  • the first electronic device is the main body to be inspected
  • the second electronic device is the device to be inspected.
  • the inspection subject inputs a challenge to the second electronic device and inputs the challenge.
  • the second electronic device generates a response in response to the challenge based on the response function.
  • the second electronic device has at least one IC chip and has at least one IC chip.
  • the IC chip has a cell array, a row decoder, a peripheral control device, a code generator, a special internal memory, and an external input / output.
  • the cell array is divided into a first cell array and a second cell array.
  • the row decoder is divided into a first row decoder and a second row decoder.
  • the first and second row decoders manipulate access to the first and second cell array, respectively.
  • the peripheral control device receives the redundant mode acquisition code and the challenge from the external input / output, operates the first and second decoders based on the redundant mode acquisition code, and passes the challenge to the code generation device.
  • the unique random number unique to the IC chip is acquired from the access to the first and second cell array, and the unique random number is passed to the code generator.
  • the code generator generates the response from the challenge and the unique random number.
  • the external input / output receives the input of the redundant mode acquisition code and the challenge from the outside, receives the response from the code generator, and outputs the response to the outside of the IC chip.
  • the redundant mode acquisition code includes an authentication setting option, a dedicated column specification mode, an access option, and an operation option.
  • the dedicated column specification mode has a specified column number as an argument.
  • the authentication setting option consists of an authentication mode or a non-authentication mode, and when the authentication mode is selected, the designated column number specifies an authentication-only column, the authentication-only column is selected as a selection column, and the non-authentication setting option is selected. When the authentication mode is selected, one of the columns other than the specified column number is selected as the selected column.
  • the access option selects a combination of the first and second row decoders and directs access to the combination of the row decoders and the address defined in the selection column.
  • the operating options include writing, erasing, and reading to the address.
  • the peripheral circuit reads the unique random number from the cell array based on the redundancy code by switching the combination of the access option and the operation option.
  • the response function generates the response by using the challenge and the unique random number unique to the IC chip as arguments.
  • a digital information communication system characterized by this. Characterized by that, Digital information communication system.
  • the electronic device is authenticated, and a physical firewall consisting of the certified electronic device is created. create. Further, a pair of a private key and a public key is generated by using a second response obtained by inputting a second challenge into the IC chip, and the public key or the code information generated from the public key is generated by the electronic device.
  • a digital information communication system that uses the electronic signature generated by using the private key as the logical address of the device for data transmission / reception between electronic devices in the physical firewall. To propose.
  • FIG. 13 conceptually shows a method of associating the electronic devices A, B, and C of FIG. 1 with the logical addresses A, B, and C, respectively.
  • the private key and public key are linked one-to-one by PKI.
  • the public key is equivalent to or corresponds to a logical address in cyberspace.
  • Logical addresses are equivalent to or correspond to accounts of software (applications, or simply apps) running in cyberspace.
  • it is practically difficult to generate a private key from a public key.
  • the electronic device B is a device to be inspected and is inspected by the electronic device A which is the main body of inspection. If the inspection of the main body of inspection is passed, the device to be inspected is certified.
  • Electronic device B contains one or more semiconductor chips (IC chips, or simply chips). As an example, it is assumed that the memory chips of FIGS. 10 and 11 are built-in.
  • Electronic device A sends a challenge (C) to electronic device B. As an example, "Mr. B, who are you?" In FIGS. 8 and 9 may be used.
  • a random number (unique random number) unique to the chip exists in the chip built in the electronic device B.
  • a response (R) is generated from the challenge (C) and this unique random number.
  • this response (R) can be regarded as a unique response to the chip and the challenge (C). As an example, it can be regarded as "I am chip B" in FIGS. 8 and 9.
  • the relationship between the unique random number and the chip may be anything.
  • a unique random number can be generated by utilizing the randomness generated in the chip manufacturing stage.
  • data that can be rewritten from the outside in some way cannot be regarded as unique to the chip.
  • N is a natural number of 1 or more.
  • M is a natural number of 1 or more.
  • an electronic element will be referred to as an authentication element.
  • the characteristics of the certified element vary depending on the manufacturing variation at the chip manufacturing stage. In mass production, this variation is required to be controlled as much as possible, but it cannot be completely eliminated. If such variations for each authentication element are quantified and distributed on the cell array of FIG. 14, it can be converted into a physical random number.
  • the authentication elements having the values of 1 and 0 are distributed on the cell array of FIG. If 0 is white and 1 is black, a white and black pattern can be created, for example, as shown in FIG. If both M and N are sufficiently larger than 1, this pattern becomes a checkered two-dimensional pattern. If either M or N is 1, this pattern is a one-dimensional pattern. In any case, if the occurrence of 0s and 1s for each authentication element is due to manufacturing variations, this white and black pattern will be physically random and will vary from chip to chip.
  • M and N can be controlled by the design of the cell array, it is possible to control the possibility that two chips accidentally have the same pattern below the allowable range by the design of the cell array.
  • a unique random number represented by an array of a plurality of values (0 and 1 as an example) is called a unique random number code (or simply a random number code).
  • the authentication element includes, for example, a resistor (FIG. 16), a capacitor (FIG. 17), a PN junction (FIG. 18), a Schottky junction (FIG. 19), a transistor (FIGS. 20 and 21), a memory element (FIG. 22-26), and the like.
  • FIG. 22 shows an example in which a DRAM element composed of a combination of a transistor and a capacitor is used as an authentication element.
  • FIG. 23 shows an example in which a non-volatile memory element using a variable resistor is used as an authentication element. When the resistance is changed by the applied voltage
  • the authentication element is a resistance change memory (ReRAM, etc.) cell.
  • the authentication element is a phase change memory (PCRAM) cell.
  • FIG. 24 uses a non-volatile memory element using a magnetic resistance as an authentication element.
  • the authentication element is an MRAM cell.
  • STT spin torque transfer effect
  • the authentication element is an STT-MRAM cell.
  • a non-volatile memory element with a charge storage layer is used as an authentication element. If the charge storage layer is a charge trap, the authentication element is a charge trap type non-volatile memory element.
  • the authentication element is an FG type memory element.
  • an authentication element can be configured from any one or more of the above elements (resistors, capacitors, PN junctions, Schottky junctions, transistors, memory elements, etc.). Therefore, although it is self-evident and not shown in particular, it is possible to combine any two or more of the above elements (resistors, capacitors, PN junctions, Schottky junctions, transistors, memory elements, etc.) to form one authentication element. Is.
  • the authentication element constituting the cell array of FIG. 14 is a memory element of a one-time programmable memory (OTP). Since OTP uses intentional destruction of memory elements and intentional short circuits of wiring elements (intentional destruction of resistance elements), as a result, all the authentication elements of FIGS. 16 to 26 should be used as OTP memory elements. Is possible.
  • the one with the highest unpredictability is the one using qubits. Both 0 and 1 information exist in the qubit at the same time.
  • the random number code is obtained by reading 0 and 1 from the qubit and arranging the results in a row. With current technology, it is difficult to mount a large number of qubits on a semiconductor chip. Of course, as long as it does not deviate from the purpose of the present application, a random number generation method based on other physical principles may be used.
  • the authority to write the random number code generated outside the chip to the cell array inside the chip must be limited to those who are officially involved in the manufacture, distribution, use, etc. of the chip. In other words, when generating a random number code outside the chip, an operation method that controls the risk of human error within an allowable range is required.
  • the number of bits of the generated random code must be large enough. Assuming that the number of bits is Q and the number of chips including the cell array in which the random number code is written is U, it is desirable that the number obtained by dividing 2 to the Qth power by U is a sufficiently large number. As an example, in order to make it a specification that can withstand a trillion node, if U is 10 trillion, when Q is 40, the number in the case of a random number code is just about 1 trillion, so Q is a number much larger than at least 44. There must be. If Q is 50, the probability that two of the random number codes written in the chips distributed all over the world coincide by chance is less than one millionth. That is, it is desirable that the amount of information of the random number code is 50 bits or more.
  • reading from one qubit per chip is repeated 50 times, reading from two qubits 25 times, or reading from M qubits not less than 50 / M times, and the result is Can be written to an area of 50 bits or more somewhere in the chip.
  • the cell array that stores the separately generated random number code must be non-rewritable. It is desirable to use one-time programmable (OTP) memory for such cell array.
  • OTP one-time programmable
  • FIG. 20 is also an example of a bit cell structure of a typical mask ROM. That is, the transistor is a bit cell of the mask ROM.
  • the address in the cell array is selected according to the bit representation of the random number code separately generated by the external random number generator.
  • a method can be considered in which the PN junction of the transistor of the bit cell located at the selected address is burnt off with a laser or the like, or a large current is passed through the bit line for a sufficiently long time to surely destroy the PN junction. In either method, a bit cell with a PN junction that has been destroyed once loses its rectifying effect, and current flows even when a reverse voltage is applied.
  • the destroyed bit cells correspond to the data 1 and the undestroyed bit cells correspond to the data 0, the checkered random number code as shown in FIG. 15 is obtained.
  • the PN junction of the transistor at the selected address must be reliably destroyed.
  • all bit cells including PN junctions can be utilized as OTPs.
  • the address in the cell array is selected according to the bit representation of the random number code separately generated by the external random number generator.
  • the PN junction of the transistor of the bit cell located at the selected address is burnt off with a laser or the like.
  • a method is conceivable in which a large current is passed through the bit wire for a sufficiently long time to surely break the PN junction. In either method, a bit cell with a PN junction that has been destroyed once loses its rectifying effect, and current flows even when a reverse voltage is applied.
  • the destroyed bit cells correspond to the data 1 and the undestroyed bit cells correspond to the data 0, the checkered random number code as shown in FIG. 15 is obtained.
  • the PN junction at the selected address must be reliably destroyed.
  • all bit cells including capacitors can be utilized as OTPs.
  • the address in the cell array is selected according to the bit representation of the random number code separately generated by the external random number generator.
  • a method of hard-destructing the insulating film of the capacitor by passing a large current through the capacitor of the bit cell located at the selected address for a sufficiently long time can be considered.
  • Bit cell capacitors with a broken insulating film lose their insulating properties, and current can flow even when a DC voltage is applied. For example, if the destroyed bit cells correspond to the data 1 and the undestroyed bit cells correspond to the data 0, the checkered random number code as shown in FIG. 15 is obtained. In any case, when writing a separately generated random number code, the insulating film of the capacitor at the selected address must be surely hard-destroyed.
  • all bit cells including resistors or resistance wiring can be utilized as OTPs.
  • the address in the cell array is selected according to the bit representation of the random number code separately generated by the external random number generator.
  • the resistance or resistance wiring of the bit cell located at the selected address is burned out with a laser.
  • a method of disconnecting (short-circuiting) by passing a large current for a sufficiently long time can be considered.
  • Such a property is commonly referred to as a fuse. That is, the example of FIG. 16 is generally a fuse memory. Even if an appropriate voltage is applied to the selected bit cell due to disconnection, no current will flow.
  • the checkered random number code as shown in FIG. 15 is obtained.
  • the resistance or resistance wire of the selected address must be surely broken.
  • the random number code separately generated outside the chip can be regarded as a unique random number sharing the concept of the present application.
  • the random number code that becomes the unique random number of the present application may be written in the entire cell array constituting the chip of the present application, or may be a part of the cell array. Alternatively, it may be written in a region (peripheral region or the like) different from the cell array on the chip.
  • the pseudo-random number generator is, to put it plainly, random number generator software. As long as the software is used, random code is generated according to some algorithm, so if you get a combination of responses (R) for multiple challenges (C), you can decipher and predict the response to an unknown challenge. Is.
  • the decipherability is still unacceptably low, it can be used for the proper random numbers of the present application.
  • the equation of 0063 steps is pseudo-satisfied. Even if it is pseudo, it can be used as a unique random number of the present application if the decipherability can be controlled to an unacceptable range.
  • the method of generating the unique random number unique to the chip is mainly divided into two methods, that is, a method of generating the unique random number together with the chip manufacturing and a method of generating the random number separately from the chip manufacturing.
  • the former uses the manufactured chip itself as a random number code (unique random number) for authentication, and the latter writes a separately generated unique random number to a memory cell array (OTP, etc.) included in the chip.
  • OTP a memory cell array
  • Another example of the latter is a method of randomly destroying the authentication element array. After deciding the area to write the unique random number, it is sufficient to apply the destruction pulse at the last minute to see if the authentication element existing at the address in the basin is destroyed.
  • the authentication element to which the destruction pulse is applied is stochastically destroyed, and its address is physically randomly distributed, so that it becomes a unique random number.
  • generation method the concept of the present application is not deviated as long as the output (response) is obtained by combining the unique random number of the chip to be inspected and the input (challenge) to the chip to be inspected. Therefore, in all embodiments of the present application, either generation method can be used in the same manner.
  • FIG. 27 shows what happens when the same challenge (C) is entered into two different devices under test (1 and 2).
  • the device 1 to be inspected has a built-in chip 1 and outputs a response R1 from the challenge (C) and the unique random number 1 of the chip 1.
  • the device 2 to be inspected has a built-in chip 2 and outputs a response R2 from the same challenge (C) and the unique random number 2 of the chip 2.
  • the two responses R1 and R2 are both different. This means that when the device to be inspected 1 is replaced with another device to be inspected 2, the response changes from R1. In other words, the inspection subject notices that the response changes when the information device is spoofed.
  • FIG. 28 shows an example of applying this concept to the authentication of an IoT network (network of electronic devices).
  • the inspection subject challenges the device to be inspected (electronic device B) to "Mr. B, who are you?"
  • Electronic device B returns the response "I am chip B" from this challenge and the unique random number in the built-in chip.
  • FIG. 29 shows what happens when electronic device B is impersonated by a hacker's laptop (but with a logical address B).
  • the inspection subject challenges the device to be inspected (electronic device B) to "Mr. B, who are you?"
  • a hacker's laptop impersonating logical address B returns the response "I'm a hacker's chip” from this challenge and the unique random numbers in the built-in chip.
  • a spoofed electronic device (illegal electronic device) is found, it can be excluded from the IoT network. For example, it can be easily realized by using a blockchain smart contract. Since it is self-explanatory, I will not explain it in particular, but spoofing can be searched and eliminated automatically.
  • FIG. 30 shows an example of a method of generating a private key (n) and a public key (n) from the response R (n) output from the electronic device B (n) which is the nth subject to be inspected.
  • the ElGamal algorithm is one of the important algorithms in public key cryptography. One of its features is to generate a paired public key from the private key. In the present specification, regardless of the details of the algorithm, the key generator that generates a pair of public keys from the private key is collectively referred to as an ElGamal type key generator.
  • the challenge (C) is input to the electronic device B (n) from the hardware (electronic device A) which is the main body of the inspection.
  • the electronic device B (n) outputs a response R (n) from the unique random number (n) of the built-in chip (n) and this challenge (C).
  • the response R (n) is used as a secret key (n) after code conversion for the purpose of adjusting the format or the like.
  • This private key (n) can be input to the ElGamal type key generator to obtain a public key (n) paired with the private key.
  • the public key (n) is a logical address corresponding to the logical account (n).
  • the key generator is installed in the electronic device B (n) as software. Alternatively, it is desirable that the key generation device be installed on a chip (n) built in the electronic device B (n) as an embedded module. Alternatively, it is desirable that the key generation device be installed in another chip built in the electronic device B (n) as an embedded module. Alternatively, the key generator may be present in another electronic device that is securely connected to the electronic device B (n).
  • 31 and 32 show an example of a method of additionally utilizing the second input to the embodiment of FIG.
  • the second input is input in the process of generating the secret key (n) from the response R (n) by code conversion. That is, this code conversion includes the second input.
  • the second input is input in the process of generating the public key (n) from the private key (n). That is, this key generator includes the second input.
  • the reason for using the second input is basically to increase the degree of freedom and strength of authentication of the device to be inspected according to the present application.
  • this security server can input (distribute) the second input to the inspected device B (n) independently of the inspection subject and change the response R (n) to the challenge (C). This helps prevent hackers from predicting unknown challenge / response combinations from multiple pairs of known challenges / responses.
  • this security server can also inspect the authentication of the device to be inspected by the same method as that of the inspection subject. In this sense, the security server is also the main inspector. In other words, the number of inspection subjects is not limited to one.
  • the first inspection entity manages the CR pair, further searches for the device to be inspected and eliminates unauthorized electronic devices, the second inspection entity manages the CR pair, and the second as a security server. It is desirable to distribute the input to the device under inspection.
  • FIG. 33-35 shows an example when an RSA type key generator is used. Everything is the same except that the Elgamal type key generator shown in FIGS. 30-32 is replaced with the RSA type key generator.
  • RSA is an acronym for the inventors Rivest, Shamia, and Adelman.
  • the RSA algorithm is one of the most important algorithms in public key cryptography. One of its features is that it generates a private key and a public key as a pair from external input.
  • the key generator that generates a private key and a public key as a pair from an external input is collectively referred to as an RSA type.
  • FIG. 33 shows an example of a method of generating the private key (n) and the public key (n) from the response R (n) output from the electronic device B (n) which is the nth subject to be inspected.
  • the challenge (C) is input to the electronic device B (n) from the hardware (electronic device A) which is the main body of the inspection.
  • the electronic device B (n) outputs a response R (n) from the unique random number (n) of the built-in chip (n) and this challenge (C).
  • the response R (n) is input to the RSA type key generator directly or after code conversion such as for adjusting the format, and a private key (n) and a public key (n) paired with each other are generated. Will be done.
  • the public key (n) is a logical address corresponding to the logical account (n).
  • this private key (n) it is desirable to erase this private key (n) when it is finished using it. Alternatively, it can be generated at any time by the method of FIG. 33 when needed. Alternatively, it is desirable to safely confine it in the electronic device B (n). Safely confining it in the electronic device B (n) is the same as the disappearance of the private key (n) when viewed from the outside of the electronic device B (n).
  • the key generator is installed in the electronic device B (n) as software. Alternatively, it is desirable that the key generation device be installed on a chip (n) built in the electronic device B (n) as an embedded module. Alternatively, it is desirable that the key generation device be installed on another chip built in the electronic device B (n) as an embedded module. Alternatively, the key generator may be present in another electronic device that is securely connected to the electronic device B (n).
  • the second input is input in the process of inputting the response R (n) to the key generator. That is, the second input and the response R (n) are combined in some way.
  • the second input is input in the process of the key generator generating the private key (n) and the public key (n). That is, this key generator includes the second input.
  • the reason for using the second input is basically to increase the degree of freedom and strength of authentication of the device to be inspected according to the present application.
  • this security server can input (distribute) the second input to the inspected device B (n) independently of the inspection subject and change the response R (n) to the challenge (C). This helps prevent hackers from predicting unknown challenge / response combinations from multiple pairs of known challenges / responses. However, it is desirable that this security server be pre-authenticated by the inspector before distributing the second input to the device under inspection.
  • the private key is generated from the response (R) output from the electronic device. It is possible to input the response (R) as a private key as it is to the ElGamal type key generator without converting it. In order to arrange the data format, it is possible to perform appropriate code conversion on the response (R) and then input it to the ElGamal type key generator as a private key. Alternatively, it is possible to perform code conversion including some intention on the response (R) and then input it to the ElGamal type key generator as a secret key. In any case, the ElGamal key generator generates a private key / public key pair from the response (R).
  • a response (R) is input to generate a pair of a private key and a public key.
  • a secret unique to the electronic device is obtained from the response (R) obtained by inputting the challenge (C) to the electronic device.
  • the challenge (C) is changed, the private key / public key pair can be automatically updated. It is sufficient that the key generator is in a state where the electronic device can be used at any time.
  • the key generation device may be installed inside the IC chip constituting the electronic device, or may be installed outside the IC chip.
  • the key generator may be installed in the electronic device as software.
  • Blockchain of things 36 and 37 conceptually show a method of constructing a blockchain of objects using an Elgamal type and an RSA type key generator, respectively.
  • the physical node (N-2), the physical node (N-1), and the physical node (N) are paired with the logical account (N-2), the logical account (N-1), and the logical account (N), respectively.
  • this corresponds to the case of n N-2, N-1 and N.
  • PKI public key cryptography
  • the responses output by the electronic device B (N-2), the electronic device B (N-1), and the electronic device B (N) to the challenge (C) are R (N-2) and R (N-2), respectively.
  • the memory of the physical node (N) stores the latest data. It is the chip of FIG. 13 (ie, the memory chip). In FIG. 30-35, it is the chip (N).
  • data is transferred from the memory chip to the memory chip.
  • the number of chips that transfer data to a chip (chip (N)) including a memory that stores the latest data is not limited to one.
  • data is transferred from the three chips to the chip (N) holding the latest data. It is considered that data is transferred from each of these three chips from a plurality of chips. Nevertheless, the history of this transfer ends up at the last chip (N) that holds the latest data.
  • the mercle tree shape of the chip is completed.
  • the last chip (N) is the root of the mercle of the mercle tree shape of the present application.
  • the roots of mercle are candidates for blocks in the blockchain.
  • PoC Proof of Consensus
  • PoC There are multiple methods for PoC. As an example, there is a method of adding a nonce value and hashing. If this hash value (block hash) satisfies a predetermined condition, the root of this mercle is newly blocked and added to the blockchain as a new block.
  • the predetermined condition that a block hash must satisfy is that the first 16 digits of the block hash generated by adding the nonce value are all zeros.
  • mining Excavation
  • One example is Bitcoin.
  • FIG. 39 conceptually shows the process of block generation by this excavation.
  • a nonce (L-2) that satisfies a predetermined PoC condition is searched for as a nonce value, hashed together with a block hash (L-3) and a mercle root (L-2), and then a block hash (L-). 2) is generated.
  • the block (L-2) is certified as the latest block and connected to the end of the blockchain.
  • a nonce (L-1) that satisfies a predetermined PoC condition is searched for as a nonce value, hashed together with a block hash (L-2) and a mercle root (L-1), and then a block hash (L). -1) is generated.
  • the block (L-1) is generated as the latest block and connected to the end of the blockchain.
  • a nonce (L) that satisfies a predetermined PoC condition is searched for as a nonce value, and is hashed together with a block hash (L-1) and a mercle root (L) to generate a block hash (L). .. In this way, the block (L) is generated as the latest block and connected to the end of the blockchain.
  • n is an arbitrary integer including the above L-3, L-2, L-1, and L.
  • the chip (n) is an IC chip or a memory chip including the cell array of FIG. Since the unique data (n) is also unique to the root (n) of the mercle, it is considered to represent the root (n) of the mercle. Therefore, the root (n) of the mercle of the present application is, for example, a unique random number (n) of the chip (n).
  • FIG. 41 shows how one test server performs an authentication test of N devices to be inspected.
  • the device to be inspected is not always a uniform electronic device as shown in FIG. 41. All devices equipped with IC chips that connect to IoT networks. For example, personal computers, routers, vehicles, smartphones, servers, tag readers, printers, machine tools, tablets, etc. An example is shown in FIG. However, FIG. 85 is equivalent to FIG. 41 in that it illustrates the essence of the present application.
  • the N electronic devices (devices to be inspected) form a physical firewall centered on this test server.
  • the method in which the test server performs the authentication test of each device to be inspected is the same as the method in which the electronic device A in FIG. 13 certifies the electronic device B.
  • the test server inputs the challenge (C) to the electronic device (n), and the electronic device (n) contains the unique random number (n) of the chip (n) contained therein and this.
  • the electronic device (n) generates a pair of private key (n) and public key (n) from R (n) as shown in FIGS. 30-35.
  • the public key (n) becomes a logical address (n), or the logical address (n) can be generated from the public key (n).
  • FIG. 41 depicts a case where the test servers are integrated, the number of test servers is not limited to one. Since it is self-evident, it is not shown in particular, but just as there may be multiple inspection devices, there may be multiple test servers in the network of integrated electronic devices.
  • An integrated electronic device network is a network that includes all other electronic devices that are elements of this network that are directly or indirectly connectable. However, the number of peripherals (N) must be logically greater than 1 or 1.
  • a conventional firewall is composed of logical addresses, so it can be called a logical firewall.
  • a logical firewall When a logical firewall is applied to an IoT network, it becomes a target of spoofing attacks, as shown in FIG. 42.
  • the method of spoofing attack has already been described in FIGS. 4-6 and 9.
  • FIG. 43 a hacker's electronic device (built-in chip) that has copied the logical address enters the inside of the logical firewall.
  • FIG. 44 shows an attempt to make the same spoofing attack against a physical firewall. As already described in FIG. 29, the present application is capable of blocking this spoofing attack.
  • FIG. 45 if the communication in the physical firewall composed only of the electronic devices that have passed the certification test by the method of the present application is protected by the latest cyber security method, the data flow on the electronic device network (IoT network). Reliability is greatly improved. There are still various cyber security methods, and new methods will be solved in the future.
  • Blockchain is currently at the forefront.
  • the method of authenticating the electronic device of the present application can realize the Mercury tree shape of the memory chip. Therefore, complete compatibility with the existing blockchain can be ensured by matching the authentication of the memory chip and the logical address as shown in FIGS. 30-35.
  • the device to be inspected is not always a uniform electronic device. All devices equipped with IC chips that connect to IoT networks. For example, personal computers, routers, vehicles, smartphones, servers, tag readers, printers, machine tools, tablets, etc. An example is shown in FIG. However, FIG. 86 is equivalent to FIG. 45 in that it illustrates the essence of the present application.
  • FIG. 45 or FIG. 86 What is important in FIG. 45 or FIG. 86 is that by using the electronic device authentication method of the present application, a physical firewall is configured by central management of a test server and blocked between certified electronic devices as its components. It is possible to build a distributed system using chains. This means that the coexistence of central management and distributed management, which was difficult in cyberspace, can be realized in the electronic device network (IoT network) of the present application.
  • the test server can change the challenge (C) at will, it is possible to update the private key / public key pair of the authenticated electronic device at any time. If a hacker breaks the security of some certified electronic devices, the security of other certified electronic devices can be broken in the same way.
  • the fact that the public key and private key of the authenticated electronic device can be automatically changed by central management helps to restore the network security to a healthy state in an instant.
  • such a correspondence is possible because the private key or the pair of the private key and the public key is generated from the response.
  • the electronic devices are divided into those included in this physical firewall and those not included.
  • the physical firewall of the present application does not prohibit the electronic device which is a component thereof from communicating with the outside of the physical firewall.
  • test server tells you that the other party is not authenticated or does not allow communication, it will be known that the other party is outside the physical firewall. It will be up to the electronic device user or system administrator to decide what to do in such cases. For example, a test server (first inspection entity) that authenticates the first electronic device and another test server (second inspection entity) whose communication partner, the second electronic device, is certified. ) Can communicate with each other, the first and second electronic devices can indirectly communicate with each other via the first and second inspection entities. At this time, the communication content will be managed by the first and second inspection entities.
  • FIG. 46 conceptually represents a cell array included in a chip (or a memory chip) built in an electronic device to be inspected. Either the bit line or the word line runs in the horizontal direction, and the other runs in the vertical direction. At the intersection of the row line and the column line (the intersection of the word line and the bit line), there is a bit cell (memory cell) represented by a square. The position of the point where the nth bit line and the mth word line intersect is represented by a set of two integers (n, m), which is called an address on the cell array. However, n is an integer from 1 to N in FIG. 14, and m is an integer from 1 to M in FIG.
  • this bit cell is intentionally referred to as an authentication element. That is, the type of chip is determined by what kind of electronic element is adopted as this authentication element.
  • FIG. 47 shows an example of dividing this row line group into two upper and lower row line groups A and a row line group B.
  • the top is the top and the bottom is the bottom.
  • the row line is a bit line and the column line is a word line.
  • the row line is a word line and the column line is a bit line.
  • FIG. 48 shows another example of dividing the row line group into the row line group A and the row line group B.
  • the row line group A and the row line group B are alternately arranged in the column direction, and the upper end top of the row line group A and the lower end bottom of the row line group B are alternately repeated.
  • the bottom of row line group B and the top of row line group A are adjacent to each other in the column direction.
  • the row line group A and the row line group B are arranged in the column direction between the top and the bottom, and a row decoder A and a row decoder B are required, respectively, as shown in FIG. 49.
  • the number of lines in the line group A is LA
  • the number of lines in the line group B is LB.
  • Both row decoder A and row decoder B are controlled by the peripheral controller.
  • the peripheral controller accesses the special internal memory and controls the operations of the row decoder A and the row decoder B using the data (Fi, Ri) stored in the special internal memory.
  • the row line group A is used as a redundant row line group for the row line group B which is a normal cell array. If the line is a bit line, the line group A is a bit line redundant area. If the line is a word line, the line group A is a word line redundant area.
  • the inclusion of defective bits is unavoidable.
  • the number of rows (defective rows) in which a defective bit is generated in the row line group A is defined as mA.
  • mB be the number of lines in which a bad bit occurs in the line group B.
  • a line that does not contain bad bits is regarded as a regular line.
  • the number in the case of bad bit distribution is given by the product of C (LA, mA) and C (LB, mB).
  • C (S, T) is a combination that selects T elements from S elements.
  • row line group B normal cell array
  • the rows below the boundary line are sequentially accessed. Since it is self-evident here, it is not shown in particular, but a column decoder is required to select columns in this way.
  • the line number (F1) is read and saved in the special internal memory (see FIG. 49). Instead of accessing the bit cell in this F1 row, it accesses the bit cell in the R1 row that does not contain the bad bit in the row line group A (redundant row line group). R1 is also recorded in the special internal memory (see FIG. 49). This is called replacement (swap). After the replacement 1 is completed, the sequence returns to the line group B (normal cell array), and access is resumed from the line following the F1 line. When it hits the line where the bad bit exists again, the line number (F2) is read and saved in the special internal memory.
  • the bit cell in the R2 row that does not contain the bad bit in the row line group A (redundant row line group) is accessed.
  • R2 is also recorded in the special internal memory (see FIG. 49). This is referred to as replacement 2.
  • i is a natural number from 1 to mA.
  • the number of times to read mA is given by the product of C (LA, mA) and P (LB, mB).
  • P (S, T) is the number (order) when T elements are selected and arranged from among S elements.
  • log (C (LA, mB)) + log (P (LB, mB)) This is the amount of information of the data stored in the special internal memory.
  • LA must be greater than the sum of mA and mA to be always translatable.
  • LB must be much larger than mB for the normal cell array to be acceptable for mass production. Even in that case, if the bit capacity is large enough, the amount of information log (C (LA, mB)) + log (P (LB, mB)) will be large, and the data stored in the special internal memory of the two mass-produced chips will be large. The chances of a coincidence are negligibly low.
  • its generation mechanism is physically random because it does not depend on any algorithm. In this way, the combination code of ⁇ Fi, Ri ⁇ stored in the special internal memory can be regarded as a random number code unique to the chip (an example of the unique random number).
  • FIG. 52 is a diagram illustrating the test mode 1. First select the appropriate column. Next, "test mode 1" is specified in the access mode of the peripheral control device (see FIG. 49), and access is sequentially performed across the boundary line from the top to the bottom row line along the selection column. This is a mode in which all rows are accessed along the selection column from row A to row B.
  • FIG. 53 is a diagram illustrating the test mode 2. First select the appropriate column. Next, "test mode 2" is specified in the access mode of the peripheral controller (see FIG. 49), and the row lines are sequentially accessed from the top to the boundary line along the selected column. This is a mode for accessing only the lines belonging to the line group A.
  • FIG. 54 shows a state in which the test mode 1 is selected and 0 is written. First select the appropriate column. Next, "test mode 1" is specified in the access mode of the peripheral control device (see FIG. 49), and 0 is written by sequentially accessing from the top to the bottom row line across the boundary line along the selection column. In this way, all 0s are written along the selection column from the row line group A to the row line group B.
  • FIG. 55 shows a state in which test mode 2 is selected and 1 is written while the same selection column is specified.
  • test mode 2 is specified in the access mode of the peripheral control device (see FIG. 49). Sequentially access from the top to the boundary line along the selection column and write 1. In this way, only row line group A is written along the selection column, and row line group B remains 0.
  • “normal mode” is specified in the access mode of the peripheral control device (see FIG. 49), and the result of sequentially accessing and reading from the top to the boundary line along the selection column is shown in FIG. 56.
  • the replaced mB line is inverted to 1. In this way, a random pattern of 0 and 1 is completed. Since the number of cases is given by C (LB, mB), the amount of information is log (C (LB, mB)) after all.
  • This random number code is written as ⁇ d (i) ⁇ . As described above, this random number code can be regarded as unique to the chip if the bit capacity of the chip is sufficiently large. That is, ⁇ d (i) ⁇ is a unique random number unique to the chip and is the root of the mercle of FIGS. 38 and 39.
  • an example of the unique random number (n) of the chip (n) is ⁇ dn (i) ⁇ .
  • 0 writing and 1 writing may be exchanged. The point is that it is enough to handle at least binary data.
  • the method of obtaining a unique random number by utilizing the test mode 1, the test mode 2, and the normal access mode requires power consumption. If there is a demand for power saving even a little, it is obvious that it is not shown in particular, but wiring for accessing the special internal memory is required.
  • a power saving mode is possible as a mode for directly accessing the special internal memory using such wiring.
  • ⁇ Fi, Ri ⁇ which is an example of a unique random number, can be obtained by reading with the power saving mode selected as the access mode. In this case, it is possible to prevent the amount of information from being lost due to code conversion.
  • LA number of lines (LA) of the line group A (redundant line group)
  • LA must be larger than the sum of mA and mB. It is possible to confirm whether this condition is satisfied.
  • the address space check mode will be described. First, an arbitrary combination of a plurality of addresses is selected, writing is performed to the authentication element corresponding to them, and then reading is performed, and it is confirmed whether or not the read data and the written data match. If a sufficient number of cells are matched, this chip can be certified (passed) as having a sufficient address space as an authentication chip. If they do not match, the certification has failed.
  • FIG. 57 summarizes the relationship between the above-mentioned access mode and operation mode.
  • a redundant mode acquisition code is given to the subject to be inspected from an external input. This can be included in Challenge (C) or given separately from Challenge (C).
  • the redundant mode acquisition code has an access option for selecting an access mode, an operation option for setting an operation mode (write, erase, read), and the like as arguments.
  • the access mode includes a test mode 1, a test mode 2, a normal access mode, a power saving mode, an address space check mode, and the like.
  • Fi and Ri are stored as redundancy data ⁇ Fi, Ri ⁇ in a special internal memory (see FIG. 49).
  • the subscript i is a natural number from 1 to mB. It is desirable that the redundancy data be acquired at the time of pre-shipment inspection of the chip and stored in a special internal memory.
  • test mode 1 is an access mode using both the row decoder A and the row decoder B.
  • Test mode 2 is an access mode using only row decoding A.
  • test mode 1 is changed to the access mode using only the row decoder B as shown in FIG. 58, a unique random number ⁇ d (i) ⁇ can be obtained if it is unique to the chip.
  • 0 writing is performed in the test mode 1 and 1 writing is performed in the test mode 2 to obtain FIG. 55. Then, reading may be performed in the normal access mode.
  • 0 and 1 may be exchanged.
  • test mode 2 is changed to an access mode using only the row decoder B as shown in FIG. 59, a unique random number ⁇ d (i) ⁇ unique to the chip can be obtained.
  • 0 writing is performed in the test mode 1 and 1 writing is performed in the test mode 2 to obtain FIG. 55. Then, reading may be performed in the normal access mode.
  • 0 and 1 may be exchanged.
  • the access option is an option for switching the selection of row decoders A and B.
  • FIGS. 57-59 it is illustrated that different binary data (0 or 1) can be written to the line groups A and B by sequentially selecting test modes 1 and 2.
  • FIG. 60 shows the module configuration of the peripheral region for manipulating the row decoders A and B.
  • the cell array is divided into row line groups A and B, and is controlled by row decoders A and B, respectively.
  • the peripheral control device cooperates with the external input / output and receives the above-mentioned challenge (C) and the redundant mode acquisition code as the external input.
  • the redundant mode acquisition code is distributed to the row decoders A and B and is used to control the row decoders A and B as shown in FIGS. 57 to 59.
  • a unique random number ⁇ d (i) ⁇ is obtained from the redundancy data ⁇ Fi, Ri ⁇ stored in the special internal memory as in the result of FIG. 56 described above. That is, as shown in FIG. 61, d (i) can be obtained by converting (Fi, Ri) with the function f. When f is a dummy function that does nothing, the redundancy data itself is a unique random number.
  • This eigenrandom number ⁇ d (i) ⁇ is a set of d (i), distributed to the code generator along with the challenge (C) received as an external input, and according to the appropriate response function Res (see below), R (i). ) Is returned as a response (R).
  • the challenge is a set of C (i) ⁇ C (i) ⁇ .
  • R (i) Res (C (i), d (i))
  • ⁇ R (i) ⁇ is externally output as a response (R) via external input / output.
  • the unique random numbers of FIGS. 13, 30-35 and 40 can be obtained from the redundancy data ⁇ (Fi, Ri) ⁇ .
  • the special internal memory in the electronic device B that stores the redundancy data ⁇ (Fi, Ri) ⁇ related to the unique random numbers.
  • this redundancy data ⁇ (Fi, Ri) ⁇ may be used as it is, or may be code-converted from this data and used.
  • the special internal memory may be installed in the electronic device B together with the chip related to the unique random number, or may be installed inside the chip. In any case, it is desirable that this special internal memory is unique to electronic device B.
  • the cell array of the chip may be randomly accessed during chip operation for purposes other than authentication. In such a case, it is necessary to prevent inconsistency between the access to the cell array by the authentication operation of the present application and the access to the cell array by another operation of the chip. In this embodiment, this problem is dealt with by providing a column dedicated to authentication.
  • FIG. 62 shows the case where the authentication-only column is at the right end.
  • FIG. 63 shows a case where there is an authentication-only column slightly to the right of the center.
  • FIGS. 57 to 59 are examples when the authentication mode is selected.
  • a mode for specifying an authentication-dedicated column can be added as one of the arguments of the redundant mode acquisition code.
  • the number of columns dedicated to authentication is used as the argument in the dedicated column specification mode.
  • specify a dedicated column column number
  • FIG. 62 is an example in which the rightmost column number is selected by specifying the dedicated column.
  • FIG. 63 is an example in which a column number slightly from the right from the center is selected by designating a dedicated column.
  • the authentication-dedicated column with the column number selected in the dedicated column specification mode is selected. Subsequently, one of test mode 1, test mode 2, and normal access mode is specified in the access mode. After that, it is desirable to perform authentication according to the specifications shown in FIGS. 57 to 59.
  • the column number that was not selected in the dedicated column specification mode is selected. Then select the normal access mode.
  • FIG. 64 shows an example in which the cell array of FIG. 14 is divided into small blocks.
  • the number of small blocks in the row direction is MB, and the number of small blocks in the column direction is NB.
  • Each small block is assigned a small block address (iB, jB).
  • iB is a natural number from 1 to MB.
  • jB is a natural number from 1 to NB. This is called a block array.
  • FIG. 65 shows an example of the element arrangement in the small block.
  • the number of rows in each small block is BM
  • the number of columns is BN
  • each bit cell is assigned an address in the small block (i', j').
  • i' is a natural number from 1 to BM
  • j' is a natural number from 1 to BN.
  • the line line is a bit line or a word line.
  • the column line is a word line or a bit line.
  • division by blocks (block division) can be regarded as a generalization of division using line groups (row line group division).
  • the address (bit address) of the bit cell (authentication element) can be specified by indicating the small block address and the address in the small block.
  • FIG. 66 shows an example of a method of translating a bit address (i, j) into an address of the present embodiment. That is, a cell block address table is required.
  • the cell block address table is a correspondence table of an arbitrary address on the cell array and a combination of a small block address and a small block address.
  • a cell block address table is created according to FIGS. 64 and 65.
  • the bit address (i, j) is converted to (iB, jB; i', j') using this cell block address table.
  • the first half (iB, jB) consists of small block addresses.
  • the latter half (i', j') consists of addresses in small blocks.
  • FIG. 67 shows an example when there is a defective bit in a small block.
  • a small block containing a defective bit in this way is called a defective small block.
  • small defective blocks are arranged in the block array.
  • FIGS. 68 to 70 show an example in which two small defective blocks are distributed in a block array.
  • a small block address (sB, tB) is assigned to one of the defective small blocks.
  • FIG. 69 shows a case where there is no defective bit in the address (v', w') in the small block in the defective small block allocated to the small block address (sB, tB).
  • FIG. 70 shows a case where there is no bad bit in the small block at the small block address (pB, qB). At this time, no bad bit is selected regardless of which coordinates are selected for the address (i', j') in the small block of the bit address (pB, qB; i', j').
  • Such a small block is called a regular small block.
  • FIG. 71 shows a case where two small defective blocks are distributed in a normal block as an example.
  • FIG. 72 shows an example of a method of searching for defective small blocks in a block array divided into redundant blocks and regular blocks. It was
  • the small block address assigned to the small block on the upper left to be examined first is (1,1).
  • check if there are bad bits in the small block check if there are bad bits in the address (i', j') in the small block. That is, (1, 1; i', j') is searched. However, i'scans from 1 to BM, and j'scans from 1 to BN. If there is no defective bit after scanning from (1,1,; 1,1) to (1,1; BM, BN), this small block is a normal small block. Otherwise this small block is a bad small block. Update the small block address (as an example (1,2; I', j')) and repeat until all the small blocks in the regular block are manipulated.
  • the small block address on the upper left of the normal block is set to (1,1), and the small block is scanned in the row direction from there. When it reaches the right end, lower the column by one step and search again in the row direction from the left end (2, 1).
  • a similar method can be used to scan small blocks within a redundant block.
  • a set of small block addresses of bad small blocks ⁇ bad small blocks (iB, jB) ⁇ and a set of addresses of bad bits ⁇ (iB, jB; i', j') ⁇ are obtained. Both are random number data (unique random numbers) unique to the chip, but the set of small block addresses of bad small blocks ⁇ (iB, jB) ⁇ is better than the set ⁇ (iB, jB; i', j') ⁇ .
  • the amount of information is small, it is possible to suppress the loss of the amount of information by reducing the number of bits in the small block.
  • the set of small block addresses of small bad blocks ⁇ bad small blocks (iB, jB) ⁇ is the redundancy data. Since the redundancy data is generally related to the eigenrandom number, the set ⁇ bad small block (iB, jB) ⁇ can be regarded as the eigenrandom number.
  • FIG. 73 shows the addresses of small bad blocks displayed in binary and arranged. In this way, a set ⁇ bad small block (iB, jB) ⁇ is obtained as a random number code unique to the chip displayed as a binary of 0 and 1. This redundancy data is acquired during the pre-shipment inspection of the chip and stored in a special internal memory.
  • FIG. 74 shows an example of a method for replacing small blocks.
  • scanning is performed in the row direction, but it is also possible to scan in the column direction as shown in FIG. If power saving is not a particular problem, it is desirable to generate a unique random number from the set ⁇ bad small block (iB, jB) ⁇ by this method.
  • various scanning methods can be adopted in the present application.
  • the small blocks in the regular block are scanned one by one by the method described above or another suitable method. If the first defective small block is found, it moves to the redundant block and starts scanning the small blocks in the redundant block. Read the first normal small block that appears in the redundant block as the bad small block found in the normal block. This is referred to as replacement 1 in FIG. 73. After the reading 1, the small block address in the redundant block is updated to return to the normal block, the small block address in the normal block is updated, and the scan in the normal block is restarted. If the next defective small block is found, it moves to the redundant block and starts scanning the small blocks in the redundant block. Read the first normal small block that appears in the redundant block as the bad small block found in the normal block. This is referred to as replacement 2 in FIG. 73. After the reading 2, the small block address in the redundant block is updated to return to the normal block, the small block address in the normal block is updated, and the scan in the normal block is restarted.
  • the redundant block and the normal block must be divided so that the number of normal small blocks in the redundant block is larger than the number of bad small blocks found in the normal block. This is determined by the design specifications of the chip, but if only the chips that meet this condition in the adopted design specifications are shipped as good products, all the shipped chips will be "from the number of defective small blocks found in the regular block". The condition that "the number of regular small blocks in the redundant block increases" is satisfied.
  • the division by small blocks is a generalization of the division using the row line group. That is, the present embodiment also has a relationship corresponding to the method of selecting the access option and the operation option shown in FIGS. 57 to 59. It is shown in FIGS. 75 to 77. They correspond to FIGS. 57 to 59, respectively.
  • a redundant mode acquisition code is given to the subject to be inspected from an external input. This can be included in Challenge (C) or given separately from Challenge (C).
  • the redundant mode acquisition code has an access option for selecting an access mode, an operation option for setting an operation mode (write, erase, read), and the like as arguments.
  • the access mode includes a test mode 1, a test mode 2, a normal access mode, a power saving mode, an address space check mode, and the like. Up to this point, it is the same as in FIG. 57.
  • the information stored in the special internal memory is replaced with a set ⁇ small blocks (iB, jB) ⁇ that generalizes the line group division. Furthermore, for bit address translation, the cell block address table of FIG. 66 must be read from the normal access mode.
  • test modes 1 and 2 The generalization of test modes 1 and 2 to block division needs to be explained again.
  • FIG. 78 shows how row decoder A, row decoder B, and column decoders are used to control access to redundant and regular blocks.
  • the peripheral controller accepts Challenge (C) and redundant mode acquisition codes through external I / O.
  • the row decoder A controls the access to the redundant block together with the column decoder.
  • the row decoder B controls access to the regular block together with the column decoder. Further manipulate the operation options to get a set of bad bit addresses ⁇ (i, j) ⁇ . Convert this to a set of addresses of bad small blocks ⁇ (iB, jB) ⁇ using the cell block address table.
  • This is data in which 0s and 1s are distributed in a checkered pattern, as shown in FIG. 79, for example. This can be converted to binary display to obtain a unique random number ⁇ d (i) ⁇ . Save it in a special internal memory.
  • the challenge (C) obtained from this unique random number and the external input / output is input to the response function (Res) in paragraph 0171 to obtain the response ⁇ R (i) ⁇ .
  • ⁇ R (i) ⁇ is externally output as a response (R) via external input / output.
  • FIG. 80 is a conceptualization of the above-mentioned operation. Compared with FIG. 61, the unique random number stored in the special internal memory is a set of addresses of defective small blocks, and only this point is different. Other than that, it is the same, so detailed explanation is omitted.
  • the cell array of chips may be randomly accessed during chip operation for purposes other than authentication. In such a case, it is necessary to prevent inconsistency between the access to the cell array by the authentication operation of the present application and the access to the cell array by another operation of the chip.
  • FIG. 81 shows the case where the authentication-dedicated bit is at the upper left corner of the small block.
  • FIG. 82 shows a case where the authentication-dedicated bit is located slightly from the upper left corner to the center.
  • FIGS. 75 to 77 are examples when the authentication mode is selected.
  • a mode in which the authentication-dedicated bit is specified as one of the arguments of the redundant mode acquisition code.
  • the row number and column number of the authentication-dedicated bit are used as the argument (specified bit address) of the dedicated bit specification mode.
  • specify a dedicated bit row number, column number.
  • the address in the small block is selected by specifying the dedicated bit.
  • FIG. 81 is an example in which the upper leftmost bit in the small block is selected by specifying the dedicated bit.
  • FIG. 82 is an example in which a bit from the upper left corner to the center right is selected by specifying a dedicated bit.
  • the authentication-dedicated bit of the bit selected in the dedicated column specification mode is selected. Subsequently, one of test mode 1, test mode 2, and normal access mode is specified in the access mode. After that, authentication can be performed according to the specifications of FIGS. 75 to 77.
  • the non-authentication mode is selected in the dedicated bit specification mode
  • the bits not selected by the dedicated bit specification are selected in each small block. Then select the normal access mode.
  • the redundancy code ⁇ bad small block (iB, jB) ⁇ can be used as the data related to the unique random numbers of FIGS. 13, 30-35, and 40.
  • the redundancy code ⁇ (Fi, Ri) ⁇ can be used as the data related to the unique random numbers of FIGS. 13, 30-35, and 40.
  • defective code information data related to the defective bit distribution unique to the chip (defective code information) is stored as data related to the unique random number unique to the chip.
  • Generating a response (R) from a challenge (C) with this bad code information according to the equation in paragraph 0060 is consistent with the fact that a response (R) is eventually generated using a unique random number and the challenge (C).
  • This response (R) can be considered to be determined by the challenge (C) and the chip only if the eigenrandom number is unique to the chip, that is, if the eigenrandom number can be considered to have a one-to-one relationship with the chip. ..
  • the inspection subject receives this response (R) output from the device to be inspected, and authenticates the device to be inspected from the combination of C and R. At this time, it is desirable that the inspection subject plays the role of the test server shown in FIG. 41.
  • this secret key is inseparably associated with a unique random number unique to the chip constituting the device to be inspected.
  • the challenge (C) is also included as an argument. Therefore, even if a hacker steals a unique random number, the inspector uses the set (C, R) to authenticate the inspected device, so unless the inspector itself is hacked, it is not possible to tamper with the inspected device's authentication. It's impossible.
  • a test server exists as a central position of a physical firewall.
  • the test server keeps other electronic devices (peripheral devices) under control, and the peripheral devices can communicate with each other using the public key or the code information generated from the public key as a logical address.
  • the difference between communicating with another electronic device in the physical firewall and communicating with an external electronic device is whether the test server can be authenticated. Since the external electronic device cannot be authenticated by the test server, it is up to the administrator to decide whether or not to communicate with the external electronic device or what kind of communication is to be performed. As an example, it is desirable to communicate with an electronic device outside the physical firewall via a test server.
  • the test server manages the authentication of peripheral devices using a set of combinations of inputs (challenge, C) and responses (R) from peripheral devices under its control. If the test server inputs the same challenge (C) to the peripherals under its control all at once, each peripheral will respond with a different response (R), so the test server will get the set ⁇ R ⁇ of R. ..
  • the test server can change Challenge (C) from time to time and send it to peripheral devices under its control each time. This is a change in Challenge (C).
  • the set of responses (R) from each peripheral device is also changed in response to the changed challenge (C). That is, the test server can manage the authentication of peripheral devices in the physical firewall using a combination of C and ⁇ R ⁇ that can be updated as appropriate.
  • Chip authentication using unique random numbers unique to the chip is centralized management centered on the test server, and communication between electronic devices whose components are authenticated chips is entrusted to distributed management such as blockchain, and central management and distributed management. It is possible to strengthen the security of the IoT network by complementing each other. Further, it is desirable that the redundancy data is unique to the chip as well as the unique random number.
  • the private key and the public key are generated from the response (R (n)), but the private key and the public key can also be generated from the unique random number (n). ..
  • the inspection subject inputs the challenge (C) to the key generator as an example, as shown in FIGS. 83 and 84.
  • the unique random number (n) and this challenge (C) can be synthesized by some method, and a pair of private key and public key can be generated by a predetermined algorithm (RSA type or Elgamal type) based on the synthetic random number (n).
  • RSA type or Elgamal type a predetermined algorithm
  • 83 and 84 correspond to the case where the Elgamal type and RSA type algorithms are used for the key generator, respectively.
  • the method of synthesizing the eigenrandom number (n) and the challenge (C) can be realized by using a logical gate with two inputs and one output such as logical AND, logical NAND, logical XOR, logical OR, and logical NOR. ..
  • a logical gate with two inputs and one output such as logical AND, logical NAND, logical XOR, logical OR, and logical NOR. ..
  • the second input as shown in FIGS. 31 and 32 or 34 and 35 in the embodiments of FIGS. 83 and 84.
  • the code generator of FIGS. 60, 61, 78, 80 is not always used.
  • FIGS. 60 and 78 it is also possible to install the key generation device in the peripheral control device. At this time, the key generator may be installed as software or may be incorporated as an embedded circuit.
  • FIGS. 41 and 45 are used properly.
  • the central management is that the test server authenticates each node (peripheral device) belonging to the network.
  • FIG. 45 it is distributed management that each node communicates with each other without going through the test server.
  • N peripheral devices devices to be inspected
  • a test server sends a first challenge (CA) to these N peripherals.
  • These N peripheral devices generate responses (R1, R2 ... RN) to C using internal random numbers, and send them back to the test server.
  • the test server stores this challenge / response pair (CAR1, CAR2, CAR3... CARN). This stored data is referred to as ⁇ CAR ⁇ .
  • Such registration can be performed at any time for the convenience of central management. For example, when cyber terrorism occurs, temporary authentication can be removed, all nodes can be disconnected, safety confirmation can be performed, and then appropriate can be performed to restore the network.
  • the test server checks if any node on the network is a peripheral under its control. For example, the test server sends a first challenge (CA) to any selected node. Suppose this node returns a response (RA) to the test server. The test server compares it with the stored ⁇ CAR ⁇ . If a CA / RA pair is found in this stored ⁇ CAR ⁇ , then this node is known to be a registered node. If not, the connection is not allowed. In this way, it can be excluded from the outside of the physical firewall as shown in FIG.
  • CA first challenge
  • RA response
  • Nodes known to belong to a physical firewall can freely communicate with each other by the method described above. As shown in FIG. 45, this communication is protected by cyber security technology and is subject to distributed management.
  • the cyber security technology proposed by the present application is described in FIGS. 27-35, 40, 83, 84.
  • FIGS. 36-39 the cyber security technology of the present application has good consistency with the blockchain.
  • R (N) in FIGS. 36 and 37 is the response R (n) in FIGS. 27-35.
  • R (N) in FIGS. 36 and 37 may be replaced with the eigenrandom number (N). Since it is self-explanatory, the drawings are omitted.
  • the challenge input to the IC chip in order to obtain a response using a unique random number is a second challenge (CB) different from the first challenge (CA).
  • CB second challenge
  • the first challenge (CA) has been exposed to the network once, so the possibility of being exploited by hackers is not zero.
  • the first and second challenges may be equivalent as long as the first challenge can be prevented from being exploited in another way. It may or may not be the test server that distributes the second challenge to each peripheral. If it is not the test server that distributes the second challenge, it will be a network with two inspection bodies. In this case, it is desirable because it is easy to clarify the separation and collaboration between central management and decentralized management.
  • the figure explaining an example of the relationship between a network of electronic devices and a cyber network (logical network).
  • the figure explaining an example of the relationship between a network of electronic devices and a cyber network (logical network).
  • the figure explaining an example of the network of an electronic device The figure explaining an example of spoofing.
  • the figure explaining an example of spoofing The figure explaining an example of the network of spoofed electronic devices.
  • the figure explaining an example of the authentication method of an electronic device The figure explaining an example of the authentication method of the electronic device at the time of spoofing.
  • the figure explaining an example of the mechanism of data input / output and memory The figure explaining an example of theta transfer and the data flow between memory.
  • the figure explaining the concept of the electronic device authentication method concerning this application. The figure which showed an example of the cell array of the authentication element.
  • the figure explaining the example which uses the resistance wire as an authentication element. The figure explaining the example which uses a capacitor as an authentication element.
  • the figure explaining an example of the authentication method of the electronic device which concerns on this application. The figure explaining an example of the authentication method of the electronic device which concerns on this application.
  • the figure explaining an example of the method of generating a private key and a public key in the method of authenticating an electronic device which concerns on this application The figure explaining an example of the method of generating a private key and a public key in the method of authenticating an electronic device which concerns on this application.
  • the figure explaining an example of the method of generating a private key and a public key in the method of authenticating an electronic device which concerns on this application The figure explaining an example of the method of generating a private key and a public key in the method of authenticating an electronic device which concerns on this application.
  • the figure explaining an example of the method of generating a private key and a public key in the method of authenticating an electronic device which concerns on this application The figure explaining an example of the method of generating a private key and a public key in the method of authenticating an electronic device which concerns on this application.
  • the figure explaining an example of the conventional firewall. A diagram illustrating an example of a conventional firewall being broken by spoofing.
  • the figure explaining an example of how to use line redundancy. The figure explaining an example of how to use line redundancy.
  • the figure explaining an example of how to use block redundancy. The figure explaining an example of how to use block redundancy.
  • the figure explaining an example of how to use block redundancy The figure explaining an example of how to use block redundancy.
  • the figure explaining an example of how to use block redundancy. The figure explaining an example which expressed the distribution of a bad small block address by a binary code.
  • the figure explaining an example of how to use block redundancy. The figure explaining an example of how to use a redundant mode acquisition code.
  • the figure explaining an example of how to use a redundant mode acquisition code The figure explaining an example of how to use a redundant mode acquisition code.
  • the figure explaining an example of how to use a redundant mode acquisition code The figure explaining an example which realizes the authentication method of the electronic device which concerns on this application by utilizing a redundant mode acquisition code.
  • the figure which shows that the distribution of a bad small block is converted into a eigenrandom number.
  • the figure explaining an example of the physical firewall configured by utilizing the concept of the authentication method of the electronic device of this application.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Small-Scale Networks (AREA)

Abstract

【課題】 電子装置のなりすましは論理的な防衛策だけでは防御しきれない。むしろ、論理的防御策は、なりすましによる攻撃をかえって防御しにくくしている。このような状況を鑑み、電子装置のなりすましを防ぐ方法を提供する。 【解決手段】 電子装置に含まれるICチップに固有な固有乱数と電子装置へのチャレンジとから得るレスポンスを用いて、電子装置の認証を行い、認証済みの電子装置からなる物理ファイヤウォールを作成する。更に、前記レスポンスを用いて秘密鍵と公開鍵のペアを生成し、前記公開鍵、あるいは、前記公開鍵から生成するコード情報を前記電子装置の論理アドレスとし、前記秘密鍵を用いて生成した電子署名を物理ファイヤウォール内の電子装置間のデータ送受信に用いる。

Description

自動認証ICチップ
本発明は、自動認証機能を備えたメモリチップの技術に関する。
20世紀インターネットの普及の結果ネットワーク技術の活用範囲は急速に広まった。21世紀に入りその流れはモノのインターネット(IoT)として再加速が期待している。一方、国境を跨いだIoTネットワークは、国外のハッカー(特に違法行為を働く場合違法ハッカー)にIoT機器を遠隔操作される危険がある。
IoTネットワークとは、電子装置のネットワークである。しかしながら通常のインターネットとの違いは、これまでのところ実はあいまいのままにされている。
サイバーネットワークと言えば、バーチャルなアカウント間のネットワークであり、IoTネットワークでもサイバーネットワークでも、現代のネットワークとは電子データをやり取りする情報通信のインフラストラクチャーである。バーチャルなアカウントとは、ネットワーク上の論理的なアドレスであり、電子装置そのものとは本質的に異なる。インターネットでは、この電子装置と論理アドレスをリンクさせるプロトコルの一部として物理アドレスが存在する。
プロトコルとはコード情報の通信を処理するためのルーチンプロセスであり、そのルーチンプロセス自体も符号化してコード情報として扱うことができる。つまり、プロトコルはソフトウェアであり、特定の電子装置に由来しない。所定の規格を満たしていればどの電子装置にインストールしても同様に動作する。すなわち、物理アドレスは必ずしも特定の電子装置に由来するものではない。人為的に(プロトコル上)、とある物理アドレスがとある電子装置にリンクしている、とみなしているに過ぎない。ハッカーはいつでもこの物理アドレスを改ざんすることができる。
にもかかわらず、インターネット上の電子機器同士は物理的に連結しており、互いの間を電子情報が行き来していることは間違いない。この連結は時に有線であり、時に無線である。物理アドレスが改ざんされるということは、論理アドレス間の情報通信に問題がなくても、すなわちサイバーネットワーク上問題がなくても、インターネットのプロトコルが騙されるということである。
図1は、この状況を説明する図面である。上に電子装置AからCよりなるネットワーク(電子装置のネットワーク、あるいは、IoTネットワーク、あるいは、物理ネットワーク)があり、下に論理アドレスAからCよりなるネットワーク(論理ネットワークあるいはサイバーネットワーク)がある。上下のネットワークを結びつける破線は、電子装置AからCがそれぞれ論理アドレスAからCにリンクしていることを示している。すなわち、この破線が物理アドレスであり、インターネットのプロトコル(以下単にプロトコル)は、この物理アドレスを含む論理アドレス同士の情報通信をつかさどる。
物理アドレスがいつでも改ざんできるようになっているのには理由がある。それはソフトウェアの定義そのものによる。
チューリングマシンの考え方までたどれば、電子装置に可能なすべての処理は符号化できることがわかる。同じ規格で設計された電子装置(ハードウェア)であれば符号化した処理の塊(ソフトウェア)が同じように動作することを要求すると、ハードウェアとソフトウェアの開発をそれぞれ独立して行えるようになる。ハードウェアとソフトウェアが独立してそれぞれ性能を向上すると、時にソフトウェアが、古いハードウェアから新しいハードウェアに乗り換えること(ソフトウェアの再インストール)が求められる。このとき、再インストールするソフトウェアをインターネット上で使用するための論理アドレスは、古いハードウェア(電子装置1)とのリンクを一度切り、新しいハードウェア(電子装置2)と新たにリンクを築くことになる。この反対の作業がソフトウェアのアップデートである。
このように物理アドレス(電子装置と論理アドレスのリンク)の編集は、システムメンテナンスをするために必要な機能である。この編集を違法ハッカーが行えば不正改ざんになる。
こうして、インターネットプロトコルが情報通信をつかさどる総体をインターネットとみなすと、それは図1のサイバーネットワークと物理アドレスを含み、電子装置AからCを含まないことがわかる。すなわち、図2のように、インターネットとは、論理アドレスAからCよりなるネットワーク(論理ネットワークあるいはサイバーネットワーク)と、各論理アドレスを何者かと結びつける破線(物理アドレス)、とからなるものであることがわかる。この何者かが何であるかについて、インターネットのプロトコルは何も関知しないことは、とりわけ重要である。もし関知するとしたら、それはソフトウェアの成り立ちそのものを否定することになりかねない。
反対に、図1から図2の要素をすべて取り除いたものがIoTネットワーク(電子装置のネットワーク、あるいは、物理ネットワーク)である。図3参照。以上でIoTネットワーク(物理ネットワーク、あるいは、電子装置のネットワーク)が現在インターネットと呼ばれているものと一致しないことが明らかになった。ただし、図3のままだとアプリケーションがないのでIoTネットワークは大した仕事は何もできない。
 
(なりすまし)
図1をIoTネットワークであるとすると、違法ハッカーはなりすましという方法を用いることによって、サイバーネットワーク上の任意のセキュリティ(サイバーセキュリティ)を簡単に破ることが可能となる。図4から6は、なりすましの一例を説明する図である。
まず、図4のように、違法ハッカーは正規の論理アドレスを一つ適当に選ぶ。例えばそれを論理アドレスBとしよう。次にこの論理アドレスBを自らが所有する電子装置(一例としてラップトップ)に割り当てられた論理アドレス(論理アドレスB‘)と交換する。これは、図5のように、電子装置Bと論理アドレスBのリンクを改ざんし、この違法ハッカーが所有するデバイス(たとえば図中ではラップトップ)にリンクすることである。結果は図6のようになる。
物理アドレスによる電子装置と論理アドレスのリンク(すなわち、インターネットのプロトコル)を完全なものと仮定すると、電子装置同士の情報通信と対応する論理アドレス同士の情報通信は常に一致していることになる。このため、サイバーセキュリティさえ十分強力にしておきさえすれば電子装置のネットワークは安全であるということになる。これが誤解であるということは、図6を見れば自明である。
図6では、論理アドレスAを割り当てられた電子装置Aと、論理アドレスCを割り当てられた電子装置Cの間に、電子装置Bと論理アドレスBのリンク(物理アドレス)を改ざんして論理アドレスBをコピーした違法ハッカーB所有のラップトップが存在している。こうして、違法ハッカーは、コピーした論理アドレスBを利用して、電子装置Aと電子装置Cの間に中間者としてなりすますことができる。
このように、なりすましはソフトウェアの定義そのものを活用した攻撃であるため、どのようなソフトウェア上の防御も無力である。
 
(中間者攻撃)
違法ハッカーは、電子装置Aと電子装置Cの間の情報通信を改ざんすることが可能である。このような攻撃を中間者攻撃という。仮に論理アドレスAと論理アドレスCの間の情報通信が暗号化されていたとしても中間者攻撃を防ぐことはできない。なぜなら、中間者攻撃の目的は必ずしも電子装置Aと電子装置Cの間の情報通信の傍受とは限らない。盗み見ることができなくとも、電子装置Aと電子装置Cの間に偽情報を流して電子装置Aと電子装置Cの間の連携を乱すことが可能である。
IoTの主な活用事例の一つは、複数の電子装置が能動的に連携して複雑で大規模な作業を共同して行うことである。中間者攻撃の主な目的は、このような複雑で大規模な作業を行うIoTネットワーク(電子装置の連携)を遠隔操作によってかき乱すことである。IoTが普及するほど中間者攻撃が齎す潜在的な損害は膨大になる。
例えば、IoTネットワークを構成する電子装置(IoTデバイス)は、スマートフォン、タブレット、ラップトップ、PCなどの情報端末、スマートメーター、センサー、監視カメラ、あるいは、複数のセンサー等を搭載したドローンや車両などである。図7のように、これらIoTデバイスは、人口知能(AI)を頂点とするビジネスモデルの最下層に広がっている。これら市中にあふれたIoTデバイスがかき集めた様々な情報の塊が中段のビッグデータである。上段の人工知能(AI)がそれを活用して様々な問題を解決することが期待されている。
しかしながら、ここになりすまされたIoTデバイス(電子装置)が隠れていると中間者攻撃によって改ざんされた情報が紛れ込み、ビッグデータの信頼性が疑問視される。こうして人工知能(AI)の誤作動を招く可能性がる。スマートファクトリーでは、5Gなどの高速通信で接続された機械が連携して作業をこなす。これらの機械や制御ボード等がなりすまされると、スマートファクトリーが停止させられる可能性がある。コネクテッドカーと呼ばれ、インターネットと接続した自動車は複数の電子装置を搭載しており、その一部がなりすまされると自動運転が誤作動をおこしたり、最悪の場合乗っ取られたりする恐れがある。
このように、電子装置のなりすましによる被害は、器物損壊、工場停止、人命等にまで及び、従来のサイバー攻撃とは次元の異なる脅威となることが自明である。
図8は、電子装置Aが電子装置Bを認証するプロトコルの一例を簡単に示したものである。
まず、電子装置Aは電子装置Bに認証応答を請求する。この図の例では判りやすく「Bさん、あんた誰?」と書いているが実際には電子装置Aから電子装置Bに何らかのデジタルコード(チャレンジ)が送られている。これに対し、電子装置Bは「私は、論理アドレスBです」と返答している。もちろん実際には、電子装置Bから電子装置Aに何らかの電子コード(レスポンス)を返答している。
このチャレンジとレスポンスのやりとり(認証通信)が何らかのサイバーセキュリティツールによってしっかり保護されていれば、一見安全な認証が行われているように思われる。
図9は、電子装置Bが成りすまされている場合のチャレンジとレスポンスの応答の一例である。
電子装置Aから、論理アドレスBになりすましたハッカーのラップトップに図8と同じチャレンジ「Bさん、あんた誰?」を送ると、ハッカーのラップトップは「私は、論理アドレスBです」と返答している。つまり、なりすましがあってもチャレンジとレスポンスの組み合わせは変更されない。
このチャレンジとレスポンスのやりとり(認証通信)が何らかのサイバーセキュリティツールによってしっかり保護されていれば、一見安全な認証が行われているように思われる。しかしながら、それはハッカーのラップトップとの通信まで保護していることになる。すなわち、なりすまされた通信機器を探索し排除しようと思っても、サイバーセキュリティはハッカーのラップトップ(成りすまされた通信機器)まで保護してしまうのである。
上述のように、サイバーセキュリティツールがどんなに強力であっても、なりすまし防止対策は難しいことが判る。ブロックチェーンなどを利用した最新のサイバーセキュリティツールを使っても事情は同じである。
(リアル)
次に、情報がどのように情報機器の間を転送されていくのか見てみよう。まず情報はデジタルデータ(あるいは単にデータ)に変換され、情報機器から情報機器に転送されていく。したがって、単体の情報機器内でデータがどのように扱われるのか知っておく必要がある。
現在ネットワーク上で使用されているほぼすべての情報機器はノイマン型コンピュータ(あるいはノイマンコンピュータ、あるいは単にコンピュータ)であると考えてよい。図10は、コンピュータに出入りするデータの流れを概略したものである。
コンピュータは入出力装置(I/O)から入力を受け取り、それを演算ユニットに渡す。演算ユニットは演算をするたびにメモリにアクセスする。このメモリには伝統的に多層階の階層が存在し、上位からレジスタ、キャッシュメモリ(SRAM等)、メインメモリ(DRAM等)、更に下の階層になるとコンピュータの電源を落としてもデータを失わないストレージメモリ(フラッシュメモリ等)が存在する。上位ほど動作スピードが速く、下位ほどビット容量が高い。
一例として、プロセッサーコアとレジスタ、キャッシュを含めて演算ユニットとする。これにメインメモリとしてスタンドアローンのDRAMを組み合わせ、必要に応じてフラッシュメモリ等を追加して情報機器(あるいはコンピュータ)の大まかな構成が出来上がる。DRAMを含まない情報機器は扱えるデータ量が大幅に制限される。
情報機器同士がデータをやり取りするには、第一の情報機器がI/Oを通じてデータを出力し、このデータがI/Oを通じて第二の情報機器に入力される例を考えればよい。一例として、図11のように、第一の情報機器(上段)から第二の情報機器(中段)にデータが転送される場合を考える。
まず、上段のメモリチップ(あるいはICチップ)から読み出したデータを上段の演算ユニットに渡し、そこで適当な処理を施した後上段のI/Oから出力する。出力されたデータはネットワーク上にさらされ、転送先である中段のI/Oを見つけるとそこで中段の情報機器に取り込まれる(入力される)。このデータは、更に中段の演算ユニットで適当な処理を施された後中段のメモリチップに書き込まれる(保存される)。
続いて、中段のメモリチップから読み出したデータを中段の演算ユニットに渡し、そこで適当な処理を施した後中段のI/Oから出力する。出力されたデータはネットワーク上にさらされ、転送先である下段のI/Oを見つけるとそこで下段の情報機器に取り込まれる(入力される)。このデータは、更に下段の演算ユニットで適当な処理を施された後下段のメモリチップに書き込まれる(保存される)。
こうして、上段、中段、下段とメモリチップ間をデータが転送されていくのがわかる。つまり、情報機器間の情報の流れをモニターするということは、メモリチップ間のデータの転送をモニターすることと等価である。このとき、サイバー空間に割り当てられている論理アドレス(IPアドレス等)は一切出てこないことに注意が必要である。
図1で説明した電子装置A、B、Cの間の情報交換についてもう一度考えよう。
図1の電子装置A、B、Cは、それぞれ、図11の上段、中段、下段の情報機器(コンピュータ)ユニットを内蔵している。あるいは、図1の電子装置A、B、Cは、それぞれ図11の上段、中段、下段の情報機器(コンピュータ)である。つまり、これまで説明してきた図1-6、および、図8,9の電子装置間の情報交換は、すべて図11の上段、中段、下段のメモリチップ間をデータが転送されていくことと等価である。
しかしながら、図11には論理アドレスに関する情報が何もない。つまり、サイバー空間での情報交換とIoTネットワークでのリアルのデータ通信との間にはきちんと定義された関係がこれまでなかったのである。
(サイバー)
次に、サイバー空間(論理ネットワーク)で情報がどのように転送されていくのか大まかに見てみよう。図12は、ブロックチェーンなどにも採用されている情報転送の手法の一例である。
現時点での情報(ハッシュ値(N-1))の終着点を論理アカウント(N)とする。この論理アカウント(N)に最後に情報(ハッシュ値(N-1))を引き渡したのが論理アカウント(N-1)である。論理アカウント(N-1)では、ハッシュ値(N-2)からこのハッシュ値(N-1)を生成する。この論理アカウント(N-1)に最後に情報(ハッシュ値(N-2))を引き渡したのが論理アカウント(N-2)である。論理アカウント(N-2)では、ハッシュ値(N-3)からハッシュ値(N-2)を生成する。
それぞれ、論理アドレスに対応する公開鍵(N)、(N-1)、(N-2)を持っている。公開鍵(N)、(N-1)、(N-2)は、公開鍵暗号(PKI)によってそれぞれ秘密鍵(N)、(N-1)、(N-2)に一対一に結びつけられている。
論理アカウント(N-2)は、ネットワークに公開されている論理アカウント(N-1)の論理アドレスである公開鍵(N-1)を取得し、秘密鍵(N-2)を使って公開鍵(N-1)とハッシュ値(N-3)を合わせて暗号化し、電子署名(N-2)を生成する。さらに論理アカウント(N-2)は、公開鍵(N-2)、ハッシュ値(N-3)および電子署名(N-3)をまとめてハッシュ化し、ハッシュ値(N-2)を生成する。そして論理アカウント(N-2)は、電子署名(N-2)を付けてハッシュ値(N-2)を論理アカウント(N-1)に転送する。
論理アカウント(N-1)は、ネットワークに公開されている論理アカウント(N)の論理アドレスである公開鍵(N)を取得し、秘密鍵(N-1)を使って公開鍵(N)とハッシュ値(N-2)を合わせて暗号化し、電子署名(N-1)を生成する。さらに論理アカウント(N-1)は、公開鍵(N-1)、ハッシュ値(N-2)および電子署名(N-2)をまとめてハッシュ化し、ハッシュ値(N-1)を生成する。そして論理アカウント(N-1)は、電子署名(N-1)を付けてハッシュ値(N-1)を論理アカウント(N)に転送する。
しかしながら、図12には情報機器のメモリチップに関する情報が何もない。つまり、サイバー空間での情報交換とIoTネットワークでのリアルのデータ通信との間にはきちんと定義された関係がこれまでなかったのである。
 
本発明は上記事情を鑑みて成されたものであり、
 
ブロックチェーン等を採用した最新のサイバーセキュリティツールを利用しても電子機器のなりすましを自動検索し、なりすまされた電子機器を自動排除するための技術、
 
を提供することを目的とする。
 
本発明は、上記課題を解決するため、以下の手段を採用する。
本発明が提案する解決手段は、
 
複数の電子装置からなる電子装置のネットワークであり、
前記複数の電子装置のうち、M個の電子装置が第一から第Mの被検査装置であり、
その他前記複数の電子装置のうち少なくとも電子装置が検査主体となり、
 
前記第一から第Mの被検査装置は、それぞれ第一から第Mの周辺装置であり、
前記検査主体は、前記第一から第Mの周辺装置に第一のチャレンジを入力し、
 
前記第一から第Mの周辺装置は、前記第一のチャレンジに応じて、レスポンス関数に基づき、それぞれ第一から第Mのレスポンスを前記検査主体に返し、
 
前記第一から第Mのレスポンスは、前記第一から第Mのレスポンスを要素とする第一のレスポンス集合を形成し、
前記検査主体は、前記第一のチャレンジおよび前記第一のレスポンス集合を保存し、
 
前記第一から第Mの周辺装置の少なくとも一つの周辺装置は、前記検査主体から送られてくる第二のチャレンジを受信し、第M+1のレスポンスを生成し、前記第M+1のレスポンスから、第M+1の秘密鍵と、第M+1の公開鍵のペアを生成し、
 
前記第一から第Mの周辺装置は、それぞれ第一から第MのICチップを構成要素とし、
 
前記レスポンス関数は、前記第一のチャレンジ、及び、前記第一から第MのICチップに固有の固有乱数を引数として、前記第一から第Mのレスポンスを、それぞれ生成し、
 
前記レスポンス関数は、前記第二のチャレンジ、及び、前記第二チャレンジを入力したICチップに固有の固有乱数を引数として、前記第M+1のレスポンスを、生成する、
 
 
ことを特徴とし、
 
または、
 
複数の電子装置からなる電子装置のネットワークであり、
前記複数の電子装置のうち、M個の電子装置が第一から第Mの被検査装置であり、
その他前記複数の電子装置のうち少なくとも二つの電子装置が第一および第二の検査主体となり、
 
前記第一から第Mの被検査装置は、それぞれ第一から第Mの周辺装置であり、
前記検査主体は、前記第一から第Mの周辺装置に第一のチャレンジを入力し、
 
前記第一から第Mの周辺装置は、前記第一のチャレンジに応じて、レスポンス関数に基づき、それぞれ第一から第Mのレスポンスを前記検査主体に返し、
 
前記第一から第Mのレスポンスは、前記第一から第Mのレスポンスを要素とする第一のレスポンス集合を形成し、
前記検査主体は、前記第一のチャレンジおよび前記第一のレスポンス集合を保存し、
 
前記第一から第Mの周辺装置の少なくとも一つの周辺装置は、前記第二の検査主体から送られてくる第二のチャレンジを受信し、第M+1のレスポンスを生成し、前記第M+1のレスポンスから、第M+1の秘密鍵と、第M+1の公開鍵のペアを生成し、
 
前記第一から第Mの周辺装置は、それぞれ第一から第MのICチップを構成要素とし、
 
前記レスポンス関数は、前記第一のチャレンジ、及び、前記第一から第MのICチップに固有の固有乱数を引数として、前記第一から第Mのレスポンスを、それぞれ生成し、
 
前記レスポンス関数は、前記第二のチャレンジ、及び、前記第二チャレンジを入力したICチップに固有の固有乱数を引数として、前記第M+1のレスポンスを、生成する、
 
ことを特徴とする。
 
本発明が提案する解決手段は、更に次の特徴を有する。
 
前記ICチップは、セルアレイ、行デコーダ、周辺制御装置、コード生成装置、特殊内部メモリ、外部入出力、を有し、
 
前記セルアレイは、第一および第二のセルアレイに分割され、
前記行デコーダは、第一および第二の行デコーダに分割され、
 
前記第一および第二の行デコーダは、それぞれ前記第一および第二のセルアレイへのアクセスを操り、
 
前記周辺制御装置は、前記外部入出力から冗長モード取得コード及びチャレンジを受け取り、前記冗長モード取得コードに基づいて前記第一及び第二のデコーダを操り、前記チャレンジを前記コード生成装置に渡し、前記特殊内部メモリに保存された冗長性コードに基づき、前記第一および第二のセルアレイへのアクセスから前記固有乱数を取得し、前記固有乱数を前記コード生成装置に渡し、
 
前記コード生成装置は、前記レスポンス関数を用い、前記チャレンジおよび前記固有乱数から、前記レスポンスを生成し、前記外部入出力装置に渡し、
 
前記外部入出力は、前記冗長モード取得コード及び前記チャレンジの入力を外部から受け取り、前記コード生成装置から前記レスポンスを受け取り、前記レスポンスを前記ICチップ外部に出力する、ことを可能とする。
 
本発明が提案する解決手段は、更に次の特徴を有する。
 
複数の電子装置からなる電子装置のネットワークであり、
前記複数の電子装置のうち、第一の電子装置が検査主体となり、第二の電子装置が被検査装置となり、
 
前記検査主体は、前記第二の電子装置にチャレンジを入力し、
前記第二の電子装置は、レスポンス関数に基づき、前記チャレンジに応じて、レスポンスを生成し、
 
前記第二の電子装置は、少なくとも一つのICチップを有し、
前記ICチップは、セルアレイ、行デコーダ、周辺制御装置、コード生成装置、特殊内部メモリ、外部入出力、を有し、
 
前記セルアレイは、第一および第二のセルアレイに分割され、
前記行デコーダは、第一および第二の行デコーダに分割され、
 
前記第一および第二の行デコーダは、それぞれ前記第一および第二のセルアレイへのアクセスを操り、
 
前記周辺制御装置は、前記外部入出力から冗長モード取得コード及び前記チャレンジを受け取り、前記冗長モード取得コードに基づいて前記第一及び第二のデコーダを操り、前記チャレンジを前記コード生成装置に渡し、前記特殊内部メモリに保存された、冗長性コードに基づき、前記第一および第二のセルアレイへのアクセスから、前記ICチップに固有な固有乱数を取得し、前記固有乱数を前記コード生成装置に渡し、
 
前記コード生成装置は、前記チャレンジおよび前記固有乱数から、前記レスポンスを生成し、
 
前記外部入出力は、前記冗長モード取得コード及び前記チャレンジの入力を外部から受け取り、前記コード生成装置から前記レスポンスを受け取り、前記レスポンスを前記ICチップ外部に出力し、
 
前記冗長モード取得コードは、認証設定オプション、専用ビット指定モード、アクセスオプション、動作オプションを含み、
 
前記セルアレイは、複数の小ブロックに分割され、
前記ICチップは、更に、セルブロックアドレス表を、有し、
前記セルブロックアドレス表は、前記セルアレイ上の任意のアドレスと、小ブロックアドレスおよび小ブロック内アドレスの組み合わせと、の対応表であり、
 
前記専用ビット指定モードは、指定ビットアドレスを引数に持ち、
前記指定ビットアドレスは、前記小ブロック内の認証専用ビットであり、
 
前記認証設定オプションは、認証モード、もしくは、非認証モードからなり、前記認証モードが選択された場合前記認証専用ビットが前記小ブロック内アドレスの選択ビットアドレスとして選択され、前記非認証モードが選択された場合前記認証専用ビット以外の一つのビットが、前記小ブロック内の選択ビットアドレスとして選択され、
 
前記アクセスオプションは、前記列デコーダ、前記第一および第二の行デコーダの組み合わせを操り、前記セルアレイ上の各ビットアドレスへのアクセスを指示し、
 
前記動作オプションは、前記各ビットアドレスへの、書き込み、消去、および、読み出しを、含み、
 
前記周辺回路は、前記認証モードが選択された場合、前記アクセスオプションおよび前記動作オプションの組み合わせを切り替えることによって、前記冗長性コードに基づき、前記セルアレイから前記固有乱数を読み出し、
 
前記レスポンス関数は、前記チャレンジ、及び、前記ICチップに固有の固有乱数を引数として、前記レスポンスを、生成する、
 
ことを特徴とし、
 
または、
 
複数の電子装置からなる電子装置のネットワークであり、
前記複数の電子装置のうち、第一の電子装置が検査主体となり、第二の電子装置が被検査装置となり、
 
前記検査主体は、前記第二の電子装置にチャレンジを入力し、
前記第二の電子装置は、レスポンス関数に基づき、前記チャレンジに応じて、レスポンスを生成し、
 
前記第二の電子装置は、少なくとも一つのICチップを有し、
前記ICチップは、セルアレイ、行デコーダ、周辺制御装置、コード生成装置、特殊内部メモリ、外部入出力、を有し、
 
前記セルアレイは、第一および第二のセルアレイに分割され、
前記行デコーダは、第一および第二の行デコーダに分割され、
 
前記第一および第二の行デコーダは、それぞれ前記第一および第二のセルアレイへのアクセスを操り、
 
前記周辺制御装置は、前記外部入出力から冗長モード取得コード及び前記チャレンジを受け取り、前記冗長モード取得コードに基づいて前記第一及び第二のデコーダを操り、前記チャレンジを前記コード生成装置に渡し、前記特殊内部メモリに保存された、冗長性コードに基づき、前記第一および第二のセルアレイへのアクセスから、前記ICチップに固有な固有乱数を取得し、前記固有乱数を前記コード生成装置に渡し、
 
前記コード生成装置は、前記チャレンジおよび前記固有乱数から、前記レスポンスを生成し、
 
前記外部入出力は、前記冗長モード取得コード及び前記チャレンジの入力を外部から受け取り、前記コード生成装置から前記レスポンスを受け取り、前記レスポンスを前記ICチップ外部に出力し、
 
前記冗長モード取得コードは、認証設定オプション、専用列指定モード、アクセスオプション、動作オプションを含み、
 
前記専用列指定モードは、指定列番号を引数に持ち、
 
前記認証設定オプションは、認証モード、もしくは、非認証モードからなり、前記認証モードが選択された場合前記指定列番号が認証専用列を指定し、前記認証専用列が選択列として選択され、前記非認証モードが選択された場合前記指定列番号以外の列のうち一つが選択列として選択され、
 
前記アクセスオプションは、前記第一および第二の行デコーダの組み合わせを選択し、前記行デコーダの組み合わせおよび前記選択列で定義されるアドレスへのアクセスを指示し、
 
前記動作オプションは、前記アドレスへの、書き込み、消去、および、読み出しを、含み、
 
前記周辺回路は、前記認証モードが選択された場合、前記アクセスオプションおよび前記動作オプションの組み合わせを切り替えることによって、前記冗長性コードに基づき、前記セルアレイから前記固有乱数を読み出し、
 
前記レスポンス関数は、前記チャレンジ、及び、前記ICチップに固有の固有乱数を引数として、前記レスポンスを、生成する、
 
ことを特徴とするデジタル情報通信システム。
 
ことを特徴とする、
デジタル情報通信システム。
 
以下、発明を実施するための最良の形態について、具体的に説明する。
 
上述してきたように、本発明では、
 
電子装置に含まれるICチップに固有な固有乱数と電子装置への第一のチャレンジとから得る第一のレスポンスを用いて、電子装置の認証を行い、認証済みの電子装置からなる物理ファイヤウォールを作成する。更に、前記ICチップに第二のチャレンジを入力して得る第二のレスポンスを用いて秘密鍵と公開鍵のペアを生成し、前記公開鍵、あるいは、前記公開鍵から生成するコード情報を前記電子装置の論理アドレスとし、前記秘密鍵を用いて生成した電子署名を物理ファイヤウォール内の電子装置間のデータ送受信に用いる、デジタル情報の通信システム、
 
を提案する。
 
以下図面を用いて具体的に説明してゆく。
 
(サイバーとリアルの融合)
図13は、図1の電子装置A、B、Cと論理アドレスA、B、Cをそれぞれ結びつける方法を概念的に示したものである。
PKIによって秘密鍵と公開鍵が一対一に結びつけられている。公開鍵はサイバー空間上の論理アドレスと等価である、あるいは、に対応している。論理アドレスはサイバー空間で動作するソフトウェア(アプリケーション、あるいは単にアプリ)のアカウントと等価である、あるいは、に対応している。ただし、公開鍵から秘密鍵を生成することは現実的に困難である。
電子装置Bは被検査装置であり、検査主体である電子装置Aによって検査される。検査主体の検査に合格すれば被検査装置は認証される。電子装置Bは一つ以上の半導体チップ(ICチップ、あるいは単にチップ)を内蔵している。一例として、図10および図11のメモリチップを内蔵しているものとする。電子装置Aは、電子装置Bに対してチャレンジ(C)を送る。一例として、図8および9の「Bさん、あなたは誰ですか?」で良い。
電子装置Bに内蔵されているチップには、そのチップに固有な乱数(固有乱数)が存在する。前記チャレンジ(C)とこの固有乱数からレスポンス(R)を生成する。前記固有乱数がチップに固有である限り、このレスポンス(R)を前記チップとチャレンジ(C)に対して固有のレスポンスとみなすことができる。一例として、図8および9の「私はチップBです」とみなしてよい。
ここで、レスポンスと、検査されるチップに入力するチャレンジ(C)と、検査されるチップに固有な固有乱数との関係は、関数Resを用いて記述できる。
レスポンス(R)=Res(C、固有乱数(チップ))
ハッカーが被検査装置(一例として電子装置B)にアクセスすればこの固有乱数を読み取りコピーすることが可能である。しかしながら、検査主体(電子装置A)がどのようなチャレンジ(C)を入力するのかがわからなければ、ハッカーがレスポンス(R)を予測することは困難である。検査主体(電子装置A)は、チャレンジ(C)とレスポンス(R)のペアを保存し、いつでも被検査装置の認証に使用することができる。ここで重要なことは、実際には固有乱数を認証検査に使わない、ということである。
固有乱数がチップに固有である限り、すなわち、固有乱数がチップと一対一の関係を有しているとみなせるとき、段落0060の関係は、次のように書き換えられる。
 
レスポンス(R)=Res(C、チップ)
この関係を満たす限り、固有乱数とチップの関係はなんでもよい。一例として、チップ製造段階で発生する乱雑さを利用して固有乱数を生成することができる。ただし、何らかの方法で外部から書き換え可能なデータはチップに固有とみなすことができない。
例えば、図14のようにチップ上にN行M列に配置されたN×M個の電子素子を考えよう。ただし、Nは1以上の自然数。Mは1以上の自然数とする。本願では、このような電子素子を認証素子と呼ぶことにする。認証素子は、チップ製造段階での製造ばらつきによって特性にばらつきがある。大量生産ではこのばらつきを可能な限り制御することを求められるが、完全に消し去ることは不可能である。このような認証素子ごとのばらつきを数値化して図14のセルアレイ上に分布させれば物理的な乱数に変換することが可能である。
たとえば、認証素子のある電気的性質を測定する。その値が一定以上高ければ1、逆に低ければ0とする。つまり、1と0の値をそれぞれ持った認証素子が、図14のセルアレイ上に分布することになる。0を白、1を黒にすれば、例えば、図15のように、白と黒のパターンができる。MとNがどちらも1より十分大きければこのパターンは市松状の2次元パターンになる。MとNのどちらか一方が1であれば、このパターンは一次元パターンになる。いずれにしろ、認証素子ごとの0と1の発生が製造ばらつきによるならば、この白と黒のパターンは物理的にランダムでチップ毎に異なるだろう。偶然に二つのチップが同じパターンを持つ可能性は、MあるいはNが大きくなるに従い低くなる。MおよびNはセルアレイの設計によって制御できるので、偶然に二つのチップが同じパターンを持つ可能性をセルアレイの設計によって許容範囲以下に制御することが可能である。このように、固有乱数を複数の値(一例として0と1)の配列によってあらわしたものを固有乱数コード(あるいは、単に乱数コード)と呼ぶ。
認証素子は、例えば、抵抗(図16)、キャパシタ(図17)、PN接合(図18)、ショットキー接合(図19)、トランジスタ(図20、21)、メモリ素子(図22-26)などである。特に、図22はトランジスタとキャパシタの組み合わせからなるDRAM素子を認証素子とする例である。図23は可変抵抗を用いた不揮発性メモリ素子を認証素子とする例である。印加電圧によって抵抗を変化させる場合認証素子は抵抗変化メモリ(ReRAMなど)セルである。加熱などによって発生する結晶とアモルファスの相変化を利用して抵抗を変化させる場合認証素子は相変化メモリ(PCRAM)セルである。図24は磁気抵抗を用いた不揮発性メモリ素子を認証素子とするものである。巨大磁気抵抗効果(GMR)を用いて磁気抵抗を変化させる場合認証素子はMRAMセルである。スピントルクトランスファー効果(STT)を用いて磁気抵抗を変化させる場合認証素子はSTT-MRAMセルである。図25および26の例は、電荷蓄積層付き不揮発性メモリ素子を認証素子とするものである。電荷蓄積層がチャージトラップなら認証素子はチャージトラップ型不揮発性メモリ素子である。電荷蓄積層がフローティングゲート(FG)なら認証素子はFG型メモリ素子である。一般に、上記素子(抵抗、キャパシタ、PN接合、ショットキー接合、トランジスタ、メモリ素子等)の中のどれでも一つ以上から認証素子を構成することが可能である。したがって、自明なので特に図示しないが、上記素子(抵抗、キャパシタ、PN接合、ショットキー接合、トランジスタ、メモリ素子等)の中のどれでも二つ以上を組み合わせて一つの認証素子を構成することも可能である。上記素子(抵抗、キャパシタ、PN接合、ショットキー接合、トランジスタ、メモリ素子等)の中の任意の二つ以上を組み合わせて一つの認証素子を構成する場合前記組み合わせる素子のうち少なくとも二つが、互いに直列もしくは並列に接続することは自明である。
あるいは、別の一例として、チップ製造後、別途生成した固有乱数を0と1のコード(乱数コード)に変換して図14のセルアレイに書き込むことも可能である。このとき、図14のセルアレイを構成する認証素子はワンタイムプログラマブルメモリ(OTP)のメモリ素子であることが望ましい。OTPではメモリ素子の意図的破壊や配線素子の意図的ショート(抵抗素子の意図的破壊)を利用するものなので、結果として図16から図26の認証素子どれもがOTPのメモリ素子として活用することが可能である。
乱数発生装置として複数の手法が応用可能であるが、最も予測不能性が高いのは量子ビットを用いるものである。量子ビットには0と1の両方の情報が同時に存在する。量子力学の観測問題の原理により読み出すとき0と1のどちらかに確率的に決定され、その読み出し結果を事前に予測することは理論的に不可能である。量子ビットから0と1の読み出しを繰りしその結果を一列に並べたものが乱数コードとなる。現在の技術では、多数の量子ビットを半導体チップに混載することは難しい。もちろん本願の趣旨を逸脱しない限り、他の物理原理による乱数発生方法を用いても構わない。
チップ外部での乱数コードの生成手法にかかわらず、あるチップのセルアレイに保存する乱数コードと同じコードを別のチップのセルアレイに保存することは避けなければならない。そのためには、まず、チップ外部で生成した乱数コードをチップ内部のセルアレイに書き込む権限を、チップの製造、配布、使用等に正規に関わる者のみに限らなければならない。つまりチップ外部で乱数コードを生成する場合人為的エラーの危険性を許容範囲で制御する運用方法が必要となる。
偶然に二つのチップのセルアレイに同じ乱数コードが残されることを避けるには、生成する乱数コードのビット数が十分大きくなければならない。このビット数をQとし、乱数コードを書き込むセルアレイを含むチップ数をUとすると、2のQ乗をUで割ったものが十分大きな数であることが望ましい。一例としてトリリオンノードにも耐えうる仕様にするため、Uを10兆とすると、Qが40のとき、乱数コードの場合の数がちょうど1兆程度になるので、Qは少なくとも44よりずっと大きな数でなければならない。Qが50であれば、全世界に分配するチップに書き込まれる乱数コードのうち二つが偶然に一致する確率は100万分の1より小さくなる。すなわち、乱数コードの情報量は50ビット以上であることが望ましい。
つまり、一例として、チップ一枚辺り一つ量子ビットから50回読み出しを繰り返し、あるいは二つの量子ビットから25回読み出し、あるいは、M個の量子ビットから50/Mより少なくない回数だけ読み出し、その結果をチップ内のどこか50ビット以上の領域に書き込めばよい。
一度正規に書き込まれた乱数コードの改ざんを防ぐため、前記別途生成した乱数コードを保存するセルアレイは書き換え不可としなければならない。このようなセルアレイには、ワンタイムプログラマブル(OTP)メモリを使用することが望ましい。
OTPの例として最も有望なものがマスクROMである。図20は、典型的なマスクROMのビットセル構造の一例でもある。すなわちトランジスタがマスクROMのビットセルである。まず外部の乱数発生装置により別途生成した乱数コードのビット表現に応じてセルアレイ中のアドレスを選択する。次に、選択されたアドレスに位置するビットセルのトランジスタのPN接合をレーザーなどで焼き切ったり、ビット線に十分長い時間大電流を流すなどしてPN接合を確実に破壊する手法が考えられる。いずれの方法であっても一度破壊されたPN接合を有するビットセルは整流作用を失い、逆電圧を印加しても電流が流れるようになる。例えば、破壊されたビットセルをデータ1に、破壊されなかったビットセルをデータ0に対応させれば図15のような市松模様の乱数コードとなる。いずれにしろ、別途生成した乱数コードを書き込む場合、選択されたアドレスのトランジスタのPN接合は確実に破壊しなければならない。
あるいは、PN接合を含むすべてのビットセル(図18、図20―26等)をOTPとして活用することが可能である。まず外部の乱数発生装置により別途生成した乱数コードのビット表現に応じてセルアレイ中のアドレスを選択する。次に、選択されたアドレスに位置するビットセルのトランジスタのPN接合をレーザーなどで焼き切る。あるいは、ビット線に十分長い時間大電流を流すなどしてPN接合を確実に破壊する手法が考えられる。いずれの方法であっても一度破壊されたPN接合を有するビットセルは整流作用を失い、逆電圧を印加しても電流が流れるようになる。例えば、破壊されたビットセルをデータ1に、破壊されなかったビットセルをデータ0に対応させれば図15のような市松模様の乱数コードとなる。いずれにしろ、別途生成した乱数コードを書き込む場合、選択されたアドレスのPN接合は確実に破壊しなければならない。
あるいは、キャパシタを含むすべてのビットセル(図17、図20-26等)をOTPとして活用することが可能である。まず外部の乱数発生装置により別途生成した乱数コードのビット表現に応じてセルアレイ中のアドレスを選択する。次に、選択されたアドレスに位置するビットセルのキャパシタに十分長い時間大電流を流すなどしてキャパシタの絶縁膜をハード破壊する手法が考えられる。破壊された絶縁膜を有するビットセルのキャパシタは絶縁性を失い、直流電圧を印加しても電流が流れるようになる。例えば、破壊されたビットセルをデータ1に、破壊されなかったビットセルをデータ0に対応させれば図15のような市松模様の乱数コードとなる。いずれにしろ、別途生成した乱数コードを書き込む場合、選択されたアドレスのキャパシタの絶縁膜は確実にハード破壊しなければならない。
あるいは、抵抗または抵抗配線を含むすべてのビットセル(図16等)をOTPとして活用することが可能である。まず外部の乱数発生装置により別途生成した乱数コードのビット表現に応じてセルアレイ中のアドレスを選択する。次に、選択されたアドレスに位置するビットセルの抵抗あるいは抵抗配線をレーザーで焼き切る。あるいは、十分長い時間大電流を流すなどして断線(ショート)させる手法が考えられる。このような性質は、一般に、フューズと呼ばれる。すなわち、図16の例は、一般にヒューズメモリである。選択されたビットセルは断線によって適当な電圧を印加しても電流が流れなくなる。例えば、断線したビットセルをデータ0に、断線されなかったビットセルをデータ1に対応させれば図15のような市松模様の乱数コードとなる。いずれにしろ、別途生成した乱数コードを書き込む場合、選択されたアドレスの抵抗あるいは抵抗線は確実に断線しなければならない。
このようにOPTにはさまざまな例が存在する。いずれのOTPを使ってもチップ外で別途生成した乱数コードを本願の概念を共有する固有乱数とみなすことが可能である。ただし、OTPの条件として、一度正規に書き込んだ固有乱数を電気的に書き換え不能にしておくことが望ましい。
本願の固有乱数となる乱数コードを書き込むのは、本願のチップを構成するセルアレイ全体でも構わないし、そのセルアレイの一部でも構わない。あるいは、チップ上前記セルアレイとは別の領域(周辺領域等)に書き込んでおいても構わない。
にもかかわらず、乱数発生装置として疑似乱数発生装置を使うことも可能である。疑似乱数発生装置とは、平たく言うと、乱数発生ソフトウェアである。ソフトウェアである限り何らかのアルゴリズムにしたがって乱数コードを生成しているので、複数のチャレンジ(C)に対するレスポンス(R)の組み合わせを取得すれば、解読して未知のチャンレンジに対するレスポンスを予測することが可能である。
それでも解読の可能性を許容範囲いないに低く抑えられるならば、本願の固有乱数に使用することが可能である。このとき、0063段の式は疑似的に満たされる。疑似的であっても解読の可能性を許容範囲いないに制御できるならば本願の固有乱数として使用することが可能である。
以上から、チップに固有な固有乱数の生成方法は、チップ製造と共に生成する方法とチップの製造とは別に生成する方法と、主に二通りの方法に分割される。前者は製造したチップそのものを認証のための乱数コード(固有乱数)として使用し、後者は別途生成した固有乱数をチップに含まれるメモリセルアレイ(OTP等)に書き込む。後者の別の一例は、認証素子アレイの破壊をランダムに行う方法である。固有乱数を書き込む領域を決めた後その流域内のアドレスに存在する認証素子に破壊が起こるかどうかギリギリの破壊パルスを印加すればよい。破壊パルスを印加された認証素子の確率的に破壊され、そのアドレスが物理的にランダムに分布するので固有乱数となる。いずれの生成方法を用いたとしても、検査されるチップの固有乱数と検査されるチップへの入力(チャレンジ)とを組み合わせて出力(レスポンス)を得る限り、本願の概念を逸脱しない。したがって、本願のすべての実施形態において、どちらの生成方法も同様に使用できる。
図27は、二つの異なる被検査装置(1および2)に同じチャレンジ(C)を入力した場合何が起こるかを示している。
被検査装置1はチップ1を内蔵し、チャレンジ(C)とチップ1の固有乱数1からレスポンスR1を出力する。被検査装置2はチップ2を内蔵し、同じチャレンジ(C)とチップ2の固有乱数2からレスポンスR2を出力する。ここで、二つのレスポンスR1とR2はともに異なる。これは、被検査装置1を別の被検査装置2に入れ替えるとレスポンスがR1から変化することを意味している。つまり情報機器のなりすましをするとレスポンスが変化することが検査主体に気づかれるのである。
図28は、この概念をIoTネットワーク(電子装置のネットワーク)の認証に適用する例を示している。
検査主体(電子装置A)が被検査装置(電子装置B)に、「Bさん、あんた誰?」というチャレンジをする。電子装置Bは、このチャレンジと内蔵するチップ内の固有乱数からレスポンス「私は、チップBです」を返す。
図29は、電子装置Bがハッカーのラップトップ(ただし、論理アドレスBを有する)に成りすまされている場合何が起きるかを示している。
検査主体(電子装置A)が被検査装置(電子装置B)に、「Bさん、あんた誰?」というチャレンジをする。論理アドレスBに成りすましているハッカーのラップトップは、このチャレンジと内蔵するチップ内の固有乱数からレスポンス「私は、ハッカーのチップです」を返す。
このように、図27で示したように、チャレンジが同じでもチップが異なれば異なるレスポンスをする、という本願に関する被検査装置の認証の性質を用いることによって、IoTネットワーク内に成りすまされた電子装置が存在するかどうかを検索することができる。
なりすましがあるかどうか電子装置の検索は行うことができる。なりすまされた電子装置(不正電子装置)が見つかればIoTネットワークからは排除することができる。たとえば、ブロックチェーンのスマートコントラクトを用いれば簡単に実現できる。自明なので特に説明はしないが、なりすましの検索と排除は自動で行える。
 
(エルガマル型鍵生成装置を用いた場合)
図30は、n番目の被検査主体である電子装置B(n)から出力されるレスポンスR(n)から秘密鍵(n)と公開鍵(n)を生成する方法の一例を示している。
エルガマル・アルゴリズムは公開鍵暗号において重要なアルゴリズムの一つである。その特徴の一つは、秘密鍵からペアとなる公開鍵を生成することである。本明細書では特にアルゴリズムの詳細には拘らず、秘密鍵からペアとなる公開鍵を生成する鍵生成装置を総称してエルガマル型鍵生成装置と呼ぶ。
まず、検査主体であるハードウェア(電子装置A)からチャレンジ(C)が電子装置B(n)に入力される。電子装置B(n)は、内蔵するチップ(n)の固有乱数(n)とこのチャレンジ(C)からレスポンスR(n)を出力する。
レスポンスR(n)は、書式を調整する等を目的としたコード変換をした後秘密鍵(n)として活用される。この秘密鍵(n)をエルガマル型鍵生成装置に入力し、秘密鍵と一対をなす公開鍵(n)を得ることができる。この公開鍵(n)は、論理アカウント(n)に対応する論理アドレスである。
秘密鍵(n)は、使い終わったら消去することが望ましい。必要なときに図30の方法でいつでも生成できる。あるいは、電子装置B(n)内に安全に閉じ込めておくことが望ましい。電子装置B(n)内に安全に閉じ込めておくということは、電子装置B(n)の外部から見れば秘密鍵(n)が消滅したのと同じである。
前記鍵生成装置は、ソフトウェアとして電子装置B(n)にインストールしておくことが望ましい。あるいは、前記鍵生成装置は、組み込みモジュールとして電子装置B(n)に内蔵するチップ(n)にインストールしておくことが望ましい。あるいは、前記鍵生成装置は、組み込みモジュールとして電子装置B(n)に内蔵される別のチップにインストールしておくことが望ましい。あるいは、前記鍵生成装置は、電子装置B(n)に安全に接続する別の電子装置に存在していても構わない。
図31および図32は、図30の実施例に第二の入力を追加で利用する方法の例を示している。
図31では、第二の入力は、レスポンスR(n)からコード変換によって秘密鍵(n)を生成する過程で入力する。すなわち、このコード変換は前記第二の入力を含める。図32では、第二の入力は、秘密鍵(n)から公開鍵(n)を生成する過程で入力する。すなわち、この鍵生成装置は前記第二の入力を含める。
第二の入力を使用するのは、基本的に、本願に関わる被検査装置の認証の自由度や強度を増すためである。
たとえば、IoTネットワークの管理を強化するために、検査主体をサポートするセキュリティサーバーを増設する。このセキュリティサーバーは、前記検査主体とは独立に第二の入力を被検査装置B(n)に入力(配布)し、チャレンジ(C)に対するレスポンスR(n)を変更することができる。これは、ハッカーが既知のチャレンジとレスポンスの複数の組から未知のチャレンジとレスポンスの組み合わせを予測するのを防ぐのに役立つ。ただし、このセキュリティサーバーは、第二の入力を被検査装置に配布する前に、事前に検査主体によって認証されていることが望ましい。また、前記セキュリティサーバーも、前記検査主体と同様な方法で被検査装置の認証を検査することが可能である。この意味で、セキュリティサーバーも検査主体である。つまり、検査主体は一つとは限らない。第一の検査主体がCRのペアを管理し、さらに、被検査装置の検索および不正電子装置の排除を行い、第二の検査主体がCRのペアを管理し、さらに、セキュリティサーバーとして第二の入力を被検査装置に配布することが望ましい。
 
(RSA型鍵生成装置を用いた場合)
図33-35は、RSA型鍵生成装置を用いた場合の例を示している。それぞれ図30-32のエルガマル型鍵生成装置をRSA型鍵生成装置に置き換えただけでそれ以外はすべて同様である。
RSAとは発明者であるリベスト、シャミア、アデルマンの頭文字からなる。RSAアルゴリズムは公開鍵暗号において最も重要なアルゴリズムの一つである。その特徴の一つは、外部入力から秘密鍵と公開鍵をペアで生成することである。本明細書では特にアルゴリズムの詳細には拘らず、外部入力から秘密鍵と公開鍵をペアで生成する鍵生成装置を総称してRSA型と呼ぶ。
図33は、n番目の被検査主体である電子装置B(n)から出力されるレスポンスR(n)から秘密鍵(n)と公開鍵(n)を生成する方法の一例を示している。
まず、検査主体であるハードウェア(電子装置A)からチャレンジ(C)が電子装置B(n)に入力される。電子装置B(n)は、内蔵するチップ(n)の固有乱数(n)とこのチャレンジ(C)からレスポンスR(n)を出力する。
レスポンスR(n)は、直接、あるいは、書式を調整するため等のコード変換をした後、RSA型鍵生成装置に入力され、互いにペアをなす秘密鍵(n)と公開鍵(n)が生成される。この公開鍵(n)は、論理アカウント(n)に対応する論理アドレスである。
この秘密鍵(n)は、使い終わったら消去することが望ましい。あるいは必要なときに図33の方法でいつでも生成できる。あるいは、電子装置B(n)内に安全に閉じ込めておくことが望ましい。電子装置B(n)内に安全に閉じ込めておくということは、電子装置B(n)の外部から見れば秘密鍵(n)が消滅したのと同じである。
前記鍵生成装置は、ソフトウェアとして電子装置B(n)にインストールしておくことが望ましい。あるいは、前記鍵生成装置は、組み込みモジュールとして電子装置B(n)に内蔵するチップ(n)に設置してことが望ましい。あるいは、前記鍵生成装置は、組み込みモジュールとして電子装置B(n)に内蔵される別のチップに設置しておくことが望ましい。あるいは、前記鍵生成装置は、電子装置B(n)に安全に接続する別の電子装置に存在していても構わない。
図34および図35は、図33の実施例に第二の入力を追加で利用する方法の例を示している。
図34では、第二の入力は、レスポンスR(n)を鍵生成装置に入力する過程で入力する。すなわち、この第二の入力とレスポンスR(n)を何らかの方法で合成することになる。図35では、第二の入力は、鍵生成装置が秘密鍵(n)と公開鍵(n)を生成する過程で入力する。すなわち、この鍵生成装置は前記第二の入力を含める。
第二の入力を使用するのは、基本的に、本願に関わる被検査装置の認証の自由度や強度を増すためである。
たとえば、IoTネットワークの管理を強化するために、検査主体をサポートするセキュリティサーバーを増設する。このセキュリティサーバーは、検査主体とは独立に第二の入力を被検査装置B(n)に入力(配布)し、チャレンジ(C)に対するレスポンスR(n)を変更することができる。これは、ハッカーが既知のチャレンジとレスポンスの複数の組から未知のチャレンジとレスポンスの組み合わせを予測するのを防ぐのに役立つ。ただし、このセキュリティサーバーは、第二の入力を被検査装置に配布する前に、事前に検査主体によって認証されていることが望ましい。
上述のように、本明細書で定めるエルガマル型とRSA型鍵生成装置を用いた実施例を説明してきた。次に、どちらにも属さない鍵生成装置、すなわち、公開鍵から秘密鍵を生成する鍵生成装置に関して一言添えておく。それはエルガマル型の入力を公開鍵にすることに相当する。公開鍵はネットワーク上に公開されているものであり、攻撃者も自由に取得可能である。それを同じアルゴリズムの鍵生成装置に入力すれば秘密鍵が得られる。これでは秘密鍵を秘密にできない。
エルガマル型鍵生成装置を用いた場合本願の使用方法では、図30-32に示したように、秘密鍵は電子装置から出力されるレスポンス(R)から生成する。レスポンス(R)を変換せずに秘密鍵としてそのままエルガマル型鍵生成装置に入力することが可能である。データ形式を整えるためレスポンス(R)に適当なコード変換を施してから秘密鍵としてエルガマル型鍵生成装置に入力することが可能である。あるいは、何らかの意図を含むコード変換をレスポンス(R)に施してから秘密鍵としてエルガマル型鍵生成装置に入力することが可能である。いずれにしろ、エルガマル型鍵生成装置はレスポンス(R)から秘密鍵と公開鍵のペアを生成している。一方RSA型鍵生成装置では、図33-35に示したように、レスポンス(R)を入力して秘密鍵と公開鍵のペアを生成している。このように本願の使用方法では、エルガマル型とRSA型のどちらの鍵生成装置を採用しようとも「電子装置にチャレンジ(C)を入力して得たレスポンス(R)からその電子装置に固有の秘密鍵と公開鍵のペアを生成」していることに違いはない。さらに、チャレンジ(C)を変更すれば自動的に秘密鍵と公開鍵のペアを更新することが可能となる。なお、鍵生成装置は、電子装置が随時使用できる状態になっていれば十分である。特に電子装置の特定の部位に設置しなければならないということはない。すなわち、鍵生成装置は、電子装置を構成するICチップの中に設置してもよく、ICチップの外部に設置してもよい。あるいは、鍵生成装置は、ソフトウェアとして電子装置にインストールしてあっても構わない。
 
(物のブロックチェーン)
図36および図37は、それぞれエルガマル型とRSA型の鍵生成装置を利用して物のブロックチェーンを構成する方法を概念的に示している。
物理ノード(N-2)、物理ノード(N-1)、および物理ノード(N)は、それぞれ論理アカウント(N-2)、論理アカウント(N-1)、および論理アカウント(N)とペアをなす電子装置Bのことである。特に、図30-35では電子装置B(n)のことである。ただし、n=N-2、N-1およびNの場合に相当する。ここで、秘密鍵(n)と公開鍵(n)が図13の公開鍵暗号(PKI)によってペアになっていることから、論理アカウント(n)と物理ノード(n)が対をなしている。
図13の概念に従いチャレンジ(C)に対して電子装置B(N-2)、電子装置B(N-1)、電子装置B(N)が出力するレスポンスが、それぞれR(N-2)、R(N-1)、R(N)である。
図36および図37からの各電子装置から鍵生成装置およびレスポンスR(N-2)、R(N-1)およびR(N)と鍵生成装置を取り除くと、完全に図12と一致する。これは、図13の概念によって物理ノードと論理ノードのペアをなす方法が既存のブロックチェーンと完全に互換であることを示している。
図36および図37の例において、物理ノード(N)のメモリが最新のデータを保存している。それは、図13のチップ(すなわちメモリチップ)のことである。図30-35で言えば、それはチップ(N)のことである。
図11で示したように、IoTネットワークではデータはメモリチップからメモリチップに転送される。
ところで、この最新のデータを保存しているメモリを含むチップ(チップ(N))にデータを転送してくるチップは、、一つとは限らない。図38の例では3つのチップから最新のデータを保持するチップ(N)にデータが転送されてきている。この3つのチップもそれぞれ複数のチップからデータが転送されてきていると考えられる。にも拘わらず、この転送の履歴は、最新のデータを保持する最後のチップ(N)に終着する。
こうして、図38のように、チップのメルクル樹形が出来上がる。最後のチップ(N)が、本願のメルクル樹形のメルクルの根となる。
一般に、メルクルの根はブロックチェーンにおけるブロックの候補である。メルクルの根がプルーフ・オブ・コンセンサス(PoC)と呼ばれる条件を満たすとき、このメルクルの根は分散台帳に簿記され、新たなブロックとして認定されてブロックチェーンの末端に連結される。ブロックチェーンはこうして延長される。
PoCには複数の方法がある。一例として、ノンス値を加えてハッシュ化する方法がある。このハッシュ値(ブロックハッシュ)が所定の条件を満たしていればこのメルクルの根が新たにブロック化され、新たなブロックとしてブロックチェーンに付け加えられる。
一例として、ブロックハッシュが満たすべき所定の条件とはノンス値を加えて生成されたブロックハッシュの最初の16桁がすべてゼロになることである。ネットワーク上にさらされているまだブロック化されていないメルクルの根を検索し、前記所定の条件を満たすようなノンス値を探し出すことをマイニング(発掘)という。発掘に成功したマイナーには報償が与えられる仕組みも存在する。その一例がビットコインである。
図39はこの発掘によるブロック生成のプロセスを概念的に示している。
メルクルの根(L-3)がすでにブロック化されブロックハッシュ(L-2)が生成されているものとする。すなわち、メルクルの根(L-3)は、この時点でブロックチェーンの末端に接続している最新のブロック(L-3)である。さらに図面左から、メルクルの根(L-2)、メルクの根(L-1)、メルクルの根(L)が存在する。ただし、上述したように、本願ではこれらメルクルの根はすべてチップ(あるいは、図14のセルアレイを含むICチップ)である。
まずノンス値として所定のPoCの条件を満たすようなノンス(L-2)を探しだし、ブロックハッシュ(L-3)およびメルクルの根(L-2)と共にまとめてハッシュ化し、ブロックハッシュ(L-2)を生成する。こうしてブロック(L-2)が最新のブロックとして認定されブロックチェーンの末端に接続する。
続いてノンス値として所定のPoCの条件を満たすようなノンス(L-1)を探しだし、ブロックハッシュ(L-2)およびメルクルの根(L-1)と共にまとめてハッシュ化し、ブロックハッシュ(L-1)を生成する。こうしてブロック(L-1)が最新のブロックとして生成されブロックチェーンの末端に接続する。
続いてノンス値として所定のPoCの条件を満たすようなノンス(L)を探しだし、ブロックハッシュ(L-1)およびメルクルの根(L)と共にまとめてハッシュ化し、ブロックハッシュ(L)を生成する。こうしてブロック(L)が最新のブロックとして生成されブロックチェーンの末端に接続する。
ブロックハッシュ(n)を生成するときにノンス(n)およびブロックハッシュ(n-1)と共にハッシュ化するメルクルの根(n)は、本願の電子装置のネットワーク(あるいはIoTネットワーク)ではメルクルの根(n)となるチップ(n)に固有のデータ(n)である。ただし、nは上記L-3、L-2、L-1、Lを含む任意の整数である。
チップ(n)は、図14のセルアレイを含むICチップ、あるいは、メモリチップである。前記固有のデータ(n)はメルクルの根(n)にも固有であるので、メルクルの根(n)を表すと考えられる。したがって、本願のメルクルの根(n)は、一例としてチップ(n)の固有乱数(n)である。
 
(物理ファイヤウォール)
被検査装置の数は一つとは限らない。検査主体をテストサーバーとみなせば、図40のように、図13の概念を複数の被検査装置とテストサーバーからなるネットワークに拡張することができる。図41は、一つのテストサーバーがN個の被検査装置の認証テストを行う様子を示している。一般に、被検査装置は、図41のように一様の電子装置とは限らない。IoTネットワークに接続する、ICチップを搭載するすべての装置のことである。たとえば、パソコン、ルーター、車両、スマートフォン、サーバー、タグ読み取り装置、プリンター、工作機械、タブレット、などなどである。一例を図85に示す。ただし、図85は、本願の本質を説明する点において、図41と同等である。すべての認証が完了するとこのN個の電子装置(被検査装置)はこのテストサーバーを中心とする物理的ファイヤウォールを構成する。ただし、テストサーバーが各被検査装置の認証テストを行う方法は、図13の電子装置Aが電子装置Bを認証する方法と同様である。nを1からNまでの自然数とすると、テストサーバーはチャレンジ(C)を電子装置(n)に入力し、電子装置(n)は、内部に含むチップ(n)の固有乱数(n)とこのCからレスポンス(R(n))を生成する。電子装置(n)は、図30-35で示したように、R(n)から一対の秘密鍵(n)と公開鍵(n)を生成する。さらに公開鍵(n)は論理アドレス(n)となり、あるいは、論理アドレス(n)を公開鍵(n)から生成することができる。図41では、テストサーバーが一体の場合を描いているが、テストサーバーの数は一体とは限らない。自明なので特に図示しないが、検査装置が複数あって構わないのと同様に、一体の電子装置のネットワークの中にテストサーバーも複数あって構わない。一体の電子装置のネットワークというのは、このネットワークの要素である電子装置が、直接または間接に接続可能な状態になっている任意の他の電子装置をすべて含むネットワークである。ただし、周辺装置の数(N)は、論理的に1か1より大きくなければならない。
これに対し従来のファイヤウォールは論理アドレスから構成されるので論理ファイヤウォールということができる。論理ファイヤウォールをIoTネットワークに適用すると、図42で示すように、なりすまし攻撃の対象となる。なりすまし攻撃の手法については、すでに図4-6及び図9で説明した通りである。図43のように、論理アドレスをコピーしたハッカーの電子装置(チップ内蔵)が論理ファイヤウォール内部に入り込む。図44は、同じなりすまし攻撃を物理ファイヤウォールに対して行おうとした様子を表している。すでに図29で説明した通り、本願はこのなりすまし攻撃をブロックすることが可能である。
図45のように、本願の方法で認証テストに合格した電子装置のみで構成された物理ファイヤウォール内の通信を最新のサイバーセキュリティの手法で守れば電子装置のネットワーク(IoTネットワーク)上のデータフローの信頼性は大幅に改善する。サイバーセキュリティの手法は現在でも各種あるし、今後も新しい手法が解決されていくことになる。現在最先端と言えるのはブロックチェーンである。すでに図36-40で説明してきた通り、本願の電子装置の認証方法はメモリチップのメルクル樹形を実現できる。したがって、図30-35のようにメモリチップの認証と論理アドレスを一致させることによって既存のブロックチェーンと完全な互換性が担保できる。一般に、被検査装置は、一様の電子装置とは限らない。IoTネットワークに接続する、ICチップを搭載するすべての装置のことである。たとえば、パソコン、ルーター、車両、スマートフォン、サーバー、タグ読み取り装置、プリンター、工作機械、タブレット、などなどである。一例を図86に示す。ただし、図86は、本願の本質を説明する点において、図45と同等である。
図45あるいは図86の意味する重要なことは、本願の電子装置の認証方法を用いることによって、テストサーバーの中央管理によって物理ファイヤウォールを構成し、その構成要素となる認証済み電子装置間でブロックチェーンを使って分散システムを構築できることである。これは、サイバー空間では難しかった中央管理と分散管理の共存が本願の電子装置のネットワーク(IoTネットワーク)では実現できることを意味している。また、テストサーバーは任意にチャレンジ(C)を変更することができるので、いつでも認証済み電子装置の秘密鍵と公開鍵のペアを更新することが可能となる。ハッカーが一部の認証済み電子装置のセキュリティを破った場合同じ方法で他の認証済み電子装置のセキュリティも破られる可能性がある。このとき、認証済み電子装置の公開鍵と秘密鍵が中央管理によって自動的に変更できることは、ネットワークセキュリティを一瞬で健全な状態に回復するのに役立つ。本願のように、レスポンスから秘密鍵、あるいは、秘密鍵と公開鍵のペアを生成しているからこそ、このような対応が可能となる。
 
本願の物理ファイヤウォールを電子装置のネットワークの中に作ると、電子装置は、この物理ファイヤウォールに含まれるものと含まれないものに分けられる。本願の物理ファイヤウォールは、その構成要素である電子装置に物理ファイヤウォールの外部と通信することを禁止するものではない。物理ファイヤウォールの外部と通信する場合テストサーバーが通信相手の認証が行われていないことを物理ファイヤウォール内部の電子装置に対して告知することが望ましい。あるいは、テストサーバーが通信を認めないことが望ましい。
テストサーバーから通信相手の認証が行われていない、あるいは、通信を認めないことを告知されたら、通信相手が物理的ファイヤウォールの外部にあることが判明する。このような場合どのように処置するかは電子装置のユーザーかシステム管理者にゆだねられることになるだろう。たとえば、第一の電子装置を認証しているテストサーバー(第一の検査主体)と、その通信相手である、第二の電子装置が認証を受けている別のテストサーバー(第二の検査主体)が、互いに通信できるとき、前記第一および第二の検査主体を介して、前記第一及第二の電子装置は間接的に通信可能となる。このとき、通信内容は、前記第一及び第二の検査主体によって管理されることになる。
 
(行線冗長性)
図46は、被検査対象となる電子装置に内蔵されるチップ(あるいはメモリチップ)に含まれるセルアレイを概念的に表したものである。横方向にビット線とワード線のどちらか一方が走り、縦方向に他方が走る。行線と列線の交差する点(ワード線とビット線の交差する点)に四角で表したビットセル(メモリセル)がある。n番目のビット線とm番目のワード線が交差する点の位置は二つの整数の組(n、m)で表され、これをセルアレイ上のアドレスと呼ぶ。ただし、nは1から図14のNまでの整数であり、mは1から図14のMまでの整数である。
本明細書ではこのビットセルをあえて認証素子と呼ぶことにする。すなわち、この認証素子としてどのような電子素子を採用するかによってチップの種類が決まる。
チップ(あるいはメモリチップ)は大量生産品なので、どのように製造工程を最適化しても不良品の偶発的混入は避けられない。図46のセルアレイ上では、それは不良ビットして発生する。不良ビットの数もセルアレイ上の配置もランダムであり。その配置パターンの情報量が十分大きければ、このランダムネスはチップごとに異なる、すなわち、チップに固有な固有乱数とみなすことが可能である。
図46のセルアレイを行線群によって分ける方法を説明する。図47は、この行線群を上下二つの行線群Aと行線群Bに分割する一例を示している。上端がトップで下端がボトムである。一例として、行線はビット線であり列線はワード線である。別の一例として、行線はワード線であり列線はビット線である。
図48は、この行線群を行線群Aと行線群Bに分割する別の一例を示している。列方向に行線群Aと行線群Bが交互に配置されており、行線群Aの上端トップと行線群Bの下端ボトムが交互に繰り返す。行線群Bのボトムと行線群Aのトップは列方向に隣接している。
いずれにしろ、トップとボトムの間に行線群Aと行線群Bが列方向に配置され、図49のように、それぞれに行デコーダAと行デコーダBが必要になる。行線群Aの行数はLAで、行線群Bの行数はLBである。行線群Aと行線群Bの間に境界線がある。ただし、境界線は行線群Aのボトム(下端にある行線)と行線群Bのトップ(上端にある行線)の間に引くのであってワード線やビット線に対応する行線ではない。行デコーダAおよび行デコーダBともに周辺制御装置によって制御される。周辺制御装置は特殊内部メモリにアクセスし、特殊内部メモリに保存されるデータ(Fi,Ri)を利用して行デコーダAと行デコーダBの操作を制御する。
行線群Aは正規のセルアレイである行線群Bに対する冗長行線群として活用する。行線がビット線なら行線群Aはビット線冗長領域である。行線がワード線なら行線群Aはワード線冗長領域である。
チップが大量生産品である限り、図46に示した通り、不良ビットの混入は避けられない。例えば図50のようにセルアレイ上に不良ビットが含まれる場合を考えよう。ただし、行線群Aの中で不良ビットが発生した行線(不良行線)の数をmAとする。行線群Bの中で不良ビットが発生した行線の数をmBとする。不良ビットを含まない行線を正規行線とする。このとき、不良ビット分配による場合の数はC(LA,mA)とC(LB,mB)の積で与えられる。ただし、C(S、T)はS個の要素の中からT個の要素を選ぶ組み合わせである。情報量に換算するとlog(C(LA,mA))+log(C(LB,mB))である。一般に、セルアレイの行数が大きくなれば混入する不良ビットの数も多くなるので、不良ビット分配による情報量はチップのビット容量が増大するに従い大きくなると期待される。図の例では、mA=1、mB=2である。また、本実施形態のように行線群による分割を採用した場合、行線数(図14のN)、あるいは、LAやLBが大きくなるほど情報量が増す。
行線群B(正規セルアレイ)にアクセスするには、図51のように、まず適当な列を選択し、次に周辺制御装置(図49参照)のアクセスモードで「通常アクセス」を指定する。そして選択列にそって境界線より下の行線に順次アクセスする。ここで自明なので特に図示しないが、このように列を選択するには、列デコーダが必要である。
途中不良ビットが存在する行線に行き当たる。その場合その行番号(F1)を読み取り、特殊内部メモリ(図49参照)に保存する。このF1行にあるビットセルにアクセスせず、代わりに行線群A(冗長行線群)の中の不良ビットを含まないR1行のビットセルにアクセスする。R1も特殊内部メモリ(図49参照)に記録する。これを読み替え(スワップ)という。読み替え1が終わった後行線群B(正規セルアレイ)に戻り、F1行の次の行からアクセスを再開する。再び不良ビットが存在する行線に行き当たったら、その行番号(F2)を読み取り、特殊内部メモリに保存する。このF2行にあるビットセルにアクセスせず、代わりに行線群A(冗長行線群)の中の不良ビットを含まないR2行のビットセルにアクセスする。R2も特殊内部メモリ(図49参照)に記録する。これを読み替え2とする。
こうして特殊内部メモリには{Fi,Ri}の組み合わせがデータとして保存される。ただし、iは1からmAまでの自然数である。mA回の読み替えを行う場合の数はC(LA、mA)とP(LB,mB)の積により与えられる。ただし、P(S,T)はS個の要素の中からT個の要素を選んで並べる場合の数(順列)である。情報量に換算するとlog(C(LA,mB))+log(P(LB,mB))となる。これが特殊内部メモリに保存されるデータの情報量となる。
常に読み替えが可能であるためには、LAがmAとmBの和より大きくなければならない。さらに、正規セルアレイが量産品として許容できるためには、LBはmBよりずっと大きくなければならない。その場合でもビット容量が十分大きければ情報量log(C(LA,mB))+log(P(LB,mB))が大きくなり、量産された二つのチップの特殊内部メモリに保存されるデータが偶然に一致する可能性は無視できるほど低くなる。しかもその発生メカニズムはどのようなアルゴリズムにも依存していないので物理的にランダムである。こうして、特殊内部メモリに保存される{Fi,Ri}の組み合わせコードは、チップに固有な乱数コード(固有乱数の一例)であるみなすことができる。
図52はテストモード1を説明する図である。まず適当な列を選択する。次に周辺制御装置(図49参照)のアクセスモードで「テストモード1」を指定し、選択列に沿ってトップからボトムの行線まで境界線を跨いで順次アクセスする。これは行線群Aから行線群Bに渡って選択列に沿ってすべての行線にアクセスするモードである。
図53はテストモード2を説明する図である。まず適当な列を選択する。次に周辺制御装置(図49参照)のアクセスモードで「テストモード2」を指定し、選択列に沿ってトップから境界線まで行線に順次アクセスする。これは行線群Aに属する行線のみにアクセスするモードである。
図54では、テストモード1を選んで0書き込みをした様子を示している。まず適当な列を選択する。次に周辺制御装置(図49参照)のアクセスモードで「テストモード1」を指定し、選択列に沿ってトップからボトムの行線まで境界線を跨いで順次アクセスして0を書き込む。こうして、行線群Aから行線群Bに渡って選択列に沿ってすべて0が書き込まれる。
続いて同じ選択列を指定したままテストモード2を選んで1書き込みをした様子を図55に示している。まず周辺制御装置(図49参照)のアクセスモードで「テストモード2」を指定する。前記選択列に沿ってトップから境界線まで順次アクセスし1を書き込む。こうして、選択列に沿って行線群Aのみ1が書き込まれ、行線群Bは0のままである。
続いて周辺制御装置(図49参照)のアクセスモードで「通常モード」を指定し、前記選択列に沿ってトップから境界線まで順次アクセスして読み出した結果を図56に示す。LB行のうち読み替えをしたmB行が1に反転している。こうして0と1のランダムなパターンが出来上がる。場合の数はC(LB、mB)によって与えられるので、情報量は結局log(C(LB、mB)) となる。
前記選択列に沿って0と1が配列しているのでバーコードのような乱数コードとなる。この乱数コードを{d(i)}と書く。この乱数コードは、上述したようにチップのビット容量が十分大きければチップに固有であるとみなせる。すなわち、{d(i)}はチップに固有な固有乱数であり、図38および図39のメルクルの根である。
ただし、本来の情報量log(P(LA-mA,mB))+log(P(LB,mB))に比べるとこの{d(i)}の情報量はlog(C(LB、mB))まで減少することになる。
なお、複数のチップを識別するため引数(n)を用いると、チップ(n)の固有乱数(n)の一例は{dn(i)}である。
また、本実施形態の説明において0書き込みと1書き込みは交換しても構わない。要点は最低二値のデータを扱えれば十分である。
テストモード1あるいはテストモード2、及び通常アクセスモードを活用して固有乱数を得る方法は消費電力を必要とする。少しでも省電力化する需要がある場合、自明なので特に図示しないが、特殊内部メモリへアクセスするための配線が必要となる。このような配線を利用して直接特殊内部メモリへアクセスするモードとして省電力モードが可能である。この場合、アクセスモードとして省電力モードを選択した状態で読み出しを行うと固有乱数の一例である{Fi,Ri}が得られる。この場合コード変換による情報量の欠落も防ぐことも可能となる。
行線群A(冗長行線群)の行数(LA)が少なすぎると、読み替えができなくなることがある。このような事態を避けるためLAはmAとmBの和より大きくなければならない。この条件が満たされているかどうかを確かめることが可能である。
続いてアドレス空間チェックモードを説明する。まず、任意の複数のアドレスの組み合わせを選択し、それらに対応する認証素子に書き込みを行い、続いて読み出しを行い、読み出したデータと書き込んだデータが一致するかどうかを確認する。十分なセル数が一致していれば、このチップは、認証チップとして十分なアドレス空間を保持しているとして認定(合格)することができる。一致していなければ、認定不合格である。
図57に、上述したアクセスモードと動作モードの関係をまとめた。外部入力から被検査主体に冗長モード取得コードを与える。これは、チャレンジ(C)に含めることもできるし、チャレンジ(C)とは別途与えることも可能である。冗長モード取得コードは、アクセスモードを選択するためのアクセスオプション、および動作モード(書き込み、消去、読み出し)を設定するための動作オプションなどを引数として持つ。
アクセスモードは、上述したように、テストモード1、テストモード2、通常アクセスモード、省電力モード、アドレス空間チェックモードなどからなる。
通常アクセスモードでは、選択列に沿って行線群B(正規セルアレイ)に属するビットにのみアクセスし、行番号がFiの要素に一致する場合その行番号をRiに置き換える。ただし、FiおよびRiは特殊内部メモリ(図49参照)に冗長性データ{Fi、Ri}として保存されている。添え字iは1からmBまでの自然数である。冗長性データは、チップの出荷前検査時に取得し特殊内部メモリに保存されることが望ましい。
この実施形態では、テストモード1は行デコーダAと行デコーダBの両方を使ったアクセスモードである。テストモード2では行デコードAのみを使ったアクセスモードである。
テストモード1を、図58のように、行デコーダBのみを用いたアクセスモードに変えてもチップに固有なら固有乱数{d(i)}を得ることができる。一例として、テストモード1で0書き込みを行い、テストモード2で1書き込みを行うと図55が得られる。続いて通常アクセスモードで読み出しを行えばよい。もちろんこの場合でも0と1を交換して構わない。
テストモード2を、図59のように、行デコーダBのみを用いたアクセスモードに変えてもチップに固有な固有乱数{d(i)}を得ることができる。一例として、テストモード1で0書き込みを行い、テストモード2で1書き込みを行うと図55が得られる。続いて通常アクセスモードで読み出しを行えばよい。もちろんこの場合でも0と1を交換して構わない。
アクセスオプションは、行デコーダAおよびBの選択を切り替えるためのオプションである。図57-59では、テストモード1および2を順次選択することによって行線群AおよびBに異なるバイナリデータ(0または1)を書き込めることを例示した。
一般に、チップ内のセルアレイ以外の領域を周辺領域と呼ぶ。図60は、行デコーダAおよびBを操る周辺領域のモジュール構成を示したものである。セルアレイは、上述のように、行線群AおよびBに分割され、それぞれ行デコーダAおよびBで制御される。周辺制御装置は、外部入出力と連携し、外部入力として上述のチャレンジ(C)や冗長モード取得コードを受け取る。冗長モード取得コードは行デコーダAおよびBに配布され、図57から59のように、行デコーダAおよびBの制御に用いられる。
一例として、上述した図56の結果のように特殊内部メモリに保存した冗長性データ{Fi, Ri}から固有乱数{d(i)}を得る。すなわち、図61に示すように、d(i)は(Fi,Ri)を関数fで変換して得ることができる。fが何もしないダミー関数である場合、冗長性データそのものが固有乱数である。この固有乱数{d(i)}はd(i)の集合であり、外部入力として受け取ったチャレンジ(C)と共にコード生成装置に配布され、適当なレスポンス関数Res(下記参照)に従って、R(i)の集合である{R(i)}をレスポンス(R)として返す。ただし、チャレンジはC(i)の集合{C(i)}である。
R(i)=Res (C(i), d(i))
集合{d(i)}がチップに固有である限り、Res関数は段落0060や段落0063の関係式を満たす。
最後に、外部入出力を介して{R(i)}をレスポンス(R)として外部出力する。
こうして、特殊内部メモリから取り出した固有乱数を用いて図13および図40の概念を実現することが可能である。本実施形態を採用すれば図13、30-35および40の固有乱数を冗長性データ{(Fi,Ri)}から取得することができる。ただし、固有乱数に関連する冗長性データ{(Fi,Ri)}を保存するのは電子装置B内の特殊内部メモリである。固有乱数は、この冗長性データ{(Fi,Ri)}をそのまま使用しても良いし、あるいは、このデータからコード変換して使用しても良い。特殊内部メモリは固有乱数と関係するチップと共に電子装置B内に設置するか、このチップの内部に設置するかどちらでも良い。いずれにしろ、この特殊内部メモリが電子装置Bに固有であることが望ましい。
 
(認証専用列)
チップのセルアレイはチップ動作中に認証以外の用途でもランダムにアクセスされている可能性がある。このような場合本願の認証作業によるセルアレイへのアクセスと、チップの別の作業によるセルアレイへのアクセスとの間に不整合が起こらないようにしておく必要がある。本実施形態では、認証専用の列を設けることでこの問題に対処する。図62は、認証専用列が右端にある場合である。図63は、中央やや右よりに認証専用列がある場合である。
チップが認証以外の作業を行う場合、この認証専用列にアクセスしないようアクセスに規制を設ける必要がある。このとき、冗長モード取得コードの引数として認証モードと非認証モードのどちらかを選択するための認証設定オプションを新たに追加することにする。図57から59は、認証モードを選んだ場合の例である。
さらに冗長モード取得コードの引数の一つとして認証専用列を指定するモード(専用列指定モード)を追加することができる。この場合引数として認証専用列の列数を専用列指定モードの引数とする。例えば、専用列指定(列番号)などとする。図62は、専用列指定で右端の列番号を選んだ場合の例である。図63は、専用列指定で中央からやや右よりの列番号を選んだ場合の例である。
認証設定モードの引数として認証モードを選んだ場合、専用列指定モードで選ばれた列番号の認証専用列を選択する。続いてアクセスモードでテストモード1、テストモード2、通常アクセスモードのいずれかを指定する。あとは図57から59の仕様にしたがって認証を行うことが望まし。
専用列指定モードで非認証モードを選んだ場合、専用列指定モードで選ばれなかった列番号を選択する。つづいて通常アクセスモードを選択する。
 
(ブロック冗長性)
上述したように、セルアレイを行線群で分割すると固有乱数の情報量がlog(P(LA-mA,mB))+log(P(LB,mB))からlog(C(LB、mB))まで減少することになる。情報量の減少を制御するため、図14のセルアレイを、行線群ではなく、小ブロックで分割する方法が期待できる。
図64は、図14のセルアレイを小ブロックに分割した一例を示している。行方向の小ブロックの数がMB、列方向の小ブロックの数がNBである。各小ブロックにはそれぞれ(iB,jB)という小ブロックアドレスが割り振られている。ただし、iBは1からMBの自然数。jBは1からNBの自然数である。これをブロックアレイと呼ぶ。
図65は、小ブロック内の素子配置の一例を示している。各小ブロック内の行数はBMで列数はBNであり、各ビットセルには(i’,j’)の小ブロック内アドレスが割り振られている。ただし、i’は1からBMの自然数であり、j’は1からBNの自然数である。行線はビット線もしくはワード線である。列線はワード線もしくはビット線である。たとえば、BNが1のとき本実施形態は行線群による分割と同様である。したがって、ブロックによる分割(ブロック分割)は行線群を使った分割(行線群分割)の一般化とみなすことができる。
小ブロックアドレスと小ブロック内のアドレスを指示すればビットセル(認証素子)のアドレス(ビットアドレス)が指示できる。図66は、ビットアドレス(i,j)を本実施形態のアドレスに変換する方法の一例を示している。すなわち、セルブロックアドレス表が必要となる。セルブロックアドレス表は、セルアレイ上の任意のアドレスと、小ブロックアドレスおよび小ブロック内アドレスの組み合わせと、の対応表である。
まず図64および図65に従い、セルブロックアドレス表を作成する。ビットアドレス(i,j)は、このセルブロックアドレス表を用いて(iB,jB;i’,j’)に変換される。ただし、前半の(iB,jB)は小ブロックアドレスからなる。後半の(i’,j’)は小ブロック内アドレスからなる。
図67は、小ブロックの中に不良ビットがある場合の一例を示している。このように不良ビットを含む小ブロックを不良小ブロックと呼ぶ。こうしてブロックアレイの中に不良小ブロックが配置することになる。
図68から70は、二つの不良小ブロックがブロックアレイの中に分布している場合の一例を示している。図68では、一方の不良小ブロックに小ブロックアドレス(sB,tB)が割り当てられている。小ブロック内アドレス(s’,t’)に不良ビットがあり、この不良ビットのビットアドレスは(sB,tB;s’,t’)で表される。
一方図69では、小ブロックアドレス(sB,tB)に割り振られている不良小ブロック内の小ブロック内アドレス(v’,w’)に不良ビットがない場合を示している。
一方、図70では、小ブロックアドレス(pB,qB)のところにある小ブロック内に不良ビットが一つもない場合を示している。このときビットアドレス(pB,qB;i’,j’)の小ブロック内アドレス(i’,j’)にどの座標を選択しても不良ビットはない。このような小ブロックを正規小ブロックと呼ぶ。
大量生産品では不良品をゼロにすることは不可能であり、不良品が含まれていてもそれを管理しその影響を抑制する方法が重要となる。図14のセルアレイから不良ビットを完全に取り除くことが不可能なので、図64の小ブロックの集合を冗長ブロックと正規ブロックに分割する。図71は、その一例として二つの不良小ブロックが正規ブロック内に分布している場合を示している。
図72は、冗長ブロックと正規ブロックに分割されたブロックアレイの中で不良小ブロックを検索する方法の一例を示している。 
まず正規ブロック内の小ブロックを一つずつ選択し、内部に不良ビットがないかどうか検索する。ただし、説明を簡単にするため最初に調べる左上の小ブロックに割り当てられる小ブロックアドレスを(1,1)とする。その小ブロック内に不良ビットがあるかどうか調べるために、小ブロック内アドレス(i’,j’)に不良ビットがないかどうか調べる。つまり、(1、1;i’,j’)を検索する。ただし、i’は1からBMまで、j’は1からBNまで走査する。(1,1、;1,1)から(1,1;BM,BN)まで走査して不良ビットがなければこの小ブロックは正規小ブロックである。そうでなければこの小ブロックは不良小ブロックである。小ブロックアドレスを更新し(一例として(1,2;I’,j’))、正規ブロック内のすべての小ブロックを操作するまで同じことを繰り返す。
図72の例では、正規ブロックの左上の小ブロックアドレスを(1,1)とし、そこから行方向に小ブロックを走査している。右端に到達したら列を一段下げて再び行方向に左端(2,1)からサーチする。冗長ブロック内の小ブロックの走査にも同様の方法を用いることができる。
こうして、不良小ブロックの小ブロックアドレスの集合{不良小ブロック(iB,jB)}と不良ビットのアドレスの集合{(iB,jB;i’,j’)}が得られる。どちらもチップに固有な乱数データ(固有乱数)であるが、不良小ブロックの小ブロックアドレスの集合{(iB,jB)}の方が集合{(iB,jB;i’,j’)}より情報量が少なくなっているが、小ブロック内のビット数を小さくすることによって情報量のロスを抑制することが可能である。
この実施形態において不良小ブロックの小ブロックアドレスの集合{不良小ブロック(iB,jB)}が冗長性データである。一般に冗長性データは固有乱数と関連しているので集合{不良小ブロック(iB,jB)}を固有乱数とみなすことができる。たとえば図73は、不良小ブロックのアドレスをバイナリで表示し並べたものである。このように0と1のバイナリで表示されるチップに固有な乱数コードとして集合{不良小ブロック(iB,jB)}が得られる。この冗長性データはチップの出荷前検査時に取得し、特殊内部メモリに保存される。
図74は、小ブロックの読み替え方法の一例を示している。この例では行方向に走査しているが図52のように列方向に走査することも可能である。特に省電力が特に問題でなければこの方法で集合{不良小ブロック(iB,jB)}から固有乱数を生成するのが望ましい。自明なので特に図示しないが、本願では多様な走査方法が採用可能である。
まず、上述した方法あるいは別の適当な方法で正規ブロック内の小ブロックを一つずつ走査する。最初の不良小ブロックが見つかれば冗長ブロックに移り、冗長ブロック内の小ブロックの走査を開始する。冗長ブロック内に最初に現れる正規小ブロックを正規ブロック内で見つかった不良小ブロックと読み替える。これを図73では読み替え1としている。読み替え1の後冗長ブロック内の小ブロックアドレスを更新して正規ブロックに戻り、正規ブロック内の小ブロックアドレスを更新して正規ブロック内の走査を再開する。次の不良小ブロックが見つかれば冗長ブロックに移り、冗長ブロック内の小ブロックの走査を開始する。冗長ブロック内に最初に現れる正規小ブロックを正規ブロック内で見つかった不良小ブロックと読み替える。これを図73では読み替え2としている。読み替え2の後冗長ブロック内の小ブロックアドレスを更新して正規ブロックに戻り、正規ブロック内の小ブロックアドレスを更新して正規ブロック内の走査を再開する。
正規ブロック内のすべての小ブロックを走査するまでこの作業を繰り返す。
ただし、正規ブロック内に見つかる不良小ブロックの数より冗長ブロック内の正規小ブロックの数が多くなるように冗長ブロックと正規ブロックを分割しなければならない。これはチップの設計仕様により決められるが、採用された設計仕様においてこの条件を見たしたチップのみ良品として出荷すれば、出荷されているチップはすべて「正規ブロック内に見つかる不良小ブロックの数より冗長ブロック内の正規小ブロックの数が多くなる」という条件を満たすことになる。
小ブロックによる分割は、上述したように、行線群を用いた分割の一般化になっている。つまり、図57から59のアクセスオプションや動作オプションの選択方法に対応する関係が本実施形態にも存在する。それを図75から77に示す。それぞれ、図57から59に対応している。
まず、外部入力から被検査主体に冗長モード取得コードを与える。これは、チャレンジ(C)に含めることもできるし、チャレンジ(C)とは別途与えることも可能である。冗長モード取得コードは、アクセスモードを選択するためのアクセスオプション、および動作モード(書き込み、消去、読み出し)を設定するための動作オプションなどを引数として持つ。
アクセスモードは、上述したように、テストモード1、テストモード2、通常アクセスモード、省電力モード、アドレス空間チェックモードなどからなる。ここまでは、図57と同様である。
しかしながら、図75から77では特殊内部メモリに保存されている情報が行線群分割を一般化した集合{小ブロック(iB,jB)}に置き換わっている。さらに、ビットアドレス変換のため通常アクセスモードから図66のセルブロックアドレス表を読みにいかなければならない。
テストモード1および2のブロック分割への一般化についても改めて説明が必要である。
図78は、行デコーダA、行デコーダB、および列デコーダを使って冗長ブロックおよび正規ブロックへのアクセスを制御する方法を示している。
周辺制御装置は、外部入出力を通してチャレンジ(C)および冗長モード取得コードを受け入れる。冗長モード取得コードのアクセスオプションに従い、行デコーダAは列デコーダと共に冗長ブロックへのアクセスを制御する。行デコーダBは列デコーダと共に正規ブロックへのアクセスを制御する。さらに動作オプションを操って不良ビットのアドレスの集合{(i,j)}を手に入れる。セルブロックアドレス表を用いてこれを不良小ブロックのアドレスの集合{(iB,jB)}に変換する。これは、たとえば図79のように0と1が市松状に分布したデータになる。これをバイナリ表示に直して固有乱数{d(i)}を得ることができる。それを特殊内部メモリに保存する。この固有乱数と外部入出力から得たチャレンジ(C)を段落0171のレスポンス関数(Res)に入力してレスポンス{R(i)}を得る。最後に、外部入出力を介して{R(i)}をレスポンス(R)として外部出力する。
図75に戻る。まず、アクセスオプションでテストモード1を選び、列デコーダと併用してアクセス可能なすべての小ブロックアドレスに0書き込みする。続いてテストモード2を選びアクセス可能なすべての小ブロックアドレスに1書き込みをする。続いて通常アクセスモードを選びアクセス可能なすべての小ブロックを順次走査し、特殊内部メモリのデータを読みながら不良小ブロックかどうか判定する。不良小ブロックであれば冗長小ブロックへの読み替えを行い、読み出した結果は1となる。正規小ブロックであれば読み出した結果は0となる。こうして、一例として図79のような0と1の市松状に分布したデータになる。0と1を交換して同じことをしても構わない。上述したように、これが固有乱数となる。
図76に戻る。まず、アクセスオプションでテストモード1を選び、列デコーダと併用してアクセス可能なすべての小ブロックアドレスに0書き込みする。続いてテストモード2を選びアクセス可能なすべての小ブロックアドレスに1書き込みをする。続いて通常アクセスモードを選びアクセス可能なすべての小ブロックを順次走査し、特殊内部メモリのデータを読みながら不良小ブロックかどうか判定する。不良小ブロックであれば冗長小ブロックへの読み替えを行い、読み出した結果は1となる。正規小ブロックであれば読み出した結果は0となる。こうして、一例として図79のような0と1の市松状に分布したデータになる。0と1を交換して同じことをしても構わない。上述したように、これが固有乱数となる。
図77に戻る。まず、アクセスオプションでテストモード1を選び、列デコーダと併用してアクセス可能なすべての小ブロックアドレスに1書き込みする。続いてテストモード2を選びアクセス可能なすべての小ブロックアドレスに0書き込みをする。続いて通常アクセスモードを選びアクセス可能なすべての小ブロックを順次走査し、特殊内部メモリのデータを読みながら不良小ブロックかどうか判定する。不良小ブロックであれば冗長小ブロックへの読み替えを行い、読み出した結果は1となる。正規小ブロックであれば読み出した結果は0となる。こうして、一例として図79のような0と1の市松状に分布したデータになる。0と1を交換して同じことをしても構わない。上述したように、これが固有乱数となる。
上述したオペレーションを概念化したものが図80である。図61と比べると、特殊内部メモリに保存される固有乱数が不良小ブロックのアドレスの集合になっており、この点のみ異なる。それ以外は同様なので細かい説明は省く。
 
(認証専用ビット)
上述したように、チップのセルアレイはチップ動作中に認証以外の用途でもランダムにアクセスされている可能性がある。このようなとき本願の認証作業によるセルアレイへのアクセスと、チップの別の作業によるセルアレイへのアクセスとの間に不整合が起こらないようにしておく必要がある。
本実施形態では、小ブロック内アドレスに認証専用のビットを設けることでこの問題に対処する。図81は、認証専用ビットが小ブロックの左上端にある場合である。図82は、左上旦からやや中央よったところに認証専用ビットがある場合である。
チップが認証以外の作業を行う場合認証設定オプションで非認証モードを選び、各小ブロック内でこの認証専用ビットにアクセスしないよう規制を設ける必要がある。図75から77は認証モードを選んだ場合の例である。
さらに冗長モード取得コードの引数の一つとして認証専用ビットを指定するモード(専用ビット指定モード)を追加することができる。この場合引数として認証専用ビットの行番号および列番号を専用ビット指定モードの引数(指定ビットアドレス)とする。例えば、専用ビット指定(行番号、列番号)などとする。ただし、専用ビット指定で選択するのは小ブロック内のアドレスである。図81は、専用ビット指定で小ブロック内の左上端のビットを選んだ場合の例である。図82は、専用ビット指定で左上端から中央右よりのビットを選んだ場合の例である。
認証設定モードの引数として認証モードを選んだ場合、専用列指定モードで選ばれたビットの認証専用ビットを選択する。続いてアクセスモードでテストモード1、テストモード2、通常アクセスモードのいずれかを指定する。あとは図75から77の仕様にしたがって認証を行うことができる。
専用ビット指定モードで非認証モードを選んだ場合、各小ブロック内において専用ビット指定で選択されなかったビットを選択する。つづいて通常アクセスモードを選択する。
図13および図40は、本願の概念を説明するものである。本実施形態(ブロック冗長性)を採用すれば図13、30-35、および40の固有乱数に関連するデータとして冗長性コード{不良小ブロック(iB,jB)}を用いることができる。あるいは、(行線冗長性)の実施形態を採用すれば図13、30-35、および40の固有乱数に関連するデータとして冗長性コード{(Fi,Ri)}を用いることができる。
いずれにしろ、一般に図13および図40の概念によれば、検査主体がチャレンジとなるデータ(コード情報){C(i)}を被検査装置に入力する。また、図65でBM=1、BN=Nとすれば(ブロック冗長性)は(行線冗長性)を一般化したものであることが判る。
被検査装置に含まれるチップの内部にはそのチップに固有な不良ビット分布と関連のあるデータ(不良コード情報)がチップに固有な固有乱数に関するデータとして保存されている。
段落0060の式に従いこの不良コード情報と共にチャレンジ(C)からレスポンス(R)を生成することは、結局固有乱数とチャレンジ(C)を用いてレスポンス(R)が生成されることと同意である。固有乱数がチップに固有である限り、すなわち、固有乱数がチップと一対一の関係を有しているとみなせるときに限り、このレスポンス(R)がチャレンジ(C)とチップによって決定されるとみなせる。
検査主体は、被検査装置から出力されるこのレスポンス(R)を受け取り、CとRの組み合わせから被検査装置の認証を行う。このとき、検査主体は図41のテストサーバーの役割を担うことが望ましい。
なお、レスポンス(R)を利用して図30-35の方法を用い、PKIアルゴリズムに従い秘密鍵と公開鍵のペアを生成することが可能である。こうして生成した秘密鍵と公開鍵のペアは、図36や図37の方法を用いてデータの送受信に活用される。
図13および図40で示している通りこの秘密鍵は被検査装置を構成するチップに固有な固有乱数と切り離せない形で関連付けられている。しかも段落0060および0063の式で示した通り、チャレンジ(C)も引数として含んでいる。そのためたとえハッカーが固有乱数を盗んでも、検査主体は(C,R)の組を被検査装置の認証に使用しているので、検査主体そのものがハッキングされない限り被検査装置の認証を改ざんすることは不可能である。
固有乱数に関連するデータ(不良コード情報等)を保存するのは被検査装置内の特殊内部メモリである。特殊内部メモリは固有乱数と関連するチップの内部に設置するのが望ましい。あるいは、固有乱数と関係するチップと共に被検査装置内部に設置することも可能である。いずれにしろ、この特殊内部メモリが被検査装置に固有であることが望ましい。また、特殊内部メモリは、チップの外部入出力と直接つながっていないことが望ましい。
図41で示したように、物理ファイヤウォールの中心的立場としてテストサーバー(基幹装置)が存在する。テストサーバーはそれ以外の電子装置(周辺装置)を管理下に置き、周辺装置同士は公開鍵あるいは公開鍵から生成したコード情報を論理アドレスとして互いに通信するすることが可能である。物理ファイヤウォール内の別の電子装置と通信する場合と外部の電子装置に通信する場合で違うところは、テストサーバーの認証が取れるかどうかである。外部の電子装置はテストサーバーの認証が取れないので、外部の電子装置と通信を行うかどうか、あるいは、どのような通信を行うのかは管理者の判断にゆだねられる。一例として、テストサーバーを介して物理ファイヤウォール外部の電子装置と通信することが望ましい。
テストサーバーは、入力(チャレンジ、C)とその管理下にある周辺装置からのレスポンス(R)の組み合わせの集合を用いて周辺装置の認証管理を行う。テストサーバーが管理下にある周辺装置に一斉に同じチャレンジ(C)を入力すると、各周辺装置はそれぞれ異なるレスポンス(R)を返答するのでテストサーバーはRの集合{R}を取得することになる。テストサーバーはチャレンジ(C)を随時変更し、その管理下にある周辺装置に都度送付することが可能である。これはチャレンジ(C)の変更である。変更されたチャレンジ(C)に対応して各周辺装置からのレスポンス(R)の集合も変更される。つまり、テストサーバーは、適宜更新可能なCと{R}の組み合わせを用いて物理ファイヤウォール内の周辺装置の認証を管理することが可能となる。
なお、本発明の技術範囲は上記実施の形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲において種々の変更を加えることが可能である。
チップに固有な固有乱数を用いたチップ認証をテストサーバー中心とする中央管理とし、認証済みチップを構成要素とする電子装置間の通信をブロックチェーンのような分散管理に任せ、中央管理と分散管理を互いに補完させることによってIoTネットワークのセキュリティを強化することが可能となる。また、冗長性データは、固有乱数と同様にチップに固有であることが望ましい。
最後に、図30-35では、秘密鍵及び公開鍵を、レスポンス(R(n))から生成しているが、秘密鍵及び公開鍵を、固有乱数(n)から生成することも可能である。この場合、検査主体(テストサーバー)は、図83および84のように、一例としてチャレンジ(C)を鍵生成装置に入力する。鍵生成装置では、固有乱数(n)およびこのチャレンジ(C)を何らかの方法で合成し、それを基に所定のアルゴリズム(RSA型もしくはエルガマル型)で秘密鍵および公開鍵のペアを生成することが望ましい。図83および図84は、それぞれエルガマル型およびRSA型のアルゴリズムを鍵生成装置に用いて場合に相当する。固有乱数(n)及びチャレンジ(C)を合成する方法は、一例として、論理AND、論理NAND、論理XOR、論理OR、論理NOR等入力が二つで出力が一つの論理ゲートを用いて実現できる。自明なので特に図示しないが、図83および84の実施形態においても、図31および32、あるいは、図34および35、のように、第二の入力を用いることが可能である。また、この実施形態の場合、図60、61、78、80のコード生成装置は必ずしも使用されない。さらに、図60および78において、周辺制御装置の中に鍵生成装置を設置することも可能である。このとき鍵生成装置はソフトウェアとしてインストールされても良いし、組み込み回路として組み込まれていても良い。
より具体的に説明すると、図41と図45の使い分けである。例えば、図41でテストサーバーがネットワークに所属する各ノード(周辺装置)を認証するのが中央管理である。反対に、図45でテストサーバーを介さず各ノードがお互いに通信しているのが分散管理である。
図41の中央管理では、まず管理下に置くべきN個の周辺装置(被検査装置)の登録を行う。たとえば、テストサーバー(検査主体)がこのN個の周辺装置に第一のチャレンジ(CA)を送る。このN個の周辺装置は、内部の固有乱数を用いてCに対するレスポンス(R1、R2…RN)をそれぞれ生成し、テストサーバーに返信する。テストサーバーは、このチャレンジとレスポンスのペア(CAR1、CAR2、CAR3…CARN)を保存する。この保存データを{CAR}とする。このような登録は、中央管理の都合で随時行うことができる。例えばサイバーテロが起こったときなど一時認証を外してすべてのノードを切り離し、安全確認を行った後ネットワーク復旧のために適宜行うこともできる。
続いて、テストサーバーは、ネットワーク上の任意のノードが自分の管理下にある周辺装置であるかどうかを検査する。たとえば、テストサーバーが任意の選択したノードに第一のチャレンジ(CA)を送付する。このノードがレスポンス(RA)をテストサーバーに返信したとする。テストサーバーは、保存してある{CAR}に照らし合わせる。CAとRAのペアがこの保存してある{CAR}の中に見つかれば、このノードは登録済みのノードであることが判明する。なければ接続を許可しない。こうして、図44のように物理ファイヤウォールの外に排除することができる。
上述した方法で物理ファイヤウォールに所属していることがわかっているノード同士なら自由に通信することが出来る。図45のように、この通信はサイバーセキュリティ技術で守られており、分散管理の対象である。一例として本願が提案しているサイバーセキュリティ技術が、図27-35,40、83,84で説明したものである。なお、本願のサイバーセキュリティ技術は、図36-39で示すように、ブロックチェーンと整合性が良い。たとえは、図36および37のR(N)は、図27―35のレスポンスR(n)のことである。図83および84のように、レスポンスRとして固有乱数を使用する場合、図36および37のR(N)を固有乱数(N)に置き換えればよい。自明なので図面は省略する。
ここで重要なことは、図27―35、40において、固有乱数を使ってレスポンスを得るためにICチップに入力するチャレンジは、前記第一のチャレンジ(CA)とは異なる第二のチャレンジ(CB)を用いることが望ましい。なぜなら、前記第一のチャレンジ(CA)はネットワークに一度さらされているので、ハッカーに搾取される可能性がゼロではないからである。しかしながら、別の方法で第一のチャレンジが搾取されることを防げるのであれば、第一および第二のチャレンジは同等であっても構わない。第二のチャレンジを各周辺装置に配布するのは、前記テストサーバーであってもなくても構わない。第二のチャレンジを配布するのが前記テストサーバーでない場合、検査主体が2つあるネットワークになる。この場合、中央管理と分散管理の分離と協業が明確になりやすいので望ましい。
 

 
電子装置のネットワークとサイバーネットワーク(論理ネットワーク)の関係の一例を説明する図。 電子装置のネットワークとサイバーネットワーク(論理ネットワーク)の関係の一例を説明する図。 電子装置のネットワークの一例を説明する図。 なりすましの一例を説明する図。 なりすましの一例を説明する図。 なりすまされた電子装置のネットワークの一例を説明する図。 AI,ビッグデータ、IoTネットワークの産業利用における関係を説明する図。 電子装置の認証方法の一例を説明する図。 なりすましされた場合の電子装置の認証方法の一例を説明する図。 データ入出力とメモリの仕組みの一例を説明する図。 テータ転送とメモリ間データフローの一例を説明する図。 論理アカウント同士のデータ転送の一例を説明する図。 本願に関する電子装置認証方法の概念を説明する図。 認証素子のセルアレイの一例を示した図。 0と1の配置を白と黒の市松模様であらわした図。 抵抗線を認証素子とする例を説明する図。 キャパシタを認証素子とする例を説明する図。 PN接合を認証素子とする例を説明する図。 ショットキー接合の例を説明する図。 トランジスタを認証素子とする一例を説明する図。 トランジスタを認証素子とする一例を説明する図。 トランジスタとキャパシタからなるDRAMセルを認証素子とする一例を説明する図。 トランジスタと可変抵抗からなる不揮発メモリセルを認証素子とする一例を説明する図。 トランジスタと磁気抵抗からなる不揮発メモリセルを認証素子とする一例を説明する図。 電荷蓄積層月不揮発性メモリセルを認証素子とする一例を説明する図。 電荷蓄積層月不揮発性メモリセルを認証素子とするの一例を説明する図。 本願に関する電子装置の認証方法によって、二つの異なるチップを含む電子装置の区別をする方法の一例を説明する図。 本願に関する電子装置の認証方法の一例を説明する図。 本願に関する電子装置の認証方法の一例を説明する図。 本願に関する電子装置の認証方法において秘密鍵と公開鍵を生成する方法の一例を説明する図。 本願に関する電子装置の認証方法において秘密鍵と公開鍵を生成する方法の一例を説明する図。 本願に関する電子装置の認証方法において秘密鍵と公開鍵を生成する方法の一例を説明する図。 本願に関する電子装置の認証方法において秘密鍵と公開鍵を生成する方法の一例を説明する図。 本願に関する電子装置の認証方法において秘密鍵と公開鍵を生成する方法の一例を説明する図。 本願に関する電子装置の認証方法において秘密鍵と公開鍵を生成する方法の一例を説明する図。 本願に関する電子装置の認証方法を活用して論理アカウント間のデータ転送を物理ノードのデータ転送とリンクする方法の一例を説明する図。 本願に関する電子装置の認証方法を活用して論理アカウント間のデータ転送を物理ノードのデータ転送とリンクする方法の一例を説明する図。 チップのメルクル樹形の一例を説明する図。 チップをメルクの根とするブロックチェーン(ICチップのブロックチェーン)の一例を説明する図。 本願の電子装置の認証方法の概念の一例を説明する図。 本願の電子装置の認証方法の概念を活用して構成する物理ファイヤウォールの一例を説明する図。 従来のファイヤウォールの一例を説明する図。 従来のファイヤウォールがなりすましによって破られる一例を説明する図。 本願に関する物理ファイヤウォールがなりすましを防ぐ一例を説明する図。 本願に関する物理ファイヤウォール内の電子装置同士がサイバーセキュリティで守られたデータ通信を行う一例を説明する図。 認証素子のセルアレイ上に複数の不良ビットが分布する一例を説明する図。 認証素子のセルアレイを行線群によって分割する一例を説明する図。 認証素子のセルアレイを行線群によって分割するの一例を説明する図。 行線群で分割された認証素子のセルアレイへのアクセス制御を行う周辺装置の一例を説明する図。 行線冗長性の利用方法の一例を説明する図。 行線冗長性の利用方法の一例を説明する図。 行線冗長性の利用方法の一例を説明する図。 行線冗長性の利用方法の一例を説明する図。 行線冗長性の利用方法の一例を説明する図。 行線冗長性の利用方法の一例を説明する図。 行線群で分割された認証素子のセルアレイ上のアクセス方法の一例を説明する図。 冗長モード取得コードの使用方法の一例を説明する図。 冗長モード取得コードの使用方法の一例を説明する図。 冗長モード取得コードの使用方法の一例を説明する図。 行線群で分割された認証素子のセルアレイへのアクセス制御を行う周辺装置の一例を説明する図。 本願の電子装置の認証方法の概念の一例を説明する図。 認証専用列を利用した認証素子のセルアレイへのアクセス方法の一例を説明する図。 認証専用列を利用した認証素子のセルアレイへのアクセス方法の一例を説明する図。 ブロック冗長性の利用方法の一例を説明する図。 ブロック冗長性の利用方法の一例を説明する図。 ブロック冗長性で利用するセルブロックアドレス表の一例を説明する図。 ブロック冗長性の利用方法の一例を説明する図。 ブロック冗長性の利用方法の一例を説明する図。 ブロック冗長性の利用方法の一例を説明する図。 ブロック冗長性の利用方法の一例を説明する図。 ブロック冗長性の利用方法の一例を説明する図。 ブロック冗長性の利用方法の一例を説明する図。 不良小ブロックアドレスの分布をバイナリコードで表した一例を説明する図。 ブロック冗長性の利用方法の一例を説明する図。 冗長モード取得コードの使用方法の一例を説明する図。 冗長モード取得コードの使用方法の一例を説明する図。 冗長モード取得コードの使用方法の一例を説明する図。 冗長モード取得コードを活用して本願に関する電子装置の認証方法を実現する一例を説明する図。 不良小ブロックの分布が固有乱数に変換されることを示す図。 本願に関する電子装置の認証方法の概念の一例を説明する図。 認証専用ビットの利用方法の一例を説明する図。 認証専用ビットの利用方法の一例を説明する図。 本願に関する電子装置の認証方法において永久認証を生成する方法の一例を説明する図。 本願に関する電子装置の認証方法において永久認証を生成する方法の一例を説明する図。 本願の電子装置の認証方法の概念を活用して構成する物理ファイヤウォールの一例を説明する図。 本願に関する物理ファイヤウォール内の電子装置同士がサイバーセキュリティで守られたデータ通信を行う一例を説明する図。

Claims (30)

  1. 複数の電子装置からなる電子装置のネットワークであり、
    前記複数の電子装置のうち、M個の電子装置が第一から第Mの被検査装置であり、
    その他前記複数の電子装置のうち少なくとも一つの電子装置が検査主体となり、
     
    前記第一から第Mの被検査装置は、それぞれ第一から第Mの周辺装置であり、
    前記検査主体は、前記第一から第Mの周辺装置に第一のチャレンジを入力し、
     
    前記第一から第Mの周辺装置は、レスポンス関数に基づき、前記第一のチャレンジに応じて、それぞれ第一から第Mのレスポンスを前記検査主体に返し、
    前記第一から第Mのレスポンスは、前記第一から第Mのレスポンスを要素とする第一のレスポンス集合を形成し、
     
    前記検査主体は、前記第一のチャレンジおよび前記第一のレスポンス集合を、保存し、
     
    前記第一から第Mの周辺装置は、前記第一から第Mのレスポンスから、第一から第Mの秘密鍵と、第一から第Mの公開鍵のペアを、それぞれ生成し、
     
    前記第一から第Mの周辺装置は、それぞれ第一から第MのICチップを構成要素とし、
     
    前記レスポンス関数は、前記第一のチャレンジ、及び、前記第一から第MのICチップに固有の固有乱数を引数として、前記第一から第Mのレスポンスを、それぞれ生成する、
     
    ことを特徴とするデジタル情報通信システム。
     
  2. 前記第一から第MのICチップのうちの一つを選択し、第nのICチップとし、
    前記第nのICチップは、セルアレイ、行デコーダ、周辺制御装置、コード生成装置、特殊内部メモリ、外部入出力、を有し、
     
    前記セルアレイは、第一および第二のセルアレイに分割され、
    前記行デコーダは、第一および第二の行デコーダに分割され、
     
    前記第一および第二の行デコーダは、それぞれ前記第一および第二のセルアレイへのアクセスを操り、
     
    前記周辺制御装置は、前記外部入出力から冗長モード取得コード及び前記チャレンジを受け取り、前記冗長モード取得コードに基づいて前記第一及び第二のデコーダを操り、前記チャレンジを前記コード生成装置に渡し、前記特殊内部メモリに保存された、第nの冗長性コードに基づき、前記第一および第二のセルアレイへのアクセスから第nの固有乱数を取得し、前記第n固有乱数を前記コード生成装置に渡し、
     
    前記コード生成装置は、前記レスポンス関数を用い、前記第一のチャレンジおよび前記第nの固有乱数から、第nのレスポンスを生成し、前記外部入出力装置に渡し、
     
    前記外部入出力は、前記冗長モード取得コード及び前記第一のチャレンジの入力を外部から受け取り、前記コード生成装置から前記第nのレスポンスを受け取り、前記第nのレスポンスを前記第nのICチップ外部に出力する、
     
    ことを特徴とする請求項1記載のデジタル情報の通信システム。
     
  3. 前記冗長モード取得コードは、認証設定オプション、専用ビット指定モード、アクセスオプション、動作オプションを含み、
     
    前記セルアレイは、複数の小ブロックに分割され、
    前記ICチップは、更に、セルブロックアドレス表を、有し、
    前記セルブロックアドレス表は、前記セルアレイ上の任意のアドレスと、小ブロックアドレスおよび小ブロック内アドレスの組み合わせと、の対応表であり、
     
    前記専用ビット指定モードは、指定ビットアドレスを引数に持ち、
    前記指定ビットアドレスは、前記小ブロック内の認証専用ビットであり、
     
    前記認証設定オプションは、認証モード、もしくは、非認証モードからなり、前記認証モードが選択された場合前記認証専用ビットが前記小ブロック内アドレスの選択ビットアドレスとして選択され、前記非認証モードが選択された場合前記認証専用ビット以外の一つのビットが、前記小ブロック内の選択ビットアドレスとして選択され、
     
    前記アクセスオプションは、前記列デコーダ、前記第一および第二の行デコーダの組み合わせを操り、前記セルアレイ上の各ビットアドレスへのアクセスを指示し、
     
    前記動作オプションは、前記各ビットアドレスへの、書き込み、消去、および、読み出しを、含み、
     
    前記周辺回路は、前記認証モードが選択された場合、前記アクセスオプションおよび前記動作オプションの組み合わせを切り替えることによって、前記第nの冗長性コードに基づき、前記セルアレイから前記第nの固有乱数を読み出す、
     
    ことを特徴とする請求2記載のデジタル情報の通信システム。
     
  4. 前記複数の小ブロックのうち、前記セルアレイ上に分布する不良ビットのアドレスを含む小ブロックを、不良小ブロックとし、前記不良ビットのアドレスを含まない小ブロックを、正規小ブロックとし、
    前記第nの冗長コードは、前記不良小ブロックの分布と関連する、
     
    ことを特徴とする請求項3記載のデジタル情報の通信システム。
     
  5. 前記冗長モード取得コードは、認証設定オプション、専用列指定モード、アクセスオプション、動作オプションを含み、
     
    前記専用列指定モードは、指定列番号を引数に持ち、
     
    前記認証設定オプションは、認証モード、もしくは、非認証モードからなり、前記認証モードが選択された場合前記指定列番号が認証専用列を指定し、前記認証専用列が選択列として選択され、前記非認証モードが選択された場合前記指定列番号以外の列のうち一つが選択列として選択され、
     
    前記アクセスオプションは、前記第一および第二の行デコーダの組み合わせを選択し、前記行デコーダの組み合わせおよび前記選択列で定義されるアドレスへのアクセスを指示し、
     
    前記動作オプションは、前記アドレスへの、書き込み、消去、および、読み出しを、含み、
     
    前記周辺回路は、前記認証モードが選択された場合、前記アクセスオプションおよび前記動作オプションの組み合わせを切り替えることによって、前記第nの冗長性コードに基づき、前記セルアレイから前記第nの固有乱数を読み出す、
     
    ことを特徴とする請求項2記載のデジタル情報の通信システム。
     
  6. 前記セルアレイ上に分布する不良ビットのアドレスを含む行線を、不良行線とし、前記不良ビットのアドレスを含まない行線を、正規行線とし、
     
    前記第nの冗長性コードは、前記不良行線の分布に関連する、
     
    ことを特徴とする請求項2記載のデジタル情報の通信システム。
     
  7. 複数の電子装置からなる電子装置のネットワークであり、
    前記複数の電子装置のうち、M個の電子装置が第一から第Mの被検査装置であり、
    その他前記複数の電子装置のうち少なくとも一つの電子装置が検査主体となり、
     
    前記第一から第Mの被検査装置は、それぞれ第一から第Mの周辺装置であり、
    前記検査主体は、前記第一から第Mの周辺装置に第一のチャレンジを入力し、
    前記第一から第Mの周辺装置は、レスポンス関数に基づき、前記第一のチャレンジに応じて、それぞれ第一から第Mのレスポンスを前記検査主体に返し、
    前記第一から第Mのレスポンスは、前記第一から第Mのレスポンスを要素とする第一のレスポンス集合を形成し、
     
    前記検査主体は、前記第一のチャレンジおよび前記第一のレスポンス集合を保存し、
    前記第一から第Mの周辺装置は、前記第一から第Mのレスポンスから、第一から第Mの秘密鍵を、それぞれ生成し、前記第一から第Mの秘密鍵から、第一から第Mの公開鍵のペアを、それぞれ生成し、
     
    前記第一から第Mの周辺装置は、それぞれ第一から第MのICチップを構成要素とし、
    前記レスポンス関数は、前記第一のチャレンジ、及び、前記第一から第MのICチップに固有の固有乱数を引数として、前記第一から第Mのレスポンスを、それぞれ生成する、
     
    ことを特徴とするデジタル情報通信システム。
     
  8. 前記第一から第MのICチップのうちの一つを選択し、第nのICチップとし、
    前記第nのICチップは、セルアレイ、行デコーダ、周辺制御装置、コード生成装置、特殊内部メモリ、外部入出力、を有し、
     
    前記セルアレイは、第一および第二のセルアレイに分割され、
    前記行デコーダは、第一および第二の行デコーダに分割され、
     
    前記第一および第二の行デコーダは、それぞれ前記第一および第二のセルアレイへのアクセスを操り、
     
    前記周辺制御装置は、前記外部入出力から冗長モード取得コード及び前記チャレンジを受け取り、前記冗長モード取得コードに基づいて前記第一及び第二のデコーダを操り、前記チャレンジを前記コード生成装置に渡し、前記特殊内部メモリに保存された、第nの冗長性コードに基づき、前記第一および第二のセルアレイへのアクセスから第nの固有乱数を取得し、前記第n固有乱数を前記コード生成装置に渡し、
     
    前記コード生成装置は、前記レスポンス関数を用い、前記周辺装置に渡されるチャレンジおよび前記第nの固有乱数から、第nのレスポンスを生成し、
     
    前記外部入出力は、前記冗長モード取得コード及び前記第一のチャレンジの入力を外部から受け取り、前記コード生成装置から前記第nのレスポンスを受け取り、前記第nのレスポンスを前記第nのICチップ外部に出力する、
     
    ことを特徴とする請求項7記載のデジタル情報の通信システム。
     
  9. 前記冗長モード取得コードは、認証設定オプション、専用ビット指定モード、アクセスオプション、動作オプションを含み、
     
    前記セルアレイは、複数の小ブロックに分割され、
    前記ICチップは、更に、セルブロックアドレス表を、有し、
    前記セルブロックアドレス表は、前記セルアレイ上の任意のアドレスと、小ブロックアドレスおよび小ブロック内アドレスの組み合わせと、の対応表であり、
     
    前記専用ビット指定モードは、指定ビットアドレスを引数に持ち、
    前記指定ビットアドレスは、前記小ブロック内の認証専用ビットであり、
     
    前記認証設定オプションは、認証モード、もしくは、非認証モードからなり、前記認証モードが選択された場合前記認証専用ビットが前記小ブロック内アドレスの選択ビットアドレスとして選択され、前記非認証モードが選択された場合前記認証専用ビット以外の一つのビットが、前記小ブロック内の選択ビットアドレスとして選択され、
     
    前記アクセスオプションは、前記列デコーダ、前記第一および第二の行デコーダの組み合わせを操り、前記セルアレイ上の各ビットアドレスへのアクセスを指示し、
     
    前記動作オプションは、前記各ビットアドレスへの、書き込み、消去、および、読み出しを、含み、
     
    前記周辺回路は、前記認証モードが選択された場合、前記アクセスオプションおよび前記動作オプションの組み合わせを切り替えることによって、前記第nの冗長性コードに基づき、前記セルアレイから前記第nの固有乱数を読み出す、
     
    ことを特徴とする請求8記載のデジタル情報の通信システム。
     
  10. 前記複数の小ブロックのうち、前記セルアレイ上に分布する不良ビットのアドレスを含む小ブロックを、不良小ブロックとし、前記不良ビットのアドレスを含まない小ブロックを、正規小ブロックとし、
    前記第nの冗長コードは、前記不良小ブロックの分布と関連する、
     
    ことを特徴とする請求項9記載のデジタル情報の通信システム。
     
  11. 前記冗長モード取得コードは、認証設定オプション、専用列指定モード、アクセスオプション、動作オプションを含み、
     
    前記専用列指定モードは、指定列番号を引数に持ち、
     
    前記認証設定オプションは、認証モード、もしくは、非認証モードからなり、前記認証モードが選択された場合前記指定列番号が認証専用列を指定し、前記認証専用列が選択列として選択され、前記非認証モードが選択された場合前記指定列番号以外の列のうち一つが選択列として選択され、
     
    前記アクセスオプションは、前記第一および第二の行デコーダの組み合わせを選択し、前記行デコーダの組み合わせおよび前記選択列で定義されるアドレスへのアクセスを指示し、
     
    前記動作オプションは、前記アドレスへの、書き込み、消去、および、読み出しを、含み、
     
    前記周辺回路は、前記認証モードが選択された場合、前記アクセスオプションおよび前記動作オプションの組み合わせを切り替えることによって、前記第nの冗長性コードに基づき、前記セルアレイから前記第nの固有乱数を読み出す、
     
    ことを特徴とする請求項8記載のデジタル情報の通信システム。
     
  12. 前記セルアレイ上に分布する不良ビットのアドレスを含む行線を、不良行線とし、前記不良ビットのアドレスを含まない行線を、正規行線とし、
     
    前記第nの冗長性コードは、前記不良行線の分布に関連する、
     
    ことを特徴とする請求項8記載のデジタル情報の通信システム。
     
  13. 複数の電子装置からなる電子装置のネットワークであり、
    前記複数の電子装置のうち、M個の電子装置が第一から第Mの被検査装置であり、
    その他前記複数の電子装置のうち少なくとも一つの電子装置が検査主体となり、
     
    前記第一から第Mの被検査装置は、それぞれ第一から第Mの周辺装置であり、
    前記検査主体は、前記第一から第Mの周辺装置に第一のチャレンジを入力し、
     
    前記第一から第Mの周辺装置は、それぞれ第一から第MのICチップを構成要素とし、
    前記第一から第MのICチップは、前記第一から第MのICチップにそれぞれ固有の、第一から第Mの固有乱数を有し、
     
    前記第一から第Mの周辺装置は、前記第一のチャレンジおよび前記第一から第Mの固有乱数から、第一から第Mの秘密鍵と、第一から第Mの公開鍵のペアを、それぞれ生成する、
     
    ことを特徴とするデジタル情報通信システム。
     
  14. 前記第一から第MのICチップのうちの一つを選択し、第nのICチップとし、
    前記第nのICチップは、セルアレイ、行デコーダ、周辺制御装置、特殊内部メモリ、外部入出力、を有し、
     
    前記セルアレイは、第一および第二のセルアレイに分割され、
    前記行デコーダは、第一および第二の行デコーダに分割され、
     
    前記第一および第二の行デコーダは、それぞれ前記第一および第二のセルアレイへのアクセスを操り、
     
    前記外部入出力は、前記冗長モード取得コード及び前記第一のチャレンジの入力を外部から受け取り、
     
    前記周辺制御装置は、前記外部入出力から冗長モード取得コード及び前記チャレンジを受け取り、前記冗長モード取得コードに基づいて前記第一及び第二のデコーダを操り、前記特殊内部メモリに保存された、第nの冗長性コードに基づき、前記第一および第二のセルアレイへのアクセスから第nの固有乱数を取得する、
     
    ことを特徴とする請求項13記載のデジタル情報の通信システム。
     
  15. 前記冗長モード取得コードは、認証設定オプション、専用ビット指定モード、アクセスオプション、動作オプションを含み、
     
    前記セルアレイは、複数の小ブロックに分割され、
    前記ICチップは、更に、セルブロックアドレス表を、有し、
    前記セルブロックアドレス表は、前記セルアレイ上の任意のアドレスと、小ブロックアドレスおよび小ブロック内アドレスの組み合わせと、の対応表であり、
     
    前記専用ビット指定モードは、指定ビットアドレスを引数に持ち、
    前記指定ビットアドレスは、前記小ブロック内の認証専用ビットであり、
     
    前記認証設定オプションは、認証モード、もしくは、非認証モードからなり、前記認証モードが選択された場合前記認証専用ビットが前記小ブロック内アドレスの選択ビットアドレスとして選択され、前記非認証モードが選択された場合前記認証専用ビット以外の一つのビットが、前記小ブロック内の選択ビットアドレスとして選択され、
     
    前記アクセスオプションは、前記列デコーダ、前記第一および第二の行デコーダの組み合わせを操り、前記セルアレイ上の各ビットアドレスへのアクセスを指示し、
     
    前記動作オプションは、前記各ビットアドレスへの、書き込み、消去、および、読み出しを、含み、
     
    前記周辺回路は、前記認証モードが選択された場合、前記アクセスオプションおよび前記動作オプションの組み合わせを切り替えることによって、前記第nの冗長性コードに基づき、前記セルアレイから前記第nの固有乱数を読み出す、
     
    ことを特徴とする請求14記載のデジタル情報の通信システム。
     
  16. 前記複数の小ブロックのうち、前記セルアレイ上に分布する不良ビットのアドレスを含む小ブロックを、不良小ブロックとし、前記不良ビットのアドレスを含まない小ブロックを、正規小ブロックとし、
    前記第nの冗長コードは、前記不良小ブロックの分布と関連する、
     
    ことを特徴とする請求項15記載のデジタル情報の通信システム。
     
  17. 前記冗長モード取得コードは、認証設定オプション、専用列指定モード、アクセスオプション、動作オプションを含み、
     
    前記専用列指定モードは、指定列番号を引数に持ち、
     
    前記認証設定オプションは、認証モード、もしくは、非認証モードからなり、前記認証モードが選択された場合前記指定列番号が認証専用列を指定し、前記認証専用列が選択列として選択され、前記非認証モードが選択された場合前記指定列番号以外の列のうち一つが選択列として選択され、
     
    前記アクセスオプションは、前記第一および第二の行デコーダの組み合わせを選択し、前記行デコーダの組み合わせおよび前記選択列で定義されるアドレスへのアクセスを指示し、
     
    前記動作オプションは、前記アドレスへの、書き込み、消去、および、読み出しを、含み、
     
    前記周辺回路は、前記認証モードが選択された場合、前記アクセスオプションおよび前記動作オプションの組み合わせを切り替えることによって、前記第nの冗長性コードに基づき、前記セルアレイから前記第nの固有乱数を読み出す、
     
    ことを特徴とする請求項14記載のデジタル情報の通信システム。
     
  18. 前記セルアレイ上に分布する不良ビットのアドレスを含む行線を、不良行線とし、前記不良ビットのアドレスを含まない行線を、正規行線とし、
     
    前記第nの冗長性コードは、前記不良行線の分布に関連する、
     
    ことを特徴とする請求項14記載のデジタル情報の通信システム。
     
  19. 複数の電子装置からなる電子装置のネットワークであり、
    前記複数の電子装置のうち、M個の電子装置が第一から第Mの被検査装置であり、
    その他前記複数の電子装置のうち少なくとも一つの電子装置が検査主体となり、
     
    前記第一から第Mの被検査装置は、それぞれ第一から第Mの周辺装置であり、
    前記検査主体は、前記第一から第Mの周辺装置に第一のチャレンジを入力し、
     
    前記第一から第Mの周辺装置は、それぞれ第一から第MのICチップを構成要素とし、
    前記第一から第MのICチップは、前記第一から第MのICチップにそれぞれ固有の、第一から第Mの固有乱数を有し、
     
    前記第一から第Mの周辺装置は、前記第一のチャレンジ及び前記第一から第Mの固有乱数から、第一から第Mの秘密鍵を、それぞれ生成し、前記第一から第Mの秘密鍵から、第一から第Mの公開鍵のペアを、それぞれ生成する、
     
    ことを特徴とするデジタル情報通信システム。
     
  20. 前記第一から第MのICチップのうちの一つを選択し、第nのICチップとし、
    前記第nのICチップは、セルアレイ、行デコーダ、周辺制御装置、特殊内部メモリ、外部入出力、を有し、
     
    前記セルアレイは、第一および第二のセルアレイに分割され、
    前記行デコーダは、第一および第二の行デコーダに分割され、
     
    前記第一および第二の行デコーダは、それぞれ前記第一および第二のセルアレイへのアクセスを操り、
     
    前記外部入出力は、前記冗長モード取得コード及び前記第一のチャレンジの入力を外部から受け取り、
     
    前記周辺制御装置は、前記外部入出力から冗長モード取得コード及び前記チャレンジを受け取り、前記冗長モード取得コードに基づいて前記第一及び第二のデコーダを操り、前記特殊内部メモリに保存された、第nの冗長性コードに基づき、前記第一および第二のセルアレイへのアクセスから第nの固有乱数を取得する、
     
    ことを特徴とする請求項19記載のデジタル情報の通信システム。
     
  21. 前記冗長モード取得コードは、認証設定オプション、専用ビット指定モード、アクセスオプション、動作オプションを含み、
     
    前記セルアレイは、複数の小ブロックに分割され、
    前記ICチップは、更に、セルブロックアドレス表を、有し、
    前記セルブロックアドレス表は、前記セルアレイ上の任意のアドレスと、小ブロックアドレスおよび小ブロック内アドレスの組み合わせと、の対応表であり、
     
    前記専用ビット指定モードは、指定ビットアドレスを引数に持ち、
    前記指定ビットアドレスは、前記小ブロック内の認証専用ビットであり、
     
    前記認証設定オプションは、認証モード、もしくは、非認証モードからなり、前記認証モードが選択された場合前記認証専用ビットが前記小ブロック内アドレスの選択ビットアドレスとして選択され、前記非認証モードが選択された場合前記認証専用ビット以外の一つのビットが、前記小ブロック内の選択ビットアドレスとして選択され、
     
    前記アクセスオプションは、前記列デコーダ、前記第一および第二の行デコーダの組み合わせを操り、前記セルアレイ上の各ビットアドレスへのアクセスを指示し、
     
    前記動作オプションは、前記各ビットアドレスへの、書き込み、消去、および、読み出しを、含み、
     
    前記周辺回路は、前記認証モードが選択された場合、前記アクセスオプションおよび前記動作オプションの組み合わせを切り替えることによって、前記第nの冗長性コードに基づき、前記セルアレイから前記第nの固有乱数を読み出す、
     
    ことを特徴とする請求20記載のデジタル情報の通信システム。
     
  22. 前記複数の小ブロックのうち、前記セルアレイ上に分布する不良ビットのアドレスを含む小ブロックを、不良小ブロックとし、前記不良ビットのアドレスを含まない小ブロックを、正規小ブロックとし、
    前記第nの冗長コードは、前記不良小ブロックの分布と関連する、
     
    ことを特徴とする請求項21記載のデジタル情報の通信システム。
     
  23. 前記冗長モード取得コードは、認証設定オプション、専用列指定モード、アクセスオプション、動作オプションを含み、
     
    前記専用列指定モードは、指定列番号を引数に持ち、
     
    前記認証設定オプションは、認証モード、もしくは、非認証モードからなり、前記認証モードが選択された場合前記指定列番号が認証専用列を指定し、前記認証専用列が選択列として選択され、前記非認証モードが選択された場合前記指定列番号以外の列のうち一つが選択列として選択され、
     
    前記アクセスオプションは、前記第一および第二の行デコーダの組み合わせを選択し、前記行デコーダの組み合わせおよび前記選択列で定義されるアドレスへのアクセスを指示し、
     
    前記動作オプションは、前記アドレスへの、書き込み、消去、および、読み出しを、含み、
     
    前記周辺回路は、前記認証モードが選択された場合、前記アクセスオプションおよび前記動作オプションの組み合わせを切り替えることによって、前記第nの冗長性コードに基づき、前記セルアレイから前記第nの固有乱数を読み出す、
     
    ことを特徴とする請求項20記載のデジタル情報の通信システム。
     
  24. 前記セルアレイ上に分布する不良ビットのアドレスを含む行線を、不良行線とし、前記不良ビットのアドレスを含まない行線を、正規行線とし、
     
    前記第nの冗長性コードは、前記不良行線の分布に関連する、
     
    ことを特徴とする請求項20記載のデジタル情報の通信システム。
     

     
  25. 複数の電子装置からなる電子装置のネットワークであり、
    前記複数の電子装置のうち、第一の電子装置が検査主体となり、第二の電子装置が被検査装置となり、
     
    前記検査主体は、前記第二の電子装置にチャレンジを入力し、
    前記第二の電子装置は、レスポンス関数に基づき、前記チャレンジに応じて、レスポンスを生成し、
     
    前記第二の電子装置は、少なくとも一つのICチップを有し、
    前記ICチップは、セルアレイ、行デコーダ、周辺制御装置、コード生成装置、特殊内部メモリ、外部入出力、を有し、
     
    前記セルアレイは、第一および第二のセルアレイに分割され、
    前記行デコーダは、第一および第二の行デコーダに分割され、
     
    前記第一および第二の行デコーダは、それぞれ前記第一および第二のセルアレイへのアクセスを操り、
     
    前記周辺制御装置は、前記外部入出力から冗長モード取得コード及び前記チャレンジを受け取り、前記冗長モード取得コードに基づいて前記第一及び第二のデコーダを操り、前記チャレンジを前記コード生成装置に渡し、前記特殊内部メモリに保存された、冗長性コードに基づき、前記第一および第二のセルアレイへのアクセスから、前記ICチップに固有な固有乱数を取得し、前記固有乱数を前記コード生成装置に渡し、
     
    前記コード生成装置は、前記チャレンジおよび前記固有乱数から、前記レスポンスを生成し、
     
    前記外部入出力は、前記冗長モード取得コード及び前記チャレンジの入力を外部から受け取り、前記コード生成装置から前記レスポンスを受け取り、前記レスポンスを前記ICチップ外部に出力し、
     
    前記冗長モード取得コードは、認証設定オプション、専用ビット指定モード、アクセスオプション、動作オプションを含み、
     
    前記セルアレイは、複数の小ブロックに分割され、
    前記ICチップは、更に、セルブロックアドレス表を、有し、
    前記セルブロックアドレス表は、前記セルアレイ上の任意のアドレスと、小ブロックアドレスおよび小ブロック内アドレスの組み合わせと、の対応表であり、
     
    前記専用ビット指定モードは、指定ビットアドレスを引数に持ち、
    前記指定ビットアドレスは、前記小ブロック内の認証専用ビットであり、
     
    前記認証設定オプションは、認証モード、もしくは、非認証モードからなり、前記認証モードが選択された場合前記認証専用ビットが前記小ブロック内アドレスの選択ビットアドレスとして選択され、前記非認証モードが選択された場合前記認証専用ビット以外の一つのビットが、前記小ブロック内の選択ビットアドレスとして選択され、
     
    前記アクセスオプションは、前記列デコーダ、前記第一および第二の行デコーダの組み合わせを操り、前記セルアレイ上の各ビットアドレスへのアクセスを指示し、
     
    前記動作オプションは、前記各ビットアドレスへの、書き込み、消去、および、読み出しを、含み、
     
    前記周辺回路は、前記認証モードが選択された場合、前記アクセスオプションおよび前記動作オプションの組み合わせを切り替えることによって、前記冗長性コードに基づき、前記セルアレイから前記固有乱数を読み出し、
     
    前記レスポンス関数は、前記チャレンジ、及び、前記ICチップに固有の固有乱数を引数として、前記レスポンスを、生成する、
     
    ことを特徴とするデジタル情報通信システム。
     
     
  26. 前記複数の小ブロックのうち、前記セルアレイ上に分布する不良ビットのアドレスを含む小ブロックを、不良小ブロックとし、前記不良ビットのアドレスを含まない小ブロックを、正規小ブロックとし、
    前記冗長コードは、前記不良小ブロックの分布と関連する、
     
    ことを特徴とする請求項25記載のデジタル情報の通信システム。
     

     
  27. 複数の電子装置からなる電子装置のネットワークであり、
    前記複数の電子装置のうち、第一の電子装置が検査主体となり、第二の電子装置が被検査装置となり、
     
    前記検査主体は、前記第二の電子装置にチャレンジを入力し、
    前記第二の電子装置は、レスポンス関数に基づき、前記チャレンジに応じて、レスポンスを生成し、
     
    前記第二の電子装置は、少なくとも一つのICチップを有し、
    前記ICチップは、セルアレイ、行デコーダ、周辺制御装置、コード生成装置、特殊内部メモリ、外部入出力、を有し、
     
    前記セルアレイは、第一および第二のセルアレイに分割され、
    前記行デコーダは、第一および第二の行デコーダに分割され、
     
    前記第一および第二の行デコーダは、それぞれ前記第一および第二のセルアレイへのアクセスを操り、
     
    前記周辺制御装置は、前記外部入出力から冗長モード取得コード及び前記チャレンジを受け取り、前記冗長モード取得コードに基づいて前記第一及び第二のデコーダを操り、前記チャレンジを前記コード生成装置に渡し、前記特殊内部メモリに保存された、冗長性コードに基づき、前記第一および第二のセルアレイへのアクセスから、前記ICチップに固有な固有乱数を取得し、前記固有乱数を前記コード生成装置に渡し、
     
    前記コード生成装置は、前記チャレンジおよび前記固有乱数から、前記レスポンスを生成し、
     
    前記外部入出力は、前記冗長モード取得コード及び前記チャレンジの入力を外部から受け取り、前記コード生成装置から前記レスポンスを受け取り、前記レスポンスを前記ICチップ外部に出力し、
     
    前記冗長モード取得コードは、認証設定オプション、専用列指定モード、アクセスオプション、動作オプションを含み、
     
    前記専用列指定モードは、指定列番号を引数に持ち、
     
    前記認証設定オプションは、認証モード、もしくは、非認証モードからなり、前記認証モードが選択された場合前記指定列番号が認証専用列を指定し、前記認証専用列が選択列として選択され、前記非認証モードが選択された場合前記指定列番号以外の列のうち一つが選択列として選択され、
     
    前記アクセスオプションは、前記第一および第二の行デコーダの組み合わせを選択し、前記行デコーダの組み合わせおよび前記選択列で定義されるアドレスへのアクセスを指示し、
     
    前記動作オプションは、前記アドレスへの、書き込み、消去、および、読み出しを、含み、
     
    前記周辺回路は、前記認証モードが選択された場合、前記アクセスオプションおよび前記動作オプションの組み合わせを切り替えることによって、前記冗長性コードに基づき、前記セルアレイから前記固有乱数を読み出し、
     
    前記レスポンス関数は、前記チャレンジ、及び、前記ICチップに固有の固有乱数を引数として、前記レスポンスを、生成する、
     
    ことを特徴とするデジタル情報通信システム。
     
  28. 前記セルアレイ上に分布する不良ビットのアドレスを含む行線を、不良行線とし、前記不良ビットのアドレスを含まない行線を、正規行線とし、
     
    前記冗長性コードは、前記不良行線の分布に関連する、
     
    ことを特徴とする請求項27記載のデジタル情報の通信システム。
     
  29. 複数の電子装置からなる電子装置のネットワークであり、
    前記複数の電子装置のうち、M個の電子装置が第一から第Mの被検査装置であり、
    その他前記複数の電子装置のうち少なくとも電子装置が検査主体となり、
     
    前記第一から第Mの被検査装置は、それぞれ第一から第Mの周辺装置であり、
    前記検査主体は、前記第一から第Mの周辺装置に第一のチャレンジを入力し、
     
    前記第一から第Mの周辺装置は、前記第一のチャレンジに応じて、レスポンス関数に基づき、それぞれ第一から第Mのレスポンスを前記検査主体に返し、
     
    前記第一から第Mのレスポンスは、前記第一から第Mのレスポンスを要素とする第一のレスポンス集合を形成し、
     
    前記検査主体は、前記第一のチャレンジおよび前記第一のレスポンス集合を、保存し、
     
    前記第一から第Mの周辺装置の少なくとも一つの周辺装置は、前記検査主体から送られてくる第二のチャレンジを受信し、第M+1のレスポンスを生成し、前記第M+1のレスポンスから、第M+1の秘密鍵と、第M+1の公開鍵のペアを生成し、
     
    前記第一から第Mの周辺装置は、それぞれ第一から第MのICチップを構成要素とし、
     
    前記レスポンス関数は、前記第一のチャレンジ、及び、前記第一から第MのICチップに固有の固有乱数を引数として、前記第一から第Mのレスポンスを、それぞれ生成し、
     
    前記レスポンス関数は、前記第二のチャレンジ、及び、前記第二チャレンジを入力したICチップに固有の固有乱数を引数として、前記第M+1のレスポンスを、生成する、
     
    ことを特徴とするデジタル情報通信システム。
     
  30. 複数の電子装置からなる電子装置のネットワークであり、
    前記複数の電子装置のうち、M個の電子装置が第一から第Mの被検査装置であり、
    その他前記複数の電子装置のうち少なくとも二つの電子装置が第一および第二の検査主体となり、
     
    前記第一から第Mの被検査装置は、それぞれ第一から第Mの周辺装置であり、
    前記検査主体は、前記第一から第Mの周辺装置に第一のチャレンジを入力し、
     
    前記第一から第Mの周辺装置は、前記第一のチャレンジに応じて、レスポンス関数に基づき、それぞれ第一から第Mのレスポンスを前記検査主体に返し、
     
    前記第一から第Mのレスポンスは、前記第一から第Mのレスポンスを要素とする第一のレスポンス集合を形成し、
    前記検査主体は、前記第一のチャレンジおよび前記第一のレスポンス集合を保存し、
     
    前記第一から第Mの周辺装置の少なくとも一つの周辺装置は、前記第二の検査主体から送られてくる第二のチャレンジを受信し、第M+1のレスポンスを生成し、前記第M+1のレスポンスから、第M+1の秘密鍵と、第M+1の公開鍵のペアを生成し、
     
    前記第一から第Mの周辺装置は、それぞれ第一から第MのICチップを構成要素とし、
     
    前記レスポンス関数は、前記第一のチャレンジ、及び、前記第一から第MのICチップに固有の固有乱数を引数として、前記第一から第Mのレスポンスを、それぞれ生成し、
     
    前記レスポンス関数は、前記第二のチャレンジ、及び、前記第二チャレンジを入力したICチップに固有の固有乱数を引数として、前記第M+1のレスポンスを、生成する、
     
     
    ことを特徴とするデジタル情報通信システム。
     
     
     

     
PCT/JP2021/032746 2020-09-22 2021-09-07 自動認証icチップ WO2022065016A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US18/245,944 US20230370264A1 (en) 2020-09-22 2021-09-07 Ic chip with auto-identification

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2020-158045 2020-09-22
JP2020158045 2020-09-22
JP2021017877A JP2022051661A (ja) 2020-09-22 2021-02-06 自動認証icチップ
JP2021-017877 2021-02-06

Publications (1)

Publication Number Publication Date
WO2022065016A1 true WO2022065016A1 (ja) 2022-03-31

Family

ID=80845274

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/032746 WO2022065016A1 (ja) 2020-09-22 2021-09-07 自動認証icチップ

Country Status (2)

Country Link
US (1) US20230370264A1 (ja)
WO (1) WO2022065016A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023193318A1 (zh) * 2022-04-08 2023-10-12 珠海艾派克微电子有限公司 芯片、编码设备、电子设备、认证数据的更新系统及方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220417030A1 (en) * 2021-06-26 2022-12-29 Redpine Signals, Inc. Device Authentication using Blockchain

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110002461A1 (en) * 2007-05-11 2011-01-06 Validity Sensors, Inc. Method and System for Electronically Securing an Electronic Biometric Device Using Physically Unclonable Functions
US9018972B1 (en) * 2012-06-04 2015-04-28 Sandia Corporation Area-efficient physically unclonable function circuit architecture
CN105323069A (zh) * 2014-07-31 2016-02-10 中国科学院数据与通信保护研究教育中心 一种基于puf的认证方法及设备
JP2016513899A (ja) * 2013-03-08 2016-05-16 エヌイーシー ヨーロッパ リミテッドNec Europe Ltd. ユーザデバイスとサーバとの間の通信を準備する方法およびシステム
JP2017139757A (ja) * 2016-02-03 2017-08-10 渡辺 浩志 半導体チップの冗長アドレスを用いたチップ認証の物理的な複製防止機能(pcid)
JP2018011298A (ja) * 2016-07-15 2018-01-18 渡辺 浩志 電子装置のネットワーク、電子装置及びその検査工程

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110002461A1 (en) * 2007-05-11 2011-01-06 Validity Sensors, Inc. Method and System for Electronically Securing an Electronic Biometric Device Using Physically Unclonable Functions
US9018972B1 (en) * 2012-06-04 2015-04-28 Sandia Corporation Area-efficient physically unclonable function circuit architecture
JP2016513899A (ja) * 2013-03-08 2016-05-16 エヌイーシー ヨーロッパ リミテッドNec Europe Ltd. ユーザデバイスとサーバとの間の通信を準備する方法およびシステム
CN105323069A (zh) * 2014-07-31 2016-02-10 中国科学院数据与通信保护研究教育中心 一种基于puf的认证方法及设备
JP2017139757A (ja) * 2016-02-03 2017-08-10 渡辺 浩志 半導体チップの冗長アドレスを用いたチップ認証の物理的な複製防止機能(pcid)
JP2018011298A (ja) * 2016-07-15 2018-01-18 渡辺 浩志 電子装置のネットワーク、電子装置及びその検査工程

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023193318A1 (zh) * 2022-04-08 2023-10-12 珠海艾派克微电子有限公司 芯片、编码设备、电子设备、认证数据的更新系统及方法

Also Published As

Publication number Publication date
US20230370264A1 (en) 2023-11-16

Similar Documents

Publication Publication Date Title
US10581841B2 (en) Authenticated network
US10769309B2 (en) Apparatus and method for generating identification key
WO2022065016A1 (ja) 自動認証icチップ
JP6393376B2 (ja) 電子装置のネットワーク、電子装置及びその検査工程
US9544138B2 (en) Authenticator, authenticatee and authentication method
CN105474167A (zh) 将基于电路延迟的物理不可克隆功能(puf)应用于基于存储器的puf的掩蔽操作以抵抗入侵及克隆攻击
EP3203477B1 (en) Semiconductor apparatus and identification method of a semiconductor chip
US10032729B2 (en) Apparatus and method for generating identification key
US10706177B2 (en) Apparatus and method for chip identification and preventing malicious manipulation of physical addresses by incorporating a physical network with a logical network
JP2022051661A (ja) 自動認証icチップ
WO2021241590A1 (ja) 電子装置のネットワーク及び電子装置
JP2021190989A (ja) 電子装置のネットワーク及び電子装置
US20160247768A1 (en) Apparatus and method for generating identification key
JP2022121246A (ja) 自動認証icチップ
JP2005128817A (ja) 情報記憶装置及び情報処理システム
CN113255867B (zh) 一种分级高可靠芯片的防伪设计方法
Watanabe On coexistence of decentralized system (blockchain) and central management in Internet-of-Things
EP3070875B1 (en) Method of physical chip identification for networks of electronic appliance
CN113255867A (zh) 一种分级高可靠芯片的防伪设计方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21872147

Country of ref document: EP

Kind code of ref document: A1

DPE1 Request for preliminary examination filed after expiration of 19th month from priority date (pct application filed from 20040101)
NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21872147

Country of ref document: EP

Kind code of ref document: A1