(57)【要約】   【課題】  鍵を利用することなく、データの改ざん等の検証を可能にする。  【解決手段】  データ通信網を利用して移動可能なエージェントを有する情報処理装置１２は、データまたはエージェント自体のハッシュ値を算出し、自身の記憶部に算出されたハッシュ値を格納するハッシュ値算出・保持部２２と、ハッシュ値の参照を管理装置に求めるハッシュ値参照部２４と、エージェントを移動させるエージェント移動Ｉ／Ｆ２６とを有し、情報処理装置１２と接続された管理装置１４は、データ通信網を介して移動したエージェントに基づいて、データまたはエージェント自体のハッシュ値を算出し、算出されたハッシュ値を、外部からの不正書き込みが禁止されたセキュアな記憶領域３９に記憶するハッシュ値算出・登録部３２と、情報処理装置からのハッシュ値の参照の求めに応じて、セキュアな記憶領域に記憶されたハッシュ値を、情報処理装置に返送する返送手段とを有する。【選択図】  図１
2005149259.tif 000002
【特許請求の範囲】
【請求項１】
データ通信網で相互に接続され、プログラムおよびデータにて構成されるエージェントであって、データ通信網を利用して移動可能なエージェントを有する情報処理装置と、前記データ通信網で前記情報処理装置と接続された管理装置とを備えた情報監視システムであって、
前記情報処理装置が、
データ、または、データおよびコードを含むエージェント自体のハッシュ値を算出し、前記情報処理装置内の記憶部に算出されたハッシュ値を格納するハッシュ値算出・格納手段と、
ハッシュ値の参照を前記管理装置に求めるハッシュ値参照手段と、
前記エージェントを移動させるエージェント移動手段とを有し、
前記管理装置が、
前記データ通信網を介して移動したエージェントに基づいて、前記データ、または、エージェント自体のハッシュ値を算出するハッシュ値算出手段と、
前記ハッシュ値算出手段により算出されたハッシュ値を、記憶部中、外部からの不正書き込みが禁止されたセキュアな記憶領域に記憶するデータ格納手段と、
前記情報処理装置からのハッシュ値の参照の求めに応じて、前記セキュアな記憶領域に記憶されたハッシュ値を、前記情報処理装置に返送する返送手段とを有することを特徴とする情報監視システム。
【請求項２】
データ通信網で相互に接続され、プログラムおよびデータにて構成されるエージェントであって、データ通信網を利用して移動可能なエージェントを有する情報処理装置と、前記データ通信網で前記情報処理装置と接続された管理装置とを備えた情報監視システムであって、
前記情報処理装置が、
データ、または、データおよびコードを含むエージェント自体のハッシュ値を算出し、前記情報処理装置内の記憶部に算出されたハッシュ値を格納するハッシュ値算出・格納手段と、
前記エージェントを移動させるエージェント移動手段とを有し、
前記管理装置が、
前記データ通信網を介して移動したエージェントから、ハッシュ値を取得し、記憶部中、外部からの不正書き込みが禁止されたセキュアな記憶領域に記憶するデータ取得・登録手段と、
移動したエージェントに基づいて、前記データ、または、エージェント自体のハッシュ値を算出するハッシュ値算出手段と、
前記セキュアな記憶領域に記憶されたハッシュ値と前記ハッシュ値算出手段により算出されたハッシュ値を比較する比較手段とを有することを特徴とする情報監視システム。
【請求項３】
前記情報処理装置が、算出されたハッシュ値を、前記エージェントに格納する格納処理手段を有し、
前記管理装置のデータ取得・登録手段が、前記エージェント中に格納されたハッシュ値を取り出すことを特徴とする請求項２に記載の情報監視システム。
【請求項４】
前記情報処理装置が、
情報処理装置にて発生された乱数を用いて、前記データまたはエージェント自体を暗号化する暗号化手段と、
前記暗号化に用いた乱数を前記エージェント中に格納する乱数格納手段とを有し、
前記管理装置が、前記エージェントに格納された乱数を用いて、前記データ或いはエージェント自体を復号化するデータ復号手段を有することを特徴とする請求項１ないし３の何れか一項に記載の情報監視システム。
【請求項５】
前記情報処理装置が、暗号鍵を生成する暗号鍵生成手段と、
生成された暗号鍵を用いて、前記データまたはエージェント自体を暗号化する暗号化手段を有し、
前記管理装置が、前記情報処理装置に対して、暗号鍵を生成するための非公開情報を配布する非公開情報配布手段と、
前記非公開情報に基づいて暗号鍵を生成する暗号鍵生成手段と、
生成された暗号鍵を用いて、前記データまたはエージェント自体を復号化するデータ復号手段とを有することを特徴とする請求項１ないし３の何れか一項に記載の情報監視システム。
【請求項６】
請求項１ないし５の何れか一項に記載の情報監視システムにおいて、データ通信網を介して移動可能なエージェントを格納することができる情報処理装置。
【請求項７】
請求項１ないし５の何れか一項に記載の情報監視システムにおいて、データ通信網を介して移動可能なエージェントを受信することができる管理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ通信網で接続された複数の情報処理装置におけるプログラムやデータの安全性を向上させるシステムに関する。
【背景技術】
【０００２】
データ通信網で接続された２つの情報処理装置の間で、共有の秘密鍵を保有し、共有秘密鍵を用いた相互認証方式（ＭＡＣ認証方式）や、公開鍵を用いた認証方式が知られている。上記従来の手法では、各情報処理装置の秘密情報（たとえば、共有秘密鍵や、公開鍵方式におけるプライベート鍵）が外部に漏れないことが前提となる。
【０００３】
これに対して、鍵を利用せずにデータの改ざんの有無を検証する方式が提案されている（たとえば、特許文献１）。ここでは、サーバにデータが予め安全に登録された後、サーバ内の監視装置がデータのハッシュ値を算出、登録して非公開で管理し、一定の時間間隔或いはデータへのアクセス検出時に、データのハッシュ値を再算出し、登録されたハッシュ値との一致を調べることで改ざんの有無を検証している。
【特許文献１】特開２００３−１７３３２３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
たとえば、特許文献１に開示された方式は、エージェントのコード部のみを用いてエージェントを認証するようになっている。このため、情報処理装置自体が、鍵などの秘密情報を保持する必要はないが、エージェントのデータ部の改ざんに対応することができないという問題点があった。
【０００５】
また、一時的に多数のユーザが参集して、当該ユーザが情報処理装置を利用して、データ通信網を介してデータ等を通信する場合がある。たとえば、当該多数のユーザが会議を参集する場合や、不特定多数のユーザがオークションに参加する場合を考える。このような場合には、安全に管理する必要があるユーザ共有情報や入札情報がリアルタイムで発生する。これら情報をユーザ共有の秘密鍵を利用して暗号化する場合には、鍵の安全な配布と保持が必要である、しかしながら、ユーザの情報処理装置間で直接無線通信をするアドホックネットワーク環境ではデータ盗聴の危険が大きいので、鍵などの非公開情報の配信や安全な保管は容易ではない。
【０００６】
本発明は、鍵を利用することなく、データの改ざん等の検証が可能な情報監視システム、情報処理装置および管理装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の目的は、データ通信網で相互に接続され、プログラムおよびデータにて構成されるエージェントであって、データ通信網を利用して移動可能なエージェントを有する情報処理装置と、前記データ通信網で前記情報処理装置と接続された管理装置とを備えた情報監視システムであって、前記情報処理装置が、データ、または、データおよびコードを含むエージェント自体のハッシュ値を算出し、前記情報処理装置内の記憶部に算出されたハッシュ値を格納するハッシュ値算出・格納手段と、ハッシュ値の参照を前記管理装置に求めるハッシュ値参照手段と、前記エージェントを移動させるエージェント移動手段とを有し、前記管理装置が、前記データ通信網を介して移動したエージェントに基づいて、前記データ、または、エージェント自体のハッシュ値を算出するハッシュ値算出手段と、前記ハッシュ値算出手段により算出されたハッシュ値を、記憶部中、外部からの不正書き込みが禁止されたセキュアな記憶領域に記憶するデータ格納手段と、前記情報処理装置からのハッシュ値の参照の求めに応じて、前記セキュアな記憶領域に記憶されたハッシュ値を、前記情報処理装置に返送する返送手段とを有することを特徴とする情報監視システムにより達成される。
【０００８】
また、本発明の目的は、データ通信網で相互に接続され、プログラムおよびデータにて構成されるエージェントであって、データ通信網を利用して移動可能なエージェントを有する情報処理装置と、前記データ通信網で前記情報処理装置と接続された管理装置とを備えた情報監視システムであって、前記情報処理装置が、データ、または、データおよびコードを含むエージェント自体のハッシュ値を算出し、前記情報処理装置内の記憶部に算出されたハッシュ値を格納するハッシュ値算出・格納手段と、前記エージェントを移動させるエージェント移動手段とを有し、前記管理装置が、前記データ通信網を介して移動したエージェントから、ハッシュ値を取得し、記憶部中、外部からの不正書き込みが禁止されたセキュアな記憶領域に記憶するデータ取得・登録手段と、移動したエージェントに基づいて、前記データ、または、エージェント自体のハッシュ値を算出するハッシュ値算出手段と、前記セキュアな記憶領域に記憶されたハッシュ値と前記ハッシュ値算出手段により算出されたハッシュ値を比較する比較手段とを有することを特徴とする情報監視システムによっても達成される。
【０００９】
別の好ましい実施態様においては、前記情報処理装置が、算出されたハッシュ値を、前記エージェントに格納する格納処理手段を有し、前記管理装置のデータ取得・登録手段が、前記エージェント中に格納されたハッシュ値を取り出す。
【００１０】
さらに、別の好ましい実施態様においては、前記情報処理装置が、情報処理装置にて発生された乱数を用いて、前記データまたはエージェント自体を暗号化する暗号化手段と、前記暗号化に用いた乱数を前記エージェント中に格納する乱数格納手段とを有し、前記管理装置が、前記エージェントに格納された乱数を用いて、前記データ或いはエージェント自体を復号化するデータ復号手段を有する。
【００１１】
或いは、前記情報処理装置が、暗号鍵を生成する暗号鍵生成手段と、生成された暗号鍵を用いて、前記データまたはエージェント自体を暗号化する暗号化手段を有し、前記管理装置が、前記情報処理装置に対して、暗号鍵を生成するための非公開情報を配布する非公開情報配布手段と、前記非公開情報に基づいて暗号鍵を生成する暗号鍵生成手段と、生成された暗号鍵を用いて、前記データまたはエージェント自体を復号化するデータ復号手段とを有していても良い。
【００１２】
また、本発明の目的は、上記情報監視システムにおいて、データ通信網を介して移動可能なエージェントを格納することができる情報処理装置、および／または、データ通信網を介して移動可能なエージェントを受信することができる管理装置によっても達成される。
【発明の効果】
【００１３】
本発明によれば、鍵を利用することなく、データの改ざん等の検証が可能な情報監視システム、情報処理装置および管理装置を提供することが可能となる。
【発明を実施するための最良の形態】
【００１４】
以下、添付図面を参照して、本発明の実施の形態について説明する。図１は、本発明の第１の実施の形態にかかる情報監視システムを構成する情報処理装置および管理装置の構成を示すブロックダイヤグラムである。情報処理装置１２および管理装置１４は、データ通信網を介して相互にデータ通信が可能である。また、情報処理装置１２および管理装置１４として、必要なソフトウェアをインストールすることにより、パーソナルコンピュータを利用することができる。また、情報処理装置１２および管理装置１４は、コード部およびデータ部からなるエージェントを収容することができる。エージェントは、情報処理装置や管理装置の指示により、或いは、自律的に他の情報処理装置や管理装置に移動することができる。さらに、図１においては、単一の情報処理装置１２を図示しているが、情報処理装置は複数あっても良いことはいうまでもない。
【００１５】
図１に示すように、情報処理装置１２は、ハッシュ値を算出して保持するハッシュ値算出・保持部２２と、管理装置１４のハッシュ値を参照するために必要な処理を実行するハッシュ値参照部２４と、情報処理装置１２中のエージェントの移動に際して必要な処理を実行するエージェント移動インタフェース（Ｉ／Ｆ）２６とを有している。
【００１６】
また、管理装置１４は、ハッシュ値を算出して登録するハッシュ値算出・登録部３２と、情報処理装置１２によるハッシュ値の参照を許可するハッシュ値参照許可部３４と、エージェントの移動に際して必要な処理を実行するエージェント移動Ｉ／Ｆ３６と、ハッシュ値を記憶するため記憶領域を備えた記憶部３８とを備えている。記憶部３８の記憶領域３９は、外部からの不正な書き込みが禁止され、ここのハッシュ値を記憶しておくことにより、ハッシュ値を安全に保管することが可能である。
を備えている。
【００１７】
図２は、第１の実施の形態にかかる情報処理装置１２および管理装置１４で実行される処理を示すフローチャートである。情報処理装置１２のハッシュ値算出・保持部２２は、まず、情報処理装置１２内のエージェントのデータ、或いは、当該エージェント自体（つまりエージェントのコード部およびデータ）のハッシュ値を算出する（ステップ２０１）。次いで、ハッシュ値算出・保持部２２は、装置内の記憶部（図示せず）に、算出したハッシュ値を記憶する（ステップ２０２）。その後、エージェントは、情報処理装置１２の指示により、或いは、自律的に、エージェント移動Ｉ／Ｆ２６から通信網を介して管理装置１４に移動する（ステップ２０３）。
【００１８】
管理装置１４のエージェント移動Ｉ／Ｆ３６が、エージェントを受信すると、ハッシュ値算出・登録部３２が、当該エージェントに基づいて、そのデータ或いはエージェント自体のハッシュ値を算出する（ステップ２０４）。次いで、ハッシュ値算出・登録部３２は、管理装置１４の記憶部３８中のセキュアな記憶領域３９に、算出したハッシュ値を記憶する（ステップ２０５）。次いで、管理装置１４から情報処理装置１２に対して登録完了通知が伝達される（ステップ２０６）。
【００１９】
たとえば、情報処理装置１２において、ハッシュ値の参照を必要とした場合、ハッシュ値参照部２４が、通信網を介して、管理装置１４に対してハッシュ値参照依頼を送信する（ステップ２０７）。参照依頼は、管理装置１４のハッシュ値参照許可部３４に受理され、ハッシュ値参照許可部３４が、参照依頼が正当なものであるかを判断する（ステップ２０８）。たとえば、情報処理装置１２のユーザ認証により、参照依頼の正当性を判断しても良いし、他の手法を利用しても良い。
【００２０】
ハッシュ値参照許可部３４がハッシュ値の参照を許可した場合には、ハッシュ値算出・登録部３２が必要なハッシュ値を、記憶部３９の記憶領域３９から取得し、これを、通信網を介して、情報処理装置１２に送信する（ステップ２０９）。情報処理装置１２は、受理したハッシュ値と、情報処理装置１２内の記憶部に記憶されたハッシュ値とを比較して、エージェントのデータ或いはエージェント自体の改ざんの有無を判定する（ステップ２１０）。
【００２１】
次に、本発明の第２の実施の形態について説明する。図３は、第２の実施の形態にかかる情報処理装置および管理装置の構成を示すブロックダイヤグラムである。図３において、図１に示す構成部分と同一のものには同一の符号を付している。図３に示すように、情報処理装置１２は、ハッシュ値算出・保持部２２、ハッシュ値参照部２４、エージェント移動Ｉ／Ｆ２６、および、ハッシュ値格納処理部２８を備える。ハッシュ値格納処理部２８は、移動するエージェントのデータ部に算出されたハッシュを格納する。また，管理装置１４は、ハッシュ値比較判定通知部８０、エージェント移動Ｉ／Ｆ３６、セキュアな記憶領域３９を有する記憶部３８、ハッシュ値取り出し・登録部４０およびハッシュ値算出・登録部３２を備える。
【００２２】
次に、図４を参照して、第２の実施の形態にかかる情報処理装置１２および管理装置１４において実行される処理について説明する。情報処理装置２２のハッシュ値算出・保持部２２は、まず、情報処理装置１２内のエージェントのデータ、或いは、当該エージェント自体（つまりエージェントのコード部およびデータ）のハッシュ値を算出する（ステップ４０１）。次いで、ハッシュ値算出・保持部２２は、装置内の記憶部（図示せず）に、算出したハッシュ値を記憶する（ステップ４０２）。次いで、ハッシュ値格納処理部２８が、算出されたハッシュ値を、エージェントのデータ部に格納する（ステップ４０３）。その後、エージェントは、情報処理装置１２の指示により、或いは、自律的に、エージェント移動Ｉ／Ｆ２６から通信網を介して管理装置１４に移動する（ステップ４０４）。
【００２３】
管理装置１４のエージェント移動Ｉ/Ｆ３６が、エージェントを受信すると、ハッシュ値取り出し・登録部４０が、当該エージェント中のハッシュ値を取り出し（ステップ４０５）、管理装置１４の記憶部３８中のセキュアな記憶領域３９に、取り出したハッシュ値を記憶する（ステップ４０５）。さらに、ハッシュ値算出・登録部３２が、当該エージェントのハッシュ値を算出し（ステップ４０６）、算出されたハッシュも、別途、管理装置１４の記憶部３８中のセキュアな記憶領域３９にハッシュ値を記憶する（ステップ４０６）。次いで、ハッシュ値比較判定通知部８０は、セキュアな記憶領域３９に登録された２つのハッシュ値を比較し、差異を判定し、判定結果を情報処理装置に通知する（ステップ４０７、４０８）。判定結果を受信した情報処理装置は、改ざんの有無を確認することができる（ステップ４０９）。たとえば、改ざんありの判定結果であれば、当該情報処理装置は、以後の処理を中断するなどの処置をとる。
【００２４】
次に、本発明の第３の実施の形態について説明する。第３の実施の形態は、第１の実施の形態と同様に、管理装置においてハッシュ値が算出されるが、暗号化されたデータ等のハッシュ値が算出されるようになっている。
【００２５】
図５は、第３の実施の形態にかかる情報処理装置および管理装置の構成を示すブロックダイヤグラムである。図５においても、図１に示す構成部分と同一のものには同一の符号を付している。図５に示すように、情報処理装置１２は、ハッシュ値算出・保持部２２、ハッシュ値参照部２４およびエージェント移動Ｉ／Ｆ２６のほか、乱数発生部５０、データ暗号部５２および乱数暗号部５４を備えている。また、管理装置１４は、ハッシュ値算出・登録部３２、ハッシュ値参照許可部３４、エージェント移動Ｉ／Ｆ３６および記憶部３８のほか、暗号乱数復号部６２、暗号データ復号部６４とを備えている。
【００２６】
図６を参照して、第３の実施の形態にかかる情報処理装置１２および管理装置１４で実行される処理について説明する。まず、情報処理装置１２の乱数発生部５０が乱数を発生し（ステップ６０１）、データ暗号部５２が、発生した乱数を暗号として、エージェントのデータを暗号化する（ステップ６０２）。次いで、ハッシュ値算出・保持部２２が、暗号化されたデータ（データ部５６）、或いは、暗号化されたデータで構成されるエージェントのハッシュ値を算出する（ステップ６０３）。乱数暗号部５４は、乱数発生部５０が発生した乱数を、管理装置１４の公開鍵で暗号化し、エージェントのデータ部に格納し（ステップ６０４）、また、ハッシュ値算出・保持部２２は、算出したハッシュ値を記憶する（ステップ６０５）。その後、エージェントは、情報処理装置１２の指示により、或いは、自律的に、エージェント移動Ｉ／Ｆ２６から通信網を介して管理装置１４に移動する（ステップ６０６）。
【００２７】
管理装置１４のエージェント移動Ｉ／Ｆ３６が、エージェントを受信すると、暗号乱数復号部６２は、エージェント中の暗号化された乱数を、管理装置１４の秘密鍵を用いて復号化し（ステップ６０７）、次いで、ハッシュ値算出・登録部３２は、データ或いはエージェントのハッシュ値を算出し（ステップ６０８）、これを記憶部３８中のセキュアな記憶領域３９に記憶する（ステップ６０９）。次いで、暗号データ復号部６４は、復号された乱数を用いてエージェント中のデータを復号化する（ステップ６１０）。その後、管理装置１４から情報処理装置１２に対して登録完了通知が伝達される（ステップ６１１）。情報処理装置１２においてハッシュ値の参照が必要になったときには、第１の実施の形態にかかる処理ステップ（図２のステップ２０７〜ステップ２１０）が実行されれば良い。
【００２８】
次に、本発明の第４の実施の形態について説明する。第４の実施の形態では、第２の実施の形態のように管理装置において、ハッシュ値取出しとハッシュ値算出を行うとともに、第３の実施の形態のように乱数が利用される。図７は、第４の実施の形態にかかる情報処理装置および管理装置の構成を示すブロックダイヤグラムである。図７においても、図１などに示す構成部分と同一のものには同一の符号を付してある。図７に示すように、情報処理装置１２は、ハッシュ値算出・保持部２２、ハッシュ値判定結果受信部８５およびエージェント移動Ｉ／Ｆ２６のほか、乱数発生部５０、データ暗号部５２、乱数暗号部５４およびハッシュ値・乱数格納処理部５８を備えている。また、管理装置１４は、ハッシュ値比較判定通知部８０、エージェント移動Ｉ／Ｆ３６および記憶部３８のほか、暗号乱数復号部６２、暗号データ復号部６４、およびハッシュ値取り出し・登録部６６、ハッシュ値算出・登録部６７を備えている。
【００２９】
図８を参照して、第４の実施の形態にかかる情報処理装置１２および管理装置１４で実行される処理について説明する。情報処理装置１２の乱数発生部５０が乱数を発生し（ステップ８０１）、データ暗号部５２が、発生させた乱数を暗号鍵として、エージェントのデータを暗号化する（ステップ８０２）。次いで、ハッシュ値算出・保持部２２が、暗号化されたデータ（データ部５６）、あるいは、暗号化されたデータで構成されるエージェントのハッシュ値を算出する（ステッ８０３）。ハッシュ値・乱数格納処理部５８は、算出されたハッシュ値をエージェントのデータ部（符号５６参照）中に格納する（ステップ８０４）。また、乱数暗号部５４は、乱数発生部５０が発生した乱数を、管理装置１４の公開鍵で暗号化し、これをハッシュ値・乱数格納処理部５８がエージェントのデータ部に格納する（ステップ８０５）。さらに、ハッシュ値算出格納部２２は、算出したハッシュ値を自身の記憶部に記憶する（ステップ８０６）。その後、エージェントは、情報処理装置１２の指示により、あるいは自律的にエージェント移動Ｉ／Ｆ２６から通信網を介して管理装置１４に移動する（ステップ８０７）。
【００３０】
管理装置１４のエージェント移動Ｉ／Ｆ３６が、エージェントを受信すると、暗号乱数復号部６２は、エージェント中の暗号化された乱数を、管理装置１４の秘密鍵を用いて復号化し（ステップ８０８）、次いで、ハッシュ値取り出し・登録部６６は、データあるいはエージェントのハッシュ値を取り出し、記憶部３８中のセキュアな記憶領域３９に記憶する（ステップ８０９）。さらに、ハッシュ値算出・登録部６７は、データあるいはエージェントのハッシュ値を算出し、算出されたハッシュ値も、記憶部３８中のセキュアな記憶領域３９に記憶する（ステップ８１０）。また、暗号データ復号部６４は、復号された乱数を用いてエージェント中のデータを復号化する（ステップ８１１）。
【００３１】
その後、ハッシュ値比較判定通知部８０は、セキュアな記憶領域３９に登録された２つのハッシュ値を比較し、差異を判定し、判定結果を情報処理装置に通知する（ステップ８１２、８１３）。判定結果を受信した情報処理装置は、改ざんの有無を確認することができる（ステップ８１４）。たとえば、改ざんありの判定結果であれば、当該情報処理装置は、以後の処理を中断するなどの処置をとる。
【００３２】
次に、本発明の第５の実施の形態について説明する。第５の実施の形態においては、安全に配布された暗号鍵を用いている。
【００３３】
図９は、第５の実施の形態にかかる情報処理装置および管理装置の構成を示すブロックダイヤグラムである。図９においても、図１などに示す構成部分と同一のものには同一の符号を付している。図９に示すように、情報処理装置１２は、ハッシュ値算出・保持部２２、ハッシュ値参照部２４およびエージェント移動Ｉ／Ｆ２６のほか、データ暗号部５２および暗号鍵生成部７２を備えている。また、管理装置１４は、ハッシュ値算出・登録部３２、ハッシュ値参照許可部３４、エージェント移動Ｉ／Ｆ３６および記憶部３８のほか、暗号データ復号部６４、暗号鍵生成部８２および非公開情報配布部８４を備えている。
【００３４】
図１０を参照して、第５の実施の形態にかかる情報処理装置１２および管理装置１４で実行される処理について説明する。第５の実施の形態における処理は、第３の実施の形態のもの（図６参照）に類似する。以下、相違する点を中心に説明する。
【００３５】
第５の実施の形態においては、通信ごと（たとえばセッションごと）に、管理装置１４の非公開情報配布部８４から情報処理装置１２に対して、暗号鍵を生成するための非公開情報が配布される（ステップ１０００）。この配布はセキュアな手法（たとえば、公開鍵方式）で実現されるのが望ましい。
【００３６】
情報処理装置１２の暗号鍵生成部７２は、受信した非公開情報に基づいて暗号鍵を生成し（ステップ１００１）、生成された暗号鍵を用いて、データ暗号部５２がデータを暗号化する（ステップ１００２）。ステップ１００３、１００４および１００５は、それぞれ、図６のステップ６０３、６０５および６０６に対応する。第５の実施の形態では、第３の実施の形態のように乱数を管理装置に通知する必要がないため、ステップ６０４に対応する処理は省略される。
【００３７】
管理装置１４の処理において、ステップ１００６およびステップ１００７は、図６のステップ６０８、６０９と同様である。その後、非公開情報配布部８４により情報処理装置１２に配布された非公開情報に基づいて暗号鍵が生成され（ステップ１００８）、生成された暗号鍵でデータが復号化される（ステップ１００９）。また、ハッシュ値の参照は基本的には第３の実施の形態と同様である。
【００３８】
次に、本発明の第６の実施の形態について説明する。第６の実施の形態においても、安全に配布された暗号鍵を利用する。図１１は、第６の実施の形態にかかる情報処理装置および管理装置の構成を示すブロックダイヤグラムである。図１１においても、図１などの示す構成部分と同一のものには同一の符号を付してある。図１１に示すように、情報処理装置１２は、暗号鍵生成部７２、データ暗号部５２、ハッシュ値算出・保持部２２、ハッシュ値・乱数格納処理部５８、ハッシュ値判定結果受信部８５およびエージェント移動Ｉ／Ｆ２６を備えている。また、管理装置１４は、エージェント移動Ｉ／Ｆ３６、暗号鍵生成部８２、暗号データ復号部６４、ハッシュ値取出・登録部６６、ハッシュ値算出・登録部６７、ハッシュ値比較判定通知部８０、および、非公開情報配布部８４を備えている。
【００３９】
図１２を参照して、第６の実施の形態にかかる情報処理装置１２および管理装置１４で実行される処理について説明する。
第６の実施の形態においては、通信ごと（たとえばセッションごと）に、管理装置１４の非公開情報配布部８４から情報処理装置１２に対して、暗号鍵を生成するための非公開情報が配布される（ステップ１２００）。この配布はセキュアな手法（たとえば、公開鍵方式）で実現されるのが望ましい。
【００４０】
情報処理装置１２の暗号鍵生成部７２は、受信した非公開情報に基づいて暗号鍵を生成し（ステップ１２０１）、生成された暗号鍵を用いて、データ暗号部５２がデータを暗号化する（ステップ１２０２）。ステップ１２０３で暗号化されたデータあるいは暗号化されたデータで構成されたエージェントのハッシュ値を算出する。次いで、ステップ１２０４でエージェントのデータ部（符号５６参照）にハッシュ値が格納され、ステップ１２０５で装置の記憶部にハッシュ値が保持され、また、ステップ１２０６でエージェントをエージェント移動Ｉ／Ｆ２６を介して管理装置１４に移動させる。
【００４１】
管理装置１４では、ハッシュ値取り出し・登録部６６は、データあるいはエージェントのハッシュ値を取り出し、記憶部３８中のセキュアな記憶領域３９に記憶する（ステップ１２０７）。さらに、ハッシュ値算出・登録部６７は、データあるいはエージェントのハッシュ値を算出し、算出されたハッシュ値も、記憶部３８中のセキュアな記憶領域３９に記憶する（ステップ１２０８）。さらに、暗号鍵生成部８２が情報処理装置１２と同一の暗号鍵を生成し（ステップ１２０９）、生成された暗号鍵でデータを復号化する（ステップ１２１０）。その後、ハッシュ値比較判定通知ブロック８０は、記憶領域３９に登録された２つのハッシュ値を比較し、差異を判定し、判定結果を情報処理装置に通知する（ステップ１２１１、１２１２）。判定結果を受信した情報処理装置は、改ざんの有無を確認することができる（ステップ１２１３）。たとえば、改ざんありの判定結果であれば、当該情報処理装置は、以後の処理を中断するなどの処置をとる。
【００４２】
このように第１の実施の形態〜第６の実施の形態の適用例について以下に説明する。以下、第１の適用例について説明する。この例では、アドホックネットワーク下でのノード（情報処理装置）間のデータ通信に上記実施の形態を適用している。アドホックネットワークは、ノード間で直接、或いは、他のノードを中継して無線通信できるネットワークであり、無線ＬＡＮのようなアクセスポイントが不要であることや、いつでもノードを持ち寄って共同作業が可能であるという利点を有する。
【００４３】
たとえば、アドホックネットワークを利用して、ノード間（PtoP）でのコンテンツ交換や配信を考える。この場合には、以下のようなステップが実行される。
（１）ノードのエージェントを、オアシスノード（管理装置）に移動させて、アドホックネットワークへの参加を準備する。
（２）オアシスノードから各エージェントが認証子を受け取る。
（３）エージェント間でコンテンツ交換／配信の交渉が成立すると、エージェントがオアシスノードに移動して認証子の検証を受ける。
（４）オアシスノードでの検証にパスすればコンテンツ交換や配信作業を実行する。
【００４４】
従来の手法（たとえば、ＭＩＣや公開鍵方式）を利用してもコンテンツ交換や配信は可能であるが、安全な鍵管理が必要である。
【００４５】
オアシスノードにエージェントが参集するのに先立って、各ノードにおいて、エージェント中、当該エージェントのデータ部であるコンテンツのハッシュ値（１２８ｂｉｔ／ＭＤ５或いは１６０ｂｉｔ／ＳＨＡ−１）を算出し、ハッシュ値算出・保持部がハッシュ値を保持した後、エージェントがオアシスノードに移動する。
【００４６】
オアシスノードは、コード部を検証するとともに、エージェントのデータ部のハッシュ値を算出して公開する。コンテンツを配信したエージェントは、オアシスノードにおいて公開されているハッシュ値と、端末にて保持されたハッシュ値を比較して同一であればコンテンツ配信の途中で改ざんがなかったと判断する。
【００４７】
図１３に示すように、コンテンツ交換などのPtoPのコラボレーションに先立って、情報処理装置Ａ（ノードＡ）のエージェントＡｉと、情報処理装置Ｂ（ノードＢ）のエージェントＡｊとが、管理装置に参集する（ステップ１３０１）。なお、エージェントＡｉはコンテンツＡを含むことができ、エージェントＡｊはコンテンツＢを含むことができる。
【００４８】
管理装置において認証コードが付与された後、各エージェントは、それぞれの情報処理装置に戻る（ステップ１３０２、１３０３）。この段階で、エージェント間のネゴシエーションが完了する。それぞれのエージェントは、ハッシュ値を計算し、情報処理装置のハッシュ値算出・保持部に格納後、管理装置に参集する（ステップ１３０４）。管理装置は、認証コードを検証するとともに、ハッシュ値を算出して公開する（ステップ１３０５）。各エージェントは、ハッシュ値の改ざんがないことを確認した上で、コンテンツを交換する（ステップ１３０６）。
【００４９】
次に、会議での意見交換や情報のマルチキャスト配信に本実施の形態を適用した例について説明する。ここでは、基本的に以下の手順で情報通信が進められる。
（１）参加者のノードのエージェントを、議長が管理するオアシスノード（管理装置）に移動させて、アドホックネットワーク会議を準備する。
（２）エージェントはオアシスノードから認証コードを受け取る。
（３）オアシスノードを黒板として利用して、エージェントの意見交換の場とする。オアシスノードへの移動時に認証コードの検証を受ける。
（４）オアシスノードでの検証にパスすれば、黒板の読み出しや黒板への書き込みが許可される。
【００５０】
この場合に、オアシスノードへの参照に先立って、各ノードにおいて、エージェント中、当該エージェントのデータ部であるコンテンツのハッシュ値（１２８ｂｉｔ／ＭＤ５或いは１６０ｂｉｔ／ＳＨＡ−１）を算出し、ハッシュ値算出・保持部がハッシュ値を保持した後、エージェントがオアシスノードに移動する。オアシスノードはコード部を検証するとともに、エージェントのデータ部のハッシュ値を公開する。
【００５１】
黒板に書き込みしたエージェントは、オアシスノードで公開されているハッシュ値と、自己のノードに格納されたハッシュ値とを比較して同一であれば、移動途中で改ざんがなかったと判断する。
【００５２】
図１４に示すように、情報処理装置ＡのエージェントＡｉが、会議に先立ってオアシスノード（管理装置）に参集する（ステップ１４０１）。図１４においては単一の情報処理装置のみが示されているが、実際には会議の参加者ごとのエージェントが参集している。次いで、認証コードがエージェントＡｉに付与され（ステップ１４０２）、エージェントＡｉは情報処理装置に戻る（ステップ１４０３）。エージェントＡｉは、算出されたハッシュ値を情報処理装置のハッシュ値・算出保持部に格納後、エージェントのデータ部に相当する参加者のオピニオンとともに、再度管理装置に移動する（ステップ１４０４）。管理装置は、認証コードを検証するとともに、ハッシュ値を算出後、当該ハッシュ値を公開する（ステップ１４０５）。情報処理装置Ａに戻ったエージェントＡｉは、ハッシュ値の比較により移動途中でのデータ部の改ざんの有無を知ることができる。
【００５３】
次に、オークションに本実施の形態を利用した例について説明する。たとえば、多数の人々が、ノードを利用してアドホックネットワークを形成してオークションに参加する。参加者の中に信用できない者がいれば、そのノードから秘密情報漏えいの危険がある。本実施の形態を利用する場合に、オークションの主催者のノードがオアシスノード（管理装置）として機能するか、或いは、そのノードがオアシスノードに接続されている。この例では基本的に、以下のような手順で情報通信が進められる。ここでは、
（１）オークション参加に先立って、参加者のノードのエージェントを、オアシスノードに移動させて、認証コードを発行してもらう。
（２）エージェントが、データ部に相当する入札値を保持してオアシスノードに移動したときに、検証を受ける。検証にパスすればオアシスノードでの入札に参加できる。
【００５４】
より詳細には、オアシスノードへの参照に先立って、各ノードにおいて、エージェント中、当該エージェントのデータ部であるコンテンツのハッシュ値（１２８ｂｉｔ／ＭＤ５或いは１６０ｂｉｔ／ＳＨＡ−１）を算出し、ハッシュ値算出・保持部にハッシュ値を格納した後、エージェントがオアシスノードに移動する。オアシスノードはコード部を検証するとともに、エージェントのデータ部のハッシュ値を公開する。
【００５５】
入札値をデータ部として保持するエージェントを所有するノード（情報処理装置）は、入札情報のハッシュ値が、公開されているハッシュ値と同一であれば、移動途中で改ざんがなかったと判断できる。この場合にも、具体的には図１４に示す処理と同様に進めることができる。
【００５６】
このように、本実施の形態によれば、エージェントの移動途中の改ざんの有無を、情報処理装置において検証することが可能となる。
【００５７】
本発明は、以上の実施の形態に限定されることなく、特許請求の範囲に記載された発明の範囲内で、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【００５８】
たとえば、前記実施の形態において、コード部の改ざんの有無の検証を、情報処理装置が行っているがこれに限定されるものではなく、管理装置において、改ざんの有無を検証しても良い。
【００５９】
また、前記第２の実施の形態において、ハッシュ値をエージェントに格納して送信しているが、安全性を高めるため、ハッシュ値を分割して管理装置に送るように構成しても良い。
【００６０】
たとえば、エージェントＡ１のデータ部のハッシュ値を、送信するために、他のエージェントＡ１１〜Ａ１３を利用し、
Ｘ＝ｈ×ｈ（Ａ１１）×ｈ（Ａ１２）×ｈ（Ａ１３）
を、何れかのエージェント（たとえば、エージェントＡ１１）に格納しておく。ここで、ｈは、エージェントＡ１のハッシュ値、ｈ（Ａ１１）〜ｈ（Ａ１３）は、それぞれ、エージェントＡ１１〜Ａ１３のハッシュ値であり、それぞれのエージェントに格納される。また、エージェントＡ１１〜Ａ１３のデータ部はでたらめな値であってよい。
【００６１】
管理装置は、エージェントＡ１、Ａ１１〜Ａ１３を受信した後、エージェントＡ１１〜Ａ１３のハッシュ値を取り出して、最終的に、エージェントＡ１のハッシュ値ｈを算出する。
【００６２】
他の実施の形態においても、ハッシュ値をエージェントに格納して、管理装置に送信する場合には、上記分割の手法を利用することができる。
【図面の簡単な説明】
【００６３】
【図１】図１は、本発明の第１の実施の形態にかかる情報監視システムを構成する情報処理装置および管理装置の構成を示すブロックダイヤグラムである。
【図２】図２は、第１の実施の形態にかかる情報処理装置および管理装置で実行される処理を示すフローチャートである。
【図３】図３、本発明の第２の実施の形態にかかる情報監視システムを構成する情報処理装置および管理装置の構成を示すブロックダイヤグラムである。
【図４】図４は、第２の実施の形態にかかる情報処理装置および管理装置で実行される処理を示すフローチャートである。
【図５】図５は、本発明の第３の実施の形態にかかる情報監視システムを構成する情報処理装置および管理装置の構成を示すブロックダイヤグラムである。
【図６】図６は、第３の実施の形態にかかる情報処理装置および管理装置で実行される処理を示すフローチャートである。
【図７】図７、本発明の第４の実施の形態にかかる情報監視システムを構成する情報処理装置および管理装置の構成を示すブロックダイヤグラムである。
【図８】図８は、第４の実施の形態にかかる情報処理装置および管理装置で実行される処理を示すフローチャートである。
【図９】図９は、本発明の第５の実施の形態にかかる情報監視システムを構成する情報処理装置および管理装置の構成を示すブロックダイヤグラムである。
【図１０】図１０は、第５の実施の形態にかかる情報処理装置および管理装置で実行される処理を示すフローチャートである。
【図１１】図１１、本発明の第６の実施の形態にかかる情報監視システムを構成する情報処理装置および管理装置の構成を示すブロックダイヤグラムである。
【図１２】図１２は、第６の実施の形態にかかる情報処理装置および管理装置で実行される処理を示すフローチャートである。
【図１３】図１３は、本実施の形態の適用例を説明するための図である。
【図１４】図１４は、本実施の形態の他の適用例を説明するための図である。
【符号の説明】
【００６４】
１２      情報処理装置
１４      管理装置（オアシスノード）
２２      ハッシュ値算出・保持部
２４      ハッシュ値参照部
２６      エージェント移動Ｉ／Ｆ
３２      ハッシュ値算出・登録部
３４      ハッシュ値参照許可部
３６      エージェント移動Ｉ／Ｆ
３８      記憶部
【図１】
2005149259.tif 000003
【図２】
2005149259.tif 000004
【図３】
2005149259.tif 000005
【図４】
2005149259.tif 000006
【図５】
2005149259.tif 000007
【図６】
2005149259.tif 000008
【図７】
2005149259.tif 000009
【図８】
2005149259.tif 000010
【図９】
2005149259.tif 000011
【図１０】
2005149259.tif 000012
【図１１】
2005149259.tif 000013
【図１２】
2005149259.tif 000014
【図１３】
2005149259.tif 000015
【図１４】
2005149259.tif 000016