JP2018011298A - 電子装置のネットワーク、電子装置及びその検査工程 - Google Patents

電子装置のネットワーク、電子装置及びその検査工程 Download PDF

Info

Publication number
JP2018011298A
JP2018011298A JP2017134160A JP2017134160A JP2018011298A JP 2018011298 A JP2018011298 A JP 2018011298A JP 2017134160 A JP2017134160 A JP 2017134160A JP 2017134160 A JP2017134160 A JP 2017134160A JP 2018011298 A JP2018011298 A JP 2018011298A
Authority
JP
Japan
Prior art keywords
authentication
node
chip
network
code
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2017134160A
Other languages
English (en)
Other versions
JP6393375B2 (ja
Inventor
渡辺 浩志
Hiroshi Watanabe
浩志 渡辺
徳彰 曾
Te-Chang Tseng
徳彰 曾
享浩 永井
Takahiro Nagai
享浩 永井
白田 理一郎
Riichiro Shirata
理一郎 白田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Publication of JP2018011298A publication Critical patent/JP2018011298A/ja
Application granted granted Critical
Publication of JP6393375B2 publication Critical patent/JP6393375B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • H04L9/3278Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response using physically unclonable functions [PUF]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/73Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by creating or determining hardware identification, e.g. serial numbers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/86Secure or tamper-resistant housings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/588Random number generators, i.e. based on natural stochastic processes
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/02Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
    • G11C11/16Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
    • G11C11/165Auxiliary circuits
    • G11C11/1695Protection circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/22Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using ferroelectric elements
    • G11C11/225Auxiliary circuits
    • G11C11/2295Protection circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0059Security or protection circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/20Initialising; Data preset; Chip identification
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/22Safety or protection circuits preventing unauthorised or accidental access to memory cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/24Memory cell safety or protection circuits, e.g. arrangements for preventing inadvertent reading or writing; Status cells; Test cells
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L23/00Details of semiconductor or other solid state devices
    • H01L23/52Arrangements for conducting electric current within the device in operation from one component to another, i.e. interconnections, e.g. wires, lead frames
    • H01L23/535Arrangements for conducting electric current within the device in operation from one component to another, i.e. interconnections, e.g. wires, lead frames including internal interconnections, e.g. cross-under constructions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • 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
    • 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
    • HELECTRICITY
    • H10SEMICONDUCTOR DEVICES; ELECTRIC SOLID-STATE DEVICES NOT OTHERWISE PROVIDED FOR
    • H10BELECTRONIC MEMORY DEVICES
    • H10B12/00Dynamic random access memory [DRAM] devices
    • H10B12/30DRAM devices comprising one-transistor - one-capacitor [1T-1C] memory cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C2029/4402Internal storage of test result, quality data, chip identification, repair information
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2213/00Indexing scheme relating to G11C13/00 for features not covered by this group
    • G11C2213/70Resistive array aspects
    • G11C2213/79Array wherein the access device being a transistor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless
    • H04L2209/805Lightweight hardware, e.g. radio-frequency identification [RFID] or sensor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Power Engineering (AREA)
  • Mathematical Physics (AREA)
  • Small-Scale Networks (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】半導体チップ製造と共に一括して生産される認証素子の集団の物理的乱雑さを利用し、物理的に複製不可能なチップ認証を、物理的実態を持つネットワークノードの物理アドレスとして一意に提供する。【解決手段】ネットワークを構成する電子装置を、周辺ノードと、周辺ノードの登録情報を管理する基幹ノードの2種類に分け、基幹ノードは中央管理するものとし、周辺ノードには物理的に複製不可能なチップ認証装置を搭載し、周辺ノードの物理アドレスをチップレベルで管理することによって、ネットワーク全体の管理とセキュリティを効率的に向上させることを特徴としている。【選択図】図88

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アドレスと、送信先である第二のノードの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)によって標準化され、長さ48ビット(6バイト)、したがって情報量およそ280兆もの0と1の数列からなる。このうち1ビットはU/Lビットと呼ばれるものに割り当てられる。MACアドレスがグローバルアドレスの場合、U/Lビットは1である。そうでない場合0である。すなわち、グローバルアドレス(U/Lビット=1)の場合では、全世界で重複を起こさないよう、MACアドレスを割り当てられなければならない。ここで注意すべきことは、現在現役で使用されている情報機器だけでなく、すでに廃棄されたり紛失したり使用されなくなってしまった情報機器にまで渡って全世界で重複しないよう、MACアドレスを割り当てられなければならないことである。これは、MACアドレスが物理的実態を伴う個々の情報機器に割り当てられるからである。この48ビットの内、別の1ビットはI/Gビットと呼ばれるものに割り当てられる。I/Gビットが0の場合、ユニキャスト通信を意味し、1の場合はマルチキャスト通信を意味する。ユニキャスト通信とは、情報機器のネットワークの中において単一の送信先を指定してフレームを送信することである。これに対しマルチキャスト通信とは、情報機器のネットワークの中において、複数の送信先を指定してフレームを送信することである。こうして、48ビットの内U/LビットとI/Gビットの2ビットを除いた46ビットが実際に割り当てられるMACアドレスの自由度ということになる。数にしておよそ70兆ほどである。MACアドレスを表記するには、このU/LビットとI/Gビットを含む48ビットの数列を8ビットごとに区切ってそれぞれ16進数で表す。
図6に、イーサネット(登録商標)カードの典型例を図示する。イーサネット(登録商標)カード3000は、主に、MACアドレスを保存した不揮発性メモリチップ3010とメディア・アクセス・コントローラー(MAC)用演算処理チップ3020から構成される。イーサネット(登録商標)カードは、一般に、LANなどを介して情報機器を相互接続するために情報機器に搭載して用いる。そのため、本来はLANボード、あるいは、LANカードと呼ばれる。しかしながら、LANカードやLANボードの規格がほとんどの場合イーサネット(登録商標)規格に準拠しているので、イーサネット(登録商標)カードとLANカードはほぼ同義で呼ばれることが多い。図6は、プリンター、ルーター、あるいは、デスクトップパソコンなどに搭載して使用する場合をイメージした例である。イーサネット(登録商標)カードの背面にはイーサネット(登録商標)コネクタがあり、イーサネット(登録商標)カードを搭載した情報機器の背面にこのイーサネット(登録商標)コネクタがむき出しになる。このイーサネット(登録商標)コネクタにLANケーブルを差し込む。あるいは、アンテナを付けて無線LANに接続する。他の情報機器に搭載する場合も基本構成はこれとさして変わらない。
情報機器をブートする際、あるいは、有線無線に関わらず情報機器をネットワークに接続する際、情報機器のオペレーティングシステムがイーサネット(登録商標)カードに内蔵された不揮発性メモリ3010からMACアドレスを読み出す。情報機器の中央演算処理装置は、このMACアドレスをイーサネット(登録商標)カードに内蔵のメディア・アクセス・コントローラー(MAC)用演算処理チップ3020に書き込む。この情報機器(送信元)からネットワークに接続した別の情報機器(送信先)にデータを送信するとき、このメディア・アクセス・コントローラー(MAC)用演算処理チップ3020に書き込まれたMACアドレスが、送信元のMACアドレスとしてフレームに添付される。こうしてオペレーティングシステムが情報機器と関わりなく勝手にMACアドレスを設定するのではなく、物理的実態である情報機器(実際にはイーサネット(登録商標)カード)に依存したアドレスが割り当てられる。
このようにイーサネット(登録商標)カードとは、情報機器をネットワークに接続するために使用されるネットワークカードの一種である。すなわち、一つの情報機器は少なくとも一つのイーサネット(登録商標)カードを必要とし、各イーサネット(登録商標)カードにはそれぞれMACアドレスが割り当てられている。インターネットに接続する情報機器の数が全世界で増大するにつれ、過去に使用された情報機器も含めて割り当てられた(使用済み)MACアドレスの数も増大する。
そうした中、21世紀に入り情報通信産業は飛躍的な進歩を遂げ、近年は更なる巨大マーケットを創出しつつある。従来の情報端末のみならず、家電、家、車などすべてのモノがネットワークに接続するインターネット・オブ・シングス(Internet of Things, IoT)、あるいは、物のインターネットが出現すると期待されている。それは既存のどの市場にも属さず、社会基盤そのものを変革する可能性を秘めている。
このように超巨大な物のインターネットでは、ネットワークに接続する情報機器の数が数兆個から数十兆個にまで上ると考えられ、近い将来、トリリオンノードの時代が来ると期待されている。トリリオンノードの考え方では、ネットワークに接続したセンサーを全世界に数兆個以上張り巡らし、これまでになく詳細で大量のデータを収集し、高度な計算技術で解析することで多くの社会問題の解決に寄与できるとしている。この構想は2013年に開催されたTSensors Summitという学会からから世界に広まった(たとえば、http://www.tsensorssummit.org/ 参照)。
現在のイーサネット(登録商標)のシステムに何ら変更を加えず、そのまま物のインターネットに拡張するとどうなるだろうか?従来の情報機器のみならず、身の回りのすべての物にMACアドレスが割り振られることになる。そして、それが全世界に広がる。すなわち、グローバルモード(U/Lビット=1)で、数兆個ものMACアドレスを全世界同時に重複無しに割り当てなければならない。ただし、この数兆個という数は、現役でネットワークに接続する情報機器の数である。全世界で廃棄されたり、紛失したり、何らかの理由で使用されなくなった過去のすべての情報機器も含めると、物のインターネットが興隆するころまでに消費されるMACアドレスの数は、すぐに十兆かそれより大きくなるだろう。上述したように、MACアドレスの数の上限は、実質的におよそ70兆である。枯渇するのは時間の問題と考えられる。
枯渇の問題を避ける一つの方法は、MACアドレスを変更することである。たとえば、廃棄する際に消去し、あるいは5年以上ネットワークに接続されなかったMACアドレスは廃棄されたと見なし、他の情報機器に割り当てるなどの対処方法が可能である。実際に、MACアドレスは不揮発性メモリチップに保存されるのでその気になれば変更可能である。たとえば、ウィンドウズ(登録商標)VISTAなどのオペレーティングシステムでは、デバイスマネージャーを使ってMACアドレスを変更することが可能となっている。あるいは、MACアドレスを変更するためのツール(MACアドレスチェンジャー)も出回っている(たとえば、https://technitium.com/tmac/ 参照)。
しかしながら、グローバルモード(U/Lビット=1)でのこのような変更は、全世界でMACアドレスが重複しないよう慎重に行わなければならない。なぜなら、MACアドレスが重複するとネットワークの誤動作を引き起こし、あるいはセキュリティが脆弱になるなどの悪影響が懸念されているからである。
物のインターネットのノードは、末端のユーザーである個人がネット接続の手段として用いる情報端末だけでなく、トリリオンノードで用いられるセンサーも含まれる。世界人口を70億人とすると、ノード1兆個の場合単純計算で一人当たりおよそ150個のMACアドレスに囲まれていることになる。その内末端のユーザーである個人がネット接続の手段として用いる情報端末として認識するものは多くとも平均で10個未満であろう。残りの140個については自然放置に近い状態となる。もちろん、トリリオンノードの時代では、ノード数は1兆個より更に多くなると考えられる。先進国では、一人当たりのMACアドレスの数は150より更にずっと多くなるだろう。
これらのノードは個人情報のみならず、個人の周辺にある機器の動作を制御するシステムも含んでいる。訓練を受けた専門家が世界中に分布するすべてのノードを中央管理しようとしても数兆個ものノードを同時に管理するのは至難の業である。仮にできたとしても、誰が責任を持ってその管理システムを扱うべきなのかは難しい問題となる。一民間企業が勝手に行なうのは好ましくない。人間の能力を超える人工知能に任せることも現状では現実的でない。
すべてのノードを適切に管理することができないとしたら何が問題になるか?たとえば、悪意を持ったハッカーが、きめ細かく管理されていないノードを乗っ取り、他人に成りすまして悪用することが可能である。もしノードの成りすましが横行すれば大きな問題になる。高価な情報端末であれば、高度なセキュリティ技術によって守られるだろう。しかしながら、上述した簡単な推定でも明らかなように、こうした高度なセキュリティ技術が施される情報端末は、一人当たりせいぜい10個である。これに対し、可能な限り安価な普及型センサーには高度なセキュリティ技術は採用できない。ノード数が一兆個の場合そのようなセンサーは、上述のように一人当たりおよそ140個にもなるだろう。つまり、近い将来のネットワーク利用者は、10個の安全な情報端末を利用しつつ、140個もの素性の知れないセンサーに囲まれることになる。
平たく言えば、物のインターネットに接続されるセンサーそのものがハッキングデバイスである。善意では社会問題の解決のために用いられるが、その本質はハッキング技術による社会問題解決のための取り組みである。悪意のあるハッカーが攻撃のために利用する危険性と常に背中合わせである。
また、悪意のあるハッカーがいなかったとしても、MACアドレスの重複はネットワークの誤動作を引き起こす可能性がある。たとえば、二つの異なるセンサーが別々の情報を取得し、サーバーに情報を伝送する場合を考える。この二つの異なるセンサーがたまたま同じMACアドレスを持っていた場合、このサーバーは矛盾する二つの情報が一つのセンサーから送られて来たと誤認することになる。たとえば、第一のセンサーが検査した対象物の色は赤であり、第二のセンサーが検査した対象物の色は青だったとしよう。この第一のセンサーと第二のセンサーのMACアドレスが重複していた場合、このサーバーが受信する情報は、一つの検査対象物の色が青であると同時に赤であるということになる。これが、自動運転のためのシステムであったらどうなるだろう。とある交差点の信号は赤であり同時に青なのである。
このような問題を論理アドレスで補うことは不可能である。なぜなら、論理アドレスはどのような物理的実態とも連携していないからである。すなわち、物のインターネットが物理的実態を持ったノード同士のネットワークである限り、TCP/IP形式のネットワークの運用実績で培った手法だけでは適切に管理できないのである。こうして、物のインターネットの産業応用(例えばインダストリー4.0やインダストリアル・インターネット)を実現するための課題は、これまでの情報テクノロジーの延長とは明らかに異質であることが伺える(インダストリー4.0に関しては、http://business.nikkeibp.co.jp/article/world/20140717/268842/?rt=nocntを、インダストリアル・インターネットに関しては、http://www.ge.com/jp/industrial-internetを参照されたい。)。
たとえば、工場内には多数の製造装置が製造ライン上に並び、連携して製品を製造する。製品の良品率を上げるため、個々の製造装置の調整をするとともに、これらの製造装置同士の連携を最適化させる必要がある。このような効率を上げるため、すべての製造装置がコンピュータによって管理されるが、そのためにはすべての製造装置をネットワークに接続する必要がある。製造装置は小さいものから大きいものまであり、大きいものは部位ごとに細分化されそれぞれネットワークに接続される。工場が高度化し大規模化するに従い、ネットワークも大きくなる。従来型の情報技術では、作業を行うのはコンピュータープログラムであった。これに対し、物のインターネットでは、連携制御をコンピュータープログラムに任せているとはいえ、実際の作業を行うのは物理的実態を持った機械や装置である。
現在こうした物理的実態を持った情報端末にはMACアドレスが割り振られている。上述したような重複によって思わぬ誤動作を起こしたり、悪意のあるハッカーによるハッキングによって工場そのものが機能停止に追い込まれたりする危険性がある。主要産業の工場の全面的機能停止は、国家レベルの安全保障の問題である。被害額は、大規模な自然災害やミサイルなどによる直接攻撃の結果に匹敵するだろう。
一方、従来のインターネット上の情報通信におけるセキュリティとは、たとえば図5の信号伝達路1000を送受信するデータを暗号化して盗難から防ぐことや、アカウントとパスコードの組み合わせなどによって基幹ノードへの不正アクセスを防ぐことに主眼が置かれている。いずれにしろ暗号技術であり、図5の信号伝達路1000の両端がどのような物理的実態なのかを問題にすることは不可能である。これは、事実上、インターネットが論理ネットワークだからである。しかしながら、物のインターネットでは、データの送信元と送信先がそれぞれ物理的実態のある物として認識されなければならない。信号伝達路の両端に接続している物理的実態を含めた物理的認証が必要になる。
特許公開2009−519473号公報 特開2015−201884号公報 国際公開第WO2011118548号明細書 特開2013−131868号公報 特開2015−139010号公報
http://www.tsensorssummit.org/ https://technitium.com/tmac/ http://business.nikkeibp.co.jp/article/world/20140717/268842/?rt=nocnt。 http://www.ge.com/jp/industrial-internet 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.
このように、MACアドレスとは、平たく言えば、物理的実態を持つイーサネット(登録商標)カードの編集可能なデジタル認証である。そこで、これを物のインターネットのデジタル認証として活用する方法が考えられる。しかしながら、これまでに見てきたように、MACアドレスには枯渇の問題があり、編集可能であるということ自体が問題である。これは、図6に示すように、MACアドレスが元々不揮発性メモリに記録される48ビットのコードだからである。
本発明は上記事情を鑑みて成されたものであり、真に物理的実態に対して一意に割り当てられ、編集不可能で、物のインターネットの時代になっても認証数が枯渇する懸念のない物理アドレスを提供することを目的とする。
本発明は、上記課題を解決するため、以下の手段を採用する。
本発明による電子装置のネットワークは、複数の電子装置のネットワークユニットを含む。前記複数の電子装置のネットワークユニットは第一ネットワークユニット及び複数の第二ネットワークユニットを含み、前記第一ネットワークユニットはトポロジーにより少なくとも一つの第二ネットワークユニットに接続する。前記ネットワークユニットは、それぞれ、基幹サーバーと、該基幹サーバーに接続される複数の周辺装置を含む。前記第一ネットワークユニット内において、前記基幹サーバーは少なくとも一つのパスコードと、前記基幹サーバーと接続する個々の周辺装置に対応する複数の登録コードからなる登録コードのリストを保持し、前記登録コードは、前記パスコードに対応して前記個々の周辺装置に固有の物理的な乱雑さを利用して発生したものを事前登録によって前記基幹サーバーに保存したものである。前記第一ネットワークユニットにおいて、前記複数の周辺装置は少なくとも一つのチップを構成部品として含み、周辺装置ごとにそれぞれ異なるチップ認証装置を搭載する。前記チップ認証装置は、前記基幹サーバーから受信したパスコードに対応して、前記チップ認証装置おのおのに固有の物理的乱雑さに基づいて生成された、それぞれ異なる出力信号を前記基幹サーバーに送信し、前記基幹サーバーは、前記個々の出力信号を前記登録コードのリストの要素それぞれと個々に比較し、対応する個々の周辺装置の正当性を評価する。前記第一ネットワークユニットにおいて、前記複数のチップ認証装置はそれぞれ複数の認証素子から構成され、前記複数の認証素子はそれぞれ少なくとも同一のチップの製造工程によって一括して製造される半導体素子である。前記第一ネットワークユニットにおいて、前記チップは少なくとも一つのモジュール領域から構成され、前記認証素子は少なくとも一つのモジュール領域内に分布する。おのおのの認証素子のアドレスは、前記少なくとも一つのモジュール領域を構成する複数のワード線からなるワード線群、および、複数のビット線からなるビット線群によって定義される。前記第一ネットワークユニットにおいて、前記認証素子は所定の電気的入力に対して少なくとも第一の値と第二の値とを電気的に出力し、前記認証素子は少なくとも二つの端子を有し、所定の読み出し電圧の入力に対して前記二つの端子の間を流れる電流値が第一の閾電流より高いとき、第一の値を出力したとみなし、第二の閾電流より低いとき、第二の値を出力したとみなし、前記第一の閾電流は前記第二の閾電流より高く、前記電流値が第二の閾電流より高く、第一の閾電流より低い場合、第三の値を出力したとみなし、第三の値を出力する認証素子のアドレスを前記周辺装置が有する記憶領域の一部に記録する。前記第一ネットワークユニットにおいて、前記周辺装置を起動するオペレーティングシステムは、前記基幹サーバーから受信したパスコード、あるいは、前記オペレーティングシステムを起動するために用いるパスコードに対応して、前記チップ認証装置が出力する出力信号を前記周辺装置に固有の物理的にクローン不可能なチップ認証とする。前記第一ネットワークユニットにおいて、前記物理的にクローン不可能なチップ認証を所定のフォーマットに加えたものを前記周辺装置の固有の物理アドレスとする。
また、本発明の別の態様による電子装置のネットワークは、複数の電子装置のネットワークユニットを含む。前記複数の電子装置のネットワークユニットは第一ネットワークユニット及び複数の第二ネットワークユニットを含み、前記第一ネットワークユニットはトポロジーにより少なくとも一つの第二ネットワークユニットに接続する。前記ネットワークユニットは、それぞれ、基幹サーバーと、該基幹サーバーに接続される複数の周辺装置を含む。前記第一ネットワークユニット内において、前記基幹サーバーは少なくとも一つのパスコードと、前記基幹サーバーと接続する個々の周辺装置に対応する複数の登録コードからなる登録コードのリストを保持し、前記登録コードは、前記パスコードに対応して、前記個々の周辺装置に固有の物理的な乱雑さを利用して発生したものを事前登録によって前記基幹サーバーに保存したものである。前記第一ネットワークユニットにおいて、前記複数の周辺装置は少なくとも一つのチップを構成部品として含み、周辺装置ごとにそれぞれ異なるチップ認証装置を搭載する。前記チップ認証装置は、前記基幹サーバーから受信したパスコードに対応して前記チップ認証装置のおのおのに固有の物理的乱雑さに基づいて生成された、それぞれ異なる出力信号を前記基幹サーバーに送信し、前記基幹サーバーは、前記個々の出力信号を前記登録コードのリストの要素それぞれと個々に比較し、対応する個々の周辺装置の正当性を評価する。前記第一ネットワークユニットにおいて、前記複数のチップ認証装置はそれぞれ複数の認証素子から構成され、前記複数の認証素子はそれぞれ少なくとも同一のチップの製造工程によって一括して製造される半導体素子である。前記第一ネットワークユニットにおいて、前記チップは少なくとも一つのモジュール領域から構成され、前記認証素子は、少なくとも一つのモジュール領域内に分布し、
おのおの認証素子のアドレスは、前記少なくとも一つのモジュール領域を構成する複数のワード線からなるワード線群、および、複数のビット線からなるビット線群によって定義される。前記第一ネットワークユニットにおいて、前記認証素子は、所定の電気的入力に対して、少なくとも第一の値と第二の値とを電気的に出力し、前記認証素子は少なくとも二つの端子を有し、所定の読み出し電圧の入力に対して前記二つの端子の間を流れる電流値が第一の閾電流より高いとき、第一の値を出力したとみなし、第二の閾電流より低いとき、第二の値を出力したとみなし、前記第一の閾電流は前記第二の閾電流より高く、前記電流値が第二の閾電流より高く、第一の閾電流より低い場合、第三の値を出力したとみなし、第三の値を出力する認証素子のアドレスを前記周辺装置が有する記憶領域の一部に記録する。前記第一ネットワークユニットにおいて、前記認証素子のアドレスは前記ワード線群と前記ビット線群の一方に割り当てられる行番号と、他方に割り当てられる列番号とから定義される。同一の行番号に連なる認証素子の中に回復不能のエラーが発生した場合、その行番号を選択し、前記周辺装置の内部メモリに記録し、その記録内容から前記周辺装置に固有の物理的にクローン不可能なチップ認証を生成する。前記第一ネットワークユニットにおいて、前記物理的にクローン不可能なチップ認証を所定のフォーマットに加えたものを前記周辺装置の固有の物理アドレスとする。
さらに、本発明の別の態様による電子装置のネットワークは、複数の電子装置のネットワークユニットを含む。前記複数の電子装置のネットワークユニットは、第一ネットワークユニット及び複数の第二ネットワークユニットを含み、前記第一ネットワークユニットは、トポロジーにより少なくとも一つの第二ネットワークユニットに接続する。前記ネットワークユニットは、それぞれ、基幹サーバーと、該基幹サーバーに接続される複数の周辺装置を含む。前記第一ネットワークユニット内において、前記基幹サーバーは、少なくとも一つのパスコードと、前記基幹サーバーと接続する個々の周辺装置に対応する複数の登録コードからなる登録コードのリストを保持し、前記登録コードは、前記パスコードに対応して前記個々の周辺装置に固有の物理的な乱雑さを利用して発生したものを事前登録によって前記基幹サーバーに保存したものである。前記第一ネットワークユニットにおいて、前記複数の周辺装置は少なくとも一つのチップを構成部品として含み、周辺装置ごとにそれぞれ異なるチップ認証装置を搭載する。前記チップ認証装置は、前記基幹サーバーから受信したパスコードに対応して、前記チップ認証装置のおのおのに固有の物理的乱雑さに基づいて生成された、それぞれ異なる出力信号を前記基幹サーバーに送信し、前記基幹サーバーは、前記個々の出力信号を、前記登録コードのリストの要素それぞれと個々に比較し、対応する個々の周辺装置の正当性を評価する。前記第一ネットワークユニットにおいて、前記複数のチップ認証装置はそれぞれ複数の認証素子から構成され、前記複数の認証素子はそれぞれ少なくとも同一のチップの製造工程によって一括して製造される半導体素子である。前記第一ネットワークユニットにおいて、前記チップは少なくとも一つのモジュール領域から構成され、前記認証素子は少なくとも一つのモジュール領域内に分布する。おのおのの認証素子のアドレスは、前記少なくとも一つのモジュール領域を構成する複数のワード線からなるワード線群、および、複数のビット線からなるビット線群によって定義される。前記第一ネットワークユニットにおいて、前記認証素子は、所定の電気的入力に対して、少なくとも第一の値と第二の値とを電気的に出力し、前記認証素子は少なくとも二つの端子を有し、所定の読み出し電圧の入力に対して前記二つの端子の間を流れる電流値が、第一の閾電流より高いとき、第一の値を出力したとみなし、第二の閾電流より低いとき、第二の値を出力したとみなし、前記第一の閾電流は前記第二の閾電流より高く、前記電流値が第二の閾電流より高く、第一の閾電流より低い場合、第三の値を出力したとみなし、第三の値を出力する認証素子のアドレスを前記周辺装置が有する記憶領域の一部に記録する。前記第一ネットワークユニットにおいて、所定の電気的入力に対して前記チップ認証装置が出力する第一の値および第二の値はブール代数に従う。前記第一ネットワークユニットにおいて、前記認証素子のアドレスは前記ワード線群と、前記ビット線群の一方に割り当てられる行番号と、他方に割り当てられる列番号とから定義され、各行番号に代換素子を割り当てる。前記第一ネットワークユニットにおいて、同一の行番号に連なる複数の認証素子が出力する第一の値あるいは第二の値に、2進法に基づいた所定の演算を施し、その結果が第一の値である場合前記行番号に対応する代換素子に前記第一の値と第二の値の一方を割り当て、その結果が第二の値である場合、前記行番号に対応する代換素子に前記第一の値と第二の値の他方を割り当てる。その行番号に対応して前記代換素子に割り当てたデータを並べた数列を、前記周辺装置に固有の物理的にクローン不可能なチップ認証とする。前記第一ネットワークユニットにおいて、前記物理的にクローン不可能なチップ認証を所定のフォーマットに加えたものを前記周辺装置の固有の物理アドレスとする。
本発明によれば、真に物理的実態に対して一意に割り当てられ、編集不可能で、物のインターネットの時代になっても認証数が枯渇する不安のない物理アドレスを提供することが可能となる。
図7は、本発明の実施例による情報機器140の基本構成を概念的に示した図面である。たとえば、複数の(たとえばN個の)半導体チップ(第一のチップ110、第二のチップ120…第Nのチップ130)が搭載されている。図8は、この情報機器140を第一のノード2001とし、信号伝達路1000を介して第二のノード2002と接続する場合を図示したものである。第一のノード2001内の、第一のチップ110は、外部入出力装置(I/O)50を通して信号伝達路1000に接続している。ここで、第一のチップ110は、チップ認証装置60を搭載している
本発明によるチップ認証装置60は、外部入出力装置50から受け取るコール(入力信号)に応じてその都度出力信号を発生するものであり、発生された出力信号は物理的乱雑さを利用して生成されるものである。また、入力信号を変えると出力信号も変わるという特徴を有している。この点で、図6で説明したMACアドレスとは根本的に異なるものである。すなわち、MACアドレスは、不揮発性メモリチップ3010に保存されたデータであり、入力信号によって出力を変更するような機能を持つものではない。
《物理的にクローン不可能な機能》
このような機能として近年注目を集めている技術は、物理的にクローン不可能な機能(PUF)と呼ばれるものである。これは、指紋や網膜などの生体情報を用いて人の個人認証を行うのと同様に、半導体のチップにおいても、一つ一つ異なる物理的特性を用いてチップの個体認証行うものである。要求される主な特徴は、(1)同一のPUFに異なる入力をすれば、常に異なる出力をすること、(2)同一の入力をした異なるPUFは、常に異なる出力をすること、(3)入力と出力の組み合わせを盗まれても、未知の入力に対する出力は予測不可能であること、(4)入力と出力の関係が安定していて信頼できること、である。この中で、条件(4)は半導体のチップが量産品である限り特に自明である。
ICチップ製品(半導体チップ製品)の場合、パッケージ剤の化学光学的性質を用いたPUFを利用するもの(コーティングPUF)(特許公開2009-519473号公報参照)と、チップそのものに依存したPUFを利用するもの(チップPUF)がある。特に近年では、チップ内に保存された暗号鍵の盗難や偽造チップの問題が注目されていることもあり、後者、すなわちPUFをチップ内に搭載する技術への注目度が高い。たとえば、暗号鍵と、適当に選んだ入力コードに対応してPUFが出力するPUFデータとをアクティブコード生成装置に入力し、生成したアクティブコードを内部メモリに保存する方法がある。アクティブコードの生成は、チップの出荷前か事前登録の際に一回のみ行うものとし、その後は必要に応じてチップ内に保存したアクティブコードとPUFデータを鍵生成装置に入力してその都度暗号鍵をチップ内で生成する。この方法では、暗号鍵も、暗号鍵を生成するために使用した入力コードも、内部メモリに保存する必要はない。したがって、チップが暗号処理をしている間にハックされない限り、暗号鍵を盗まれる心配はない。一方、アクティブコードを盗まれる可能性はあるが、アクティブコードのみ盗んでも、PUFデータがなければ暗号鍵を複製できない仕組みである。すなわち、PUFデータを取得するために使用した入力コードがわからない限り、上記(1)と(3)の条件が暗号鍵の複製を防ぐことになる。このように、暗号鍵の複製を非常に困難にするのがPUFを利用するメリットの一つである。
しかしながら、今最も注目されているPUFの使い方はICチップの個体認証である。これには上記(2)の条件が必須である。つまり、PUFは、入力するリード信号(この場合、入力コード)に対し、チップに固有の認証(PUFデータ)を出力しなければならない。
さらに、物のインターネットにおいては、ノード数は数兆個を遥かに超えることが予想されるので、PUFが個別認証すべき個体数も桁違いに大きくなる。すなわち、上記PUFの条件(1)−(4)に次の条件を追加すべきである。すなわち、(5)一つの入力に対する出力のパターンが現実的に無限と見なせるほど大きな数となること、である。こうして、超巨大な物のインターネットでチップの物理的認証を実現するためにPUFを活用することが可能である。
ここで、コーティングPUFが(1)−(5)の条件を満たしていたとしよう。コーティングPUFの読み出しは、パッケージに光学的刺激を与えることにより行われる。これは、ネットワークを介して(電子的に)チップの個別認証を読み出すことはできないことを意味している。したがって、更に次の条件を付加すべきである。すなわち、(6)ネットワーク上のチップ認証はチップPUFでなければならない。
上記条件(6)を満たすチップPUFは大きく分けて2種類報告されている。一方は回路のばらつきを利用した回路PUFであり、もう一方は回路以外の微細構造のばらつきを応用したもの(製造PUF)(特開2015−201884号公報参照)である。回路PUFは、更に、回路の配線遅延を利用するもの(遅延PUF)(国際公開第WO2011118548号明細書参照)と、回路のメタスタビリティを利用するもの(メタスタビリティPUF)(特開2013−131868号公報参照)に分かれる。遅延PUFとは、IC内で同様の設計仕様で集積化された複数の回路の動作時間に関する制御不能のばらつきを利用するものである。利用される回路の代表例は、アービター回路、グリッチ回路、リング発振回路などである。メタスタビリティPUFで使用される回路は、主にスタティックランダムアクセスメモリ(以下SRAM)とラッチ回路(バタフライPUF)である。
回路PUFの弱点は、まず個体差が小さいことである。これは条件(5)を満たすのに不利である。そして出力が不安定であり、条件(4)を満たすのに不利である。更に温度変化などの外部環境に影響されやすく、フォールト攻撃に弱い。そのため増幅回路や温度センサー回路などを追加する必要がある。こうして設計への負荷が高くなり、PUFデータの長さへの制限が大きくなる。すなわち、上記条件(5)を満たすことが非常に難しい。PUFデータそのものが短ければ、たとえ出力がランダムであっても、認証付けられるチップの数が制限される。
製造PUFでは、意図的に集積化された層間バイアの製造ばらつきに起因するランダムな断線などが利用される。回路PUFの弱点の多くを解消できる可能性があるが、従来の半導体製品に含まれない特殊な構造を集積化する必要があり、一般的に製造工程への負荷が大きくなる。やはりIoT全般に向けて普及するにはハードルが高いと言える。
そのほか、デバイスの信頼性を利用するもの(特開2015−139010号公報参照)も提案されているが、信頼性そのものが低く、条件(4)を満たさない。また、電源オン時のダイナミックランダムアクセスメモリ(以下、DRAM)のキャパシタのばらつきを利用するもの(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と共通の問題を抱えている。すなわち、個体差が小さく、環境要因の変化を利用したフォールト攻撃に弱い。
上述のように、個々に解決すべき問題はあるものの、PUFの機能そのものは、ネットワークの相互のつながりの中でMACアドレスを利用せずに物理的実態を持つノードの最小単位(半導体チップ)の物理的認証を実現するのに有効であると考えられる。たとえば一例として、図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は不要のように思える。しかしながら、上述したように、物のインターネットにおいて物理的実態のあるノード同士の相互認証をイーサネット(登録商標)形式に任せることの問題は下記のような2点である。(イ)もうすぐ枯渇すること。(ロ)悪意あるハッキングに対して脆弱であること、である。このような状況を鑑み、本発明のチップ認証装置の必要性が理解される。
まず、遠隔攻撃者が図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の組み合わせが、各周辺ノードに対応する交信シリーズとなる。
上述のように、交信シリーズに関する情報を保存した基幹ノードを中央管理下におくことによって遠隔攻撃の第一の方法は防がれるが、ネットワークに接続するノード数が数兆個に上る場合、すべての装置を基幹ノード400のように厳重に防御・保守することは現実的に不可能である。これは中央管理の限界を意味している。そこで、遠隔攻撃者は、基幹ノード400に接続する中央管理の行き届かない装置、図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)は、基幹ノードに保存される登録コード402の(P1、S1、T1)とは異なる。これは、周辺ノードに搭載されるチップ認証装置が、異なる入力に対して必ず異なる出力を出す性質(出力の独立性)を持つことを前提にしている。こうして、チップ認証装置が「出力の独立性」を持っている限り、遠隔攻撃の第二の方法も失敗に終わるのである。ここで、周辺ノードと基幹ノード400がもしイーサネット(登録商標)形式による相互認証を採用していたらどうなるだろうか?遠隔攻撃者は、周辺ノードに搭載されているイーサネット(登録商標)カードの内部メモリ(たとえば、図6の例では、不揮発性メモリチップ3010)からMACアドレスを容易に盗み出すことができる。こうして、本発明のチップ認証装置がMACアドレスを置き換える意義が明らかになる。
ここで残る問題は、遠隔攻撃者が適当に選んだ信号セット(X、Y、Z)が、たまたま基幹ノード400の内部メモリ401に保存した入力コード402(P、S、T)に一致することである。このような偶然を防ぐため、入力コードの要素数を十分多くし、更に基幹ノード400の管理者以外には非公開とすることである。そして、この情報は基幹ノード400の管理者によって厳重に守られるべきである。また、時より変更することが望ましい。この変更を行った場合、基幹ノード400に接続する周辺ノードの再登録を行うことが必要になる。このような再登録を行う頻度を減らすために、入力コードの要素数は可能な限り多くするように管理することが必要である。これらの条件を満しつつ、入力コードはパスコードとして振る舞う。
すなわち、本発明のチップ認証装置を用いる相互認証形式は、イーサネット(登録商標)形式と同様に物理的実態のあるノード同士の相互認証を司るものであり、一方で、ネットワークを形成するノードを、相互認証に関わる情報を保存し中央管理下に置かれるノード(基幹ノード)と、それ以外のノード(周辺ノード)に分割する。周辺ノードは、相互認証に関わる情報を保存しない代わりに本発明のチップ認証装置を搭載し、所定の入力に対して出力を返す。入力が異なれば必ず異なる出力を返す「出力の独立性」を満たすものである。出力の独立性については、以下で詳述する。
ここで、入力コードは、さまざまな周辺ノードへの認証IDを検査するために共通して使うことが望ましい。この場合、おのおのの周辺ノードへのアクセスに個別に必要なものではない。このような事情から、本発明で説明する入力コードを以下“共通パスコード”と呼ぶことにする。こうして、前記基幹ノードは少なくとも一つの共通パスコードを所有する。
基幹ノード400が計算機(パソコン等)の場合、これに接続する第一の周辺ノード410、第二の周辺ノード420、第三の周辺ノード430は、計算機に接続して用いられる周辺機器となる。たとえば、マウス、キーボード、マイクロホン、などである。上述したとおり、基幹ノード400である計算機本体は、最新のウィルス対策ソフトを使用して管理者が責任を持って管理することが前提となる。本件に関わる発明は、周辺ノード(マウス、キーボード、マイクロホン等)の不正な置き換えから計算機本体を守ることが目的となる。これにより、計算機本体を守ることを目的とするウィルス対策ソフトが守りきれない周辺ノードを遠隔攻撃から守ることができる。
上記基幹ノード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とで接続している。さらに、ネットワークユニット内において、第五の周辺ノード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が異なる限り、それぞれ相異なる出力信号である。この性質は、図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は物理的乱雑さを利用して出力信号を生成しなければならない。
《入出力の信頼性》
図18に示すように、実際には、入力信号Qを制御する回路に関わる制御不能のノイズなどにより、入力信号Qには入力信号誤差31(ΔQ)が混入する。これに対し、入力信号誤差31(ΔQ)及び出力信号を制御する回路に関わる制御不能のノイズなどにより、出力信号Rには出力信号誤差32(ΔR)が混入する。このとき、二つの異なる入力信号(たとえば、Q1およびQ2)の差の絶対値は、入力信号誤差31(ΔQ)の絶対値の最大値より大きいものとする。ここで、入力信号Q1に対する出力信号R1と、入力信号Q2に対する出力信号R2との間の差の絶対値は、出力信号誤差32(ΔR)の絶対値より常に大きくなければならない。
本発明に関わるチップ認証方式は、上述した「出力の独立性」、「入力の独立性」、「出力の予測不可能性」、及び「入出力の信頼性」の4つすべてを同時に満たしていなければならない。
《検査》
本発明が実施される以前から稼動しているネットワークを本発明の要件を満たすように発展させる場合には、既に基幹ノードに接続している周辺ノードを、本発明によるチップ認証装置を搭載したチップで構成された周辺ノードに置き換えて行かねばならない。ここで、この置換えが確実に行われたかどうか検査することが必要になる。あるいは、本発明のチップ認証装置を搭載していないチップを採用した周辺ノードが一部でも不正に使用されていないかどうかを検査することが必要である。ここで説明する検査は、基幹ノードの保守点検の一部として随時行うことが可能であり、また、周辺ノードの登録時にも行うことが望ましい。
この検査のためにもっとも有効な方法は、中央管理下にある基幹ノードを使って検査対象となる周辺ノードを実際に遠隔攻撃することである。検査対象となる周辺ノードを構成するチップが本発明のチップ認証装置を用いていない場合、内蔵メモリに入力コード42と登録コード43の対応表(図19参照)を保存しているはずである。たとえば、一つの入力コードに対して複数の登録コードのリストが対応している。これらの登録コードは、一つの共通パスコードを複数の周辺ノードに入力したときのそれぞれの出力に対応している。一般に、共通パスコードは一つとは限らないので、図19のような対応表になる。もし入力コードが一つだけであれば、対応表は、図19の、たとえば、上半分のみとなるだろう。図10は入力コード402が一つの場合の一例である。いずれにしろ、本発明のチップ認証装置を搭載したチップの内蔵メモリにはこのようなコードは保存されていない。図19のようなコード対応表を正規に保存しているのは、本発明に関するネットワークでは基幹ノードだけである。図10にある入力コード402と登録コード403の組合せがそれである。図10の入力コード402が図27の入力コード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が出力する共通パスコードは、基幹ノードの内蔵メモリに入力コード(たとえば、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に示すように、少なくとも一つのチップが本発明のチップ認証装置を搭載することが必要である。また、チップ認証装置そのものがチップで実現される電子装置であっても良い。こうして、前記ネットワークは、構成要素である周辺ノード及び基幹ノードが、少なくとも一つのチップから構成される電子装置のネットワークである。
ここで、本発明のチップ認証装置のための4つの条件は、上述したPUFの条件のうちの4つにそれぞれ対応している。たとえば、「入力の独立性」は、(1)同一の周辺ノードに異なる入力をすれば常に異なる出力をすることと同一である。「出力の独立性」は、(2)同一の入力をした異なる周辺ノードは常に異なる出力をすることと同一である。「出力の予測不可能性」は、(3)入力と出力の組み合わせを盗まれても未知の入力に対する出力は予測不可能であることと同一である。「入出力の信頼性」は、(4)入力と出力の関係が安定していて信頼できることと同一である。更に上述したように、本発明のチップ認証装置は、PUFのために付加する五番目の条件(5)一つの入力に対する出力のパターンが現実的に無限と見なせるほど大きな数となること、および、六番目の条件(6)ネットワーク上のチップ認証はチップPUFでなければならない、を満たさなければならない。チップ認証装置であるかぎり、(6)を満たすことは自明である。従って、本発明のチップ認証装置は、以下に説明するように、この5つの条件を全て満たすように構成さればよい。
上記5つの条件を全て満たす本発明に関するチップ認証装置は、半導体装置の素子アレイ上に配置した複数の認証素子によって構成することが可能である。ここで、この認証素子は、たとえば“1”と“0”のどちらかに対応する信号を出力するものと仮定する。
ただし、おのおのの認証素子が出力する信号が“1”に対応するのか“0”に対応するのかは確率的であり、その確率がどのようなアルゴリズムにもよらない限り物理的にランダムであるとみなされる。すなわち、“1”と“0”の物理的にランダムな組み合わせを生成できるとみなされる。こうして、上記第三の条件、すなわち、(出力の予測不可能性)は満たされる。ここで、“1”を黒、“0”を白として、前記素子アレイ上のアドレスにしたがってプロットすると、図22のような白と黒がランダムに配置された市松模様ができる。
“1”と“0”のランダムな組み合わせということは、乱数がデジタルで発生することと同等である。デジタルであるということは、第4の条件、すなわち、図18で説明した「入出力の信頼性」が満たされることと同等である。
第5の条件、すなわち、出力のパターンが現実的に無限と見なせるほど大きな数となること、を満たすためには、素子アレイ上の素子の数を十分に大きくすることが必要である。
第一の条件、すなわち「入力の独立性」と、第二の条件、すなわち「出力の独立性」は、この市松状の白黒のランダムパターンをどのように活用するかによって満たすことが可能である。以下具体的に説明する。
図23は、図22を実現するための素子の配列の一例である。行方向にL本のワード線503が並んでいる。図中は縦方向に相当する。それと直交するように、ビット線902が列方向にM本並んでいる。L本のワード線503とM本のビット線が交差するところにチップ認証装置のエレメントである認証素子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で割ったあまりである。

c(i,j) = mod(a(i) +b(j) +d(i,j),2) 式1

図25は、数列 {a(i)}、数列 {b(j)}、及び物理乱数 {d(i,j)} と、式1に基づいて出力される出力コード {c(i,j)} との関係を一覧表にしたものである。この方法を用いると、0と1の数の割合に変化がないことが容易に想像される。これは、交信シリーズ80によって扱われるデータ量を安定化させるために必要な条件である。すなわち、式1の右辺に入力される情報量と、式1の左辺から出力されるデータ量がほぼ同等であることが求められる。すなわち、入力情報量と出力情報量が大きく異なる場合、式1で定義される系の情報量は、少ない方に合わせられ、結果として、少なくともその差分だけ情報を失うことになるからである。情報量を失うということは、PUFのために付加した五番目の条件(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)} で物理的乱雑さを取り込んでいる。このため、上の条件(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 2018011298

c(i,j) = mod(a(i) +f(j) + d(i+K,j),2) 式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)} の一部あるいは全部を格納することが望ましい。あるいは、必要に応じて中間出力 {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)} から中間コード {a(i),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の1024乗である。これは、既に通常の電卓が扱える整数の桁数をはるかに上回る情報量である。実際に関数電卓で計算すると無限大が出てくる。スクランブル装置の物理乱数 {d(i,j)} の場合の数、チップ認証装置の物理乱数 {d(I+N,j)} の場合の数、および出力コード数 {c(i,j)} の場合の数は更に大きく、すべて同様に2の、512の2乗の乗である。もちろん、現実的な無限大である。ここで、512の2乗は262,144なので、スクランブル装置を含めても262キロビットもあればチップ認証装置としては十分な容量である。この容量は、通常のDRAM製品のシリコンダイ辺りの容量(4ギガビット)に比べて4桁小さく、およそ1万分の1以下とはるかに小さい。
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の市松状の白黒パターンは、繰り返し電圧を印加しても変化し難くなり、パターンの再現性を獲得する。
一般に、電気的ストレスによってソフト破壊状態からハード破壊状態に遷移する場合と、非破壊状態からソフト破壊状態に遷移する場合と、どちらかを人為的に優勢にするよう制御することは難しい。したがって、電気的ストレスを繰り返すうち“X”とラベルされたソフト破壊状態の割合が所定の値以下になることもあれば、それ以上になることもある。しかしながら、ソフト破壊状態の認証素子の数が一定以上に多いと、データ数の減少によりパターンの乱雑さの情報量が不足する。さらに、物理的乱雑さを最大限にするには、情報エントロピーの考え方から“0”と“1”の割合がおおよそ50%ずつになることが望ましい。そこで、素子に電気的ストレスを印加するための電圧パルスを繰り返し、ソフト破壊モード“X”を減らしたり、“0”と“1”の割合を所定のレベルに調整したりする方法が必要になる。以下破壊パルスの繰り返し方法を説明する。こうして、第四の条件(4)入力と出力の関係が安定していて信頼できること、を満をたすことが可能となる。
一例として、図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に電界ストレスを加えることが可能である。
一般に、抵抗は高抵抗導電材を二つの端子で挟んだものであり、抵抗に高電界を印加すると確率的に断線し、ワード線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に接続する。
図46の構造は、たとえば、第一導電体1053の側から絶縁膜910を貫通する穴(ビア)を開け、そこに導電材料を埋め込むと、図49のように導電体ビア530を作成できる。これは、図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を採用している。ここでは、特に、そのゲート絶縁膜から構成されるキャパシタの絶縁破壊を用いる。いずれにしろ、キャパシタの破壊(あるいは絶縁破壊)を用いる。したがって、動作方法は同様であり、以下まとめて説明する。
図69は、本実施形態に関する認証用素子アレイ960の一例である。ページバッファ790は、NAND型不揮発性メモリセルアレイのページバッファを兼ねることができる。ページバッファ790は、ビット線902との接続をオン/オフさせるためのビット線接続ゲート791を含んでいる。更に、ページバッファ790は、内部にセンスアンプやラッチアップなどをつかさどる回路を設けている。
本実施形態では、NANDフラッシュのメモリセルを混載することができる。しかしながら、DRAMやSRAM等の揮発性メモリ、あるいは、NORフラッシュ、磁気抵抗メモリ、相変化型メモリ、抵抗変化型メモリ等の別種の不揮発性メモリを混載することも可能である。いずれにしろ本発明の本質を変更する必要はない。すなわち、本発明に関する認証素子アレイ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は、メモリ素子やヒューズ等が好ましい。ただし、メモリ素子は不揮発性であっても揮発性であっても良い。たとえば、不揮発性の場合、浮遊ゲートを有するものであることが望ましい。あるいは、磁気抵抗の変化を使ったものであったり、相変化を使ったものであったり、抵抗層の抵抗値の変化を使ったものである。揮発性の場合、キャパシタや特殊な回路に蓄積した電荷量を使ったものでもよい。
いずれにしろ、図22の白と黒のランダムな市松模様は、図73のように、ランダムな水平模様に変換される。これは、QRコード(登録商標)からバーコードへの変換と似ている。この変換により同じ行数での情報量は減少するが、行数が十分大きく、縞模様における白と黒の割合が過度に一方的でなければ、十分な乱雑さを保持できるはずである。
ここで、図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)} との関係を一覧表にしたものである。

c(i) = mod(a(i) +d(i),2) 式4
式1に似ているが、列の要素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)} とする。その要素f(i) は、式5で与えられる。

f(i) = mod(a(i) +d(i),2) 式5
ここで、{f(i)} がスクランブル装置セルアレイ614に関する出力となる。ただし、iは1からNの自然数である。
つづいて、式5において、配列 {a(i)} を中間コード {f(i)} に置き換えれば、コード発生装置602の出力 {c(i)} となる。実際には、対応する要素a(i) をf(i) に置き換え、式6のようになる。

c(i) = mod(f(i) +d(i),2) 式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の315289乗になる。これは恐ろしく大きい数であり、現実的にほぼ無限大と考えてよい。
次に、ワード線方向を図72の行方向に当てはめると、典型的な4ギガビットDRAM製品の場合、ワード線数440万に対してリダンダンシー行の総数は、たとえば、3,044である。440万から3、044を選ぶ順列の数は、計算するとおよそ10の20222乗のさらに1.6倍となる。ビット線リダンダンシーの場合の数より大分少なくなるが、それでもワード線リダンダンシーの場合の数も恐ろしく大きな数である。いずれにしろ、改めてチップ認証装置600用の領域を設けなくても、汎用DRAMの製品管理のためにあらかじめ設置されているリダンダンシーメモリを用いることによって、現実的に無限大の物理的乱雑さを手に入れることが可能である。
このように、汎用DRAM製品は、製品管理用にあらかじめリダンダンシーメモリとしてヒューズメモリが取り付けられており、しかもビット線数もリダンダンシー行の数も十分大きく、得られる物理的乱雑さも十分である。したがって、チップ認証装置600としてチップ内のすべての領域のリダンダンシーを使うことも可能だが、その一部のみをチップ認証装置600として使用することも可能である。この場合、行数Nはチップ内の全ビット線数、あるいは、全ワード線数より小さくなる。
本発明に関するチップ認証装置では、たとえば、図78のように、少なくともチップ認証モジュール60および入出力制御モジュール800を、チップ10に搭載することができる。この入出力制御モジュール800は、入出力制御回路、ワード線制御回路、ビット線制御回路、データ入出力バッファー等を含むことができる。
更に、本発明によるチップ認証装置は、たとえば、図79のように、少なくともチップ認証モジュール600と、認証装置用制御モジュール880と、入出力制御モジュール810と、スクランブル装置モジュール890と、及び中間コード用バッファーモジュール900とから構成され、チップ10に搭載することができる。この入出力制御モジュール810は、入出力制御回路およびデータ入出力バッファーを含むことができるが、ワード線制御回路及びビット線制御回路を含まない。スクランブル装置モジュール890は、図27のスクランブル装置604を含み、スクランブル装置604が生成する中間コードは、入出力制御モジュール810とは独立した中間コード用バッファーモジュール900に格納され、外部からの要請があってもデータをチップ10の外部に出力しない。これは、中間コードをチップ内に閉じ込めるためである。認証装置用制御モジュール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)} をチップ10の外に出力する。こうして、中間出力 {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)} をチップ10の外に出力する。こうして、中間出力 {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のみがチップ認証のための関連モジュールを搭載している。
プロトコル・データ・ユニットの伝送方法の一例を示す図。 通信階層を説明する図。 プロトコル・データ・ユニットの伝送方法の一例を示す図。 複数の通信ノードと複数の信号伝達路からなるネットワークの一例を示す図。 通信ネットワークの最小ユニット(エレメント)の一例を示す図。 イーサネット(登録商標)カード基本構成の一例を示す図。 チップ認証装置を含むチップを搭載した周辺ノードの一例を示す図。 本発明のチップ認証装置を搭載したチップを含む装置の接続方法の一例を示す図。 正規の使用者が、本発明のチップ認証装置を搭載したチップを含む装置を、ネットワーク上で使用する方法の一例を示す図。 本発明のチップ認証装置を搭載したチップを含む周辺ノードを、基幹ノードに接続する方法の一例を示す図。 基幹ノードから、本発明のチップ認証装置を搭載したチップを含む周辺ノードに共通パスコードを送信する方法の一例を示す図。 本発明のチップ認証装置を搭載したチップを含む周辺ノードから、認証コードを、基幹ノードに送信する方法の一例を示す図。 第一ネットワークユニットと第二ネットワークユニットに分割された複数の基幹ノードと、本発明のチップ認証装置を搭載したチップを含む複数の周辺ノードからなるネットワークの一例を示す図であり、そのネットワークは第一ネットワークユニットの基幹ノードと第二ネットワークユニットの基幹ノードとの接続を有するトポロジーを含む。 第一ネットワークユニットにおける複数の周辺ノードの少なくとも一つを含むトポロジーを示す図であり、複数の周辺ノードの少なくとも一つはそれぞれ複数の第二ネットワークユニットにおける基幹ノードの少なくとも一つに接続する。 本発明のチップ認証装置が満たすべき、出力の独立性の一例を示す図。 本発明のチップ認証装置が満たすべき、入力の独立性の一例を示す図。 本発明のチップ認証装置が満たすべき、出力信号の予測不可能性の一例を示す図。 本発明のチップ認証装置が満たすべき、入出力信号の信頼性の一例を示す図。 入力コードと登録コードの対応表の一例を示す図。 周辺ノードの正当性を検査するための作業工程の一例を示す図。 周辺ノードの正当性を検査するための作業工程の一例を示す図。 市松状に割り振られたデータの一例を示す図。 M行N列の市松状に並べられた認証素子のレイアウトの一例を示す図。 入力コードを入力する方法の一例を示す図。 入力コード、出力コード、乱数の関係の一例を示す図。 チップ認証装置の利用法の一例を示すための基本構成の一例を示した概念図。 スクランブル装置を加えた実施形態の概念の一例を示す図。 スクランブル装置の基本構成の一例を示す図。 スクランブル装置とチップ認証装置の両方を有する素子配列の一例を示す図。 スクランブル装置およびチップ認証装置の動作原理の一例を説明する図。 ブロックアレイ構造の一例を示す図。 ブロックアレイ構造の一例を示す図。 認証素子の一例(キャパシタ)を示す図。 認証素子からデータを読み出す方法の一例を説明するための図。 認証素子から読み出したデータのエラー補正方法の一例を説明する図。 破壊パルスの印加の仕方の一例を説明する図。 破壊パルスの印加の仕方の一例を説明する図。 認証素子の一例(導電体先端部)を示す図。 認証素子の一例(PN接合)を示す図。 認証素子の一例(ショットキー接合)を示す図。 認証素子の一例(電界効果トランジスタ)を示す図。 認証素子の一例(DRAM)を示す図。 認証素子の一例(選択トランジスタ)を示す図。 認証素子の一例(抵抗)を示す図。 認証素子からデータを読み出す方法の一例を説明するための図。 認証素子の一例(導電体接合部)を示す図。 認証素子の一例(導電体)を示す図。 認証素子の一例(導電体)を示す図。 認証素子の一例(導電体ビア)を示す図。 認証素子の一例(導電体ビア)が物理的に乱雑さを生成するメカニズムを示す図。 認証素子を選択する方法の一例を示す図。 認証素子を選択する方法の一例を示す図。 認証素子の一例(キャパシタ)を示す図。 認証素子の一例(キャパシタ)を示す図。 認証素子の一例(PN接合)を示す図。 認証素子の一例(PN接合)を示す図。 認証素子の一例(ショットキー接合)を示す図。 認証素子の一例(ショットキー接合)を示す図。 認証素子の一例(抵抗)を示す図。 認証素子の一例(抵抗)を示す図。 認証素子の一例(電界効果トランジスタ)を示す図。 認証素子の一例(電界効果トランジスタ)を示す図。 認証素子の一例(DRAM)を示す図。 認証素子の一例(DRAM)を示す図。 認証素子の一例(選択トランジスタ)を示す図。 認証素子の一例(選択トランジスタ)を示す図。 認証素子の一例(選択トランジスタ)を示す図。 認証素子をNAND型配列した場合のレイアウトの一例を示す図。 認証素子をNAND型配列した場合のレイアウトの一例を示す図。 認証素子を読み出す方法の一例を示す図。 認証素子を読み出す方法の一例を示す図。 代換素子の一例を示す図。 代換素子によるデータのランダムさを説明する図。 入力コードを入力する方法の一例を示す図。 入力コード、出力コード、乱数の関係の一例を示す図。 チップ認証装置の利用法の一例を示すための基本構成の一例を示した概念図。 スクランブル装置とチップ認証装置の両方を有する素子配列の一例を示す図。 チップ認証装置を含む半導体チップの一例を示す図。 スクランブル装置およびチップ認証装置を含む半導体チップの一例を示す図。 イーサネット(登録商標)形式の通信方法の典型的一例を示す図。 MACアドレスの形式の一例を示す図。 本発明の物理的にクローン不可能なチップ認証(PUC−I)を用いた通信方法の一例を示す図。 本発明の物理的にクローン不可能なチップ認証(PUC−I)を用いたPUCアドレス形式の一例を示す図。 本発明の物理的にクローン不可能なチップ認証(PUC−I)を用いたPUCアドレス形式の一例を示す図。 本発明の物理的にクローン不可能なチップ認証(PUC−I)を用いたPUCアドレス形式の一例を示す図。 本発明の物理的にクローン不可能なチップ認証(PUC−I)を用いた通信方法の一例を示す図。 本発明の物理的にクローン不可能なチップ認証(PUC−I)を用いた通信方法の一例を示す図。 本発明の物理的にクローン不可能なチップ認証(PUC−I)を用いた通信方法の一例を示す図。
以下、本発明を実施するための形態について具体的に説明する。
上述してきたように、物理的にクローン不可能な機能(PUF)は、さまざまな方法を駆使することによって、物理的実態である半導体チップの個体認識を実現することが可能である。一方、半導体チップは、電子機器や情報機器の心臓部品であり、最小構成単位と考えることができる。したがって、チップ認証を物理的に実現しうる物理的にクローン不可能な機能(PUF)を用いて、電子機器や情報機器の物理的認証を実現できると考えられる。
一方、上述したように、ネットワーク通信において、何らかの物理的実態を有するノードの認証は、現在、イーサネット(登録商標)ヘッダーに含まれる物理アドレス(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ビットは、U/LビットとI/Gビットである。MACアドレスがグローバルアドレスの場合、U/Lビットは1である。そうでない場合0である。すなわち、グローバルアドレス(U/Lビット=1)の場合では全世界で重複を起こさないよう、電気電子技術者学会(IEEE)によって管理されている。I/Gビットが0の場合ユニキャスト通信を意味し、1の場合はマルチキャスト通信を意味する。ユニキャスト通信とは、情報機器のネットワークの中において単一の送信先を指定してデータ(フレーム)を送信することである。これに対しマルチキャスト通信とは、情報機器のネットワークの中において、複数の送信先を指定してデータ(フレーム)を送信することである。下位の24ビット(図81の例で右半分)は、シリアル番号3072と呼ばれ、各ベンダーが重複しないよう割り当てている。
図82は、本発明の物理的にクローン不可能な機能(PUF)を採用した実施形態の一例である。MACアドレスをイーサネット(登録商標)カードの内蔵メモリに記録する代わりに、本発明のチップ認証装置3040(図中、PUC‐Iと表示)を、CPUを共同で働く主記憶装置(DRAMなど)に搭載する。この場合、イーサネット(登録商標)カードにMACアドレスを記録する必要はなくなり、不揮発性メモリチップを取り除ける可能性がある。主記憶装置がDRAMの場合、たとえば、図42、図63、あるいは、図64などのように認証素子としてDRAMセルを用いることが望ましい。この場合、一例として、図22のようにQRコード(登録商標)型の乱数コードを利用する方式が可能である。あるいは、代替素子979を有する図74の例において、認証素子としてDRAMセルを用い、図73のバーコード型の乱数コードを利用する方式が望ましい。あるいは、DRAMのリダンダンシーメモリなどを利用し、図73のバーコード型の乱数コードを利用する方式が望ましい。本実施形態では、MACアドレスとの対比から、特にチップ認証装置3040が生成する認証を物理的にクローン不可能なチップ認証(PUC−I)と見なす。PUC−Iは、一般に、イーサネット(登録商標)形式の認証とは限らない。たとえば、上述のように周辺ノードが生成するPUC−Iは、基幹ノードからの入力コードに応じて生成されることが望ましい。あるいは、周辺ノードのオペレーティングシステムに予め設定された入力コードに応じて、チップ認証装置3040がPUC−Iを生成することが望ましい。この場合、チップ認証装置3040に入力される入力コードは、オペレーティングシステムを起動する際に入力するパスコード、あるいは、そのパスコードと関連を持たせることが可能である。あるいは、スリープモードからの復帰のためのパスコードやその他のPINコードなど、あるいはそれらと関連づけることも可能である。こうして、イーサネット(登録商標)カードのメディア・アクセス・コントローラー(MAC)用演算処理チップ3020もPUC−I制御装置3030に置き換える。
一例として、図83に示すように、PUC−I3070は、本発明に関するチップ認証装置によって生成され、MACアドレスのうち下位の24ビット(図81のシリアル番号3072)を置きかえることが望ましい。すなわち、ベンダーコード3071は、すでに広く利用されているMACアドレスのベンダーコードをそのまま利用する。こうして、図83のように、PUCアドレス3073が生成される。受信ノード側は、後述する指示ビットを調べることで受信したフレームがMACアドレスを採用しているか、あるいは、本発明のPUC−Iを採用しているかを事前に判定することが可能である。
一般に、PUC−I3070のビット数は、チップ認証装置を構成する認証素子977の数によって決まる。たとえば、認証素子用アレイ960が、図23のような構成となる場合、PUC−Iのビット数は、素子行数Lと素子列数Mの積で決まる。したがって、PUCアドレスのビット数は、LとMの積に24を足し合わせたものになる。あるいは、図29のような構成の場合、PUC−Iのビット数は、Nの2乗によって決まる。したがって、PUCアドレスのビット数は、Nの2乗に24を足し合わせたものになる。あるいは、図74のような構成の場合、PUC−Iのビット数はNである。あるいは、図77のような構成の場合、PUC−Iのビット数はNである。あるいは、DRAMのリダンダンシーを用いる場合、PUC−Iのビット数は、リダンダンシー用のメモリ領域のビット数によって決まる。すなわち、順列を使って算出した情報量を2進法表記に変換すれば、必要なビット数が直ちに判明する。
しかしながら、上述した図23あるいは図29のような構成の場合、図35のように、ソフト破壊モード“X”の混入によって、PUC−Iのビット数は理想的な場合より少なくなることがある。事前の検査、あるいは、他の何らかの方法により、このような破壊モードが混入する確率の上限が事前にわかっている場合、この上限から換算されるビット数にマージン分のビット数を加味し、PUC−Iのビット数を再定義することが望ましい。こうしてPUC−Iのビット数は、図22の白と黒の市松状のパターンの格子点数で決まることになる。
PUC−Iのビット数は、シリアル番号のビット数24ビットより多くても良いし、少なくても良い。あるいは、同じでも良い。少ない場合、PUC−Iの利用は、閉じた物理的ネットワークに限ることが望ましい。たとえば、工場の製造ラインを管理するためのシリアル番号の替わりに用いることが可能である。このように、PUC−Iのビット数は、必ずしも所定のビット数に決められている訳ではない。したがって、プリアンブルの最後に数ビットをPUC−Iのビット数を指示するために添付することが望ましい。このPUC−Iのビット数を指示するためのビット(指示ビット3074)は、ベンダーコード3071の前(上位)であっても良いし、後ろ(下位)であっても良い。図84は、指示ビット3074がベンダーコード3071の前(上位)に添付された場合の一例を示している。図85は、指示ビット3074がベンダーコード3071の後ろ(下位)に添付された場合の一例である。図84、および、図85は、いずれも指示ビット3074の長さが6ビットとして図示したものであるが、一般に、指示ビット3074の長さは6ビットに限らない。いずれにしろ、指示ビットの有無を確認することにより、フレームがPUC−I形式化どうか判明するだろう。
指示ビット3074の導入により、PUCアドレスが扱えるアドレスの数は可変となる。したがって、任意の管理者が、閉じた物理的ネットワークを構築する際に短いPUCアドレスを使い、その分節約されたビット数をプロトコル・データ・ユニットのデータ領域に割り当てることが可能となる。こうして、一つのプロトコル・データ・ユニットで運べる情報量が多くなる。これは一回のデータ通信で運べるデータ量が多くなることを意味する。あるいは、任意のベンダーが限られた数の製品を出荷する場合にも、短いPUCアドレスを使い、その分節約されたビット数をプロトコル・データ・ユニットのデータ領域に割り当てることが可能となる。
物のインターネットの場合、グローバルアドレスの数が非常に多くなる。この問題に対応するには、指示ビット3074によってPUCアドレスのビット数を増やし、扱えるアドレスの数を増やす必要がある。こうしてPUCアドレスのビット数が増えると、その分一つのプロトコル・データ・ユニットで運べる情報量が少なくなる。これは、一回のデータ通信で運べるデータ量が少なくなることを意味する。しかしながら、無数の物理アドレスを必要とする物のインターネットが登場するような将来には、ネットワーク技術の進歩に対応するためプロトコル・データ・ユニットの規格が変更されることになるだろう。このとき、一つのプロトコル・データ・ユニットに割り当てられるビット数が増大する可能性が高い。MACアドレスを使い続けた場合、このような変化に柔軟に対応することは難しいが、本発明の指示ビット付きのPUCアドレスでは、物理アドレス数の急激な増大に柔軟に対処することが可能である。
パーソナルコンピューターの電源を入れると、中央演算処理装置(CPU)がオペレーションシステムを起動する際、オペレーションシステムを起動するのに必要な情報が主記憶(たとえばDRAM)にロードされる。ここで、オペレーションシステムが、イーサネット(登録商標)カード3000あるいはチップ認証装置3040を検知した場合、オペレーションシステムはそのチップ認証装置3040から物理的にクローン不可能なチップ認証(PUC−I3070)を読み出し、イーサネット(登録商標)カード3000に含まれるPUC−I制御装置3030に書き込む。PUC−I制御装置3030は、図83、図84、図85に示すようなPUCアドレスを添付したフレームを、信号伝達路1000を介してデータリンク層で送受信する。
図86は、本発明の物理的にクローン不可能な機能(PUF)を採用した実施形態の別の一例である。MACアドレスをイーサネット(登録商標)カードの内蔵メモリに記録する代わりに、本発明のチップ認証装置3040(図中PUC−Iと表示)を中央演算処理装置(CPU)に搭載する。この場合、イーサネット(登録商標)カードにMACアドレスを記録する必要はなくなり、不揮発性メモリチップを取り除ける可能性がある。上述したように、中央演算処理装置(CPU)混載方式を採用する場合、物理的にクローン不可能な機能(PUF)を構成するための認証素子としては、標準CMOSプロセス準拠のものが望ましい。たとえば、図41の電界効果トランジスタ983を認証素子とする方式が望ましい。そのほか、図39のPN接合986、図40のショットキー接合987、あるいは、図47および図48のように配線パターンを応用した例も可能である。本実施形態では、MACアドレスとの対比から、特にチップ認証装置3040が生成する認証を物理的にクローン不可能なチップ認証(PUC−I)と見なす。PUC−Iは、一般に、イーサネット(登録商標)形式の認証とは限らない。たとえば、上述のように周辺ノードが生成するPUC−Iは、基幹ノードからの入力コードに応じて生成されることが望ましい。あるいは、周辺ノードのオペレーティングシステムに予め設定された入力コードに応じて、チップ認証装置3040がPUC−Iを生成することが望ましい。この場合、チップ認証装置3040に入力される入力コードは、オペレーティングシステムを起動する際に入力するパスコード、あるいは、そのパスコードと関連を持たせることが可能である。あるいは、スリープモードからの復帰のためのパスコードやその他のPINコードなど、あるいはそれらと関連づけることも可能である。こうしてイーサネット(登録商標)カードのメディア・アクセス・コントローラー(MAC)用演算処理チップ3020もPUC−I制御装置3030に置き換えられる。
パーソナルコンピューターの電源を入れると、中央演算処理装置(CPU)がオペレーションシステムを起動する際、オペレーションシステムを起動するのに必要な情報が主記憶(たとえばDRAM)にロードされる。ここで、オペレーションシステムが、イーサネット(登録商標)カード3000あるいはチップ認証装置3040を検知した場合、オペレーションシステムはそのチップ認証装置3040から物理的にクローン不可能なチップ認証(PUC−I3070)を読み出し、イーサネット(登録商標)カード3000に含まれるPUC−I制御装置3030に書き込む。PUC−I制御装置3030は、図83、図84、図85に示すようなPUC−Iアドレスを添付したフレームを、信号伝達路1000を介してデータリンク層で送受信する。
上記実施形態では、メディア・アクセス・コントローラー(MAC)用演算処理チップ3020をPUC−I制御装置3030に置き換えている。しかしながら、この実施形態では、MACアドレスを使用しないので、イーサネット(登録商標)形式もそれに応じて変更する必要がある。そのようなフォーマットの変更を急激に行えば混乱が予想されるので、物理的にクローン不可能なチップ認証(PUC−I)からMACアドレスへの変換装置、すなわち、PUC/MAC変換装置3050を使用することがネットワーク移行期では必要になる。このような過渡的な需要に対応するため、典型的な例を以下に上げておく。
図87は、本発明の物理的にクローン不可能な機能(PUF)を採用した実施形態の別の一例である。MACアドレスをイーサネット(登録商標)カードの内蔵メモリに記録する代わりに、本発明のチップ認証装置3040(図中PUC−Iと表示)を主記憶装置に搭載する。このチップ認証装置3040は、物理的にクローン不可能なチップ認証(PUC−I)を生成するものである。さらに、中央演算処理装置(CPU)は、このPUC−Iを使って生成したPUCアドレス3073からMACアドレスへの変換を司るPUC/MAC変換装置3050の機能を有する。この場合、イーサネット(登録商標)カードにMACアドレスを記録する必要はなくなり、不揮発性メモリチップを取り除ける可能性がある。主記憶装置がDRAMの場合、たとえば、図42、図63、あるいは、図64などのように認証素子としてDRAMセルを用い、図22のようにQRコード(登録商標)型の乱数コードを利用する方式が望ましい。あるいは、代替素子979を有する図74の例において、認証素子としてDRAMセルを用い、図73のバーコード型の乱数コードを利用する方式が望ましい。あるいは、DRAMのリダンダンシーに使用されるヒューズメモリなどを利用し、図73のバーコード型の乱数コードを利用する方式が望ましい。本実施形態では、MACアドレスとの対比から、特にチップ認証装置3040が生成する認証を物理的にクローン不可能なチップ認証(PUC−I)と見なす。PUC−I3070は、一般に、イーサネット(登録商標)形式の認証とは限らない。たとえば、上述のように周辺ノードが生成するPUC−Iは、基幹ノードからの入力コードに応じて生成されることが望ましい。あるいは、周辺ノードのオペレーティングシステムに予め設定された入力コードに応じて、チップ認証装置3040がPUC−Iを生成することが望ましい。この場合、チップ認証装置3040に入力される入力コードは、オペレーティングシステムを起動する際に入力するパスコード、あるいは、そのパスコードと関連を持たせることが可能である。あるいは、スリープモードからの復帰のためのパスコードやその他PINコードなど、あるいはそれらと関連づけることも可能である。しかしながら、本実施形態では、上述したように、PUC−Iを使って生成したPUCアドレスからMACアドレスへの変換を司るPUC/MAC変換装置3050の機能を有する。こうして、PUC−I制御装置3030に置き換えずに、メディア・アクセス・コントローラー(MAC)用演算処理チップ3020をイーサネット(登録商標)カードに採用できる。また、PUC/MAC変換装置3050は、必ずしも物理的実態の伴う装置である必要はない。起動時にCPUにロードされて動作するプログラムの一種であってもかまわない。あるいは、同様の動作を実現するファームウェアであってもかまわない。もちろん、モジュールの一部としてCPUに混載することも可能である。
パーソナルコンピューターの電源を入れると、オペレーションシステムを起動するのに必要な情報が主記憶(たとえばDRAM)にロードされ、中央演算処理装置(CPU)がオペレーションシステムを起動する。ここでオペレーションシステムが、イーサネット(登録商標)カード3000あるいはチップ認証装置3040ことを察知した場合、オペレーションシステムは、そのチップ認証装置3040から物理的にクローン不可能なチップ認証(PUC−I)を読み出し、CPUに混載されているPUC/MAC変換装置3050に転送する。PUC/MAC変換装置3050は、このPUC−Iから生成されるPUCアドレスをMACアドレスに変換し、オペレーティングシステムは、この変換によって生成されたMACアドレスをメディア・アクセス・コントローラー(MAC)用演算処理チップ3020に書き込む。こうして、メディア・アクセス・コントローラー(MAC)は、従来のイーサネット(登録商標)形式で、信号伝達路1000を介してフレームを送受信することが可能となる。自明なので特に説明をしないが、PUC/MAC変換装置3050をCPUに搭載しつつ、図86と同様にチップ認証装置3040をCPUに搭載してもよい。
図88は、本発明の物理的にクローン不可能な機能(PUF)を採用した実施形態の別の一例である。MACアドレスをイーサネット(登録商標)カードの内蔵メモリに記録する代わりに、本発明のチップ認証装置3040(図中PUC−Iと表示)を主記憶装置に搭載する。このチップ認証装置3040は、物理的にクローン不可能なチップ認証(PUC−I)を生成するものである。さらに中央演算処理装置(CPU)は、このPUC−IからPUCアドレスを生成し、図83、図84、図85などの方法でフレームを構成する機能を司る、PUC−I制御装置3060の機能を有する。この場合、イーサネット(登録商標)カードにMACアドレスを記録する必要はなくなり、不揮発性メモリチップを取り除ける可能性がある。さらに、PUC−I制御装置3060を有するため,メディア・アクセス・コントローラー(MAC)用演算処理チップ3020も必要なくなる。たとえば、上述のように周辺ノードが生成するPUC−Iは、基幹ノードからの入力コードに応じて生成されることが望ましい。あるいは、周辺ノードのオペレーティングシステムに予め設定された入力コードに応じて、チップ認証装置3040がPUC−Iを生成することが望ましい。この場合、チップ認証装置3040に入力される入力コードは、オペレーティングシステムを起動する際に入力するパスコード、あるいは、そのパスコードと関連を持たせることが可能である。こうして、イーサネット(登録商標)カードを取り除くことが望ましい。主記憶装置がDRAMの場合、たとえば、図42、図63、あるいは、図64などのように認証素子としてDRAMセルを用い、図22のようにQRコード(登録商標)型の乱数コードを利用するた方式が望ましい。あるいは、代替素子979を有する図74の例において、認証素子としてDRAMセルを用い、図73のバーコード型の乱数コードを利用する方式が望ましい。あるいは、DRAMのリダンダンシーに使用されるヒューズメモリなどを利用し、図73のバーコード型の乱数コードを利用する方式が望ましい。本実施形態では、MACアドレスとの対比から、特にチップ認証装置3040が生成する認証を物理的にクローン不可能なチップ認証(PUC−I)と見なす。また、PUC−I制御装置3060は、物理的実態の伴う装置である必要はない。起動時にCPUにロードされて動作するプログラムの一種であってもかまわない。あるいは、同様の動作を実現するファームウェアであってもかまわない。もちろん、モジュールの一部としてCPUに混載することも可能である。
パーソナルコンピューターの電源を入れると、オペレーションシステムを起動するのに必要な情報が主記憶(たとえばDRAM)にロードされ、中央演算処理装置(CPU)がオペレーションシステムを起動する。ここでオペレーションシステムが、チップ認証装置3040を検知した場合、オペレーションシステムは、チップ認証装置3040が生成する物理的にクローン不可能なチップ認証(PUC−I)を読み出し、CPUに混載されているPUC−I制御装置3060に転送する。PUC−I制御装置3060は、このPUC−Iを使って上述の方法で生成したフレームを、信号伝達路1000を介して送受信することが可能となる。自明なので特に説明をしないが、PUC/MAC変換装置3050をCPUに搭載しつつ、図86と同様にチップ認証装置3040をCPUに搭載してもよい。
現在、イーサネット(登録商標)カード(あるいは、LANカード)だけでなく、イーサネット(登録商標)カードの機能を備えた通信用チップも出回っている。このような通信用チップは、パーソナルコンピューターより小型の電子機器、あるいは、情報機器に搭載される。あるいは、SIMカードと一体化させることも不可能ではない。本発明のチップ認証装置はチップに混載可能であり、物理的にクローン不可能なチップ認証(PUC−I)を生成するものである。したがって、イーサネット(登録商標)カード(あるいはLANカード)に限らず、通信用チップ、あるいは、SIMカードなどに採用することが可能である。
上述した実施形態において、説明のために用いられたMOS型トランジスタは、一例として、第一導電型半導体基板上に作成した、二つの空間的に乖離した第二導電型拡散層と、第一導電型半導体基板上のゲート絶縁膜と、ゲート絶縁膜上のゲート電極とから構成される。同じく説明のために用いられた不揮発性メモリセルトランジスタは、一例として、第一導電型半導体基板上に作成した、二つの空間的に乖離した第二導電型拡散層と、第一導電型半導体基板上のトンネル膜と、トンネル膜上の電荷蓄積層と、電荷蓄積層上の層間絶縁膜と、層間絶縁膜上の制御ゲート電極とから構成される。同じく説明のために用いられた選択トランジスタは、一例として、前記不揮発性メモリトランジスタの層間絶縁膜の一部もしくは全てを層間導電層に置き換えたものである。あるいは、層間絶縁膜を突き抜けるように開けた縦穴に導電材を埋め込んだ導電体ビアなどを用いても良い。NOR型の素子配列では、前記二つの第二導電型拡散層のどちらか一方は、素子ごとにビット線に接続する。一方、NAND型の素子配列では、前記二つの第二導電型拡散層は、それぞれ隣の素子と共有し、基板上で直列構造となる。直列した複数の素子の更に両端に余った拡散層の一方は、ドレイン側選択ゲートを挟んでビット線に接続し、他方は、ソース側選択ゲートを挟んでソース線に接続する。また、NAND型の素子配列では、素子間に配置する第二導電型拡散層を、薄い第一導電型拡散層に置き換えたり、省略したりすることが可能である。
上述した実施形態において、説明のために用いられたPN接合986は、第一導電型の半導体と、第二導電型の半導体を接触させたものである。一例として、第一導電型の半導体基板表面に第二導電型拡散層を作成すると、両者の界面に自動的に形成される。したがって、MOS型トランジスタや不揮発性メモリトランジスタあるいは選択トランジスタにも自動的に形成されている。
上述した実施形態において、説明のために用いられたショットキー接合987は、半導体と導電体を接触させたものである。PNダイオードも、ショットキー接合も、ダイオード接合の一種である。
上記において、MOS型トランジスタ、不揮発性メモリセルトランジスタ、及びPNダイオードの構造を説明するために用いた第一導電型半導体基板は、半導体基板の広い領域に作成された第一導電型拡散層(通常ウェル)で置き換えることも可能である。
前記認証素子は、半導体製造の前工程で大量生産されるチップに作りこまれる半導体素子である。
チップ認証装置3040が生成する、物理的にクローン不可能なチップ認証(PUC−I)は、信号伝達路1000に転送する前に、一時的にキャッシュメモリなどに保存して利用することが望ましい。また、本発明の一例によれば、基幹ノードと周辺ノードが認証接続するには、まず、基幹ノードが所定のパスコードを周辺ノードに送り、その返信である出力(例えばPUCアドレスあるいはPUC−I)を該基幹ノードに事前登録する必要がある。以後、この基幹ノードは、該周辺ノードと認証接続するために前記所定のパスコードとそれに対応するPUCアドレス(あるいはPUC−I)の組み合わせを用いることになる。本発明ではPUCアドレス(あるいはPUC−I)を周辺ノードの不揮発性記憶領域に保存する必要はなく、そのため遠隔操作によって周辺ノードのPUCアドレス(あるいはPUC−I)を不正に取得したり、編集することは非常に難しくなる。また、別の一例では、基幹ノードが所有するパスコードの代わりに、周辺ノードのユーザーが所有するPINコードを用いることも可能である。更に、このPINコードは、周辺ノードのオペレーティングシステムと連動させることも可能である。例えば、オペレーティングシステムの起動や待機状態(スリープモード)からの復帰などにも用いることが可能である。
この発明によれば、電子装置のネットワークを、周辺ノードと、周辺ノードの登録状況を管理する基幹ノードとに分割し、基幹ノードは中央管理とし、中央管理の手が行き届かない周辺ノードには、半導体製造の前工程でチップ内に作り込まれる物理的チップ認証装置を含む半導体チップを搭載し、このチップ認証装置が生成する、物理的にクローン不可能なチップ認証を用いて、周辺ノードへの遠隔攻撃を効率よく未然に防ぎ、ネットワークシステム全体のセキュリティを向上し、さらに、物理的実態を伴う、物のインターネット上のノードの物理アドレスをフレキシブルに運用することが可能となる。ここで、ネットワークとは、上述した認証通信により接続されるあらゆる電子装置(ノード)間の通信接続であり、特定のシステムの内か外かに関わらない。
本発明のチップ認証装置が生成する物理的にクローン不可能なチップ認証(PUC−I)は、物理的実態を伴うチップ認証として利用することが可能であり、サプライチェーンに流通しているチップのトレーサビリティに活用したり、偽造チップ問題の対策に応用したり、MACアドレスを補完してLANの管理を容易にしたり、あるいは、MACアドレスを置き換える新しい物理アドレスをを提供することが可能である。その上、アドレス領域のビット数が可変であるため、将来のネットワーク技術の進歩に柔軟に対応することが可能となる。
なお、本発明の技術範囲は上記の実施の形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲において種々の変更を加えることが可能である。特に、携帯電話のSIMカードのようなものが物のインターネット用の周辺ノードに用いられるようなビジネスモデルに有効である。
中央管理の行き届かない周辺ノードを無数に抱えるネットワークの装置間認証を、物理的乱雑さに基づいて発生したチップ認証を用いることによって、チップレベルで安全に実現することが可能となる。
1、10 チップ
2 ファームウェア
3 認証制御デバイス
4 認証コード(ID)
5、50 外部入出力装置(I/O)
6 認証システム(従来例の一例)
11 第一の認証
12 第二の認証
13 第三の認証
21 第一のチップ認証装置
22 第二のチップ認証装置
31 入力信号誤差
32 出力信号誤差
42、102、402 入力コード
43、202、403 登録コード
60、600 チップ認証装置
71 第一のノード
72 第二のノード
73 第三のノード
74 第四のノード
75 第五のノード
80 交信シリーズ
92 第二のノードの正規使用者
110 第一のチップ
120 第二のチップ
130 第Nのチップ
140 情報機器
302、401 内部メモリ
400 基幹ノード
410 第一の周辺ノード
420 第二の周辺ノード
430 第三の周辺ノード
440 第四の周辺ノード
450 第五の周辺ノード
503 ワード線
601、605 乱数発生装置
602、606 コード発生装置
604 スクランブル装置
611 チップ認証装置セルアレイ
614 スクランブル装置セルアレイ
742 ショート判定電圧
743 非ショート判定電流値
744 ショート判定電流値
790 ページバッファ
791 ビット線接続ゲート
800、810 入出力制御モジュール
880 認証装置用制御モジュール
890 スクランブル装置モジュール
900 中間コード用バッファーモジュール
902 ビット線
910 絶縁膜
930 導電体
932 破壊判定電圧
933 破壊判定電流値
934 非破壊判定電流値
955 ゲート電極
960 認証用素子アレイ
972 行デコーダー
973 列デコーダー
977 認証素子
979 代換素子
982 キャパシタ
983 トランジスタ
984 選択トランジスタ
985 抵抗
986 PN接合
987 ショットキー接合
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 PUC−I制御装置
3040 チップ認証装置
3050 PUC/MAC変換装置
3070 物理的にクローン不可能なチップ認証(PUC−I)
3071 ベンダーコード
3072 シリアル番号
3073 PUCアドレス
3074 指示ビット
1400 第一の基幹ノード
1410 第一の共通パスコード
2400 第二の基幹ノード
2410 第二の共通パスコード
3400 第三の基幹ノード
3410 第三の共通パスコード
4101 第一の認証
4201 第二の認証
4301 第三の認証
7910 ビット線接続トランジスタ
9330、9331 破壊判定電圧値
9340、9341 非破壊判定電圧値
9811 ドレイン選択トランジスタ(SGD)

Claims (20)

  1. 複数の電子装置のネットワークユニットを含む電子装置のネットワークであって、
    前記複数の電子装置のネットワークユニットは、第一ネットワークユニット及び複数の第二ネットワークユニットを含み、前記第一ネットワークユニットは、トポロジーにより少なくとも一つの第二ネットワークユニットに接続し、
    前記ネットワークユニットは、それぞれ、基幹サーバーと、該基幹サーバーに接続される複数の周辺装置を含み、
    前記第一ネットワークユニット内において、前記基幹サーバーは、少なくとも一つのパスコードと、前記基幹サーバーと接続する個々の周辺装置に対応する複数の登録コードからなる登録コードのリストを保持し、前記登録コードは、前記パスコードに対応して前記個々の周辺装置に固有の物理的な乱雑さを利用して発生したものを事前登録によって前記基幹サーバーに保存したものであり、
    前記第一ネットワークユニットにおいて、前記複数の周辺装置は、少なくとも一つのチップを構成部品として含み、周辺装置ごとにそれぞれ異なるチップ認証装置を搭載し、
    前記チップ認証装置は、前記基幹サーバーから受信したパスコードに対応して前記チップ認証装置おのおのに固有の物理的乱雑さに基づいて生成された、それぞれ異なる出力信号を前記基幹サーバーに送信し、前記基幹サーバーは、前記個々の出力信号を、前記登録コードのリストの要素それぞれと個々に比較し、対応する個々の周辺装置の正当性を評価し、
    前記第一ネットワークユニットにおいて、前記複数のチップ認証装置は、それぞれ複数の認証素子から構成され、前記複数の認証素子は、それぞれ少なくとも同一のチップの製造工程によって一括して製造される半導体素子であり、
    前記第一ネットワークユニットにおいて、前記チップは、少なくとも一つのモジュール領域から構成され、前記認証素子は、少なくとも一つのモジュール領域内に分布し、
    おのおの認証素子のアドレスは、前記少なくとも一つのモジュール領域を構成する複数のワード線からなるワード線群、および、複数のビット線からなるビット線群によって定義され、
    前記第一ネットワークユニットにおいて、前記認証素子は、所定の電気的入力に対して、少なくとも、第一の値と、及び、第二の値とを、電気的に出力し、前記認証素子は、少なくとも二つの端子を有し、所定の読み出し電圧の入力に対して前記二つの端子の間を流れる電流値が、第一の閾電流より高いとき、第一の値を出力したとみなし、第二の閾電流より低いとき、第二の値を出力したとみなし、前記第一の閾電流は、前記第二の閾電流より高く、前記電流値が第二の閾電流より高く、第一の閾電流より低い場合、第三の値を出力したとみなし、第三の値を出力する認証素子のアドレスを、前記周辺装置が有する記憶領域の一部に記録し、
    前記第一ネットワークユニットにおいて、前記周辺装置を起動するオペレーティングシステムは、前記基幹サーバーから受信したパスコード、あるいは、前記オペレーティングシステムを起動するために用いるパスコード、に対応して前記チップ認証装置が出力する出力信号を、前記周辺装置に固有の物理的にクローン不可能なチップ認証とし、
    前記第一ネットワークユニットにおいて、前記物理的にクローン不可能なチップ認証を所定のフォーマットに加えたものを前記周辺装置の固有の物理アドレスとすることを特徴とする電子装置のネットワーク。
  2. 前記物理アドレスは、少なくとも、前記周辺装置のベンダーに割り当てられているベンダーコードおよび前記物理的にクローン不可能なチップ認証に割り当てられるビット数を示す指示ビットを、前記物理的にクローン不可能なチップ認証に添付して生成することを特徴とする請求項1に記載の電子装置のネットワーク。
  3. 前記トポロジーは前記第一ネットワークユニットの基幹サーバーを含み、前記第一ネットワークユニットの前記基幹サーバーは、前記複数の第二ネットワークユニットの基幹サーバーの少なくとも一つに接続することを特徴とする請求項1に記載の電子装置のネットワーク。
  4. 前記トポロジーは前記第一ネットワークユニットの複数の周辺装置の少なくとも一つを含み、前記周辺装置の少なくとも一つは、それぞれ、前記複数の第二ネットワークユニットの基幹サーバーの少なくとも一つに接続することを特徴とする請求項1に記載の電子装置のネットワーク。
  5. 前記トポロジーは、前記第一ネットワークユニットの基幹サーバーと、複数の周辺装置の少なくとも一つと、を含み、前記第一ネットワークユニットの前記基幹サーバーは、前記複数の第二ネットワークユニットの基幹サーバーの少なくとも一つに接続し、前記周辺装置の少なくとも一つは、それぞれ、前記複数の第二ネットワークユニットの基幹サーバーの少なくとも一つに接続することを特徴とする請求項1に記載の電子装置のネットワーク。
  6. 前記周辺装置は、入力信号に応じて物理的乱雑さに基づく信号を発生する前記チップ認証装置を搭載し、複数の基幹サーバーからそれぞれ異なる複数のパスコードを受信し、前記複数の異なるパスコードの入力に対して、それぞれ異なる信号を出力し、それぞれ複数の前記基幹サーバーに返信することを特徴とし、更に、前記周辺装置に接続する少なくとも一つの基幹サーバーは、前記周辺装置が任意の媒体から受信する入力信号をモニターし、前記周辺装置と該媒体のアクセスを制限することを特徴とする請求項1に記載の電子装置のネットワーク。
  7. 請求項1記載の認証素子を含む電子装置であって、
    前記認証素子は、第一の導電体領域と、第二の導電体領域と、前記第一及び第二の導電体領域に挟まれた絶縁膜と、から構成され、前記第一及び第二の導電体領域の少なくとも一方が、該認証素子のアドレスを定義するワード線群における一つのワード線及びビット線群における一つのビット線によってそれぞれ選択され、パルス電圧を少なくとも一回以上印加することにより、前記チップ認証装置を構成する複数の認証素子の前記絶縁膜を確率的に破壊し、前記チップ認証装置を構成する複数の認証素子の電気的特性を物理的に乱雑にすることを特徴とする電子装置。
  8. 請求項1記載の認証素子を含む電子装置であって、
    前記認証素子は、第一の導電体領域と、第二の導電体領域と、前記第一及び第二の導電体領域に挟まれたダイオード領域と、から構成され、前記第一及び第二の導電体領域の少なくとも一方が、前記認証素子のアドレスを定義するワード線群における一つのワード線及びビット線群における一つのビット線によってそれぞれ選択され、パルス電圧を少なくとも一回以上印加することにより、前記チップ認証装置を構成する複数の認証素子のダイオード領域を確率的に破壊し、前記チップ認証装置を構成する複数の認証素子の電気的特性を物理的に乱雑にすることを特徴とし、前記ダイオード領域は、すくなくとも二つの異なる電気的性質を持つ導電領域から構成される接合であり、前記接合を形成する第一の領域は第一導電型半導体であり、前記接合を形成する第二の領域は第二導電型半導体あるいは金属型導電体であることを特徴とする電子装置。
  9. 請求項1記載の認証素子を含む電子装置であって、
    前記認証素子は、第一の導電体領域と、第二の導電体領域と、前記第一及び第二の導電体領域に挟まれた絶縁膜と、前記第一の導電体領域と前記第二の導電体領域にまたがって前記絶縁膜を貫通する導電体接合部と、から構成され、前記第一及び第二の導電体領域の少なくとも一方が、前記認証素子のアドレスを定義するワード線群における一つのワード線及びビット線群における一つのビット線によってそれぞれ選択され、パルス電圧を少なくとも一回以上印加することにより、前記チップ認証装置を構成する複数の認証素子の導電体接合部を確率的に破壊し、前記チップ認証装置を構成する複数の認証素子の電気的特性を物理的に乱雑にすることを特徴とする電子装置。
  10. 請求項1記載の認証素子を含む電子装置であって、
    前記認証素子は、第一の導電体領域と、第二の導電体領域と、前記第一及び第二の導電体領域に挟まれた絶縁膜と、前記第一の導電体領域と前記第二の導電体領域の一方から前記絶縁膜に突き出す導電体先端部と、から構成され、前記第一及び第二の導電体領域の少なくとも一方が、前記認証素子のアドレスを定義するワード線群における一つのワード線及びビット線群における一つのビット線によってそれぞれ選択され、パルス電圧を少なくとも一回以上印加することにより、前記チップ認証装置を構成する複数の認証素子の導電体先端部周辺の絶縁膜を確率的に破壊し、前記チップ認証装置を構成する複数の認証素子の電気的特性を物理的に乱雑にすることを特徴とする電子装置。
  11. 請求項1記載の認証素子を含む電子装置であって、
    前記認証素子は、第一の導電体領域と、第二の導電体領域と、前記第一及び第二の導電体領域に挟まれた絶縁膜と、前記第一の導電体領域から、前記絶縁膜を貫通して前記第二の導電体領域に達する空間的な穴を開ける、開口部形成工程と、前記開口部に導電性物質を埋め込む、導電材埋め込み工程と、によって製造される導電体結線孔と、から構成され、前記第一及び第二の導電体領域の少なくとも一方が、該認証素子のアドレスを定義するワード線群における一つのワード線及びビット線群における一つのビット線によってそれぞれ選択され、前記導電体結線孔の長さの製造狙い値が、前記第一及び第二の導電体領域の間の距離に等しく、前記開口部形成工程および導電材埋め込み工程を経て製造された複数の導電体結線孔の長さが、確率的に、前記第一及び第二の導電体領域の間の距離より長く、あるいは、短く、前記チップ認証装置を構成する複数の認証素子の電気的特性を物理的に乱雑にすることを特徴とする電子装置。
  12. 請求項1記載の認証素子を含む電子装置であって、
    前記認証素子は、第一の導電体領域と、第二の導電体領域と、前記第一及び第二の導電体領域を架橋する導電性細線と、前記第一及び第二の導電体領域に挟まれ、前記導電性細線を包む絶縁膜と、から構成され、前記第一及び第二の導電体領域の少なくとも一方が、該認証素子のアドレスを定義するワード線群における一つのワード線及びビット線群における一つのビット線によってそれぞれ選択され、前記導電性細線の製造工程、あるいは、前記導電性細線を包む絶縁膜の製造工程における、製造工程上のばらつきによって、前記導電性細線が確率的に断線し、前記チップ認証装置を構成する複数の認証素子の電気的特性を物理的に乱雑にすることを特徴とする電子装置。
  13. 請求項1記載の認証素子を含む電子装置であって、
    前記認証素子は、前記チップの製造工程によって一括して製造されるMOS型トランジスタであり、前記MOS型トランジスタは、少なくとも、第一の端子、第二の端子、第三の端子を有し、前記第一の端が前記ワード線に接続し、前記第二の端子が前記ビット線に接続し、前記第三の端子が接地され、前記第二の端子と前記第三の端子は、第一導電型半導体基板、もしくは、第一導電型ウェルの表面に作成した、空間的に分離した二つの第二導電型拡散層にそれぞれ接続し、前記第一の端子は、前記第一導電型半導体基板、もしくは、前記第一導電型ウェル上のゲート絶縁膜の表面上に存在し、前記パルス電圧を前記ワード線に印加することによって、前記ゲート絶縁膜を、確率的に破壊し、更に、前記読み出し電圧を、前記ワード線に印加することによって前記ビット線もしくは前記ワード線に流れる電流を、前記第一の閾電流値および前記第二の閾電流値と比較することを特徴とする電子装置。
  14. 請求項1記載の認証素子を含む電子装置であって、
    前記認証素子は、前記チップの製造工程によって一括して製造されるMOS型トランジスタとキャパシタから構成され、前記キャパシタは、絶縁膜を第一の端子と第二の端子で挟んだものであり、前記第二の端子は接地され、前記MOS型トランジスタは、少なくとも、第三の端子、第四の端子、第五の端子を有し、前記第三の端が前記ワード線に接続し、前記第四の端子が前記ビット線に接続し、前記第五の端子が前記第一の端子に接続され、前記第四の端子と前記第五の端子は、第一導電型半導体基板、もしくは、第一導電型ウェルの表面に作成した、空間的に分離した二つの第二導電型拡散層にそれぞれ接続し、前記第三の端子は、前記第一導電型半導体基板上のゲート絶縁膜の表面上に存在し、前記ワード線と前記ビット線の間に前記MOSトランジスタをオン状態にする転送電圧を印加している間に、前記パルス電圧を前記ビット線に印加することによって、前記キャパシタの絶縁膜を、確率的に破壊し、前記転送電圧を印加している間に、前記読み出し電圧を、前記ビット線に印加することによって、前記ビッ線に流れる電流を、前記第一の閾電流値および前記第二の閾電流値と比較することを特徴とする電子装置。
  15. 請求項1記載の認証素子を含む電子装置であって、
    前記認証素子は、前記チップの製造工程によって一括して製造される不揮発性メモリの選択トランジスタであり、前記選択トランジスタは、少なくとも第一の端子、第二の端子、第三の端子、を有し、前記第一の端子が前記ワード線に接続し、前記第二の端子が前記ビット線に接続し、前記第三の端子が接地され、前記第二の端子と前記第三の端子は、第一導電型半導体基板、もしくは、第一導電型ウェルの表面に作成した、空間的に分離した二つの第二導電型拡散層にそれぞれ接続し、前記第一導電型半導体基板、若しくは、前記第一導電型ウェル上には、トンネル膜、電荷蓄積層、層間導電層、制御ゲートが順に積層され、前記第一の端子は、前記制御ゲートに接続し、前記パルス電圧を前記ワード線に印加することによって、前記トンネル膜を、確率的に破壊し、更に、前記読み出し電圧を、前記ワード線に印加することによって前記ビット線もしくは前記ワード線に流れる電流を、前記第一の閾電流値および前記第二の閾電流値と比較することを特徴とする電子装置。
  16. 請求項1記載の認証素子を含む電子装置であって、
    前記認証素子は、前記チップの製造工程によって一括して製造される、複数の不揮発性メモリの選択トランジスタを半導体基板上で直列したものであり、少なくとも、複数のゲート端子、および、一つのビット線端子を有し、前記ゲート端子は、それぞれ前記ワード線に接続され、前記ビット線端子は、前記ビット線に接続され、前記選択トランジスタは、前記半導体基板上に、トンネル膜、電荷蓄積層、層間導電層、制御ゲートが順に積層され、前記制御ゲート上に前記ゲート端子が存在し、前記パルス電圧を前記ワード線に印加することによって、前記トンネル膜を、確率的に破壊し、更に、前記読み出し電圧を、前記ワード線に印加することによって前記ビット線もしくは前記ワード線に流れる電流を、前記第一の閾電流値および前記第二の閾電流値と比較することを特徴とする電子装置。
  17. 請求項1記載の認証素子を含む電子装置であって、
    前記認証素子は、記憶素子領域と同様の少なくとも一つのモジュール領域内に共に配置され、共通のワード線群における一つのワード線及び共通のビット線群における一つのビット線によってアドレスが定義されていることを特徴とする電子装置。
  18. 請求項1記載の認証素子を含む電子装置であって、
    第一の値を出力する第一の状態に属する認証素子の割合が、第二の値を出力する第二の状態に属する認証素子の割合より、大きければ、一部あるいは全ての第一の状態に属する認証素子を選択し、電気的ストレスを印加し、反対に、第一の値を出力する第一の状態に属する認証素子の割合が、第二の値を出力する第二の状態に属する認証素子の割合より、小されば、一部あるいは全ての第二の状態に属する認証素子を選択し、電気的ストレスを印加することを特徴とする電子装置。
  19. 請求項1記載の認証素子を含む電子装置であって、
    前記認証素子は、複数のビット線と複数のワード線の交差点に配置した認証素子の集合体から構成され、外部入力から少なくとも一つのワード線を選択するデータを生成し、選択されたワード線に対応してビット線で読み出されたデータの集合を出力コードとすることを特徴とし、前記外部入力によって順次選択されるワード線の列番号の順列を入力コードとし、前記出力コードは、前記入力コードにしたがって順次選択されるワード線に連なる前記認証素子の各データを行番号順に並べた列データを、更に、前記入力コードにしたがって順次選択されるワード線の列番号に従って並べたデータの集合であることを特徴とする電子装置。
  20. 前記基幹サーバーに接続する各周辺装置の内部メモリを個々に読み出し、前記基幹サーバーに保存されている各パスコードと比較し、その比較結果はいずれも一致するものがないかどうかを判定し、いずれも一致するものがない場合、更に前記基幹サーバーに保存されているパスコードに対応する各登録コードのリスト内の各登録コードの中に一致するものがあるかどうか判定し、いずれも一致するものがない場合、前記周辺装置を公正と認可することを特徴とする請求項1に記載の複数のネットワークユニットの各基幹サーバーが行う検査工程。
JP2017134160A 2016-07-15 2017-07-07 電子装置のネットワーク、電子装置及びその検査工程 Active JP6393375B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201662362639P 2016-07-15 2016-07-15
US62/362,639 2016-07-15

Publications (2)

Publication Number Publication Date
JP2018011298A true JP2018011298A (ja) 2018-01-18
JP6393375B2 JP6393375B2 (ja) 2018-09-19

Family

ID=60941449

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2017134161A Active JP6393376B2 (ja) 2016-07-15 2017-07-07 電子装置のネットワーク、電子装置及びその検査工程
JP2017134160A Active JP6393375B2 (ja) 2016-07-15 2017-07-07 電子装置のネットワーク、電子装置及びその検査工程

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2017134161A Active JP6393376B2 (ja) 2016-07-15 2017-07-07 電子装置のネットワーク、電子装置及びその検査工程

Country Status (3)

Country Link
US (2) US10341122B2 (ja)
JP (2) JP6393376B2 (ja)
CN (2) CN107623674B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022065016A1 (ja) * 2020-09-22 2022-03-31 渡辺浩志 自動認証icチップ

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10706177B2 (en) * 2017-02-13 2020-07-07 Hiroshi Watanabe Apparatus and method for chip identification and preventing malicious manipulation of physical addresses by incorporating a physical network with a logical network
WO2018199904A1 (en) * 2017-04-24 2018-11-01 Hewlett-Packard Development Company, L.P. Operating mode configuration
CN108829905B (zh) * 2018-04-03 2023-04-14 桂林电子科技大学 一种基于布尔代数和自由度分析的基准体系合理性检验方法
JP7469757B2 (ja) * 2018-06-26 2024-04-17 日本通信株式会社 オンラインサービス提供システム
US11152313B1 (en) * 2018-07-31 2021-10-19 Synopsys, Inc. Using threading dislocations in GaN/Si systems to generate physically unclonable functions
CN109273860B (zh) * 2018-10-18 2020-11-13 哈尔滨工业大学 传输线型宽带有源频率选择表面
US11394706B2 (en) 2019-09-03 2022-07-19 Seagate Technology Llc Password-less login

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003512698A (ja) * 1999-10-22 2003-04-02 インフィネオン テクノロジーズ アクチエンゲゼルシャフト 集積回路の同定方法
JP2012043517A (ja) * 2010-08-23 2012-03-01 Renesas Electronics Corp 半導体装置
JP2012073954A (ja) * 2010-09-29 2012-04-12 Kobe Univ メモリセルアレイを用いたidチップおよびその生成方法
JP2015026408A (ja) * 2013-07-25 2015-02-05 ルネサスエレクトロニクス株式会社 半導体集積回路装置
JP2015139010A (ja) * 2014-01-20 2015-07-30 富士通株式会社 半導体集積回路、認証システム、及び認証方法
US20150234751A1 (en) * 2012-10-04 2015-08-20 Intrinsic Id B.V. System for generating a cryptographic key from a memory used as a physically unclonable function
JP2016105585A (ja) * 2014-11-21 2016-06-09 パナソニックIpマネジメント株式会社 耐タンパ性を有する不揮発性メモリ装置、集積回路カード、不揮発性メモリ装置の認証方法、不揮発性メモリ装置を用いた暗号化方法および復号化方法
JP2017169049A (ja) * 2016-03-16 2017-09-21 株式会社東芝 データ生成装置、電子デバイスおよび認証システム

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030083933A1 (en) * 2001-10-29 2003-05-01 Mcalear James A. Systems and methods for providing rewards benefits to account holders
US6777725B2 (en) * 2002-06-14 2004-08-17 Ingentix Gmbh & Co. Kg NROM memory circuit with recessed bitline
US7496647B2 (en) * 2002-12-11 2009-02-24 Broadcom Corporation Personal inter-home media exchange network
US7669236B2 (en) * 2004-11-18 2010-02-23 Biogy, Inc. Determining whether to grant access to a passcode protected system
US8817981B2 (en) * 2004-11-18 2014-08-26 Biogy, Inc. Generation of registration codes, keys and passcodes using non-determinism
US7979716B2 (en) * 2004-11-18 2011-07-12 Biogy, Inc. Method of generating access keys
CN101001442B (zh) * 2006-01-10 2011-02-02 华为技术有限公司 一种移动网络中越区切换方法及系统
CN100550804C (zh) * 2006-01-25 2009-10-14 华为技术有限公司 一种网络附着方法及网络附着系统
CN101110846B (zh) * 2007-08-29 2011-08-31 杭州华三通信技术有限公司 一种mac地址表项的管理方法和设备
US8392613B2 (en) * 2008-07-03 2013-03-05 Nokia Corporation Network address assignment
CN102129353B (zh) * 2010-01-13 2017-04-12 群联电子股份有限公司 数据写入系统与数据写入方法
KR101139630B1 (ko) 2010-12-09 2012-05-30 한양대학교 산학협력단 식별키 생성 장치 및 방법
WO2012122994A1 (en) * 2011-03-11 2012-09-20 Kreft Heinz Off-line transfer of electronic tokens between peer-devices
JP5857726B2 (ja) 2011-12-20 2016-02-10 富士通株式会社 温度センサ、暗号化装置、暗号化方法、及び個体別情報生成装置
CN103218300B (zh) * 2012-01-18 2016-01-27 群联电子股份有限公司 数据处理方法、存储器控制器与存储器储存装置
US8928347B2 (en) * 2012-09-28 2015-01-06 Intel Corporation Integrated circuits having accessible and inaccessible physically unclonable functions
US9838389B2 (en) * 2013-09-27 2017-12-05 Phison Electronics Corp. Integrated circuit, code generating method, and data exchange method
WO2016015610A1 (en) * 2014-07-28 2016-02-04 Chung Steve S A nonvoltile resistance memory and its operation thereof
JP6434744B2 (ja) * 2014-08-07 2018-12-05 ローラス株式会社 半導体バイオセンサー
JP6329510B2 (ja) * 2015-05-10 2018-05-23 渡辺 浩志 電子装置、電子装置ネットワークユニット、電子装置ネットワーク及びチップ認証方式
JP6587188B2 (ja) * 2015-06-18 2019-10-09 パナソニックIpマネジメント株式会社 乱数処理装置、集積回路カード、および乱数処理方法
JP6617924B2 (ja) * 2015-06-18 2019-12-11 パナソニックIpマネジメント株式会社 耐タンパ性を有する不揮発性メモリ装置および集積回路カード、不揮発性メモリ装置の認証方法、個体識別情報生成方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003512698A (ja) * 1999-10-22 2003-04-02 インフィネオン テクノロジーズ アクチエンゲゼルシャフト 集積回路の同定方法
JP2012043517A (ja) * 2010-08-23 2012-03-01 Renesas Electronics Corp 半導体装置
JP2012073954A (ja) * 2010-09-29 2012-04-12 Kobe Univ メモリセルアレイを用いたidチップおよびその生成方法
US20150234751A1 (en) * 2012-10-04 2015-08-20 Intrinsic Id B.V. System for generating a cryptographic key from a memory used as a physically unclonable function
JP2015026408A (ja) * 2013-07-25 2015-02-05 ルネサスエレクトロニクス株式会社 半導体集積回路装置
JP2015139010A (ja) * 2014-01-20 2015-07-30 富士通株式会社 半導体集積回路、認証システム、及び認証方法
JP2016105585A (ja) * 2014-11-21 2016-06-09 パナソニックIpマネジメント株式会社 耐タンパ性を有する不揮発性メモリ装置、集積回路カード、不揮発性メモリ装置の認証方法、不揮発性メモリ装置を用いた暗号化方法および復号化方法
JP2017169049A (ja) * 2016-03-16 2017-09-21 株式会社東芝 データ生成装置、電子デバイスおよび認証システム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022065016A1 (ja) * 2020-09-22 2022-03-31 渡辺浩志 自動認証icチップ

Also Published As

Publication number Publication date
US10177923B2 (en) 2019-01-08
CN107623675B (zh) 2020-07-14
US20180019882A1 (en) 2018-01-18
US20180019925A1 (en) 2018-01-18
CN107623675A (zh) 2018-01-23
CN107623674A (zh) 2018-01-23
US10341122B2 (en) 2019-07-02
JP6393376B2 (ja) 2018-09-19
JP2018011299A (ja) 2018-01-18
CN107623674B (zh) 2020-06-19
JP6393375B2 (ja) 2018-09-19

Similar Documents

Publication Publication Date Title
JP6393375B2 (ja) 電子装置のネットワーク、電子装置及びその検査工程
CN107819583B (zh) 密钥的防滥用技术
US11729005B2 (en) Apparatus and method for processing authentication information
US10581841B2 (en) Authenticated network
TWI590091B (zh) 電子裝置的網路單元、電子裝置的網路系統、檢查方法及晶片認證裝置的利用方法
TWI440352B (zh) 產生識別金鑰之裝置及方法
TWI592827B (zh) 電子裝置、電子裝置的網路單元、電子裝置的網路及晶片認證方法
WO2021241590A1 (ja) 電子装置のネットワーク及び電子装置
JP2021190989A (ja) 電子装置のネットワーク及び電子装置
EP3070875B1 (en) Method of physical chip identification for networks of electronic appliance
JP2022121246A (ja) 自動認証icチップ

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180514

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180529

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180713

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180731

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180824

R150 Certificate of patent or registration of utility model

Ref document number: 6393375

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250