(57)【特許請求の範囲】
【請求項１】
Ｎを２以上の整数とし、Ｎ台の端末装置と、鍵配送管理装置と、認証情報データベースを含むサーバ・クライアントシステムにおける前記端末装置であって、
自装置がオーナー装置として動作する場合に、セッションに参加する端末装置のＩＤを含むユーザリストおよび自装置のＩＤを含む鍵配送リクエストを生成して、自装置の秘密鍵を用いて前記鍵配送リクエストに署名して、前記鍵配送リクエストを前記鍵配送管理装置に送信し、前記鍵配送管理装置との接続を維持するリスト・リクエスト送信部と、
自装置が一般装置として動作する場合に、自装置のＩＤを含む参加リクエストを生成して、自装置の秘密鍵を用いて前記参加リクエストに署名して、前記参加リクエストを前記鍵配送管理装置に送信し、前記鍵配送管理装置との接続を維持する参加リクエスト送信部と、
前記セッションに参加する他の端末装置および前記鍵配送管理装置と協働してサーバ・クライアント型の認証付き多地点鍵配送アルゴリズムを実行してセッション鍵を生成するセッション鍵生成部と、
前記セッション鍵を正常に生成した場合に、前記セッション鍵を正常に生成できたことを示す成功通知を前記鍵配送管理装置に送信し、前記鍵配送管理装置から、前記セッションに参加する全ての端末装置から前記成功通知を受信したことを意味する全体通知を受信する事後確認部と、
を含む端末装置。
【請求項２】
Ｎを２以上の整数とし、Ｎ台の端末装置と、鍵配送管理装置と、認証情報データベースを含むサーバ・クライアントシステムにおける前記鍵配送管理装置であって、
オーナー装置として動作する前記端末装置からセッションに参加する端末装置のＩＤを含むユーザリストおよび前記オーナー装置のＩＤを含み、前記オーナー装置の秘密鍵により署名された鍵配送リクエストを受信し、前記認証情報データベースから前記オーナー装置の検証鍵を取得し、前記鍵配送リクエストの署名を検証し、前記ユーザリストに含まれる端末装置のＩＤが全て前記認証情報データベースに存在するＩＤであるか否かを検証し、検証結果に応じて、自装置の秘密鍵を用いて署名したレスポンスを前記オーナー装置に送信し、一般装置として動作する前記端末装置から、前記一般装置の秘密鍵により署名された参加リクエストであって、前記一般装置のＩＤを含む参加リクエストを受信し、前記認証情報データベースから前記一般装置の検証鍵を取得し、前記参加リクエストの署名を検証し、検証結果に応じて、自装置の秘密鍵を用いて署名したレスポンスを前記一般装置に送信するリクエスト検証部と、
前記セッションに参加する端末装置と協働してサーバ・クライアント型の認証付き多地点鍵配送アルゴリズムを実行して前記セッションに参加する端末装置にセッション鍵を生成させるセッション鍵生成部と、
前記セッション鍵を正常に生成できたことを示す成功通知を前記セッションに参加する端末装置から受信し、前記セッションに参加する全ての端末装置から前記成功通知を受信したことを意味する全体通知を前記セッションに参加する全ての端末装置に送信する事後検証部と、
を含む鍵配送管理装置。
【請求項３】
Ｎを２以上の整数とし、Ｎ台の端末装置と、鍵配送管理装置と、認証情報データベースを含むサーバ・クライアントシステムであって、
前記端末装置は、
自装置がオーナー装置として動作する場合に、セッションに参加する端末装置のＩＤを含むユーザリストおよび自装置のＩＤを含む鍵配送リクエストを生成して、自装置の秘密鍵を用いて前記鍵配送リクエストに署名して、前記鍵配送リクエストを前記鍵配送管理装置に送信し、前記鍵配送管理装置との接続を維持するリスト・リクエスト送信部と、
自装置が一般装置として動作する場合に、自装置のＩＤを含む参加リクエストを生成して、自装置の秘密鍵を用いて前記参加リクエストに署名して、前記参加リクエストを前記鍵配送管理装置に送信し、前記鍵配送管理装置との接続を維持する参加リクエスト送信部と、
前記セッションに参加する他の端末装置および前記鍵配送管理装置と協働してサーバ・クライアント型の認証付き多地点鍵配送アルゴリズムを実行してセッション鍵を生成するセッション鍵生成部と、
前記セッション鍵を正常に生成した場合に、前記セッション鍵を正常に生成できたことを示す成功通知を前記鍵配送管理装置に送信し、前記鍵配送管理装置から、前記セッションに参加する全ての端末装置から前記成功通知を受信したことを意味する全体通知を受信する事後確認部を含み、
前記鍵配送管理装置は、
前記オーナー装置から前記鍵配送リクエストを受信し、前記認証情報データベースから前記オーナー装置の検証鍵を取得し、前記鍵配送リクエストの署名を検証し、前記ユーザリストに含まれる端末装置のＩＤが全て前記認証情報データベースに存在するＩＤであるか否かを検証し、検証結果に応じて、自装置の秘密鍵を用いて署名したレスポンスを前記オーナー装置に送信し、前記一般装置から、前記参加リクエストを受信し、前記認証情報データベースから前記一般装置の検証鍵を取得し、前記参加リクエストの署名を検証し、検証結果に応じて、自装置の秘密鍵を用いて署名したレスポンスを前記一般装置に送信するリクエスト検証部と、
前記セッションに参加する端末装置と協働してサーバ・クライアント型の認証付き多地点鍵配送アルゴリズムを実行して前記セッションに参加する端末装置にセッション鍵を生成させるセッション鍵生成部と、
前記成功通知を前記セッションに参加する端末装置から受信し、前記全体通知を前記セッションに参加する全ての端末装置に送信する事後検証部と、
を含むサーバ・クライアントシステム。
【請求項４】
Ｎを２以上の整数とし、Ｎ台の端末装置と、鍵配送管理装置と、認証情報データベースを含むサーバ・クライアントシステムにおける前記端末装置が実行する通信方法であって、
自装置がオーナー装置として動作する場合に、セッションに参加する端末装置のＩＤを含むユーザリストおよび自装置のＩＤを含む鍵配送リクエストを生成して、自装置の秘密鍵を用いて前記鍵配送リクエストに署名して、前記鍵配送リクエストを前記鍵配送管理装置に送信し、前記鍵配送管理装置との接続を維持するステップと、
自装置が一般装置として動作する場合に、自装置のＩＤを含む参加リクエストを生成して、自装置の秘密鍵を用いて前記参加リクエストに署名して、前記参加リクエストを前記鍵配送管理装置に送信し、前記鍵配送管理装置との接続を維持するステップと、
前記セッションに参加する他の端末装置および前記鍵配送管理装置と協働してサーバ・クライアント型の認証付き多地点鍵配送アルゴリズムを実行してセッション鍵を生成するステップと、
前記セッション鍵を正常に生成した場合に、前記セッション鍵を正常に生成できたことを示す成功通知を前記鍵配送管理装置に送信し、前記鍵配送管理装置から、前記セッションに参加する全ての端末装置から前記成功通知を受信したことを意味する全体通知を受信するステップと、
を含む通信方法。
【請求項５】
Ｎを２以上の整数とし、Ｎ台の端末装置と、鍵配送管理装置と、認証情報データベースを含むサーバ・クライアントシステムにおける前記鍵配送管理装置が実行する通信方法であって、
オーナー装置として動作する前記端末装置からセッションに参加する端末装置のＩＤを含むユーザリストおよび前記オーナー装置のＩＤを含み、前記オーナー装置の秘密鍵により署名された鍵配送リクエストを受信し、前記認証情報データベースから前記オーナー装置の検証鍵を取得し、前記鍵配送リクエストの署名を検証し、前記ユーザリストに含まれる端末装置のＩＤが全て前記認証情報データベースに存在するＩＤであるか否かを検証し、検証結果に応じて、自装置の秘密鍵を用いて署名したレスポンスを前記オーナー装置に送信し、一般装置として動作する前記端末装置から、前記一般装置の秘密鍵により署名された参加リクエストであって、前記一般装置のＩＤを含む参加リクエストを受信し、前記認証情報データベースから前記一般装置の検証鍵を取得し、前記参加リクエストの署名を検証し、検証結果に応じて、自装置の秘密鍵を用いて署名したレスポンスを前記一般装置に送信するステップと、
前記セッションに参加する端末装置と協働してサーバ・クライアント型の認証付き多地点鍵配送アルゴリズムを実行して前記セッションに参加する端末装置にセッション鍵を生成させるステップと、
前記セッション鍵を正常に生成できたことを示す成功通知を前記セッションに参加する端末装置から受信し、前記セッションに参加する全ての端末装置から前記成功通知を受信したことを意味する全体通知を前記セッションに参加する全ての端末装置に送信するステップと、
を含む通信方法。
【請求項６】
Ｎを２以上の整数とし、Ｎ台の端末装置と、鍵配送管理装置と、認証情報データベースを含むサーバ・クライアントシステムが実行する通信方法であって、
オーナー装置として動作する前記端末装置は、
セッションに参加する端末装置のＩＤを含むユーザリストおよび自装置のＩＤを含む鍵配送リクエストを生成して、自装置の秘密鍵を用いて前記鍵配送リクエストに署名して、前記鍵配送リクエストを前記鍵配送管理装置に送信し、前記鍵配送管理装置との接続を維持するステップを実行し、
前記鍵配送管理装置は、
前記オーナー装置から前記鍵配送リクエストを受信し、前記認証情報データベースから前記オーナー装置の検証鍵を取得し、前記鍵配送リクエストの署名を検証し、前記ユーザリストに含まれる端末装置のＩＤが全て前記認証情報データベースに存在するＩＤであるか否かを検証し、検証結果に応じて、自装置の秘密鍵を用いて署名したレスポンスを前記オーナー装置に送信するステップを実行し、
一般装置として動作する端末装置は、
自装置のＩＤを含む参加リクエストを生成して、自装置の秘密鍵を用いて前記参加リクエストに署名して、前記参加リクエストを前記鍵配送管理装置に送信し、前記鍵配送管理装置との接続を維持するステップを実行し、
前記鍵配送管理装置は、
前記一般装置から、前記参加リクエストを受信し、前記認証情報データベースから前記一般装置の検証鍵を取得し、前記参加リクエストの署名を検証し、検証結果に応じて、自装置の秘密鍵を用いて署名したレスポンスを前記一般装置に送信するステップを実行し、
前記セッションに参加する端末装置は、
前記セッションに参加する他の端末装置および前記鍵配送管理装置と協働してサーバ・クライアント型の認証付き多地点鍵配送アルゴリズムを実行してセッション鍵を生成するステップを実行し、
前記鍵配送管理装置は、
前記セッションに参加する端末装置と協働してサーバ・クライアント型の認証付き多地点鍵配送アルゴリズムを実行して前記セッションに参加する端末装置にセッション鍵を生成させるステップを実行し、
前記セッションに参加する端末装置は、
前記セッション鍵を正常に生成した場合に、前記セッション鍵を正常に生成できたことを示す成功通知を前記鍵配送管理装置に送信するステップを実行し、
前記鍵配送管理装置は、
前記成功通知を前記セッションに参加する端末装置から受信し、前記セッションに参加する全ての端末装置から前記成功通知を受信したことを意味する全体通知を前記セッションに参加する全ての端末装置に送信するステップを実行し、
前記セッションに参加する端末装置は、
前記鍵配送管理装置から、前記全体通知を受信するステップを実行する
通信方法。
【請求項７】
コンピュータを請求項1に記載の端末装置として機能させるプログラム。
【請求項８】
コンピュータを請求項２に記載の鍵配送管理装置として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーバ・クライアント型の認証付き多地点鍵配送アルゴリズムを実行する端末装置、鍵配送管理装置、サーバ・クライアントシステム、通信方法、プログラムに関する。
【背景技術】
【０００２】
近年、政府が関与する大規模な盗聴疑惑が明らかになるなど、現在使用している暗号通信方法では、通信や通話に対する秘匿性の確保が難しくなってきている。従って、クライアント間で安全に通信や通話を行う方法を改めて構築する必要性が高まりつつある。【０００３】
上記を受けて、大規模な盗聴者に対しても、多地点で安全に通話できるシステムを、ＳＩＰサーバ、クライアント、鍵配送管理装置を用いた暗号電話システムにより達成している。【０００４】
通話の秘匿性を確保する方法としてＳＩＰ＋ＳＲＴＰプロトコルを用いる方法が存在する。関連するプロトコルとして、以下が知られている。
RFC3261（セッションを確立するためのプロトコル、例えば非特許文献１）
RFC4568（暗号セッションを張るための記法などを定めたプロトコル）
RFC3711（１対１の暗号通話を行うためのプロトコル）
同様に、通話以外の通信においても上記と同様に１対１の暗号セッションを張る技術が多数存在する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１６−１３４８２６号公報
【特許文献２】国際公開第２０１６／１９９５０７号
【非特許文献】
【０００６】
【非特許文献１】J. Rosenberg他、"SIP(セッション開始プロトコル)"、[online]、[平成28年6月3日検索]、インターネット<URL:http://www.softfront.co.jp/tech/ietfdoc/trans/rfc3261j.txt>
【発明の概要】
【発明が解決しようとする課題】
【０００７】
前述したプロトコルによる暗号通信・通話では、以下が達成できない。
（１）暗号通信・通話を開始するためのセッション鍵の交換はセッション開始時にのみ行なわれるため、セッション中にセッション鍵を更新することが出来ない。
（２）セッション鍵を交換するためのメッセージ形式が、あるプロトコルで利用される送受信メッセージの形式に依存してしまう。
（３）１対１以上の通信・通話では利用できない。
上記の課題をＳＩＰ＋ＳＲＴＰに照らしあわせた場合、
（１）鍵交換は通話開始時にのみ行なわれ、セッション中にセッション鍵を更新することが出来ない。
（２）鍵交換は、ＳＩＰプロトコルのＩＮＶＩＴＥメッセージ等の中に埋め込むことで行うため、当該メッセージに依存してしまう。
（３）電話会議などの多人数の電話には利用できない。【０００８】
そこで本発明では、既存のサーバ装置に依存せずに、複数の端末装置間で暗号通信に用いるセッション鍵を任意のタイミングで共有することができる端末装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の端末装置は、Ｎを２以上の整数とし、Ｎ台の端末装置と、鍵配送管理装置と、認証情報データベースを含むサーバ・クライアントシステムにおける端末装置である。端末装置は、リスト・リクエスト送信部と、参加リクエスト送信部と、セッション鍵生成部と、事後確認部を含む。【００１０】
リスト・リクエスト送信部は、自装置がオーナー装置として動作する場合に、セッションに参加する端末装置のＩＤを含むユーザリストおよび自装置のＩＤを含む鍵配送リクエストを生成して、自装置の秘密鍵を用いて鍵配送リクエストに署名して、鍵配送リクエストを鍵配送管理装置に送信し、鍵配送管理装置との接続を維持する。【００１１】
参加リクエスト送信部は、自装置が一般装置として動作する場合に、自装置のＩＤを含む参加リクエストを生成して、自装置の秘密鍵を用いて参加リクエストに署名して、参加リクエストを鍵配送管理装置に送信し、鍵配送管理装置との接続を維持する。【００１２】
セッション鍵生成部は、セッションに参加する他の端末装置および鍵配送管理装置と協働してサーバ・クライアント型の認証付き多地点鍵配送アルゴリズムを実行してセッション鍵を生成する。【００１３】
事後確認部は、セッション鍵を正常に生成した場合に、セッション鍵を正常に生成できたことを示す成功通知を鍵配送管理装置に送信し、鍵配送管理装置から、セッションに参加する全ての端末装置から成功通知を受信したことを意味する全体通知を受信する。
【発明の効果】
【００１４】
本発明の端末装置によれば、既存のサーバ装置に依存せずに、複数の端末装置間で暗号通信に用いるセッション鍵を任意のタイミングで共有することができる。
【図面の簡単な説明】
【００１５】
【図１】実施例１のサーバ・クライアントシステムの概略構成を示すブロック図。
【図２】実施例１の鍵配送管理装置の構成を示すブロック図。
【図３】実施例１の端末装置の構成を示すブロック図。
【図４】実施例１のサーバ・クライアントシステムのリスト・リクエスト送信・検証動作を示すシーケンス図。
【図５】実施例１のサーバ・クライアントシステムの参加リクエスト送信・検証動作を示すシーケンス図。
【図６】実施例１のサーバ・クライアントシステムのセッション鍵生成動作（サーバ・クライアント型の認証付き多地点鍵配送アルゴリズム）を示すシーケンス図。
【図７】実施例１のサーバ・クライアントシステムの事後検証・事後確認動作を示すシーケンス図。
【図８】実施例１のサーバ・クライアントシステムのセッション鍵更新動作を示すシーケンス図。
【図９】実施例１のサーバ・クライアントシステムを従来のＳＩＰサーバと組み合わせてＳＲＴＰによる暗号電話システムを実現した例を示す図。
【発明を実施するための形態】
【００１６】
以下、本発明の実施の形態について、詳細に説明する。なお、同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
【実施例１】
【００１７】
以下、図１を参照して実施例１のサーバ・クライアントシステムの構成について説明する。図１に示すように本実施例のサーバ・クライアントシステム１は、鍵配送管理装置１１と、Ｎ台（ただしＮを２以上の整数とする）の端末装置１２−１、…、１２−Ｎと、認証情報データベース１３を含み、端末装置１２−１、…、１２−Ｎと鍵配送管理装置１１とはインターネット等の安全ではない通信路を通じて通信可能に構成されている。認証情報データベース１３には、端末装置１２−１、…、１２−Ｎを認証するための認証情報が格納されている（例えば、端末装置１２−１、…、１２−ＮのＩＤとＲＳＡ公開鍵）。また鍵配送管理装置１１、端末装置１２−１、…、１２−Ｎは自身の認証のために秘密情報（例えば、ＲＳＡ秘密鍵）を所持しているものとする。【００１８】
以下、図２を参照して本実施例の鍵配送管理装置１１の構成について説明する。図２に示すように、本実施例の鍵配送管理装置１１は、リクエスト検証部１１Ａと、セッション鍵生成部１１Ｃと、事後検証部１１Ｄを含む。リクエスト検証部１１Ａは、リスト／リクエスト受信部１１Ａ１、検証鍵取得部１１Ａ２、署名検証部１１Ａ３、クライアント検証部１１Ａ４、署名生成部１１Ａ５、レスポンス送信部１１Ａ６を含む。セッション鍵生成部１１Ｃは、制御部１１０、配送処理部１１１、１１２、通信部１１８、記憶部１１９を含む。事後検証部１１Ｄは、鍵更新リクエスト送信部１１Ｄ１、成功通知受信部１１Ｄ２、全体通知送信部１１Ｄ３を含む。【００１９】
以下、図３を参照して本実施例の端末装置１２の構成について説明する。図３に示すように、本実施例の端末装置１２は、リスト・リクエスト送信部１２Ａと、参加リクエスト送信部１２Ｂと、セッション鍵生成部１２Ｃと、事後確認部１２Ｄを含む。リスト・リクエスト送信部１２Ａは、ユーザリスト記憶部１２Ａ１、鍵配送リクエスト生成部１２Ａ２、署名部１２Ａ３、リスト／リクエスト送信部１２Ａ４、接続制御部１２Ａ５を含む。参加リクエスト送信部１２Ｂは、参加リクエスト生成部１２Ｂ１、署名部１２Ｂ２、参加リクエスト送信部１２Ｂ３、接続制御部１２Ｂ４を含む。セッション鍵生成部１２Ｃは、制御部１２０、処理部１２１〜１２４、通信部１２８、記憶部１２９を含む。事後確認部１２Ｄは、鍵更新リクエスト受信部１２Ｄ１、成功通知生成部１２Ｄ２、成功通知送信部１２Ｄ３、全体通知受信部１２Ｄ４を含む。【００２０】
各装置は、例えば、通信装置、ＣＰＵ（central processing unit）等のプロセッサ（ハードウェア・プロセッサ）やＲＡＭ（random-access memory）・ＲＯＭ（read-only memory）等のメモリ等を備える汎用または専用のコンピュータが所定のプログラムを実行することで構成される装置である。このコンピュータは１個のプロセッサやメモリを備えていてもよいし、複数個のプロセッサやメモリを備えていてもよい。このプログラムはコンピュータにインストールされてもよいし、予めＲＯＭ等に記録されていてもよい。また、ＣＰＵのようにプログラムが読み込まれることで機能構成を実現する電子回路（circuitry）ではなく、プログラムを用いることなく処理機能を実現する電子回路を用いて一部またはすべての処理部が構成されてもよい。また、１個の装置を構成する電子回路が複数のＣＰＵを含んでいてもよい。また、各装置は自らが備える制御部１１０，１２０の制御に基づいて各処理を実行する。各装置の各処理で得られたデータは、逐一、それぞれが備える記憶部１１９，１２９に格納され、必要に応じて読み出されて使用される。【００２１】
以下、図４〜図８を参照して各装置の動作について詳細に説明する。ここでは、端末装置１２−１〜１２−Ｎからなる集合の部分集合（ユーザ集合）である端末装置１２−σ（１）〜１２−σ（ｎ）がセッションを立ち上げ、セッション鍵を共有する処理を説明する。ただし、ｎは２以上Ｎ以下の整数であり、｛σ（１），・・・，σ（ｎ）｝⊂｛１，・・・，Ｎ｝であるとする。以降、記述を簡単にするために、一般性を失うことなく（σ（１），・・・，σ（ｎ））＝（１，・・・，ｎ）と仮定することにする。【００２２】
なお、以下の説明では、端末装置１２−ｎがオーナ装置として振る舞うものとし、セッションに参加する他の端末装置１２−１，…，１２−（ｎ−１）は一般装置として振る舞うものとして説明する。【００２３】
＜ステップＳ１２Ａ＞
オーナー装置として動作する端末装置１２−ｎのリスト・リクエスト送信部１２Ａは、セッションに参加する端末装置（１２−１，…，１２−ｎ）のＩＤを含むユーザリストおよび自装置のＩＤを含む鍵配送リクエストを生成して、自装置の秘密鍵を用いて鍵配送リクエストに署名して、鍵配送リクエストを鍵配送管理装置１１に送信し、鍵配送管理装置１１との接続を維持する（この動作をステップＳ１２Ａと呼称する）。【００２４】
詳細には、リスト・リクエスト送信部１２Ａのユーザリスト記憶部１２Ａ１は、何らかの方法で取得したユーザリストを予め記憶している。鍵配送リクエスト生成部１２Ａ２は、自装置のＩＤとユーザリストを含む鍵配送リクエストを生成する（Ｓ１２Ａ２）。署名部１２Ａ３は、自装置の秘密鍵を用いて鍵配送リクエストに署名する（Ｓ１２Ａ３）。リスト／リクエスト送信部１２Ａ４は、鍵配送リクエストを鍵配送管理装置１１に送信する（Ｓ１２Ａ４）。接続制御部１２Ａ５は、鍵配送管理装置１１との接続を維持する（Ｓ１２Ａ５）。【００２５】
＜ステップＳ１１Ａ＞
鍵配送管理装置１１のリクエスト検証部１１Ａは、オーナー装置１２−ｎから鍵配送リクエストを受信し、認証情報データベース１３からオーナー装置１２−ｎの検証鍵を取得し、鍵配送リクエストの署名を検証し、ユーザリストに含まれる端末装置（１２−１，…，１２−ｎ）のＩＤが全て認証情報データベース１３に存在するＩＤであるか否かを検証し、検証結果に応じて、自装置の秘密鍵を用いて署名したレスポンスをオーナー装置１２−ｎに送信する（この動作をステップＳ１１Ａと呼称する）。【００２６】
詳細には、リクエスト検証部１１Ａのリスト／リクエスト受信部１１Ａ１は、オーナー装置１２−ｎから鍵配送リクエストを受信する（Ｓ１１Ａ１）。検証鍵取得部１１Ａ２は、認証情報データベース１３からオーナー装置１２−ｎの検証鍵を取得する（Ｓ１１Ａ２）。署名検証部１１Ａ３は、鍵配送リクエストの署名を検証する（Ｓ１１Ａ３）。クライアント検証部１１Ａ４は、ユーザリストに含まれる端末装置（１２−１，…，１２−ｎ）のＩＤが全て認証情報データベース１３に存在するＩＤであるか否かを検証する（Ｓ１１Ａ４）。署名生成部１１Ａ５は、検証結果に応じて、自装置の秘密鍵を用いてレスポンスに署名する（Ｓ１１Ａ５）。レスポンス送信部１１Ａ６は、署名したレスポンスをオーナー装置１２−ｎに送信する（Ｓ１１Ａ６）。【００２７】
＜ステップＳ１２Ｂ＞
一般装置として動作する端末装置１２−１，…，１２−（ｎ−１）の参加リクエスト送信部１２Ｂは、自装置のＩＤを含む参加リクエストを生成して、自装置の秘密鍵を用いて参加リクエストに署名して、参加リクエストを鍵配送管理装置１１に送信し、鍵配送管理装置１１との接続を維持する（この動作をステップＳ１２Ｂと呼称する）。【００２８】
詳細には、参加リクエスト送信部１２Ｂの参加リクエスト生成部１２Ｂ１は、自装置のＩＤを含む参加リクエストを生成する（Ｓ１２Ｂ１）。署名部１２Ｂ２は、自装置の秘密鍵を用いて参加リクエストに署名する（Ｓ１２Ｂ２）。参加リクエスト送信部１２Ｂ３は、参加リクエストを鍵配送管理装置１１に送信する（Ｓ１２Ｂ３）。接続制御部１２Ｂ４は、鍵配送管理装置１１との接続を維持する（Ｓ１２Ｂ４）。【００２９】
＜ステップＳ１１Ａ（２）＞
鍵配送管理装置１１のリクエスト検証部１１Ａは、一般装置１２−１，…，１２−（ｎ−１）から、参加リクエストを受信し、認証情報データベース１３から一般装置１２−１，…，１２−（ｎ−１）の検証鍵を取得し、参加リクエストの署名を検証し、検証結果に応じて、自装置の秘密鍵を用いて署名したレスポンスを一般装置１２−１，…，１２−（ｎ−１）に送信する（この動作をステップＳ１１Ａ（２）と呼称する）。【００３０】
詳細には、リクエスト検証部１１Ａのリスト／リクエスト受信部１１Ａ１は、一般装置１２−１，…，１２−（ｎ−１）から参加リクエストを受信する（Ｓ１１Ａ１（２））。検証鍵取得部１１Ａ２は、認証情報データベース１３から一般装置１２−１，…，１２−（ｎ−１）の検証鍵を取得する（Ｓ１１Ａ２（２））。署名検証部１１Ａ３は、参加リクエストの署名を検証する（Ｓ１１Ａ３（２））。署名生成部１１Ａ５は、検証結果に応じて、自装置の秘密鍵を用いてレスポンスに署名する（Ｓ１１Ａ５（２））。レスポンス送信部１１Ａ６は、署名したレスポンスを一般装置１２−１，…，１２−（ｎ−１）に送信する（Ｓ１１Ａ６（２））。【００３１】
＜ステップＳ１２Ｃ＞
セッションに参加する端末装置１２−ｐ（ただしｐは１，…，ｎのいずれか）のセッション鍵生成部１２Ｃは、セッションに参加する他の端末装置１２−ｑ（ただしｑ≠ｐかつｑ＝１，…，ｎ）および鍵配送管理装置１１と協働してサーバ・クライアント型の認証付き多地点鍵配送アルゴリズムを実行してセッション鍵を生成する（この動作をステップＳ１２Ｃと呼称する）。なお、端末装置１２−ｐは、他の端末装置１２−ｑとは直接通信路で接続されておらず、各端末装置の演算結果はすべて鍵配送管理装置１１に送信され、演算結果を受信した鍵配送管理装置１１は、当該演算結果に基づく演算結果を各端末装置１２−１，…，１２−（ｎ−１）に送信する。すなわち、前述の「協働」とは、鍵配送管理装置１１のような中央装置を仲介して実行される「協働」処理を意味することに注意を要する。【００３２】
＜ステップＳ１１Ｃ＞
同様に鍵配送管理装置１１のセッション鍵生成部１１Ｃは、セッションに参加する端末装置１２−１，…，１２−ｎと協働してサーバ・クライアント型の認証付き多地点鍵配送アルゴリズムを実行してセッションに参加する端末装置１２−１，…，１２−ｎにセッション鍵を生成させる（この動作をステップＳ１１Ｃと呼称する）。【００３３】
＜ステップＳ１２Ｃ，Ｓ１１Ｃの詳細＞
以下、図６を参照してステップＳ１２Ｃ，Ｓ１１Ｃ（サーバ・クライアント型の認証付き多地点鍵配送アルゴリズム）の詳細な動作例について説明する。【００３４】
図６に例示するように、まず鍵配送管理装置１１（図２）の配送処理部１１１が、関数暗号方式に則り、端末装置１２−ｉの識別情報Ｕｉと有効時間区間（タイムフレーム）ＴＦに属する時間ｔｉｍｅ∈ＴＦに対応する情報を含む情報Ｖ（Ｕｉ，ｔｉｍｅ）に対応する秘密鍵ｕｓｋｉを生成し、各秘密鍵ｕｓｋｉを端末装置１２−ｉに安全に配送する。ただし、ｉ∈［１，ｎ］である。「有効時間区間」は、所定の時間区間であり、所定の契機で更新される。秘密鍵ｕｓｋｉは、端末装置１２−ｉの公開鍵で暗号化されてから配送されてもよいし、安全な通信路を通じて配送されてもよいし、可搬型記録媒体に格納されて配送されてもよい。秘密鍵ｕｓｋｉは端末装置１２−ｉ（図３）で復号等によって取得され、記憶部１２９−ｉに安全に格納される（ステップＳ１０１）。【００３５】
「関数暗号方式」とは、「属性情報」と呼ばれる情報と「アクセス構造（または述語情報）」と呼ばれる情報との組み合わせが所定の論理式の真理値を「真」にする関係にある場合に暗号文が復号される方式である。関数暗号方式では、「属性情報」と「アクセス構造（または述語情報）」との一方の情報が秘密鍵に埋め込まれ、他方の情報が暗号文に埋め込まれる。秘密鍵に埋め込まれた「属性情報」または「アクセス構造（または述語情報）」と暗号文に埋め込まれた「アクセス構造（または述語情報）」または「属性情報」が上述の論理式の真理値を「真」にする関係にある場合、当該秘密鍵と暗号文とから復号結果が得られる。「関数暗号方式」は「関数型暗号方式」や「述語暗号方式」と呼ばれることもあり、例えば、参考文献１（T. Okamoto, K. Takashima, "Fully Secure Functional Encryption with General Relations from the Decisional Linear Assumption," Advances in Cryptology - CRYPTO 2010, Lecture Notes in Computer Science, 2010, Volume 6223/2010, 191-208）、参考文献２（J. Katz, A. Sahai, and B. Waters., "Predicate encryption supporting disjunctions, polynomial equations, and inner products," In EUROCRYPT, pp. 146-162, 2008.）、参考文献３（T. Okamoto and K. Takashima., "Hierarchical predicate encryption for inner-products," In ASIACRYPT, pp. 214-231, 2009.）等に具体的な方式が開示されている。ただし、本実施例で使用可能な関数暗号方式はこれらの方式に限定されない。「情報Ｖ（Ｕｉ，ｔｉｍｅ）」は、識別情報Ｕｉと時間ｔｉｍｅ∈TFに対応する情報からなる情報であってもよいし、識別情報Ｕｉと時間ｔｉｍｅ∈TFに対応する情報とその他の情報（公開パラメータやセッションＩＤ等）からなる情報であってもよい。本実施例では「情報Ｖ（Ｕｉ，ｔｉｍｅ）」が「属性情報」である例を示す。「属性情報」や「アクセス構造（または述語情報）」の実装方法に限定はないが、例えば、「属性情報」や「述語情報」はベクトルまたはベクトルの集合として実装でき、「アクセス構造」は行列とその各行に対応するラベルとからなるラベル付き行列と写像（例えば、ベクトルを写す写像）とによって実装できる。例えば、「α１がη１である」という命題１と「α２がη２である」という命題２との論理和（α１＝η１）∨（α２＝η２）は（α１−η１）・（α２−η２）という多項式で表現できる。論理和（α１＝η１）∨（α２＝η２）が真である場合、（α１−η１）・（α２−η２）＝０となり、論理和（α１＝η１）∨（α２＝η２）が偽である場合、（α１−η１）・（α２−η２）≠０となる。すなわち、論理和（α１＝η１）∨（α２＝η２）が真であることと、（α１−η１）・（α２−η２）＝０となることとは等価である。また、「α１がη１である」という命題１と「α２がη２である」という命題２との論理積（α１＝η１）∧（α２＝η２）はι１・（α１−η１）＋ι２・（α２−η２）という多項式で表現できる。ただし、ι１及びι２は乱数である。論理積（α１＝η１）∧（α２＝η２）が真である場合、ι１・（α１−η１）＋ι２・（α２−η２）＝０になり、論理積（α１＝η１）∧（α２＝η２）が偽である場合、ι１・（α１−η１）＋ι２・（α２−η２）≠０となる。すなわち、論理積（α１＝η１）∧（α２＝η２）が真であることと、ι１・（α１−η１）＋ι２・（α２−η２）＝０となることとは等価である。このように、論理式は多項式によって表現することができる。また、論理式を表現する多項式は２つのベクトルの内積で表現できる。すなわち、論理式を表現する多項式は、各項の不定元成分と１とを各要素とするベクトルと、各項の係数成分を各要素とするベクトルとの内積に等しい。そのため、ベクトルまたはベクトルの集合を用いて「属性情報」や「述語情報」を実装でき、論理式の真理値が真であることを内積が０であることに置き換えることができる。同様にこのようなベクトル集合に対応する写像とラベル付き行列と用いて「アクセス構造」を実装できる。なお、ｔｉｍｅ∈ＴＦは、例えば、ＴＦ＝｛ｔｍｉｎ，・・・，ｔｍａｘ｝とすれば、（ｔｉｍｅ＝ｔｍｉｎ）∨・・・∨（ｔｉｍｅ＝ｔｍａｘ）のような論理和で表現できる（ステップＳ１０１）。  
【００３６】
次に、鍵配送管理装置１１および端末装置１２−１〜１２−ｎが協力して共有情報Ｃを生成する。この際、各端末装置１２−ｉの端末秘密値ｘｉが用いられる。例えば、Ｇを位数ｐの乗法巡回群とし、ｇ∈Ｇを群Ｇの生成元とし、ｘｉ∈Ｚｐとし、鍵配送管理装置１１および端末装置１２−１〜１２−ｎが協力してＣ：＝ｇｘ１・ｘ２・...・ｘｎを生成する。ただし、「α：＝β」はαがβを表すこと（αをβと定義すること）を意味する。上付き添え字の「ｘｉ」は「ｘｉ」を表す。集合Ｘ＝｛ｘ１，・・・，ｘｎ｝についてｇｘ１・ｘ２・...・ｘｎをｇΠＸと表記する。Ｘが空集合の場合にはΠＸ＝１となる。共有情報Ｃは、鍵配送管理装置１１（図２）の記憶部１１９に格納され、共有情報Ｃの生成に用いられた端末秘密値ｘｉは各端末装置１２−ｉ（図３）の記憶部１２９−ｉに安全に格納される（ステップＳ１０２）。【００３７】
鍵配送管理装置１１（図２）の配送処理部１１１は、第１シード値Ｋ１を生成し、関数暗号方式に則って第１シード値Ｋ１を暗号化し、端末装置１２−ｉの識別情報Ｕｉと有効時間区間ＴＦに属する時間に対応する情報を含む情報に対応する秘密鍵ｕｓｋｉで復号可能な暗号文ＣＴ’ｉを生成し、暗号文ＣＴ’ｉ（ただし、ｉ∈［１，ｎ］）と共有情報Ｃとを出力する。この暗号文ＣＴ’ｉは、秘密鍵ｕｓｋｉに対応する識別情報Ｕｉおよび時間ｔｉｍｅが論理式Ｐｉ：＝（ＩＤ＝Ｕｉ）∧（ｔｉｍｅ∈ＴＦ）を真にする場合に、当該秘密鍵ｕｓｋｉを用いて復号可能となる暗号文である。なお、第１シード値Ｋ１は記憶部１１９に格納される（ステップＳ１０３）。【００３８】
暗号文ＣＴ’ｉと共有情報Ｃは通信部１１８に送られ、通信部１１８はこれらを端末装置１２−ｉ（ただし、ｉ∈［１，ｎ］）に送信する（ステップＳ１０４）。暗号文ＣＴ’ｉと共有情報Ｃは、各端末装置１２−ｉ（ただし、ｉ∈［１，ｎ］）の通信部１２８−ｉに入力され、記憶部１２９−ｉに格納される。各処理部１２１−ｉは、記憶部１２９−ｉから秘密鍵ｕｓｋｉと暗号文ＣＴ’ｉとを読み込み、入力された秘密鍵ｕｓｋｉを用い、関数暗号方式に則って、入力された暗号文ＣＴ’ｉを復号して第１シード値Ｋ１を生成し、第１シード値Ｋ１を記憶部１２９−ｉに格納する（ステップＳ１０５）。【００３９】
各端末装置１２−ｉの処理部１２２−ｉは、記憶部１２９−ｉから共有情報Ｃと端末秘密値ｘｉを読み込み、入力された共有情報Ｃと端末秘密値ｘｉの逆元１／ｘｉとに応じた秘匿化共有情報ＳＣｉを生成し、秘匿化共有情報ＳＣｉを出力する。例えば、処理部１２２−ｉは、ＳＣｉ：＝Ｃ１／ｘｉを生成する（ステップＳ１０６）。秘匿化共有情報ＳＣｉは、通信部１２８−ｉに送られ、通信部１２８−ｉは秘匿化共有情報ＳＣｉを鍵配送管理装置１１に送信する（ステップＳ１０７）。【００４０】
秘匿化共有情報ＳＣｉ（ただし、ｉ∈［１，ｎ］）は、鍵配送管理装置１１（図２）の通信部１１８に入力され、記憶部１１９に格納される。配送処理部１１２は、管理秘密値ｘｓを生成して記憶部１１９に格納する（ステップＳ１０８）。配送処理部１１２は、記憶部１１９から秘匿化共有情報ＳＣｉ（共有情報Ｃが秘匿化された秘匿化共有情報ＳＣｉ）と管理秘密値ｘｓを読み込み、入力された秘匿化共有情報ＳＣｉと管理秘密値ｘｓとに応じた第２シード値の秘匿化情報ＳＫ２，ｉを生成し、第２シード値の秘匿化情報ＳＫ２，ｉを出力する。例えば、ｘｓ∈Ｚｐとし、配送処理部１１２は、ＳＫ２，ｉ：＝ＳＣｉｘｓ＝Ｃ（１／ｘｉ）・ｘｓを生成する。ただし、上付き添え字の「ｘｓ」は「ｘｓ」を表す。第２シード値の秘匿化情報ＳＫ２，ｉは通信部１１８に送られ、通信部１１８は第２シード値の秘匿化情報ＳＫ２，ｉ（ただし、ｉ∈［１，ｎ］）を端末装置１２−ｉに送信する（ステップＳ１０９）。【００４１】
第２シード値の秘匿化情報ＳＫ２，ｉ（ただし、ｉ∈［１，ｎ］）は、端末装置１２−ｉ（図３）の通信部１２８−ｉに入力され、記憶部１２９−ｉに格納される。各処理部１２３−ｉ（ただし、ｉ∈［１，ｎ］）は、記憶部１２９−ｉから第２シード値の秘匿化情報ＳＫ２，ｉと端末秘密値ｘｉとを読み込み、入力された第２シード値の秘匿化情報ＳＫ２，ｉと端末秘密値ｘｉとに応じた第２シード値Ｋ２を生成して出力する。例えば、処理部１２３−ｉは、Ｋ２：＝ＳＫ２，ｉｘｉ＝Ｃ（１／ｘｉ）・ｘｓ・ｘｉ＝Ｃｘｓを生成する。第２シード値Ｋ２は記憶部１２９−ｉに格納される（ステップＳ１１０）。【００４２】
各処理部１２４−ｉ（ただし、ｉ∈［１，ｎ］）は、記憶部１２９−ｉから第１シード値Ｋ１および第２シード値Ｋ２を読み込み、第１シード値Ｋ１を含む情報と第２シード値Ｋ２を含む情報とに対応するセッション鍵Ｋを得て出力する。これにより、端末装置１２−１〜１２−ｎでセッション鍵Ｋを共有できる。なお、第１シード値Ｋ１を含む情報は、第１シード値Ｋ１のみからなる情報であってもよいし、第１シード値Ｋ１とその他の情報（公開パラメータやセッションＩＤ等）とからなる情報であってもよい。同様に、第２シード値Ｋ２を含む情報は、第２シード値Ｋ２のみからなる情報であってもよいし、第２シード値Ｋ２とその他の情報（公開パラメータやセッションＩＤ等）とからなる情報であってもよい。またセッション鍵Ｋは、第１シード値Ｋ１を含む情報と第２シード値Ｋ２を含む情報とから一義的に決まる。安全性の観点から、セッション鍵Ｋは、第１シード値Ｋ１に関する情報および第２シード値Ｋ２に関する情報が隠蔽された情報であることが望ましい。言い換えると、セッション鍵Ｋから第１シード値Ｋ１に関する情報も第２シード値Ｋ２に関する情報も漏洩しないことが望ましい。これにより、攻撃者にセッション鍵Ｋが漏洩した場合であっても、第１シード値Ｋ１または第２シード値Ｋ２の一方を更新し、それらに応じたセッション鍵Ｋに更新するだけで、当該攻撃者からの攻撃を防ぐことができる（ステップＳ１１１）。以上、図６を参照してサーバ・クライアント型の認証付き多地点鍵配送アルゴリズムの一例について説明した。ただし、ステップＳ１２Ｃ，ステップＳ１１Ｃにおいて利用できるアルゴリズムは図６の例に限定されない。サーバ・クライアント型の認証付き多地点鍵配送アルゴリズムの従来例として、例えば特許文献１、特許文献２などが開示されている。ステップＳ１２Ｃ，ステップＳ１１Ｃについては、従来の任意のサーバ・クライアント型の認証付き多地点鍵配送アルゴリズムを用いて実現してもよい。【００４３】
＜ステップＳ１２Ｄ前半＞
セッションに参加する端末装置１２−１，…，１２−ｎの事後確認部１２Ｄは、セッション鍵を正常に生成した場合に、セッション鍵を正常に生成できたことを示す成功通知を鍵配送管理装置１１に送信する（この動作をステップＳ１２Ｄ前半と呼称する）。【００４４】
詳細には、事後確認部１２Ｄの成功通知生成部１２Ｄ２は、成功通知を生成する（Ｓ１２Ｄ２）。成功通知送信部１２Ｄ３は、成功通知を鍵配送管理装置１１に送信する（Ｓ１２Ｄ３）。【００４５】
＜ステップＳ１１Ｄ＞
鍵配送管理装置１１の事後検証部１１Ｄは、成功通知をセッションに参加する端末装置１２−１，…，１２−ｎから受信し、セッションに参加する全ての端末装置１２−１，…，１２−ｎから成功通知を受信したことを意味する全体通知をセッションに参加する全ての端末装置１２−１，…，１２−ｎに送信する（この動作をステップＳ１１Ｄと呼称する）。【００４６】
詳細には、事後検証部１１Ｄの成功通知受信部１１Ｄ２は、成功通知をセッションに参加する端末装置１２−１，…，１２−ｎから受信する（Ｓ１１Ｄ２）。全体通知送信部１１Ｄ３は、全体通知をセッションに参加する全ての端末装置１２−１，…，１２−ｎに送信する（Ｓ１１Ｄ３）。【００４７】
＜ステップＳ１２Ｄ後半＞
最後に、セッションに参加する端末装置１２−１，…，１２−ｎの全体通知受信部１２Ｄ４は、鍵配送管理装置１１から、全体通知を受信する（Ｓ１２Ｄ４）。【００４８】
＜セッション鍵更新動作＞
以下、図８を参照してセッション鍵の更新動作について説明する。この更新動作が実行される前提として、新規セッション鍵配送/セッション鍵更新が終了しており、セッションに参加する端末装置１２−１，…，１２−ｎが鍵配送管理装置１１との接続状態を維持しているものとし、鍵配送管理装置１１には、定期的にセッション鍵の更新を行う間隔が予め設定されているものとする。【００４９】
まず、鍵配送管理装置１１の事後検証部１１Ｄの鍵更新リクエスト送信部１１Ｄ１は、予め設定されたセッション鍵更新時刻の到来をトリガとして、セッションに参加する端末装置１２−１，…，１２−ｎに鍵更新リクエストを送信する（Ｓ１１Ｄ１）。セッションに参加する端末装置１２−１，…，１２−ｎの鍵更新リクエスト受信部１２Ｄ１は、鍵配送管理装置１１から鍵更新リクエストを受信する（Ｓ１２Ｄ１）。次に、上述のステップＳ１１Ｃ、ステップＳ１２Ｃが実行され、新しいセッション鍵が生成される。最後に、上述のステップＳ１２Ｄ、Ｓ１１Ｄが実行され、セッション鍵が正常に生成されたことの事後確認、事後検証が実行される。
【００５０】
このように、本実施例のサーバ・クライアントシステム１によれば、既存のサーバ装置に依存せずに、複数の端末装置間で暗号通信に用いるセッション鍵を任意のタイミングで共有することができる。他のプロトコルで利用する場合でも、鍵交換に関しては鍵配送管理装置１１−端末装置１２で行うことができるため、他のプロトコル（例えばＪＩＮＧＬＥ、ＸＭＰＰ等）に関しても、本実施例のシステムが適応可能である。【００５１】
＜実装例＞
以下、図９を参照して実施例１のサーバ・クライアントシステム１をＳＩＰ＋ＳＲＴＰによる暗号電話システムに実装した例であるサーバ・クライアントシステム２について説明する。【００５２】
この例の場合、従来のＳＩＰサーバが担っていた機能は、以下のように、鍵配送管理装置１１と端末装置１２に振り分けられる。
（１）鍵配送管理装置１１への鍵配送リクエストは、端末装置１２自身が行う。リクエスト時には、端末装置１２の持つ秘密情報を利用して署名を付ける。鍵配送管理装置１１は、認証情報データベース１３のデータを用いて認証することで、リクエストした端末装置１２が正しいユーザかを確認する。同様に、レスポンスには鍵配送管理装置１１の署名を付け、サーバ側のなりすまし等も防止する。署名は任意の署名方式（例えばＲＳＡ署名等）を用いる。
（２）端末装置１２は自律的に鍵配送管理装置１１に接続する（例えば、電話を受けたことをトリガに自分自身で鍵配送管理装置１１に繋ぎに行く）。
（３）セッション鍵が正しく配送／更新されているかを端末装置１２自身で管理するために、鍵配送処理終了後に端末装置１２と鍵配送管理装置間１１でＡＣＫ通知を送り合うことで、セッションに参加する全ての端末装置１２に正しくセッション鍵が配送されたことを確認する。【００５３】
上述の実装例においてＳＩＰサーバ１４に改造を加えることなく、ＳＩＰ＋ＳＲＴＰによる暗号電話システムが実現できていることが分かる。【００５４】
＜補記＞
本発明の装置は、例えば単一のハードウェアエンティティとして、キーボードなどが接続可能な入力部、液晶ディスプレイなどが接続可能な出力部、ハードウェアエンティティの外部に通信可能な通信装置（例えば通信ケーブル）が接続可能な通信部、ＣＰＵ（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）型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの（コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等）を含むものとする。
【００６２】
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、ハードウェアエンティティを構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【図１】
0006534777.tif 000002
【図２】
0006534777.tif 000003
【図３】
0006534777.tif 000004
【図４】
0006534777.tif 000005
【図５】
0006534777.tif 000006
【図６】
0006534777.tif 000007
【図７】
0006534777.tif 000008
【図８】
0006534777.tif 000009
【図９】
0006534777.tif 000010