(57)【特許請求の範囲】
【請求項１】
１つ以上のネットワークに接続され、前記ネットワークに接続された外部装置の間で送受信されるデータを中継する中継装置であって、
前記中継装置の正当性を確認するための正当性判定プログラムを記憶する正当性判定プログラム記憶部と、
前記正当性判定プログラムによって参照される正当性確認データを記憶する正当性データ記憶部と、
書込み及び書換えが可能な装置記憶部と、
装置制御部と、
を備え、
前記正当性データ記憶部は、前記中継装置に対して取外しが可能であり、又は、前記中継装置に内蔵された、書換え不可のセキュアな記憶領域に有し、
前記装置制御部は、
前記外部装置から前記装置記憶部に対する書込み又は書換え要求を受信したことに応じて、書込み又は書換え処理をする要求処理部と、
前記要求処理部が前記処理をしたことに応じて、要求送信元の前記外部装置を識別する装置識別情報に一致する情報が前記装置記憶部に記憶されているか否かを判定する装置判定部と、
前記正当性判定プログラムを実行し、前記正当性データ記憶部を参照して前記中継装置の正当性を確認する正当性確認部と、
前記正当性確認部による正当性の確認結果に応じた処理を行う結果処理部と、
を備え、
前記装置制御部の前記正当性確認部は、前記装置判定部により前記装置識別情報が記憶されていないと判定された場合に、前記中継装置の正当性を確認し、
前記装置制御部の前記結果処理部は、
前記確認結果が正当性を確認できたものである場合に、要求送信元の前記外部装置を識別する装置識別情報を、前記装置記憶部に記憶させる処理を行い、
前記確認結果が正当性を確認できなかったものである場合に、この中継装置を前記ネットワークから切り離す処理、又は、前記ネットワークによって接続され前記中継装置がデータを送信する少なくとも１つの前記外部装置に対してエラーを通知する処理を行うこと、
を特徴とする中継装置。
【請求項２】
請求項１に記載の中継装置において、
前記装置制御部の前記正当性確認部は、この中継装置の電源が投入されたことに応じて、前記中継装置の正当性を確認すること、
を特徴とする中継装置。
【請求項３】
請求項１又は請求項２に記載の中継装置において、
前記装置制御部は、消去条件を満たした場合に、前記装置記憶部に記憶された前記装置識別情報を消去する情報消去部を備えること、
を特徴とする中継装置。
【請求項４】
請求項３に記載の中継装置において、
前記装置制御部の前記情報消去部は、基準日時に達することで前記消去条件を満たした場合に、前記装置記憶部に記憶された前記装置識別情報を消去すること、
を特徴とする中継装置。
【請求項５】
請求項３に記載の中継装置において、
前記装置制御部の前記結果処理部は、前記確認結果が正当性を確認できたものである場合に、前記装置識別情報を、処理日時に対応付けて前記装置記憶部に記憶させ、
前記装置制御部の前記情報消去部は、前記結果処理部により前記装置識別情報を最初に前記装置記憶部に記憶させてから基準時間を経過することで前記消去条件を満たした場合に、前記装置記憶部に記憶された前記装置識別情報を消去すること、
を特徴とする中継装置。
【請求項６】
請求項３から請求項５までのいずれかに記載の中継装置において、
前記装置制御部は、前記装置判定部により前記装置識別情報が記憶されていると判定された場合に、判定した回数が分かる態様で前記装置識別情報を前記装置記憶部に記憶させる判定回数部を備え、
前記装置制御部の前記情報消去部は、前記装置記憶部に記憶されている前記装置識別情報の判定した回数が基準回数に達することで前記消去条件を満たした場合に、前記装置記憶部に記憶された前記装置識別情報を消去すること、
を特徴とする中継装置。
【請求項７】
請求項１から請求項６までのいずれかに記載の中継装置において、
前記正当性判定プログラム記憶部は、前記中継装置に対して取外しが可能であり、又は、前記中継装置に内蔵された、書換え不可のセキュアな記憶領域に有すること、
を特徴とする中継装置。
【請求項８】
請求項１から請求項７までのいずれかに記載の中継装置としてコンピュータを機能させるためのプログラム。
【請求項９】
請求項１から請求項７までのいずれかに記載の中継装置と、
前記中継装置に対して前記ネットワークによって接続された外部装置と、
を備える情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、中継装置、プログラム及び情報処理システムに関する。
【背景技術】
【０００２】
従来、コンピュータの信頼性と安全性を向上させるための標準技術を策定する業界団体であるＴＣＧ（Ｔｒｕｓｔｅｄ  Ｃｏｍｐｕｔｉｎｇ  Ｇｒｏｕｐ）が、コンピューティングプラットフォームに向けて、セキュリティチップに関するＴＰＭ（Ｔｒｕｓｔｅｄ  Ｐｌａｔｆｏｒｍ  Ｍｏｄｕｌｅ）チップの仕様を作成している（例えば、特許文献１）。
ＴＰＭチップが組み込まれたコンピュータは、起動（ブート）時に自身のハードウェアやソフトウェアが第三者によって改ざんされていないかどうかを検知することが可能であり、コンピュータ自身が信頼されたものであることを確認できる。
また、ゲートウェイの起動時にプラットフォームの完全性検証を行うものが開示されている（例えば、特許文献２）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−３１７０２６号公報
【特許文献２】特許第５６７８０９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
最近は、コンピュータ同士が通信ネットワークを介して互いに情報をやり取りするＭ２Ｍ（Ｍａｃｈｉｎｅ  ｔｏ  Ｍａｃｈｉｎｅ）技術が開発されており、ゲートウェイ等の中継装置が使用される。中継装置は、電源を入れたままで長期間利用されるが、その場合には、利用中に外部から改ざん等が行われても、検知されずに利用し続けることになり得るという問題があった。
【０００５】
そこで、本発明は、利用中のコンピュータの正当性を判定できる中継装置、プログラム及び情報処理システムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明は、以下のような解決手段により、前記課題を解決する。なお、理解を容易にするために、本発明の実施形態に対応する符号を付して説明するが、これに限定されるものではない。また、符号を付して説明した構成は、適宜改良してもよく、また、少なくとも一部を他の構成物に代替してもよい。
【０００７】
第１の発明は、１つ以上のネットワーク（Ｎ１，Ｎ２）に接続され、前記ネットワークに接続された外部装置（７，８）の間で送受信されるデータを中継する中継装置（５）であって、前記中継装置の正当性を確認するための正当性判定プログラム（４１ａ）を記憶する正当性判定プログラム記憶部（４１）と、前記正当性判定プログラムによって参照される正当性確認データ（４２ａ）を記憶する正当性データ記憶部（４２）と、書込み及び書換えが可能な装置記憶部（２０）と、装置制御部（１０）と、を備え、前記正当性データ記憶部は、前記中継装置に対して取外しが可能であり、又は、前記中継装置に内蔵された、書換え不可のセキュアな記憶領域に有し、前記装置制御部は、前記外部装置から前記装置記憶部に対する書込み又は書換え要求を受信したことに応じて、書込み又は書換え処理をする要求処理部（１１）と、前記正当性判定プログラムを実行し、前記正当性データ記憶部を参照して前記中継装置の正当性を確認する正当性確認部（１３）と、前記正当性確認部による正当性の確認結果に応じた処理を行う結果処理部（１４）と、を備え、前記装置制御部の前記正当性確認部は、前記要求処理部が前記処理をしたことに応じて、前記中継装置の正当性を確認し、前記装置制御部の前記結果処理部は、前記確認結果が正当性を確認できなかったものである場合に、この中継装置を前記ネットワークから切り離す処理、又は、前記ネットワークによって接続され前記中継装置がデータを送信する少なくとも１つの前記外部装置に対してエラーを通知する処理を行うこと、を特徴とする中継装置である。
第２の発明は、第１の発明の中継装置（１）において、前記装置制御部（１０）の前記正当性確認部（１３）は、この中継装置の電源が投入されたことに応じて、前記中継装置の正当性を確認すること、を特徴とする中継装置である。
第３の発明は、第１の発明又は第２の発明の中継装置（１）において、前記装置制御部（１０）の前記結果処理部（１４）は、前記正当性確認部（１３）による前記確認結果が正当性を確認できたものである場合に、要求送信元の前記外部装置（７，８）を識別する装置識別情報を、前記装置記憶部（２２）に記憶させ、前記装置制御部は、前記要求処理部（１１）が前記処理をしたことに応じて、要求送信元の前記外部装置を識別する装置識別情報に一致する情報が前記装置記憶部に記憶されているか否かを判定する装置判定部（１２）を備え、前記装置制御部の前記正当性確認部は、前記装置判定部により前記装置識別情報が記憶されていないと判定された場合に、前記中継装置の正当性を確認すること、を特徴とする中継装置である。
第４の発明は、第３の発明の中継装置（１）において、前記装置制御部（１０）は、消去条件を満たした場合に、前記装置記憶部（２２）に記憶された前記装置識別情報を消去する情報消去部（１５）を備えること、を特徴とする中継装置である。
第５の発明は、第４の発明の中継装置において、前記装置制御部の前記情報消去部は、基準日時に達することで前記消去条件を満たした場合に、前記装置記憶部に記憶された前記装置識別情報を消去すること、を特徴とする中継装置である。
第６の発明は、第４の発明の中継装置（１）において、前記装置制御部（１０）の前記結果処理部（１４）は、前記確認結果が正当性を確認できたものである場合に、前記装置識別情報を、処理日時に対応付けて前記装置記憶部（２２）に記憶させ、前記装置制御部の前記情報消去部（１５）は、前記結果処理部により前記装置識別情報を最初に前記装置記憶部に記憶させてから基準時間を経過することで前記消去条件を満たした場合に、前記装置記憶部に記憶された前記装置識別情報を消去すること、を特徴とする中継装置である。
第７の発明は、第４の発明から第６の発明までのいずれかの中継装置において、前記装置制御部は、前記装置判定部により前記装置識別情報が記憶されていると判定された場合に、判定した回数が分かる態様で前記装置識別情報を前記装置記憶部に記憶させる判定回数部を備え、前記装置制御部の前記情報消去部は、前記装置記憶部に記憶されている前記装置識別情報の判定した回数が基準回数に達することで前記消去条件を満たした場合に、前記装置記憶部に記憶された前記装置識別情報を消去すること、を特徴とする中継装置である。
第８の発明は、第１の発明から第７の発明までのいずれかの中継装置（１）において、前記正当性判定プログラム記憶部（４１）は、前記中継装置に対して取外しが可能であり、又は、前記中継装置に内蔵された、書換え不可のセキュアな記憶領域に有すること、を特徴とする中継装置である。
第９の発明は、第１の発明から第８の発明までのいずれかの中継装置（１）としてコンピュータを機能させるためのプログラム（２１ａ）である。
第１０の発明は、第１の発明から第８の発明までのいずれかの中継装置（１）と、前記中継装置に対して前記ネットワーク（Ｎ１，Ｎ２）によって接続された外部装置（７，８）と、を備える情報処理システム（１００）である。
【発明の効果】
【０００８】
本発明によれば、利用中のコンピュータの正当性を判定できる中継装置、プログラム及び情報処理システムを提供することができる。
【図面の簡単な説明】
【０００９】
【図１】本実施形態に係る情報処理システムの機能ブロック図である。
【図２】本実施形態に係るゲートウェイのソフトウェア構造及びＩＣチップの正当性確認データを説明するための図である。
【図３】本実施形態に係るゲートウェイの正当性確認処理のフローチャートである。
【図４】本実施形態に係るゲートウェイの正当性確認処理のフローチャートである。
【図５】本実施形態に係るゲートウェイ及びＩＣチップの検証処理のフローチャートである。
【発明を実施するための形態】
【００１０】
以下、本発明を実施するための形態について、図を参照しながら説明する。なお、これは、あくまでも一例であって、本発明の技術的範囲はこれに限られるものではない。
（実施形態）
図１は、本実施形態に係る情報処理システム１００の機能ブロック図である。
図２は、本実施形態に係るゲートウェイ１のソフトウェア構造５０及びＩＣチップ３の正当性確認データ４２ａを説明するための図である。
【００１１】
＜情報処理システム１００＞
図１に示す情報処理システム１００は、ゲートウェイ１（中継装置）と、端末７（外部装置）と、データ収集サーバ８（外部装置）とを備える。そして、情報処理システム１００は、各端末７が送信したデータを、ゲートウェイ１を介してデータ収集サーバ８に送信することで、データ収集サーバ８は、端末７のデータを収集するシステムである。
以下の説明において、ゲートウェイ１と、複数の端末７とは、温度管理が必要な各工場内に設けられ、データ収集サーバ８は、本社等に設けられるものとして説明する。また、各端末７は、工場内の各作業区画に設けられる。そして、端末７が温度データを取得してゲートウェイ１に送信し、データ収集サーバ８は、一定間隔でゲートウェイ１から送信されたデータを収集することで、工場内の温度を監視するものとして説明する。
なお、図１には、データ収集サーバ８には、１つのゲートウェイ１が接続されているが、データ収集サーバ８には、複数のゲートウェイ１が接続されていてもよい。
【００１２】
＜ゲートウェイ１＞
ゲートウェイ１は、通信ネットワークＮ１を介して端末７と接続され、通信ネットワークＮ２を介してデータ収集サーバ８と接続され、通信を中継する通信装置である。そして、ゲートウェイ１は、複数の端末７とデータ収集サーバ８との間で送受信されるデータを中継する。
通信ネットワークＮ１は、例えば、Ｗｉ−Ｆｉや、Ｂｌｕｅｔｏｏｔｈ（登録商標）等の近距離通信を行うためのローカルエリアネットワークである。また、通信ネットワークＮ２は、例えば、公衆回線や、携帯電話回線（例えば、３Ｇ（３ｒｄ  Ｇｅｎｅｒａｔｉｏｎ）やＬＴＥ（Ｌｏｎｇ  Ｔｅｒｍ  Ｅｖｏｌｕｔｉｏｎ））等のインターネット接続回線のワイドエリアネットワークである。
【００１３】
ゲートウェイ１は、ＩＣチップ３を含んで構成される。そして、ゲートウェイ１は、起動時に、ＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）チップ３に記憶されている正当性判定プログラム４１ａを実行し、ゲートウェイ１のプラットフォーム（ハードウェア、ソフトウェア等）が第三者によって不正に改ざんされていないかどうかの正当性を確認する。また、ゲートウェイ１は、電源が投入されたまま継続して利用中に、記憶部２０への書込みや書換えがあったときにも、正当性を確認する。
なお、ゲートウェイ１は、ＩＣチップ３との間で通信可能な状態で、電源を投入及び使用する。
【００１４】
ゲートウェイ１は、制御部１０（装置制御部）と、記憶部２０（装置記憶部）と、チップ接続部２５と、広域通信部２８と、近距離通信部２９とを備える。
制御部１０は、ゲートウェイ１の全体を制御するＣＰＵ（中央処理装置）である。制御部１０は、記憶部２０に記憶されているＯＳ（オペレーティングシステム）や各種アプリケーションプログラムを適宜読み出して実行することにより、上述したハードウェアと協働して各種機能を実行する。
制御部１０は、要求処理部１１と、装置判定部１２と、正当性確認要求部１３（正当性確認部）と、結果処理部１４と、情報消去部１５とを備える。
【００１５】
要求処理部１１は、端末７、データ収集サーバ８や、通信ネットワークＮ１又は通信ネットワークＮ２を介して接続されたその他の装置（図示せず）（以下、これらをまとめて「外部装置」ともいう。）から書込み要求を受信したことに応じて、記憶部２０に対して書込み処理を行う。ここで、その他の装置とは、例えば、端末７やデータ収集サーバ８になりすました第三者の装置等をいう。
装置判定部１２は、書込み要求を送信した外部装置を識別する装置ＩＤ（ＩＤｅｎｔｉｆｉｅｒ）によって、その外部装置が既に正当性を確認した装置であるか否かを判定する。
正当性確認要求部１３は、外部装置が正当性を確認した装置でない場合に、ゲートウェイ１の正当性を確認する処理を、ＩＣチップ３に対して依頼する。
結果処理部１４は、正当性の確認結果に応じた処理を行う。
情報消去部１５は、ログ領域２２に記憶されている装置ＩＤを消去する。
なお、各処理の詳細は、後述する。
【００１６】
記憶部２０は、制御部１０が各種の処理を実行するために必要なプログラム、データ等を記憶するためのハードディスク、半導体メモリ素子等の記憶領域である。
記憶部２０は、プログラム領域２１と、ログ領域２２とを備える。
プログラム領域２１は、ＯＳや、装置プログラム２１ａ等のゲートウェイ１で実行する各プログラムを記憶する記憶領域である。
装置プログラム２１ａは、上述した制御部１０の各機能を実行するプログラムである。
特徴値測定プログラム２１ｂは、プログラム領域２１に記憶された各プログラムのハッシュ値を算出するプログラムである。ハッシュ値は、例えば、ＳＨＡ−１ハッシュ値である。
【００１７】
図２（Ａ）に示すように、ゲートウェイ１のプログラム領域２１は、ソフトウェア構造５０として、ブートローダ部５１と、ＯＳ部５２と、アプリケーション部５３とを有する。ブートローダ部５１と、ＯＳ部５２と、アプリケーション部５３とは、ブートローダ部５１を下位にし、アプリケーション部５３を上位にした階層構造になっている。
ブートローダ部５１は、ブートローダを記憶し、ＯＳ部５２は、ＯＳを記憶している。また、アプリケーション部５３は、各アプリケーションプログラムを記憶している。なお、プログラムＡは、装置プログラム２１ａである。
特徴値測定プログラム２１ｂは、例えば、ブートローダ部５１と、ＯＳ部５２とに分散して記憶されている。ブートローダ部５１の特徴値測定プログラム２１ｂは、ブートローダを測定対象にする。また、ＯＳ部５２の特徴値測定プログラム２１ｂは、ＯＳと、アプリケーション部５３の各プログラムとを測定対象にする。
【００１８】
図１に戻り、ログ領域２２は、正当性確認に関する処理のログを記憶する記憶領域である。
チップ接続部２５は、ＩＣチップ３とのインタフェース部である。チップ接続部２５は、例えば、外部接続用の端子を備える。
広域通信部２８は、データ収集サーバ８との間で通信をするためのインタフェースである。
近距離通信部２９は、端末７との間で通信をするためのインタフェースである。
【００１９】
＜ＩＣチップ３＞
ＩＣチップ３は、耐タンパ性を有するセキュアなチップである。ＩＣチップ３は、１チップ構成になっている。ＩＣチップ３は、例えば、カード媒体に設けられてもよい。
ＩＣチップ３は、制御部３０と、記憶部４０と、装置接続部４５とを備える。
制御部３０は、ＩＣチップ３の全体を制御するＣＰＵである。制御部３０は、記憶部４０に記憶されているＯＳや各種アプリケーションプログラムを適宜読み出して実行することにより、上述したハードウェアと協働して各種機能を実行する。
制御部３０は、正当性確認処理部３１（正当性確認部）を備える。
【００２０】
正当性確認処理部３１は、ゲートウェイ１の正当性を確認する処理を、ゲートウェイ１から受け付けたことに応じて、記憶部４０に記憶されている正当性判定プログラム４１ａを実行して、ゲートウェイ１の正当性を確認する。
具体的には、正当性確認処理部３１は、ゲートウェイ１のプログラム領域２１に記憶されている各プログラムのハッシュ値に基づいて特徴値を得る。そして、正当性確認処理部３１は、特徴値と、ＩＣチップ３に記憶されている正当性確認データ４２ａとを比較することで、ゲートウェイ１の正当性を確認する。
ここで、ゲートウェイ１が正当ではない場合とは、ゲートウェイ１に対して違法な接続等によってゲートウェイ１のプログラムが改ざんされたり、マルウェア等の不正なプログラムが書き込まれたりする場合をいう。なお、以下、ゲートウェイ１が正当ではない場合を、ゲートウェイ１が不当であるともいう。また、ゲートウェイ１が正当な場合とは、ゲートウェイ１に対する改ざんや違法な接続等がされておらず、マルウェア等の不正なプログラムが実行されていない場合をいう。
【００２１】
記憶部４０は、制御部３０が各種の処理を実行するために必要なプログラム、データ等を記憶するための半導体メモリ素子等の記憶領域である。
記憶部４０は、プログラム領域４１と、データ領域４２とを備える。
プログラム領域４１と、データ領域４２とは、例えば、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  ａｎｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）に有する。
プログラム領域４１は、正当性判定プログラム４１ａを記憶している。
正当性判定プログラム４１ａは、ゲートウェイ１の正当性を判定するプログラムである。正当性判定プログラム４１ａは、例えば、ＴＰＭの機能を実行する。
データ領域４２は、正当性確認データ４２ａを記憶している。
正当性確認データ４２ａは、ゲートウェイ１のプログラム領域２１に記憶された各プログラムのハッシュ値と、ハッシュ値に対してデジタル署名をしたものとを、各プログラムの特徴値として予め記憶している。
図２（Ｂ）に示すように、正当性確認データ４２ａは、プログラムごと（ブートローダ、ＯＳ、プログラムＡ，Ｂ、・・・）に特徴値を有する。
【００２２】
図１に戻り、装置接続部４５は、ゲートウェイ１とのインタフェース部である。装置接続部４５は、例えば、外部接続用の端子を備える。ＩＣチップ３は、ゲートウェイ１に有するスロット部（図示せず）に差し込むことで、ゲートウェイ１との間で通信を行う。
ここで、ＩＣチップ３は、上述したように耐タンパ性を有する。ＩＣチップ３は、装置接続部４５以外の経路でデータや処理内容を操作することができない。そして、ＩＣチップ３で実行する機能は、ゲートウェイ１で動作するソフトウェアとは独立に動作する。よって、正当性判定プログラム４１ａや正当性確認データ４２ａの内容を、ゲートウェイ１で動作するプログラム等が不正に変更することはできない。
【００２３】
＜外部装置＞
端末７は、温度センサ等のセンサ部（図示せず）を備え、センサ部が定期的に検出したデータを、ゲートウェイ１に送信する。
データ収集サーバ８は、各端末７が送信したデータをゲートウェイ１から受信して、データを収集及び解析する。
【００２４】
＜正当性確認処理＞
次に、ゲートウェイ１での処理について説明する。
図３及び図４は、本実施形態に係るゲートウェイ１の正当性確認処理のフローチャートである。
図５は、本実施形態に係るゲートウェイ１及びＩＣチップ３の検証処理のフローチャートである。
図３のステップＳ（以下、「Ｓ」という。）１０において、ユーザがゲートウェイ１の電源ボタン（図示せず）を操作したことで、ゲートウェイ１の制御部１０は、ゲートウェイ１の電源をＯＮにする。
Ｓ１１において、制御部１０（正当性確認要求部１３）は、検証処理を行う。
【００２５】
ここで、検証処理について、図５に基づき説明する。
図５のＳ５０において、ゲートウェイ１の制御部１０（正当性確認要求部１３）は、ＩＣチップ３に対して正当性確認処理を依頼する。
Ｓ５１において、ＩＣチップ３の制御部３０（正当性確認処理部３１）は、ゲートウェイ１からの依頼を受けて、正当性判定プログラム４１ａを実行する。
Ｓ５２において、制御部３０（正当性確認処理部３１）は、ゲートウェイ１に対して、特徴値測定プログラム２１ｂの実行を指示する。
Ｓ５３において、ゲートウェイ１の制御部１０（正当性確認要求部１３）は、特徴値測定プログラム２１ｂを実行し、プログラム領域２１に記憶されている各プログラムのハッシュ値を算出する。具体的には、まず、制御部１０は、ブートローダ部５１の特徴値測定プログラム２１ｂを実行し、ブートローダのハッシュ値を算出する。次に、制御部１０は、ＯＳ部５２の特徴値測定プログラム２１ｂを実行し、ＯＳのハッシュ値と、アプリケーション部５３の各プログラムのハッシュ値とを算出する。
Ｓ５４において、制御部１０（正当性確認要求部１３）は、算出したハッシュ値を、ＩＣチップ３に対して送信する。
【００２６】
Ｓ５５において、ＩＣチップ３の制御部３０（正当性確認処理部３１）は、ゲートウェイ１からハッシュ値を受信する。
Ｓ５６において、制御部３０（正当性確認処理部３１）は、受信したハッシュ値からデジタル署名を生成する。
Ｓ５７において、制御部３０（正当性確認処理部３１）は、受信したハッシュ値及び生成したデジタル署名である特徴値と、データ領域４２に記憶されている正当性確認データ４２ａとを比較する。なお、制御部３０（正当性確認処理部３１）は、正当性確認データ４２ａのハッシュ値を、デジタル署名を使って検証し、そのハッシュ値が改ざんされていないか確認してもよい。
Ｓ５８において、制御部３０（正当性確認処理部３１）は、比較結果を、ゲートウェイ１に対して送信する。その後、制御部３０は、本処理を終了する。
Ｓ５９において、ゲートウェイ１の制御部１０（正当性確認要求部１３）は、比較結果を受信する。その後、制御部１０は、処理を図３に移す。
【００２７】
図３に戻り、Ｓ１２において、ゲートウェイ１の制御部１０は、比較結果が一致であるか否かを判断する。ゲートウェイ１のプログラム領域２１に改ざん等がされていない、つまり、ゲートウェイ１が正当である場合には、比較結果が一致する。他方、ゲートウェイ１のプログラム領域２１に改ざん等がされている場合には、比較結果は不一致になる。比較結果が一致である場合（Ｓ１２：ＹＥＳ）には、制御部１０は、処理をＳ１３に移す。他方、比較結果が不一致である場合（Ｓ１２：ＮＯ）には、制御部１０（結果処理部１４）は、データ収集サーバ８にエラーを通知して（Ｓ１３ａ）、電源をＯＦＦにし（Ｓ１４ａ）、本処理を終了する。
【００２８】
このように、ゲートウェイ１の電源投入時に、ゲートウェイ１の正当性を確認する検証処理を行うことで、ゲートウェイ１が改ざん等されていない正当な状態であるかを判断する。そして、不当であると判断した場合には、ゲートウェイ１は、自身の電源を切断することで、ゲートウェイ１を、通信ネットワークＮ１及びＮ２から切り離し、改ざんされたゲートウェイ１を、端末７やデータ収集サーバ８に使用させないようにできる。
【００２９】
Ｓ１３において、ゲートウェイ１の制御部１０は、タイマＴ１及びタイマＴ２を初期化して計時を開始する。ここで、タイマＴ１は、ログ領域２２をクリアするために使用するものである。また、タイマＴ２は、端末７から受信したデータを、データ収集サーバ８に対して送信するために使用するものである。
Ｓ１４において、制御部１０は、タイマＴ１が規定時間（消去条件）になったか否かを判断する。規定時間を、例えば、２４時間（基準時間）に設定することで、制御部１０は、タイマＴ１が２４時間以上になったときに、規定時間になったと判断する。タイマＴ１が規定時間になった場合（Ｓ１４：ＹＥＳ）には、制御部１０は、処理をＳ１５に移す。他方、タイマＴ１が規定時間になっていない場合（Ｓ１４：ＮＯ）には、制御部１０は、処理を図４のＳ１７に移す。
Ｓ１５において、制御部１０（情報消去部１５）は、ログ領域２２をクリアする。
Ｓ１６において、制御部１０は、タイマＴ１を初期化して、計時を開始する。
【００３０】
図４のＳ１７において、制御部１０（要求処理部１１）は、外部装置からデータを受信したか否かを判断する。ここで、外部装置は、端末７や、データ収集サーバ８に限らない。また、データは、端末７から受信した温度データに限らない。例えば、データ収集サーバ８が送信したプログラムの機能を変更するための更新プログラムや、送信時間（後述する）の設定値の変更データ等を含む。データを受信した場合（Ｓ１７：ＹＥＳ）には、制御部１０は、処理をＳ１８に移す。他方、データを受信していない場合（Ｓ１７：ＮＯ）には、制御部１０は、処理をＳ３０に移す。
Ｓ１８において、制御部１０は、データを受信した外部装置の装置ＩＤを取得する。装置ＩＤは、例えば、外部装置のＩＰアドレス（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ  Ａｄｄｒｅｓｓ）やＭＡＣアドレス（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ  ａｄｄｒｅｓｓ）等であり、外部装置を特定可能な識別情報である。
【００３１】
Ｓ１９において、制御部１０（要求処理部１１）は、受信したデータを、記憶部２０に書き込む書込み処理を行う。その際、制御部１０は、データを暗号化してもよい。
なお、データの書込みには、更新プログラムを含むと説明した。更新プログラムの場合、正当な者からの更新プログラムの送信であれば、更新プログラムと共に特徴値が送信される。その場合には、制御部１０は、記憶部２０に対して更新プログラムを書き込み、ＩＣチップ３に特徴値の書込みを指示することで、ＩＣチップ３の制御部３０は、データ領域４２の正当性確認データ４２ａに特徴値を書き込む。他方、不当な者からの更新プログラムの送信であれば、更新プログラムのみが送信される。その場合には、制御部１０は、記憶部２０に対して更新プログラムを書き込む処理のみを行う。
【００３２】
Ｓ２０において、制御部１０（装置判定部１２）は、Ｓ１８において取得した装置ＩＤがログ領域２２に記憶されているか否かを判断する。取得した装置ＩＤがログ領域２２に記憶されている場合（Ｓ２０：ＹＥＳ）には、制御部１０は、処理をＳ２３に移す。他方、取得した装置ＩＤがログ領域に記憶されていない場合（Ｓ２０：ＮＯ）には、制御部１０は、処理をＳ２１に移す。
Ｓ２１において、制御部１０（正当性確認要求部１３）は、図５に示す検証処理を行う。ここでの検証処理は、ゲートウェイ１の電源ＯＮ時に行ったものと同じである。
Ｓ２２において、制御部１０は、比較結果が一致であるか否かを判断する。比較結果が一致である場合（Ｓ２２：ＹＥＳ）には、制御部１０は、処理をＳ２３に移す。他方、比較結果が不一致である場合（Ｓ２２：ＮＯ）には、制御部１０（結果処理部１４）は、データ収集サーバ８に対してゲートウェイ１に不正なアタックがあった旨のエラーを通知し（Ｓ２３ａ）、処理をＳ２６に移す。
【００３３】
Ｓ２３において、制御部１０（結果処理部１４）は、Ｓ１８で取得した装置ＩＤを、現在日時に対応付けてログ領域２２に記憶させる。なお、制御部１０は、検証処理を行わなかった場合には、その旨を、ログ領域２２に記憶させてもよい。具体的には、制御部１０は、Ｓ１８で取得した装置ＩＤと、現在日時と、検証処理を省略した旨とを対応付けてログ領域２２に記憶させる。その後、制御部１０は、処理をＳ２５に移す。
【００３４】
このように、制御部１０は、データの書込み処理の後に、ゲートウェイ１が正当であるか否かを確認する。よって、長時間電源が投入されたままであっても、ゲートウェイ１の正当性を確認できる。そして、データの書込みにより、プログラムが不正に改ざん等された場合であっても、その場合には、特徴値による比較結果が不一致になるので、改ざんを検出できる。
また、既に外部装置が正当性を確認できたものである場合には、次にその外部装置からデータを受信して書込みした後には、検証処理を省略する。よって、データの書込みがあった都度、常に検証処理を行わずに済む。
【００３５】
Ｓ２５において、ゲートウェイ１のユーザが電源ボタン（図示せず）を操作したことで、制御部１０は、電源ＯＦＦを受け付けたか否かを判断する。電源ＯＦＦを受け付けた場合（Ｓ２５：ＹＥＳ）には、制御部１０は、処理をＳ２６に移す。他方、電源ＯＦＦを受け付けていない場合（Ｓ２５：ＮＯ）には、制御部１０は、処理を図３のＳ１４に移す。
Ｓ２６において、制御部１０は、電源をＯＦＦにして本処理を終了する。
【００３６】
他方、Ｓ３０において、制御部１０は、タイマＴ２が送信時間になったか否かを判断する。ゲートウェイ１では、例えば、３０分等の送信タイミングになった場合に、端末７から受信し記憶部２０に記憶されたデータを、データ収集サーバ８にまとめて送信する。タイマＴ２が送信時間になった場合（Ｓ３０：ＹＥＳ）には、制御部１０は、処理をＳ３１に移す。他方、タイマＴ２が送信時間になっていない場合（Ｓ３０：ＮＯ）には、制御部１０は、処理をＳ２５に移す。
Ｓ３１において、制御部１０は、記憶部２０に記憶された書込みデータを、データ収集サーバ８に対して送信する。また、制御部１０は、送信済のデータを記憶部２０から削除する。
Ｓ３２において、制御部１０は、タイマＴ２を初期化して、計時を開始する。その後、制御部１０は、処理をＳ２５に移す。
【００３７】
このように、本実施形態によれば、ゲートウェイ１は、以下のような効果がある。
（１）データが書き込まれる度に、ゲートウェイ１に対して不正な改ざん等がされたか否かを検証できる。そして、不正な改ざん等が行われた場合には、例えば、ゲートウェイ１の電源を切断するので、ゲートウェイ１を通信ネットワークＮ１及びＮ２から切り離すことができ、ゲートウェイ１の使用を制限できる。
（２）ゲートウェイ１の起動時にも検証処理を行うことで正当性を確認できる。よって、ゲートウェイ１の電源が切断されている間に不正な行為等がされ改ざんがされた場合であっても、それを検出できる。
【００３８】
（３）書込みデータの送信元の外部装置は、記憶部２０に書込み後にゲートウェイ１の正当性が確認できた場合には、その後に同じ外部装置から書込みデータを受信したときに、正当性確認を行わない。よって、信頼性のある外部装置からのデータの書込み要求に対しては、検証処理を省略することで、処理を簡単にできる。
（４）検証処理の省略は、信頼された外部装置からであれば常に行うわけではなく、所定の場合には、再度検証処理を実行することで、正当性の確認を行う。そのため、常に正当性確認を省略することへの弊害を是正できる。
所定の場合として、例えば、最初に正当性を確認してから２４時間を経過した場合等、時間の経過に応じて正当性の確認を行わせるようにできる。
【００３９】
（５）ゲートウェイ１を通信ネットワークＮ２から切り離す前に、データ収集サーバ８にエラーを通知することで、データ収集サーバ８では、データ送信元のゲートウェイ１が不正になっていることを判別できる。
（６）正当性判定プログラム４１ａを、ＩＣチップ３のセキュアな記憶領域に有するようにすることで、正当性判定プログラム４１ａの改ざんを防止できる。よって、正当性判定プログラム４１ａの信頼性を、高いものにできる。
【００４０】
以上、本発明の実施形態について説明したが、本発明は上述した実施形態に限定されるものではない。また、実施形態に記載した効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、実施形態に記載したものに限定されない。なお、上述した実施形態及び後述する変形形態は、適宜組み合わせて用いることもできるが、詳細な説明は省略する。
【００４１】
（変形形態）
（１）本実施形態では、専用装置としてのゲートウェイ１を説明した。しかし、ゲートウェイ１は、例えば、パーソナルコンピュータ（ＰＣ）、Ｗｉ−Ｆｉルータ、携帯電話機、情報家電、自動車、組込システム等の様々な機器であってもよい。ゲートウェイ１は、Ｍ２Ｍ（Ｍａｃｈｉｎｅ  ｔｏ  Ｍａｃｈｉｎｅ）のような、機器と機器とが通信ネットワークを介して互いに情報を通信することにより、自律的に高度な制御や動作を行うシステムへの適用に有用である。
（２）本実施形態では、ＩＣチップ３をゲートウェイ１に対して接続部を介して接続するものとして説明した。しかし、ＩＣチップは、ゲートウェイに対して取外しが可能であるか否かに限定されるものではない。よって、ＩＣチップは、ゲートウェイに内蔵された組み込みのものでもよい。例えば、ＩＣチップを、マザーボードに装着させてもよい。そのようにすることで、ＩＣチップを取り替えることができないので、ゲートウェイの正当性をより確実に確認できる。
（３）本実施形態では、工場内での温度管理のためのシステムとして説明したが、これに限定されない。例えば、ＩＯＴ（Ｉｎｔｅｒｎｅｔ  ｏｆ  Ｔｈｉｎｇｓ）を用いたシステム等、様々な用途に活用できる。
【００４２】
（４）本実施形態では、ＩＣチップ３に正当性判定プログラム４１ａを有するものとして説明した。しかし、ゲートウェイに正当性判定プログラムを有してもよい。そのようにすることで、ＩＣチップに有する検証機能を、ゲートウェイに持たせることができる。
（５）本実施形態では、ゲートウェイ１は書込み要求を受信して書き込む処理を行うものとして説明したが、これに限定されない。ゲートウェイの記憶部に対して記憶させる処理であればよく、例えば、書き換え処理を含んでもよい。
【００４３】
（６）本実施形態では、検証に使用する特徴値を、ハッシュ値と、ハッシュ値に対するデジタル署名とであるして説明したが、これに限定されない。例えば、ハッシュ値そのものであってもよい。但し、デジタル署名を含む方が、さらにセキュリティが向上する。
（７）本実施形態では、各プログラムのハッシュ値に基づいてゲートウェイの正当性を確認するものとして説明したが、これに限定されない。各プログラムに加えて、例えば、広域通信部や近距離通信部等のハードウェアのハッシュ値に基づいてゲートウェイの正当性を確認してもよい。
【００４４】
（８）本実施形態では、ゲートウェイ１の特徴値測定プログラム２１ｂは、ブートローダ部５１とＯＳ部５２とに分散されて記憶するものとして説明した。そして、ＯＳ部５２の特徴値測定プログラム２１ｂがアプリケーション部５３の各プログラムのハッシュ値をも算出するものとして説明した。しかし、アプリケーション部の各プログラムにも、特徴値測定プログラムを有するようにしてもよい。また、特徴値測定プログラムは、１つのみとし、例えば、ＯＳ部にのみ有するようにしてもよい。
（９）本実施形態では、ゲートウェイ１の特徴値測定プログラム２１ｂは、ハッシュ値を算出し、ＩＣチップ３にハッシュ値を送信するものとして説明した。しかし、ハッシュ値を算出するプログラムと、算出したハッシュ値を送信するプログラムとは、別のプログラムであってもよい。また、正当性確認プログラムに特徴値測定プログラムの機能を有するようにしてもよい。
【００４５】
（１０）本実施形態では、ログ領域２２の消去条件を、最初に検証処理を行ってから２４時間が経過した後として説明した。しかし、これに限定されない。例えば、基準日時に達した場合（○時△分等）であってもよい。また、ゲートウェイに判定回数部を備え、検証処理を省略した回数（例えば、５回等）に応じてログ領域を消去してもよい。さらに、ログ領域の消去条件を、時間と回数とを組み合わせたものにしてもよい。
【符号の説明】
【００４６】
１    ゲートウェイ
３    ＩＣチップ
７    端末
８    データ収集サーバ
１０，３０  制御部
１１  要求処理部
１２  装置判定部
１３  正当性確認要求部
１４  結果処理部
１５  情報消去部
２０，４０  記憶部
２１，４１  プログラム領域
２１ａ  装置プログラム
２１ｂ  特徴値測定プログラム
２２  ログ領域
３１  正当性確認処理部
４１ａ  正当性判定プログラム
４２ａ  正当性確認データ
１００  情報処理システム
Ｎ１，Ｎ２  通信ネットワーク
【図１】
0006610060.tif 000002
【図２】
0006610060.tif 000003
【図３】
0006610060.tif 000004
【図４】
0006610060.tif 000005
【図５】
0006610060.tif 000006