(57)【要約】【課題】半導体チップ製造と共に一括して生産される認証素子の集団の物理的乱雑さを利用し、物理的に複製不可能なチップ認証を、物理的実態を持つネットワークノードの物理アドレスとして一意に提供する。【解決手段】ネットワークを構成する電子装置を、周辺ノードと、周辺ノードの登録情報を管理する基幹ノードの2種類に分け、基幹ノードは中央管理するものとし、周辺ノードには物理的に複製不可能なチップ認証装置を搭載し、周辺ノードの物理アドレスをチップレベルで管理することによって、ネットワーク全体の管理とセキュリティを効率的に向上させることを特徴としている。【選択図】図８８
2018011299.tif 000002
【特許請求の範囲】
【請求項１】
複数の電子装置のネットワークユニットを含む電子装置のネットワークであって、
前記複数の電子装置のネットワークユニットは、第一ネットワークユニット及び複数の第二ネットワークユニットを含み、前記第一ネットワークユニットは、トポロジーにより少なくとも一つの第二ネットワークユニットに接続し、
前記ネットワークユニットは、それぞれ、基幹サーバーと、該基幹サーバーに接続される複数の周辺装置を含み、
前記第一ネットワークユニット内において、前記基幹サーバーは、少なくとも一つのパスコードと、前記基幹サーバーと接続する個々の周辺装置に対応する複数の登録コードからなる登録コードのリストを保持し、前記登録コードは、前記パスコードに対応して前記個々の周辺装置に固有の物理的な乱雑さを利用して発生したものを事前登録によって前記基幹サーバーに保存したものであり、
前記第一ネットワークユニットにおいて、前記複数の周辺装置は、少なくとも一つのチップを構成部品として含み、周辺装置ごとにそれぞれ異なるチップ認証装置を搭載し、
前記チップ認証装置は、前記基幹サーバーから受信したパスコードに対応して前記チップ認証装置おのおのに固有の物理的乱雑さに基づいて生成された、それぞれ異なる出力信号を前記基幹サーバーに送信し、前記基幹サーバーは、前記個々の出力信号を、前記登録コードのリストの要素それぞれと個々に比較し、対応する個々の周辺装置の正当性を評価し、
前記第一ネットワークユニットにおいて、前記複数のチップ認証装置は、それぞれ複数の認証素子から構成され、前記複数の認証素子は、それぞれ少なくとも同一のチップの製造工程によって一括して製造される半導体素子であり、
前記第一ネットワークユニットにおいて、前記チップは、少なくとも一つのモジュール領域から構成され、前記認証素子は、少なくとも一つのモジュール領域内に分布し、
おのおの認証素子のアドレスは、前記少なくとも一つのモジュール領域を構成する複数のワード線からなるワード線群、および、複数のビット線からなるビット線群によって定義され、
前記第一ネットワークユニットにおいて、前記認証素子は、所定の電気的入力に対して、少なくとも、第一の値と、及び、第二の値とを、電気的に出力し、前記認証素子は、少なくとも二つの端子を有し、所定の読み出し電圧の入力に対して前記二つの端子の間を流れる電流値が、第一の閾電流より高いとき、第一の値を出力したとみなし、第二の閾電流より低いとき、第二の値を出力したとみなし、前記第一の閾電流は、前記第二の閾電流より高く、前記電流値が第二の閾電流より高く、第一の閾電流より低い場合、第三の値を出力したとみなし、第三の値を出力する認証素子のアドレスを、前記周辺装置が有する記憶領域の一部に記録し、
前記第一ネットワークユニットにおいて、前記認証素子のアドレスは、前記ワード線群と前記ビット線群の一方に割り当てられる行番号と、他方に割り当てられる列番号とから定義され、
同一の行番号に連なる認証素子の中に回復不能のエラーが発生した場合、その行番号を選択し、前記周辺装置の内部メモリに記録し、その記録内容から、前記周辺装置に固有の物理的にクローン不可能なチップ認証を生成し、
前記第一ネットワークユニットにおいて、前記物理的にクローン不可能なチップ認証を所定のフォーマットに加えたものを前記周辺装置の固有の物理アドレスとすることを特徴とする電子装置のネットワーク。
【請求項２】
前記物理アドレスは、少なくとも、前記周辺装置のベンダーに割り当てられているベンダーコードおよび前記物理的にクローン不可能なチップ認証に割り当てられるビット数を示す指示ビットを、前記物理的にクローン不可能なチップ認証に添付して生成することを特徴とする請求項１に記載の電子装置のネットワーク。
【請求項３】
前記トポロジーは前記第一ネットワークユニットの基幹サーバーを含み、前記第一ネットワークユニットの前記基幹サーバーは、前記複数の第二ネットワークユニットの基幹サーバーの少なくとも一つに接続することを特徴とする請求項１に記載の電子装置のネットワーク。
【請求項４】
前記トポロジーは前記第一ネットワークユニットの複数の周辺装置の少なくとも一つを含み、前記周辺装置の少なくとも一つは、それぞれ、前記複数の第二ネットワークユニットの基幹サーバーの少なくとも一つに接続することを特徴とする請求項１に記載の電子装置のネットワーク。
【請求項５】
前記トポロジーは、前記第一ネットワークユニットの基幹サーバーと、複数の周辺装置の少なくとも一つと、を含み、前記第一ネットワークユニットの前記基幹サーバーは、前記複数の第二ネットワークユニットの基幹サーバーの少なくとも一つに接続し、前記周辺装置の少なくとも一つは、それぞれ、前記複数の第二ネットワークユニットの基幹サーバーの少なくとも一つに接続することを特徴とする請求項１に記載の電子装置のネットワーク。
【請求項６】
前記周辺装置は、入力信号に応じて物理的乱雑さに基づく信号を発生する前記チップ認証装置を搭載し、複数の基幹サーバーからそれぞれ異なる複数のパスコードを受信し、前記複数の異なるパスコードの入力に対して、それぞれ異なる信号を出力し、それぞれ複数の前記基幹サーバーに返信することを特徴とし、更に、前記周辺装置に接続する少なくとも一つの基幹サーバーは、前記周辺装置が任意の媒体から受信する入力信号をモニターし、前記周辺装置と該媒体のアクセスを制限することを特徴とする請求項１に記載の電子装置のネットワーク。
【請求項７】
請求項１記載の認証素子を含む電子装置であって、
前記認証素子は、第一の導電体領域と、第二の導電体領域と、前記第一及び第二の導電体領域に挟まれた絶縁膜と、から構成され、前記第一及び第二の導電体領域の少なくとも一方が、該認証素子のアドレスを定義するワード線群における一つのワード線及びビット線群における一つのビット線によってそれぞれ選択され、パルス電圧を少なくとも一回以上印加することにより、前記チップ認証装置を構成する複数の認証素子の前記絶縁膜を確率的に破壊し、前記チップ認証装置を構成する複数の認証素子の電気的特性を物理的に乱雑にすることを特徴とする電子装置。
【請求項８】
請求項１記載の認証素子を含む電子装置であって、
前記認証素子は、第一の導電体領域と、第二の導電体領域と、前記第一及び第二の導電体領域に挟まれたダイオード領域とから構成され、前記第一及び第二の導電体領域の少なくとも一方が、前記認証素子のアドレスを定義するワード線群における一つのワード線及びビット線群における一つのビット線によってそれぞれ選択され、パルス電圧を少なくとも一回以上印加することにより、前記チップ認証装置を構成する複数の認証素子のダイオード領域を確率的に破壊し、前記チップ認証装置を構成する複数の認証素子の電気的特性を物理的に乱雑にし、前記ダイオード領域は、すくなくとも二つの異なる電気的性質を持つ導電領域から構成される接合であり、前記接合を形成する第一の領域は第一導電型半導体であり、前記接合を形成する第二の領域は第二導電型半導体あるいは金属型導電体であることを特徴とする電子装置。
【請求項９】
請求項１記載の認証素子を含む電子装置であって、
前記認証素子は、第一の導電体領域と、第二の導電体領域と、前記第一及び第二の導電体領域に挟まれた絶縁膜と、前記第一の導電体領域と前記第二の導電体領域にまたがって前記絶縁膜を貫通する導電体接合部とから構成され、前記第一及び第二の導電体領域の少なくとも一方が、前記認証素子のアドレスを定義するワード線群における一つのワード線及びビット線群における一つのビット線によってそれぞれ選択され、パルス電圧を少なくとも一回以上印加することにより、前記チップ認証装置を構成する複数の認証素子の導電体接合部を確率的に破壊し、前記チップ認証装置を構成する複数の認証素子の電気的特性を物理的に乱雑にすることを特徴とする電子装置。
【請求項１０】
請求項１記載の認証素子を含む電子装置であって、
前記認証素子は、第一の導電体領域と、第二の導電体領域と、前記第一及び第二の導電体領域に挟まれた絶縁膜と、前記第一の導電体領域と前記第二の導電体領域の一方から前記絶縁膜に突き出す導電体先端部とから構成され、前記第一及び第二の導電体領域の少なくとも一方が、前記認証素子のアドレスを定義するワード線群における一つのワード線及びビット線群における一つのビット線によってそれぞれ選択され、パルス電圧を少なくとも一回以上印加することにより、前記チップ認証装置を構成する複数の認証素子の導電体先端部周辺の絶縁膜を確率的に破壊し、前記チップ認証装置を構成する複数の認証素子の電気的特性を物理的に乱雑にすることを特徴とする電子装置。
【請求項１１】
請求項１記載の認証素子を含む電子装置であって、
前記認証素子は、第一の導電体領域と、第二の導電体領域と、前記第一及び第二の導電体領域に挟まれた絶縁膜と、前記第一の導電体領域から前記絶縁膜を貫通して前記第二の導電体領域に達する空間的な穴を開ける開口部形成工程と前記開口部に導電性物質を埋め込む導電材埋め込み工程とによって製造される導電体結線孔とから構成され、前記第一及び第二の導電体領域の少なくとも一方が、該認証素子のアドレスを定義するワード線群における一つのワード線及びビット線群における一つのビット線によってそれぞれ選択され、前記導電体結線孔の長さの製造狙い値が、前記第一及び第二の導電体領域の間の距離に等しく、前記開口部形成工程および導電材埋め込み工程を経て製造された複数の導電体結線孔の長さが、確率的に、前記第一及び第二の導電体領域の間の距離より長く、あるいは、短く、前記チップ認証装置を構成する複数の認証素子の電気的特性を物理的に乱雑にすることを特徴とする電子装置。
【請求項１２】
請求項１記載の認証素子を含む電子装置であって、
前記認証素子は、第一の導電体領域と、第二の導電体領域と、前記第一及び第二の導電体領域を架橋する導電性細線と、前記第一及び第二の導電体領域に挟まれ、前記導電性細線を包む絶縁膜とから構成され、前記第一及び第二の導電体領域の少なくとも一方が、該認証素子のアドレスを定義するワード線群における一つのワード線及びビット線群における一つのビット線によってそれぞれ選択され、前記導電性細線の製造工程、あるいは、前記導電性細線を包む絶縁膜の製造工程における製造工程上のばらつきによって、前記導電性細線が確率的に断線し、前記チップ認証装置を構成する複数の認証素子の電気的特性を物理的に乱雑にすることを特徴とする電子装置。
【請求項１３】
請求項１記載の認証素子を含む電子装置であって、
前記認証素子は、前記チップの製造工程によって一括して製造されるＭＯＳ型トランジスタであり、前記ＭＯＳ型トランジスタは、少なくとも、第一の端子、第二の端子、第三の端子を有し、前記第一の端が前記ワード線に接続し、前記第二の端子が前記ビット線に接続し、前記第三の端子が接地され、前記第二の端子と前記第三の端子は、第一導電型半導体基板、もしくは、第一導電型ウェルの表面に作成した、空間的に分離した二つの第二導電型拡散層にそれぞれ接続し、前記第一の端子は、前記第一導電型半導体基板、もしくは、前記第一導電型ウェル上のゲート絶縁膜の表面上に存在し、前記パルス電圧を前記ワード線に印加することによって、前記ゲート絶縁膜を確率的に破壊し、更に、前記読み出し電圧を前記ワード線に印加することによって、前記ビット線もしくは前記ワード線に流れる電流を前記第一の閾電流値および前記第二の閾電流値と比較することを特徴とする電子装置。
【請求項１４】
請求項１記載の認証素子を含む電子装置であって、
前記認証素子は前記チップの製造工程によって一括して製造されるＭＯＳ型トランジスタとキャパシタから構成され、前記キャパシタは絶縁膜を第一の端子と第二の端子で挟んだものであり、前記第二の端子は接地され、前記ＭＯＳ型トランジスタは少なくとも第三の端子、第四の端子、第五の端子を有し、前記第三の端が前記ワード線に接続し、前記第四の端子が前記ビット線に接続し、前記第五の端子が前記第一の端子に接続され、前記第四の端子と前記第五の端子は第一導電型半導体基板、もしくは、第一導電型ウェルの表面に作成した、空間的に分離した二つの第二導電型拡散層にそれぞれ接続し、前記第三の端子は、前記第一導電型半導体基板上のゲート絶縁膜の表面上に存在し、前記ワード線と前記ビット線の間に前記ＭＯＳトランジスタをオン状態にする転送電圧を印加している間に前記パルス電圧を前記ビット線に印加することによって、前記キャパシタの絶縁膜を確率的に破壊し、前記転送電圧を印加している間に前記読み出し電圧を前記ビット線に印加することによって、前記ビッ線に流れる電流を前記第一の閾電流値および前記第二の閾電流値と比較することを特徴とする電子装置。
【請求項１５】
請求項１記載の認証素子を含む電子装置であって、
前記認証素子は、前記チップの製造工程によって一括して製造される不揮発性メモリの選択トランジスタであり、前記選択トランジスタは少なくとも第一の端子、第二の端子、第三の端子を有し、前記第一の端子が前記ワード線に接続し、前記第二の端子が前記ビット線に接続し、前記第三の端子が接地され、前記第二の端子と前記第三の端子は第一導電型半導体基板、もしくは、第一導電型ウェルの表面に作成した、空間的に分離した二つの第二導電型拡散層にそれぞれ接続し、前記第一導電型半導体基板、若しくは、前記第一導電型ウェル上にはトンネル膜、電荷蓄積層、層間導電層、制御ゲートが順に積層され、前記第一の端子は前記制御ゲートに接続し、前記パルス電圧を前記ワード線に印加することによって、前記トンネル膜を確率的に破壊し、更に、前記読み出し電圧を前記ワード線に印加することによって、前記ビット線もしくは前記ワード線に流れる電流を前記第一の閾電流値および前記第二の閾電流値と比較することを特徴とする電子装置。
【請求項１６】
請求項１記載の認証素子を含む電子装置であって、
前記認証素子は、前記チップの製造工程によって一括して製造される、複数の不揮発性メモリの選択トランジスタを半導体基板上で直列したものであり、少なくとも複数のゲート端子および一つのビット線端子を有し、前記ゲート端子はそれぞれ前記ワード線に接続され、前記ビット線端子は前記ビット線に接続され、前記選択トランジスタは前記半導体基板上にトンネル膜、電荷蓄積層、層間導電層、制御ゲートが順に積層され、前記制御ゲート上に前記ゲート端子が存在し、前記パルス電圧を前記ワード線に印加することによって、前記トンネル膜を確率的に破壊し、更に、前記読み出し電圧を前記ワード線に印加することによって、前記ビット線もしくは前記ワード線に流れる電流を前記第一の閾電流値および前記第二の閾電流値と比較することを特徴とする電子装置。
【請求項１７】
請求項１記載の認証素子を含む電子装置であって、
前記認証素子は記憶素子領域と同様の少なくとも一つのモジュール領域内に共に配置され、共通のワード線群における一つのワード線及び共通のビット線群における一つのビット線によってアドレスが定義されていることを特徴とする電子装置。
【請求項１８】
請求項１記載の認証素子を含む電子装置であって、
第一の値を出力する第一の状態に属する認証素子の割合が第二の値を出力する第二の状態に属する認証素子の割合より大きければ、一部あるいは全ての第一の状態に属する認証素子を選択し、電気的ストレスを印加し、反対に、第一の値を出力する第一の状態に属する認証素子の割合が、第二の値を出力する第二の状態に属する認証素子の割合より小さければ、一部あるいは全ての第二の状態に属する認証素子を選択し、電気的ストレスを印加することを特徴とする電子装置。
【請求項１９】
請求項１記載の認証素子を含む電子装置であって、
前記認証素子は複数のビット線と複数のワード線の交差点に配置した認証素子の集合体から構成され、前記複数のビット線および前記複数のワード線のどちらか一方が行方向に配置され、回復不能のエラーが発生した認証素子を少なくとも一つ含む行番号に第一の値を対応させ、それ以外の行番号に第二の値を対応させ、前記第一の値および前記第二の値を前記行番号に従って並べた第一のコードと、外部入力に従って生成した第一の値と第二の値からなる第二のコードとを所定の方法で合成することによって前記周辺装置に固有の物理的にクローン不可能なチップ認証を生成し、出力コードとして出力することを特徴とする電子装置。
【請求項２０】
前記第一の値を割り当てられた行番号と入れ替える、前記第二の値を割り当てられた行番号が含まれるセルアレイ上の領域を指定するための情報と、前記外部入力とを、前記セルアレイ上に含まれるチップ認証装置に入力し、前記チップ認証装置が含まれるチップに固有の物理的にクローン不可能な認証として、前記出力コードを出力することを特徴とする請求項１９記載の電子装置。
【請求項２１】
前記基幹サーバーに接続する各周辺装置の内部メモリを個々に読み出し、前記基幹サーバーに保存されている各パスコードと比較し、その比較結果はいずれも一致するものがないかどうかを判定し、いずれも一致するものがない場合、更に前記基幹サーバーに保存されているパスコードに対応する各登録コードのリスト内の各登録コードの中に一致するものがあるかどうか判定し、いずれも一致するものがない場合、前記周辺装置を公正と認可することを特徴とする請求項１に記載の複数のネットワークユニットの各基幹サーバーが行う検査工程。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、イーサネット（登録商標）における電子装置間通信に用いる物理的チップ認証方式に関する。
【背景技術】
【０００２】
一般に、インターネットを用いた情報通信は、適当な大きさに切り分けられたデジタルデータの塊（プロトコル・データ・ユニット）をネットワーク上での情報端末（ノード）同士で交換することである。これらの分割されたデータの一片には、ネットワーク上での管理に必要な制御情報が付与されている。このデータの一片と制御情報の並べ方をフォーマットと呼び、フォーマットおよびその活用はプロトコルと呼ばれる一種の手続きによって規定されている。互いに情報通信する任意の２つの情報機器は、それぞれ一定の整合性を持つフォーマットのデータを扱わなければならない。
【０００３】
プロトコル・データ・ユニットの仲間でよく使われる言葉にフレーム、パケット、セグメント等がある。名称の違いは通信階層に対応して使い分けられる。
【０００４】
通信の階層構造（通信階層）は、ネットワークシステム全体の概念によって決定され、次のような構造が一般的であると認識されている。たとえば、下の階層から順に、物理層（レイヤー１）、データリンク層（レイヤー２）、ネットワーク層（レイヤー３）、トランスポート層（レイヤー４）、上位層（レイヤー５）となる。ただし、この階層構造はほんの一例に過ぎず、異なる概念の元では、たとえば、上位層を更に３分割して７階層にする場合も良く知られている。いずれにしろ、データリンク層（レイヤー２）ではプロトコル・データ・ユニットをフレームと呼び、ネットワーク層（レイヤー３）ではパケットと呼び、トランスポート層（レイヤー４）ではセグメントと呼ぶのが一般的である。
【０００５】
以下、上述の５階層を前提にして説明を続ける。
【０００６】
ネットワークを物理的実態として構成するには、ネットワークノードとなる情報機器とノード同士を接続する信号伝達路が必要である。信号伝達路は有線であっても無線であっても構わない。また、信号の種類も複数の可能性がある。大雑把に分類すると、たとえば、電気信号と光信号である。すなわち、有線・無線の電気信号伝達路または光信号伝達路が、ネットワーク上でノード同士を物理的に接続する。このような物理的な接続・伝送方式を規定するレイヤーが物理層（レイヤー１）である。
【０００７】
一般に、ネットワークの接続構造は複雑であるが、信号伝達路の両端はそれぞれ一つのノードで終端していなければならない。プロトコル・データ・ユニットは、この信号伝達路を透過するデータの塊である。従って、一つの信号伝達路の両端を終端する二つのノード（たとえば、第一のノードと第二のノード）は、それぞれ一定の整合性のあるプロトコルに従わなければならない。もし、それぞれが従うプロトコルに一定の整合性がなかった場合、この信号伝達路は、第一のノードと第二のノードを接続していないとみなされることがある。
【０００８】
図１は、プロトコル・データ・ユニットの送信の仕方を示す概念図である。プロトコル・データ・ユニットに変換（コード）される元のデジタルデータは、ネットワークの一部を構成する第一のノード２００１に入力される。第一のノード２００１とは、一例として、キーボード、マウス、ディスプレイ等のコンソールを備えた計算機端末、タブレット、携帯電話、スマートフォン、カードリーダを備えた端末、スキャナー、ネット接続機能を備えたデジタルカメラ、センサーなどである。これらの情報機器すべてがネットワークの外からなんらかの情報を取り込み、その情報をプロトコル・データ・ユニットに変換して信号伝達路１０００に送り込む。このように、ネットワークの外部と何らかのつながりを持つノードを周辺ノードとみなせる。図１の場合、第一のノード２００１が周辺ノードの一例となる。
【０００９】
周辺ノード（たとえば第一のノード２００１）では、ネットワーク外部から入力された情報をデジタル化する。続いて、所定のフォーマットに従ってプロトコル・データ・ユニット（フレーム）に変換する。あるいは、あらかじめデジタル化された情報が入力される場合、そのまま所定のフォーマットに従ってプロトコル・データ・ユニットに変換する。いずれにしろ、このプロトコル・データ・ユニットは、信号伝達路１０００を介して、この周辺ノード（たとえば第一のノード２００１）が従うフォーマットと一定の整合性のあるフォーマットに従うノードに送信される。図１の例では、第二のノード２００２が受信側のノードになる。
【００１０】
この信号伝達路１０００の反対側のノード（たとえば第二のノード２００２）では、上記プロトコル・データ・ユニットを受信し、所定のフォーマットに従って、変換前のデジタルデータに戻す作業（デコード）を行う。
【００１１】
上記第一のノード２００１が周辺ノードでない場合、第一のノード２００１は、ネットワーク内の他のノード（たとえば、第三のノード２００３）からなんらかのデジタル情報を受信する。これは、第三のノード２００３がコードしたプロトコル・データ・ユニットである。第一のノード２００１は、このプロトコル・データ・ユニットを所定のフォーマットに従って元のデジタルデータにデコードする。ここで第一のノード２００１が従う所定のフォーマットとは、第三のノード２００３が従うフォーマットと一定の整合性のあるフォーマットである。ただし、この第一のノード２００１が後述する中継器として動作する場合、第一のノード２００１はプロトコル・データ・ユニットをデコードする代わりに第一のノードに関する情報（たとえば第一のノードを経由したことを示す情報など）を添付し、信号伝達路１０００を介して第二のノード２００２に伝送する。この場合、第二のノード２００２が従う所定のフォーマットとは、第三のノード２００３が従うフォーマットと一定の整合性のあるフォーマットである。
【００１２】
まず、ネットワークの外部、あるいは、第三のノード２００３から第一のノード２００１に入力された情報は、所定のフォーマットに従ってプロトコル・データ・ユニットに変換され、信号伝達路１０００を通して第二のノード２００２に伝送される。第二のノード２００２は、第一のノードが従うフォーマットと一定の整合性のある所定のフォーマットに従って、受信したプロトコル・データ・ユニットを逆変換（デコード）し、第一のノード２００１に入力される前の元の情報を再生する。これが信号データの伝送の基本的な仕組みである。こうして、プロトコル・データ・ユニットに変換（コード）されたデータの塊はネットワーク上で送受信される。
【００１３】
上述したデータの伝送は、第一のノード２００１から第二のノード２００２への一方向のみについて説明したが、伝送の向きが逆になってもプロトコルの利用方法になんら変更はない。たとえば、図１の第一のノード２００１と第二のノード２００２を交換しても良い。その場合、まず、ネットワークの外部、あるいは、第三のノード２００３から第二のノード２００２に入力された情報は、所定のフォーマットに従ってプロトコル・データ・ユニットに変換され、信号伝達路１０００を通して第一のノード２００１に伝送される。第一のノード２００１では、所定のフォーマットに従って受信したプロトコル・データ・ユニットを逆変換し、第二のノード２００２に入力される前の元データを再生する。これについての図面は図１から自明なので省略する。
【００１４】
図２は、階層構造とデータ構造の関係を示す図面である。伝送される元の情報は、まず適当な大きさののデータの塊に分割される。今後、この分割されたデータの塊を単純にデータと呼ぶ。この時点でデータが存在する通信階層が上位層（レイヤー５）である。
【００１５】
次に、このデータにトランスミッション・コントロール・プロトコル・ヘッダー（ＴＣＰヘッダー）を付ける。ＴＣＰはトランスミッション・コントロール・プロトコルの略であり、プロトコルの一種である。こうしてＴＣＰヘッダーを付けたデータをセグメントと呼ぶ。このセグメントを扱う通信階層がトランスポート層（レイヤー４）である。
【００１６】
図１に対応する通信がトランスポート層（レイヤー４）における通信である場合、プロトコル・データ・ユニットはセグメントであり、変換プロトコルはＴＣＰである。第一のノード２００１がデータを受信すると、ＴＣＰ形式のフォーマットに従ってＴＣＰヘッダーをデータに添付し、セグメントを構成する。このセグメントは信号伝達路１０００を通して第二のノード２００２に伝送される。第二のノード２００２は、このセグメントを受信し、ＴＣＰ形式のフォーマットに従ってデコードし、元のデータを再生する。具体的には、ＴＣＰヘッダーを取り除く。
【００１７】
ネットワーク層（レイヤー３）では、セグメントにインターネット・プロトコル・ヘッダー（ＩＰヘッダ）を付与する。この場合、プロトコル・データ・ユニットはパケットと呼ばれる。プロトコルはＩＰである。バージョンによってＩＰｖ４やＩＰｖ６などがある。
【００１８】
図１に対応する通信がネットワーク層（レイヤー３）における通信である場合、プロトコル・データ・ユニットはパケットであり、変換プロトコルはＩＰｖ４やＩＰｖ６などである。第一のノード２００１がデータ（この場合セグメント）を受信すると、ＩＰｖ４形式あるいはＩＰｖ６形式などのフォーマットに従ってＩＰヘッダをセグメントに添付し、パケットを構成する。このパケットは信号伝達路１０００を通して第二のノード２００２に伝送される。第二のノード２００２は、このパケットを受信し、ＩＰｖ４形式あるいはＩＰｖ６形式等のフォーマットに従って逆変換（デコード）し、元のセグメントを再生する。具体的には、ＩＰヘッダを取り除く。あるいは、ＴＣＰヘッダーも取り除いてデータを復元することができる。
【００１９】
データリンク層（レイヤー２）では、パケットにイーサネット（登録商標）・プロトコル・ヘッダー（イーサネット（登録商標）ヘッダー）を添付する。この場合、プロトコル・データ・ユニットはフレームと呼ばれる。プロトコルはイーサネット（登録商標）である。
【００２０】
図１に対応する通信がデータリンク層（レイヤー２）における通信である場合、プロトコル・データ・ユニットはフレームである。第一のノード２００１がデータ（この場合パケット）を受信すると、イーサネット（登録商標）形式に従ってイーサネット（登録商標）ヘッダーをパケットに添付し、フレームを構成する。イーサネット（登録商標）形式では、更に、パケットが正しく届いたかどうかを確認するためフレーム・チェック・シークエンス（ＦＣＳ）を添付する。こうして生成されたフレームは信号伝達路１０００を通して第二のノード２００２に伝送される。第二のノード２００２は、このフレームを受信し、イーサネット（登録商標）形式に従って逆変換（デコード）し、元のパケットを再生する。具体的には、ＦＣＳをチェックしてパケットが正しく伝送されたかどうかを確認する。必要に応じて修復や再送依頼などの処置を施す。正しく伝送されたことが確認されたらイーサネット（登録商標）ヘッダーとＦＣＳを取り除く。
【００２１】
イーサネット（登録商標）規格では、最下層（レイヤー１）の物理層での変換、すなわち、光信号への変換や電気信号への変換も定義されることがある。変換後のフレームは１０ＢＡＳＥ‐Ｔ等の回線に渡される。
【００２２】
これらの通信階層（通信レイヤー、あるいは、レイヤー）は、それぞれ入れ子の状態になっており、各階層（あるいは、各レイヤー）はそれぞれ完全に独立している。具体的には、図２に示したとおり、レイヤー４（トランスポート層）のセグメント（データにＴＣＰヘッダーのみを添付したもの）のフォーマットは、レイヤー５（上位層）のフォーマット（データのみ）を変換せずに含んでいる。これは、セグメントがＴＣＰヘッダーと元のデータをそれぞれ不可逆的に掛け合わせることなく添付しただけの構造だからである。同様に、レイヤー３（ネットワーク層）のパケットのフォーマット（セグメントにＩＰヘッダのみを添付したもの）は、レイヤー４（トランスポート層）のフォーマット（セグメント）を変換せずに含んでいる。これは、パケットがＩＰヘッダとセグメントをそれぞれ不可逆的に掛け合わせることなく添付しただけの構造だからである。さらに、レイヤー２（データリンク層）のフレームのフォーマット（パケットにイーサネット（登録商標）ヘッダーおよびＦＣＳを添付したもの）は、レイヤー３（ネットワーク層）のフォーマット（パケット）を変換せずに含んでいる。これは、フレームが、イーサネット（登録商標）ヘッダーおよびＦＣＳとパケットを、それぞれ不可逆的に掛け合わせることなく添付しただけの構造だからである。
【００２３】
すなわち、下位の通信階層でプロトコルやフォーマットを入れ替えても、上位の通信階層にはまったく影響しない。たとえば、図２において、レイヤー３（ネットワーク層）のＩＰヘッダをＩＰｖ４からＩＰｖ６に変更してもＴＣＰヘッダーおよび元のデータ（つまりセグメント）には何の影響もない。つまり、レイヤー３（ネットワーク層）で何か変更を加えてもレイヤー４（トランスポート層）には何も影響がない。レイヤー４（トランスポート層）に影響がなければレイヤー５（上位層）にも影響がない。同様に、レイヤー４（トランスポート層）でＴＣＰヘッダーを何か別のヘッダーに置き換えても、元のデータにはまったく影響がない。つまり、レイヤー４（トランスポート層）で何か変更を加えてもレイヤー５（上位層）には影響がない。更に、イーサネット（登録商標）ヘッダーを何か別のものに置き換えても、パケットには何も影響がない。たとえば、プロトコルをイーサネット（登録商標）からポイント・トー・ポイント（ＰＰＰ）に変更してもパケットには何も変化がない。したがって、レイヤー２（データリンク層）で何か変更を加えても、レイヤー３（ネットワーク層）には何も影響がない。レイヤー３（ネットワーク層）に何も影響がなければレイヤー４（トランスポート層）にも何も影響がない。レイヤー４（トランスポート層）に何も影響がなければレイヤー５（上位層）にも何も影響がない。更に、レイヤー１（物理層）で何か変更をする。たとえば、信号伝達路を光ファイバーから無線ＬＡＮに変更する場合でも、無線ＬＡＮを介して伝達される情報の内容（この場合フレーム）は、光ファイバーで伝達される情報の内容（フレーム）となんら変わりがない。つまり、レイヤー１（物理層）で何か変更を加えてもレイヤー２（データリンク層）には何も影響がない。レイヤー２（データリンク層）に何も変更がなければレイヤー３（ネットワーク層）にも何も影響がない。レイヤー３（ネットワーク層）に何も影響がなければレイヤー４（トランスポート層）にも何も影響がない。レイヤー４（トランスポート層）に何も影響がなければレイヤー５（上位層）にも何も影響がない。こうして、下位のどの通信階層で何か変更を施しても上位のどの通信階層にも何も影響がないことが判る。これは、後の技術革新の妨げとならないような設計である。
【００２４】
一方、本発明は最下層の物理層とデータリンク層に関するものである。このような事情により、本発明が伝送されるデータに影響を及ぼすことはない。
【００２５】
同じ階層で採用されるプロトコルは一定の整合性を持っていなければならないが、階層が異なればその必要はない。すなわち、階層を設計するということは、複数のプロトコルの関係性を設計することである。上記では、物理層とデータリンク層をそれぞれ別の階層（レイヤー１とレイヤー２）としたが、別の階層概念によれば、同じイーサネット（登録商標）・プロトコルに従わせて一つの階層とみなすことも可能である。この場合レイヤー数は一つ減って４階層となる。また、トランスポート層（レイヤー４）とネットワーク層（レイヤー３）のフォーマットを合わせてＴＣＰ／ＩＰ形式と呼ぶこともある。あるいは、逆に細分化する階層の設計概念もありうる。たとえば、ＯＳＩ基本参照モデルでは、上位層を更に３つに分割し、下位からセッション層（レイヤー５）、プレゼンテーション層（レイヤー６）、アプリケーション層（レイヤー７）と階層する。
【００２６】
図１の場合おいて、ネットワーク外部から第一のノード２００１に情報が入力される場合、元の情報はそれぞれ所定の長さのデータの集まりに分割されている。データはＴＣＰ／ＩＰ形式にしたがってフォーマットされ、パケットに変換される。パケットは、イーサネット（登録商標）形式に従ってフレームに変換される。物理層（レイヤー１）では、このフレームは信号伝達路１０００の物理的実態を通して有線、無線、光、あるいは電子信号として送受信される。ここで、第一のノード２００１および第二のノード２００２は、物理的実態を持った情報機器である。次に、ネットワーク層（レイヤー３）上の第三のノード２００３から第一のノード２００１にパケットが入力される場合、このパケットはイーサネット（登録商標）形式に従ってフレームに変換され、信号伝達路１０００を介して第二のノード２００２に送信される。ここで、第一のノード２００１、第二のノード２００２、および信号伝達路１０００は、どれも物理的実態を持つ。続いて、トランスポート層（レイヤー４）上の第三のノード２００３からセグメントが第一のノード２００１に入力される場合、このセグメントはＩＰ形式に従ってパケットに変換され、ネットワーク層上の信号伝達路１０００を通して第二のノード２００２に送信される。ここで、第一のノード２００１、第二のノード２００２、第三のノード２００３は、いずれも論理的存在であり物理的実態とは関係がない。たとえば、オペレーティングシステムに割り当てられた仮想的なノードである。このとき、信号伝達路１０００も仮想的な伝達路に過ぎず、物理的実態との関連はない。すなわち、ＴＣＰ／ＩＰ形式のネットワーク（ネットワーク層）では、ノードも信号伝達路も論理的に定義された仮想的存在であり、物理的実態とは関連性がない。これに対し、イーサネット（登録商標）形式のネットワーク（データリンク層）では、ノードも信号伝達路も物理的実態を持っている。たとえば、このノードはどの端末に対応しているか？この信号伝達路はどのＬＡＮケーブルに対応しているのか？と言った問いに答えられるものである。
【００２７】
図３では、第一のノード２００１と第二のノード２００２の間を第四のノード２００４が中継している。ネットワーク外部、あるいは、第三のノード２００３から何がしかのデータがデジタル信号として第一のノード２００１に入力される。第一のノード２００１は、第一の信号伝達路１００１を介して第四のノード２００４と接続している。第四のノード２００４は、第二の信号伝達路１００２を介して第二のノード２００２に接続している。
【００２８】
第一の信号伝達路１００１を介した第一のノード２００１と第四のノード２００４との接続は、基本的に図１を用いて説明した信号伝達路１０００を介した第一のノード２００１と第二のノード２００２の間の信号伝達とほぼ同様であるが、第四のノード２００４の働きが一部異なる。すなわち、図３のように、第四のノード２００４を他の任意の２つのノードの中継器として使う場合（たとえば、第一のノード２００１と第二のノード２００２の間の中継器）、第四のノード２００４は、第一の信号伝達路１００１を介して第一のノード２００１から受信したプロトコル・データ・ユニットをデコードせず、そのまま第二の信号伝達路１００２を介して第二のノード２００２に転送することが可能である。あるいは、何らかの編集を施してから転送することが可能である。
【００２９】
こうして、ネットワークの外部、あるいは、第三のノード２００３から第一のノード２００１に入力されたデータは、第一のノード２００１で所定のフォーマットに従ってプロトコル・データ・ユニットに変換され、第一の信号伝達路１００１を通して第四のノード２００４に伝送される。第四のノード２００４は、受信したプロトコル・データ・ユニットを逆変換（デコード）することなく、第二の信号伝達路１００２を介して第二のノード２００２に伝送する。あるいは、受信したプロトコル・データ・ユニットの一部（例えばヘッダー）を編集してから第二の信号伝達路１００２を介して第二のノード２００２に伝送する。第二のノード２００２では、所定のフォーマットに従って受信したプロトコル・データ・ユニットを逆変換し、第一のノード２００１に入力される前のデータを再生する。ここで第二のノード２００２が従う所定のフォーマットとは、第一のノード２００１が従うフォーマットと一定の整合性のあるフォーマットである。
【００３０】
第四のノード２００４において、受信したプロトコル・データ・ユニットを編集してから第二の信号伝達路１００２を介して第二のノード２００２に転送する場合、より具体的には、当該レイヤーに対応するヘッダーを適当に編集してから転送する。たとえば第四のノード２００４がデータリンク層（レイヤー２）に存在する場合、フレームのイーサネット（登録商標）ヘッダーを編集して転送することが可能である。更により具体的には、少なくとも、中継器である第四のノード２００４の所定の認証を追加する。その経由地は、物理的実態を伴うアドレス（物理アドレス）として認識される。この物理アドレスのことを特にＭＡＣアドレスと呼ぶ。ＭＡＣアドレスはイーサネット（登録商標）機器（たとえばイーサネット（登録商標）カード）に固有のアドレスである。あるいはネットワーク層（レイヤー３）に存在する場合、パケットのＴＣＰ／ＩＰヘッダを編集して転送することが可能である。たとえば、少なくとも、中継器である第四のノード２００４のシステムに対応する所定の認証を追加する。いずれにしろ、こうすることで第二のノード２００２がプロトコル・データ・ユニットを受信する際、このプロトコル・データ・ユニットがどこをどう経由して来たかということを追跡できる。その経由地は物理的実態を伴わないアドレス（論理アドレス）として認識される。この論理アドレスのことを特にＩＰアドレスと呼ぶ。ＩＰアドレスは、たとえば、オペレーティングシステムに固有のアドレスである。
【００３１】
物理アドレスと論理アドレスの違いは次のような説明で自明である。たとえば、第四のノード２００４を構成する電子機器を入れ替えることを考える。その場合、入れ替え前の第四のノード２００４を構成する電子機器（旧電子機器）のオペレーティングシステムを、入れ替え後の第四のノード２００４を構成する電子機器（新電子機器）へ再インストールしなければならない。このとき、物理的実態である電子機器固有の認証である物理アドレスは変更することになる。一方、オペレーティングシステムに固有の論理アドレスは入れ替え後も第四のノード２００４のＩＰアドレスとして引き継がれる。これが論理ネットワーク（ＴＣＰ／ＩＰネットワーク）を採用する理由の一つである。
【００３２】
図１および図３の例において、第一のノード２００１と第二のノード２００２を交換することが可能である。すなわち、ネットワークの外部、あるいは、第三のノード２００３から第二のノード２００２に入力されたデータは、第二のノード２００２で所定のフォーマットに従ってプロトコル・データ・ユニットに変換され、第二の信号伝達路１００２を通して第四のノード２００４に伝送される。第四のノード２００４は、受信したプロトコル・データ・ユニットを逆変換（デコード）することなく、第一の信号伝達路１００１を介して第一のノード２００１に伝送する。あるいは、受信したプロトコル・データ・ユニットを所定の方法で編集してから第一のノード２００１に伝送する。第一のノード２００１では、所定のフォーマットに従って受信したプロトコル・データ・ユニットを逆変換（デコード）し、第二のノード２００２に入力される前のデータを再生する。ここで、第一のノード２００１が従う所定のフォーマットとは、第二のノード２００２が従うフォーマットと一定の整合性のあるフォーマットである。これについての図面は図３から自明なので省略する。ここで、所定の方法で編集するとは、たとえば、第四のノード２００４の物理アドレス、あるいは、論理アドレスを添付すること、などである。
【００３３】
ネットワーク中の各ノードにつながる信号伝達路は一つに限らない。すなわち、すでに図３で見られたように、第四のノード２００４は２つの信号伝達路（第一の信号伝達路１００１と第二の信号伝達路１００２）に接続している。図４は、別の一例である。すなわち、第一のノード２００１には、４つの信号伝達路（第一の信号伝達路１００１、第二の信号伝達路１００２、第三の信号伝達路１００３、第四の信号伝達路１００４）の一端がつながっている。それぞれ反対側の端が、第二のノード２００２、第三のノード２００３、第四のノード２００４、および第五のノード２００５に接続している。更に、第四のノード２００４が、第五の信号伝達路１００５を介して第六のノード２００６に接続している。もちろん、図４は複雑なネットワーク構造のほんの一部、あるいは、一例に過ぎない。一般には、複数のノードが別の複数のノードと接続することでより大規模かつ複雑なネットワークが構築可能である。
【００３４】
しかしながら、ネットワーク構造がいかに大規模かつ複雑であろうとも、その要素（エレメント）は２つのノードで終端された信号伝達路である（図５参照）。これは、上述したように、ネットワークの構成要素がノードと信号伝達路から構成されることに他ならない。上述したプロトコルは、このエレメントごとに定義できる。したがって、同じか、あるいは、一定の整合性を持ったプロトコルで規定された複数のエレメントの集合体は同じ通信階層に属することになる。同じ通信階層に属する複数のエレメントが互いに接続することによってローカル・エリア・ネットワーク（ＬＡＮ）を構築することが可能である。最初に発明されたＬＡＮがイーサネット（登録商標）によるネットワークであり、データリンク層（レイヤー２）を束ねるものであった。このような歴史的背景から、現在でもＬＡＮとイーサネット（登録商標）はほぼ同義語として扱われる。
【００３５】
ＬＡＮにノードとして接続する情報機器には、イーサネット（登録商標）・プロトコルに従ってそれぞれ固有の管理番号（ＭＡＣアドレス）が割り当てられている。ここで、ＭＡＣはメディア・アクセス・コントローラーの略である。すなわち、送信先と送信元それぞれのＭＡＣアドレスをイーサネット（登録商標）ヘッダー、あるいは、その一部としてパケットに添付し、さらに、ＦＣＳを添付してフレームを生成する。このとき、別の言い方をすれば、ＭＡＣアドレスでつながった（物理的実態を持つ）情報機器のネットワークがデータリンク層のネットワーク、すなわち、ＬＡＮとみなすことができる。
【００３６】
第一のノード２００１と第二のノード２００２が、それぞれイーサネット（登録商標）で繋がった情報機器だとする（図５参照）。このとき、プロトコル・データ・ユニットはフレームである。これらの２つの情報機器の間でフレームを伝送する場合、送信先の情報機器（たとえば第二のノード２００２）と送信元の情報機器（たとえば第一のノード２００１）は、共にイーサネット（登録商標）・プロトコルに従わなければならない。すなわち、第一のノード２００１の管理番号が送信元のＭＡＣアドレスであり、第二のノード２００２の管理番号が送信先のＭＡＣアドレスである。図５はネットワークのエレメントであり、実際にはもっと複雑なネットワーク構造の一部である。たとえば、図４のように、第一のノード２００１は、第二から第五までの４つのノード（２００２、２００３、２００４、２００５）と接続している。ここでは、すべてのノードが同じプロトコルに従っていると仮定する。たとえば、第一のノード２００１は、上記フレームを第一から第四の信号伝達路（１００１、１００２、１００３、１００４）を介して発信する。伝送するフレームのイーサネット（登録商標）ヘッダーに含まれる送信先ＭＡＣアドレスが、たとえば第二のノード２００２のＭＡＣアドレスであったとしよう。第三のノード２００３は、このフレームの送信先ＭＡＣアドレスを確認して受信しない。第四のノード２００４と第五のノード２００５も同様に受信しない。第二のノード２００２のみこのフレームを受信する。さらに第二のノード２００２は、送信元のＭＡＣアドレスによってこのフレームが第一のノード２００１から送られてきたものであることを確認できる。
【００３７】
第一のノード２００１でパケットをコードしてフレームを形成し、このフレームを第二のノード２００２に送付し、第二のノード２００２で受信してフレームをデコードして元のパケットを再生する場合を考えよう（たとえば、図１参照）。ネットワークの外部、あるいは、第三のノード２００３から第一のノード２００１にパケットが入力される。第一のノード２００１は、このパケットに、送信元である第一のノード２００１のＭＡＣアドレスと、送信先である第二のノードのＭＡＣアドレスを添付する。更にＦＣＳを添付してフレームを生成する。こうして生成されたフレームは、プロトコル・データ・ユニットとして信号伝達路１０００を介して第二のノード２００２に伝送される。このように、ＭＡＣアドレスに従ってフレームが送信先の情報機器（第二のノード２００２）に届いたら、送信先ではイーサネット（登録商標）・プロトコルにしたがってフレームをデコードし、データリンク層に投入する以前の送信元のデジタル情報（パケット）を再現する。ここで、ＦＣＳに従って、必要に応じて修復あるいは再送の依頼をすることが可能である。再送依頼を出さない場合、こうしてデータリンク層でのパケットの伝送が完了する。データリンク層でデコードするとは、ＭＡＣアドレスやＦＣＳなどイーサネット（登録商標）・プロトコルに従って元のデジタルデータ（パケット）に添付されていた余分なコードを取り除くことである。送信先（第二のノード２００２）では、受信したフレームの送信元の制御情報（ＭＡＣアドレス等）が確認できるので、受信したときにデコードするか、更に伝送するかを判断することが可能である。
【００３８】
再生されたデジタル情報は、ＴＣＰ／ＩＰフォーマット形式のデータの一片、すなわちパケットである。ＩＰパケットと呼ばれることもある。送信元である第一のノード２００１がコードする以前のデジタルデータと同等であるものとする。パケットは、上述したように、ネットワーク層（レイヤー３）での通信データの単位であり、ネットワーク層でのプロトコルがＩＰプロトコル（ＩＰｖ４あるいはＩＰｖ６等）である。
【００３９】
図１および図５が、データリンク層（レイヤー２）のエレメントを構成する場合、イーサネット（登録商標）ヘッダーは封筒のようなものである。送信先ＭＡＣアドレスは封筒に記載されたあて先住所であり、送信元ＭＡＣアドレスは同じく封筒に記載された送り主の住所である。ＦＣＳは内容証明のようなものとなる。ここで、封筒の中身がパケットである。したがって、イーサネット（登録商標）でコードするということは、あて先と送り主の住所を記載した封筒にパケットを封入することであり、デコードとは開封することを意味する。封筒の中身と封筒に記載された事項には何の関連性もない。これが、上述した階層の独立性に相当する。たとえば、区画整理などによって番地や町名が変更になっても封筒の中身には何の変化もないことと同じである。
【００４０】
図１および図５が、一つ上の階層（ネットワーク層）のエレメントを構成する場合、封筒はＩＰヘッダになる。ＩＰヘッダには、送信先と送信元のネットワーク層上の住所であるＩＰアドレスが含まれる。封筒の中身はセグメントであり、ＩＰヘッダを添付することが封入である。一方、ＩＰヘッダを取り除くことが開封である。実際には、更に一つ上の階層（トランスポート層）と連携してＩＰアドレスが割り振られている。この場合、封筒の中身は分割された一片のデータそのものである。
【００４１】
ＭＡＣアドレスは、実際の情報機器（物理的実態のあるノード）にそれぞれ割り振られるので、物理アドレスと呼ばれる。したがって、何がしかの物理的実態と関連付けられたデジタルデータの一片には、すべてＭＡＣアドレスが添付されている。これに対し、ＩＰアドレスは必ずしも物理的実態とは関連しない。すなわち、オペレーティングシステム等が論理的に存在を仮定したノードに対して割り振ることが可能なので、論理アドレスと呼ばれる。こうして、インターネット上を行き交う途上、一度でも物理的実態を伴う情報機器を介したデジタルデータの一片（プロトコル・データ・ユニット）には、ＩＰアドレスだけでなくＭＡＣアドレスも所定の形式で付与されることになる。
【００４２】
こうして、インターネット上の住所（例えば、パケットの送信先）であるＩＰアドレスに対して、情報機器の管理番号であるＭＡＣアドレスは通行手形のような使われ方をすることがわかる。すなわち、インターネット上のある一塊のネットワーク内（たとえばＬＡＮ）に情報を届けることを考えよう。このネットワーク内の機器、あるいは、このネットワークを管理する基幹ノードやルーターは、事前に登録された情報機器からのみフレームを受け付けるものとする。事前登録された機器から発信されたフレームかどうかを見極めるために送信元のＭＡＣアドレスを調べることになる。事前登録された送信元であることが確認された場合のみフレームを開封（デコード）し、パケットを受信する。そうでない場合はフレームを開封しない。
【００４３】
ＭＡＣアドレスは、情報機器に搭載されているイーサネット（登録商標）カードに固有の管理番号として割り当てられている。電気電子技術者学会（ＩＥＥＥ）によって標準化され、長さ４８ビット（６バイト）、したがって情報量およそ２８０兆もの０と１の数列からなる。このうち１ビットはＵ／Ｌビットと呼ばれるものに割り当てられる。ＭＡＣアドレスがグローバルアドレスの場合、Ｕ／Ｌビットは１である。そうでない場合０である。すなわち、グローバルアドレス（Ｕ／Ｌビット＝１）の場合では、全世界で重複を起こさないよう、ＭＡＣアドレスを割り当てられなければならない。ここで注意すべきことは、現在現役で使用されている情報機器だけでなく、すでに廃棄されたり紛失したり使用されなくなってしまった情報機器にまで渡って全世界で重複しないよう、ＭＡＣアドレスを割り当てられなければならないことである。これは、ＭＡＣアドレスが物理的実態を伴う個々の情報機器に割り当てられるからである。この４８ビットの内、別の１ビットはＩ／Ｇビットと呼ばれるものに割り当てられる。Ｉ／Ｇビットが０の場合、ユニキャスト通信を意味し、１の場合はマルチキャスト通信を意味する。ユニキャスト通信とは、情報機器のネットワークの中において単一の送信先を指定してフレームを送信することである。これに対しマルチキャスト通信とは、情報機器のネットワークの中において、複数の送信先を指定してフレームを送信することである。こうして、４８ビットの内Ｕ／ＬビットとＩ／Ｇビットの２ビットを除いた４６ビットが実際に割り当てられるＭＡＣアドレスの自由度ということになる。数にしておよそ７０兆ほどである。ＭＡＣアドレスを表記するには、このＵ／ＬビットとＩ／Ｇビットを含む４８ビットの数列を８ビットごとに区切ってそれぞれ１６進数で表す。
【００４４】
図６に、イーサネット（登録商標）カードの典型例を図示する。イーサネット（登録商標）カード３０００は、主に、ＭＡＣアドレスを保存した不揮発性メモリチップ３０１０とメディア・アクセス・コントローラー（ＭＡＣ）用演算処理チップ３０２０から構成される。イーサネット（登録商標）カードは、一般に、ＬＡＮなどを介して情報機器を相互接続するために情報機器に搭載して用いる。そのため、本来はＬＡＮボード、あるいは、ＬＡＮカードと呼ばれる。しかしながら、ＬＡＮカードやＬＡＮボードの規格がほとんどの場合イーサネット（登録商標）規格に準拠しているので、イーサネット（登録商標）カードとＬＡＮカードはほぼ同義で呼ばれることが多い。図６は、プリンター、ルーター、あるいは、デスクトップパソコンなどに搭載して使用する場合をイメージした例である。イーサネット（登録商標）カードの背面にはイーサネット（登録商標）コネクタがあり、イーサネット（登録商標）カードを搭載した情報機器の背面にこのイーサネット（登録商標）コネクタがむき出しになる。このイーサネット（登録商標）コネクタにＬＡＮケーブルを差し込む。あるいは、アンテナを付けて無線ＬＡＮに接続する。他の情報機器に搭載する場合も基本構成はこれとさして変わらない。
【００４５】
情報機器をブートする際、あるいは、有線無線に関わらず情報機器をネットワークに接続する際、情報機器のオペレーティングシステムがイーサネット（登録商標）カードに内蔵された不揮発性メモリ３０１０からＭＡＣアドレスを読み出す。情報機器の中央演算処理装置は、このＭＡＣアドレスをイーサネット（登録商標）カードに内蔵のメディア・アクセス・コントローラー（ＭＡＣ）用演算処理チップ３０２０に書き込む。この情報機器（送信元）からネットワークに接続した別の情報機器（送信先）にデータを送信するとき、このメディア・アクセス・コントローラー（ＭＡＣ）用演算処理チップ３０２０に書き込まれたＭＡＣアドレスが、送信元のＭＡＣアドレスとしてフレームに添付される。こうしてオペレーティングシステムが情報機器と関わりなく勝手にＭＡＣアドレスを設定するのではなく、物理的実態である情報機器（実際にはイーサネット（登録商標）カード）に依存したアドレスが割り当てられる。
【００４６】
このようにイーサネット（登録商標）カードとは、情報機器をネットワークに接続するために使用されるネットワークカードの一種である。すなわち、一つの情報機器は少なくとも一つのイーサネット（登録商標）カードを必要とし、各イーサネット（登録商標）カードにはそれぞれＭＡＣアドレスが割り当てられている。インターネットに接続する情報機器の数が全世界で増大するにつれ、過去に使用された情報機器も含めて割り当てられた（使用済み）ＭＡＣアドレスの数も増大する。
【００４７】
そうした中、２１世紀に入り情報通信産業は飛躍的な進歩を遂げ、近年は更なる巨大マーケットを創出しつつある。従来の情報端末のみならず、家電、家、車などすべてのモノがネットワークに接続するインターネット・オブ・シングス（Internet of Things, IoT）、あるいは、物のインターネットが出現すると期待されている。それは既存のどの市場にも属さず、社会基盤そのものを変革する可能性を秘めている。
【００４８】
このように超巨大な物のインターネットでは、ネットワークに接続する情報機器の数が数兆個から数十兆個にまで上ると考えられ、近い将来、トリリオンノードの時代が来ると期待されている。トリリオンノードの考え方では、ネットワークに接続したセンサーを全世界に数兆個以上張り巡らし、これまでになく詳細で大量のデータを収集し、高度な計算技術で解析することで多くの社会問題の解決に寄与できるとしている。この構想は２０１３年に開催されたTSensors Summitという学会からから世界に広まった（たとえば、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を参照されたい。）。
【００５８】
たとえば、工場内には多数の製造装置が製造ライン上に並び、連携して製品を製造する。製品の良品率を上げるため、個々の製造装置の調整をするとともに、これらの製造装置同士の連携を最適化させる必要がある。このような効率を上げるため、すべての製造装置がコンピュータによって管理されるが、そのためにはすべての製造装置をネットワークに接続する必要がある。製造装置は小さいものから大きいものまであり、大きいものは部位ごとに細分化されそれぞれネットワークに接続される。工場が高度化し大規模化するに従い、ネットワークも大きくなる。従来型の情報技術では、作業を行うのはコンピュータープログラムであった。これに対し、物のインターネットでは、連携制御をコンピュータープログラムに任せているとはいえ、実際の作業を行うのは物理的実態を持った機械や装置である。
【００５９】
現在こうした物理的実態を持った情報端末にはＭＡＣアドレスが割り振られている。上述したような重複によって思わぬ誤動作を起こしたり、悪意のあるハッカーによるハッキングによって工場そのものが機能停止に追い込まれたりする危険性がある。主要産業の工場の全面的機能停止は、国家レベルの安全保障の問題である。被害額は、大規模な自然災害やミサイルなどによる直接攻撃の結果に匹敵するだろう。
【００６０】
一方、従来のインターネット上の情報通信におけるセキュリティとは、たとえば図５の信号伝達路１０００を送受信するデータを暗号化して盗難から防ぐことや、アカウントとパスコードの組み合わせなどによって基幹ノードへの不正アクセスを防ぐことに主眼が置かれている。いずれにしろ暗号技術であり、図５の信号伝達路１０００の両端がどのような物理的実態なのかを問題にすることは不可能である。これは、事実上、インターネットが論理ネットワークだからである。しかしながら、物のインターネットでは、データの送信元と送信先がそれぞれ物理的実態のある物として認識されなければならない。信号伝達路の両端に接続している物理的実態を含めた物理的認証が必要になる。
【先行技術文献】
【特許文献】
【００６１】
【特許文献１】特許公開２００９−５１９４７３号公報
【特許文献２】特開２０１５−２０１８８４号公報
【特許文献３】国際公開第ＷＯ２０１１１１８５４８号明細書
【特許文献４】特開２０１３−１３１８６８号公報
【特許文献５】特開２０１５−１３９０１０号公報
【非特許文献】
【００６２】
【非特許文献１】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.
【発明の概要】
【発明が解決しようとする課題】
【００６３】
このように、ＭＡＣアドレスとは、平たく言えば、物理的実態を持つイーサネット（登録商標）カードの編集可能なデジタル認証である。そこで、これを物のインターネットのデジタル認証として活用する方法が考えられる。しかしながら、これまでに見てきたように、ＭＡＣアドレスには枯渇の問題があり、編集可能であるということ自体が問題である。これは、図６に示すように、ＭＡＣアドレスが元々不揮発性メモリに記録される４８ビットのコードだからである。
【００６４】
本発明は上記事情を鑑みて成されたものであり、真に物理的実態に対して一意に割り当てられ、編集不可能で、物のインターネットの時代になっても認証数が枯渇する懸念のない物理アドレスを提供することを目的とする。
【課題を解決するための手段】
【００６５】
本発明は、上記課題を解決するため、以下の手段を採用する。
【００６６】
本発明による電子装置のネットワークは、複数の電子装置のネットワークユニットを含む。前記複数の電子装置のネットワークユニットは第一ネットワークユニット及び複数の第二ネットワークユニットを含み、前記第一ネットワークユニットはトポロジーにより少なくとも一つの第二ネットワークユニットに接続する。前記ネットワークユニットは、それぞれ、基幹サーバーと、該基幹サーバーに接続される複数の周辺装置を含む。前記第一ネットワークユニット内において、前記基幹サーバーは少なくとも一つのパスコードと、前記基幹サーバーと接続する個々の周辺装置に対応する複数の登録コードからなる登録コードのリストを保持し、前記登録コードは、前記パスコードに対応して前記個々の周辺装置に固有の物理的な乱雑さを利用して発生したものを事前登録によって前記基幹サーバーに保存したものである。前記第一ネットワークユニットにおいて、前記複数の周辺装置は少なくとも一つのチップを構成部品として含み、周辺装置ごとにそれぞれ異なるチップ認証装置を搭載する。前記チップ認証装置は、前記基幹サーバーから受信したパスコードに対応して、前記チップ認証装置おのおのに固有の物理的乱雑さに基づいて生成された、それぞれ異なる出力信号を前記基幹サーバーに送信し、前記基幹サーバーは、前記個々の出力信号を前記登録コードのリストの要素それぞれと個々に比較し、対応する個々の周辺装置の正当性を評価する。前記第一ネットワークユニットにおいて、前記複数のチップ認証装置はそれぞれ複数の認証素子から構成され、前記複数の認証素子はそれぞれ少なくとも同一のチップの製造工程によって一括して製造される半導体素子である。前記第一ネットワークユニットにおいて、前記チップは少なくとも一つのモジュール領域から構成され、前記認証素子は少なくとも一つのモジュール領域内に分布する。おのおのの認証素子のアドレスは、前記少なくとも一つのモジュール領域を構成する複数のワード線からなるワード線群、および、複数のビット線からなるビット線群によって定義される。前記第一ネットワークユニットにおいて、前記認証素子は所定の電気的入力に対して少なくとも第一の値と第二の値とを電気的に出力し、前記認証素子は少なくとも二つの端子を有し、所定の読み出し電圧の入力に対して前記二つの端子の間を流れる電流値が第一の閾電流より高いとき、第一の値を出力したとみなし、第二の閾電流より低いとき、第二の値を出力したとみなし、前記第一の閾電流は前記第二の閾電流より高く、前記電流値が第二の閾電流より高く、第一の閾電流より低い場合、第三の値を出力したとみなし、第三の値を出力する認証素子のアドレスを前記周辺装置が有する記憶領域の一部に記録する。前記第一ネットワークユニットにおいて、前記周辺装置を起動するオペレーティングシステムは、前記基幹サーバーから受信したパスコード、あるいは、前記オペレーティングシステムを起動するために用いるパスコードに対応して、前記チップ認証装置が出力する出力信号を前記周辺装置に固有の物理的にクローン不可能なチップ認証とする。前記第一ネットワークユニットにおいて、前記物理的にクローン不可能なチップ認証を所定のフォーマットに加えたものを前記周辺装置の固有の物理アドレスとする。
【００６７】
また、本発明の別の態様による電子装置のネットワークは、複数の電子装置のネットワークユニットを含む。前記複数の電子装置のネットワークユニットは第一ネットワークユニット及び複数の第二ネットワークユニットを含み、前記第一ネットワークユニットはトポロジーにより少なくとも一つの第二ネットワークユニットに接続する。前記ネットワークユニットは、それぞれ、基幹サーバーと、該基幹サーバーに接続される複数の周辺装置を含む。前記第一ネットワークユニット内において、前記基幹サーバーは少なくとも一つのパスコードと、前記基幹サーバーと接続する個々の周辺装置に対応する複数の登録コードからなる登録コードのリストを保持し、前記登録コードは、前記パスコードに対応して、前記個々の周辺装置に固有の物理的な乱雑さを利用して発生したものを事前登録によって前記基幹サーバーに保存したものである。前記第一ネットワークユニットにおいて、前記複数の周辺装置は少なくとも一つのチップを構成部品として含み、周辺装置ごとにそれぞれ異なるチップ認証装置を搭載する。前記チップ認証装置は、前記基幹サーバーから受信したパスコードに対応して前記チップ認証装置のおのおのに固有の物理的乱雑さに基づいて生成された、それぞれ異なる出力信号を前記基幹サーバーに送信し、前記基幹サーバーは、前記個々の出力信号を前記登録コードのリストの要素それぞれと個々に比較し、対応する個々の周辺装置の正当性を評価する。前記第一ネットワークユニットにおいて、前記複数のチップ認証装置はそれぞれ複数の認証素子から構成され、前記複数の認証素子はそれぞれ少なくとも同一のチップの製造工程によって一括して製造される半導体素子である。前記第一ネットワークユニットにおいて、前記チップは少なくとも一つのモジュール領域から構成され、前記認証素子は、少なくとも一つのモジュール領域内に分布し、
おのおの認証素子のアドレスは、前記少なくとも一つのモジュール領域を構成する複数のワード線からなるワード線群、および、複数のビット線からなるビット線群によって定義される。前記第一ネットワークユニットにおいて、前記認証素子は、所定の電気的入力に対して、少なくとも第一の値と第二の値とを電気的に出力し、前記認証素子は少なくとも二つの端子を有し、所定の読み出し電圧の入力に対して前記二つの端子の間を流れる電流値が第一の閾電流より高いとき、第一の値を出力したとみなし、第二の閾電流より低いとき、第二の値を出力したとみなし、前記第一の閾電流は前記第二の閾電流より高く、前記電流値が第二の閾電流より高く、第一の閾電流より低い場合、第三の値を出力したとみなし、第三の値を出力する認証素子のアドレスを前記周辺装置が有する記憶領域の一部に記録する。前記第一ネットワークユニットにおいて、前記認証素子のアドレスは前記ワード線群と前記ビット線群の一方に割り当てられる行番号と、他方に割り当てられる列番号とから定義される。同一の行番号に連なる認証素子の中に回復不能のエラーが発生した場合、その行番号を選択し、前記周辺装置の内部メモリに記録し、その記録内容から前記周辺装置に固有の物理的にクローン不可能なチップ認証を生成する。前記第一ネットワークユニットにおいて、前記物理的にクローン不可能なチップ認証を所定のフォーマットに加えたものを前記周辺装置の固有の物理アドレスとする。
【００６８】
さらに、本発明の別の態様による電子装置のネットワークは、複数の電子装置のネットワークユニットを含む。前記複数の電子装置のネットワークユニットは、第一ネットワークユニット及び複数の第二ネットワークユニットを含み、前記第一ネットワークユニットは、トポロジーにより少なくとも一つの第二ネットワークユニットに接続する。前記ネットワークユニットは、それぞれ、基幹サーバーと、該基幹サーバーに接続される複数の周辺装置を含む。前記第一ネットワークユニット内において、前記基幹サーバーは、少なくとも一つのパスコードと、前記基幹サーバーと接続する個々の周辺装置に対応する複数の登録コードからなる登録コードのリストを保持し、前記登録コードは、前記パスコードに対応して前記個々の周辺装置に固有の物理的な乱雑さを利用して発生したものを事前登録によって前記基幹サーバーに保存したものである。前記第一ネットワークユニットにおいて、前記複数の周辺装置は少なくとも一つのチップを構成部品として含み、周辺装置ごとにそれぞれ異なるチップ認証装置を搭載する。前記チップ認証装置は、前記基幹サーバーから受信したパスコードに対応して、前記チップ認証装置のおのおのに固有の物理的乱雑さに基づいて生成された、それぞれ異なる出力信号を前記基幹サーバーに送信し、前記基幹サーバーは、前記個々の出力信号を、前記登録コードのリストの要素それぞれと個々に比較し、対応する個々の周辺装置の正当性を評価する。前記第一ネットワークユニットにおいて、前記複数のチップ認証装置はそれぞれ複数の認証素子から構成され、前記複数の認証素子はそれぞれ少なくとも同一のチップの製造工程によって一括して製造される半導体素子である。前記第一ネットワークユニットにおいて、前記チップは少なくとも一つのモジュール領域から構成され、前記認証素子は少なくとも一つのモジュール領域内に分布する。おのおのの認証素子のアドレスは、前記少なくとも一つのモジュール領域を構成する複数のワード線からなるワード線群、および、複数のビット線からなるビット線群によって定義される。前記第一ネットワークユニットにおいて、前記認証素子は、所定の電気的入力に対して、少なくとも第一の値と第二の値とを電気的に出力し、前記認証素子は少なくとも二つの端子を有し、所定の読み出し電圧の入力に対して前記二つの端子の間を流れる電流値が、第一の閾電流より高いとき、第一の値を出力したとみなし、第二の閾電流より低いとき、第二の値を出力したとみなし、前記第一の閾電流は前記第二の閾電流より高く、前記電流値が第二の閾電流より高く、第一の閾電流より低い場合、第三の値を出力したとみなし、第三の値を出力する認証素子のアドレスを前記周辺装置が有する記憶領域の一部に記録する。前記第一ネットワークユニットにおいて、所定の電気的入力に対して前記チップ認証装置が出力する第一の値および第二の値はブール代数に従う。前記第一ネットワークユニットにおいて、前記認証素子のアドレスは前記ワード線群と、前記ビット線群の一方に割り当てられる行番号と、他方に割り当てられる列番号とから定義され、各行番号に代換素子を割り当てる。前記第一ネットワークユニットにおいて、同一の行番号に連なる複数の認証素子が出力する第一の値あるいは第二の値に、２進法に基づいた所定の演算を施し、その結果が第一の値である場合前記行番号に対応する代換素子に前記第一の値と第二の値の一方を割り当て、その結果が第二の値である場合、前記行番号に対応する代換素子に前記第一の値と第二の値の他方を割り当てる。その行番号に対応して前記代換素子に割り当てたデータを並べた数列を、前記周辺装置に固有の物理的にクローン不可能なチップ認証とする。前記第一ネットワークユニットにおいて、前記物理的にクローン不可能なチップ認証を所定のフォーマットに加えたものを前記周辺装置の固有の物理アドレスとする。
【発明の効果】
【００６９】
本発明によれば、真に物理的実態に対して一意に割り当てられ、編集不可能で、物のインターネットの時代になっても認証数が枯渇する不安のない物理アドレスを提供することが可能となる。
【００７０】
図７は、本発明の実施例による情報機器１４０の基本構成を概念的に示した図面である。たとえば、複数の（たとえばＮ個の）半導体チップ（第一のチップ１１０、第二のチップ１２０…第Ｎのチップ１３０）が搭載されている。図８は、この情報機器１４０を第一のノード２００１とし、信号伝達路１０００を介して第二のノード２００２と接続する場合を図示したものである。第一のノード２００１内の、第一のチップ１１０は、外部入出力装置（Ｉ／Ｏ）５０を通して信号伝達路１０００に接続している。ここで、第一のチップ１１０は、チップ認証装置６０を搭載している
【００７１】
本発明によるチップ認証装置６０は、外部入出力装置５０から受け取るコール（入力信号）に応じてその都度出力信号を発生するものであり、発生された出力信号は物理的乱雑さを利用して生成されるものである。また、入力信号を変えると出力信号も変わるという特徴を有している。この点で、図６で説明したＭＡＣアドレスとは根本的に異なるものである。すなわち、ＭＡＣアドレスは、不揮発性メモリチップ３０１０に保存されたデータであり、入力信号によって出力を変更するような機能を持つものではない。
【００７２】
《物理的にクローン不可能な機能》
このような機能として近年注目を集めている技術は、物理的にクローン不可能な機能（ＰＵＦ）と呼ばれるものである。これは、指紋や網膜などの生体情報を用いて人の個人認証を行うのと同様に、半導体のチップにおいても、一つ一つ異なる物理的特性を用いてチップの個体認証行うものである。要求される主な特徴は、（１）同一のＰＵＦに異なる入力をすれば、常に異なる出力をすること、（２）同一の入力をした異なるＰＵＦは、常に異なる出力をすること、（３）入力と出力の組み合わせを盗まれても、未知の入力に対する出力は予測不可能であること、（４）入力と出力の関係が安定していて信頼できること、である。この中で、条件（４）は半導体のチップが量産品である限り特に自明である。
【００７３】
ＩＣチップ製品（半導体チップ製品）の場合、パッケージ剤の化学光学的性質を用いたＰＵＦを利用するもの（コーティングＰＵＦ）（特許公開２００９-５１９４７３号公報参照）と、チップそのものに依存したＰＵＦを利用するもの（チップＰＵＦ）がある。特に近年では、チップ内に保存された暗号鍵の盗難や偽造チップの問題が注目されていることもあり、後者、すなわちＰＵＦをチップ内に搭載する技術への注目度が高い。たとえば、暗号鍵と、適当に選んだ入力コードに対応してＰＵＦが出力するＰＵＦデータとをアクティブコード生成装置に入力し、生成したアクティブコードを内部メモリに保存する方法がある。アクティブコードの生成は、チップの出荷前か事前登録の際に一回のみ行うものとし、その後は必要に応じてチップ内に保存したアクティブコードとＰＵＦデータを鍵生成装置に入力してその都度暗号鍵をチップ内で生成する。この方法では、暗号鍵も、暗号鍵を生成するために使用した入力コードも、内部メモリに保存する必要はない。したがって、チップが暗号処理をしている間にハックされない限り、暗号鍵を盗まれる心配はない。一方、アクティブコードを盗まれる可能性はあるが、アクティブコードのみ盗んでも、ＰＵＦデータがなければ暗号鍵を複製できない仕組みである。すなわち、ＰＵＦデータを取得するために使用した入力コードがわからない限り、上記（１）と（３）の条件が暗号鍵の複製を防ぐことになる。このように、暗号鍵の複製を非常に困難にするのがＰＵＦを利用するメリットの一つである。
【００７４】
しかしながら、今最も注目されているＰＵＦの使い方はＩＣチップの個体認証である。これには上記（２）の条件が必須である。つまり、ＰＵＦは、入力するリード信号（この場合、入力コード）に対し、チップに固有の認証（ＰＵＦデータ）を出力しなければならない。
【００７５】
さらに、物のインターネットにおいては、ノード数は数兆個を遥かに超えることが予想されるので、ＰＵＦが個別認証すべき個体数も桁違いに大きくなる。すなわち、上記ＰＵＦの条件（１）−（４）に次の条件を追加すべきである。すなわち、（５）一つの入力に対する出力のパターンが現実的に無限と見なせるほど大きな数となること、である。こうして、超巨大な物のインターネットでチップの物理的認証を実現するためにＰＵＦを活用することが可能である。
【００７６】
ここで、コーティングＰＵＦが（１）−（５）の条件を満たしていたとしよう。コーティングＰＵＦの読み出しは、パッケージに光学的刺激を与えることにより行われる。これは、ネットワークを介して（電子的に）チップの個別認証を読み出すことはできないことを意味している。したがって、更に次の条件を付加すべきである。すなわち、（６）ネットワーク上のチップ認証はチップＰＵＦでなければならない。
【００７７】
上記条件（６）を満たすチップＰＵＦは大きく分けて２種類報告されている。一方は回路のばらつきを利用した回路ＰＵＦであり、もう一方は回路以外の微細構造のばらつきを応用したもの（製造ＰＵＦ）（特開２０１５−２０１８８４号公報参照）である。回路ＰＵＦは、更に、回路の配線遅延を利用するもの（遅延ＰＵＦ）（国際公開第ＷＯ２０１１１１８５４８号明細書参照）と、回路のメタスタビリティを利用するもの（メタスタビリティＰＵＦ）（特開２０１３−１３１８６８号公報参照）に分かれる。遅延ＰＵＦとは、ＩＣ内で同様の設計仕様で集積化された複数の回路の動作時間に関する制御不能のばらつきを利用するものである。利用される回路の代表例は、アービター回路、グリッチ回路、リング発振回路などである。メタスタビリティＰＵＦで使用される回路は、主にスタティックランダムアクセスメモリ（以下ＳＲＡＭ）とラッチ回路（バタフライＰＵＦ）である。
【００７８】
回路ＰＵＦの弱点は、まず個体差が小さいことである。これは条件（５）を満たすのに不利である。そして出力が不安定であり、条件（４）を満たすのに不利である。更に温度変化などの外部環境に影響されやすく、フォールト攻撃に弱い。そのため増幅回路や温度センサー回路などを追加する必要がある。こうして設計への負荷が高くなり、ＰＵＦデータの長さへの制限が大きくなる。すなわち、上記条件（５）を満たすことが非常に難しい。ＰＵＦデータそのものが短ければ、たとえ出力がランダムであっても、認証付けられるチップの数が制限される。
【００７９】
製造ＰＵＦでは、意図的に集積化された層間バイアの製造ばらつきに起因するランダムな断線などが利用される。回路ＰＵＦの弱点の多くを解消できる可能性があるが、従来の半導体製品に含まれない特殊な構造を集積化する必要があり、一般的に製造工程への負荷が大きくなる。やはりＩｏＴ全般に向けて普及するにはハードルが高いと言える。
【００８０】
そのほか、デバイスの信頼性を利用するもの（特開２０１５−１３９０１０号公報参照）も提案されているが、信頼性そのものが低く、条件（４）を満たさない。また、電源オン時のダイナミックランダムアクセスメモリ（以下、ＤＲＡＭ）のキャパシタのばらつきを利用するもの（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. 参照）も報告されている。これは、原理的にラッチ回路ＰＵＦと共通の問題を抱えている。すなわち、個体差が小さく、環境要因の変化を利用したフォールト攻撃に弱い。
【００８１】
上述のように、個々に解決すべき問題はあるものの、ＰＵＦの機能そのものは、ネットワークの相互のつながりの中でＭＡＣアドレスを利用せずに物理的実態を持つノードの最小単位（半導体チップ）の物理的認証を実現するのに有効であると考えられる。たとえば一例として、図８のように、本発明のチップ認証装置６０を有する第一のチップ１１０を搭載する第一のノード２００１が、信号伝達路１０００を通して、第二のノード２００２とデータを交換（交信）する場合を考えよう。
【００８２】
たとえば、第二のノード２００２は、何らかの形式で接続された第一のノード２００１を認識するために信号Ａ、信号Ｂ、信号Ｃ、…を入力コードとして、信号伝達路１０００を介して第一のノード２００１に搭載されるチップ認証装置６０に与える。チップ認証装置６０は、それぞれ信号Ａ１、信号Ｂ１、信号Ｃ１、…を出力コードとして信号伝達路１０００を介して第二のノード２００２に返す。ここで、第二のノード２００２は、第一のノード２００１を、「信号Ａの入力に対して信号Ａ１の出力を返し、信号Ｂの入力に対して信号Ｂ１の出力を返し、信号Ｃの入力に対して信号Ｃ１の出力を返し、…」という装置であると認識する。この場合、（Ａ、Ｂ、Ｃ、…：Ａ１、Ｂ１、Ｃ１、…）であらわされる数列を交信シリーズと呼ぶ。あるいは、別の場合では、第二のノード２００２は第一のノード２００１を「信号Ｆの入力に対して信号Ｆ１の出力を返し、信号Ａの入力に対して信号Ａ１の出力を返し、信号Ｋの入力に対して信号Ｋ１の出力を返し、…」と認識する。この場合の交信シリーズは、（Ｆ、Ａ、Ｋ、…：Ｆ１、Ａ１、Ｋ１、…）であらわされる。しかしながら、このような交信はすべての可能な入力信号に対して行わなくても良い。入力信号のパターン（入力コード）は無限にあり、特定の装置に対してそのすべてを行うことは不毛である。むしろ入力信号のパターン数が無限にあることは、第一のノード２００１にネット接続しうる装置の数を無制限にすることに有用である。こうして、第一のノード２００１を第二のノード２００２に最初に接続する際、第二のノード２００２は、第一のノード２００１を登録することになる。この登録は、第二のノード２００２の正規の使用者か、或いは、第二のノード２００２の正規の使用者から正規に権限を委譲された者が行うことが望ましい。
【００８３】
《物理層での通信方法》
図９の例では、第二のノード２００２の正規の使用者９２が、自ら所有する第一のノード２００１を使って第二のノード２００２を操作する例を説明している。第一のノード２００１と第二のノード２００２は、信号伝達路１０００を介して成立する交信シリーズ８０を用いて交信（接続）し、連携して第二のノード２００２の正規の使用者９２の目的とする仕事を行う。ここで、第二のノード２００２の正規の使用者９２は、交信シリーズ８０にいかなるコミットメントもしない。もしコミットメントをする場合、第二のノード２００２の管理・使用方法が煩雑になり、物のインターネットの利便性が大きく損なわれることになる。
【００８４】
もし第一のノード２００１がＭＡＣアドレスを持ち、第一のノード２００１と第二のノード２００２がイーサネット（登録商標）形式で接続していれば、チップ認証装置６０は不要のように思える。しかしながら、上述したように、物のインターネットにおいて物理的実態のあるノード同士の相互認証をイーサネット（登録商標）形式に任せることの問題は下記のような２点である。（イ）もうすぐ枯渇すること。（ロ）悪意あるハッキングに対して脆弱であること、である。このような状況を鑑み、本発明のチップ認証装置の必要性が理解される。
【００８５】
まず、遠隔攻撃者が図９の第一のノード２００１を遠隔攻撃する場合を考える。たとえば、遠隔攻撃者は、第一のノード２００１を自ら所有する偽造ノードに不正に置き換える。ここで、偽造ノードは、第一のノード２００１に内蔵されるチップ認証装置６０を使用せずに、この交信シリーズ８０を完全に模倣しなければならない。これが可能かどうかを見極めればよい。不可能であれば、本発明のチップ認証方式によって、装置の乗っ取りを防ぐことができると判明する。そのための前提条件として、第一のノード２００１を偽造ノードと不正に置き換えようとする者（遠隔攻撃者）は、実際の第一のノード２００１を手に取ることができないとする。これは、物のインターネットにおいては自然な条件である。すなわち、物のインターネットにおける乗っ取りは遠隔操作を前提にしているからである。遠隔攻撃者の目的は、自分が手元に所有する偽造ノードを使って第二のノード２００２を遠隔操作することである。図９の第一のノード２００１を手元に奪取するためには、第二のノード２００２に正規に接続する第一のノード２００１が存在する場所に赴き、秘密裏に奪取しなければならない。これは、攻撃をネット上で完結することができないことを意味する。すなわち、第二のノードの正規の使用者９２に気づかれずに遠隔操作をすることができないのと同義である。偽造ノードと第二のノード２００２がネット接続されると、第二のノード２００２は、偽造ノードを認識するために、ネットワークを介して入力信号（Ｒ、Ｌ、Ａ、…）を偽造ノードに入力する。このとき、ネットを介して偽造ノードが出力信号（Ｒ３、Ｌ３、Ａ３、…）を第二のノード２００２に返したとする。こうして、偽交信シリーズ（Ｒ、Ｌ、Ａ、…：Ｒ３、Ｌ３、Ａ３、…）が生成される。すなわち、遠隔攻撃者は、偽交信シリーズを正規の交信シリーズ８０、この例の場合、（Ｒ、Ｌ、Ａ、…：Ｒ１、Ｌ１、Ａ１、…）に完全に一致させなければならない。すなわち、（Ｒ３、Ｌ３、Ａ３、…）が（Ｒ１、Ｌ１、Ａ１、…）と一致すれば、遠隔攻撃は成功する。例えば、遠隔攻撃者は、（Ｒ３、Ｌ３、Ａ３、…）を、第二のノード２００２の内部メモリに保存されている登録コードと一致させれば良い。
【００８６】
遠隔攻撃には基本的に二つの方法がある。第一の方法は、第二のノード２００２の内部メモリに保存されている情報から、入力コードと、少なくとも登録コードを盗み取ることである。たとえば、遠隔攻撃者が登録コード（Ｒ１、Ｌ１、Ａ１）と入力コード（Ｒ、Ｌ、Ａ）とを盗み取ることに成功したとする。このとき、遠隔攻撃者は、所有する偽造ノードを第一のノード２００１に置き換えて第二のノード２００２を不正に遠隔操作することができる。このような遠隔攻撃からシステムを守るため、システム管理者は第二のノード２００２の内部メモリを厳重に防御しなければならない。
【００８７】
内部メモリに入力コードや登録コードを保存する第二のノード２００２のような装置は、訓練を受けた専門家が常に最新のセキュリティ技術を駆使して厳重に保守することが望ましい。このように、第二のノード２００２はネットワークの中央に置かれ、基幹的な役割を担い、セキュリティ管理者による中央管理下にあると仮定する。これを基幹ノードと呼ぶ。これに対し、基幹ノードに接続し、セキュリティ管理者による中央管理化にないノードを周辺ノードとする。図１０は、３つの周辺ノード（第一の周辺ノード４１０、第二の周辺ノード４２０、第三の周辺ノード４３０）が、基幹ノード４００に接続する例である。基幹ノード４００は、入力コード４０２と登録コード４０３のリストを内部メモリ４０１に保存する。一方、周辺ノードは、登録コードも入力コードも保存せず、それぞれ相違するチップ認証装置を搭載するチップを内蔵しているものとする。たとえば、図７は、周辺ノードの基本構成の一例である。また、基幹ノード４００の内部メモリ４０１に保存された、登録コード４０３のリストの中の一つの要素と、入力コード４０２の組み合わせが、各周辺ノードに対応する交信シリーズとなる。
【００８８】
上述のように、交信シリーズに関する情報を保存した基幹ノードを中央管理下におくことによって遠隔攻撃の第一の方法は防がれるが、ネットワークに接続するノード数が数兆個に上る場合、すべての装置を基幹ノード４００のように厳重に防御・保守することは現実的に不可能である。これは中央管理の限界を意味している。そこで、遠隔攻撃者は、基幹ノード４００に接続する中央管理の行き届かない装置、図１０の例では、第一の周辺ノード４１０、第二の周辺ノード４２０、第三の周辺ノード４３０・・・のうちの少なくともどれか一つを乗っ取ろうとする。これが遠隔攻撃の第二の方法である。しかしながら、これらの周辺ノードは、入力コードと登録コードのペア（交信シリーズ８０）を内部メモリに保存していないので、遠隔攻撃の第二の方法も成功しない。
【００８９】
たとえば、遠隔攻撃者が適当に選んだ信号（Ｘ、Ｙ、Ｚ）を第一の周辺ノード４１０に入力し、（Ｘ１、Ｙ１、Ｚ１）の返信を得る。ここで、第一の周辺ノード４１０はチップ認証装置を搭載しているものとする。信号（Ｘ、Ｙ、Ｚ）が、基幹ノード４００が第一の周辺ノード４１０と交信する際に用いる入力コード４０２（Ｐ、Ｓ、Ｔ）と異なる場合、遠隔攻撃者が受け取る返信（Ｘ１、Ｙ１、Ｚ１）は、基幹ノードに保存される登録コード４０２の（Ｐ１、Ｓ１、Ｔ１）とは異なる。これは、周辺ノードに搭載されるチップ認証装置が、異なる入力に対して必ず異なる出力を出す性質（出力の独立性）を持つことを前提にしている。こうして、チップ認証装置が「出力の独立性」を持っている限り、遠隔攻撃の第二の方法も失敗に終わるのである。ここで、周辺ノードと基幹ノード４００がもしイーサネット（登録商標）形式による相互認証を採用していたらどうなるだろうか？遠隔攻撃者は、周辺ノードに搭載されているイーサネット（登録商標）カードの内部メモリ（たとえば、図６の例では、不揮発性メモリチップ３０１０）からＭＡＣアドレスを容易に盗み出すことができる。こうして、本発明のチップ認証装置がＭＡＣアドレスを置き換える意義が明らかになる。
【００９０】
ここで残る問題は、遠隔攻撃者が適当に選んだ信号セット（Ｘ、Ｙ、Ｚ）が、たまたま基幹ノード４００の内部メモリ４０１に保存した入力コード４０２（Ｐ、Ｓ、Ｔ）に一致することである。このような偶然を防ぐため、入力コードの要素数を十分多くし、更に基幹ノード４００の管理者以外には非公開とすることである。そして、この情報は基幹ノード４００の管理者によって厳重に守られるべきである。また、時より変更することが望ましい。この変更を行った場合、基幹ノード４００に接続する周辺ノードの再登録を行うことが必要になる。このような再登録を行う頻度を減らすために、入力コードの要素数は可能な限り多くするように管理することが必要である。これらの条件を満しつつ、入力コードはパスコードとして振る舞う。
【００９１】
すなわち、本発明のチップ認証装置を用いる相互認証形式は、イーサネット（登録商標）形式と同様に物理的実態のあるノード同士の相互認証を司るものであり、一方で、ネットワークを形成するノードを、相互認証に関わる情報を保存し中央管理下に置かれるノード（基幹ノード）と、それ以外のノード（周辺ノード）に分割する。周辺ノードは、相互認証に関わる情報を保存しない代わりに本発明のチップ認証装置を搭載し、所定の入力に対して出力を返す。入力が異なれば必ず異なる出力を返す「出力の独立性」を満たすものである。出力の独立性については、以下で詳述する。
【００９２】
ここで、入力コードは、さまざまな周辺ノードへの認証ＩＤを検査するために共通して使うことが望ましい。この場合、おのおのの周辺ノードへのアクセスに個別に必要なものではない。このような事情から、本発明で説明する入力コードを以下“共通パスコード”と呼ぶことにする。こうして、前記基幹ノードは少なくとも一つの共通パスコードを所有する。
【００９３】
基幹ノード４００が計算機（パソコン等）の場合、これに接続する第一の周辺ノード４１０、第二の周辺ノード４２０、第三の周辺ノード４３０は、計算機に接続して用いられる周辺機器となる。たとえば、マウス、キーボード、マイクロホン、などである。上述したとおり、基幹ノード４００である計算機本体は、最新のウィルス対策ソフトを使用して管理者が責任を持って管理することが前提となる。本件に関わる発明は、周辺ノード（マウス、キーボード、マイクロホン等）の不正な置き換えから計算機本体を守ることが目的となる。これにより、計算機本体を守ることを目的とするウィルス対策ソフトが守りきれない周辺ノードを遠隔攻撃から守ることができる。
【００９４】
上記基幹ノード４００がネットワークサービスの中心的機能を担うサーバーの場合、たとえば、第一の周辺ノード４１０、第二の周辺ノード４２０、第三の周辺ノード４３０は、このネットワークサービスを利用するエンドユーザーの端末である。たとえば、スマートフォン、タブレット、計算機端末、スマート家電のリモコン、自動運転車の操作パネル、あるいはその他のウェアラブル端末等である。上述したとおり、基幹ノードは、十分に訓練を受けた専門家が最新のセキュリティソフトウェアを駆使して責任を持って管理することが前提となる。本件に関わる発明の目的の一つは、エンドユーザーの端末（スマートフォン、タブレット、計算機端末、その他のウェアラブル端末等）の不正な置き換え（乗っ取り）からサーバー（基幹ノード）への不正アクセスを防ぐことである。これによって、十分に訓練を受けた専門家が最新のセキュリティソフトウェアを駆使しても守りきれない、ネットワーク上に無数に存在する情報端末を遠隔攻撃からシステム全体を守ることができる。
【００９５】
基幹ノード４００がクラウドセンシングサービスの中心的機能を担うデータセンターの場合、これに接続する第一の周辺ノード４１０、第二の周辺ノード４２０、第三の周辺ノード４３０は、このデータセンターが必要とするデータを取得するセンサーである。上述したように、センサーの数は無数であり、世界中の広い範囲に設置される。このようなセンサーの例は、ＧＰＳ、ウィルスモニター、温度計、地震計、ソケット型可視光通信デバイス、バイオセンサー、各種スマートメーターなど無数にある。したがって、その一つ一つを中央管理で遠隔攻撃から守ることは現実的に不可能である。上述したとおり、基幹ノードは、十分に訓練を受けた専門家が最新のセキュリティソフトウェアを駆使して責任を持って管理することが前提となる。本件に関わる発明の目的の一つは、このようなセンサーの置き換え（乗っ取り）から基幹ノードへの不正アクセスを防ぐことである。これによって、十分に訓練を受けた専門家が最新のセキュリティ技術を駆使しても守りきれない、クラウドセンシングのためのネットワーク上に無数に存在するセンサーを遠隔攻撃から守ることができる。
【００９６】
ここで、本発明の特徴の一つとして、中央管理の行き届かない周辺ノード（たとえば、第一の周辺ノード４１０、第二の周辺ノード４２０、第三の周辺ノード４３０）は、前記共通パスコードのような入力データや登録コードを保存しないことがあげられる。このように、認証通信のために必要なデータ（たとえは、共通パスコード、あるいは、登録コード）を保存する“基幹ノード”と保存しない“周辺ノード”に分けることが特徴となる。同時に、認証通信のために必要なデータ（たとえは、共通パスコード、あるいは、登録コード）を保存する“基幹ノード”は中央管理し、認証通信のために必要なデータ（たとえは、共通パスコードなど、あるいは、登録コード）を保存しない“周辺ノード”には本発明のチップ認証装置を搭載することを特徴とする。ただし、物理的実態のあるノード同士の相互認証に関するものである点はイーサネット（登録商標）形式と同様である。
【００９７】
図１１のように、上記共通パスコードは、第一の基幹ノード１４００に少なくとも一つ保存され、周辺ノードを認識する際に周辺ノードに送られる。たとえば、第一の基幹ノード１４００は第一の共通パスコード１４１０を、第一の周辺ノード４１０、第二の周辺ノード４２０、第三の周辺ノード４３０に送る。これらの周辺ノードは、第一の基幹ノード１４００を「第一の共通パスコード１４１０を送ってくるもの」として認識する。
【００９８】
図１２に示すように、第一の周辺ノード４１０、第二の周辺ノード４２０、第三の周辺ノード４３０は、この第一の共通パスコード１４１０の入力に対応し、それぞれ、第一の認証４１０１、第二の認証４２０１、第三の認証４３０１を、第一の基幹ノード１４００に返す。第一の基幹ノード１４００は、第一の周辺ノード４１０、第二の周辺ノード４２０、第三の周辺ノード４３０を、「第一の共通パスコード１４１０に対して、それぞれ第一の認証４１０１、第二の認証４２０１、第三の認証４３０１を返すもの」と認識する。ここで、第一の認証４１０１、第二の認証４２０１、第三の認証４３０１のうちのどの二つの認証も同じではない。また、第一の基幹ノード１４００が別の共通パスコードを使用することも可能である。これは、より高度な管理のために便利なことがある。このように、各基幹ノードが使用する共通パスコードはそれぞれ複数であることが望ましい。
【００９９】
ここでは、入力が同じであってもチップ認証装置が異なれば必ず異なる出力を返す「出力の独立性」を満たすことを前提としている。「出力の独立性」については、以下で詳述する。
【０１００】
実際のネットワークでは、周辺ノードは無数にあり、しかも基幹ノードは一つに限らない。たとえば、図１３では、二つの基幹ノード（第一の基幹ノード１４００、第二の基幹ノード２４００）と五つの周辺ノード（第一の周辺ノード４１０、第二の周辺ノード４２０、第三の周辺ノード４３０、第四の周辺ノード４４０、第五の周辺ノード４５０）からなるネットワークの一例を示している。そのネットワークは、トポロジーにより接続された二つのネットワークユニット（第一ネットワークユニット及び第二ネットワークユニット）に分割されている。第一の基幹ノード１４００を中心に、第四の周辺ノード４４０と第五の周辺ノード４５０とで一つのネットワークユニットを構成し、第二の基幹ノード２４００と、第一の周辺ノード４１０、第二の周辺ノード４２０、及び第三の周辺ノード４３０とでもう一方のネットワークユニットを構成する。ここで、これらのネットワークユニットは、互いに前記トポロジーの第一の基幹ノード１４００と第二の基幹ノード２４００とで接続している。さらに、ネットワークユニット内において、第五の周辺ノード４５０は、第一の基幹ノード１４００とのみ接続し、第一の周辺ノード４１０、第二の周辺ノード４２０、及び第三の周辺ノード４３０は、第二の基幹ノード２４００とのみ接続している。一方、第四の周辺ノード４４０は、第一の基幹ノード１４００と第二の基幹ノード２４００と接続している。
【０１０１】
すなわち、本発明のネットワーク構造において、複数のネットワークユニットを接続するトポロジーは、互いに異なるネットワークユニットに属する基幹ノード同士の接続、および、互いに異なるネットワークユニットに属する基幹ノードと周辺ノードの接続によって定義される。特に、本発明のネットワークのトポロジーでは、周辺ノード同士は、互いに異なるネットワークユニットに属するかどうかに関らず、互いに直接接続しないことが特徴である。
【０１０２】
ここで、接続とは、上述した認証作業によってノード同士が互いを認証する認証接続のことを意味しており、単純な連結とは異なる。以下、物理的実態のある情報機器あるいは電子装置のネットワークを考える際、特に断りのない限り、認証接続の意味で接続という言葉を用いる。更に、この意味での「認証」接続は、一つのパッケージ化されたシステム内の装置（モジュール、あるいは、チップ）同士の接続をも含む。
【０１０３】
たとえば、自動車は複数の制御システムを内包している。駆動システム、ブレーキシステム、ナビゲーションシステム、自動運転車なら自動運転システム等、複数の子システムが連携して稼動する総合システムと考えられる。これら子システムのそれぞれが上述のネットワークユニットの一つ一つ、あるいは、いくつかの連携したネットワークユニットに対応している。このとき、自動車一台は、複数のネットワークユニットから構成される一つのネットワークである。更に、各ネットワークユニットを構成する周辺ノードや基幹ノードの最小単位は半導体チップである。周辺ノードは、例えば、エンジンの温度を感知するセンサーであったり、車体の各部位が感じる加速度センサーであったり、燃料の残量を感知するセンサーであったり、様々なセンサーが考えられる。これらのセンサーから集まる情報を解析し利用する演算処理装置が基幹ノードとなる。自動車以外にも航空機、列車、工場、発電所、送電システム等、社会インフラに関する施設や装置も一つのパッケージ化されたシステムと見なすことができる。よって、その内部に半導体チップが採用されている限り、本発明が対象とするネットワークが存在する。
【０１０４】
本発明の特徴のひとつとして、このような複数の基幹ノードと複数の周辺ノードからなるネットワークにおいて、基幹ノード同士は直接接続が可能であるが、周辺ノード同士は直接接続をしないことが上げられる。これは、中央管理の行き届かない周辺ノードでは、共通パスコードのような入力データを保存しないためである。その代わりに、周辺ノード同士は、基幹ノードを介して間接的に接続する。
【０１０５】
たとえば、第一の周辺ノード４１０と第二の周辺ノード４２０は、第二の基幹ノード２４００を介して間接的に接続可能である。第四の周辺ノード４４０と第五の周辺ノード４５０は、第一の基幹ノード１４００を介して間接的に接続可能である。第三の周辺ノード４３０と第四の周辺ノード４４０は、互いに接続している第一の基幹ノード１４００と第二の基幹ノード２４００とを介して間接的に接続可能である。こうして、すべての周辺ノードに流れるデータを、複数の基幹ノードでモニターすることが可能となる。すなわち、本発明によれは、中央管理のためのリソースを基幹ノードにのみ集中させることが可能となる。
【０１０６】
図１３の具体的な例としては、たとえば、自動運転車とスマートハウスの組合せが上げられる。たとえば、第一の基幹ノード１４００、第四の周辺ノード４４０、および第五の周辺ノード４５０からなるネットワークユニットは、共に一つの自動運転車を構成する部品であるとする。同時に、第二の基幹ノード２４００、第一の周辺ノード４１０、第二の周辺ノード４２０、第三の周辺ノード４３０からなるネットワークユニットは、共に一つのスマートハウスの部品であるとする。災害時に自動運転車のバッテリーがスマートハウスのバッテリーを補完するような場合、たとえば、スマートハウスのバッテリーの状況を把握するためのセンサー（たとえば、第四の周辺ノード４４０）が自動運転車に搭載されている。このように、第四の周辺ノード４４０は、第一の基幹ノード１４００と第二の基幹ノード２４００のどちらとも接続することになる。あるいは、複数の自動車を連携して自動運転するタクシーシステムのような応用も本発明のネットワークの一例となる。
【０１０７】
図１４に示すように、本発明を用いたネットワークでは、前記トポロジーは一つの周辺ノード（たとえば第一の周辺ノード４１０）が複数の基幹ノード（たとえば、第一の基幹ノード１４００、第二の基幹ノード２４００、第三の基幹ノード３４００）との接続を含むことも認められる。第一の基幹ノード１４００は、第一の共通パスコード１４１０を有し、第二の基幹ノード２４００は、第二の共通パスコード２４１０を有し、第三の基幹ノード３４００は、第三の共通パスコード３４１０を有するものとする。すなわち、第一の周辺ノード４１０は、第一の基幹ノード１４００を「第一の共通パスコード１４１０を入力してくるもの」と認識し、第二の基幹ノード２４００を「第二の共通パスコード２４１０を入力してくるもの」と認識し、第三の基幹ノード３４００を「第三の共通パスコード３４１０を入力してくるもの」と認識する。これらの入力に対し、第一の基幹ノード１４００は、第一の周辺ノード４１０を「第一の認証１１を返すもの」と認識し、第二の基幹ノード２４００は、第一の周辺ノード４１０を「第二の認証１２を返すもの」と認識し、第三の基幹ノード３４００は、第一の周辺ノード４１０を「第三の認証１３を返すもの」と認識する。ここで、通信認証に関するデータ（共通パスコード、あるいは、共通パスコードに対応して返信する認証データ等）は基幹ノードに保存され、周辺ノードには保存されない。周辺ノードには、本発明のチップ認証装置を搭載する。
【０１０８】
その中で、たとえば、第一の基幹ノード１４００と第二の基幹ノード２４００は直接接続しているが、第一の基幹ノード１４００も第二の基幹ノード２４００も、第三の基幹ノード３４００とは直接接続していないものとする。ここで、第三の基幹ノード３４００が遠隔攻撃者でないという証明はない。このため、第一の周辺ノード４１０に接続認証に関するデータ（共通パスコード）を保存しないということは重要である。たとえば、最初に第一の周辺ノード４１０が第一の基幹ノード１４００に登録される際、第一の基幹ノード１４００は、第一の周辺ノード４１０が第一の基幹ノード１４００の後に他の基幹ノードと接続することを制限することが可能となる。なぜなら、第一の周辺ノード４１０の外部入出力制御装置は、受信する全ての信号を第一の基幹ノード１４００に転送し、第一の基幹ノード１４００は、第一の周辺ノード４１０への全ての入力をモニターすることが可能だからである。
【０１０９】
ここで、もし第一の共通パスコード１４１０と同等のコードが発見されたら、緊急処置を施すことができる。たとえば、第一の基幹ノード１４００は、第一の周辺ノード４１０を切り離す。あるいは、遠隔攻撃者の動きをモニターするためだけに第一の周辺ノード４１０を利用する。第一の基幹ノード１４００の次に、第二の基幹ノード２４００が第一の周辺ノード４１０を登録する場合、第二の基幹ノード２４００は、あらかじめ第一の基幹ノード１４００に、第一の周辺ノード４１０を登録する許可を申請する。これには、第二の基幹ノード２４００と第一の基幹ノード１４００が直接接続していることが必要である。第一の基幹ノード１４００が、第二の基幹ノード２４００に対し、第一の周辺ノード４１０への接続を許可すれば、第一の周辺ノード４１０は、第二の共通パスコード２４１０を受け付け、第二の基幹ノード２４００に第二の認証１２を返信し、第二の基幹ノード２４００は、第一の周辺ノード４１０を登録する。以後、第二の基幹ノード２４００と第一の周辺ノード４１０は、第一の基幹ノード１４００の許可を経ずに、認証接続可能となる。次に、第三の基幹ノード３４００が、第一の周辺ノード４１０と接続するには、第一の基幹ノード１４００、あるいは、第一の基幹ノード１４００及び第二の基幹ノード２４００が、第一の周辺ノード４１０に対し、あらかじめ、第三の共通パスコード３４１０の受付を許可しておく必要がある。こうして、第一の基幹ノード１４００、あるいは、第一の基幹ノード１４００及び第二の基幹ノード２４００は、第三の基幹ノード３４００と第一の周辺ノード４１０の接続を制限する権限を得ることになる。すなわち、許可の無い入力コードが第一の周辺ノード４１０に入力された場合、接続を拒絶、あるいは、制限する。この権限の行使は、第一の基幹ノード１４００、あるいは、第一の基幹ノード１４００および第二の基幹ノード２４００の正規の管理者によって行われるものとする。
【０１１０】
次に、本発明で提案するチップ認証方式が満たすべき条件について述べておこう。
【０１１１】
《出力の独立性》
まず、図１５に示すように、二つの異なる第一のチップ認証装置２１と第二のチップ認証装置２２に対して、同じ入力信号（入力信号Ｑ）を入力する。このとき、第一のチップ認証装置２１は出力信号Ａを出力する。第二のチップ認証装置２２は出力信号Ｂを出力する。ただし、出力信号Ａと出力信号Ｂとは異なる。このように、入力信号が同一であってもチップ認証装置が異なる場合出力信号はそれぞれ異なる。この性質は共通パスコードを使う場合（図１１、図１２）に必要な条件である。すなわち、同じパスコードをそれぞれ異なるチップ認証装置を搭載する周辺ノードに入力信号として入力しても、それぞれの周辺ノードから返って来る出力信号は周辺ノード毎に相異なるものでなければならない。
【０１１２】
たとえば、図１１のように、第一の基幹ノード１４００が、第一の共通パスコード１４１０をそれぞれ異なるチップ認証装置を内蔵する第一の周辺ノード４１０、第二の周辺ノード４２０、第三の認証装置４３０に与えたとき、これらの周辺ノードから返って来る出力信号は、図１２に示すように、それぞれ第一の認証４１０１、第二の認証４２０１、第三の認証４３０１となる。ここで、第一の認証４１０１、第二の認証４２０１、第三の認証４３０１の内のどの二つも相異なるものとする。
【０１１３】
《入力の独立性》
反対に、同一のチップ認証装置に異なる入力信号を入力すると、それぞれ相異なる出力信号を出力する。たとえば、図１６に示すように、チップ認証装置６０に入力信号Ｃを入力すると出力信号Ａを出力する。同じチップ認証装置６０に入力信号Ｄを入力すると出力信号Ｂを出力する。ここで、出力信号Ａと出力信号Ｂは、入力信号Ｃと入力信号Ｄが異なる限り、それぞれ相異なる出力信号である。この性質は、図１４のように、異なる基幹ノードからそれぞれ異なるパスコードを入力信号として同一の周辺ノードに入力し、それぞれ基幹ノードが相異なる認証を該周辺ノードから出力信号として受け取る場合に必要な条件である。具体的には、第一の基幹ノード１４００が第一の共通パスコード１４１０を第一の周辺ノード４１０に入力し、第一の周辺ノード４１０が第一の認証１１を第一の基幹ノード１４００に出力し、第二の基幹ノード２４００が第二の共通パスコード２４１０を第一の周辺ノード４１０に入力し、第一の周辺ノード４１０が第二の認証１２を第二の基幹ノード２４００に出力し、第三の基幹ノード３４００が第三の共通パスコード３４１０を第一の周辺ノード４１０に入力し、第一の周辺ノード４１０が第三の認証１３を第三の基幹ノード３４００に出力する、というような場合である。ここで、言うまでも無く、上記認証１１、１２、１３は、どの二つをとっても相異なるものとする。
【０１１４】
すなわち、図１３は「入力の独立性」の条件と「出力の独立性」の条件を同時に利用するネットワーク構造の一例となっている。ほとんどの場合、実際には、基幹ノードの数は２より大きく、周辺ノードの数は５より大きい。図１３は、もっとも簡単な一例に過ぎない。
【０１１５】
《出力の予測不可能性》
図１７に示すように、ｎ個の入力信号（Ｑ１、Ｑ２…Ｑｎ）を同一のチップ認証装置６０に与えたとき、それぞれの入力信号に対し出力信号（Ｒ１、Ｒ２…Ｒｎ）が得られることを知っているものとする。このとき、ｎ個の入力信号（Ｑ１、Ｑ２…Ｑｎ）のいずれとも異なる入力信号Ｑｎ＋１を同一のチップ認証装置６０に与えずに、これを与えたときに得られるはずの出力信号Ｒｎ＋１を、（Ｑ１、Ｒ１）、（Ｑ２、Ｒ２）、…（Ｑｎ、Ｒｎ）のセットから予測することは不可能である。ただし、ｎは２以上の整数とする。チップ認証装置６０が、何らかのアルゴリズムによって出力を生成している場合、すなわち、ソフトウェアによって認証を返す場合、ほぼ必ずこの条件は破られる。したがって、チップ認証装置６０は物理的乱雑さを利用して出力信号を生成しなければならない。
【０１１６】
《入出力の信頼性》
図１８に示すように、実際には、入力信号Ｑを制御する回路に関わる制御不能のノイズなどにより、入力信号Ｑには入力信号誤差３１（ΔＱ）が混入する。これに対し、入力信号誤差３１（ΔＱ）及び出力信号を制御する回路に関わる制御不能のノイズなどにより、出力信号Ｒには出力信号誤差３２（ΔＲ）が混入する。このとき、二つの異なる入力信号（たとえば、Ｑ１およびＱ２）の差の絶対値は、入力信号誤差３１（ΔＱ）の絶対値の最大値より大きいものとする。ここで、入力信号Ｑ１に対する出力信号Ｒ１と、入力信号Ｑ２に対する出力信号Ｒ２との間の差の絶対値は、出力信号誤差３２（ΔＲ）の絶対値より常に大きくなければならない。
【０１１７】
本発明に関わるチップ認証方式は、上述した「出力の独立性」、「入力の独立性」、「出力の予測不可能性」、及び「入出力の信頼性」の４つすべてを同時に満たしていなければならない。
【０１１８】
《検査》
本発明が実施される以前から稼動しているネットワークを本発明の要件を満たすように発展させる場合には、既に基幹ノードに接続している周辺ノードを、本発明によるチップ認証装置を搭載したチップで構成された周辺ノードに置き換えて行かねばならない。ここで、この置換えが確実に行われたかどうか検査することが必要になる。あるいは、本発明のチップ認証装置を搭載していないチップを採用した周辺ノードが一部でも不正に使用されていないかどうかを検査することが必要である。ここで説明する検査は、基幹ノードの保守点検の一部として随時行うことが可能であり、また、周辺ノードの登録時にも行うことが望ましい。
【０１１９】
この検査のためにもっとも有効な方法は、中央管理下にある基幹ノードを使って検査対象となる周辺ノードを実際に遠隔攻撃することである。検査対象となる周辺ノードを構成するチップが本発明のチップ認証装置を用いていない場合、内蔵メモリに入力コード４２と登録コード４３の対応表（図１９参照）を保存しているはずである。たとえば、一つの入力コードに対して複数の登録コードのリストが対応している。これらの登録コードは、一つの共通パスコードを複数の周辺ノードに入力したときのそれぞれの出力に対応している。一般に、共通パスコードは一つとは限らないので、図１９のような対応表になる。もし入力コードが一つだけであれば、対応表は、図１９の、たとえば、上半分のみとなるだろう。図１０は入力コード４０２が一つの場合の一例である。いずれにしろ、本発明のチップ認証装置を搭載したチップの内蔵メモリにはこのようなコードは保存されていない。図１９のようなコード対応表を正規に保存しているのは、本発明に関するネットワークでは基幹ノードだけである。図１０にある入力コード４０２と登録コード４０３の組合せがそれである。図１０の入力コード４０２が図２７の入力コード４２に対応し、図１０の登録コード４０３が図１９の登録コード４３に対応している。
【０１２０】
図２０を用いて具体的な検査作業の流れを説明する。まず、検査する周辺ノードを見つけたところから始める。次に、検査対象の周辺ノードの内蔵メモリを読み出す。ここで読み出されたコードの中に、基幹ノードに保存されている入力コードの中に一致するものがあるかどうかを調べる。たとえば、図１９の入力コード４２、あるいは、図１０の入力コード４０２などである。不一致の場合、さらに、基幹ノードに保存されている登録コードと比較する。たとえば、図１９の登録コード４３、あるいは、図１０の登録コード４０３などである。そこで一致しなかった場合、検査した周辺ノードを公正なものとして承認する。公正と承認されなかったものは不正と判定し接続を遮断することができる。こうして、人手によらず自動的に不正周辺ノードを遮断することが可能となる。次に検査する周辺ノードがあるかどうか探す。なければ終了する。あれば、その検査対象となる周辺ノードの内部メモリを読み出し、以下同様に行う。
【０１２１】
図２１を用いて、別の検査作業の流れを説明する。第一に、検査する周辺ノードの内蔵メモリを読み出す。ここで読み出されたコードの中に、基幹ノードに入力コードとして保存されている入力コードの中と一致するものがあるかどうかを調べる。たとえば、図１９の入力コード４２、あるいは、図１０の入力コード４０２などである。不一致の場合、検査した周辺ノードを公正なものとして承認する。一致する場合、更に基幹ノードに登録コードとして保存されている登録コードの中に一致するものがあるかどうか調べる。たとえば、図１９の登録コード４３、あるいは、図１０の登録コード４０３などである。一致した場合、検査した周辺ノードを不正品として判定する。一致しない場合、公正なものとして承認する。次に検査する周辺ノードがあるかどうか探す。なければ終了する。あれば、その検査対象となる周辺ノードの内部メモリを読み出し、以下同様に行う。
【０１２２】
図２０と図２１の検査方法の違いは、それぞれ検査基準の違いによって生じる。図２０および図２１は、本発明に関連して考えられる検査方法のほんの二例であるに過ぎない。他の検査基準を考案すれば、他の検査方法を考え出すことが可能である。たとえば、図２０および図２１において、入力コードの比較と登録コードの比較の順序を入れ替えることも可能である。
【０１２３】
イーサネット（登録商標）形式では、ＭＡＣアドレスフィルタリングという検査方法がある。しかしながら、本発明の検査方法、たとえば図２０および図２１の検査方法には、周辺ノードと基幹ノードを分離し、基幹ノードに保存した入力コードと登録コードが周辺ノードに保存されているかどうかを段階的に検査することが基本であり、ＭＡＣアドレスフィルタリングにはそのような特徴はない。したがって、本発明の検査方法は、ＭＡＣアドレスフィルタリングとは具体的に異なる検査方法である。
【０１２４】
こうして、本発明の実施形態に関わるチップ認証方式を用いる、ネットワークを構成するすべてのノードは、たとえば、図１３のように、訓練を受けたセキュリティ専門家が保守・管理する基幹ノード（たとえば、１４００、２４００）のグループと、前記セキュリティ専門家が管理できない周辺ノード（たとえば、４１０、４２０、４３０、４４０，４５０）のグループに分けられる。ここで、周辺ノード同士はお互いに直接に接続せず、基幹ノードとのみ接続可能とする。こうして、一つの基幹ノードとそれに直接接続する複数の周辺ノードからなるネットワークユニットを構成する。基幹ノードは、基幹ノード同士と任意に接続可能であり、周辺ノード同士は、基幹ノードを介して間接的に接続可能である。こうして、各ネットワークユニット同士も接続可能である。図１３は、二つのネットワークユニットが互いの基幹ノード同士の接続によって連携したネットワークの一例である。実際には、もっと多数の基幹ノード、すなわち、もっと多数のネットワークユニットから構成されるネットワークも実現可能である。また、ネットワーク上の物理的実態を持ったノード（たとえば、情報機器や電子装置）同士の接続は、上述した認証作業によって物理的実態を持つノード同士が互いを認証する、認証接続することを意味している。
【０１２５】
各周辺ノードには、すべて異なるチップ認証装置が搭載されている。図１１及び図１２に示すように、基幹ノード１４００は、少なくとも一つの固有の共通パスコード１４１０を保有する。図１０に示すように、基幹ノード１４００が出力する共通パスコードは、基幹ノードの内蔵メモリに入力コード（たとえば、４０２）として厳重に保管される。図１２に示すように、共通パスコード１４１０を入力された周辺ノード（４１０、４２０、４３０）は、この共通パスコードに対しておのおの固有の認証（４１０１、４２０１、４３０１）を基幹ノード１４００にそれぞれ返信する。ここで返信される認証は、どの二つをとってもお互いに異なることが必要である。そのため、周辺ノードに搭載される本発明のチップ認証装置は、図１５に示すように、「出力の独立性」を満たさなければならない。図１０に示すように、基幹ノード１４００は、周辺ノードから返信されてきた出力信号を、入力コード（たとえば、４０２）のそれぞれに対応する形で内蔵メモリに厳重に保管する登録コード（たとえば、４０３）と便宜比較する。
【０１２６】
図１４に示すように、一つの周辺ノードが複数の基幹ノードと接続することが許される。この場合、一つの周辺ノード（たとえば、４１０）は、複数の共通パスコード（たとえば、１４１０、２４１０、３４１０）を入力され、それぞれ異なる入力に対して、それぞれ異なる認証（たとえば、１１、１２、１３）を出力しなければならない。そのため、周辺ノードに搭載される、本発明のチップ認証装置は、図１６に示すように、「入力の独立性」を満たさなければならない。
【０１２７】
《チップ認証方法》
続いて、本発明によるチップ認証装置に関する条件を考える。まず、チップ認証装置をソフトウェアで構成する場合、入力信号に対する出力信号の作成は、かならずある種のアルゴリズムを用いて行われることになる。したがって、遠隔攻撃者がこのアルゴリズムを解読した場合、入力コードさえ判っていれば、たとえば、登録コード４３を偽造することが可能となる。こうして、この遠隔攻撃者は、少なくとも周辺ノードの一部を乗っ取り、基幹ノードに不正アクセスすることが可能となる。このような不正行為防ぐため、本発明のチップ認証装置は、図１７に示すように、「出力の予測不可能性」を満たさなければならない。しかしながら、プログラムがアルゴリズムで設計されている限り、どのようなプログラムも「出力の予測不可能性」を満たすことができない。これは、プログラムにより完全な乱数を生成することが不可能であることと同じ事情である。このように、チップ認証装置は、物理的乱雑さを活用したものでなければならない。
【０１２８】
前記のようなチップ認証装置は、チップ内に他の機能を持つモジュールと一緒に混載してもよいし、または、チップ認証機能のみを持つチップとして単独で製造しても良い。また、チップ認証装置は、入力コード（共通パスコード）を受け取る度に、物理的乱雑さに基づいて出力信号（認証コード）を発生することが望ましい。共通パスコードは周辺ノードのメモリに保存してはならない。電子装置が複数のチップで構成される場合、図７に示すように、少なくとも一つのチップが本発明のチップ認証装置を搭載することが必要である。また、チップ認証装置そのものがチップで実現される電子装置であっても良い。こうして、前記ネットワークは、構成要素である周辺ノード及び基幹ノードが、少なくとも一つのチップから構成される電子装置のネットワークである。
【０１２９】
ここで、本発明のチップ認証装置のための４つの条件は、上述したＰＵＦの条件のうちの４つにそれぞれ対応している。たとえば、「入力の独立性」は、（１）同一の周辺ノードに異なる入力をすれば常に異なる出力をすることと同一である。「出力の独立性」は、（２）同一の入力をした異なる周辺ノードは常に異なる出力をすることと同一である。「出力の予測不可能性」は、（３）入力と出力の組み合わせを盗まれても未知の入力に対する出力は予測不可能であることと同一である。「入出力の信頼性」は、（４）入力と出力の関係が安定していて信頼できることと同一である。更に上述したように、本発明のチップ認証装置は、ＰＵＦのために付加する五番目の条件（５）一つの入力に対する出力のパターンが現実的に無限と見なせるほど大きな数となること、および、六番目の条件（６）ネットワーク上のチップ認証はチップＰＵＦでなければならない、を満たさなければならない。チップ認証装置であるかぎり、（６）を満たすことは自明である。従って、本発明のチップ認証装置は、以下に説明するように、この５つの条件を全て満たすように構成さればよい。
【０１３０】
上記５つの条件を全て満たす本発明に関するチップ認証装置は、半導体装置の素子アレイ上に配置した複数の認証素子によって構成することが可能である。ここで、この認証素子は、たとえば“１”と“０”のどちらかに対応する信号を出力するものと仮定する。
【０１３１】
ただし、おのおのの認証素子が出力する信号が“１”に対応するのか“０”に対応するのかは確率的であり、その確率がどのようなアルゴリズムにもよらない限り物理的にランダムであるとみなされる。すなわち、“１”と“０”の物理的にランダムな組み合わせを生成できるとみなされる。こうして、上記第三の条件、すなわち、（出力の予測不可能性）は満たされる。ここで、“１”を黒、“０”を白として、前記素子アレイ上のアドレスにしたがってプロットすると、図２２のような白と黒がランダムに配置された市松模様ができる。
【０１３２】
“１”と“０”のランダムな組み合わせということは、乱数がデジタルで発生することと同等である。デジタルであるということは、第４の条件、すなわち、図１８で説明した「入出力の信頼性」が満たされることと同等である。
【０１３３】
第５の条件、すなわち、出力のパターンが現実的に無限と見なせるほど大きな数となること、を満たすためには、素子アレイ上の素子の数を十分に大きくすることが必要である。
【０１３４】
第一の条件、すなわち「入力の独立性」と、第二の条件、すなわち「出力の独立性」は、この市松状の白黒のランダムパターンをどのように活用するかによって満たすことが可能である。以下具体的に説明する。
【０１３５】
図２３は、図２２を実現するための素子の配列の一例である。行方向にＬ本のワード線５０３が並んでいる。図中は縦方向に相当する。それと直交するように、ビット線９０２が列方向にＭ本並んでいる。Ｌ本のワード線５０３とＭ本のビット線が交差するところにチップ認証装置のエレメントである認証素子９７７が配列する。
【０１３６】
図２４は、図２３の認証素子用アレイ９６０の中からＮ本のワード線５０３とＮ本のビット線９０２を抜き出したものである。Ｎは、一般に、上記のＬやＭより小さいか同じ自然数である。入力コード（Ｐ、Ｓ、Ｔ、…）の例として、(ａ(1),ｂ(1),ａ(2),ｂ(2),…,ａ(N),ｂ(N)) を考えよう。この入力コードを配列ａと配列ｂに分割し、(ａ(1),ａ(2),…,ａ(N)) を第一行から順に対応させる。同時に、(ｂ(1),ｂ(2),…,ｂ(N)) を第一列から順に対応させる。このとき、ａ(i) とｂ(j) の組み合わせで構成される入力に対して、第ｉ行第ｊ列の認証素子９７７が出力する信号に関連するデータを要素ｄ(i,j) とする。たとえば、ｄ(i,j) は“１”あるいは“０”である。ただし、ｉおよびｊは１からＮまでの自然数である。ここで、自然数の組み合わせ (i,j) は、認証素子９７７のアドレスに対応する。図２４の例では、要素ｄ(5,N-2) が図示されている。ここで、要素ｄ(i,j) の集まり {ｄ(i,j)} は、０と１のランダムな集合体で構成される乱数コードである。ｄ(i,j) の値が１のときを黒、０のときを白とすれば、図２２のような、白と黒のランダムな市松模様が得られる。
【０１３７】
このように、入力コードを２つに分割し、行と列に対応させることで、入力コードと認証素子のアドレスを対応させることが可能である。入力コードの分割の仕方は、あらかじめ決められた書式に則り実行すれば良い。もちろん、配列ａと配列ｂを交換するのも一例であることは自明である。方法は無数に存在し、ここで例示したような配列ａと配列ｂを入力コードから交互に抜き出す方法はそのうちの一例に過ぎない。また、配列ａと配列ｂの要素数は必ずしも等しくなくても良い。ただし、入力コードの全要素を入力できるよう、認証素子用アレイ９６０の行数と列数の和は、少なくとも入力コードの全要素数より大きいものとする。ここで、上記入力コードを {ａ(i),ｂ(j)} と表記することにする。ただし、ｉおよびｊはそれぞれ独立の自然数とする。こうして、数列 {ａ(i)}、数列 {ｂ(j)}、及び乱数コード {ｄ(i,j)} から、何らかの方法を用いて出力コード {ｃ(i,j)} を作成する。入力コード {ａ(i),ｂ(j)} 及び出力コード {ｃ(i,j)} の組み合わせが、図９の交信シリーズ８０に対応している。この乱数コード {ｄ(i,j)} の一例として、物理乱数を用いればよい。
【０１３８】
本発明に係る例について、主に、第一の入力数列 {ａ(i)} と、第二の入力数列 {ｂ(j)} と、及び物理乱数 {ｄ(i,j)} とから、出力コード {ｃ(i,j)} を作成する方法について、以下図面を参照して説明する。
【０１３９】
一例として、数列 {ａ(i)} および {ｂ(j)} の要素は０か１であるとし、出力コード {ｃ(i,j)} を生成するために、剰余演算ｍｏｄ(x,y) を用いることにする。これは、ｘをｙで割ったあまりである。
ｃ(i,j) ＝ ｍｏｄ(ａ(i) ＋ｂ(j) ＋ｄ(i,j),２)          式１
図２５は、数列 {ａ(i)}、数列 {ｂ(j)}、及び物理乱数 {ｄ(i,j)} と、式１に基づいて出力される出力コード {ｃ(i,j)} との関係を一覧表にしたものである。この方法を用いると、０と１の数の割合に変化がないことが容易に想像される。これは、交信シリーズ８０によって扱われるデータ量を安定化させるために必要な条件である。すなわち、式１の右辺に入力される情報量と、式１の左辺から出力されるデータ量がほぼ同等であることが求められる。すなわち、入力情報量と出力情報量が大きく異なる場合、式１で定義される系の情報量は、少ない方に合わせられ、結果として、少なくともその差分だけ情報を失うことになるからである。情報量を失うということは、ＰＵＦのために付加した五番目の条件（５）一つの入力に対する出力のパターンが現実的に無限と見なせるほど大きな数となること、を満たす上で障害になる可能性がある。したがって、このような状況は可能な限り避けるべきである。この条件（５）を満たすためには、乱数の場合の数が現実的にほぼ無限とみなされるほど大きな数になることが求められる。
【０１４０】
図２６は、式１で示したメカニズムを実現するための基本構成の一例を示した概念図である。すなわち、乱数発生装置６０１で物理乱数 {ｄ(i,j)} を発生し、基幹ノード４００から、共通パスコードとして、入力コード {ａ(i),ｂ(j)} が入力され、コード発生装置６０２で出力コード {ｃ(i,j)} を生成する。この例では、乱数発生装置６０１とコード発生装置６０２が、共にチップ認証装置６００の構成要素となっている。一方、自明なので特に図示しないが、他の例ではコード生成装置６０２をチップ認証装置６００の外に置くことも可能である。いずれにしろ、少なくとも乱数発生装置６０１をできる限り安価にチップ内に搭載しなければならない。本発明では、乱数発生装置６０１の一例として、図２２で概念的に説明した方法を用いる。コード発生装置６０２は、式１で判るように、コード発生に一種のアルゴリズム（剰余演算）を使用しているが、同時に物理乱数 {ｄ(i,j)} で物理的乱雑さを取り込んでいる。このため、上の条件（３）、すなわち、「出力の予測不可能性」が満たされる。なお、入力コードの全要素を取り込むためには、乱数発生装置６０１の行数と列数の和は、少なくとも、{ａ(i)} の要素数と {ｂ(j)} の要素数の和と同じか、それより大きいものとする。
【０１４１】
図２７は、本発明の他の一例を説明する図面である。すなわち、基幹ノード４００から入力コード（Ｐ、Ｓ、Ｔ、…）がスクランブル装置６０４に送られる。こうして、入力コード（Ｐ、Ｓ、Ｔ、…）は（Ｐ’、Ｓ’、Ｔ’、…）に変換される。このコードは、周辺ノードにモジュールされているチップ認証装置６００への入力コード（Ｐ’、Ｓ’、Ｔ’、…）として入力される。ここで、自明なので特に図示しないが、基幹ノード４００に接続する周辺ノードは、少なくともチップ認証装置６００を搭載するチップをマウントしている。チップ認証装置６００は、入力コード（Ｐ’、Ｓ’、Ｔ’、…）の入力に対して認証（Ｐ１、Ｓ１、Ｔ１、…）を返す。次に、（１）この認証（Ｐ１、Ｓ１、Ｔ１、…）を基幹ノード４００へ出力する。あるいは、（２）この認証（Ｐ１、Ｓ１、Ｔ１、…）をスクランブル装置６０４に返し、スクランブルした認証（Ｐ１’、Ｓ１’、Ｔ１’、…）を基幹ノード４００に返す。あるいは、自明なので特に図示しないが、（３）二つ目の別のスクランブル装置を使って認証（Ｐ１、Ｓ１、Ｔ１、…）を認証（Ｐ１’’、Ｓ１’’、Ｔ１’’、…）に変換してから基幹ノード４００に返す。（３）の方法では、少なくとも二つの独立のスクランブル装置が必要である。
【０１４２】
いずれにしろ、コスト面から、スクランブル装置６０４はチップ認証装置６００を搭載するチップに混載することが望ましい。図２８は、スクランブル装置６０４の基本構成の一例を示す図である。この例では、スクランブル装置６０４は、乱数発生装置６０５及びコード発生装置６０６から構成される。スクランブル装置６０４を構成する乱数発生装置６０５およびコード発生装置６０６の詳しい説明は、図２６で説明したのと同様なので、ここでは説明を省略する。なお、自明なので特に図示しないが、コード発生装置６０６は、スクランブル装置６０４の外に置くことも可能である。
【０１４３】
図２９は、図２３の認証素子９７７により構成される、認証素子用アレイ９６０の一例、もしくは、一部を示すものである。図２３とは逆に、行が横方向、列が縦方向になっている。この一例では、行数はＮ＋Ｋで、列数はＮである。上部Ｋ行Ｎ列の領域を、スクランブル装置６０４を構成するスクランブル装置セルアレイ６１４とし、下部Ｎ行Ｎ列を、チップ認証装置６００を構成するチップ認証装置セルアレイ６１１としている。もちろん、この行と列の役割は逆転させても本発明の本質には変更がない。
【０１４４】
図３０は、スクランブル装置６０４を構成する乱数発生装置６０５を実現する方法の別の一例を説明する図である。まず、{ａ(j)+ｂ(j)} を列毎に入力する。ここで、ｊは列番号である。次に、式２に従って、物理乱数の要素ｄ(i,j) を行方向に足し上げたものを２で割ったあまりに、列番号 (j) に従ってａ(j)+ｂ(j) を加える。ここで、ｉは行番号である。その和を更に２で割ったあまりを中間出力 {ｆ(j)} とする。こうして、入力コード {ａ(j),ｂ(j)} はスクランブル装置６０４で物理的乱数を取り込んで中間コード {ａ(i),ｆ(j)} に変換される。この {ａ(i),ｆ(j)} を次の入力コードとしてチップ認証装置６００に入力し、式３に従って、出力コード {ｃ(i,j)} を出力する。なお、自明なので特に説明しないが、{ｂ(j)} はダミーであっても良い。
【数１】
2018011299.tif 000003
ｃ(i,j) ＝ ｍｏｄ(ａ(i) +ｆ(j) + ｄ(i+K,j),２)           式３
【０１４５】
ここで、スクランブル装置６０４の行数Ｋとチップ認証装置６００の行数Ｎの選び方は、必ずしも基幹ノード側で管理する必要はない。たとえば、周辺ノードを基幹ノードに登録する際、周辺ノードの所有者、あるいは、周辺ノードの正規の管理者が、任意に決定してもよい。決定された（Ｎ、Ｋ）は周辺ノード側の内部メモリ等に保存することが可能である。あるいは、反対に、（Ｎ、Ｋ）を基幹ノードの内部メモリ等に保存することも可能である。
【０１４６】
この時点では（Ｎ、Ｋ）は基幹ノード側が知らなくても良い情報であるが、基幹ノードが中央管理するネットワークに登録し、接続された後は、ネットワークメンテナンスの時などに基幹ノード側で検査し必要に応じて改定することが可能である。その際、改定された（Ｎ、Ｋ）で周辺ノードを再登録する必要がある。
【０１４７】
（Ｎ、Ｋ）を改定すると、たとえ同じ入力コード {ａ(i),ｂ(j)} を入力しても、スクランブル装置６０４が生成する中間コード {ａ(i),ｆ(j)} が異なる。したがって、チップ認証装置６００が生成する出力コード {ｃ(i,j)} も異なる。
【０１４８】
たとえば、一例として、基幹ノードは前回のメンテナンス時に改定した（Ｎ、Ｋ）を記録しておく。次のメンテナンス時、周辺ノードの内部メモリに保存されている（Ｎ、Ｋ）を読み出し、前回基幹ノードに記録しておいた（Ｎ、Ｋ）と比較する。もし一致していないようなら、チップが不正アクセスを受けたとして、ネットワークからこの周辺ノードを切り離すか、管理者に警報を出すことができる。こうして、（Ｎ、Ｋ）をセキュリティバッファとして有効活用することも可能である。なお、式１−３に基づくコード生成方法では、物理乱数 {ｄ(i,j)} を用いているので、仮にセキュリティバッファ（Ｎ、Ｋ）が流出したとしても問題ない。
【０１４９】
上記の式１−３にしたがってコード生成するため、このコード発生装置６０２を含む周辺ノードに搭載される演算処理装置を使用する場合、スクランブル装置６０４とチップ認証装置６００の間に生成される中間出力 {ｆ(j)} は、該演算処理装置の外に出力しないよう、演算処理装置内のレジスタに、中間出力 {ｆ(j)} の一部あるいは全部を格納することが望ましい。あるいは、必要に応じて中間出力 {ｆ(j)} の一部あるいは全部を使用の都度消去することが望ましい。いずれにしろ、入力コードの一部である {ａ(i)} と中間出力 {ｆ(j)} から構成される中間コード {ａ(i),ｆ(j)} は、該周辺ノードの外部には出力されない。
【０１５０】
また、遠隔操作によってコード生成中のレジスタからチップ内あるいは演算処理装置内に閉じ込められた中間出力 {ｆ(j)} をリバースエンジニアリングで取り出すのは至難の業である。これは、レジスタが非常に小さな動的メモリであることによる。たとえば、通常のパソコンでは３２ビット、多くとも６４ビットしかない。一方、中間出力 {ｆ(j)} をすべて記録するのに必要な容量はＮビットである。したがって、Ｎが十分大きければ、コード生成するには、中間出力 {ｆ(j)} をいくつかのセグメントに分割してレジスタにその都度格納しなければならない。ここで、コード生成のために一度に使えるレジスタのビット数をＲとすると、図３０において、たとえば、第１列から第Ｒ列までをセグメント１、第Ｒ＋１列から第２Ｒ列までをセグメント２、第２Ｒ＋１列から第３Ｒ列までをセグメント３、…とし、式２に基づいてセグメント毎に中間出力 {ｆ(j)} の一部を生成し、レジスタに格納する。すなわち、Ｎが十分大きければ、中間出力 {ｆ(j)} を格納したレジスタ領域はセグメントを更新するごとに上書きされる。したがって、コード生成途中であっても、遠隔操作によって中間出力 {ｆ(j)} の全体を一度に盗まれることはない。
【０１５１】
あるいは、上記の式１−３にしたがってコード生成するため、該コード発生装置６０２を含む周辺ノードに搭載される演算処理装置を使用する場合、スクランブル装置６０４とチップ認証装置６００の間に生成される中間出力 {ｆ(j)} は、該周辺ノードの外に出力しないよう、該周辺ノードの内部メモリに、中間出力 {ｆ(j)} の一部あるいは全部を格納することが望ましい。つまり、入力コードの一部である {ａ(i)} と中間出力 {ｆ(j)} から構成される中間コード {ａ(i),ｆ(j)} は、該周辺ノードの外部には出力されない。
【０１５２】
あるいは、上記の式１−３にしたがってコード生成するため、同一チップ内の周辺回路を用いる場合、スクランブル装置６０４とチップ認証装置６００の間に生成される中間出力 {ｆ(j)} は、該チップの外部には出力されない。つまり、入力コードの一部である {ａ(i)} と中間出力 {ｆ(j)} から構成される中間コード {ａ(i),ｆ(j)} は、該チップの外部には出力されない。
【０１５３】
いずれにしろ、出力コード {ｃ(i,j)} の生成が終われば中間出力 {f(j)} は自動的に上書き消去することが望ましい。また、本発明では、入力コード {ａ(i),ｂ(j)} から中間コード {ａ(i),ｆ(j)} を生成するのに物理乱数 {ｄ(i,j)}（i=1,…K）を利用しているので、物理乱数 {ｄ(i,j)}（i=1,…K）の要素数が十分大きければ入力コード {ａ(i),b(j)} から中間出力 {ｆ(j)} を予測することは、現実的に不可能である。更に、中間コード {ａ(i),f(j)} から出力コード {ｃ(i,j)} を生成するのに前者とは独立の物理乱数 {ｄ(i,j)}（i=K+1,…K+N）を利用しているので、物理乱数 {ｄ(i,j)}（i=K+1,…K+N）の要素数が十分大きければ、出力コード {ｃ(i,j)} を予測することは現実的に不可能である。
【０１５４】
たとえば、図２９の例で考えてみよう。スクランブル装置セルアレイ６１４（行数Ｋ）およびチップ認証装置セルアレイ６１１（行数Ｎ）のビット容量を概算すると次のようになる。まず、入力コードの場合の数は、２の２Ｎ乗である。スクランブル装置セルアレイ６１４の物理乱数 {ｄ(i,j)} の場合の数は、２のＮＫ乗である。一方、チップ認証装置セルアレイ６１１からなる物理乱数 {ｄ(i,j)} の場合の数は、２のＹ乗であり、ＹはＮの２乗である。出力コード {ｃ(i,j)} の場合の数は、２のＺ乗であり、ＺはＮの２乗である。
【０１５５】
次に、（Ｎ、Ｋ）を決定するために必要な要件を考える。一般的なデジタル暗号回線で用いられる入力コードは、現在１２８ビットから２５６ビットである。このビット数は、暗号セキュリティの都合から年々少しずつ増加しているが、それでもこれから１０年程度の間は２５６ビットからせいぜい５１２ビットの間で推移するであろう。そこで、一例としてＮ＝Ｋ＝５１２の場合で見積もる。このとき、入力コードの場合の数は、２の１０２４乗である。これは、既に通常の電卓が扱える整数の桁数をはるかに上回る情報量である。実際に関数電卓で計算すると無限大が出てくる。スクランブル装置の物理乱数 {ｄ(i,j)} の場合の数、チップ認証装置の物理乱数 {ｄ(I+N,j)} の場合の数、および出力コード数 {ｃ(i,j)} の場合の数は更に大きく、すべて同様に２の、５１２の２乗の乗である。もちろん、現実的な無限大である。ここで、５１２の２乗は２６２，１４４なので、スクランブル装置を含めても２６２キロビットもあればチップ認証装置としては十分な容量である。この容量は、通常のＤＲＡＭ製品のシリコンダイ辺りの容量（４ギガビット）に比べて４桁小さく、およそ１万分の１以下とはるかに小さい。
【０１５６】
Ｎ＝Ｋ＝１２８の場合では、入力コードの場合の数は、２の２５６乗であり、およそ１０の７７乗となる。上述したように、物のインターネットでは通信ノードの数は全世界で一兆個（１０の１２乗）より多くなると考えられる。１０の７７乗は無限大ではないが、全世界のノード数よりはるかに大きく、たまたま入力コードが同じになるという可能性は、１０のマイナス６５乗と極めて小さくなり、現実的なゼロである。スクランブル装置の物理乱数 {ｄ(i,j)} の場合の数、チップ認証装置の物理乱数 {ｄ(I+N,j)} の場合の数、および出力コード数 {ｃ(i,j)} の場合の数は、すべて同様に２の１２８の更に２乗となり、もちろん、現実的な無限大である。ここで、１２８の２乗は１６，３８４なので、スクランブル装置を含めても１６キロビットもあればチップ認証装置としては十分な容量である。この容量は、通常のＤＲＡＭ製品のシリコンダイ辺りの容量（４ギガビット）に比べて５桁小さく、およそ１０万分の１以下とはるかに小さい。
【０１５７】
このように、仮に中間コード {ｆ(j)} が盗まれていたとしても、物理乱数 {ｄ(i,j)}（j=K+1,…K+N）からなる物理的乱雑さによって出力コード {ｃ(i,j)} を予測するのは不可能である。その上、セキュリティバッファ（Ｎ、Ｋ）を随時更新することができるので、同じ入力コード {ａ(j),ｂ(j)} に対して生成される中間コードは随時更新される。
【０１５８】
図３１は、スクランブル装置セルアレイ６１４とチップ認証装置セルアレイ６１１を含むメモリチップの一例を示す図である。これらの領域が、メモリ領域と共に、ワード線方向に配列し、ワード線５０３を共有している。図３２は、スクランブル装置セルアレイ６１４とチップ認証セルアレイ６１１を含むメモリチップの他一例を示す図である。メモリ領域を含むこれら３つの領域がビット線方向に配列し、ビット線９０２を共有している。このように、ワード線５０３とビット線９０２を入れ替えても、本発明の発明は、本質的に何も変わりはない。
【０１５９】
図３３は、認証素子９７７の一例を示す図である。ワード線５０３とビット線９０２の交差するところにキャパシタ９８２を配置している。一般に、キャパシタは絶縁膜を二つの導電体で挟んだ構造をしており、二つの導電体の間に電界を印加することで電荷を蓄えるものである。ここで、印加電界が直流であれば電流を流さない。しかしながら、印加電界が高すぎると絶縁膜が破壊され、こうして破壊されたキャパシタは、直流でも電流を流すようになる。ワード線５０３とビット線９０２の間に電圧を印加することで、選択された交差点のキャパシタ９８２に電界を印加することが可能である。なお、ここで破壊のために印加する電圧は交流でも直流でもかまわない。
【０１６０】
この破壊の発生は確率的であり、物理的乱雑さを伴うものと考えられる。破壊した認証素子は低い電界でも電流を流しやすくなり、たとえばメモリでは“１”に相当する。図２２では黒に相当する。反対に、破壊しなかった認証素子は低い印加電界に対して電流を流し難く、たとえばメモリでは“０”に相当する。図２２では白に相当する。絶縁破壊のための印加電界やキャパシタの詳細な条件（物性、構造、サイズ等）を調整することによって、この確率を大雑把に調整することが可能となる。この確率をおよそ５０％程度にすると、図２２のような白黒のランダムな市松模様が得られる。
【０１６１】
図３４は、破壊判定のために用いる電流電圧特性である。横軸は、読み出しのために認証素子９７７（図３３の例ではキャパシタ９８２）に印加される読み出し電圧の絶対値であり、縦軸は、その読み出し電圧に応じて認証素子９７７を通して流れる電流の絶対値である。ここで、電圧が高ければ認証素子に印加される電界が高く、電圧が低ければ電界も低くなる。破壊された認証素子では、低い電圧にもかかわらず非常に大きな電流が流れる。一方、破壊されなかった認証素子では、高い電圧においてもほとんど電流が流れない。この差を見極める方法として、破壊判定電圧９３２における破壊判定電流値９３３と非破壊判定電流値９３４を設定する。すなわち、絶対値が破壊判定電圧９３２に一致する読み出し電圧を認証素子９７７に印加したときに、認証素子９７７を流れる電流の絶対値が破壊判定電流値９３３より高ければ、当該認証素子は破壊していると判定し、非破壊判定電流値９３４より低ければ破壊していないと判定する。
【０１６２】
実際に読み出す際は、まず、読み出す素子のアドレスを選択しなければならない。アドレスを選択するには、図２３に示すように、行デコーダー９７２で素子行を選択し、列デコーダー９７３で素子列を選択する。この素子行と素子列の組み合わせがアドレスである。図３５の例では、一行目にこのアドレスを２進法で表記している。こうして選択されたアドレスに対応する認証素子９７７が接続するワード線５０３とビット線９０２の間に、図３４で説明したような方法で読み出し電圧を印加し、対応するアドレスのデータ（“１”あるいは“０”）を読み出す。読み出し後、選択する認証素子のアドレスを変更し、次の認証素子のデータを読み出す。認証素子用アレイ９６０中の全ての認証素子のデータが読み出されるまでこの作業を繰り返す。
【０１６３】
図３４の判定方法には、破壊判定電流値９３３と非破壊判定電流値９３４の間に一定のギャップがある。このため、読み出し電流の絶対値がこのギャップ内にある素子は破壊されたとも非破壊のままであるとも判定されない。このような認証素子は、メモリに相当すると“０”でも“１”でもないため、“Ｘ”と表記することにする。このとき、２進表記した認証素子のセルアレイ上のアドレスと、対応する認証素子のデータの一例を示したのが図３５である。その３行目を見ると、一例として、左から、“１”、“１”、“０”、“１”、“Ｘ”、“０”、“０”、“１”…“０”となっている。このように、左から五番目の認証素子のデータが“Ｘ”になっている。
【０１６４】
次に、図３５のような“０”と“１”の列とそれぞれに対応するアドレスの組み合わせを市松状にプロットしたものが図２２の白黒のパターンになると予想される。ここで、“０”は白に変換され、“１”は黒に変換されるものとする。しかしながら、“０”でも“１”でもない“Ｘ”が存在すると、図２２のような白黒の市松状のパターンを生成することはできない。そこで、市松状にプロットする前に“Ｘ”に対応する認証素子をプロットから排除しなければならない。
【０１６５】
たとえば、“Ｘ”に対応する認証素子のアドレス（たとえば、図３５の例では２進法表記で１００）をバッファーに保存する。各アドレスに対応する認証素子のデータをバッファーの記録と比較し、対応するアドレスがバッファー内に存在したら読まないというような作業を行う。この作業によって、図３５の４行目のように、“Ｘ”に対応する認証素子のデータは取り除かれ、“０”と“１”のみからなるデータとアドレスの組合せが生成される。こうして、図２２のように、白黒の市松状のパターンが得られる。
【０１６６】
ところで、上述した絶縁膜の破壊現象には、一般に、ソフト破壊とハード破壊の二つのモードがある。ソフト破壊モードは、しばしばハード破壊の前段階として現れ、読み出し電圧に対する電流がハード破壊時より低く、非破壊時より高い。また、ソフト破壊モードでは、電圧を繰り返し印加する間に非破壊状態に戻ったり、ハード破壊モードに遷移したりすることもあり状態が不安定である。しかしながら、一度ハード破壊モードに陥ると、非破壊状態に戻ることはなく、またソフト破壊モードに遷移することもない。本発明においては、図３４および図３５で説明した方法により、より安定した破壊モードであるハード破壊モードをメモリの“１”とみなし、ソフト破壊モードを“Ｘ”としている。破壊判定電流値９３３と非破壊判定電流値９３４の間のギャップは、ソフト破壊モードに“Ｘ”をラベルするためのものである。こうして、上述した方法によって、“Ｘ”のソフト破壊した素子のデータを取り除くことによって、図２２の市松状の白黒パターンは、繰り返し電圧を印加しても変化し難くなり、パターンの再現性を獲得する。
【０１６７】
一般に、電気的ストレスによってソフト破壊状態からハード破壊状態に遷移する場合と、非破壊状態からソフト破壊状態に遷移する場合と、どちらかを人為的に優勢にするよう制御することは難しい。したがって、電気的ストレスを繰り返すうち“Ｘ”とラベルされたソフト破壊状態の割合が所定の値以下になることもあれば、それ以上になることもある。しかしながら、ソフト破壊状態の認証素子の数が一定以上に多いと、データ数の減少によりパターンの乱雑さの情報量が不足する。さらに、物理的乱雑さを最大限にするには、情報エントロピーの考え方から“０”と“１”の割合がおおよそ５０％ずつになることが望ましい。そこで、素子に電気的ストレスを印加するための電圧パルスを繰り返し、ソフト破壊モード“Ｘ”を減らしたり、“０”と“１”の割合を所定のレベルに調整したりする方法が必要になる。以下破壊パルスの繰り返し方法を説明する。こうして、第四の条件（４）入力と出力の関係が安定していて信頼できること、を満をたすことが可能となる。
【０１６８】
一例として、図３６の方法を紹介する。第一破壊パルス電圧を印加した後、図３４で説明した方法で破壊検査を実施する。“Ｘ”の割合が一定値より高ければ、続いて、第二破壊パルス電圧を印加し、再び図３４の方法で破壊検査を行う。まだ“Ｘ”の割合が多ければ、第三パルス電圧を印加し、図３４の方法で破壊検査を行う。この作業を、“Ｘ”の割合が所定の値以下になるまで繰り返す。この作業の繰り返し回数の上限値もあらかじめ設定しておく必要がある。作業の繰り返し上限に到達しても“Ｘ”の割合が所定の値以下にならない場合、そのチップ認証装置は検査不合格となる。検査に合格しなかった場合、そのチップは不良品とされ、廃棄される。検査に合格した場合、上述したように“Ｘ”とラベルされた認証素子のアドレスをバッファーに記録し、対応する認証素子のデータを取り除く。ただし、認証素子の数が十分多ければ、多少ソフト破壊の割合が多くとも、十分に大きな情報量の物理的乱雑さを確保することが可能である。この場合、“Ｘ”の割合を検査するこの作業は省くことができる。
【０１６９】
ここで、“Ｘ”はソフト破壊状態に対応するので、複数回パルスを印加しているうちにハード“１”に遷移するものが出てくる。“０”から“Ｘ”に遷移するものの割合が少なくなければ全体として“０”の割合が下がり、“１”の割合が多くなる。すなわち、たとえ1回目のパルスを与えた際は“０”の数が多くても複数回パルス印加するうちに“１”の割合が増えていく。このように、パルス印加回数、パルス印加時間、及び、パルス波高の上昇方法を最適化することにより、取り除かれるデータ（“Ｘ”）の割合をできる限り低減しつつ、“０”と“１”の割合を５０％ずつに近づけることが可能となる。失敗した場合、上述したように、検査不合格とみなし不良品として廃棄する。こうして、十分な情報量の物理的乱雑さを有し、安定した“０”と“１”のデータからなる良品のみを製品として出荷することができる。
【０１７０】
破壊パルスを繰り返し印加する他の一例として、図３７を紹介する。図３６の例との違いは、破壊パルスが印加されるたびに高くなっている点である。その他の説明は図３６の例と同様なので省略する。
【０１７１】
ソフト破壊モード“Ｘ”を取り除く別の方法は、“Ｘ”の認証素子のみ選択し、ハード破壊モード“１”に遷移するまで、繰り返し電圧を印加する方法である。このときの破壊電圧の印加の仕方は、たとえば、図３６あるいは図３７のような方法である。この方法は、 “０”の割合がまだ“１”の割合よりある分だけ高いうちに行うことが望ましい。
【０１７２】
また別の一例では、認証素子の素子構造によってソフト破壊よりハード破壊を優勢にすることが可能である。たとえば、図３８のように、第一導電体１０５３、第二導電体１０５２、絶縁膜９１０、導電体先端部１０５１からなる素子構造を考えよう。第一導電体１０５３には第一電極１０５５が接続しており、第二導電体１０５２には第二電極１０５４が接続している。第一電極１０５５は、ワード線５０２あるいはビット線９０２のどちらか一方に接続し、第二電極１０５４は他方に接続する。導電体先端部１０５１周辺の絶縁膜１０５０の分子構造は、力学的ストレスにより安定しておらず、破壊しやすくなる。さらに、破壊パルスを印加したときに導電体先端部１０５１の周辺に電界が集中しやすい。すなわち、よりハード破壊しやすくなる。しかしながら、導電体先端部１０５１の深さには製造ばらつきがあるので、導電体先端部１０５１と第二導電体１０５２の間の絶縁膜１０５０の破壊発生確率も認証素子ごとにばらつく。ここで、更に上述した破壊パルスの印加の仕方を工夫することによって“０”と“１”の物理的乱雑さをなるべく大きくするよう、調整することが可能となる。
【０１７３】
図３９は認証素子９７７の別一例を示す図である。ワード線５０３とビット線９０２の交差するところにダイオード要素を配置している。具体的には、一例としてＰＮ接合９８６（図３９）で可能である。あるいは、別の一例として、ショットキー接合９８７（図４０）が可能である。ダイオードに強い電圧ストレスを印加すると、ダイオードは確率的に破壊される。破壊されたかどうかは物理的に乱雑であり、ダイオードに逆方向の読み出し電圧を印加して判定する。破壊された素子では、ダイオードに逆方向の読み出し電圧を印加すると電流が流れやすくなり、たとえばメモリの“１”に相当する。破壊されなかったダイオードでは、逆方向の読み出し電圧を印加しても電流が流れ難く、たとえばメモリの“０”に相当する。ストレスも読み出しも、電圧は、それぞれ選択するワード線５０３及びビット線９０２の間に印加する。
【０１７４】
上述のように、それぞれワード線５０３とビット線９０２とに接続する認証素子９７７を構成する要素がＰＮ接合９８６やショットキー接合９８７のようなダイオードである場合、読み出し電圧は逆方向である。一方、それぞれワード線５０３とビット線９０２とに接続する認証素子９７７を構成する要素がキャパシタ９８２の場合、読み出し電圧の方向は正方向逆方向を区別しなくてよい。この点に留意すると、ダイオードの破壊判定方法は、図３４と同様に説明できる。ここで、ダイオードを挟む二つの電極に印加する読み出し電圧は絶対値であり、読み出し電圧を印加したときにダイオード要素を流れる電流も絶対値である。すなわち、ＰＮ接合やショットキー接合の場合、これらの絶対値は、逆方向電圧および逆方向電流のことを意味する。その他、詳細の説明は、キャパシタの場合と同様なので省略する。
【０１７５】
図４１は、認証素子９７７がトランジスタ９８３の場合を示す図面である。一般に、トランジスタは、半導体基板表面の二つの近接する拡散層とゲートキャパシタから構成されている。ゲートキャパシタは、半導体基板上に、ゲート絶縁膜、及び、ゲート電極を積層したものである。この例では、二つの拡散層の内の一方をビット線９０２に接続している。ゲート電極にはワード線５０３を接続する。すなわち、この例では、ゲート絶縁膜の破壊という物理的ばらつき要因を採用することが可能である。絶縁破壊を用いる場合、たとえばビット線９０２に対してワード線５０３に電圧ストレスを印加する。この電圧ストレスは、一例として、図３６のようなパルスでも良い。また別の一例として、図３７のようなパルスでも良い。読み出しは、図３４のように、ビット線９０２とワード線５０３の間に破壊判定電圧９３２を印加し、ビット線９０２とワード線５０３の間を流れる電流を読めば良い。
【０１７６】
図４２は、認証素子９７７が、トランジスタ９８３とキャパシタ９８２から構成されるＤＲＡＭセルの場合である。ここでは、キャパシタ９８２の破壊を利用する方法を説明する。具体的には、トランジスタ９８３をオン状態にするための転送電圧をワード線５０３とビット線９０２の間に印加する。その間にビット線９０２に高電圧ストレスを印加する。この高電圧ストレスは、一例として、図３６や図３７のようなパルスである。読み出しは、図３４のように、ワード線５０３に転送電圧を印加している間に、ビット線９０２を流れる電流を読めば良い。転送電圧の絶対値は、ビット線に印加する電圧の絶対値より大きく、その電圧差はトランジスタ９８３をオン状態にするのに必要な電圧である。トランジスタ９８３のゲート絶縁膜を破壊する場合、図４１と同様な方法が可能である。このとき、ビット線９０２に繋がっている側のゲート絶縁膜が破壊されることになる。いずれにしろ、破壊は確率的であり、物理的乱雑さの起源となる。
【０１７７】
ここで重要なことは、認証素子９７７は、通常のＤＲＡＭセルをそのまま用いることができる点である。すなわち、ＤＲＡＭチップに本発明のチップ認証装置を追加する場合、メモリセル領域の一部に認証装置領域（セルアレイ）を確保するだけで製造のための追加コストは必要ない。認証装置領域のために必要なビット容量は、ＤＲＡＭに限らず一般的なメモリ容量に比べて非常に少なくて済む。
【０１７８】
上述したように、図２９のセルアレイを例にとり、Ｎ＝Ｋ＝５１２の場合で見積もると、２６２キロビットもあればチップ認証装置としては十分な容量である。この容量は、通常のＤＲＡＭ製品のシリコンダイ辺りの容量（４ギガビット）に比べて４桁小さく、およそ１万分の１以下とはるかに小さい。Ｎ＝Ｋ＝１２８の場合、１６キロビットもあればチップ認証装置としては十分な容量であることがわかる。この容量は、通常のＤＲＡＭ製品のシリコンダイ辺りの容量（４ギガビット）に比べて５桁小さく、およそ１０万分の１以下とはるかに小さい。
【０１７９】
ＤＲＡＭの価格は、現在、４ギガビット品で２．５米ドルから３米ドルの間で推移している。ＤＲＡＭセルをそのまま認証素子９７７として使用することができるので、物理乱数の情報量を十分維持しながら、ソフト破壊モード“Ｘ”の分を取り除いて「入出力の信頼性」を確保したとしても、スクランブル装置を含めたチップ認証装置の値段は、１チップ辺り最大でも０．０３米セント程度である。
【０１８０】
図４３は、認証素子９７７の別の一例を示す図である。ワード線５０３とビット線９０２の交差するところに、不揮発性メモリの制御に用いる選択トランジスタ９８４を配置している。不揮発性メモリのメモリ素子は、第一導電型の半導体基板もしくは第一導電型のウェル上の二つの拡散層の間に積層された、シリコン、トンネル膜、電荷蓄積層、層間絶縁膜、制御ゲートからなる、ゲート積層構造である。前記選択トランジスタ９８４は、このメモリ素子の層間絶縁膜の一部もしくは全てを層間導電層に置き換えたもの、あるいは、層間絶縁膜を突き抜けるように開けた縦穴に導電材を埋め込んだ導電体ビアなどを用いても良い。いずれにしろ、制御ゲートに接続したワード線５０３に高電圧を印加することで、選択された交差点の選択トランジスタ９８４のトンネル膜に高電界ストレスを加えることが可能である。ここで、トンネル膜の破壊および読み出しは、トランジスタ９８３のゲート絶縁膜の破壊と同様になる。また、トンネル膜の破壊は確率的であり、物理的乱雑さの起源となる。すなわち、トランジスタ９８３のゲート絶縁膜をトンネル膜に置き換えれば説明は全て同じなので、ここでの説明は省略する。
【０１８１】
図４４は、認証素子９７７の別の一例を示す図である。ワード線５０３とビット線９０２の交差するところに抵抗９８５を配置している。ワード線５０３とビット線９０２の間に高電圧を印加することで、選択された交差点の抵抗９８５に電界ストレスを加えることが可能である。
【０１８２】
一般に、抵抗は高抵抗導電材を二つの端子で挟んだものであり、抵抗に高電界を印加すると確率的に断線し、ワード線５０３とビット線９０２の交点は非導通（ショート）状態になる。ショートしなかった場合（非ショート）、ワード線５０３とビット線９０２の交点は導通状態である。どのアドレスの抵抗がショートするか、あるいは、非ショートのままかはあくまで物理的乱雑さによって決まるので、図２２のようなランダムな市松パターンを作ることができる。
【０１８３】
抵抗が破壊されたかどうかは、抵抗９８５に読み出し電圧を印加して判定する。ショートした認証素子では、読み出し電圧を印加しても電流が流れづらく、たとえば、メモリの“０”に相当する。ショートしなかった認証素子では、読み出し電圧が低くても電流が流れやすく、たとえば、メモリの“１”に相当する。このような抵抗のショートは、導電体の破壊と同じであり、たとえば、エレクトロマイグレーションなどによって引き起こされる。すなわち、エレクトロマイグレーションは確率的に発生し、発生した素子はメモリの“０”に相当し、発生しなかった素子はメモリの“１”に相当する。
【０１８４】
図４５は、ショート判定のために用いる電流電圧特性である。横軸は、読み出しのために抵抗９８５に印加される読み出し電圧の絶対値であり、縦軸は、その読み出し電圧に応じて抵抗９８５を通して流れる電流の絶対値である。ショートしなかった認証素子では、低い電圧にもかかわらず非常に大きな電流が流れる。一方、ショートした認証素子では、高い電圧においてもほとんど電流が流れない。この差を見極める方法として、ショート判定電圧７４２における非ショート判定電流値７４３とショート判定電流値７４４を設定する。すなわち、絶対値がショート判定電圧７４２に一致する読み出し電圧を抵抗９８５に印加したときに抵抗９８５を通して流れる電流の絶対値が、非ショート判定電流値７４３より高ければ、ショートしていないと判定し、ショート判定電流値７４４より低ければショートしていると判定する。
【０１８５】
図４５の判定方法には、非ショート判定電流値７４３とショート判定電流値７４４の間に一定のギャップがある。このため、読み出し電流の絶対値がこのギャップ内にある認証素子９７７は、ショートが発生したとも発生しなかったとも判定されない。このような認証素子９７７は、メモリに相当すると“０”でも“１”でもないため、“Ｘ”と表記することにする。このとき、認証素子９７７のセルアレイ上のアドレス（番地）と、対応する認証素子９７７のデータの一例を示すと、認証素子９７７がキャパシタ９８２の場合と同様に、図３５のようになる。一例として、左から、“１”、“１”、“０”、“１”、“Ｘ”、“０”、“０”、“１”、…、“０”となっている。このように、五番目の素子のデータが“Ｘ”になっている。ここで、“Ｘ”を取り除き、図２２のような白黒のみの市松模様を得る方法は、キャパシタ９８２の場合と同様なので、ここでの説明は省略する。
【０１８６】
実際に読み出す際は、まず、読み出す素子のアドレスを選択しなければならない。アドレスを選択するには、図２３に示すように、行デコーダー９７２で素子行を選択し、列デコーダー９７３で素子列を選択する。この素子行と素子列の組み合わせがアドレスである。図３５の例では、このアドレスを２進法で表記している。こうして選択されたアドレスに対応する素子が接続するワード線５０３とビット線９０２の間に、図４５で説明したような方法で読み出し電圧を印加し、対応するアドレスのデータ（“１”あるいは“０”）を読み出す。読み出し後、選択する認証素子のアドレスを変更し、次の認証素子のデータを読み出す。図２３に示す認証素子用アレイ９６０中の全ての素子のデータが読み出されるまでこの作業を繰り返す。
【０１８７】
図４６は、抵抗９８５の一例を示す図である。第一導電体１０５３、第二導電体１０５２、絶縁膜９１０、導電体接合部９７０からなる素子構造である。第一導電体１０５３には第一電極１０５５が接続しており、第二導電体１０５２には第二電極１０５４が接続している。第一電極１０５５は、ワード線５０３あるいはビット線９０２のどちらか一方に接続し、他方は第二電極１０５４に接続する。導電体接合部９７０の太さには製造上のばらつきがある。そのため、抵抗値にばらつきがあり、ショートする確率にもばらつきがある。したがって、電圧ストレスを繰り返し印加してショートと非ショートの確率がほぼ５０％になるように調整することが望ましい。ここで、繰り返しパルス印加の具体的方法は、例えば、図３６や図３７のような方法が考えられる。
【０１８８】
一般に、電気的ストレスによって導電体接合部９７０の高抵抗部位には熱が発生し、エレクトロマイグレーションを起し易くなる。エレクトロマイグレーションを起すと、その箇所で導電体接合部９７０は断線（ショート）する。断線後は、例えば、図３８のようになり、導電体接合部９７０は導電体先端部１０５１のように変形する。更に高温のため酸化が進み、断線箇所、すなわち導電体先端部１０５１と第二導電体１０５２の間には絶縁膜１０５０が入り込む。こうして、非ショート状態からショート状態に遷移する。
【０１８９】
更に電気的ストレスを繰り返し印加し続けると、断線箇所の酸化膜が絶縁破壊を起し、今度はショート状態から非ショート状態に遷移する。
【０１９０】
非ショート状態からショート状態に遷移する場合と、ショート状態から非ショート状態に遷移する場合のどちらか一方を人為的に優勢にするような制御は難しい。その中間状態が“Ｘ”である。したがって、電気的ストレスを繰り返すうちに“Ｘ”とラベルされた中間状態の割合が所定の値以下になることもあれば、それ以上になることもある。しかしながら、中間状態の素子の数が一定以上に多いと、データ数の減少によりパターンの乱雑さが不足する。そこで、素子に電気的ストレスを印加するための電圧パルスを繰り返す方法が必要になる。一例として、第一破壊パルス電圧を印加した後、図４５で説明した方法で破壊検査を実施する。このとき、“Ｘ”の割合が一定値より高ければ、続いて、第二破壊パルス電圧を印加し、再び図４５の方法で破壊検査を行う。まだ“Ｘ”の割合が多ければ、第三パルス電圧を印加し、図４５の方法で破壊検査を行う。この作業を、“Ｘ”の割合が所定の値以下になるまで繰り返す。この作業の繰り返し回数の上限値もあらかじめ設定する必要がある。作業の繰り返し上限に到達しても“Ｘ”の割合が所定の値以下にならない場合、そのチップ認証装置は検査不合格となる。検査に合格した場合、上述したように“Ｘ”とラベルされた素子のアドレスをバッファーに記録し、対応する素子のデータを取り除く。不合格の場合は廃棄する。ただし、素子の数が十分多ければ、多少中間状態の割合が多くとも、十分に大きな物理的乱雑さを確保することが可能である。この場合、“Ｘ”の割合を検査するこの作業は省くことができる。
【０１９１】
一方、物理的乱雑さを最大限に利用するには、“０”と“１”の割合がおおよそ５０％ずつになることが望ましい。 “Ｘ”とラベルされた素子は、パルス電圧印加を繰り返すうちに確率的に“０”に遷移するので、たとえ1回目のパルスを与えた際は“１”の数が多くても複数回パルス印加するうちに“０”の割合が増えていく。ここで、繰り返しパルス印加の具体的方法は、例えば、図３６や図３７のような方法が考えられる。
【０１９２】
このように、パルス印加回数、パルス印加時間、及び、パルス波高の上昇方法を最適化することにより、取り除かれるデータ（“Ｘ”）の割合をできる限り低減しつつ、“０”と“１”の割合をほぼ５０％ずつに近づけることが可能となる。失敗した場合、上述したように、検査不合格とみなし、不良品として廃棄する。こうして、十分な物理的乱雑さを有し、安定した“０”と“１”のデータからなる良品のみを製品として出荷することができる。
【０１９３】
図４７は、図４４に採用される抵抗９８５の別の一例である。これは、金属配線パターン作成時に一緒に作成することができる。したがって、導電体９３０は通常のメタル配線と同じ材料であることが望ましく、パターン形状は、図４７のように、少なくとも一部は矩形に曲がっていることが望ましい。この曲がった部分に熱が溜まり易くなり、エレクトロマイグレーションを起して断線し易くなる。たとえば、第一電極１０５５はワード線５０３に接続し、第二電極１０５４はビット線９０２に接続する。
【０１９４】
また、図４７のように矩形に曲がった部分は通常のメタル配線より細いことが望ましい。たとえば、矩形部分以外のところをレジストでマスクし、酸化工程を経てスリミングすることでこのような構造が作成できる。
【０１９５】
導電体９３０は、複数回矩形に曲げることも可能である。図４８はその一例であり、９箇所矩形に曲がっている。こうして、ショートする確率を配線パターニングで調節することも可能である。ただし、第一電極１０５５はワード線５０３に接続し、第二電極１０５４はビット線９０２に接続する。
【０１９６】
図４６の構造は、たとえば、第一導電体１０５３の側から絶縁膜９１０を貫通する穴（ビア）を開け、そこに導電材料を埋め込むと、図４９のように導電体ビア５３０を作成できる。これは、図４６の導電体接合部９７０の一例である。ここで、ビア深さの狙い値を第一導電体１０５３と第二導電体１０５２の間の距離に等しくなるようビア製造工程を調整した場合を考える。たまたま狙い値どおりに作成されると、図４９の中央の素子のように、ビアが第一の導電体１０５３と第二の導電体１０５２の間にぴたりと収まる。
【０１９７】
しかしながら、一般には、図５０に示すように、ビアのアスペクト比や穴径には製造上の避けられないばらつきがある。このばらつきは、ビア深さをもばらつかせる。こうして、ある素子では導電体接合部９７０の長さが足りず、第一導電体１０５３と第二導電体１０５２の間が断線（ショート）して図３８のようになる。またある素子では接続（非ショート）して図４６のようになる。たとえば、この図４９の例では、左からショート、接続（非ショート）、接続（非ショート）である。
【０１９８】
ワード線５０３とビット線９０２で選択した認証素子９７７の導電体接合部９７０がショートしていれば電流は流れず、たとえばメモリセルに対応させると“０”状態となる。反対に、ショートしていなければ電流が流れ、たとえばメモリセルに対応させると“１”状態となる。 “０”を白、“１”を黒とみなすと、図２２のようなランダムな白黒のパターンが生成される。
【０１９９】
ここで、ビア深さのばらつきは、大量生産プロセスにおける製造上のばらつきなので、どのようなアルゴリズムとも関係が無い。したがって、物理的ばらつきとみなすことができる。また、必ずしも電気的なストレスを印加することなく、図２２のような白黒のランダムな市松パターンを得ることができる。
【０２００】
しかしながら、導電体ビア製造後に、ショートと非ショートの割合を測定し、所望の値からのずれが大きければ、電気的ストレスを印加して回復を期待することが可能である。たとえば、ショートしている場合（たとえば、図４９の左端の認証素子）、電気的ストレスを繰り返すうちにビア底と第二導電体１０５２の間の絶縁膜の一部（たとえば、図３８の絶縁膜１０５０）が絶縁破壊し、ショート状態から非ショート状態に転移することがある。反対に、非ショートの場合（たとえば、図４９の中央）、電気的ストレスを繰り返すうちエレクトロマイグレーションを起こして非ショート状態からショート状態に転移することがある。
【０２０１】
しかしながら、絶縁破壊とエレクトロマイグレーションのどちらを優勢にするかを人為的に制御するのは難しい。そこで、データ“１”が優勢な場合、データ“１”の素子のみ選択して電気的ストレスを印加し、反対に、データ“０”が優勢の場合、データ“０”の素子のみ選択して電気的ストレスを印加する。こうして、“１”と“０”の割合を検査しながら、所望の割合に近づくまで、このような電気的ストレスの印加を繰り返すことが望ましい。このとき、各々選択された素子群に繰り返し印加するストレスパルスは、たとえば、図３６や図３７のようなものを使うことができる。
【０２０２】
実際に読み出す際には、まず、読み出す素子のアドレスを選択しなければならない。アドレスを選択するには、図２３に示すように、行デコーダー９７２で素子行を選択し、列デコーダー９７３で素子列を選択する。この素子行と素子列の組み合わせがアドレスである。図３５の例では、このアドレスを２進法で表記している。こうして選択されたアドレスに対応する素子が接続するワード線５０３とビット線９０２の間に、図４５で説明したような方法で読み出し電圧を印加し、対応するアドレスのデータ（“１”あるいは“０”）を読み出す。読み出し後、選択する認証素子のアドレスを変更し、新たに選択した認証素子のデータを同様な方法で読み出す。こうして図２３に示す認証素子アレイ９６０中の全ての認証素子のデータが読み出されるまでこの作業を繰り返す。
【０２０３】
上述の例では、たとえば、図３８あるいは図４６において、第一電極１０５５は、ビット線９０２とワード線５０３のどちらか一方に接続し、第二電極１０５４は他方に接続している。しかしながら、本発明に関る構成範囲はこれに留まらず、次のような構成も可能である。たとえば、図５１のように、第一電極１０５５と第二電極１０５４のどちらか一方が２つの制御ゲート（第一の制御ゲート９９６および第二の制御ゲート９９７）を挟んでゲート電極９５５と接続する。第一電極１０５５と第二電極１０５４の他方は接地してもよいし、ソース線に接続しても良いし、あるいは別の回路に連なる任意の端子に接続しても良い。ビット線９０２は第二の制御ゲート９９７に接続し、ワード線５０３は第一の制御ゲート９９６に接続する。あるいは、図５２のように、第一電極１０５５と第二電極１０５４のどちらか一方が接地され、あるいはソース線に接続され、あるいは別の回路に連なる任意の端子に接続される。他方は２つの制御ゲート（第一の制御ゲート９９６および第二の制御ゲート９９７）を挟んでゲート電極９５５と接続する。ビット線９０２は第一の制御ゲート９９６に接続し、ワード線５０３は第二の制御ゲート９９７に接続する。
【０２０４】
図５３および図５４は、認証素子としてキャパシタ９８２を用いた場合を示す図である。たとえば、図５３のように、第一電極１０５５と第二電極１０５４のどちらか一方が２つの制御ゲート（第一の制御ゲート９９６および第二の制御ゲート９９７）を挟んでゲート電極９５５と接続する。第一電極１０５５と第二電極１０５４の他方は、接地してもよいし、ソース線に接続しても良いし、あるいは別の回路に連なる任意の端子に接続しても良い。ビット線９０２は第二の制御ゲート９９７に接続し、ワード線５０３は第一の制御ゲート９９６に接続する。あるいは、図５４のように、第一電極１０５５と第二電極１０５４のどちらか一方が接地され、あるいはソース線に接続され、あるいは別の回路に連なる任意の端子に接続される。他方は２つの制御ゲート（第一の制御ゲート９９６および第二の制御ゲート９９７）を挟んでゲート電極９５５と接続する。ビット線９０２は第一の制御ゲート９９６に接続し、ワード線５０３は第二の制御ゲート９９７に接続する。
【０２０５】
図５５および図５６は、認証素子としてＰＮ接合９８６を用いた例を示す図である。たとえば、図５５のように、第一電極１０５５と第二電極１０５４のどちらか一方が２つの制御ゲート（第一の制御ゲート９９６および第二の制御ゲート９９７）を挟んでゲート電極９５５と接続する。第一電極１０５５と第二電極１０５４の他方は、接地してもよいし、ソース線に接続しても良いし、あるいは別の回路に連なる任意の端子に接続しても良い。ビット線９０２は第二の制御ゲート９９７に接続し、ワード線５０３は第一の制御ゲート９９６に接続する。あるいは、図５６のように、第一電極１０５５と第二電極１０５４のどちらか一方が２つの制御ゲート（第一の制御ゲート９９６および第二の制御ゲート９９７）を挟んでゲート電極９５５と接続する。他方は接地してもよいし、ソース線に接続しても良いし、あるいは別の回路に連なる任意の端子に接続しても良い。ビット線９０２は第一の制御ゲート９９６に接続し、ワード線５０３は第二の制御ゲート９９７に接続する。
【０２０６】
図５７および図５８は、認証素子としてショットキー接合９８７を用いた例を示す図である。たとえば、図５７のように、第一電極１０５５と第二電極１０５４のどちらか一方が２つの制御ゲート（第一の制御ゲート９９６および第二の制御ゲート９９７）を挟んでゲート電極９５５と接続する。第一電極１０５５と第二電極１０５４の他方は接地してもよいし、ソース線に接続しても良いし、あるいは別の回路に連なる任意の端子に接続しても良い。ビット線９０２は第二の制御ゲート９９７に接続し、ワード線５０３は第一の制御ゲート９９６に接続する。あるいは、図５８のように、第一電極１０５５と第二電極１０５４のどちらか一方が２つの制御ゲート（第一の制御ゲート９９６および第二の制御ゲート９９７）を挟んでゲート電極９５５と接続する。他方は接地してもよいし、ソース線に接続しても良いし、あるいは別の回路に連なる任意の端子に接続しても良い。ビット線９０２は第一の制御ゲート９９６に接続し、ワード線５０３は第二の制御ゲート９９７に接続する。
【０２０７】
図５９および図６０は、認証素子として抵抗９８５を用いた例を示す図である。たとえば、図５９のように、第一電極１０５５と第二電極１０５４のどちらか一方が２つの制御ゲート（第一の制御ゲート９９６および第二の制御ゲート９９７）を挟んでゲート電極９５５と接続する。第一電極１０５５と第二電極１０５４の他方は、接地してもよいし、ソース線に接続しても良いし、あるいは別の回路に連なる任意の端子に接続しても良い。ビット線９０２は第二の制御ゲート９９７に接続し、ワード線５０３は第一の制御ゲート９９６に接続する。あるいは、図６０のように、ビット線９０２は第一の制御ゲート９９６に接続し、ワード線５０３は第二の制御ゲート９９７に接続する。また、抵抗９８５の一例として、図４７および図４８の導電体９３０が挙げられる。導電体は、細く、あるいは、矩形状に加工することによって抵抗体あるいはヒューズとして利用できる。あるいは、図４６のように、導電体接合部９７０を導電体９３０として用いることもできる。
【０２０８】
図６１および図６２は、認証素子としてトランジスタ９８３を用いた例を示す図である。たとえば、図６１のように、トランジスタ９８３のゲートが、２つの制御ゲート（第一の制御ゲート９９６および第二の制御ゲート９９７）を挟んでゲート電極９５５と接続する。トランジスタ９８３のソースおよびドレインは、接地してもよいし、ソース線に接続しても良いし、あるいは別の回路に連なる任意の端子に接続しても良い。ここで、ビット線９０２は第二の制御ゲート９９７に接続し、ワード線５０３は第一の制御ゲート９９６に接続する。あるいは、図６２のように、ビット線９０２は第一の制御ゲート９９６に接続し、ワード線５０３は第二の制御ゲート９９７に接続する。
【０２０９】
図６３および図６４は、認証素子としてトランジスタ９８３およびキャパシタ９８２からなるＤＲＡＭセルを用いた例を示す図である。図６３のように、トランジスタ９８３のゲートが、２つの制御ゲート（第一の制御ゲート９９６および第二の制御ゲート９９７）を挟んでゲート電極９５５と接続する。トランジスタ９８３のソースおよびドレインの一方は、接地してもよいし、ソース線に接続しても良いし、あるいは別の回路に連なる任意の端子に接続しても良い。トランジスタ９８３のソースおよびドレインの他方は、キャパシタ９８２の二つの端子のうちの一方に接続する。キャパシタ９８２の他方の端子は接地してもよいし、ソース線に接続しても良いし、あるいは別の回路に連なる任意の端子に接続しても良い。ここで、ビット線９０２は第二の制御ゲート９９７に接続し、ワード線５０３は第一の制御ゲート９９６に接続する。あるいは、図６４のように、ビット線９０２は第一の制御ゲート９９６に接続し、ワード線５０３は第二の制御ゲート９９７に接続する。
【０２１０】
図６５および図６６は、認証素子として選択トランジスタ９８４を用いた例を示す図である。たとえば、図６５のように、選択トランジスタ９８４のゲートが、２つの制御ゲート（第一の制御ゲート９９６および第二の制御ゲート９９７）を挟んでゲート電極９５５と接続する。選択トランジスタ９８４のソースおよびドレインは、接地してもよいし、ソース線に接続しても良いし、あるいは別の回路に連なる任意の端子に接続しても良い。ここで、ビット線９０２は第二の制御ゲート９９７に接続し、ワード線５０３は第一の制御ゲート９９６に接続する。あるいは、図６６のように、ビット線９０２は第一の制御ゲート９９６に接続し、ワード線５０３は第二の制御ゲート９９７に接続する。
【０２１１】
図６７は、ビット線方向に隣り合った選択トランジスタ９８４同士の拡散層を接続した場合の例である。これは、ＮＡＮＤ型の配置と言われるもので、素子と素子の間からビット線端子を取り除いた状態になっている。ただし、素子が不揮発性メモリセルではなく、認証素子９７７なので、いわゆるＮＡＮＤフラッシュとは異なり、ＮＡＮＤ型認証素子アレイである。ここでは、認証素子は選択トランジスタ９８４であるが、特に、そのトンネル膜から構成されるキャパシタの絶縁破壊を用いる。図６８は、ＮＡＮＤ型認証素子アレイの別の一例である。この例では、認証素子としてトランジスタ９８３を採用している。ここでは、特に、そのゲート絶縁膜から構成されるキャパシタの絶縁破壊を用いる。いずれにしろ、キャパシタの破壊（あるいは絶縁破壊）を用いる。したがって、動作方法は同様であり、以下まとめて説明する。
【０２１２】
図６９は、本実施形態に関する認証用素子アレイ９６０の一例である。ページバッファ７９０は、ＮＡＮＤ型不揮発性メモリセルアレイのページバッファを兼ねることができる。ページバッファ７９０は、ビット線９０２との接続をオン／オフさせるためのビット線接続ゲート７９１を含んでいる。更に、ページバッファ７９０は、内部にセンスアンプやラッチアップなどをつかさどる回路を設けている。
【０２１３】
本実施形態では、ＮＡＮＤフラッシュのメモリセルを混載することができる。しかしながら、ＤＲＡＭやＳＲＡＭ等の揮発性メモリ、あるいは、ＮＯＲフラッシュ、磁気抵抗メモリ、相変化型メモリ、抵抗変化型メモリ等の別種の不揮発性メモリを混載することも可能である。いずれにしろ本発明の本質を変更する必要はない。すなわち、本発明に関する認証素子アレイ９６０と混載するメモリは、必要に応じ、アドレスのためのビット線またはワード線の少なくとも一方を共有するだけであり、メモリの種類にはかかわりがない。
【０２１４】
認証素子９７７に電圧パルスを印加するには、一例として、以下に示すような方法で行う。まず、ビット線側の選択ゲートに正の電位を与え、ビット線電極側にあるドレイン選択トランジスタ（ＳＧＤ）９８１１をオン状態にする。同様に、破壊したい素子につながるワード線とビット線電極側のドレイン選択トランジスタ９８１１の間にワード線が存在する場合は、そのワード線にも正の電位を与え、対応する各セルトランジスタ（認証素子９７７）をオン状態とする。ここで、破壊パルスを印加したい素子につながるビット線の電位を０Ｖにする。次に、破壊パルスを印加するワード線を選択し、破壊パルス電圧を印加する。破壊パルスを印加する方法の一例は、たとえば、図３６または図３７で説明した方法で行う。また、複数のチップ認証コードを持つ際は、それぞれの認証コードに対してそれぞれチップ認証ブロックが必要である。このような場合、一つのチップ認証装置に図３６または図３７を試してパルス回数を決定し、それをチップ内のメモリ領域（あるいはバッファー）に記憶させ、別のチップ認証領域に、ここで記憶したのと同じ回数の破壊パルスを印加することも出来る。その際は、パルスとパルスの間の破壊率検査は省略可能である。
【０２１５】
図７０は、本発明に関する破壊検査時の電圧パルス波形の例を示す図である。まず、読み出す認証素子９７７（セルトランジスタ）に関する１本のワード線を選択し、０Ｖより高い所定の電位を与える。選択ワード線とドレイン選択トランジスタ（ＳＧＤ）９８１１の間に他のワード線が存在する場合は、そのワード線にも正の電位を与え、関連する認証素子（セルトランジスタ）をオン状態とする。ビット線は０Ｖないし、選択ワード線よりは低い所定の正の電位を与える。この選択ワード線とビット線の電位差は、たとえば、図３４の破壊判定電圧９３２程度である。同時に、ドレイン選択トランジスタ（ＳＧＤ）９８１１のゲートには正の電位を与え、ドレイン選択トランジスタ（ＳＧＤ）９８１１をオン状態にする。次にビット線接続ゲート７９１を０Ｖに下げる。このとき、ビット線接続トランジスタ７９１０はオフとなり、ビット線はページバッファ７９０内の検知回路から切り離される。もし選択した認証素子９７７の絶縁膜が破壊され導電状態であれば、ビット線の電位は上昇する。反対に、導電状態でなければビット線の電位は変化しない。次に、再度ビット線接続ゲート７９１に正の電位を与え、ビット線接続トランジスタ７９１０をオンにする。続いて、ページバッファ７９０内でビット線の電位変化を検知する。認証素子９７７の絶縁膜の導通・非導通状態に因るビット線電位差をページバッファ７９０内で拡大し、ラッチ回路にｈｉｇｈ／ｌｏｗ データとして格納する。つまり、ビット線電位が所定の電位（たとえば、破壊判定電圧値９３３０）以上であれば、選択した認証素子９７７の絶縁膜は破壊されていると見なし、ビット線電位が所定の電位（たとえば、非破壊判定電圧値９３４０）以下であれば、選択した認証素子９７７の絶縁膜は破壊されていないと見なす。ここで、破壊判定電圧値９３３０及び非破壊判定電圧値９３４０は、それぞれ、図３４の破壊判定電流値９３３と非破壊判定電流値９３４に対応する電圧値である。この例では、破壊が導通状態であり、非破壊が非導通状態である。
【０２１６】
図７１を用いて、本実施例に関する破壊検査時の電圧パルス波形の別の一例を説明する。まず、読み出す認証素子９７７（セルトランジスタ）に関する１本のワード線を選択し、０Ｖを与える。同じく選択ワード線とドレイン選択トランジスタ９８１１間に他のワード線が存在する場合は、そのワード線にも正の電位を与え、関連する認証素子（セルトランジスタ）をオン状態とする。ビット線には所定の正の電位を与える。この選択ワード線とビット線の電位差は、たとえば、図３４の破壊判定電圧９３２程度である。同時に、ドレイン選択トランジスタ９８１１のゲートには正の電位を与え、ドレイン選択トランジスタ９８１１をオン状態にする。次に、ビット線接続ゲート７９１を０Ｖに下げる。このとき、ビット線接続トランジスタ７９１０はオフとなり、ビット線はページバッファ７９０内の検知回路から切り離される。もし選択した認証素子９７７の絶縁膜が破壊され導通状態であれば、ビット線の電位は下降する。反対に、導電状態でなければ、ビット線の電位は変化しない。次に、再度ビット線接続ゲート７９１に正電位を与え、ビット線接続トランジスタ７９１０をオンにする。続いて、ページバッファ７９０内でビット線の電位変化を検知する。認証素子９７７の絶縁膜の導電・非導電状態に因るビット線電位差をページバッファ７９０内で拡大し、ラッチ回路にｈｉｇｈ／ｌｏｗ データとして格納する。つまりビット線電位が所定の電位（たとえば、破壊判定電圧値９３３１）より低ければ、選択した認証素子９７７の絶縁膜は破壊されていると見なし、ビット線電位が所定の電位（たとえば、非破壊判定電圧値９３４１）より高ければ、選択した認証素子９７７の絶縁膜は破壊されていないと見なす。ここで、破壊判定電圧値９３３１及び非破壊判定電圧値９３４１は、それぞれ、図３４の破壊判定電流値９３３と非破壊判定電流値９３４に対応する電圧値である。ここで、破壊は導電状態であり、非破壊は非導電状態である。
【０２１７】
不揮発性メモリの複数のブロックの隣に１ブロック分の領域をチップ認証装置アレイとして割り当てることが可能である。たとえば、図３１や図３２のようにレイアウト可能である。このように、チップ認証装置と不揮発性メモリ装置とは異なるものであるが、ビット線９０２、あるいは、ワード線５０３を共有することでチップ面積を節約することが可能である。
【０２１８】
図２２に示したような半導体装置の素子アレイ上に構成できる物理的にランダムな組み合わせの特殊な例は、例えば、行ごとに“１”と“０”を数え、“１”が多ければその行を黒とする。“０”が多ければその行を白とする。あるいは、行ごとに“１”と“０”を２進法で足し上げた結果の１桁目の値が“１”ならその行を黒とする。反対に“０”ならその行を白とする。あるいは、各行に関する何らかの性質に応じて行ごとに“１”か“０”を決定することも可能である。
【０２１９】
このように、なんらかの演算によって行ごとの値（“１”か“０”）を決定し、その結果を、図７２のように、各行に対応する代換素子９７９に記録する。たとえば、２進数のビット演算なら何でも可能である。あるいは、“０”および“１”を総和して、最下位の桁のみを代換素子９７９に記録することが望ましい。あるいは、“０”の数と“１”の数を比較し、多い方の値を代換素子９７９に記録することも可能である。代換素子９７９は、メモリ素子やヒューズ等が好ましい。ただし、メモリ素子は不揮発性であっても揮発性であっても良い。たとえば、不揮発性の場合、浮遊ゲートを有するものであることが望ましい。あるいは、磁気抵抗の変化を使ったものであったり、相変化を使ったものであったり、抵抗層の抵抗値の変化を使ったものである。揮発性の場合、キャパシタや特殊な回路に蓄積した電荷量を使ったものでもよい。
【０２２０】
いずれにしろ、図２２の白と黒のランダムな市松模様は、図７３のように、ランダムな水平模様に変換される。これは、ＱＲコード（登録商標）からバーコードへの変換と似ている。この変換により同じ行数での情報量は減少するが、行数が十分大きく、縞模様における白と黒の割合が過度に一方的でなければ、十分な乱雑さを保持できるはずである。
【０２２１】
ここで、図２３は、図２２を再現するために、各々市松格子状には何らかの認証素子９７７が配置したものである。これまで述べてきたように、認証素子９７７は、メモリ素子でも良く、抵抗でも良く、キャパシタでも良く、ダイオードでも良く、スイッチでも良く、ある種のトランジスタでも良く、少なくとも第一と第二の二つの状態を出力できるものであれば何でも良い。ここでは、行数がＮで、列数がＭである。ＮもＭも、図２２が十分な乱雑さを確保できる程度の大きさの整数であることが求められる。
【０２２２】
つづいて、入力コード（Ｐ、Ｓ、Ｔ、…）の例として、(ａ(1),ａ(2), …,ａ(N)) を考えよう。図７４のように、各行の代換素子９７９に (ａ(1),ａ(2), …,ａ(N)) を第一行から順に対応させる。このとき、第ｉ行のデータ（１／０）を要素ｄ(i) とする。ここで、要素ｄ(i) の集合 {ｄ(i)} は、０と１のランダムな集合体で構成される乱数コードである。同様に、上記入力コードを {ａ(i)} と表記することにする。ただし、ｉは１からＮまでの整数である。続いて、入力コード {ａ(i)} 及び乱数コード {ｄ(i)} から、何らかの方法を用い出力コード {ｃ(i)} を生成する。入力コード {ａ(i)} 及び出力コード {ｃ(i)} の組み合わせが、図９の交信シリーズ８０に対応している。
【０２２３】
ただし、上述して来たように、図２２が物理的にランダムな白と黒のパターンである限り、{ｄ(i)} が０と１のランダムな集合体で構成される乱数コードであるという条件が満たされる。もちろん、上述した例において、行と列を入れ替えても本発明の性質は本質的に変わらない。
【０２２４】
ここで、一例として、出力コード {ｃ(i)} を生成するために、剰余演算ｍｏｄ(x,y) を用いることにする。これは、ｘをｙで割ったあまりである。図７５は、数列 {ａ(i)} 及び物理乱数 {ｄ(i)} と、式４に基づいて出力される出力コード {ｃ(i)} との関係を一覧表にしたものである。
ｃ(i) ＝ ｍｏｄ(ａ(i) +ｄ(i),２)           式４
【０２２５】
式１に似ているが、列の要素ｊがなくなっている点で簡単化されている。また、この方法を用いると、変換の前後で０と１の数の割合に変化がないことが容易に想像される。これは、交信シリーズ８０によって扱われるデータ量を安定化させるために必要な条件である。すなわち、式４の右辺に入力される情報量と、式４の左辺から出力されるデータ量がほぼ同等であることが求められる。すなわち、入力情報量と出力情報量が大きく異なる場合、式４で定義される系の情報量は、少ない方に合わせられ、結果として、少なくともその差分だけ情報エントロピー（物理的乱雑さ）を失うことになるからである。
【０２２６】
図７６は、式４で示したメカニズムを実現するための基本構成の一例を示した概念図である。すなわち、乱数発生装置６０１で物理乱数 {ｄ(i)} を発生し、基幹ノード４００から、共通パスコードとして入力コード {ａ(i)} が入力され、コード発生装置６０２で出力コード {ｃ(i)} を生成する。この例では、乱数発生装置６０１とコード発生装置６０２が、共にチップ認証装置６００の構成要素となっている。一方、自明なので特に図示しないが、他の例ではコード生成装置６０２をチップ認証装置６００の外に置くことも可能である。いずれにしろ、少なくとも乱数発生装置６０１をできる限り安価にチップ内に搭載しなければならない。本発明では、乱数発生装置６０１の一例として、図７３および図７４で概念的に説明した方法を用いる。コード発生装置６０２は、式４で概念的に説明されるように、プログラムで構成することが可能である。ここで、コード発生に一種のアルゴリズムを使用しているが、物理乱数 {ｄ(i)} で物理的乱雑さを取り込むことが本発明の特徴である。ただし、入力コードの全要素を入力できるよう、乱数発生装置６０１の行数は、少なくとも、{ａ(i)} の要素数と同じか、それより大きいものとする。
【０２２７】
図２７は、式４により動作するスクランブル装置６０４の使用方法の一例を示す図面である。基幹ノード４００から入力コード（Ｐ、Ｓ、Ｔ、…）がスクランブル装置６０４に送られる。こうして、入力コード（Ｐ、Ｓ、Ｔ、…）は（Ｐ’、Ｓ’、Ｔ’、…）に変換される。このコードは、周辺ノードにモジュールされているチップ認証装置６００への入力コード（Ｐ’、Ｓ’、Ｔ’、…）として入力される。ここで、図７のように、基幹ノード４００に接続する周辺ノードは、少なくともチップ認証装置６００を搭載するチップをマウントしている。チップ認証装置６００は、認証（Ｐ１、Ｓ１、Ｔ１、…）を返す。次に、（１）この認証（Ｐ１、Ｓ１、Ｔ１、…）を基幹ノードへ出力する。あるいは、（２）この認証（Ｐ１、Ｓ１、Ｔ１、…）をスクランブル装置に返して、もう一度スクランブルされた認証（Ｐ１’、Ｓ１’、Ｔ１’、…）を基幹ノード４００に返す。あるいは、自明なので特に図示しないが、（３）二つ目の別のスクランブル装置を使って認証（Ｐ１、Ｓ１、Ｔ１、…）を認証（Ｐ１’’、Ｓ１’’、Ｔ１’’、…）に変換してから基幹ノード４００に返す。（３）の方法では、少なくとも二つの独立のスクランブル装置が必要である。
【０２２８】
図７７は、図７２の認証素子９７７と代換素子９７９からなる素子アレイの一部あるいは全部を示すものである。行数はＮ＋Ｋである。このＮ＋Ｋは、チップ内の全ビット線数より少ないか同じ、あるいは、全ワード線数より少ないか同じとすることができる。ここでは、上部Ｋ行の領域をスクランブル装置セルアレイ６１４とし、下部Ｎ行をチップ認証装置セルアレイ６１１としている。この（Ｎ,Ｋ）の組み合わせは、図２９に関連する例と同様に、セキュリティバッファーとして活用することが可能である。
【０２２９】
まず、式５のように、{ａ(i)} と {ｄ(i)} を行ごとに足し合わせたものを２で割り、中間出力 {ｆ(i)} とする。その要素ｆ(i) は、式５で与えられる。
ｆ(i) ＝ ｍｏｄ(ａ(i) +ｄ(i),２)           式５
【０２３０】
ここで、{ｆ(i)} がスクランブル装置セルアレイ６１４に関する出力となる。ただし、ｉは１からＮの自然数である。
【０２３１】
つづいて、式５において、配列 {ａ(i)} を中間コード {ｆ(i)} に置き換えれば、コード発生装置６０２の出力 {ｃ(i)} となる。実際には、対応する要素ａ(i) をｆ(i) に置き換え、式６のようになる。
ｃ(i) ＝ ｍｏｄ(ｆ(i) +ｄ(i),２)           式６
【０２３２】
代換素子９７９がヒューズの場合、たとえば、図７３は、図７２の各行にヒューズを設置することによって実現できる。たとえば、切断したヒューズを黒の行とし、切断しない行を白とすると、この白／黒のランダムな水平模様は、列方向に並んだヒューズの非切断／切断のパターンに置き換えられる。また、ヒューズの切断・非切断は、対応する各行に関するなんらかの性質によって決定する。
【０２３３】
ヒューズの非切断／切断の決定方法は、各行の白と黒の数を数えるだけではない。何らかの事情により、ある行の中に回復不能のエラーが発生している場合に対応する行のヒューズを切断し、そうでない場合に非切断するということでも良い。この回復不能のエラーの出現が物理的に乱雑に発生する限り有効である。また、この例の場合、切断と非切断の割合は５０％程度から大きくずれていても良い。
【０２３４】
回復不能のエラーが発生している行はリダンダンシー行と呼ばれる別の行に置き換えられ、半導体装置としては使用しない。反対に、それ以外の行は製品の半導体装置の一部として利用する。これは不良品を出荷させないために良く使われる手法であるが、ここでは、リダンダンシー行に置き換えられる行と置き換えられない行の組み合わせが物理的に乱雑であることに注目する。つまり、不良品を出荷させないために置き換えていた部分（リダンダンシー行の領域）を用いることによって、チップ認証装置６００用に新たな領域を設けなくても、物理的乱雑さを出力させることが可能となるのである。
【０２３５】
ところで、メモリセルアレイの各行にそれぞれヒューズを当てはめるようなことは稀である。ゆえに、何らかの事情によりある行の中に回復不能のエラーが発生している場合、その対応する行の番号（行番号）を別途用意するメモリ領域（リダンダンシーメモリ）に保存する。そして、メモリ素子にアクセスするとき、そのメモリ素子がリダンダンシーメモリに属しているかどうかを調べる。属していない場合アクセスし、属している場合アクセスせずに対応する行をリダンダンシー行の一つと置き換える。こうして、何らかの事情によるメモリ素子の回復不能なエラーの発生を物理的乱雑さとして応用する場合、図７２等に見られる代換素子９７９を用いずに、リダンダンシー用のメモリ領域を利用することが可能である。
【０２３６】
ただし、この手法で十分な大きさの物理的乱雑さを出力するためには、行数Ｎが十分大きくなければならない。ここで、リダンダンシーメモリに属する行数をＬとすると、Ｌは１より十分大きく、Ｎより十分小さな整数である。
【０２３７】
上述したような条件を満たす半導体製品は、たとえば、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）である。この場合、上述した認証素子９７７は、ＤＲＡＭのメモリ素子である。典型的な４ギガビットＤＲＡＭ製品の場合、たとえば、全ビット線数６５５万本に対して、何らかの事情により回復不能のエラーが発生する行を置き換えるために準備する行数（リダンダンシーに関するビット線数）は、たとえば、１５万３千程度であろう。ここでリダンダンシー用に設けるビット線方向を図７２の行方向に当てはめたが、反対に、ワード線を当てはめることも可能である。いずれにしろ、リダンダンシーに関する場合の数は、簡単な見積もりとして、６５５万の内から１５万３千を選ぶ順列に等しい。計算すると約１０の３１５２８９乗になる。これは恐ろしく大きい数であり、現実的にほぼ無限大と考えてよい。
【０２３８】
次に、ワード線方向を図７２の行方向に当てはめると、典型的な４ギガビットＤＲＡＭ製品の場合、ワード線数４４０万に対してリダンダンシー行の総数は、たとえば、３，０４４である。４４０万から３、０４４を選ぶ順列の数は、計算するとおよそ１０の２０２２２乗のさらに１．６倍となる。ビット線リダンダンシーの場合の数より大分少なくなるが、それでもワード線リダンダンシーの場合の数も恐ろしく大きな数である。いずれにしろ、改めてチップ認証装置６００用の領域を設けなくても、汎用ＤＲＡＭの製品管理のためにあらかじめ設置されているリダンダンシーメモリを用いることによって、現実的に無限大の物理的乱雑さを手に入れることが可能である。
【０２３９】
このように、汎用ＤＲＡＭ製品は、製品管理用にあらかじめリダンダンシーメモリとしてヒューズメモリが取り付けられており、しかもビット線数もリダンダンシー行の数も十分大きく、得られる物理的乱雑さも十分である。したがって、チップ認証装置６００としてチップ内のすべての領域のリダンダンシーを使うことも可能だが、その一部のみをチップ認証装置６００として使用することも可能である。この場合、行数Ｎはチップ内の全ビット線数、あるいは、全ワード線数より小さくなる。
【０２４０】
本発明に関するチップ認証装置では、たとえば、図７８のように、少なくともチップ認証モジュール６０および入出力制御モジュール８００を、チップ１０に搭載することができる。この入出力制御モジュール８００は、入出力制御回路、ワード線制御回路、ビット線制御回路、データ入出力バッファー等を含むことができる。
【０２４１】
更に、本発明によるチップ認証装置は、たとえば、図７９のように、少なくともチップ認証モジュール６００と、認証装置用制御モジュール８８０と、入出力制御モジュール８１０と、スクランブル装置モジュール８９０と、及び中間コード用バッファーモジュール９００とから構成され、チップ１０に搭載することができる。この入出力制御モジュール８１０は、入出力制御回路およびデータ入出力バッファーを含むことができるが、ワード線制御回路及びビット線制御回路を含まない。スクランブル装置モジュール８９０は、図２７のスクランブル装置６０４を含み、スクランブル装置６０４が生成する中間コードは、入出力制御モジュール８１０とは独立した中間コード用バッファーモジュール９００に格納され、外部からの要請があってもデータをチップ１０の外部に出力しない。これは、中間コードをチップ内に閉じ込めるためである。認証装置用制御モジュール８８０は、ワード線制御回路、ビット線制御回路、データバッファーを含むことができる。また、図３５で説明した、モード“Ｘ”に対応するアドレスを記録する内部記録部も含むことができる。同様の記録部は、必要に応じて、スクランブル装置モジュール８９０にも含むことができる。
【０２４２】
外部入出力装置５０から入力コード {ａ(i)} と {ｂ(j)} の集合が入力されると、入出力制御モジュール８１０は、入力コード {ａ(i)} と {ｂ(j)} の集合をスクランブル装置モジュール８９０に渡す。ここで、式２に基づいて生成された中間コード {ｆ(i,j)} は、中間コード用バッファーモジュール９００に一時格納され、認証装置用制御モジュール８８０に引き渡される。認証装置用制御モジュール８８０は、内部のワード線制御回路、ビット線制御回路、及びデータバッファーなどを駆使し、チップ認証モジュール６００から取得した乱数コード {ｄ(i,j)} と、中間コード {ｆ(i,j)} とに応じ、式３に基づいて、出力コード {ｃ(i,j)} を生成し、内部のデータバッファーに一時格納する。入出力制御モジュール８１０は、外部入出力装置５０を通じて出力コード {ｃ(i,j)} をチップ１０の外に出力する。こうして、中間出力 {ｆ(i,j)} をチップ内に閉じ込めておくことが可能となる。
【０２４３】
あるいは、外部入出力装置５０から入力コード {ａ(i)} が入力されると、入出力制御モジュール８１０は、入力コード {ａ(i)} をスクランブル装置モジュール８９０に渡す。ここで、式５に基づいて生成された中間コード {ｆ(i)} は、中間コード用バッファーモジュール９００に一時格納され、認証装置用制御モジュール８８０に引き渡される。認証装置用制御モジュール８８０は、内部のワード線制御回路、ビット線制御回路、及びデータバッファーなどを駆使し、チップ認証モジュール６００から取得した乱数コード {ｄ(i)} と中間コード {ｆ(i)} とに応じ、式６に基づいて出力コード {ｃ(i)} を生成し、内部のデータバッファーに一時格納する。入出力制御モジュール８１０は、外部入出力装置５０を通じて出力コード {ｃ(i)} をチップ１０の外に出力する。こうして、中間出力 {ｆ(i)} をチップ内に閉じ込めておくことが可能となる。
【０２４４】
認証素子９７７は、ＭＯＳ型トランジスタ、ＤＲＡＭセル、不揮発性メモリセルトランジスタ、相変化メモリセル、抵抗変化メモリセル、磁気変化メモリセル、ＰＮ接合、ショットキー接合、キャパシタ、絶縁膜、抵抗など、一般的な半導体製造工程で同時に製造可能なデバイスやその部品であれば何でも良い。あるいは特殊にデザインされた微小構造でも使用可能である。
【０２４５】
認証素子９７７を確率的に破壊する場合、破壊方法は、選択した素子に電気的なストレスを与えればよい。このとき、チップ上の全アドレスを選択することもできれば、必要に応じて一部のアドレスのみを選択して破壊パルスを印加することも可能である。
【０２４６】
図２２で“１”と“０”の割合がほぼ同じになると、図７３の水平模様の乱雑さは増大する傾向がある。そのため、何らかの事情によりチップ認証装置に使える素子領域が制限される場合や、小容量製品のチップ認証装置を作成する場合には、できる限り、図２２での“１”と“０”の割合を等しくする必要がある。たとえば、図３６あるいは図３７に示すように、破壊パルスを段階的に印加して“１”と“０”の割合を調整する方法がある。まず、第一パルス電圧を印加し、続いて検査をする。このとき、非破壊素子の数が多ければ、第二パルス電圧を印加する。検査後まだ非破壊素子の数が多ければ、さらに第三パルス電圧を印加して検査する。こうして、図３６あるいは図３７のように、破壊パルスを段階的に印加することによって、非破壊素子の数が段階的に減り破壊素子の数が段階的に増大して行く。両者の差が所定の範囲内に収まるところで破壊パルスの印加を中止する。
【０２４７】
あるいは、パルス電圧をチップ認証装置の全素子に印加して続いて検査をする。このとき、非破壊素子の数が多ければ、非破壊素子のみ選択して再びパルス電圧を印加する。検査後まだ非破壊素子の数が多ければ、再び非破壊素子のみ選択してパルス電圧を印加する。この場合、破壊パルスの印加を繰り返すのは非破壊素子のみにすることが望ましい。破壊パルスを段階的に増大してもしなくても、非破壊素子は段階的に破壊され、“０”と“１”の割合は近づいてゆく。両者の差が所定の範囲内に収まるところで破壊パルスの印加を中止する。
【０２４８】
破壊パルスの印加が終わった後、“０”でも“１”でもないもの“Ｘ”が残留している場合がある。このような場合、図３５で説明した方法を用いて、“Ｘ”を除去すれば良い。
【０２４９】
一般に、電子装置を構成するチップは一つとは限らない。図１３のネットワークの一例を構成する第一、第二、…、第五の周辺ノードも、少なくとも一つ以上のチップから構成されていると考えられる。一例として、図７では、周辺ノードである情報機器１４０が、第一のチップ１１０、第二のチップ１２０、…、第Ｎのチップ１３０から構成される。このうち、必ずしもすべてのチップが本発明のチップ認証装置を搭載している必要はない。図７の例では、第一のチップ１１０のみがチップ認証のための関連モジュールを搭載している。
【図面の簡単な説明】
【０２５０】
【図１】プロトコル・データ・ユニットの伝送方法の一例を示す図。
【図２】通信階層を説明する図。
【図３】プロトコル・データ・ユニットの伝送方法の一例を示す図。
【図４】複数の通信ノードと複数の信号伝達路からなるネットワークの一例を示す図。
【図５】通信ネットワークの最小ユニット（エレメント）の一例を示す図。
【図６】イーサネット（登録商標）カード基本構成の一例を示す図。
【図７】チップ認証装置を含むチップを搭載した周辺ノードの一例を示す図。
【図８】本発明のチップ認証装置を搭載したチップを含む装置の接続方法の一例を示す図。
【図９】正規の使用者が、本発明のチップ認証装置を搭載したチップを含む装置を、ネットワーク上で使用する方法の一例を示す図。
【図１０】本発明のチップ認証装置を搭載したチップを含む周辺ノードを、基幹ノードに接続する方法の一例を示す図。
【図１１】基幹ノードから、本発明のチップ認証装置を搭載したチップを含む周辺ノードに共通パスコードを送信する方法の一例を示す図。
【図１２】本発明のチップ認証装置を搭載したチップを含む周辺ノードから、認証コードを、基幹ノードに送信する方法の一例を示す図。
【図１３】第一ネットワークユニットと第二ネットワークユニットに分割された複数の基幹ノードと、本発明のチップ認証装置を搭載したチップを含む複数の周辺ノードからなるネットワークの一例を示す図であり、そのネットワークは第一ネットワークユニットの基幹ノードと第二ネットワークユニットの基幹ノードとの接続を有するトポロジーを含む。
【図１４】第一ネットワークユニットにおける複数の周辺ノードの少なくとも一つを含むトポロジーを示す図であり、複数の周辺ノードの少なくとも一つはそれぞれ複数の第二ネットワークユニットにおける基幹ノードの少なくとも一つに接続する。
【図１５】本発明のチップ認証装置が満たすべき、出力の独立性の一例を示す図。
【図１６】本発明のチップ認証装置が満たすべき、入力の独立性の一例を示す図。
【図１７】本発明のチップ認証装置が満たすべき、出力信号の予測不可能性の一例を示す図。
【図１８】本発明のチップ認証装置が満たすべき、入出力信号の信頼性の一例を示す図。
【図１９】入力コードと登録コードの対応表の一例を示す図。
【図２０】周辺ノードの正当性を検査するための作業工程の一例を示す図。
【図２１】周辺ノードの正当性を検査するための作業工程の一例を示す図。
【図２２】市松状に割り振られたデータの一例を示す図。
【図２３】Ｍ行Ｎ列の市松状に並べられた認証素子のレイアウトの一例を示す図。
【図２４】入力コードを入力する方法の一例を示す図。
【図２５】入力コード、出力コード、乱数の関係の一例を示す図。
【図２６】チップ認証装置の利用法の一例を示すための基本構成の一例を示した概念図。
【図２７】スクランブル装置を加えた実施形態の概念の一例を示す図。
【図２８】スクランブル装置の基本構成の一例を示す図。
【図２９】スクランブル装置とチップ認証装置の両方を有する素子配列の一例を示す図。
【図３０】スクランブル装置およびチップ認証装置の動作原理の一例を説明する図。
【図３１】ブロックアレイ構造の一例を示す図。
【図３２】ブロックアレイ構造の一例を示す図。
【図３３】認証素子の一例（キャパシタ）を示す図。
【図３４】認証素子からデータを読み出す方法の一例を説明するための図。
【図３５】認証素子から読み出したデータのエラー補正方法の一例を説明する図。
【図３６】破壊パルスの印加の仕方の一例を説明する図。
【図３７】破壊パルスの印加の仕方の一例を説明する図。
【図３８】認証素子の一例（導電体先端部）を示す図。
【図３９】認証素子の一例（ＰＮ接合）を示す図。
【図４０】認証素子の一例（ショットキー接合）を示す図。
【図４１】認証素子の一例（電界効果トランジスタ）を示す図。
【図４２】認証素子の一例（ＤＲＡＭ）を示す図。
【図４３】認証素子の一例（選択トランジスタ）を示す図。
【図４４】認証素子の一例（抵抗）を示す図。
【図４５】認証素子からデータを読み出す方法の一例を説明するための図。
【図４６】認証素子の一例（導電体接合部）を示す図。
【図４７】認証素子の一例（導電体）を示す図。
【図４８】認証素子の一例（導電体）を示す図。
【図４９】認証素子の一例（導電体ビア）を示す図。
【図５０】認証素子の一例（導電体ビア）が物理的に乱雑さを生成するメカニズムを示す図。
【図５１】認証素子を選択する方法の一例を示す図。
【図５２】認証素子を選択する方法の一例を示す図。
【図５３】認証素子の一例（キャパシタ）を示す図。
【図５４】認証素子の一例（キャパシタ）を示す図。
【図５５】認証素子の一例（ＰＮ接合）を示す図。
【図５６】認証素子の一例（ＰＮ接合）を示す図。
【図５７】認証素子の一例（ショットキー接合）を示す図。
【図５８】認証素子の一例（ショットキー接合）を示す図。
【図５９】認証素子の一例（抵抗）を示す図。
【図６０】認証素子の一例（抵抗）を示す図。
【図６１】認証素子の一例（電界効果トランジスタ）を示す図。
【図６２】認証素子の一例（電界効果トランジスタ）を示す図。
【図６３】認証素子の一例（ＤＲＡＭ）を示す図。
【図６４】認証素子の一例（ＤＲＡＭ）を示す図。
【図６５】認証素子の一例（選択トランジスタ）を示す図。
【図６６】認証素子の一例（選択トランジスタ）を示す図。
【図６７】認証素子の一例（選択トランジスタ）を示す図。
【図６８】認証素子をＮＡＮＤ型配列した場合のレイアウトの一例を示す図。
【図６９】認証素子をＮＡＮＤ型配列した場合のレイアウトの一例を示す図。
【図７０】認証素子を読み出す方法の一例を示す図。
【図７１】認証素子を読み出す方法の一例を示す図。
【図７２】代換素子の一例を示す図。
【図７３】代換素子によるデータのランダムさを説明する図。
【図７４】入力コードを入力する方法の一例を示す図。
【図７５】入力コード、出力コード、乱数の関係の一例を示す図。
【図７６】チップ認証装置の利用法の一例を示すための基本構成の一例を示した概念図。
【図７７】スクランブル装置とチップ認証装置の両方を有する素子配列の一例を示す図。
【図７８】チップ認証装置を含む半導体チップの一例を示す図。
【図７９】スクランブル装置およびチップ認証装置を含む半導体チップの一例を示す図。
【図８０】イーサネット（登録商標）形式の通信方法の典型的一例を示す図。
【図８１】ＭＡＣアドレスの形式の一例を示す図。
【図８２】本発明の物理的にクローン不可能なチップ認証（ＰＵＣ−Ｉ）を用いた通信方法の一例を示す図。
【図８３】本発明の物理的にクローン不可能なチップ認証（ＰＵＣ−Ｉ）を用いたＰＵＣアドレス形式の一例を示す図。
【図８４】本発明の物理的にクローン不可能なチップ認証（ＰＵＣ−Ｉ）を用いたＰＵＣアドレス形式の一例を示す図。
【図８５】本発明の物理的にクローン不可能なチップ認証（ＰＵＣ−Ｉ）を用いたＰＵＣアドレス形式の一例を示す図。
【図８６】本発明の物理的にクローン不可能なチップ認証（ＰＵＣ−Ｉ）を用いた通信方法の一例を示す図。
【図８７】本発明の物理的にクローン不可能なチップ認証（ＰＵＣ−Ｉ）を用いた通信方法の一例を示す図。
【図８８】本発明の物理的にクローン不可能なチップ認証（ＰＵＣ−Ｉ）を用いた通信方法の一例を示す図。
【図８９】ＰＵＦ認証計測装置が被認証チップを認証する方法の一例を示す図。
【図９０】ＰＵＦ認証計測装置が被認証チップを認証する方法の一例を示す図。
【図９１】ＰＵＦ認証計測装置が被認証チップを認証する方法の一例を示す図。
【図９２】ＰＵＦ認証計測装置が被認証チップを認証する方法の一例を示す図。
【図９３】ＰＵＦ認証計測装置が被認証チップを認証する方法の一例を示す図。
【発明を実施するための形態】
【０２５１】
以下、本発明を実施するための形態について具体的に説明する。
【０２５２】
上述してきたように、物理的にクローン不可能な機能（ＰＵＦ）は、さまざまな方法を駆使することによって、物理的実態である半導体チップの個体認識を実現することが可能である。一方、半導体チップは、電子機器や情報機器の心臓部品であり、最小構成単位と考えることができる。したがって、チップ認証を物理的に実現しうる物理的にクローン不可能な機能（ＰＵＦ）を用いて、電子機器や情報機器の物理的認証を実現できると考えられる。
【０２５３】
図８９は、ＰＵＦ認証計測装置が被認証チップを認証する方法を説明する模式図であり、被認証チップに含まれるＰＵＦ装置への入力であるための入力認証コードと、その入力に対する被認証チップからの反応である出力認証コードまでを含む。まず、認証される半導体装置は少なくとも被認証チップを含むものとする。次に、前記被認証チップは、メモリセルアレイ（ＤＲＡＭなど）の他周辺メモリ領域を含むモジュール領域を含む。前記メモリセルアレイは、冗長ビット線を含む。前記周辺メモリ領域は、冗長アドレスおよびその他のメモリ制御に必要なコード（電圧制御コードなど）を保存する。前記周辺メモリ領域は、たとえば、ヒューズメモリなどである。被認証チップは、例えば、ＤＲＡＭのビット線冗長アドレスを測定するｔｅｓｔ回路を有する。また被認証チップは、例えば、ＤＲＡＭのビット線冗長アドレスと入力認証コードから出力認証コードを出力するｍｏｄｆ回路を有する。
【０２５４】
ＰＵＦ認証計測装置から被認証チップに対し、冗長アドレス取得特殊テストモード｛Ｔ(a)｝とＰＵＦ装置への入力認証コード｛Ｃ(i)｝が送信される。｛Ｃ(i)｝は、可変チップ認識コード｛ｉ｝を含む。｛Ｔ(a)｝は、ビット線冗長アドレスの読み取り領域や読み取りモードなどの指定コード｛ａ｝を含む。ｔｅｓｔ回路は冗長アドレスのデータを読み取り、読み取り結果｛Ｒ(a)｝をｍｏｄｆ回路へ送付する。ここで、｛Ｒ(a)｝は、被認証チップに固有の物理的特性から生成する乱数を、指定コード｛ａ｝に従って出力したものである。ｍｏｄｆ回路は、式７に従って、｛Ｃ(i)｝と｛Ｒ(a)｝を元に出力認証コード｛Ｄ(i,a)｝を作成し、ＰＵＦ認証計測装置へ送信し、ＰＵＦ認証計測装置は、｛ａ｝と｛Ｃ(i)｝と｛Ｄ(i,a)｝を元に、被認証チップの認証を行う。
Ｄ(i,a) ＝ ｍｏｄｆ(Ｃ(i) ＋Ｒ(a))              式７
【０２５５】
図９０は、ＰＵＦ認証計測装置が被認証チップを認証する方法を説明する模式図であり、被認証チップに含まれるＰＵＦ装置への入力である入力認証コードと、その入力に対する被認証チップからの反応である出力認証コードまでを含む。まず、認証される半導体装置は少なくとも被認証チップを含むものとする。次に、前記被認証チップは、メモリセルアレイ（ＤＲＡＭなど）の他周辺メモリ領域を含むモジュール領域を含む。前記メモリセルアレイは、冗長ビット線を含む。前記周辺メモリ領域は、冗長アドレスおよびその他メモリ制御に必要なコード（電圧制御コードなど）を保存する。前記周辺メモリ領域は、たとえば、ヒューズメモリなどである。被認証チップは、例えば、ＤＲＡＭのビット線冗長アドレスを測定するｔｅｓｔ回路を有する。また被認証チップは、例えば、ＤＲＡＭのビット線冗長アドレスと入力認証コードから出力認証コードを出力するｍｏｄｖ回路を有し、このｍｏｄｖ回路のプログラムは変更可能とする。
【０２５６】
ＰＵＦ認証計測装置から被認証チップに対し、冗長アドレス取得特殊テストモード｛Ｔ(a)｝とＰＵＦ装置への入力認証コード｛Ｃ(i)｝が送信される。｛Ｃ(i)｝は、可変チップ認識コード｛ｉ｝を含む。｛Ｔ(a)｝は、ビット線冗長アドレスの読み取り領域や読み取りモードなどの指定コード｛ａ｝を含む。ｔｅｓｔ回路は冗長アドレスのデータを読み取り、読み取り結果｛Ｒ(a)｝をｍｏｄｖ回路へ送付する。ここで、｛Ｒ(a)｝は、被認証チップに固有の物理的特性から生成する乱数を、指定コード｛ａ｝に従って出力したものである。ｍｏｄｖ回路は、式８に従って、｛Ｃ(i)｝と｛Ｒ(a)｝から出力認証コード｛Ｄ(i,a)｝を作成し、ＰＵＦ認証測定装置へ送信し、ＰＵＦ認証測定装置は｛ａ｝と｛Ｃ(i)｝と｛Ｄ(i,a)｝を元に、被認証チップの認証を行う。
Ｄ(i,a) ＝ ｍｏｄｖ(Ｃ(i) ＋Ｒ(a))              式８
【０２５７】
図９１は、ＰＵＦ認証計測装置が被認証チップを認証する方法を説明する模式図であり、被認証チップに含まれるＰＵＦ装置へ入力する入力認証コードと、その入力に対する被認証チップからの反応である出力認証コードまでを含む。まず、認証される半導体装置は少なくとも被認証チップを含むものとする。次に、前記被認証チップは、メモリセルアレイ（ＤＲＡＭなど）の他周辺メモリ領域を含むモジュール領域を含む。前記メモリセルアレイは、冗長ビット線を含む。前記周辺メモリ領域は、冗長アドレスおよびその他メモリ制御に必要なコード（電圧制御コードなど）を保存する。前記周辺メモリ領域は、たとえば、ヒューズメモリなどである。被認証チップは、例えば、ＤＲＡＭのビット線冗長アドレスを測定するｔｅｓｔ回路を有する。また被認証チップは、例えば、ＤＲＡＭのビット線冗長アドレスと入力認証コードから出力認証コードを出力するｍｏｄｆ回路を有する。
【０２５８】
ＰＵＦ認証計測装置から被認証チップ間に対し、冗長アドレス取得特殊テストモード｛Ｔ(a)｝が送信される。｛Ｔ(a)｝は、ビット線冗長アドレスの読み取り領域や読み取りモードなどの指定コード｛ａ｝を含む。｛ａ｝はＰＵＦ装置への入力認証コードの役割も兼ねる。ｔｅｓｔ回路は冗長アドレスのデータを読み取り、読み取り結果｛Ｒ(a)｝をｍｏｄｆ回路へ送付する。ここで、｛Ｒ(a)｝は、被認証チップに固有の物理的特性から生成する乱数を、指定コード｛ａ｝に従って出力するものである。ｍｏｄｆ回路は、式９に従って、｛Ｒ(a)｝から出力認証コード｛Ｄ(a)｝を作成し、ＰＵＦ認証計測装置へ送信し、ＰＵＦ認証計測装置は、｛ａ｝と｛Ｄ(a)｝を元に、被認証チップの認証を行う。
Ｄ(a) ＝ ｍｏｄｆ(Ｒ(a))                  式９
【０２５９】
図９２は、ＰＵＦ認証計測装置が被認証チップを認証する方法を説明する模式図であり、被認証チップに含まれるＰＵＦ装置へ入力する入力認証コードと、その入力に対する被認証チップからの反応である出力認証コードまでを含む。まず、認証される半導体装置は少なくとも被認証チップを含むものとする。次に、前記被認証チップは、メモリセルアレイ（ＤＲＡＭなど）の他周辺メモリ領域を含むモジュール領域等を含む。前記メモリセルアレイは、冗長ビット線を含む。前記周辺メモリ領域は、冗長アドレスおよびその他メモリ制御に必要なコード（電圧制御コードなど）を保存する。前記周辺メモリ領域は、たとえば、ヒューズメモリなどである。被認証チップは、例えば、ＤＲＡＭのビット線冗長アドレスを測定するｔｅｓｔ回路を有する。また被認証チップは、例えば、ＤＲＡＭのビット線冗長アドレスと入力認証コードから出力認証コードを出力するｍｏｄｖ回路を有し、このｍｏｄｖ回路のプログラムは変更可能とする。
【０２６０】
ＰＵＦ認証計測装置から被認証チップに対し、冗長アドレス取得特殊テストモード｛Ｔ(a)｝が送信される。｛Ｔ(a)｝は、ビット線冗長アドレスの読み取り領域や読み取りモードなどの指定コード｛ａ｝を含む。｛ａ｝はＰＵＦ装置への入力認証コードの役割も兼ねる。ｔｅｓｔ回路は冗長アドレスデータを読み取り、読み取り結果｛Ｒ(a)｝をｍｏｄｖ回路へ送付する。ここで、｛Ｒ(a)｝は、被認証チップに固有の物理的特性から生成する乱数を、指定コード｛ａ｝に従って出力するものである。ｍｏｄｖ回路は、式１０に従って、｛Ｒ(a)｝から出力認証コード｛Ｄ(a)｝を作成し、ＰＵＦ認証計測装置へ送信し、ＰＵＦ認証計測装置は、｛ａ｝と｛Ｄ(a)｝を元に、被認証チップの認証を行う。
Ｄ(a) ＝ ｍｏｄｖ(Ｒ(a))                  式１０
【０２６１】
図９３は、ＰＵＦ認証計測装置が被認証チップを認証する方法を説明する模式図であり、被認証チップに含まれるＰＵＦ装置へ入力する入力認証コードと、その入力に対する被認証チップからの反応である出力認証コードまでを含み、認証される半導体装置は少なくとも被認証チップを含むものとする。次に、前記被認証チップは、メモリセルアレイ（ＤＲＡＭなど）の他周辺メモリ領域を含むモジュール領域を含む。前記メモリセルアレイは、冗長ビット線を含む。前記周辺メモリ領域は、冗長アドレスおよびその他メモリ制御に必要なコード（電圧制御コードなど）を保存する。前記周辺メモリ領域は、たとえば、ヒューズメモリなどである。被認証チップは、例えば、ＤＲＡＭのビット線冗長アドレスを測定するｔｅｓｔ回路を有する。
【０２６２】
ＰＵＦ認証計測装置から被認証チップに対し、冗長アドレス取得特殊テストモード｛Ｔ(a)｝が送信される。｛Ｔ(a)｝は、ビット線冗長アドレスの読み取り領域や読み取りモードなどの指定コード｛ａ｝を含む。｛ａ｝はＰＵＦ装置への入力認証コードの役割も兼ねる。ｔｅｓｔ回路は冗長アドレスデータを読み取り、式１１に従って読み取り結果｛Ｒ(a)｝を出力認証コード｛Ｄ(a)｝としてＰＵＦ認証計測装置へ送信し、ＰＵＦ認証計測装置は、｛ａ｝と｛Ｄ(a)｝を元に、被認証チップの認証を行う。
Ｄ(a) ＝ Ｒ(a)                  式１１
【０２６３】
一方、上述したように、ネットワーク通信において、何らかの物理的実態を有するノードの認証は、現在、イーサネット（登録商標）ヘッダーに含まれる物理アドレス（ＭＡＣアドレス等）を用いて実施されている。図８０は、典型的なＭＡＣアドレスの使用例である。イーサネット（登録商標）カード３０００は、ＭＡＣアドレスを記録したメモリチップ（たとえば不揮発性メモリチップ３０１０）とメディア・アクセス・コントローラー（ＭＡＣ）用演算処理チップ３０２０を含み、カード背面にはイーサネット（登録商標）コネクター（ＬＡＮコネクター）を有する。イーサネット（登録商標）カードは、ＬＡＮカードとも呼ばれ、主にパーソナルコンピューター等の背面などに搭載される。こうして、イーサネット（登録商標）コネクタにＬＡＮケーブルを接続することによって、パーソナルコンピューター等をローカルエリアネットワーク（ＬＡＮ）に接続することが可能となる。このＬＡＮケーブルは、インターネットを構成する信号伝達路１０００の一部、あるいは、全部である。
【０２６４】
パーソナルコンピューターの電源を入れると、中央演算処理装置（ＣＰＵ）がオペレーションシステムを起動する際、オペレーションシステムを起動するのに必要な情報が主記憶（たとえばＤＲＡＭ）にロードされる。イーサネット（登録商標）カードがパーソナルコンピューターに搭載されていることを検知した場合、オペレーションシステムが、イーサネット（登録商標）カードに含まれるメモリチップからＭＡＣアドレスを読み込む。このＭＡＣアドレスはメディア・アクセス・コントローラー（ＭＡＣ）用演算処理チップ３０２０に書き込まれる。
【０２６５】
イーサネット（登録商標）カードは物理的実態のあるものであり、したがって、イーサネット（登録商標）カードの内部メモリ（たとえば不揮発性メモリチップ３０１０）に記録されたＭＡＣアドレスは、物理的実態を有するイーサネット（登録商標）カードに固有のものとして扱われる。メディア・アクセス・コントローラー（ＭＡＣ）は、この送信元ＭＡＣアドレスと、送信先ＭＡＣアドレスと、フレーム・チェック・シークエンス（ＦＣＳ）を、パケットに添付してフレームを生成する。そして、このフレームをＬＡＮコネクターから信号伝達路で構成されるローカルエリアネットワークを通じて送信先に送信する。別の言い方では、信号伝達路を介してフレームを送受信する。しかしながら、上述のように、物のインターネットの時代では、ＭＡＣアドレスは、不正編集、不適切編集、枯渇、あるいは、重複等の問題をはらんでいる。
【０２６６】
ＭＡＣアドレスは、図８１に一例を示すように、４８ビット相当の二進法の数列である。上位の２４ビット（図８１の例で左半分）はベンダーコード３０７１と呼ばれ、ベンダーごとに割り当てられる。ベンダーコード３０７１の最後の２ビットは、Ｕ／ＬビットとＩ／Ｇビットである。ＭＡＣアドレスがグローバルアドレスの場合、Ｕ／Ｌビットは１である。そうでない場合０である。すなわち、グローバルアドレス（Ｕ／Ｌビット＝１）の場合では全世界で重複を起こさないよう、電気電子技術者学会（ＩＥＥＥ）によって管理されている。Ｉ／Ｇビットが０の場合ユニキャスト通信を意味し、１の場合はマルチキャスト通信を意味する。ユニキャスト通信とは、情報機器のネットワークの中において単一の送信先を指定してデータ（フレーム）を送信することである。これに対しマルチキャスト通信とは、情報機器のネットワークの中において、複数の送信先を指定してデータ（フレーム）を送信することである。下位の２４ビット（図８１の例で右半分）は、シリアル番号３０７２と呼ばれ、各ベンダーが重複しないよう割り当てている。
【実施例１】
【０２６７】
図８２は、本発明の物理的にクローン不可能な機能（ＰＵＦ）を採用した実施形態の一例である。ＭＡＣアドレスをイーサネット（登録商標）カードの内蔵メモリに記録する代わりに、本発明のチップ認証装置３０４０（図中、ＰＵＣ‐Ｉと表示）を、ＣＰＵを共同で働く主記憶装置（ＤＲＡＭなど）に搭載する。この場合、イーサネット（登録商標）カードにＭＡＣアドレスを記録する必要はなくなり、不揮発性メモリチップを取り除ける可能性がある。主記憶装置がＤＲＡＭの場合、たとえば、図４２、図６３、あるいは、図６４などのように認証素子としてＤＲＡＭセルを用いることが望ましい。この場合、一例として、図２２のようにＱＲコード（登録商標）型の乱数コードを利用する方式が可能である。あるいは、代替素子９７９を有する図７４の例において、認証素子としてＤＲＡＭセルを用い、図７３のバーコード型の乱数コードを利用する方式が望ましい。あるいは、ＤＲＡＭのリダンダンシーメモリなどを利用し、図７３のバーコード型の乱数コードを利用する方式が望ましい。本実施形態では、ＭＡＣアドレスとの対比から、特にチップ認証装置３０４０が生成する認証を物理的にクローン不可能なチップ認証（ＰＵＣ−Ｉ）と見なす。ＰＵＣ−Ｉは、一般に、イーサネット（登録商標）形式の認証とは限らない。たとえば、上述のように周辺ノードが生成するＰＵＣ−Ｉは、基幹ノードからの入力コードに応じて生成されることが望ましい。あるいは、周辺ノードのオペレーティングシステムに予め設定された入力コードに応じて、チップ認証装置３０４０がＰＵＣ−Ｉを生成することが望ましい。この場合、チップ認証装置３０４０に入力される入力コードは、オペレーティングシステムを起動する際に入力するパスコード、あるいは、そのパスコードと関連を持たせることが可能である。あるいは、スリープモードからの復帰のためのパスコードやその他のＰＩＮコードなど、あるいはそれらと関連づけることも可能である。こうして、イーサネット（登録商標）カードのメディア・アクセス・コントローラー（ＭＡＣ）用演算処理チップ３０２０もＰＵＣ−Ｉ制御装置３０３０に置き換える。
【０２６８】
一例として、図８３に示すように、ＰＵＣ−Ｉ３０７０は、本発明に関するチップ認証装置によって生成され、ＭＡＣアドレスのうち下位の２４ビット（図８１のシリアル番号３０７２）を置きかえることが望ましい。すなわち、ベンダーコード３０７１は、すでに広く利用されているＭＡＣアドレスのベンダーコードをそのまま利用する。こうして、図８３のように、ＰＵＣアドレス３０７３が生成される。受信ノード側は、後述する指示ビットを調べることで受信したフレームがＭＡＣアドレスを採用しているか、あるいは、本発明のＰＵＣ−Ｉを採用しているかを事前に判定することが可能である。
【０２６９】
一般に、ＰＵＣ−Ｉ３０７０のビット数は、チップ認証装置を構成する認証素子９７７の数によって決まる。たとえば、認証素子用アレイ９６０が、図２３のような構成となる場合、ＰＵＣ−Ｉのビット数は、素子行数Ｌと素子列数Ｍの積で決まる。したがって、ＰＵＣアドレスのビット数は、ＬとＭの積に２４を足し合わせたものになる。あるいは、図２９のような構成の場合、ＰＵＣ−Ｉのビット数は、Ｎの２乗によって決まる。したがって、ＰＵＣアドレスのビット数は、Ｎの２乗に２４を足し合わせたものになる。あるいは、図７４のような構成の場合、ＰＵＣ−Ｉのビット数はＮである。あるいは、図７７のような構成の場合、ＰＵＣ−Ｉのビット数はＮである。あるいは、ＤＲＡＭのリダンダンシーを用いる場合、ＰＵＣ−Ｉのビット数は、リダンダンシー用のメモリ領域のビット数によって決まる。すなわち、順列を使って算出した情報量を２進法表記に変換すれば、必要なビット数が直ちに判明する。
【０２７０】
しかしながら、上述した図２３あるいは図２９のような構成の場合、図３５のように、ソフト破壊モード“Ｘ”の混入によって、ＰＵＣ−Ｉのビット数は理想的な場合より少なくなることがある。事前の検査、あるいは、他の何らかの方法により、このような破壊モードが混入する確率の上限が事前にわかっている場合、この上限から換算されるビット数にマージン分のビット数を加味し、ＰＵＣ−Ｉのビット数を再定義することが望ましい。こうしてＰＵＣ−Ｉのビット数は、図２２の白と黒の市松状のパターンの格子点数で決まることになる。
【０２７１】
ＰＵＣ−Ｉのビット数は、シリアル番号のビット数２４ビットより多くても良いし、少なくても良い。あるいは、同じでも良い。少ない場合、ＰＵＣ−Ｉの利用は、閉じた物理的ネットワークに限ることが望ましい。たとえば、工場の製造ラインを管理するためのシリアル番号の替わりに用いることが可能である。このように、ＰＵＣ−Ｉのビット数は、必ずしも所定のビット数に決められている訳ではない。したがって、プリアンブルの最後に数ビットをＰＵＣ−Ｉのビット数を指示するために添付することが望ましい。このＰＵＣ−Ｉのビット数を指示するためのビット（指示ビット３０７４）は、ベンダーコード３０７１の前（上位）であっても良いし、後ろ（下位）であっても良い。図８４は、指示ビット３０７４がベンダーコード３０７１の前（上位）に添付された場合の一例を示している。図８５は、指示ビット３０７４がベンダーコード３０７１の後ろ（下位）に添付された場合の一例である。図８４、および、図８５は、いずれも指示ビット３０７４の長さが６ビットとして図示したものであるが、一般に、指示ビット３０７４の長さは６ビットに限らない。いずれにしろ、指示ビットの有無を確認することにより、フレームがＰＵＣ−Ｉ形式化どうか判明するだろう。
【０２７２】
指示ビット３０７４の導入により、ＰＵＣアドレスが扱えるアドレスの数は可変となる。したがって、任意の管理者が、閉じた物理的ネットワークを構築する際に短いＰＵＣアドレスを使い、その分節約されたビット数をプロトコル・データ・ユニットのデータ領域に割り当てることが可能となる。こうして、一つのプロトコル・データ・ユニットで運べる情報量が多くなる。これは一回のデータ通信で運べるデータ量が多くなることを意味する。あるいは、任意のベンダーが限られた数の製品を出荷する場合にも、短いＰＵＣアドレスを使い、その分節約されたビット数をプロトコル・データ・ユニットのデータ領域に割り当てることが可能となる。
【０２７３】
物のインターネットの場合、グローバルアドレスの数が非常に多くなる。この問題に対応するには、指示ビット３０７４によってＰＵＣアドレスのビット数を増やし、扱えるアドレスの数を増やす必要がある。こうしてＰＵＣアドレスのビット数が増えると、その分一つのプロトコル・データ・ユニットで運べる情報量が少なくなる。これは、一回のデータ通信で運べるデータ量が少なくなることを意味する。しかしながら、無数の物理アドレスを必要とする物のインターネットが登場するような将来には、ネットワーク技術の進歩に対応するためプロトコル・データ・ユニットの規格が変更されることになるだろう。このとき、一つのプロトコル・データ・ユニットに割り当てられるビット数が増大する可能性が高い。ＭＡＣアドレスを使い続けた場合、このような変化に柔軟に対応することは難しいが、本発明の指示ビット付きのＰＵＣアドレスでは、物理アドレス数の急激な増大に柔軟に対処することが可能である。
【０２７４】
パーソナルコンピューターの電源を入れると、中央演算処理装置（ＣＰＵ）がオペレーションシステムを起動する際、オペレーションシステムを起動するのに必要な情報が主記憶（たとえばＤＲＡＭ）にロードされる。ここで、オペレーションシステムが、イーサネット（登録商標）カード３０００あるいはチップ認証装置３０４０を検知した場合、オペレーションシステムはそのチップ認証装置３０４０から物理的にクローン不可能なチップ認証（ＰＵＣ−Ｉ３０７０）を読み出し、イーサネット（登録商標）カード３０００に含まれるＰＵＣ−Ｉ制御装置３０３０に書き込む。ＰＵＣ−Ｉ制御装置３０３０は、図８３、図８４、図８５に示すようなＰＵＣアドレスを添付したフレームを、信号伝達路１０００を介してデータリンク層で送受信する。
【実施例２】
【０２７５】
図８６は、本発明の物理的にクローン不可能な機能（ＰＵＦ）を採用した実施形態の別の一例である。ＭＡＣアドレスをイーサネット（登録商標）カードの内蔵メモリに記録する代わりに、本発明のチップ認証装置３０４０（図中ＰＵＣ−Ｉと表示）を中央演算処理装置（ＣＰＵ）に搭載する。この場合、イーサネット（登録商標）カードにＭＡＣアドレスを記録する必要はなくなり、不揮発性メモリチップを取り除ける可能性がある。上述したように、中央演算処理装置（ＣＰＵ）混載方式を採用する場合、物理的にクローン不可能な機能（ＰＵＦ）を構成するための認証素子としては、標準ＣＭＯＳプロセス準拠のものが望ましい。たとえば、図４１の電界効果トランジスタ９８３を認証素子とする方式が望ましい。そのほか、図３９のＰＮ接合９８６、図４０のショットキー接合９８７、あるいは、図４７および図４８のように配線パターンを応用した例も可能である。本実施形態では、ＭＡＣアドレスとの対比から、特にチップ認証装置３０４０が生成する認証を物理的にクローン不可能なチップ認証（ＰＵＣ−Ｉ）と見なす。ＰＵＣ−Ｉは、一般に、イーサネット（登録商標）形式の認証とは限らない。たとえば、上述のように周辺ノードが生成するＰＵＣ−Ｉは、基幹ノードからの入力コードに応じて生成されることが望ましい。あるいは、周辺ノードのオペレーティングシステムに予め設定された入力コードに応じて、チップ認証装置３０４０がＰＵＣ−Ｉを生成することが望ましい。この場合、チップ認証装置３０４０に入力される入力コードは、オペレーティングシステムを起動する際に入力するパスコード、あるいは、そのパスコードと関連を持たせることが可能である。あるいは、スリープモードからの復帰のためのパスコードやその他のＰＩＮコードなど、あるいはそれらと関連づけることも可能である。こうしてイーサネット（登録商標）カードのメディア・アクセス・コントローラー（ＭＡＣ）用演算処理チップ３０２０もＰＵＣ−Ｉ制御装置３０３０に置き換えられる。
【０２７６】
パーソナルコンピューターの電源を入れると、中央演算処理装置（ＣＰＵ）がオペレーションシステムを起動する際、オペレーションシステムを起動するのに必要な情報が主記憶（たとえばＤＲＡＭ）にロードされる。ここで、オペレーションシステムが、イーサネット（登録商標）カード３０００あるいはチップ認証装置３０４０を検知した場合、オペレーションシステムはそのチップ認証装置３０４０から物理的にクローン不可能なチップ認証（ＰＵＣ−Ｉ３０７０）を読み出し、イーサネット（登録商標）カード３０００に含まれるＰＵＣ−Ｉ制御装置３０３０に書き込む。ＰＵＣ−Ｉ制御装置３０３０は、図８３、図８４、図８５に示すようなＰＵＣ−Ｉアドレスを添付したフレームを、信号伝達路１０００を介してデータリンク層で送受信する。
【実施例３】
【０２７７】
上記実施形態では、メディア・アクセス・コントローラー（ＭＡＣ）用演算処理チップ３０２０をＰＵＣ−Ｉ制御装置３０３０に置き換えている。しかしながら、この実施形態では、ＭＡＣアドレスを使用しないので、イーサネット（登録商標）形式もそれに応じて変更する必要がある。そのようなフォーマットの変更を急激に行えば混乱が予想されるので、物理的にクローン不可能なチップ認証（ＰＵＣ−Ｉ）からＭＡＣアドレスへの変換装置、すなわち、ＰＵＣ／ＭＡＣ変換装置３０５０を使用することがネットワーク移行期では必要になる。このような過渡的な需要に対応するため、典型的な例を以下に上げておく。
【０２７８】
図８７は、本発明の物理的にクローン不可能な機能（ＰＵＦ）を採用した実施形態の別の一例である。ＭＡＣアドレスをイーサネット（登録商標）カードの内蔵メモリに記録する代わりに、本発明のチップ認証装置３０４０（図中ＰＵＣ−Ｉと表示）を主記憶装置に搭載する。このチップ認証装置３０４０は、物理的にクローン不可能なチップ認証（ＰＵＣ−Ｉ）を生成するものである。さらに、中央演算処理装置（ＣＰＵ）は、このＰＵＣ−Ｉを使って生成したＰＵＣアドレス３０７３からＭＡＣアドレスへの変換を司るＰＵＣ／ＭＡＣ変換装置３０５０の機能を有する。この場合、イーサネット（登録商標）カードにＭＡＣアドレスを記録する必要はなくなり、不揮発性メモリチップを取り除ける可能性がある。主記憶装置がＤＲＡＭの場合、たとえば、図４２、図６３、あるいは、図６４などのように認証素子としてＤＲＡＭセルを用い、図２２のようにＱＲコード（登録商標）型の乱数コードを利用する方式が望ましい。あるいは、代替素子９７９を有する図７４の例において、認証素子としてＤＲＡＭセルを用い、図７３のバーコード型の乱数コードを利用する方式が望ましい。あるいは、ＤＲＡＭのリダンダンシーに使用されるヒューズメモリなどを利用し、図７３のバーコード型の乱数コードを利用する方式が望ましい。本実施形態では、ＭＡＣアドレスとの対比から、特にチップ認証装置３０４０が生成する認証を物理的にクローン不可能なチップ認証（ＰＵＣ−Ｉ）と見なす。ＰＵＣ−Ｉ３０７０は、一般に、イーサネット（登録商標）形式の認証とは限らない。たとえば、上述のように周辺ノードが生成するＰＵＣ−Ｉは、基幹ノードからの入力コードに応じて生成されることが望ましい。あるいは、周辺ノードのオペレーティングシステムに予め設定された入力コードに応じて、チップ認証装置３０４０がＰＵＣ−Ｉを生成することが望ましい。この場合、チップ認証装置３０４０に入力される入力コードは、オペレーティングシステムを起動する際に入力するパスコード、あるいは、そのパスコードと関連を持たせることが可能である。あるいは、スリープモードからの復帰のためのパスコードやその他ＰＩＮコードなど、あるいはそれらと関連づけることも可能である。しかしながら、本実施形態では、上述したように、ＰＵＣ−Ｉを使って生成したＰＵＣアドレスからＭＡＣアドレスへの変換を司るＰＵＣ／ＭＡＣ変換装置３０５０の機能を有する。こうして、ＰＵＣ−Ｉ制御装置３０３０に置き換えずに、メディア・アクセス・コントローラー（ＭＡＣ）用演算処理チップ３０２０をイーサネット（登録商標）カードに採用できる。また、ＰＵＣ／ＭＡＣ変換装置３０５０は、必ずしも物理的実態の伴う装置である必要はない。起動時にＣＰＵにロードされて動作するプログラムの一種であってもかまわない。あるいは、同様の動作を実現するファームウェアであってもかまわない。もちろん、モジュールの一部としてＣＰＵに混載することも可能である。
【０２７９】
パーソナルコンピューターの電源を入れると、オペレーションシステムを起動するのに必要な情報が主記憶（たとえばＤＲＡＭ）にロードされ、中央演算処理装置（ＣＰＵ）がオペレーションシステムを起動する。ここでオペレーションシステムが、イーサネット（登録商標）カード３０００あるいはチップ認証装置３０４０ことを察知した場合、オペレーションシステムは、そのチップ認証装置３０４０から物理的にクローン不可能なチップ認証（ＰＵＣ−Ｉ）を読み出し、ＣＰＵに混載されているＰＵＣ／ＭＡＣ変換装置３０５０に転送する。ＰＵＣ／ＭＡＣ変換装置３０５０は、このＰＵＣ−Ｉから生成されるＰＵＣアドレスをＭＡＣアドレスに変換し、オペレーティングシステムは、この変換によって生成されたＭＡＣアドレスをメディア・アクセス・コントローラー（ＭＡＣ）用演算処理チップ３０２０に書き込む。こうして、メディア・アクセス・コントローラー（ＭＡＣ）は、従来のイーサネット（登録商標）形式で、信号伝達路１０００を介してフレームを送受信することが可能となる。自明なので特に説明をしないが、ＰＵＣ／ＭＡＣ変換装置３０５０をＣＰＵに搭載しつつ、図８６と同様にチップ認証装置３０４０をＣＰＵに搭載してもよい。
【実施例４】
【０２８０】
図８８は、本発明の物理的にクローン不可能な機能（ＰＵＦ）を採用した実施形態の別の一例である。ＭＡＣアドレスをイーサネット（登録商標）カードの内蔵メモリに記録する代わりに、本発明のチップ認証装置３０４０（図中ＰＵＣ−Ｉと表示）を主記憶装置に搭載する。このチップ認証装置３０４０は、物理的にクローン不可能なチップ認証（ＰＵＣ−Ｉ）を生成するものである。さらに中央演算処理装置（ＣＰＵ）は、このＰＵＣ−ＩからＰＵＣアドレスを生成し、図８３、図８４、図８５などの方法でフレームを構成する機能を司る、ＰＵＣ−Ｉ制御装置３０６０の機能を有する。この場合、イーサネット（登録商標）カードにＭＡＣアドレスを記録する必要はなくなり、不揮発性メモリチップを取り除ける可能性がある。さらに、ＰＵＣ−Ｉ制御装置３０６０を有するため,メディア・アクセス・コントローラー（ＭＡＣ）用演算処理チップ３０２０も必要なくなる。たとえば、上述のように周辺ノードが生成するＰＵＣ−Ｉは、基幹ノードからの入力コードに応じて生成されることが望ましい。あるいは、周辺ノードのオペレーティングシステムに予め設定された入力コードに応じて、チップ認証装置３０４０がＰＵＣ−Ｉを生成することが望ましい。この場合、チップ認証装置３０４０に入力される入力コードは、オペレーティングシステムを起動する際に入力するパスコード、あるいは、そのパスコードと関連を持たせることが可能である。こうして、イーサネット（登録商標）カードを取り除くことが望ましい。主記憶装置がＤＲＡＭの場合、たとえば、図４２、図６３、あるいは、図６４などのように認証素子としてＤＲＡＭセルを用い、図２２のようにＱＲコード（登録商標）型の乱数コードを利用するた方式が望ましい。あるいは、代替素子９７９を有する図７４の例において、認証素子としてＤＲＡＭセルを用い、図７３のバーコード型の乱数コードを利用する方式が望ましい。あるいは、ＤＲＡＭのリダンダンシーに使用されるヒューズメモリなどを利用し、図７３のバーコード型の乱数コードを利用する方式が望ましい。本実施形態では、ＭＡＣアドレスとの対比から、特にチップ認証装置３０４０が生成する認証を物理的にクローン不可能なチップ認証（ＰＵＣ−Ｉ）と見なす。また、ＰＵＣ−Ｉ制御装置３０６０は、物理的実態の伴う装置である必要はない。起動時にＣＰＵにロードされて動作するプログラムの一種であってもかまわない。あるいは、同様の動作を実現するファームウェアであってもかまわない。もちろん、モジュールの一部としてＣＰＵに混載することも可能である。
【０２８１】
パーソナルコンピューターの電源を入れると、オペレーションシステムを起動するのに必要な情報が主記憶（たとえばＤＲＡＭ）にロードされ、中央演算処理装置（ＣＰＵ）がオペレーションシステムを起動する。ここでオペレーションシステムが、チップ認証装置３０４０を検知した場合、オペレーションシステムは、チップ認証装置３０４０が生成する物理的にクローン不可能なチップ認証（ＰＵＣ−Ｉ）を読み出し、ＣＰＵに混載されているＰＵＣ−Ｉ制御装置３０６０に転送する。ＰＵＣ−Ｉ制御装置３０６０は、このＰＵＣ−Ｉを使って上述の方法で生成したフレームを、信号伝達路１０００を介して送受信することが可能となる。自明なので特に説明をしないが、ＰＵＣ／ＭＡＣ変換装置３０５０をＣＰＵに搭載しつつ、図８６と同様にチップ認証装置３０４０をＣＰＵに搭載してもよい。
【０２８２】
現在、イーサネット（登録商標）カード（あるいは、ＬＡＮカード）だけでなく、イーサネット（登録商標）カードの機能を備えた通信用チップも出回っている。このような通信用チップは、パーソナルコンピューターより小型の電子機器、あるいは、情報機器に搭載される。あるいは、ＳＩＭカードと一体化させることも不可能ではない。本発明のチップ認証装置はチップに混載可能であり、物理的にクローン不可能なチップ認証（ＰＵＣ−Ｉ）を生成するものである。したがって、イーサネット（登録商標）カード（あるいはＬＡＮカード）に限らず、通信用チップ、あるいは、ＳＩＭカードなどに採用することが可能である。
【０２８３】
上述した実施形態において、説明のために用いられたＭＯＳ型トランジスタは、一例として、第一導電型半導体基板上に作成した、二つの空間的に乖離した第二導電型拡散層と、第一導電型半導体基板上のゲート絶縁膜と、ゲート絶縁膜上のゲート電極とから構成される。同じく説明のために用いられた不揮発性メモリセルトランジスタは、一例として、第一導電型半導体基板上に作成した、二つの空間的に乖離した第二導電型拡散層と、第一導電型半導体基板上のトンネル膜と、トンネル膜上の電荷蓄積層と、電荷蓄積層上の層間絶縁膜と、層間絶縁膜上の制御ゲート電極とから構成される。同じく説明のために用いられた選択トランジスタは、一例として、前記不揮発性メモリトランジスタの層間絶縁膜の一部もしくは全てを層間導電層に置き換えたものである。あるいは、層間絶縁膜を突き抜けるように開けた縦穴に導電材を埋め込んだ導電体ビアなどを用いても良い。ＮＯＲ型の素子配列では、前記二つの第二導電型拡散層のどちらか一方は、素子ごとにビット線に接続する。一方、ＮＡＮＤ型の素子配列では、前記二つの第二導電型拡散層は、それぞれ隣の素子と共有し、基板上で直列構造となる。直列した複数の素子の更に両端に余った拡散層の一方は、ドレイン側選択ゲートを挟んでビット線に接続し、他方は、ソース側選択ゲートを挟んでソース線に接続する。また、ＮＡＮＤ型の素子配列では、素子間に配置する第二導電型拡散層を、薄い第一導電型拡散層に置き換えたり、省略したりすることが可能である。
【０２８４】
上述した実施形態において、説明のために用いられたＰＮ接合９８６は、第一導電型の半導体と、第二導電型の半導体を接触させたものである。一例として、第一導電型の半導体基板表面に第二導電型拡散層を作成すると、両者の界面に自動的に形成される。したがって、ＭＯＳ型トランジスタや不揮発性メモリトランジスタあるいは選択トランジスタにも自動的に形成されている。
【０２８５】
上述した実施形態において、説明のために用いられたショットキー接合９８７は、半導体と導電体を接触させたものである。ＰＮダイオードも、ショットキー接合も、ダイオード接合の一種である。
【０２８６】
上記において、ＭＯＳ型トランジスタ、不揮発性メモリセルトランジスタ、及びＰＮダイオードの構造を説明するために用いた第一導電型半導体基板は、半導体基板の広い領域に作成された第一導電型拡散層（通常ウェル）で置き換えることも可能である。
【０２８７】
前記認証素子は、半導体製造の前工程で大量生産されるチップに作りこまれる半導体素子である。
【０２８８】
チップ認証装置３０４０が生成する、物理的にクローン不可能なチップ認証（ＰＵＣ−Ｉ）は、信号伝達路１０００に転送する前に、一時的にキャッシュメモリなどに保存して利用することが望ましい。また、本発明の一例によれば、基幹ノードと周辺ノードが認証接続するには、まず、基幹ノードが所定のパスコードを周辺ノードに送り、その返信である出力（例えばＰＵＣアドレスあるいはＰＵＣ−Ｉ）を該基幹ノードに事前登録する必要がある。以後、この基幹ノードは、該周辺ノードと認証接続するために前記所定のパスコードとそれに対応するＰＵＣアドレス(あるいはＰＵＣ−Ｉ)の組み合わせを用いることになる。本発明ではＰＵＣアドレス(あるいはＰＵＣ−Ｉ)を周辺ノードの不揮発性記憶領域に保存する必要はなく、そのため遠隔操作によって周辺ノードのＰＵＣアドレス(あるいはＰＵＣ−Ｉ)を不正に取得したり、編集することは非常に難しくなる。また、別の一例では、基幹ノードが所有するパスコードの代わりに、周辺ノードのユーザーが所有するＰＩＮコードを用いることも可能である。更に、このＰＩＮコードは、周辺ノードのオペレーティングシステムと連動させることも可能である。例えば、オペレーティングシステムの起動や待機状態（スリープモード）からの復帰などにも用いることが可能である。
【０２８９】
この発明によれば、電子装置のネットワークを、周辺ノードと、周辺ノードの登録状況を管理する基幹ノードとに分割し、基幹ノードは中央管理とし、中央管理の手が行き届かない周辺ノードには、半導体製造の前工程でチップ内に作り込まれる物理的チップ認証装置を含む半導体チップを搭載し、このチップ認証装置が生成する、物理的にクローン不可能なチップ認証を用いて、周辺ノードへの遠隔攻撃を効率よく未然に防ぎ、ネットワークシステム全体のセキュリティを向上し、さらに、物理的実態を伴う、物のインターネット上のノードの物理アドレスをフレキシブルに運用することが可能となる。ここで、ネットワークとは、上述した認証通信により接続されるあらゆる電子装置（ノード）間の通信接続であり、特定のシステムの内か外かに関わらない。
【０２９０】
本発明のチップ認証装置が生成する物理的にクローン不可能なチップ認証（ＰＵＣ−Ｉ）は、物理的実態を伴うチップ認証として利用することが可能であり、サプライチェーンに流通しているチップのトレーサビリティに活用したり、偽造チップ問題の対策に応用したり、ＭＡＣアドレスを補完してＬＡＮの管理を容易にしたり、あるいは、ＭＡＣアドレスを置き換える新しい物理アドレスをを提供することが可能である。その上、アドレス領域のビット数が可変であるため、将来のネットワーク技術の進歩に柔軟に対応することが可能となる。
【０２９１】
なお、本発明の技術範囲は上記の実施の形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲において種々の変更を加えることが可能である。特に、携帯電話のＳＩＭカードのようなものが物のインターネット用の周辺ノードに用いられるようなビジネスモデルに有効である。
【産業上の利用可能性】
【０２９２】
中央管理の行き届かない周辺ノードを無数に抱えるネットワークの装置間認証を、物理的乱雑さに基づいて発生したチップ認証を用いることによって、チップレベルで安全に実現することが可能となる。
【符号の説明】
【０２９３】
１、１０  チップ
２  ファームウェア
３  認証制御デバイス
４  認証コード（ＩＤ）
５、５０  外部入出力装置（Ｉ／Ｏ）
６  認証システム（従来例の一例）
１１  第一の認証
１２  第二の認証
１３  第三の認証
２１  第一のチップ認証装置
２２  第二のチップ認証装置
３１  入力信号誤差
３２  出力信号誤差
４２、１０２、４０２  入力コード
４３、２０２、４０３  登録コード
６０、６００  チップ認証装置
７１  第一のノード
７２  第二のノード
７３  第三のノード
７４  第四のノード
７５  第五のノード
８０  交信シリーズ
９２  第二のノードの正規使用者
１１０  第一のチップ
１２０  第二のチップ
１３０  第Ｎのチップ
１４０  情報機器
３０２、４０１  内部メモリ
４００  基幹ノード
４１０  第一の周辺ノード
４２０  第二の周辺ノード
４３０  第三の周辺ノード
４４０  第四の周辺ノード
４５０  第五の周辺ノード
５０３  ワード線
６０１、６０５  乱数発生装置
６０２、６０６  コード発生装置
６０４  スクランブル装置
６１１  チップ認証装置セルアレイ
６１４  スクランブル装置セルアレイ
７４２  ショート判定電圧
７４３  非ショート判定電流値
７４４  ショート判定電流値
７９０  ページバッファ
７９１  ビット線接続ゲート
８００、８１０  入出力制御モジュール
８８０  認証装置用制御モジュール
８９０  スクランブル装置モジュール
９００  中間コード用バッファーモジュール
９０２  ビット線
９１０  絶縁膜
９３０  導電体
９３２  破壊判定電圧
９３３  破壊判定電流値
９３４  非破壊判定電流値
９５５  ゲート電極
９６０  認証用素子アレイ
９７２  行デコーダー
９７３  列デコーダー
９７７  認証素子
９７９  代換素子
９８２  キャパシタ
９８３  トランジスタ
９８４  選択トランジスタ
９８５  抵抗
９８６  ＰＮ接合
９８７  ショットキー接合
９９６  第一の制御ゲート
９９７  第二の制御ゲート
１０００  信号伝達路
１００１  第一の信号伝達路
１００２  第二の信号伝達路
１００３  第三の信号伝達路
１００４  第四の信号伝達路
１００５  第五の信号伝達路
１０５０  絶縁膜
１０５１  導電体先端部
１０５２  第二導電体
１０５３  第一導電体
１０５４  第二電極
１０５５  第一電極
２００１  第一のノード
２００２  第二のノード
２００３  第三のノード
２００４  第四のノード
２００５  第五のノード
２００６  第六のノード
３０００  イーサネット（登録商標）カード
３０１０  不揮発性メモリチップ
３０２０  メディア・アクセス・コントローラー（ＭＡＣ）用演算処理チップ
３０３０、３０６０  ＰＵＣ‐Ｉ制御装置
３０４０  チップ認証装置
３０５０  ＰＵＣ／ＭＡＣ変換装置
３０７０  物理的にクローン不可能なチップ認証（ＰＵＣ‐Ｉ）
３０７１  ベンダーコード
３０７２  シリアル番号
３０７３  ＰＵＣアドレス
３０７４  指示ビット
１４００  第一の基幹ノード
１４１０  第一の共通パスコード
２４００  第二の基幹ノード
２４１０  第二の共通パスコード
３４００  第三の基幹ノード
３４１０  第三の共通パスコード
４１０１  第一の認証
４２０１  第二の認証
４３０１  第三の認証
７９１０  ビット線接続トランジスタ
９３３０、９３３１  破壊判定電圧値
９３４０、９３４１  非破壊判定電圧値
９８１１  ドレイン選択トランジスタ（ＳＧＤ）
【図１】
2018011299.tif 000004
【図２】
2018011299.tif 000005
【図３】
2018011299.tif 000006
【図４】
2018011299.tif 000007
【図５】
2018011299.tif 000008
【図６】
2018011299.tif 000009
【図７】
2018011299.tif 000010
【図８】
2018011299.tif 000011
【図９】
2018011299.tif 000012
【図１０】
2018011299.tif 000013
【図１１】
2018011299.tif 000014
【図１２】
2018011299.tif 000015
【図１３】
2018011299.tif 000016
【図１４】
2018011299.tif 000017
【図１５】
2018011299.tif 000018
【図１６】
2018011299.tif 000019
【図１７】
2018011299.tif 000020
【図１８】
2018011299.tif 000021
【図１９】
2018011299.tif 000022
【図２０】
2018011299.tif 000023
【図２１】
2018011299.tif 000024
【図２２】
2018011299.tif 000025
【図２３】
2018011299.tif 000026
【図２４】
2018011299.tif 000027
【図２５】
2018011299.tif 000028
【図２６】
2018011299.tif 000029
【図２７】
2018011299.tif 000030
【図２８】
2018011299.tif 000031
【図２９】
2018011299.tif 000032
【図３０】
2018011299.tif 000033
【図３１】
2018011299.tif 000034
【図３２】
2018011299.tif 000035
【図３３】
2018011299.tif 000036
【図３４】
2018011299.tif 000037
【図３５】
2018011299.tif 000038
【図３６】
2018011299.tif 000039
【図３７】
2018011299.tif 000040
【図３８】
2018011299.tif 000041
【図３９】
2018011299.tif 000042
【図４０】
2018011299.tif 000043
【図４１】
2018011299.tif 000044
【図４２】
2018011299.tif 000045
【図４３】
2018011299.tif 000046
【図４４】
2018011299.tif 000047
【図４５】
2018011299.tif 000048
【図４６】
2018011299.tif 000049
【図４７】
2018011299.tif 000050
【図４８】
2018011299.tif 000051
【図４９】
2018011299.tif 000052
【図５０】
2018011299.tif 000053
【図５１】
2018011299.tif 000054
【図５２】
2018011299.tif 000055
【図５３】
2018011299.tif 000056
【図５４】
2018011299.tif 000057
【図５５】
2018011299.tif 000058
【図５６】
2018011299.tif 000059
【図５７】
2018011299.tif 000060
【図５８】
2018011299.tif 000061
【図５９】
2018011299.tif 000062
【図６０】
2018011299.tif 000063
【図６１】
2018011299.tif 000064
【図６２】
2018011299.tif 000065
【図６３】
2018011299.tif 000066
【図６４】
2018011299.tif 000067
【図６５】
2018011299.tif 000068
【図６６】
2018011299.tif 000069
【図６７】
2018011299.tif 000070
【図６８】
2018011299.tif 000071
【図６９】
2018011299.tif 000072
【図７０】
2018011299.tif 000073
【図７１】
2018011299.tif 000074
【図７２】
2018011299.tif 000075
【図７３】
2018011299.tif 000076
【図７４】
2018011299.tif 000077
【図７５】
2018011299.tif 000078
【図７６】
2018011299.tif 000079
【図７７】
2018011299.tif 000080
【図７８】
2018011299.tif 000081
【図７９】
2018011299.tif 000082
【図８０】
2018011299.tif 000083
【図８１】
2018011299.tif 000084
【図８２】
2018011299.tif 000085
【図８３】
2018011299.tif 000086
【図８４】
2018011299.tif 000087
【図８５】
2018011299.tif 000088
【図８６】
2018011299.tif 000089
【図８７】
2018011299.tif 000090
【図８８】
2018011299.tif 000091
【図８９】
2018011299.tif 000092
【図９０】
2018011299.tif 000093
【図９１】
2018011299.tif 000094
【図９２】
2018011299.tif 000095
【図９３】
2018011299.tif 000096