WO2021241590A1 - 電子装置のネットワーク及び電子装置 - Google Patents

電子装置のネットワーク及び電子装置 Download PDF

Info

Publication number
WO2021241590A1
WO2021241590A1 PCT/JP2021/019838 JP2021019838W WO2021241590A1 WO 2021241590 A1 WO2021241590 A1 WO 2021241590A1 JP 2021019838 W JP2021019838 W JP 2021019838W WO 2021241590 A1 WO2021241590 A1 WO 2021241590A1
Authority
WO
WIPO (PCT)
Prior art keywords
chip
authentication
node
physical node
output
Prior art date
Application number
PCT/JP2021/019838
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 JP2020142812A external-priority patent/JP2021190980A/ja
Application filed by 渡辺浩志 filed Critical 渡辺浩志
Priority to US17/927,386 priority Critical patent/US20230198961A1/en
Publication of WO2021241590A1 publication Critical patent/WO2021241590A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • 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/3236Cryptographic 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 cryptographic hash functions
    • H04L9/3242Cryptographic 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 cryptographic hash functions involving keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols

Definitions

  • the present invention relates to a physical chip authentication method used for communication between electronic devices in Ethernet.
  • information communication using the Internet is to exchange a block of digital data (protocol data unit) cut into appropriate sizes between information terminals (nodes) on a network.
  • the control information necessary for management on the network is attached to these divided pieces of data.
  • the arrangement of this piece of data and control information is called a format, and the format and its utilization are defined by a kind of procedure called a protocol. Any two information devices that communicate with each other must handle data in a format that has a certain degree of consistency.
  • Frames, packets, segments, etc. are commonly used words in the protocol data unit family. The difference in name is used properly according to the communication hierarchy. It was
  • the communication hierarchy is determined by the concept of the entire network system, and the following structure is generally recognized.
  • the physical layer layer 1
  • the data link layer layer 2
  • the network layer layer 3
  • the transport layer layer 4
  • the upper layer layer 5
  • this hierarchical structure is only an example, and under different concepts, for example, it is well known that the upper layer is further divided into three layers to form seven layers.
  • the protocol data unit is generally called a frame in the data link layer (layer 2), a packet in the network layer (layer 3), and a segment in the transport layer (layer 4). ..
  • the signal transmission path may be wired or wireless. Also, there may be multiple types of signals. Roughly classified, for example, electrical signals and optical signals. That is, a wired / wireless electrical signal transmission path or optical signal transmission path physically connects the nodes on the network.
  • the layer that defines such a physical connection / transmission method is the physical layer (layer 1).
  • the network connection structure is complicated, but both ends of the signal transmission path must be terminated by one node.
  • a protocol data unit is a chunk of data that passes through this signal transmission path. Therefore, the two nodes terminating both ends of one signal transmission path (eg, the first node and the second node) must each follow a certain consistent protocol. If the protocols followed by each are inconsistent, this signal transmission path may be considered not connecting the first node and the second node.
  • FIG. 1 is a conceptual diagram showing how to transmit a protocol data unit.
  • the original digital data that is converted (coded) into the protocol data unit is input to the first node 2001 that forms part of the network.
  • the first node 2001 is, for example, a computer terminal having a console such as a keyboard, a mouse, and a display, a tablet, a mobile phone, a smartphone, a terminal having a card reader, a scanner, and a digital camera having an internet connection function. Sensors that are distributed everywhere. All of these information devices take in some information from outside the network, convert that information into a protocol data unit and send it to the signal transmission path 1000. In this way, a node that has some connection with the outside of the network can be regarded as a peripheral node.
  • the first node 2001 is an example of peripheral nodes.
  • Peripheral nodes digitize information input from outside the network. Then, it is converted into a protocol data unit (frame) according to a predetermined format. Alternatively, when pre-digitized information is input, it is directly transformed into a protocol data unit according to a predetermined format. In any case, the protocol data unit is transmitted via the signal transmission path 1000 to a node that follows a format consistent with the format followed by this peripheral node (eg, first node 2001). In the example of FIG. 1, the second node 2002 is the receiving node.
  • the node on the opposite side of the signal transmission path 1000 receives the protocol data unit and performs an operation (decoding) of returning the digital data before conversion according to a predetermined format.
  • the first node 2001 receives some digital information from another node in the network (eg, third node 2003). This is the protocol data unit encoded by the third node 2003.
  • the first node 2001 decodes this protocol data unit into the original digital data according to a predetermined format.
  • the predetermined format followed by the first node 2001 is a format having a certain degree of consistency with the format followed by the third node 2003.
  • the first node 2001 has passed information about the first node (for example, via the first node) instead of decoding the protocol data unit.
  • Information indicating the above, etc.) is attached and transmitted to the second node 2002 via the signal transmission path 1000.
  • the predetermined format followed by the second node 2002 is a format having a certain degree of consistency with the format followed by the third node 2003.
  • the information input outside the network or from the third node 2003 to the first node 2001 is converted into a protocol data unit according to a predetermined format, and is converted to the second node 2002 through the signal transmission path 1000. Be transmitted.
  • the second node 2002 reverses (decodes) the received protocol data unit according to a predetermined format that is consistent with the format followed by the first node and inputs it to the first node 2001. Play the previous original information. This is the basic mechanism of signal data transmission. In this way, the chunk of data converted (coded) into the protocol data unit is transmitted and received on the network.
  • the above-mentioned data transmission has described only one direction from the first node 2001 to the second node 2002, but there is no change in the method of using the protocol even if the transmission direction is reversed.
  • the first node 2001 and the second node 2002 in FIG. 1 may be exchanged.
  • first the information input outside the network or from the third node 2003 to the second node 2002 is converted into a protocol data unit according to a predetermined format, and the first is transmitted through the signal transmission path 1000. It is transmitted to the node 2001.
  • the first node 2001 reversely transforms the received protocol data unit according to a predetermined format and reproduces the original data before being input to the second node 2002.
  • the drawings are self-explanatory from FIG. 1, so they are omitted.
  • FIG. 2 is a drawing showing the relationship between the hierarchical structure and the data structure.
  • the original information to be transmitted is first divided into chunks of data of appropriate size. From now on, this divided chunk of data will be simply called data.
  • the communication layer in which the data exists at this point is the upper layer (layer 5).
  • TCP header is an abbreviation for transmission control protocol and is a type of protocol.
  • Data with a TCP header in this way is called a segment.
  • the communication layer that handles this segment is the transport layer (layer 4).
  • the protocol data unit is a segment and the conversion protocol is TCP.
  • the first node 2001 receives the data, it attaches a TCP header to the data according to the TCP format to form a segment.
  • This segment is transmitted to the second node 2002 through the signal transmission path 1000.
  • the second node 2002 receives this segment, decodes it according to the TCP format, and reproduces the original data. Specifically, remove the TCP header.
  • IP header an Internet protocol header
  • IPv4 and IPv6 depending on the version.
  • the protocol data unit is a packet, and the conversion protocol is IPv4, IPv6, or the like.
  • the IP header is attached to the segment according to a format such as IPv4 format or IPv6 format to form a packet.
  • This packet is transmitted to the second node 2002 through the signal transmission path 1000.
  • the second node 2002 receives this packet, reverse-converts (decodes) it according to a format such as IPv4 format or IPv6 format, and reproduces the original segment. Specifically, remove the IP header. Alternatively, the TCP header can also be removed to restore the data.
  • Ethernet protocol header (Ethernet header) is attached to the packet.
  • the protocol data unit is called a frame.
  • the protocol is Ethernet.
  • the protocol data unit is a frame.
  • the first node 2001 receives the data (packet in this case), it attaches an Ethernet header to the packet according to the Ethernet format to form a frame.
  • a frame check sequence FCS
  • FCS frame check sequence
  • the frame thus generated is transmitted to the second node 2002 through the signal transmission path 1000.
  • the second node 2002 receives this frame, reverse-converts (decodes) it according to the Ethernet format, and reproduces the original packet. Specifically, check the FCS to see if the packet was transmitted correctly. If necessary, take measures such as repair and resend request. Remove the Ethernet header and FCS once it is confirmed to be transmitted correctly.
  • the Ethernet standard may also define conversion at the physical layer of the bottom layer (Layer 1), that is, conversion to an optical signal or conversion to an electrical signal.
  • the converted frame is passed to a line such as 10BASE-T.
  • each layer (or each layer) is completely independent.
  • the format of the layer 4 (transport layer) segment converts the layer 5 (upper layer) format (data only). Included without. This is because the segment simply attaches the TCP header and the original data without irreversibly multiplying them.
  • the layer 3 (network layer) packet format (segment with only the IP header attached) includes the layer 4 (transport layer) format (segment) without conversion. This is because the packet is simply attached without irreversibly multiplying the IP header and the segment.
  • the layer 2 (data link layer) frame format (packet with Ethernet header and FCS attached) includes the layer 3 (network layer) format (packet) without conversion. This is because the frame simply attaches the Ethernet header and FCS and the packet without irreversible multiplication.
  • the upper communication layer is not affected at all.
  • changing the IP header of layer 3 (network layer) from IPv4 to IPv6 has no effect on the TCP header and the original data (ie, the segment). That is, any change made in layer 3 (network layer) has no effect on layer 4 (transport layer). If there is no effect on layer 4 (transport layer), there is no effect on layer 5 (upper layer).
  • replacing the TCP header with some other header at layer 4 (transport layer) has no effect on the original data. That is, even if some changes are made in layer 4 (transport layer), layer 5 (upper layer) is not affected.
  • replacing the Ethernet header with something else has no effect on the packet.
  • changing the protocol from Ethernet to point-to-point (PPP) does not change anything in the packet. Therefore, any change made in layer 2 (data link layer) has no effect on layer 3 (network layer). If there is no effect on layer 3 (network layer), there is no effect on layer 4 (transport layer). If there is no effect on layer 4 (transport layer), there is no effect on layer 5 (upper layer).
  • something is changed in layer 1 (physical layer). For example, change the signal transmission path from optical fiber to wireless LAN. Even in this case, the content of the information transmitted via the wireless LAN (frame in this case) is no different from the content of the information transmitted by the optical fiber (frame).
  • any change made in layer 1 has no effect on layer 2 (data link layer). If there is no change in layer 2 (data link layer), there is no effect on layer 3 (network layer). If there is no effect on layer 3 (network layer), there is no effect on layer 4 (transport layer). If there is no effect on layer 4 (transport layer), there is no effect on layer 5 (upper layer). In this way, it can be seen that any change made in any of the lower communication layers has no effect on any of the upper communication layers. This is a design that does not interfere with later technological innovation.
  • the present application relates to the lowest physical layer and the data link layer. Such circumstances do not affect the data transmitted by the present application.
  • designing a hierarchy means designing relationships between multiple protocols.
  • the physical layer and the data link layer are separated into different layers (layer 1 and layer 2), but according to another layer concept, it is possible to consider them as one layer according to the same Ethernet protocol. be. In this case, the number of layers is reduced by one to four layers.
  • the formats of the transport layer (layer 4) and the network layer (layer 3) may be collectively referred to as a TCP / IP format.
  • the original information when information is input to the first node 2001 from outside the network, the original information is divided into a collection of data having a predetermined length.
  • the data is formatted according to the TCP / IP format and converted into packets. Packets are converted to frames according to the Ethernet format.
  • this frame is transmitted and received as a wired, wireless, optical, or electronic signal through the physical reality of the signal transmission path 1000.
  • the first node 2001 and the second node 2002 are information devices having a physical reality.
  • the packet is converted into a frame according to the Ethernet format, and the second is transmitted through the signal transmission path 1000.
  • the first node 2001, the second node 2002, and the signal transmission path 1000 all have a physical reality.
  • this segment is converted into a packet according to the IP format, and the signal transmission path 1000 on the network layer is converted. It is transmitted to the second node 2002 through.
  • the first node 2001, the second node 2002, and the third node 2003 are all logical existences and have nothing to do with the physical reality.
  • the signal transmission path 1000 is also only a virtual transmission path and has no relation to the physical actual condition.
  • the node and the signal transmission path are logically defined virtual existences and have nothing to do with the physical reality.
  • the Ethernet type network data link layer
  • both the node and the signal transmission path have a physical reality. For example, which terminal does this node support? Which LAN cable does this signal transmission path support? It is possible to answer the question.
  • the fourth node 2004 relays between the first node 2001 and the second node 2002. Some data is input to the first node 2001 as a digital signal from outside the network or from the third node 2003.
  • the first node 2001 is connected to the fourth node 2004 via the first signal transmission path 1001.
  • the fourth node 2004 is connected to the second node 2002 via the second signal transmission path 1002.
  • the connection between the first node 2001 and the fourth node 2004 via the first signal transmission path 1001 is basically the first node 2001 and the first node 2001 via the signal transmission path 1000 described with reference to FIG. It is almost the same as the signal transmission between the second node 2002, but the function of the fourth node 2004 is partially different. That is, when the fourth node 2004 is used as a repeater for any other two nodes as shown in FIG. 3 (for example, a repeater between the first node 2001 and the second node 2002), the fourth node. Node 2004 does not decode the protocol data unit received from the first node 2001 via the first signal transmission path 1001, but directly to the second node 2002 via the second signal transmission path 1002. It is possible to transfer. Alternatively, it is possible to make some edits before transferring.
  • the data input outside the network or from the third node 2003 to the first node 2001 is converted into a protocol data unit in the first node 2001 according to a predetermined format, and the first signal transmission is performed. It is transmitted to the fourth node 2004 through the road 1001.
  • the fourth node 2004 transmits the received protocol data unit to the second node 2002 via the second signal transmission path 1002 without reverse conversion (decoding).
  • a portion of the received protocol data unit eg, header
  • the second node 2002 reversely transforms the received protocol data unit according to a predetermined format and reproduces the data before being input to the first node 2001.
  • the predetermined format followed by the second node 2002 is a format having a certain consistency with the format followed by the first node 2001.
  • the fourth node 2004, when the received protocol data unit is edited and then transferred to the second node 2002 via the second signal transmission path 1002, more specifically, it corresponds to the layer. Edit the header appropriately before transferring.
  • the fourth node 2004 exists in the data link layer (layer 2), it is possible to edit and transfer the Ethernet header of the frame. More specifically, at least a predetermined authentication of the fourth node 2004 which is a repeater is added.
  • the waypoint is recognized as an address (physical address) with a physical reality. This physical address is particularly called a MAC address.
  • the MAC address is an address unique to an Ethernet device (for example, an Ethernet card).
  • it exists at the network layer (layer 3) it is possible to edit the TCP / IP header of the packet and transfer it.
  • the second node 2002 receives the protocol data unit, it is possible to track where and how the protocol data unit came.
  • the waypoint is recognized as an address (logical address) without physical substance. This logical address is particularly called an IP address.
  • the IP address is, for example, an address unique to the operating system.
  • a physical address and a logical address are self-evident in the following explanation.
  • the operating system of the electronic device (old electronic device) that constitutes the fourth node 2004 before the replacement must be reinstalled to the electronic device (new electronic device) that constitutes the fourth node 2004 after the replacement. It doesn't become.
  • the physical address which is the authentication peculiar to the electronic device, which is the actual physical condition, is changed.
  • the logical address unique to the operating system is taken over as the IP address of the fourth node 2004 even after the replacement. This is one of the reasons for adopting a logical network (TCP / IP network).
  • the data input outside the network or from the third node 2003 to the second node 2002 is converted into a protocol data unit in the second node 2002 according to a predetermined format, and the second signal transmission. It is transmitted to the fourth node 2004 through the road 1002.
  • the fourth node 2004 transmits the received protocol data unit to the first node 2001 via the first signal transmission path 1001 without reverse conversion (decoding).
  • the received protocol data unit is edited in a predetermined manner and then transmitted to the first node 2001.
  • the first node 2001 reversely transforms (decodes) the received protocol data unit according to a predetermined format, and reproduces the data before being input to the second node 2002.
  • the predetermined format followed by the first node 2001 is a format having a certain degree of consistency with the format followed by the second node 2002.
  • the drawings are self-explanatory from FIG. 3, so they are omitted.
  • editing by a predetermined method means, for example, attaching a physical address or a logical address of the fourth node 2004.
  • the signal transmission path connected to each node in the network is not limited to one. That is, as already seen in FIG. 3, the fourth node 2004 is connected to two signal transmission paths (first signal transmission path 1001 and second signal transmission path 1002).
  • FIG. 4 is another example. That is, one end of four signal transmission paths (first signal transmission path 1001, second signal transmission path 1002, third signal transmission path 1003, fourth signal transmission path 1004) in the first node 2001. Are connected. The opposite ends connect to the second node 2002, the third node 2003, the fourth node 2004, and the fifth node 2005, respectively. Further, the fourth node 2004 is connected to the sixth node 2006 via the fifth signal transmission path 1005.
  • FIG. 4 is only a small part or an example of a complicated network structure. In general, a larger and more complex network can be constructed by connecting a plurality of nodes to another plurality of nodes.
  • MAC is an abbreviation for Media Access Controller. That is, the MAC addresses of the destination and the source are attached to the packet as the Ethernet header or a part thereof, and the FCS is attached to generate a frame.
  • the network of information devices connected by the MAC address can be regarded as a data link layer network, that is, a LAN.
  • the first node 2001 and the second node 2002 are information devices connected by Ethernet, respectively. See FIG.
  • the protocol data unit is then a frame.
  • the destination information device eg second node 2002
  • the source information device eg first node 2001
  • the management number of the first node 2001 is the MAC address of the transmission source
  • the management number of the second node 2002 is the MAC address of the transmission destination.
  • FIG. 5 is an element of the network, which is actually part of a more complex network structure. For example, as shown in FIG. 4, the first node 2001 is connected to four nodes (2002, 2003, 2004, 2005) from the second to the fifth.
  • the first node 2001 transmits the frame via the first to fourth signal transmission paths (1001, 1002, 1003, 1004).
  • the destination MAC address included in the Ethernet header of the frame to be transmitted is, for example, the MAC address of the second node 2002.
  • the third node 2003 confirms the destination MAC address of this frame and does not receive it.
  • the fourth node 2004 and the fifth node 2005 do not receive. Only the second node 2002 receives this frame. Further, the second node 2002 can confirm that this frame is sent from the first node 2001 by the MAC address of the source.
  • Packets are input outside the network or from the third node 2003 to the first node 2001.
  • the first node 2001 attaches the MAC address of the first node 2001, which is the source, and the MAC address of the second node 2002, which is the destination, to this packet.
  • FCS is attached to generate a frame.
  • the frame thus generated is transmitted to the second node 2002 via the signal transmission path 1000 as a protocol data unit.
  • the destination decodes the frame according to the Ethernet protocol and digitally of the source before it is input to the data link layer. Reproduce the information (packet).
  • the FCS it is possible to request repair or resending as needed. If no retransmission request is issued, the transmission of the packet at the data link layer is thus completed.
  • Decoding at the data link layer is to remove the extra code attached to the original digital data (packet) according to the Ethernet protocol such as MAC address and FCS. Since the transmission destination (second node 2002) can confirm the control information (MAC address, etc.) of the transmission source of the received frame, it is possible to determine whether to decode or further transmit when the reception is received.
  • the reproduced digital information is a piece of data in TCP / IP format, that is, a packet. Sometimes called an IP packet. It is assumed that it is equivalent to the digital data before being encoded by the first node 2001 which is the source. As described above, a packet is a unit of communication data at the network layer (layer 3), and the protocol at the network layer is an IP protocol (IPv4, IPv6, etc.).
  • FIGS. 1 and 5 constitute an element of the data link layer (layer 2)
  • the Ethernet header is like an envelope.
  • the destination MAC address is the destination address written on the envelope
  • the source MAC address is the sender's address also written on the envelope.
  • FCS is like proof of content.
  • the contents of the envelope are packets. Therefore, encoding with Ethernet means enclosing the packet in an envelope containing the destination and sender's address, and decoding means opening it. There is no connection between the contents of the envelope and the items on the envelope. This corresponds to the independence of the hierarchy described above. For example, even if the street address or town name is changed due to land readjustment, there is no change in the contents of the envelope.
  • FIGS. 1 and 5 constitute an element of the next higher layer (network layer)
  • the envelope becomes an IP header.
  • the IP header contains an IP address that is an address on the network layer of the destination and source.
  • the contents of the envelope are segments, and the inclusion is to attach an IP header.
  • removing the IP header is opening.
  • IP addresses are assigned in cooperation with the next higher layer (transport layer). In this case, the contents of the envelope are the divided pieces of data themselves.
  • the MAC address is called a physical address because it is assigned to each actual information device (node with physical reality). Therefore, every piece of digital data associated with some physical reality has a MAC address attached to it.
  • IP addresses are not always related to physical reality. That is, it is called a logical address because it can be assigned to a node whose existence is logically assumed by an operating system or the like. In this way, not only the IP address but also the MAC address is assigned in a predetermined format to a piece of digital data (protocol data unit) via an information device that has a physical reality even once while traveling on the Internet. Become.
  • the MAC address which is the management number of the information device
  • the IP address which is the address on the Internet (for example, the destination of the packet). That is, consider delivering information within a mass of networks on the Internet (eg LAN).
  • the MAC address of the source will be checked to determine whether the frame originated from the pre-registered device. Only when it is confirmed that the source is pre-registered, the frame is opened (decoded) and the packet is received. Otherwise, do not open the frame.
  • IEEE Institute of Electrical and Electronics Engineers
  • the MAC address should be used so that it is not duplicated not only in the information devices currently in active use but also in the information devices that have already been discarded, lost, or no longer used. It must be assigned. This is because the MAC address is assigned to each information device with a physical reality. Of these 48 bits, another one is assigned to what is called an IG bit. When the IG bit is 0, it means unicast communication, and when it is 1, it means multicast communication. Unicast communication is to send a frame by designating a single destination in a network of information devices. On the other hand, multicast communication is to send a frame by designating a plurality of destinations in a network of information devices.
  • 46 bits excluding the UL bit and the IG bit of the 48 bits, are the degrees of freedom of the MAC address actually assigned.
  • the number is about 70 trillion.
  • a 48-bit sequence including the UL bit and the IG bit is divided into 8 bits and expressed in hexadecimal.
  • FIG. 6 illustrates a typical example of an Ethernet card.
  • the Ethernet card 3000 is mainly composed of a non-volatile memory chip 3010 storing a MAC address and an arithmetic processing chip 3020 (MAC control device) for a media access controller (MAC).
  • An Ethernet card is generally used by being mounted on an information device to interconnect information devices via a LAN or the like. Therefore, it is originally called a LAN board or LAN card.
  • FIG. 6 is an example imagining a case where it is mounted on a printer, a router, a desktop personal computer, or the like.
  • Ethernet connector on the back of the Ethernet card, and this Ethernet connector is exposed on the back of the information device equipped with the Ethernet card. Plug the LAN cable into this Ethernet connector. Alternatively, attach an antenna and connect to the wireless LAN.
  • the basic configuration is not so different when it is installed in other information devices.
  • the operating system of the information device When booting an information device or connecting an information device to a network regardless of whether it is wired or wireless, the operating system of the information device reads the MAC address from the non-volatile memory 3010 built in the Ethernet card. The arithmetic processing unit of the information device writes this MAC address to the arithmetic processing chip for the media access controller (MAC) built in the Ethernet card. When data is transmitted from this information device (source) to another information device (destination) connected to the network, the MAC address written in this media access controller (MAC) arithmetic processing chip is the source. Attached to the frame as the MAC address of. In this way, the operating system does not set the MAC address arbitrarily regardless of the information device, but the address depending on the physical information device (actually the Ethernet card) is assigned.
  • the Ethernet card is a kind of network card used for connecting an information device to a network. That is, one information device requires at least one Ethernet card, and each Ethernet card is assigned a MAC address. As the number of information devices connected to the Internet increases worldwide, so does the number of assigned (used) MAC addresses, including information devices used in the past.
  • FIG. 80 is an example of using a typical MAC address.
  • the Ethernet card 3000 includes a memory chip (for example, a non-volatile memory chip 3010) that records a MAC address and an arithmetic processing chip 3020 for a media access controller (MAC), and an Ethernet connector (LAN) on the back of the card. Has a connector).
  • Ethernet cards are also called LAN cards and are mainly mounted on the back of personal computers and the like. In this way, by connecting the LAN cable to the Ethernet connector, it becomes possible to connect a personal computer or the like to a local area network (LAN).
  • This LAN cable is a part or all of the signal transmission path 1000 constituting the Internet.
  • the central processing unit CPU
  • the main memory for example, DRAM
  • the operating system reads the MAC address from the memory chip contained in the Ethernet card. This MAC address is written to the arithmetic processing chip 3020 for the media access controller (MAC).
  • MAC media access controller
  • the Ethernet card is physical, and therefore the MAC address recorded in the internal memory of the Ethernet card (eg, non-volatile memory chip 3010) is treated as unique to the Ethernet card with physical reality.
  • the media access controller (MAC) attaches the source MAC address, the destination MAC address, and the frame check sequence (FCS) to the packet to generate a frame. Then, this frame is transmitted from the LAN connector to the destination through the local area network composed of the signal transmission path. In other words, frames are transmitted and received via a signal transmission path.
  • MAC addresses have problems such as unauthorized editing, improper editing, exhaustion, or duplication.
  • the MAC address is a binary sequence corresponding to 48 bits, as shown in FIG. 81 as an example.
  • the upper 24 bits (left half in the example of FIG. 81) are called vendor code 3071 and are assigned to each vendor.
  • the last two bits of the vendor code 3071 are the UL bit and the IG bit.
  • the lower 24 bits (right half in the example of FIG. 81) are called serial numbers 3072 and are assigned by each vendor so that they do not overlap.
  • Trillion node In such a huge Internet of Things, it is thought that the number of information devices connected to the network will increase from trillions to tens of trillions, and it is expected that the era of trillion nodes will soon come.
  • the idea of the Trillion node is to solve many social problems by spreading more than trillions of sensors connected to the network all over the world, collecting a large amount of data in unprecedented detail, and analyzing it with advanced computing technology. It is said that it can contribute to. This concept has spread to the world since the conference called TSensors Summit held in 2013.
  • One way to avoid the problem of exhaustion is to change the MAC address. For example, a MAC address that is erased when it is discarded or that has not been connected to the network for 5 years or more is considered to be discarded and can be assigned to another information device.
  • the MAC address is stored in the non-volatile memory chip and can be changed if desired. For example, in some operating systems for personal computers, it is possible to change the MAC address using Device Manager. Alternatively, tools for changing the MAC address (MAC address changer) are also available.
  • Internet of Things nodes include not only information terminals used by individuals who are end users as a means of connecting to the Internet, but also sensors used in Trillion nodes. Assuming that the world population is 7 billion people, 1 trillion nodes will be surrounded by about 150 MAC addresses per person by simple calculation. At most, less than 10 information terminals will be recognized as information terminals used by individuals who are the end users as a means of connecting to the Internet. The remaining 140 pieces will be in a state close to being left unattended. Of course, in the era of trillion nodes, the number of nodes is expected to be even greater than 1 trillion. In developed countries, the number of MAC addresses per person will be much higher than 150.
  • nodes include not only personal information but also a system that controls the operation of devices around the individual. Even if trained professionals try to centrally manage all the nodes distributed around the world, it is extremely difficult to manage trillions of nodes at the same time. Even if it were possible, it would be a difficult question who should handle the management system responsibly. It is not preferable for a private company to do it without permission. At present, it is not realistic to leave it to artificial intelligence that exceeds human ability.
  • the senor itself that connects to the Internet of Things is a hacking device. In good faith, it is used to solve social problems, but its essence is an effort to solve social problems by hacking technology. It is always back-to-back with the dangers that malicious hackers use to attack.
  • duplicate MAC addresses can cause network malfunctions. For example, consider the case where two different sensors acquire different information and transmit the information to the server. If the two different sensors happen to have the same MAC address, the server will misidentify that the two inconsistent information came from one sensor. For example, suppose the object inspected by the first sensor is red and the object inspected by the second sensor is blue. If the MAC addresses of the first sensor and the second sensor are duplicated, the information received by this server is that the color of one inspection object is blue and red at the same time. What if this was a system for autonomous driving? The traffic light at a certain intersection is red and at the same time blue.
  • the security in conventional information communication on the Internet includes, for example, encrypting the data transmitted and received in the signal transmission path 1000 in FIG. 5 to prevent theft, and unauthorized access to the core node by combining an account and a passcode.
  • the main focus is on preventing. In any case, it is a cryptographic technique, and it is impossible to question what kind of physical reality both ends of the signal transmission path 1000 in FIG. 5 are. This is because the Internet is effectively a logical network. However, in the Internet of Things, the source and destination of data must be recognized as physical objects. Physical authentication including the physical conditions connected to both ends of the signal transmission path is required.
  • a MAC address is, in layman's terms, an editable digital authentication of an Ethernet card that has a physical reality. Therefore, a method of utilizing this as digital authentication of the Internet of Things can be considered.
  • MAC addresses there is a problem of exhaustion of MAC addresses, and the fact that they are editable is a problem in itself. This is because, as shown in FIG. 6, the MAC address is originally recorded in the non-volatile memory as a 48-bit code.
  • the present invention has been made in view of the above circumstances, and is a physical address that is truly uniquely assigned to a physical reality, cannot be edited, and has no fear of spoofing even in the age of the Internet of Things.
  • the purpose is to utilize and provide a more secure IoT network.
  • the present invention employs the following means in order to solve the above problems.
  • the network of electronic devices is At least the first to sixth physical nodes are the components,
  • the first physical node is a first electronic device including a first semiconductor chip, a first chip authentication device, a first chip authentication extraction device, and a first internal memory.
  • the first semiconductor chip includes a first cell array.
  • the first cell array generates a first unique random number by a predetermined method.
  • the first internal memory stores the first dictionary and
  • the first chip authentication device includes a first hash module and the first cell array.
  • the second physical node is a second electronic device including a second semiconductor chip, a second chip authentication device, a second chip authentication extraction device, and a second internal memory.
  • the second semiconductor chip includes a second cell array.
  • the second cell array generates a second unique random number by a predetermined method.
  • the second internal memory stores the second dictionary and
  • the second chip authentication device includes a second hash module and the second cell array.
  • the third physical node is a third electronic device including a third semiconductor chip, a third chip authentication device, a third chip authentication / extraction device, and a third internal memory.
  • the third semiconductor chip includes a third cell array.
  • the third cell array generates a third unique random number by a predetermined method.
  • the third internal memory stores the third dictionary and
  • the third chip authentication device includes a third hash module and the third cell array.
  • the third physical node sends the first security parameter to the first hash module.
  • the first hash module generates a first security state from the first unique random number and the first security parameter.
  • the second physical node transmits a second input signal to the first physical node, and the first physical node inputs the second input signal to the first chip authentication device.
  • the first chip authentication device generates a first output signal from the second input signal and the first security state.
  • the first physical node returns the first output signal to the second physical node.
  • the second physical node inputs the first output signal to the second chip authentication / extraction device, and the second physical node inputs the first output signal to the second chip authentication / extraction device.
  • the second chip authentication extraction device defines a combination of an input signal and an output signal and a first input / output set from the second input signal and the first output signal.
  • the second physical node records the first input / output set in the second dictionary.
  • the second physical node transmits the second input signal to the fourth physical node, and the second physical node transmits the second input signal to the fourth physical node.
  • the fourth physical node is a fourth electronic device including a fourth semiconductor chip, a fourth chip authentication device, a fourth chip authentication extraction device, and a fourth internal memory.
  • the fourth semiconductor chip includes a fourth cell array.
  • the fourth cell array generates a fourth unique random number by a predetermined method.
  • the fourth internal memory stores the fourth dictionary and
  • the fourth chip authentication device includes a fourth hash module and the fourth cell array.
  • the second physical node requests the third physical node to issue the first security parameter and send it to the fourth physical node. In response to this request, the third physical node issues the first security parameter value and sends it to the fourth hash module.
  • the fourth hash module generates a fourth security state from the fourth unique random number and the first security parameter.
  • the second physical node transmits the second input signal to the fourth physical node, and the fourth physical node inputs the second input signal to the fourth chip authentication device.
  • the fourth chip authentication device generates a fourth output signal from the second input signal and the fourth security state.
  • the fourth physical node returns the fourth output signal to the second physical node.
  • the second physical node inputs the fourth output signal to the second chip authentication / extraction device, and the second physical node inputs the fourth output signal to the second chip authentication / extraction device.
  • the second chip authentication extraction device defines a combination of an input signal and an output signal and a fourth input / output set from the second input signal and the fourth output signal.
  • the second physical node compares the fourth input / output set with the first input / output set recorded in the second dictionary. If they match, the fourth physical node is authenticated as the first physical node. It is characterized by that.
  • the first physical node further comprises a first key generator.
  • the fifth physical node is a fifth electronic device including a fifth semiconductor chip, a fifth chip authentication device, a fifth chip authentication extraction device, and a fifth internal memory.
  • the fifth semiconductor chip includes a fifth semiconductor cell.
  • the fifth cell array generates a fifth unique random number by a predetermined method.
  • the fifth internal memory stores the fifth dictionary and
  • the fifth chip authentication device includes a fifth hash module and the fifth cell array.
  • the fifth chip authentication extraction device sends the 51st input signal to the first physical node.
  • the first physical node generates a 51st output signal from the 51st input signal and the first security state.
  • the first physical node inputs the 51st output signal to the first key generator, and the first physical node inputs the 51st output signal to the first key generator.
  • the first key generator generates a first private key and a first public key
  • the first hash module collectively hashes the first public key and the first dictionary to generate a first hash value.
  • the sixth physical node includes a sixth semiconductor chip, a sixth chip authentication device, a sixth chip authentication extraction device, a sixth internal memory, and a sixth key generator. It is an electronic device
  • the sixth semiconductor chip includes a sixth cell array.
  • the sixth cell array generates a sixth unique random number by a predetermined method.
  • the sixth internal memory stores the sixth dictionary and
  • the sixth chip authentication device includes a sixth hash module and the sixth cell array.
  • the third chip authentication extraction device sends the sixth security parameter to the sixth hash module.
  • the sixth hash module generates a sixth security state from the sixth unique random number and the sixth security parameter.
  • the fifth chip authentication extraction device sends the 56th input signal to the sixth physical node.
  • the sixth physical node generates a sixth output signal from the 56th input signal and the sixth security state.
  • the sixth physical node inputs the sixth output signal to the sixth key generator, and the sixth physical node inputs the sixth output signal to the sixth key generator.
  • the sixth key generator generates a sixth private key and a sixth public key.
  • the first physical node uses the first private key to collectively encrypt the first hash value and the sixth public key to form a first electronic signature.
  • the first physical node sends the first hash value and the first electronic signature to the sixth physical node. It is characterized by that.
  • the seventh physical node and the eighth physical node are the components.
  • the seventh physical node is a seventh electronic device including a seventh semiconductor chip, a seventh chip authentication device, a seventh chip authentication extraction device, and a seventh internal memory.
  • the seventh semiconductor chip includes a seventh cell array.
  • the seventh cell array generates a seventh unique random number by a predetermined method.
  • the seventh internal memory stores the seventh dictionary and
  • the seventh chip authentication device includes a seventh hash module and the seventh cell array.
  • the seventh dictionary registers a seventh management area consisting of a set of a plurality of input / output sets. A physical node whose corresponding input / output set belongs to the seventh management area is under the control of the seventh physical node.
  • the eighth physical node is an eighth electronic device including an eighth semiconductor chip, a seventh chip authentication device, an eighth chip authentication extraction device, and an eighth internal memory.
  • the eighth semiconductor chip includes an eighth cell array.
  • the eighth cell array generates an eighth unique random number by a predetermined method.
  • the eighth internal memory stores the eighth dictionary and
  • the eighth chip authentication device includes an eighth hash module and the eighth cell array.
  • the eighth dictionary registers an eighth management area consisting of a set of a plurality of input / output sets.
  • a physical node whose corresponding input / output set belongs to the eighth management area is under the control of the eighth physical node. Any physical node under the control of either the seventh physical node or the eighth physical node belongs to the joint management area jointly managed by the seventh and eighth physical nodes.
  • the seventh and eighth physical nodes exclude any physical node not registered in the seventh dictionary or the eighth dictionary from the joint management area.
  • the joint management area is jointly managed as one closed physical network. It is characterized by that.
  • the present invention it is more secure by utilizing physical chip authentication that is uniquely assigned to a truly physical reality, is non-editable, and has less concern for spoofing attacks even in the age of the Internet of Things. It will be possible to provide an IoT network.
  • FIG. 7 is a drawing conceptually showing the basic configuration of the information device 140.
  • a plurality of (for example, N) semiconductor chips (first chip 110, second chip 120 ... Nth chip 130) are mounted.
  • FIG. 8 illustrates a case where the information device 140 is set as the first node 2001 and is connected to the second node 2002 via the signal transmission path 1000.
  • the first chip 110 in the first node 2001 is connected to the communication transmission path 1000 through the external input / output (I / O) 50.
  • the first chip 110 is equipped with a chip authentication device 60.
  • the chip authentication device 60 generates an output signal each time in response to a call (input signal) received from the external input / output 50, and the generated output signal is generated by utilizing physical randomness (randomness). It is a thing.
  • This call is given, for example, by the operating system.
  • it is given from another electronic device in communication with the electronic device associated with the chip authentication device 60.
  • it has a feature that the output signal changes when the input signal is changed. In this respect, it is fundamentally different from the MAC address described in FIG. That is, the MAC address is data stored in the non-volatile memory chip 3010, and does not have a function of changing the output by an input signal. (Functions that cannot be physically cloned)
  • a technology that has been attracting attention in recent years as such a function is called a physically non-cloneable function (PUF).
  • PUF physically non-cloneable function
  • the main features required as a prerequisite are: (1) Different PUFs with the same input always output different outputs. (2) If different inputs are input to the same PUF, different outputs will always be output. (3) Even if the combination of input and output is stolen, the output for an unknown input is unpredictable, and (4) the relationship between input and output is stable and reliable. Among these, the necessary condition (4) is particularly obvious as long as it is a mass-produced product.
  • the usage of PUF that is attracting the most attention now is the solid-state authentication of IC chips.
  • the requirement of (1) above is indispensable. That is, the PUF must output the authentication (PUF data) unique to the chip to the input read signal (in this case, the input code).
  • the number of nodes is expected to far exceed several trillion, so the number of individuals that PUF should individually authenticate will also increase by an order of magnitude. That is, the following requirements should be added to the requirements (1)-(4) of the PUF. That is, (5) the number of output patterns for one input is so large that it can be regarded as infinite in reality. In this way, it is possible to utilize PUF to realize physical authentication of chips on the Internet of Things, which is a huge object.
  • the coated PUF meets the requirements of (1)-(5). Reading of the coated PUF is done by applying an optical stimulus to the package. This means that the individual authentication of the chip cannot be read (electronically) over the network. Therefore, the following requirements should be added. That is, (6) chip authentication on the network must be an electronic signal unique to the chip.
  • the circuit PUF further utilizes the wiring delay of the circuit (delay PUF). And those that utilize the metastability of the circuit (metastability PUF) Divided into.
  • the delay PUF utilizes uncontrollable variations in operating time of a plurality of circuits integrated in the IC with similar design specifications. Typical examples of circuits used are arbiter circuits, glitch circuits, ring transmission circuits, and the like.
  • the circuits used in the metastability PUF are mainly a static random access memory (hereinafter referred to as SRAM) and a latch circuit (butterfly PUF).
  • SRAM static random access memory
  • Butterfly PUF a latch circuit
  • the weak point of the circuit PUF is that the individual difference is small. This is disadvantageous in satisfying the requirement (5). And the output is unstable, which is disadvantageous for satisfying the requirement (4). Furthermore, it is easily affected by external environments such as temperature changes and is vulnerable to fault attacks. Therefore, it is necessary to add an amplifier circuit and a temperature sensor circuit. In this way, the load on the design becomes high, and the limitation on the length of the PUF data becomes large. That is, it is very difficult to satisfy the above requirement (5). If the PUF data itself is short, the number of chips that can be authenticated is limited, even if the output is random.
  • the PUF function itself is the smallest unit (semiconductor chip) of a node that has a physical reality without using a MAC address in the mutual connection of networks. It is considered to be effective in realizing physical authentication.
  • the sufficient condition that "physically uncopyable" must be satisfied.
  • this sufficient condition is not always necessary to define physical authentication on the network.
  • the purpose of the present application is not to secure the physical authentication on the network, but to secure the physical authentication on the network. Therefore, the chip authentication device proposed by the present application must satisfy the sufficient condition of the PUF that "physically uncopyable". No.
  • the first node 2001 equipped with the first chip 110 having the chip authentication device 60 of the present application exchanges data with the second node 2002 through the signal transmission path 1000 (communication). ) Let's consider the case.
  • the second node 2002 uses the signal A, the signal B, the signal C, ... As an input code to recognize the first node 2001 connected in some form, and the first node 2002 passes through the signal transmission path 1000. It is given to the chip authentication device 60 mounted on the node 2001. The chip authentication device 60 returns the signal A1, the signal B1, the signal C1, ... As an output code to the second node 2002 via the signal transmission path 1000, respectively.
  • the second node 2002 returns the output of the signal A1 to the input of the signal A, returns the output of the signal B1 to the input of the signal B, and inputs the signal C to the first node 2001.
  • the output of the signal C1 is returned to the device, and the device is recognized as "".
  • the sequence represented by (A, B, C, ...: A1, B1, C1, ...) is called a communication series.
  • the second node 2002 "returns the output of signal F1 to the input of signal F, returns the output of signal A1 to the input of signal A, and signals K.
  • the output of the signal K1 is returned in response to the input of, and ... "is recognized.
  • the communication series in this case is represented by (F, A, K, ...: F1, A1, K1, ).
  • the patterns of input signals (input codes) are endless, and it is barren to do all of them for a particular device.
  • the infinite number of input signal patterns is useful for limiting the number of devices that can be connected to the first node 2001 via the Internet.
  • the second node 2002 registers the first node 2001. It is desirable that this registration be performed by a legitimate user of the second node 2002 or a person who has been duly delegated authority by a legitimate user of the second node 2002. (Communication method at the physical layer)
  • a legitimate user 92 of the second node 2002 operates the second node 2002 by using the first node 2001 owned by the user 92
  • the first node 2001 and the second node 2002 communicate (connect) using the communication series 80 established via the signal transmission path 1000, and cooperate with each other for the purpose of the legitimate user 92 of the second node 2002.
  • the legitimate user 92 of the second node 2002 makes no commitment to the communication series 80. If a commitment is made, the management and usage of the second node 2002 will be complicated, and the convenience of the Internet of Things will be greatly impaired.
  • the chip authentication device 60 seems unnecessary. However, as mentioned above, the problem of leaving mutual authentication between physically real nodes in the Internet of Things to the Ethernet format is that they are vulnerable to tamperable and malicious hacking. In view of such a situation, the necessity of the chip authentication device of the present application is understood.
  • the hijacking of things on the Internet is premised on remote control.
  • the purpose of the ranged attacker is to remotely control the second node 2002 using a forged node that he owns.
  • the attack cannot be completed online. That is, it is synonymous with the fact that remote control cannot be performed without being noticed by the legitimate user 92 of the second node.
  • the second node 2002 inputs an input signal (R, L, A, 7) To the counterfeit node via the network in order to recognize the counterfeit node. do.
  • the first method is to steal the input code and at least the registration code from the information stored in the internal memory of the second node 2002. For example, suppose a remote attacker succeeds in stealing a registration code (R1, L1, A1) and an input code (R, L, A). At this time, the remote attacker can replace the forged node owned by the first node 2001 with the first node 2001 and illegally remotely control the second node 2002. In order to protect the system from such remote attacks, the system administrator must strictly protect the internal memory of the second node 2002.
  • FIG. 10 is an example in which three peripheral nodes (first peripheral node 410, second peripheral node 420, and third peripheral node 430) are connected to the backbone node 400.
  • the backbone node 400 stores a list of input codes 402 and registration codes 403 in the internal memory 401.
  • FIG. 7 is an example of the basic configuration of peripheral nodes. Further, the combination of one element in the list of the registration code 403 stored in the internal memory 401 of the core node 400 and the input code 402 becomes the communication series corresponding to each peripheral node.
  • the remote attacker is a device connected to the core node, which is poorly managed in the central control, and in the example of FIG. 10, the first peripheral node 410, the second peripheral node 420, the third peripheral node 430, and so on. Try to take over at least one of them. This is the second method of ranged attack.
  • these peripheral nodes do not store the input code / registration code pair (communication series 80) in the internal memory, the second method of remote attack is also unsuccessful.
  • a signal (X, Y, Z) appropriately selected by a remote attacker is input to the first peripheral node 410, and a reply of (X1, Y1, Z1) is obtained.
  • the first peripheral node 410 is equipped with a chip authentication device. If the signal (X, Y, Z) is different from the input code 402 (P, S, T) used by the backbone node 400 to communicate with the first peripheral node 410, the reply received by the remote attacker (X1, Y1, Z1) is different from (P1, S1, T1) of the registration code 402 stored in the backbone node 400.
  • the chip authentication device mounted on the peripheral node always outputs different outputs for different inputs (input independence).
  • the second method of ranged attack also fails.
  • a remote attacker can easily steal a MAC address from the internal memory of an Ethernet card mounted on a peripheral node (for example, the non-volatile memory chip 3010 in the example of FIG. 6). In this way, the significance of the chip authentication device of the present application replacing the MAC address becomes clear.
  • the signal set (X, Y, Z) appropriately selected by the remote attacker happens to match the input code 402 (P, S, T) stored in the internal memory 401 of the backbone node 400.
  • the number of elements of the input code should be sufficiently large, and the number of elements should be kept private to anyone other than the administrator of the core node 400. And this information should be strictly protected by the administrator of the core node 400.
  • the mutual authentication format using the chip authentication device of the present application controls mutual authentication between nodes having physical actual conditions as in the Ethernet format, while information related to mutual authentication is used for the nodes forming the network. Is saved and divided into nodes (core nodes) that are placed under central control and other nodes (peripheral nodes). Peripheral nodes are equipped with the chip authentication device of the present application instead of storing information related to mutual authentication, and return an output for a predetermined input. It satisfies the condition that different outputs always return different outputs (input independence). (Input independence) will be described in detail below.
  • the input code is commonly used to inspect the authentication IDs for various peripheral nodes. In this case, it is not necessary to access each peripheral node individually. For these reasons, the input code described in the present invention will be hereinafter referred to as a "common passcode". Thus, the backbone node owns at least one common passcode.
  • the core node 400 is a computer (personal computer or the like)
  • the first peripheral node 410, the second peripheral node 420, and the third peripheral node 430 connected to the computer are peripheral devices used by connecting to the computer. ..
  • An object of the invention relating to this case is to protect the computer body from unauthorized replacement of peripheral nodes (mouse, keyboard, microphone, etc.). This makes it possible to protect peripheral nodes that cannot be protected by antivirus software that aims to protect the computer itself from remote attacks.
  • the core node 400 is a server that plays a central role in network services
  • the first peripheral node 410, the second peripheral node 420, and the third peripheral node 430 are end users who use this network service.
  • It is a terminal.
  • the core node is managed responsibly by a well-trained expert using the latest security software.
  • One of the purposes of the invention related to this case is to prevent unauthorized access to the server (core node) from unauthorized replacement (takeover) of the end user's terminal (smartphone, tablet, computer terminal, other wearable terminal, etc.). .. This protects the entire system from remote attacks that have created a myriad of information terminals on the network that well-trained professionals cannot protect with the latest security software.
  • the core node 400 When the core node 400 is a data center that plays a central role in the cloud sensing service, the first peripheral node 410, the second peripheral node 420, and the third peripheral node 430 connected to the data center need this data center. It is a sensor that acquires the data. As mentioned above, the number of sensors is innumerable and they are installed in a wide range of the world. Therefore, it is practically impossible to protect each of them from remote attacks by central management. There are countless examples of such sensors such as GPS, virus monitors, thermometers, seismographs, socket-type visible light communication devices, biosensors, and various smart meters. As mentioned above, it is assumed that the core node is managed responsibly by a well-trained expert using the latest security software. One of the purposes of the invention related to this case is to prevent unauthorized access to the core node from such sensor replacement (takeover). This protects the myriad of sensors on the network for cloud sensing from remote attacks that well-trained professionals cannot protect with the latest security technologies.
  • peripheral nodes that are not centrally managed have the common passcode. It is possible not to save the input data and registration code such as.
  • it is characterized by being divided into a "core node” that stores data necessary for authentication communication (for example, a common passcode or a registration code) and a "peripheral node” that does not store it.
  • the "core node” that stores the data required for authentication communication for example, common passcode or registration code
  • the "peripheral node” that does not store the registration code is characterized by mounting the chip authentication device of the present invention. However, it is similar to the Ethernet format in that it relates to mutual authentication between nodes that have physical reality.
  • At least one of the common passcodes is stored in the first backbone node 1400, and is sent to the peripheral node when recognizing the peripheral node.
  • the first backbone node 1400 sends the first common passcode 1410 to the first peripheral node 410, the second peripheral node 420, and the third peripheral node 430.
  • These peripheral nodes recognize the first backbone node 1400 as "the one that sends the first common passcode 1410".
  • the first peripheral node 410, the second peripheral node 420, and the third peripheral node 430 correspond to the input of the first common passcode 1410, and each corresponds to the first authentication 4101.
  • the second authentication 4201 and the third authentication 4301 are returned to the first core node 1400.
  • the first backbone node 1400 sets the first peripheral node 410, the second peripheral node 420, and the third peripheral node 430 as "the first authentication 4101 and the first authentication 4101 for the first common passcode 1410, respectively.”
  • the second certification 4201 and the third certification 4301 are returned. "
  • any two of the first certification 4101, the second certification 4201, and the third certification 4301 are not the same.
  • the first backbone node 1400 can use a different common passcode. This can be useful for more advanced management. As described above, it is desirable that each core node uses a plurality of common passcodes.
  • peripheral nodes there are innumerable peripheral nodes, and the number of core nodes is not limited to one.
  • FIG. 13 two backbone nodes (first backbone node 1400, second backbone node 2400) and five peripheral nodes (first peripheral node 410, second peripheral node 420, third peripheral node)
  • An example of a network consisting of 430, a fourth peripheral node 440, and a fifth peripheral node 450) is shown.
  • a network unit is composed of a fourth peripheral node 440 and a fifth peripheral node 450 centered on the first core node 1400, and the second core node 2400, the first peripheral node 410, and the second The peripheral node 420 and the third peripheral node 430 form the other network unit.
  • these network units are connected to each other by the first backbone node 1400 and the second backbone node 2400. Further, in the network unit, the fourth peripheral node 440 and the fifth peripheral node 450 are connected only to the first backbone node 1400, and the first peripheral node 410, the second peripheral node 420, and the third peripheral node 420 are connected. Peripheral node 430 is connected only to the second core node 2400. On the other hand, the fourth peripheral node 440 is connected to the first backbone node 1400 and the second backbone node 2400.
  • the topology for connecting a plurality of network units is defined by the connection between the core nodes belonging to different network units and the connection between the core nodes belonging to the different network units and the peripheral nodes.
  • the network topology of the present application is characterized in that peripheral devices do not directly connect to each other regardless of whether they belong to different network units.
  • connection means an authentication connection in which the nodes authenticate each other by the above-mentioned authentication work, which is different from a simple connection.
  • connection is used to mean an authentication connection unless otherwise specified.
  • the (authentication) connection in this sense also includes the connection between devices (modules or chips) in one packaged system.
  • a car contains multiple control systems. It is considered to be a comprehensive system in which multiple child systems such as a drive system, a brake system, a navigation system, and an automatic driving system for an autonomous driving vehicle operate in cooperation with each other. Each of these child systems corresponds to each of the above-mentioned network units or several linked network units.
  • one automobile is one network composed of a plurality of network units.
  • the smallest unit of peripheral nodes and backbone nodes constituting each network unit is a semiconductor chip.
  • Peripheral nodes can be, for example, various sensors such as a sensor that senses the temperature of the engine, an acceleration sensor that is felt by each part of the vehicle body, and a sensor that senses the remaining amount of fuel.
  • the arithmetic processing unit that analyzes and uses the information collected from these sensors is the core node.
  • facilities and equipment related to social infrastructure such as aircraft, trains, factories, power plants, and power transmission systems can be regarded as one packaged system. Therefore, as long as the semiconductor chip is adopted inside the network, the network targeted by the present application exists.
  • One of the features of the present invention is that in such a network consisting of a plurality of core nodes and a plurality of peripheral nodes, the core nodes can be directly connected to each other, but the peripheral nodes are not directly connected to each other. This is because the peripheral nodes that are not centrally managed do not store input data such as common passcodes. Instead, the peripheral nodes are indirectly connected to each other via the core node.
  • the first peripheral node 410 and the second peripheral node 420 can be indirectly connected via the second backbone node 2400.
  • the fourth peripheral node 440 and the fifth peripheral node 450 can be indirectly connected via the first backbone node 1400.
  • the third peripheral node 430 and the fourth peripheral node 440 can be indirectly connected to each other via the first backbone node 1400 and the second backbone node 2400 that are connected to each other.
  • the data flowing to all peripheral devices can be monitored by a plurality of mission-critical nodes.
  • a combination of an autonomous vehicle and a smart house can be mentioned.
  • the network unit including the first core node 1400, the fourth peripheral node 440, and the fifth peripheral node 450 are all components constituting one autonomous vehicle.
  • the network unit including the second core node 2400, the first peripheral node 410, the second peripheral node 420, and the third peripheral node 430 are all parts of one smart house.
  • a sensor for example, the fourth peripheral node 440 for grasping the status of the battery of the smart house is installed in the self-driving car. ing.
  • the fourth peripheral node 440 is connected to both the first backbone node 1400 and the second backbone node 2400.
  • an application such as a taxi system that automatically drives a plurality of automobiles in cooperation is also an example of the network of the present application.
  • one peripheral node for example, the first peripheral node 410 has a plurality of backbone nodes (for example, the first backbone node 1400, the second). It is also permitted to include a connection with a backbone node 2400, a third backbone node 3400).
  • the first backbone node 1400 has a first common passcode 1410
  • the second backbone node 2400 has a second common passcode 2410
  • the third backbone node 3400 has a third common. It shall have a passcode 3410.
  • the first peripheral node 410 recognizes the first backbone node 1400 as "the one that inputs the first common passcode 1410", and the second backbone node 2400 is “the second common passcode”. It recognizes that "the one that inputs 2410" and recognizes the third backbone node 3400 as "the one that inputs the third common passcode 3410". In response to these inputs, the first backbone node 1400 recognizes the first peripheral node 410 as "returning the first authentication 11", and the second backbone node 2400 recognizes the first peripheral node 410.
  • the third core node 3400 recognizes the first peripheral node 410 as "the one that returns the third authentication 13."
  • data related to communication authentication (common passcode, authentication data returned in response to the common passcode, etc.) is stored in the core node and is not stored in the peripheral nodes.
  • the chip authentication device of the present invention is mounted on the peripheral node.
  • the first backbone node 1400 and the second backbone node 2400 are directly connected, but the first backbone node 1400 and the second backbone node 2400 are also the third backbone node 3400. It is assumed that it is not directly connected.
  • the third mission-critical node 3400 is not a remote attacker. Therefore, it is important not to store the connection authentication data (common passcode) in the first peripheral node 410.
  • the first peripheral node 410 is first registered with the first backbone node 1400
  • the first backbone node 1400 has the first peripheral node 410 after the first backbone node 1400 and another backbone node. It is possible to limit the connection with.
  • the external input / output controller of the first peripheral node 410 transfers all the received signals to the first backbone node 1400, and the first backbone node 1400 transfers all the signals to the first peripheral node 410. Because it is possible to monitor the input.
  • emergency measures can be taken.
  • the first backbone node 1400 disconnects the first peripheral node 410.
  • the first peripheral node 410 is used only to monitor the movement of the remote attacker.
  • the second backbone node 2400 registers the first peripheral node 410 next to the first backbone node 1400, the second backbone node 2400 is previously assigned to the first backbone node 1400 and the first peripheral node. Apply for permission to register 410. This requires that the second backbone node 2400 and the first backbone node 1400 are directly connected.
  • the first peripheral node 410 accepts the second common passcode 2410 and is second.
  • the second authentication 12 is returned to the second core node 2400, and the second core node 2400 registers the first peripheral node 410.
  • the second backbone node 2400 and the first peripheral node 410 can be authenticated and connected without the permission of the first backbone node 1400.
  • the third backbone node 3400 is the first.
  • the first backbone node 1400 or the first backbone node 1400 and the second backbone node 2400, have the authority to limit the connection between the third backbone node 3400 and the first peripheral node 410. .. That is, when an unauthorized input code is input to the first peripheral node 410, the connection is rejected or restricted.
  • the exercise of this authority shall be carried out by a legitimate administrator of the first backbone node 1400 or the first backbone node 1400 and the second backbone node 2400.
  • the same input signal (input signal Q) is input to two different first chip authentication devices 21 and second chip authentication device 22.
  • the first chip authentication device 21 outputs the output signal A.
  • the second chip authentication device 22 outputs the output signal B.
  • the output signal A and the output signal B are different.
  • the output signals are different when the chip authentication devices are different.
  • This property is a necessary condition for the example of using a common passcode (FIGS. 11 and 12). That is, even if the same passcode is input as an input signal to peripheral nodes equipped with different chip authentication devices, the output signals returned from each peripheral node must be different for each peripheral node.
  • the first core node 1400 has a first common passcode 1410 with a built-in chip authentication device, a first peripheral node 410, a second peripheral node 420, and a third authentication.
  • the output signals returned from these peripheral nodes are the first authentication 4101, the second authentication 4201, and the third authentication 4301, respectively, as shown in FIG.
  • the first backbone node 1400 inputs the first common passcode 1410 to the first peripheral node 410, and the first peripheral node 410 inputs the first authentication 11 to the first backbone node 1400.
  • the second backbone node 2400 inputs the second common passcode 2410 to the first peripheral node 410
  • the first peripheral node 410 outputs the second authentication 12 to the second backbone node 2400.
  • the third backbone node 3400 inputs the third common passcode 3410 to the first peripheral node 410
  • the first peripheral node 410 outputs the third authentication 13 to the third backbone node 3400. This is the case. Needless to say, the above certifications 11, 12, and 13 are very different from each other.
  • FIG. 13 is an example of a network structure that simultaneously uses the condition of (input independence) and the condition of (output independence). In most cases, in practice, the number of key nodes is greater than 2 and the number of peripheral nodes is greater than 5. FIG. 13 is just one of the simplest examples. (Unpredictability of output)
  • a first input set consisting of a plurality of input signals and a first output set consisting of a set of output signals obtained by inputting the plurality of input signals into the chip authentication device are prepared. Further, a second input set composed of a plurality of input signals not belonging to the first input set is prepared. Even if any combination of the first input signal and the first output signal is known, before the N input signals belonging to the second input set are input to the chip authentication device. This means that it is probabilistically difficult to predict the N output signals output by the chip authentication device according to the N input sets. For example, if N input signals are selected, it will be predicted N times.
  • an input signal error 31 ( ⁇ Q) is mixed in the input signal Q due to uncontrollable noise or the like related to the circuit that controls the input signal Q.
  • the output signal error 32 ( ⁇ R) is mixed in the output signal R due to the input signal error 31 ( ⁇ Q) and the uncontrollable noise related to the circuit that controls the output signal.
  • the absolute value of the difference between the two different input signals is assumed to be larger than the maximum absolute value of the input signal error 31 ( ⁇ Q).
  • the absolute value of the difference between the output signal R1 with respect to the input signal Q1 and the output signal R2 with respect to the input signal Q2 must always be larger than the absolute value of the output signal error 32 ( ⁇ R).
  • a node that has a physical reality and connects to a network is called a physical node, and a node that does not have a physical reality and connects to a network is called a logical node.
  • each physical node contains at least one chip, and that chip includes the chip authentication device of the present application.
  • the chip authentication device of the present application shall authenticate the physical node by utilizing the physical randomness peculiar to the chip.
  • X be the number of random chips inherent in the chip
  • Y be the number of all physical nodes connected to the network.
  • the probability that the outputs from two different chip authentication devices for the same input coincide with each other increases as Y increases and decreases as X increases. Therefore, it is considered to be proportional to Y / X. It is necessary that Y / X is so small that this probability becomes almost zero in reality. That is, at least X is greater than Y.
  • Six Sigma which is often used in quality control, a realistically acceptable error is 3.4 / million. Therefore, X needs to be greater than one million times Y. (Chip uniqueness)
  • the output of the chip authentication device according to the present application must be an electronic signal unique to the chip, which is one of the components of the chip authentication device. (Physically non-rewritable)
  • the physical randomness inherent in the chip is invariant or stable even when some external stimulus is applied.
  • the chip-specific physical randomness is resistant to external stimuli or changes in the external environment.
  • the output from the chip authentication device is required to be stable. If the physical randomness peculiar to a chip can be rewritten as a random number-induced random number prepared separately, the chip will be replaced with another one on the network. It is self-evident that such tampering creates a favorable situation for the attacker.
  • some external stimulus is an electric field, an electromagnetic field, heating, a temperature change, a humidity change, a blow, a vibration, or the like, and usually does not destroy the chip package.
  • the chip authentication device is described above (output independence), (input independence), (output unpredictability), (input / output reliability), (output infinity). , (Chip uniqueness), (physically non-rewritable), all seven must be satisfied at the same time. (test)
  • a peripheral node that is already connected to a core node is replaced with a chip equipped with the chip authentication device according to the present invention. It must be replaced with a peripheral node composed of. Now it is necessary to check that this replacement has been made reliably. Alternatively, it is necessary to inspect whether or not even a part of the peripheral nodes using the chip not equipped with the chip authentication device of the present invention is illegally used. The inspection described here can be performed at any time as part of the maintenance and inspection of the core node. It is also desirable to do this when registering peripheral nodes.
  • the correspondence table of the input code 42 and the registration code 43 should be stored in the built-in memory.
  • a list of multiple registration codes corresponds to one input code.
  • These registration codes correspond to the respective outputs when one common passcode is input to a plurality of peripheral nodes.
  • the number of common passcodes is not limited to one, so a correspondence table as shown in FIG. 19 is obtained. If there is only one input code, the correspondence table will be only the upper half of FIG. 19, for example.
  • the input code 402 is one. In any case, such a code is not stored in the built-in memory of the chip equipped with the chip authentication device of the present invention. In the network related to the present invention, only the core node normally stores the code correspondence table as shown in FIG.
  • the input code 402 in FIG. 10 corresponds to the input code 42 in FIG. 19, and the registration code 403 in FIG. 10 corresponds to the registration code 43 in FIG.
  • the flow of another inspection work will be described with reference to FIG. 21.
  • the built-in memory of the peripheral node to be inspected is read.
  • the codes read out here it is checked whether or not there is a match among the input codes stored as the input codes in the core node. For example, there is an input code 42 in FIG. 19 or an input code 402 in FIG.
  • the inspected peripheral node is approved as fair. If they match, further check if there is a match among the registration codes stored as registration codes in the core node. For example, the registration code 43 in FIG. 19, the registration code 403 in FIG. 10, and the like.
  • the inspected peripheral node is judged as an illegal product. If they do not match, we approve it as fair. Look for peripheral nodes to check next. If not, it ends. If there is, read the internal memory of the peripheral node to be inspected. The same applies below.
  • the difference in the inspection method of FIG. 20 and FIG. 21 is caused by the difference in the inspection standard.
  • 20 and 21 are just two examples of possible inspection methods in the context of the present application. By devising other inspection standards, it is possible to come up with other inspection methods. For example, in FIGS. 20 and 21, the order of input code comparison and registration code comparison can be changed.
  • the inspection method of the present application is an inspection method specifically different from MAC address filtering.
  • all the nodes that make up the network using the chip authentication method described above are, for example, a group of core nodes (eg, 1400, 2400) maintained and managed by a trained security expert, as shown in FIG. , Divided into groups of peripheral nodes (eg, 410, 420, 430, 440, 450) that the security expert cannot manage.
  • the peripheral nodes are not directly connected to each other, but can be connected only to the core node. In this way, a network unit consisting of one core node and a plurality of peripheral nodes directly connected to the core node is configured.
  • the core node can be arbitrarily connected to each other, and the peripheral nodes can be indirectly connected to each other via the core node.
  • FIG. 13 is an example of a network in which two network units are linked by connecting each other's core nodes.
  • a network consisting of a larger number of core nodes, that is, a larger number of network units, is also feasible.
  • the connection between the nodes having the physical reality on the network means the authentication connection in which the nodes having the physical reality authenticate each other by the above-mentioned authentication work. doing.
  • each peripheral node is equipped with a different chip authentication device.
  • the backbone node 1400 has at least one unique common passcode 1410.
  • the common passcode 1410 output by the backbone node 1400 is strictly stored as an input code (for example, 402) in the internal memory of the backbone node.
  • the peripheral nodes (410, 420, 430) to which the common passcode 1410 is input each apply the unique authentication (4101, 4201, 4301) to the core node 1400 for the common passcode. Send back.
  • the authentications returned here need to be different from each other. Therefore, the chip authentication device of the present invention mounted on the peripheral node must satisfy (output independence) as shown in FIG.
  • the backbone node 1400 strictly stores the output signal returned from the peripheral node in the internal memory in a form corresponding to each of the input codes (for example, 402) (for example, 403). ) For convenience.
  • one peripheral node is allowed to connect to a plurality of core nodes.
  • one peripheral node eg 410 is entered with a plurality of common passcodes (eg 1410, 2410, 3410) and different authentications (eg 11, 12, 13) for different inputs. ) Must be output. Therefore, the chip authentication device of the present invention mounted on the peripheral node must satisfy (input independence) as shown in FIG. (Chip authentication method)
  • the chip authentication device when the chip authentication device is configured by software, the creation of the output signal with respect to the input signal is always performed by using a certain algorithm. Therefore, when a remote attacker decrypts this algorithm, for example, the registration code 43 can be forged as long as the input code is known. In this way, this remote attacker can hijack at least a part of the peripheral node and gain unauthorized access to the core node. In order to prevent such fraud, the chip authentication device of the present invention must satisfy (unpredictability of output) as shown in FIG. However, no program (output unpredictability) can meet as long as the program is designed with an algorithm. This is the same situation as it is impossible for a program to generate a complete random number. As described above, the chip authentication device must utilize the physical clutter.
  • the chip authentication device as described above may be mounted together with a module having another function in the chip, or may be manufactured alone as a chip having only the chip authentication function. Further, it is desirable that the chip authentication device generates an output code (authentication code) based on physical randomness each time it receives an input code (common passcode). The common passcode must not be stored in the memory of peripheral nodes.
  • the electronic device is composed of a plurality of chips, as shown in FIG. 7, it is necessary that at least one chip mounts the chip authentication device of the present invention. Further, the chip authentication device itself may be an electronic device realized by a chip.
  • the network is a network of electronic devices in which peripheral nodes and backbone nodes, which are constituent elements, are composed of at least one chip.
  • the conditions for the chip authentication device of the present application have a corresponding relationship with the above-mentioned requirements for PUF.
  • output independence is the same as (1) different peripheral nodes with the same input always producing different outputs.
  • Input independence is the same as (2) always producing different outputs if different inputs are sent to the same peripheral node
  • output unpredictability is (3) a combination of inputs and outputs.
  • the output for an unknown input, even if stolen, is the same as unpredictable.
  • (Reliability of input / output) is the same as (4) that the relationship between input and output is stable and reliable.
  • Realistic infinity of output is the same as (5) that the pattern of output for one input is so large that it can be regarded as realistically infinite.
  • Chip uniqueness is the same as (6) Chip authentication on the network must be an electronic signal unique to the chip. As long as it is a chip authentication device, it is obvious that (6) is satisfied. In the present application, (7) (physical rewritability), the physical clutter peculiar to the chip is not rewritable from the outside. Therefore, the chip authentication device of the present application must be configured to satisfy all of these seven conditions, as described below.
  • the chip authentication device which satisfies all the above requirements, can be configured by a plurality of authentication elements arranged on the element array of the semiconductor device.
  • this authentication element outputs a signal corresponding to either "1" or "0", for example.
  • a random combination of "1" and “0” is equivalent to a random number being generated digitally. Being digital is equivalent to satisfying the fourth requirement, ie, the (input / output reliability) described in FIG.
  • the number of output patterns is so large that it can be regarded as practically infinite, it is necessary to sufficiently increase the number of elements on the element array.
  • the first requirement i.e. (input independence)
  • the second requirement i.e. (output independence)
  • the sixth requirement ie (chip uniqueness) is met if the probability of producing a random combination of "1" and "0" is unique to the chip.
  • the seventh requirement (physically non-rewritable) means that this random combination cannot be tampered with by normal chip usage. This will be described in detail below.
  • FIG. 23 is an example of an arrangement of elements for realizing FIG. 22.
  • L word lines 503 are lined up in the row direction. In the figure, it corresponds to the vertical direction.
  • M bit lines 902 are lined up in the column direction so as to be orthogonal to it.
  • the authentication element 977 which is an element of the chip authentication device, is arranged at the intersection of the L word lines 503 and the M bit lines 902.
  • FIG. 24 is an extraction of N word lines 503 and N bit lines 902 from the authentication element array 960 of FIG. 23.
  • N is generally a natural number smaller than or the same as L or M above.
  • the input code P, S, T, (7), consider (a (1), b (1), a (2), b (2), ..., a (N), b (N)).
  • NS This input code is divided into an array a and an array b, and (a (1), a (2), ... a (N)) are associated with each other in order from the first line.
  • (b (1), b (2), ..., b (N)) are made to correspond in order from the first column.
  • the data related to the signal output by the authentication element 977 in the i-th row and the j-th column is referred to as the element d (i, j).
  • d (i, j) is "1" or "0".
  • i and j are natural numbers from 1 to N.
  • the combination of natural numbers (i, j) corresponds to the address of the authentication element 977.
  • element d (5, N-2) is illustrated.
  • the set ⁇ d (i, j) ⁇ of the elements d (i, j) is a random number code composed of a random set of 0s and 1s. If the value of d (i, j) is 1 for black and 0 for white, a random checkerboard pattern of white and black as shown in FIG. 22 can be obtained.
  • the method of dividing the input code may be executed according to a predetermined format.
  • the exchange of array a and array b is also an example.
  • the method of alternately extracting the array a and the array b from the input code is only one example. Further, the number of elements in the array a and the array b do not necessarily have to be equal.
  • the sum of the number of rows and the number of columns of the authentication element array 960 shall be at least larger than the total number of elements of the input code so that all the elements of the input code can be input.
  • the above input code is expressed as ⁇ a (i), b (j) ⁇ .
  • i and j are independent natural numbers.
  • the output code ⁇ c (i, j) ⁇ is created from the sequence ⁇ a (i) ⁇ , the sequence ⁇ b (j) ⁇ , and the random number code ⁇ d (i, j) ⁇ by some method.
  • the combination of the input code ⁇ a (i), b (j) ⁇ and the output code ⁇ c (i, j) ⁇ corresponds to the communication series 80 of FIG.
  • this random number code ⁇ d (i, j) ⁇ a physical random number may be used.
  • FIG. 25 shows a sequence ⁇ a (i) ⁇ , a sequence ⁇ b (j) ⁇ , a physical random number ⁇ d (i, j) ⁇ , and an output code ⁇ c (i, j) output based on Equation 1.
  • FIG. 26 is a conceptual diagram showing an example of a basic configuration for realizing the mechanism shown in Equation 1. That is, the random number generator 601 generates a physical random number ⁇ d (i, j) ⁇ , and the input code ⁇ a (i), b (j) ⁇ is input as a common passcode from the backbone node 400, and the code is generated. The device 602 generates an output code ⁇ c (i, j) ⁇ .
  • the random number generator 601 and the code generator 602 are both components of the chip authentication device 600.
  • the code generation device 602 can be placed outside the chip authentication device 600.
  • the random number generator 601 must be mounted in the chip as cheaply as possible.
  • the method conceptually described with reference to FIG. 22 is used as an example of the random number generator 601.
  • the code generator 602 uses a kind of algorithm (modulo operation) for code generation, but at the same time, it takes in physical randomness with a physical random number ⁇ d (i, j) ⁇ . ..
  • This physical random number ⁇ d (i, j) ⁇ is a physical disorder peculiar to the chip. Therefore, the above requirement (3), that is, (unpredictability of output) is satisfied.
  • the sum of the number of rows and the number of columns of the random number generator 601 is at least the sum of the number of elements of ⁇ a (i) ⁇ and the number of elements of ⁇ b (j) ⁇ . Same as or larger than.
  • FIG. 27 is a drawing illustrating another example of the present application. That is, the input code (P, S, T, %) Is sent from the backbone node 400 to the scramble device 604. In this way, the input code (P, S, T, %) Is converted into (P', S', T', ). This code is input as an input code (P', S', T', 7) To the chip authentication device 600 modularized in the peripheral node.
  • peripheral nodes connected to the backbone node 400 mount at least a chip on which the chip authentication device 600 is mounted.
  • the chip authentication device 600 returns authentication (P1, S1, T1, ...) In response to the input of the input code (P', S', T', ).
  • this authentication (P1, S1, T1, %) Is output to the core node 400.
  • this authentication (P1, S1, T1, %) Is returned to the scramble device 604, and the scrambled authentication (P1', S1', T1', ...) Is returned to the backbone node 400.
  • Authentication (P1', S1', T1', %) is authenticated using another second scrambler (P1'', S1'', T1''. , ...) and then returned to the core node 400.
  • the method (3) requires at least two independent scrambling devices.
  • FIG. 28 is a diagram showing an example of the basic configuration of the scrambler 604.
  • the scramble device 604 is composed of a random number generator 605 and a code generator 606. Since the detailed description of the random number generator 605 and the code generator 606 constituting the scramble device 604 is the same as that described with reference to FIG. 26, the description thereof will be omitted here.
  • the code generator 606 can be placed outside the scramble device 604.
  • FIG. 29 shows an example or a part of the authentication element array 960 configured by the authentication element 977 of FIG. 23.
  • the rows are in the horizontal direction and the columns are in the vertical direction.
  • the number of rows is N + K and the number of columns is N.
  • the area of the upper K row and N column is the scramble device cell array 614 that constitutes the scramble device 604, and the lower N row and N column is the chip authentication device cell array 611 that constitutes the chip authentication device 600.
  • the scramble device cell array 614 that constitutes the scramble device 604
  • the lower N row and N column is the chip authentication device cell array 611 that constitutes the chip authentication device 600.
  • FIG. 30 is a diagram illustrating another example of a method for realizing the random number generator 605 constituting the scramble device 604.
  • ⁇ a (j) + b (j) ⁇ for each column.
  • j is the column number.
  • Equation 2 a (j) + b (j) is added according to the column number (j), which is obtained by adding the elements d (i, j) of the physical random numbers in the row direction and dividing by 2.
  • i is the line number.
  • the sum of the sum is further divided by 2 to obtain the intermediate output ⁇ f (j) ⁇ .
  • the input code ⁇ a (j), b (j) ⁇ is converted into the intermediate code ⁇ a (i), f (j) ⁇ by taking in the physical random number by the scrambler 604.
  • This ⁇ a (i), f (j) ⁇ is input to the chip authentication device 600 as the next input code, and the output code ⁇ c (i, j) ⁇ is output according to Equation 3. Since it is self-evident, ⁇ b (j) ⁇ may be a dummy, although it will not be described in particular. Equation 2 Equation 3
  • the selection method of the number of lines K of the scramble device 604 and the number of lines N of the chip authentication device 600 does not necessarily have to be managed on the backbone node side.
  • the owner of the peripheral node or an authorized administrator of the peripheral node may arbitrarily determine it.
  • the determined (N, K) can be saved in the internal memory or the like on the peripheral node side.
  • (N, K) can be stored in the internal memory of the core node or the like.
  • N, K is information that the core node does not necessarily need to know, but it is registered in the network centrally managed by the core node, and after being connected, it is inspected by the core node during network maintenance. It can be revised as needed. At that time, it is necessary to re-register the peripheral nodes with the revised (N, K).
  • the core node records the revisions (N, K) during the previous maintenance.
  • the (N, K) stored in the internal memory of the peripheral node is read and compared with the (N, K) recorded in the core node last time. If they don't match, you can either disconnect this peripheral node from the network or alert the administrator that the chip has been compromised. In this way, (N, K) can be effectively used as a security buffer. Since the code generation method based on Equation 1-3 uses a physical random number ⁇ d (i, j) ⁇ , there is no problem even if the security buffer (N, K) leaks.
  • ⁇ f (j) ⁇ stores a part or all of the intermediate output ⁇ f (j) ⁇ in a register in the arithmetic processing unit so that it is not output outside the arithmetic processing unit. That is, the intermediate code ⁇ a (i), f (j) ⁇ composed of ⁇ a (i) ⁇ and the intermediate output ⁇ f (j) ⁇ , which are part of the input code, is outside the peripheral node. Not output.
  • segment 1 is from the first column to the R column
  • segment 2 is from the first R + 1 column to the second R column
  • the 2nd R + 1th column to the 3rd R column are defined as segments 3, ...
  • a part of the intermediate output ⁇ f (j) ⁇ is generated for each segment based on the equation 2 and stored in the register. That is, if N is large enough, the register area containing the intermediate output ⁇ f (j) ⁇ is overwritten each time the segment is updated. Therefore, even during code generation, the entire intermediate output ⁇ f (j) ⁇ cannot be stolen at once by remote control.
  • the intermediate output ⁇ f (j) ⁇ generated between the scramble device 604 and the chip authentication device 600 is the said. It is not output to the outside of the chip. That is, the intermediate code ⁇ a (i), f (j) ⁇ composed of ⁇ a (i) ⁇ and the intermediate output ⁇ f (j) ⁇ , which are a part of the input code, is output to the outside of the chip. Not done.
  • the intermediate output ⁇ f (j) ⁇ is automatically overwritten and erased once the output code ⁇ c (i, j) ⁇ is generated.
  • the bit capacities of the scrambler cell array 614 (number of rows K) and the chip authentication device cell array 611 (number of rows N) are estimated as follows.
  • the number of input codes is 2 to the 2N power.
  • the number in the case of the physical random number ⁇ d (i, j) ⁇ of the scrambler cell array 614 is 2 to the NKth power.
  • the number in the case of the physical random number ⁇ d (i, j) ⁇ consisting of the chip authentication device cell array 611 is 2 to the Yth power, and Y is the square of N.
  • the number in the case of the output code ⁇ c (i, j) ⁇ is 2 to the Z power, and Z is the square of N.
  • the number of input codes is 2 to the 512th power. This is already a very large number of integer digits. You can think of it as almost infinite.
  • the number of physical random numbers ⁇ d (i, j) ⁇ of the scrambler, the number of physical random numbers ⁇ d (i + N, j) ⁇ of the chip authentication device, and the number of output codes ⁇ c (i, j) ⁇ The number of cases is even larger, all of which are also 2 to the power of 512 squared. Of course, it is realistic infinity.
  • the square of 512 is 262,144, even if the scramble device is included, 262 kilobits is sufficient for a chip authentication device.
  • This capacity is four orders of magnitude smaller than the capacity (4 gigabits) around a silicon die of a normal DRAM product, and is much smaller than about 1 / 10,000.
  • this physical random number ⁇ d (i + N, j) ⁇ is also a physical disorder peculiar to the chip.
  • the number of input codes is 2 to the 256th power, which is approximately 10 to the 77th power.
  • the number of communication nodes is considered to be more than 1 trillion (10 to the 12th power) in the world.
  • 10 to the 77th power is not infinite, it is much larger than the number of nodes in the world, and the possibility that the input code happens to be the same is extremely small, even if the number of nodes is 1 trillion, it is 10 to the minus 65th power. It is a realistic zero.
  • the number of physical random numbers ⁇ d (i, j) ⁇ of the scrambler, the number of physical random numbers ⁇ d (i + N, j) ⁇ of the chip authentication device, and the number of output codes ⁇ c (i, j) ⁇ The number of cases is also 2 to 128 further squared, which is, of course, realistic infinity.
  • the square of 128 is 16,384, even if the scramble device is included, 16 kilobits is sufficient capacity for a chip authentication device. This capacity is five orders of magnitude smaller than the capacity (4 gigabits) around a silicon die of a normal DRAM product, and is much smaller than about 1 / 100,000.
  • FIG. 31 is a diagram showing an example of a memory chip including a scramble device cell array 614 and a chip authentication device cell array 611. These areas are arranged in the word line direction together with the memory area and share the word line 503.
  • FIG. 32 is a diagram showing another example of the memory chip including the scrambler cell array 614 and the chip authentication cell array 611. These three areas including the memory area are arranged in the bit line direction and share the bit line 902. As described above, even if the word line 503 and the bit line 902 are exchanged, the invention of the present application does not change essentially anything.
  • FIG. 33 is a diagram showing an example of the authentication element 977.
  • a capacitor 982 is arranged at the intersection of the word line 503 and the bit line 902.
  • a capacitor has a structure in which an insulating film is sandwiched between two conductors, and charges are stored by applying an electric field between the two conductors.
  • the applied electric field is direct current
  • no current flows.
  • the insulating film is destroyed, and the capacitor thus destroyed will carry a current even with direct current.
  • the voltage applied for destruction may be alternating current or direct current.
  • the occurrence of this destruction is probabilistic and is considered to be accompanied by physical clutter.
  • the destroyed authentication element can easily pass a current even in a low electric field, which corresponds to "1" in a memory, for example.
  • it corresponds to black.
  • the authentication element that has not been destroyed is difficult to pass a current with respect to a low applied electric field, and corresponds to "0" in a memory, for example.
  • it corresponds to white.
  • This probability can be roughly adjusted by adjusting the applied electric field for dielectric breakdown and the detailed conditions (physical properties, structure, size, etc.) of the capacitor. When this probability is set to about 50%, a black-and-white random checkerboard pattern as shown in FIG. 22 can be obtained.
  • FIG. 34 shows the current-voltage characteristics used for the failure determination.
  • the horizontal axis is the absolute value of the read voltage applied to the authentication element 977 (capacitor 982 in the example of FIG. 33) for reading, and the vertical axis is the absolute value of the current flowing through the authentication element 977 according to the read voltage. The value.
  • the voltage is high, the electric field applied to the authentication element is high, and if the voltage is low, the electric field is also low.
  • the destroyed authentication element causes a very large current flows in spite of the low voltage.
  • the authentication element that has not been destroyed almost no current flows even at a high voltage.
  • a destruction determination current value 933 and a non-destruction determination current value 934 at the destruction determination voltage 932 are set. That is, when a read voltage whose absolute value matches the destruction determination voltage 932 is applied to the authentication element 977, if the absolute value of the current flowing through the authentication element 977 is higher than the destruction determination current value 933, the authentication element is destroyed. If it is lower than the non-destructive determination current value 934, it is determined that the current value is not destroyed.
  • the address of the element to be read When actually reading, the address of the element to be read must first be selected. To select an address, as shown in FIG. 23, the row decoder 972 selects the element row and the column decoder 973 selects the element row. The combination of the element row and the element column is the address. In the example of FIG. 35, this address is expressed in binary notation on the first line.
  • a read voltage is applied between the word line 503 and the bit line 902 to which the authentication element 977 corresponding to the address thus selected is connected by the method described with reference to FIG. 34, and the data (“1” or “1” or the data of the corresponding address is applied. Read "0"). After reading, the address of the selected authentication element is changed, and the data of the next authentication element is read. This operation is repeated until the data of all the authentication elements in the authentication element array 960 is read out.
  • FIG. 35 shows an example of the address on the cell array of the authentication element expressed in binary and the data of the corresponding authentication element. Looking at the third line, as an example, from the left, "1", “1", “0”, “1”, “X”, "0", "0", “1” ... "0". It has become. In this way, the data of the fifth authentication element from the left is "X".
  • the black-and-white pattern of FIG. 22 will be a checkered plot of the combinations of the columns of “0” and “1” and the corresponding addresses as shown in FIG. 35.
  • "0” is converted to white and "1” is converted to black.
  • an "X” that is neither "0” nor "1” is present, the black-and-white checkered pattern as shown in FIG. 22 cannot be generated. Therefore, the authentication element corresponding to "X" must be excluded from the plot before plotting in a checkered pattern.
  • the address of the authentication element corresponding to “X” (for example, 100 in binary notation in the example of FIG. 35) is stored in the buffer.
  • the data of the authentication element corresponding to each address is compared with the recording of the buffer, and if the corresponding address exists in the buffer, the data is not read.
  • the data of the authentication element corresponding to “X” is removed, and a combination of data and an address consisting of only “0” and “1” is generated. In this way, as shown in FIG. 22, a black-and-white checkered pattern is obtained.
  • the above-mentioned insulating film destruction phenomenon generally has two modes, soft destruction and hard destruction.
  • the soft-break mode often appears as a precursor to hard-break, where the current to the read voltage is lower than at hard-break and higher than at non-break.
  • the state is unstable because it may return to the non-destructive state or transition to the hard destruction mode while the voltage is repeatedly applied. However, once it falls into the hard destruction mode, it does not return to the non-destructive state and does not transition to the soft destruction mode.
  • the hard destruction mode which is a more stable destruction mode, is regarded as “1” of the memory, and the soft destruction mode is set to “X”.
  • the gap between the destruction determination current value 933 and the non-destruction determination current value 934 is for labeling the soft destruction mode with an "X".
  • the checkered black-and-white pattern of FIG. 22 becomes difficult to change even if a repeated voltage is applied, and the reproducibility of the pattern is obtained. do.
  • This is advantageous for satisfying the above-mentioned requirement (4) that the relationship between the input and the output is stable and reliable. As described above, it is desirable that the destruction authentication element is hard-destructed.
  • the percentage of the soft fracture state labeled "X" may be less than or equal to a predetermined value, or may be higher than that.
  • the ratio of "0" and "1" is about 50% each from the viewpoint of information entropy.
  • the method of FIG. 36 will be introduced.
  • a fracture inspection is carried out by the method described with reference to FIG. 34. If the ratio of "X" is higher than a certain value, a second fracture pulse voltage is subsequently applied, and the fracture inspection is performed again by the method of FIG. 34. If the proportion of "X" is still high, a third pulse voltage is applied and a destructive inspection is performed by the method of FIG. 34. This operation is repeated until the ratio of "X" becomes equal to or less than a predetermined value. It is also necessary to set the upper limit of the number of repetitions of this work in advance.
  • the chip authentication device fails the inspection. If the inspection is not passed, the chip is considered defective and discarded. If the inspection is passed, the address of the authentication element labeled "X" is recorded in the buffer as described above, and the data of the corresponding authentication element is removed. However, if the number of authentication elements is sufficiently large, it is possible to secure a sufficiently large amount of physical clutter even if the rate of software destruction is somewhat high. In this case, this task of checking the percentage of "X" can be omitted.
  • FIG. 37 will be introduced as another example in which the destruction pulse is repeatedly applied. The difference from the example of FIG. 36 is that it increases each time a fracture pulse is applied. Since other explanations are the same as the example of FIG. 36, they will be omitted.
  • Another method of removing the soft destruction mode "X" is to select only the authentication element of "X” and repeatedly apply a voltage until the transition to the hard destruction mode "1".
  • the method of applying the breaking voltage at this time is, for example, the method shown in FIG. 36 or FIG. 37. It is desirable to perform this method while the proportion of "0" is still higher than the proportion of "1".
  • the element structure of the authentication element makes it possible to make hard destruction superior to soft destruction.
  • an element structure including a first conductor 1053, a second conductor 1052, an insulating film 910, and a conductor tip 1051 as shown in FIG. 38.
  • the first electrode 1055 is connected to the first conductor 1053
  • the second electrode 1054 is connected to the second conductor 1052.
  • the first electrode 1055 is connected to either the word wire 502 or the bit wire 902, and the second electrode 1054 is connected to the other.
  • the molecular structure of the insulating film 1050 around the conductor tip 1051 is not stable due to mechanical stress and is easily broken. Further, when a fracture pulse is applied, the electric field tends to concentrate around the conductor tip portion 1051.
  • FIG. 39 is a diagram showing another example of the authentication element 977.
  • a diode element is arranged at the intersection of the word line 503 and the bit line 902. Specifically, as an example, a PN junction 986 (FIG. 39) is possible. Alternatively, as another example, Schottky junction 987 (FIG. 40) is possible.
  • a strong voltage stress is applied to the diode, the diode is stochastically destroyed. Whether or not it is destroyed is physically disordered, and it is determined by applying a read voltage in the opposite direction to the diode. In the destroyed element, when a read voltage in the reverse direction is applied to the diode, a current easily flows, which corresponds to, for example, "1" in the memory.
  • the read voltage is in the opposite direction.
  • the element constituting the authentication element 977 connected to the word line 503 and the bit line 902 is the capacitor 982
  • the direction of the read voltage does not have to distinguish between the forward direction and the reverse direction.
  • the diode destruction determination method can be described in the same manner as in FIG. 34.
  • the read voltage applied to the two electrodes sandwiching the diode is an absolute value
  • the current flowing through the diode element when the read voltage is applied is also an absolute value. That is, in the case of PN junctions and Schottky junctions, these absolute values mean reverse voltage and reverse current. Other details will be omitted because they are the same as for capacitors.
  • FIG. 41 is a drawing showing a case where the authentication element 977 is a transistor 983.
  • a transistor is composed of two adjacent diffusion layers on the surface of a semiconductor substrate and a gate capacitor.
  • the gate capacitor is a semiconductor substrate on which a gate insulating film and a gate electrode are laminated.
  • one of the two diffusion layers is connected to the bit line 902.
  • a word wire 503 is connected to the gate electrode. That is, in this example, it is possible to adopt the physical variation factor of the destruction of the gate insulating film.
  • voltage stress is applied to the word wire 503 with respect to the bit wire 902.
  • this voltage stress may be a pulse as shown in FIG. 36.
  • the pulse as shown in FIG. 37 may be used.
  • a destruction determination voltage 932 may be applied between the bit line 902 and the word line 503, and the current flowing between the bit line 902 and the word line 503 may be read.
  • FIG. 42 shows a case where the authentication element 977 is a DRAM cell composed of a transistor 983 and a capacitor 982.
  • a transfer voltage for turning on the transistor 983 is applied between the word line 503 and the bit line 902.
  • high voltage stress is applied to the bit wire 902.
  • This high voltage stress is, for example, a pulse as shown in FIGS. 36 and 37.
  • the current flowing through the bit line 902 may be read while the transfer voltage is applied to the word line 503.
  • the absolute value of the transfer voltage is larger than the absolute value of the voltage applied to the bit line, and the voltage difference is the voltage required to turn on the transistor 983.
  • the authentication element 977 can use a normal DRAM cell as it is. That is, when the chip authentication device of the present application is added to the DRAM chip, only the authentication device area (series cell) is secured in a part of the memory cell area, and no additional cost for manufacturing is required.
  • the bit capacity required for the authentication device area is very small compared to general memory capacity, not limited to DRAM.
  • DRAM prices are currently moving between $ 2.5 and $ 3 for 4-Gigabit products. Since the DRAM cell can be used as the authentication element 977 as it is, even if the soft destruction mode “X” is removed while maintaining a sufficient amount of physical random number information (input / output reliability) is ensured.
  • the price of a chip authentication device including a scramble device is about 0.03 US cents at the maximum per chip.
  • FIG. 43 is a diagram showing another example of the authentication element 977.
  • a selection transistor 984 used for controlling the non-volatile memory is arranged at the intersection of the word line 503 and the bit line 902.
  • the memory element of the non-volatile memory is silicon, a tunnel film, a charge storage layer, an interlayer insulating film, and a control gate laminated between two diffusion layers on a first conductive type semiconductor substrate or a first conductive type well. It is a gate laminated structure consisting of.
  • the selection transistor 984 replaces a part or all of the interlayer insulating film of the memory element with an interlayer conductive layer.
  • a conductor via in which a conductive material is embedded in a vertical hole formed so as to penetrate the interlayer insulating film may be used.
  • the destruction and readout of the tunnel film are the same as the destruction of the gate insulating film of the transistor 983.
  • the destruction of the tunnel membrane is probabilistic and is the source of physical clutter. That is, if the gate insulating film of the transistor 983 is replaced with a tunnel film, the description is the same, and therefore the description here will be omitted. It was
  • FIG. 44 is a diagram showing another example of the authentication element 977.
  • a resistor 985 is arranged at the intersection of the word line 503 and the bit line 902. By applying a high voltage between the word line 503 and the bit line 902, it is possible to apply electric field stress to the resistance 985 at the selected intersection. It was
  • variable resistance memory element 989 including a transistor 983 and a variable resistance 981.
  • the variable resistance memory element 989 is a ReRAM.
  • the variable resistance memory element 989 is a PCRAM.
  • FIG. 93 it is a magnetoresistive memory element 990 composed of a transistor 983 and a magnetoresistor 980.
  • this magnetoresistive memory element 990 is an MRAM.
  • the magnetoresistive memory element 990 is an STT-MRAM.
  • FIG. 94 it is a non-volatile memory element 988 with a charge storage layer.
  • the charge storage layer may be a charge trapping layer or a floating gate.
  • it is a non-volatile memory element 988 with a charge storage layer arranged on a NAND type array in which bit line terminals are intentionally excluded as shown in FIG. 95.
  • FIG. 96 it is a ferroelectric memory including a transistor 983 and a ferroelectric capacitor 991.
  • a resistor is a high-resistance conductive material sandwiched between two terminals, and when a high electric field is applied to the resistor, it is stochastically broken, and the intersection of the word wire 503 and the bit wire 902 becomes a non-conducting (short) state. .. When not short-circuited (non-short-circuited), the intersection of the word line 503 and the bit line 902 is in a conductive state. Since which address resistance is short-circuited or remains non-short-circuited is determined by physical randomness, a random checkerboard pattern as shown in FIG. 22 can be created.
  • Whether or not the resistor is destroyed is determined by applying a read voltage to the resistor 985.
  • a short-circuited authentication element it is difficult for a current to flow even when a read voltage is applied, which corresponds to, for example, "0" in a memory.
  • the authentication element that did not short-circuit current easily flows even if the read voltage is low, which corresponds to, for example, "1" in the memory.
  • Such a short circuit of resistance is the same as the destruction of a conductor and is caused by, for example, electromigration. That is, electromigration occurs stochastically, the generated element corresponds to "0" in the memory, and the element that does not occur corresponds to "1" in the memory.
  • FIG. 45 is a current-voltage characteristic used for short-circuit determination.
  • the horizontal axis is the absolute value of the read voltage applied to the resistor 985 for reading, and the vertical axis is the absolute value of the current flowing through the resistor 985 according to the read voltage.
  • a very large current flows in spite of the low voltage.
  • the short-circuited authentication element almost no current flows even at a high voltage.
  • a non-short determination current value 743 and a short determination current value 744 at the short determination voltage 742 are set.
  • the resistor 985 when a read voltage whose absolute value matches the short determination voltage 742 is applied to the resistor 985 is higher than the non-short determination current value 743, it is determined that the resistor 985 is not short-circuited. If it is lower than the short-circuit determination current value 744, it is determined that the circuit is short-circuited.
  • the authentication element 977 whose absolute value of the read current is within this gap is not determined whether a short circuit has occurred or not. Since such an authentication element 977 is neither "0" nor "1" when it corresponds to a memory, it is described as "X". At this time, an example of the address (address) on the cell array of the authentication element 977 and the data of the corresponding authentication element 977 is shown in FIG. 35, as in the case where the authentication element 977 is the capacitor 982.
  • the address of the element to be read When actually reading, the address of the element to be read must first be selected. To select an address, as shown in FIG. 23, the row decoder 972 selects the element row and the column decoder 973 selects the element row. The combination of the element row and the element column is the address. In the example of FIG. 35, this address is expressed in binary notation.
  • a read voltage is applied between the word line 503 and the bit line 902 to which the element corresponding to the address thus selected is connected by the method described with reference to FIG. 45, and the data (“1” or “0” of the corresponding address is applied. ") Is read. After reading, the address of the selected authentication element is changed, and the data of the next authentication element is read. This operation is repeated until the data of all the elements in the authentication element array 960 shown in FIG. 23 is read out.
  • FIG. 46 is a diagram showing an example of the resistance 985. It is an element structure including a first conductor 1053, a second conductor 1052, an insulating film 910, and a conductor joint portion 970.
  • the first electrode 1055 is connected to the first conductor 1053, and the second electrode 1054 is connected to the second conductor 1052.
  • the first electrode 1055 is connected to either the word wire 503 or the bit wire 902, and the other is connected to the second electrode 1054.
  • the methods shown in FIGS. 36 and 37 can be considered.
  • the oxide film at the disconnection portion causes dielectric breakdown, and this time, the short state is changed to the non-short state.
  • the intermediate state is "X". Therefore, the proportion of the intermediate state labeled "X" may be less than or equal to a predetermined value or higher as the electrical stress is repeated. However, if the number of elements in the intermediate state is larger than a certain number, the pattern is insufficiently disordered due to the decrease in the number of data. Therefore, a method of repeating a voltage pulse for applying electrical stress to an element is required. As an example, after applying the first destructive pulse voltage, a destructive inspection is carried out by the method described with reference to FIG. 45.
  • the address of the element labeled "X" is recorded in the buffer as described above and the data of the corresponding element is removed. If it fails, discard it. However, if the number of elements is sufficiently large, it is possible to secure a sufficiently large physical disorder even if the ratio of the intermediate state is somewhat large. In this case, this task of checking the percentage of "X" can be omitted.
  • the ratio of "0" and "1" is about 50% each.
  • the element labeled "X” stochastically transitions to "0" as the pulse voltage is repeatedly applied, so even if the first pulse is given, even if the number of "1" is large, it will be pulsed multiple times.
  • the ratio of "0” increases as it is applied.
  • the methods shown in FIGS. 36 and 37 can be considered.
  • the ratio of the data (“X”) to be removed is reduced as much as possible, and “0” and “1”. It is possible to approach the ratio of the above to about 50% each. If it fails, as mentioned above, it is considered as a failure of the inspection and discarded as a defective product. In this way, it is possible to ship only a non-defective product having sufficient physical disorder and having stable "0" and "1" data as a product.
  • FIG. 47 is another example of the resistor 985 adopted in FIG. 44. This can be created together with the metal wiring pattern creation. Therefore, it is desirable that the conductor 930 is made of the same material as ordinary metal wiring, and it is desirable that the pattern shape is at least partially curved into a rectangle as shown in FIG. 47. Heat tends to accumulate in this bent portion, causing electromigration and facilitating disconnection.
  • the first electrode 1055 is connected to the word wire 503 and the second electrode 1054 is connected to the bit wire 902.
  • the portion bent into a rectangle as shown in FIG. 47 is thinner than the normal metal wiring.
  • such a structure can be created by masking a portion other than the rectangular portion with a resist and slimming through an oxidation step.
  • the conductor 930 can also be bent into a rectangular shape a plurality of times.
  • FIG. 48 is an example thereof, and is bent into a rectangle at nine points. In this way, it is possible to adjust the probability of short circuit by wiring patterning.
  • the first electrode 1055 is connected to the word wire 503, and the second electrode 1054 is connected to the bit wire 902.
  • the conductor via 530 of FIG. 49 can be created, for example, by making a hole (via) penetrating the insulating film 910 from the side of the first conductor 1053 and embedding a conductive material in the hole (via).
  • This is an example of the conductor joint portion 970 in FIG. 46.
  • the via manufacturing process is adjusted so that the target value of the via depth becomes equal to the distance between the first conductor 1053 and the second conductor 1052.
  • the via fits snugly between the first conductor 1053 and the second conductor 1052, as shown in the central element of FIG. 49.
  • FIG. 50 there are unavoidable manufacturing variations in the aspect ratio and hole diameter of the vias. This variation can also vary the via depth. In this way, in a certain element, the length of the conductor joint portion 970 is insufficient, and the wire between the first conductor 1053 and the second conductor 1052 is broken (short-circuited), as shown in FIG. 38. Further, in a certain element, it is connected (non-shorted) and becomes as shown in FIG. For example, in the example of FIG. 49, short circuit, connection (non-short circuit), and connection (non-short circuit) are performed from the left.
  • the variation in via depth is not related to any algorithm because it is a manufacturing variation in the mass production process. Therefore, it can be regarded as physical variation.
  • a black-and-white random checkerboard pattern as shown in FIG. 22 can be obtained without necessarily applying electrical stress.
  • the address of the element to be read When actually reading, the address of the element to be read must first be selected. To select an address, as shown in FIG. 23, the row decoder 972 selects the element row and the column decoder 973 selects the element row. The combination of the element row and the element column is the address. In the example of FIG. 35, this address is expressed in binary notation.
  • a read voltage is applied between the word line 503 and the bit line 902 to which the element corresponding to the address thus selected is connected by the method described with reference to FIG. 45, and the data (“1” or “0” of the corresponding address is applied. ") Is read. After reading, the address of the selected authentication element is changed, and the data of the newly selected authentication element is read by the same method. In this way, this operation is repeated until the data of all the authentication elements in the authentication element array 960 shown in FIG. 23 is read out.
  • the first electrode 1055 is connected to either the bit wire 902 or the word wire 503, and the second electrode 1054 is connected to the other.
  • the scope of the configuration according to the present application is not limited to this, and the following configurations are also possible.
  • either one of the first electrode 1055 and the second electrode 1054 is connected to the gate electrode 955 with two control gates (first control gate 996 and second control gate 997) interposed therebetween. ..
  • the other of the first electrode 1055 and the second electrode 1054 may be grounded, connected to a source line, or connected to any terminal connected to another circuit.
  • the bit line 902 is connected to the second control gate 997, and the word line 503 is connected to the first control gate 996.
  • first electrode 1055 or the second electrode 1054 is grounded, connected to the source line, or connected to any terminal connected to another circuit.
  • the other sandwiches two control gates (first control gate 996 and second control gate 997) and connects to the gate electrode 955.
  • the bit line 902 is connected to the first control gate 996, and the word line 503 is connected to the second control gate 997.
  • FIG. 53 and 54 are drawings showing the case where the capacitor 982 is used as the authentication element.
  • either one of the first electrode 1055 and the second electrode 1054 is connected to the gate electrode 955 with two control gates (first control gate 996 and second control gate 997) interposed therebetween. ..
  • the other of the first electrode 1055 and the second electrode 1054 may be grounded, connected to a source line, or connected to any terminal connected to another circuit.
  • the bit line 902 is connected to the second control gate 997, and the word line 503 is connected to the first control gate 996.
  • FIG. 54 either one of the first electrode 1055 and the second electrode 1054 is grounded, connected to the source line, or connected to any terminal connected to another circuit.
  • the other sandwiches two control gates (first control gate 996 and second control gate 997) and connects to the gate electrode 955.
  • the bit line 902 is connected to the first control gate 996, and the word line 503 is connected to the second control gate 997.
  • FIG. 55 and 56 are drawings showing an example of using a PN junction 986 as an authentication element.
  • either one of the first electrode 1055 and the second electrode 1054 is connected to the gate electrode 955 with two control gates (first control gate 996 and second control gate 997) interposed therebetween. ..
  • the other of the first electrode 1055 and the second electrode 1054 may be grounded, connected to a source line, or connected to any terminal connected to another circuit.
  • the bit line 902 is connected to the second control gate 997, and the word line 503 is connected to the first control gate 996.
  • either one of the first electrode 1055 and the second electrode 1054 is connected to the gate electrode 955 with two control gates (first control gate 996 and second control gate 997) interposed therebetween. ..
  • the other may be grounded, connected to a source line, or connected to any terminal connected to another circuit.
  • the bit line 902 is connected to the first control gate 996, and the word line 503 is connected to the second control gate 997.
  • 57 and 58 are drawings showing an example using a Schottky junction 987 as an authentication element.
  • either one of the first electrode 1055 and the second electrode 1054 is connected to the gate electrode 955 with two control gates (first control gate 996 and second control gate 997) interposed therebetween. ..
  • the other of the first electrode 1055 and the second electrode 1054 may be grounded, connected to a source line, or connected to any terminal connected to another circuit.
  • the bit line 902 is connected to the second control gate 997, and the word line 503 is connected to the first control gate 996.
  • either one of the first electrode 1055 and the second electrode 1054 is connected to the gate electrode 955 with two control gates (first control gate 996 and second control gate 997) interposed therebetween. ..
  • the other may be grounded, connected to a source line, or connected to any terminal connected to another circuit.
  • the bit line 902 is connected to the first control gate 996, and the word line 503 is connected to the second control gate 997.
  • FIG. 59 and 60 are drawings showing an example in which the resistor 985 is used as the authentication element.
  • either one of the first electrode 1055 and the second electrode 1054 is connected to the gate electrode 955 with two control gates (first control gate 996 and second control gate 997) interposed therebetween. ..
  • the other of the first electrode 1055 and the second electrode 1054 may be grounded, connected to a source line, or connected to any terminal connected to another circuit.
  • the bit line 902 is connected to the second control gate 997, and the word line 503 is connected to the first control gate 996.
  • the bit line 902 is connected to the first control gate 996 and the word line 503 is connected to the second control gate 997.
  • the conductor 930 of FIGS. 47 and 48 can be mentioned.
  • the conductor can be used as a resistor or a fuse by processing it into a thin or rectangular shape.
  • the conductor joint portion 970 can be used as the conductor 930.
  • 61 and 62 are drawings showing an example in which the transistor 983 is used as the authentication element.
  • the gate of the transistor 983 is connected to the gate electrode 955 with two control gates (first control gate 996 and second control gate 997) interposed therebetween.
  • the source and drain of the transistor 983 may be grounded, connected to the source line, or connected to any terminal connected to another circuit.
  • the bit line 902 is connected to the second control gate 997, and the word line 503 is connected to the first control gate 996.
  • the bit line 902 is connected to the first control gate 996 and the word line 503 is connected to the second control gate 997.
  • 63 and 64 are drawings showing an example in which a DRAM cell including a transistor 983 and a capacitor 982 is used as an authentication element.
  • the gate of the transistor 983 is connected to the gate electrode 955 with two control gates (first control gate 996 and second control gate 997) interposed therebetween.
  • One of the source and drain of the transistor 983 may be grounded, connected to the source line, or connected to any terminal connected to another circuit.
  • the other of the source and drain of transistor 983 is connected to one of the two terminals of capacitor 982.
  • the other terminal of the capacitor 982 may be grounded, connected to a source line, or connected to any terminal connected to another circuit.
  • bit line 902 is connected to the second control gate 997, and the word line 503 is connected to the first control gate 996.
  • bit line 902 is connected to the first control gate 996 and the word line 503 is connected to the second control gate 997.
  • the selection transistor 984 is used as the authentication element.
  • the gate of the selection transistor 984 connects to the gate electrode 955 with two control gates (first control gate 996 and second control gate 997) interposed therebetween.
  • the source and drain of the selection transistor 984 may be grounded, connected to the source line, or connected to any terminal connected to another circuit.
  • the bit line 902 is connected to the second control gate 997, and the word line 503 is connected to the first control gate 996.
  • the bit line 902 is connected to the first control gate 996 and the word line 503 is connected to the second control gate 997.
  • FIG. 67 is an example in which the diffusion layers of the selection transistors 984 adjacent to each other in the bit line direction are connected. This is called a NAND type arrangement, and the bit wire terminal is removed from between the elements.
  • the authentication element is the selection transistor 984, and in particular, the dielectric breakdown of the capacitor composed of the tunnel film is used.
  • FIG. 68 is another example of the NAND type authentication element array. In this example, the transistor 983 is adopted as the authentication element. Here, in particular, dielectric breakdown of a capacitor composed of the gate insulating film is used.
  • the operation method is the same, and the following will be collectively described. Note that eliminating the bit line terminals between cells does not mean that the bit lines are excluded. Therefore, even in the NAND type arrangement, the authentication element 977 is still arranged at the intersection of the bit line and the word line on the wiring layout.
  • FIG. 69 is an example of the above-mentioned authentication element array 960.
  • the page buffer 790 can also serve as a page buffer for the NAND non-volatile memory cell array.
  • the page buffer 790 includes a bit line connection gate 791 for turning on / off the connection with the bit line 902. Further, the page buffer 790 is provided with a circuit that controls a sense amplifier, a latch-up, and the like inside.
  • NAND flash memory cells can be embedded.
  • volatile memory such as DRAM and SRAM, NOR flash, magnetoresistive memory (MRAM), spin torque type magnetoresistive memory (STT-MRAM), phase change type memory (PCRAM), resistance change type memory (ReRAM)
  • MRAM magnetoresistive memory
  • STT-MRAM spin torque type magnetoresistive memory
  • PCRAM phase change type memory
  • ReRAM resistance change type memory
  • the memory embedded with the authentication element array 960 according to the present invention only shares at least one of a bit line or a word line for an address as needed, and is irrelevant to the type of memory.
  • An example of applying a voltage pulse to the authentication element 977 is as shown below.
  • a positive potential is applied to the selection gate on the bit line side, and the drain selection transistor (SGD) 9811 on the bit line electrode side is turned on.
  • SGD drain selection transistor
  • a positive potential is also applied to the word line, and each corresponding cell transistor (authentication element) is given a positive potential.
  • the potential of the bit line connected to the element to which the destruction pulse is to be applied is set to 0V.
  • the word line to which the destruction pulse is applied is selected, and the destruction pulse voltage is applied.
  • An example of the method of applying the fracture pulse is, for example, the method described with reference to FIG. 36 or FIG. 37.
  • a chip authentication block is required for each authentication code.
  • one chip authentication device may try FIG. 36 or 37 to determine the number of pulses, which may be stored in a memory area (or buffer) in the chip and stored here in another chip authentication area. It is also possible to apply the same number of destruction pulses as was done. In that case, the fracture rate inspection between pulses can be omitted.
  • FIG. 70 is a drawing showing an example of a voltage pulse waveform at the time of destructive inspection according to the present application.
  • one word line related to the authentication element 977 (cell transistor) to be read is selected, and a predetermined potential higher than 0V is given. If another word line exists between the selected word line and the drain selection transistor (SGD) 9811, a positive potential is also applied to the word line to turn on the related authentication element (cell transistor).
  • the bit line gives 0V or a predetermined positive potential lower than the selected word line.
  • the potential difference between the selected word line and the bit line is, for example, about the destruction determination voltage 932 in FIG. 34.
  • bit line connection gate 791 is lowered to 0V.
  • the bit line connection transistor 7910 is turned off, and the bit line is disconnected from the detection circuit in the page buffer 790. If the insulating film of the selected authentication element 977 is destroyed and is in a conductive state, the potential of the bit wire rises. On the contrary, the potential of the bit wire does not change unless it is in a conductive state.
  • a positive potential is applied to the bit line connection gate 791 again, and the bit line connection transistor 7910 is turned on.
  • bit linear potential difference due to the conduction / non-conduction state of the insulating film of the authentication element 977 is expanded in the page buffer 790 and stored as high / low data in the latch circuit. That is, if the bit linear potential is equal to or higher than a predetermined potential (for example, the destruction determination voltage value 9330), it is considered that the insulating film of the selected authentication element 977 is destroyed, and the bit linear potential is a predetermined potential (for example, non-destructive). If the determination voltage value is 9340) or less, it is considered that the insulating film of the selected authentication element 977 is not destroyed.
  • a predetermined potential for example, the destruction determination voltage value 9330
  • the destruction determination voltage value 9330 and the non-destruction determination voltage value 9340 are voltage values corresponding to the destruction determination current value 933 and the non-destruction determination current value 934 in FIG. 34, respectively.
  • fracture is a conductive state and non-destructive is a non-conducting state.
  • one word line for the authentication element 977 (cell transistor) to be read is selected and 0V is applied.
  • a positive potential is applied to the word line to turn on the related authentication element (cell transistor).
  • a predetermined positive potential is applied to the bit line.
  • the potential difference between the selected word line and the bit line is, for example, about the destruction determination voltage 932 in FIG. 34.
  • a positive potential is applied to the gate of the drain selection transistor 9811 to turn on the drain selection transistor 9811.
  • the bit line connection gate 791 is lowered to 0V.
  • bit line connection transistor 7910 is turned off, and the bit line is disconnected from the detection circuit in the page buffer 790. If the insulating film of the selected authentication element 977 is broken and is in a conductive state, the potential of the bit wire drops. On the contrary, the potential of the bit wire does not change unless it is in a conductive state. Next, a positive potential is applied to the bit line connection gate 791 again to turn on the bit line connection transistor 7910. Subsequently, the potential change of the bit line is detected in the page buffer 790. The bit line potential difference due to the conductive / non-conductive state of the insulating film of the authentication element 977 is expanded in the page buffer 790 and stored as high / low data in the latch circuit.
  • the bit linear potential is lower than a predetermined potential (for example, the destruction determination voltage value 9331), it is considered that the insulating film of the selected authentication element 977 is destroyed, and the bit linear potential is a predetermined potential (for example, non-destructive determination). If the voltage value is higher than 9341), it is considered that the insulating film of the selected authentication element 977 is not destroyed.
  • the destruction determination voltage value 9331 and the non-destruction determination voltage value 9341 are voltage values corresponding to the destruction determination current value 933 and the non-destruction determination current value 934 in FIG. 34, respectively.
  • fracture is a conductive state and non-destructive is a non-conductive state.
  • chip authentication device array It is possible to allocate an area for one block next to a plurality of blocks of non-volatile memory as a chip authentication device array. For example, it can be laid out as shown in FIGS. 31 and 32. As described above, although the chip authentication device and the non-volatile memory device are different, it is possible to save the chip area by sharing the bit line 902 or the word line 503.
  • a special example of a physically random combination that can be configured on an element array of a semiconductor device as shown in FIG. 22 is, for example, counting "1" and "0" for each row, and if there are many "1” s. Make the line black. If there are many "0” s, the line is white. Alternatively, if the value in the first digit of the result of adding "1" and “0" in binary for each row is "1", that row is black. On the contrary, if it is "0", the line is white. Alternatively, it is possible to determine "1" or "0" for each row depending on some property of each row.
  • the value (“1” or “0”) for each row is determined by some calculation, and the result is recorded in the substitution element 979 corresponding to each row as shown in FIG. 72.
  • any binary bit operation is possible.
  • the substitute element 979 is preferably a memory element, a fuse, or the like.
  • the memory element may be non-volatile or volatile.
  • the change in the magnetic resistance is used, the change in the layer is used, or the change in the resistance value of the resistance layer is used.
  • the amount of charge accumulated in a capacitor or a special circuit may be used.
  • the white and black random checkerboard pattern of FIG. 22 is converted into a random horizontal pattern as shown in FIG. 73. This is similar to the conversion from a 2D code to a barcode. This conversion reduces the amount of information for the same number of lines, but if the number of lines is large enough and the proportion of white and black in the striped pattern is not one-sided, it should be able to maintain sufficient messiness.
  • the authentication element 977 may be a memory element, a resistor, a capacitor, a diode, a switch, or some kind of transistor, at least two, first and second. Anything that can output the state will do.
  • the number of rows is N and the number of columns is M. Both N and M are required to be integers large enough to ensure sufficient randomness in FIG. 22.
  • the output code ⁇ c (i) ⁇ is generated from the input code ⁇ a (i) ⁇ and the random number code ⁇ d (i) ⁇ by some method.
  • the combination of the input code ⁇ a (i) ⁇ and the output code ⁇ c (i) ⁇ corresponds to the communication series 80 of FIG.
  • ⁇ d (i) ⁇ is a random code composed of a random aggregate of 0s and 1s. The necessary condition is satisfied.
  • swapping rows and columns does not essentially change the nature of the present application.
  • FIG. 75 is a list of the relationship between the sequence ⁇ a (i) ⁇ and the physical random number ⁇ d (i) ⁇ and the output code ⁇ c (i) ⁇ output based on the equation 4. That is, this physical random number ⁇ d (i) ⁇ is a physical disorder peculiar to the chip. Equation 4
  • Equation 4 Similar to Equation 2, but simplified in that the column element j is eliminated. Also, using this method, it is easily imagined that there is no change in the ratio of the numbers of 0s and 1s before and after the conversion. This is a necessary condition for stabilizing the amount of data handled by the communication series 80. That is, it is required that the amount of information input to the right side of the equation 4 and the amount of data output from the left side of the equation 4 are substantially the same. That is, when the amount of input information and the amount of output information are significantly different, the amount of information in the system defined in Equation 4 is adjusted to the smaller one, and as a result, information entropy (physical disorder) is lost by at least the difference. Because it becomes.
  • FIG. 76 is a conceptual diagram showing an example of a basic configuration for realizing the mechanism shown by the equation 4. That is, the random number generator 601 generates a physical random number ⁇ d (i) ⁇ , the input code ⁇ a (i) ⁇ is input as a common passcode from the backbone node 400, and the code generator 602 outputs the output code ⁇ c (c). i) ⁇ is generated.
  • the random number generator 601 and the code generator 602 are both components of the authentication device 600.
  • the code generation device 602 can be placed outside the chip authentication device 600. In any case, at least the random number generator 601 must be mounted in the chip as cheaply as possible.
  • the random number generator 601 is the method conceptually described with reference to FIGS. 73 and 74.
  • the code generator 602 can be configured programmatically, as conceptually described in Equation 4.
  • a kind of algorithm is used for code generation, and it is a feature of the present application that the physical random number ⁇ d (i) ⁇ captures the physical randomness peculiar to the chip.
  • the number of lines of the random number generator 601 is at least equal to or larger than the number of elements of ⁇ a (i) ⁇ so that all the elements of the input code can be input.
  • FIG. 27 is a drawing showing an example of how to use the scrambler 604 operated by the formula 4.
  • Input codes (P, S, T, ...) Are sent from the backbone node 400 to the scramble device 604.
  • the input code (P, S, T, %) Is converted into (P', S', T', ).
  • This code is input as an input code (P', S', T', 7)
  • peripheral nodes connected to the backbone node 400 mount at least a chip on which the chip authentication device 600 is mounted.
  • the chip authentication device 600 returns authentication (P1, S1, T1, ).
  • this authentication (P1, S1, T1, %) Is output to the core node.
  • this authentication (P1, S1, T1, %) Is returned to the scrambled device, and the scrambled authentication (P1', S1', T1', ...) Is returned to the core node 400.
  • Authentication (P1', S1', T1', ...) is authenticated using another second scrambler (P1'', S1'', T1''. , ...) and then returned to the core node 400.
  • the method (3) requires at least two independent scrambling devices.
  • FIG. 77 shows a part or all of the element array including the authentication element 977 and the substitute element 979 of FIG. 72.
  • the number of lines is N + K.
  • This N + K can be less than or equal to the total number of bit lines in the chip, or less than or equal to the total number of word lines.
  • the region of the upper K row is the scramble device cell array 614, and the lower N row is the chip authentication device cell array 611.
  • This combination of (N, K) can be utilized as a security buffer as in the example related to FIG. 29.
  • Equation 5 the sum of ⁇ a (i) ⁇ and ⁇ d (i) ⁇ is divided by 2, and the remainder is used as the intermediate output ⁇ f (i) ⁇ . Equation 5
  • ⁇ f (i) ⁇ is the output for the scrambler cell array 614.
  • i is a natural number from 1 to K.
  • Equation 5 the array ⁇ a (i) ⁇ is replaced with the intermediate code ⁇ f (j) ⁇ to obtain Equation 6.
  • the left side is the output ⁇ c (i) ⁇ of the code generator 602.
  • i is a natural number from 1 to N. Equation 6
  • FIG. 73 can be realized by installing a fuse in each row of FIG. 72.
  • the blown fuse is a black row and the uncut row is white, this random white / black horizontal pattern is replaced by a columnwise uncut / blown fuse pattern. Also, whether the fuse is blown or not is determined by some property of each corresponding row.
  • the method of determining whether a fuse is uncut / blown is not just counting the number of black and white in each row. For some reason, if an unrecoverable error occurs in one row, the fuse in the corresponding row may be blown, otherwise it may be unblown. It is valid as long as the appearance of this irreparable error occurs physically randomly. Further, in the case of this example, the ratio of cutting and non-cutting may greatly deviate from about 50%.
  • the line where the unrecoverable error occurs is replaced with another line called the redundancy line, and it is not used as a semiconductor device.
  • the other lines are used as part of the semiconductor device of the product.
  • This is a commonly used technique to prevent defective products from being shipped, but here we note that the combination of rows that are replaced by redundancy rows and rows that are not replaced is physically messy. In other words, by using the part (redundancy line area) that was replaced to prevent defective products from being shipped, it is possible to output physical clutter without providing a new area for the chip authentication device 600. It becomes.
  • the number of lines N must be sufficiently large.
  • L is an integer sufficiently larger than 1 and sufficiently smaller than N.
  • a semiconductor product that meets the above-mentioned requirements is, for example, a dynamic random access memory (DRAM).
  • the above-mentioned authentication element 977 is a DRAM memory element.
  • the number of lines (number of bits related to redundancy) prepared to replace the line in which an unrecoverable error occurs for some reason is For example, it will be about 153,000.
  • the bit line direction provided for redundancy is applied to the row direction in FIG. 72, but on the contrary, it is also possible to apply a word line.
  • the number of redundancy cases is, as a simple estimate, equal to the permutation of choosing 153,000 out of 6.55 million. It is calculated to be about 10 to the power of 1042102, which is 5.6 times. This is a cosmicly large number and can be considered realistically almost infinite.
  • the total number of redundancy lines is, for example, 3,044 for 4.4 million word lines.
  • the number of permutations that choose from 4.4 million to 3,044 is calculated to be about 10 to the 20222th power, which is 1.6 times more. It's much less than the number for bit-line redundancy, but it's still a cosmic number for ward-line redundancy.
  • the redundancy memory installed in advance for product management of general-purpose DRAM without providing an area for the chip authentication device 600 again, realistically infinite physical clutter can be obtained. It is possible to put it in.
  • the general-purpose DRAM product is provided with a fuse memory as a redundancy memory in advance for product management, and the number of bit lines and the number of redundancy lines are sufficiently large, and the obtained physical clutter is sufficient. Therefore, although it is possible to use the redundancy of all areas in the chip as the authentication device 600, it is also possible to use only a part of the redundancy as the chip authentication device 600. In this case, the number of lines N is smaller than the total number of bit lines in the chip or the total number of word lines.
  • the chip 10 having the chip authentication function according to the present invention can be equipped with at least the chip authentication device 600 and the input / output control device 800, as shown in FIG. 78, for example.
  • the input / output control device 800 can include an input / output control circuit, a word line control circuit, a bit line control circuit, a data input / output buffer, and the like.
  • the chip 400 with a chip authentication function is, for example, as shown in FIG. 79, at least the chip authentication device 600, the control device 880 for the authentication device, the input / output control device 810, the scramble device 890, and the middle. It can be configured with a code buffer 900.
  • the input / output control device 810 can include an input / output control circuit and a data input / output buffer, but does not include a word line control circuit and a bit line control circuit.
  • the scramble device 890 includes the scramble device 604 of FIG. 27, and the intermediate code generated by the scramble device 604 is stored in the intermediate code buffer 900 independent of the input / output control device 810, even if there is an external request.
  • the control device 880 for an authentication device can include a word line control circuit, a bit line control circuit, and a data buffer. Further, the internal recording unit for recording the address corresponding to the mode “X” described with reference to FIG. 35 can also be included. A similar recording unit can be included in the scrambler 890, if necessary.
  • the input / output control device 810 receives the input codes ⁇ a (i) ⁇ and ⁇ b (j) ⁇ . Is passed to the scrambler 890.
  • the intermediate code ⁇ f (i, j) ⁇ generated based on the equation 2 is temporarily stored in the intermediate code buffer 900 and handed over to the authentication device control device 880.
  • the control device 880 for the authentication device makes full use of the internal word line control circuit, bit line control circuit, data buffer, etc., and has a random number code ⁇ d (i, j) ⁇ acquired from the chip authentication device 600 and an intermediate code ⁇ d (i, j) ⁇ .
  • the output code ⁇ c (i, j) ⁇ is generated based on Equation 3 according to f (i, j) ⁇ and temporarily stored in the internal data buffer.
  • the input / output control device 810 outputs the output code ⁇ c (i, j) ⁇ to the outside of the chip 400 through the external input / output 50. In this way, the intermediate output ⁇ f (i, j) ⁇ can be confined in the chip.
  • the input / output control device 810 passes the input code ⁇ a (i) ⁇ to the scramble device 890.
  • the intermediate code ⁇ f (i) ⁇ generated based on the equation 5 is temporarily stored in the intermediate code buffer 900 and handed over to the authentication device control device 880.
  • the control device 880 for the authentication device makes full use of the internal word line control circuit, bit line control circuit, data buffer, etc., and has a random number code ⁇ d (i) ⁇ and an intermediate code ⁇ f (i) obtained from the chip authentication device 600. ) ⁇
  • the output code ⁇ c (i) ⁇ is generated based on Equation 6 and temporarily stored in the internal data buffer.
  • the input / output control device 810 outputs the output code ⁇ c (i) ⁇ to the outside of the chip 400 through the external input / output 50. In this way, the intermediate output ⁇ f (i) ⁇ can be confined in the chip.
  • the authentication element 977 is generally used as a MOS transistor, a DRAM cell, a non-volatile memory cell transistor, a phase change memory cell, a resistance change memory cell, a magnetic change memory cell, a PN junction, a Schottky junction, a capacitor, an insulating film, a resistor, and the like. Any device or its component that can be manufactured at the same time in a semiconductor manufacturing process may be used. Alternatively, a specially designed microstructure can be used.
  • the destruction method may apply electrical stress to the selected element. At this time, it is possible to select all the addresses on the chip, or it is possible to select only a part of the addresses and apply the destruction pulse as needed.
  • the ratios of “1” and “0” in FIG. 22 are substantially the same, the randomness of the horizontal pattern in FIG. 73 tends to increase. Therefore, when the element area that can be used for the chip authentication device is limited for some reason, or when creating a chip authentication device for a small-capacity product, the ratio of "1" and “0” in FIG. 22 is set as much as possible. Must be equal. For example, as shown in FIG. 36 or FIG. 37, there is a method of applying a destruction pulse step by step to adjust the ratio of “1” and “0”. First, the first pulse voltage is applied, and then the inspection is performed. At this time, if the number of non-destructive elements is large, the second pulse voltage is applied.
  • a third pulse voltage is further applied for inspection.
  • the destruction pulse stepwise by applying the destruction pulse stepwise, the number of non-destructive elements is gradually reduced and the number of destruction elements is gradually increased.
  • the application of the destruction pulse is stopped.
  • the pulse voltage is applied to all the elements of the chip authentication device and subsequently inspected. At this time, if the number of non-destructive elements is large, only the non-destructive elements are selected and the pulse voltage is applied again. If the number of non-destructive elements is still large after the inspection, only the non-destructive elements are selected again and the pulse voltage is applied. In this case, it is desirable that only the non-destructive element repeats the application of the fracture pulse.
  • the non-destructive element is gradually destroyed regardless of whether the destruction pulse is increased stepwise, and the ratio of "0" and "1" approaches. When the difference between the two is within the specified range, the application of the destruction pulse is stopped.
  • the number of chips constituting an electronic device is not limited to one. It is considered that the first, second, ..., And fifth peripheral nodes constituting an example of the network of FIG. 13 are also composed of at least one or more chips.
  • the information device 140 which is a peripheral node, is composed of a first chip 110, a second chip 120, ..., And an Nth chip 130. Of these, not all chips need to be equipped with the chip authentication device of the present application. In the example of FIG. 7, only the first chip 110 is equipped with the chip authentication device 60.
  • the chip authentication device of the present application can realize solid-state recognition of a semiconductor chip, which is a physical reality, by making full use of various methods.
  • a semiconductor chip is a heart component of an electronic device or an information device, and can be considered as a minimum constituent unit. Therefore, it is considered that physical authentication of electronic devices and information devices can be realized by using chip authentication satisfying the above conditions (1)-(7).
  • FIG. 89 shows an example of a method in which the chip authentication extraction device inputs the input authentication code Q to the chip authentication device and receives the output authentication code R.
  • the chip authentication device is included in the first to third peripheral nodes (410, 420, 430) in FIG.
  • the chip authentication extraction device is included in the core node 400 of FIG.
  • the chip authentication device includes a cell array composed of a plurality of elements (cells).
  • the cells are PN junctions as shown in FIGS. 39, 55 and 56, or shotkey junctions as shown in FIGS. 40, 57 and 58, or FIGS. 41-43, 61. -66, a transistor as shown in FIGS. 92 and 93, or a DRAM cell consisting of a transistor and a capacitor as shown in FIGS. 42, 63 and 64, or as shown in FIGS. 43, 65 and 66.
  • FIG. 93 Is an MRAM cell or STT-MRAM cell composed of a transistor and a magnetic resistor, or is a non-volatile memory cell with a charge storage layer as shown in FIGS. 94, 98 and 99, or is a non-volatile memory cell with a charge storage layer, or FIGS. 33, 53 and FIG. It is a transistor as shown in 54, or a variable resistor as shown in FIGS. 99, 100 and 101.
  • the chip authentication device Since the chip authentication device reads data from the cell array, it has a whole bit line group consisting of a plurality of bit lines and a whole word line group consisting of a plurality of word lines.
  • the entire bit line group is further divided into a plurality of bit line groups. However, the number of this bit line group is smaller than the number of bit lines in the entire bit line group.
  • the whole word line group is further divided into a plurality of word line groups. However, the number of this word line group is less than the number of words in the whole word line group.
  • One small block is formed on the cell array from one bit line group and one word line group. Alternatively, one small block is formed from one bit line group and all word line groups. Alternatively, one small block is formed from one word line group and all bit line groups. In any case, the cell array is thus divided into a plurality of small blocks. However, the number of small blocks (A) is smaller than the total number of cells constituting the cell array. Further, each small block contains a predetermined number (B) of cells, and the product of A and B is equal to the number of all cells constituting the cell array.
  • the plurality of small blocks are further divided into groups of first and second small blocks.
  • One is a redundant small block group and the other is a normal small block group. All the small blocks belonging to the redundant small block group are redundant small blocks. All the small blocks belonging to the normal small block group are normal small blocks.
  • the cell array is composed of a plurality of redundant small blocks and a plurality of normal small blocks. Further, the cell array is composed of a plurality of small blocks.
  • the normal small block is called a bad small block. If a bad small block is found, the bad small block can be replaced with one redundant small block. Specifically, when the bit line and the word line related to the first cell included in one defective small block are selected at the same time, the bit line related to the first cell is included in the second redundant small block. The bit line for the cell is replaced, and the word line for the first cell is replaced with the word line for the second cell.
  • the bit line related to the third cell included in the defective small block containing the first cell is selected at the same time, the bit line related to the third cell is converted into a redundant small block containing the second cell.
  • the bit line relating to the fourth cell included is replaced, and the word line relating to the third cell is replaced with the word line relating to the fourth cell.
  • the defective small block is converted into the redundant small block so that the fourth cell is different from the second cell. Must be replaced.
  • the defective bit is a general term for bits showing a characteristic deviating from a predetermined characteristic by a certain amount or more regardless of whether the bit is artificially generated or non-artificially generated.
  • the distribution of defective bits on the cell array can be regarded as physical randomness.
  • This physical disorder can be read out from the cell array as a physical random number by a predetermined method. The read physical random numbers are processed according to a predetermined standard as necessary, and then output from the chip including the cell array. In this way, a physical random number unique to the chip can be extracted from the chip.
  • the distribution of the defective bits be as stable as possible even if the external environment in which the chip is placed changes. Further, it is desirable that the distribution of the defective bits is as invariant as possible with the passage of time.
  • the distribution of the defective bits may be measured once and stored in the internal memory of the chip or the like. However, it is a condition that this internal memory is as stable as possible with respect to changes in the external environment and is as invariant as possible with the passage of time.
  • An example of such an internal memory is a fuse memory. The measurement can be performed during the pre-shipment test of the chip.
  • the plurality of small blocks that is, the plurality of normal small blocks and the plurality of redundant small blocks are distributed on the cell array according to the block addresses assigned by a predetermined method.
  • the cell array becomes a block array.
  • the block address on this block array corresponds to the address on the block array of the small block.
  • the fact that the distribution of bad bits on the cell array is physically random means that the combination of selecting a plurality of bad small blocks from the set of all normal small blocks is physically random.
  • the fact that the distribution of defective bits on the cell array is physically messy means that the combination of selecting a plurality of redundant small blocks from the set of all redundant small blocks and replacing them with the plurality of defective small blocks is physically messy. Is that.
  • the combination of selecting a plurality of defective small blocks from the set of all normal small blocks is the physical disorder peculiar to the chip (or semiconductor chip) including the cell array, that is, the physical random number peculiar to the chip (or semiconductor chip). It turns out that it is a unique random number).
  • the combination of selecting a plurality of redundant small blocks from the set of all redundant small blocks and replacing the plurality of defective small blocks is the physical clutter peculiar to the chip (or semiconductor chip) including the cell array, that is, peculiar to the chip. It can be seen that it is a physical random number (unique random number). Which one to choose depends on the difference in counting method, and it is not necessary to distinguish it as a substantial difference. There are several possible counting methods other than the counting methods introduced here, but it is not necessary to distinguish them as substantial differences.
  • extracting a physical random number unique to the chip from the chip containing the cell array by some method is called extraction.
  • a chip has an extraction circuit for extracting the unique physical random number.
  • the chip authentication device has the extraction circuit.
  • the chip authentication device further includes an output generation circuit that synthesizes the output authentication code from the input authentication code.
  • the output generation circuit is, for example, an embedded circuit or firmware.
  • the physical random number extracted in this way is, for example, the physical random number (or the eigenphysical random number) ⁇ d (i, j) ⁇ in FIG. 26. Alternatively, as another example, it is the physical random number ⁇ d (i) ⁇ in FIG.
  • the chip authentication device includes, for example, the first chip authentication device 21 or the second chip authentication device of FIG. Alternatively, it includes the chip authentication device 60 of FIG. 16-18.
  • the chip authentication extraction device is, for example, the backbone node 400 of FIG. 10, the backbone node 1400 of FIG. 11-14, the backbone node 2400 of FIG. 13-14, and the backbone node 3400 of FIG.
  • chip authentication is as stable as possible even if the external environment in which the chip is placed changes. Further, it is desirable that the distribution of the defective small blocks is as invariant as possible with the passage of time. It is self-evident that this is true unless the defective bit is irreversibly generated on the cell array before assembly and further after assembly of the chip.
  • the distribution of the defective small blocks may be measured once and stored in the internal memory of the chip or the like. However, it is a condition that this internal memory is as stable as possible with respect to changes in the external environment and is as invariant as possible with the passage of time.
  • An example of such an internal memory is a fuse memory. The measurement can be performed during the pre-shipment test of the chip.
  • the chip authentication device includes a cell array, an extraction circuit, and an output generation circuit.
  • the cell array is composed of a plurality of authentication elements.
  • the authentication element is, for example, FIG. 33, FIG. 38-44, FIG. 46-49, FIG. 51-68, FIG. 92-101, and the like.
  • the physical random number extraction special test code T and the input authentication code Q are input from the chip authentication extraction device to the chip authentication device.
  • the physical random number extraction special test code T is passed to the extraction circuit in order to read (extract) the physical random numbers generated on the cell array.
  • the physical random number extraction special test code T can include an extraction mode for designating an extraction area on the cell array, an operation mode for extraction, and the like as a designation code.
  • the extraction region is the normal small block group.
  • the extraction area is the redundant small block group.
  • it is a predetermined extraction area designated separately.
  • the extraction circuit extracts the physical random number and inputs the extraction result Ext to the output generation circuit.
  • the extraction result Ext outputs a physical random number unique to the chip authentication device according to the designated code. More specifically, the physical random number is read from the cell array included in the chip authentication device. Therefore, the extraction result Ext is a designated physical random number code.
  • the output generation circuit creates an output authentication code R from the input authentication code Q and the extraction result Ext according to the function GEN1 of the equation 7, and outputs the output authentication code R to the chip authentication extraction device.
  • the chip authentication extraction device authenticates the chip authentication device from the physical random number extraction special test code T, the designation code, the input authentication code Q, and the output authentication code R.
  • R GEN1 (Q, Ext) Equation 7
  • the output generation circuit may or may not be programmatically changeable.
  • the function GEN1 is, for example, a program recorded in a rewritable non-volatile memory. Alternatively, it is an embedded circuit such as FPGA.
  • the function GEN1 is, for example, a program recorded in ROM or the like. Alternatively, it is an embedded circuit whose gate connection cannot be changed.
  • the chip authentication device includes, for example, the chip authentication device shown in FIGS. 15-18. Also, a plurality of different chip authentication devices are included in the peripheral nodes of FIGS. 10-14, respectively.
  • the chip authentication extraction device is included in the backbone node 400 of FIG. 10 as an example.
  • the input of FIG. 10 includes, as an example, the physical random number extraction special test code T, the designated code, and the input code C.
  • the authentication of FIG. 10 includes the output authentication code R as an example.
  • the common passcode 1410 in FIG. 11 includes, as an example, the physical random number extraction special test code T, the designation code, and the input code C.
  • the first to third authentications (4101-4301) in FIG. 12 include the output authentication code R, respectively, as an example.
  • the extraction result Ext included when synthesizing the output authentication code R is unique to the chip, the first to third peripheral nodes (410-430) including different chips are output.
  • the first to third certifications (4101-4301) are different from each other.
  • the input signal Q in FIG. 15 includes, for example, the physical random number extraction special test code T, the designated code, and the input code.
  • the output signals A and B in FIG. 15 are, for example, the output authentication code R.
  • the extraction result Ext is different in the first and second chip authentication devices (21, 22), which are different from each other. Therefore, the output signals A and B are different and satisfy the above (output independence).
  • the input signals C and D in FIG. 16 include the physical random number extraction special test code T, the designated code, and the input code, respectively, as an example.
  • the output signals A and B in FIG. 16 are, for example, the output authentication code R.
  • the input signals C and D include different input codes
  • the output signals A and B are different.
  • the output signals A and B are different if different designation codes are used.
  • the output signals A and B are different. Therefore, it is self-evident that the above (input independence) is satisfied.
  • the extraction result Ext is extracted from the distribution of defective bits on the cell array.
  • the distribution of the bad bits can be displayed in binary by any of the above methods or other equivalent methods.
  • the result can be recognized as a pattern as shown in FIGS. 22 and 73. It is known that the data once digitized in this way satisfies Shannon's condition every time the digital arithmetic processing including the CMOS inverter circuit that operates normally is repeated. Therefore, it is self-evident that the above (input / output reliability) is satisfied.
  • the number of output patterns for one input, or the number in the case of physical randomness, is determined by the number of cases in which bad small blocks occur from the normal small block group.
  • the number of regular small blocks included in the regular small block group is sufficiently large, and the occurrence rate of defective bits is Six Sigma (occurrence rate 3.4E-6 or less). Even if it is satisfied, the number of patterns is sufficiently large. Therefore, it is self-evident that the above (realistic infinity of output) is satisfied.
  • the output authentication code R is an electronic signal unique to the chip authentication device. Therefore, it is self-evident that the above (chip specificity) is satisfied.
  • the chip authentication device includes a cell array, an extraction circuit, and an output generation circuit.
  • the cell array is composed of a plurality of authentication elements.
  • the authentication element is, for example, FIG. 33, FIG. 38-44, FIG. 46-49, FIG. 51-68, FIG. 92-101, and the like.
  • the physical random number extraction special test code T is input from the chip authentication extraction device to the chip authentication device.
  • the physical random number extraction special test code T is passed to the extraction circuit in order to read (extract) the physical random numbers generated on the cell array.
  • the physical random number extraction special test code T can include an extraction mode for designating an extraction area on the cell array, an operation mode for extraction, and the like as a designation code.
  • the extraction region is the normal small block group.
  • the extraction area is the redundant small block group. Alternatively, it is a predetermined extraction area designated separately.
  • the input authentication code Q is omitted from FIG. 89. Therefore, the function GEN1 used in Equation 7 is modified like GEN2 in Equation 8.
  • R GEN2 (Ext) Equation 8
  • the extraction circuit extracts the physical random number and inputs the extraction result Ext to the output generation circuit.
  • the extraction result Ext outputs a physical random number unique to the chip authentication device according to a designated code. More specifically, the physical random number is read from the cell array included in the chip authentication device.
  • the cell array can be seen in FIGS. 23 and 69 as an example.
  • the authentication elements constituting the cell array are found in FIGS. 33, 38-44, 46-49, 51-68, 92-101 and the like. Therefore, the extraction result Ext is a designated physical random number code.
  • the output generation circuit creates an output authentication code R from the extraction result Ext according to the function GEN2 of the equation 8 and outputs the output authentication code R to the chip authentication extraction device.
  • the chip authentication extraction device authenticates the chip authentication device from the physical random number extraction special test code T, the designation code, and the output authentication code R.
  • the chip authentication extraction device authenticates the chip authentication device from the physical random number extraction special test code T, the designation code, and the output authentication code R.
  • the output generation circuit may or may not be programmatically changeable.
  • the function GEN2 is, for example, a program recorded in a rewritable non-volatile memory. Alternatively, it is an embedded circuit such as FPGA.
  • the function GEN2 is, for example, a program recorded in ROM or the like. Alternatively, it is an embedded circuit whose gate connection cannot be changed.
  • the chip authentication device includes, for example, the chip authentication device shown in FIGS. 15-18.
  • the chip authentication device includes, for example, the cell array, the extraction circuit, and the output generation circuit.
  • a plurality of different chip authentication devices are included in the peripheral nodes of FIGS. 10-14, respectively.
  • the chip authentication extraction device is included in the backbone node 400 of FIG. 10 as an example.
  • the input of FIG. 10 includes the physical random number extraction special test code T and the designated code as an example.
  • the authentication of FIG. 10 includes the output authentication code R as an example.
  • the common passcode 1410 in FIG. 11 includes the physical random number extraction special test code T and the designated code as an example.
  • the first to third authentications (4101-4301) in FIG. 12 include the output authentication code R, respectively, as an example.
  • the extraction result Ext included when synthesizing the output authentication code R is unique to the chip, the first to third peripheral nodes (410-430) including different chips are output.
  • the first to third certifications (4101-4301) are different from each other.
  • the input signal Q in FIG. 15 includes the physical random number extraction special test code T and the designated code as an example.
  • the output signals A and B in FIG. 15 are, for example, the output authentication code R.
  • the extraction result Ext is different in the first and second chip authentication devices (21, 22), which are different from each other. Therefore, the output signals A and B are different and satisfy the above (output independence).
  • the input signals C and D in FIG. 16 include the physical random number extraction special test code T and the designated code, respectively, as an example.
  • the output signals A and B in FIG. 16 are, for example, the output authentication code R.
  • the input signals C and D include the designated codes that are different, the output signals A and B are different.
  • the output signals A and B are different. Therefore, it is self-evident that the above (input independence) is satisfied.
  • the extraction result Ext is extracted from the distribution of defective bits on the cell array.
  • the distribution of the bad bits can be displayed in binary by any of the above methods or other equivalent methods.
  • the result can be recognized as a pattern as shown in FIGS. 22 and 73. It is known that the data once digitized in this way satisfies Shannon's condition every time the digital arithmetic processing consisting of a CMOS inverter circuit that operates normally is repeated. Therefore, the above (input / output reliability) is satisfied. It is self-evident to meet.
  • the number of output patterns for one input is determined by the number of bad small blocks generated from the normal small block group.
  • the number of regular small blocks included in the regular small block group is sufficiently large, and the occurrence rate of defective bits is Six Sigma (occurrence rate 3.4E-6 or less). Even if the above is satisfied, the number of patterns is sufficiently large. Therefore, it is self-evident that the above (realistic infinity of output) is satisfied. The following will be specifically described with an example.
  • the output authentication code R is an electronic signal unique to the chip authentication device. Therefore, it is self-evident that the above (chip specificity) is satisfied.
  • the chip authentication device includes a cell array, an extraction circuit, and an output generation circuit.
  • the cell array is composed of a plurality of authentication elements.
  • the authentication element is, for example, FIG. 33, FIG. 38-44, FIG. 46-49, FIG. 51-68, FIG. 92-101, and the like.
  • the physical random number extraction special test code T is input from the chip authentication extraction device to the chip authentication device.
  • the physical random number extraction special test code T is passed to the extraction circuit in order to read (extract) the physical random numbers generated on the cell array.
  • the physical random number extraction special test code T can include an extraction mode for designating an extraction area on the cell array, an operation mode for extraction, and the like as a designation code.
  • the extraction region is the normal small block group.
  • the extraction area is the redundant small block group. Alternatively, it is a predetermined extraction area designated separately.
  • the output generation circuit is further omitted from FIG. 90. Therefore, the function GEN1 and the function GEN2 used in the equations 7 and 8 are omitted and changed as in the equation 9. This is a dummy transformation that doesn't actually do anything.
  • the description common to (the first embodiment) will be omitted.
  • the extraction circuit extracts the physical random number, and the extraction result Ext is used as the output authentication code R as it is.
  • the extraction result Ext outputs a physical random number unique to the chip authentication device according to the designated code. More specifically, the physical random number is read from the cell array included in the chip authentication device. Therefore, the extraction result Ext is a designated physical random number code.
  • the chip authentication extraction device authenticates the chip authentication device from the physical random number extraction special test code T, the designation code, and the output authentication code R.
  • the chip authentication device includes, for example, the chip authentication device shown in FIGS. 15-18.
  • the chip authentication device includes, for example, the cell array, the extraction circuit, and the output generation circuit.
  • a plurality of different chip authentication devices are included in the peripheral nodes of FIGS. 10-14, respectively.
  • the chip authentication extraction device is included in the backbone node 400 of FIG. 10 as an example.
  • the input of FIG. 10 includes the physical random number extraction special test code T and the designated code as an example.
  • the authentication in FIG. 10 is, for example, the output authentication code R.
  • the authentication of FIG. 10 includes the output authentication code R as an example.
  • the common passcode 1410 in FIG. 11 includes the physical random number extraction special test code T and the designated code as an example.
  • the first to third authentications (4101-4301) in FIG. 12 include the output authentication code R, respectively, as an example.
  • the extraction result Ext included when synthesizing the output authentication code R is unique to the chip, the first to third peripheral nodes (410-430) including different chips are output.
  • the first to third certifications (4101-4301) are different from each other.
  • the input signal Q in FIG. 15 includes the physical random number extraction special test code T and the designated code as an example.
  • the output signals A and B in FIG. 15 are, for example, the output authentication code R.
  • the extraction result Ext is different in the first and second chip authentication devices (21, 22), which are different from each other. Therefore, the output signals A and B are different and satisfy the above (output independence).
  • the input signals C and D in FIG. 16 include the physical random number extraction special test code T and the designated code, respectively, as an example.
  • the output signals A and B in FIG. 16 are, for example, the output authentication code R.
  • the designated codes having different input signals C and D are used, the output signals A and B are different.
  • the output signals A and B are different. Therefore, it is self-evident that (input independence) is satisfied.
  • the extraction result Ext is extracted from the distribution of defective bits on the cell array.
  • the distribution of the bad bits can be displayed in binary by any of the above methods or other equivalent methods.
  • the result can be recognized as a pattern as shown in FIGS. 22 and 73. It is known that the data once digitized in this way satisfies Shannon's condition every time the digital arithmetic processing consisting of a CMOS inverter circuit that operates normally is repeated. Therefore, the above (input / output reliability) is satisfied. It is self-evident to meet.
  • the number of output patterns for one input is determined by the number of bad small blocks generated from the normal small block group.
  • the number of regular small blocks included in the regular small block group is sufficiently large, and the occurrence rate of defective bits is Six Sigma (occurrence rate 3.4E-6 or less). ) Is satisfied, the number of patterns is sufficiently large. Therefore, it is self-evident that the above (realistic infinity of output) is satisfied. The following will be specifically described with an example.
  • the output authentication code R is an electronic signal unique to the chip authentication device. Therefore, it is self-evident that the above (chip specificity) is satisfied.
  • the physical chip authentication (P-CID) of the present application is generated by the chip authentication device 60/600 shown in FIGS. 7, 8, 15-18. Specifically, an input code is input from the outside to the chip constituting the chip authentication device, a physical random number is extracted from the cell array inside the chip, and the P-CID is generated from the input code and the physical random number. At this time, (1) (output independence), (2) (input independence), (3) (output infinity), (4) (input / output reliability), (5) ( Realistic infinity of output), (6) (chip uniqueness), (7) (physically non-rewritable) are all satisfied.
  • the input code that is input to the peripheral nodes from the outside to generate P-CID is, for example, a passcode, PIN code, for launching some application that runs on an information terminal connected to the network.
  • Characterized by digital code information such as barcodes and 2D codes, fingerprint information, vein information, retinal information, DNA information, other biometric information that identifies the legitimate user of the app, and individuals extracted from the voice and images of the legitimate user. It can be generated from voice / image information that can be created, physical information that can characterize an individual extracted from the physical characteristics of a regular user, and other personal information that can characterize a regular user.
  • the input code is digital code information such as passcode, PIN code, barcode, two-dimensional code, and fingerprint information that some application operating on an information terminal connected to the network requests the user as needed.
  • digital code information such as passcode, PIN code, barcode, two-dimensional code, and fingerprint information that some application operating on an information terminal connected to the network requests the user as needed.
  • Venous information, retinal information, DNA information, other biological information that identifies the legitimate user of the app voice / image information that can characterize an individual extracted from the voice or image of the legitimate user, physical characteristics of the legitimate user, etc. It can be generated from the extracted physical information that can characterize an individual, and other personal information that can characterize a legitimate user.
  • the input code is a digital code such as a passcode, a PIN code, a barcode, or a two-dimensional code for activating an information terminal in which some application operating on an information terminal connected to a network is installed.
  • Information fingerprint information, vein information, retinal information, DNA information, other biological information that identifies the legitimate user of the app, voice / image information that can characterize an individual extracted from the legitimate user's voice or image, and the legitimate user's body. It can be generated from physical information that can characterize an individual extracted from physical characteristics, and other personal information that can characterize a legitimate user.
  • the input code is a physical random number extraction special test code for acquiring a physical random number generated in a state peculiar to the semiconductor chip constituting the chip authentication device by some physical process.
  • the physical random number extraction special test code is a code that specifies at least an access mode, an address, and an operation mode for the data on the cell array inside the chip.
  • the input code may be composed of a combination of the plurality of input codes described above.
  • the input code is the input authentication code Q in FIG.
  • the input code can be included in the input authentication code Q of FIG.
  • the input code can be included in the physical random number extraction special test code T of FIG.
  • the input code can be included in the designated code (first embodiment).
  • the input code can be included in the physical random number extraction special test code T of FIG. 90 or FIG. Alternatively, it can be included in the (second embodiment) or (third embodiment) designation code. (Fifth Embodiment)
  • the physical chip authentication (P-CID) of the present application is generated by the chip authentication device 60/600 shown in FIGS. 7, 8, 15-18. Specifically, an input code is input from the outside to the chip constituting the chip authentication device, a physical random number is extracted from the cell array inside the chip, and the P-CID is generated from the input code and the physical random number. At this time, (1) (output independence), (2) (input independence), (3) (output infinity), (4) (input / output reliability), (5) ( Realistic infinity of output), (6) (chip uniqueness), (7) (physically non-rewritable) are all satisfied.
  • the chip authentication device 3040 (indicated as P-CID in the figure) of the present application is mounted on a main storage device (DRAM, etc.) that works jointly with a CPU or the like. do.
  • the P-CID of the present application is the authentication of the chip linked to this CPU. In this way, it is possible to replace the MAC address recorded on the Ethernet card.
  • P-CID is generally not always Ethernet-style authentication.
  • the P-CID generated by the peripheral nodes as described above is generated according to the input code from the core node.
  • the chip authentication device it is desirable for the chip authentication device to generate a P-CID according to the input code preset in the operating system of the peripheral node.
  • the input code input to the chip authentication device can be related to the passcode input when the operating system is started or the passcode.
  • the arithmetic processing chip 3020 for the media access controller (MAC) of the Ethernet card is also replaced with the P-CID control device 3030.
  • MAC media access controller
  • the P-CID 3070 be generated by the chip authentication device according to the present application and replace the lower 24 bits of the MAC address (serial number 3072 in FIG. 81). That is, the vendor code 3071 uses the vendor code of the MAC address that has already been widely used as it is. Thus, as shown in FIG. 83, the P-CID address 3073 is generated.
  • the receiving node side can determine in advance whether the received frame adopts the MAC address or the P-CID of the present application by examining the instruction bit described later. It was
  • the number of bits of P-CID 3070 is determined by the number of authentication elements 977 constituting the chip authentication device.
  • the number of bits of P-CID is determined by the product of the number of element rows L and the number of element columns M. Therefore, the number of bits of the P-CID address is the product of L and M plus 24.
  • the number of bits of P-CID is determined by the square of N. Therefore, the number of bits of the P-CID address is the square of N plus 24.
  • the number of bits of P-CID is N.
  • the number of bits of P-CID is N.
  • the number of bits of the P-CID is determined by the number of bits of the memory area for the redundancy. That is, the required number of bits is immediately found from the amount of information calculated using the permutation.
  • the number of bits of the P-CID may be smaller than in the ideal case due to the mixing of the soft destruction mode “X” as shown in FIG. 35. If the upper limit of the probability that such a destruction mode is mixed is known in advance by prior inspection or some other method, the number of bits converted from this upper limit is added to the number of bits for the margin, and P. -It is desirable to redefine the number of bits in the CID. In this way, the number of bits of P-CID is determined by the number of grid points of the white and black checkered pattern in FIG. 22.
  • the number of bits of the P-CID may be more than 24 bits of the serial number, or at least better. Alternatively, they may be the same. If it is low, it is desirable to limit the use of P-CID to closed physical networks. For example, it can be used in place of a serial number to manage a factory production line. As described above, the number of bits of P-CID is not necessarily determined to be a predetermined number of bits. Therefore, it is desirable to attach a few bits at the end of the preamble to indicate the number of bits in the P-CID.
  • the bit (instruction bit 3074) for indicating the number of bits of the P-CID may be before (upper) or after (lower) the vendor code 3071.
  • FIG. 84 shows an example in which the instruction bit 3074 is attached before (upper) the vendor code 3071.
  • FIG. 85 is an example in which the instruction bit 3074 is attached to the back (lower) of the vendor code 3071.
  • FIGS. 84 and 85 both show the instruction bit 3074 having a length of 6 bits, the length of the instruction bit 3074 is generally not limited to 6 bits. In any case, checking for the presence of the indicator bit will tell you if the frame is in P-CID format.
  • the number of addresses that can be handled by the P-CID address becomes variable. Therefore, any administrator can use a short P-CID address when constructing a closed physical network and allocate the saved number of bits to the data area of the protocol data unit. In this way, the amount of information that can be carried by one protocol data unit increases. This means that the amount of data that can be carried in one data communication is large. Alternatively, even if any vendor ships a limited number of products, it is possible to use a short P-CID address and allocate the saved number of bits to the data area of the protocol data unit. .. It was
  • the central processing unit CPU
  • the main memory for example, DRAM
  • the operating system detects the Ethernet card or the chip authentication device 3040
  • the operating system reads the physical chip authentication (P-CID3070) from the chip authentication device 3040, and the P-CID control device 3030 included in the Ethernet card. Write to.
  • the P-CID control device 3030 transmits and receives a frame with a P-CID address as shown in FIGS. 83, 84, and 85 at the data link layer via the signal transmission path 1000.
  • the physical chip authentication (P-CID) of the present application is generated by the chip authentication device 60/600 shown in FIGS. 7, 8, 15-18. Specifically, an input code is input from the outside to the chip constituting the chip authentication device, a physical random number is extracted from the cell array inside the chip, and the P-CID is generated from the input code and the physical random number. At this time, (1) (output independence), (2) (input independence), (3) (output infinity), (4) (input / output reliability), (5) ( Realistic infinity of output), (6) (chip uniqueness), (7) (physically non-rewritable) are all satisfied.
  • FIG. 86 is another example of the embodiment in which the chip authentication device of the present application is adopted as the physical chip authentication (P-CID).
  • the chip authentication device 3040 (indicated as P-CID in the figure) of the present application is mounted on the central processing unit (CPU). In this case, it is no longer necessary to record the MAC address on the Ethernet card, and the non-volatile memory chip may be removed.
  • the central processing unit (CPU) mixed loading method it is desirable that the authentication element for constituting the chip authentication device of the present application conforms to the standard CMOS process. For example, a method using the field effect transistor 983 of FIG. 41 as an authentication element is desirable.
  • the PN junction 986 in FIG. 39, the Schottky junction 987 in FIG. 40, or an example in which the wiring pattern is applied as shown in FIGS. 47 and 48 is also possible.
  • the authentication generated by the chip authentication device 3040 is regarded as physical chip authentication (P-CID) in comparison with the MAC address.
  • P-CID is generally not always Ethernet-style authentication.
  • it is desirable that the P-CID generated by the peripheral nodes as described above is generated according to the input code from the core node.
  • the input code input to the chip authentication device can be related to the passcode input when the operating system is started or the passcode.
  • the arithmetic processing chip 3020 for the media access controller (MAC) of the Ethernet card is also replaced with the P-CID control device 3030.
  • the central processing unit CPU
  • the main memory for example, DRAM
  • the operating system detects the Ethernet card or the chip authentication device 3040
  • the operating system reads the physical chip authentication (P-CID3070) from the chip authentication device 3040, and the P-CID control device 3030 included in the Ethernet card. Write to.
  • the P-CID control device 3030 transmits and receives a frame with a P-CID address as shown in FIGS. 83, 84, and 85 at the data link layer via the signal transmission path 1000.
  • the arithmetic processing chip 3020 for the media access controller (MAC) is replaced with the P-CID control device 3030.
  • the Ethernet format needs to be changed accordingly. Since such abrupt format changes can be confusing, it is best to use a physical chip authentication (P-CID) to MAC address converter, ie the P-CID / MAC converter 3050. It will be necessary in the transition period. In order to meet such transient demand, a typical example is given below.
  • FIG. 87 is another example of the embodiment in which the chip authentication device of the present application is adopted as the physical chip authentication (P-CID).
  • the chip authentication device 3040 (indicated as P-CID in the figure) of the present application is mounted in the main storage device.
  • the chip authentication device 3040 generates physical chip authentication (P-CID).
  • the central processing unit (CPU) has the function of the P-CID / MAC conversion device 3050 that controls the conversion from the P-CID address 3073 generated by using this P-CID to the MAC address. In this case, it is no longer necessary to record the MAC address on the Ethernet card, and the non-volatile memory chip may be removed.
  • the main storage device is a DRAM
  • a DRAM cell as an authentication element as shown in FIGS. 42, 63, or 64
  • a two-dimensional code type random number code as shown in FIG. 22. . .
  • FIG. 74 having the alternative element 979
  • a method of using a DRAM cell as an authentication element and using the barcode type random number code of FIG. 73 is desirable.
  • the authentication generated by the chip authentication device 3040 is regarded as physical chip authentication (P-CID) in comparison with the MAC address.
  • the P-CID 3070 is generally not limited to Ethernet-style authentication.
  • the P-CID generated by the peripheral node as described above is generated according to the input code from the outside.
  • the chip authentication device it is desirable for the chip authentication device to generate a P-CID according to the input code preset in the operating system of the peripheral node.
  • the input code input to the chip authentication device can be related to the passcode input when the operating system is started or the passcode.
  • the P-CID / MAC conversion device 3050 has the function of the P-CID / MAC conversion device 3050 that controls the conversion from the P-CID address generated by using the P-CID to the MAC address.
  • the arithmetic processing chip 3020 for the media access controller (MAC) can be adopted for the Ethernet card without replacing the P-CID controller 3030.
  • the P-CID / MAC conversion device 3050 does not necessarily have to be a device with a physical condition. It may be a type of program that is loaded and runs on the CPU at startup. Alternatively, the firmware may be such that the same operation is realized. Of course, it can also be mixed with the CPU as part of the module.
  • main memory for example, DRAM
  • CPU central processing unit
  • main memory for example, DRAM
  • CPU central processing unit
  • the operating system detects that it is an Ethernet card or a chip authentication device 3040
  • the operating system reads the physical chip authentication (P-CID) from the chip authentication device 3040 and mixes the P-CID / in the CPU. Transfer to the MAC converter 3050.
  • the P-CID / MAC converter 3050 translates the P-CID address generated from this P-CID into a MAC address, and the operating system converts the MAC address generated by this translation into a media access controller (MAC).
  • MAC media access controller
  • the media access controller can send and receive frames via the signal transmission path 1000 in the conventional Ethernet format. Since it is self-evident, no particular description will be given, but the chip authentication device 3040 may be mounted on the CPU while the P-CID / MAC conversion device 3050 is mounted on the CPU. (Eighth embodiment)
  • FIG. 88 is another example of the embodiment in which the chip authentication device of the present application is adopted as the physical chip authentication (P-CID).
  • the chip authentication device 3040 (indicated as P-CID in the figure) of the present application is mounted on the main storage device (CPU).
  • the chip authentication device 3040 generates physical chip authentication (P-CID).
  • the central processing unit (CPU) generates a P-CID address from this P-CID, and controls the function of forming a frame by the method shown in FIGS. 83, 84, 85, etc., of the P-CID control device 3060. Has a function.
  • the non-volatile memory chip may be removed.
  • the arithmetic processing chip 3020 for the media access controller (MAC) is not required.
  • the P-CID generated by the peripheral nodes as described above is generated according to the input code from the core node.
  • the chip authentication device it is desirable for the chip authentication device to generate a P-CID according to the input code preset in the operating system of the peripheral node.
  • the input code input to the chip authentication device can be related to the passcode input when the operating system is started or the passcode. Thus, it is desirable to remove the Ethernet card.
  • the main storage device is a DRAM
  • a DRAM cell as an authentication element as shown in FIGS. 42, 63, or 64
  • a two-dimensional code type random number code as shown in FIG. 22. . .
  • a method of using a DRAM cell as an authentication element and using the barcode type random number code of FIG. 73 is desirable.
  • a fuse memory or the like used for DRAM redundancy and to use the barcode type random number code shown in FIG. 73.
  • the authentication generated by the chip authentication device 3040 is regarded as physical chip authentication (P-CID) in comparison with the MAC address.
  • the P-CID control device 3060 does not have to be a device with a physical condition. It may be a type of program that is loaded and runs on the CPU at startup. Alternatively, the firmware may be such that the same operation is realized. Of course, it can also be mixed with the CPU as part of the module.
  • main memory for example, DRAM
  • main processing unit CPU
  • the central processing unit CPU
  • the operating system detects the chip authentication device 3040
  • the operating system reads out the physical chip authentication (P-CID) generated by the chip authentication device 3040 and puts it on the P-CID control device 3060 embedded in the CPU. Forward.
  • the P-CID control device 3060 can transmit and receive the frame generated by the above method using this P-CID via the signal transmission path 1000. Since it is self-evident, no particular description will be given, but the chip authentication device 3040 may be mounted on the CPU while the P-CID control device 3060 is mounted on the CPU.
  • Ethernet cards or LAN cards
  • communication chips with Ethernet card functions are on the market.
  • Such a communication chip is mounted on an electronic device or an information device smaller than a personal computer.
  • the chip authentication device of the present application can be mounted on a chip and generates physical chip authentication (P-CID). Therefore, it can be used not only as a substitute for an Ethernet card (or LAN card) but also as a communication chip or a SIM card.
  • P-CID physical chip authentication
  • the physical chip authentication (P-CID) of the present application is generated by the chip authentication device 60/600 shown in FIGS. 7, 8, 15-18. Specifically, an input code is input from the outside to the chip constituting the chip authentication device, a physical random number is extracted from the cell array inside the chip, and the P-CID is generated from the input code and the physical random number. At this time, (1) (output independence), (2) (input independence), (3) (output infinity), (4) (input / output reliability), (5) ( Realistic infinity of output), (6) (chip uniqueness), (7) (physically non-rewritable) are all satisfied.
  • FIG. 102 shows a method of applying the physical chip authentication (P-CID) of the present application to mutual authentication.
  • P-CID physical chip authentication
  • the first node 2001 and the second node 2002 are the same as those in FIGS. 1, 3, 5, 8, and 9.
  • the first and second chip authentication devices are equivalent to any of FIGS. 89-91.
  • the first and second chip authentication devices are the first chip 110 of FIGS. 7 and 8.
  • the first and second chip authentication devices are chip 10 of FIG. 78 or chip 400 of FIG. 79.
  • the first and second chip authentication extractors are any of the chip authentication extractors of FIGS. 89-91.
  • at least one of the first and second chip authentication extraction devices can be included in the backbone node 400 of FIG.
  • At least one of the first and second chip authentication extraction devices can be included in the first to third core nodes (1400, 2400, 3400) in FIG.
  • at least one of the first and second chip authentication extraction devices can be included in the backbone node 400 of FIGS. 26 and 76.
  • the input signal of FIG. 102 includes at least the physical random number extraction special test code T and the input authentication code Q of FIG.
  • the input signal includes at least the physical random number extraction special test code T of FIGS. 90 and 91.
  • the input signal includes at least the inputs of FIGS. 10 and 27 (P, S, T ).
  • the input signal includes at least the common passcode 1410 of FIG.
  • the input signal includes at least the first to third common passcodes (1410, 2410, 3410) of FIG.
  • the input signal includes at least the input signal Q of FIG. 15 or FIG.
  • the input signal includes at least the input signal C or the input signal D in FIG.
  • the input signal includes at least the input signals Q1 to Qn + 1 in FIG.
  • the input signal can be considered identical to at least one of the input codes listed in FIG.
  • the input signal includes at least the input code ⁇ a (i) ⁇ of FIGS. 24-26, 30 and 74-77.
  • the input signal includes at least the input code ⁇ b (i) ⁇ of FIGS. 24-26 and 30.
  • the output signal of FIG. 102 includes at least the output authentication code R of FIGS. 89-91.
  • the output signal includes at least the authentication of FIG. 10 (P1, S1, T1 %), (P2, S2, T2 %), (P3, S3, T3 ...) ....
  • the output signal includes at least the authentication of FIG. 27 (P1, S1, T1 %), (P1', S1', T1').
  • the output signal includes at least the first to third certifications (4101, 4201, 4301) of FIG.
  • the output signal includes at least the first to third certifications (11, 12, 13) of FIG.
  • the output signal includes at least the output signal A or the output signal B of FIGS. 15 and 16.
  • the output signal includes at least the output signal R of FIG.
  • the output signal can be equated with at least one of the registration codes listed in FIG.
  • the output signal includes at least the output code ⁇ c (i, j) ⁇ of FIGS. 25, 26, and 30.
  • the output signal includes at least the output code ⁇ c (i) ⁇ of FIGS. 75 and 76.
  • the output signal includes at least the random code ⁇ d (i, j) ⁇ of FIGS. 24-26 and 30.
  • the output signal includes at least the random code ⁇ d (i) ⁇ of FIGS. 75 and 76.
  • the first node 2001 includes the first chip authentication device and the first chip authentication extraction device.
  • the second node 2002 includes the second chip authentication device and the second chip authentication extraction device.
  • the second chip authentication extraction device inputs a second input signal to the first chip authentication device.
  • the first chip authentication device returns a first output signal to the second chip authentication extraction device in response to the second input signal.
  • the first chip authentication extraction device inputs a first input signal to the second chip authentication device.
  • the second chip authentication device returns a second output signal to the first chip authentication extraction device in response to the first input signal.
  • the first chip authentication extraction device can be included in the same semiconductor chip (or chip) as the first chip authentication device. However, in this case, the chip is included in the first node. Alternatively, the first chip authentication / extraction device can be included in a semiconductor chip (or chip) different from the first chip authentication device. However, in this case, the chip including the first chip authentication device and the chip including the first chip authentication / extraction device are both included in the first node. Alternatively, the first chip authentication device may be composed of a plurality of semiconductor chips (or chips). Alternatively, the first chip authentication / extraction device is a kind of chipset composed of a plurality of semiconductor chips (or chips). The second chip authentication extraction device can be included in the same semiconductor chip (or chip) as the second chip authentication device.
  • the chip is included in the second node.
  • the second chip authentication / extraction device can be included in a semiconductor chip (or chip) different from the second chip authentication device.
  • the chip including the second chip authentication device and the chip including the second chip authentication / extraction device are both included in the second node.
  • the second chip authentication device may be composed of a plurality of semiconductor chips (or chips).
  • the second chip authentication / extraction device is a kind of chipset composed of a plurality of semiconductor chips (or chips). (10th Embodiment) Network topology of physical nodes by mutual authentication
  • the first node 2001 equipped with the first chip authentication device and the first chip authentication extraction device of FIG. 102 is regarded as the first physical node (IoT device), and the second chip authentication device and the second chip authentication are performed.
  • the second node 2002 equipped with the extraction device is regarded as the second physical node (IoT device).
  • the first physical node further includes a first internal memory.
  • the first chip authentication extraction device collects authentication information of other physical nodes connected to the network of the physical node, and writes, records, and stores the authentication information in the first internal memory. This is the first dictionary. Therefore, the first dictionary need not include the authentication information of the first physical node.
  • the second physical node further includes a second internal memory.
  • the second chip authentication extraction device collects authentication information of other physical nodes connected to the network of the physical node, and writes, records, and stores the authentication information in the second internal memory.
  • This is the second dictionary. Therefore, the first dictionary need not include the authentication information of the first physical node. Recording the collected authentication information in the dictionary stored in the internal memory by the chip authentication extraction device in this way is called registration in the dictionary.
  • the second chip authentication / extraction device sends an appropriate input signal (C2) to the first chip authentication device mounted on the first chip, receives a response (R1), and sets this (C2R1). , Compare with the combination of input signal and output signal (C2R3) recorded in advance in the dictionary owned by the second physical node.
  • the first physical node is authenticated as a pre-registered physical node. If they do not match, the first physical node is assumed to be unauthenticated and access is denied or, if necessary, re-registered.
  • the network topology of the physical nodes By enabling mutual authentication between the first and second physical nodes as in the above embodiment, it is possible to make the network topology of the physical nodes more flexible. That is, it is not necessary to limit the direct communication between the physical nodes as shown in FIG.
  • FIG. 103 consider a network consisting of seven physical nodes as shown in FIG. 103. The seven physical nodes are divided into five participating nodes (first to fifth participating nodes 411-451) and first and second management nodes (1401 and 2401). It can be seen that the network topology of FIG. 103 is different from that of FIG. 13 when the peripheral nodes correspond to the participating nodes and the core server corresponds to the management node. For example, in FIG.
  • IoT topology network topology of physical nodes related to the present application
  • the management node correctly (physically) limits the participating nodes that participate in the physical network that it manages.
  • the main role of the management node is to prevent spoofing of participating nodes by counterfeit nodes. That is, the management node guarantees as much as possible that all participating nodes participating in the physical network it manages are not spoofed.
  • Participating nodes also correctly (physically) limit the management nodes of the network to which they should participate. This is to reduce the risk of being guided to a connection to an unauthorized node and stealing confidential information.
  • the management node monitors the communication between the peripheral nodes as shown in FIG. 103
  • the management node can be regarded as equivalent to the core server which is the central server that manages the physical network.
  • the communication between the second participating node and the fourth participating node is not always monitored.
  • the management node does not necessarily have to be equivalent to the core server of FIG.
  • Participating nodes are all physical nodes that participate in the physical network without managing the entire physical network, and do not necessarily mean peripheral nodes.
  • Both the management node and the participating node are physical nodes having both the chip authentication device and the chip authentication extraction device of the present application as shown in FIG. 102.
  • the participating node has different characteristics from the peripheral nodes. That is, the peripheral nodes need only be equipped with a chip authentication device, and are not necessarily equipped with a chip authentication extraction device.
  • Both the management node and the participating node have internal memory (or internal memory).
  • the internal memory contains a set of a challenge (C) corresponding to the input codes (402, 42) of FIGS. 10 and 19 and a response (R) corresponding to the output codes (403, 43) of FIGS. 10 and 19. It is possible to define an output set (CR) and record it in a dictionary stored in internal memory. Therefore, since the CR is not limited to one set, a combination of a plurality of CRs is stored in the internal memory in a corresponding form. As an example, the correspondence method is as shown in the combination of the input code 42 (C) in FIG. 19 and the registration code 43 (R) in FIG. More specifically, RTSDEDDTAG!
  • Participating node One of the features of participating nodes that is different from peripheral nodes is that the challenge (C) and response (R) pairs (CR) of physical nodes other than yourself can be stored in their own internal memory (or storage). Since there are multiple combinations of CRs, the set ⁇ CR ⁇ that collects CRs under certain conditions is a kind of dictionary of physical networks. The dictionary held by the participating nodes in this way is called a "local dictionary". However, the local dictionary does not have to cover all the physical nodes on the physical network in which it participates. This is because the participating nodes are not required to manage the entire physical network in which they participate. Also, the participating node does not store a CR about itself.
  • Participating nodes use a network service that has an operating base point in the network in which they participate, and are only interested in the truth of the operating base point.
  • This participating node is, for example, the second node 2002 (or the second physical node 2002) in FIG. 102, and the operation base point is, for example, the first node 2001 (or the first physical node 2001) in FIG. 102. be.
  • the second physical node stores the local dictionary ⁇ CR ⁇ in its internal memory.
  • the second chip authentication / extraction device mounted on the second physical node is an input (operation base point) corresponding to the first physical node (operation base point) from the challenges of the local dictionary ⁇ CR ⁇ stored in the internal memory. Select C) and input it to the first physical node (operation base point) as the second input signal.
  • the first chip authentication device mounted on the first physical node receives the second input signal (C) and outputs (R) using a random number unique to the chip mounted on the first physical node. Is generated and returned as the first output signal to the second chip authentication / extraction device mounted on the second physical node.
  • the second physical node sets the R corresponding to the output (R) received by the second chip authentication / extraction device and the corresponding input (C) of the local dictionary ⁇ CR ⁇ stored in the internal memory. If the two Rs do not match, it is judged to be false. If they match, the second physical node selects yet another second input signal using the second chip authentication extraction device and performs the same inspection multiple times, or determines that the first physical node is true. ..
  • Participating nodes do not save the combination of CRs about themselves because if they do, they will be able to reply the corresponding R to the C entered without using the chip authentication device. Conversely, a rogue node must have its own CR in its local dictionary. A legitimate node generates R from C entered using a chip authentication device, so there is no need to register CR in its local dictionary. Taking advantage of this feature, it is possible to automatically search for counterfeit nodes. For example, when the first physical node reads the local dictionary ⁇ CR ⁇ of the second physical node (participating node), the set of CRs for the second physical node stored by the first physical node is this local. Check if it is included in the dictionary ⁇ CR ⁇ . If included, the second physical node is certified as a counterfeit node. Specific examples of the automatic search method for counterfeit nodes are shown in FIGS. 20 and 21, but are not necessarily limited to these examples.
  • Management node Record the input (C) and output (R) combination (CR) of all participating nodes participating in the physical network managed by you in your internal memory.
  • C input
  • R output
  • CR combination
  • Participating nodes for which CR is not registered in the "global dictionary" recorded in the memory of the management node are found by automatic search and are automatically excluded from the physical network managed by the management node.
  • a physical network composed of only the physical nodes recorded in the global dictionary is called a "closed physical network”. Since physical nodes that are not registered in the global dictionary cannot participate in this closed physical network, the management node can correctly (physically) limit the participating nodes that participate in the physical network that it manages.
  • C to be passed to the registered participating node is determined by the management node, and R is determined by the combination of the random number unique to the chip mounted on the registered participating node and the C.
  • the second physical node stores (registers) a set of CRs related to the first physical node in the internal memory of the second physical node and creates a local dictionary in the second physical node is shown in FIG. 102.
  • the first physical node may be either a management node or a participating node.
  • the second physical node may be either a management node or a participating node.
  • the second node 2002 passes the input (C) to the first node 2001 (first physical node).
  • This input (C) corresponds to the second input signal.
  • This input (C) can be determined by the second physical node by any method or a predetermined method.
  • the first chip authentication device mounted on the first physical node receives this input (C) and outputs (R) from this input (C) and the random numbers unique to the chips constituting the first chip authentication device. Generate. That is, this output (R) corresponds to the first output signal, and the random number unique to the chip mounted on the first physical node and the input (C) determined by the second physical node by a predetermined method. It is determined by the combination of.
  • the first chip authentication device returns this output (R) to the second chip authentication extraction device mounted on the second physical node.
  • the second physical node stores the combination CR of the input (C) and the output (R) in the internal memory of the second physical node.
  • This work can be repeated multiple times for one first physical node.
  • this work can be repeated multiple times for a plurality of first physical nodes. In this way, a combination of a plurality of (CR) ⁇ CR ⁇ is stored in the internal memory of the second physical node.
  • the second physical node is a participating node, it is a local dictionary. If the second physical node is a management node, it is called a global dictionary. Neither the global dictionary nor the local dictionary contains the CR of the second physical node (the physical node that owns the dictionary). Because it is the physical node other than the second physical node that determines the input (C) corresponding to the second physical node, the second physical node determines the CR corresponding to the second physical node. Is impossible.
  • the random number unique to the chip can be extracted from, for example, the distribution of defective bits in the memory cell array mounted on the first chip authentication device.
  • the method described above (FIG. 34-37, etc.) from the authentication element array for example, FIGS. 23, 24, 29, 69, 72, 74, 77, etc.
  • 70, 71, etc. can be used for extraction.
  • Examples of the authentication element can be described with reference to FIGS. 33, 38-68, 92-101 and the like.
  • it can be extracted using another method other than that limited here.
  • the predetermined method of determining the output (R) from the combination of the random number unique to the chip mounted on the first physical node and the input (C) determined by the second physical node is, for example, FIG. 24. -32, or FIG. 72-79 can be used for explanation. Alternatively, it can be determined using another method other than that limited here.
  • the number of management nodes is not limited to one in one closed physical network. It is possible for multiple management nodes to manage participating nodes that participate in one closed physical network. In this case, any two management nodes manage the same closed physical network, and all participating nodes participating in the closed physical network are under the control of these two management nodes. In addition, these two management nodes can also manage each other. Furthermore, even if one management node becomes inoperable for some reason, the other can manage the physical network.
  • Peripheral nodes do not own global or local dictionaries. Participating nodes and management nodes are a type of core node. Neither a global dictionary nor a local dictionary can be defined only by the combination of the input code 402 and the registration code 403 in FIG.
  • a global dictionary is a set ⁇ CR that collects CR sets of all physical nodes other than the management node that participate in the physical network (closed physical network) managed by the management node and stores them in the internal memory of the management node.
  • a local dictionary is a set ⁇ CR ⁇ in which a participating node participating in a closed physical network collects CR combinations of other physical nodes participating in the same closed physical network and stores them in the internal memory of the participating node. Is. The local dictionary does not have to cover the entire closed physical network. However, neither the global dictionary nor the local dictionary must contain CRs other than your own. Local dictionaries and global dictionaries can be collectively referred to simply as "dictionaries”.
  • Internal memory One of the basic properties required of internal memory is that it can be read from the outside. There is no problem if it is copied. In fact, a dictionary is the same as a global dictionary and a local dictionary. However, it is necessary to prevent unauthorized editing of both the global dictionary and the local dictionary from the outside. Therefore, it is desirable that the internal memory is a one-time programmable memory (OTP).
  • OTP one-time programmable memory
  • the dictionary both the global dictionary and the local dictionary, by another strong method.
  • the hash value and the digital signature related to the dictionary (global dictionary or local dictionary) of a physical node cannot be updated without using the private key physically associated with the physical node.
  • Generate a block hash of the dictionary containing the latest state of the dictionary of that physical node share it with multiple independent physical nodes, and in order to tamper with it, all physical nodes that share the latest state of the block hash of the dictionary It is desirable to be prepared to deceive. This creates a dictionary blockchain that is different from traditional blockchains.
  • an administrator of the first physical node uses a third chip authentication extraction device or the like to authenticate the third input signal to the first chip.
  • the first chip authentication device generates a third output signal from the third input signal and the physical randomness (inherent random number) inherent in the chip contained in the first physical node.
  • This third output signal is passed to a key generator, which generates a private key and a public key according to a predetermined key generation algorithm. The private key and public key are handed over to the security module that controls encryption.
  • the security module and the key generation device are self-explanatory and are not particularly shown, but can be included in the security chip of FIG. 111.
  • the security chip may thus also include a memory for generating a hash value, generating a digital signature using a private key, and storing an internally generated security state.
  • a dictionary global dictionary or local dictionary
  • the first physical node may use the digital signature, the hash value, and the public key in the network in which the blockchain is utilized.
  • the most characteristic here is to generate an electronic signature related to dictionary sharing using the private key generated from the output of the first chip authentication device.
  • FIG. 105-110 is a diagram showing an example of the predetermined algorithm.
  • the 0th physical node is used as a starting point for creating the block hash.
  • the 0th object node has at least a 0th chip authentication device, a key generation device, and an internal memory for storing a 0th dictionary (global dictionary or local dictionary).
  • a 0th dictionary global dictionary or local dictionary.
  • an input signal is input to this 0th physical node by some method.
  • the 0th physical node receives the input signal by the 0th chip authentication device, and generates a 0th output signal from the physical randomness (unique random number) inherent in the chip mounted on the 0th physical node. do.
  • the 0th output signal is transferred to a key generator, which takes the 0th output signal as an input and generates a 0th private key and a 0th public key according to a predetermined algorithm.
  • the 0th public key and the 0th dictionary are combined, and an appropriate hash function (SHA-256, for example) is used to generate the 0th hash value.
  • SHA-256 hash function
  • the 0th physical node uses the 0th private key to collectively encrypt the 0th hash value and the public key (first public key) of the first physical node (receiver), and the first is Generate a zero digital signature. Finally, the 0th physical node sends the 0th hash value and the 0th digital signature to the 1st physical node which is the receiving side.
  • the first physical node can further take similar measures for the second physical node. However, the only difference is that when creating the first hash value, the first public key, the first dictionary, and the 0th digital signature and the hash value are combined. This is because the 0th physical node is the starting point and there is no received hash value and digital signature.
  • FIG. 106 shows an example of transfer from the Nth physical node (sending side) to the N + 1th physical node (receiving side).
  • input signals are input to the Nth and N + 1 physical nodes by some method.
  • the two input signals may or may not be equal.
  • the Nth physical node receives the input signal at the Nth chip authentication device, and generates an Nth output signal from the physical randomness (unique random number) inherent in the chip mounted on the Nth physical node. do.
  • the Nth output signal is transferred to a key generator, which uses the Nth output signal as an input to generate an Nth private key and an Nth public key according to a predetermined algorithm.
  • the Nth public key, the Nth dictionary, and the N-1 electronic dictionary and the hash value are combined, and the Nth hash value is obtained using an appropriate hash function (for example, SHA-256). Generate.
  • the Nth physical node uses the Nth private key to encrypt the Nth hash value and the public key (N + 1 public key) of the N + 1 physical node (reception side) together, and the second is Generate an electronic signature of N. Finally, the Nth physical node sends the Nth hash value and the Nth digital signature to the N + 1 physical node on the receiving side.
  • the N + 1th physical node further performs the same procedure for the N + 2nd physical node. However, it is assumed that N is a natural number having L as the maximum. Others Although not particularly shown, the Nth physical node can have an Nth chip authentication extraction device.
  • the Nth dictionary is included in the hash, and unlike the conventional blockchain, at least the N-1 hash value and the N-1 digital signature are used. Either one of them can be omitted when generating the Nth hash.
  • the purpose of the present application is to construct a blockchain of a dictionary, not a transfer of cryptocurrency, which is associated with a public key as a hash value.
  • FIG. 107 illustrates an example of generating the Nth hash value by omitting the N-1 hash value.
  • FIG. 109 illustrates an example of generating the Nth hash value by omitting the N-1 digital signature and the N-1 hash value.
  • the Nth physical node When to generate and transfer the hash value and digital signature described above depends on the system design. As an example, when the Nth dictionary is updated, it is desirable that the Nth physical node generate the Nth hash value and the Nth digital signature and transfer them to an arbitrarily selected N + 1 node.
  • the third physical node is the final destination (latest) of such a series of transfers. Therefore, the third hash value contains all the latest information in a series of dictionaries. This Lth hash value is used as a representative code of a series of transfer histories, and is called the root of Mercury. After that, block hashes and block chains can be generated from the roots of this Mercur according to the normal block chain algorithm.
  • the predetermined algorithm for generating the public key and the private key is, for example, adding an appropriate integer to the Nth output signal and checking whether the sum is a prime number. This operation is repeated until the sum becomes a prime number. Next, the difference from the appropriate integer is calculated from the Nth output signal, and it is confirmed whether it is a prime number. This operation is repeated until the difference becomes a prime number. After generating two prime numbers in this way, they are multiplied. After that, the private key and public key should be generated according to the RSA method.
  • the input signal of FIGS. 105-110 is given as an external input by the chip authentication extraction device of the management node.
  • it can be a security parameter given by a security node (see FIG. 111) described later.
  • the hash module of FIG. 111 can be included in the security module of FIG. 104.
  • the security module can also be used to generate the hash value of FIGS. 105-110. In this way, one module can be used for multiple functions. This is an important advantage in reducing the increase in product prices due to the installation of security modules.
  • an input code input from the outside to the peripheral node may be used to generate a P-CID (input / output set).
  • the input signal input to the chip authentication device is particularly called a challenge (C).
  • the output signal generated by the chip authentication device in response to this challenge (C) is particularly called a response (R).
  • C The input signal input to the chip authentication device
  • R The output signal generated by the chip authentication device in response to this challenge (C) is particularly called a response (R).
  • C and R the combination of C and R (CR) depends on the randomness (inherent random number) inherent in the chips constituting the chip authentication device. This CR varies depending on the security status while relying on the randomness inherent in the chip.
  • Examples of unique random numbers are, for example, the checkered pattern of FIGS. 22 and 26, d (i, j) of FIGS. 25, 26, 30, the example of the data of FIG. 35, the random horizontal pattern of FIGS. 73 and 76, FIGS. 75 and 75. 76 d (i) and the like.
  • the security state is determined by the combination of the security parameters passed to each physical node and the randomness inherent in the chips mounted on each physical node.
  • Security parameters are passed to each physical node by the management node.
  • the management node that passes security parameters to each physical node is called a security node.
  • a security node Alternatively, if it is not necessary for the security node to have a global dictionary, a separately designated participating node may be used. There may be multiple security nodes in one closed network.
  • the security state of each physical node can be changed by the security node updating the security parameters and passing them to each physical node. Such an update of the security state can be arbitrarily performed by the security node at any time. Every time the security status is updated in one closed network, both the local dictionary and the global dictionary are updated.
  • N the number of rows allocated to the scrambler cell array 614
  • N the number of rows allocated to the chip authentication device cell array 611.
  • FIG. 111 is a drawing illustrating the concept of the second example of the method of introducing security parameters.
  • the first physical node is equipped with at least one chip, and this chip is equipped with at least an authentication element cell array (or simply a cell array) consisting of authentication elements, and the randomness inherent in the authentication element cell array is inherent in the authentication element cell array. A random number (unique random number) is generated from this.
  • authentication elements include, for example, the authentication elements 977 of FIGS. 33, 38-52, 69, 72, 74, 77, 92-96, and 99, the transistors 982 of FIGS. 53 and 54, and the PN junction 986 of FIGS. 55 and 56. 57 and 58 Schottky junctions, resistors 985 in FIGS. 59 and 60, transistor 983 in FIGS. 61 and 62, combination of transistor 983 and capacitor 982 in FIGS. 63 and 64, selective transistor 984 in FIGS. 65 and 66, FIG. The selection transistor of 67, the transistor 983 of FIG. 68, the non-volatile memory cell 988 with charge storage and transmission of FIGS. 97 and 98, and the variable resistor 981 of FIGS. 100 and 101.
  • Examples of the cell array for the authentication element are, for example, the array 960 for the authentication element shown in FIGS. 23, 24, 69, 72, 74 and the cell array of FIGS. 89-91, 109-114.
  • the first physical node is further equipped with a security chip.
  • the security chip hash module is installed.
  • the first chip authentication device is composed of the cell array of the chip and the hash module of the security chip. As described above, the first chip authentication device is composed of at least two chips both mounted on the first physical node.
  • the security node passes a nonce value (for example, n) as the security parameter to this hash module.
  • a nonce value for example, n
  • the security node can be equipped with the nonce value generation module.
  • the second physical node and the third physical node in FIG. 111 are the same if the nonce value and the challenge are exchanged. That is, the role of the security node can be replaced by other participating nodes and management nodes.
  • this hash module generates a hash value from the unique random number and this nonce value, and outputs it as a security state (Qn).
  • the challenge (C) is input to the first physical node from the second chip authentication extraction device mounted on the second physical node, the first chip authentication device has the security determined as described above.
  • the response (Rn) is output for the state (Qn). In this way, the second chip authentication extraction device can obtain this combination of C and Rn (CRn).
  • the security node passes the new nonce value (m) to the first physical node and tells the second physical node that the security parameters have been changed.
  • the second physical node checks the authentication of the first physical node. Compare the combination of (CRm) obtained at this time with the part (CRn) corresponding to the first physical node in the dictionary (global dictionary or local dictionary) stored by oneself. If there is a discrepancy, the authentication of other physical nodes registered in the dictionary that you own is also searched. If the CR combinations of the multiple physical nodes that have been checked for authentication do not match, a new CR combination (CRm) is added to the dictionary as if the security parameters were updated, or (CRn). Overwrite. The choice of overwrite and append is at the discretion of the system engineer who designs, maintains and manages the closed physical network.
  • the security node In order to prevent hackers from updating security parameters illegally, the first physical node needs to perform chip authentication of the security node that sends the nonce value in advance. Therefore, the security node is equipped with at least a third chip authentication device. In the method in which the first chip authentication / extraction device mounted on the first physical node inspects the third chip authentication device, the first chip authentication / extraction device described with reference to FIG. 102 uses the second chip authentication device. It is the same as the method of inspection.
  • the second physical node needs to perform chip authentication of the security node that notifies that the security parameter has been updated. Therefore, the second chip authentication extraction device mounted on the second physical node inspects the third chip authentication device mounted on the security node.
  • the method in which the second chip authentication / extraction device inspects the third chip authentication device is the same as the method in which the second chip authentication / extraction device described with reference to FIG. 102 inspects the first chip authentication device.
  • the security node needs to perform chip authentication of the second physical node so as not to notify the hacker's physical node of the update of the security parameter. Therefore, the third chip authentication extraction device mounted on the security node inspects the second chip authentication device mounted on the second physical node.
  • the method by which the third chip authentication / extraction device inspects the second chip authentication device is the same as the method in which the first chip authentication / extraction device described with reference to FIG. 102 inspects the second chip authentication device.
  • the security node needs to perform chip authentication on the first physical node so that it does not send updated security parameters to the hacker's physical node. Therefore, the third chip authentication extraction device mounted on the security node inspects the first chip authentication device mounted on the first physical node.
  • the method in which the third chip authentication / extraction device inspects the first chip authentication device is the same as the method in which the second chip authentication / extraction device described with reference to FIG. 102 inspects the first chip authentication device.
  • the security node can optionally set the security parameters as described above. It is desirable to update. Further, there may be a plurality of security nodes in one closed physical network. It is desirable to make it as difficult as possible to predict when, where and who will update the security parameters.
  • the management node may have two different global dictionaries and each participating node may have two different local dictionaries.
  • FIG. 105 for example, when the second chip authentication extraction device sends a challenge (C) to the first chip authentication device, the following procedure is performed in advance. And. 1) Select one security node. 2) Request the security node to send the nonce value to the first chip authentication device. 3) The challenge (C) is transmitted from the second chip authentication extraction device to the first chip authentication device. After that, you can follow the normal authentication procedure.
  • FIG. 112 is a drawing showing an example of a prescription specifically to be performed by the second chip authentication extraction device of FIG. 110. First, select the physical node and security node to check the chip authentication. Then, the selected security node is requested to send the security parameter to the selected physical node.
  • FIG. 113 is a drawing showing an example in which the first chip authentication device is integrated on one chip.
  • the cell array and hash module for generating unique random numbers can be integrated on one chip together with the first chip authentication / extraction device.
  • the development cost of the chip is high, so the configuration as shown in FIG. 111 is also meaningful.
  • a management node that automatically searches for a physical node and automatically excludes (automatically eliminates) the malicious node from the closed physical network if an unauthorized node is found is called a search node. ..
  • search node There may be multiple search nodes in one physical network.
  • the global dictionary possessed by the check node is particularly called a search dictionary. That is, there may be a plurality of search dictionaries.
  • FIG. 114 is an example of a specific example of the method of automatic search and automatic exclusion.
  • the physical node to inspect selects the physical node to inspect.
  • the CR inspection CR
  • the internal memory of the selected physical node to be inspected is read, and the inspection CR is inspected in the internal memory. That is, the inspection CR is compared with the dictionary ⁇ CR ⁇ possessed by the inspection target.
  • An inspection CR is required to impersonate a rogue node as an inspection target.
  • the chip authentication device generates an inspection CR each time it is authenticated, so it is not necessary to save the inspection CR in the internal memory.
  • the management node is a security node that sometimes maintains security parameters, and sometimes is a search node that performs automatic search / automatic exclusion. At other times, the management node is both a security node and a search node.
  • management node A, B, C
  • management nodes are sometimes a security node, sometimes a search node, and sometimes a security node and a search node.
  • the area A is the management range of the management node A.
  • Area B is the management range of management node B.
  • Area C is the management range of management node C.
  • the area where the management areas A, B, and C overlap at the same time is the joint management area of ABC (management area ABC).
  • the part where the management ranges of A and B overlap is the joint management area of A and B (management area AB).
  • the part where the management ranges of B and C overlap is the joint management area of B and C (management area BC).
  • the part where the management ranges of C and A overlap is the joint management area of C and A (management area CA).
  • the management area ABC can be regarded as a new closed physical network. At this time, there are three management nodes A, B, and C in this closed physical network.
  • the management area AB can be regarded as a new closed physical network. At this time, there are two management nodes A and B in this closed physical network.
  • the management area BC can be regarded as a new closed physical network. At this time, there are two management nodes B and C in this closed physical network.
  • the management area CA can be regarded as a new closed physical network. At this time, there are two management nodes C and A in this closed physical network.
  • a management area managed by A and not newly managed by B and C can be regarded as one closed physical network. At this time, one management node A exists in this closed physical network.
  • Management areas managed by B and not managed by C and A can be considered as one closed physical network. At this time, one management node B exists in this closed physical network.
  • Management areas managed by C and not managed by A and B can be considered as one closed physical network. At this time, one management node C exists in this closed physical network.
  • both physical node A and physical node B are not management nodes because they cannot own the global dictionary of this closed physical network.
  • the local dictionary of physical node A and the local dictionary of physical node B can jointly cover the entire physical network (region A or region B), it is closed by the participating node A and the participating node B. It is possible to jointly manage the physical network. In this way, management is possible by coordinating participating nodes even if there is no actual management node. This enables the coexistence of centralized management and distributed management of physical nodes in a closed physical network.
  • the local dictionary of the participating node A defines the map of the area A.
  • the local dictionary of participating node B defines the map of area B.
  • the management node cannot own the global dictionary of this closed physical network because neither physical node A nor physical node B nor physical node C can own the global dictionary of this closed physical network.
  • the local dictionary of physical node A (map of area A), the local dictionary of physical node B (map of area B), and the local dictionary of physical node C (map of area C) are jointly used for this one whole physical network (map of area C). If the area A, the area B, or the area C) can be covered, it is possible for the participating node A, the participating node B, and the participating node C to jointly manage this closed physical network. In this way, management is possible by coordinating participating nodes even if there is no actual management node. This is an example of dividing one closed physical network into three parts.
  • One closed physical network can be divided into a plurality of management areas as described above.
  • security parameter update / maintenance, automatic search / automatic exclusion, etc. replace the management node with the participating node in the above explanation, and the global dictionary.
  • the local dictionaries of these multiple participating nodes define a map of the area managed by each. And it is necessary that the map defined by these multiple local dictionaries covers the entire closed physical network.
  • an area of a closed physical network can be defined. Access to this area depends on whether or not the chip is chip-authenticated by the method of the present application.
  • the chip authentication device of the present application can be divided into a plurality of chips.
  • FIG. 116 is an example thereof.
  • the chip authentication device is divided into two chips, a first and a second.
  • the first chip is equipped with a cell array (or a cell array for an authentication element) necessary for generating the unique random number.
  • a 21st module and a 22nd module are mounted on the second chip. Corresponds to the example of FIG. 111.
  • FIG. 117 is a drawing showing another example.
  • the 21st module and the cell array (or the cell array for the authentication element) are mounted on the first chip.
  • the 22nd module is mounted on the second chip.
  • FIG. 118 is a drawing showing still another example.
  • the chip authentication device is composed of one chip.
  • the 21st and 22nd modules and the cell array 8 or the cell array for the authentication element) are all mounted on the single chip.
  • the 21st and 22nd modules include, for example, a key generator (FIGS. 104-110), a hash module (FIGS. 111 and 113), a chip authentication apparatus (FIG. 102, etc.), and an extraction circuit (FIG. 89-91, etc.).
  • Random generator 601 (FIGS. 26 and 76, etc.), Code generator 602 (FIGS. 26 and 76, etc.), 606 (FIG. 28, etc.), Random generator 605 (FIG. 28, etc.), Input / output control device 800 (FIG. 28, etc.). 78 etc.), I / O control device 810 (Fig. 79 etc.), scramble device 890 (Fig. 79 etc.), intermediate code buffer 900 (Fig.
  • authentication device control device 880 (Fig. 79 etc.), authentication device control device 880 (Fig. 79 etc.), output generation circuit It can be selected from (FIGS. 89, 90, etc.) according to the design specifications. However, it is particularly desirable to include an authentication device (FIG. 102, etc.) or an extraction circuit (FIG. 89-91, etc.).
  • the chip authentication device is composed of the first to third chips.
  • the difference from FIG. 119 is the presence or absence of a module other than the cell array (or the cell array for the authentication element) on the first chip.
  • the 41st to 43rd modules, or the 51st and 52nd modules include, for example, a chip authentication device (FIG. 102, etc.), an extraction circuit (FIG. 89-91, etc.), and a random number generator 601 (FIG. 26 and FIG. 76 etc.), Code generator 602 (Fig. 26 and 76 etc.), 606 (Fig. 28 etc.), Random generator 605 (Fig. 28 etc.), Input / output control device 800 (Fig. 78 etc.), I / O control device 810 (Fig. 79, etc.), scramble device 890 (Fig. 79, etc.), intermediate code buffer 900 (Fig. 79, etc.), authentication device control device 880 (Fig.
  • a DRAM cell As an authentication element as shown in, for example, FIG. 42, FIG. 63, or FIG. 64.
  • a method using a two-dimensional code type random number code as shown in FIG. 22 is possible.
  • a method of using a DRAM cell as an authentication element and using the barcode type random number code of FIG. 73 is desirable.
  • the MOS transistor used for explanation is, for example, two spatially separated second conductive diffusion layers formed on a first conductive semiconductor substrate and the first conductive diffusion layer. It is composed of a gate insulating film on a conductive semiconductor substrate and a gate electrode on the gate insulating film.
  • the non-volatile memory cell transistor also used for explanation is, for example, two spatially separated second conductive diffusion layers created on a first conductive semiconductor substrate and the first conductive semiconductor. It is composed of a tunnel film on a substrate, a charge storage layer on the tunnel film, an interlayer insulating film on the charge storage layer, and a control gate electrode on the interlayer insulating film.
  • the selective transistor also used for explanation is, for example, a non-volatile memory transistor in which a part or all of the interlayer insulating film is replaced with an interlayer conductive layer.
  • a conductor via in which a conductive material is embedded in a vertical hole formed so as to penetrate the interlayer insulating film may be used.
  • either one of the two second conductive type diffusion layers is connected to the bit wire for each element.
  • the two second conductive type diffusion layers are shared with adjacent elements and have a series structure on the substrate.
  • One of the diffusion layers remaining at both ends of the plurality of elements in series is connected to the bit line across the drain side selection gate, and the other is connected to the source line across the source side selection gate.
  • the second conductive type diffusion layer arranged between the elements can be replaced with a thin first conductive type diffusion layer, or can be omitted.
  • the PN junction 986 used for explanation is a contact between a first conductive type semiconductor and a second conductive type semiconductor.
  • a second conductive diffusion layer is formed on the surface of a first conductive semiconductor substrate, it is automatically formed at the interface between the two. Therefore, it is automatically formed in a MOS type transistor, a non-volatile memory cell transistor, or a selection transistor.
  • the Schottky junction 987 used for explanation is a semiconductor and a conductor in contact with each other. Both PN junctions and Schottky junctions are a type of diode junction.
  • the first conductive semiconductor substrate used to explain the structure of a MOS transistor, a non-volatile memory cell transistor, a selective transistor, a PN junction, a Schottky junction, etc. was created in a wide area of the semiconductor substrate. It is also possible to replace it with a first conductive diffusion layer (usually a well).
  • the certification element is a semiconductor element built into a chip mass-produced in a pre-process of semiconductor manufacturing.
  • the physical chip authentication (P-CID) generated by the chip authentication device 3040 is temporarily stored in a cache memory or the like and used before being transferred to the communication transmission path 1000.
  • the backbone node in order for the backbone node and the peripheral node to make an authentication connection, the backbone node first sends a predetermined passcode to the peripheral node, and the output (for example, P-CID address or P-) is the reply.
  • CID needs to be pre-registered with the core node. After that, this core node uses a combination of the predetermined passcode and the corresponding physical address (or P-CID) unique to the chip in order to make an authentication connection with the peripheral node.
  • the PIN code owned by the user of the peripheral node can be used instead of the passcode owned by the core node.
  • this PIN code can be linked with the operating system of the peripheral node. For example, it can be used for booting an operating system or returning from a standby state (sleep mode).
  • a network of electronic devices is divided into a peripheral node and a core node that manages the registration status of the peripheral node, and the core node is centrally managed.
  • a semiconductor chip including a physical chip authentication device built in the chip in the pre-process of semiconductor manufacturing is mounted on the node, and a remote attack on peripheral nodes is performed using the physical chip authentication generated by this chip authentication device. It is possible to efficiently prevent the above, improve the security of the entire network system, and flexibly operate the physical address of the node on the Internet of the thing, which is accompanied by the physical reality.
  • the network is a communication connection between all electronic devices (nodes) connected by the above-mentioned authentication communication, regardless of whether it is inside or outside a specific system.
  • the physical chip authentication (P-CID) generated by the chip authentication device of the present application can be used as chip authentication with physical conditions, and can be used for the traceability of chips distributed in the supply chain. It can be applied as a countermeasure against the counterfeit chip problem, complement the MAC address to facilitate LAN management, or provide a new physical address to replace the MAC address. Moreover, since the number of bits in the address area is variable, it is possible to flexibly respond to future advances in network technology.
  • the chip authentication device of FIGS. 89-91 is a chipset consisting of at least a chip including a cell array for extracting physical random numbers and a chip including an extraction circuit.
  • the chip authentication device of FIG. 89-91 is a chipset consisting of at least a chip including a cell array for extracting physical random numbers, a chip including an extraction circuit, and a chip including an output generation circuit.
  • the chip authentication device of FIGS. 89-91 is a chipset including a chip including a cell array for extracting physical random numbers and a chip including an extraction circuit and an output generation circuit.
  • the chip authentication device of FIGS. 89-91 is a chipset consisting of at least a memory chip including a cell array for extracting physical random numbers and a chip including an extraction circuit.
  • the chip authentication device of FIG. 89-91 is a chipset including at least a memory chip including a cell array that extracts physical random numbers, a chip including an extraction circuit, and a chip including an output generation circuit.
  • the chip authentication device of FIGS. 89-91 is a chipset including a memory chip including a cell array for extracting physical random numbers, and a chip including an extraction circuit and an output generation circuit.
  • the chip authentication device of FIGS. 89-91 is a chip including a cell array for extracting physical random numbers, an extraction circuit, and an output generation circuit.
  • the core node records the input code 402 and the registration code 403 in the internal memory 401, and further performs a chip authentication extraction device (for example, a second chip authentication extraction device of the second node in FIG. 102).
  • the peripheral node has a chip authentication device 60 (for example, the first chip authentication device of the first node in FIG. 102).
  • the second node has a second chip authentication device and a second chip authentication extraction device in addition to the internal memory 401.
  • the chip authentication extraction device is added to the peripheral nodes, it becomes like the first node in FIG. 102.
  • This first node has a first chip authentication extraction device in addition to the first chip authentication device.
  • the peripheral node and the backbone node can be distinguished by the presence or absence of the internal memory 401 in which the input code 402 and the registration code 403 are recorded.
  • two nodes having a chip authentication device and a chip authentication extraction device, respectively can authenticate each other. This is convenient for mutual authentication between mission-critical nodes. It can also be used for mutual authentication between peripheral nodes.
  • the random code thus regarded as unique to the chip is another example of the unique random number of the present application, and the chip authentication device of the present application (FIG. 8, FIG. 15, FIG. 16-18, FIG. 26-28, FIG. 76, FIG. 78). , FIG. 79, FIG. 89-91, FIG. 102, FIG. 104-111, FIG. 113, FIG. 116-125, etc.), and the output signal or output from the chip authentication device corresponding to the input code (challenge). It can be used to generate code (response).
  • a random number generator based on physical variation factors is required to generate a random number code. It is possible to find such physical variations outside the chip.
  • multiple methods can be applied as a physical random number generator, 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. Therefore, the random number code obtained by reading from the qubit prepared separately from the manufacture of the chip authentication device of the present application is written in the cell array of the chip authentication device 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.
  • 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 suffices if 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 chip authentication devices distributed all over the world will match 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 To the cell array 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. 41 is also an example of a bit cell structure of a typical 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 MOSFET of the MOSFET 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.
  • a bit cell with a broken PN junction loses its rectifying effect and allows current to flow even when a reverse voltage is applied.
  • the checkered random number code as shown in FIG. 22 is obtained.
  • the PN junction of the MOSFET at the selected address must be reliably broken.
  • All bit cells including PN junctions can be utilized as OTP.
  • 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 MOSFET of the MOSFET 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.
  • a bit cell with a broken PN junction loses its rectifying effect and allows current to flow even when a reverse voltage is applied.
  • the checkered random number code as shown in FIG. 22 is obtained.
  • the PN junction of the MOSFET at the selected address must be reliably broken.
  • all bit cells including capacitors can be utilized as OTP.
  • 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 allow current to 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. 22 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 Schottky junction can be utilized as OTP.
  • 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 breaking the junction by passing a large current for a sufficiently long time to the Schottky junction of the bit cell located at the selected address can be considered.
  • the selected bit cell loses its rectifying effect due to junction fracture, and current flows even when a reverse 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. 22 is obtained.
  • 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 OTP.
  • 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 disconnecting (short-circuiting) the resistance or resistance wiring of the bit cell located at the selected address by passing a large current for a sufficiently long time can be considered. Even if an appropriate voltage is applied to the selected bit cell due to disconnection, no current will flow. For example, if the broken bit cell corresponds to the data 0 and the unbroken bit cell corresponds to the data 1, the checkered random number code as shown in FIG. 22 is obtained. In any case, when writing a separately generated random number code, the resistor or resistance wire at the selected address must be reliably disconnected.
  • the random number code separately generated outside the chip can also be regarded as a unique random number unique to all the chip authentication devices sharing the concept of the present application or the chips constituting the chip authentication device. Of course, it can also be used for the unique random number of FIG. 111 or FIG. 113.
  • the random number code that becomes the unique random number of the present application may be written in the entire cell array that constitutes a part of all the chip authentication devices that share the concept of the present application, or may be a part of the cell array. When it is a part of a cell array, for example, a method as shown in FIG. 27, FIG. 29-32, FIG. 77, or FIG. 79 can be considered.
  • the method of generating a unique random number unique to a chip is mainly divided into two methods, a method of generating the random number in the chip manufacturing and a method of generating the random number separately from the chip manufacturing.
  • the former includes the manufactured chip itself in the chip authentication device, and the latter writes the generated unique random number in the OTP included in the chip authentication device.
  • the output (response) from the chip authentication device is obtained by combining the unique random number and the input (challenge) to the chip authentication device, the concept of the chip authentication device of the present application and its utilization method is obtained. Do not deviate from. Therefore, in all embodiments of the present application, either generation method can be used in the same manner.
  • the (automatic search and automatic elimination of counterfeit nodes) described with reference to FIG. 114 has other methods besides those shown in FIGS. 20 and 21.
  • a common feature of FIGS. 20, 21, and 114 is to inspect whether or not the internal memory of the inspection target contains information that the inspection target should not originally store.
  • a method for preventing spoofing without inspecting the internal memory to be inspected will be described.
  • the chip authentication device before and after the security node (third physical node) changes the security parameter (nonce value), the chip authentication device (first) included in the physical node to be inspected (first physical node). If you enter the same challenge (C) in each of the chip authentication devices), the response (R) from the first chip authentication device should change. That is, the response obtained from the first chip authentication device by inputting the challenge (C) before changing the security parameter is set as R1, and the challenge (C) is input after changing the security parameter and obtained from the first chip authentication device. Assuming that the response is R2, if R1 and R2 are equal, it is considered that the first physical node to be inspected is illegally connected to the network.
  • FIG. 126 illustrates an example of the working process of this inspection method.
  • Authentication node In FIGS. 10 to 14, 102, or 111 and 113, an input signal (C) is input to a certain chip authentication device, and an output signal (R) output from the chip authentication device as a response thereof is used.
  • Combination (CR) is used for physical chip authentication in relation to the present application.
  • One of the purposes of the present application is to construct a distributed system centered on physical nodes whose features are guaranteed by physical chip authentication. However, the present application is not limited to constructing a distributed system only with physical nodes whose features are guaranteed by authentication on the physical chip of the present application.
  • the input signal input to the chip authentication device in order to generate the output (R) from the chip authentication device input (transferred) to the key generation device is not necessarily the physical chip authentication. Therefore, it does not have to be the same as the input signal input to the chip authentication device.
  • search C is an input signal input to the chip authentication device for physical chip authentication.
  • the chip authentication device outputs an output signal (search R) as a response in response to the search C.
  • search C search R
  • the administrator who manages the distributed system inputs an input signal (signature C) to the chip authentication device.
  • Signature C corresponds to the third output signal of FIG. 104.
  • the signature C does not necessarily have to match the search C. Rather, in order to improve the security of the entire system, it is desirable that the search C and the signature C are different.
  • the chip authentication device outputs an output signal (signature R) as a response in response to the input signal (signature C). However, since this response is used only inside the physical node that received the signature C, it does not reply to the sender (signature node) of the signature C.
  • This signature R is input to the key generation device, and the key generation device generates a private key (S1) and a public key (P1). See FIGS. 105-110. At this time, if the signature C is different from the search C due to (independence of input), the signature R is always different from the search R.
  • P1 is a logical address on the network of the physical node having the chip authentication device. It is desirable that S1 be erased after use and regenerated each time it is used.
  • S1 it is desirable to hold S1 in a form that does not leak to the outside of the physical node. In any case, S1 needs to be kept secret from outside the physical node. Further, it is desirable that the signature R be erased immediately after the S1 and P1 are generated, or stored in an area that cannot be accessed from the outside.
  • the search R is output once to the outside of the physical node in order to authenticate the physical node.
  • the second physical node inputs a second input signal (search C in this case) to the first physical node, and the first physical node responds to the second input signal.
  • the first output signal (search R in this case) is output to the second physical node.
  • search R used for physical chip authentication is output to the outside of the physical node. If the search C and the signature C are equal, the signature R is equal to the search R, so that the signature R is exposed to the outside of the physical node for physical chip authentication. As described in FIG.
  • the signature R is required to generate the private key (S1) and the public key (P1), so that the signature R can be easily regenerated when the signature R is handed over to a malicious hacker. Is possible. Therefore, it is desirable to use different search C and signature C.
  • the search C and the signature C may be input to the chip authentication device by the same node or two different nodes.
  • the physical node that supplies the search C to the chip authentication device is a management node, and is a search node particularly when performing an automatic search.
  • the physical node that supplies the signature C to the chip authentication device can be called a signature node.
  • the input signal supplied to the authentication device to the chips of FIGS. 105 to 110 is the signature C in this case, and the physical node that supplies the signature C is the signature node.
  • this search node may or may not be the same as the signature node.
  • a signature node is a kind of management node and has a global dictionary.
  • the signature node inputs the signature C into the chip authentication device of the participating node (for example, the physical node of the N + 1 of FIG. 106) registered in this global dictionary.
  • the signature C is different from the input signal shown in FIG. 106.
  • the participating node in FIG. 127 corresponds to the first physical node in FIG. 104.
  • the chip authentication device of the participating node outputs the signature R as a response corresponding to the input of the signature C.
  • the first physical node of FIG. 104 does not return this signature R to the sender (signature node) of the signature C.
  • This signature R is passed to the key generator to generate a private key (S1) and a public key (P1).
  • S1 and P1 are handed over to the security module.
  • the data related to the dictionary is extracted from the internal memory and passed to the security module.
  • the security module generates a hash value and a digital signature from S1, P1, and the dictionary by a predetermined method. This hash value and digital signature are available for signed data transfer through this participating node.
  • the identity of this participating node can be confirmed in advance by the search node. That is, the challenge (search C) is input from the chip authentication device of the search node to the chip authentication device of the participating node, the chip authentication device outputs a response (search R) in response to the search C, and the chip of the search node. Return it to the authentication extractor. Whether or not the search node is a physical node that is legally authorized to participate in the network by comparing the combination of the search C and the search R with a global dictionary stored in the internal memory (not shown for obvious reasons). To confirm.
  • the chip authentication device of the participating node includes a hash module, updates the security status by receiving a security parameter from the security node, and receives and updates the search C as a challenge from the search node.
  • a response search R is generated in the security state, and the search R is returned to the search node.
  • the main difference between the search node and the signature node is that the search node receives the signature C as the response of the search C, whereas the signature node keeps the signature C inside the recipient of the signature C, so that the signature R I'm not receiving it.
  • the upper limit of the number of dictionaries that can be defined for one closed physical network is at least equal to the number of physical nodes (electronic devices) that make up this closed physical network.
  • These plurality of dictionaries jointly identify a physical node (electronic device) belonging to the one physical network and a physical node (electronic device) other than that. Therefore, with these plurality of dictionaries, the one closed physical network can be surrounded by a physical firewall.
  • this physical firewall is the same as the conventional (logical) firewall in that it is not geographically defined, but it is different from the conventional logical firewall in that the node enclosed inside is a physical node. Is.
  • chip authentication generated based on physical randomness it is possible to safely realize device-to-device authentication of a network that has innumerable peripheral nodes that are not centrally managed at the chip level.
  • FIG. 1 It is a figure which shows an example of the network which consists of a plurality of core nodes divided into a 1st network unit and a 2nd network unit, and a plurality of peripheral nodes including a chip equipped with the chip authentication apparatus of this invention. Includes a topology with connections between the core server of one network unit and the core server of the second network unit. It is a figure which shows the topology including at least one of the plurality of peripheral nodes in a first network unit, and at least one of a plurality of peripheral nodes is connected to at least one of the core nodes in a plurality of second network units, respectively. The figure which shows an example of the independence of output which the chip authentication apparatus of this invention should satisfy.
  • the figure which shows an example of the method of inputting an input code The figure which shows an example of the relationship between an input code, an output code, and a random number.
  • the figure which shows an example of the concept of embodiment which added the scramble device The figure which shows an example of the basic structure of a scramble device.
  • the figure which shows an example of the block array structure The figure which shows an example of the block array structure.
  • the figure for demonstrating an example of the method of reading data from an authentication element The figure explaining an example of the error correction method of the data read from the authentication element.
  • the figure explaining an example of how to apply a destruction pulse The figure explaining an example of how to apply a destruction pulse.
  • the figure for demonstrating an example of the method of reading data from an authentication element The figure which shows an example (conductor junction) of an authentication element.
  • the figure which shows an example (conductor) of an authentication element The figure which shows an example (conductor) of an authentication element.
  • the figure which shows an example of the method of selecting an authentication element The figure which shows an example of the method of selecting an authentication element.
  • the figure which shows an example (capacitor) of an authentication element The figure which shows an example (capacitor) of an authentication element.
  • the figure which shows an example (PN junction) of an authentication element The figure which shows an example (Schottky junction) of an authentication element.
  • the figure which shows an example (Schottky junction) of an authentication element The figure which shows an example (resistance) of an authentication element.
  • the figure which shows an example (resistance) of an authentication element The figure which shows an example (resistance) of an authentication element.
  • the figure which shows an example (field effect transistor) of an authentication element The figure which shows an example (field effect transistor) of an authentication element.
  • the figure which shows an example (DRAM) of an authentication element The figure which shows an example (DRAM) of an authentication element.
  • the figure which shows an example (selection transistor) of an authentication element The figure which shows an example (selection transistor) of an authentication element.
  • the figure which shows an example (selection transistor) of an authentication element The figure which shows an example of the layout when the authentication element is arranged in NAND type. The figure which shows an example of the layout when the authentication element is arranged in NAND type. The figure which shows an example of the method of reading an authentication element. The figure which shows an example of the method of reading an authentication element. A method of showing an example of a substitute element. The figure explaining the randomness of data by a substitution element. The figure which shows an example of the method of inputting an input code. The figure which shows an example of the relationship between an input code, an output code, and a random number. A conceptual diagram showing an example of a basic configuration for showing an example of how to use a chip authentication device.
  • the figure which shows an example of the element arrangement which has both a scramble device and a chip authentication device The figure which shows an example of the semiconductor chip including the chip authentication apparatus. The figure which shows an example of the semiconductor chip which includes a scramble device and a chip authentication device. The figure which shows a typical example of the communication method of Ethernet format. The figure which shows an example of the format of a MAC address. The figure which shows an example of the communication method using the chip authentication (P-CID) of this application. The figure which shows an example of the physical address format using the chip authentication (P-CID) of this application. The figure which shows an example of the physical address format using the chip authentication (P-CID) of this application.
  • the figure explaining the example that the authentication element which concerns on this application is a variable resistance memory element which consists of a transistor and a variable resistance.
  • the figure explaining the example which the authentication element which concerns on this application is a magnetoresistive memory element which consists of a transistor and a magnetoresistive.
  • the figure explaining the example which the authentication element which concerns on this application is a non-volatile memory element which consists of a transistor with a charge storage layer.
  • the figure explaining the example which the authentication element which concerns on this application is a non-volatile memory element which consists of a transistor with a charge storage layer, and is arranged in a NAND type.
  • the figure explaining the example which the authentication element which concerns on this application is a ferroelectric memory element which consists of a transistor and a ferroelectric capacitor.
  • the figure explaining the example that the authentication element which concerns on this application is a variable resistance memory element which consists of a variable resistor.
  • the figure which shows an example of the method of realizing the physical network of this application. The figure which shows an example of the method of realizing the physical network of this application.
  • the figure which shows an example of the function of the security node of this application The figure which shows an example of the utilization method of the security node of this application.
  • the figure which shows an example of the function of the security node of this application The figure which shows an example of the inspection method of this application.
  • the figure which shows an example of the physical network configuration of this application The figure which shows an example of the realization method of the chip authentication apparatus of this application.
  • the figure which shows an example of the realization method of the chip authentication apparatus of this application The figure which shows an example of the realization method of the chip authentication apparatus of this application.
  • the figure which shows an example of the realization method of the chip authentication apparatus of this application The figure which shows an example of the realization method of the chip authentication apparatus of this application.
  • the figure which shows an example of the realization method of the chip authentication apparatus of this application The figure which shows an example of the realization method of the chip authentication apparatus of this application.
  • the figure which shows an example of the realization method of the chip authentication apparatus of this application The figure which shows an example of the realization method of the chip authentication apparatus of this application.
  • the figure which shows an example of the realization method of the chip authentication apparatus of this application The figure which shows an example of the realization method of the chip authentication apparatus of this application.
  • the figure which shows an example of the realization method of the chip authentication apparatus of this application The figure which shows an example of the realization method of the chip authentication apparatus of this application.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】 IoT等の物理ネットワークを構成する物理ノード(電子装置)がなりすまされると論理ネットワークを守るどのようなセキュリティ対策も無効化されてしまう。よって、なりすましを防ぐための物理ノードの中央管理と、ブロックチェーン等論理ネットワークの分散管理との、両方が同時に必要となり、元来矛盾する中央管理と分散管理を一つの閉じた物理ネットワーク上で共生させる工夫が必要となる。 【解決手段】チップレベルで電子装置の物理アドレスを中央管理下に置くことによって閉じた物理ネットワークを実現し、その閉じた物理ネットワーク上(物理的ファイヤーウォール内)のチップの認証を記した辞書をブロックチェーン化することによって論理的には分散管理を行う。このように、物理ノードの中央管理と論理ノードの分散管理を共存させ、閉じた物理ネットワーク全体の管理とセキュリティを効率的に向上させることを特徴としている。

Description

電子装置のネットワーク及び電子装置
本発明は、イーサネットにおける電子装置間通信に用いる物理的チップ認証方式に関する。
一般に、インターネットを用いた情報通信は、適当な大きさに切り分けられたデジタルデータの塊(プロトコル・データ・ユニット)をネットワーク上での情報端末(ノード)同士で交換することである。これらの分割されたデータの一片には、ネットワーク上での管理に必要な制御情報が付与されている。このデータの一片と制御情報の並べ方をフォーマットと呼び、フォーマットおよびその活用はプロトコルと呼ばれる一種の手続きによって規定されている。互いに情報通信する任意の2つの情報機器は、それぞれ一定の整合性を持つフォーマットのデータを扱わなければならない。
プロトコル・データ・ユニットの仲間でよく使われる言葉にフレーム、パケット、セグメント等がある。名称の違いは通信階層に対応して使い分けられる。 
通信の階層構造(通信階層)は、ネットワークシステム全体の概念によって決定され、次のような構造が一般的であると認識されている。たとえば、下の階層から順に、物理層(レイヤー1)、データリンク層(レイヤー2)、ネットワーク層(レイヤー3)、トランスポート層(レイヤー4)、上位層(レイヤー5)となる。ただし、この階層構造はほんの一例に過ぎず、異なる概念の元では、たとえば、上位層を更に3分割して7階層にする場合も良く知られている。いずれにしろ、データリンク層(レイヤー2)ではプロトコル・データ・ユニットをフレームと呼び、ネットワーク層(レイヤー3)ではパケットと呼び、トランスポート層(レイヤー4)ではセグメントと呼ぶのが一般的である。
以下、上述の5階層を前提にして説明を続ける。
ネットワークを物理的実態として構成するには、ネットワークノードとなる情報機器とノード同士を接続する信号伝達路が必要である。信号伝達路は有線であっても無線であっても構わない。また、信号の種類も複数の可能性がある。大雑把に分類すると、たとえば、電気信号と光信号である。すなわち、有線・無線の電気信号伝達路または光信号伝達路が、ネットワーク上でノード同士を物理的に接続する。このような物理的な接続・伝送方式を規定するレイヤーが物理層(レイヤー1)である。
一般に、ネットワークの接続構造は複雑であるが、信号伝達路の両端はそれぞれ一つのノードで終端していなければならない。プロトコル・データ・ユニットは、この信号伝達路を透過するデータの塊である。従って、一つの信号伝達路の両端を終端する二つのノード(たとえば、第一のノードと第二のノード)は、それぞれ一定の整合性のあるプロトコルに従わなければならない。もし、それぞれが従うプロトコルに一定の整合性がなかった場合、この信号伝達路は、第一のノードと第二のノードを接続していないとみなされることがある。
図1は、プロトコル・データ・ユニットの送信の仕方を示す概念図である。プロトコル・データ・ユニットに変換(コード)される元のデジタルデータは、ネットワークの一部を構成する第一のノード2001に入力される。第一のノード2001とは、一例として、キーボード、マウス、ディスプレイ等のコンソールを備えた計算機端末、タブレット、携帯電話、スマートフォン、カードリーダを備えた端末、スキャナー、ネット接続機能を備えたデジタルカメラ、ありとあらゆるところに分布するセンサーなどである。これらの情報機器すべてがネットワークの外からなんらかの情報を取り込み、その情報をプロトコル・データ・ユニットに変換して信号伝達路1000に送り込む。このように、ネットワークの外部と何らかのつながりを持つノードを周辺ノードとみなせる。図1の場合、第一のノード2001が周辺ノードの一例となる。
周辺ノード(たとえば第一のノード2001)では、ネットワーク外部から入力された情報をデジタル化する。続いて所定のフォーマットに従ってプロトコル・データ・ユニット(フレーム)に変換する。あるいは、あらかじめデジタル化された情報が入力される場合、そのまま所定のフォーマットに従ってプロトコル・データ・ユニットに変化する。いずれにしろ、このプロトコル・データ・ユニットは、信号伝達路1000を介して、この周辺ノード(たとえば第一のノード2001)が従うフォーマットと一定の整合性のあるフォーマットに従うノードに送信される。図1の例では、第二のノード2002が受信側のノードになる。
この信号伝達路1000の反対側のノード(たとえば第二のノード2002)では、上記プロトコル・データ・ユニットを受信し、所定のフォーマットに従って、変換前のデジタルデータに戻す作業(デコード)を行う。
上記第一のノード2001が周辺ノードでない場合、第一のノード2001は、ネットワーク内の他のノード(たとえば、第三のノード2003)からなんらかのデジタル情報を受信する。これは、第三のノード2003がコードしたプロトコル・データ・ユニットである。第一のノード2001は、このプロトコル・データ・ユニットを所定のフォーマットに従って元のデジタルデータにデコードする。ここで第一のノード2001が従う所定のフォーマットとは、第三のノード2003が従うフォーマットと一定の整合性のあるフォーマットである。ただし、この第一のノード2001が後述する中継器として動作する場合、第一のノード2001はプロトコル・データ・ユニットをデコードする代わりに第一のノードに関する情報(たとえば第一のノードを経由したことを示す情報など)を添付し、信号伝達路1000を介して第二のノード2002に伝送する。この場合、第二のノード2002が従う所定のフォーマットとは、第三のノード2003が従うフォーマットと一定の整合性のあるフォーマットである。
まず、ネットワークの外部、あるいは、第三のノード2003から第一のノード2001に入力された情報は、所定のフォーマットに従ってプロトコル・データ・ユニットに変換され、信号伝達路1000を通して第二のノード2002に伝送される。第二のノード2002は、第一のノードが従うフォーマットと一定の整合性のある所定のフォーマットに従って、受信したプロトコル・データ・ユニットを逆変換(デコード)し、第一のノード2001に入力される前の元の情報を再生する。これが信号データの伝送の基本的な仕組みである。こうして、プロトコル・データ・ユニットに変換(コード)されたデータの塊はネットワーク上で送受信される。
上述したデータの伝送は、第一のノード2001から第二のノード2002への一方向のみを説明したが、伝送の向きが逆になってもプロトコルの利用方法になんら変更はない。たとえば、図1の第一のノード2001と第二のノード2002を交換しても良い。その場合、まず、ネットワークの外部、あるいは、第三のノード2003から第二のノード2002に入力された情報は、所定のフォーマットに従ってプロトコル・データ・ユニットに変換され、信号伝達路1000を通して第一のノード2001に伝送される。第一のノード2001では、所定のフォーマットに従って受信したプロトコル・データ・ユニットを逆変換し、第二のノード2002に入力される前の元データを再生する。図面は図1から自明なので省略する。
図2は、階層構造とデータ構造の関係を示す図面である。伝送される元の情報は、まず適当な大きさのデータの塊に分割される。今後、この分割されたデータの塊を単純にデータと呼ぶ。この時点でデータが存在する通信階層が上位層(レイヤー5)である。
次に、このデータにトランスミッション・コントロール・プロトコル・ヘッダー(TCPヘッダー)を付ける。TCPはトランスミッション・コントロール・プロトコルの略であり、プロトコルの一種である。こうしてTCPヘッダーを付けたデータをセグメントと呼ぶ。このセグメントを扱う通信階層がトランスポート層(レイヤー4)である。
図1に対応する通信がトランスポート層(レイヤー4)における通信である場合、プロトコル・データ・ユニットはセグメントであり、変換プロトコルはTCPである。第一のノード2001がデータを受信すると、TCP形式のフォーマットに従ってTCPヘッダーをデータに添付し、セグメントを構成する。このセグメントは信号伝達路1000を通して第二のノード2002に伝送される。第二のノード2002は、このセグメントを受信し、TCP形式のフォーマットに従ってデコードし、元のデータを再生する。具体的には、TCPヘッダーを取り除く。
ネットワーク層(レイヤー3)では、セグメントにインターネット・プロトコル・ヘッダー(IPヘッダー)を付与する。この場合、プロトコル・データ・ユニットはパケットと呼ばれる。プロトコルはIPである。バージョンによってIPv4やIPv6などがある。
図1に対応する通信がネットワーク層(レイヤー3)における通信である場合、プロトコル・データ・ユニットはパケットであり、変換プロトコルはIPv4やIPv6などである。第一のノード2001がデータ(この場合セグメント)を受信すると、IPv4形式あるいはIPv6形式などのフォーマットに従ってIPヘッダーをセグメントに添付し、パケットを構成する。このパケットは信号伝達路1000を通して第二のノード2002に伝送される。第二のノード2002は、このパケットを受信し、IPv4形式あるいはIPv6形式等のフォーマットに従って逆変換(デコード)し、元のセグメントを再生する。具体的には、IPヘッダーを取り除く。あるいは、TCPヘッダーも取り除いてデータを復元することができる。
データリンク層(レイヤー2)では、パケットにイーサネット・プロトコル・ヘッダー(イーサネットヘッダー)を添付する。この場合、プロトコル・データ・ユニットはフレームと呼ばれる。プロトコルはイーサネットである。
図1に対応する通信がデータリンク層(レイヤー2)における通信である場合、プロトコル・データ・ユニットはフレームである。第一のノード2001がデータ(この場合パケット)を受信すると、イーサネット形式に従ってイーサネットヘッダーをパケットに添付し、フレームを構成する。イーサネット形式では、更に、パケットが正しく届いたかどうかを確認するためフレーム・チェック・シークエンス(FCS)を添付する。こうして生成されたフレームは信号伝達路1000を通して第二のノード2002に伝送される。第二のノード2002は、このフレームを受信し、イーサネット形式に従って逆変換(デコード)し、元のパケットを再生する。具体的には、FCSをチェックしてパケットが正しく伝送されたかどうかを確認する。必要に応じて修復や再送依頼などの処置を施す。正しく伝送されたことが確認されたらイーサネットヘッダーとFCSを取り除く。
イーサネット規格では、最下層(レイヤー1)の物理層での変換、すなわち、光信号への変換や電気信号への変換も定義されることがある。変換後のフレームは10BASE-Tなどの回線に渡される。
これらの通信階層(通信レイヤー、あるいは、レイヤー)は、それぞれ入れ子の状態になっており、各階層(あるいは、各レイヤー)はそれぞれ完全に独立している。具体的には、図2に示したとおり、レイヤー4(トランスポート層)のセグメント(データにTCPヘッダーのみを添付したもの)のフォーマットは、レイヤー5(上位層)のフォーマット(データのみ)を変換せずに含んでいる。これは、セグメントがTCPヘッダーと元のデータをそれぞれ不可逆的に掛け合わせることなく添付しただけの構造だからである。同様に、レイヤー3(ネットワーク層)のパケットのフォーマット(セグメントにIPヘッダーのみを添付したもの)は、レイヤー4(トランスポート層)のフォーマット(セグメント)を変換せずに含んでいる。これは、パケットがIPヘッダーとセグメントをそれぞれ不可逆的に掛け合わせることなく添付しただけの構造だからである。さらに、レイヤー2(データリンク層)のフレームのフォーマット(パケットにイーサネットヘッダーおよびFCSを添付したもの)は、レイヤー3(ネットワーク層)のフォーマット(パケット)を変換せずに含んでいる。これは、フレームが、イーサネットヘッダーおよびFCSとパケットを、それぞれ不可逆的に掛け合わせることなく添付しただけの構造だからである。
すなわち、下位の通信階層でプロトコルやフォーマットを入れ替えても、上位の通信階層にはまったく影響しない。たとえば、図2において、レイヤー3(ネットワーク層)のIPヘッダーをIPv4からIPv6に変更してもTCPヘッダーおよび元のデータ(つまりセグメント)には何の影響もない。つまり、レイヤー3(ネットワーク層)で何か変更を加えてもレイヤー4(トランスポート層)には何も影響がない。レイヤー4(トランスポート層)に影響がなければレイヤー5(上位層)にも影響がない。同様に、レイヤー4(トランスポート層)でTCPヘッダーを何か別のヘッダーに置き換えても、元のデータにはまったく影響がない。つまり、レイヤー4(トランスポート層)で何か変更を加えてもレイヤー5(上位層)には影響がない。更に、イーサネットヘッダーを何か別のものに置き換えても、パケットには何も影響がない。たとえば、プロトコルをイーサネットからポイント・トー・ポイント(PPP)に変更してもパケットには何も変化がない。したがって、レイヤー2(データリンク層)で何か変更を加えても、レイヤー3(ネットワーク層)には何も影響がない。レイヤー3(ネットワーク層)に何も影響がなければレイヤー4(トランスポート層)にも何も影響がない。レイヤー4(トランスポート層)に何も影響がなければレイヤー5(上位層)にも何も影響がない。更に、レイヤー1(物理層)で何か変更をする。たとえば、信号伝達路を光ファイバーから無線LANに変更する。この場合でも無線LANを介して伝達される情報の内容(この場合フレーム)は、光ファイバーで伝達される情報の内容(フレーム)となんら変わりがない。つまり、レイヤー1(物理層)で何か変更を加えてもレイヤー2(データリンク層)には何も影響がない。レイヤー2(データリンク層)に何も変更がなければレイヤー3(ネットワーク層)にも何も影響がない。レイヤー3(ネットワーク層)に何も影響がなければレイヤー4(トランスポート層)にも何も影響がない。レイヤー4(トランスポート層)に何も影響がなければレイヤー5(上位層)にも何も影響がない。こうして、下位のどの通信階層で何か変更を施しても上位のどの通信階層にも何も影響がないことが判る。これは、後の技術革新の妨げとならないような設計である。
一方、本願は最下層の物理層とデータリンク層に関するものである。このような事情により、本願が伝送されるデータに影響を及ぼすことはない。
同じ階層で採用されるプロトコルは一定の整合性を持っていなければならないが、階層が異なればその必要はない。すなわち、階層を設計するということは、複数のプロトコルの関係性を設計することである。上記では、物理層とデータリンク層をそれぞれ別の階層(レイヤー1とレイヤー2)としたが、別の階層概念によれば、同じイーサネット・プロトコルに従わせて一つの階層とみなすことも可能である。この場合レイヤー数は一つ減って4階層となる。また、トランスポート層(レイヤー4)とネットワーク層(レイヤー3)のフォーマットを合わせてTCP/IP形式と呼ぶこともある。あるいは、逆に細分化する階層の設計概念もありうる。たとえば、OSI基本参照モデルでは、上位層を更に3つに分割し、下位からセッション層(レイヤー5)、プレゼンテーション層(レイヤー6)、アプリケーション層(レイヤー7)と階層する。
図1の場合おいて、ネットワーク外部から第一のノード2001に情報が入力される場合、元の情報はそれぞれ所定の長さのデータの集まりに分割されている。データはTCP/IP形式にしたがってフォーマットされ、パケットに変換される。パケットは、イーサネット形式に従ってフレームに変換される。物理層(レイヤー1)では、このフレームは信号伝達路1000の物理的実態を通して有線、無線、光、あるいは電子信号として送受信される。ここで、第一のノード2001および第二のノード2002は、物理的実態を持った情報機器である。次に、ネットワーク層(レイヤー3)上の第三のノード2003から第一のノード2001にパケットが入力される場合、このパケットはイーサネット形式に従ってフレームに変換され、信号伝達路1000を介して第二のノード2002に送信される。ここで、第一のノード2001、第二のノード2002、および信号伝達路1000は、どれも物理的実態を持つ。続いて、トランスポート層(レイヤー4)上の第三のノード2003からセグメントが第一のノード2001に入力される場合、このセグメントはIP形式に従ってパケットに変換され、ネットワーク層上の信号伝達路1000を通して第二のノード2002に送信される。ここで、第一のノード2001、第二のノード2002、第三のノード2003は、いずれも論理的存在であり物理的実態とは関係がない。たとえば、オペレーティングシステムに割り当てられた仮想的なノードである。このとき、信号伝達路1000も仮想的な伝達路に過ぎず、物理的実態との関連はない。すなわち、TCP/IP形式のネットワーク(ネットワーク層)では、ノードも信号伝達路も論理的に定義された仮想的存在であり、物理的実態とは関連性がない。これに対し、イーサネット形式のネットワーク(データリンク層)では、ノードも信号伝達路も物理的実態を持っている。たとえば、このノードはどの端末に対応しているか?この信号伝達路はどのLANケーブルに対応しているのか?と言った問いに答えられるものである。
図3では、第一のノード2001と第二のノード2002の間を第四のノード2004が中継している。ネットワーク外部、あるいは、第三のノード2003から何がしかのデータがデジタル信号として第一のノード2001に入力される。第一のノード2001は、第一の信号伝達路1001を介して第四のノード2004と接続している。第四のノード2004は、第二の信号伝達路1002を介して第二のノード2002に接続している。
第一の信号伝達路1001を介した第一のノード2001と第四のノード2004との接続は、基本的に図1を用いて説明した信号伝達路1000を介した第一のノード2001と第二のノード2002の間の信号伝達とほぼ同様であるが、第四のノード2004の働きが一部異なる。すなわち、図3のように、第四のノード2004を他の任意の2つのノードの中継器として使う場合(たとえば、第一のノード2001と第二のノード2002の間の中継器)、第四のノード2004は、第一の信号伝達路1001を介して第一のノード2001から受信したプロトコル・データ・ユニットをデコードせず、そのまま第二の信号伝達路1002を介して第二のノード2002に転送することが可能である。あるいは、何らかの編集を施してから転送することが可能である。
こうして、ネットワークの外部、あるいは、第三のノード2003から第一のノード2001に入力されたデータは、第一のノード2001で所定のフォーマットに従ってプロトコル・データ・ユニットに変換され、第一の信号伝達路1001を通して第四のノード2004に伝送される。第四のノード2004は、受信したプロトコル・データ・ユニットを逆変換(デコード)することなく、第二の信号伝達路1002を介して第二のノード2002に伝送する。あるいは、受信したプロトコル・データ・ユニットの一部(例えばヘッダー)を編集してから第二の信号伝達路1002を介して第二のノード2002に伝送する。第二のノード2002では、所定のフォーマットに従って受信したプロトコル・データ・ユニットを逆変換し、第一のノード2001に入力される前のデータを再生する。ここで第二のノード2002が従う所定のフォーマットとは、第一のノード2001が従うフォーマットと一定の整合性のあるフォーマットである。
第四のノード2004において、受信したプロトコル・データ・ユニットを編集してから第二の信号伝達路1002を介して第二のノード2002に転送する場合、より具体的には、当該レイヤーに対応するヘッダーを適当に編集してから転送する。たとえば第四のノード2004がデータリンク層(レイヤー2)に存在する場合、フレームのイーサネットヘッダーを編集して転送することが可能である。更により具体的には、少なくとも、中継器である第四のノード2004の所定の認証を追加する。その経由地は、物理的実態を伴うアドレス(物理アドレス)として認識される。この物理アドレスのことを特にMACアドレスと呼ぶ。MACアドレスはイーサネット機器(たとえばイーサネットカード)に固有のアドレスである。あるいはネットワーク層(レイヤー3)に存在する場合、パケットのTCP/IPヘッダーを編集して転送することが可能である。たとえば、少なくとも、中継器である第四のノード2004のシステムに対応する所定の認証を追加する。いずれにしろこうすることで、第二のノード2002がプロトコル・データ・ユニットを受信する際、このプロトコル・データ・ユニットがどこをどう経由して来たかということを追跡できる。その経由地は物理的実態を伴わないアドレス(論理アドレス)として認識される。この論理アドレスのことを特にIPアドレスと呼ぶ。IPアドレスは、たとえば、オペレーティングシステムに固有のアドレスである。
物理アドレスと論理アドレスの違いは次のような説明で自明である。たとえば、第四のノード2004を構成する電子機器を入れ替えることを考える。その場合、入れ替え前の第四のノード2004を構成する電子機器(旧電子機器)のオペレーティングシステムを、入れ替え後の第四のノード2004を構成する電子機器(新電子機器)へ再インストールしなければならない。このとき、物理的実態である電子機器固有の認証である物理アドレスは変更することになる。一方、オペレーティングシステムに固有の論理アドレスは入れ替え後も第四のノード2004のIPアドレスとして引き継がれる。これが論理ネットワーク(TCP/IPネットワーク)を採用する理由の一つである。
図1および図3の例において、第一のノード2001と第二のノード2002を交換することが可能である。すなわち、ネットワークの外部、あるいは、第三のノード2003から第二のノード2002に入力されたデータは、第二のノード2002で所定のフォーマットに従ってプロトコル・データ・ユニットに変換され、第二の信号伝達路1002を通して第四のノード2004に伝送される。第四のノード2004は、受信したプロトコル・データ・ユニットを逆変換(デコード)することなく、第一の信号伝達路1001を介して第一のノード2001に伝送する。あるいは、受信したプロトコル・データ・ユニットを所定の方法で編集してから第一のノード2001に伝送する。第一のノード2001では、所定のフォーマットに従って受信したプロトコル・データ・ユニットを逆変換(デコード)し、第二のノード2002に入力される前のデータを再生する。ここで、第一のノード2001が従う所定のフォーマットとは、第二のノード2002が従うフォーマットと一定の整合性のあるフォーマットである。図面は図3から自明なので省略する。ここで、所定の方法で編集するとは、たとえば、第四のノード2004の物理アドレス、あるいは、論理アドレスを添付すること、などである。
ネットワーク中の各ノードにつながる信号伝達路は一つに限らない。すなわち、すでに図3で見たように、第四のノード2004は2つの信号伝達路(第一の信号伝達路1001と第二の信号伝達路1002)に接続している。図4は、別の一例である。すなわち、第一のノード2001には、4つの信号伝達路(第一の信号伝達路1001、第二の信号伝達路1002、第三の信号伝達路1003、第四の信号伝達路1004)の一端がつながっている。それぞれ反対側の端が、第二のノード2002、第三のノード2003、第四のノード2004、および第五のノード2005に接続している。更に、第四のノード2004が、第五の信号伝達路1005を介して第六のノード2006に接続している。もちろん、図4は複雑なネットワーク構造のほんの一部、あるいは、一例に過ぎない。一般には、複数のノードが別の複数のノードと接続することでより大規模かつ複雑なネットワークが構築可能である。
しかしながら、ネットワーク構造がいかに大規模かつ複雑であろうとも、その要素(エレメント)は2つのノードで終端された信号伝達路である。図5参照。これは、上述したように、ネットワークの構成要素がノードと信号伝達路から構成されることに他ならない。上述したプロトコルは、このエレメントごとに定義できる。したがって、同じか、あるいは、一定の整合性を持ったプロトコルで規定された複数のエレメントの集合体は同じ通信階層に属することになる。同じ通信階層に属する複数のエレメントが互いに接続することによってローカル・エリア・ネットワーク(LAN)を構築することが可能である。最初に発明されたLANがイーサネットによるネットワークであり、データリンク層(レイヤー2)を束ねるものであった。このような歴史的背景から、現在でもLANとイーサネットはほぼ同義語として扱われる。
LANにノードとして接続する情報機器には、イーサネット・プロトコルに従ってそれぞれ固有の管理番号(MACアドレス)が割り当てられている。ここで、MACはメディア・アクセス・コントローラーの略である。すなわち、送信先と送信元それぞれのMACアドレスをイーサネットヘッダー、あるいは、その一部としてパケットに添付し、さらに、FCSを添付してフレームを生成する。このとき、別の言い方をすれば、MACアドレスでつながった(物理的実態を持つ)情報機器のネットワークがデータリンク層のネットワーク、すなわち、LANとみなすことができる。
第一のノード2001と第二のノード2002が、それぞれイーサネットで繋がった情報機器だとする。図5参照。このときプロトコル・データ・ユニットはフレームである。これらの2つの情報機器の間でフレームを伝送する場合、送信先の情報機器(たとえば第二のノード2002)と送信元の情報機器(たとえば第一のノード2001)は、共にイーサネット・プロトコルに従わなければならない。すなわち、第一のノード2001の管理番号が送信元のMACアドレスであり、第二のノード2002の管理番号が送信先のMACアドレスである。図5はネットワークのエレメントであり、実際にはもっと複雑なネットワーク構造の一部である。たとえば、図4のように、第一のノード2001は、第二から第五までの4つのノード(2002、2003、2004、2005)と接続している。ここでは、すべてのノードが同じプロトコルに従っていると仮定する。たとえば、第一のノード2001は、上記フレームを第一から第四の信号伝達路(1001、1002、1003、1004)を介して発信する。伝送するフレームのイーサネットヘッダーに含まれる送信先MACアドレスが、たとえば第二のノード2002のMACアドレスであったとしよう。第三のノード2003は、このフレームの送信先MACアドレスを確認して受信しない。第四のノード2004と第五のノード2005も同様に受信しない。第二のノード2002のみこのフレームを受信する。さらに第二のノード2002は、送信元のMACアドレスによってこのフレームが第一のノード2001から送られてきたものであることを確認できる。
第一のノード2001でパケットをコードしてフレームを形成し、このフレームを第二のノード2002に送付し、第二のノード2002で受信してフレームをデコードして元のパケットを再生する場合を考えよう。たとえば、図1参照。ネットワークの外部、あるいは、第三のノード2003から第一のノード2001にパケットが入力される。第一のノード2001は、このパケットに、送信元である第一のノード2001のMACアドレスと、送信先である第二のノード2002のMACアドレスを添付する。更にFCSを添付してフレームを生成する。こうして生成されたフレームは、プロトコル・データ・ユニットとして信号伝達路1000を介して第二のノード2002に伝送される。このように、MACアドレスに従ってフレームが送信先の情報機器(第二のノード2002)に届いたら、送信先ではイーサネット・プロトコルにしたがってフレームをデコードし、データリンク層に投入する以前の送信元のデジタル情報(パケット)を再現する。ここで、FCSに従って、必要に応じて修復あるいは再送の依頼をすることが可能である。再送依頼を出さない場合、こうして、データリンク層でのパケットの伝送が完了する。データリンク層でデコードするとは、MACアドレスやFCSなどイーサネット・プロトコルに従って元のデジタルデータ(パケット)に添付されていた余分なコードを取り除くことである。送信先(第二のノード2002)では、受信したフレームの送信元の制御情報(MACアドレス等)が確認できるので、受信したときデコードするか、更に伝送するかを判断することが可能である。
再生されたデジタル情報は、TCP/IPフォーマット形式のデータの一片、すなわちパケットである。IPパケットと呼ばれることもある。送信元である第一のノード2001がコードする以前のデジタルデータと同等であるものとする。パケットは、上述したように、ネットワーク層(レイヤー3)での通信データの単位であり、ネットワーク層でのプロトコルがIPプロトコル(IPv4あるいはIPv6等)である。
図1および図5が、データリンク層(レイヤー2)のエレメントを構成する場合、イーサネットヘッダーは封筒のようなものである。送信先MACアドレスは封筒に記載されたあて先住所であり、送信元MACアドレスは同じく封筒に記載された送り主の住所である。FCSは内容証明のようなものとなる。ここで、封筒の中身がパケットである。したがって、イーサネットでコードするということは、あて先と送り主の住所を記載した封筒にパケットを封入することであり、デコードとは開封することを意味する。封筒の中身と封筒に記載された事項には何の関連性もない。これが、上述した階層の独立性に相当する。たとえば、区画整理などによって番地や町名が変更になっても封筒の中身には何の変化もない。
図1および図5が、一つ上の階層(ネットワーク層)のエレメントを構成する場合、封筒はIPヘッダーになる。IPヘッダーには、送信先と送信元のネットワーク層上の住所であるIPアドレスが含まれる。封筒の中身はセグメントであり、IPヘッダーを添付することが封入である。一方、IPヘッダーを取り除くことが開封である。実際には、更に一つ上の階層(トランスポート層)と連携してIPアドレスが割り振られている。この場合封筒の中身は分割された一片のデータそのものである。
MACアドレスは、実際の情報機器(物理的実態のあるノード)にそれぞれ割り振られるので物理アドレスと呼ばれる。したがって、何がしかの物理的実態と関連付けられたデジタルデータの一片には、すべてMACアドレスが添付されている。これに対し、IPアドレスは必ずしも物理的実態とは関連しない。すなわち、オペレーティングシステム等が論理的に存在を仮定したノードに対して割り振ることが可能なので、論理アドレスと呼ばれる。こうして、インターネット上を行き交う途上一度でも物理的実態を伴う情報機器を介したデジタルデータの一片(プロトコル・データ・ユニット)には、IPアドレスだけでなくMACアドレスも所定の形式で付与されることになる。
こうして、インターネット上の住所(例えば、パケットの送信先)であるIPアドレスに対して、情報機器の管理番号であるMACアドレスは通行手形のような使われ方をすることがわかる。すなわち、インターネット上のある一塊のネットワーク内(たとえばLAN)に情報を届けることを考えよう。このネットワーク内の機器、あるいは、このネットワークを管理する基幹ノードやルーターは、事前に登録された情報機器からのみフレームを受け付けるものとする。事前登録された機器から発信されフレームかどうかを見極めるために送信元のMACアドレスを調べることになる。事前登録された送信元であることが確認された場合のみフレームを開封(デコード)し、パケットを受信する。そうでない場合はフレームを開封しない。
MACアドレスは、情報機器に搭載されているイーサネットカードに固有の管理番号として割り当てられている。電気電子技術者学会(IEEE)によって標準化され(MACアドレス標準)、長さ48ビット(6バイト)、したがって情報量およそ280兆もの0と1の数列からなる。このうち1ビットはULビットと呼ばれるものに割り当てられる。MACアドレスがグローバルアドレスの場合、ULビットは1である。そうでない場合0である。すなわち、グローバルアドレス(ULビット=1)の場合では全世界で重複を起こさないよう、MACアドレスを割り当てられなければならない。ここで注意すべきことは、現在現役で使用されている情報機器だけでなく、すでに廃棄されたり紛失したり使用されなくなってしまった情報機器にまで渡って全世界で重複しないよう、MACアドレスを割り当てられなければならないことである。これは、MACアドレスが物理的実態を伴う個々の情報機器に割り当てられるからである。この48ビットの内、別の1ビットはIGビットと呼ばれるものに割り当てられる。IGビットが0の場合、ユニキャスト通信を意味し、1の場合はマルチキャスト通信を意味する。ユニキャスト通信とは、情報機器のネットワークの中において単一の送信先を指定してフレームを送信することである。これに対しマルチキャスト通信とは、情報機器のネットワークの中において、複数の送信先を指定してフレームを送信することである。こうして、48ビットの内ULビットとIGビットの2ビットを除いた46ビットが実際に割り当てられるMACアドレスの自由度ということになる。数にしておよそ70兆ほどである。MACアドレスを表記するには、このULビットとIGビットを含む48ビットの数列を8ビットごとに区切ってそれぞれ16進数で表す。
図6に、イーサネットカードの典型例を図示する。イーサネットカード3000は、主に、MACアドレスを保存した不揮発性メモリチップ3010とメディア・アクセス・コントローラー(MAC)用演算処理チップ3020(MAC制御装置)から構成される。イーサネットカードは、一般に、LANなどを介して情報機器を相互接続するために情報機器に搭載して用いる。そのため、本来はLANボード、あるいは、LANカードと呼ばれる。しかしながら、LANカードやLANボードの規格がほとんどの場合イーサネット規格に準拠しているので、イーサネットカードとLANカードはほぼ同義で呼ばれることが多い。図6は、プリンター、ルーター、あるいは、デスクトップパソコンなどに搭載して使用する場合をイメージした例である。イーサネットカードの背面にはイーサネットコネクタがあり、イーサネットカードを搭載した情報機器の背面にこのイーサネットコネクタがむき出しになる。このイーサネットコネクタにLANケーブルを差し込む。あるいは、アンテナを付けて無線LANに接続する。他の情報機器に搭載する場合も基本構成はこれとさして変わらない。
情報機器をブートする際、あるいは、有線無線に関わらず情報機器をネットワークに接続する際、情報機器のオペレーティングシステムがイーサネットカードに内蔵された不揮発性メモリ3010からMACアドレスを読み出す。情報機器の演算処理装置は、このMACアドレスをイーサネットカードに内蔵のメディア・アクセス・コントローラー(MAC)用演算処理チップに書き込む。この情報機器(送信元)からネットワークに接続した別の情報機器(送信先)にデータを送信するとき、このメディア・アクセス・コントローラー(MAC)用演算処理チップに書き込まれたMACアドレスが、送信元のMACアドレスとしてフレームに添付される。こうしてオペレーティングシステムが情報機器と関りなく勝手にMACアドレスを設定するのではなく、物理的実態である情報機器(実際にはイーサネットカード)に依存したアドレスが割り当てられる。
このようにイーサネットカードとは、情報機器をネットワークに接続するために使用されるネットワークカードの一種である。すなわち、一つの情報機器は少なくとも一つのイーサネットカードを必要とし、各イーサネットカードにそれぞれMACアドレスが割り当てられている。インターネットに接続する情報機器の数が全世界で増大するにつれ、過去に使用された情報機器も含めて割り当てられた(使用済み)MACアドレスの数も増大する。
図80は、典型的なMACアドレスの使用例である。上述したように、イーサネットカード3000は、MACアドレスを記録したメモリチップ(たとえば不揮発性メモリチップ3010)とメディア・アクセス・コントローラー(MAC)用演算処理チップ3020を含み、カード背面にはイーサネットコネクター(LANコネクター)を有する。イーサネットカードは、LANカードとも呼ばれ、主にパーソナルコンピューター等の背面などに搭載される。こうして、イーサネットコネクタにLANケーブルを接続することによって、パーソナルコンピューター等をローカルエリアネットワーク(LAN)に接続することが可能となる。このLANケーブルは、インターネットを構成する信号伝達路1000の一部、あるいは、全部である。
パーソナルコンピューターの電源を入れると、中央演算処理装置(CPU)がオペレーションシステムを起動する際、オペレーションシステムを稼働するのに必要な情報が主記憶(たとえばDRAM)にロードされる。イーサネットカードがパーソナルコンピューターに搭載されていることを検知した場合、オペレーションシステムが、イーサネットカードに含まれるメモリチップからMACアドレスを読み込む。このMACアドレスはメディア・アクセス・コントローラー(MAC)用演算処理チップ3020に書き込まれる。
イーサネットカードは物理的実態のあるものであり、したがって、イーサネットカードの内部メモリ(たとえば不揮発性メモリチップ3010)に記録されたMACアドレスは、物理的実態を有するイーサネットカードに固有のものとして扱われる。メディア・アクセス・コントローラー(MAC)は、この送信元MACアドレスと、送信先MACアドレスと、フレーム・チェック・シークエンス(FCS)を、パケットに添付してフレームを生成する。そして、このフレームをLANコネクターから信号伝達路で構成されるローカルエリアネットワークを通じて送信先に送信する。別の言い方では、信号伝達路を介してフレームを送受信する。しかしながら、物のインターネットの時代では、MACアドレスは、不正編集、不適切編集、枯渇、あるいは、重複等の問題をはらんでいる。
MACアドレスは、図81に一例を示すように、48ビット相当の二進法の数列である。上位の24ビット(図81の例で左半分)はベンダーコード3071と呼ばれ、ベンダーごとに割り当てられる。ベンダーコード3071の最後の2ビットは、ULビットとIGビットである。下位の24ビット(図81の例で右半分)は、シリアル番号3072と呼ばれ、各ベンダーが重複しないよう割り当てている。
そうした中、21世紀に入り情報通信産業は飛躍的な進歩を遂げ、近年は更なる巨大マーケットを創出しつつある。従来の情報端末のみならず、家電、家、車などすべてのモノがネットワークに接続するインターネット・オブ・シングス(Internet of Things, IoT)、あるいは、物のインターネットが出現すると期待されている。それは既存のどの市場にも属さず、社会基盤そのものを変革する可能性を秘めている。
このように超巨大な物のインターネットでは、ネットワークに接続する情報機器の数が数兆個から数十兆個にまで上ると考えられ、近くトリリオンノードの時代が来ると期待されている。トリリオンノードの考え方では、ネットワークに接続したセンサーを全世界に数兆個以上張り巡らし、これまでになく詳細で大量のデータを収集し、高度な計算技術で解析することで多くの社会問題の解決に寄与できるとしている。この構想は2013年に開催されたTSensors Summitという学会からから世界に広まった。
現在のイーサネットのシステムに何ら変更を加えず、そのまま物のインターネットに拡張するとどうなるだろうか?従来の情報機器のみならず、身の回りのすべての物にMACアドレスが割り振られることになる。そして、それが全世界に広がる。すなわち、グローバルモード(ULビット=1)で、数兆個ものMACアドレスを全世界同時に重複無しに割り当てなければならない。ただし、この数兆個という数は、現役でネットワークに接続する情報機器の数である。全世界で廃棄されたり、紛失したり、何らかの理由で使用されなくなった過去のすべての情報機器も含めると、物のインターネットが興隆するころまでに消費されるMACアドレスの数は、すぐに十兆かそれより大きくなるだろう。上述したように、MACアドレスの数の上限は、実質的におよそ70兆である。枯渇するのは時間の問題と考えられる。
枯渇の問題を避ける一つの方法は、MACアドレスを変更することである。たとえば、廃棄する際に消去し、あるいは5年以上ネットワークに接続されなかったMACアドレスは廃棄されたと見なし、他の情報機器に割り当てるなどの対処方法が可能である。実際に、MACアドレスは不揮発性メモリチップに保存されるのでその気になれば変更可能である。たとえば、一部のパソコン用オペレーティングシステムなどでは、デバイスマネージャーを使ってMACアドレスを変更することが可能となっている。あるいは、MACアドレスを変更するためのツール(MACアドレスチェンジャー)も出回っている。
しかしながら、グローバルモード(ULビット=1)でのこのような変更は、全世界でMACアドレスが重複しないよう慎重に行わなければならない。なぜなら、MACアドレスが重複するとネットワークの誤動作を引き起こし、あるいはセキュリティが脆弱になるなどの悪影響が懸念されているからである。
物のインターネットのノードは、末端のユーザーである個人がネット接続の手段として用いる情報端末だけでなく、トリリオンノードで用いられるセンサーも含まれる。世界人口を70億人とすると、ノード1兆個の場合単純計算で一人当たりおよそ150個のMACアドレスに囲まれていることになる。その内末端のユーザーである個人がネット接続の手段として用いる情報端末として認識するものは多くとも平均で10個未満であろう。残りの140個については自然放置に近い状態となる。もちろん、トリリオンノードの時代では、ノード数は1兆個より更に多くなると考えられる。先進国では、一人当たりのMACアドレスの数は150より更にずっと多くなるだろう。
これらのノードは個人情報のみならず、個人の周辺にある機器の動作を制御するシステムも含んでいる。訓練を受けた専門家が世界中に分布するすべてのノードを中央管理しようとしても数兆個ものノードを同時に管理するのは至難の業である。仮にできたとしても、誰が責任を持ってその管理システムを扱うべきなのかは難しい問題となる。一民間企業が勝手に行なうのは好ましくない。人間の能力を超える人口知能に任せることも現状では現実的でない。
すべてのノードを適切に管理することができないとしたら何が問題になるか?たとえば、悪意を持ったハッカーが、きめ細かく管理されていないノードを乗っ取り、他人に成りすまして悪用することが可能である。もしノードの成りすましが横行すれば大きな問題になる。高価な情報端末であれば、高度なセキュリティ技術によって守られるだろう。しかしながら、上述した簡単な推定でも明らかなように、こうした高度なセキュリティ技術が施される情報端末は、一人当たりせいぜい10個である。これに対し、可能な限り安価な普及型センサーには高度なセキュリティ技術は採用できない。ノード数が一兆個の場合そのようなセンサーは、上述のように一人当たりおよそ140個にもなるだろう。つまり、近い将来のネットワーク利用者は、10個の安全な情報端末を利用しつつ、140個もの素性の知れないセンサーに囲まれることになる。
平たく言えば、物のインターネットに接続されるセンサーそのものがハッキングデバイスである。善意では社会問題の解決のために用いられるが、その本質はハッキング技術による社会問題解決のための取り組みである。悪意のあるハッカーが攻撃のために利用する危険性と常に背中合わせである。
また、悪意のあるハッカーがいなかったとしても、MACアドレスの重複はネットワークの誤動作を引き起こす可能性がある。たとえば、二つの異なるセンサーが別々の情報を取得し、サーバーに情報を伝送する場合を考える。この二つの異なるセンサーがたまたま同じMACアドレスを持っていた場合、このサーバーは矛盾する二つの情報が一つのセンサーから送られて来たと誤認することになる。たとえば、第一のセンサーが検査した対象物の色は赤であり、第二のセンサーが検査した対象物の色は青だったとしよう。この第一のセンサーと第二のセンサーのMACアドレスが重複していた場合、このサーバーが受信する情報は、一つの検査対象物の色が青であると同時に赤であるということになる。これが、自動運転のためのシステムであったらどうなるだろう。とある交差点の信号は赤であり同時に青なのである。
このような問題を論理アドレスで補うことは不可能である。なぜなら、論理アドレスはどのような物理的実態とも連携していないからである。すなわち、物のインターネットが物理的実態を持ったノード同士のネットワークである限り、TCP/IP形式のネットワークの運用実績で培った手法だけでは適切に管理できないのである。こうして、物のインターネットの産業応用(例えばインダストリー4.0やインダストリアル・インターネット)を実現するための課題は、これまでの情報テクノロジーの延長とは明らかに異質であることが伺える。
たとえば、工場内には多数の製造装置が製造ライン上に並び、連携して製品を製造する。製品の良品率を上げるため、個々の製造装置の調整をするとともに、これらの製造装置同士の連携を最適化させる必要がある。このような効率を上げるため、すべての製造装置がコンピュータによって管理されるが、そのためにはすべての製造装置をネットワークに接続する必要がある。製造装置は小さいものから大きいものまであり、大きいものは部位ごとに細分化されそれぞれネットワークに接続される。工場が高度化し大規模化するに従い、ネットワークも大きくなる。従来型の情報技術では、作業を行うのはコンピュータープログラムであった。これに対し物のインターネットでは、連携制御をコンピュータープログラムに任せているとはいえ、実際の作業を行うのは物理的実態を持った機械や装置である。
現在こうした物理的実態を持った情報端末にはMACアドレスが割り振られている。上述したような重複によって思わぬ誤動作を起こしたり、悪意のあるハッカーによるハッキングによって工場そのものが機能停止に追い込まれたりする危険性がある。主要産業の工場の全面的機能停止は、国家レベルの安全保障の問題である。被害額は、大規模な自然災害やミサイルなどによる直接攻撃の結果に匹敵するだろう。
一方、従来のインターネット上の情報通信におけるセキュリティとは、たとえば図5の信号伝達路1000を送受信するデータを暗号化して盗難から防ぐことや、アカウントとパスコードの組み合わせなどによって基幹ノードへの不正アクセスを防ぐことに主眼が置かれている。いずれにしろ暗号技術であり、図5の信号伝達路1000の両端がどのような物理的実態なのかを問題にすることは不可能である。これは、事実上インターネットが論理ネットワークだからである。しかしながら、物のインターネットでは、データの送信元と送信先がそれぞれ物理的実態のある物として認識されなければならない。信号伝達路の両端に接続している物理的実態を含めた物理的認証が必要になる。
このように、MACアドレスとは、平たく言えば、物理的実態を持つイーサネットカードの編集可能なデジタル認証である。そこで、これを物のインターネットのデジタル認証として活用する方法が考えられる。しかしながら、これまでに見てきたように、MACアドレスには枯渇の問題があり、編集可能であるということ自体が問題である。これは、図6のように、MACアドレスが元々不揮発性メモリに記録される48ビットのコードだからである。
(なりすまし)
実は、MACアドレスばかりでなく、IPアドレスなどの論理アドレスも不都合な事情は共通している。論理アドレスでも物理アドレスでもネットワーク上の任意のネットワークアドレスは接続する側から認識されることを目的としているので、暗号化などして秘匿にすることが難しい。したがって、通常の場合、ハッカーも攻撃対象のネットワークアドレスを認識することが可能である。ハッカーは攻撃対象のセキュリティシステムを攻撃することなく、攻撃対象のネットワークアドレスを盗むことによって、攻撃対象のノードに成りすますことができる。このような攻撃を「なりすまし」という。
しかしながら、なりすましが成り立つ状況は論理的に定義されたノード間の論理ネットワークのみに意味のある場合にはあまり意味がない。一方IoTの場合、物理的実体のあるノード(物理ノード)間のネットワーク(物理ネットワーク)と、物理的実体と何ら関係なく論理的に定義される論理ノード間のネットワーク(論理ネットワークあるいはIoTネットワーク)が併存する。論理ネットワーク上の論理ノードのアドレスが論理アドレスであり、この論理アドレスと物理ノードを紐づけすると期待されていたのがMACアドレスである。 
すなわち、このMACアドレスが読み取り容易でさらに書き換え可能であれば、ハッカーは攻撃対象の物理ノードのMACアドレスを読みとり自分のデバイス(ハッカーの物理ノード)にコピーし、攻撃対象のMACアドレスを適当に書き換えてしまえばよい。こうして中間者攻撃が可能となる。この時ハッカーは論理ネットワーク上に構築された、いかなるソフトウェアセキュリティも破る必要はない。
また仮に書き換え不可能であったとしても、ハッカーは攻撃対象の論理アドレスを読むことができる。攻撃対象にDDOS攻撃などを仕掛け、動作不良に追い込んだ後コピーした論理アドレスを自分の物理ノードにコピーすればやはりなりすまし攻撃が可能となる。この論理アドレスをコピーした物理ノードを偽造ノードと呼ぶことができる。偽造ノードは、ハッカーが物理ネットワークに中間者攻撃を仕掛けるときに中心的役割を担う。
このように、論理ネットワークと物理ネットワークが併存している限り、どんなに強力なソフトウェアセキュリティを用いてもなりすまし攻撃を防ぐことは不可能である。さらに
具合が悪いことは、なりすまされた後ソフトウェアセキュリティはハッカーの通信を暗号化して守ってしまうので、中間者攻撃を発見することは非常に難しい。これは、物のネットワーク(IoT)にソフトウェアセキュリティのみを活用した場合の共通の問題である。
偽造ノードを自動で検索し、正規のネットワークから自動で排除する技術が求められる。
本発明は上記事情を鑑みて成されたものであり、真に物理的実態に対して一意に割り当てられ、編集不可能で、物のインターネットの時代になってもなりすましの懸念のない物理アドレスを活用し、より安全なIoTネットワークを提供することを目的とする。
本発明は、上記課題を解決するため、以下の手段を採用する。
本発明に関わる電子装置のネットワークは、
少なくとも、第一から第六の物理ノードを構成要素とし、
 
前記第一の物理ノードは、第一の半導体チップ、第一のチップ認証装置、第一のチップ認証抽出装置、及び、第一の内部メモリを、含む、第一の電子装置であり、
 
前記第一の半導体チップは、第一のセルアレイを含み、
前記第一のセルアレイは、所定の方法で、第一の固有乱数を生成し、
前記第一の内部メモリは、第一の辞書を保存し、
前記第一のチップ認証装置は、第一のハッシュモジュール、および、前記第一のセルアレイを、含み、
 
前記第二の物理ノードは、第二の半導体チップ、第二のチップ認証装置、第二のチップ認証抽出装置、及び、第二の内部メモリを、含む、第二の電子装置であり、
 
前記第二の半導体チップは、第二のセルアレイを含み、
前記第二のセルアレイは、所定の方法で、第二の固有乱数を生成し、
前記第二の内部メモリは、第二の辞書を保存し、
前記第二のチップ認証装置は、第二のハッシュモジュール、および、前記第二のセルアレイを、含み、
 
前記第三の物理ノードは、第三の半導体チップ、第三のチップ認証装置、第三のチップ認証抽出装置、及び、第三の内部メモリを、含む、第三の電子装置であり、
 
前記第三の半導体チップは、第三のセルアレイを含み、
前記第三のセルアレイは、所定の方法で、第三の固有乱数を生成し、
前記第三の内部メモリは、第三の辞書を保存し、
前記第三のチップ認証装置は、第三のハッシュモジュール、および、前記第三のセルアレイを、含み、
 
前記第三の物理ノードは、第一のセキュリティパラメータを、前記第一のハッシュモジュールに送付し、
前記第一のハッシュモジュールは、前記第一の固有乱数と前記第一のセキュリティパラメータから、第一のセキュリティ状態を生成し、
 
前記第二の物理ノードは、前記第一の物理ノードに第二の入力信号を送信し、前記第一の物理ノードは、前記第一のチップ認証装置に前記第二の入力信号を入力し、
前記第一のチップ認証装置は、前記第二の入力信号および前記第一のセキュリティ状態から、第一の出力信号を生成し、
前記第一の物理ノードは、前記第一の出力信号を、前記第二の物理ノードに返信し、
 
前記第二の物理ノードは、前記第一の出力信号を、前記第二のチップ認証抽出装置に入力し、
前記第二のチップ認証抽出装置は、前記第二の入力信号と、前記第一の出力信号から、入力信号と出力信号の組み合わせ、第一の入出力セットを定義し、
前記第二の物理ノードは、前記第一の入出力セットを、前記第二の辞書に記録すし、
 
前記第二の物理ノードは、前記第四の物理ノードに前記第二の入力信号を送信し、
 
前記第四の物理ノードは、第四の半導体チップ、第四のチップ認証装置、第四のチップ認証抽出装置、及び、第四の内部メモリを、含む、第四の電子装置であり、
 
前記第四の半導体チップは、第四のセルアレイを含み、
前記第四のセルアレイは、所定の方法で、第四の固有乱数を生成し、
前記第四の内部メモリは、第四の辞書を保存し、
前記第四のチップ認証装置は、第四のハッシュモジュール、および、前記第四のセルアレイを、含み、
 
前記第二の物理ノードは、前記第三の物理ノードに、前記第一のセキュリティパラメータを発行し、それを前記第四の物理ノードに送付するよう、要請し、
 
前記第三の物理ノードは、この要請に従い、前記第一のセキュリティパラメータ値を発行し、それを前記第四のハッシュモジュールに送付し、
前記第四のハッシュモジュールは、前記第四の固有乱数と前記第一のセキュリティパラメータから、第四のセキュリティ状態を生成し、
 
前記第二の物理ノードは、前記第四の物理ノードに前記第二の入力信号を送信し、前記第四の物理ノードは、前記第四のチップ認証装置に前記第二の入力信号を入力し、
前記第四のチップ認証装置は、前記第二の入力信号および前記第四のセキュリティ状態から、第四の出力信号を生成し、
前記第四の物理ノードは、前記第四の出力信号を、前記第二の物理ノードに返信し、
 
前記第二の物理ノードは、前記第四の出力信号を、前記第二のチップ認証抽出装置に入力し、
前記第二のチップ認証抽出装置は、前記第二の入力信号と、前記第四の出力信号から、入力信号と出力信号の組み合わせ、第四の入出力セットを定義し、
前記第二の物理ノードは、前記第四の入出力セットを、前記第二の辞書に記録されている、前記第一の入出力セットと比較し、
 
一致している場合、前記第四の物理ノードを、前記第一の物理ノードと認証する、
 
ことを特徴とする。
 
あるいは、前記第一の物理ノードは、第一の鍵生成装置を、さらに、含み、
 
前記第五の物理ノードは、第五の半導体チップ、第五のチップ認証装置、第五のチップ認証抽出装置、及び、第五の内部メモリを、含む、第五の電子装置であり、
 
前記第五の半導体チップは、第五のセルアレイを含み、
前記第五のセルアレイは、所定の方法で、第五の固有乱数を生成し、
前記第五の内部メモリは、第五の辞書を保存し、
前記第五のチップ認証装置は、第五のハッシュモジュール、および、前記第五のセルアレイを、含み、
 
前記第五のチップ認証抽出装置は、第51の入力信号を、前記第一の物理ノードに送付し、
前記第一の物理ノードは、前記第51の入力信号および前記第一のセキュリティ状態から、第51の出力信号を生成し、
 
前記第一の物理ノードは、前記第51の出力信号を、前記第一の鍵生成装置に入力し、
前記第一の鍵生成装置は、第一の秘密鍵および第一の公開鍵を生成し、
前記第一のハッシュモジュールは、前記第一の公開鍵及び前記第一の辞書を、まとめてハッシュ化し、第一のハッシュ値を生成し、
 
前記第六の物理ノードは、第六の半導体チップ、第六のチップ認証装置、第六のチップ認証抽出装置、第六の内部メモリ、及び、第六の鍵生成装置を、含む、第六の電子装置であり、
 
前記第六の半導体チップは、第六のセルアレイを含み、
前記第六のセルアレイは、所定の方法で、第六の固有乱数を生成し、
前記第六の内部メモリは、第六の辞書を保存し、
前記第六のチップ認証装置は、第六のハッシュモジュール、および、前記第六のセルアレイを、含み、
 
前記第三のチップ認証抽出装置は、第六のセキュリティパラメータを、前記第六のハッシュモジュールに送付し、
前記第六のハッシュモジュールは、前記第六の固有乱数と前記第六のセキュリティパラメータから、第六のセキュリティ状態を生成し、
 
前記第五のチップ認証抽出装置は、第56の入力信号を、前記第六の物理ノードに送付し、
前記第六の物理ノードは、前記第56の入力信号および前記第六のセキュリティ状態から、第六の出力信号を生成し、
前記第六の物理ノードは、前記第六の出力信号を、前記第六の鍵生成装置に入力し、
前記第六の鍵生成装置は、第六の秘密鍵および第六の公開鍵を生成し、
 
前記第一の物理ノードは、前記第一の秘密鍵を用いて、前記第一のハッシュ値と、前記第六の公開鍵とを、まとめて、暗号化し、第一の電子署名とし、
 
前記第一の物理ノードは、前記第一のハッシュ値と、前記第一の電子署名を、前記第六の物理ノードに送付する、
 
ことを特徴とする。
あるいは、本発明に関わる電子装置のネットワークは、
第七の物理ノード、及び、第八の物理ノードを、構成要素とし、
 
前記第七の物理ノードは、第七の半導体チップ、第七のチップ認証装置、第七のチップ認証抽出装置、及び、第七の内部メモリを、含む、第七の電子装置であり、
 
前記第七の半導体チップは、第七のセルアレイを含み、
前記第七のセルアレイは、所定の方法で、第七の固有乱数を生成し、
前記第七の内部メモリは、第七の辞書を保存し、
前記第七のチップ認証装置は、第七のハッシュモジュール、および、前記第七のセルアレイを、含み、
 
前記第七の辞書は、複数の入出力セットの集合からなる第七の管理領域を登録し、
対応する入出力セットが前記第七の管理領域に属する物理ノードは、前記第七の物理ノードの管理下にあり、
 
前記第八の物理ノードは、第八の半導体チップ、第七のチップ認証装置、第八のチップ認証抽出装置、及び、第八の内部メモリを、含む、第八の電子装置であり、
 
前記第八の半導体チップは、第八のセルアレイを含み、
前記第八のセルアレイは、所定の方法で、第八の固有乱数を生成し、
前記第八の内部メモリは、第八の辞書を保存し、
前記第八のチップ認証装置は、第八のハッシュモジュール、および、前記第八のセルアレイを、含み、
 
前記第八の辞書は、複数の入出力セットの集合からなる第八の管理領域を登録し、
対応する入出力セットが前記第八の管理領域に属する物理ノードは、前記第八の物理ノードの管理下にあり、
 
前記第七の物理ノード、あるいは、前記第八の物理ノードの、どちらかの管理下にある任意の物理ノードは、前記第七および第八の物理ノードが共同で管理する共同管理領域に属し、
 
前記第七及び第八の物理ノードは、前記第七の辞書あるいは前記第八の辞書に登録されていない任意の物理ノードを、前記共同管理領域から排除し、
前記共同管理領域を、一つの閉じた物理ネットワークとして、共同で管理する、
 
ことを特徴とする。
 
本発明によれば、真に物理的実態に対して一意に割り当てられ、編集不可能で、物のインターネットの時代になってもなりすまし攻撃の懸念の少ない物理チップ認証を活用することによって、より安全なIoTネットワークを提供することが可能となる。
図7は、情報機器140の基本構成を概念的に示した図面である。たとえば、複数の(たとえばN個の)半導体チップ(第一のチップ110、第二のチップ120…第Nのチップ130)が搭載されている。図8は、この情報機器140を第一のノード2001とし、信号伝達路1000を介して第二のノード2002と接続する場合を図示したものである。第一のノード2001内の、第一のチップ110は、外部入出力(I/O)50を通して通信伝達路1000に接続している。ここで、第一のチップ110は、チップ認証装置60を搭載している
本願によるチップ認証装置60は外部入出力50から受け取るコール(入力信号)に応じて都度出力信号を発生するものであり、発生された出力信号は物理的乱雑さ(ランダム)を利用して生成されるものである。このコールは、一例として、オペレーティングシステムなどから与えられる。あるいは、別の一例として、このチップ認証装置60をと際する電子装置と通信状態にある別の電子装置から与えられる。また、入力信号を変えると出力信号も変わるという特徴を有している。この点で、図6で説明したMACアドレスと根本的に異なるものである。すなわち、MACアドレスは、不揮発性メモリチップ3010に保存されたデータであり、入力信号によって出力を変更するような機能を持つものではない。 
 
(物理的にクローン不可能な機能) 
このような機能として近年注目を集めている技術が、物理的にクローン不可能な機能(PUF)と呼ばれるものである。これは、指紋や網膜などの生体情報を用いて人の個人認証を行うのと同様に、半導体のチップにおいても一つ一つ異なる物理的特性を用いてチップの固体認証行うものである。必要条件として要求される主な特徴は、(1)同一の入力をした異なるPUFは常に異なる出力をすること。(2)同一のPUFに異なる入力をすれば常に異なる出力をすること。(3)入力と出力の組み合わせを盗まれても、未知の入力に対する出力は予測不可能であること、(4)入力と出力の関係が安定していて信頼できること、である。この中で、必要条件(4)は量産品である限り特に自明である。
ICチップ製品(半導体チップ製品)の場合、パッケージ剤の化学光学的性質を用いたPUFを利用するもの(コーティングPUF)
と、チップそのものに依存したPUFを利用するもの(チップPUF)がある。特に近年では、チップ内に保存された暗号鍵の盗難や偽造チップ問題が注目されていることもあり、後者、PUFをチップ内に搭載する技術への注目度が高い。たとえば、暗号鍵と、適当に選んだ入力コードに対応してPUFが出力するPUFデータをアクティブコード生成装置に入力し、生成したアクティブコードを内部メモリに保存する方法がある。アクティブコードの生成はチップの出荷前か事前登録の際に一回のみ行うものとし、その後は必要に応じてチップ内に保存したアクティブコードとPUFデータを鍵生成装置に入力して都度暗号鍵をチップ内で生成する。この方法では、暗号鍵も、暗号鍵を生成するために使用した入力コードも、内部メモリに保存する必要はない。したがって、チップが暗号処理をしている間にハックされない限り暗号鍵を盗まれる心配はない。一方アクティブコードを盗まれる可能性はあるが、アクティブコードのみ盗んでもPUFデータがなければ暗号鍵を複製できない仕組みである。すなわち、PUFデータを取得するために使用した入力コードがわからない限り、上記(2)と(3)の必要条件が暗号鍵の複製を防ぐのに役立つことになる。このように、暗号鍵の複製を非常に困難にするのがPUFを利用するメリットの一つである。 特許公開2009-519473
しかしながら、今最も注目されているPUFの使い方はICチップの固体認証である。これには上記(1)の必要条件が必須である。つまり、PUFは、入力するリード信号(この場合入力コード)に対し、チップに固有の認証(PUFデータ)を出力しなければならない。
さらに、物のインターネットにおいては、ノード数は数兆個を遥かに超えることが予想されるので、PUFが個別認証すべき個体数も桁違いに大きくなる。すなわち、上記PUFの必要条件(1)-(4)に次の必要条件を追加すべきである。すなわち、(5)一つの入力に対する出力のパターンが現実的に無限と見なせるほど大きな数となること、である。こうして、超巨大な物のインターネットでチップの物理的認証を実現するためにPUFを活用することが可能である。
ここで、コーティングPUFが(1)-(5)の必要条件を満たしていたとしよう。コーティングPUFの読み出しは、パッケージに光学的刺激を与えることにより行われる。これは、ネットワークを介して(電子的に)チップの個別認証を読み出すことができないことを意味している。したがって、更に次の必要条件を付加すべきである。すなわち、(6)ネットワーク上のチップ認証はチップに固有の電子信号でなければならない。
上記必要条件(6)を満たすチップPUFは大きく分けて2種類報告されている。一方は回路のばらつきを利用した回路PUFであり、もう一方は回路以外の微細構造のばらつきを応用したもの(製造PUF)
である。回路PUFは、更に、回路の配線遅延を利用するもの(遅延PUF) と、回路のメタスタビリティを利用するもの(メタスタビリティPUF) に分かれる。遅延PUFとは、IC内で同様の設計仕様で集積化された複数の回路の動作時間に関する制御不能のばらつきを利用するものである。利用される回路の代表例は、アービター回路、グリッチ回路、リング発信回路などである。メタスタビリティPUFで使用される回路は、主にスタティックランダムアクセスメモリ(以下SRAM)とラッチ回路(バタフライPUF)である。 特開2015-201884号公報 公告番号 WO2011118548A1 特開2013-131868号公報
回路PUFの弱点は、まず個体差が小さいことである。これは必要条件(5)を満たすのに不利である。そして出力が不安定であり、必要条件(4)を満たすのに不利である。更に温度変化などの外部環境に影響されやすく、フォールト攻撃に弱い。そのため増幅回路や温度センサー回路などを追加する必要がある。こうして設計への負荷が高くなり、PUFデータの長さへの制限が大きくなる。すなわち、上記必要条件(5)を満たすことが非常に難しい。PUFデータそのものが短ければ、たとえ出力がランダムであっても、認証付けられるチップの数が制限される。
製造PUFでは、意図的に集積化された層間バイアの製造ばらつきに起因するランダムな断線などが利用される。回路PUFの弱点の多くを解消できる可能性があるが、従来の半導体製品に含まれない特殊な構造を集積化する必要があり、一般的に製造工程への負荷が大きくなる。やはりIoT全般に向けて普及するにはハードルが高いと言える。
そのほか、デバイスの信頼性を利用するもの
も提案されているが、信頼性そのものが低く必要条件(4)を満たさない。また、電源オン時のダイナミックランダムアクセスメモリ(以下DRAM)のキャパシタのばらつきを利用するもの も報告されている。これは、原理的にラッチ回路PUFと共通の問題を抱えている。すなわち、個体差が小さく、環境要因の変化を利用したフォールト攻撃に弱い。 特開2015-139010号公報 Fatemeh Tehranipoor, Nima Karimian, Kan Xiao, John Chandy,"DRAM based Intrinsic Physical Unclonable Functions for System Level Security", in GLSVLSI'15 Proceedings of the 25th edition on Great Lakes Symposium on VLSI, pp. 15-20, 2015.
上述のように、個々に解決すべき問題はあるものの、PUFの機能そのものは、ネットワークの相互のつながりの中でMACアドレスを利用せずに物理的実態を持つノードの最小単位(半導体チップ)の物理的認証を実現するのに有効であると考えられる。PUFになるためには、上記(1)-(6)の必要条件の他、更に「物理的にコピー不可能である」という十分条件を満たさなければならない。しかしながら、この十分条件は、ネットワーク上の物理認証を定義するためには必ずしも必要ない。本願の目的はPUFではなく、ネットワーク上の物理認証を安全にすることであるしたがって、本願が提案するチップ認証装置は、「物理的にコピー不可能である」というPUFの十分条件を満たす必要はない。
たとえば一例として、図8のように、本願のチップ認証装置60を有する第一のチップ110を搭載する第一のノード2001が、信号伝達路1000を通して、第二のノード2002とデータを交換(交信)する場合を考えよう。
たとえば、第二のノード2002は、何らかの形式で接続された第一のノード2001を認識するために信号A、信号B、信号C、…を入力コードとして、信号伝達路1000を介して第一のノード2001に搭載されるチップ認証装置60に与える。チップ認証装置60は、それぞれ信号A1、信号B1、信号C1、…を出力コードとして信号伝達路1000を介して第二のノード2002に返す。ここで、第二のノード2002は、第一のノード2001を、「信号Aの入力に対して信号A1の出力を返し、信号Bの入力に対して信号B1の出力を返し、信号Cの入力に対して信号C1の出力を返し、…」という装置であると認識する。この場合、(A、B、C、…:A1、B1、C1、…)であらわされる数列を交信シリーズと呼ぶ。あるいは、別の場合では、第二のノード2002は第一のノード2001を「信号Fの入力に対して信号F1の出力を返し、信号Aの入力に対して信号A1の出力を返し、信号Kの入力に対して信号K1の出力を返し、…」と認識する。この場合の交信シリーズは、(F、A、K、…:F1、A1、K1、…)であらわされる。しかしながら、このような交信はすべての可能な入力信号に対して行わなくても良い。入力信号のパターン(入力コード)は無限にあり、特定の装置に対してそのすべてを行うことは不毛である。むしろ入力信号のパターン数が無限にあることは、第一のノード2001にネット接続しうる装置の数を無制限にすることに有用である。こうして、第一のノード2001を第二のノード2002に最初に接続する際、第二のノード2002は、第一のノード2001を登録することになる。この登録は、第二のノード2002の正規の使用者か、或いは、第二のノード2002の正規の使用者から正規に権限を委譲された者が行うことが望ましい。
 
(物理層での通信方法)
図9の例では、第二のノード2002の正規の使用者92が、自ら所有する第一のノード2001を使って第二のノード2002を操作する例を説明している。第一のノード2001と第二のノード2002は、信号伝達路1000を介して成立する交信シリーズ80を用いて交信(接続)し、連携して第二のノード2002の正規の使用者92の目的とする仕事を行う。ここで、第二のノード2002の正規の使用者92は、交信シリーズ80にいかなるコミットメントもしない。もしコミットメントをする場合、第二のノード2002の管理・使用方法が煩雑になり、物のインターネットの利便性が大きく損なわれることになる。
もし第一のノード2001がMACアドレスを持ち、第一のノード2001と第二のノード2002がイーサネット形式で接続していればチップ認証装置60は不要のように思える。しかしながら、上述したように、物のインターネットにおいて物理的実態のあるノード同士の相互認証をイーサネット形式に任せることの問題は、改ざん可能で悪意あるハッキングに対して脆弱であること、である。このような状況を鑑み、本願のチップ認証装置の必要性が理解される。
まず、遠隔攻撃者が、図9の第一のノード2001を遠隔攻撃する場合を考える。たとえば、遠隔攻撃者は、第一のノード2001を自ら所有する偽造ノードに不正に置き換える。ここで、偽造ノードは、第一のノード2001に内蔵されるチップ認証装置60を使用せずに、この交信シリーズ80を完全に模倣しなければならない。これが可能かどうかを見極めればよい。不可能であれば、本発明のチップ認証方式によって、装置の乗っ取りを防ぐことができると判明する。そのための前提条件として、第一のノード2001を偽造ノードと不正に置き換えようとする者(遠隔攻撃者)は、実際に第一のノード2001を手に取ることができないとする。これは、物のインターネットにおいては自然な条件である。すなわち、物のインターネットにおける乗っ取りは遠隔操作を前提にしているからである。遠隔攻撃者の目的は、自分が手元に所有する偽造ノードを使って第二のノード2002を遠隔操作することである。図9の第一のノード2001を手元に奪取するためには、第二のノード2002に正規に接続する第一のノード2001が存在する場所に赴き、秘密裏に奪取しなければならない。これは、攻撃をネット上で完結することができないことを意味する。すなわち、第二のノードの正規の使用者92に気づかれずに遠隔操作をすることができないのと同義である。偽造ノードと第二のノード2002がネット接続されると、第二のノード2002は、偽造ノードを認識するために、ネットワークを介して入力信号(R、L、A、…)を偽造ノードに入力する。このとき、ネットワークを介して偽造ノードが出力信号(R3、L3、A3、…)を第二のノード2002に返したとする。こうして、偽交信シリーズ(R、L、A、…:R3、L3、A3、…)が生成される。すなわち、遠隔攻撃者は、偽交信シリーズを正規の交信シリーズ80、この例の場合、(R、L、A、…:R1、L1、A1、…)に完全に一致させなければならない。すなわち、(R3、L3、A3、…)が(R1、L1、A1、…)と一致すれば、遠隔攻撃は成功する。例えば、遠隔攻撃者は、(R3、L3、A3、…)を、第二のノード2002の内部メモリに保存されている登録コードと一致させれば良い。
遠隔攻撃には基本的に二つの方法がある。第一の方法は、第二のノード2002の内部メモリに保存されている情報から、入力コードと、少なくとも登録コードを盗み取ることである。たとえば、遠隔攻撃者が登録コード(R1、L1、A1)と入力コード(R、L、A)とを盗み取ることに成功したとする。このとき、遠隔攻撃者は、所有する偽造ノードを第一のノード2001に置き換えて第二のノード2002を不正に遠隔操作することができる。このような遠隔攻撃からシステムを守るため、システム管理者は第二のノード2002の内部メモリを厳重に防御しなければならない。
内部メモリに入力コードや登録コードを保存する第二のノード2002のような装置は、訓練を受けた専門家が常に最新のセキュリティ技術を駆使して厳重に保守することが望ましい。このように、第二のノード2002はネットワークの中央に置かれ、基幹的な役割を担い、セキュリティ管理者による中央管理下にあると仮定する。これを基幹ノードと呼ぶ。これに対し、基幹ノードと接続し、セキュリティ管理者による中央管理下にないノードを周辺ノードとする。図10は、3つの周辺ノード(第一の周辺ノード410、第二の周辺ノード420、第三の周辺ノード430)が、基幹ノード400に接続する例である。基幹ノード400は、入力コード402と登録コード403のリストを内部メモリ401に保存する。一方周辺ノードは、登録コードも入力コードも保存せず、それぞれ相違なるチップ認証装置を搭載するチップを内蔵しているものとする。たとえば、図7は、周辺ノードの基本構成の一例である。また、基幹ノード400の内部メモリ401に保存された、登録コード403のリストの中の一つの要素と、入力コード402の組み合わせが、各周辺ノードに対応する交信シリーズとなる。
上述のように、交信シリーズに関する情報を保存した基幹ノードを中央管理下におくことによって遠隔攻撃の第一の方法は防がれるが、ネットワークに接続するノード数が数兆個に上る場合、すべての装置を基幹ノードのように厳重に防御・保守することは現実的に不可能である。これは中央管理の限界を意味している。そこで、遠隔攻撃者は、基幹ノードに接続する中央管理の行き届かない装置、図10の例では、第一の周辺ノード410、第二の周辺ノード420、第三の周辺ノード430・・・のうち少なくともどれか一つを乗っ取ろうとする。これが遠隔攻撃の第二の方法である。しかしながら、これらの周辺ノードは、入力コードと登録コードのペア(交信シリーズ80)を内部メモリに保存しないので、遠隔攻撃の第二の方法も成功しない。
たとえば、遠隔攻撃者が適当に選んだ信号(X、Y、Z)を第一の周辺ノード410に入力し、(X1、Y1、Z1)の返信を得る。ここで、第一の周辺ノード410はチップ認証装置を搭載しているものとする。信号(X、Y、Z)が、基幹ノード400が第一の周辺ノード410と交信する際用いる入力コード402(P、S、T)と異なる場合、遠隔攻撃者が受け取る返信(X1、Y1、Z1)は、基幹ノード400に保存される登録コード402の(P1、S1、T1)とは異なる。これは、周辺ノードに搭載されるチップ認証装置が、異なる入力に対して必ず異なる出力を出す性質(入力の独立性)を持つことを前提にしている。こうして、チップ認証装置が(入力の独立性)を持っている限り遠隔攻撃の第二の方法も失敗に終わるのである。ここで、周辺ノードと基幹ノードが、もしイーサネット形式による相互認証を採用していたらどうなるだろうか?遠隔攻撃者は、周辺ノードに搭載されているイーサネットカードの内部メモリ(たとえば、図6の例では、不揮発性メモリチップ3010)からMACアドレスを容易に盗み出すことができる。こうして、本願のチップ認証装置がMACアドレスを置き換える意義が明らかになる。
ここで残る問題は、遠隔攻撃者が適当に選んだ信号セット(X、Y、Z)が、たまたま基幹ノード400の内部メモリ401に保存した入力コード402(P、S、T)に一致することである。このような偶然を防ぐため、入力コードの要素数を十分多くし、更に基幹ノード400の管理者以外には非公開とすることである。そして、この情報は基幹ノード400の管理者によって厳重に守られるべきである。また、時より変更することが望ましい。この変更を行った場合、基幹ノード400に接続する周辺ノードの再登録を行うことが必要になる。このような再登録を行う頻度を減らすために、入力コードの要素数は可能な限り多くするように管理することが必要である。これらの必要条件を満しつつ、入力コードはパスコードとして振舞う。
すなわち、本願のチップ認証装置を用いる相互認証形式は、イーサネット形式と同様に物理的実態のあるノード同士の相互認証をつかさどるものであり、一方で、ネットワークを形成するノードを、相互認証に関わる情報を保存し中央管理下に置かれるノード(基幹ノード)と、それ以外のノード(周辺ノード)に分割する。周辺ノードは、相互認証に関わる情報を保存しない代わりに本願のチップ認証装置を搭載し、所定の入力に対して出力を返す。入力が異なれば必ず異なる出力を返す(入力の独立性)を満たすものである。(入力の独立性)については、以下で詳述する。
ここで、入力コードは、さまざまな周辺ノードへの認証IDを検査するために共通して使うことが望ましい。この場合、おのおのの周辺ノードへのアクセスに個別に必要なものではない。このような事情から、本発明で説明する入力コードを以下“共通パスコード”と呼ぶことにする。こうして、前記基幹ノードは少なくとも一つの共通パスコードを所有する。
上記基幹ノード400が計算機(パソコン等)の場合、これに接続する第一の周辺ノード410、第二の周辺ノード420、第三の周辺ノード430は、計算機に接続して用いられる周辺機器となる。たとえば、マウス、キーボード、マイクロホン、などである。上述したとおり、基幹ノードである計算機本体は、最新のウィルス対策ソフトを使用して管理者が責任を持って管理することが前提となる。本件に関わる発明は、周辺ノード(マウス、キーボード、マイクロホン等)の不正な置き換えから計算機本体を守ることが目的となる。これによって計算機本体を守ることを目的とするウィルス対策ソフトが守りきれない周辺ノードを遠隔攻撃から守ることができる。
上記基幹ノード400がネットワークサービスの中心的機能を担うサーバーの場合、たとえば、第一の周辺ノード410、第二の周辺ノード420、第三の周辺ノード430は、このネットワークサービスを利用するエンドユーザーの端末である。たとえば、スマートフォン、タブレット、計算機端末、スマート家電のリモコン、自動運転車の操作パネル、あるいはその他ウェアラブル端末等である。上述したとおり、基幹ノードは、十分に訓練を受けた専門家が最新のセキュリティソフトウェアを駆使して責任を持って管理することが前提となる。本件に関わる発明の目的の一つは、エンドユーザーの端末(スマートフォン、タブレット、計算機端末、その他ウェアラブル端末等)の不正な置き換え(乗っ取り)からサーバー(基幹ノード)への不正アクセスを防ぐことである。これによって、十分に訓練を受けた専門家が最新のセキュリティソフトウェアを駆使しても守りきれない、ネットワーク上に無数に存在する情報端末を作った遠隔攻撃からシステム全体を守ることができる。
上記基幹ノード400がクラウドセンシングサービスの中心的機能を担うデータセンターの場合、これに接続する第一の周辺ノード410、第二の周辺ノード420、第三の周辺ノード430は、このデータセンターが必要とするデータを取得するセンサーである。上述したように、センサーの数は無数であり、世界中の広い範囲に設置される。したがって、その一つ一つを中央管理で遠隔攻撃から守ることは現実的に不可能である。このようなセンサーの例は、GPS、ウィルスモニター、温度計、地震計、ソケット型可視光通信デバイス、バイオセンサー、各種スマートメーターなど無数にある。上述したとおり、基幹ノードは、十分に訓練を受けた専門家が最新のセキュリティソフトウェアを駆使して責任を持って管理することが前提となる。本件に関わる発明の目的の一つは、このようなセンサーの置き換え(乗っ取り)から基幹ノードへの不正アクセスを防ぐことである。これによって、十分に訓練を受けた専門家が最新のセキュリティ技術を駆使しても守りきれない、クラウドセンシングのためのネットワーク上に無数に存在するセンサーを遠隔攻撃から守ることができる。
ここで、本発明の特徴の一つとして、中央管理の行き届かない周辺ノード(たとえば、第一の周辺ノード410、第二の周辺ノード420、第三の周辺ノード430)は、前記共通パスコードのような入力データや登録コードを保存しないことがあげられる。このように、認証通信のために必要なデータ(たとえは、共通パスコード、あるいは、登録コード)を保存する“基幹ノード”と保存しない“周辺ノード”に分けることが特徴となる。同時に、認証通信のために必要なデータ(たとえは、共通パスコード、あるいは、登録コード)を保存する“基幹ノード”は中央管理し、認証通信のために必要なデータ(たとえは、共通パスコードなど、あるいは、登録コード)を保存しない“周辺ノード”には本発明のチップ認証装置を搭載することを特徴とする。ただし、物理的実態のあるノード同士の相互認証に関するものである点はイーサネット形式と同様である。
図11のように、上記共通パスコードは、第一の基幹ノード1400に少なくとも一つ保存され、周辺ノードを認識する際に周辺ノードに送られる。たとえば、第一の基幹ノード1400は第一の共通パスコード1410を、第一の周辺ノード410、第二の周辺ノード420、第三の周辺ノード430に送る。これらの周辺ノードは、第一の基幹ノード1400を「第一の共通パスコード1410を送ってくるもの」として認識する。
図12に示すように、第一の周辺ノード410、第二の周辺ノード420、第三の周辺ノード430は、この第一の共通パスコード1410の入力に対応し、それぞれ、第一の認証4101、第二の認証4201、第三の認証4301を、第一の基幹ノード1400に返す。第一の基幹ノード1400は、第一の周辺ノード410、第二の周辺ノード420、第三の周辺ノード430を、「第一の共通パスコード1410に対して、それぞれ第一の認証4101、第二の認証4201、第三の認証4301を返すもの」と認識する。ここで、第一の認証4101、第二の認証4201、第三の認証4301のうちどの二つの認証も同じではない。また、第一の基幹ノード1400が別の共通パスコードを使用することも可能である。これは、より高度な管理のために便利なことがある。このように、各基幹ノードが使用する共通パスコードはそれぞれ複数であることが望ましい。
ここでは、入力が同じであってもチップ認証装置が異なれば必ず異なる出力を返す(出力の独立性)を満たすことを前提としている。(出力の独立性)については、以下で詳述する。
実際のネットワークでは、周辺ノードは無数にあり、しかも基幹ノードは一つに限らない。たとえば、図13では、二つの基幹ノード(第一の基幹ノード1400、第二の基幹ノード2400)と五つの周辺ノード(第一の周辺ノード410、第二の周辺ノード420、第三の周辺ノード430、第四の周辺ノード440、第五の周辺ノード450)からなるネットワークの一例を示している。第一の基幹ノード1400を中心に、第四の周辺ノード440と第五の周辺ノード450とで一つのネットワークユニットを構成し、第二の基幹ノード2400と、第一の周辺ノード410、第二の周辺ノード420、及び第三の周辺ノード430とでもう一方のネットワークユニットを構成する。ここで、これらのネットワークユニットは、互いに第一の基幹ノード1400と第二の基幹ノード2400とで接続している。さらに、ネットワークユニット内において、第四の周辺ノード440および第五の周辺ノード450は、第一の基幹ノード1400とのみ接続し、第一の周辺ノード410、第二の周辺ノード420、及び第三の周辺ノード430は、第二の基幹ノード2400とのみ接続している。一方、第四の周辺ノード440は、第一の基幹ノード1400と第二の基幹ノード2400と接続している。
すなわち、本願のネットワーク構造において、複数のネットワークユニットを接続するトポロジーは、互いに異なるネットワークユニットに属する基幹ノード同士の接続、および、互いに異なるネットワークユニットに属する基幹ノードと周辺ノードの接続によって定義される。特に、本願のネットワークのトポロジーでは、周辺装置同士は、互いに異なるネットワークユニットに属するかどうかに関らず、互いに直接接続しないことが特徴である。
ここで、接続とは、上述した認証作業によってノード同士が互いを認証する認証接続のことを意味しており、単純な連結とは異なる。以下、物理的実態のある情報機器あるいは電子装置のネットワークを考える際、得に断りのない限り、認証接続の意味で接続という言葉を用いる。更に、この意味での(認証)接続は、一つのパッケージ化されたシステム内の装置(モジュール、あるいは、チップ)同士の接続をも含む。
たとえば、自動車は複数の制御システムを内包している。駆動システム、ブレーキシステム、ナビゲーションシステム、自動運転車なら自動運転システム等、複数の子システムが連携して稼動する総合システムと考えられる。これら子システムのそれぞれが上述のネットワークユニットの一つ一つ、あるいは、いくつかの連携したネットワークユニットに対応している。このとき、自動車一台は、複数のネットワークユニットから構成される一つのネットワークである。更に、各ネットワークユニットを構成する周辺ノードや基幹ノードの最小単位は半導体チップである。周辺ノードは、例えば、エンジンの温度をセンスするセンサーであったり、車体の各部位が感じる加速度センサーであったり、燃料の残量をセンスするセンサーであったり、様々なセンサーが考えられる。これらのセンサーから集まる情報を解析し、利用する演算処理装置が基幹ノードとなる。自動車以外にも航空機、列車、工場、発電所、送電システム等社会インフラに関する施設や装置も一つのパッケージ化されたシステムと見なすことができる。よって、その内部に半導体チップが採用されている限り、本願が対象とするネットワークが存在する。
本発明の特徴のひとつとして、このような複数の基幹ノードと複数の周辺ノードからなるネットワークにおいて、基幹ノード同士は直接接続が可能であるが、周辺ノード同士は直接接続をしないことが上げられる。これは、中央管理の行き届かない周辺ノードでは、共通パスコードのような入力データを保存しないためである。その代わりに、周辺ノード同士は、基幹ノードを介して間接的に接続する。
たとえば、第一の周辺ノード410と第二の周辺ノード420は、第二の基幹ノード2400を介して間接的に接続可能である。第四の周辺ノード440と第五の周辺ノード450は、第一の基幹ノード1400を介して、間接的に接続可能である。第三の周辺ノード430と第四の周辺ノード440は、互いに接続している第一の基幹ノード1400と第二の基幹ノード2400とを介して、間接的に接続可能である。こうして、すべての周辺装置に流れるデータを、複数の基幹ノードでモニターすることが可能となる。こうして、本発明によれは、中央管理のためのリソースを基幹ノードにのみ集中させることが可能となる。
図13の具体的な例としては、たとえば、自動運転車とスマートハウスの組み合わせが上げられる。たとえば、第一の基幹ノード1400、第四の周辺ノード440、および第五の周辺ノード450からなるネットワークユニットは、共に一つの自動運転車を構成する部品であるとする。同時に、第二の基幹ノード2400、第一の周辺ノード410、第二の周辺ノード420、第三の周辺ノード430からなるネットワークユニットは、共に一つのスマートハウスの部品であるとする。災害時自動運転車のバッテリーがスマートハウスのバッテリーを補完するような場合、たとえば、スマートハウスのバッテリーの状況を把握するためのセンサー(たとえば、第四の周辺ノード440)が自動運転車に搭載されている。このように、第四の周辺ノード440は、第一の基幹ノード1400と第二の基幹ノード2400のどちらとも接続することになる。あるいは、複数の自動車を連携して自動運転するタクシーシステムのような応用も、本願のネットワークの一例となる。
図14に示すように、本発明を用いたネットワークでは、前記トポロジーは、一つの周辺ノード(たとえば第一の周辺ノード410)が複数の基幹ノード(たとえば、第一の基幹ノード1400、第二の基幹ノード2400、第三の基幹ノード3400)との接続を含むことも認められる。第一の基幹ノード1400は、第一の共通パスコード1410を有し、第二の基幹ノード2400は、第二の共通パスコード2410を有し、第三の基幹ノード3400は、第三の共通パスコード3410を有するものとする。すなわち、第一の周辺ノード410は、第一の基幹ノード1400を「第一の共通パスコード1410を入力してくるもの」と認識し、第二の基幹ノード2400を「第二の共通パスコード2410を入力してくるもの」と認識し、第三の基幹ノード3400を「第三の共通パスコード3410を入力してくるもの」と認識する。これらの入力に対し、第一の基幹ノード1400は、第一の周辺ノード410を「第一の認証11を返すもの」と認識し、第二の基幹ノード2400は、第一の周辺ノード410を「第二の認証12を返すもの」と認識し、第三の基幹ノード3400は、第一の周辺ノード410を「第三の認証13を返すもの」と認識する。ここで、通信認証に関するデータ(共通パスコード、あるいは、共通パスコードに対応して返信する認証データ等)は基幹ノードに保存され、周辺ノードには保存しない。周辺ノードには、本発明のチップ認証装置を搭載する。
その中で、たとえば、第一の基幹ノード1400と第二の基幹ノード2400は直接接続しているが、第一の基幹ノード1400も第二の基幹ノード2400も、第三の基幹ノード3400とは直接接続していないものとする。ここで、第三の基幹ノード3400が遠隔攻撃者でないという証明はない。このため、第一の周辺ノード410に接続認証に関するデータ(共通パスコード)を保存しないということは重要である。たとえば、最初に第一の周辺ノード410が第一の基幹ノード1400に登録される際、第一の基幹ノード1400は、第一の周辺ノード410が第一の基幹ノード1400の後に他の基幹ノードと接続することを制限することが可能となる。なぜなら、第一の周辺ノード410の外部入出力制御装置は、受信する全ての信号を第一の基幹ノード1400に転送し、第一の基幹ノード1400は、第一の周辺ノード410への全ての入力をモニターすることが可能だからである。
ここで、もし第一の共通パスコード1410と同等のコードが発見されたら、緊急処置を施すことができる。たとえば、第一の基幹ノード1400は、第一の周辺ノード410を切り離す。あるいは、遠隔攻撃者の動きをモニターするためだけに第一の周辺ノード410を利用する。第一の基幹ノード1400の次に、第二の基幹ノード2400が第一の周辺ノード410を登録する場合、第二の基幹ノード2400は、あらかじめ第一の基幹ノード1400に、第一の周辺ノード410を登録する許可を申請する。これには、第二の基幹ノード2400と第一の基幹ノード1400が直接接続していることが必要である。第一の基幹ノード1400が、第二の基幹ノード2400に対し、第一の周辺ノード410への接続を許可すれば、第一の周辺ノード410は、第二の共通パスコード2410を受け付け、第二の基幹ノード2400に第二の認証12を返信し、第二の基幹ノード2400は、第一の周辺ノード410を登録する。以後、第二の基幹ノード2400と第一の周辺ノード410は、第一の基幹ノード1400の許可を経ずに、認証接続可能となる。次に、第三の基幹ノード3400が、第一の周辺ノード410と接続するには、第一の基幹ノード1400、あるいは、第一の基幹ノード1400及び第二の基幹ノード2400が、第一の周辺ノード410に対し、あらかじめ、第三の共通パスコード3410の受付を許可しておく必要がある。こうして、第一の基幹ノード1400、あるいは、第一の基幹ノード1400及び第二の基幹ノード2400は、第三の基幹ノード3400と第一の周辺ノード410の接続を制限する権限を得ることになる。すなわち、許可の無い入力コードが第一の周辺ノード410に入力された場合、接続を拒絶、あるいは、制限する。この権限の行使は、第一の基幹ノード1400、あるいは、第一の基幹ノード1400および第二の基幹ノード2400の正規の管理者によって行われるものとする。
次に、本発明で提案するチップ認証方式が満たすべき条件について述べておこう。
 
(出力の独立性)
まず、図15に示すように、二つの異なる第一のチップ認証装置21と第二のチップ認証装置22に対して、同じ入力信号(入力信号Q)を入力する。このとき、第一のチップ認証装置21は出力信号Aを出力する。第二のチップ認証装置22は出力信号Bを出力する。ただし、出力信号Aと出力信号Bとは異なる。このように、入力信号が同一であってもチップ認証装置が異なる場合出力信号はそれぞれ異なる。この性質は、共通パスコードを使う例(図11、図12)に必要な条件である。すなわち、同じパスコードをそれぞれ異なるチップ認証装置を搭載する周辺ノードに入力信号として入力しても、それぞれの周辺ノードから返って来る出力信号は周辺ノード毎に相異なるものでなければならない。
たとえば、図11のように、第一の基幹ノード1400が、第一の共通パスコード1410をそれぞれ異なるチップ認証装置を内蔵する第一の周辺ノード410、第二の周辺ノード420、第三の認証装置430に与えたとき、これらの周辺ノードから返って来る出力信号は、図12に示すように、それぞれ第一の認証4101、第二の認証4201、第三の認証4301となる。ここで、第一の認証4101、第二の認証4201、第三の認証4301の内どの二つも相異なるものとする。
 
(入力の独立性)
反対に、同一のチップ認証装置に異なる入力信号を入力すると、それぞれ相異なる出力信号を出力する。たとえば、図16に示すように、チップ認証装置60に入力信号Cを入力すると出力信号Aを出力する。同じチップ認証装置60に入力信号Dを入力すると出力信号Bを出力する。ここで、出力信号Aと出力信号Bは、入力信号Cと入力信号Dが異なる限り、それぞれ相異なる出力信号である。ここで、入力信号CおよびDの発信源は同一であっても別個であっても構わない。別個の場合、この性質は、図14のように、異なる基幹ノードからそれぞれ異なるパスコードを入力信号として同一の周辺ノードに入力し、それぞれ基幹ノードが相異なる認証を該周辺ノードから出力信号として受け取る場合に必要な条件である。具体的には、第一の基幹ノード1400が第一の共通パスコード1410を第一の周辺ノード410に入力し、第一の周辺ノード410が第一の認証11を第一の基幹ノード1400に出力し、第二の基幹ノード2400が第二の共通パスコード2410を第一の周辺ノード410に入力し、第一の周辺ノード410が第二の認証12を第二の基幹ノード2400に出力し、第三の基幹ノード3400が第三の共通パスコード3410を第一の周辺ノード410に入力し、第一の周辺ノード410が第三の認証13を第三の基幹ノード3400に出力する、というような場合である。ここで、言うまでも無く、上記認証11、12、13は、お互いどの二つをとっても相異なるものとする。
すなわち、図13は(入力の独立性)の条件と(出力の独立性)の条件を同時に利用するネットワーク構造の一例となっている。ほとんどの場合、実際には、基幹ノードの数は2より大きく、周辺ノードの数は5より大きい。図13は、もっとも簡単な一例に過ぎない。
 
(出力の予測不可能性)
図17に示すように、n個の入力信号(Q1、Q2…Qn)を同一のチップ認証装置60に与えたとき、それぞれの入力信号に対し出力信号(R1、R2…Rn)が得られることを知っているものとする。このとき、n個の入力信号(Q1、Q2…Qn)のいずれとも異なる入力信号Qn+1を同一のチップ認証装置60に与えずに、これを与えたときに得られるはずの出力信号Rn+1を、(Q1、R1)、(Q2、R2)、…(Qn、Rn)のセットから予測することは不可能である。ただし、nは2以上の整数とする。チップ認証装置60が、何らかのアルゴリズムによって出力を生成している場合、すなわち、ソフトウェアによって認証を返す場合、ほぼ必ずこの条件は破られる。したがって、チップ認証装置60は物理的乱雑さ(ランダム)を利用して出力信号を生成しなければならない。
上述したように予測不可能であることをより具体的に説明する。まず、複数の入力信号のからなる第一の入力集合と、これら複数の入力信号をそれぞれチップ認証装置に入力して得られる出力信号の集合からなる第一の出力集合を用意する。更に、前記第一の入力集合に属さない複数の入力信号からなる第二の入力集合を用意する。たとえ前記第一の入力信号と前記の第一の出力信号のどのような組み合わせを知っていたとしても、前記第二の入力集合に属するN個の入力信号を前記チップ認証装置に入力する以前に、前記N個の入力集合に応じて前記チップ認証装置がそれぞれ出力するN個の出力信号を予測することが確率論的に困難であることを意味している。たとえば、N個の入力信号を選んだ場合、N回予測をすることになる。ここで、予測できるということはN回の予測のうち相当回数の予測が成功することである。一方、予測が成功する確率が平均して1/(N+1)以下であれば、予測不可能であるということになる。
 
(入出力の信頼性)
図18に示すように、実際には、入力信号Qを制御する回路に関わる制御不能のノイズなどにより、入力信号Qには入力信号誤差31(ΔQ)が混入する。これに対し、入力信号誤差31(ΔQ)及び出力信号を制御する回路に関わる制御不能のノイズなどにより、出力信号Rには出力信号誤差32(ΔR)が混入する。このとき、二つの異なる入力信号(たとえば、Q1およびQ2)の差の絶対値は、入力信号誤差31(ΔQ)の絶対値の最大値より大きいものとする。ここで、入力信号Q1に対する出力信号R1と、入力信号Q2に対する出力信号R2との間の差の絶対値は、出力信号誤差32(ΔR)の絶対値より常に大きくなければならない。(出力の現実的無限性)
物理的実態を持ちネットワークに接続するノードを物理ノードと呼び、物理的実態を持たずネットワークに接続するノードを論理ノードと呼ぶ。実際にインターネットに接続する物理ノードの数に関する制限について考慮する。
すべての物がインターネットにつながるような場合を想定すると、物理ノードの数にはどのような制限が必要になるだろうか?各物理ノードが少なくとも一つ以上のチップを含み、そのチップが本願のチップ認証装置を含むものとする。このとき、本願のチップ認証装置は、チップに固有の物理的乱雑さ(ランダム)を利用して前記物理ノードの認証を行うものとする。
仮に、本願のチップ認証装置を搭載するチップが(出力の予測不可能性)を満たしていたとしても、二つの異なるチップに固有な物理的乱雑さ(ランダム)が偶然に一致してしまうことはないだろうか?もしこのような偶然な一致が生じた場合、同じ入力に対する二つの異なるチップ認証装置からの出力が一致し、(入力の独立性)を損なうことになる。この問題に対する対策は確率論的に考慮する以外にない。
たとえば、チップに固有な乱雑さ(ランダム)の場合の数をXとし、ネットワークに接続する全物理ノードの数をYとする。このとき、同じ入力に対する二つの異なるチップ認証装置からの出力が偶然一致する確率は、Yが大きくなれば増大し、Xが大きくなれば減少する。したがって、Y/Xに比例すると考えられる。この確率が現実的にほぼゼロになるほどY/Xが小さいことが必要である。すなわち、少なくともXはYより大きい。さらに、品質管理で良く用いられるシックスシグマに沿って考えると、現実的に容認できるエラーは100万分の3.4である。したがって、XはYの100万倍より大きいことが必要である。
 
(チップ固有性)
本願に関するチップ認証装置の出力は、前記チップ認証装置の構成要素の一つであるチップに固有の電子信号でなければならない。
 
(物理的書き換え不可能性)
外部から何らかの刺激を与えることによってチップ固有の物理的乱雑さ(ランダム)は書き換えることが不可能でなければならない。言い換えると、外部から何らかの刺激を与えても、チップ固有の物理的乱雑さ(ランダム)は不変である、あるいは、安定である。あるいは、チップ固有の物理的乱雑さ(ランダム)さは、外部からの刺激、あるいは、外部環境の変化に対して耐性がある。その結果として、チップ認証装置からの出力が安定していることが求められる。もし、チップ固有の物理的乱雑さ(ランダム)を別途準備した乱数起因の乱雑さに書き換えることができるとすると、ネットワーク上でそのチップは別のものに置き換えられてしまう。このような改ざんが攻撃者側に有利な状況を創りだすことは自明である。ここで、外部からの何らかの刺激とは、電界、電磁場、加熱、温度変化、湿度変化、打撃、振動などであり、通常の場合、チップのパッケージを破壊しない程度のものである。
本発明に関わるチップ認証装置は、上述した(出力の独立性)、(入力の独立性)、(出力の予測不可能性)、(入出力の信頼性)、(出力の現実的無限性)、(チップ固有性)、(物理的書き換え不可能性)の、7つすべてを同時に満たしていなければならない。
 
(検査)
本発明が実施される以前から稼動しているネットワークを本発明の要件を満たすように発展させる場合には、既に基幹ノードに接続している周辺ノードを、本発明によるチップ認証装置を搭載したチップで構成された周辺ノードに置き換えて行かねばならない。ここで、この置き換えが確実に行われたかどうか検査することが必要になる。あるいは、本発明のチップ認証装置を搭載していないチップを採用した周辺ノードが一部でも不正に使用されていないかどうか検査することが必要である。ここで説明する検査は、基幹ノードの保守点検の一部として随時行うことが可能である。また、周辺ノードの登録時にも行うことが望ましい。
この検査のためにもっとも有効な方法は、中央管理下にある基幹ノードを使って検査対象となる周辺ノードを実際に遠隔攻撃することである。検査対象となる周辺ノードを構成するチップが本発明のチップ認証装置を用いていない場合、内蔵メモリに入力コード42と登録コード43の対応表(図19参照)を保存しているはずである。たとえば、一つの入力コードに対して複数の登録コードのリストが対応している。これらの登録コードは、一つの共通パスコードを複数の周辺ノードに入力したときのそれぞれの出力に対応している。一般に、共通パスコードは一つとは限らないので、図19のような対応表になる。もし入力コードが一つだけであれば、対応表は、図19の、たとえば、上半分のみとなるだろう。図10は、入力コード402が一つの場合の一例である。いずれにしろ、本発明のチップ認証装置を搭載したチップの内蔵メモリには、このようなコードは保存されていない。図19のようなコード対応表を正規に保存しているのは、本発明に関するネットワークでは、基幹ノードだけである。図10の入力コード402が図19の入力コード42に対応し、図10の登録コード403が図19の登録コード43に対応している。
図20を用いて、具体的な検査作業の流れを説明する。まず、検査する周辺ノードを見つけたところから始める。次に、検査対象の周辺ノードの内蔵メモリを読み出す。ここで読み出されたコードの中に、基幹ノードに保存されている入力コードの中に一致するものがあるかどうかを調べる。たとえば、図19の入力コード42、あるいは、図10の入力コード402などある。不一致の場合、さらに、基幹ノードに保存されている登録コードと比較する。たとえば、図19の登録コード43、あるいは、図10の登録コード403などである。そこで一致しなかった場合、検査した周辺ノードを公正なものとして承認する。公正と承認されなかったものは不正と判定し接続を遮断することができる。こうして、人手によらず自動的に不正周辺ノードを遮断することが可能となる。次に検査する周辺ノードがあるかどうか探す。なければ終了する。あれば、その検査対象となる周辺ノードの内部メモリを読み出す。以下同様。
図21を用いて、別の検査作業の流れを説明する。第一に、検査する周辺ノードを見つけたところから始める。次に、検査する周辺ノードの内蔵メモリを読み出す。ここで読み出されたコードの中に、基幹ノードに入力コードとして保存されている入力コードの中に一致するものがあるかどうかを調べる。たとえば、図19の入力コード42、あるいは、図10の入力コード402などある。不一致の場合、検査した周辺ノードを公正なものとして承認する。一致する場合、更に基幹ノードに登録コードとして保存されている登録コードの中に一致するものがあるかどうか調べる。たとえば、図19の登録コード43、あるいは、図10の登録コード403などである。一致した場合、検査した周辺ノードを不正品として判定する。一致しない場合、公正なものとして承認する。次に検査する周辺ノードがあるかどうか探す。なければ終了する。あれば、その検査対象となる周辺ノードの内部メモリを読み出す。以下同様。
図20および図21の検査方法の違いは、それぞれ検査基準の違いによって生じる。図20および図21は、本願に関連して考えられる検査方法のほんの二例であるに過ぎない。他の検査基準を考案すれば、他の検査方法を考え出すことが可能である。たとえば、図20および図21において、入力コードの比較と登録コードの比較の順序を入れ替えることも可能である。
イーサネット形式では、MACアドレスフィルタリングという検査方法がある。しかしながら、本願の検査方法、たとえば図20および図21の検査方法には、周辺ノードと基幹ノードを分離し、基幹ノードに保存した入力コードと登録コードが周辺ノードに保存されているかどうかを段階的に検査することが基本であり、MACアドレスフィルタリングにはそのような特徴はない。したがって、本願の検査方法は、MACアドレスフィルタリングとは具体的に異なる検査方法である。
こうして、上述のチップ認証方式を用いるネットワークを構成するすべてのノードは、たとえば、図13のように、訓練を受けたセキュリティ専門家が保守・管理する基幹ノード(たとえば、1400、2400)のグループと、前記セキュリティ専門家が管理できない周辺ノード(たとえば、410、420、430、440,450)のグループに分けられる。ここで、周辺ノード同士はお互いに直接に接続せず、基幹ノードとのみ接続可能とする。こうして、一つの基幹ノードとそれに直接接続する複数の周辺ノードからなるネットワークユニットを構成する。基幹ノードは、基幹ノード同士と任意に接続可能であり、周辺ノード同士は、基幹ノードを介して間接的に接続可能である。こうして、各ネットワークユニット同士も接続可能である。図13は、二つのネットワークユニットが互いの基幹ノード同士の接続によって連携したネットワークの一例である。実際には、もっと多数の基幹ノード、すなわち、もっと多数のネットワークユニットから構成されるネットワークも実現可能である。また、ネットワーク上の物理的実態を持ったノード(たとえば、情報機器や電子装置)同士の接続は、上述した認証作業によって物理的実態を持つノード同士が互いを認証する、認証接続のことを意味している。
各周辺ノードには、すべて異なるチップ認証装置が搭載されている。図11及び図12に示すように、基幹ノード1400は、少なくとも一つの固有の共通パスコード1410を保有する。図10に示すように、基幹ノード1400が出力する共通パスコード1410は、基幹ノードの内蔵メモリに入力コード(たとえば、402)として厳重に保管される。図12に示すように、共通パスコード1410を入力された周辺ノード(410、420、430)は、この共通パスコードに対しておのおの固有の認証(4101、4201、4301)を基幹ノード1400にそれぞれ返信する。ここで返信される認証は、どの二つをとってもお互いに異なることが必要である。そのため、周辺ノードに搭載される、本発明のチップ認証装置は、図15に示すように、(出力の独立性)を満たさなければならない。図10に示すように、基幹ノード1400は、周辺ノードから返信されてきた出力信号を、入力コード(たとえば、402)のそれぞれに対応する形で内蔵メモリに厳重に保管する登録コード(たとえば、403)と便宜比較する。
図14に示すように、一つの周辺ノードが複数の基幹ノードと接続することが許される。この場合、一つの周辺ノード(たとえば、410)は、複数の共通パスコード(たとえば、1410、2410、3410)を入力され、それぞれ異なる入力に対して、それぞれ異なる認証(たとえば、11、12、13)を出力しなければならない。そのため、周辺ノードに搭載される、本発明のチップ認証装置は、図16に示すように、(入力の独立性)を満たさなければならない。
 
(チップ認証方法)
続いて、本発明に関するチップ認証装置に関する条件を考える。まず、チップ認証装置をソフトウェアで構成する場合、入力信号に対する出力信号の作成は、かならずある種のアルゴリズムを用いて行われることになる。したがって、遠隔攻撃者がこのアルゴリズムを解読した場合、入力コードさえ判っていれば、たとえば、登録コード43を偽造することが可能となる。こうして、この遠隔攻撃者は、少なくとも周辺ノードの一部を乗っ取り、基幹ノードに不正アクセスすることが可能となる。このような不正行為防ぐため、本発明のチップ認証装置は、図17に示すように、(出力の予測不可能性)を満たさなければならない。しかしながら、プログラムがアルゴリズムで設計されている限り、どのようなプログラムも(出力の予測不可能性)を満たすことができない。これは、プログラムにより完全な乱数を生成することが不可能であることと同じ事情である。このように、チップ認証装置は、物理的乱雑さを活用したものでなければならない。
前記のようなチップ認証装置は、チップ内に他の機能を持つモジュールと一緒に混載してもよいし、または、チップ認証機能のみを持つチップとして単独で製造しても良い。また、チップ認証装置は、入力コード(共通パスコード)を受け取る度に、物理的乱雑さに基づいて出力コード(認証コード)を発生することが望ましい。共通パスコードは周辺ノードのメモリに保存してはならない。電子装置が複数のチップで構成される場合、図7に示すように、少なくとも一つのチップが本発明のチップ認証装置を搭載することが必要である。また、チップ認証装置そのものがチップで実現される電子装置であっても良い。こうして、前記ネットワークは、構成要素である周辺ノード及び基幹ノードが、少なくとも一つのチップから構成される電子装置のネットワークである。
ここで、本願のチップ認証装置のための条件は、上述したPUFの必要条件と対応関係がある。たとえば、(出力の独立性)は、(1)同一の入力をした異なる周辺ノードは常に異なる出力をすることと同一である。(入力の独立性)は、(2)同一の周辺ノードに異なる入力をすれば常に異なる出力をすることと同一である(出力の予測不可能性)は、(3)入力と出力の組み合わせを盗まれても未知の入力に対する出力は予測不可能であることと同一である。(入出力の信頼性)は、(4)入力と出力の関係が安定していて信頼できることと同一である。
(出力の現実的無限性)は、(5)一つの入力に対する出力のパターンが現実的に無限と見なせるほど大きな数となることと同一である。(チップ固有性)は、(6)ネットワーク上のチップ認証はチップに固有の電子信号でなければならない、と同一である。チップ認証装置であるかぎり、(6)を満たすことは自明である。本願では、更に、(7)(物理的書き換え不可能性)チップ固有の物理的乱雑さは、外部から書き換え不能とする。従って、本願のチップ認証装置は、以下説明するように、この7つの条件を全て満たすように構成されなければならない。
上記の必要条件を全て満たす、本発明に関するチップ認証装置は、半導体装置の素子アレイ上に配置した複数の認証素子によって構成することが可能である。ここで、この認証素子は、たとえば“1”と“0”のどちらかに対応する信号を出力するものと仮定する。
ただし、おのおのの認証素子が出力する信号が“1”に対応するのか“0”に対応するのかは確率的であり、その確率がどのようなアルゴリズムにもよらない限り物理的にランダムであるとみなされる。すなわち、“1”と“0”の物理的にランダムな組み合わせを生成できるとみなされる。こうして、上記第三の必要条件、すなわち、(出力の予測不可能性)は満たされる。ここで、“1”を黒、“0”を白として、前記素子アレイ上のアドレスにしたがってプロットすると、図22のような白と黒がランダムに配置した市松模様ができる。
“1”と“0”のランダムな組み合わせということは、乱数がデジタルで発生することと同等である。デジタルであるということは、第4の必要条件、すなわち、図18で説明した(入出力の信頼性)が満たされることと同等である。
第5の必要条件、すなわち、出力のパターンが現実的に無限と見なせるほど大きな数となること、を満たすためには、素子アレイ上の素子の数を十分に大きくすることが必要である。
第一の必要条件、すなわち(入力の独立性)と、第二の必要条件、すなわち(出力の独立性)は、この市松状の白黒のランダムパターンをどのように活用するかによって満たすことが可能である。第六の必要条件、すなわち、(チップ固有性)は、“1”と“0”のランダムな組み合わせを生成する確率がチップに固有であれば満たされる。第七の必要条件(物理的書き換え不可能性)は、このランダムな組み合わせが通常のチップの利用方法では改ざんできないことを意味する。以下具体的に説明する。
図23は、図22を実現するための素子の配列の一例である。行方向にL本のワード線503が並んでいる。図中は縦方向に相当する。それと直行するように、ビット線902が列方向にM本並んでいる。L本のワード線503とM本のビット線902が交差するところにチップ認証装置のエレメントである認証素子977が配列する。
図24は、図23の認証素子用アレイ960の中からN本のワード線503とN本のビット線902を抜き出したものである。Nは、一般に、上記のLやMより小さいか同じ自然数である。入力コード(P、S、T、…)の例として、(a(1),b(1),a(2),b(2),…,a(N),b(N))を考えよう。この入力コードを配列aと配列bに分割し、(a(1),a(2),…a(N))を第一行から順に対応させる。同時に、(b(1),b(2),…,b(N))を第一列から順に対応させる。このとき、a(i)とb(j)の組み合わせで構成される入力に対して、第i行第j列の認証素子977が出力する信号に関連するデータを要素d(i,j)とする。たとえば、d(i,j)は“1”あるいは“0”である。ただし、iおよびjは1からNまでの自然数である。ここで、自然数の組み合わせ (i,j)は、認証素子977のアドレスに対応する。図24の例では、要素d(5,N-2)が図示されている。ここで、要素d(i,j)の集まり{d(i,j)}は、0と1のランダムな集合体で構成される乱数コードである。d(i,j) の値が1のときを黒、0のときを白とすれば、図22のような、白と黒のランダムな市松模様が得られる。
このように、入力コードを2つに分割し、行と列に対応させることで、入力コードと認証素子のアドレスを対応させることが可能である。入力コードの分割の仕方は、あらかじめ決められた書式に則り実行すれば良い。もちろん、配列aと配列bを交換するのも一例であることは自明である。方法は無数に存在し、ここで例示したように配列aと配列bを入力コードから交互に抜き出す方法はそのうちの一例に過ぎない。また、配列aと配列bの要素数は必ずしも等しくなくても良い。ただし、入力コードの全要素を入力できるよう、認証素子用アレイ960の行数と列数の和は、少なくとも入力コードの全要素数より大きいものとする。ここで、上記入力コードを{a(i),b(j)}と表記することにする。ただし、i、および、jは、それぞれ独立の自然数とする。こうして、数列{a(i)}、数列{b(j)}、及び乱数コード{d(i,j)}から、何らかの方法を用いて出力コード{c(i,j)}を作成する。入力コード{a(i),b(j)}及び出力コード{c(i,j)}の組み合わせが、図9の交信シリーズ80に対応している。この乱数コード{d(i,j)}の一例として、物理乱数を用いればよい。
本発明に係る例について、主に、第一の入力数列{a(i)}と、第二の入力数列{b(j)}と、及び物理乱数{d(i,j)}とから、出力コード{c(i,j)}を作成する方法について、以下図面を参照して説明する。
一例として、数列{a(i)}および{b(j)}の要素は0か1であるとし、出力コード{c(i,j)}を生成するために、剰余演算mod(x,y)を用いることにする。これは、xをyで割ったあまりである。
Figure JPOXMLDOC01-appb-I000001
                   式1
 
図25は、数列{a(i)}、数列{b(j)}、及び物理乱数{d(i,j)}と、式1に基づいて出力される出力コード{c(i,j)}との関係を一覧表にしたものである。この方法を用いると、0と1の数の割合に平均として変化がないことが容易に想像される。これは、交信シリーズ80によって扱われるデータ量を安定化させるために必要な必要条件である。すなわち、式1の右辺に入力される情報量と、式1の左辺から出力されるデータ量がほぼ同等であることが求められる。すなわち、入力情報量と出力情報量が大きく異なる場合、式1で定義される系の情報量は、少ない方に合わせられ、結果として、少なくともその差分だけ情報を失うことになるからである。情報量を失うということは、五番目の必要条件(5)一つの入力に対する出力のパターンが現実的に無限と見なせるほど大きな数となること、を満たす上で障害になる可能性がある。したがって、このような状況は可能な限り避けるべきである。この必要条件(5)を満たすためには、乱数の場合の数が現実的にほぼ無限とみなされるほど大きな数になることが求められる。
 図26は、式1で示したメカニズムを実現するための基本構成の一例を示した概念図である。すなわち、乱数発生装置601で物理乱数{d(i,j)}を発生し、基幹ノード400から、共通パスコードとして、入力コード{a(i),b(j)}が入力され、コード発生装置602で出力コード{c(i,j)}を生成する。この例では、乱数発生装置601とコード発生装置602が、共にチップ認証装置600の構成要素となっている。一方、自明なので特に図示しないが、他の例ではコード生成装置602をチップ認証装置600の外に置くことも可能である。いずれにしろ、少なくとも乱数発生装置601をできる限り安価にチップ内に搭載しなければならない。本願では、乱数発生装置601の一例として、図22で概念的に説明した方法を用いる。コード発生装置602は、式1で判るように、コード発生に一種のアルゴリズム(剰余演算)を使用しているが、同時に物理乱数{d(i,j)}で物理的乱雑さを取り込んでいる。この物理乱数{d(i,j)}は、前記チップに固有な物理的乱雑さである。このため、上の必要条件(3)、すなわち、(出力の予測不可能性)が満たされる。なお、入力コードの全要素を取り込むためには、乱数発生装置601の行数と列数の和は、少なくとも、{a(i)}の要素数と {b(j)}の要素数の和と同じか、それより大きいものとする。
図27は、本願の他の一例を説明する図面である。すなわち、基幹ノード400から入力コード(P、S、T、…)がスクランブル装置604に送られる。こうして、入力コード(P、S、T、…)は(P’、S’、T’、…)に変換される。このコードは、周辺ノードにモジュールされているチップ認証装置600への入力コード(P’、S’、T’、…)として入力される。ここで、特に図示しないが、基幹ノード400に接続する周辺ノードは、少なくともチップ認証装置600を搭載するチップをマウントしている。チップ認証装置600は、入力コード(P’、S’、T’、…)の入力に対して認証(P1、S1、T1、…)を返す。次に、(1)この認証(P1、S1、T1、…)を基幹ノード400へ出力する。あるいは、(2)この認証(P1、S1、T1、…)をスクランブル装置604に返し、スクランブルした認証(P1’、S1’、T1’、…)を基幹ノード400に返す。あるいは、自明なので特に図示しないが、(3)二つ目の別のスクランブル装置を使って認証(P1’、S1’、T1’、…)を認証(P1’’、S1’’、T1’’、…)に変換してから基幹ノード400に返す。(3)の方法では、少なくとも二つの独立のスクランブル装置が必要である。
いずれにしろ、コスト面から、スクランブル装置604はチップ認証装置600を搭載するチップに混載することが望ましい。図28は、スクランブル装置604の基本構成の一例を示す図である。この例では、スクランブル装置604は、乱数発生装置605及びコード発生装置606から構成される。スクランブル装置604を構成する乱数発生装置605およびコード発生装置606の詳しい説明は、図26で説明したのと同様なので、ここでは説明を省略する。なお、自明なので特に図示しないが、コード発生装置606は、スクランブル装置604の外に置くことも可能である。
図29は、図23の認証素子977により構成される、認証素子用アレイ960の一例、もしくは、一部を示すものである。図23とは逆に、行が横方向、列が縦方向になっている。この一例では、行数はN+Kで、列数はNである。上部K行N列の領域を、スクランブル装置604を構成するスクランブル装置セルアレイ614とし、下部N行N列を、チップ認証装置600を構成するチップ認証装置セルアレイ611としている。もちろん、この行と列の役割は逆転させても本願の本質には変更がない。
図30は、スクランブル装置604を構成する乱数発生装置605を実現する方法の別の一例を説明する図である。まず、{a(j)+b(j)}を列毎に入力する。ここで、jは列番号である。次に、式2に従って、物理乱数の要素d(i,j)を行方向に足し上げたものを2で割ったあまりに、列番号(j)に従ってa(j)+b(j)を加える。ここで、iは行番号である。その和を更に2で割ったあまりを中間出力{f(j)}とする。こうして、入力コード{a(j),b(j)}はスクランブル装置604で物理的乱数を取り込んで中間コード{a(i),f(j)}に変換される。この{a(i),f(j)}を次の入力コードとしてチップ認証装置600に入力し、式3に従って、出力コード{c(i,j)}を出力する。なお、自明なので特に説明しないが、{b(j)}はダミーであっても良い。
Figure JPOXMLDOC01-appb-I000002
  式2
 
Figure JPOXMLDOC01-appb-I000003
                 式3
 
ここで、スクランブル装置604の行数Kとチップ認証装置600の行数Nの選び方は、必ずしも基幹ノード側で管理する必要はない。たとえば、周辺ノードを基幹ノードに登録する際、周辺ノードの所有者、あるいは、周辺ノードの正規の管理者が、任意に決定してもよい。決定された(N、K)は周辺ノード側の内部メモリ等に保存することが可能である。あるいは、反対に、(N、K)を基幹ノードの内部メモリ等に保存することも可能である。
(N、K)は、必ずしも基幹ノード側が知らなくても良い情報であるが、基幹ノードが中央管理するネットワークに登録し、接続された後は、ネットワークメンテナンスの時などに基幹ノード側で検査し必要に応じて改定することが可能である。その際、改定された(N、K)で周辺ノードを再登録する必要がある。
(N、K)を改定すると、たとえ同じ入力コード{a(i),b(j)}を入力しても、スクランブル装置604が生成する中間コード{a(i),f(j)}が異なる。したがって、チップ認証装置600が生成する出力コード{c(i,j)}も異なる。
たとえば一例では、基幹ノードは前回のメンテナンス時に改定した(N、K)を記録しておく。次のメンテナンス時、周辺ノードの内部メモリに保存されている(N、K)を読み出し、前回基幹ノードに記録しておいた(N、K)と比較する。もし一致していないようなら、チップが不正アクセスを受けたとして、ネットワークからこの周辺ノードを切り離すか、管理者に警報を出すことができる。こうして、(N、K)をセキュリティバッファーとして有効活用することも可能である。なお、式1-3に基づくコード生成方法では、物理乱数{d(i,j)}を用いているので、仮にセキュリティバッファ(N、K)が流出したとしても問題ない。
上記の式1-3にしたがってコード生成するため、該コード発生装置602を含む周辺ノードに搭載される演算処理装置を使用する場合、スクランブル装置604とチップ認証装置600の間に生成される中間出力{f(j)}は、該演算処理装置の外に出力しないよう、演算処理装置内のレジスタに、中間出力{f(j)}の一部あるいは全部を格納することが望ましい。つまり、入力コードの一部である{a(i)}と中間出力{f(j)}から構成される中間コード{a(i),f(j)}は、該周辺ノードの外部には出力されない。
また、遠隔操作によってコード生成中のレジスタからチップ内あるいは演算処理装置内に閉じ込められた中間出力{f(j)}をリバースエンジニアリングで取り出すのは至難の業である。これは、レジスタが非常に小さな動的メモリであることによる。たとえば、通常のパソコンでは32ビット、多くとも64ビットしかない。一方、中間出力{f(j)}をすべて記録するのに必要な容量はNビットである。したがって、Nが十分大きければ、コード生成するには、中間コード{f(j)}をいくつかのセグメントに分割してレジスタに都度格納しなければならない。ここで、コード生成のために一度に使えるレジスタのビット数をRとすると、図30において、たとえば、第1列から第R列までをセグメント1、第R+1列から第2R列までをセグメント2、第2R+1列から第3R列までをセグメント3、…とし、式2に基づいてセグメント毎に中間出力{f(j)}の一部を生成し、レジスタに格納する。すなわち、Nが十分大きければ、中間出力{f(j)}を格納したレジスタ領域はセグメントを更新するごとに上書きされる。したがって、コード生成途中であっても、遠隔操作によって中間出力{f(j)}の全体を一度に盗まれることはない。
あるいは、上記の式1-3にしたがってコード生成するため、該コード発生装置602を含む周辺ノードに搭載される演算処理装置を使用する場合、スクランブル装置604とチップ認証装置600の間に生成される中間出力{f(j)}は、該周辺ノードの外に出力しないよう、該周辺ノードの内部メモリに、中間出力{f(j)}の一部あるいは全部を格納することが望ましい。つまり、入力コードの一部である{a(i)}と中間出力{f(j)}から構成される中間コード{a(i),f(j)}は、該周辺ノードの外部には出力されない。 
あるいは、上記の式1-3にしたがってコード生成するため、同一チップ内の周辺回路を用いる場合、スクランブル装置604とチップ認証装置600の間に生成される中間出力{f(j)}は、該チップの外部には出力されない。つまり、入力コードの一部である{a(i)}と中間出力{f(j)}から構成される中間コード{a(i),f(j)}は、該チップの外部には出力されない。
いずれにしろ、出力コード{c(i,j)}の生成が終われば中間出力{f(j)}は自動的に上書き消去することが望ましい。また、本願では、入力コード{a(i),b(j)}から中間コード{f(j)}を生成するのに物理乱数{d(i,j)}(i=1,…K)を利用しているので、物理乱数{d(i,j)}(i=1,…K)の要素数が十分大きければ入力コード{a(i),b(j)}から中間出力{f(j)}を予測することは、現実的に不可能である。更に、中間入力コード{a(i),f(j)}から出力コード{c(i,j)}を生成するのに前者とは独立の物理乱数{d(i,j)}(i=K+1,…K+N)を利用しているので、物理乱数{d(i,j)}(i=K+1,…K+N)の要素数が十分大きければ、出力コード{c(i,j)}を予測することは現実的に不可能である。
たとえば、図29の例で考えてみよう。スクランブル装置セルアレイ614(行数K)およびチップ認証装置セルアレイ611(行数N)のビット容量を概算すると次のようになる。まず、入力コードの場合の数は、2の2N乗である。スクランブル装置セルアレイ614の物理乱数{d(i,j)}の場合の数は、2のNK乗である。一方、チップ認証装置セルアレイ611からなる物理乱数{d(i,j)}の場合の数は、2のY乗であり、YはNの2乗である。出力コード{c(i,j)}の場合の数は、2のZ乗であり、ZはNの2乗である。
次に、(N、K)を決定するために必要な要件を考える。一般的なデジタル暗号回線で用いられる入力コードは、現在128ビットから256ビットである。このビット数は、暗号セキュリティの都合から年々少しずつ増加しているが、それでもこれから10年程度の間は256ビットからせいぜい512ビットの間で推移するであろう。そこで、一例としてN=K=512の場合で見積もる。このとき、入力コードの場合の数は、2の512乗である。これは、既に非常に大きな整数の桁数である。実際にほぼ無限と考えて差し支えない。スクランブル装置の物理乱数{d(i,j)}の場合の数、チップ認証装置の物理乱数{d(i+N,j)}の場合の数、および出力コード数{c(i,j)}の場合の数は更に大きく、もすべて同様に2の512乗の2乗である。もちろん、現実的な無限大である。ここで、512の2乗は262,144なので、スクランブル装置を含めても262キロビットもあればチップ認証装置としては十分な容量である。この容量は、通常のDRAM製品のシリコンダイ辺りの容量(4ギガビット)に比べて4桁小さく、およそ1万分の1以下とはるかに小さい。また、この物理乱数{d(i+N,j)}も前記チップに固有の物理的乱雑さにである。
N=K=128の場合では、入力コードの場合の数は、2の256乗であり、およそ10の77乗となる。上述したように、物のインターネットでは通信ノードの数は全世界で一兆個(10の12乗)より多くなると考えられる。10の77乗は無限大ではないが、全世界のノード数よりはるかに大きく、たまたま入力コードが同じになるという可能性は、ノード数一兆個としても10のマイナス65乗と極めて小さくなり、現実的なゼロである。スクランブル装置の物理乱数{d(i,j)}の場合の数、チップ認証装置の物理乱数{d(i+N,j)}の場合の数、および出力コード数{c(i,j)}の場合の数は、すべて同様に2の128の更に2乗となり、もちろん、現実的な無限大である。ここで、128の2乗は16、384なので、スクランブル装置を含めても16キロビットもあればチップ認証装置としては十分な容量である。この容量は、通常のDRAM製品のシリコンダイ辺りの容量(4ギガビット)に比べて5桁小さく、およそ10万分の1以下とはるかに小さい。
このように、仮に中間コード{f(j)}が盗まれていたとしても、物理乱数{d(i,j)}(j=K+1,…K+N)からなる物理的乱雑さによって出力コード{c(i,j)}を予測するのは現実的に不可能である。その上、セキュリティバッファ(N、K)を随時更新することができるので、同じ入力コード{a(j),b(j)}に対して生成される中間コードは随時更新される。
図31は、スクランブル装置セルアレイ614とチップ認証装置セルアレイ611を含むメモリチップの一例を示す図である。これらの領域が、メモリ領域と共に、ワード線方向に配列し、ワード線503を共有している。図32は、スクランブル装置セルアレイ614とチップ認証セルアレイ611を含むメモリチップの他一例を示す図である。メモリ領域を含むこれら3つの領域がビット線方向に配列し、ビット線902を共有している。このように、ワード線503とビット線902を入れ替えても、本願の発明は、本質的に何も変わりはない。
図33は、認証素子977の一例を示す図である。ワード線503とビット線902の交差するところにキャパシタ982を配置している。一般に、キャパシタは絶縁膜を二つの導電体で挟んだ構造をしており、二つの導電体の間に電界を印加することで電荷を蓄えるものである。ここで、印加電界が直流であれば電流を流さない。しかしながら、印加電界が高すぎると絶縁膜が破壊され、こうして破壊されたキャパシタは、直流でも電流を流すようになる。ワード線503とビット線902の間に電圧を印加することで、選択された交差点のキャパシタ982に電界を印加することが可能である。なお、ここで破壊のために印加する電圧は交流でも直流でもかまわない。
この破壊の発生は確率的であり、物理的乱雑さを伴うものと考えられる。破壊した認証素子は低い電界でも電流を流しやすくなり、たとえばメモリでは“1”に相当する。図22では黒に相当する。反対に、破壊しなかった認証素子は低い印加電界に対して電流を流し難く、たとえばメモリでは“0”に相当する。図22では白に相当する。絶縁破壊のための印加電界やキャパシタの詳細な条件(物性、構造、サイズ等)を調整することによって、この確率を大雑把に調整することが可能となる。この確率をおよそ50%程度にすると、図22のような白黒のランダムな市松模様が得られる。
図34は、破壊判定のために用いる電流電圧特性である。横軸は、読み出しのために認証素子977(図33の例ではキャパシタ982)に印加される読み出し電圧の絶対値であり、縦軸は、その読み出し電圧に応じて認証素子977を通して流れる電流の絶対値である。ここで、電圧が高ければ認証素子に印加される電界が高く、電圧が低ければ電界も低くなる。破壊された認証素子(破壊認証素子)では、低い電圧にもかかわらず非常に大きな電流が流れる。一方、破壊されなかった認証素子では、高い電圧においてもほとんど電流が流れない。この差を見極める方法として、破壊判定電圧932における破壊判定電流値933と非破壊判定電流値934を設定する。すなわち、絶対値が破壊判定電圧932に一致する読み出し電圧を認証素子977に印加したときに、認証素子977を流れる電流の絶対値が破壊判定電流値933より高ければ、当該認証素子は破壊していると判定し、非破壊判定電流値934より低ければ破壊していないと判定する。
実際に読み出す際は、まず、読み出す素子のアドレスを選択しなければならない。アドレスを選択するには、図23に示すように、行デコーダー972で素子行を選択し、列デコーダー973で素子列を選択する。この素子行と素子列の組み合わせがアドレスである。図35の例では、一行目にこのアドレスを2進法で表記している。こうして選択されたアドレスに対応する認証素子977が接続するワード線503とビット線902の間に、図34で説明したような方法で読み出し電圧を印加し、対応するアドレスのデータ(“1”あるいは“0”)を読み出す。読み出し後、選択する認証素子のアドレスを変更し、次の認証素子のデータを読み出す。認証素子用アレイ960中の全ての認証素子のデータが読み出されるまでこの作業を繰り返す。
図34の判定方法には、破壊判定電流値933と非破壊判定電流値934の間に一定のギャップがある。このため、読み出し電流の絶対値がこのギャップ内にある素子は破壊されたとも非破壊のままであるとも判定されない。このような認証素子は、メモリに相当すると“0”でも“1”でもないため、 “X”と表記することにする。このとき、2進表記した認証素子のセルアレイ上のアドレスと、対応する認証素子のデータの一例を示したのが図35である。その3行目を見ると、一例として、左から、“1”、“1”、“0”、“1”、“X”、“0”、“0”、“1”…“0”となっている。このように、左から五番目の認証素子のデータが“X”になっている。
次に、図35のような“0”と“1”の列とそれぞれに対応するアドレスの組み合わせを市松状にプロットしたものが図22の白黒のパターンになると予想される。ここで、“0”は白に変換され、“1”は黒に変換されるものとする。しかしながら、“0”でも“1”でもない“X”が存在すると、図22のような白黒の市松状のパターンを生成することはできない。そこで、市松状にプロットする前に“X”に対応する認証素子をプロットから排除しなければならない。
たとえば、 “X”に対応する認証素子のアドレス(たとえば、図35の例では2進法表記で100)をバッファーに保存する。各アドレスに対応する認証素子のデータをバッファーの記録と比較し、対応するアドレスがバッファー内に存在したら読まないというような作業を行う。この作業によって、図35の4行目のように、“X”に対応する認証素子のデータは取りのぞかれ、“0”と“1”のみからなるデータとアドレスの組み合わせが生成される。こうして、図22のように、白黒の市松状のパターンが得られる。
ところで、上述した絶縁膜の破壊現象には、一般に、ソフト破壊とハード破壊の二つのモードがある。ソフト破壊モードは、しばしばハード破壊の前段階として現れ、読み出し電圧に対する電流がハード破壊時より低く、非破壊時より高い。また、ソフト破壊モードでは、電圧を繰り返し印加する間に非破壊状態に戻ったり、ハード破壊モードに遷移したりすることもあり状態が不安定である。しかしながら、一度ハード破壊モードに陥ると、非破壊状態に戻ることはなく、またソフト破壊モードに遷移することもない。本発明においては、図34および図35で説明した方法により、より安定した破壊モードであるハード破壊モードをメモリの“1”とみなし、ソフト破壊モードを“X”としている。破壊判定電流値933と非破壊判定電流値934の間のギャップは、ソフト破壊モードに“X”をラベルするためのものである。こうして、上述した方法によって、“X”のソフト破壊した素子のデータを取り除くことによって、図22の市松状の白黒パターンは、繰り返し電圧を印加しても変化し難くなり、パターンの再現性を獲得する。これは、上記必要条件(4)入力と出力の関係が安定していて信頼できること、を満たすのに有利である。このように、破壊認証素子は、ハード破壊していることが望ましい。
一般に、電気的ストレスによってソフト破壊状態からハード破壊状態に遷移する場合と、非破壊状態からソフト破壊状態に遷移する場合と、どちらかを人為的に優勢にするよう制御することは難しい。したがって、電気的ストレスを繰り返すうち“X”とラベルされたソフト破壊状態の割合が所定の値以下になることもあれば、それ以上になることもある。しかしながら、ソフト破壊状態の認証素子の数が一定以上に多いと、データ数の減少によりパターンの乱雑さの情報量が不足する。さらに、物理的乱雑さを最大限にするには、情報エントロピーの考え方から“0”と“1”の割合がおおよそ50%ずつになることが望ましい。そこで、素子に電気的ストレスを印加するための電圧パルスを繰り返し、ソフト破壊モード“X”を減らしたり、“0”と“1”の割合を所定のレベルに調整したりする方法が必要になる。以下破壊パルスの繰り返し方法を説明する。
一例として、図36の方法を紹介する。第一破壊パルス電圧を印加した後、図34で説明した方法で破壊検査を実施する。“X”の割合が一定値より高ければ、続いて、第二破壊パルス電圧を印加し、再び図34の方法で破壊検査を行う。まだ“X”の割合が多ければ、第三パルス電圧を印加し、図34の方法で破壊検査を行う。この作業を、“X”の割合が所定の値以下になるまで繰り返す。この作業の繰り返し回数の上限値もあらかじめ設定しておく必要がある。作業の繰り返し上限に到達しても“X”の割合が所定の値以下にならない場合、そのチップ認証装置は検査不合格となる。検査に合格しなかった場合、そのチップは不良品とされ、廃棄される。検査に合格した場合、上述したように“X”とラベルされた認証素子のアドレスをバッファーに記録し、対応する認証素子のデータを取り除く。ただし、認証素子の数が十分多ければ、多少ソフト破壊の割合が多くとも、十分に大きな情報量の物理的乱雑さを確保することが可能である。この場合、“X”の割合を検査するこの作業は省くことができる。
ここで、“X”はソフト破壊状態に対応するので、複数回パルスを印加しているうちにハード“1”に遷移するものが出てくる。“0”から“X”に遷移するものの割合が少なくなければ全体として“0”の割合が下がり、“1”の割合が多くなる。すなわち、たとえ1回目のパルスを与えた際は“0”の数が多くても複数回パルス印加するうちに“1”の割合が増えていく。このように、パルス印加回数、パルス印加時間、及び、パルス波高の上昇方法を最適化することにより、取り除かれるデータ(“X”)の割合をできる限り低減しつつ、“0”と“1”の割合を50%ずつに近づけることが可能となる。失敗した場合、上述したように、検査不合格とみなし不良品として廃棄する。こうして、十分な情報量の物理的乱雑さを有し、安定した“0”と“1”のデータからなる良品のみを製品として出荷することができる。
破壊パルスを繰り返し印加する他の一例として、図37を紹介する。図36の例との違いは、破壊パルスが印加されるたびに高くなっている点である。その他の説明は図36の例と同様なので省略する。
ソフト破壊モード“X”を取り除く別の方法は、“X”の認証素子のみ選択し、ハード壊モード“1”に遷移するまで、繰り返し電圧を印加する方法ものである。このときの破壊電圧の印加の仕方は、たとえば、図36あるいは図37のような方法である。この方法は、 “0”の割合がまだ“1”の割合よりある分だけ高いうちに行うことが望ましい。
また別の一例では、認証素子の素子構造によってソフト破壊よりハード破壊を優勢にすることが可能である。たとえば、図38のように、第一導電体1053、第二導電体1052、絶縁膜910、導電体先端部1051からなる素子構造を考えよう。第一導電体1053には第一電極1055が接続しており、第二導電体1052には第二電極1054が接続している。第一電極1055は、ワード線502あるいはビット線902のどちらか一方に接続し、第二電極1054は他方に接続する。導電体先端部1051周辺の絶縁膜1050の分子構造は、力学的ストレスにより安定しておらず、破壊しやすくなる。さらに、破壊パルスを印加したときに導電体先端部1051の周辺に電界が集中しやすい。すなわち、よりハード破壊しやすくなる。しかしながら、導電体先端部1051の深さには製造ばらつきがあるので、導電体先端部1051と第二導電体1052の間の絶縁膜1050の破壊発生確率も認証素子ごとにばらつく。ここで、更に上述した破壊パルスの印加の仕方を工夫することによって“0”と“1”の物理的乱雑さをなるべく大きくするよう、調整することが可能となる。
図39は、認証素子977の別一例を示す図である。ワード線503とビット線902の交差するところにダイオード要素が配置している。具体的には、一例としてPN接合986(図39)で可能である。あるいは、別の一例として、ショットキー接合987(図40)が可能である。ダイオードに強い電圧ストレスを印加すると、ダイオードは確率的に破壊される。破壊されたかどうかは物理的に乱雑であり、ダイオードに逆方向の読み出し電圧を印加して判定する。破壊された素子では、ダイオードに逆方向の読み出し電圧を印加すると電流が流れやすくなり、たとえばメモリの“1”に相当する。破壊されなかったダイオードでは、逆方向の読み出し電圧を印加しても電流が流れ難く、たとえばメモリの“0”に相当する。ストレスも読み出しも、電圧は、それぞれ選択するワード線503及びビット線902の間に印加する。
上述のように、それぞれワード線503とビット線902とに接続する認証素子977を構成する要素がPN接合986やショットキー接合987のようなダイオードである場合、読み出し電圧は逆方向である。一方、それぞれワード線503とビット線902とに接続する認証素子977を構成する要素がキャパシタ982の場合、読み出し電圧の方向は正方向逆方向を区別しなくてよい。この点に留意すると、ダイオードの破壊判定方法は、図34と同様に説明できる。ここで、ダイオードを挟む二つの電極に印加する読み出し電圧は絶対値であり、読み出し電圧を印加したときにダイオード要素を流れる電流も絶対値である。すなわち、PN接合やショットキー接合の場合、これらの絶対値は、逆方向電圧および逆方向電流のことを意味する。その他、詳細の説明は、キャパシタの場合と同様なので省略する。
図41は、認証素子977がトランジスタ983の場合を示す図面である。一般に、トランジスタは、半導体基板表面の二つの近接する拡散層とゲートキャパシタから構成されている。ゲートキャパシタは、半導体基板上に、ゲート絶縁膜、及び、ゲート電極を積層したものである。この例では、二つの拡散層の内一方をビット線902に接続している。ゲート電極にはワード線503を接続する。すなわち、この例では、ゲート絶縁膜の破壊という物理的ばらつき要因を採用することが可能である。絶縁破壊を用いる場合、たとえばビット線902に対してワード線503に電圧ストレスを印加する。この電圧ストレスは、一例として、図36のようなパルスでも良い。また別の一例として、図37のようなパルスでも良い。読み出しは、図34のように、ビット線902とワード線503の間に破壊判定電圧932を印加し、ビット線902とワード線503の間を流れる電流を読めば良い。
図42は、認証素子977が、トランジスタ983とキャパシタ982から構成されるDRAMセルの場合である。ここでは、キャパシタ982の破壊を利用する方法を説明する。具体的には、トランジスタ983をオン状態にするための転送電圧をワード線503とビット線902の間に印加する。その間にビット線902に高電圧ストレスを印加する。この高電圧ストレスは、一例として、図36や図37のようなパルスである。読み出しは、図34のように、ワード線503に転送電圧を印加している間に、ビット線902を流れる電流を読めば良い。転送電圧の絶対値は、ビット線に印加する電圧の絶対値より大きく、その電圧差はトランジスタ983をオン状態にするのに必要な電圧である。トランジスタ983のゲート絶縁膜を破壊する場合、図41と同様な方法が可能である。このとき、ビット線902に繋がっている側のゲート絶縁膜が破壊されることになる。いずれにしろ、破壊は確率的であり、物理的乱雑さの起源となる。
ここで重要なことは、認証素子977は、通常のDRAMセルをそのまま用いることができる点である。すなわち、DRAMチップに本願のチップ認証装置を追加する場合、メモリセル領域の一部に認証装置領域(セルアレイ)を確保するだけで製造のための追加コストは必要ない。認証装置領域のために必要なビット容量は、DRAMに限らず一般的なメモリ容量に比べて非常に少なくて済む。
上述したように、図29のセルアレイを例にとり、N=K=512の場合で見積もると、262キロビットもあればチップ認証装置としては十分な容量である。この容量は、通常のDRAM製品のシリコンダイ辺りの容量(4ギガビット)に比べて4桁小さく、およそ1万分の1以下とはるかに小さい。N=K=128の場合、16キロビットもあればチップ認証装置としては十分な容量であることがわかる。この容量は、通常のDRAM製品のシリコンダイ辺りの容量(4ギガビット)に比べて5桁小さく、およそ10万分の1以下とはるかに小さい。
DRAMの価格は、現在、4ギガビット品で2.5米ドルから3米ドルの間で推移している。DRAMセルをそのまま認証素子977として使用することができるので、物理乱数の情報量を十分維持しながら、ソフト破壊モード “X”の分を取り除いて(入出力の信頼性)を確保したとしても、スクランブル装置を含めたチップ認証装置の値段は、1チップ辺り最大でも0.03米セント程度である。
図43は、認証素子977の別の一例を示す図である。ワード線503とビット線902の交差するところに不揮発性メモリの制御に用いる選択トランジスタ984を配置している。不揮発性メモリのメモリ素子は、第一導電型の半導体基板もしくは第一導電型のウェル上の二つの拡散層の間に積層された、シリコン、トンネル膜、電荷蓄積層、層間絶縁膜、制御ゲートからなる、ゲート積層構造である。前記選択トランジスタ984は、このメモリ素子の層間絶縁膜の一部もしくは全てを層間導電層に置き換えたものである。あるいは、層間絶縁膜を突き抜けるように開けた縦穴に導電材を埋め込んだ導電体ビアなどを用いても良い。いずれにしろ、制御ゲートに接続したワード線503に高電圧を印加することで、選択された交差点の選択トランジスタ984のトンネル膜に高電界ストレスを加えることが可能である。ここで、トンネル膜の破壊および読み出しは、トランジスタ983のゲート絶縁膜の破壊と同様になる。また、トンネル膜の破壊は確率的であり、物理的乱雑さの起源となる。すなわち、トランジスタ983のゲート絶縁膜をトンネル膜に置き換えれば説明は全て同じなので、ここでの説明は以下省略する。 
図44は、認証素子977の別の一例を示す図である。ワード線503とビット線902の交差するところに抵抗985を配置している。ワード線503とビット線902の間に高電圧を印加することで、選択された交差点の抵抗985に電界ストレスを加えることが可能である。 
あるいは図92のようにトランジスタ983および可変抵抗981からなる可変抵抗メモリ素子989である。この可変抵抗981が電圧印可で抵抗値を制御できるものである場合、この可変抵抗メモリ素子989はReRAMである。また、この可変抵抗981が加熱によって抵抗値を制御できるものである場合、この可変抵抗メモリ素子989はPCRAMである。あるいは図93のようにトランジスタ983および磁気抵抗980からなる磁気抵抗メモリ素子990である。この磁気抵抗がGMR膜である場合、この磁気抵抗メモリ素子990はMRAMである。また、この磁気抵抗がSTT膜である場合、この磁気抵抗メモリ素子990はSTT-MRAMである。あるいは図94のように電荷蓄積層付き不揮発性メモリ素子988である。ここで、電荷蓄積層は電荷トラッピング層でも浮遊ゲートでも良い。あるいは、図95のように意図的にビット線端子を排除したNAND型配列上に配置した電荷蓄積層付き不揮発性メモリ素子988である。あるいは、図96のようにトランジスタ983および強誘電体キャパシタ991からなる強誘電体メモリである。
一般に、抵抗は高抵抗導電材を二つの端子で挟んだものであり、抵抗に高電界を印加すると確率的に断線し、ワード線503とビット線902の交点は非導通(ショート)状態になる。ショートしなかった場合(非ショート)、ワード線503とビット線902の交点は導通状態である。どのアドレスの抵抗がショートするか、あるいは、非ショートのままかはあくまで物理的乱雑さによって決まるので、図22のようなランダムな市松パターンを作ることができる。
抵抗が破壊されたかどうかは、抵抗985に読み出し電圧を印加して判定する。ショートした認証素子では、読み出し電圧を印加しても電流が流れづらく、たとえばメモリの“0”に相当する。ショートしなかった認証素子では、読み出し電圧が低くても電流が流れやすく、たとえばメモリの“1”に相当する。このような抵抗のショートは、導電体の破壊と同じであり、たとえば、エレクトロマイグレーションなどによって引き起こされる。すなわち、エレクトロマイグレーションは確率的に発生し、発生した素子はメモリの“0”に相当し、発生しなかった素子はメモリの“1”に相当する。
図45は、ショート判定のために用いる電流電圧特性である。横軸は、読み出しのために抵抗985に印加される読み出し電圧の絶対値であり、縦軸は、その読み出し電圧に応じて抵抗985を通して流れる電流の絶対値である。ショートしなかった認証素子では、低い電圧にもかかわらず非常に大きな電流が流れる。一方、ショートした認証素子では、高い電圧においてもほとんど電流が流れない。この差を見極める方法として、ショート判定電圧742における非ショート判定電流値743とショート判定電流値744を設定する。すなわち、絶対値がショート判定電圧742に一致する読み出し電圧を抵抗985に印加したときに抵抗985を通して流れる電流の絶対値が、非ショート判定電流値743より高ければ、ショートしていないと判定し、ショート判定電流値744より低ければショートしていると判定する。
図45の判定方法には、非ショート定電流値743とショート判定電流値744の間に一定のギャップがある。このため、読み出し電流の絶対値がこのギャップ内にある認証素子977は、ショートが発生したとも発生しなかったとも判定されない。このような認証素子977は、メモリに相当すると“0”でも“1”でもないため、“X”と表記することにする。このとき、認証素子977のセルアレイ上のアドレス(番地)と、対応する認証素子977のデータの一例を示すと、認証素子977がキャパシタ982の場合と同様に、図35のようになる。一例として、左から、“1”、“1”、“0”、“1”、“X”、“0”、“0”、“1”、…、“0”となっている。このように、五番目の素子のデータが“X”になっている。ここで、“X”を取り除き、図22のような白黒のみの市松模様を得る方法は、キャパシタ982の場合と同様なので、ここでの説明は省略する。
実際に読み出す際は、まず、読み出す素子のアドレスを選択しなければならない。アドレスを選択するには、図23に示すように、行デコーダー972で素子行を選択し、列デコーダー973で素子列を選択する。この素子行と素子列の組み合わせがアドレスである。図35の例では、このアドレスを2進法で表記している。こうして選択されたアドレスに対応する素子が接続するワード線503とビット線902の間に、図45で説明したような方法で読み出し電圧を印加し、対応するアドレスのデータ(“1”あるいは“0”)を読み出す。読み出し後、選択する認証素子のアドレスを変更し、次の認証素子のデータを読み出す。図23に示す認証素子用アレイ960中の全ての素子のデータが読み出されるまでこの作業を繰り返す。
図46は、抵抗985の一例を示す図である。第一導電体1053、第二導電体1052、絶縁膜910、導電体接合部970からなる素子構造である。第一導電体1053には第一電極1055が接続しており、第二導電体1052には第二電極1054が接続している。第一電極1055は、ワード線503あるいはビット線902のどちらか一方に接続し、他方は第二電極1054に接続する。導電体接合部970の太さには製造上のばらつきがある。そのため、抵抗値にばらつきがあり、ショートする確率にもばらつきがある。したがって、電圧ストレスを繰り返し印加してショートと非ショートの確率がほぼ50%になるように調整することが望ましい。ここで、繰り返しパルス印加の具体的方法は、例えば、図36や図37のような方法が考えられる。
一般に、電気的ストレスによって導電体接合部970の高抵抗部位には熱が発生し、エレクトロマイグレーションを起し易くなる。エレクトロマイグレーションを起すと、その箇所で導電体接合部970は断線(ショート)する。断線後は、例えば、図38のようになり、導電体接合部970は導電体先端部1051のように変形する。更に高温のため酸化が進み、断線箇所、すなわち導電体先端部1051と第二導電体1052の間には絶縁膜1050が入り込む。こうして、非ショート状態からショート状態に遷移する。
更に電気的ストレスを繰り返し印加し続けると、断線箇所の酸化膜が絶縁破壊を起し、今度はショート状態から非ショート状態に遷移する。
非ショート状態からショート状態に遷移する場合と、ショート状態から非ショート状態に遷移する場合と、どちらか一方を人為的に優勢にするような制御は難しい。その中間状態が“X”である。したがって、電気的ストレスを繰り返すうちに“X”とラベルされた中間状態の割合が所定の値以下になることもあれば、それ以上になることもある。しかしながら、中間状態の素子の数が一定以上に多いと、データ数の減少によりパターンの乱雑さが不足する。そこで、素子に電気的ストレスを印加するための電圧パルスを繰り返す方法が必要になる。一例として、第一破壊パルス電圧を印加した後、図45で説明した方法で破壊検査を実施する。このとき、“X”の割合が一定値より高ければ、続いて、第二破壊パルス電圧を印加し、再び図45の方法で破壊検査を行う。まだ“X”の割合が多ければ、第三パルス電圧を印加し、図45の方法で破壊検査を行う。この作業を、“X”の割合が所定の値以下になるまで繰り返す。この作業の繰り返し回数の上限値もあらかじめ設定する必要がある。作業の繰り返し上限に到達しても“X”の割合が所定の値以下にならない場合、そのチップ認証装置は検査不合格となる。検査に合格した場合、上述したように“X”とラベルされた素子のアドレスをバッファーに記録し、対応する素子のデータを取り除く。不合格の場合廃棄する。ただし、素子の数が十分多ければ、多少中間状態の割合が多くとも、十分に大きな物理的乱雑さを確保することが可能である。この場合、“X”の割合を検査するこの作業は省くことができる。
一方、物理的乱雑さを最大限に利用するには、“0”と“1”の割合がおおよそ50%ずつになることが望ましい。 “X”とラベルされた素子は、パルス電圧印加を繰り返すうちに確率的に“0”に遷移するので、たとえ1回目のパルスを与えた際は“1”の数が多くても複数回パルス印加するうちに“0”の割合が増えていく。ここで、繰り返しパルス印加の具体的方法は、例えば、図36や図37のような方法が考えられる。
このように、パルス印加回数、パルス印加時間、及び、パルス波高の上昇方法を最適化することにより、取り除かれるデータ(“X”)の割合をできる限り低減しつつ、“0”と“1”の割合をほぼ50%ずつに近づけることが可能となる。失敗した場合、上述したように、検査不合格とみなし不良品として廃棄する。こうして、十分な物理的乱雑さを有し、安定した“0”と“1”のデータからなる良品のみを製品として出荷することができる。
図47は、図44に採用される抵抗985の別の一例である。これは、金属配線パターン作成時に一緒に作成することができる。したがって、導電体930は通常のメタル配線と同じ材料であることが望ましく、パターン形状は、図47のように、少なくとも一部は矩形に曲がっていることが望ましい。この曲がった部分に熱が溜まり易くなり、エレクトロマイグレーションを起して断線し易くなる。たとえば、第一電極1055はワード線503に接続し、第二電極1054はビット線902に接続する。
また、図47のように矩形に曲がった部分は通常のメタル配線より細いことが望ましい。たとえば、矩形部分以外のところをレジストでマスクし、酸化工程を経てスリミングすることでこのような構造が作成できる。
導電体930は、複数回矩形に曲げることも可能である。図48はその一例であり、9箇所矩形に曲がっている。こうして、ショートする確率を配線パターニングで調節することも可能である。ただし、第一電極1055はワード線503に接続し、第二電極1054はビット線902に接続する。
図49の導電体ビア530は、たとえば、第一導電体1053の側から絶縁膜910を貫通する穴(ビア)を開け、そこに導電材料を埋め込んで作成できる。これは、図46の導電体接合部970の一例である。ここで、ビア深さの狙い値を第一導電体1053と第二導電体1052の間の距離に等しくなるようビア製造工程を調整した場合を考える。たまたま狙い値どおりに作成されると、図49の中央の素子のように、ビアが第一導電体1053と第二導電体1052の間にぴたりと収まる。
しかしながら、一般には、図50に示すように、ビアのアスペクト比や穴径には製造上の避けられないばらつきがある。このばらつきは、ビア深さをもばらつかせる。こうして、ある素子では導電体接合部970の長さが足りず、第一導電体1053と第二導電体1052の間が断線(ショート)して図38のようになる。またある素子では接続(非ショート)して図46のようになる。たとえば、この図49の例では、左からショート、接続(非ショート)、接続(非ショート)である。
ワード線503とビット線902で選択した認証素子977の導電体接合部970がショートしていれば電流は流れず、たとえばメモリセルに対応させると“0”状態となる。反対に、ショートしていなければ電流が流れ、たとえばメモリセルに対応させると“1”状態となる。 “0”を白、“1”を黒とみなすと、図22のようなランダムな白黒のパターンが生成される。
ここで、ビア深さのばらつきは大量生産プロセスにおける製造上のばらつきなので、どのようなアルゴリズムとも関係が無い。したがって、物理的ばらつきとみなすことができる。また、必ずしも電気的なストレスを印加することなく、図22のような白黒のランダムな市松パターンを得ることができる。
しかしながら、導電体ビア製造後に、ショートと非ショートの割合を測定し、所望の値からのずれが大きければ電気的ストレスを印加して回復を期待することが可能である。たとえば、ショートしている場合(たとえば、図49の左端の認証素子)、電気的ストレスを繰り返すうちビア底と第二導電体1052の間の絶縁膜の一部(たとえば、図38の絶縁膜1050)が絶縁破壊し、ショート状態から非ショート状態に転移することがある。反対に、非ショートの場合(たとえば、図49の中央)、電気的ストレスを繰り返すうちエレクトロマイグレーションを起こして非ショート状態からショート状態に転移することがある。
しかしながら、絶縁破壊とエレクトロマイグレーションのどちらを優勢にするかを人為的に制御するのは難しい。そこで、データ“1”が優勢の場合、データ“1”の素子のみ選択して電気的ストレスを印加し、反対に、データ“0”が優勢の場合、データ“0”の素子のみ選択して電気的ストレスを印加する。こうして、“1”と“0”の割合を検査しながら、所望の割合に近づくまで、このような電気的ストレスの印加を繰り返すことが望ましい。このとき、各々選択された素子郡に繰り返し印加するストレスパルスは、たとえば、図36や図37のようなものを使うことができる。
実際に読み出す際には、まず、読み出す素子のアドレスを選択しなければならない。アドレスを選択するには、図23に示すように、行デコーダー972で素子行を選択し、列デコーダー973で素子列を選択する。この素子行と素子列の組み合わせがアドレスである。図35の例では、このアドレスを2進法で表記している。こうして選択されたアドレスに対応する素子が接続するワード線503とビット線902の間に、図45で説明したような方法で読み出し電圧を印加し、対応するアドレスのデータ(“1”あるいは“0”)を読み出す。読み出し後、選択する認証素子のアドレスを変更し、新たに選択した認証素子のデータを同様な方法で読み出す。こうして図23に示す認証素子アレイ960中の全ての認証素子のデータが読み出されるまでこの作業を繰り返す。
上述の例では、たとえば、図38あるいは図46において、第一電極1055は、ビット線902とワード線503のどちらか一方に接続し、第二電極1054は他方に接続している。しかしながら、本願に関る構成の範囲はこれに留まらず次のような構成も可能である。たとえば、図51のように、第一電極1055と第二電極1054のどちらか一方が2つの制御ゲート(第一の制御ゲート996および第二の制御ゲート997)を挟んでゲート電極955と接続する。第一電極1055と第二電極1054の他方は、接地してもよいし、ソース線に接続しても良いし、あるいは別の回路に連なる任意の端子に接続しても良い。ビット線902は第二の制御ゲート997に接続し、ワード線503は第一の制御ゲート996に接続する。あるいは、図52のように、第一電極1055と第二電極1054のどちらか一方が接地され、あるいはソース線に接続され、あるいは別の回路に連なる任意の端子に接続される。他方が2つの制御ゲート(第一の制御ゲート996および第二の制御ゲート997)を挟んでゲート電極955と接続する。ビット線902は第一の制御ゲート996に接続し、ワード線503は第二の制御ゲート997に接続する。
図53および図54は、認証素子としてキャパシタ982を用いた場合を示す図面である。たとえば、図53のように、第一電極1055と第二電極1054のどちらか一方が2つの制御ゲート(第一の制御ゲート996および第二の制御ゲート997)を挟んでゲート電極955と接続する。第一電極1055と第二電極1054の他方は、接地してもよいし、ソース線に接続しても良いし、あるいは別の回路に連なる任意の端子に接続しても良い。ビット線902は第二の制御ゲート997に接続し、ワード線503は第一の制御ゲート996に接続する。あるいは、図54のように、第一電極1055と第二電極1054のどちらか一方が接地され、あるいはソース線に接続され、あるいは別の回路に連なる任意の端子に接続される。他方が2つの制御ゲート(第一の制御ゲート996および第二の制御ゲート997)を挟んでゲート電極955と接続する。ビット線902は第一の制御ゲート996に接続し、ワード線503は第二の制御ゲート997に接続する。
図55および図56は、認証素子としてPN接合986を用いた一例を示す図面である。たとえば、図55のように、第一電極1055と第二電極1054のどちらか一方が2つの制御ゲート(第一の制御ゲート996および第二の制御ゲート997)を挟んでゲート電極955と接続する。第一電極1055と第二電極1054の他方は、接地してもよいし、ソース線に接続しても良いし、あるいは別の回路に連なる任意の端子に接続しても良い。ビット線902は第二の制御ゲート997に接続し、ワード線503は第一の制御ゲート996に接続する。あるいは、図56のように、第一電極1055と第二電極1054のどちらか一方が2つの制御ゲート(第一の制御ゲート996および第二の制御ゲート997)を挟んでゲート電極955と接続する。他方は、接地してもよいし、ソース線に接続しても良いし、あるいは別の回路に連なる任意の端子に接続しても良い。ビット線902は第一の制御ゲート996に接続し、ワード線503は第二の制御ゲート997に接続する。
図57および図58は、認証素子としてショットキー接合987を用いた一例を示す図面である。たとえば、図57のように、第一電極1055と第二電極1054のどちらか一方が2つの制御ゲート(第一の制御ゲート996および第二の制御ゲート997)を挟んでゲート電極955と接続する。第一電極1055と第二電極1054の他方は、接地してもよいし、ソース線に接続しても良いし、あるいは別の回路に連なる任意の端子に接続しても良い。ビット線902は第二の制御ゲート997に接続し、ワード線503は第一の制御ゲート996に接続する。あるいは、図58のように、第一電極1055と第二電極1054のどちらか一方が2つの制御ゲート(第一の制御ゲート996および第二の制御ゲート997)を挟んでゲート電極955と接続する。他方は、接地してもよいし、ソース線に接続しても良いし、あるいは別の回路に連なる任意の端子に接続しても良い。ビット線902は第一の制御ゲート996に接続し、ワード線503は第二の制御ゲート997に接続する。
図59および図60は、認証素子として抵抗985を用いた一例を示す図面である。たとえば、図59のように、第一電極1055と第二電極1054のどちらか一方が2つの制御ゲート(第一の制御ゲート996および第二の制御ゲート997)を挟んでゲート電極955と接続する。第一電極1055と第二電極1054の他方は、接地してもよいし、ソース線に接続しても良いし、あるいは別の回路に連なる任意の端子に接続しても良い。ビット線902は第二の制御ゲート997に接続し、ワード線503は第一の制御ゲート996に接続する。あるいは、図60のように、ビット線902は第一の制御ゲート996に接続し、ワード線503は第二の制御ゲート997に接続する。また、抵抗985の一例として、図47および図48の導電体930が挙げられる。導電体は、細く、あるいは、矩形状に加工することによって抵抗体あるいはヒューズとして利用できる。あるいは、図46のように、導電体接合部970を導電体930として用いることもできる。
図61および図62は、認証素子としてトランジスタ983を用いた一例を示す図面である。たとえば、図61のように、トランジスタ983のゲートが、2つの制御ゲート(第一の制御ゲート996および第二の制御ゲート997)を挟んでゲート電極955と接続する。トランジスタ983のソースおよびドレインは、接地してもよいし、ソース線に接続しても良いし、あるいは別の回路に連なる任意の端子に接続しても良い。ここで、ビット線902は第二の制御ゲート997に接続し、ワード線503は第一の制御ゲート996に接続する。あるいは、図62のように、ビット線902は第一の制御ゲート996に接続し、ワード線503は第二の制御ゲート997に接続する。
図63および図64は、認証素子としてトランジスタ983およびキャパシタ982からなるDRAMセルを用いた一例を示す図面である。この図63のように、トランジスタ983のゲートが、2つの制御ゲート(第一の制御ゲート996および第二の制御ゲート997)を挟んでゲート電極955と接続する。トランジスタ983のソースおよびドレインの一方は、接地してもよいし、ソース線に接続しても良いし、あるいは別の回路に連なる任意の端子に接続しても良い。トランジスタ983のソースおよびドレインの他方は、キャパシタ982の二つの端子のうちの一方に接続する。キャパシタ982の他方の端子は、接地してもよいし、ソース線に接続しても良いし、あるいは別の回路に連なる任意の端子に接続しても良い。ここで、ビット線902は第二の制御ゲート997に接続し、ワード線503は第一の制御ゲート996に接続する。あるいは、図64のように、ビット線902は第一の制御ゲート996に接続し、ワード線503は第二の制御ゲート997に接続する。
図65および図66は、認証素子として選択トランジスタ984を用いた一例を示す図面である。たとえば、図65のように、選択トランジスタ984のゲートが、2つの制御ゲート(第一の制御ゲート996および第二の制御ゲート997)を挟んでゲート電極955と接続する。選択トランジスタ984のソースおよびドレインは、接地してもよいし、ソース線に接続しても良いし、あるいは別の回路に連なる任意の端子に接続しても良い。ここで、ビット線902は第二の制御ゲート997に接続し、ワード線503は第一の制御ゲート996に接続する。あるいは、図66のように、ビット線902は第一の制御ゲート996に接続し、ワード線503は第二の制御ゲート997に接続する。
図67は、ビット線方向に隣り合った選択トランジスタ984同士の拡散層を接続した場合の例である。これは、NAND型の配置と言われるもので、素子と素子の間からビット線端子を取り除いた状態になっている。ただし、素子が不揮発性メモリセルではなく、認証素子977なので、いわゆるNANDフラッシュとは異なり、NAND型認証素子アレイである。ここでは、認証素子は選択トランジスタ984であるが、特に、そのトンネル膜から構成されるキャパシタの絶縁破壊を用いる。図68は、NAND型認証素子アレイの別の一例である。この例では、認証素子としてトランジスタ983を採用している。ここでは、特に、そのゲート絶縁膜から構成されるキャパシタの絶縁破壊を用いる。したがって、動作方法は同様であり、以下まとめて説明する。なお、セル間のビット線端子を排除してもビット線を排除した訳ではない。したがって、NAND型配列であっても配線レイアウト上ビット線とワード線が交差するところに認証素子977が配置していることには変わりはない。
図69は、上述の認証用素子アレイ960の一例である。ページバッファ790は、NAND型不揮発性メモリセルアレイのページバッファを兼ねることができる。ページバッファ790は、ビット線902との接続をオン/オフさせるためのビット線接続ゲート791を含んでいる。更に、ページバッファ790は、内部にセンスアンプやラッチアップなどをつかさどる回路を設けている。
上述の例では、NANDフラッシュのメモリセルを混載することができる。しかしながら、DRAMやSRAM等の揮発性メモリ、あるいは、NORフラッシュ、磁気抵抗メモリ(MRAM)、スピントルク型磁気抵抗メモリ(STT-MRAM)、相変化型メモリ(PCRAM)、抵抗変化型メモリ(ReRAM)、強誘電体メモリ等の別種の不揮発性メモリを混載することも可能である。いずれにしろ本願の本質を変更する必要はない。すなわち、本発明に関する認証素子アレイ960と混載するメモリは、必要に応じアドレスのためのビット線またはワード線の少なくとも一方を共有するだけであり、メモリの種類にはかかわりがない。
認証素子977に電圧パルスを印加するには、一例として、以下に示すような方法で行う。まず、ビット線側の選択ゲートに正の電位を与え、ビット線電極側にあるドレイン選択トランジスタ(SGD)9811をオン状態にする。同様に、破壊したい素子につながるワード線とビット線電極側のドレイン選択トランジスタ9811の間にワード線が存在する場合は、そのワード線にも正の電位を与え、対応する各セルトランジスタ(認証素子977)をオン状態とする。ここで、破壊パルスを印加したい素子につながるビット線の電位を0Vにする。次に、破壊パルスを印加するワード線を選択し、破壊パルス電圧を印加する。破壊パルスを印加する方法の一例は、たとえば、図36または図37で説明した方法で行う。また、複数のチップ認証コードを持つ際は、それぞれの認証コードに対してそれぞれチップ認証ブロックが必要である。このような場合、一つのチップ認証装置に図36または図37を試してパルス回数を決定し、それをチップ内のメモリ領域(あるいはバッファー)に記憶させ、別のチップ認証領域に、ここで記憶したのと同じ回数の破壊パルスを印加することも出来る。その際はパルスとパルスの間の破壊率検査は省略可能である。
図70は、本願に関する破壊検査時の電圧パルス波形の一例を示す図面である。まず、読み出す認証素子977(セルトランジスタ)に関する1本のワード線を選択し、0Vより高い所定の電位を与える。選択ワード線とドレイン選択トランジスタ(SGD)9811の間に他のワード線が存在する場合は、そのワード線にも正の電位を与え、関連する認証素子(セルトランジスタ)をオン状態とする。ビット線は0Vないし、選択ワード線よりは低い所定の正の電位を与える。この選択ワード線とビット線の電位差は、たとえば、図34の破壊判定電圧932程度である。同時に、ドレイン選択トランジスタ(SGD)9811のゲートには正の電位を与え、ドレイン選択トランジスタ(SGD)9811をオン状態にする。次にビット線接続ゲート791を0Vに下げる。このとき、ビット線接続トランジスタ7910はオフとなり、ビット線はページバッファ790内の検知回路から切り離される。もし選択した認証素子977の絶縁膜が破壊され導電状態であれば、ビット線の電位は上昇する。反対に、導電状態でなければビット線の電位は変化しない。次に、再度ビット線接続ゲート791に正の電位を与え、ビット線接続トランジスタ7910をオンにする。続いて、ページバッファ790内でビット線の電位変化を検知する。認証素子977の絶縁膜の導通・非導通状態に因るビット線電位差をページバッファ790内で拡大し、ラッチ回路にhigh/low データとして格納する。つまり、ビット線電位が所定の電位(たとえば、破壊判定電圧値9330)以上であれば選択した認証素子977の絶縁膜は破壊されていると見なし、ビット線電位が所定の電位(たとえば、非破壊判定電圧値9340)以下であれば選択した認証素子977の絶縁膜は破壊されていないと見なす。ここで、破壊判定電圧値9330及び非破壊判定電圧値9340は、それぞれ、図34の破壊判定電流値933と非破壊判定電流値934に対応する電圧値である。この例では、破壊が導通状態であり、非破壊が非導通状態である。
図71を用いて、本実施例に関する破壊検査時の電圧パルス波形の別の一例を説明する。まず、読み出す認証素子977(セルトランジスタ)に関する1本のワード線を選択し、0Vを与える。同じく選択ワード線とドレイン選択トランジスタ9811間に他のワード線が存在する場合は、そのワード線にも正の電位を与え、関連する認証素子(セルトランジスタ)をオン状態とする。ビット線には所定の正の電位を与える。この選択ワード線とビット線の電位差は、たとえば、図34の破壊判定電圧932程度である。同時に、ドレイン選択トランジスタ9811のゲートには正の電位を与え、ドレイン選択トランジスタ9811をオン状態にする。次に、ビット線接続ゲート791を0Vに下げる。このとき、ビット線接続トランジスタ7910はオフとなり、ビット線はページバッファ790内の検知回路から切り離される。もし選択した認証素子977の絶縁膜が破壊され導通状態であれば、ビット線の電位は下降する。反対に、導電状態でなければビット線の電位は変化しない。次に、再度ビット線接続ゲート791に正電位を与えビット線接続トランジスタ7910をオンにする。続いて、ページバッファ790内でビット線の電位変化を検知する。認証素子977の絶縁膜の導電・非導電状態に因るビット線電位差をページバッファ790内で拡大し、ラッチ回路にhigh/low データとして格納する。つまりビット線電位が所定の電位(たとえば、破壊判定電圧値9331)より低ければ、選択した認証素子977の絶縁膜は破壊されていると見なし、ビット線電位が所定の電位(たとえば、非破壊判定電圧値9341)より高ければ、選択した認証素子977の絶縁膜は破壊されていないと見なす。ここで、破壊判定電圧値9331及び非破壊判定電圧値9341は、それぞれ、図34の破壊判定電流値933と非破壊判定電流値934に対応する電圧値である。ここで、破壊は導電状態であり、非破壊は非導電状態である。
不揮発性メモリの複数のブロックの隣に1ブロック分の領域をチップ認証装置アレイとして割り当てることが可能である。たとえば、図31や図32のようにレイアウト可能である。このように、チップ認証装置と不揮発性メモリ装置とは異なるものであるが、ビット線902、あるいは、ワード線503を共有することでチップ面積を節約することが可能である。
図22に示したような半導体装置の素子アレイ上に構成できる物理的にランダムな組み合わせの特殊な例は、例えば、行ごとに“1”と“0”を数え、“1”が多ければその行を黒とする。“0”が多ければその行を白とする。あるいは、行ごとに“1”と“0”を2進法で足し上げた結果の1桁目の値が“1”ならその行を黒とする。反対に“0”ならその行を白とする。あるいは、各行に関する何らかの性質に応じて行ごとに“1”か“0”を決定することが可能である。
このように、なんらかの演算によって行ごとの値(“1”か“0”)を決定し、その結果を、図72のように、各行に対応する代換素子979に記録する。たとえば、2進数のビット演算なら何でも可能である。あるいは、“0”および“1”を総和して、最下位の桁のみを代換素子979に記録することが望ましい。あるいは、“0”の数と“1”の数を比較し、多い方の値を代換素子979に記録することも可能である。代換素子979は、メモリ素子やヒューズ等が好ましい。ただし、メモリ素子は不揮発性であっても揮発性であっても良い。たとえば、不揮発性の場合浮遊ゲートを有するものであることが望ましい。あるいは、磁気抵抗の変化を使ったものであったり、層変化を使ったものであったり、抵抗層の抵抗値の変化を使ったものである。揮発性の場合キャパシタや(SRAMなど)特殊な回路に蓄積した電荷量を使ったものでもよい。
いずれにしろ、図22の白と黒のランダムな市松模様は、図73のように、ランダムな水平模様に変換される。これは、2次元コードからバーコードへの変換と似ている。この変換により同じ行数での情報量は減少するが、行数が十分大きく、縞模様における白と黒の割合が一方的でなければ、十分な乱雑さを保持できるはずである。
ここで、図23は、図22を再現するために、各々市松格子状には何らかの認証素子977が配置したものである。これまで述べてきたように、認証素子977は、メモリ素子でも良く、抵抗でも良く、キャパシタでも良く、ダイオードでも良く、スイッチでも良く、ある種のトランジスタでも良く、少なくとも第一と第二の二つの状態を出力できるものであれば何でも良い。ここでは、行数がNで、列数がMである。NもMも、図22が十分な乱雑さを確保できる程度の大きさの整数であることが求められる。
つづいて、入力コード(P、S、T、…)の例として、(a(1),a(2),…,a(N))を考えよう。図74のように、各行の代換素子979に(a(1),a(2),…a(N))を第一行から順に対応させる。このとき、第i行のデータ(1/0)を要素d(i)とする。ここで、要素d(i)の集合{d(i)}は、0と1のランダムな集合体で構成される乱数コードである。同様に、上記入力コードを{a(i)}と表記することにする。ただし、iは1からNまでの整数である。続いて、入力コード{a(i)}及び乱数コード{d(i)}から、何らかの方法を用い出力コード{c(i)}を生成する。入力コード{a(i)}及び出力コード{c(i)}の組み合わせが、図9の交信シリーズ80に対応している。
ただし、上述して来たように、図22が物理的にランダムな白と黒のパターンである限り、{d(i)}が0と1のランダムな集合体で構成される乱数コードであるという必要条件が満たされる。もちろん、上述した例において、行と列を入れ替えても本願の性質は本質的に変わらない。
ここで、一例として、出力コード{c(i)}を生成するために、剰余演算mod(x,y)を用いることにする。これは、xをyで割ったあまりである。図75は、数列{a(i)}及び物理乱数{d(i)}と、式4に基づいて出力される出力コード{c(i)}との関係を一覧表にしたものである。すなわち、この物理乱数{d(i)}が前記チップに固有な物理的乱雑さである。
 
Figure JPOXMLDOC01-appb-I000004
         式4
式2に似ているが、列の要素jがなくなっている点で簡単化されている。また、この方法を用いると、変換の前後で0と1の数の割合に変化がないことが容易に想像される。これは、交信シリーズ80によって扱われるデータ量を安定化させるために必要な条件である。すなわち、式4の右辺に入力される情報量と、式4の左辺から出力されるデータ量がほぼ同等であることが求められる。すなわち、入力情報量と出力情報量が大きく異なる場合、式4で定義される系の情報量は、少ない方に合わせられ、結果として、少なくともその差分だけ情報エントロピー(物理的乱雑さ)を失うことになるからである。
 図76は、式4で示したメカニズムを実現するための基本構成の一例を示した概念図である。すなわち、乱数発生装置601で物理乱数{d(i)}を発生し、基幹ノード400から、共通パスコードとして入力コード{a(i)}が入力され、コード発生装置602で出力コード{c(i)}を生成する。この例では、乱数発生装置601とコード発生装置602が、共に認証装置600の構成要素となっている。一方、自明なので特に図示しないが、他の例ではコード生成装置602をチップ認証装置600の外に置くことも可能である。いずれにしろ、少なくとも乱数発生装置601をできる限り安価にチップ内に搭載しなければならない。本願では、乱数発生装置601の一例として、図73および図74で概念的に説明した方法を用いる。コード発生装置602は、式4で概念的に説明されるように、プログラムで構成することが可能である。ここで、コード発生に一種のアルゴリズムを使用しているが、物理乱数{d(i)}で前記チップに固有の物理的乱雑さを取り込むことが本願の特徴である。ただし、入力コードの全要素を入力できるよう、乱数発生装置601の行数は、少なくとも、{a(i)}の要素数と同じか、それより大きいものとする。
図27は、式4により動作するスクランブル装置604の使用方法の一例を示す図面である。基幹ノード400から入力コード(P、S、T、…)がスクランブル装置604に送られる。こうして、入力コード(P、S、T、…)は(P’、S’、T’、…)に変換される。このコードは、周辺ノードにモジュールされているチップ認証装置600への入力コード(P’、S’、T’、…)として入力される。ここで、図7のように、基幹ノード400に接続する周辺ノードは、少なくともチップ認証装置600を搭載するチップをマウントしている。チップ認証装置600は、認証(P1、S1、T1、…)を返す。次に、(1)この認証(P1、S1、T1、…)を基幹ノードへ出力する。あるいは、(2)この認証(P1、S1、T1、…)をスクランブル装置に返して、もう一度スクランブルされた認証(P1’、S1’、T1’、…)を基幹ノード400に返す。あるいは、自明なので特に図示しないが、(3)二つ目の別のスクランブル装置を使って認証(P1’、S1’、T1’、…)を認証(P1’’、S1’’、T1’’、…)に変換してから基幹ノード400に返す。(3)の方法では、少なくとも二つの独立のスクランブル装置が必要である。
図77は、図72の認証素子977と代換素子979からなる素子アレイの一部あるいは全部を示すものである。行数はN+Kである。このN+Kは、チップ内の全ビット線数より少ないか同じ、あるいは、全ワード線数より少ないか同じとすることができる。ここでは、上部K行の領域をスクランブル装置セルアレイ614とし、下部N行をチップ認証装置セルアレイ611としている。この(N,K)の組み合わせは、図29に関連する例と同様に、セキュリティバッファーとして活用することが可能である。
まず、式5のように、{a(i)}と{d(i)}を行ごとに足し合わせたものを2で割り、そのあまりを中間出力{f(i)}とする。
Figure JPOXMLDOC01-appb-I000005
        式5
 
ここで、{f(i)}がスクランブル装置セルアレイ614に関する出力となる。ただし、iは1からKの自然数である。
つづいて、式5において、配列{a(i)}を中間コード{f(j)}に置き換えれば、式6が得られる。ここで、左辺は、コード発生装置602の出力{c(i)}となる。ただし、iは1からNの自然数である。
Figure JPOXMLDOC01-appb-I000006
      式6
代換素子979がヒューズの場合、たとえば、図73は、図72の各行にヒューズを設置することによって実現できる。たとえば、切断したヒューズを黒の行とし、切断しない行を白とすると、この白/黒のランダムな水平模様は、列方向に並んだヒューズの非切断/切断のパターンに置き換えられる。また、ヒューズの切断・非切断は、対応する各行に関するなんらかの性質によって決定する。
ヒューズの非切断/切断の決定方法は、各行の白と黒の数を数えるだけではない。何らかの事情により、ある行の中に回復不能のエラーが発生している場合に対応する行のヒューズを切断し、そうでない場合に非切断するということでも良い。この回復不能のエラーの出現が物理的に乱雑に発生する限り有効である。また、この例の場合、切断と非切断の割合は50%程度から大きくずれていても良い。
回復不能のエラーが発生している行はリダンダンシー(冗長)行と呼ばれる別の行に置き換えられ、半導体装置としては使用しない。反対に、それ以外の行は製品の半導体装置の一部として利用する。これは不良品を出荷させないために良く使われる手法であるが、ここでは、リダンダンシー行に置き換えられる行と置き換えられない行の組み合わせが物理的に乱雑であることに注目する。つまり、不良品を出荷させないために置き換えていた部分(リダンダンシー行の領域)を用いることによって、チップ認証装置600用に新たな領域を設けなくても、物理的乱雑さを出力させることが可能となるのである。
ところで、メモリセルアレイの各行にそれぞれヒューズを当てはめるようなことは稀である。ゆえに、何らかの事情によりある行の中に回復不能のエラーが発生している場合、その対応する行の番号(行番号)を別途用意するメモリ領域(リダンダンシーメモリ)に保存する。そして、メモリ素子にアクセスするとき、そのメモリ素子がリダンダンシーメモリに属しているかどうかを調べる。属していない場合アクセスし、属している場合アクセスせず対応する行をリダンダンシー行の一つと置き換える。こうして、何らかの事情によるメモリ素子の回復不能のエラーの発生を物理的乱雑さとして応用する場合、図72等に見られる代換素子979を用いずに、リダンダンシー用のメモリ領域を利用することが可能である。
ただし、この手法で十分な大きさの物理的乱雑さを出力するためには、行数Nが十分大きくなければならない。ここで、リダンダンシーメモリに属する行数をLとすると、Lは1より十分大きく、Nより十分小さな整数である。
上述したような必要条件を満たす半導体製品は、たとえば、ダイナミックランダムアクセスメモリ(DRAM)である。この場合、上述した認証素子977は、DRAMのメモリ素子である。典型的な4ギガビットDRAM製品の場合、たとえば、全ビット線数655万本に対して、何らかの事情により回復不能のエラーが発生する行を置き換えるために準備する行数(リダンダンシーに関するビット線数)は、たとえば、15万3千程度であろう。ここでリダンダンシー用に設けるビット線方向を図72の行方向に当てはめたが、反対に、ワード線を当てはめることも可能である。いずれにしろ、リダンダンシーに関する場合の数は、簡単な見積もりとして、655万の内から15万3千を選ぶ順列に等しい。計算すると約10の1042102乗の5.6倍になる。これは恐ろしく大きい数であり、現実的にほぼ無限大と考えてよい。
次に、ワード線方向を図72の行方向に当てはめると、典型的な4ギガビットDRAM製品の場合、ワード線数440万に対してリダンダンシー行の総数は、たとえば、3,044である。440万から3、044を選ぶ順列の数は、計算するとおよそ10の20222乗のさらに1.6倍となる。ビット線リダンダンシーの場合の数より大分少なくなるが、それでもワード線リダンダンシーの場合の数も恐ろしく大きな数である。いずれにしろ、改めてチップ認証装置600用の領域を設けなくても、汎用DRAMの製品管理のためにあらかじめ設置されているリダンダンシーメモリを用いることによって、現実的に無限大の物理的乱雑さを手に入れることが可能である。
このように、汎用DRAM製品は、製品管理用にあらかじめリダンダンシーメモリとしてヒューズメモリが取り付けられており、しかもビット線数もリダンダンシー行の数も十分大きく、得られる物理的乱雑さも十分である。したがって、認証装置600としてチップ内のすべての領域のリダンダンシーを使うことも可能だが、その一部のみをチップ認証装置600として使用することも可能である。この場合、行数Nはチップ内の全ビット線数、あるいは、全ワード線数より小さくなる。
本発明に関するチップ認証機能を有するチップ10では、たとえば、図78のように、少なくともチップ認証装置600および入出力制御装置800を、搭載することができる。この入出力制御装置800は、入出力制御回路、ワード線制御回路、ビット線制御回路、データ入出力バッファー等を含むことができる。
更に、本発明に関するチップ認証機能付きチップ400は、たとえば、図79のように、少なくともチップ認証装置600と、認証装置用制御装置880と、入出力制御装置810と、スクランブル装置890と、及び中間コード用バッファー900とから構成することができる。この入出力制御装置810は、入出力制御回路およびデータ入出力バッファーを含むことができるが、ワード線制御回路及びビット線制御回路を含まない。スクランブル装置890は、図27のスクランブル装置604を含み、スクランブル装置604が生成する中間コードは、入出力制御装置810とは独立した中間コード用バッファー900に格納され、外部からの要請があってもデータをチップ400の外部に出力しない。これは、中間コードをチップ内に閉じ込めるためである。認証装置用制御装置880は、ワード線制御回路、ビット線制御回路、データバッファーを含むことができる。また、図35で説明した、モード“X”に対応するアドレスを記録する内部記録部も含むことができる。同様の記録部は、必要に応じて、スクランブル装置890にも含むことができる。
外部入出力50から入力コード{a(i)}と{b(j)}の集合が入力されると、入出力制御装置810は、入力コード{a(i)}と{b(j)}の集合をスクランブル装置890に渡す。ここで、式2に基づいて生成された中間コード{f(i,j)}は、中間コード用バッファー900に一時格納され、認証装置用制御装置880に引き渡される。認証装置用制御装置880は、内部のワード線制御回路、ビット線制御回路、及びデータバッファーなどを駆使し、チップ認証装置600から取得した乱数コード{d(i,j)}と、中間コード{f(i,j)}とに応じ、式3に基づいて、出力コード{c(i,j)}を生成し、内部のデータバッファーに一時格納する。入出力制御装置810は、外部入出力50を通じて出力コード{c(i,j)}をチップ400の外に出力する。こうして、中間出力{f(i,j)}をチップ内に閉じ込めておくことが可能となる。
あるいは、外部入出力50から入力コード{a(i)}が入力されると、入出力制御装置810は、入力コード{a(i)}をスクランブル装置890に渡す。ここで、式5に基づいて生成された中間コード{f(i)}は、中間コード用バッファー900に一時格納され、認証装置用制御装置880に引き渡される。認証装置用制御装置880は、内部のワード線制御回路、ビット線制御回路、及びデータバッファーなどを駆使し、チップ認証装置600から取得した乱数コード{d(i)}と中間コード{f(i)}とに応じ、式6に基づいて、出力コード{c(i)}を生成し、内部のデータバッファーに一時格納する。入出力制御装置810は、外部入出力50を通じて出力コード{c(i)}をチップ400の外に出力する。こうして、中間出力{f(i)}をチップ内に閉じ込めておくことが可能となる。
認証素子977は、MOS型トランジスタ、DRAMセル、不揮発性メモリセルトランジスタ、相変化メモリセル、抵抗変化メモリセル、磁気変化メモリセル、PN接合、ショットキー接合、キャパシタ、絶縁膜、抵抗など、一般的な半導体製造工程で同時に製造可能なデバイスやその部品であれば何でも良い。あるいは特殊にデザインされた微小構造でも使用可能である。
認証素子977を確率的に破壊する場合、破壊方法は、選択した素子に電気的なストレスを与えればよい。このとき、チップ上の全アドレスを選択することもできれば、必要に応じて一部のアドレスのみを選択して破壊パルスを印可することも可能である。
図22で“1”と“0”の割合がほぼ同じになると、図73の水平模様の乱雑さは増大する傾向がある。そのため、何らかの事情によりチップ認証装置に使える素子領域が制限される場合や、小容量製品のチップ認証装置を作成する場合には、できる限り、図22での“1”と“0”の割合を等しくする必要がある。たとえば、図36あるいは図37に示すように、破壊パルスを段階的に印可して“1”と“0”の割合を調整する方法がある。まず、第一パルス電圧を印可し、続いて検査をする。このとき、非破壊素子の数が多ければ、第二パルス電圧を印可する。検査後まだ非破壊素子の数が多ければ、さらに第三パルス電圧を印可して検査する。こうして、図36あるいは図37のように、破壊パルスを段階的に印可することによって、非破壊素子の数が段階的に減り破壊素子の数が段階的に増大して行く。両者の差が所定の範囲内に収まるところで破壊パルスの印可を中止する。
あるいは、パルス電圧をチップ認証装置の全素子に印可して続いて検査をする。このとき、非破壊素子の数が多ければ、非破壊素子のみ選択して再びパルス電圧を印可する。検査後まだ非破壊素子の数が多ければ、再び非破壊素子のみ選択してパルス電圧を印可する。この場合、破壊パルスの印可を繰り返すのは非破壊素子のみにすることが望ましい。破壊パルスを段階的に増大してもしなくても、非破壊素子は段階的に破壊され、“0”と“1”の割合は近づいてゆく。両者の差が所定の範囲内に収まるところで破壊パルスの印可を中止する。
破壊パルスの印可が終わった後、“0”でも“1”でもないもの“X”が残留している場合がある。このような場合、図35で説明した方法を用いて、“X”を除去すれば良い。
一般に、電子装置を構成するチップは一つとは限らない。図13のネットワークの一例を構成する第一、第二、…、第五の周辺ノードも、少なくとも一つ以上のチップから構成されていると考えられる。一例として、図7では、周辺ノードである情報機器140が、第一のチップ110、第二のチップ120、…、第Nのチップ130から構成される。このうち、必ずしもすべてのチップが本願のチップ認証装置を搭載している必要はない。図7の例では、第一のチップ110のみがチップ認証装置60を搭載している。
以下、発明を実施するための最良の形態について、具体的に説明する。
上述してきたように、本願のチップ認証装置は、さまざまな方法を駆使することによって、物理的実態である半導体チップの固体認識を実現することが可能である。一方、半導体チップは、電子機器や情報機器の心臓部品であり、最小構成単位と考えることができる。したがって、上記(1)-(7)の条件を満たすチップ認証を用いて、電子機器や情報機器の物理的認証を実現できると考えられる。
 図89に、チップ認証抽出装置が、チップ認証装置に入力認証コードQを入力し、出力認証コードRを受け取る方法の一例を示す。前記チップ認証装置は、一例として、図10の第一から第三の周辺ノード(410、420、430)に含まれる。前記チップ認証抽出装置は、図10の基幹ノード400に含まれる。
チップ認証装置は、複数の素子(セル)から構成されるセルアレイを含む。例えば、前記セルは、図39、図55および図56のようにPN接合であり、あるいは、図40、図57および図58のようにショットキー接合であり、あるいは、図41―43、図61―66、図92および図93のようにトランジスタであり、あるいは、図42、図63および図64のようにトランジスタとキャパシタからなるDRAMセルであり、あるいは、図43、図65および図66のように選択トランジスタであり、あるいは、図44、図59および図60のように抵抗であり、あるいは、図92のようにトランジスタと可変抵抗からなるReRAMセルあるいはPCRAMセルであり、あるいは、図93のようにトランジスタおよび磁気抵抗からなるMRAMセルあるいはSTT-MRAMセルであり、あるいは、図94、図98および図99のように電荷蓄積層付き不揮発性メモリセルであり、あるいは、図33、図53および図54のようにキャパシタであり、あるいは、図99、図100および図101のように可変抵抗である。
チップ認証装置は、上記セルアレイからデータを読み出すため、複数のビット線からなる全ビット線群と、複数のワード線からなる全ワード線群と、を有する。前記全ビット線群は更に複数のビット線グループに分割される。ただし、このビット線グループの数は全ビット線群内のビット線の数より少ない。前記全ワード線群は更に複数のワード線グループに分割される。ただし、このワード線グループの数は全ワード線群内のワード数より少ない。
一つのビット線グループおよび一つのワード線グループから前記セルアレイ上に一つの小ブロックが形成される。あるいは、一つのビット線グループおよび全ワード線群から一つの小ブロックが形成される。あるいは、一つのワード線グループおよび全ビット線群から一つの小ブロックが形成される。いずれにしろ、こうして前記セルアレイは複数の小ブロックに分割される。ただし、小ブロックの数(A)は、セルアレイを構成する全セル数より小さい。また、小ブロックは、それぞれ所定の数(B)のセルを含み、AとBの積は、前記セルアレイを構成する全セルの数に等しい。
前記複数の小ブロックを、更に第一および第二の小ブロックのグループに分割する。一方を冗長小ブロック群とし、他方を正規小ブロック群とする。前記冗長小ブロック群に属する小ブロックは、すべて冗長小ブロックである。前記正規小ブロック群に属する小ブロックは、すべて正規小ブロックである。こうして、前記セルアレイは、複数の冗長小ブロックおよび複数の正規小ブロックから構成される。また、前記セルアレイは、複数の小ブロックから構成される。
所定の検査によって、一つの正規小ブロックに少なくとも一つの不良ビットが含まれていることが発見された場合、その正規小ブロックを不良小ブロックと呼ぶ。不良小ブロックが発見された場合、その不良小ブロックを一つの冗長小ブロックと置き換えることが出来る。具体的には、一つの不良小ブロックに含まれる第一のセルに関するビット線およびワード線が同時に選択された場合、前記第一のセルに関するビット線を一つの冗長小ブロックに含まれる第二のセルに関するビット線に置き換え、前記第一のセルに関するワード線を前記第二のセルに関するワード線に置き換える。
前記第一のセルを含む不良小ブロックに含まれる第三のセルに関するビット線およびワード線が同時に選択された場合、前記第三のセルに関するビット線を前記第二のセルを含む冗長小ブロックに含まれる第四のセルに関するビット線に置き換え、前記第三のセルに関するワード線を前記第四のセルに関するワード線に置き換える。ただし、前記第一のセルおよび前記第三のセルが互いに異なるセルである場合、前記第四のセルが前記第二のセルとは異なるセルになるよう、前記不良小ブロックを前記冗長小ブロックに置き換えなければならない。
全正規小ブロックのうち、どの正規小ブロックに不良ビットが見つかり、不良小ブロックとして任意の冗長小ブロックに置き換えられるかは、前記セルアレイ上の不良ビットの発生分布による。ここで、不良ビットとは、人為的に発生したか非人為的発生したにかかわらず、所定の特性から一定以上逸脱した特性を示すビットの総称である。発生原因は多種多様であり、前記セルアレイ上のどのセルに発生するかは確率的である。したがって、前記セルアレイ上の不良ビットの分布は、物理的乱雑さ(ランダムさ)とみなすことが出来る。この物理的乱雑さは、物理乱数として前記セルアレイから所定の方法で読み出すことが可能である。読み出された物理乱数は、必要に応じて所定の基準で加工した後、前記セルアレイを含むチップから出力される。こうして、チップに固有の物理乱数をチップから抽出することができる。
前記不良ビットの分布は、チップの置かれた外部環境が変化しても可能な限り安定していることが望ましい。また、前記不良ビットの分布は、時間経過に対して可能な限り不変であることが望ましい。そのためには、前記不良ビットの分布を一度測定し、チップの内部メモリ等に保存すればよい。ただし、この内部メモリが外部環境の変化に対して可能な限り安定しており、時間経過に対して可能な限り不変であることが条件である。このような内部メモリは、一例として、ヒューズメモリなどがある。前記測定はチップの出荷前テストの際に行うことができる。
一方、前記複数の小ブロック、すなわち、前記複数の正規小ブロックおよび前記複数の冗長小ブロックは、それぞれ所定の方法で割り当てられたブロックアドレスにしたがって前記セルアレイ上に分布する。こうして、前記セルアレイはブロックアレイとなる。このブロックアレイ上のブロックアドレスが、前記小ブロックの前記ブロックアレイ上のアドレスに相当する。
前記セルアレイ上の不良ビットの分布が物理的にランダムであるということは、全正規小ブロックの集合から複数の不良小ブロックを選ぶ組み合わせが物理的にランダムであるということである。あるいは、前記セルアレイ上の不良ビットの分布が物理的に乱雑であるということは、全冗長小ブロックの集合から複数の冗長小ブロックを選んで前記複数の不良小ブロックと置き換える組み合わせが物理的に乱雑であるということである。
こうして、全正規小ブロックの集合から複数の不良小ブロックを選ぶ組み合わせが前記セルアレイを含むチップ(あるいは半導体チップ)に固有な物理的乱雑さ、すなわち、チップ(あるいは半導体チップ)に固有な物理乱数(固有乱数)であることがわかる。あるいは、全冗長小ブロックの集合から複数の冗長小ブロックを選んで前記複数の不良小ブロックと置き換える組み合わせが前記セルアレイを含むチップ(あるいは半導体チップ)に固有な物理的乱雑さ、すなわち、チップに固有な物理乱数(固有乱数)であることがわかる。どちらを選ぶかは数え方の違いによるものであって実質的な違いとして区別する必要はない。ここで紹介した数え方以外にも可能な数え方は複数あるが、いずれも実質的な違いとして区別する必要はない。
いずれにしろ、何らかの方法で前記セルアレイを含むチップから、そのチップに固有の物理乱数を取り出すことを抽出と呼ぶ。このようなチップは、前記固有の物理乱数を抽出するための抽出回路を有する。また、このように固有の物理乱数を抽出されるチップが前記チップ認証装置である。すなわち、前記チップ認証装置は前記抽出回路を有する。前記チップ認証装置は、さらに、前記入力認証コードから前記出力認証コードを合成する出力発生回路を有する。前記出力発生回路は、一例として、組み込み回路、あるいは、ファームウェアである。
こうして抽出された物理乱数は、一例として、図26の物理乱数(あるいは固有物理乱数){d(i,j)}である。あるいは、別の一例として、図76の物理乱数{d(i)}である。
前記チップ認証装置は、たとえば、図15の第一のチップ認証装置21あるいは第二のチップ認証装置を含む。あるいは、図16-18のチップ認証装置60を含む。前記チップ認証抽出装置は、たとえば、図10の基幹ノード400、図11―14の基幹ノード1400、図13-14の基幹ノード2400、図14の基幹ノード3400である。
なお、一般に、チップ認証は、チップの置かれた外部環境が変化しても可能な限り安定していることが望ましい。また、前記不良小ブロックの分布は、時間経過に対して可能な限り不変であることが望ましい。前記不良ビットがアセンブリ前に前記セルアレイ上に不可逆的に発生し、さらに、チップのアッセンブリ後は発生しない限り成り立つことは自明である。あるいは、前記不良小ブロックの分布を一度測定し、チップの内部メモリ等に保存すればよい。ただし、この内部メモリが外部環境の変化に対して可能な限り安定しており、時間経過に対して可能な限り不変であることが条件である。このような内部メモリは、一例として、ヒューズメモリなどがある。前記測定はチップの出荷前テストの際に行うことができる。
その他、本願のチップ認証装置が満たすべき条件について、以下図面を用いて更に詳細に説明する。
 
(第一の実施形態)
 図89において、前記チップ認証装置は、セルアレイ、抽出回路、および出力発生回路を含む。前記セルアレイは、複数の認証素子より構成される。前記認証素子は、たとえば、図33、図38-44、図46-49、図51-68、図92-101などである。
前記チップ認証抽出装置から前記チップ認証装置に、物理乱数抽出特殊テストコードTおよび入力認証コードQが入力される。前記物理乱数抽出特殊テストコードTは、セルアレイ上で発生する物理乱数を読み出す(抽出する)ため前記抽出回路に渡される。前記物理乱数抽出特殊テストコードTは、前記セルアレイ上の抽出領域や抽出する際の動作モード等を指定する抽出モードなどを指定コードとして含むことができる。一例として、前記抽出領域は、前記正規小ブロック群である。あるいは、別の一例として、前記抽出領域は、前記冗長小ブロック群である。あるいは、別途指定する所定の抽出領域である。
前記抽出回路は前記物理乱数を抽出し、その抽出結果Extを前記出力発生回路へ入力する。ここで、前記抽出結果Extは、前記指定コードに従って前記チップ認証装置に固有の物理乱数を出力するものである。より具体的には、チップ認証装置に含まれる前記セルアレイから前記物理乱数を読み出す。したがって、前記抽出結果Extは、指定付き物理乱数コードである。ただし、前記出力発生回路は、式7の関数GEN1に従い、前記入力認証コードQおよび前記抽出結果Extから出力認証コードRを作成し、前記チップ認証抽出装置へ出力する。このように、チップ認証抽出装置は、前記物理乱数抽出特殊テストコードT、前記指定コード、前記入力認証コードQ、および前記出力認証コードRから前記チップ認証装置の認証を行う。
R = GEN1 ( Q 、 Ext )                          式7
前記出力発生回路は、プログラム変更可能の場合もあるし、プログラム変更できない場合もある。前記出力発生回路がプログラム変更可能な場合、前記関数GEN1は、たとえば、書き換え可能不揮発性メモリに記録されたプログラムである。あるいは、FPGAなどの組み込み回路である。一方、前記出力発生回路がプログラム変更できない場合、前記関数GEN1は、たとえば、ROMなどに記録されたプログラムである。あるいは、ゲート接続変更不可能な組み込み回路である。
前記物理乱数コードがチップ認証装置に固有である限り、任意の2つのチップ認証装置から出力される出力認証コードRが一致することはない。前記チップ認証装置は、一例として、図15-18のチップ認証装置を含む。また、複数の異なるチップ認証装置が、図10-14の周辺ノードにそれぞれ含まれる。
前記チップ認証抽出装置は、一例として、図10の基幹ノード400に含まれる。図10の入力は、一例として、前記物理乱数抽出特殊テストコードT、前記指定コード、および前記入力コードCを含む。図10の認証は、一例として、前記出力認証コードRを含む。図11の共通パスコード1410は、一例として、前記物理乱数抽出特殊テストコードT、前記指定コード、および前記入力コードCを含む。図12の第一から第三の認証(4101-4301)は、一例として、前記出力認証コードRをそれぞれ含む。ここで、前記出力認証コードRを合成するときに含まれる前記抽出結果Extはチップに固有なので、それぞれ相異なるチップを含む第一から第三の周辺ノード(410-430)から出力される前記第一から第三の認証(4101-4301)は、それぞれ相異なる。
 
(1)(出力の独立性)
図15の入力信号Qは、一例として、前記物理乱数抽出特殊テストコードTおよび前記指定コード、および前記入力コードを含む。図15の出力信号AおよびBは、一例として、前記出力認証コードRである。ここで、前記抽出結果Extは、それぞれ相異なる第一および第二のチップ認証装置(21、22)で相異なる。したがって、出力信号AおよびBは相異であり、前記(出力の独立性)を満たしている。
 
(2)(入力の独立性)
図16の入力信号CおよびDは、一例として、前記物理乱数抽出特殊テストコードT 、前記指定コード、および前記入力コードをそれぞれ含む。図16の出力信号AおよびBは、一例として、前記出力認証コードRである。ここで、前記入力信号CおよびDがそれぞれ異なる入力コードを含むものとすれば、出力信号AおよびBは相異である。あるいは、異なる指定コードを用いれば出力信号AおよびBは相異である。あるいは、異なる物理乱数抽出特殊テストコードTを用いれば、出力信号AおよびBは相異である。したがって、前記(入力の独立性)を満たしていることは自明である。
 
(3)(出力の予測不可能性)
前記出力認証コードRを合成するときに含まれる前記抽出結果Extは、前記セルアレイ上での不良ビットの分布から抽出されるものである。したがって、チップに固有で物理的にランダムに生成するので、どのようなアルゴリズムによっても予測することは不可能である。この特徴は、前記入力コードの要素の順序や前記指定コードによらない。したがって、前記(出力の予測不可能性)を満たしていることは自明である。
 
(4)(入出力の信頼性)
上述したように、前記抽出結果Extは、前記セルアレイ上での不良ビットの分布から抽出されるものである。前記不良ビットの分布は、上述した何れかの方法か他の同等の方法によってバイナリ表示することが可能である。その結果は、図22や図73のようなパターンとして認識できる。このように一度デジタル化されたデータは、正常に動作するCMOSインバータ回路からなるデジタル演算処理を繰り返す毎にシャノンの条件を満たすことが知られている。したがって、前記(入出力の信頼性)を満たすことは自明である。
 
(5)(出力の現実的無限性)
一つの入力に対する出力のパターンの数、あるいは、物理的乱雑さの場合の数は、前記正規小ブロック群から不良小ブロックが発生する場合の数によって決まる。前記セルアレイとして量産品汎用メモリのメモリセルアレイを採用する場合、正規小ブロック群に含まれる正規小ブロックの数は十分大きく、不良ビットの発生率がシックスシグマ(発生率3.4E-6以下)を満たしたとしてもそのパターン数は十分に大きい。したがって、前記(出力の現実的無限性)を満たすことは自明である。
 
(6)(チップ固有性)
前記出力認証コードRは、前記チップ認証装置に固有の電子信号である。したがって、前記(チップ固有性)を満たすことは自明である。
 
(7)(物理的書き換え不可能性) 
上述の出力認証コードRは、前記物理乱数コードが書き換え不能であれば物理的に書き換え不能である。したがって、前記(物理的書き換え不可能性)を満たすことは自明である。
 
(P-CID)
こうして、前記(1)-(7)を全て満たすことが自明である。したがって、上述の前記出力認証コードR、前記入力信号Q、および前記物理乱数抽出特殊テストコードTの組み合わせを、物理チップ認証(P-CID)の一例と見なすことが可能である。
 
(第二の実施形態)
 図90において、前記チップ認証装置は、セルアレイ、抽出回路、および出力発生回路を含む。前記セルアレイは、複数の認証素子より構成される。前記認証素子は、たとえば、図33、図38-44、図46-49、図51-68、図92-101などである。前記チップ認証抽出装置から前記チップ認証装置に、物理乱数抽出特殊テストコードTが入力される。前記物理乱数抽出特殊テストコードTは、前記セルアレイ上で発生する物理乱数を読み出す(抽出する)ため前記抽出回路に渡される。前記物理乱数抽出特殊テストコードTは、前記セルアレイ上の抽出領域や抽出する際の動作モード等を指定する抽出モードなどを指定コードとして含むことができる。一例として、前記抽出領域は、前記正規小ブロック群である。あるいは、別の一例として、前記抽出領域は前記冗長小ブロック群である。あるいは、別途指定する所定の抽出領域である。この一例では、図89から入力認証コードQが省略されている。したがって、式7で用いられた前記関数GEN1は、式8のGEN2のように変更になる。以下、(第一の実施形態)と共通する説明は省略する。
R = GEN2( Ext )                 式8
前記抽出回路は前記物理乱数を抽出し、その抽出結果Extを出力発生回路へ入力する。ここで、前記抽出結果Extは、前記チップ認証装置に固有の物理乱数を指定コードに従って出力するものである。より具体的には、前記チップ認証装置に含まれるセルアレイから前記物理乱数を読み出す。前記セルアレイは、一例として、図23や図69などに見られるもである。前記セルアレイを構成する認証素子は、図33、図38-44、図46-49、図51-68、図92-101などに見られるものである。したがって、前記抽出結果Extは、指定付き物理乱数コードである。ただし、前記出力発生回路は、式8の関数GEN2に従い、抽出結果Extから出力認証コードRを作成し、前記チップ認証抽出装置へ出力する。このように、チップ認証抽出装置は、物理乱数抽出特殊テストコードT、指定コードおよび出力認証コードRからチップ認証装置の認証を行う。ただし、省略された入力認証コードQの機能の一部またはすべてを、前記指定コードあるいは前記物理乱数抽出特殊テストコードTに含めることが可能である。
前記出力発生回路は、プログラム変更可能の場合もあるし、プログラム変更できない場合もある。前記出力発生回路がプログラム変更可能な場合、前記関数GEN2は、たとえば、書き換え可能不揮発性メモリに記録されたプログラムである。あるいは、FPGAなどの組み込み回路である。一方、前記出力発生回路がプログラム変更できない場合、前記関数GEN2は、たとえば、ROMなどに記録されたプログラムである。あるいは、ゲート接続変更不可能な組み込み回路である。
前記出力認証コードRがチップ認証装置に固有である限り、2つのチップ認証装置から出力される出力認証コードRが一致することはない。前記チップ認証装置は、一例として、図15-18のチップ認証装置を含む。前記チップ認証装置は、一例として、前記セルアレイ、前記抽出回路、および前記出力発生回路を含む。一例として、複数の異なるチップ認証装置が、図10-14の周辺ノードにそれぞれ含まれる。
前記チップ認証抽出装置は、一例として、図10の基幹ノード400に含まれる。図10の入力は、一例として、前記物理乱数抽出特殊テストコードTおよび前記指定コードを含む。図10の認証は、一例として、前記前記出力認証コードRを含む。図11の共通パスコード1410は、一例として、前記物理乱数抽出特殊テストコードTおよび前記指定コードを含む。図12の第一から第三の認証(4101-4301)は、一例として、前記出力認証コードRをそれぞれ含む。ここで、前記出力認証コードRを合成するときに含まれる前記抽出結果Extはチップに固有なので、それぞれ相異なるチップを含む第一から第三の周辺ノード(410-430)から出力される前記第一から第三の認証(4101-4301)は、それぞれ相異なる。 
 
(1)(出力の独立性)
図15の入力信号Qは、一例として、前記物理乱数抽出特殊テストコードTおよび前記指定コードを含む。図15の出力信号AおよびBは、一例として、前記出力認証コードRである。ここで、前記抽出結果Extは、それぞれ相異なる第一および第二のチップ認証装置(21、22)で相異なる。したがって、出力信号AおよびBは相異であり、前記(出力の独立性)を満たしている。
 
(2)(入力の独立性)
図16の入力信号CおよびDは、一例として、前記物理乱数抽出特殊テストコードTおよび前記指定コードをそれぞれ含む。図16の出力信号AおよびBは、一例として、前記出力認証コードRである。ここで、前記入力信号CおよびDが異なる前記指定コードを含むものとすれば、出力信号AおよびBは相異である。あるいは、異なる物理乱数抽出特殊テストコードTを用いれば、出力信号AおよびBは相異である。したがって、前記(入力の独立性)を満たしていることは自明である。 
 
(3)(出力の予測不可能性)
前記出力認証コードRを合成するときに含まれる前記抽出結果Extは、前記セルアレイ上での不良ビットの分布から抽出されるものである。したがって、チップに固有で物理的にランダムに生成するので、どのようなアルゴリズムによっても予測することは不可能である。この特徴は、前記指定コードによらない。したがって、前記(出力の予測不可能性)を満たしていることは自明である。
 
(4)(入出力の信頼性)
上述したように、前記抽出結果Extは、前記セルアレイ上での不良ビットの分布から抽出されるものである。前記不良ビットの分布は、上述した何れかの方法か他の同等の方法によってバイナリ表示することが可能である。その結果は、図22や図73のようなパターンとして認識できる。このように一度デジタル化されたデータは、正常に動作するCMOSインバータ回路からなるデジタル演算処理を繰り返す毎にシャノンの条件を満たすことが知られており、したがって、前記(入出力の信頼性)を満たすことは自明である。
 
(5)(出力の現実的無限性)
一つの入力に対する出力のパターンの数は、あるいは、物理的乱雑さの場合の数は、前記正規小ブロック群から不良小ブロックが発生する場合の数によって決まる。前記セルアレイとして量産品の汎用メモリのメモリセルアレイを採用する場合、正規小ブロック群に含まれる正規小ブロックの数は十分大きく、不良ビットの発生率がシックスシグマ(発生率3.4E-6以下)を満たしたとしてもそのパターン数は十分に大きい。したがって、前記(出力の現実的無限性)を満たすことは自明である。下記具体的に例を挙げて説明する。
 
(6)(チップ固有性)
前記出力認証コードRは、前記チップ認証装置に固有の電子信号である。したがって、前記(チップ固有性)を満たすことは自明である。
 
(7)(物理的書き換え不可能性) 
上述の出力認証コードRは、前記物理乱数コードが書き換え不能であれば物理的に書き換え不能である。したがって、前記(物理的書き換え不可能性)を満たすことは自明である。
 
(P-CID)
こうして、前記(1)-(7)を全て満たすことが自明である。したがって、上述の前記出力認証コードR、および前記物理乱数抽出特殊テストコードTの組み合わせを、物理チップ認証(P-CID)の一例と見なすことが可能である。
 
(第三の実施形態)
図91において、前記チップ認証装置は、セルアレイ、抽出回路、および出力発生回路を含む。前記セルアレイは、複数の認証素子より構成される。前記認証素子は、たとえば、図33、図38-44、図46-49、図51-68、図92-101などである。前記チップ認証抽出装置から前記チップ認証装置に、物理乱数抽出特殊テストコードTが入力される。前記物理乱数抽出特殊テストコードTは、前記セルアレイ上で発生する物理乱数を読み出す(抽出する)ため前記抽出回路に渡される。前記物理乱数抽出特殊テストコードTは、前記セルアレイ上の抽出領域や抽出する際の動作モード等を指定する抽出モードなどを指定コードとして含むことができる。一例として、前記抽出領域は、前記正規小ブロック群である。あるいは、別の一例として、前記抽出領域は前記冗長小ブロック群である。あるいは、別途指定する所定の抽出領域である。この一例では、図90から更に出力発生回路が省略されている。したがって、式7および式8で用いられた前記関数GEN1および前記関数GEN2は省略され、式9のように変更される。これは、実際には何もしないダミー変換である。以下、(第一の実施形態)と共通する説明は省略する。
R = Ext                                   式9
式9に従い、前記抽出回路は前記物理乱数を抽出し、その抽出結果Extをそのまま出力認証コードRとする。ここで、前記抽出結果Extは、前記指定コードに従って前記チップ認証装置に固有の物理乱数を出力されるものである。より具体的には、前記チップ認証装置に含まれるセルアレイから前記物理乱数を読み出す。したがって、前記抽出結果Extは、指定付き物理乱数コードである。このように、チップ認証抽出装置は、物理乱数抽出特殊テストコードT 、指定コード、および出力認証コードRからチップ認証装置の認証を行う。ただし、省略された入力認証コードQの機能の一部またはすべてを、前記指定コードあるいは前記物理乱数抽出特殊テストコードTに含めることが可能である。
前記出力認証コードRがチップ認証装置に固有である限り、任意の2つのチップ認証装置から出力される出力認証コードRが一致することはない。前記チップ認証装置は、一例として、図15-18のチップ認証装置を含む。前記チップ認証装置は、一例として、前記セルアレイ、前記抽出回路、および前記出力発生回路を含む。一例として、複数の異なるチップ認証装置が、図10-14の周辺ノードにそれぞれ含まれる。
前記チップ認証抽出装置は、一例として、図10の基幹ノード400に含まれる。図10の入力は、一例として、前記物理乱数抽出特殊テストコードT および前記指定コードを含む。図10の認証は、一例として、前記出力認証コードRである。図10の認証は、一例として、前記前記出力認証コードRを含む。図11の共通パスコード1410は、一例として、前記物理乱数抽出特殊テストコードTおよび前記指定コードを含む。図12の第一から第三の認証(4101-4301)は、一例として、前記出力認証コードRをそれぞれ含む。ここで、前記出力認証コードRを合成するときに含まれる前記抽出結果Extはチップに固有なので、それぞれ相異なるチップを含む第一から第三の周辺ノード(410-430)から出力される前記第一から第三の認証(4101-4301)は、それぞれ相異なる。 
 
(1)(出力の独立性)
図15の入力信号Qは、一例として、前記物理乱数抽出特殊テストコードT 、前記指定コードを含む。図15の出力信号AおよびBは、一例として、前記出力認証コードRである。ここで、前記抽出結果Extは、それぞれ相異なる第一および第二のチップ認証装置(21、22)で相異なる。したがって、出力信号AおよびBは相異であり、前記(出力の独立性)を満たしている。
 
(2)(入力の独立性)
図16の入力信号CおよびDは、一例として、前記物理乱数抽出特殊テストコードT および前記指定コードをそれぞれ含む。図16の出力信号AおよびBは、一例として、前記出力認証コードRである。ここで、前記入力信号CおよびDが異なる前記指定コードを用いるものとすれば、出力信号AおよびBは相異である。あるいは、異なる物理乱数抽出特殊テストコードT を用いれば、出力信号AおよびBは相異である。したがって、(入力の独立性)を満たしていることは自明である。
 
(3)(出力の予測不可能性)
前記出力認証コードRを合成するときに含まれる前記抽出結果Extは、前記セルアレイ上での不良ビットの分布から抽出されるものである。したがって、チップに固有で物理的にランダムに生成するので、どのようなアルゴリズムによっても予測することは不可能である。この特徴は、前記指定コードによらない。したがって、前記(出力の予測不可能性)を満たしていることは自明である。
 
(4)(入出力の信頼性)
上述したように、前記抽出結果Extは、前記セルアレイ上での不良ビットの分布から抽出されるものである。前記不良ビットの分布は、上述した何れかの方法か他の同等の方法によってバイナリ表示することが可能である。その結果は、図22や図73のようなパターンとして認識できる。このように一度デジタル化されたデータは、正常に動作するCMOSインバータ回路からなるデジタル演算処理を繰り返す毎にシャノンの条件を満たすことが知られており、したがって、前記(入出力の信頼性)を満たすことは自明である。
 
(5)(出力の現実的無限性)
一つの入力に対する出力のパターンの数は、あるいは、物理的乱雑さの場合の数は、前記正規小ブロック群から不良小ブロックが発生する場合の数によって決まる。前記セルアレイとして量産品の汎用メモリ製品のメモリセルアレイを採用する場合、正規小ブロック群に含まれる正規小ブロックの数は十分大きく、不良ビットの発生率がシックスシグマ(発生率3.4E-6以下)を満たしたとしてもそのパターン数は十分に大きい。したがって、前記(出力の現実的無限性)を満たすことは自明である。下記具体的に例を挙げて説明する。
 
(6)(チップ固有性)
前記出力認証コードRは、前記チップ認証装置に固有の電子信号である。したがって、前記(チップ固有性)を満たすことは自明である。
 
(7)(物理的書き換え不可能性) 
上述の出力認証コードRは、前記物理乱数コードが書き換え不能であれば物理的に書き換え不能である。したがって、前記(物理的書き換え不可能性)を満たすことは自明である。
 
(P-CID)
こうして、前記(1)-(7)を全て満たすことが自明である。したがって、上述の前記出力認証コードRおよび前記物理乱数抽出特殊テストコードTの組み合わせを、物理チップ認証(P-CID)の一例と見なすことが可能である。
 
(第四の実施形態)
本願の物理チップ認証(P-CID)は、図7、8、15-18のチップ認証装置60/600が生成する。具体的には、前記チップ認証装置を構成するチップに外部から入力コードを入力し、前記チップ内部のセルアレイから物理乱数を抽出し、前記入力コードと前記物理乱数から前記P-CIDを生成する。このとき、(1)(出力の独立性)、(2)(入力の独立性)、(3)(出力の予測不可能性)、(4)(入出力の信頼性)、(5)(出力の現実的無限性)、(6)(チップ固有性)、(7)(物理的書き換え不可能性)のすべてを満たしている。
上述のように、P-CIDを生成するために外部から周辺ノードに入力される入力コードは、一例として、ネットワークにつながる情報端末上で動作する何らかのアプリを起動するためのパスコード、PINコード、バーコード、2次元コードなどのデジタルコード情報、指紋情報、静脈情報、網膜情報、DNA情報、その他前記アプリの正規ユーザーを特定する何らかの生体情報、正規ユーザーの音声や画像などから抽出した個人を特徴できる音声・画像情報、正規ユーザーの身体的特徴などから抽出した個人を特徴できる身体情報、その他正規ユーザーを特徴できる個人情報など、から生成できる。
別の一例として、前記入力コードは、ネットワークにつながる情報端末上で動作する何らかのアプリが必要に応じてユーザーに要求するパスコード、PINコード、バーコード、2次元コードなどのデジタルコード情報、指紋情報、静脈情報、網膜情報、DNA情報、その他前記アプリの正規ユーザーを特定する何らかの生体情報、正規ユーザーの音声や画像などから抽出した個人を特徴できる音声・画像情報、正規ユーザーの身体的特徴などから抽出した個人を特徴できる身体情報、その他正規ユーザーを特徴できる個人情報など、から生成できる。
更に別の一例として、前記入力コードは、ネットワークにつながる情報端末上で動作する何らかのアプリがインストールされている情報端末を起動するためのパスコード、PINコード、バーコード、2次元コードなどのデジタルコード情報、指紋情報、静脈情報、網膜情報、DNA情報、その他前記アプリの正規ユーザーを特定する何らかの生体情報、正規ユーザーの音声や画像などから抽出した個人を特徴できる音声・画像情報、正規ユーザーの身体的特徴などから抽出した個人を特徴できる身体情報、その他正規ユーザーを特徴できる個人情報など、から生成できる。
あるいは、更に別の一例として、入力コードは、何等かの物理的プロセスによりチップ認証装置を構成する半導体チップに固有な状態で生成される物理乱数を取得するための物理乱数抽出特殊テストコードなどである。ここで物理乱数抽出特殊テストコードは、少なくともチップ内部の前記セルアレイ上のデータに対するアクセスモード、アドレス、動作モードを指定するコードである。
あるいは、前記入力コードとは、前述した複数の入力コードの組み合わせにより構成されるものであっても良い。
一例として、前記入力コードは、図89の入力認証コードQである。あるいは、前記入力コードは、図89の入力認証コードQに含めることが可能である。あるいは、前記入力コードは、図89の物理乱数抽出特殊テストコードTに含めることが可能である。あるいは、前記入力コードは、(第一の実施形態)の指定コードに含めることが可能である。
一例として、前記入力コードは、図90あるいは図91の物理乱数抽出特殊テストコードTに含めることが可能である。あるいは、(第二の実施形態)あるいは(第三の実施形態)指定コードに含めることが可能である。
 
(第五の実施形態)
本願の物理チップ認証(P-CID)は、図7、8、15-18のチップ認証装置60/600が生成する。具体的には、前記チップ認証装置を構成するチップに外部から入力コードを入力し、前記チップ内部のセルアレイから物理乱数を抽出し、前記入力コードと前記物理乱数から前記P-CIDを生成する。このとき、(1)(出力の独立性)、(2)(入力の独立性)、(3)(出力の予測不可能性)、(4)(入出力の信頼性)、(5)(出力の現実的無限性)、(6)(チップ固有性)、(7)(物理的書き換え不可能性)のすべてを満たしている。
図82では、MACアドレスをイーサネットカードの内蔵メモリに記録する代わりに、本願のチップ認証装置3040(図中P-CIDと表示)を、CPUなどと共同で働く主記憶装置(DRAMなど)に搭載する。この場合、本願のP-CIDがこのCPUにリンクしたチップの認証となる。こうしてイーサネットカードに記録されたMACアドレスを置き換えることが可能となる。
P-CIDは、一般に、イーサネット形式の認証とは限らない。たとえば、上述のように周辺ノードが生成するP-CIDは、基幹ノードからの入力コードに応じて生成されることが望ましい。あるいは、周辺ノードのオペレーティングシステムに予め設定された入力コードに応じて、チップ認証装置がP-CIDを生成することが望ましい。この場合、チップ認証装置に入力される入力コードは、オペレーティングシステムを起動する際に入力するパスコード、あるいは、そのパスコードと関連を持たせることが可能である。あるいは、スリープモードからの復帰のためのパスコードやその他PINコードなど、あるいはそれらと関連づけることも可能である。こうして、イーサネットカードのメディア・アクセス・コントローラー(MAC)用演算処理チップ3020もP-CID制御装置3030に置き換える。
一例として、図83に示すように、P-CID3070は、本願に関するチップ認証装置によって生成され、MACアドレスのうち下位の24ビット(図81のシリアル番号3072)を置きかえることが望ましい。すなわち、ベンダーコード3071は、すでに広く利用されているMACアドレスのベンダーコードをそのまま利用する。こうして、図83のように、P-CIDアドレス3073が生成される。受信ノード側は、後述する指示ビットを調べることで受信したフレームがMACアドレスを採用しているか、あるいは、本願のP-CIDを採用しているかを事前に判定することが可能である。 
一般に、P-CID3070のビット数は、チップ認証装置を構成する認証素子977の数によって決まる。たとえば、認証素子用アレイ960が、図23のような構成となる場合、P-CIDのビット数は、素子行数Lと素子列数Mの積で決まる。したがって、P-CIDアドレスのビット数は、LとMの積に24を足し合わせたものになる。あるいは、図29のような構成の場合、P-CIDのビット数は、Nの2乗によって決まる。したがって、P-CIDアドレスのビット数は、Nの2乗に24を足し合わせたものになる。あるいは、図74のような構成の場合、P-CIDのビット数はNである。あるいは、図77のような構成の場合、P-CIDのビット数はNである。あるいは、DRAMのリダンダンシーを用いる場合、P-CIDのビット数は、リダンダンシー用のメモリ領域のビット数によって決まる。すなわち、順列を使って算出した情報量から必要なビット数が直ちに判明する。
しかしながら、上述した図23あるいは図29のような構成の場合、図35のように、ソフト破壊モード“X”の混入によって、P-CIDのビット数は理想的な場合より少なくなることがある。事前の検査、あるいは、他の何らかの方法により、このような破壊モードが混入する確率の上限が事前にわかっている場合、この上限から換算されるビット数にマージン分のビット数を加味し、P-CIDのビット数を再定義することが望ましい。こうして、P-CIDのビット数は、図22の白と黒の市松状のパターンの格子点数で決まることになる。
P-CIDのビット数は、シリアル番号のビット数24ビットより多くとも良いし、少なくとも良い。あるいは、同じでも良い。少ない場合、P-CIDの利用は、閉じた物理的ネットワークに限ることが望ましい。たとえば、工場の製造ラインを管理するためのシリアル番号の替わりに用いることが可能である。このように、P-CIDのビット数は、必ずしも所定のビット数に決められている訳ではない。したがって、プリアンブルの最後に数ビットをP-CIDのビット数を指示するために添付することが望ましい。このP-CIDのビット数を指示するためのビット(指示ビット3074)は、ベンダーコード3071の前(上位)であっても良いし、後ろ(下位)であっても良い。図84は、指示ビット3074がベンダーコード3071の前(上位)に添付された場合の一例を示している。図85は、指示ビット3074がベンダーコード3071の後ろ(下位)に添付された場合の一例である。図84、および、図85は、いずれも指示ビット3074の長さが6ビットとして図示したものであるが、一般に、指示ビット3074の長さは6ビットに限らない。いずれにしろ、指示ビットの有無を確認することにより、フレームがP-CID形式化どうか判明するだろう。
指示ビット3074の導入により、P-CIDアドレスが扱えるアドレスの数は可変となる。したがって、任意の管理者が、閉じた物理的ネットワークを構築する際に短いP-CIDアドレスを使い、その分節約されたビット数をプロトコル・データ・ユニットのデータ領域に割り当てることが可能となる。こうして、一つのプロトコル・データ・ユニットで運べる情報量が多くなる。これは一回のデータ通信で運べるデータ量が多くことを意味する。あるいは、任意のベンダーが限られた数の製品を出荷する場合にも、短いP-CIDアドレスを使い、その分節約されたビット数をプロトコル・データ・ユニットのデータ領域に割り当てることが可能となる。 
物のインターネットの場合、グローバルアドレスの数が非常に多くなる。この問題に対応するには、指示ビット3074によってP-CIDアドレスのビット数を増やし、扱えるアドレスの数を増やす必要がある。こうしてP-CIDアドレスのビット数が増えると、その分一つのプロトコル・データ・ユニットで運べる情報量が少なくなる。これは、一回のデータ通信で運べるデータ量が少なくなることを意味する。しかしながら、無数の物理アドレスを必要とする物のインターネットが登場するような将来には、ネットワーク技術の進歩に対応するためプロトコル・データ・ユニットの規格が変更されることになるだろう。このとき、一つのプロトコル・データ・ユニットに割り当てられるビット数が増大する可能性が高い。MACアドレスを使い続けた場合、このような変化に柔軟に対応することは難しいが、本願の指示ビット付きのP-CIDアドレスでは、物理アドレス数の急激な増大に柔軟に対処することが可能である。
パーソナルコンピューターの電源を入れると、中央演算処理装置(CPU)がオペレーションシステムを起動する際、オペレーションシステムを起動するのに必要な情報が主記憶(たとえばDRAM)にロードされる。ここで、オペレーションシステムが、イーサネットカードあるいはチップ認証装置3040を検知した場合、オペレーションシステムはそのチップ認証装置3040から物理チップ認証(P-CID3070)を読み出し、イーサネットカードに含まれるP-CID制御装置3030に書き込む。P-CID制御装置3030は、図83、図84、図85に示すようなP-CIDアドレスを添付したフレームを、信号伝達路1000を介してデータリンク層で送受信する。
 
(第六の実施形態)
本願の物理チップ認証(P-CID)は、図7、8、15-18のチップ認証装置60/600が生成する。具体的には、前記チップ認証装置を構成するチップに外部から入力コードを入力し、前記チップ内部のセルアレイから物理乱数を抽出し、前記入力コードと前記物理乱数から前記P-CIDを生成する。このとき、(1)(出力の独立性)、(2)(入力の独立性)、(3)(出力の予測不可能性)、(4)(入出力の信頼性)、(5)(出力の現実的無限性)、(6)(チップ固有性)、(7)(物理的書き換え不可能性)のすべてを満たしている。
図86は、物理チップ認証(P-CID)として本願のチップ認証装置を採用した実施形態の別の一例である。MACアドレスをイーサネットカードの内蔵メモリに記録する代わりに、本願のチップ認証装置3040(図中P-CIDと表示)を中央演算処理装置(CPU)に搭載する。この場合、イーサネットカードにMACアドレスを記録する必要はなくなり、不揮発性メモリチップを取り除ける可能性がある。上述したように、中央演算処理装置(CPU)混載方式を採用する場合、本願のチップ認証装置を構成するための認証素子としては、標準CMOSプロセス準拠のものが望ましい。たとえば、図41の電界効果トランジスタ983を認証素子とする方式が望ましい。そのほか、図39のPN接合986、図40のショットキー接合987、あるいは、図47および図48のように配線パターンを応用した例も可能である。上述の例では、MACアドレスとの対比から、特にチップ認証装置3040が生成する認証を物理チップ認証(P-CID)と見なす。P-CIDは、一般に、イーサネット形式の認証とは限らない。たとえば、上述のように周辺ノードが生成するP-CIDは、基幹ノードからの入力コードに応じて生成されることが望ましい。あるいは、周辺ノードのオペレーティングシステムに予め設定された入力コードに応じて、チップ認証装置がP-CIDを生成することが望ましい。この場合、チップ認証装置に入力される入力コードは、オペレーティングシステムを起動する際に入力するパスコード、あるいは、そのパスコードと関連を持たせることが可能である。あるいは、スリープモードからの復帰のためのパスコードやその他PINコードなど、あるいはそれらと関連づけることも可能である。こうしてイーサネットカードのメディア・アクセス・コントローラー(MAC)用演算処理チップ3020もP-CID制御装置3030に置き換えられる。
パーソナルコンピューターの電源を入れると、中央演算処理装置(CPU)がオペレーションシステムを起動する際オペレーションシステムを起動するのに必要な情報が主記憶(たとえばDRAM)にロードされる。ここで、オペレーションシステムが、イーサネットカードあるいはチップ認証装置3040を検知した場合、オペレーションシステムはそのチップ認証装置3040から物理チップ認証(P-CID3070)を読み出し、イーサネットカードに含まれるP-CID制御装置3030に書き込む。P-CID制御装置3030は、図83、図84、図85に示すようなP-CIDアドレスを添付したフレームを、信号伝達路1000を介してデータリンク層で送受信する。
 
(第七の実施形態)
上記実施形態では、メディア・アクセス・コントローラー(MAC)用演算処理チップ3020をP-CID制御装置3030に置き換えている。しかしながら、この実施形態では、MACアドレスを使用しないので、イーサネット形式もそれに応じて変更する必要がある。そのようなフォーマットの変更を急激に行えば混乱が予想されるので、物理チップ認証(P-CID)からMACアドレスへの変換装置、すなわち、P-CID/MAC変換装置3050を使用することがネットワーク移行期では必要になる。このような過渡的な需要に対応するため、典型的な例を以下に上げておく。
図87は、物理チップ認証(P-CID)として本願のチップ認証装置を採用した実施形態の別の一例である。MACアドレスをイーサネットカードの内蔵メモリに記録する代わりに、本願のチップ認証装置3040(図中P-CIDと表示)を主記憶装置に搭載する。このチップ認証装置3040は、物理チップ認証(P-CID)を生成するものである。さらに、中央演算処理装置(CPU)は、このP-CIDを使って生成したP-CIDアドレス3073からMACアドレスへの変換を司るP-CID/MAC変換装置3050の機能を有する。この場合、イーサネットカードにMACアドレスを記録する必要はなくなり、不揮発性メモリチップを取り除ける可能性がある。主記憶装置がDRAMの場合、たとえば、図42、図63、あるいは、図64などのように認証素子としてDRAMセルを用い、図22のように2次元コード型の乱数コードを利用する方式が望ましい。あるいは、代替素子979を有する図74の例において、認証素子としてDRAMセルを用い、図73のバーコード型の乱数コードを利用する方式が望ましい。あるいは、DRAMのリダンダンシーに使用されるヒューズメモリなどを利用し、図73のバーコード型の乱数コードを利用する方式が望ましい。上述の例では、MACアドレスとの対比から、特にチップ認証装置3040が生成する認証を物理チップ認証(P-CID)と見なす。P-CID3070は、一般に、イーサネット形式の認証とは限らない。たとえば、上述のように周辺ノードが生成するP-CIDは、外部からの入力コードに応じて生成されることが望ましい。あるいは、周辺ノードのオペレーティングシステムに予め設定された入力コードに応じて、チップ認証装置がP-CIDを生成することが望ましい。この場合、チップ認証装置に入力される入力コードは、オペレーティングシステムを起動する際に入力するパスコード、あるいは、そのパスコードと関連を持たせることが可能である。あるいは、スリープモードからの復帰のためのパスコードやその他PINコードなど、あるいはそれらと関連づけることも可能である。しかしながら、この例では、上述したように、P-CIDを使って生成したP-CIDアドレスからMACアドレスへの変換を司るP-CID/MAC変換装置3050の機能を有する。こうして、P-CID制御装置3030に置き換えずに、メディア・アクセス・コントローラー(MAC)用演算処理チップ3020をイーサネットカードに採用できる。また、P-CID/MAC変換装置3050は、必ずしも物理的実態の伴う装置である必要はない。起動時にCPUにロードされて動作するプログラムの一種であってもかまわない。あるいは、同様の動作を実現するファームウェアであってもかまわない。もちろん、モジュールの一部としてCPUに混載することも可能である。
パーソナルコンピューターの電源を入れると、オペレーションシステムを起動するのに必要な情報が主記憶(たとえばDRAM)にロードされ、中央演算処理装置(CPU)がオペレーションシステムを起動する。ここでオペレーションシステムが、イーサネットカードあるいはチップ認証装置3040ことを察知した場合、オペレーションシステムは、そのチップ認証装置3040から物理チップ認証(P-CID)を読み出し、CPUに混載されているP-CID/MAC変換装置3050に転送する。P-CID/MAC変換装置3050は、このP-CIDから生成されるP-CIDアドレスをMACアドレスに変換し、オペレーティングシステムは、この変換によって生成されたMACアドレスをメディア・アクセス・コントローラー(MAC)用演算処理チップ3020に書き込む。こうして、メディア・アクセス・コントローラー(MAC)は、従来のイーサネット形式で、信号伝達路1000を介してフレームを送受信することが可能となる。自明なので特に説明をしないが、P-CID/MAC変換装置3050をCPUに搭載しつつ、図86と同様にチップ認証装置3040をCPUに搭載してもよい。
 
(第八の実施形態)
図88は、物理チップ認証(P-CID)として本願のチップ認証装置を採用した実施形態の別の一例である。MACアドレスをイーサネットカードの内蔵メモリに記録する代わりに、本願のチップ認証装置3040(図中P-CIDと表示)を主記憶装置(CPU)に搭載する。このチップ認証装置3040は、物理チップ認証(P-CID)を生成するものである。さらに中央演算処理装置(CPU)は、このP-CIDからP-CIDアドレスを生成し、 図83、図84、図85などの方法でフレームを構成する機能を司る、P-CID制御装置3060の機能を有する。この場合、イーサネットカードにMACアドレスを記録する必要はなくなり、不揮発性メモリチップを取り除ける可能性がある。さらに、P-CID制御装置3060を有するため,メディア・アクセス・コントローラー(MAC)用演算処理チップ3020も必要なくなる。たとえば、上述のように周辺ノードが生成するP-CIDは、基幹ノードからの入力コードに応じて生成されることが望ましい。あるいは、周辺ノードのオペレーティングシステムに予め設定された入力コードに応じて、チップ認証装置がP-CIDを生成することが望ましい。この場合、チップ認証装置に入力される入力コードは、オペレーティングシステムを起動する際に入力するパスコード、あるいは、そのパスコードと関連を持たせることが可能である。こうして、イーサネットカードを取り除くことが望ましい。主記憶装置がDRAMの場合、たとえば、図42、図63、あるいは、図64などのように認証素子としてDRAMセルを用い、図22のように2次元コード型の乱数コードを利用する方式が望ましい。あるいは、代替素子979を有する図74の例において、認証素子としてDRAMセルを用い、図73のバーコード型の乱数コードを利用する方式が望ましい。あるいは、DRAMのリダンダンシーに使用されるヒューズメモリなどを利用し、図73のバーコード型の乱数コードを利用する方式が望ましい。この例では、MACアドレスとの対比から、特にチップ認証装置3040が生成する認証を物理チップ認証(P-CID)と見なす。また、P-CID制御装置3060は、物理的実態の伴う装置である必要はない。起動時にCPUにロードされて動作するプログラムの一種であってもかまわない。あるいは、同様の動作を実現するファームウェアであってもかまわない。もちろん、モジュールの一部としてCPUに混載することも可能である。
パーソナルコンピューターの電源を入れると、オペレーションシステムを起動するのに必要な情報が主記憶(たとえばDRAM)にロードされ、中央演算処理装置(CPU)がオペレーションシステムを起動する。ここでオペレーションシステムが、チップ認証装置3040を検知した場合、オペレーションシステムは、チップ認証装置3040が生成する物理チップ認証(P-CID)を読み出し、CPUに混載されているP-CID制御装置3060に転送する。P-CID制御装置3060は、このP-CIDを使って上述の方法で生成したフレームを、信号伝達路1000を介して送受信することが可能となる。自明なので特に説明をしないが、P-CID制御装置3060をCPUに搭載しつつ、図86と同様にチップ認証装置3040をCPUに搭載してもよい。
 
現在、イーサネットカード(あるいは、LANカード)だけではなく、イーサネットカードの機能を備えた通信用チップも出回っている。このような通信用チップは、パーソナルコンピューターより小型の電子機器、あるいは、情報機器に搭載される。あるいは、SIMカードと一体化させることも不可能ではない。本願のチップ認証装置はチップに混載可能であり、物理チップ認証(P-CID)を生成するものである。したがって、イーサネットカード(あるいはLANカード)の代わりに限らず、通信用チップ、あるいは、SIMカードなどに採用することが可能である。
 
(第九の実施形態)相互認証
本願の物理チップ認証(P-CID)は、図7、8、15-18のチップ認証装置60/600が生成する。具体的には、前記チップ認証装置を構成するチップに外部から入力コードを入力し、前記チップ内部のセルアレイから物理乱数を抽出し、前記入力コードと前記物理乱数から前記P-CIDを生成する。このとき、(1)(出力の独立性)、(2)(入力の独立性)、(3)(出力の予測不可能性)、(4)(入出力の信頼性)、(5)(出力の現実的無限性)、(6)(チップ固有性)、(7)(物理的書き換え不可能性)のすべてを満たしている。
図102は、本願の物理チップ認証(P-CID)を相互認証に応用する方法を示すものである。第一のノード2001および第二のノード2002は、図1、図3、図5、図8、図9と同じものであるとする。あるいは、第一および第二のチップ認証装置は、図89-91の何れかと同等である。あるいは、前記第一および第二のチップ認証装置は、図7および図8の第一のチップ110である。あるいは、前記第一および第二のチップ認証装置は、図78のチップ10あるいは図79のチップ400である。第一および第二のチップ認証抽出装置は、図89-91のチップ認証抽出装置のいずれかである。あるいは、前記第一および第二のチップ認証抽出装置の少なくともどちらか一方は、図10の基幹ノード400に含むことが出来る。あるいは、前記第一および第二のチップ認証抽出装置の少なくともどちらか一方は、図14の第一から第三の基幹ノード(1400、2400、3400)に含むことが出来る。あるいは、前記第一および第二のチップ認証抽出装置の少なくともどちらか一方は、図26および図76の基幹ノード400に含むことが出来る。
図102の入力信号は、少なくとも図89の物理乱数抽出特殊テストコードTおよび入力認証コードQを含む。あるいは、前記入力信号は、少なくとも図90および図91の物理乱数抽出特殊テストコードTを含む。あるいは、前記入力信号は、少なくとも図10および図27の入力(P、S、T…)を含む。あるいは、前記入力信号は、少なくとも図11の共通パスコード1410を含む。あるいは、前記入力信号は、少なくとも図14の第一から第三の共通パスコード(1410、2410、3410)を含む。あるいは、前記入力信号は、少なくとも図15あるいは図18の入力信号Q含む。あるいは、前記入力信号は、少なくとも図16の入力信号Cあるいは入力信号Dを含む。あるいは、前記入力信号は、少なくとも図17の入力信号Q1からQn+1含む。あるいは、前記入力信号は、図19にリストアップされている入力コードの少なくとも一つと同一とみなすことができる。あるいは、前記入力信号は、少なくとも図24―26、図30、図74―77の入力コード{a(i)}を含む。あるいは、前記入力信号は、少なくとも図24―26、図30の入力コード{b(i)}を含む。
図102の出力信号は、少なくとも図89-91の出力認証コードRを含む。あるいは、前記出力信号は、少なくとも図10の認証(P1、S1、T1…)、(P2、S2、T2…)、(P3、S3、T3…)…を含む。あるいは、前記出力信号は、少なくとも図27の認証(P1、S1、T1…)、(P1’、S1’、T1’…)を含む。あるいは、前記出力信号は、少なくとも図12の第一から第三の認証(4101、4201、4301)を含む。あるいは、前記出力信号は、少なくとも図14の第一から第三の認証(11、12、13)を含む。あるいは、前記出力信号は、少なくとも図15および図16の出力信号Aあるいは出力信号B含む。あるいは、前記出力信号は、少なくとも図18の出力信号Rを含む。あるいは、前記出力信号は、図19にリストアップされている登録コードの少なくとも一つと同一とみなすことが出来る。あるいは、前記出力信号は、少なくとも図25、図26、および図30の出力コード{c(i,j)}を含む。あるいは、前記出力信号は、少なくとも図75および図76の出力コード{c(i)}を含む。あるいは、前記出力信号は、少なくとも図24-26、および図30の乱数コード{d(i,j)}を含む。あるいは、前記出力信号は、少なくとも図75および図76の乱数コード{d(i)}を含む。
前記第一のノード2001は、前記第一のチップ認証装置と前記第一のチップ認証抽出装置を含む。前記第二のノード2002は、前記第二のチップ認証装置と前記第二のチップ認証抽出装置を含む。前記第二のチップ認証抽出装置は、第二の入力信号を前記第一のチップ認証装置に入力する。前記第一のチップ認証装置は、前記第二の入力信号に応じて前記第二のチップ認証抽出装置に第一の出力信号を返信する。前記第一のチップ認証抽出装置は、第一の入力信号を前記第二のチップ認証装置に入力する。前記第二のチップ認証装置は、前記第一の入力信号に応じて前記第一のチップ認証抽出装置に第二の出力信号を返信する。
前記第一のチップ認証抽出装置は、前記第一のチップ認証装置と同じ半導体チップ(あるいはチップ)に含むことが出来る。ただし、この場合、前記チップは前記第一のノードに含まれる。あるいは、前記第一のチップ認証抽出装置は、前記第一のチップ認証装置とは別の半導体チップ(あるいはチップ)に含むことが出来る。ただし、この場合、前記第一のチップ認証装置を含むチップと前記第一のチップ認証抽出装置を含むチップは、ともに前記第一のノードに含まれる。あるいは、前記第一のチップ認証装置は複数の半導体チップ(あるいはチップ)で構成することも可能である。あるいは、前記第一のチップ認証抽出装置は、複数の半導体チップ(あるいはチップ)から構成される一種のチップセットである。前記第二のチップ認証抽出装置は、前記第二のチップ認証装置と同じ半導体チップ(あるいはチップ)に含むことが出来る。ただし、この場合、前記チップは前記第二のノードに含まれる。あるいは、前記第二のチップ認証抽出装置は、前記第二のチップ認証装置とは別の半導体チップ(あるいはチップ)に含むことが出来る。ただし、この場合、前記第二のチップ認証装置を含むチップと前記第二のチップ認証抽出装置を含むチップは、ともに前記第二のノードに含まれる。あるいは、前記第二のチップ認証装置は複数の半導体チップ(あるいはチップ)で構成することも可能である。あるいは、前記第二のチップ認証抽出装置は、複数の半導体チップ(あるいはチップ)から構成される一種のチップセットである。 
 
(第十の実施形態)相互認証による物理ノードのネットワークトポロジー
図102の第一のチップ認証装置及び第一のチップ認証抽出装置を搭載した第一のノード2001を第一の物理ノード(IoTデバイス)とみなし、第二のチップ認証装置及び第二のチップ認証抽出装置を搭載した第二のノード2002を第二の物理ノード(IoTデバイス)とみなす。前記第一の物理ノードは、更に、第一の内部メモリを搭載している。前記第一のチップ認証抽出装置は、物理ノードのネットワークにつながっている他の物理ノードの認証情報を収集し、前記第一の内部メモリに書き込み、記録し、保存する。これを第一の辞書とする。したがって、前記第一の辞書は、前記第一の物理ノードの認証情報を含む必要はない。前記第二の物理ノードは、更に、第二の内部メモリを搭載している。前記第二のチップ認証抽出装置は、物理ノードのネットワークにつながっている他の物理ノードの認証情報を収集し、前記第二の内部メモリに書き込み、記録し、保存する。これを第二の辞書とする。したがって、前記第一の辞書は、前記第一の物理ノードの認証情報を含む必要はない。このように、チップ認証抽出装置が、収集した認証情報を内部メモリに保存されている辞書に記録することを、辞書への登録と呼ぶ。第二のチップ認証抽出装置は、第一のチップに搭載されている第一のチップ認証装置に適当な入力信号(C2)を送付し、レスポンス(R1)を受け取り、この(C2R1)のセットを、第二の物理ノードが保有する辞書に事前に記録されている入力信号と出力信号の組み合わせ(C2R3)と比較する。(C2R3)と(C2R1)が一致すれば、第一の物理ノードは事前に登録されていた物理ノードとして認証される。一致しなければ、第一の物理ノードを認証されていないものとして、アクセスを拒否するか、必要に応じて、再登録する。
前記実施形態のように、第一および第二の物理ノード間の相互認証を可能にすることにより、物理ノードのネットワークトポロジーをよりフレキシブルにすることが可能である。すなわち、図13のように物理ノード同士の直接の通信を制限する必要はなくなる。一例として、図103のように、7つの物理ノードからなるネットワークを考える。7つの物理ノードは5つの参加ノード(第一から第五の参加ノード411-451)と第一及び第二の管理ノード(1401および2401)に分かれる。周辺ノードを参加ノードに対応させ、基幹サーバーを管理ノードに対応させると、図103のネットワークトポロジーが図13と異なることがわかる。たとえば、図103では第二の参加ノード421及び第四の参加ノード441、あるいは第三の参加ノード431および第五の参加ノード451間の通信が認められている。このフレキシビリティにより、後述するように、IoTデバイス(物理ノード)の中央管理と分散管理の共存が可能となる。これを、部分的中央管理、あるいは、部分的分散管理と呼べる。
本願に関する物理ノードのネットワークトポロジー(IoTトポロジー)の概念を説明するため、参加ノードおよび管理ノードを導入してノードの種別を改める必要がある。ある物理ネットワーク(IoTネットワーク)に接続するすべての正規の物理ノードを、管理ノードと参加ノードに分類する。このIoTトポロジーでは、管理ノードは自分が管理する物理ネットワークに参加する参加ノードを正しく(物理的に)限定する。(例えば、図103の1401および2401を参照。)管理ノードの主な役目は偽造ノードによる参加ノードのなりすましを防ぐことである。すなわち、管理ノードは、自分が管理している物理ネットワークに参加する参加ノードがすべて成りすまされていないことを可能な限り保証する。また、参加ノードは自分が参加すべきネットワークの管理ノードを正しく(物理的に)限定する。これは、不正ノードへの接続に誘導され秘密情報などを盗まれる危険性を抑えるためである。
管理ノードが図103のように周辺ノード間の通信をモニターする場合、管理ノードは物理ネットワークを管理する中心的サーバーである基幹サーバーと同等とみなすことができる。しかしながら、図103では第二の参加ノードと第四の参加ノードの通信を必ずしもモニターしていない。この場合管理ノードは必ずしも図13の基幹サーバーとは同等でなくともよい。
参加ノードは物理ネットワークの全体の管理は行なわずに物理ネットワークに参加するすべての物理ノードであり、必ずしも周辺ノードのことを意味しない。
管理ノードも参加ノードも、どちらも、図102のように本願のチップ認証装置とチップ認証抽出装置の両方を有する物理ノードである。この点で、参加ノードは周辺ノードとは異なる特徴を持つ。すなわち、周辺ノードはチップ認証装置さえ搭載していればよく、必ずしもチップ認証抽出装置を搭載していない。
管理ノードも参加ノードも、どちらも内部メモリ(あるいは内蔵メモリ)を有する。該内部メモリは、図10および19の入力コード(402、42)に対応するチャレンジ(C)、および、図10および19の出力コード(403、43)に対応するレスポンス(R)の組、入出力セット(CR)を定義し、それを内部メモリに保存されている辞書に記録することが可能である。したがって、CRは1セットのみに限らないので、内部メモリには複数のCRの組合せがそれぞれ対応する形で保存されることになる。対応の仕方は、一例として、図19の入力コード42(C)と図19の登録コード43(R)の組み合わせのようになる。さらに具体的に説明すると、RTSDEDDTAG!$&D(()とC(Y6;sHWLnp!L+5P[+@で一つの組み合わせ(CR1)となる。RTSDEDDTAG!$&D(()とwG;x'5@/O(GM";ODS+Kで別の一つの組み合わせ(CR2)となる。0D$zD)X=Fpgd[_&x.*nと_p]Q|9ecbe{2Ieq=!?Eで、更に別の一つの組み合わせ(CR3)となる。もちろん、CR1、CR2、CR3のうち、どの任意の二つをとっても区別されれなければならない。このような(CR)の集合を{CR}で記述し、辞書と呼ぶ。チップ認証抽出装置の重要な役割の一つは、閉じた物理ネットワークから(CR)を収集し、前記内部メモリに記録し、辞書{CR}を作成し、保存し、必要に応じて編集することである。
 
(参加ノード)
周辺ノードと異なる参加ノードの一つの特徴は、自分以外の物理ノードのチャレンジ(C)およびレスポンス(R)の組(CR)を自分の内部メモリ(あるいはストレージ)に保存できることである。このCRの組み合わせは複数あるので、一定の条件でCRを集めた集合{CR}は物理ネットワークの一種の辞書となる。このように参加ノードが保持する辞書を「局所辞書」と呼ぶ。ただし、局所辞書は自分が参加する物理ネットワーク上のすべての物理ノードを網羅している必要はない。なぜなら、参加ノードは自分が参加する物理ネットワークの全体の管理をすることは要求されていないからである。また、参加ノードは、自分自身に関するCRを保存しない。参加ノードは、自分が参加するネットワーク内に運用基点を有するネットワークサービスを利用し、その運用基点の真偽にのみ興味がある。この参加ノードは、例えば図102の第二のノード2002(あるいは第二の物理ノード2002)であり、この運用基点は、例えば図102の第一のノード2001(あるいは第一の物理ノード2001)である。第二の物理ノードは局所辞書{CR}を内部メモリに保存している。第二の物理ノードに搭載される第二のチップ認証抽出装置は、該内部メモリに保存されている局所辞書{CR}のチャレンジの中から第一の物理ノード(運用基点)に対応する入力(C)を選び、第一の物理ノード(運用基点)に第二の入力信号として入力する。第一の物理ノードに搭載される第一のチップ認証装置は、第二の入力信号(C)を受け取り、第一の物理ノードに搭載されているチップに固有な乱数を用いて出力(R)を生成し、それを第二の物理ノードに搭載される第二のチップ認証抽出装置に第一の出力信号として返送する。第二の物理ノードは、前記第二のチップ認証抽出装置が受け取った出力(R)と前記内部メモリに保存されている局所辞書{CR}のうち対応する前記入力(C)に対応するRを比較し、この二つのRが不一致であれば偽と判定する。一致する場合第二の物理ノードは前記第二のチップ認証抽出装置を用いてさらに別の第二の入力信号を選び同様の検査を複数回行うか、あるいは第一の物理ノードを真と判定する。
参加ノードが自分自身に関するCRの組み合わせを保存しないのは、もし保存しているとチップ認証装置を使わずに入力されたCに対し対応するRを返答することができるようになるからである。逆に言えば不正ノードは、局所辞書に自信のCRを含んでいなければならない。正規のノードは、チップ認証装置を使って入力されたCからRを生成するので、CRを自分の局所辞書に登録しておく必要がない。この特徴を生かして偽造ノードの自動検索が可能となる。たとえば、第一の物理ノードが第二の物理ノード(参加ノード)の局所辞書{CR}を読んだとき、第一の物理ノードが保存している第二の物理ノードに関するCRの組がこの局所辞書{CR}の中に含まれているかどうかを確認すればよい。含まれていれば第二の物理ノードは偽造ノードであると認定される。偽造ノードの自動検索方法の具体例は、例えば図20および図21に示してあるが、必ずしもこれらの例に限らない。
 
(管理ノード)
自分が管理する物理ネットワークに参加するすべての参加ノードの入力(C)と出力(R)の組み合わせ(CR)を自分の内部メモリに記録する。自分が管理する物理ネットワークに参加するすべての参加ノードのCRの組を集めたもの{CR}を「大域辞書」と呼ぶ。ただし、この管理ノードのCRをこの管理ノードが所有する大域辞書に含める必要はない。
管理ノードのメモリに記録された「大域辞書」にCRが登録されていない参加ノードは、自動検索によって発見され、前記管理ノードが管理する物理ネットワークから自動的に排除される。こうして、大域辞書の記録された物理ノードのみで構成された物理ネットワークを「閉じた物理ネットワーク」と呼ぶ。大域辞書に登録されていない物理ノードはこの閉じた物理ネットワークに参加できないので、管理ノードは自分が管理する物理ネットワークに参加する参加ノードを正しく(物理的に)限定することができる。
閉じた物理ネットワークに参加ノードを登録するには、その参加ノードに関するCRを大域辞書に登録する必要がある。登録される参加ノードに渡されるCは管理ノードが決め、Rは登録される参加ノードに搭載されるチップに固有の乱数と前記Cの組み合わせによって決定される。
 
(登録方法)
ここで、一般に第二の物理ノードが第一の物理ノードに関するCRの組を第二の物理ノードの内部メモリに保存(登録)し、第二の物理ノードに局所辞書を作成する方法を図102の例を用いて説明しておく。ただし、この登録方法の説明において、第一の物理ノードは管理ノードでも参加ノードでもどちらでもよい。同様に第二の物理ノードは管理ノードでも参加ノードでもどちらでもよい。
まず、第二のノード2002(第二の物理ノード)が第一のノード2001(第一の物理ノード)に入力(C)を渡す。この入力(C)は第二の入力信号に相当する。この入力(C)は第二の物理ノードが任意の方法あるいは所定の方法で決定できる。第一の物理ノードに搭載される第一のチップ認証装置はこの入力(C)を受け取り、この入力(C)及び第一のチップ認証装置を構成するチップに固有な乱数から出力(R)を生成する。すなわち、この出力(R)は第一の出力信号に相当し、所定の方法により、第一の物理ノードに搭載されるチップに固有の乱数と第二の物理ノードが決定する前記入力(C)の組み合わせによって決定される。第一のチップ認証装置はこの出力(R)を第二の物理ノードに搭載される第二のチップ認証抽出装置に返送する。こうして第二の物理ノードは、この入力(C)と出力(R)の組み合わせCRを第二の物理ノードの内部メモリに保存する。この作業は、一つの第一の物理ノードに複数回繰り返すことが可能である。また、この作業は、複数の第一の物理ノードに複数回くりかえすことが可能である。こうして、複数の(CR)の組み合わせ{CR}が第二の物理ノードの内部メモリに保存されることになる。
第二の物理ノードが参加ノードであればそれは局所辞書である。第二の物理ノードが管理ノードであればそれは大域辞書と呼ぶ。大域辞書も局所辞書も第二の物理ノード(その辞書を所有する物理ノード)のCRは含まない。なぜなら、第二の物理ノードに対応する入力(C)を決定するのは、第二の物理ノード以外の物理ノードなので、第二の物理ノードが第二の物理ノードに対応するCRを決定することは不可能である。
前記チップに固有な乱数は、たとえば、前記第一のチップ認証装置に搭載されるメモリセルアレイの中の不良ビットの分布から抽出することができる。または、図22のように、前記第一のチップ認証装置に搭載される認証素子アレイ(例えば図23,24、29、69、72、74、77など)から上述した方法(図34-37、70、71など)を用いて抽出することができる。前記認証素子の例は、図33、38-68、92-101などを用いて説明できる。あるいは、ここで限定されている以外の別の方法を用いて抽出することができる。第一の物理ノードに搭載されるチップに固有の乱数と第二の物理ノードが決定する前記入力(C)の組み合わせから前記出力(R)を決定する、前記所定の方法は、例えば、図24-32、あるいは、図72-79を用いて説明できる。あるいは、ここで限定されている以外の別の方法を用いて決定することができる。
ところで、管理ノードは、一つの閉じた物理ネットワークに一つとは限らない。複数の管理ノードが一つの閉じた物理ネットワークに参加する参加ノードを管理することが可能である。この場合任意の二つの管理ノードが同じ一つの閉じた物理ネットワークを管理し、前記閉じた物理ネットワークに参加するすべての参加ノードがこれら二つの管理ノードの管理下に入る。また、これら二つの管理ノードは、互いに相手を管理することも可能である。さらに、一つの管理ノードが何らかの事由で動作不能になったとしても他方が物理ネットワークの管理を行うことが可能である。
周辺ノードは大域辞書も局所辞書も所有しない。参加ノードおよび管理ノードは、基幹ノードの一種である。図10の入力コード402および登録コード403の組み合わせだけでは大域辞書も局所辞書も定義できない。大域辞書とは、管理ノードが自ら管理する物理ネットワーク(閉じた物理ネットワーク)に参加する前記管理ノード以外のすべての物理ノードのCRの組を集め、前記管理ノードの内部メモリに保存する集合{CR}のことである。局所辞書とは、閉じた物理ネットワークに参加する参加ノードが、同じ閉じた物理ネットワークに参加する他の物理ノードのCRの組み合わせを集め、前記参加ノードの内部メモリに保存する集合{CR}のことである。局所辞書は、前記閉じた物理ネットワーク全体を網羅する必要はない。ただし、大域辞書も局所辞書も、自分以外のCRを含まないようにしなければならない。局所辞書および大域辞書を総称して単に「辞書」と呼ぶことができる。
 
(内部メモリ)
内部メモリに要求される基本的な性質の一つは外部から読むことが可能なことである。コピーされても問題はない。事実上辞書は、大域辞書も局所辞書も公開されているのと同じである。しかしながら、大域辞書も局所辞書も外部から不正に編集できないようにしておく必要はある。したがって内部メモリは、ワンタイムプログラマブルメモリ(OTP)であることが望ましい。
あるいは、辞書は、大域辞書も局所辞書も別の強固な方法で守っておくことが望ましい。この場合、ある物理ノードの辞書(大域辞書あるいは局所辞書)に関係するハッシュ値および電子署名は、その物理ノードに物理的に紐づけされた秘密鍵を用いなければ更新できない。その物理ノードの辞書の最新状態を含む辞書のブロックハッシュを生成し、複数の独立の物理ノードに共有させ、不正に改ざんするためには辞書のブロックハッシュの最新状態を共有するすべての物理ノードを欺かなければならないようにしておくことが望ましい。これは、従来のブロックチェーンとは異なる、辞書のブロックチェーンを生成する。
この目的のためには、本願のチップ認証装置を活用することが望ましい。例えば、図104で説明するように、第一の物理ノードの管理者(一例として、後述するセキュリティノード)が第三のチップ認証抽出装置などを用いて第三の入力信号を第一のチップ認証装置に送信する。第一のチップ認証装置は、第三の入力信号及び第一の物理ノードに含まれるチップに固有の物理的乱雑さ(固有乱数)から第三の出力信号を生成する。この第三の出力信号は鍵生成装置に渡され、前記鍵生成装置は所定の鍵生成アルゴリズムに応じて秘密鍵及び公開鍵を生成する。前記秘密鍵及び公開鍵は、暗号化を司るセキュリティモジュールに引き渡される。前記セキュリティモジュールおよび前記鍵生成装置は、自明なので特に図示しないが、図111のセキュリティチップに含むことができる。前記セキュリティチップは、こうして、ハッシュ値を生成し、秘密鍵を用いて電子署名を生成し、内部で生成したセキュリティ状態を記憶しておくためのメモリを含むこともできる。このセキュリティチップを用い、第一の物理ノードの内部メモリに保存されている辞書(大域辞書あるいは局所辞書)を読み込み、所定のアルゴリズムに従って前記辞書に関連するハッシュ値及び電子署名を生成する。第一の物理ノードは、前記電子署名、前記ハッシュ値、および前記公開鍵をブロックチェーンが活用されているネットワークに使用すればよい。ここで最も特徴的なことは、第一のチップ認証装置の出力から生成した秘密鍵を用いて辞書の共有に関する電子署名生成するところである。
図105-110は、前記所定のアルゴリズムの一例を示す図である。第0の物理ノードを、前記ブロックハッシュを作るための起点とする。ただし、第0の物ノードは、少なくとも第0のチップ認証装置と、鍵生成装置と、第0の辞書(大域辞書あるいは局所辞書)を保管する内部メモリを有する。その他特に図示しないが、第0のチップ認証抽出装置を有することができる。
まず、何らかの方法でこの第0の物理ノードに入力信号を入力する。第0の物理ノードは、前記入力信号を第0のチップ認証装置で受信し、第0の物理ノードに搭載されるチップに固有の物理的乱雑さ(固有乱数)から第0の出力信号を生成する。この第0の出力信号は鍵生成装置に転送され、該鍵生成装置は、この第0の出力信号を入力として所定のアルゴリズムに従い第0の秘密鍵および第0の公開鍵を生成する。第0の公開鍵と第0の辞書を合成し、適当なハッシュ関数(一例としてSHA-256など)を用いて第0のハッシュ値を生成する。次に、第0の物理ノードは、第0の秘密鍵を用いて第0のハッシュ値と第一の物理ノード(受信側)の公開鍵(第一の公開鍵)をまとめて暗号化し、第0の電子署名を生成する。最後に、第0の物理ノードは、第0のハッシュ値と第0の電子署名を受信側である第1の物理ノードに送付する。第一の物理ノードは、さらに第二の物理ノードに対して同様の処置をすることができる。ただし、第一のハッシュ値を作るとき、第1の公開鍵、第1の辞書、さらに、第0の電子署名とハッシュ値を合成する点のみが異なる。これは、第0の物理ノードが起点であり、受信したハッシュ値および電子署名がないためである。
図106では、第Nの物理ノード(送信側)から第N+1の物理ノード(受信側)への転送の一例を示している。
まず、何らかの方法でこの第Nおよび第N+1の物理ノードにそれぞれ入力信号を入力する。この二つの入力信号は等しくても良いが等しくなくてもどちらでも良い。第Nの物理ノードは、前記入力信号を第Nのチップ認証装置で受信し、第Nの物理ノードに搭載されるチップに固有の物理的乱雑さ(固有乱数)から第Nの出力信号を生成する。この第Nの出力信号は鍵生成装置に転送され、該鍵生成装置は、この第Nの出力信号を入力として所定のアルゴリズムに従い第Nの秘密鍵および第Nの公開鍵を生成する。第Nの公開鍵、第Nの辞書、および、第N-1の電子辞書とハッシュ値と、を合成し、適当なハッシュ関数(一例としてSHA-256など)を用いて第Nのハッシュ値を生成する。次に、第Nの物理ノードは、第Nの秘密鍵を用いて第Nのハッシュ値と第N+1の物理ノード(受信側)の公開鍵(第N+1の公開鍵)をまとめて暗号化し、第Nの電子署名を生成する。最後に、第Nの物理ノードは、第Nのハッシュ値と第Nの電子署名を受信側である第N+1の物理ノードに送付する。第N+1の物理ノードは、さらに第N+2の物理ノードに対して同様の処置をする。ただし、Nは、Lを最大とする自然数であるとする。その他特に図示しないが、第Nの物理ノードは、第Nのチップ認証抽出装置を有することができる。また、第Nのハッシュ値を生成する際、第Nの電子署名と第N-1のハッシュ値のどちらか一方を省くことも可能である。本願の特徴は、第Nのハッシュ値を生成する際第Nの辞書を含めてハッシュ化するところであり、従来のブロックチェーンと異なり、少なくとも第N-1のハッシュ値と第N-1の電子署名のどちらか一方を第Nのハッシュを生成するとき省略することが可能である。これは、本願の目的が、ハッシュ値として公開鍵に紐づけられ暗号通貨の転送ではなく、辞書のブロックチェーンを構成することだからである。図107は、第N-1のハッシュ値を省略して第Nのハッシュ値を生成する例を図示したものである。図108は、第N-1の電子署名を省略して第Nのハッシュ値を生成する例を図示したものである。図109は、第N-1の電子署名および第N-1のハッシュ値を省略して第Nのハッシュ値を生成する例を図示したものである。
上述したハッシュ値および電子署名の生成・転送をいつ行うかはシステム設計による。一例として、第Nの辞書が更新されたとき、第Nの物理ノードが第Nのハッシュ値および第Nの電子署名を生成し、任意に選んだ第N+1のノードに転送することが望ましい。
いずれにしろNが最大値であるLに到達すると、図110のようになる。ここで、第Lの物理ノードとは、このような一連の転送の最終到達点(最新)である。したがって、第Lのハッシュ値は、一連の辞書の最新情報をすべて内包している。この第Lのハッシュ値を一連の転送履歴の代表コードとし、メルクルの根と呼ぶ。あとは通常のブロックチェーンのアルゴリズムに従い、このメルクルの根からブロックハッシュおよびブロックチェーンを生成してゆけばよい。
公開鍵と秘密鍵を生成する所定のアルゴリズムとは、例えば、第Nの出力信号に適当な整数を加算してその和が素数になるかどうか確認する。この操作をその和が素数になるまで繰り返す。次に第Nの出力信号から適当な整数との差を計算しそれが素数になるかどうか確認する。この操作をその差が素数になるまで繰り返す。こうして二つの素数を生成したのちそのかけ合わせる。あとはRSA法に従い秘密鍵と公開鍵を生成すればよい。
図105-110の入力信号は、一例として、管理ノードのチップ認証抽出装置が外部からの入力として与えることが望ましい。あるいは、後述するセキュリティノード(図111参照)が与えるセキュリティパラメータとすることも可能である。いずれにしろ、図111のハッシュモジュールは、図104のセキュリティモジュールに含むことができる。なお、前記セキュリティモジュールは、図105-110のハッシュ値を生成するために使用することも可能である。このように、一つのモジュールに複数の機能に活用することが可能である。これは、セキュリティモジュール搭載による製品価格の増加を下げる上で重要なアドバンテージとなる。あるいは、第四の実施形態で説明したように、P-CID(入出力セット)を生成するために外部から周辺ノードに入力される入力コードを利用してもよい。
 
(セキュリティ状態)
 前記チップ認証装置に入力する入力信号を特にチャレンジ(C)と呼ぶ。このチャレンジ(C)に対応して前記チップ認証装置が生成する出力信号を特にレスポンス(R)と呼ぶ。上述して来たように、CとRの組み合わせ(CR)は、チップ認証装置を構成するチップに固有な乱雑さ(固有乱数)に依存して決まる。このCRは、チップに固有な乱雑さに依存しつつ更にセキュリティ状態に応じて変化する。
固有乱数の例は、例えば、図22および26の市松模様、図25、26、30のd(i、j)、図35のデータの例、図73および76のランダムな水平模様、図75および76のd(i)などである。
ある物理ノードを局所辞書もしくは大域辞書(単に「辞書」)に登録する際、登録される物理ノードのセキュリティ状態|Qj>によって、前記物理ノードに入力されるチャレンジ(C)に対するレスポンス(R)の値は変わる。たとえば、C|Q1> = R1|Q1⟩、C|Q2> = R2|Q2>、… C|Qn> = Rn|Qn>、などのように書ける。ここで、状態|Q>への添え字jは1からnまでの整数とする。
セキュリティ状態は、各物理ノードに渡されるセキュリティパラメータと各物理ノードに搭載されているチップに固有な乱雑さとの組み合わせによって決まる。セキュリティパラメータは管理ノードによって各物理ノードに渡される。セキュリティパラメータを各物理ノードに渡す管理ノードを特にセキュリティノードと呼ぶ。あるいは、セキュリティノードに大域辞書を持たせる必要がないときは別途指定された参加ノードでもよい。セキュリティノードは、一つの閉じたネットワークの中に複数あって構わない。
各物理ノードのセキュリティ状態は、セキュリティノードがセキュリティパラメータを更新し各物理ノードに渡すことによって変更できる。このようなセキュリティ状態の更新は、セキュリティノードが随時任意に行うことができる。一つの閉じたネットワークにおいてセキュリティ状態の更新が行われる度に局所辞書も大域辞書も更新される。
セキュリティパラメータの導入方法の第一の例は、すでに説明してある。例えば、図23および74の認証素子アレイを、図29および77のようにスクランブル装置セルアレイ614とチップ認証装置アレイ611に分割するための二つの整数の組み合わせ(N、K)である。ここでKはスクランブル装置セルアレイ614に割り当てられる行数であり、Nはチップ認証装置セルアレイ611に割り当てられる行数である。
図111は、セキュリティパラメータの導入方法の第二の例の概念を説明する図面であるである。第一の物理ノードは少なくとも一枚のチップを搭載しており、このチップは、認証素子からなる認証素子用セルアレイ(あるいは単にセルアレイ)を少なくとも搭載しており、その認証素子用セルアレイに固有の乱雑さから乱数(固有乱数)を生成する。
認証素子の例は、例えば、図33、38-52、69、72、74、77、92-96、および99の認証素子977、図53および54のキャパシタ982、図55および56のPN接合986、図57および58のショットキー接合、図59および60の抵抗985、図61および62のトランジスタ983、図63および64のトランジスタ983とキャパシタ982の組み合わせ、図65および図66の選択トランジスタ984、図67の選択トランジスタ、図68のトランジスタ983、図97および98の電荷蓄積送付き不揮発性メモリセル988、および図100と101の可変抵抗981などである。
認証素子用セルアレイの例は、例えば、図23、24、69、72、74などの認証素子用アレイ960や、図89-91、109-114のセルアレイである。
第一の物理ノードは、さらにセキュリティチップを搭載している。前記セキュリティチップハッシュモジュールを搭載している。前記チップのセルアレイと前記セキュリティチップのハッシュモジュールから第一のチップ認証装置を構成する。このように、第一のチップ認証装置は、ともに第一の物理ノードに搭載される少なくとも二つのチップによって構成される。
前記セキュリティノードは、前記セキュリティパラメータとしてノンス値(たとえばn)をこのハッシュモジュールに渡す。前記ノンス値を生成するため、前記セキュリティノードはノンス値生成モジュールを搭載することができる。あるいは、前記セキュリティノードに搭載されているチップ認証抽出装置の出力信号をノンス値として送付することも可能である。この場合、図111の第二の物理ノードと第三の物理ノードは、ノンス値とチャレンジを入れ替えれば同様であることが自明である。すなわち、セキュリティノードの役割は、他の参加ノードや管理ノードでも代替えできる。
いずれにしろ、このハッシュモジュールは、前記固有乱数とこのノンス値からハッシュ値を生成しそれをセキュリティ状態(Qn)として出力する。第二の物理ノードに搭載される第二のチップ認証抽出装置からチャレンジ(C)をこの第一の物理ノードに入力すると、前記第一のチップ認証装置は、上述のようにして決定されたセキュリティ状態(Qn)に対してレスポンス(Rn)を出力する。こうして第二のチップ認証抽出装置は、このCとRnの組み合わせ(CRn)を得ることができる。
 
(セキュリティ状態の変更)
セキュリティノードは、新たなノンス値(m)を第一の物理ノードに渡し、第二の物理ノードにセキュリティパラメータを変更したことを告げる。第二の物理ノードは、第一の物理ノードの認証を検査する。このときに得る(CRm)の組み合わせと自分が保存している辞書(大域辞書あるいは局所辞書)の中の第一の物理ノードに対応する部分(CRn)を比較する。不一致であれば自分が所持する辞書に登録されている他の物理ノードの認証も検索する。こうして認証を検査した複数の物理ノードのCRの組み合わせが不一致であれば、確かにセキュリティパラメータが更新されたものとして辞書に新たなCRの組み合わせ(CRm)をアペンドするか、あるいは、(CRn)に上書きする。上書きとアペンドの選択は当該の閉じた物理ネットワークを設計し保守し管理するシステムエンジニアの判断による。
 
(セキュリティパラメータ偽造の防御)
ハッカーがセキュリティパラメータを不正に更新できないようにするため、第一の物理ノードは、あらかじめノンス値を送ってくるセキュリティノードのチップ認証を行う必要がある。このため、セキュリティノードは少なくとも第三のチップ認証装置を搭載している。第一の物理ノードに搭載されている第一のチップ認証抽出装置が第三のチップ認証装置を検査する方法は、図102で説明した第一のチップ認証抽出装置が第二のチップ認証装置を検査する方法と同様である。
第二の物理ノードは、セキュリティパラメータが更新されたことを告知してくるセキュリティノードのチップ認証を行う必要がある。このため、第二の物理ノードに搭載されている第二のチップ認証抽出装置は、セキュリティノードに搭載されている第三のチップ認証装置を検査する。第二のチップ認証抽出装置が第三のチップ認証装置を検査する方法は、図102で説明した第二のチップ認証抽出装置が第一のチップ認証装置を検査する方法と同様である。
セキュリティノードは、セキュリティパラメータの更新をハッカーの物理ノードに告知しないよう、第二の物理ノードのチップ認証を行う必要がある。このため、セキュリティノードに搭載されている第三のチップ認証抽出装置は、第二の物理ノードに搭載されている第二のチップ認証装置を検査する。第三のチップ認証抽出装置が第二のチップ認証装置を検査する方法は、図102で説明した第一のチップ認証抽出装置が第二のチップ認証装置を検査する方法と同様である。
セキュリティノードは、ハッカーの物理ノードに更新されたセキュリティパラメータを送付しないよう、第一の物理ノードのチップ認証を行う必要がある。このため、セキュリティノードに搭載されている第三のチップ認証抽出装置は、第一の物理ノードに搭載されている第一のチップ認証装置を検査する。第三のチップ認証抽出装置が第一のチップ認証装置を検査する方法は、図102で説明した第二のチップ認証抽出装置が第一のチップ認証装置を検査する方法と同様である。
ハッカーが閉じた物理ネットワーク内の一部の物理ノードの認証を盗んだとしてもセキュリティパラメータを更新することによって盗んだ認証が無効化されるので、セキュリティノードは随時任意に上述の方法でセキュリティパラメータを更新することが望ましい。また、セキュリティノードは一つの閉じた物理ネットワークに複数存在して構わない。いつどこでだれがセキュリティパラメータを更新するかなるべく予測困難にすることが望ましい。
例えば、一つの閉じた物理ネットワークに二つのセキュリティノードが存在する場合を考えよう。これら二つのセキュリティノードがそれぞれ異なるセキュリティパラメータをこの閉じた物理ネットワーク内に配布すると、管理ノードは二つの異なる大域辞書を持ち、各参加ノードは二つの異なる局所辞書を持つことがある。
このよう場合においてチップ認証の混乱を避けるためには、図105において、例えば、第二のチップ認証抽出装置が第一のチップ認証装置にチャレンジ(C)を送る際次の手続きを事前に行うこととする。1)一つのセキュリティノードを選択する。2)そのセキュリティノードに、第一のチップ認証装置にノンス値を送信するよう要請する。3)第二のチップ認証抽出装置からチャレンジ(C)を第一のチップ認証装置に送信する。あとは通常通りの認証手続きをとればよい。図112は、図110の第二のチップ認証抽出装置が具体的に行うべき処方箋の一例を示した図面である。まず、チップ認証を検査する物理ノードとセキュリティノードを選択する。続いて、選択したセキュリティノードに要請し、選択した物理ノードにセキュリティパラメータを送信させる。次に、選択した物理ノードにチャレンジ(C)を送信する。さらに続いて、選択した物理ノードからレスポンス(R)を受け取り、選択した物理ノードのチップ認証(CR)を得る。そして、このCRと、所有する辞書(大域辞書あるいは局所辞書)の選択した物理ノードに対応する部分とを比較する。一致すれば認証終了である。一致しなければ、検査した物理ノードは辞書に登録された物理ノードとは別のものであると認識し、検査した物理ノードに対してあらかじめ設定した必要な手続きを取る。一例として、ネットワークから排除する、あるいは、必要に応じて検査した物理ノードのネットワークへの登録手続きを取る、などである。
図113は、一枚のチップに第一のチップ認証装置を集積した例を示す図面である。このように固有乱数を生成するためのセルアレイおよびハッシュモジュールを、第一のチップ認証抽出装置とともに一枚のチップに集積することが可能である。ただし、この場合チップの開発費は高くなるので、図111のような構成にも意味はある。
あるいは、自明なので特に図示しないが、与えられたノンス値(n)から前記ハッシュモジュール及びセキュリティ状態(Qn)を生成するのはエミュレータでも構わない。これは、この部分をソフトウェアで代用できることを意味している。ただし、少なくとも前記固有関数はハードウェアであるチップ固有の乱雑さから生成しなければならない。
 
(偽造ノードの自動検索および自動排除)
上述したように、一つの閉じた物理ネットワークに属するすべての物理ノードは、管理ノードか参加ノードにかかわらず、自分のCR(自己CR)を自分の辞書(大域辞書あるいは局所辞書)に含んではいけない。したがって、管理ノードの数だけ異なる大域辞書が存在しうる。(それぞれ自己CRを含んでいない点で異なる。)管理ノードのうちセキュリティパラメータの更新をつかさどるものを特にセキュリティノードと呼んだ。
これに対し、物理ノードの自動検索を行い、その中に不正ノードが発見されればその不正ノードを自動的に該閉じた物理ネットワークから排除(自動排除)する管理ノードを、特に検索ノードと呼ぶ。検索ノードも一つの物理ネットワーク内に複数存在して構わない。ここで、検策ノードが所持する大域辞書を特に検索辞書と呼ぶ。つまり、検索辞書も複数存在して構わない。
まず、一つの検索ノードと一つの検索辞書が存在する場合を考えよう。図114は、自動検索および自動排除の方法の具体例の一例である。まず、検査する物理ノードを選択する。このとき検索辞書の中から選択された物理ノードに対応するCR(検査CR)を読み出しておく。続いて選択された検査対象の物理ノードの内部メモリを読み出し、その中に検査CRがないか調べる。つまり、検査CRと検査対象が所持する辞書{CR}とを比較する。一致していれば不正判定し、不正判定を受けた検査CRをすべての管理ノードの大域辞書及びすべての参加ノードの局所辞書から削除するよう閉じた物理ネットワーク内のすべての物理ノードに指示する。不正判定でなければ次の検査対象を選択できるかどうか調べる。
不正ノードが検査対象に成りすますためには検査CRが必要である。一方、検査対象が不正でなければチップ認証装置が検査CRを認証の都度に生成するので検査CRを内部メモリに保存しておく必要はない。
不正判定を受けた検査CRをすべての管理ノードの大域辞書及びすべての参加ノードの局所辞書から削除するよう閉じた物理ネットワーク内のすべての物理ノードに指示し、次の検査対象を選択できるかどうか調べる。すべての物理ノードを検索していれば作業終了とする。そうでなければ次の検査対象を選択する。
 
(管理の共同性)
管理ノードは、時にセキュリティパラメータのメンテナンスを行うセキュリティノードであり、時に前記自動検索・自動排除を行う検索のノードである。またある時には、管理ノードはセキュリティノードかつ検索ノードである。
3つの閉じた物理ネットワークにそれぞれ一つの管理ノード(A、B、C)が存在する場合を考えよう。図115参照。これら3つの管理ノードは時にセキュリティノードであり、時に検索ノードであり、時にセキュリティノード兼検索ノードである。
図115において、領域Aは管理ノードAの管理範囲である。領域Bは管理ノードBの管理範囲である。領域Cは管理ノードCの管理範囲である。管理範囲A,B、Cが同時に重なり合う領域は、ABCの共同管理領域(管理領域ABC)である。AとBの管理範囲が重なり合う部分はAとBの共同管理領域(管理領域AB)である。BとCの管理範囲が重なり合う部分はBとCの共同管理領域(管理領域BC)である。CとAの管理範囲が重なり合う部分はCとAの共同管理領域(管理領域CA)である。
管理領域ABCを新たに一つの閉じた物理ネットワークとみなすことができる。このとき、この閉じた物理ネットワークにはA、B、C3つの管理ノードが存在する。
管理領域ABを新に一つの閉じた物理ネットワークとみなすことができる。このとき、この閉じた物理ネットワークにはAとB2つの管理ノードが存在する。
管理領域BCを新たに一つの閉じた物理ネットワークとみなすことができる。このとき、この閉じた物理ネットワークにはBとC2つの管理ノードが存在する。
管理領域CAを新たに一つの閉じた物理ネットワークとみなすことができる。このとき、この閉じた物理ネットワークにはCとA2つの管理ノードが存在する。
Aに管理され、新たにBおよびCに管理されていない管理領域を一つの閉じた物理ネットワークとみなすことができる。このとき、この閉じた物理ネットワークには一つの管理ノードAが存在する。
Bに管理され、CおよびAに管理されていない管理領域を一つの閉じた物理ネットワークとみなすことができる。このとき、この閉じた物理ネットワークには一つの管理ノードBが存在する。
Cに管理され、AおよびBに管理されていない管理領域を一つの閉じた物理ネットワークとみなすことができる。このとき、この閉じた物理ネットワークには一つの管理ノードCが存在する。
領域Aまたは領域Bを新たに一つの閉じた物理ネットワークとみなすとき、物理ノードAおよび物理ノードBはともにこの閉じた物理ネットワークの大域辞書を所有できないので管理ノードではない。しかしながら、物理ノードAの局所辞書と物理ノードBの局所辞書が共同でこの一つの物理ネットワーク全体(領域Aまたわ領域B)を網羅することができれば、参加ノードAおよび参加ノードBによってこの閉じた物理ネットワークを共同で管理することが可能である。このように、実際には管理ノードがなくても参加ノードの連携による管理が可能である。これは、閉じた物理ネットワークにおける、物理ノードの中央管理と分散管理の共存を可能とする。このとき、参加ノードAの局所辞書が領域Aのマップを定義している。参加ノードBの局所辞書が領域Bのマップを定義している。
このように二つの異なる参加ノードで一つの閉じた物理ネットワークを共同管理する場合、セキュリティパラメータの更新・メンテナンスや自動検索・自動排除等は、上述の説明において管理ノードを参加ノードに置き換え、大域辞書を局所辞書に置き換えれば同様である。ただし、これら二つの参加ノードの局所辞書はそれぞれが管理する領域のマップを定義する。そしてこの二つの局所辞書によって定義されるマップが閉じた物理ネットワークの全体を網羅することが必要である。これは、一つの閉じた物理ネットワークを二つに分割した例である。
領域Aまたは領域Bまたは領域Cを新たに一つの閉じた物理ネットワークとみなすとき、物理ノードAおよび物理ノードBおよび物理ノードCはどれもこの閉じた物理ネットワークの大域辞書を所有できないので管理ノードではない。しかしながら、物理ノードAの局所辞書(領域Aのマップ)と物理ノードBの局所辞書(領域Bのマップ)と物理ノードCの局所辞書(領域Cのマップ)が共同でこの一つの物理ネットワーク全体(領域Aまたわ領域Bまたは領域C)を網羅することができれば、参加ノードAおよび参加ノードBおよび参加ノードCによってこの閉じた物理ネットワークを共同で管理することが可能である。このように、実際には管理ノードがなくても参加ノードの連携による管理が可能である。これは、一つの閉じた物理ネットワークを三つに分割した例である。
一つの閉じた物理ネットワークは、上述のように複数の管理領域に分割することが可能である。このように複数の異なる参加ノードで一つの閉じた物理ネットワークを共同管理する場合、セキュリティパラメータの更新・メンテナンスや自動検索・自動排除等は、上述の説明において管理ノードを参加ノードに置き換え、大域辞書を局所辞書に置き換えれば同様である。ただし、これら複数の参加ノードの局所辞書はそれぞれが管理する領域のマップを定義する。そしてこの複数の局所辞書によって定義されるマップが閉じた物理ネットワークの全体を網羅することが必要である。いずれにしろ、管理領域あるいは共同管理領域を定義することによって、閉じた物理ネットワークの領域が定義できる。この領域にアクセスできるかどうかは、本願の方法でチップ認証されるチップを搭載しているかどうかにかかわっている。こうして、本願の閉じたネットワークの概念を用いることによって、物理的ファイヤーウォールを形成することが可能となる。あえて「物理的」としたのは、論理ノードではなく、この管理領域内で管理されるのが物理ノードそのものだからである。また、複数の管理ノードが共存できるので、セキュリティノードと検策ノードを異なる管理ノードで受け持つことが望ましい。これは、管理権限を分散させることを目的としており、民主主義の三権分立の考え方に近い。
こうして、一つまたは複数の管理ノードによる中央管理下に置かれた物理ノードのみから構成される閉じた物理ネットワークを、物理的ファイヤーウォールで囲むことができる。この物理的ファイヤーウォールの内側に存在する物理ノードにリンクする公開鍵(論理アドレス)と辞書を用いて、辞書のブロックチェーンによる論理的分散管理を行うことができる。こうして、中央管理と分散管理を共存させた強固な物理ネットワークが実現できる。
(チップ認証装置の分割設計)
本願のチップ認証装置は複数のチップに分割することができる。図116はその一例である。この図では、チップ認証装置が第一および第二の二つのチップに分割されている。第一のチップには前記固有乱数を生成するために必要なセルアレイ(あるいは認証素子用セルアレイ)が搭載されている。第二のチップには、第21のモジュールおよび第22のモジュールが搭載されている。図111の例に相当する。
図117は、別の一例を示す図面である。この図では、第一のチップに第21のモジュールとセルアレイ(あるいは認証素子用セルアレイ)が搭載されている。第二のチップには第22のモジュールが搭載されている。
図118は、更に別の一例を示す図面である。この図では、チップ認証装置が一枚のチップで構成されている。第21および22のモジュールとセルアレイ8あるいは認証素子用セルアレイ)のすべてが前記一枚のチップに搭載されている。図113の例に相当する。
上記第21および第22のモジュールには、例えば、鍵生成装置(図104-110)、ハッシュモジュール(図111および113)、チップ認証装置(図102等)、抽出回路(図89-91等)、乱数発生装置601(図26及び76等)、のコード発生装置602(図26及び76等)、606(図28等)、乱数発生装置605(図28等)、入出力制御装置800(図78等)、入出力制御装置810(図79等)、スクランブル装置890(図79等)、中間コード用バッファー900(図79等)、認証装置用制御装置880(図79等)、出力発生回路(図89、90等)などの中から設計仕様に応じて選択することができる。ただし、認証装置(図102等)あるいは抽出回路(図89-91等)を含むことが特に望ましい。
図119および図120は、更に別の一例を示す図面である。この図では、チップ認証装置が第一から第三の3枚のチップで構成されている。図119との違いは、第一のチップにセルアレイ(あるいは認証素子用セルアレイ)以外のモジュールの有無である。
上記第41-43のモジュール、あるいは、上記第51および第52のモジュールには、例えば、チップ認証装置(図102等)、抽出回路(図89-91等)、乱数発生装置601(図26及び76等)、のコード発生装置602(図26及び76等)、606(図28等)、乱数発生装置605(図28等)、入出力制御装置800(図78等)、入出力制御装置810(図79等)、スクランブル装置890(図79等)、中間コード用バッファー900(図79等)、認証装置用制御装置880(図79等)、出力発生回路(図89、90等)などの中から設計仕様に応じて選択することができる。ただし、認証装置(図102等)あるいは抽出回路(図89-91等)を含むことが特に望ましい。
 
(その他)
CPUと共同で働く主記憶装置がDRAMの場合、たとえば、図42、図63、あるいは、図64などのように認証素子としてDRAMセルを用いることが望ましい。この場合、一例として、図22のように2次元コード型の乱数コードを利用する方式が可能である。あるいは、代替素子979を有する図74の例において、認証素子としてDRAMセルを用い、図73のバーコード型の乱数コードを利用する方式が望ましい。あるいは、DRAMのリダンダンシーメモリなどを利用し、図73のバーコード型の乱数コードを利用する方式が望ましい。
上述した実施形態において、説明のために用いられたMOS型トランジスタは、一例として、第一導電型半導体基板上に作成した、二つの空間的に乖離した第二導電型拡散層と、前記第一導電型半導体基板上のゲート絶縁膜と、ゲート絶縁膜上のゲート電極と、から構成される。同じく説明のために用いられた不揮発性メモリセルトランジスタは、一例として、第一導電型半導体基板上に作成した、二つの空間的に乖離した第二導電型拡散層と、前記第一導電型半導体基板上のトンネル膜と、トンネル膜上の電荷蓄積層と、電荷蓄積層上の層間絶縁膜と、層間絶縁膜上の制御ゲート電極と、から構成される。同じく説明のために用いられた選択トランジスタは、一例として、前記不揮発性メモリトランジスタの層間絶縁膜の一部もしくは全てを層間導電層に置き換えたものである。あるいは、層間絶縁膜を突き抜けるように開けた縦穴に導電材を埋め込んだ導電体ビアなどを用いても良い。NOR型の素子配列では、前記二つの第二導電型拡散層のどちらか一方は、素子ごとにビット線に接続する。一方、NAND型の素子配列では、前記二つの第二導電型拡散層は、それぞれ隣の素子と共有し、基板上で直列構造となる。直列した複数の素子の更に両端に余った拡散層の一方は、ドレイン側選択ゲートを挟んでビット線に接続し、他方は、ソース側選択ゲートを挟んでソース線に接続する。また、NAND型の素子配列では、素子間に配置する第二導電型拡散層を、薄い第一導電型拡散層に置き換えたり、省略したりすることが可能である。
上述した実施形態において、説明のために用いられたPN接合986は、第一導電型の半導体と、第二導電型の半導体を接触させたものである。一例として、第一導電型の半導体基板表面に第二導電型拡散層を作成すると、両者の界面に自動的に形成される。したがって、MOS型トランジスタや不揮発性メモリセルトランジスタあるいは選択トランジスタにも自動的に形成されている。
上述した実施形態において、説明のために用いられたショットキー接合987は、半導体と導電体を接触させたものである。PN接合も、ショットキー接合も、ダイオード接合の一種である。
上記において、MOS型トランジスタ、不揮発性メモリセルトランジスタ、選択トランジスタ、PN接合、およびショットキー接合等の構造を説明するために用いた第一導電型半導体基板は、半導体基板の広い領域に作成された第一導電型拡散層(通常ウェル)で置き換えることも可能である。
前記認証素子は、半導体製造の前工程で大量生産されるチップに作りこまれる半導体素子である。
チップ認証装置3040が生成する、物理チップ認証(P-CID)は、通信伝達路1000に転送する前に、一時的にキャッシュメモリなどに保存して利用することが望ましい。また、本願の一例によれば、基幹ノードと周辺ノードが認証接続するには、まず、基幹ノードが所定のパスコードを周辺ノードに送り、その返信である出力(例えばP-CIDアドレスあるいはP-CID)を該基幹ノードに事前登録する必要がある。以後、この基幹ノードは、該周辺ノードと認証接続するために前記所定のパスコードとそれに対応するチップに固有の物理アドレス(あるいはP-CID)の組み合わせを用いることになる。本願ではチップに固有の物理アドレス(あるいはP-CID)を周辺ノードの不揮発性記憶領域に保存する必要はなく、そのため遠隔操作によって周辺ノードのチップに固有の物理アドレス(あるいはP-CID)を不正に取得し、編集することが非常に難しくなる。また、別の一例では、基幹ノードが所有するパスコードの代わりに、周辺ノードのユーザーが所有するPINコードを用いることも可能である。更に、このPINコードは、周辺ノードのオペレーティングシステムと連動させることも可能である。例えば、オペレーティングシステムの起動や待機状態(スリープモード)からの復帰などにも用いることが可能である。
この発明によれば、一例として、電子装置のネットワークを、周辺ノードと、周辺ノードの登録状況を管理する基幹ノードとに分割し、基幹ノードは中央管理とし、中央管理の手が行き届かない周辺ノードには、半導体製造の前工程でチップ内に作り込まれる物理的チップ認証装置を含む半導体チップを搭載し、このチップ認証装置が生成する、物理チップ認証を用いて、周辺ノードへの遠隔攻撃を効率よく未然に防ぎ、ネットワークシステム全体のセキュリティを向上し、さらに、物理的実態を伴う、物のインターネット上のノードの物理アドレスをフレキシブルに運用することが可能となる。ここで、ネットワークとは、上述した認証通信により接続されるあらゆる電子装置(ノード)間の通信接続であり、特定のシステムの内か外かに関わらない。
本願のチップ認証装置が生成する物理チップ認証(P-CID)は、物理的実態を伴うチップ認証として利用することが可能であり、サプライチェーンに流通しているチップのトレーサビィリティに活用したり、偽造チップ問題の対策に応用したり、MACアドレスを補完してLANの管理を容易にしたり、あるいは、MACアドレスを置き換える新しい物理アドレスを提供することが可能である。その上、アドレス領域のビット数が可変であるため、将来のネットワーク技術の進歩に柔軟に対応することが可能となる。
あるいは、別の一例として、図89-91のチップ認証装置は、少なくとも、物理乱数を抽出するセルアレイを含むチップおよび抽出回路を含むチップからなるチップセットである。あるいは、図89-91のチップ認証装置は、少なくとも物理乱数を抽出するセルアレイを含むチップ、抽出回路を含むチップ、および出力発生回路を含むチップと、からなるチップセットである。あるいは、図89-91のチップ認証装置は、物理乱数を抽出するセルアレイを含むチップと、抽出回路および出力発生回路を含むチップと、からなるチップセットである。
あるいは、別の一例として、図89-91のチップ認証装置は、少なくとも、物理乱数を抽出するセルアレイを含むメモリチップおよび抽出回路を含むチップからなるチップセットである。あるいは、図89-91のチップ認証装置は、少なくとも物理乱数を抽出するセルアレイを含むメモリチップ、抽出回路を含むチップ、および出力発生回路を含むチップと、からなるチップセットである。あるいは、図89-91のチップ認証装置は、物理乱数を抽出するセルアレイを含むメモリチップと、抽出回路および出力発生回路を含むチップと、からなるチップセットである。
あるいは、別の一例として、図89-91のチップ認証装置は、物理乱数を抽出するセルアレイ、抽出回路、および出力発生回路を含むチップである。
あるいは、別の一例として、基幹ノードは、入力コード402および登録コード403を内部メモリ401に記録し、更にチップ認証抽出装置(たとえば図102の第二のノードの第二のチップ認証抽出装置)を有している。周辺ノードは、チップ認証装置60(たとえば図102の第一のノードの第一のチップ認証装置)を有している。ところで、基幹ノードにチップ認証装置を追加すると、図102の第二のノードのようになる。この第二のノードは、前記内部メモリ401のほかに第二のチップ認証装置および第二のチップ認証抽出装置を有する。一方、周辺ノードにチップ認証抽出装置を追加すると、図102の第一のノードのようになる。この第一のノードは第一のチップ認証装置のほかに第一のチップ認証抽出装置を有する。このように、周辺ノードと基幹ノードは、前記入力コード402および登録コード403を記録した前記内部メモリ401の有無によって区別できる。一方、図102のように、それぞれチップ認証装置およびチップ認証抽出装置を有する2つのノードは、互いに相手を認証することが可能である。これは、基幹ノード同士の相互認証をする際に便利である。また、周辺ノード同士の相互認証するためにも利用できる。
(乱数コードの外部生成)
図121から図125に示すように、チップ外部で別途生成した乱数コードをチップ認証装置のセルアレイに書き込み、保存することも可能である。ただし、前記別途生成した乱数コードは段落0124および0125で説明した(出力の予測不可能性)を満たさなければならない。また、前記別途生成した乱数コードと同じコードを別のチップ認証装置に保存することは避けなければならない。また、偶然に二つのチップのセルアレイに同じ乱数コードが書き込まれることも避けねばらない。さらに、前記別途生成した乱数コードの改ざんを防ぐため、前記別途生成した乱数コードを保存するセルアレイは書き換え不可としなければならない。このような条件を満たすことにより、前記別途生成した乱数コードもチップに固有な固有乱数であるとみなすことが可能であり、本願の概念を満たすすべての実施形態においてチップに固有な固有乱数として使用可能である。
こうしてチップに固有であるとみなされた乱数コードは本願の固有乱数の別の一例となり、本願のチップ認証装置(図8、図15、図16―18、図26-28、図76、図78、図79、図89-91、図102、図104-111、図113、図116-125等)への入力信号あるいは入力コード(チャレンジ)に対応して前記チップ認証装置からの出力信号あるいは出力コード(レスポンス)を生成するために利用することが可能となる。
(出力の予測不可能性)を満たさすため、乱数コードを生成するには物理的ばらつき要因による乱数生成装置が必要となる。このような物理的ばらつきをチップ外部に見つけることは可能である。物理乱数生成装置として複数の手法が応用可能であるが、最も予測不能性が高いのは量子ビットを用いるものである。量子ビットには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より少なくない回数だけ読み出し、その結果をチップ内のセルアレイに書き込めばよい。
一度正規に書き込まれた乱数コードの改ざんを防ぐため、前記別途生成した乱数コードを保存するセルアレイは書き換え不可としなければならない。このようなセルアレイには、ワンタイムプログラマブル(OTP)メモリを使用することが望ましい。
OTPの例として最も有望なものがマスクROMである。図41は、典型的なマスクROMのビットセル構造の一例でもある。まず外部の乱数発生装置により別途生成した乱数コードのビット表現に応じてセルアレイ中のアドレスを選択する。次に、選択されたアドレスに位置するビットセルのMOSFETのPN接合をレーザーなどで焼き切ったり、ビット線に十分長い時間大電流を流すなどしてPN接合を確実に破壊する手法が考えられる。破壊されたPN接合を有するビットセルは整流作用を失い、逆電圧を印加しても電流が流れるようになる。例えば、破壊されたビットセルをデータ1に、破壊されなかったビットセルをデータ0に対応させれば図22のような市松模様の乱数コードとなる。いずれにしろ、別途生成した乱数コードを書き込む場合、選択されたアドレスのMOSFETのPN接合は確実に破壊しなければならない。
PN接合を含むすべてのビットセル(図39、図41―43、図55、図56、図61-68、図92-98等)をOTPとして活用することが可能である。まず外部の乱数発生装置により別途生成した乱数コードのビット表現に応じてセルアレイ中のアドレスを選択する。次に、選択されたアドレスに位置するビットセルのMOSFETのPN接合をレーザーなどで焼き切ったり、ビット線に十分長い時間大電流を流すなどしてPN接合を確実に破壊する手法が考えられる。破壊されたPN接合を有するビットセルは整流作用を失い、逆電圧を印加しても電流が流れるようになる。例えば、破壊されたビットセルをデータ1に、破壊されなかったビットセルをデータ0に対応させれば図22のような市松模様の乱数コードとなる。いずれにしろ、別途生成した乱数コードを書き込む場合、選択されたアドレスのMOSFETのPN接合は確実に破壊しなければならない。
あるいは、キャパシタを含むすべてのビットセル(図33、図38、図41-43、図53、図54、図61-68、図92-98等)をOTPとして活用することが可能である。まず外部の乱数発生装置により別途生成した乱数コードのビット表現に応じてセルアレイ中のアドレスを選択する。次に、選択されたアドレスに位置するビットセルのキャパシタに十分長い時間大電流を流すなどしてキャパシタの絶縁膜をハード破壊する手法が考えられる。破壊された絶縁膜を有するビットセルのキャパシタは絶縁性を失い、直流電圧を印加しても電流が流れるようになる。例えば、破壊されたビットセルをデータ1に、破壊されなかったビットセルをデータ0に対応させれば図22のような市松模様の乱数コードとなる。いずれにしろ、別途生成した乱数コードを書き込む場合、選択されたアドレスのキャパシタの絶縁膜は確実にハード破壊しなければならない。
あるいは、ショットキー接合を含むすべてのビットセル(図40、図57、図58等)をOTPとして活用することが可能である。まず外部の乱数発生装置により別途生成した乱数コードのビット表現に応じてセルアレイ中のアドレスを選択する。次に、選択されたアドレスに位置するビットセルのショットキー接合に十分長い時間大電流を流すなどして接合を破壊する手法が考えられる。選択されたビットセルは接合破壊によって整流作用失い、逆電圧を印加しても電流が流れるようになる。例えば、破壊されたビットセルをデータ1に、破壊されなかったビットセルをデータ0に対応させれば図22のような市松模様の乱数コードとなる。いずれにしろ、別途生成した乱数コードを書き込む場合、選択されたアドレスのキャパシタの絶縁膜は確実にハード破壊しなければならない。
あるいは、抵抗または抵抗配線を含むすべてのビットセル(図44、図46-48、図59、図60、図92、図93、図99-101等)をOTPとして活用することが可能である。まず外部の乱数発生装置により別途生成した乱数コードのビット表現に応じてセルアレイ中のアドレスを選択する。次に、選択されたアドレスに位置するビットセルの抵抗あるいは抵抗配線に十分長い時間大電流を流すなどして断線(ショート)させる手法が考えられる。選択されたビットセルは断線によって適当な電圧を印加しても電流が流れなくなる。例えば、断線したビットセルをデータ0に、断線されなかったビットセルをデータ1に対応させれば図22のような市松模様の乱数コードとなる。いずれにしろ、別途生成した乱数コードを書き込む場合、選択されたアドレスの抵抗あるいは抵抗線はは確実に断線しなければならない。
このように、チップ外で別途生成した乱数コードも、本願の概念を共有するすべてのチップ認証装置あるいは前記チップ認証装置を構成するチップに固有の固有乱数とみなすことが可能である。もちろん、図111あるいは図113の固有乱数にも活用することが可能である。
本願の固有乱数となる乱数コードを書き込むのは、本願の概念を共有するすべてのチップ認証装置の一部を構成するセルアレイ全体でも構わないし、そのセルアレイの一部でも構わない。セルアレイの一部である場合、例えば、図27、図29-32、図77、あるいは図79のような方法も考えられる。
以上から、チップに固有な固有乱数の生成方法は、チップ製造と共に生成する方法とチップの製造とは別に生成する方法と、主に二通りの方法に分割される。前者は製造したチップそのものをチップ認証装置に含め、後者は生成した固有乱数をチップ認証装置に含まれるOTPに書き込む。いずれの生成方法を用いたとしても、固有乱数とチップ認証装置への入力(チャレンジ)とを組み合わせてチップ認証装置からの出力(レスポンス)を得る限り、本願のチップ認証装置およびその活用方法の概念を逸脱しない。したがって、本願のすべての実施形態において、どちらの生成方法も同様に使用できる。
 
(なりすまし防止策)
図114で説明した(偽造ノードの自動検索および自動排除)には、図20や図21以外にも別のやり方がある。図20、図21、図114の共通点は、検査対象の内部メモリに本来検査対象が保存してはいけない情報が含まれているかどうかを検査するものである。ここでは、検査対象の内部メモリを検査せずになりすましを防ぐ方法を説明する。
図111および図113によれば、セキュリティノード(第三の物理ノード)がセキュリティパラメータ(ノンス値)を変更する前後、検査対象の物理ノード(第一の物理ノード)が含むチップ認証装置(第一のチップ認証装置)にそれぞれ同じチャレンジ(C)を入力すると第一のチップ認証装置からのレスポンス(R)が変化するはずである。すなわち、セキュリティパラメータ変更前にチャレンジ(C)を入力して第一のチップ認証装置から得られるレスポンスをR1とし、セキュリティパラメータ変更後にチャレンジ(C)を入力して第一のチップ認証装置から得られるレスポンスをR2とすると、R1とR2が等しければ検査対象の第一の物理ノードは不正にネットワークに接続しているものとみなされる。図126は、この検査方法の作業工程の一例を図示したものである。
 
(認証ノード)
図10から14、あるいは、図102、あるいは、図111および113において、あるチップ認証装置に入力信号(C)を入力し、そのレスポンスとして前記チップ認証装置から出力される出力信号(R)と、の組み合わせ(CR)は、本願に関連する物理チップ認証のために用いられる。本願の目的の一つは、こうして物理チップ認証により素性が保証された物理ノード同士を中心に分散システムを構築することである。ただし、本願は、本願の物理チップに認証により素性が保証された物理ノード同士のみで分散システムを構築することに限らない。たとえば、一つまたは複数の管理ノードが管理する管理領域に属する参加ノードと、前記管理領域の外に属する物理ノードあるいは論理ノードとの間の通信を禁止するものではない。ただし、前記参加ノードに対してアラートを出す、あるいはこの通信を管理ノード経由とするなどの条件を付けることが可能である。
一方、図104から110において、鍵生成装置に入力する(転送する)チップ認証装置からの出力(R)を生成するために、チップ認証装置に入力する入力信号は、必ずしも、前記物理チップ認証のために前記チップ認証装置に入力する入力信号と同じである必要はない。たとえば、物理チップ認証のためにチップ認証装置に入力する入力信号を検索Cとする。前記チップ認証装置は、この検索Cに応じて、レスポンスとして出力信号(検索R)を出力する。こうして、前記チップ認証装置を用いた物理ノードの物理チップ認証を入出力の組合わせ(検索C、検索R)によって実施することが可能となる。図102参照。
一方、こうして認証された物理ノードを分散システムに組み込むために、分散システムを管理する管理者(署名ノード)は、前記チップ認証装置に入力信号(署名C)を入力する。署名Cは、図104の第三の出力信号に対応する。このとき、署名Cは必ずしも検索Cと一致している必要はない。むしろシステム全体のセキュリティを向上させるためには、検索Cと署名Cは異なっている方が望ましい。
前記チップ認証装置は、入力信号(署名C)に応じて、レスポンスとして出力信号(署名R)を出力する。ただし、このレスポンスは、署名Cを受信した物理ノードの内部でのみ利用するため、署名Cの送り主(署名ノード)に返信することはしない。この署名Rは、鍵生成装置に入力され、前記鍵生成装置は、秘密鍵(S1)および公開鍵(P1)を生成する。図105から110参照。このとき、(入力の独立性)により、署名Cが検索Cと異なれば署名Rは検索Rと必ず異なる。P1は、前記チップ認証装置を有する物理ノードの、ネットワーク上の論理アドレスとなる。S1は使用後消去し、使用するごとに再生成することが望ましい。あるいは、物理ノード外部に漏らさないような形でS1を保持することが望ましい。いずれにしろ、S1は物理ノード外部から秘密にしておく必要がある。また、前記S1およびP1を生成後、署名Rはすぐに消去するか、外部からアクセスできない領域に格納することが望ましい。
検索Rは、物理ノードを認証するため、一度物理ノード外部に出力される。たとえば、図102において、第二の物理ノードは第二の入力信号(この場合の検索C)を第一の物理ノードに入力し、第一の物理ノードは、この二の入力信号に応じて、第一の出力信号(この場合の検索R)を第二の物理ノードに出力する。このように、物理チップ認証に用いる検索Rは物理ノードの外部に出力される。検索Cと署名Cが等しい場合、署名Rは検索Rと等しいので、署名Rが物理チップ認証のために物理ノード外部にさらされることになる。図104で説明しているように、署名Rは秘密鍵(S1)と公開鍵(P1)を生成するために必要なので、悪意あるハッカーの手に署名Rが渡ると容易にS1を再生することが可能となる。このため、異なる検索Cと署名Cを利用することが望ましい。
検索Cおよび署名Cをチップ認証装置に入力するのは、同一のノードでも良いし、異なる二つのノードであっても構わない。ここで、検索Cをチップ認証装置に供給する物理ノードは管理ノードであり、特に自動検索まで行う場合検索ノードである。一方、署名Cをチップ認証装置に供給する物理ノードを署名ノードと呼ぶことができる。たとえば、図105から110のチップに認証装置に供給される入力信号がこの場合の署名Cであり、この署名Cを供給する物理ノードが署名ノードとなる。ただし、図105から110には特に図示していない。また、検索Cと署名Cが異なってさえいれば、この検索ノードは前記署名ノードと同一であっても良いし、同一でなくても良い。
一般に、署名ノードは管理ノードの一種であり、大域辞書を有する。例えば、図127で示すように、署名ノードは、この大域辞書に登録されている参加ノード(例えば図106の第N+1の物理ノード)のチップ認証装置に前記署名Cを入力する。ただし、前記署名Cは、図106記載の入力信号とは異なる。図127の参加ノードは、図104の第一の物理ノードに対応している。この参加ノードのチップ認証装置は、前記署名Cの入力に対応するレスポンスとして署名Rを出力する。ただし、図104の第一の物理ノードは、前記署名Cの送り主(署名ノード)にこの署名Rを返信することはない。この署名Rは鍵生成装置に渡され、秘密鍵(S1)及び公開鍵(P1)を生成する。このS1およびP1はセキュリティモジュールに引き渡される。さらに内部メモリから辞書に関するデータを引き出し、セキュリティモジュールに渡す。セキュリティモジュールは、S1、P1、及び前記辞書から、所定の方法でハッシュ値、電子署名を生成する。このハッシュ値および電子署名は、この参加ノードを介した署名付きデータ転送に利用可能である。
なお、この参加ノードは、検索ノードにより事前に素性が確認可能である。すなわち、検索ノードのチップ認証装置からチャレンジ(検索C)を参加ノードのチップ認証装置に入力し、前記チップ認証装置は前記検索Cに応じてレスポンス(検索R)を出力し、前記検索ノードのチップ認証抽出装置に返送する。前記検索ノードは、前記検索Cと検索Rの組み合わせを内部メモリ(自明につき図示せず)に保存してある大域辞書と比較し、正規にネットワークへの参加を認められた物理ノードであるかどうかを確認する。
前述したように、この検索Cと署名Cは一致していないことが望ましい。さらに、署名ノードの大域辞書と検索ノードの大域辞書は同一であっても良く、同一でなくても良い。また、参加ノードのチップ認証装置は、図111および113のように、ハッシュモジュールを含み、セキュリティノードからセキュリティパラメータを受け取ることによってセキュリティ状態をアップデートし、検索ノードからチャレンジとして検索Cを受け取り、アップデートしたセキュリティ状態でレスポンス検索Rを生成し、前記検索Rを前記検索ノードに返信する。検索ノードと署名ノードの主な違いは、検索ノードが検索Cのレスポンスとして署名Cを受け取るのに対して、署名ノードは、署名Cの受信者の内部に署名Cを閉じ込めておくため、署名Rを受け取らないところである。
最後に、一つの閉じた物理ネットワークに対して定義できる辞書の数の上限は、最低でもこの閉じた物理ネットワークを構成する物理ノード(電子装置)の数と等しい。これら複数の辞書は、共同して前記一つの物理ネットワークに属する物理ノード(電子装置)とそれ以外の物理ノード(電子装置)を識別する。よって、これら複数の辞書によって、前記一つの閉じた物理的ネットワークを物理的ファイヤーウォールで囲うことができる。ただし、この物理的ファイヤーウォールは、地理上に定義されない点で従来の(論理的)ファイヤーウォールと同質であるが、内部に囲い込むノードが物理ノードである点で従来の論理的ファイヤーウォールと異質である。
なお、本発明の技術範囲は上記実施の形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲において種々の変更を加えることが可能である。特に、携帯電話のSIMカードのようなものが物のインターネット用の周辺ノードに用いられるようなビジネスモデルに有効である。
 
中央管理の行き届かない周辺ノードを無数に抱えるネットワークの装置間認証を、物理的乱雑さに基づいて発生したチップ認証を用いることによって、チップレベルで安全に実現することが可能となる。
 
プロトコル・データ・ユニットの伝送方法の一例を示す図。 通信階層を説明する図。 プロトコル・データ・ユニットの伝送方法の一例を示す図。 複数の通信ノードと複数の信号伝達路からなるネットワークの一例を示す図。 通信ネットワークの最小ユニット(エレメント)の一例を示す図。 イーサネットカード基本構成の一例を示す図。 チップ認証装置を含むチップを搭載した周辺ノードの一例を示す図。 本発明のチップ認証装置を搭載したチップを含む装置の接続方法の一例を示す図。 正規の使用者が、本発明のチップ認証装置を搭載したチップを含む装置を、ネットワーク上で使用する方法の一例を示す図。 本発明のチップ認証装置を搭載したチップを含む周辺ノードを、基幹ノードに接続する方法の一例を示す図。 基幹ノードから、本発明のチップ認証装置を搭載したチップを含む周辺ノードに共通パスコードを送信する方法の一例を示す図。 本発明のチップ認証装置を搭載したチップを含む周辺ノードから、認証コードを、基幹ノードに送信する方法の一例を示す図。 第一ネットワークユニットと第二ネットワークユニットに分割された複数の基幹ノードと、本発明のチップ認証装置を搭載したチップを含む複数の周辺ノードからなるネットワークの一例を示す図であり、そのネットワークは第一ネットワークユニットの基幹サーバーと第二ネットワークユニットの基幹サーバーとの接続を有するトポロジーを含む。 第一ネットワークユニットにおける複数の周辺ノードの少なくとも一つを含むトポロジーを示す図であり、複数の周辺ノードの少なくとも一つはそれぞれ複数の第二ネットワークユニットにおける基幹ノードの少なくとも一つに接続する。 本発明のチップ認証装置が満たすべき、出力の独立性の一例を示す図。 本発明のチップ認証装置が満たすべき、入力の独立性の一例を示す図。 本発明のチップ認証装置が満たすべき、出力信号の予測不可能性の一例を示す図。 本発明のチップ認証装置が満たすべき、入出力信号の信頼性の一例を示す図。 入力コードと登録コードの対応表の一例を示す図。 周辺ノードの正当性を検査するための作業工程の一例を示す図。 周辺ノードの正当性を検査するための作業工程の一例を示す図。 市松状に割り振られたデータの一例を示す図。 M行N列の市松状に並べられた認証素子のレイアウトの一例を示す図。 入力コードを入力する方法の一例を示す図。 入力コード、出力コード、乱数の関係の一例を示す図。 チップ認証装置の利用法の一例を示すための基本構成の一例を示した概念図。 スクランブル装置を加えた実施形態の概念の一例を示す図。 スクランブル装置の基本構成の一例を示す図。 スクランブル装置とチップ認証装置の両方を有する素子配列の一例を示す図。 スクランブル装置およびチップ認証装置の動作原理の一例を説明する図。 ブロックアレイ構造の一例を示す図。 ブロックアレイ構造の一例を示す図。 認証素子の一例(キャパシタ)を示す図。 認証素子からデータを読み出す方法の一例を説明するための図。 認証素子から読み出したデータのエラー補正方法の一例を説明する図。 破壊パルスの印可の仕方の一例を説明する図。 破壊パルスの印可の仕方の一例を説明する図。 認証素子の一例(導電体先端部)を示す図。 認証素子の一例(PN接合)を示す図。 認証素子の一例(ショットキー接合)を示す図。 認証素子の一例(電界効果トランジスタ)を示す図。 認証素子の一例(DRAM)を示す図。 認証素子の一例(選択トランジスタ)を示す図。 認証素子の一例(抵抗)を示す図。 認証素子からデータを読み出す方法の一例を説明するための図。 認証素子の一例(導電体接合部)を示す図。 認証素子の一例(導電体)を示す図。 認証素子の一例(導電体)を示す図。 認証素子の一例(導電体ビア)を示す図。 認証素子の一例(導電体ビア)が物理的に乱雑さを生成するメカニズムを示す図。 認証素子を選択する方法の一例を示す図。 認証素子を選択する方法の一例を示す図。 認証素子の一例(キャパシタ)を示す図。 認証素子の一例(キャパシタ)を示す図。 認証素子の一例(PN接合)を示す図。 認証素子の一例(PN接合)を示す図。 認証素子の一例(ショットキー接合)を示す図。 認証素子の一例(ショットキー接合)を示す図。 認証素子の一例(抵抗)を示す図。 認証素子の一例(抵抗)を示す図。 認証素子の一例(電界効果トランジスタ)を示す図。 認証素子の一例(電界効果トランジスタ)を示す図。 認証素子の一例(DRAM)を示す図。 認証素子の一例(DRAM)を示す図。 認証素子の一例(選択トランジスタ)を示す図。 認証素子の一例(選択トランジスタ)を示す図。 認証素子の一例(選択トランジスタ)を示す図。 認証素子をNAND型配列した場合のレイアウトの一例を示す図。 認証素子をNAND型配列した場合のレイアウトの一例を示す図。 認証素子を読み出す方法の一例を示す図。 認証素子を読み出す方法の一例を示す図。 代換素子の一例を示す方法。 代換素子によるデータのランダムさを説明する図。 入力コードを入力する方法の一例を示す図。 入力コード、出力コード、乱数の関係の一例を示す図。 チップ認証装置の利用法の一例を示すための基本構成の一例を示した概念図。 スクランブル装置とチップ認証装置の両方を有する素子配列の一例を示す図。 チップ認証装置を含む半導体チップの一例を示す図。 スクランブル装置およびチップ認証装置を含む半導体チップの一例を示す図。 イーサネット形式の通信方法の典型的一例を示す図。 MACアドレスの形式の一例を示す図。 本願のチップ認証(P-CID)を用いた通信方法の一例を示す図。 本願のチップ認証(P-CID)を用いた物理アドレス形式の一例を示す図。 本願のチップ認証(P-CID)を用いた物理アドレス形式の一例を示す図。 本願のチップ認証(P-CID)を用いた物理アドレス形式の一例を示す図。 本願のチップ認証(P-CID)を用いた通信方法の一例を示す図。 本願のチップ認証(P-CID)を用いた通信方法の一例を示す図。 本願のチップ認証(P-CID)を用いた通信方法の一例を示す図。 チップ認証抽出装置とチップ認証装置に関して、入力認証コードから出力認証コードを生成する方法の一例を示す図。 チップ認証抽出装置とチップ認証装置に関して、入力認証コードから出力認証コードを生成する方法の一例を示す図。 チップ認証抽出装置とチップ認証装置に関して、入力認証コードから出力認証コードを生成する方法の一例を示す図。 本願に関る認証素子がトランジスタおよび可変抵抗からなる可変抵抗メモリ素子である例を説明する図。 本願に関る認証素子がトランジスタおよび磁気抵抗からなる磁気抵抗メモリ素子である例を説明する図。 本願に関る認証素子が電荷蓄積層付きトランジスタからなる不揮発性メモリ素子である例を説明する図。 本願に関る認証素子が電荷蓄積層付きトランジスタからなる不揮発性メモリ素子であり、NAND型に配列している例を説明する図。 本願に関る認証素子がトランジスタおよび強誘電体キャパシタからなる強誘電体メモリ素子である例を説明する図。 認証素子の一例(電荷蓄積層付き不揮発性メモリセル)を示す図。 認証素子の一例(電荷蓄積層付き不揮発性メモリセル)を示す図。 本願に関る認証素子が可変抵抗からなる可変抵抗メモリ素子である例を説明する図。 認証素子の一例(可変抵抗)を示す図。 認証素子の一例(可変抵抗)を示す図。 本願の物理チップ認証(P-CID)を相互認証に応用する方法を示す図。 本願の物理ネットワークの一例を示す図。 本願の物理ネットワークを実現する方法の一例を示す図。 本願の物理ネットワークを実現する方法の一例を示す図。 本願の物理ネットワークを実現する方法の一例を示す図。 本願の物理ネットワークを実現する方法の一例を示す図。 本願の物理ネットワークを実現する方法の一例を示す図。 本願の物理ネットワークを実現する方法の一例を示す図。 本願の物理ネットワークを実現する方法の一例を示す図。 本願のセキュリティノードの働きの一例を示す図。 本願のセキュリティノードの活用方法の一例を示す図。 本願のセキュリティノードの働きの一例を示す図。 本願の検査方法の一例を示す図。 本願の物理ネットワーク構成の一例を示す図。 本願のチップ認証装置の実現方法の一例を示す図。 本願のチップ認証装置の実現方法の一例を示す図。 本願のチップ認証装置の実現方法の一例を示す図。 本願のチップ認証装置の実現方法の一例を示す図。 本願のチップ認証装置の実現方法の一例を示す図。 本願のチップ認証装置の実現方法の一例を示す図。 本願のチップ認証装置の実現方法の一例を示す図。 本願のチップ認証装置の実現方法の一例を示す図。 本願のチップ認証装置の実現方法の一例を示す図。 本願のチップ認証装置の実現方法の一例を示す図。 本願のなりすまし防止方法の実現方法の一例を示す図。 本願の署名ノードの使用方法の一例を示す図。
1、10 チップ
2 ファームウェア
3 認証制御デバイス
4 認証コード(ID)
50 外部入出力(I/O)
11 第一の認証
12 第二の認証
13 第三の認証
21 第一のチップ認証装置
22 第二のチップ認証装置
31 入力信号誤差
32 出力信号誤差
42、102、402 入力コード
43、202、403 登録コード
60、600 チップ認証装置
80 交信シリーズ
92 第二のノードの正規使用者
110 第一のチップ
120 第二のチップ
130 第Nのチップ
140 情報機器
302、401 内部メモリ
400 基幹ノード
410 第一の周辺ノード
420 第二の周辺ノード
430 第三の周辺ノード
503 ワード線
601、605 乱数発生装置
602、606 コード発生装置
604 スクランブル装置
611 チップ認証装置セルアレイ
614 スクランブル装置セルアレイ
742 ショート判定電圧
743 非ショート判定電流値
744 ショート判定電流値
790 ページバッファ
791 ビット線接続ゲート
800、810 入出力制御装置
880 認証装置用制御装置
890 スクランブル装置
900 中間コード用バッファー
910 絶縁膜
930 導電体
932 破壊判定電圧
933 破壊判定電流値
934 非破壊判定電流値
955 ゲート電極
960 認証用素子アレイ
972 行デコーダー
973 列デコーダー
977 認証素子
979 代換素子
980 磁気抵抗
981 可変抵抗
982 キャパシタ
983 トランジスタ
984 選択トランジスタ
985 抵抗
986 PN接合
987 ショットキー接合
988 電荷蓄積層付き不揮発性メモリ素子
989 可変抵抗メモリ素子
990 磁気抵抗メモリ素子
991 強誘電体キャパシタ
996 第一の制御ゲート
997 第二の制御ゲート
1000 信号伝達路
1001 第一の信号伝達路
1002 第二の信号伝達路
1003 第三の信号伝達路
1004 第四の信号伝達路
1005 第五の信号伝達路
1050 絶縁膜
1051 導電体先端部
1052 第二導電体
1053 第一導電体
1054 第二電極
1055 第一電極
2001 第一のノード
2002 第二のノード
2003 第三のノード
2004 第四のノード
2005 第五のノード
2006 第六のノード
3000 イーサネットカード
3010 不揮発性メモリチップ
3020 メディア・アクセス・コントローラー(MAC)用演算処理チップ
3030、3060 P-CID制御装置
3040 チップ認証装置
3050 P-CID/MAC変換装置
3070 物理チップ認証(P-CID)
3071 ベンダーコード
3072 シリアル番号
3073 P-CIDアドレス
3074 指示ビット
1400 第一の基幹ノード
1410 第一の共通パスコード
2400 第二の基幹ノード
2410 第二の共通パスコード
3400 第三の基幹ノード
3410 第三の共通パスコード
4101 第一の認証
4201 第二の認証
4301 第三の認証
7910 ビット線接続トランジスタ
9330、9331 破壊判定電圧値
9340、9341 非破壊判定電圧値
9811 ドレイン選択トランジスタ(SGD)

 
 

Claims (28)

  1. 少なくとも、第一、第二、および第三の物理ノードを構成要素とし、
     
    前記第一の物理ノードは、第一の半導体チップ、第一のチップ認証装置、第一のチップ認証抽出装置、及び、第一の内部メモリを、含む、第一の電子装置であり、
     
    前記第一の半導体チップは、第一のセルアレイを含み、
    前記第一のセルアレイは、所定の方法で、第一の固有乱数を生成し、
     
    前記第一の内部メモリは、第一の辞書を保存し、
    前記第一のチップ認証装置は、第一のハッシュモジュール、および、前記第一のセルアレイを、含み、
     
    前記第二の物理ノードは、第二の半導体チップ、第二のチップ認証装置、第二のチップ認証抽出装置、及び、第二の内部メモリを、含む、第二の電子装置であり、
     
    前記第二の半導体チップは、第二のセルアレイを含み、
    前記第二のセルアレイは、所定の方法で、第二の固有乱数を生成し、
     
    前記第二の内部メモリは、第二の辞書を保存し、
    前記第二のチップ認証装置は、第二のハッシュモジュール、および、前記第二のセルアレイを、含み、
     
    前記第三の物理ノードは、第三の半導体チップ、第三のチップ認証装置、第三のチップ認証抽出装置、及び、第三の内部メモリを、含む、第三の電子装置であり、
     
    前記第三の半導体チップは、第三のセルアレイを含み、
    前記第三のセルアレイは、所定の方法で、第三の固有乱数を生成し、
     
    前記第三の内部メモリは、第三の辞書を保存し、
    前記第三のチップ認証装置は、第三のハッシュモジュール、および、前記第三のセルアレイを、含み、
     
    前記第三の物理ノードは、第一のセキュリティパラメータを、前記第一のハッシュモジュールに送付し、
    前記第一のハッシュモジュールは、前記第一の固有乱数と前記第一のセキュリティパラメータから、第一のセキュリティ状態を生成し、
     
    前記第二の物理ノードは、前記第一の物理ノードに第二の入力信号を送信し、前記第一の物理ノードは、前記第一のチップ認証装置に前記第二の入力信号を入力し、
    前記第一のチップ認証装置は、前記第二の入力信号および前記第一のセキュリティ状態から、第一の出力信号を生成し、
    前記第一の物理ノードは、前記第一の出力信号を、前記第二の物理ノードに返信し、
     
    前記第二の物理ノードは、前記第一の出力信号を、前記第二のチップ認証抽出装置に入力し、
    前記第二のチップ認証抽出装置は、前記第二の入力信号と、前記第一の出力信号から、入力信号と出力信号の組み合わせ、第一の入出力セットを定義し、
    前記第二の物理ノードは、前記第一の入出力セットを、前記第二の辞書に記録する、
     
    ことを特徴とする、
    電子装置のネットワーク。
     
  2. 前記第二の物理ノードは、第四の物理ノードに前記第二の入力信号を送信し、
     
    前記第四の物理ノードは、第四の半導体チップ、第四のチップ認証装置、第四のチップ認証抽出装置、及び、第四の内部メモリを、含む、第四の電子装置であり、
     
    前記第四の半導体チップは、第四のセルアレイを含み、
    前記第四のセルアレイは、所定の方法で、第四の固有乱数を生成し、
     
    前記第四の内部メモリは、第四の辞書を保存し、
    前記第四のチップ認証装置は、第四のハッシュモジュール、および、前記第四のセルアレイを、含み、
     
    前記第二の物理ノードは、前記第三の物理ノードに、前記第一のセキュリティパラメータを発行してそれを前記第四の物理ノードに送付するよう、要請し、
     
    前記第三の物理ノードは、この要請に従い、前記第一のセキュリティパラメータ値を発行し、それを前記第四のハッシュモジュールに送付し、
    前記第四のハッシュモジュールは、前記第四の固有乱数と前記第一のセキュリティパラメータから、第四のセキュリティ状態を生成し、
     
    前記第二の物理ノードは、前記第四の物理ノードに前記第二の入力信号を送信し、前記第四の物理ノードは、前記第四のチップ認証装置に前記第二の入力信号を入力し、
    前記第四のチップ認証装置は、前記第二の入力信号および前記第四のセキュリティ状態から、第四の出力信号を生成し、
    前記第四の物理ノードは、前記第四の出力信号を、前記第二の物理ノードに返信し、
     
    前記第二の物理ノードは、前記第四の出力信号を、前記第二のチップ認証抽出装置に入力し、
    前記第二のチップ認証抽出装置は、前記第二の入力信号と、前記第四の出力信号から、入力信号と出力信号の組み合わせ、第四の入出力セットを定義し、
    前記第二の物理ノードは、前記第四の入出力セットを、前記第二の辞書に記録されている、前記第一の入出力セットと比較し、
     
    一致している場合、前記第四の物理ノードを、前記第一の物理ノードと認証する、
     
    ことを特徴とする、請求項1記載の電子装置のネットワーク。
     
  3. 第五の物理ノードおよび第六の物理ノードを、構成要素とし、
     
    前記第一の物理ノードは、第一の鍵生成装置を、さらに、含み、
     
    前記第五の物理ノードは、第五の半導体チップ、第五のチップ認証装置、第五のチップ認証抽出装置、及び、第五の内部メモリを、含む、第五の電子装置であり、
     
    前記第五の半導体チップは、第五のセルアレイを含み、
    前記第五のセルアレイは、所定の方法で、第五の固有乱数を生成し、
     
    前記第五の内部メモリは、第五の辞書を保存し、
    前記第五のチップ認証装置は、第五のハッシュモジュール、および、前記第五のセルアレイを、含み、
     
    前記第五のチップ認証抽出装置は、第51の入力信号を、前記第一の物理ノードに送付し、
    前記第一の物理ノードは、前記第51の入力信号および前記第一のセキュリティ状態から、第51の出力信号を生成し、
     
    前記第一の物理ノードは、前記第51の出力信号を、前記第一の鍵生成装置に入力し、
    前記第一の鍵生成装置は、第一の秘密鍵および第一の公開鍵を生成し、
    前記第一のハッシュモジュールは、前記第一の公開鍵及び前記第一の辞書を、まとめてハッシュ化し、第一のハッシュ値を生成し、
     
    前記第六の物理ノードは、第六の半導体チップ、第六のチップ認証装置、第六のチップ認証抽出装置、第六の内部メモリ、及び、第六の鍵生成装置を、含む、第六の電子装置であり、
     
    前記第六の半導体チップは、第六のセルアレイを含み、
    前記第六のセルアレイは、所定の方法で、第六の固有乱数を生成し、
     
    前記第六の内部メモリは、第六の辞書を保存し、
    前記第六のチップ認証装置は、第六のハッシュモジュール、および、前記第六のセルアレイを、含み、
     
    前記第三のチップ認証抽出装置は、第六のセキュリティパラメータを、前記第六のハッシュモジュールに送付し、
    前記第六のハッシュモジュールは、前記第六の固有乱数と前記第六のセキュリティパラメータから、第六のセキュリティ状態を生成し、
     
    前記第五のチップ認証抽出装置は、第56の入力信号を、前記第六の物理ノードに送付し、
    前記第六の物理ノードは、前記第56の入力信号および前記第六のセキュリティ状態から、第六の出力信号を生成し、
    前記第六の物理ノードは、前記第六の出力信号を、前記第六の鍵生成装置に入力し、
    前記第六の鍵生成装置は、第六の秘密鍵および第六の公開鍵を生成し、
     
    前記第一の物理ノードは、前記第一の秘密鍵を用いて、前記第一のハッシュ値と、前記第六の公開鍵とを、まとめて、暗号化し、第一の電子署名とし、
     
    前記第一の物理ノードは、前記第一のハッシュ値と、前記第一の電子署名を、前記第六の物理ノードに送付する、
     
    ことを特徴とする、請求項1記載の電子装置のネットワーク。
     
  4. 第七の物理ノード、及び、第八の物理ノードを、構成要素とし、
     
    前記第七の物理ノードは、第七の半導体チップ、第七のチップ認証装置、第七のチップ認証抽出装置、及び、第七の内部メモリを、含む、第七の電子装置であり、
     
    前記第七の半導体チップは、第七のセルアレイを含み、
    前記第七のセルアレイは、所定の方法で、第七の固有乱数を生成し、
     
    前記第七の内部メモリは、第七の辞書を保存し、
    前記第七のチップ認証装置は、第七のハッシュモジュール、および、前記第七のセルアレイを、含み、
     
    前記第七の辞書は、複数の入出力セットの集合からなる第七の管理領域を登録し、
    対応する入出力セットが前記第七の管理領域に属する物理ノードは、前記第七の物理ノードの管理下にあり、
     
    前記第八の物理ノードは、第八の半導体チップ、第七のチップ認証装置、第八のチップ認証抽出装置、及び、第八の内部メモリを、含む、第八の電子装置であり、
     
    前記第八の半導体チップは、第八のセルアレイを含み、
    前記第八のセルアレイは、所定の方法で、第八の固有乱数を生成し、
     
    前記第八の内部メモリは、第八の辞書を保存し、
    前記第八のチップ認証装置は、第八のハッシュモジュール、および、前記第八のセルアレイを、含み、
     
    前記第八の辞書は、複数の入出力セットの集合からなる第八の管理領域を登録し、
    対応する入出力セットが前記第八の管理領域に属する物理ノードは、前記第八の物理ノードの管理下にあり、
     
    前記第七の物理ノード、あるいは、前記第八の物理ノードの、どちらかの管理下にある任意の物理ノードは、前記第七および第八の物理ノードが共同で管理する共同管理領域に属し、
     
    前記第七及び第八の物理ノードは、前記第七の辞書あるいは前記第八の辞書に登録されていない任意の物理ノードを、前記共同管理領域から排除し、
    前記共同管理領域を、一つの閉じた物理ネットワークとして、共同で管理する、
     
    ことを特徴とする、
    請求項1記載の電子装置のネットワーク。
     
  5. 前記第七の物理ノードは、検策ノードとして、前記第二の物理ノードの役割を担い、
    前記第八の物理ノードは、セキュリティノードとして、前記第三の物理ノードの役割を担う、
    ことを特徴とする、
    請求項4記載の電子装置のネットワーク。
     
  6. 前記第一のセルアレイは、複数の認証素子からなる認証素子アレイの一種であり、
    複数のビット線と複数のワード線を含み、
    前記複数のビット線と複数のワード線の交点は、前記第一のセルアレイ上のアドレスを定義し、
    前記複数の認証素子は、前記アドレス上に配置し、
     
    前記複数の認証素子のいくつかは、ハード破壊した破壊認証素子であり、
    前記破壊認証素子は、前記アドレス上に確率的に分配し、物理的に乱雑な分布を形成し、
     
    前記第一のチップ認証装置は、前記物理的に乱雑な破壊認証素子の分布を、所定の方法でコード化し、前記第一の固有乱数を生成する、
    ことを特徴とする、請求項1記載の電子装置のネットワーク。
     
  7. 前記第一のセルアレイは、複数の小ブロックから構成され、
    前記複数の小ブロックは、第一の小ブロック群と、第二の小ブロック群に分割され、
    前記第一のセルアレイは、複数の素子から構成され、
    前記複数の素子は、前記複数の小ブロックに分配され、
    前記複数の素子のうち一つは、所定の検査に不合格となる、不良ビットであり、
    前記第一の小ブロック群に属する、小ブロックは、前記不良ビットを含む、不良小ブロックであり、
    前記不良小ブロックは、前記第一の小ブロック群の中に、複数存在し、
    前記第一の小ブロック群を構成する小ブロックの中から、前記複数の不良小ブロックを選択することによって、前記第一の固有乱数を生成する、
     
    ことを特徴とする、
    請求項1記載の電子装置のネットワーク。
     
  8. 前記第一のチップ認証装置および前記第二のチップ認証装置が互いに異なるチップ認証装置であり、
    前記第一のチップ認証装置および前記第二のチップ認証装置に、同一の電子信号を、入力信号として入力し、
    前記第一のチップ認証装置が、前記入力信号に対して、出力する電子信号と、
    前記第二のチップ認証装置が、前記入力信号に対して、出力する電子信号と、が異なることを特徴とする、
    請求項1記載の電子装置のネットワーク。
     
  9. 前記第二のチップ認証抽出装置は、前記第一のチップ認証装置に、前記第二の入力信号を入力し、
    前記第一のチップ認証装置は、前記第二の入力信号に応じて、前記第二のチップ認証抽出装置に前記第一の出力信号を返信し、
     
    前記第三のチップ認証抽出装置は、前記第一のチップ認証装置に、前記第三の入力信号を入力し、
    前記第一のチップ認証装置は、前記第三の入力信号に応じて、前記第三のチップ認証抽出装置に第31の出力信号を返信し、
    前記第二および第三の入力信号が異なる限り、
     
    前記第一および第31の出力信号が、互いに異なる、
     
    ことを特徴とする、請求項1記載の電子装置のネットワーク。
     
  10. 前記第二のチップ認証抽出装置は、前記第一のチップ認証装置に、複数の互いに異なる入力信号を入力し、
    前記複数の互いに異なる入力信号の集合を、第一の入力集合とし、
     
    前記第一のチップ認証装置は、前記第一の入力集合の前記複数の互いに異なる入力信号に応じて、前記第二のチップ認証抽出装置に、それぞれ互いに異なる出力信号を返信し、
    前記複数の互いに異なる出力信号の集合を、第一の出力集合とし、
     
    前記第一の入力集合に属さない複数の入力信号からなる第二の入力集合の要素数をNとし、
     
    前記第二の入力集合に属するテスト入力信号を、前記第一のチップ認証装置に入力する以前に、
    前記第一の入力集合および前記第一の出力集合の組み合わせから、前記テスト入力信号に応じて前記第一のチップ認証装置が出力するテスト出力信号を、予測できる確率が、1/(N+1)以下である、
     
    ことを特徴とする、請求項1記載の電子装置のネットワーク。
     
  11. 前記第二のチップ認証抽出装置は、前記第一のチップ認証装置に、異なる二つの入力信号を入力し、
    前記第一のチップ認証装置は、前記異なる二つの入力信号に応じて、前記第二のチップ認証抽出装置にそれぞれ二つの出力信号を返信し、
     
    前記異なる二つの入力信号の差の絶対値が、入出力制御回路に関わる制御不能のノイズなどにより混入する、入力信号誤差の絶対値より大きい場合、
    前記二つの出力信号の差の絶対値は、入出力制御回路に関わる制御不能のノイズなどにより混入する、出力信号誤差の絶対値より大きい、
     
    ことを特徴とする、請求項1記載の電子装置のネットワーク。
     
  12. 前記第二のチップ認証抽出装置は、前記第一のチップ認証装置に、物理乱数抽出特殊テストコードを入力し、
     
    前記物理乱数抽出特殊テストコードは、引数として、指定コードを含み、
    前記指定コードは、前記第一のセルアレイ上の抽出領域を指定することが可能であり、あるいは、前記第一の固有乱数を抽出する際の動作モードを指定することが可能であり、
     
    前記第一のチップ認証装置は、更に、抽出回路を、含み、
    前記抽出回路は、前記物理乱数抽出特殊テストコードを受け取り、前記物理乱数抽出特殊テストコードに従って、前記第一のセルアレイから、前記第一の固有乱数を読み出し、抽出結果として、前記第一のチップ認証装置の外部に出力し、
     
    前記第二のチップの認証抽出装置は、前記抽出結果を、出力認証コードとして受け取る、
     
    ことを特徴とする、請求項1記載の電子装置のネットワーク。
     
  13. 前記第一のチップ認証装置は、更に出力発生装置を含み、
    前記出力発生装置は、前記抽出結果から、前記出力認証コードを生成し、前記第一のチップ認証装置の外部に出力し、
    前記第二のチップの認証抽出装置は、その出力を、前記出力認証コードを受け取る、
     
    ことを特徴とする、請求項12記載の電子装置のネットワーク。
     
  14. 前記第二のチップの認証抽出装置は、前記出力発生回路に、入力認証コードを入力し、
     
    前記出力発生回路は、前記入力認証コードに従い、前記抽出結果から、前記出力認証コードを生成し、前記第一のチップ認証装置の外部に出力し、
     
    前記第二のチップの認証抽出装置は、その出力を、前記出力認証コードを受け取る、
     
    ことを特徴とする、請求項12記載の電子装置のネットワーク。
     
  15. 前記第二の入力信号が、ネットワークにつながる前記第一の物理ノード上で動作する何らかのアプリを起動するための、
     
    パスコード、PINコード、バーコード、2次元コードなどのデジタルコード情報、指紋情報、静脈情報、網膜情報、DNA情報、その他前記アプリの正規ユーザーを特定する何らかの生体情報、正規ユーザーの音声や画像などから抽出した個人を特徴できる音声・画像情報、正規ユーザーの身体的特徴などから抽出した個人を特徴できる身体情報、その他正規ユーザーを特徴できる個人情報など、
     
    から生成できることを特徴とする、
    請求項1記載の電子装置のネットワーク。
     
     
  16. 前記第二の入力信号が、ネットワークにつながる前記第一の物理ノード上で動作する何らかのアプリが必要に応じてユーザーに要求する、
     
    パスコード、PINコード、バーコード、2次元コードなどのデジタルコード情報、指紋情報、静脈情報、網膜情報、DNA情報、その他前記アプリの正規ユーザーを特定する何らかの生体情報、正規ユーザーの音声や画像などから抽出した個人を特徴できる音声・画像情報、正規ユーザーの身体的特徴などから抽出した個人を特徴できる身体情報、その他正規ユーザーを特徴できる個人情報など、
     
    から生成できることを特徴とする、
    請求項1記載の電子装置のネットワーク。
     
  17. 前記すくなくとも第一および第二の入力信号のどちらか一方は、ネットワークにつながる前記第六の物理ノード上で動作する何らかのアプリがインストールされている情報端末を起動するための、
     
    パスコード、PINコード、バーコード、2次元コードなどのデジタルコード情報、指紋情報、静脈情報、網膜情報、DNA情報、その他前記アプリの正規ユーザーを特定する何らかの生体情報、正規ユーザーの音声や画像などから抽出した個人を特徴できる音声・画像情報、正規ユーザーの身体的特徴などから抽出した個人を特徴できる身体情報、その他正規ユーザーを特徴できる個人情報など、
     
    から生成できることを特徴とする、
    請求項3記載の電子装置のネットワーク。
     
  18. 前記複数の認証素子は、
     
    PN接合、ショットキー接合、トランジスタ、キャパシタ、可変抵抗、DRAMセル、ReRAMセル、PCRAMセル、MRAMセル、STT-MRAMセル、あるいは、電荷蓄積層付き不揮発性メモリセルである、
     
    ことを特徴とする、
    請求項6記載の電子装置のネットワーク。
     
  19. 前記第一の半導体チップは、前記第一の電子装置の動作を制御する、オペレーティングシステムが稼働するために必要な情報をロードしておく主記憶装置であり、
     
    前記主記憶装置は、メモリチップから構成され、
    前記第一のセルアレイは、前記メモリチップのメモリセルアレイであり、
    前記オペレーティングシステムは、前記第一のチップ認証装置を制御し、
    前記第一のチップ認証装置は、前記第二の入力信号を受信し、前記第一の出力信号を、前記第二の物理ノードに返信し、
     
    前記オペレーティングシステムは、前記第一のチップ認証抽出装置を制御し、
     
    前記第一のチップ認証抽出装置は、前記第一の入力信号を前記第二の物理ノードに送信し、
    前記第二の物理ノードは、前記第一の入力信号を、前記第二のチップ認証装置に入力し、
    前記第二のチップ認証装置は、前記第二の出力信号を生成し、それを前記第一のチップ認証抽出装置に返信し、
     
    前記第一の物理ノードは、前記第一の入力信号と、前記第二の出力信号とを、前記前記第一の辞書と比較する、
     
    ことを特徴とする、
    請求項1記載の電子装置のネットワーク。
     
  20. 前記第一の半導体チップは、前記第一の電子装置を制御する、オペレーティングシステムの動作を司る演算処理チップであり、
     
    前記第一のセルアレイは、前記演算処理チップに混載され、
     
    前記オペレーティングシステムは、前記第一のチップ認証装置を制御し、
    前記第一のチップ認証装置は、前記第二の入力信号を受信し、前記第一の出力信号を、前記第二の物理ノードに返信し、
     
    前記オペレーティングシステムは、前記第一のチップ認証抽出装置を制御し、
     
    前記第一のチップ認証抽出装置は、前記第一の入力信号を前記第二の物理ノードに送信し、
    前記第二の物理ノードは、前記第一の入力信号を、前記第二のチップ認証装置に入力し、
    前記第二のチップ認証装置は、前記第二の出力信号を生成し、それを前記第一のチップ認証抽出装置に返信し、
     
    前記第一の物理ノードは、前記第一の入力信号と、前記第二の出力信号とを、前記前記第一の辞書と比較する、
     
    ことを特徴とする、
    請求項1記載の電子装置のネットワーク。
     
  21. 前記第一のセルアレイは、複数の認証素子からなる認証素子アレイの一種であり、
    複数のビット線と複数のワード線を含み、
    前記複数のビット線と複数のワード線の交点は、前記第一のセルアレイ上のアドレスを定義し、
    前記複数の認証素子は、前記アドレス上に配置し、
     
    前記複数の認証素子のいくつかは、所定の方法で破壊した破壊認証素子であり、
    前記破壊認証素子は、前記アドレス上に、物理的に乱雑な分布に基づいて分配し、
     
    前記第一のチップ認証装置は、前記物理的に乱雑な破壊認証素子の分布を、所定の方法でコード化し、前記第一の固有乱数を生成する、
    ことを特徴とする、請求項1記載の電子装置のネットワーク。
     
  22. 前記複数の認証素子は、
     
    抵抗、抵抗配線、PN接合、ショットキー接合、トランジスタ、キャパシタ、可変抵抗、DRAMセル、ReRAMセル、PCRAMセル、MRAMセル、STT-MRAMセル、あるいは、電荷蓄積層付き不揮発性メモリセル、などの電子素子である、
     
    ことを特徴とする、
    請求項21記載の電子装置のネットワーク。
     
  23. 前記物理的に乱雑な分布は、
     
    電気的ストレスあるいは力学的ストレスを印加した、前記複数の認証素子が確率的に破壊されることによって生成される、
     
    ことを特徴とする、
    請求項21記載の電子装置のネットワーク。
     
     
  24. 前記物理的に乱雑な分布は、
     
    別途乱数生成装置が生成する乱数コードに応じて割り当てられたアドレス上の
    認証素子を、選択的に破壊することによって生成される、
     
    ことを特徴とする、
    請求項21記載の電子装置のネットワーク。
     
  25. 前記物理的に乱雑な分布は、
     
    前記第一の半導体チップを製造する際に発生する認証素子の製造上のばらつきに応じて生成される、
     
    ことを特徴とする、
    請求項21記載の電子装置のネットワーク。
     
  26. 前記物理的に乱雑な分布は、
     
    前記第一の半導体チップの出荷前テストの際に発覚する、認証素子の不良ビットの分布に基づいて生成される、
     
    ことを特徴とする、
    請求項21記載の電子装置のネットワーク。
     
  27. 前記第二の物理ノードが、検査対象を選択するステップ1と、
    前記第三の物理ノードが、前記第一のセキュリティパラメータを前記第一のハッシュモジュールに送付するステップ2と、
    前記第二の物理ノードが、前記第二の入力信号を前記検査対象に入力して第一のレスポンスを得るステップ3と、
    前記第三の物理ノードが、第二のセキュリティパラメータを前記第一のハッシュモジュールに送付するステップ4と、
    前記第二の物理ノードが、前記第二の入力信号を前記検査対象に入力して第二のレスポンスを得るステップ5と、
    前記第一のレスポンスと前記第二のレスポンスが一致するかどうか評価するステップ6と、
    前記ステップ6で一致すれば、前記検査対象を不正ノードとみなし、前記電子装置のネットワークから追放するステップ7と、
    前記ステップ6で不一致であれば、検査対象を変更するか、または、検査を終了するステップ8と、を含む、
     
    物理ノードの検査方法が実行可能であり、
     
    前記検査対象は、前記第一の物理ノードであり、
    前記第三の物理ノードは、前記第一および第二のセキュリティパラメータを前記第一のハッシュモジュールに送付する、
     
    ことを特徴とする、
     
    請求項1記載の電子装置のネットワーク。
     
  28. 前記第二の入力信号と前記第51の入力信号が、互いに異なることを特徴とする、
     
    請求項3記載の電子装置のネットワーク。

     
     
     
PCT/JP2021/019838 2020-05-26 2021-05-25 電子装置のネットワーク及び電子装置 WO2021241590A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US17/927,386 US20230198961A1 (en) 2020-05-26 2021-05-25 Electronic apparatus and network of electronic apparatus

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2020091795 2020-05-26
JP2020-091795 2020-05-26
JP2020142812A JP2021190980A (ja) 2020-05-26 2020-08-26 電子装置のネットワーク及び電子装置
JP2020-142812 2020-08-26

Publications (1)

Publication Number Publication Date
WO2021241590A1 true WO2021241590A1 (ja) 2021-12-02

Family

ID=78744054

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/019838 WO2021241590A1 (ja) 2020-05-26 2021-05-25 電子装置のネットワーク及び電子装置

Country Status (2)

Country Link
US (1) US20230198961A1 (ja)
WO (1) WO2021241590A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117764020A (zh) * 2024-02-22 2024-03-26 沐曦集成电路(上海)有限公司 芯片设计调整方法、电子设备和介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017028354A (ja) * 2015-07-16 2017-02-02 渡辺 浩志 電子装置ネットワーク及びチップ認証方式
WO2018147456A1 (ja) * 2017-02-13 2018-08-16 ゼンテルジャパン株式会社 認証ネットワーク
WO2018168723A1 (ja) * 2017-03-17 2018-09-20 渡辺浩志 ネットワーク上の装置認証技術
WO2018174112A1 (ja) * 2017-03-21 2018-09-27 渡辺浩志 ネットワーク上の装置認証技術

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017028354A (ja) * 2015-07-16 2017-02-02 渡辺 浩志 電子装置ネットワーク及びチップ認証方式
WO2018147456A1 (ja) * 2017-02-13 2018-08-16 ゼンテルジャパン株式会社 認証ネットワーク
WO2018168723A1 (ja) * 2017-03-17 2018-09-20 渡辺浩志 ネットワーク上の装置認証技術
WO2018174112A1 (ja) * 2017-03-21 2018-09-27 渡辺浩志 ネットワーク上の装置認証技術

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117764020A (zh) * 2024-02-22 2024-03-26 沐曦集成电路(上海)有限公司 芯片设计调整方法、电子设备和介质
CN117764020B (zh) * 2024-02-22 2024-04-26 沐曦集成电路(上海)有限公司 芯片设计调整方法、电子设备和介质

Also Published As

Publication number Publication date
US20230198961A1 (en) 2023-06-22

Similar Documents

Publication Publication Date Title
JP6592621B2 (ja) 認証ネットワーク
JP6393375B2 (ja) 電子装置のネットワーク、電子装置及びその検査工程
TWI590091B (zh) 電子裝置的網路單元、電子裝置的網路系統、檢查方法及晶片認證裝置的利用方法
US10785022B2 (en) Network without abuse of a private key
CN108632028B (zh) 认证网络
TWI479870B (zh) 基於puf透過機器對機器溝通在裝置之間認證的設備與方法
TWI592827B (zh) 電子裝置、電子裝置的網路單元、電子裝置的網路及晶片認證方法
WO2022065016A1 (ja) 自動認証icチップ
WO2021241590A1 (ja) 電子装置のネットワーク及び電子装置
JP2021190989A (ja) 電子装置のネットワーク及び電子装置
CN106027237A (zh) 一种rfid系统中基于组的密钥矩阵安全认证方法
JP2022121246A (ja) 自動認証icチップ
JP2022051661A (ja) 自動認証icチップ
EP3070875B1 (en) Method of physical chip identification for networks of electronic appliance
Gao et al. Digital Communications and Networks
Maes et al. Process variations for security: Pufs

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21812088

Country of ref document: EP

Kind code of ref document: A1