(57)【特許請求の範囲】
【請求項１】
他の鍵共有装置と共有鍵を共有する鍵共有装置であって、
乱数を生成する乱数生成部と、
前記乱数と、前記鍵共有装置のユーザの属性を表す属性情報に基づいて生成された属性鍵に基づいてＤＨ演算値を生成するＤＨ演算部と、
前記他の鍵共有装置のユーザの属性を指定する条件に基づいて前記ＤＨ演算値を暗号化して暗号文を生成する暗号文生成部と、
前記属性鍵を用いて、前記他の鍵共有装置が生成し所定の公開掲示装置により公開された暗号文を復号して復号結果を取得する復号部と、
前記復号結果と前記乱数を用いて前記共有鍵を生成する共有鍵生成部
を含む鍵共有装置。
【請求項２】
他の鍵共有装置と共有鍵を共有する鍵共有装置と、公開掲示装置を含む鍵共有システムであって、
前記鍵共有装置は、
乱数を生成する乱数生成部と、
前記乱数と、前記鍵共有装置のユーザの属性を表す属性情報に基づいて生成された属性鍵に基づいてＤＨ演算値を生成するＤＨ演算部と、
前記他の鍵共有装置のユーザの属性を指定する条件に基づいて前記ＤＨ演算値を暗号化して暗号文を生成する暗号文生成部と、
前記属性鍵を用いて、前記他の鍵共有装置が生成し前記公開掲示装置により公開された暗号文を復号して復号結果を取得する復号部と、
前記復号結果と前記乱数を用いて前記共有鍵を生成する共有鍵生成部を含み、
前記公開掲示装置は、
前記鍵共有装置および前記他の鍵共有装置が生成した暗号文を公開する
鍵共有システム。
【請求項３】
他の鍵共有装置と共有鍵を共有する鍵共有装置が実行する鍵共有方法であって、
乱数を生成するステップと、
前記乱数と、前記鍵共有装置のユーザの属性を表す属性情報に基づいて生成された属性鍵に基づいてＤＨ演算値を生成するステップと、
前記他の鍵共有装置のユーザの属性を指定する条件に基づいて前記ＤＨ演算値を暗号化して暗号文を生成するステップと、
前記属性鍵を用いて、前記他の鍵共有装置が生成し所定の公開掲示装置により公開された暗号文を復号して復号結果を取得するステップと、
前記復号結果と前記乱数を用いて前記共有鍵を生成するステップ
を含む鍵共有方法。
【請求項４】
他の鍵共有装置と共有鍵を共有する鍵共有装置と、公開掲示装置が実行する鍵共有方法であって、
前記鍵共有装置は、
乱数を生成するステップと、
前記乱数と、前記鍵共有装置のユーザの属性を表す属性情報に基づいて生成された属性鍵に基づいてＤＨ演算値を生成するステップと、
前記他の鍵共有装置のユーザの属性を指定する条件に基づいて前記ＤＨ演算値を暗号化して暗号文を生成するステップを実行し、
前記公開掲示装置は、
前記鍵共有装置および前記他の鍵共有装置が生成した暗号文を公開するステップを実行し、
前記鍵共有装置は、 
前記属性鍵を用いて、前記他の鍵共有装置が生成し前記公開掲示装置により公開された暗号文を復号して復号結果を取得するステップと、
前記復号結果と前記乱数を用いて前記共有鍵を生成するステップを実行する
鍵共有方法。
【請求項５】
コンピュータを、請求項１に記載の鍵共有装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、他の鍵共有装置と共有鍵を共有する鍵共有装置、鍵共有システム、鍵共有方法、プログラムに関する。
【背景技術】
【０００２】
認証、鍵交換（鍵共有）を実行して通信を行うプロトコルとしてＳＳＬ／ＴＬＳ（Secure Sockets Layer/ Transport Layer Security）が知られている（非特許文献１）。非特許文献１のプロトコルでは、認証と鍵交換（鍵共有）を別々に実行する。これに対し、認証と鍵交換（鍵共有）を同時に行う認証鍵交換方式が知られている（非特許文献２）。
【０００３】
図１、図２を参照して非特許文献１、２の概要およびこれらの技術の問題点について説明する。図１は、非特許文献１の鍵共有システムの構成を示すブロック図である。図２は、非特許文献２の鍵共有システムの構成を示すブロック図である。図１に示すように、非特許文献１の鍵共有システム９００は、認証装置９１と鍵共有装置９２を含むシステムである。図１は、２台の認証装置９１Ａ−９１Ｂ間で認証が実行され、２台の鍵共有装置９２Ａ−９２Ｂ間で鍵交換（鍵共有）が実行される例を示している。認証装置９１Ａは、認証相手である認証装置９１Ｂから予め公開鍵ＰＫＢを取得しておき、自身の秘密鍵であるＳＫＡを秘匿管理している。同様に、認証装置９１Ｂは、認証相手である認証装置９１Ａから予め公開鍵ＰＫＡを取得しておき、自身の秘密鍵であるＳＫＢを秘匿管理している。認証装置９１Ａは自身の秘密鍵ＳＫＡを用いて署名σＡを生成し、署名σＡを認証装置９１Ｂに送信する。認証装置９１Ｂは、署名σＡを受信して、署名σＡを認証装置９１Ａの公開鍵ＰＫＡで検証することにより、認証装置９１Ａを認証する。同様に、認証装置９１Ｂは自身の秘密鍵ＳＫＢを用いて署名σＢを生成して送信し、認証装置９１Ａは、署名σＢを認証装置９１Ｂの公開鍵ＰＫＢで検証することにより、認証装置９１Ｂを認証する。
【０００４】
上述の認証が成功した場合、鍵共有装置９２Ａは、乱数ＲＡを生成し、生成した乱数ＲＡに基づいて、共有鍵Ｋの生成に必要な値である値ＸＡを生成し、鍵共有装置９２Ｂに送信する。同様に、鍵共有装置９２Ｂは、乱数ＲＢを生成し、乱数ＲＢに基づいて、共有鍵Ｋの生成に必要な値である値ＸＢを生成し、鍵共有装置９２Ａに送信する。鍵共有装置９２Ａ、９２Ｂは、値ＸＡ、ＸＢに基づいて共有鍵Ｋを生成する。非特許文献１の鍵共有システム９００ではこのように鍵共有が実行される。
【０００５】
以下、鍵共有システム９００に攻撃者端末８が介在する場合について述べる。攻撃者端末８は、認証装置９１Ａ―９１Ｂ間、および鍵共有装置９２Ａ―９２Ｂ間に介在するものとする。署名交換の際、攻撃者端末８は署名σＡ、σＢを受信し、受信した署名σＡ、σＢをそのまま正規の送信先に転送する。つまり署名交換の際には、攻撃者端末８が介在した場合であっても攻撃者端末８が介在していない場合と同じように署名交換が実行される。攻撃者端末８がこのような振る舞いをすることで、認証装置９１Ａ、９２Ａは、攻撃者端末８が介在していることに気付くことができない。認証装置９１Ａは自身の通信相手が真正な認証装置９１Ｂであるものと誤判断し、認証装置９１Ｂは自身の通信相手が真正な認証装置９１Ａであるものと誤判断する。その後、鍵共有装置９２Ａ、９２Ｂは、値ＸＡ、ＸＢを攻撃者端末８に送信してしまうため、攻撃者端末８は共有鍵Ｋを取得することができる。このように非特許文献１の技術は中間者攻撃に対して脆弱な側面を持っている。
【０００６】
これに対し、図２に示す非特許文献２の鍵共有システム７００は、認証と鍵交換（鍵共有）を同時に行うことで上記の問題点を克服した。図２に示す鍵共有システム７００では、装置間で交換される値ＸＡ、ＸＢに、署名データと共有鍵生成に必要なデータとが一体不可分に含まれるように構成し、認証と鍵交換（鍵共有）が同時に行われるように構成したため、上述の中間者攻撃に対しても安全なプロトコルを実現している。
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】情報処理推進機構、“ＳＳＬの解説（X.509電子証明書の問題調査）”、［online］、平成 11年 3月、情報処理推進機構、［平成 27年 1月 8日検索］、インターネット<URL:https://www.ipa.go.jp/security/fy10/contents/over-all/02/22.html>
【非特許文献２】Atsushi Fujioka, Fumitaka Hoshino, Tetsutaro Kobayashi, Koutarou Suzuki, Berkant Ustaoglu, and KzukiYoneyama,“id-eCK Secure ID-Based Authenticated Key Exchange on Symmetric and Asymmetric Pairing,” IEICE Trans, Fundamentals, Vol. E96-A, No.6 JUNE 2013.
【発明の概要】
【発明が解決しようとする課題】
【０００８】
非特許文献１、２はいずれも認証のために通信相手のＩＤまたは公開鍵が必要となる。すなわち既知の相手としか通信を行うことができないことが問題であった。そこで本発明は、相手を指定せず鍵を共有することができる鍵共有装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の鍵共有装置は、乱数生成部と、ＤＨ演算部と、暗号文生成部と、復号部と、共有鍵生成部を含む。
【００１０】
乱数生成部は、乱数を生成する。ＤＨ演算部は、乱数に基づいてＤＨ演算値を生成する。暗号文生成部は、他の鍵共有装置のユーザの属性を指定する条件に基づいてＤＨ演算値を暗号化して暗号文を生成する。復号部は、鍵共有装置のユーザの属性を表す属性情報に基づいて生成された属性鍵を用いて、他の鍵共有装置が生成し所定の公開掲示装置により公開された暗号文を復号して復号結果を取得する。共有鍵生成部は、復号結果と乱数を用いて共有鍵を生成する。
【発明の効果】
【００１１】
本発明の鍵共有装置によれば、相手を指定せず鍵を共有することができる。
【図面の簡単な説明】
【００１２】
【図１】非特許文献１の鍵共有システムの構成を示すブロック図。
【図２】非特許文献２の鍵共有システムの構成を示すブロック図。
【図３】実施例１の鍵共有システムの構成を示すブロック図。
【図４】実施例１の鍵共有装置の暗号化部の動作を示すフローチャート。
【図５】実施例１の鍵共有装置の鍵生成部の動作を示すフローチャート。
【発明を実施するための形態】
【００１３】
以下、本発明の実施の形態について、詳細に説明する。なお、同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
【実施例１】
【００１４】
以下、図３を参照して実施例１の鍵共有システムの構成について説明する。図３は、本実施例の鍵共有システム１００の構成を示すブロック図である。本実施例の鍵共有システム１００は複数台の鍵共有装置１と、公開掲示装置２を含む。図３は、２台の鍵共有装置１（以下、鍵共有装置１Ａ、１Ｂと呼ぶ）が公開掲示装置２を介してデータのやり取りを行う例である。なお詳細は後述するが、図１の一点鎖線で示した矢印は、ユーザが手動でデータのアップロード、ダウンロードをすることによるデータの入出力経路を示す。なお本実施例では、従来の属性ベース暗号（参考非特許文献１）の鍵生成関数ＫｅｙＧｅｎ、暗号化関数Ｅｎｃ（）、復号関数Ｄｅｃ（）を用いる。
（参考非特許文献１：Tatsuaki Okamoto, Katsuyuki Takashima, “Adaptively Attribute-Hiding (Hierarchical) Inner Product Encryption,”EUROCRYPT 2012: 591-608）
【００１５】
図１に示すように、鍵共有装置１Ａ、１Ｂは、暗号化部１１と鍵生成部１２を含む構成である。暗号化部１１は、乱数生成部１１１と、ＤＨ演算部１１２と、暗号文生成部１１３と、条件記憶部１１４を含む構成である。鍵生成部１２は、属性情報記憶部１２１と、属性鍵生成部１２２と、属性鍵記憶部１２３と、復号部１２４と、共有鍵生成部１２５と、共有鍵記憶部１２６を含む構成である。鍵生成部１２の構成要件のうち、属性情報記憶部１２１と、属性鍵生成部１２２は後述する理由により、適宜省略可能である。公開掲示装置２は、全ての鍵共有装置（図３の例では鍵共有装置１Ａ、１Ｂ）が生成した暗号文を公開する装置である。
【００１６】
以下、図４を参照して暗号化部１１の動作について説明する。図４は、本実施例の鍵共有装置１の暗号化部１１の動作を示すフローチャートである。鍵共有装置１Ａの乱数生成部１１１は、乱数ＲＡを生成する（Ｓ１１１）。鍵共有装置１ＡのＤＨ演算部１１２は、乱数ＲＡに基づいてＤＨ（Diffie-Hellman）演算値を生成する（Ｓ１１２）。具体的には、鍵共有装置１ＡのＤＨ演算部１１２は、有限乗法群ｇを用いて、ＤＨ演算値：ＸＡ＝ｇ＾ＲＡを生成する（Ｓ１１２）。鍵共有装置１Ａの暗号文生成部１１３は、他の鍵共有装置（この例では鍵共有装置１Ｂとする）のユーザの属性を指定する条件ＤＢ（条件記憶部１１４に予め記憶されているものとする）に基づいてＤＨ演算値ＸＡを暗号化して暗号文を生成する（Ｓ１１３）。具体的には、鍵共有装置１Ａの暗号文生成部１１３は、暗号文：ＣＡ＝Ｅｎｃ（ＸＡ，ＤＢ）を生成する（Ｓ１１３）。条件記憶部１１４には、他の鍵共有装置のユーザの属性を指定する条件が予め記憶されている。ここでユーザの属性とは、例えばユーザが所属する会社の会社名、その会社における所属部署、役職を表すものであったり、ユーザの居住地域や住所、ユーザの世代や年齢、ユーザが有する資格、あるいはユーザが有するクラブや団体の会員資格など、ユーザに関係する情報全般を表すものである。鍵共有装置１のユーザは、上述の条件Ｄを手動で設定、変更可能である。条件記憶部１１４には鍵共有装置１のユーザが設定、変更した条件Ｄが記憶されているものとする。鍵共有装置１のユーザは、条件Ｄを設定することで、鍵の共有を許可する相手の属性を任意に設定することが可能である。例えば、鍵共有装置１のユーザが、会社Ｚの課長級以上の役職を有する者のみと鍵共有を行いたい場合には、上述の条件Ｄに、会社Ｚの課長級以上の役職を有する者という制限を加える。また例えば、鍵共有装置１のユーザが、関東地方に居住する者のみと鍵共有を行いたい場合には、上述の条件Ｄに、関東地方に居住する者、という制限を加える。
【００１７】
鍵共有装置１Ｂの暗号化部１１でも上述と同様の動作が実行される。詳細には、鍵共有装置１Ｂの乱数生成部１１１は、乱数ＲＢを生成し（Ｓ１１１）、鍵共有装置１ＢのＤＨ演算部１１２は、有限乗法群ｇを用いて、ＤＨ演算値：ＸＢ＝ｇ＾ＲＢを生成し（Ｓ１１２）、鍵共有装置１Ｂの暗号文生成部１１３は、条件ＤＡに基づいて、暗号文：ＣＢ＝Ｅｎｃ（ＸＢ，ＤＡ）を生成する（Ｓ１１３）。
【００１８】
次に、公開掲示装置２について説明する。鍵共有装置１のユーザは自分の所望する属性を有する者のみと鍵共有を行いたい場合には、公開掲示装置２にアクセスし、上述の手順により生成した暗号文Ｃを、公開掲示装置２が提供する掲示板上に手動でアップロード（掲載）する。上述の例では、鍵共有装置１Ａのユーザは、暗号文ＣＡ＝Ｅｎｃ（ＸＡ，ＤＢ）を、鍵共有装置１Ｂのユーザは、暗号文ＣＢ＝Ｅｎｃ（ＸＢ，ＤＡ）を、公開掲示装置２が提供する掲示板上にアップロードする。
【００１９】
鍵共有装置１のユーザは、公開掲示装置２が提供する掲示板を閲覧し、暗号文と関連付けて記載されたコメント、説明などを手掛かりに、所望の暗号文をダウンロード、あるいは、ブラウザのキャッシュに一時記憶された暗号文を自装置の所定の記憶領域に複製する。あるいは鍵共有装置１のユーザは、公開掲示装置２が提供する掲示板にアップロードされた暗号文を全てダウンロード、複製してもよい。暗号文の取得方法は、公開掲示装置２が提供するサービスの仕様によって異なる。この例では、鍵共有装置１Ａのユーザは暗号文ＣＢをダウンロードし、鍵共有装置１Ｂのユーザは暗号文ＣＡをダウンロードしたものとする。
【００２０】
以下、図５を参照して鍵生成部１２の動作について説明する。図５は、本実施例の鍵共有装置１の鍵生成部１２の動作を示すフローチャートである。鍵共有装置１Ａ、１Ｂの属性情報生成部１２２は、鍵共有装置１Ａ、１Ｂのユーザそれぞれの属性を表す属性情報ＡｔｒＡ、ＡｔｒＢに基づいて、例えば参考非特許文献１の属性ベース暗号の鍵生成関数ＫｅｙＧｅｎを用いて、属性鍵ＳＫＡ、ＳＫＢを生成し、生成した属性鍵ＳＫＡ、ＳＫＢを属性鍵記憶部１２３に記憶する（Ｓ１２２）。各ユーザの属性情報は、鍵共有装置１の属性情報記憶部１２１に予め記憶されているものとする。なお、信頼できる第三者機関（ＴＴＰ）などにより属性鍵が生成される場合、属性情報記憶部１２１、属性情報生成部１２２、ステップＳ１２２は省略可能である。この場合、鍵共有装置１は前もって第三者機関（ＴＴＰ）から属性鍵を受け取り、属性鍵記憶部１２３に予め記憶しておく。
【００２１】
鍵共有装置１Ａの復号部１２４は、属性鍵記憶部１２３に記憶された属性鍵ＳＫＡを用いて、他の鍵共有装置（この例では鍵共有装置１Ｂ）が生成し所定の公開掲示装置２により公開された暗号文ＣＢを復号して復号結果Ｘ’Ｂを取得する（Ｓ１２４）。詳細には、鍵共有装置１Ａの復号部１２４は、暗号文ＣＢの復号結果Ｘ’Ｂ＝Ｄｅｃ（ＣＢ，ＳＫＡ）を取得する。ステップＳ１２４において正しく復号が行われた場合、すなわち鍵共有装置１Ｂが提示した条件ＤＡと、鍵共有装置１Ａの属性を反映した属性鍵ＳＫＡとが合致した場合、復号結果Ｘ’Ｂ＝ＸＢとなる。ステップＳ１２４において正しく復号が行われなかった場合、すなわち鍵共有装置１Ｂが提示した条件ＤＡと、鍵共有装置１Ａの属性を反映した属性鍵ＳＫＡとが合致しなかった場合、復号結果Ｘ’Ｂ≠ＸＢ、つまり正しい復号結果が得られない。鍵共有装置１Ａの共有鍵生成部１２５は、復号結果Ｘ’Ｂと乱数ＲＡを用いて共有鍵Ｋを生成する（Ｓ１２５）。具体的には、鍵共有装置１Ａの共有鍵生成部１２５は、共有鍵を、Ｋ＝Ｘ’Ｂ＾ＲＡの計算から求める。復号が正しく行われた場合、Ｘ’Ｂ＝ＸＢであるため、Ｋ＝Ｘ’Ｂ＾ＲＡ＝ＸＢ＾ＲＡ＝（ｇ＾ＲＢ）＾ＲＡとなる。
【００２２】
鍵共有装置１Ｂも同様に動作する。すなわち、鍵共有装置１Ｂの復号部１２４は、暗号文ＣＡの復号結果Ｘ’Ａ＝Ｄｅｃ（ＣＡ，ＳＫＢ）を取得し、鍵共有装置１Ｂの共有鍵生成部１２５は、共有鍵を、Ｋ＝Ｘ’Ａ＾ＲＢの計算から求める。復号が正しく行われた場合、Ｘ’Ａ＝ＸＡであるため、Ｋ＝Ｘ’Ａ＾ＲＢ＝ＸＡ＾ＲＢ＝（ｇ＾ＲＡ）＾ＲＢとなるため、鍵共有装置１Ａで正しく生成された共有鍵Ｋと同一の共有鍵Ｋを生成することができる。共有鍵生成部１２５は、このように生成した共有鍵Ｋを共有鍵記憶部１２６に記憶する。
【００２３】
上述のように鍵共有装置１Ａ、１Ｂは相手を特定せず、かつ直接の通信を行わずに、指定した条件ＤＡとＤＢが、それぞれ相手の属性ＡｔｒＡ、ＡｔｒＢに当てはまる場合のみ、共有鍵Ｋを共有することができる。
【００２４】
なお上述した実施例１の鍵共有システム１００（属性ベース認証鍵共有方式）では、鍵共有に用いられる乱数ＲＡ、ＲＢおよび属性ベース暗号に用いられる秘密鍵ＳＫＡ、ＳＫＢがともに漏えいしないことが安全性の前提となる。ＲＡとＳＫＡのどちらか片方だけが漏えいした場合でも安全性を守れる方法として、以下のようにシステムを変更してもよい。鍵共有装置１Ａが乱数ＲＡを生成した後に、暗号学的ハッシュ関数Ｈ（）を用いてＸＡを生成する際にはＸＡ＝ｇ＾Ｈ（ＲＡ，ＳＫＡ）を求めてから暗号文ＣＡ＝Ｅｎｃ（ＸＡ，ＤＢ）を作成する。同様に、鍵共有装置１Ｂも乱数ＲＡを生成した後に、暗号学的ハッシュ関数Ｈ（）を用いてＸＡを生成する際にはＸＡ＝ｇ＾Ｈ（ＲＡ，ＳＫＡ）を求めてから暗号文ＣＡ＝Ｅｎｃ（ＸＡ，ＤＢ）を作成する。
【００２５】
＜本実施例の効果＞
本実施例の鍵共有システム１００、鍵共有装置１によれば、相手を指定せずに属性が条件に合うものとの鍵共有を行うことを可能とする「属性による認証つき鍵共有」が実現できた。本実施例の鍵共有システム１００、鍵共有装置１では一時的に生成する乱数、または属性に基づく秘密情報、のいずれかが漏えいしない限り共有鍵の情報が漏れない、すなわち高い安全性を実現した。本実施例で使用する属性ベース暗号が匿名性を持つ方式であれば、匿名掲示板を監視している第三者には鍵共有を行っている者の属性に関する情報が漏れない、匿名性のある鍵共有を実現できる。また、通常の認証鍵交換方式は２者間でのみ鍵交換を行うものであるのに対し、本実施例の鍵共有システム１００では属性が条件に合う者どうしであれば同時に鍵を共有を行うことができるという副次的効果も達成できた。
【００２６】
＜補記＞
本発明の装置は、例えば単一のハードウェアエンティティとして、キーボードなどが接続可能な入力部、液晶ディスプレイなどが接続可能な出力部、ハードウェアエンティティの外部に通信可能な通信装置（例えば通信ケーブル）が接続可能な通信部、ＣＰＵ（Central Processing Unit、キャッシュメモリやレジスタなどを備えていてもよい）、メモリであるＲＡＭやＲＯＭ、ハードディスクである外部記憶装置並びにこれらの入力部、出力部、通信部、ＣＰＵ、ＲＡＭ、ＲＯＭ、外部記憶装置の間のデータのやり取りが可能なように接続するバスを有している。また必要に応じて、ハードウェアエンティティに、ＣＤ−ＲＯＭなどの記録媒体を読み書きできる装置（ドライブ）などを設けることとしてもよい。このようなハードウェア資源を備えた物理的実体としては、汎用コンピュータなどがある。
【００２７】
ハードウェアエンティティの外部記憶装置には、上述の機能を実現するために必要となるプログラムおよびこのプログラムの処理において必要となるデータなどが記憶されている（外部記憶装置に限らず、例えばプログラムを読み出し専用記憶装置であるＲＯＭに記憶させておくこととしてもよい）。また、これらのプログラムの処理によって得られるデータなどは、ＲＡＭや外部記憶装置などに適宜に記憶される。
【００２８】
ハードウェアエンティティでは、外部記憶装置（あるいはＲＯＭなど）に記憶された各プログラムとこの各プログラムの処理に必要なデータが必要に応じてメモリに読み込まれて、適宜にＣＰＵで解釈実行・処理される。その結果、ＣＰＵが所定の機能（上記、…部、…手段などと表した各構成要件）を実現する。
【００２９】
本発明は上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。また、上記実施形態において説明した処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されるとしてもよい。
【００３０】
既述のように、上記実施形態において説明したハードウェアエンティティ（本発明の装置）における処理機能をコンピュータによって実現する場合、ハードウェアエンティティが有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記ハードウェアエンティティにおける処理機能がコンピュータ上で実現される。
【００３１】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ（Random Access Memory）、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）等を、光磁気記録媒体として、ＭＯ（Magneto-Optical disc）等を、半導体メモリとしてＥＥＰ−ＲＯＭ（Electronically Erasable and Programmable-Read Only Memory）等を用いることができる。
【００３２】
また、このプログラムの流通は、例えば、そのプログラムを記録したＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【００３３】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるＡＳＰ（Application Service Provider）型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの（コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等）を含むものとする。
【００３４】
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、ハードウェアエンティティを構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【図１】
0006320943.tif 000002
【図２】
0006320943.tif 000003
【図３】
0006320943.tif 000004
【図４】
0006320943.tif 000005
【図５】
0006320943.tif 000006