(57)【特許請求の範囲】
【請求項１】
複数のエージェントを生産ラインの生産予定に応じて生成すると共に、一意のＩＤと外部から交付されたトークンとを前記各エージェントに与えるエージェント管理サーバを備えたエージェントベース生産システムにおいて、
前記各エージェントのＩＤ、トークン及び公開鍵を管理し、前記エージェント管理サーバにより与えられたトークンを有するエージェントのみのアクセスを許可すると共に、前記各エージェントから前記ＩＤ、トークン及び公開鍵を受信すると登録されている前記ＩＤ及び前記トークンの組に一致するかを判断し、一致する場合には新たなトークンを生成して前記ＩＤ、前記公開鍵及び前記新たなトークンの組を登録すると共に前記エージェントに前記新たなトークンを交付する鍵管理サーバを備え、
前記各エージェントは、
秘密鍵及び前記公開鍵を生成し、前記ＩＤ及び前記トークンと共に前記公開鍵を前記鍵管理サーバに送信し、他のエージェントからメッセージ交換を要求された場合に、前記鍵管理サーバから受信した前記他のエージェントの公開鍵に基づき前記他のエージェントの認証を行なうことを特徴とするエージェントベース生産システム。
【請求項２】
前記エージェント管理サーバが、
前記ＩＤを生成し、
前記鍵管理サーバに前記ＩＤを送信し、
前記鍵管理サーバから交付された前記トークンを受信し、
前記エージェントを生成すると共に生成した前記エージェントに前記ＩＤ及び前記トークンを与えることを特徴とする
請求項１記載のエージェントベース生産システム。
【請求項３】
前記鍵管理サーバが、
前記エージェント管理サーバから前記ＩＤを受信した場合に前記トークンを生成し、
前記トークンを前記エージェント管理サーバに交付し、
前記ＩＤ及び前記トークンの組を登録することを特徴とする
請求項１記載のエージェントベース生産システム。
【請求項４】
前記エージェントが、
他のエージェントからメッセージ交換を要求された場合に前記他のエージェントのＩＤを取得し、
前記ＩＤ及び前記トークンと前記他のエージェントのＩＤを前記鍵管理サーバに送信し、
前記鍵管理サーバから受信した前記他のエージェントの前記公開鍵を受信し、
文字列を前記他のエージェントに送信し、
前記他のエージェントの秘密鍵で暗号化された前記文字列を受信し、
前記公開鍵で暗号化された前記文字列を復号し、
送信した前記文字列に一致する場合に前記他のエージェントを認証することを特徴とする
請求項１記載のエージェントベース生産システム。
【請求項５】
前記鍵管理サーバが、
前記エージェントから前記ＩＤ及び前記トークンと前記他のエージェントのＩＤを受信した場合に、
登録されている前記他のエージェントの公開鍵及び新たなトークを前記エージェントに交付することを特徴とする
請求項１記載のエージェントベース生産システム。
【請求項６】
前記他のエージェントが、
前記エージェントにメッセージ交換を要求した後前記文字列を受信した場合に前記文字列を秘密鍵で暗号化して前記エージェントに返送することを特徴とする
請求項４記載のエージェントベース生産システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、エージェントベース生産システムに関し、特にエージェント間の認証が可能なエージェントベース生産システムに関する。
【０００２】
【従来の技術】
従来のエージェントベース生産システムは生産ラインを移動する製品と一対一に対応した製品エージェントや、工作機械と一対一に対応した装置エージェント及びこれらを管理するエージェント管理サーバを有する生産システムである。
【０００３】
製品エージェントは製品の生産手順を記述したレシピを有し、当該レシピに従って製品の加工に必要な工作機械を選択し、選択した工作機械が接続された制御装置に加工を依頼する。また、装置エージェントは対応する工作機械がどのような加工が可能なのか等、工作機械固有の情報を有し工作機械を前記制御装置を介して制御する。
【０００４】
一方、エージェント管理サーバは生産ラインの生産予定や必要に応じて製品エージェントや装置エージェントの生成する。
【０００５】
図９はこのような従来のエージェントベース生産システムの一例を示す構成図である。図９において１はエージェント管理サーバ、２は製品エージェント、３は装置エージェントである。
【０００６】
製品エージェント２はエージェント管理サーバ１とネットワーク接続されたコンピュータ等の複数台の制御装置上を生産ラインを移動する製品に伴って移動して行く。一方、装置エージェント３はエージェント管理サーバ１とネットワーク接続された対応付けされた工作機械等の制御装置上に位置する。
【０００７】
ここで、図９に示す従来例の動作を説明する。エージェント管理サーバ１は図９中”ＧＥ０１”及び”ＧＥ０２”に示すように製品エージェント２及び装置エージェント３を生成する。
【０００８】
生成されたエージェント間では必要に応じてメッセージ交換を行うことにより、製品を生産する。例えば、図９中”ＣＭ０１”に示すように製品エージェント２は装置エージェント３に対して製品エージェント２が有するレシピに記載された加工が可能か否かを問い合わせ、図９中”ＣＭ０２”に示すように装置エージェント３は工作機械固有の情報に基づき加工が可能か否かを回答する。
【０００９】
【発明が解決しようとする課題】
しかし、図９に示す従来例では、エージェントがメッセージを交換することにより動作を行うものの、特にエージェント間で互いの認証を行っていないため相手のエージェントが正しいエージェントであるか、或いは、悪意を持ったエージェントであるかを見分けることが出来ないと言った問題点があった。
【００１０】
例えば、相手のエージェントが悪意を持ってエージェントベース生産システムに侵入してきたものである場合には、相手のエージェントからのメッセージそのまま信用してしまうとエージェントベース生産システムの停止や加工情報等の重要情報の漏洩等の重大な不具合を生じる恐れがある。
従って本発明が解決しようとする課題は、エージェント間で互いの認証が可能なエージェントベース生産システムを実現することにある。
【００１１】
【課題を解決するための手段】
このような課題を達成するために、本発明のうち請求項１記載の発明は、
複数のエージェントを生産ラインの生産予定に応じて生成すると共に、一意のＩＤと外部から交付されたトークンとを前記各エージェントに与えるエージェント管理サーバを備えたエージェントベース生産システムにおいて、
前記各エージェントのＩＤ、トークン及び公開鍵を管理し、前記エージェント管理サーバにより与えられたトークンを有するエージェントのみのアクセスを許可すると共に、前記各エージェントから前記ＩＤ、トークン及び公開鍵を受信すると登録されている前記ＩＤ及び前記トークンの組に一致するかを判断し、一致する場合には新たなトークンを生成して前記ＩＤ、前記公開鍵及び前記新たなトークンの組を登録すると共に前記エージェントに前記新たなトークンを交付する鍵管理サーバを備え、
前記各エージェントは、
秘密鍵及び前記公開鍵を生成し、前記ＩＤ及び前記トークンと共に前記公開鍵を前記鍵管理サーバに送信し、他のエージェントからメッセージ交換を要求された場合に、前記鍵管理サーバから受信した前記他のエージェントの公開鍵に基づき前記他のエージェントの認証を行なうことにより、エージェント間で互いの認証が可能になる。また、エージェント管理サーバを介して鍵管理サーバへのアクセス権であるトークンを与えることにより、エージェント管理サーバが生成したエージェントのみが鍵管理サーバにアクセスすることが可能になる。さらに、正当なエージェントが生成した公開鍵のみが鍵管理サーバに登録されることになる。
【００１２】
請求項２記載の発明は、
請求項１記載の発明であるエージェントベース生産システムにおいて、
前記エージェント管理サーバが、
前記ＩＤを生成し、前記鍵管理サーバに前記ＩＤを送信し、前記鍵管理サーバから交付された前記トークンを受信し、前記エージェントを生成すると共に生成した前記エージェントに前記ＩＤ及び前記トークンを与えることにより、エージェント管理サーバが生成したエージェントのみが鍵管理サーバにアクセスすることが可能になる。
【００１３】
請求項３記載の発明は、
請求項１記載の発明であるエージェントベース生産システムにおいて、
前記鍵管理サーバが、
前記エージェント管理サーバから前記ＩＤを受信した場合に前記トークンを生成し、前記トークンを前記エージェント管理サーバに交付し、前記ＩＤ及び前記トークンの組を登録することにより、エージェント管理サーバが生成したエージェントのみが鍵管理サーバにアクセスすることが可能になる。
【００１６】
請求項４記載の発明は、
請求項１記載の発明であるエージェントベース生産システムにおいて、前記エージェントが、他のエージェントからメッセージ交換を要求された場合に前記他のエージェントのＩＤを取得し、前記ＩＤ及び前記トークンと前記他のエージェントのＩＤを前記鍵管理サーバに送信し、前記鍵管理サーバから受信した前記他のエージェントの前記公開鍵を受信し、文字列を前記他のエージェントに送信し、前記他のエージェントの秘密鍵で暗号化された前記文字列を受信し、前記公開鍵で暗号化された前記文字列を復号し、送信した前記文字列に一致する場合に前記他のエージェントを認証することにより、エージェント間で互いの認証が可能になる。
【００１７】
請求項５記載の発明は、
請求項１記載の発明であるエージェントベース生産システムにおいて、前記鍵管理サーバが、前記エージェントから前記ＩＤ及び前記トークンと前記他のエージェントのＩＤを受信した場合に、登録されている前記他のエージェントの公開鍵及び新たなトークを前記エージェントに交付することにより、エージェント間で互いの認証が可能になる。
【００１８】
請求項６記載の発明は、
請求項４記載の発明であるエージェントベース生産システムにおいて、前記他のエージェントが、前記エージェントにメッセージ交換を要求した後前記文字列を受信した場合に前記文字列を秘密鍵で暗号化して前記エージェントに返送することにより、エージェント間で互いの認証が可能になる。
【００１９】
【発明の実施の形態】
以下本発明を図面を用いて詳細に説明する。図１は本発明に係るエージェントベース生産システムの一実施例を示す構成図である。図１において４はエージェント管理サーバ、５は製品エージェント、６は装置エージェント、７は鍵管理サーバ、８は鍵管理テーブルである。
【００２０】
製品エージェント５はエージェント管理サーバ４とネットワーク接続されたコンピュータ等の複数台の制御装置上を生産ラインを移動する製品に伴って移動して行く。一方、装置エージェント６はエージェント管理サーバ４とネットワーク接続された対応付けされた工作機械等の制御装置上に位置する。
【００２１】
また、鍵管理サーバ７もまたネットワークを介してエージェント管理サーバ４、製品エージェント５及び装置エージェント６がそれぞれ位置する制御装置に接続され、鍵管理テーブル７と接続される。
【００２２】
ここで、図１に示す実施例の動作を説明する。先ず第１に構成要素であるエージェント管理サーバ４は製品エージェント５や装置エージェント６を生成し、この生成の際にエージェント管理サーバ４はエージェントに対して一意のＩＤを生成する。
【００２３】
このＩＤを鍵管理サーバ７に登録して鍵管理サーバ７から交付されるトークンを前記ＩＤと共に生成したエージェントに渡す。このトークンを有するエージェントのみが鍵管理サーバ７へアクセスすることが可能になる。このため、エージェント管理サーバ４が生成したエージェントのみが鍵管理サーバ７にアクセスすることが可能になる。
【００２４】
例えば、図１中”ＧＥ１１”及び”ＧＥ１２”に示すように製品エージェント５及び装置エージェント６を生成する。また、図１中”ＲＧ１１”に示すように鍵管理サーバ７に生成したエージェントのＩＤを登録し、図１中”ＴＫ１１”に示すように鍵管理サーバ７からトークンを受け取り、ＩＤと共に生成したエージェントに配布する。
【００２５】
第２に、鍵管理サーバ７はＩＤの登録とトークンの管理を行い、各エージェントの公開鍵の管理を行う。また、前記トークンを有するエージェントのみのアクセスを許可することによりエージェントを認証する。
【００２６】
例えば、図１中”ＲＧ１１”に示すようにエージェント管理サーバ４からＩＤを受けとった場合は、図１中”ＴＫ１１”に示すようにトークンを交付すると共に鍵管理テーブルにＩＤ及び交付したトークンを一組にして登録する。
【００２７】
また、図１中”ＲＱ１１”及び”ＲＱ１２”に示すようにエージェントから公開鍵の登録若しくは公開鍵の要求があった場合は、図１中”ＲＳ１１”及び”ＲＳ１２”に示すように当該エージェントに新たなトークンの交付若しくは公開鍵と新たなトークンを交付する。
【００２８】
第３に各エージェントは相手側のエージェントとメッセージ交換を行う場合には、鍵管理サーバ７に登録された公開鍵を用いて相手側のエージェントの認証を行う。
【００２９】
さらに、図２、図３、図４、図５、図６、図７及び図８を用いて詳細に説明する。図２はエージェントを生成する場合のエージェント管理サーバ４の動作を示すフロー図、図３はエージェントを生成する場合の鍵管理サーバ７の動作を示すフロー図、図４は公開鍵を登録する場合の各エージェントの動作を示すフロー図、図５は公開鍵を登録する場合の鍵管理サーバ７の動作を示すフロー図、図６は認証する側のエージェントの動作を示すフロー図、図７は認証時の鍵管理サーバ７の動作を示すフロー図、図８は認証される側のエージェントの動作を示すフロー図である。
【００３０】
第１にエージェント管理サーバ４がエージェントを生成する場合を考える。図２中”Ｓ００１”においてエージェント管理サーバ４は一意のＩＤを生成して、図２中”Ｓ００２”において生成したＩＤを鍵管理サーバ７にネットワークを介して送信する。
【００３１】
そして、図２中”Ｓ００３”においてエージェント管理サーバ４は鍵管理サーバ７から送信されてきたトークンを受信して、図２中”Ｓ００４”において製品エージェント５等を生成して先に生成したＩＤ及び鍵管理サーバ７から交付されたトークンを当該エージェントに与える。
【００３２】
一方、図３中”Ｓ１０１”において鍵管理サーバ７はエージェント管理サーバ４からＩＤを受信したか否かを判断し、ＩＤを受信した場合には図３中”Ｓ１０２”においてトークンを生成する。
【００３３】
そして、図３中”Ｓ１０３”において鍵管理サーバ７は生成したトークンをエージェント管理サーバ４に交付すると共に図３中”Ｓ１０４”において受信したＩＤと交付したトークンを一組にして鍵管理テーブル８に登録する。
【００３４】
すなわち、エージェント管理サーバ４が生成したエージェントのＩＤを鍵管理サーバ７に登録することにより、正当なエージェントのＩＤは全て鍵管理サーバ７の鍵管理テーブル８に登録される。
【００３５】
また、鍵管理サーバ７から交付されたトークンをエージェントに与えることにより、正当なエージェントのみが鍵管理サーバ７に対するアクセス権を有することになる。
【００３６】
第２に各エージェントが公開鍵を登録する場合を考える。図４中”Ｓ２０１”において製品エージェント５及び装置エージェント６は自分が使用する公開鍵方式、例えば、ＲＳＡ（Ronald Rivest, Adi Shamir, Leonard Adlemen）方式の秘密鍵及び公開鍵を生成する。
【００３７】
そして、図４中”Ｓ２０２”において製品エージェント５及び装置エージェント６は自分自身のＩＤ及び交付されているトークンと生成した公開鍵を鍵管理サーバ７に送信する。
【００３８】
これに対して、図５中”Ｓ３０１”において鍵管理サーバ７は各エージェントからＩＤ，トークン及び公開鍵を受信したか否かを判断し、もし、これらを受信した場合は、図５中”Ｓ３０２”において受信したＩＤとトークンの組み合わせが鍵管理テーブル８に登録されている組み合わせと一致するか否かを判断する。
【００３９】
もし、図５中”Ｓ３０２”において一致と判断された場合には、図５中”Ｓ３０３”において鍵管理サーバ７は新たなトークンを生成して、新たなトークン、ＩＤ及び公開鍵を一組にして鍵管理テーブル８に登録する。そして、図５中”Ｓ３０４”において新たなトークンを送信元のエージェントに交付する。
【００４０】
すなわち、ＩＤとトークンの組み合わせに一致した場合に、新たなトークンをＩＤ及び公開鍵と共に登録することにより、正当なエージェントが生成した公開鍵のみが鍵管理サーバ７に登録されることになる。
【００４１】
第３に製品エージェント５が相手側の装置エージェント６を認証する場合を考える。図６中”Ｓ４０１”において認証する側の製品エージェント５（以下、単に認証エージェントと呼ぶ。）は認証される側の装置エージェント６（以下、単に被認証エージェントと呼ぶ。）からメッセージ交換リクエストを受信したか否かを判断する。
【００４２】
図６中”Ｓ４０１”においてメッセージ交換リクエストを受信した場合には、図６中”Ｓ４０２”において認証エージェントは受信したメッセージ交換リクエストの中から被認証エージェントのＩＤを取得する。
【００４３】
図６中”Ｓ４０３”において認証エージェントは自分自身のＩＤ及びトークンと被認証エージェントのＩＤを鍵管理サーバ７に送信して、図６中”Ｓ４０４”において認証エージェントは鍵管理サーバ７から被認証エージェントの公開鍵と新たに交付されたトークンを受信する。
【００４４】
図６中”Ｓ４０５”において認証エージェントは被認証エージェントに対して任意の文字列であるチャレンジコードを送信し、図６中”Ｓ４０６”において被認証エージェントの秘密鍵で暗号化された当該チャレンジコードが返送されてきたか否かを判断する。
【００４５】
もし、図６中”Ｓ４０６”において被認証エージェントの秘密鍵で暗号化されたチャレンジコードが返送されてきた場合には、図６中”Ｓ４０７”において認証エージェントは先に入手した被認証エージェントの公開鍵で被認証エージェントの秘密鍵で暗号化されたチャレンジコードを復号する。
【００４６】
そして、図６中”Ｓ４０８”において認証エージェントは復号したチャレンジコードが先に被認証エージェントに送信したものと一致するか否かを判断し、もし、一致する場合は図６中”Ｓ４０９”において認証エージェントは被認証エージェントを正当なエージェントして認証し、もし、不一致の場合には図６中”Ｓ４１０”において正当なエージェントではないと判断する。
【００４７】
一方、このとき、鍵管理サーバ７の以下のように動作する。図７中”Ｓ５０１”において鍵管理サーバ７は認証エージェント５から自分自身のＩＤ及びトークンと被認証エージェントのＩＤを受信したか否かを判断し、これらを受信した場合には図７中”Ｓ５０２”において受信したＩＤとトークンの組み合わせが鍵管理テーブル８に登録されている組み合わせと一致するか否かを判断する。
【００４８】
もし、図７中”Ｓ５０２”において一致と判断された場合には、図７中”Ｓ５０３”において被認証エージェントのＩＤと共に鍵管理テーブル８に登録されている公開鍵を読み出して認証エージェントに送信する。
【００４９】
また、図７中”Ｓ５０４”において鍵管理サーバ７は認証エージェントに対して新たなトークンを交付して送信する。
【００５０】
一方、このとき、被認証エージェントは以下のように動作する。図８中”Ｓ６０１”において被認証エージェントは認証エージェントに対してメッセージ交換リクエストを送信する。
【００５１】
そして、図８中”Ｓ６０２”において被認証エージェントは認証エージェントから送信してくるチャレンジコードを受信したか否かを判断し、もし、当該チャレンジコードを受信した場合には、図８中”Ｓ６０３”において自分自身の秘密鍵でこのチャレンジコードを暗号化し、図８中”Ｓ６０４”において認証エージェントに暗号化したチャレンジコードを返送する。
【００５２】
この結果、認証エージェントは鍵管理サーバから入手した被認証エージェントの公開鍵を用いて被認証エージェントの秘密鍵で暗号化されて返送されるチャレンジコードを復号し、チャレンジコードの一致／不一致を確認することにより被認証エージェントの認証が可能になる。すなわち、エージェント間で互いの認証が可能になる。
【００５３】
また、エージェント管理サーバ４を介して鍵管理サーバ７へのアクセス権であるトークンを与えられるのでエージェント管理サーバ４が生成したエージェントのみが鍵管理サーバ７にアクセスすることが可能になる。
【００５４】
さらに、ＩＤとトークンの組み合わせに一致した場合に、新たなトークンをＩＤ及び公開鍵と共に登録することにより、正当なエージェントが生成した公開鍵のみが鍵管理サーバ７に登録されることになる。
【００５５】
なお、図１に示す実施例ではエージェントベース生産システムを例示して説明しているが、勿論、分散オブジェクトシステムにおける各オブジェクト間の認証に利用することも可能である。
【００５６】
図１に示す実施例では簡単のために１つの製品エージェントと１つの装置エージェントを例示したが、勿論、複数の製品エージェントや複数の装置エージェントで構成されるシステムであっても構わない。
【００５７】
図１において鍵管理テーブル８は説明の簡単のために鍵管理サーバ７の別個に例示しているが鍵管理サーバ７内部の記憶手段に鍵管理テーブルを設けても構わない。
【００５８】
【発明の効果】
以上説明したことから明らかなように、本発明によれば次のような効果がある。
請求項１，２，３，４，５及び請求項６の発明によれば、認証エージェントは鍵管理サーバから入手した被認証エージェントの公開鍵を用いて被認証エージェントの秘密鍵で暗号化されて返送されるチャレンジコードを復号し、チャレンジコードの一致／不一致を確認することにより被認証エージェントの認証が可能になる。すなわち、エージェント間で互いの認証が可能になる。また、エージェント管理サーバを介して鍵管理サーバへのアクセス権であるトークンを与えることにより、エージェント管理サーバが生成したエージェントのみが鍵管理サーバにアクセスすることが可能になる。
また、ＩＤとトークンの組み合わせに一致した場合に、新たなトークンをＩＤ及び公開鍵と共に登録することにより、正当なエージェントが生成した公開鍵のみが鍵管理サーバに登録されることになる。
【図面の簡単な説明】
【図１】本発明に係るエージェントベース生産システムの一実施例を示す構成図である。
【図２】エージェントを生成する場合のエージェント管理サーバ４の動作を示すフロー図である。
【図３】エージェントを生成する場合の鍵管理サーバ７の動作を示すフロー図である。
【図４】公開鍵を登録する場合の各エージェントの動作を示すフロー図である。
【図５】公開鍵を登録する場合の鍵管理サーバ７の動作を示すフロー図である。
【図６】認証する側のエージェントの動作を示すフロー図である。
【図７】認証時の鍵管理サーバ７の動作を示すフロー図である。
【図８】認証される側のエージェントの動作を示すフロー図である。
【図９】従来のエージェントベース生産システムの一例を示す構成図である。
【符号の説明】
１，４  エージェント管理サーバ
２，５  製品エージェント
３，６  装置エージェント
７  鍵管理サーバ
８  鍵管理テーブル
【図１】
0004366620.tif 000002
【図２】
0004366620.tif 000003
【図３】
0004366620.tif 000004
【図４】
0004366620.tif 000005
【図５】
0004366620.tif 000006
【図６】
0004366620.tif 000007
【図７】
0004366620.tif 000008
【図８】
0004366620.tif 000009
【図９】
0004366620.tif 000010