(57)【特許請求の範囲】
【請求項１】
複数のネットワークユニットに分割され、少なくとも第一及び第二のネットワークユニットを含み、
前記第一のネットワークユニットが、第一の基幹サーバーと、前記第一のネットワークユニット内で前記第一の基幹サーバーにのみネット接続する第一の周辺装置群から構成され、
前記第二のネットワークユニットが、第二の基幹サーバーと、前記第二のネットワークユニット内で前記第二の基幹サーバーにのみネット接続する第二の周辺装置群から構成され、
前記第一及び第二の基幹サーバーは、互いにネット接続し、前記第一の基幹サーバーにネット接続する第一の周辺装置群と前記第二の基幹サーバーにネット接続する第二の周辺装置群とが、前記第一及び第二の基幹サーバーのネット接続を介して間接的に接続し、
前記第一のネットワークユニット内において、前記第一の基幹サーバーは、少なくとも一つの第一のパスコードと、前記第一の基幹サーバーとネット接続する第一の周辺装置群に属する個々の周辺装置に対応する複数の登録コードからなる第一の登録コードのリストを保持し、前記第一の登録コードは、前記第一のパスコードに対応して前記第一の周辺装置群に属する個々の周辺装置に固有の物理的な乱雑さを利用して発生したものを事前登録によって前記第一の基幹サーバーに保存したものであり、
前記第二のネットワークユニット内において、前記第二の基幹サーバーは、少なくとも一つの第二のパスコードと、前記第二の基幹サーバーとネット接続する第二の周辺装置群に属する個々の周辺装置に対応する複数の登録コードからなる第二の登録コードのリストを保持し、前記第二の登録コードは、前記第二のパスコードに対応して前記第二の周辺装置群に属する個々の周辺装置に固有の物理的な乱雑さを利用して発生したものを事前登録によって前記第二の基幹サーバーに保存したものであり、
前記第一及び第二の周辺装置群に属する個々の周辺装置は、それぞれ異なるチップ認証装置を搭載し、
前記第一の周辺装置群に属するチップ認証装置は、前記第一の基幹サーバーから受信した前記第一のパスコードに対応して前記第一の周辺装置群に属する個々のチップ認証装置に固有の物理的乱雑さに基づいて生成された、それぞれ異なる出力信号を前記第一の基幹サーバーに送信し、
前記第二の周辺装置群に属するチップ認証装置は、前記第二の基幹サーバーから受信した前記第二のパスコードに対応して前記第二の周辺装置群に属する個々のチップ認証装置に固有の物理的乱雑さに基づいて生成された、それぞれ異なる出力信号を前記第二の基幹サーバーに送信し、
前記第一及び第二の基幹サーバーは、前記個々の出力信号を、前記第一及び第二の登録コードのリストと個々に比較し、対応する個々の周辺装置の正当性を評価し、
前記ネット接続は、前記複数の周辺装置に個々に入力するパスコードと前記登録コードの組み合わせによって構成される交信シリーズによって実現する
ことを特徴とする電子装置のネットワーク。
【請求項２】
請求項１記載の電子装置のネットワークであって、前記第一の周辺装置群に属する周辺装置は、同時に前記第二の周辺装置群にも含まれ、前記第一及び第二の基幹サーバーからそれぞれ異なる前記第一及び第二のパスコードを受信し、前記それぞれ異なる第一及び第二のパスコードの入力に対してそれぞれ異なる信号を出力し、前記第一及び第二の基幹サーバーに返信し、前記第一及び第二の基幹サーバーは、返信されてきた出力信号を前記第一及び第二の登録コードのリストとそれぞれ比較し、前記出力信号を返信してきた周辺装置の正当性を評価することを特徴とする電子装置のネットワーク。
【請求項３】
請求項１記載の電子装置のネットワークであって、
前記第一の基幹サーバーは、前記第一のパスコードからなる第一の入力コードと前記第一の登録コードの対応表を保存し、前記第一の周辺装置群に属する個々の周辺装置は、前記第一の入力コードと前記第一の登録コードの対応表を内部メモリに保存することをそれぞれ禁止され、
前記第一の基幹サーバーは、前記第一の周辺装置群に属する周辺装置の前記内部メモリーを個々に読み出し、前記第一の基幹サーバーに保存されている前記第一のパスコードと比較し、一致するコードが含まれているかどうかを判定し、
含まれていない場合、該周辺装置を公正と認可し、
含まれている場合、更に前記第一の登録コードの中に、前記周辺装置の内部メモリー から個々に読み出して得た情報と一致するものがあるかどうか判定し、
含まれていない場合、該周辺装置を公正と認可し、
含まれている場合、該周辺装置を不正と認可する
検査工程を行い、
前記検査工程を、前記第一の周辺装置群に属する全ての周辺装置に対して行う
ことを特徴とする電子装置のネットワーク。
【請求項４】
前記第一の周辺装置群に属するチップ認証装置は、それぞれ第一のビット線群及び第一のワード線群を含み、前記第一のビット線群は、それぞれ行番号を割り当てられた複数のビット線からなり、前記第一のワード線群は、それぞれ列番号を割り当てられた複数のワード線からなり、前記個々のビット線及びワード線の交差点に不揮発性メモリセルが配置され、前記第一の入力コードは、前記第一のワード線群から順次選択する個々のワード線に対応する前記列番号の順列であり、前記列番号の順列に応じて順次選択されたワード線と、前記第一のビット線群に含まれる複数のビット線との交差点に配置され、
前記第一の周辺装置群に属するチップ認証装置は、前記第一のパスコードに対応して、列方向に並ぶ複数の不揮発性メモリセルから読み出されたデータの集合を前記行番号順に並べた列データを、更に、前記列番号の順列に従って行方向に並べた行列データを出力信号として出力し、
前記第一の基幹サーバーは、前記行列データを前記第一の登録コードのリストと比較し、該チップ認証装置を搭載する周辺装置の正当性を評価する
ことを特徴とする請求項１記載の電子装置のネットワーク。
【請求項５】
前記第一のワード線群及び前記第一のビット線群からなるメモリセルアレイ上に分布する交差点に、前記行番号及び前記列番号の組み合わせからなるアドレスを割り当て、前記アドレス上に配置される複数の不揮発性メモリセルを一括消去し、一括書き込みし、続いて、前記複数の不揮発性メモリセルの閾電圧を個々に読み出し、前記閾電圧は前記アドレスに応じて前記メモリセルアレイ上に分布し、前記閾電圧の度数分布を獲得し、
前記閾電圧の度数分布は、第三のピークを有し、前記第三のピークの中央に属するアドレスをバッファーに記録し、前記バッファーに記録されたアドレスに対応する閾電圧を前記閾電圧の度数分布から排除し、前記第三のピークは、第一及び第二のピークに分割され、前記第一のピークに属するアドレスに第一の値を割り当て、前記第二のピークに属するアドレスに第二の値を割り当て、
前記 第一の周辺装置群に属するチップ認証装置は、前記第一のパスコードに対応して列方向に並ぶアドレスと、前記バッファーに記録したアドレスとを比較し、不一致の場合、該アドレスに割り当てられた前記第一或いは第二の値の集合を前記行番号順に並べた列データを、更に、前記列番号の順列に従って行方向に並べた行列データを出力信号として出力し、
前記第一の基幹サーバーは、前記行列データを前記第一の登録コードのリストと比較し、該チップ認証装置を搭載する周辺装置の正当性を評価する
ことを特徴とする請求項４記載の電子装置のネットワーク。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、チップ間通信に用いる物理的チップ認証方式に関する。
【背景技術】
【０００２】
２１世紀に入り情報通信産業は飛躍的な進歩を遂げ、近年は更なる巨大マーケットを創出しつつある。情報端末のみならず、家電、家、車などすべてのモノがネットワークに接続するインターネット・オブ・シングス（Internet of Things, ＩoＴ）は既存のどの市場にも属さず、ＩoＴの更に先を行くインターネット・オブ・エブリシング（Internet of Everything, ＩoＥ）にいたっては社会基盤そのものを変更する可能性を秘めている。
【０００３】
技術的には、ネットに接続する最小単位（ノード）であるチップとチップの間の通信技術として捕らえることができるが、その数が数兆個から数十兆個にまで上る（Trillion Nodes）点でこれまでのネットワーク技術と異なる。世界人口を70億人とすると、一人当たり数千個程度のノードに囲まれている計算になる。これらのチップは個人情報のみならず、個人の周辺にある機器の動作を制御するシステムも含んでいる。すべての個人がこれらすべてを常時きめ細かく管理することは現実的に不可能である。また、訓練を受けた専門家が中央管理するにしても数兆個ものノードを同時に管理するための計算機リソースは地球上に存在しない。仮に将来開発されたとしても、誰が責任を持ってその管理システムを扱うのか？一民間企業が勝手に行なうのは好ましくない。人間の能力を超える人工知能に任せることも現状では良いとは言えないし、現実的でもない。
【０００４】
管理できないとしたら何が問題になるか？大容量のＬｉイオン電池を搭載した自動運転車がハッキングされたらどうなるかを考えると理解しやすい。遠隔操作された多数の自動運転車が攻撃対象（ホワイトハウス、国会議事堂・・・）まで無人で移動し、そこでＬｉイオン電池を過充電させ大爆発を引き起こすことが可能となる。ある日突然ショッピングセンターの駐車場が大爆発を起こしたり、新幹線を正面衝突させたり、原子炉や航空管制システムを乗っ取られる危険と背中合わせになる。
【０００５】
このような重要施設のネットワークは通常のインターネットからは非常に強力なファイアウォールで隔離されている（或いは物理的に隔離されている）から大丈夫だと考えるのは早計である。現実にイランの核施設はＳｔｕｘｎｅｔと呼ばれるマルウェアによる深刻な攻撃を受けた。（たとえば、非特許文献１参照。）。
【０００６】
Ｓｔｕｘｎｅｔの感染経路は諸説あるが、もっとも有力なのはモバイル端末かＵＳＢメモリだと言われている。Ｓｔｕｘｎｅｔは一度インターネットに解き放たれると何ヶ月もかけてターゲットのシステムに侵入するチャンスを伺う。途中強力なファイアウォールがあってもＵＳＢメモリやモバイル端末に侵入してファイアウォール内で接続されるまで待つ。接続された後はバックドアを開き、遠心分離器のＰＬＣ（programmable logic controller）を乗っ取り、遠隔操作を開始する。こうして、イランの核施設の１０００台もの遠心分離器が急激な加速と減速を繰り返し破壊された。物理的に孤立したシステム内ならＳｔｕｘｎｅｔ自身が遠心分離器を破壊させる。
【０００７】
イランの核施設で破壊された遠心分離器は通常のネットワークからは遮断されていたが、メンテナンスのため機器の製造装置メーカーのモバイル端末と定期的に接続する必要があった。もし通常のネットワークとつながっていればこのような作業は必要ないが、遮断されているために返って必要な手順となる。また、Ｓｔｕｘｎｅｔはターゲット以外に感染しても潜んでいるだけで何もしない。したがって、ウィルス対策ソフトで検知することは難しい。
【０００８】
Ｓｔｕｘｎｅｔによる攻撃は、イランの核開発を遅らせイスラエルによるイランへの空爆を防ぐために行われたとも考えられている。しかしながら、恐ろしいことはＳｔｕｘｎｅｔのソースコードがハッカーによって盗まれ、既に流出していることである。２０１４年に入り、Ｓｔｕｘｎｅｔに良く似た性質を持つ新種のウィルスが発見されている。
【０００９】
ＢａｄＵＳＢと呼ばれるこのウィルスは、産業機器の制御プログラムであるＰＬＣの代わりにＵＳＢ機器を制御するファームウェアを乗っ取る。ＵＳＢ機器は何かに接続して使用するものであり、そのための認証を内包している。この認証はファームウェアに含まれる。ファームウェアはＵＳＢ機器の制御チップに保存されているチップを制御するためのプログラムである。ＢａｄＵＳＢはこの認証を盗み、このＵＳＢ機器が接続しているものには何もしない。たとえば、パソコンには感染しないが、パソコンを操作するために接続しているマウスやキーボードを乗っ取ることができる。このようにして地球の裏側にいるハッカーが他人のコンピューターを遠隔操作することができる。このとき、コンピュータには感染していないので、コンピュータのウィルス対策ソフトは何も検知できない。
【００１０】
ＩoＴ／ＩoＥでは通信の最小単位（ノード）は機器の制御チップである。制御チップには制御プログラム（ファームウェア）が保存される。このファームウェアはそれぞれのチップを認識するために認証コードを内包する。上述した自動運転車を遠隔操作する新たな攻撃は、この認証コードを盗み自動運転車を遠隔操作するものである。
【００１１】
今後９・１１のような同時多発テロは遠隔操作により少数のハッカーグループによって引き起こされる可能性がある。このような新たな脅威は、従来のテロ対策やサイバーセキュリティ技術では防げない。
【先行技術文献】
【非特許文献】
【００１２】
【非特許文献１】http://www.nikkei.com/article/DGXNASFK2602G_W2A221C1000000/
【非特許文献２】http://www.nikkei.com/article/DGXMZO79858560Y4A111C1000000/
【発明の概要】
【発明が解決しようとする課題】
【００１３】
サイバーセキュリティ技術はソフトウェアによる中央管理が主流である。これは、セキュリティ技術に関する理解は人によりばらつきが多く、すべてのエンドユーザーに正しい運用管理を期待することは現実的にほぼ不可能だからである。１０００人が適正に運用していてもたった一人が適正に運用していなければセキュリティは脆弱になる。こうして、ネットワークを介したシステムのセキュリティは、十分訓練された管理者が十分信頼性の高いソフトウェアを使い中央管理することが望ましいとされている。中央管理はつまるところ、ネットワークを介したソフトウェアによる管理である。
【００１４】
しかしながら、上述したように、ＩoＴ／ＩoＥのビジネスモデルではノード数は数兆個にもなり、そもそも中央管理が難しい。その上、ネットワークに接続したノードのうちたった一つでも認証コードを乗っ取られればシステム全体（たとえば、自動運転車、航空管制システムなど）が脆弱になる。認証コードを使うのは、ネットワークが主にソフトウェアで制御されているからである。これが中央管理によるセキュリティの本質的限界である。
【００１５】
本発明は上記事情に鑑みて成されたものであり、半導体デバイスによるノードの局所的認証管理を提供することを目的とする。
【課題を解決するための手段】
【００１６】
本発明は、上記課題を解決するため、以下の手段を採用する。本発明に関わるチップ認証方式を用いるチップ認証装置は、複数のビット線と複数のワード線の交差点に配置した不揮発性メモリセルの集合体から構成され、少なくとも一つのワード線を選択する入力コードと、選択されたワード線に対応してビット線毎に読み出されたデータの集合からなる出力コードと、前記入力コードは、順次選択されるワード線の列番号の順列であり、前記出力コードは、前記入力コードにしたがって順次選択されるワード線に連なる不揮発性メモリセルの各データを行番号順に並べた列データを、更に、前記入力コードにしたがって順次選択されるワード線の列番号に従って並べたデータの集合であり、前記不揮発性メモリセルを一括消去し、一括書き込みし、続いて読み出して得た閾電圧分布の、中央のピークに属する不揮発性メモリセルに相当するアドレスを記録するバッファーと、前記入力コードによって選択されたワード線に連なるアドレスと、前記バッファーに記録したアドレスを比較し、一致した場合、該アドレスに相当するデータを、前記出力コードから削除する機能と、を備えていることを特徴とする。
【００１７】
また、本発明に関わるチップ認証方式の製造方法は、半導体不揮発性メモリ装置のウェル工程とポリ工程の間に、ドナーイオンの打ち込みと、アクセプターイオンの打ち込む工程と、あるいは、半導体基板表面を櫛歯状に加工する工程と、誘電体膜製造工程の間に、前記半導体基板表面に作成された櫛歯状構造をスリミングするための熱酸化工程と、を備えていることを特徴とする。
【発明の効果】
【００１８】
本発明によれば、新しいチップ認証方式を提供し、認証コードを盗むことによる制御チップ乗っ取りの危険性を低減することが可能となる。
【図面の簡単な説明】
【００１９】
【図１】従来の認証システムを搭載したチップの一例を示す図。
【図２】本発明のチップ認証装置を搭載したチップの一例を示す図。
【図３】本発明のチップ認証装置を搭載したチップを含む装置の接続方法の一例を示す図。
【図４】外部Ｉ／Ｏを介して信号をやり取りする一例を示す図。
【図５】本発明のチップ認証装置を搭載したチップを含む装置を、本発明のチップ認証装置と接続する装置に登録する方法の一例を示す図。
【図６】正規の使用者が、本発明のチップ認証装置を搭載したチップを含む装置を、ネットワーク上で使用する方法の一例を示す図。
【図７】遠隔攻撃者が、不正にネットワークに接続する方法の一例を示す図。
【図８】遠隔攻撃者が、正規の装置の装置を攻撃する方法の一例を示す図。
【図９】本発明のチップ認証装置を搭載したチップを含む周辺装置を、基幹サーバーに接続する方法の一例を示す図。
【図１０】基幹サーバーから、本発明のチップ認証装置を搭載したチップを含む周辺装置に共通パスコードを送信する方法の一例を示す図。
【図１１】本発明のチップ認証装置を搭載したチップを含む周辺装置から、認証コードを、基幹サーバーに送信する方法の一例を示す図。
【図１２】基幹サーバーから、本発明のチップ認証装置を搭載したチップを含む周辺装置に共通パスコードを送信する方法の一例を示す図。
【図１３】本発明のチップ認証装置を搭載したチップを含む周辺装置から、認証コードを、基幹サーバーに送信する方法の一例を示す図。
【図１４】複数の基幹サーバーと、本発明のチップ認証装置を搭載したチップを含む複数の周辺装置からなるネットワークの一例を示す図。
【図１５】複数の基幹サーバーが一つの周辺装置に接続する一例を示す図。
【図１６】本発明のチップ認証装置が満たすべき、出力の独立性の一例を示す図。
【図１７】本発明のチップ認証装置が満たすべき、入力の独立性の一例を示す図。
【図１８】本発明のチップ認証装置が満たすべき、出力信号の予測不可能性の一例を示す図。
【図１９】本発明のチップ認証装置が満たすべき、入出力信号の信頼性の一例を示す図。
【図２０】入力コードと登録コードの対応表の一例を示す図。
【図２１】周辺装置の正当性を検査するための作業工程の一例を示す図。
【図２２】不揮発性メモリセルアレイに割り振られたデータの一例を示す図。
【図２３】ＮＡＮＤ型不揮発性メモリセルアレイの一例を示す図。
【図２４】ＮＡＮＤ型不揮発性メモリセルアレイの第Ｐページを選択する方法の一例を示す図。
【図２５】ＮＡＮＤ型不揮発性メモリセルアレイの第Ｓページを選択する方法の一例を示す図。
【図２６】ＮＡＮＤ型不揮発性メモリセルアレイの第Ｐページと第Ｓページを選択する方法の一例を示す図。
【図２７】不揮発性メモリセルの集団を、一括消去・一括書き込みしたときの閾電圧の分布の一例を示す図。
【図２８】本発明の第二の実施形態に関する製造工程の一例を示す図。
【図２９】本発明の第二の実施形態に関する、不揮発性メモリの閾電圧の分布を示す図。
【図３０】本発明の第二の実施形態に関する、不揮発性メモリの閾電圧の分布を示す図。
【図３１】本発明の第二の実施形態に関する、不揮発性メモリの閾電圧の分布を示す図。
【図３２】本発明の第二の実施形態に関する、不揮発性メモリの閾電圧の分布を示す図。
【図３３】不揮発性メモリセルアレイの鳥瞰図。
【図３４】不揮発性メモリセルアレイに関わる櫛歯状基板表面の鳥瞰図。
【図３５】本発明の第二の実施形態に関する、不揮発性メモリの閾電圧の分布を示す図。
【図３６】本発明の第二の実施形態に関する、不揮発性メモリの閾電圧の分布を示す図。
【図３７】本発明の第二の実施形態に関する、不揮発性メモリの閾電圧の分布を示す図。
【図３８】本発明の第三の実施形態に関する製造工程の一例を示す図。
【図３９】本発明の第三の実施形態に関する、不揮発性メモリの閾電圧の分布を示す図。
【図４０】本発明の第三の実施形態に関する、不揮発性メモリの閾電圧の分布を示す図。
【図４１】本発明の第四の実施形態に関する、閾電圧の読み出し方法の一例を示す図。
【図４２】本発明の第五の実施形態に関するチップの構成内容の一例を示す図。
【図４３】本発明の第六の実施形態に関するチップの構成内容の一例を示す図。
【図４４】本発明の第六の実施形態に関するチップの構成内容の一例を示す図。
【発明を実施するための形態】
【００２０】
本発明に係る実施形態について、以下図面を参照して説明する。
【００２１】
図１は、従来の典型的なチップ制御システムを説明する図面である。チップの機能を具現化する認証制御デバイス３は、ファームウェア２に含まれる認証コード（ＩＤ）４を必要に応じて読み出せるようになっている。たとえば、チップ１は、外部入力に応じて認証制御デバイス３が認証コード４を参照し、チップ１が正しい外部装置であることを主張する。ただし、これは主張するだけであって正しいことを証明するものではない。上述したように、認証コード（ＩＤ）４を盗めば他のチップがチップ１になりかわることが可能だからである。
【００２２】
本発明では、図２に示すように、認証コード（ＩＤ）４と認証制御デバイス３からなる認証システム６を、本願のチップ認証装置６０に置き換える。チップ認証装置６０は外部入出力５０から受け取るコール（入力信号）に応じて都度出力を発生するものであり、発生された出力信号は物理的乱雑さを利用して生成されるものである。また、入力信号を変えると出力信号も変わるという特徴を有している。図３のように、このチップ認証装置６０を有するチップ１０を搭載する第一の装置７１が第二の装置７２にネット接続されている場合を考えよう。
【００２３】
図４のように、第二の装置７２は、ネット接続された第一の装置７１を認識するために信号Ａ、信号Ｂ、信号Ｃ、・・・を入力としてネット接続を介して第一の装置に搭載されるチップ認証装置６０に与える。チップ認証装置６０は、それぞれ信号Ａ１、信号Ｂ１、信号Ｃ１、・・・を出力としてネット接続を介して第二の装置に返す。ここで、第二の装置は、チップ１０を搭載する第一の装置を、「信号Ａの入力に対して信号Ａ１の出力を返し、信号Ｂの入力に対して信号Ｂ１の出力を返し、信号Ｃの入力に対して信号Ｃ１の出力を返し、・・・」という装置であると認識する。これを交信シリーズ（Ａ、Ｂ、Ｃ、・・・：Ａ１、Ｂ１、Ｃ１、・・・）であらわす。あるいは、第二の装置７２は第一の装置７１を「信号Ｆの入力に対して信号Ｆ１の出力を返し、信号Ａの入力に対して信号Ａ１の出力を返し、信号Ｋの入力に対して信号Ｋ１の出力を返し、・・・」と認識する。これを交信シリーズ８０（Ｆ、Ａ、Ｋ、・・・：Ｆ１、Ａ１、Ｋ１、・・・）であらわす。しかしながら、このような交信はすべての可能な入力信号に対して行わなくても良い。入力信号のパターンは無限にあり、特定の装置に対してそのすべてを行うことは不毛である。むしろ入力信号のパターン数が無限にあることは、第二の装置にネット接続しうる装置の数を無制限にすることに有用である。すなわち、第一の装置を第二の装置に最初にネット接続する際、第二の装置は第一の装置を登録することになる。この登録は、第二の装置の正規の使用者か、或いは、第二の装置の正規の使用者から正規に権限を委譲された者が行うことが望ましい。登録時に任意に選ばれた入力信号１０２、たとえば、（Ｒ、Ｌ、Ａ）と、第一の装置から返ってきた出力信号（Ｒ１、Ｌ１、Ａ１）を第二の装置の内部メモリ３０２に保存する。このとき、登録に関わる交信シリーズは（Ｒ、Ｌ、Ａ：Ｒ１、Ｌ１、Ａ１）となる。更に具体的には、第二の装置に接続しうる装置は無数にあるので入力信号１０２のセットはあらかじめ固定することが望ましい。その場合、第一の装置が登録された交信シリーズ（Ｒ、Ｌ、Ａ：Ｒ１、Ｌ１、Ａ１）の替わりに（Ｒ１、Ｌ１、Ａ１）を登録コード１０３とする。図５の例では、第一の装置７１、第四の装置７４、第五の装置７５、・・・が、第二の装置に登録されている場合を説明している。たとえば、第四の装置は、入力信号（Ｒ、Ｌ、Ａ）に対して、出力信号（Ｒ４、Ｌ４、Ａ４）を第二の装置に返す。第五の装置は、入力信号（Ｒ、Ｌ、Ａ）に対して、出力信号（Ｒ５、Ｌ５、Ａ５）を第二の装置に返す。
【００２４】
図６の例では、第二の装置の正規の使用者９２が、所有する第一の装置を使ってネット接続を介して第二の装置７２を操作する例を説明している。第一の装置と第二の装置は交信シリーズ８０を用いてネットを介して交信し、連携して第二の装置７２の正規使用者９２の目的とする仕事を行う。ここで、第二の装置７２の正規使用者９２は、交信シリーズ８０にいかなるコミットメントもしない。もしコミットメントをする場合、第二の装置７２の管理・使用方法が煩雑になり、ＩoＴ／ＩoＥの利便性が大きく損なわれることになる。具体的には、第二の装置が何らかの外部装置とネット接続するとき、まず第二の装置は入力信号１０２（Ｒ、Ｌ、Ａ）をこの外部装置に送り、この外部装置から返って来た信号が登録コード２０２のどれか、（Ｒ１、Ｌ１、Ａ１）、（Ｒ４、Ｌ４、Ａ４）、（Ｒ５、Ｌ５、Ａ５）・・・に一致するかどうかを確認すればよい。
【００２５】
図７のように、遠隔攻撃者９３が、第一の装置７１を遠隔攻撃者９３が所有する第三の装置７３に不正に置き換える場合を考えよう。第三の装置７３は、第一の装置７１に内蔵されるチップ認証装置６０を使用せずにこの交信シリーズ８０を完全に模倣しなければならない。これが可能かどうかを見極めればよい。不可能であれば、本発明のチップ認証方式によって、装置の乗っ取りを防ぐことができると判明する。そのための前提条件として、第一の装置７１を第三の装置７３と不正に置き換えようとする者（遠隔攻撃者９３）は、実際に第一の装置７１を手に取ることができないとする。これは、ＩoＴ／ＩoＥにおいては自然な条件である。すなわち、ＩoＴ／ＩoＥにおける乗っ取りは遠隔操作を前提にしているからである。遠隔攻撃者９３の目的は、自分が手元に所有する第三の装置７３を使って第二の装置７２を遠隔操作することである。第一の装置を手元に奪取するためには、第二の装置に正規に接続する第一の装置７１が存在する場所に赴き、秘密裏に奪取しなければならない。これは、攻撃をネット上で完結することができないことを意味する。すなわち、第二の装置の使用者に気づかれずに遠隔操作をすることができないのと同義である。第三の装置７３と第二の装置７２がネット接続されると、第二の装置はネット接続を介して第三の装置７３を認識するために入力信号（Ｒ、Ｌ、Ａ、・・・）をネット接続を介して第三の装置７３に与える。第三の装置が出力信号（Ｒ３、Ｌ３、Ａ３、・・・）をネット接続を介して第二の装置に返したとする。こうして、偽交信シリーズ（Ｒ、Ｌ、Ａ、・・・：Ｒ３、Ｌ３、Ａ３、・・・）が作成される。すなわち、遠隔攻撃者９３は、偽交信シリーズ８３を正規の交信シリーズ８０に完全に一致させなければならない。ここで、入力コード１０２（Ｒ、Ｌ、Ａ）と、この入力に対する返信（Ｒ３、Ｌ３、Ａ３）からなる交信シリーズ（Ｒ、Ｌ、Ａ：Ｒ３、Ｌ３、Ａ３）は、偽交信シリーズ８３の一例である。（Ｒ３、Ｌ３、Ａ３）が（Ｒ１、Ｌ１、Ａ１）と一致すれば、遠隔攻撃者９３は第三の装置を第一の装置に置き換えて遠隔攻撃を成功できる。図５の例に従えば、遠隔攻撃者９３は、（Ｒ３、Ｌ３、Ａ３）を、第二の装置７２の内部メモリ３０２に保存されている登録コード２０２のうちどれか一つと一致させれば良い。
【００２６】
こうして、遠隔攻撃には基本的に二つの方法があることがわかる。第一の方法は、第二の装置の内部メモリ３０２に保存されている情報から、入力コード１０２と、少なくとも登録コードのうちのどれか一つと、を盗み取ることである。たとえば、遠隔攻撃者９３が登録コード２０２のうち、（Ｒ４、Ｌ４、Ａ４）を盗み取ることに成功したとする。このとき、遠隔攻撃者９３は、所有する第三の装置７３を第四の装置７４に置き換えて第二の装置を不正に遠隔操作することができる。同様に、遠隔攻撃者９３が登録コード２０２のうち、（Ｒ１、Ｌ１、Ａ１）を盗み取ることに成功したとする。このとき、遠隔攻撃者９３は、所有する第三の装置７３を第一の装置７１に置き換えて第二の装置を不正に遠隔操作することができる。このような遠隔攻撃からシステムを守るため、システム管理者は第二の装置７２の内部メモリ３０２を厳重に防御しなければならない。このため、内部メモリに入力コードや登録コードを保存する第二の装置７２のような装置は、訓練を受けた専門家が常に最新のセキュリティ対策ソフトウェア技術を用いて厳重に保守することが望ましい。このように、第二の装置７２はネットワークの中央に置かれ基幹的な役割を担い、セキュリティ管理者による中央管理下にあると仮定する。こうして、遠隔攻撃の第一の方法はほぼ防がれる。しかしながら、ネットワークに接続する装置が数兆個に上る場合、すべての装置を第二の装置７２のように厳重に防御・保守することは現実的に不可能である。これは中央管理の限界を意味している。そこで、遠隔攻撃者９３は、第二の装置７２に接続する中央管理の行き届かない装置、図５の例では、第一の装置７１、第四の装置７４、第五の装置７５・・・を遠隔攻撃することになる。これが遠隔攻撃の第二の方法である。しかしながら、第一の装置７１は、入力コード１０２と登録コード２０２のペア（交信シリーズ）を認証コードとして内部メモリに保存しない。第四の装置７４、第五の装置７５等の、第二の装置にネット接続して使用することを目的とするほかの外部装置も同様である。これら外部装置（たとえば、図５の例では、第一の装置７１、第四の装置７４、第五の装置７５、・・・）は、それぞれ相異なるチップ認証装置を搭載するチップを内蔵している。
【００２７】
ここで、図８のように、遠隔攻撃者９３が第一の装置７１を遠隔攻撃する場合を考えよう。まず、遠隔攻撃者９３は、第一の装置７１の内部メモリーに不正にアクセスし、登録コード及び入力コードに関する情報（交信シリーズ）を盗み取ろうとする。しかしながら、第一の装置はそもそもそのような情報を内部メモリーに保存していないので、この攻撃は必ず失敗に終わる。次に、遠隔攻撃者９３は、適当に選んだ信号（Ｘ、Ｙ、Ｚ）を第一の装置７１に入力し、（Ｘ１、Ｙ１、Ｚ１）の返信を得る。（Ｘ、Ｙ、Ｚ）が、第二の装置７２が用いる入力コード１０２（Ｒ、Ｌ、Ａ）と異なる場合、返信（Ｘ１、Ｙ１、Ｚ１）は登録コード２０２の（Ｒ１、Ｌ１、Ａ１）とは異なる。こうして、第二の遠隔攻撃も失敗に終わる。ここで問題なのは、遠隔攻撃者９３が適当に選んだ信号セット（Ｘ、Ｙ、Ｚ）が、たまたま第二の装置７２の内部メモリ１０２に保存した入力コード１０２（Ｒ、Ｌ、Ａ）に一致することである。このような偶然を防ぐため、入力コードの要素数を十分多くし、更に第二の装置７２の管理者以外には非公開とすることである。この情報は、第二の装置７２の管理者によって厳重に守られるべきである。また、時より変更することが望ましい。この変更を行った場合、第二の装置７２に接続する装置の再登録を行うことが必要になる。このような再登録を行う頻度を減らすために、入力コードの要素数は可能な限り多くするように管理することが必要である。このように、入力コードは、パスコードとして振舞う。
【００２８】
この入力コードは、さまざまな周辺装置への認証ＩＤを検査するために共通して使うことが望ましい。この場合、おのおのの周辺装置へのアクセスに個別に必要なものではない。このような事情から、本発明で説明する入力コードを以下“共通パスコード”と呼ぶことにする。
【００２９】
上記第二の装置７２が計算機（パソコン等）の場合、これに接続する第一の装置７１、第四の装置７４、第五の装置７５は、計算機に接続して用いられる周辺装置となる。たとえば、マウス、キーボード、マイクロホン、などである。上述したとおり、計算機本体は最新のウィルス対策ソフトを使用して管理者が責任を持って管理することが前提となる。本件に関わる発明は、周辺装置（マウス、キーボード、マイクロホン等）の置き換え（乗っ取り）から計算機本体を守ることが目的となる。これによって計算機本体を守ることを目的とするウィルス対策ソフトが守りきれない周辺装置を遠隔攻撃から守ることができる。
【００３０】
上記第二の装置７２がネットワークサービスの中心的機能を担う基幹サーバーの場合、これに接続する第一の装置７１、第四の装置７４、第五の装置７５などを、基幹サーバーに対して周辺装置とみなすことができる。図９は、一つの基幹サーバー４００に、第一の周辺装置４１０、第二の周辺装置４２０、第三の周辺装置４３０、・・・がネット接続する例を示している。たとえば、第一の周辺装置４１０、第二の周辺装置４２０、第三の周辺装置４３０・・・は、このネットワークサービスを利用するエンドユーザーの端末である。たとえば、スマートフォン、タブレット、計算機端末、スマート家電のリモコン、自動運転者の操作パネル、あるいはその他ウェアラブル端末等である。上述したとおり、基幹サーバーは、十分に訓練を受けた専門家が最新のセキュリティソフトウェアを駆使して責任を持って管理することが前提となる。本件に関わる発明は、エンドユーザーの端末（スマートフォン、タブレット、計算機端末、その他ウェアラブル端末等）の置き換え（乗っ取り）から基幹サーバーへの不正アクセスを防ぐことが目的となる。これによって、十分に訓練を受けた専門家が最新のセキュリティソフトウェアを駆使しても守りきれない、ネットワーク上に無数に存在する情報端末を遠隔攻撃から守ることができる。
【００３１】
上記第二の装置７２がクラウドセンシングサービスの中心的機能を担うデータセンターの場合、これに接続する第一の装置７１、第四の装置７４、第五の装置７５は、このデータセンターが必要とするデータを取得するセンサーである。センサーの数は無数であり、広い範囲に設置される。したがって、その一つ一つを中央管理で遠隔攻撃から守ることは現実的に不可能である。このようなセンサーの例は、ＧＰＳ、ウィルスモニター、温度計、地震計、ＬＥＤソケット型可視光通信デバイス、バイオセンサー、各種スマートメーターなど無数にある。上述したとおり、データセンターは、十分に訓練を受けた専門家が最新のセキュリティソフトウェアを駆使して責任を持って管理することが前提となる。本件に関わる発明は、このようなセンサーの置き換え（乗っ取り）からデータセンターへの不正アクセスを防ぐことが目的となる。これによって、十分に訓練を受けた専門家が最新のセキュリティソフトウェアを駆使しても守りきれない、クラウドセンシングのためのネットワーク上に無数に存在するセンサーを遠隔攻撃から守ることができる。
【００３２】
ここで、本発明の特徴の一つとして、中央管理の行き届かない周辺装置（たとえば、第一の周辺装置４１０、第二の周辺装置４２０、第三の周辺装置４３０・・・）は、前記共通パスコードのような入力データを保存しないことがあげられる。このように、認証通信のために必要なデータ（たとえは、共通パスコード）を保存する“基幹サーバー”と保存しない“周辺装置”に分けることが特徴となる。同時に、認証通信のために必要なデータ（たとえは、共通パスコード）を保存する“基幹サーバー”は中央管理し、認証通信のために必要なデータ（たとえは、共通パスコード）を保存しない“周辺装置”には本発明のチップ認証方式を搭載することを特徴とする。
【００３３】
上記共通パスコードは、第一の基幹サーバー１４００に少なくとも一つ保存され、周辺装置を認識する際に周辺装置に送られる。たとえば、図１０のように、第一の基幹サーバー１４００は第一の共通パスコード１４１０を、第一の周辺装置４１０、第二の周辺装置４２０、第三の周辺装置４３０に送る。これらの周辺装置は、第一の基幹サーバーを「第一の共通パスコード１４１０を送ってくるもの」として認識する。図１１に示すように、第一の周辺装置４１０、第二の周辺装置４２０、第三の周辺装置４３０は、この第一の共通パスコード１４１０の入力に対応し、それぞれ、第一の認証４１０１、第二の認証４２０１、第三の認証４３０１を、第一の基幹サーバー１４００に返す。第一の基幹サーバー１４００は、第一の周辺装置４１０、第二の周辺装置４２０、第三の周辺装置４３０を、「第一の共通パスコード１４１０に対して、それぞれ第一の認証４１０１、第二の認証４２０１、第三の認証４３０１を返すもの」と認識する。同様に、図１２のように、第二の基幹サーバー２４００は、第二の共通パスコード２４１０を、第一の周辺回路４１０、第二の周辺装置４２０、第三の周辺装置４３０に送る。これらの周辺装置は、第二の基幹サーバーを「第二の共通パスコード２４１０を送ってくるもの」として認識する。図１３に示すように、第一の周辺装置４１０、第二の周辺装置４２０、第三の周辺装置４３０は、この第二のパスコード２４１０の入力に対応し、それぞれ、第四の認証４１０２、第五の認証４２０２、第六の認証４３０２を、第二の基幹サーバー２４００に返す。第二の基幹サーバー２４００は、第一の周辺装置４１０、第二の周辺装置４２０、第三の周辺装置４３０を、「第二の共通パスコード２４１０に対して、それぞれ第四の認証４１０２、第五の認証４２０２、第六の認証４３０２を返すもの」と認識する。言うまでも無く、第一の共通パスコード１４１０と第二の共通パスコード２４１０は異なる。第一の認証４１０１、第二の認証４２０１、第三の認証４３０１、第四の認証４１０２、第五の認証４２０２、第六の認証４３０２のうちどの二つの認証も同じではない。
【００３４】
実際のネットワークでは、周辺装置は無数にあり、しかも基幹サーバーは一つに限らない。たとえば、図１４では、二つの基幹サーバー（第一の基幹サーバー１４００、第二の基幹サーバー２４００）と五つの周辺装置（第一の周辺装置４１０、第二の周辺装置４２０、第三の周辺装置４３０、第四の周辺装置４４０、第五の周辺装置４５０）からなるネットワークを例示している。第一の基幹サーバー１４００を中心に、第四の周辺装置４４０と第五の周辺装置４５０とで一つのネットワークユニットを構成し、第二の基幹サーバー２４００と、第一の周辺装置４１０、第二の周辺装置４２０、及び第三の周辺装置４３０とでもう一方のネットワークユニットを構成する。これらのネットワークユニットは、互いに、第一の基幹サーバー１４００と第二の基幹サーバー２４００とのみで接続している。さらに、第四の周辺装置４４０および第五の周辺装置４５０は、第一の基幹サーバー１４００とのみ接続し、第一の周辺装置４１０、第二の周辺装置４２０、及び第三の周辺装置は、第二の基幹サーバー２４００とのみ接続している。本発明の特徴は、このような複数の基幹サーバーと複数の周辺装置からなるネットワークにおいて、基幹サーバー同士は直接通信が可能であるが、周辺装置同士は直接通信をしないことが上げられる。これは、中央管理の行き届かない周辺装置では、共通パスコードのような入力データを保存しないためである。その代わりに、周辺装置同士は、基幹サーバーを介して間接的に通信する。たとえば、第一の周辺装置４１０と第二の周辺装置４２０は、第二の基幹サーバー２４００を介して間接的に通信可能である。第四の周辺装置４４０と第五の周辺装置４５０は、第一の基幹サーバー１４００を介して、間接的に通信可能である。第三の周辺装置４３０と第四の周辺装置４４０は、互いにネット上で連結している第一の基幹サーバー１４００と第二の基幹サーバー２４００とを介して、間接的に通信可能である。こうして、本発明によれは、中央管理のためのリソースを基幹サーバーにのみ集中させることが可能となる。図１４の具体的な例としては、たとえば、自動運転車とスマートハウスが上げられる。たとえば、第一の基幹サーバー１４００、第四の周辺装置４４０、および第五の周辺装置４５０からなるネットワークユニットは、共に一つの自動運転車を構成する部品であるとする。同時に、第二の基幹サーバー２４００、第一の周辺装置４１０、第二の周辺装置４２０、第三の周辺装置４３０からなるネットワークユニットは、一つのスマートハウスの部品であるとする。災害時自動運転車のバッテリーがスマートハウスのバッテリーを補完するような場合、たとえば、スマートハウスのバッテリーの状況を把握するためのセンサー（たとえば、第四の周辺装置４４０）が自動運転車に搭載されている。このように、第四の周辺装置４４０は、第一の基幹サーバー１４００と第二の基幹サーバー２４００のどちらともネット接続することになる。
【００３５】
図１５に示すように、本発明を用いたネットワークでは、一つの周辺装置（たとえば第一の周辺装置４１０）が複数の基幹サーバー（たとえば、第一の基幹サーバー１４００、第二の基幹サーバー２４００、第三の基幹サーバー３４００）と接続することも認められる。その中で、たとえば、第一の基幹サーバー１４００と第二の基幹サーバー２４００は直接通信可能であるが、第一の基幹サーバー１４００も第二の基幹サーバー２４００も、第三の基幹サーバー３４００とは直接通信していないものとする。ここで、第三の基幹サーバー３４００が遠隔攻撃者でないという証明はない。このため、第一の周辺装置４１０に通信認証に関するデータ（共通パスコード）を保存しないということは重要である。このように、本発明のチップ認証方式を用いることによって、この問題に対処することができる。
【００３６】
第一の基幹サーバー１４００は、第一の共通パスコード１４１０を有し、第二の基幹サーバー２４００は、第二の共通パスコード２４１０を有し、第三の基幹サーバー３４００は、第三の共通パスコード３４１０を有するものとする。すなわち、第一の周辺装置４１０は、第一の基幹サーバー１４００を「第一の共通パスコード１４１０を入力してくるもの」と認識し、第二の基幹サーバー２４００を「第二の共通パスコード２４１０を入力してくるもの」と認識し、第三の基幹サーバー３４００を「第三の共通パスコード３４１０を入力してくるもの」と認識する。これらの入力に対し、第一の基幹サーバー１４００は、第一の周辺装置４１０を「第一の認証１１を返すもの」と認識し、第二の基幹サーバー２４００は、第一の周辺装置４１０を、「第二の認証１２を返すもの」と認識し、第三の基幹サーバー３４００は、第一の周辺装置４１０を、「第三の認証１３を返すもの」と認識する。ここで、通信認証に関するデータ（共通パスコード、あるいは、共通パスコードに対応して返信する認証データ等）は、基幹サーバーに保存され、周辺装置には保存しない。周辺装置には、本発明のチップ認証装置を搭載する。
【００３７】
次に、本発明で提案するチップ認証方式が満たすべき条件について述べておこう。
【００３８】
《出力の独立性》
まず、二つのチップ認証装置に同じ入力信号を入力したときの動作を特定する。図１６に示すように、二つの異なる第一のチップ認証装置２１と第二のチップ認証装置２２に対して、同じ入力信号（入力信号Ｑ）を入力する。このとき、第一のチップ認証装置２１は出力信号Ａを出力する。第二のチップ認証装置２２は出力信号Ｂを出力する。このとき、出力信号Ａと出力信号Ｂとは異なる。このように、入力信号が同一であってもチップ認証装置が異なる場合出力信号はそれぞれ異なる。この性質は、共通パスコードを使う例（図１０、図１１、図１２、図１３）に必要な条件である。すなわち、同じパスコードをそれぞれ異なるチップ認証装置を搭載する周辺装置に入力信号として入力しても、それぞれの周辺装置から返って来る出力信号は周辺装置毎に相異なる。たとえば、図１０のように、第一の共通パスコード１４１０を、それぞれ異なるチップ認証装置を内蔵する第一の周辺装置４１０、第二の周辺装置４２０、第三の認証装置４３０に与えたとき、これらの周辺装置から返って来る出力信号は、図１１に示すように、それぞれ第一の認証４１０１、第二の認証４２０１、第三の認証４３０１となる。ここで、第一の認証４１０１、第二の認証４２０１、第三の認証４３０１の内どの二つも相異なる。図１２、及び、図１３の例も同様に説明できる。
【００３９】
《入力の独立性》
反対に、同一のチップ認証装置に異なる入力信号を入力すると、それぞれ相異なる出力信号を出力する。たとえば、図１７に示すように、チップ認証装置６０に入力信号Cを入力すると出力信号Ａを出力する。同じチップ認証装置６０に入力信号Ｄを入力すると出力信号Ｂを出力する。ここで、出力信号Ａと出力信号Ｂは、入力信号Ｃと入力信号Ｄが異なる限り、それぞれ相異なる出力信号である。この性質は、図１５のように、異なる基幹サーバーからそれぞれ異なるパスコードを入力信号として同一の周辺装置に入力し、それぞれ基幹サーバーが相異なる認証を該周辺装置から出力信号として受け取る場合に必要な条件である。具体的には、第一の基幹サーバー１４００が第一の共通パスコード１４１０を第一の周辺装置４１０に入力し、第一の周辺装置４１０が第一の認証１１を第一の基幹サーバー１４００に出力し、第二の基幹サーバー２４００が第二の共通パスコード２４１０を第一の周辺装置４１０に入力し、第一の周辺装置４１０が第二の認証１２を第二の基幹サーバー２４００に出力し、第三の基幹サーバー３４００が第三の共通パスコード３４１０を第一の周辺装置４１０に入力し、第一の周辺装置４１０が第三の認証１３を第三の基幹サーバー３４００に出力する、ような場合である。
【００４０】
すなわち、図１４は（入力の独立性）の条件と（出力の独立性）の条件を同時に満たすネットワーク構造の一例となっている。ほとんどの場合、実際には、基幹サーバーの数は２より大きく、周辺装置の数は５より大きい。図１４は、もっとも簡単な一例に過ぎない。
【００４１】
《出力の予測不可能性》
図１８に示すように、ｎ個の入力信号Ｑ１−Ｑｎを同一のチップ認証装置６０に与えたとき、それぞれの入力信号に対し出力信号Ｒ１−Ｒｎが得られることを知っているものとする。このとき、ｎ個のＱ１−Ｑｎのいずれとも異なる入力信号Ｑｎ＋１を同一のチップ認証装置６０に与えずに、これを与えたときに得られるはずの出力信号Ｒｎ＋１を、（Ｑ１、Ｒ１）、（Ｑ２、Ｒ２）、・・・（Ｑｎ、Ｒｎ）のセットから予測することは不可能である。ただし、ｎは２以上の整数とする。チップ認証装置６０が、何らかのアルゴリズムによって出力を生成している場合、すなわち、ソフトウェアによって認証を返す場合、ほぼ必ずこの条件は破られる。したがって、チップ認証装置６０は物理的乱雑さを利用して出力信号を生成しなければならない。あるいは、物理的乱雑さを利用して生成した信号を、あらかじめ保存して用いることが必要である。ただし、物理的乱雑さを利用して生成した信号を保存するために膨大なメモリ領域が必要となる。
【００４２】
《入出力の信頼性》
図１９に示すように、実際には、入力信号Ｑを制御する回路に関わる制御不能のノイズなどにより、入力信号Ｑには入力信号誤差ΔＱ（３１）が混入する。これに対し、入力信号誤差ΔＱ（３１）及び出力信号を制御する回路に関わる制御不能のノイズなどにより、出力信号Ｒには出力信号誤差ΔＲ（３２）が混入する。このとき、二つの異なる入力信号（たとえば、Ｑ１およびＱ2）の差の絶対値は、入力信号誤差ΔＱ（３１）の絶対値の最大値より大きいものとする。ここで、入力信号Ｑ１に対する出力信号Ｒ１と、入力信号Ｑ2に対する出力信号Ｒ２との間の差の絶対値は、出力信号誤差ΔＲ（３２）の絶対値の最大値より大きくなければならない。
【００４３】
本発明に関わるチップ認証方式は、上述した（出力の独立性）、（入力の独立性）、（出力の予測不可能性）、及び、（入出力の信頼性）の、４つすべてを同時に満たしていなければならない。
【００４４】
《検査》
本発明が実施される以前から稼動しているネットワークをＩoＴなどに発展させる場合には、既に基幹サーバーに接続している周辺装置を、本発明によるチップ認証装置を搭載したチップで構成された周辺装置に置き換えて行かねばならない。ここで、この置き換えが確実に行われたかどうか検査することが必要になる。あるいは、本発明のチップ認証装置を搭載していないチップを採用した周辺装置が一部でも不正に登録されていないかどうか検査することが必要である。ここで説明する検査は、基幹サーバーの保守点検の一部として随時行うことが可能である。また、周辺装置の登録時にも行うことが望ましい。
【００４５】
この検査のためにもっとも有効な方法は、中央管理下にある基幹サーバーを使って検査対象となる周辺装置を実際に遠隔攻撃することである。検査対象となる周辺装置を構成するチップは、本発明のチップ認証装置を用いていない場合、内蔵メモリに共通パスコードと登録コードの対応表（図２０参照）を保存していなければならない。本発明のチップ認証装置を搭載したチップの内蔵メモリには、このようなコードは保存されていない。図２０のようなコード対応表を正規に保存しているのは、本発明に関するネットワークでは、基幹サーバーだけである。図９にある、入力コード４０２と登録コード４０３の組あわせがそれである。図９の入力コード４０２が図２０の入力コード４２に対応し、図９の登録コード４０３が図２０の登録コード４３に対応している。
【００４６】
具体的な検査作業の流れを図２１を用いて説明する。第一に、検査する周辺装置の内蔵メモリを読み出す。ここで読み出されたコードの中に、基幹サーバーに入力コード４０２として保存されている入力コードの中に一致するものがあるかどうかを調べる。不一致の場合、検査した周辺装置を公正なものとして承認する。一致する場合、更に基幹サーバーに登録コード４０３として保存されている登録コードの中に一致するものがあるかどうか調べる。一致した場合、検査した周辺装置を不正品として判定する。一致しない場合、公正として承認する。
【００４７】
本実施形態に関わるチップ認証方式を用いるネットワークを構成するすべての装置は、たとえば、図１４のように、訓練を受けたセキュリティ専門家が保守・管理する基幹サーバー（たとえば、１４００、２４００）のグループと、前記セキュリティ専門家が管理できない周辺装置（たとえば、４１０、４２０、４３０、４４０，４５０）のグループに分けられる。ここで、周辺装置同士はお互いに直接に接続せず、基幹サーバーとのみ接続可能とする。こうして、一つの基幹サーバーとそれに直接接続する複数の周辺装置からなるネットワークユニットを構成する。基幹サーバーは、基幹サーバー同士と任意に接続可能であり、周辺装置同士は、基幹サーバーを介して間接的に接続可能である。こうして、各ネットワークユニット同士も接続可能である。図１４は、二つのネットワークユニットが互いの基幹サーバー同士の接続によって連携したネットワークの一例である。実際には、もっと多数の基幹サーバー、すなわち、もっと多数のネットワークユニットから構成されるネットワークも実現可能である。各周辺装置には、すべて異なるチップ認証装置が搭載されている。図１０及び図１２に示すように、基幹サーバー（１４００、２４００）は、それぞれ固有の共通パスコード（１４１０、２４１０）を少なくとも一つずつ保有する。図９に示すように、それぞれの基幹サーバーが出力する共通パスコードは、基幹サーバーの内蔵メモリに入力コード（たとえば、４０２）として厳重に保管される。図１１及び図１３に示すように、共通パスコード（１４１０、２４１０）を入力された周辺装置（４１０、４２０、４３０）は、同じ共通パスコードに対しておのおの固有の認証（４１０１、４２０１、４３０１）、及び、（４１０２、４２０２、４３０２）を基幹サーバー（１４００、２４００）にそれぞれ返信する。ここで返信される認証はすべてお互いに異なることが必要である。そのため、周辺装置に搭載される、本発明のチップ認証装置は、図１６に示すように、（出力の独立性）を満たさなければならない。図９に示すように、基幹サーバーは、周辺装置から返信されてきた出力信号（認証コード）を、入力コード（たとえば、４０２）のそれぞれに対応する形で内蔵メモリに厳重に保管する登録コード（たとえば、４０３）と便宜比較する。図１５に示すように、一つの周辺装置が複数の基幹サーバーと接続することが許される。この場合、一つの周辺装置（たとえば、４１０）は、複数の共通パスコード（たとえば、１４１０、２４１０、３４１０）を入力され、それぞれ異なる入力に対して、それぞれ異なる認証（たとえば、１１、１２、１３）を出力しなければならない。そのため、周辺装置に搭載される、本発明のチップ認証装置は、図１７に示すように、（入力の独立性）を満たさなければならない。
【００４８】
続いて、本発明に関するチップ認証装置に関する条件を考える。まず、チップ認証装置をプログラムで構成する場合、入力コードに対する出力信号（認証コード）の作成は、かならずある種のアルゴリズムを用いて行われることになる。したがって、遠隔攻撃者（たとえば、９３）がこのアルゴリズムを解読した場合、入力コードさえ判っていれば、たとえば図２０のように、登録コードを偽造することが可能となる。こうして、この遠隔攻撃者は周辺装置の一部を乗っ取り、基幹サーバーに不正アクセスすることが可能となる。このような不正行為防ぐため、本発明のチップ認証装置は、図１８に示すように、（出力の予測不可能性）を満たさなければならない。しかしながら、プログラムがアルゴリズムで設計されている限り、どのようなプログラムも（出力の予測不可能性）を満たすことができない。これは、プログラムにより完全な乱数を発生することが不可能であることと同じ事情である。このように、チップ認証装置は、物理的乱雑さを活用したものでなければならない。
【００４９】
前記のようなチップ認証装置は、半導体チップ内に他の機能を持つモジュールと一緒に混載してもよいし、または、チップ認証機能のみを持つ半導体チップとして単独で製造しても良い。また、チップ認証装置は、入力コード（共通パスコード）を受け取る度に、物理的乱雑さに基づいて出力信号（認証コード）を発生することが望ましい。しかしながら、十分大きなメモリ容量を確保できるなら、別途物理乱数発生装置によって発生しておいた信号コードを内部メモリに格納しておくことでも同様の効果を得ることができる。ただし、この場合でも、共通パスコードだけは周辺装置のメモリに保存してはならない。いずれにしろ、チップ認証装置そのものが半導体チップで実現される電子装置である。また、前記ネットワークは、構成要素である周辺装置、基幹サーバーが半導体チップから構成される電子装置のネットワークである。
【実施例１】
【００５０】
本発明に関するチップ認証装置は、半導体不揮発性メモリ上に構成することが可能である。まず、物理乱数発生装置を用い、“１”と“０”のランダムな組み合わせを生成する。たとえば、“１”を黒、“０”を白として、これを不揮発性メモリのメモリセルアレイに書き込むと、図２２のような白と黒がランダムに配置した市松模様ができる。この不揮発メモリアレイが、図２３のようなＮＡＮＤ型だとしよう。図２４のように、ソース選択ゲート７０４およびドレイン選択ゲート７０５をオンとし、ワード線７０１の中から第Ｐ列のワード線を選択して読み出し電圧を印加し、非選択ワード線にパス電圧を印加すると、各々のビット線７０２に応じて、上の行から“１”と“０”からなる配列が生成する。図２２の例では、上から（白白黒白白黒白白白黒・・・）が出力されることなる。これは、図２４において、第Ｐページ（第Ｐ列）のデータが上から（００１００１０００１・・・）が出力されることと同一である。ここで、用いる不揮発性メモリはＮＯＲ型であってもかまわない。しかしながら、ページ毎に（列毎に）各々のビット線７０２を同時に読み出すことのできるＮＡＮＤ型は、読み出す動作の単純さとスピードの点で、ＮＯＲ型より有利になる。ここで、第Ｐ列（第Ｐページ）を選択するというのは、チップ認証装置への入力である。ただし、入力は第Ｐ列だけを指定するものではない。第Ｐ列を選択した後、図２５では、一例として、第Ｓ列を選択する。出力は、図２２の例から、（黒黒白黒白黒白白白白・・・）となる。すなわち、（１１０１０１００００・・・）が出力される。続いて、特に図示しないが、一例として、第T列を選択すると（００１０１００１１１０１０１０・・・）が出力される。これを繰り返し、（Ｐ、Ｓ、Ｔ、・・・）が順に入力される。ここで、（Ｐ、Ｓ、Ｔ、・・・）は、図５及び図９などで説明した入力コード（１０２、４０２）に相当する。こうして、上記の“１”と“０”の配列が合成されて出力される。たとえば、（００１００１０００１・・・）（１１０１０１００００・・・）（００１０１００１１１０１０１０・・・）が出力される。これを周辺装置から発信される認証コードとみなし、図９のように、入力コード（Ｐ、Ｓ、Ｔ、・・・）４０２に関連して基幹サーバー４００に保存されている登録コード４０３と比較すればよい。
【００５１】
図２６のように、入力コードとして、第Ｐ列と第Ｓ列を同時に選択することもある。また、３つ以上の列を同時に選択することも可能である。しかしながら、一般に、組み合わせより順列の方が場合の数が多く、一つか二つ程度の信号を順々に入力する入力コードの方が好ましい。このような入力コードは、図５及び図９のように、基幹サーバーなどに厳重に保管され、共通パスコードとして基幹サーバーと周辺機器との間の交信に使用される。
【００５２】
本実施の形態では、図２２のように、不揮発性メモリアレイにデータが書き込まれている。しかしながら、入力コード（共通パスコード）は、読み出す列（ＮＡＮＤ型ではページ）を指定しているだけなので、周辺装置のメモリのどの領域にも保存されることはない。上述したように、図６に示される交信シリーズ８０は、入力コードと認証コード（あるいは、登録コード）の組み合わせで出来ている。そのため、遠隔攻撃者は、チップ認証装置のメモリアレイに保存されているデータを盗み読みしても、入力コードと登録コードの両方からなる交信シリーズを再現することが出来ない。
【００５３】
図２２のように、不揮発性メモリアレイに書き込まれたデータであっても、物理乱数発生装置を用いて生成したデータであるため、データが十分大きければ、どのようなアルゴリズムを持ってしても解読することはほぼ不可能である。こうして、（出力の予測不可能性）も担保することが可能となる。
【００５４】
物理乱数発生装置を用いて生成した乱数データをメモリセルアレイに書き込むのは、本発明の第一の実施形態のチップ認証装置を搭載するチップを初期化するときに行う。この初期化は、工場集荷時にも、販売時にも、認証機関による認証時にも、エンドユーザー自身が使い始めるときにも、行うことができる。
【実施例２】
【００５５】
本発明に関するチップ認証装置を具現化する半導体装置の一例は、複数個の不揮発性半導体メモリセルの集団を用いて構成することができる。
【００５６】
まず、通常の量産レベルの製造ラインで製造された、複数個の不揮発性メモリセルの集団を、一括消去する。次に、一括書き込みする。この後読み出すことによって、閾電圧（Ｖｔ）の分布を得ることが出来る。通常の量産レベルの製造ラインで製造された不揮発性メモリセルの閾電圧（Ｖｔ）の分布は、このような方法で読み出せば、たとえば、図２７の点線のように、幅３Ｖ程度の分布を示すことが知られている。
【００５７】
次に、図２８のように、通常の量産レベルの製造ラインの製造レシピを一部変更する。通常の量産レベルの製造工程に含まれる、ウェル工程９０１とトンネル膜工程９０２の間に、低エネルギー・チャンネル・イオン打ち込み法により、ウェル全体にドナーとアクセプターを同程度の濃度で浅く打ち込むチャネルドープ工程９００を挟み、その後トンネル膜工程９０２とポリ工程９０３を経て通常の量産レベルの製造ラインに戻る。この結果、いくつかのメモリセルでは、ドナーイオンがソース側拡散層近くにより多く分布し、Ｖｔが減少する。一方、他のいくつかのメモリセルでは、アクセプターイオンがドレイン側拡散層付近により多く分布し、Ｖｔが高くなる。こうして、一括消去、一括書き込みの後に読み出すことで得られる図２７のＶｔ分布は、図２９のように３つのピークを持つ分布に広がる。左側に、ドナーによってＶｔが低くなったセルの集団が多く含まれる。右側に、アクセプターによってＶｔが高くなったセルの集団が多く含まれる。反対に、中央の点線で示した分布は図２７より低くなる。３つのピークからなる分布の幅は、およそ４Ｖ程度となる。ここで、中央の点線の分布は、本発明に関するドナーとアクセプターのイオン打ち込みによらない分布であり、分布が幅を持つ原因は、通常の量産レベルの製造ラインで製造されたメモリセルの分布と同様である。すなわち、配線遅延などの不確定要因、トンネル膜中にできるトラップによる不確定要因、ゲートパターニングやトンネル膜厚などの製造上の不確定要因などである。このうち、トラップ要因の不確定さは、書き込みと消去を繰り返したり、そのまま放置したり、熱を加えたりするうちに変化することが知られており、閾電圧の分布を制御する上で大きな問題となっている。一方、本発明に関する、ドナーとアクセプターのチャネル・イオン打ち込みによる分布の変化（図２９の左と右のピーク）は、チャンネル中のイオンの分布によるものなので、上述したトラップとは関係がない。したがって、書き込み・消去するうちに変化することも少なく、放置している内に変化することも少なく、また、熱を加えることによって変化することも少ない。その上、チャンネル内でのドナーイオンやアクセプターイオンの分布という、物理的乱雑さによって閾電圧分布を新たに付与する。たとえば、図２９において、右の分布が、チャンネル中のドレイン拡散層側に分布したアクセプター（負のイオン）によるものである。左に分布したものが、チャンネル中のソース拡散層側に分布したドナー（正のイオン）によるものである。
【００５８】
図３０は、図２９の分布から中央の幅３Ｖ程度に相当するセルを取り除いたものである。取り除かれたセルのアドレスは、バッファーなどに保存する。遠隔攻撃者がこのバッファーを盗み読みしても、入力コードに関する十分な情報は得られない。
【００５９】
わずかであるが、図３０の破線で示すように、本実施形態に関するドナーとアクセプターのイオン打ち込みによらない分布が残っている。この分布のうちの一部のセルは、書き込みと消去を繰り返す内、あるいは、放置している内、あるいは、熱を加えたりする内に閾電圧が変化し、更にその一部は、図３１に点線で示すように、中央のギャップに裾野を引いて侵入して来る。しかしながら、本実施形態では、元々３Ｖほどの広いギャップを確保していたので、図３２のように、まだ２Ｖほどギャップが残っている。選択したワード線（選択した列あるいはページ）にこのギャップ内に相当する読み出し電圧を印加し、非選択ワード線にパス電圧を印加したとき、ビット線に電流が流れればビット線と選択ワード線の交差点にあるセルは“黒”（すなわち、“１”）、流れなければ選択したワード線とビット線の交差点にあるセルは“白”（すなわち、“０”）とみなす。読み出し電圧のばらつきを考えても、２Ｖという、このギャップの広さは、黒と白を区別するのに十分である。図１９で説明した（入出力の信頼性）を担保するために、このギャップ幅を十分に広くとる必要がある。
【００６０】
このように、本実施形態においては、チャネルドープ工程９００によるドナーイオンとアクセプターイオンの分布のばらつきを利用して、図２２に示すようなランダムな市松状のパターンを生成できる。このように、どのようなアルゴリズムも使用せず、半導体の製造工程における制御不能の物理的乱雑さを活用することによって、実現が可能となる。
【００６１】
図３３は、ＮＡＮＤ型不揮発メモリのセル構造の鳥瞰図である。基板５０４の表面は櫛歯状に加工され、表面にアクティブエリア５０５が平行して紙面前後に配列されている。これと直交して、図２３のワード線７０１に直結する制御ゲート５０１が左右に伸び、ポリ間誘電体膜５０２を挟んでアクティブエリア５０５の先端を包みこんでいる。アクティブエリア５０５先端部の手前と制御ゲートの反対側には拡散層５０３がある。図３４は、図３３から制御ゲート５０１及びポリ間誘電体膜５０２を剥ぎ取ったものである。アクティブエリア５０５の幅ＡＡは、デバイスの微細化と共に小さくなる。現在最先端では、ＡＡは２０ｎｍ以下にまで微細化されている。
【００６２】
微細化と共にＡＡが狭くなるにつれ、図２９に対応する、ドナーイオンによるピークとアクセプターイオンによるピークの間のギャップは広がる。その一例を図３５に示す。前述の例のように、間の３Ｖ程度を中抜きし、中抜きされたメモリセルのアドレスをバッファーに保存する。このアドレスデータは、パスコードとは関係ないので、遠隔攻撃者に盗み読まれても問題ない。上述のように、トラップ起因の染み出しを考慮すると、図３６のようになる。これは、上の例の図３１に対応する。元々のギャップが広いため、図３１に比べると、点線で示すギャップへの染み出しは減少する。結果として、図３７に示すように、白分布と黒分布の間のギャップは、トラップ起因によるＶｔ変化を考慮しても、たとえば、２．５Ｖほどになる。これは、図３２の例の２Ｖより拡大している。こうして、デバイスの微細化により、本実施形態の効果は顕著になることが判る。通常のメモリセルでは、ばらつきを抑えることが目標になるが、本実施形態では、逆に、微細化と共に増大する物理的乱雑さを積極的に活用するのである。
【実施例３】
【００６３】
図３８は、第三の実施形態の特徴を現すスリミング工程９５０を説明するものである。通常の製造プロセスにおけるポリ工程（浮遊ゲート）９０３及び基板表面を櫛歯状に加工するシャロー・トレンチ・イソレーション（ＳＴＩ）工程９５１に続き、スリミング工程９５０を挟み、その後ポリ間誘電体膜工程９５２とポリ工程（制御ゲート）９５３と続き、通常の製造工程も戻る。たとえば、スリミング工程９５０は熱酸化プロセスの一種である。
【００６４】
図３９は、本実施形態の特徴であるスリミング工程９５０によって得られる閾電圧の分布である。スリミング工程９５０により、アクティブエリア５０５の幅ＡＡが更に狭くなる。その結果、ドナーイオンによるピークとアクセプターイオンによるピークの変動が更に大きくなり、図３９のように、３つのピークがそれぞれ孤立するように分布する。ここで、第二の実施形態と同様の方法で中央４Ｖに相当するセルの分布を中抜きすると、図４０のようになる。ギャップ幅は４Ｖ程度となり、図３７に比べて更に広くなる。こうして、本実施形態の特徴であるスリミング工程９５０を用いることにより、（入出力の信頼性）を更に引き出すことが可能となる。
【実施例４】
【００６５】
アクティブエリア５０５の幅ＡＡが十分狭くない場合、読み出し時に混入するノイズにより、読み出すたびに同じセルの出力が白と黒の間を変化することがある。あるいは、バッファーに保存されていないアドレスであっても、白にも黒にも属さない場合が生じる可能性がある。このような場合、図４１に示すように、まず測定するセルを選択し、このセルの測定を複数回（たとえばＮ）繰り返し、白が出る回数がＮ／２より大きければ白とみなし、黒の出る回数がＮ／２より多ければ黒とみなし、どちらでもなければ、当該セルのアドレスをバッファーに保存し、別のセルを選択する、という操作が必要になる。ただし、Ｎは２より大きい自然数である。
【実施例５】
【００６６】
図４２に示すように、上述した第一から第四の実施形態の内、一つ、もしくは、複数の特徴を併せ持つチップ認証モジュール６００と、このチップ認証モジュール６００と外部との通信を開く外部Ｉ／Ｏ５００と、このチップ認証モジュール６００のみと通信をするその他の機能を有するモジュール８００とを、混載するチップ１００からなる半導体装置。これは、混載型チップ認証装置となる。
【実施例６】
【００６７】
図３０、図３６、および、図４０のように、閾値分布の中抜きをする方法は次のように説明できる。たとえば、チップ認証機能のみを有するスタンドアローン型のチップ認証装置の場合、図４３のように、中抜きすると決めたセルのアドレスをバッファー９０に記録し、入力されたパスコードが順次選択するページに連なるメモリセルのアドレスを個々にバッファーに記録されたアドレスと比較し、両者が一致した場合、対応するアドレスから読み出されたデータを出力コードに含めないことによって実現するすることができる。チップ認証機能以外の機能も有する混載型のチップ認証装置の場合、図４４のように、中抜きすると決めたセルのアドレスをバッファー９０に記録し、入力されたパスコードが順次選択するページに連なるメモリセルのアドレスを個々にバッファーに記録されたアドレスと比較し、両者が一致した場合、対応するアドレスから読み出されたデータを出力コードに含めないことによって実現することが出来る。
【００６８】
この発明によれば、電子装置のネットワークを、周辺装置と、周辺装置の登録状況を管理する基幹サーバーとに分割し、基幹サーバーはソフトウェアによる中央管理とし、中央管理の手が行き届かない周辺装置には物理的チップ認証装置を搭載し、システム全体のセキュリティをソフトウェアとハードウェアでシェアすることにより、周辺装置への遠隔攻撃を効率よく未然に防ぐことが可能となる。
【００６９】
なお、本発明の技術範囲は上記実施の形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲において種々の変更を加えることが可能である。
【産業上の利用可能性】
【００７０】
中央管理の行き届かない周辺装置を無数に抱えるネットワークの装置間認証を、どのようなアルゴリズムにもよらずにチップレベルで安全に実現することが可能となる。
【符号の説明】
【００７１】
１、１０、１００、４００    チップ
２    ファームウェア
３    認証制御デバイス
４    認証コード（ＩＤ）
５、５０、５００    外部入出力装置（Ｉ／Ｏ）
６    認証システム（従来例の一例）
１１、１２、１３    認証
２１、２２、６０    本願に関わるチップ認証装置
３１    入力信号誤差
３２    出力信号誤差
４２    入力コード
４３    登録コード
６０    チップ認証装置
７１    第一の装置
７２    第二の装置
７３    第三の装置
７４    第四の装置
７５    第五の装置
８０    交信シリーズ
８３    偽交信シリーズ
９０    バッファー
９２    第二の装置の正規使用者
９３    遠隔攻撃者
１０２、４０２    入力コード
２０２、４０３    登録コード
３０２、４０１    内部メモリ
４００、１４００、２４００、３４００    基幹サーバー
４１０、４２０、４３０、４４０、４５０    周辺装置
５０１    制御ゲート
５０２    ポリ間誘電体膜
５０３    拡散層
５０４    基板
５０５    アクティブエリア
６００    チップ認証モジュール
７０１    ワード線
７０２    ビット線
７０３    ソース線
７０４    ソース選択ゲート
７０５    ドレイン選択ゲート
８００    その他のモジュール
９００    チャネルドープ工程
９０１    ウェル工程
９０２    トンネル膜工程
９０３    ポリ工程（浮遊ゲート）
９５０    スリミング工程
９５１    ＳＴＩ工程
９５２    ポリ間誘電体膜工程
９５３    ポリ工程（制御ゲート）
１４１０、２４１０    共通パスコード
４１０１、４２０１、４３０１、４１０２、４２０２、４３０２    認証
【図１】
0006429167.tif 000002
【図２】
0006429167.tif 000003
【図３】
0006429167.tif 000004
【図４】
0006429167.tif 000005
【図５】
0006429167.tif 000006
【図６】
0006429167.tif 000007
【図７】
0006429167.tif 000008
【図８】
0006429167.tif 000009
【図９】
0006429167.tif 000010
【図１０】
0006429167.tif 000011
【図１１】
0006429167.tif 000012
【図１２】
0006429167.tif 000013
【図１３】
0006429167.tif 000014
【図１４】
0006429167.tif 000015
【図１５】
0006429167.tif 000016
【図１６】
0006429167.tif 000017
【図１７】
0006429167.tif 000018
【図１８】
0006429167.tif 000019
【図１９】
0006429167.tif 000020
【図２０】
0006429167.tif 000021
【図２１】
0006429167.tif 000022
【図２２】
0006429167.tif 000023
【図２３】
0006429167.tif 000024
【図２４】
0006429167.tif 000025
【図２５】
0006429167.tif 000026
【図２６】
0006429167.tif 000027
【図２７】
0006429167.tif 000028
【図２８】
0006429167.tif 000029
【図２９】
0006429167.tif 000030
【図３０】
0006429167.tif 000031
【図３１】
0006429167.tif 000032
【図３２】
0006429167.tif 000033
【図３３】
0006429167.tif 000034
【図３４】
0006429167.tif 000035
【図３５】
0006429167.tif 000036
【図３６】
0006429167.tif 000037
【図３７】
0006429167.tif 000038
【図３８】
0006429167.tif 000039
【図３９】
0006429167.tif 000040
【図４０】
0006429167.tif 000041
【図４１】
0006429167.tif 000042
【図４２】
0006429167.tif 000043
【図４３】
0006429167.tif 000044
【図４４】
0006429167.tif 000045