(57)【要約】【課題】  委託者が、会員向けサービスをアウトソーシング業者に委託する際に、委託者の管理する会員情報をアウトソーシング業者に秘匿し、かつ利用者が委託者と通信せずにサービスを受けられるようにする。【解決手段】サービスを利用する際、利用者装置３はアウトソーシング業者装置２にグループ署名データを送信する。アウトソーシング業者装置２は、委託者装置１の公開情報を用いてグループ署名データを検証する。検証を通過し、利用者装置３が確かに委託者装置１の会員であることが確認できたら、アウトソーシング業者装置２は、利用者装置３にサービスを提供する。【選択図】      図１
2007004461.tif 000002
【特許請求の範囲】
【請求項１】
利用者装置と、所定サービスを受ける会員への登録要求を前記利用者装置から受け付けると該利用者装置を前記会員として登録する委託者装置と、前記所定サービスを要求した会員に該所定サービスを提供する業務を前記委託者装置に代わって行うアウトソーシング業者装置と、を含み、前記アウトソーシング業者装置が、利用者装置から前記所定サービスを要求されると、該利用者装置が前記会員であるか否かをグループ署名方式を用いて検証する、サービス提供システムであって、
前記委託者装置は、
前記グループ署名方式にて使用される公開情報、会員登録鍵および開封鍵を生成するグループ鍵生成部と、
前記グループ鍵生成部にて生成された公開情報を、前記アウトソーシング業者装置に提供する公開情報提供部と、
前記利用者装置から前記会員への登録要求を受け付けると、前記利用者装置に対応する署名鍵を、前記公開情報および前記会員登録鍵を用いて生成する署名鍵生成部と、
前記署名鍵生成部にて生成された署名鍵と、前記公開情報と、を前記利用者装置に提供する署名情報提供部と、を含み、
前記利用者装置は、
前記署名情報提供部から提供された署名鍵および公開情報と、前記所定サービスの要求と、を用いてグループ署名データを生成するグループ署名生成部と、
前記グループ署名生成部にて生成されたグループ署名データと、前記所定サービスの要求と、を前記アウトソーシング業者装置に提供するグループ署名データ提供部と、を含み、
前記アウトソーシング業者装置は、
前記グループ署名データ提供部から提供されたグループ署名データが正当か否かを、前記公開情報提供部から提供された公開情報を用いて検証する検証部と、
前記グループ署名データが正当であると前記検証部が判断すると、前記所定サービスの要求に応じて、前記所定サービスを前記利用者装置に提供するサービス提供部と、を含む、サービス提供システム。
【請求項２】
請求項１に記載のサービス提供システムにおいて、
前記利用者装置は、前記公開情報に基づいてグループ署名鍵を生成し、その生成されたグループ署名鍵を変換して変換データを生成し、その生成された変換データを前記委託者装置に提供する変換データ提供部をさらに含み、
前記署名鍵生成部は、前記変換データ提供部から提供された変換データに対して前記会員登録鍵を用いてデジタル署名を生成して前記署名鍵としての会員証明書を生成し、
前記グループ署名生成部は、前記所定サービスの要求、前記会員証明書、前記グループ署名鍵および前記公開情報を用いてグループ署名データを生成する、サービス提供システム。
【請求項３】
請求項１または２に記載のサービス提供システムにおいて、
前記委託者装置は、
前記アウトソーシング業者装置から前記グループ署名データを取得する取得部と、
前記取得部にて取得されたグループ署名データと、前記グループ鍵生成部にて生成された開封鍵と、を用いて、前記グループ署名データを提供した利用者装置を前記会員の中から特定する特定部と、をさらに含む、サービス提供システム。
【請求項４】
請求項３に記載のサービス提供システムにおいて、
前記委託者装置は、前記特定部にて特定された利用者装置と前記所定サービスの要求とに基づいて該利用者装置の所定サービス利用料を計算し、その計算された利用料を該利用者装置に課金する課金部をさらに含む、サービス提供システム。
【請求項５】
請求項１ないし４のいずれか１項に記載のサービス提供システムにおいて、
前記会員は、複数のグループに分けられており、
前記グループ鍵生成部は、前記グループごとに、前記グループ署名方式にて使用される公開情報、会員登録鍵および開封鍵を生成し、
前記公開情報提供部は、前記グループごとに生成された公開情報を、前記アウトソーシング業者装置に提供し、
前記署名鍵生成部は、前記利用者装置から前記会員への登録要求およびグループ選択情報を受け付けると、該グループ選択情報に基づいて前記利用者装置が所属するグループを選択し、前記利用者装置に対応する署名鍵を、その選択されたグループの公開情報および会員登録鍵を用いて生成し、
前記署名情報提供部は、前記署名鍵生成部にて生成された署名鍵と、前記署名鍵生成部にて選択されたグループの公開情報と、前記署名鍵生成部にて選択されたグループを示すグループ情報と、を前記利用者装置に提供し、
前記グループ署名データ提供部は、前記グループ署名生成部にて生成されたグループ署名データと、前記所定サービスの要求と、前記署名情報提供部から提供されたグループ情報と、を前記アウトソーシング業者装置に提供し、
前記検証部は、前記グループ署名データ提供部から提供されたグループ署名データが正当か否かを、前記グループ署名データ提供部から提供されたグループ情報が示すグループの公開情報を用いて検証し、
前記サービス提供部は、前記グループ署名データが正当であると前記検証部が判断すると、前記所定サービスの要求に応じて、前記グループ情報が示すグループに応じたサービスを前記利用者装置に提供する、サービス提供システム。
【請求項６】
請求項１ないし４のいずれか１項に記載のサービス提供システムにおいて、
前記委託者装置は、複数あり、
前記署名情報提供部は、前記署名鍵と、前記公開情報と、自己を含む委託者装置を示す委託者装置情報と、を前記利用者装置に提供し、
前記グループ署名データ提供部は、前記グループ署名生成部にて生成されたグループ署名データと、前記所定サービスの要求と、前記署名情報提供部から提供された委託者装置情報と、を前記アウトソーシング業者装置に提供し、
前記検証部は、前記グループ署名データ提供部から提供されたグループ署名データが正当か否かを、前記グループ署名データ提供部から提供された委託者装置情報が示す委託者装置より提供された公開情報を用いて検証する、サービス提供システム。
【請求項７】
利用者装置と、所定サービスを受ける会員への登録要求を前記利用者装置から受け付けると該利用者装置を前記会員として登録する委託者装置と、前記所定サービスを要求した会員に該所定サービスを提供する業務を前記委託者装置に代わって行うアウトソーシング業者装置と、を含み、前記アウトソーシング業者装置が、利用者装置から前記所定サービスを要求されると、該利用者装置が前記会員であるか否かをグループ署名方式を用いて検証する、サービス提供システムが行うサービス提供方法であって、
前記委託者装置が、前記グループ署名方式にて使用される公開情報、会員登録鍵および開封鍵を生成するグループ鍵生成ステップと、
前記委託者装置が、前記生成された公開情報を、前記アウトソーシング業者装置に提供する公開情報提供ステップと、
前記委託者装置が、前記利用者装置から前記会員への登録要求を受け付けると、前記利用者装置に対応する署名鍵を、前記公開情報および前記会員登録鍵を用いて生成する署名鍵生成ステップと、
前記委託者装置が、前記生成された署名鍵と、前記公開情報と、を前記利用者装置に提供する署名情報提供ステップと、
前記利用者装置が、前記委託者装置から提供された署名鍵および公開情報と、前記所定サービスの要求と、を用いてグループ署名データを生成するグループ署名生成ステップと、
前記利用者装置が、前記生成されたグループ署名データと、前記所定サービスの要求と、を前記アウトソーシング業者装置に提供するグループ署名データ提供ステップと、
前記アウトソーシング業者装置が、前記利用者装置から提供されたグループ署名データが正当か否かを、前記委託者装置から提供された公開情報を用いて検証する検証ステップと、
前記アウトソーシング業者装置が、前記グループ署名データが正当である場合に、前記所定サービスの要求に応じて、前記所定サービスを前記利用者装置に提供するサービス提供ステップと、を含む、サービス提供方法。
【請求項８】
請求項７に記載のサービス提供方法において、
前記利用者装置が、前記公開情報に基づいてグループ署名鍵を生成し、その生成されたグループ署名鍵を変換して変換データを生成し、その生成された変換データを前記委託者装置に提供する変換データ提供ステップをさらに含み、
前記署名鍵生成ステップでは、前記委託者装置が、前記提供された変換データに対して前記会員登録鍵を用いてデジタル署名を生成して前記署名鍵としての会員証明書を生成し、
前記グループ署名生成ステップでは、前記利用者装置が、前記所定サービスの要求、前記会員証明書、前記グループ署名鍵および前記公開情報を用いてグループ署名データを生成する、サービス提供方法。
【請求項９】
請求項７または８に記載のサービス提供方法において、
前記委託者装置が、前記アウトソーシング業者装置から前記グループ署名データを取得する取得ステップと、
前記委託者装置が、前記取得されたグループ署名データと、前記開封鍵と、を用いて、前記グループ署名データを提供した利用者装置を前記会員の中から特定する特定ステップと、をさらに含む、サービス提供方法。
【請求項１０】
請求項９に記載のサービス提供方法において、
前記委託者装置が、前記特定された利用者装置と前記所定サービスの要求とに基づいて該利用者装置の所定サービス利用料を計算し、その計算された利用料を該利用者装置に課金する課金ステップをさらに含む、サービス提供方法。
【請求項１１】
請求項７ないし１０のいずれか１項に記載のサービス提供方法において、
前記会員は、複数のグループに分けられており、
前記グループ鍵生成ステップでは、前記委託者装置が、前記グループごとに、前記グループ署名方式にて使用される公開情報、会員登録鍵および開封鍵を生成し、
前記公開情報提供ステップでは、前記委託者装置が、前記グループごとに生成された公開情報を、前記アウトソーシング業者装置に提供し、
前記署名鍵生成ステップでは、前記委託者装置が、前記利用者装置から前記会員への登録要求およびグループ選択情報を受け付けると、該グループ選択情報に基づいて前記利用者装置が所属するグループを選択し、前記利用者装置に対応する署名鍵を、その選択されたグループの公開情報および会員登録鍵を用いて生成し、
前記署名情報提供ステップでは、前記委託者装置が、前記生成された署名鍵と、前記選択されたグループの公開情報と、前記選択されたグループを示すグループ情報と、を前記利用者装置に提供し、
前記グループ署名データ提供ステップでは、前記利用者装置が、前記生成されたグループ署名データと、前記所定サービスの要求と、前記提供されたグループ情報と、を前記アウトソーシング業者装置に提供し、
前記検証ステップでは、前記アウトソーシング業者装置が、前記提供されたグループ署名データが正当か否かを、前記利用者装置から提供されたグループ情報が示すグループの公開情報を用いて検証し、
前記サービス提供ステップでは、前記アウトソーシング業者装置が、前記グループ署名データが正当である場合、前記所定サービスの要求に応じて、前記グループ情報が示すグループに応じたサービスを前記利用者装置に提供する、サービス提供方法。
【請求項１２】
請求項７ないし１０のいずれか１項に記載のサービス提供方法において、
前記委託者装置は、複数あり、
前記署名情報提供ステップでは、前記各委託者装置が、前記署名鍵と、前記公開情報と、自己を示す委託者装置情報と、を前記利用者装置に提供し、
前記グループ署名データ提供ステップでは、前記利用者装置が、前記グループ署名データと、前記所定サービスの要求と、前記各委託者装置から提供された委託者装置情報と、を前記アウトソーシング業者装置に提供し、
前記検証ステップでは、前記アウトソーシング業者装置が、前記利用者装置から提供されたグループ署名データが正当か否かを、前記利用者装置から提供された委託者装置情報が示す委託者装置より提供された公開情報を用いて検証する、サービス提供方法。
【請求項１３】
利用者装置と、所定サービスを受ける会員への登録要求を前記利用者装置から受け付けると該利用者装置を前記会員として登録する委託者装置と、に接続され、前記所定サービスを要求した会員に該所定サービスを提供する業務を前記委託者装置に代わって行うとともに、利用者装置から前記所定サービスを要求されると、該利用者装置が前記会員であるか否かをグループ署名方式を用いて検証するアウトソーシング業者装置であって、
前記委託者装置から、グループ署名方式にて使用される公開情報を受け付ける受付部と、
前記利用者装置からグループ署名データおよび前記所定サービスの要求を受け付けると、その受け付けられたグループ署名データが正当か否かを、前記受け付けられた公開情報を用いて検証する検証部と、
前記グループ署名データが正当であると前記検証部が判断すると、前記受け付けられた所定サービスの要求に応じて、前記所定サービスを前記利用者装置に提供するサービス提供部と、を含むアウトソーシング業者装置。
【請求項１４】
請求項１３に記載のアウトソーシング業者装置において、
前記会員は、複数のグループに分けられており、
前記受付部は、前記委託者装置から、前記グループ署名方式にて使用される公開情報を前記グループごとに受け付け、
前記検証部は、前記利用者装置から前記グループ署名データ、前記所定サービスの要求および前記利用者装置が属するグループを示すグループ情報を受け付けると、その受け付けられたグループ署名データが正当か否かを、前記グループ情報が示すグループの公開情報を用いて検証し、
前記サービス提供部は、前記グループ署名データが正当であると前記検証部が判断すると、前記所定サービスの要求に応じて、前記グループ情報が示すグループに応じたサービスを前記利用者装置に提供する、アウトソーシング業者装置。
【請求項１５】
請求項１３に記載のアウトソーシング業者装置において、
前記委託者装置は、複数あり、
前記検証部は、前記利用者装置から前記グループ署名データ、前記所定サービスの要求および前記委託者装置を示す委託者装置情報を受け付けると、その受け付けられたグループ署名データが正当か否かを、前記委託者装置情報が示す委託者装置から受け付けた公開情報を用いて検証する、アウトソーシング業者装置。
【請求項１６】
利用者装置と、所定サービスを受ける会員への登録要求を前記利用者装置から受け付けると該利用者装置を前記会員として登録する委託者装置と、に接続され、前記所定サービスを要求した会員に該所定サービスを提供する業務を前記委託者装置に代わって行うとともに、利用者装置から前記所定サービスを要求されると、該利用者装置が前記会員であるか否かをグループ署名方式を用いて検証するアウトソーシング業者装置が行うサービス提供方法であって、
前記委託者装置から、グループ署名方式にて使用される公開情報を受け付ける受付ステップと、
前記利用者装置からグループ署名データおよび前記所定サービスの要求を受け付けると、その受け付けられたグループ署名データが正当か否かを、前記受け付けられた公開情報を用いて検証する検証ステップと、
前記グループ署名データが正当である場合に、前記受け付けられた所定サービスの要求に応じて、前記所定サービスを前記利用者装置に提供するサービス提供ステップと、を含むサービス提供方法。
【請求項１７】
請求項１６に記載のサービス提供方法において、
前記会員は、複数のグループに分けられており、
前記受付ステップでは、前記委託者装置から、前記グループ署名方式にて使用される公開情報を前記グループごとに受け付け、
前記検証ステップでは、前記利用者装置から前記グループ署名データ、前記所定サービスの要求および前記利用者装置が属するグループを示すグループ情報を受け付けると、その受け付けられたグループ署名データが正当か否かを、前記グループ情報が示すグループの公開情報を用いて検証し、
前記サービス提供ステップでは、前記グループ署名データが正当である場合に、前記所定サービスの要求に応じて、前記グループ情報が示すグループに応じたサービスを前記利用者装置に提供する、サービス提供方法。
【請求項１８】
請求項１６に記載のサービス提供方法において、
前記委託者装置は、複数あり、
前記検証ステップでは、前記利用者装置から前記グループ署名データ、前記所定サービスの要求および前記委託者装置を示す委託者装置情報を受け付けると、その受け付けられたグループ署名データが正当か否かを、前記委託者装置情報が示す委託者装置から受け付けた公開情報を用いて検証する、サービス提供方法。
【請求項１９】
利用者装置と、所定サービスを受ける会員への登録要求を前記利用者装置から受け付けると該利用者装置を前記会員として登録する委託者装置と、に接続され、前記所定サービスを要求した会員に該所定サービスを提供する業務を前記委託者装置に代わって行うとともに、利用者装置から前記所定サービスを要求されると、該利用者装置が前記会員であるか否かをグループ署名方式を用いて検証するコンピュータに、サービス処理を実行させるプログラムであって、
前記委託者装置から、グループ署名方式にて使用される公開情報を受け付ける受付処理と、
前記利用者装置からグループ署名データおよび前記所定サービスの要求を受け付けると、その受け付けられたグループ署名データが正当か否かを、前記受け付けられた公開情報を用いて検証する検証処理と、
前記グループ署名データが正当である場合に、前記受け付けられた所定サービスの要求に応じて、前記所定サービスを前記利用者装置に提供するサービス提供処理と、を含むサービス処理を、前記コンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サービス提供システム、アウトソーシング業者装置、サービス提供方法およびプログラムに関し、特には、委託者がアウトソーシング業者に対して委託者の会員向け業務を委託できるサービス提供システム、アウトソーシング業者装置、サービス提供方法およびプログラムに関する。
【背景技術】
【０００２】
複数の会員を有する委託者が、その会員向けサービス提供業務をアウトソーシング業者に委託することがある。この場合、アウトソーシング業者は、サービスを要求する利用者が委託者の会員であることを確認し、その後、その利用者に、委託者の会員に対して行われるサービスを提供する。したがって、アウトソーシング業者は、個々の利用者を個人認証する必要はないが、利用者が委託者の会員であることを確かめる必要がある。
【０００３】
従来のアウトソーシングシステムでは、利用者が委託者の会員であるかどうかを確認するために、委託者は、アウトソーシング業者に、委託者の会員情報を渡す必要があった。
【０００４】
一方、特許文献１（特開２００４−３８４９４号公報）には、委託者の会員情報をアウトソーシング業者に渡さずに、利用者を認証するコンテンツ提供システムが記載されている。
【０００５】
このコンテンツ提供システムでは、利用者装置は、アウトソーシング業者装置（コンテンツ配信サーバ）からサービスを受ける際に、まず、委託者装置（ユーザ情報管理サーバ）と通信して委託者装置から認証を受ける。その認証が正常に完了した場合のみ、利用者装置は、委託者装置を経由して、アウトソーシング業者からサービスを受ける。
【０００６】
また、近年、グループ署名方式を用いたグループ署名システムが知られている（非特許文献１）。
【０００７】
グループ署名システムでは、あるグループに所属するメンバーが、自分がグループに所属することを示す署名を生成できる。署名の検証では、署名がグループのメンバーによって生成されたことは確認できるが、署名の作成者に関する情報は知られない。ただし、特別な権限を持つエンティティであれば、署名の作成者を特定することができる。
【特許文献１】特開２００４−３８４９４号公報
【非特許文献１】G. Ateniese, J. Camenisch, M. Joye, G. Tsudik, "A Practical and Provable Secure Coalition-Resistant Group Signature Scheme" (Advances in Cryptology - CRYPTO 2000, LNCS 1880, pp.255-270, Springer-Verlag, 2000)
【発明の開示】
【発明が解決しようとする課題】
【０００８】
従来のアウトソーシングシステムでは、委託者は、利用者が委託者の会員であるか否かをアウトソーシング業者に確認させるために、委託者の所有する会員情報をアウトソーシング業者に渡す必要がある。
【０００９】
このため、委託者の会員情報が、アウトソーシング業者から漏洩するおそれがある。また、会員情報の漏洩を防ぐために、アウトソーシング業者は、会員情報を厳重に管理する必要がある。このため、管理コストが大きくなる。
【００１０】
また、特許文献１に記載のコンテンツ提供システムでは、利用者は、サービスを要求するたびに、委託者と通信する必要がある。このため、通信回数が大きくなる。
【００１１】
また、非特許文献１には、委託者装置とアウトソーシング業者装置とを含むシステムに関する記載は無い。
【００１２】
本発明の目的は、委託者がアウトソーシング業者に会員情報を渡さずに、会員向けサービスをアウトソーシング業者に委託できるサービス提供システム、アウトソーシング業者装置、サービス提供方法およびプログラムを提供することにある。
【００１３】
本発明の他の目的は、利用者がサービスを受ける際、委託者と通信する必要のないサービス提供システム、アウトソーシング業者装置、サービス提供方法およびプログラムを提供することにある。
【課題を解決するための手段】
【００１４】
上記の目的を達成するために、本発明のサービス提供システムは、利用者装置と、所定サービスを受ける会員への登録要求を前記利用者装置から受け付けると該利用者装置を前記会員として登録する委託者装置と、前記所定サービスを要求した会員に該所定サービスを提供する業務を前記委託者装置に代わって行うアウトソーシング業者装置と、を含み、前記アウトソーシング業者装置が、利用者装置から前記所定サービスを要求されると、該利用者装置が前記会員であるか否かをグループ署名方式を用いて検証する、サービス提供システムであって、前記委託者装置は、前記グループ署名方式にて使用される公開情報、会員登録鍵および開封鍵を生成するグループ鍵生成部と、前記グループ鍵生成部にて生成された公開情報を、前記アウトソーシング業者装置に提供する公開情報提供部と、前記利用者装置から前記会員への登録要求を受け付けると、前記利用者装置に対応する署名鍵を、前記公開情報および前記会員登録鍵を用いて生成する署名鍵生成部と、前記署名鍵生成部にて生成された署名鍵と、前記公開情報と、を前記利用者装置に提供する署名情報提供部と、を含み、前記利用者装置は、前記署名情報提供部から提供された署名鍵および公開情報と、前記所定サービスの要求と、を用いてグループ署名データを生成するグループ署名生成部と、前記グループ署名生成部にて生成されたグループ署名データと、前記所定サービスの要求と、を前記アウトソーシング業者装置に提供するグループ署名データ提供部と、を含み、前記アウトソーシング業者装置は、前記グループ署名データ提供部から提供されたグループ署名データが正当か否かを、前記公開情報提供部から提供された公開情報を用いて検証する検証部と、前記グループ署名データが正当であると前記検証部が判断すると、前記所定サービスの要求に応じて、前記所定サービスを前記利用者装置に提供するサービス提供部と、を含む。
【００１５】
また、本発明のサービス提供方法は、利用者装置と、所定サービスを受ける会員への登録要求を前記利用者装置から受け付けると該利用者装置を前記会員として登録する委託者装置と、前記所定サービスを要求した会員に該所定サービスを提供する業務を前記委託者装置に代わって行うアウトソーシング業者装置と、を含み、前記アウトソーシング業者装置が、利用者装置から前記所定サービスを要求されると、該利用者装置が前記会員であるか否かをグループ署名方式を用いて検証する、サービス提供システムが行うサービス提供方法であって、前記委託者装置が、前記グループ署名方式にて使用される公開情報、会員登録鍵および開封鍵を生成するグループ鍵生成ステップと、前記委託者装置が、前記生成された公開情報を、前記アウトソーシング業者装置に提供する公開情報提供ステップと、前記委託者装置が、前記利用者装置から前記会員への登録要求を受け付けると、前記利用者装置に対応する署名鍵を、前記公開情報および前記会員登録鍵を用いて生成する署名鍵生成ステップと、前記委託者装置が、前記生成された署名鍵と、前記公開情報と、を前記利用者装置に提供する署名情報提供ステップと、前記利用者装置が、前記委託者装置から提供された署名鍵および公開情報と、前記所定サービスの要求と、を用いてグループ署名データを生成するグループ署名生成ステップと、前記利用者装置が、前記生成されたグループ署名データと、前記所定サービスの要求と、を前記アウトソーシング業者装置に提供するグループ署名データ提供ステップと、前記アウトソーシング業者装置が、前記利用者装置から提供されたグループ署名データが正当か否かを、前記委託者装置から提供された公開情報を用いて検証する検証ステップと、前記アウトソーシング業者装置が、前記グループ署名データが正当である場合に、前記所定サービスの要求に応じて、前記所定サービスを前記利用者装置に提供するサービス提供ステップと、を含む。
【００１６】
また、本発明のアウトソーシング業者装置は、利用者装置と、所定サービスを受ける会員への登録要求を前記利用者装置から受け付けると該利用者装置を前記会員として登録する委託者装置と、に接続され、前記所定サービスを要求した会員に該所定サービスを提供する業務を前記委託者装置に代わって行うとともに、利用者装置から前記所定サービスを要求されると、該利用者装置が前記会員であるか否かをグループ署名方式を用いて検証するアウトソーシング業者装置であって、前記委託者装置から、グループ署名方式にて使用される公開情報を受け付ける受付部と、前記利用者装置からグループ署名データおよび前記所定サービスの要求を受け付けると、その受け付けられたグループ署名データが正当か否かを、前記受け付けられた公開情報を用いて検証する検証部と、前記グループ署名データが正当であると前記検証部が判断すると、前記受け付けられた所定サービスの要求に応じて、前記所定サービスを前記利用者装置に提供するサービス提供部と、を含む。
【００１７】
また、本発明のサービス提供方法は、利用者装置と、所定サービスを受ける会員への登録要求を前記利用者装置から受け付けると該利用者装置を前記会員として登録する委託者装置と、に接続され、前記所定サービスを要求した会員に該所定サービスを提供する業務を前記委託者装置に代わって行うとともに、利用者装置から前記所定サービスを要求されると、該利用者装置が前記会員であるか否かをグループ署名方式を用いて検証するアウトソーシング業者装置が行うサービス提供方法であって、前記委託者装置から、グループ署名方式にて使用される公開情報を受け付ける受付ステップと、前記利用者装置からグループ署名データおよび前記所定サービスの要求を受け付けると、その受け付けられたグループ署名データが正当か否かを、前記受け付けられた公開情報を用いて検証する検証ステップと、前記グループ署名データが正当である場合に、前記受け付けられた所定サービスの要求に応じて、前記所定サービスを前記利用者装置に提供するサービス提供ステップと、を含む。
【００１８】
上記の発明によれば、アウトソーシング業者装置は、グループ署名方式を用いることによって、利用者装置が委託者装置の会員であるか否かを、委託者装置の公開情報のみで検証する。このため、アウトソーシング業者装置は、利用者装置が委託者装置の会員であるか否かを、従来のように会員の個人情報を使うことなく検証することが可能となる。
【００１９】
したがって、委託者は、委託者が管理する会員情報をアウトソーシング業者に渡さなくてよく、会員情報（個人情報）漏洩の危険を回避できる。
【００２０】
また、アウトソーシング業者は、会員情報を用いなくても、単独で利用者が委託者の会員であるかどうかを確認できるため、利用者は、アウトソーシング業者からサービスを受ける際に、従来のように委託者と通信する必要がなくなる。
【００２１】
また、前記利用者装置は、前記公開情報に基づいてグループ署名鍵を生成し、その生成されたグループ署名鍵を変換して変換データを生成し、その生成された変換データを前記委託者装置に提供し、前記委託者装置は、前記利用者装置から提供された変換データに対して前記会員登録鍵を用いてデジタル署名を生成して前記署名鍵としての会員証明書を生成し、前記利用者装置は、前記所定サービスの要求、前記会員証明書、前記グループ署名鍵および前記公開情報を用いてグループ署名データを生成することが望ましい。
【００２２】
上記の発明によれば、上記非特許文献１に記載のグループ認証方式を用いることが可能となる。
【００２３】
また、前記委託者装置は、前記アウトソーシング業者装置から前記グループ署名データを取得し、その取得されたグループ署名データと前記開封鍵とを用いて、前記グループ署名データを提供した利用者装置を前記会員の中から特定することが望ましい。
【００２４】
上記の発明によれば、委託者装置は、アウトソーシング業者装置に知られることなく、所定サービスを要求した利用者装置を特定することが可能となる。
【００２５】
また、前記委託者装置は、前記特定された利用者装置と前記所定サービスの要求とに基づいて、該利用者装置の所定サービス利用料を計算し、その計算された利用料を該利用者装置に課金することが望ましい。
【００２６】
上記の発明によれば、委託者装置は、アウトソーシング業者装置に知られることなく、所定サービスを要求した利用者装置に所定サービス利用料を課金することが可能となる。
【００２７】
また、前記会員は、複数のグループに分けられており、前記委託者装置は、前記グループごとに、前記グループ署名方式にて使用される公開情報、会員登録鍵および開封鍵を生成し、前記グループごとに生成された公開情報を、前記アウトソーシング業者装置に提供し、前記利用者装置から前記会員への登録要求およびグループ選択情報を受け付けると、該グループ選択情報に基づいて前記利用者装置が所属するグループを選択し、前記利用者装置に対応する署名鍵を、その選択されたグループの公開情報および会員登録鍵を用いて生成し、その生成された署名鍵と、前記選択されたグループの公開情報と、前記選択されたグループを示すグループ情報と、を前記利用者装置に提供し、前記利用者装置は、前記グループ署名データと、前記所定サービスの要求と、前記提供されたグループ情報と、を前記アウトソーシング業者装置に提供し、前記アウトソーシング業者装置は、前記提供されたグループ署名データが正当か否かを、前記提供されたグループ情報が示すグループの公開情報を用いて検証し、前記グループ署名データが正当であると、前記所定サービスの要求に応じて、前記グループ情報が示すグループに応じたサービスを前記利用者装置に提供することが望ましい。
【００２８】
上記の発明によれば、利用者装置に応じたサービスを提供することが可能になる。
【００２９】
また、前記委託者装置は、複数あり、前記委託者装置は、前記署名鍵と、前記公開情報と、自己を含む委託者装置を示す委託者装置情報と、を前記利用者装置に提供し、前記利用者装置は、前記グループ署名データと、前記所定サービスの要求と、前記委託者装置情報と、を前記アウトソーシング業者装置に提供し、前記アウトソーシング業者装置は、前記グループ署名データが正当か否かを、前記委託者装置情報が示す委託者装置より提供された公開情報を用いて検証することが望ましい。
【００３０】
上記の発明によれば、アウトソーシング業者装置は、複数の委託者装置からサービス提供業務を受けることが可能になる。
【００３１】
また、本発明のプログラムは、利用者装置と、所定サービスを受ける会員への登録要求を前記利用者装置から受け付けると該利用者装置を前記会員として登録する委託者装置と、に接続され、前記所定サービスを要求した会員に該所定サービスを提供する業務を前記委託者装置に代わって行うとともに、利用者装置から前記所定サービスを要求されると、該利用者装置が前記会員であるか否かをグループ署名方式を用いて検証するコンピュータに、サービス処理を実行させるプログラムであって、前記委託者装置から、グループ署名方式にて使用される公開情報を受け付ける受付処理と、前記利用者装置からグループ署名データおよび前記所定サービスの要求を受け付けると、その受け付けられたグループ署名データが正当か否かを、前記受け付けられた公開情報を用いて検証する検証処理と、前記グループ署名データが正当である場合に、前記受け付けられた所定サービスの要求に応じて、前記所定サービスを前記利用者装置に提供するサービス提供処理と、を含むサービス処理を、前記コンピュータに実行させる。
【００３２】
上記の発明によれば、上記サービス提供方法をコンピュータに実行させることが可能となる。
【発明の効果】
【００３３】
本発明によれば、委託者は、委託者が管理する会員情報をアウトソーシング業者に渡さなくてよいため、個人情報漏洩の危険を回避することが可能となり、利用者は、アウトソーシング業者のサービスを受ける際に、委託者と通信する必要がなくなる。
【発明を実施するための最良の形態】
【００３４】
次に、本発明を実施するための最良の形態について図面を参照して詳細に説明する。
【００３５】
まず、以下に示す実施の形態で用いられるグループ署名方式を用いたグループ署名システムを説明する。
【００３６】
グループ署名システムは、グループ管理装置と、複数の署名装置と、複数の検証装置とを含む。グループ管理装置は、グループを管理して、メンバーの追加と署名者の特定を行う。署名装置は、グループ署名データを生成する。検証装置は、グループ署名データを検証する。
【００３７】
グループ署名システムは、以下のように動作する。
【００３８】
（１）グループ管理装置は、公開情報、会員登録鍵（秘密鍵）および開封鍵（秘密鍵）を生成する。公開情報は、会員登録鍵（秘密鍵）の公開鍵と、開封鍵（秘密鍵）の公開鍵とを少なくとも含む。公開情報は、グループに対して共通に設定される値である。グループ管理装置は、会員登録鍵（秘密鍵）および開封鍵（秘密鍵）を秘密に保持する。
【００３９】
（２）グループ管理装置は、公開情報と会員登録鍵（秘密鍵）から署名鍵を生成し、その署名鍵を署名装置に発行する。署名鍵が発行された署名装置は、グループのメンバーとなる。署名鍵は、署名装置ごとに異なる。署名装置は署名鍵を秘密に保持する。
【００４０】
（３）署名装置は、メッセージに対して、公開情報と署名鍵を入力として、グループ署名データを計算する。
【００４１】
（４）検証装置は、メッセージとグループ署名データを受け取り、公開情報を入力として、グループ署名データが正当かどうか確認する。つまり、グループ署名データが、グループ管理装置から発行された署名鍵を持つ署名装置によって正しく計算されたがどうかを確認する。
【００４２】
（５）必要な場合、グループ管理装置は、開封鍵（秘密鍵）を使って、グループ署名データを生成した署名装置を特定する。
【００４３】
署名装置の生成するグループ署名データは、（ａ）グループ署名データを生成した署名装置が、グループ管理装置に加入を認められた正規のグループメンバーであることと、（ｂ）グループ管理装置が後に署名装置を特定できることと、を署名装置に関連する情報を一切漏らさずに証明したデータを含む。また、生成されるグループ署名データは、毎回異なる値を持つ。
【００４４】
グループ署名データの検証では、検証装置は、グループ署名データが上記（ａ）、（ｂ）を正しく証明しているかどうかを、公開情報を用いて確認する。グループ署名装置から正しく発行された署名鍵を持つ署名装置のみが、検証を通過するグループ署名データを計算できる。
【００４５】
通常のデジタル署名では、（個人に対応する）公開情報（公開鍵）のみで署名の正当性を確認することが可能であるのと同様に、グループ署名データでも、（グループに対応する）公開情報のみを使って署名の正当性を確認することが可能である。
【００４６】
例えば、上記非特許文献１に示されるグループ署名システムでは、公開情報は、システム共通のパラメータを含み、署名装置に発行される署名鍵は、グループ署名鍵と会員証明書からなる。
【００４７】
グループ署名鍵は、公開情報（共通のパラメータ）に基づいて、署名装置とグループ管理装置が協力してランダムに選んだ値であり、その値は署名装置しか知らない。なお、グループ署名鍵は、グループ管理装置による署名の偽造を防ぐために必要なデータである。
【００４８】
会員証明書は、グループ署名鍵の変換データに対して会員登録鍵（秘密鍵）を用いて計算されたデジタル署名である。
【００４９】
メッセージに対してグループ署名データを生成する際、署名装置はまず、会員証明書を開封鍵に対応する公開鍵で暗号化する。これを暗号化データと呼ぶ。さらに、署名装置は、会員証明書の変換データを計算する。
【００５０】
次に、署名装置は、メッセージ、公開情報、会員証明書、グループ署名鍵、暗号化データおよび変換データを入力として、（ａ）暗号化データおよび変換データにより秘匿された値（すなわち会員証明書）は、グループ署名鍵の変換データに対するデジタル署名の検証式を満たすこと、（ｂ）暗号化データは、（ａ）の条件を満たす値を開封鍵に対応する公開鍵で暗号化したデータであること、の２つを証明する証明データを計算する。
【００５１】
次に、署名装置は、暗号化データ、変換データおよび証明データを、グループ署名データとして出力する。
【００５２】
検証装置は、メッセージ、グループ署名データおよび公開情報を入力として、グループ署名データに含まれる証明データが、上記（ａ）、（ｂ）を正しく証明しているかどうか確認する。
【００５３】
グループ管理装置によって正しく発行された会員証明書およびグループ署名鍵を知る署名装置のみが、検証を通過する証明データを計算できる。
【００５４】
グループ管理装置は、グループ署名データに含まれる暗号化データを開封鍵（秘密鍵）を用いて復号する。次に、グループ管理装置は、署名鍵を発行する際に残しておいたすべての署名装置の会員証明書のうち、復号結果と一致するものを探す。一致した会員証明書に対応する署名装置が、グループ署名データを生成した署名装置である。
[第１の形態]
図１は、本発明の第１の実施の形態のサービス提供システムを示したブロック図である。
【００５５】
図１を参照すると、本サービス提供システムは、グループ署名方式を採用し、委託者装置１と、アウトソーシング業者装置２と、一つ以上の利用者装置３とを含む。
【００５６】
委託者装置１は、グループ署名システムのグループ管理装置の機能を含み、アウトソーシング業者装置２は、グループ署名システムの検証装置の機能を含み、利用者装置３は、グループ署名システムの署名装置の機能を含む。
【００５７】
委託者装置１は、グループ鍵生成部１０１と、公開情報開示部１０２と、会員登録鍵記憶部１０３と、開封鍵記憶部１０４と、会員登録部１０５と、会員情報記憶部１０６と、サービスログ受信部１０７と、署名者特定部１０８とを含む。
【００５８】
なお、委託者装置１が、委託者装置１の動作を規定するプログラムが記録されたメモリと、そのプログラムを実行可能なコンピュータとを含む場合、そのコンピュータが、そのプログラムを実行することによって、グループ鍵生成部１０１と、公開情報開示部１０２と、会員登録部１０５と、サービスログ受信部１０７と、署名者特定部１０８を実現し、そのメモリが、会員登録鍵記憶部１０３と、開封鍵記憶部１０４と、会員情報記憶部１０６とを実現してもよい。
【００５９】
アウトソーシング業者装置２は、公開情報記憶部２０１と、サービス公開部２０２と、サービス提供部２０３と、グループ署名検証部２０４と、サービスログ記憶部２０５と、サービスログ提供部２０６とを含む。
【００６０】
なお、アウトソーシング業者装置２が、アウトソーシング業者装置２の動作を規定するプログラムが記録されたメモリと、そのプログラムを実行可能なコンピュータとを含む場合、そのコンピュータが、そのプログラムを実行することによって、サービス公開部２０２と、サービス提供部２０３と、グループ署名検証部２０４と、サービスログ提供部２０６とを実現し、そのメモリが、公開情報記憶部２０１と、サービスログ記憶部２０５とを実現してもよい。
【００６１】
利用者装置３は、加入部３０１と、会員証明書記憶部３０２と、グループ署名鍵記憶部３０３と、サービス選択部３０４と、グループ署名生成部３０５と、乱数生成器３０６と、サービス要求部３０７とを含む。
【００６２】
なお、利用者装置３が、利用者装置３の動作を規定するプログラムが記録されたメモリと、そのプログラムを実行可能なコンピュータとを含む場合、そのコンピュータが、そのプログラムを実行することによって、加入部３０１と、サービス選択部３０４と、グループ署名生成部３０５と、乱数生成器３０６と、サービス要求部３０７とを実現し、そのメモリが、会員証明書記憶部３０２と、グループ署名鍵記憶部３０３とを実現してもよい。
【００６３】
委託者装置１は、委託者にて使用される。
【００６４】
グループ鍵生成部１０１は、グループ署名方式で用いられる公開情報、会員登録鍵（秘密鍵）、および開封鍵（秘密鍵）を生成する。なお、公開情報は、少なくとも、会員登録鍵（秘密鍵）に対応する公開鍵と、開封鍵（秘密鍵）に対応する公開鍵と、グループ署名方式で用いられる共通のパラメータを含む。
【００６５】
グループ鍵生成部１０１は、その生成された公開情報を公開情報開示部１０２に、その生成された会員登録鍵（秘密鍵）を会員登録鍵記憶部１０３に、その生成された開封鍵（秘密鍵）を開封鍵記憶部１０４に出力する。
【００６６】
公開情報開示部１０２は、グループ鍵生成部１０１で生成された公開情報を記憶する。
【００６７】
会員登録鍵記憶部１０３は、グループ鍵生成部１０１で生成された会員登録鍵（秘密鍵）を記憶する。
【００６８】
開封鍵記憶部１０４は、グループ鍵生成部１０１で生成された開封鍵（秘密鍵）を記憶する。
【００６９】
会員登録部１０５は、利用者装置３の加入部３０１から、加入要求（所定サービスを受ける会員への登録要求）と、利用者装置３に関する情報（利用者装置３の利用者の個人情報、つまり、会員情報）と、を受け付けると、利用者装置３を会員として登録する。さらに、会員登録部１０５は、グループ署名データを生成するための会員証明書をグループ署名方式に基づいて生成し、その生成された会員証明書と、公開情報とを、利用者装置３に発行する。
【００７０】
また、会員登録部１０５は、その受け付けられた個人情報と、その発行された会員証明書と、を互いに関連づけて、会員情報記憶部１０６に記憶する。
【００７１】
会員情報記憶部１０６は、会員登録部１０５にて取得された利用者装置３の利用者の個人情報と、利用者装置３に発行した会員証明書とを、互いに関連づけて、利用者装置ごとに記憶する。
【００７２】
サービスログ受信部１０７は、アウトソーシング業者装置２のサービスログ提供部２０６からサービスログを受信すると、その受信されたサービスログを署名者特定部１０８に出力する。なお、サービスログは、利用者装置３にて生成されたグループ署名データを含む。
【００７３】
署名者特定部１０８は、サービスログ受信部１０７からサービスログを受け付けると、その受け付けられたサービスログと、公開情報開示部１０２に記憶された公開情報と、開封鍵記憶部１０４に記憶された開封鍵（秘密鍵）、および、会員情報記憶部１０６に記憶されたすべての会員の会員証明書を入力として、グループ署名方式に基づいて、その受け付けられたサービスログに含まれるグループ署名データを生成した利用者装置を特定する。
【００７４】
アウトソーシング業者装置２は、アウトソーシング業者にて使用される。
【００７５】
公開情報記憶部２０１は、委託者装置１の公開情報開示部１０２から通知された公開情報を記憶する。
【００７６】
サービス公開部２０２は、アウトソーシング業者装置２で提供するサービスの一覧を利用者装置３に公開する。この一覧は、委託者から委託されたサービスを示す。また、サービス公開部２０２は、サービスに対応する情報（サービス情報）とその付加情報とを、利用者装置３のサービス選択部３０４に送信する。
【００７７】
サービス提供部２０３は、利用者装置３のサービス要求部３０７からサービス要求データを受け付ける。このサービス要求データは、利用者装置３にて生成されたグループ署名データを含む。
【００７８】
サービス提供部２０３は、利用者装置３のサービス要求部３０７からサービス要求データを受け付けると、その受け付けられたサービス要求データに含まれるグループ署名データの検証をグループ署名検証部２０４に依頼する。
【００７９】
サービス提供部２０３は、グループ署名データが正当であるとグループ署名検証部２０４が判断すると、利用者装置３にサービスを提供する。
【００８０】
また、サービス提供部２０３は、サービス要求データをサービスログ記憶部２０５に出力する。
【００８１】
グループ署名検証部２０４は、サービス提供部２０３が受信したグループ署名データを、公開情報記憶部２０１に記憶された公開情報を使って、グループ署名方式に基づいて検証する。
【００８２】
サービスログ記憶部２０５は、サービス提供部２０３が受信したサービス要求データをサービスログとして記憶する。
【００８３】
サービスログ提供部２０６は、サービスログ記憶部２０５に記憶されたサービスログを委託者装置１に送信する。
【００８４】
利用者装置３は、利用者にて使用される。
【００８５】
加入部３０１は、委託者装置１の会員登録部１４と通信して、委託者装置１に、加入要求と、利用者装置３の利用者の個人情報とを通知する。
【００８６】
加入部３０１は、会員登録加入が許可されると、グループ署名鍵を生成し、その後、会員登録部１０４から会員証明書および公開情報を受け付ける。
【００８７】
また、加入部３０１は、その受け付けられた会員証明書を会員証明書記憶部３０２に、その生成されたグループ署名鍵をグループ署名鍵記憶部３０３に出力する。加入部３０１は、例えば、公開情報を、会員証明書とともに会員証明書記憶部３０２に出力する。
【００８８】
なお、加入部３０１は、グループ署名データが計算される際に、委託者装置１の公開情報開示部１０２から公開情報を取得し、その取得された公開情報を、グループ署名生成部３０５に出力してもよい。
【００８９】
会員証明書記憶部３０２は、加入部３０１から出力された会員証明書および公開情報を記憶する。
【００９０】
グループ署名鍵記憶部３０３は、加入部３０１から出力されたグループ署名鍵を記憶する。
【００９１】
サービス選択部３０４は、アウトソーシング業者装置２のサービス公開部２０２にて公開されたサービスから、利用者にて指定されたサービスを選ぶ。
【００９２】
また、サービス選択部３０４は、サービス公開部２０２からサービス情報と付加情報を受信すると、その受信されたサービス情報および付加情報をグループ署名生成部３０５に通知する。
【００９３】
グループ署名生成部３０５は、サービス選択部３０４から受け取ったサービス情報および付加情報、委託者装置１の公開情報開示部１０２に記憶された公開情報、会員証明書記憶部３０２に記憶された会員証明書、グループ署名鍵記憶部３０３に記憶されたグループ署名鍵、および、乱数生成器３０６で生成された乱数を入力として、グループ署名方式に基づいてグループ署名データを計算する。
【００９４】
グループ署名生成部３０５は、サービス選択部３０４から受け取ったサービス情報および付加情報と、その計算されたグループ署名データとを、サービス要求部３０７に出力する。
【００９５】
乱数生成器３０６は、グループ署名生成部３０５に乱数を出力する。
【００９６】
サービス要求部３０７は、グループ署名生成部３０５からサービス情報、付加情報およびグループ署名データを受け付けると、その受け付けられたサービス情報、付加情報およびグループ署名データを、サービス要求データとして、アウトソーシング業者装置２に送信する。
【００９７】
次に、第１の実施の形態の動作について説明する。
（鍵生成）
最初に、委託者装置１では、グループ鍵生成部１０１が、グループ署名システムで用いられる公開情報、会員登録鍵、および開封鍵を生成する。グループ鍵生成部１０１は、その生成された公開情報を公開情報開示部１０２に、その生成された会員登録鍵を会員登録鍵記憶部１０３に、その生成された開封鍵を開封鍵記憶部１０４に出力する。
（鍵通知）
委託者は、アウトソーシング業者と契約し、委託者の会員向けサービスの提供をアウトソーシング業者２に委託する旨の契約を、アウトソーシング業者と締結する。
【００９８】
委託者装置１の公開情報開示部１０２は、会員の認証に必要な情報として、公開情報開示部１０２に記憶された公開情報を、アウトソーシング業者装置２に送信する。
【００９９】
アウトソーシング業者装置２の公開情報記憶部２０１は、公開情報開示部１０２から送信された公開情報を記憶する。
（会員登録）
利用者装置３は、利用者にて実行された操作に基づいて、委託者装置１に、会員登録処理を実行させ、グループ署名データを生成するために必要な情報を委託者装置１から取得する。この処理は、会員登録時に１回だけ必要である。
【０１００】
なお、委託者装置１は、あらかじめ、委託者装置１の会員になるために必要な情報を公開しているとする。
【０１０１】
図２は、会員登録の動作を説明するためのフローチャートである。なお、図２において、図１に示したものと同一のものには同一符号を付してある。
【０１０２】
以下、図２を参照して、会員登録の動作を説明する。
【０１０３】
利用者装置３の加入部３０１は、利用者から、委託者装置１の会員になるために必要な個人情報（例えば、名前、住所および年齢）を受け付けると、ステップＳ１０１を実行する。
【０１０４】
ステップＳ１０１では、加入部３０１は、その受け付けられた個人情報および加入要求を、委託者装置１に送信する。加入部３０１が個人情報および加入要求を委託者装置１に送信すると、委託者装置１の会員登録部１０５は、ステップＳ１０２を実行する。
【０１０５】
ステップＳ１０２では、会員登録部１０５は、その送信された個人情報および加入要求を受信する。会員登録部１０５は、個人情報および加入要求を受信すると、ステップＳ１０３を実行する。
【０１０６】
ステップＳ１０３では、会員登録部１０５は、その受信された個人情報に基づいて、その個人情報を有する利用者を委託者の会員にするか否かを判定する。例えば、個人情報として示された年齢が、会員加入規定を満たしているか否か判定する。
【０１０７】
会員登録部１０５は、利用者を委託者の会員にすること（以下「加入」と称する）を拒否すると判定すると、利用者装置３にその旨を通知する。利用者装置３は、その通知を受け付けると、ステップＳ１０４を実行する。
【０１０８】
ステップＳ１０４では、利用者装置３の加入部３０１は、例えば、加入が拒否された旨を表示を行って加入処理を中止する。
【０１０９】
一方、会員登録部１０５が加入を許可すると判定すると、会員登録部１０５はステップＳ１０５を実行し、加入部３０１はステップＳ１０６を実行する。
【０１１０】
ステップＳ１０５およびＳ１０６では、会員登録部１０５は、加入部３０１と通信しながら、公開情報開示部１０２に記憶された公開情報と、会員登録鍵記憶部１０３に記憶された会員登録鍵と、を使って、グループ署名データを生成するために必要な署名鍵を生成する。署名鍵は、会員証明書とグループ署名鍵から構成される。なお、グループ署名鍵は、加入部３０１にて生成され、利用者装置３のみが知る情報である。
【０１１１】
処理の結果、会員登録部１０５は会員証明書、加入部３０１は会員証明書とグループ署名鍵を取得する。
【０１１２】
会員登録部１０５は、最初に受信した個人情報と会員証明書を関連付けて、会員情報記憶部１０６に記憶する。
【０１１３】
加入部３０１は、会員証明書を会員証明書記憶部３０２に、グループ署名鍵をグループ署名鍵記憶部３０３に記憶する。
（サービス利用）
サービス利用では、利用者装置３は、アウトソーシング業者装置２から会員向けサービスを受ける。
【０１１４】
図３は、サービス利用の動作を説明するためのフローチャートである。なお、図３において、図１に示したものと同一のものには同一符号を付してある。
【０１１５】
以下、図３を参照して、サービス利用の動作を説明する。
【０１１６】
はじめに、ステップＳ２０１では、利用者装置３のサービス選択部３０４は、アウトソーシング業者装置２のサービス公開部２０２から、公開されたサービス一覧を受信する。利用者装置３は、そのサービス一覧を表示する。
【０１１７】
利用者が、利用者装置３を操作して、そのサービス一覧から利用者自身が受けたいサービスを指定すると、サービス選択部３０４は、ステップＳ２０２を実行する。
【０１１８】
ステップＳ２０２では、サービス選択部３０４は、その指定されたサービスをサービス一覧から選択し、その選択されたサービスを示す選択結果を、サービス公開部２０２に送信する。
【０１１９】
サービス公開部２０２は、その選択結果を受け付けると、ステップＳ２０３を実行する。
【０１２０】
ステップＳ２０３では、サービス公開部２０２は、その選択されたサービスを表す情報（サービス情報）と付加情報とをサービス選択部３０４に送信する。
【０１２１】
なお、付加情報は、署名対象となるメッセージに一意性を持たせるために必要な情報である。付加情報は、例えば、セッションＩＤ、時刻情報、または、アウトソーシング業者装置２が生成した乱数である。
【０１２２】
サービス公開部２０２が、情報（サービス情報）と付加情報とをサービス選択部３０４に送信すると、サービス選択部３０４は、ステップＳ２０４を実行する。
【０１２３】
ステップＳ２０４では、サービス選択部３０４は、サービス公開部２０２からサービス情報および付加情報を受信し、その受信されたサービス情報および付加情報をグループ署名生成部３０５に通知する。
【０１２４】
グループ署名生成部３０５は、サービス選択部３０４からサービス情報および付加情報を受け付けると、ステップＳ２０５を実行する。
【０１２５】
ステップＳ２０５では、グループ署名生成部３０５は、その受け付けられたサービス情報および付加情報に対応するグループ署名データを、委託者装置１の公開情報開示部１０２に記憶された公開情報、会員証明書記憶部３０２に記憶された会員証明書、グループ署名鍵記憶部３０３に記憶されたグループ署名鍵、および、乱数生成器３０６にて生成された乱数を入力として、グループ署名方式に基づいて計算する。
【０１２６】
なお、グループ署名データは、利用者装置３が委託者装置１の会員であることを示すデータである。
【０１２７】
グループ署名生成部３０５は、その受け付けられたサービス情報および付加情報と、その生成されたグループ署名データとを、サービス要求部３０７に出力する。
【０１２８】
サービス要求部３０７は、グループ署名生成部３０５から、サービス情報、付加情報およびグループ署名データを受け付けると、ステップＳ２０６を実行する。
【０１２９】
ステップＳ２０６では、サービス要求部３０７は、その受け付けられたサービス情報、付加情報およびグループ署名データを含むサービス要求データを、アウトソーシング業者装置２のサービス提供部２０３に送信する。
【０１３０】
サービス提供部２０３は、サービス要求部３０７からサービス要求データを受信すると、ステップＳ２０７を実行する。
【０１３１】
ステップＳ２０７では、サービス提供部２０３は、その受信されたサービス要求データが含むグループ署名データの正当性を検証するために、グループ署名検証部２０４に、その受信されたサービス要求データを通知する。
【０１３２】
グループ署名検証部２０４は、サービス提供部２０３からサービス要求データを受け付けると、ステップＳ２０８を実行する。
【０１３３】
ステップＳ２０８では、グループ署名検証部２０４は、公開情報記憶部２０１に公開された公開情報を使って、グループ署名方式に基づいて、サービス提供部２０３から受け付けたサービス要求データ内のグループ署名データを検証する。
【０１３４】
グループ署名検証部２０４は、その検証結果をサービス提供部２０３に通知する。
【０１３５】
サービス提供部２０３は、グループ署名検証部２０４から検証結果を受け付けると、ステップＳ２０９を実行する。
【０１３６】
ステップＳ２０９では、サービス提供部２０３は、その受け付けられた検証結果が、グループ署名データが正当である旨を示しているか否かを確認する。
【０１３７】
その検証結果が、グループ署名データが正当である旨を示していると、サービス提供部２０３はステップＳ２１０を実行し、一方、その検証結果が、グループ署名データが正当でない旨を示していると、サービス提供部２０３はステップＳ２１２を実行する。
【０１３８】
ステップＳ２１０では、サービス提供部２０３は、利用者装置３は委託者装置１の会員であると判定し、利用者装置３にて要求されたサービスを利用者装置３に提供する。
【０１３９】
サービス提供部２０３は、そのサービスを提供した後、ステップＳ２１１を実行する。
【０１４０】
ステップＳ２１１では、サービス提供部２０３は、サービス情報、付加情報、グループ署名データを、サービスログとして、サービスログ記憶部２０５に保存する。
【０１４１】
また、ステップＳ２１２では、サービス提供部２０３は、サービス利用動作を停止する。
（利用者特定）
委託者装置１は、アウトソーシング業者装置２に保存されたサービスログから、サービスを受けた利用者装置３を特定する。この処理は、例えばサービス提供の際にアウトソーシング業者２と利用者装置３の間で問題が起こった場合に、サービスを受けた利用者装置３を特定するために行われる。
【０１４２】
サービスログ提供部２０６は、サービスログ記憶部２０５に保存されたサービスログの中から、利用者装置３を特定したいセッション（サービスログ）に対応するサービス情報、付加情報、グループ署名データの組を選ぶ。
【０１４３】
サービスログ提供部２０６は、その選ばれたサービス情報、付加情報およびグループ署名データを、委託者装置１のサービスログ受信部１０７に通知する。
【０１４４】
サービスログ受信部１０７は、サービスログ提供部２０６からサービス情報、付加情報およびグループ署名データを受け付けると、その受け付けられたサービス情報、付加情報およびグループ署名データを、署名者特定部１０８に通知する。
【０１４５】
署名者特定部１０８は、公開情報開示部１０２に記憶された公開情報、開封鍵記憶部１０４に記憶された開封鍵、会員情報記憶部１０６に記憶されたすべての会員の会員証明書、および、サービスログ受信部１０７から通知されたサービス情報、付加情報およびグループ署名データを入力として、グループ署名方式に基づいて、グループ署名データを生成した利用者装置を特定する。
【０１４６】
なお、利用者装置３がどのサービスを受けたのか、委託者装置１に知られたくない場合も考えられる。この場合、利用者装置３のグループ署名生成部３０６は、署名対象となるデータにサービス情報を含めないで、グループ署名データを計算する。
【０１４７】
次に、本実施の形態の効果について説明する。
【０１４８】
本実施の形態では、アウトソーシング業者装置２は、委託者装置１の公開情報だけを用いて、委託者装置１の会員を認証する。
【０１４９】
このため、アウトソーシング業者装置２は、委託者装置１の管理する会員情報を必要としない。よって、委託者は、委託者が管理する個人情報を、アウトソーシング業者に提供する必要がない。したがって、委託者が管理する個人情報が、アウトソーシング業者などの外部の業者から漏洩する危険を回避することが可能になる。
【０１５０】
同様の理由により、アウトソーシング業者は、個人情報を管理するためのコストを削減できる。さらに、利用者としては、自己の個人情報が委託者と異なる第三者に入手される可能性が少なくなる。
【０１５１】
また、アウトソーシング業者は、サービス提供時に問題が生じた場合などに、委託者にサービスを受けた利用者装置の特定を依頼できる。
【０１５２】
さらに、利用者装置３は、自身で生成したグループ署名データを示すことによって、自分が委託者装置１の会員であることをアウトソーシング業者装置２に確認させることができる。これにより、利用者装置３はサービス利用の際に委託者装置１と通信する必要がない。
【０１５３】
また、本実施の形態では、利用者装置３は、公開情報に基づいてグループ署名鍵を生成し、その生成されたグループ署名鍵を変換して変換データを生成し、その生成された変換データを委託者装置１に提供する。委託者装置１は、その提供された変換データを会員登録鍵で暗号化して署名鍵としての会員証明書を生成し、利用者装置３に提供する。利用者装置３は、所定サービスの要求、会員証明書、グループ署名鍵および公開情報を用いてグループ署名データを生成する。
【０１５４】
このため、グループ認証方式として、上記非特許文献１に記載のグループ認証方式を用いることが可能となる。
【０１５５】
また、本実施の形態では、委託者装置１は、アウトソーシング業者装置２からグループ署名データを取得し、その取得されたグループ署名データと開封鍵とを用いて、グループ署名データを提供した利用者装置３を会員の中から特定する。
【０１５６】
この場合、委託者装置１は、アウトソーシング業者装置に知られることなく、所定サービスを要求した利用者装置３を特定することが可能となる。
【０１５７】
[第２の形態]
次に、本発明の第２の実施の形態のサービス提供システムを図面を参照して説明する。
【０１５８】
図４は、本サービス提供システムを示したブロック図である。なお、図４において、図１に示したものと同一のものには同一符号を付してある。
【０１５９】
図４を参照すると、本サービス提供システムは、委託者装置１ａ、アウトソーシング業者装置２、および、利用者装置３を含む。
【０１６０】
委託者装置１ａは、委託者装置１に含まれる構成に加え、課金部１０９と、課金情報記憶部１１０とをさらに含む。
【０１６１】
なお、委託者装置１ａが、委託者装置１ａの動作を規定するプログラムが記録されたメモリと、そのプログラムを実行可能なコンピュータとを含む場合、そのコンピュータが、そのプログラムを実行することによって、課金部１０９を実現し、そのメモリが課金情報記憶部１１０を実現してもよい。
【０１６２】
課金部１０９は、署名者特定部１０８にて特定された利用者を基に、利用者装置ごとの利用状況を集計し、また、課金情報記憶部１１０に記憶された情報を基に、各利用者の利用料金を決定し、それぞれの利用者装置に通知（課金）する。
【０１６３】
課金情報記憶部１１０は、サービス利用に対する課金方法に関する情報を記憶する。課金方法とは、例えば、サービスの利用回数による従量課金や、サービスの種類による課金などが考えられる。
【０１６４】
なお、アウトソーシング業者装置２および利用者装置３の構成は、第１の実施の形態のアウトソーシング業者装置２および利用者装置３と同様である。
【０１６５】
次に、第２の実施の形態の動作について説明する。
【０１６６】
委託者装置１ａの鍵生成、アウトソーシング業者装置２への公開情報通知、利用者装置３の委託者装置１ａへの加入処理、および利用者装置のサービス利用処理は、第１の実施の形態と同様に行われる。
（課金処理）
図５は、課金処理の動作を説明するためのフローチャートである。なお、図５において、図４に示したものと同一のものには同一符号を付してある。以下、図５を参照して、課金処理の動作を説明する。
【０１６７】
委託者装置１ａは、一定の期間ごとに、アウトソーシング業者装置２からサービスログを回収する。
【０１６８】
具体的には、アウトソーシング業者装置２のサービスログ提供部２０６は、一定時間ごとに、ステップＳ３０１を実行する。
【０１６９】
ステップＳ３０１では、サービスログ提供部２０６は、サービスログ記憶部２０５からサービスログを読み出す。サービスログ提供部２０６は、サービスログを読み出すと、ステップＳ３０２を実行する。
【０１７０】
ステップＳ３０２では、サービスログ提供部２０６は、その読み出されたサービスログを、委託者装置１のサービスログ受信部１０７に送信する。なお、サービスログの受け渡しは、ネットワークを介して実行される代わりに、オフラインで行われてもよい。
【０１７１】
サービスログ提供部２０６が、サービスログを送信すると、サービスログ受信部１０７は、ステップＳ３０３を実行する。
【０１７２】
ステップＳ３０３では、サービスログ受信部１０７は、サービスログ提供部２０６からサービスログを受け取り、その受け取られたサービスログに含まれるサービス情報、付加情報およびグループ署名データを、署名者特定部１０８に送信する。
【０１７３】
署名者特定部１０８は、サービス情報、付加情報およびグループ署名データを受け付けると、ステップＳ３０４を実行する。
【０１７４】
ステップＳ３０４では、署名者特定部１０８は、グループ署名データと、公開情報開示部１０２に開示された公開情報、開封鍵記憶部１０４に記憶された開封鍵、および会員情報記憶部１０６に記憶されたすべての会員の会員証明書を入力として、グループ署名方式に基づいて、グループ署名データを生成した利用者装置を特定する。
【０１７５】
署名者特定部１０８は、すべてのサービスログの利用者装置を特定したら、サービス情報と、その特定された利用者装置とを、課金部１０９に出力する。
【０１７６】
課金部１０９は、サービス情報と利用者装置とを受け取ると、ステップＳ３０５を実行する。
【０１７７】
ステップＳ３０５では、課金部１０９は、そのサービス情報および利用者装置に基づいて、利用者装置ごとに利用状況を集計する。課金部１０９は、利用状況を集計すると、ステップＳ３０６を実行する。
【０１７８】
ステップＳ３０６では、課金部１０９は、その集計された利用状況と、課金情報記憶部１１０に記憶された課金方法とに従って、利用者装置の利用料金を計算する。課金部１０９は、利用者装置の利用料金を計算すると、ステップＳ３０７を実行する。
【０１７９】
ステップＳ３０７では、課金部１０９は、それぞれの利用者装置に、その計算された利用結果を通知（課金）する。
【０１８０】
次に、本実施の形態の効果について説明する。
【０１８１】
本実施の形態では、委託者装置１ａは、アウトソーシング業者装置２からサービスログを受け取り、グループ署名システムの署名者特定機能を用いて、その受け取られたサービスログに含まれるグループ署名データを生成した利用者装置を特定する。
【０１８２】
このため、委託者装置は、アウトソーシング業者装置に知られることなく、所定サービスを要求した利用者装置を特定することが可能となる。
【０１８３】
また、委託者装置１ａは、その特定された利用者装置と所定サービスの要求とに基づいて、その利用者装置の所定サービス利用料を計算し、その計算された利用料をその利用者装置に課金する。
【０１８４】
このため、委託者装置１ａは、アウトソーシング業者装置に知られることなく、所定サービスを要求した利用者装置に所定サービス利用料を課金することが可能となる。
【０１８５】
[第３の形態]
次に、本発明の第３の実施の形態のサービス提供システムを図面を参照して説明する。
【０１８６】
図６は、本サービス提供システムを示したブロック図である。なお、図６において、図１に示したものと同一のものには同一符号を付してある。
【０１８７】
第３の実施の形態では、委託者装置１ｂは、会員として、複数のグループを設定する。委託者装置１ｂは、会員登録処理の際、利用者装置３の資格によって、利用者装置３の所属するグループを決定し、その決定されたグループに対応するグループの署名鍵を発行する。
【０１８８】
グループの設定方法としては、例えば、会員料金によってグループを分割する会員資格による分類、男性と女性など会員の個人情報に基づく分類などが考えられる。
【０１８９】
アウトソーシング業者装置２ａは、利用者装置３の所属するグループによって、利用者装置３に提供するサービスを変更する。
【０１９０】
図６を参照すると、本発明の第３の実施の形態は、委託者装置１ｂ、アウトソーシング業者装置２ａ、および、利用者装置３を含む。
【０１９１】
委託者装置１ｂは、グループ鍵生成部１０１と、会員登録鍵記憶部１０３と、開封鍵記憶部１０４とを複数個含む。
【０１９２】
図６では、これらを２個含む例を表している。具体的には、委託者装置１ｂは、図１に示した委託者装置１または図４に示した委託者装置１ａに含まれる構成に加え、第２のグループ鍵生成部１１１と、第２の会員登録鍵記憶部１１２と、第２の開封鍵記憶部１１３とをさらに含む。
【０１９３】
なお、委託者装置１ｂが、委託者装置１ｂの動作を規定するプログラムが記録されたメモリと、そのプログラムを実行可能なコンピュータとを含む場合、そのコンピュータが、そのプログラムを実行することによって、第２のグループ鍵生成部１１１を実現し、そのメモリが、第２の会員登録鍵記憶部１１２と、第２の開封鍵記憶部１１３を実現してもよい。
【０１９４】
第２のグループ鍵生成部１１１は、グループ鍵生成部１０１と同様に、グループ署名システムで用いる第２の公開情報、第２の会員登録鍵、および、第２の開封鍵を生成する。
【０１９５】
第２のグループ鍵生成部１１１は、その生成された第２の公開情報を公開情報開示部１０２に、その生成された第２の会員登録鍵を第２の会員登録鍵記憶部１１２に、その生成された第２の開封鍵を第２の開封鍵記憶部１１３に出力する。
【０１９６】
第２の会員登録鍵記憶部１１２は、第２のグループ鍵生成部１１１で生成された第２の会員登録鍵を記憶する。
【０１９７】
第２の開封鍵記憶部１１３は、第２のグループ鍵生成部１１１で生成された第２の開封鍵を記憶する。
【０１９８】
アウトソーシング業者装置２ａは、アウトソーシング業者装置２に含まれる構成に加え、第２の公開情報記憶部２０７をさらに含む。
【０１９９】
第２の公開情報記憶部２０７は、委託者装置１ｂの公開情報開示部１０２から通知された第２の公開情報を記憶する。
【０２００】
利用者装置３の構成は、第１の実施の形態の利用者装置３と同様である。
【０２０１】
次に、第３の実施の形態の動作について説明する。
（鍵生成）
最初に、委託者装置１ｂでは、グループ鍵生成部１０１と第２のグループ鍵生成部１１１のそれぞれが、グループ署名システムで用いる鍵を生成する。
【０２０２】
グループ鍵生成部１０１は、自己が生成した第１の公開情報を公開情報開示部１０２に、自己が生成した第１の会員登録鍵を会員登録鍵記憶部１０３に、自己が生成した第１の開封鍵を開封鍵記憶部１０４に出力する。
【０２０３】
また、第２のグループ鍵生成部１１１は、自己が生成した第２の公開情報を公開情報開示部１０２に、自己が生成した第２の会員登録鍵を第２の会員登録鍵記憶部１１２に、自己が生成した第２の開封鍵を第２の開封鍵記憶部１１３に出力する。
（鍵通知）
委託者装置１ｂの公開情報開示部１０２は、サービス提供を委託したアウトソーシング業者装置２ａに対し、第１の公開情報および第２の公開情報を通知する。
【０２０４】
アウトソーシング業者装置２ａでは、公開情報記憶部２０１が第１の公開情報を記憶し、第２の公開情報記憶部２０７が第２の公開情報を記憶する。
【０２０５】
以降、第１の公開情報に対応するグループをグループ１、第２の公開情報に対応するグループをグループ２と表記する。
（会員登録）
利用者装置３は、利用者にて実行された操作に基づいて、委託者装置１ｂに、会員登録処理を実行させ、グループ署名データを生成するために必要な情報を委託者装置１ｂから取得する。この処理は、会員登録時に１回だけ必要である。
【０２０６】
以下、図２を再度参照して、会員登録の動作を説明する。
【０２０７】
利用者は、委託者装置１ｂの会員になるために必要な個人情報（例えば、名前および住所）と共に、利用者が所属するグループを選ぶために必要な情報（グループ選択情報）を、利用者装置３に入力する。
【０２０８】
例えば、利用者が所属するグループが、会員資格によって分類されるならば、利用者は、希望する会員資格をグループ選択情報として利用者装置３に入力する。また、利用者が所属するグループが、利用者の性別によって分類されるならば、利用者は、性別に関する情報をグループ選択情報として利用者装置３に入力する。
【０２０９】
本実施の形態では、利用者は、会員資格をグループ選択情報として利用者装置３に入力するものとする。
【０２１０】
利用者装置３の加入部３０１は、利用者から、個人情報とグループ選択情報を受け付けると、ステップＳ１０１を実行する。
【０２１１】
ステップＳ１０１では、加入部３０１は、その受け付けられた個人情報およびグループ選択情報と、加入要求とを委託者装置１ｂに送信する。
【０２１２】
加入部３０１が、個人情報、グループ選択情報および加入要求を委託者装置１ｂに送信すると、会員登録部１０５は、ステップＳ１０２を実行する。
【０２１３】
ステップＳ１０２では、会員登録部１０５は、その送信された個人情報、グループ選択情報および加入要求を受信する。会員登録部１０５は、個人情報、グループ選択情報および加入要求を受信すると、ステップＳ１０３を実行する。
【０２１４】
ステップＳ１０３では、会員登録部１０５は、その受信された個人情報に基づいて、その個人情報を有する利用者を委託者の会員にするか否かを判定する。
【０２１５】
会員登録部１０５は、加入を許可したら、その受信されたグループ選択情報に従って利用者の所属するグループを選択する。
【０２１６】
本実施の形態では、会員登録部１０５は、グループ１とグループ２のいずれかを選択する。
【０２１７】
会員登録部１０５は、グループを選択すると、ステップＳ１０５を実行する。
【０２１８】
ステップＳ１０５では、会員登録部１０５は、その選択されたグループの公開情報および会員登録鍵を使って、加入部３０１と通信しながら、その選択されたグループのグループ署名データを生成するために必要な署名鍵を生成する。会員登録部１０５は、その生成された署名鍵と、その選択されたグループを示すグループ情報とを、利用者装置３に提供する。
【０２１９】
以降の動作は第１の実施の形態と同様に行われる。
（サービス利用）
サービス利用では、利用者装置３は、アウトソーシング業者装置２ａから会員向けサービスを受ける。
【０２２０】
アウトソーシング業者装置２ａは、利用者装置３の所属するグループに応じて、利用者装置３に提供するサービスを変える。
【０２２１】
ここでは、例として、グループ２に所属する利用者装置３のみがサービスを受けられる場合の動作について説明する。
【０２２２】
以下では、図３を再度参照して、主に、第１の実施の形態の動作と異なる動作を説明する。
【０２２３】
図３のステップＳ２０６では、サービス要求部３０７は、サービス情報、付加情報およびグループ署名データに加え、所属するグループを表す情報（グループ情報）をアウトソーシング業者装置２のサービス提供部２０３に送信する。
【０２２４】
本実施の形態では、グループ情報として"グループ２"が送信されるものとする。
【０２２５】
ステップＳ２０７では、サービス提供部２０３は、その受信されたサービス要求データが含むグループ署名データの正当性を検証するために、グループ署名検証部２０４に、その受信されたサービス要求データおよびグループ情報（グループ２）を通知する。
【０２２６】
グループ署名検証部２０４は、サービス提供部２０３からサービス要求データおよびグループ情報を受け付けると、ステップＳ２０８を実行する。
【０２２７】
ステップＳ２０８では、グループ署名検証部２０４は、サービス提供部２０３から受信したグループ情報（グループ２）に従って、利用する公開情報を選ぶ。
【０２２８】
本実施の形態では、グループ署名検証部２０４は、第２の公開情報記憶部２０７に記憶された第２の公開情報を使ってグループ署名データを検証し、サービス提供部２０３にその検証結果を通知する。
【０２２９】
ステップＳ２０９では、サービス提供部２０３は、グループ署名データが正当であれば、利用者装置３はグループ２に所属すると判定し、ステップＳ２１０を実行する。サービス提供部２０３は、そのサービスを提供した後、ステップＳ２１１を実行する。
【０２３０】
ステップＳ２１１では、サービス提供部２０３は、サービス情報、付加情報、グループ署名データおよびグループ情報を、サービスログ記憶部２０５に保存する。
（利用者特定）
署名者特定部１０８は、サービスログを受信すると、そのサービスログに含まれるグループ情報に従って、開封鍵記憶部１０４に記憶された開封鍵または第２の開封鍵記憶部１１３に記憶された第２の開封鍵を選択し、その選択された開封鍵を用いて、そのサービスログに含まれるグループ署名データを生成した利用者装置を特定する。
【０２３１】
次に、本実施の形態の効果について説明する。
【０２３２】
本実施の形態では、委託者装置１ｂは、利用者装置３の所属するグループを複数設定し、そのグループごとに、アウトソーシング業者装置２ａは、利用者装置が委託者装置１ｂの会員であるか否かをグループ署名方式を用いて検証する。
【０２３３】
このため、利用者装置に応じたサービスを提供することが可能になる。
【０２３４】
また、アウトソーシング業者２ａは、利用者装置３の資格や個人情報の一部を確認することができ、サービス提供範囲を細かく設定することができる。
[第４の形態]
次に、本発明の第４の実施の形態のサービス提供システムを、図面を参照して説明する。
【０２３５】
図７は、本サービス提供システムを示したブロック図である。なお、図７において、図６に示したものと同一のものには同一符号を付してある。
【０２３６】
第４の実施の形態では、アウトソーシング業者装置２ｂは、複数の委託者装置からサービス提供を委託される。図７は、アウトソーシング業者装置２ｂが、２種類の委託者装置の会員に対して、同一のサービスを提供する例を示したブロック図である。
【０２３７】
図７を参照すると、本発明の第４の実施の形態は、委託者装置１、アウトソーシング業者２ｂ、利用者装置３、第２の委託者装置４、および、第２の利用者装置５を含む。
【０２３８】
委託者装置１および第２の委託者装置４の構成は、図１に示した委託者装置１または図４に示した委託者装置１ａの構成と同様である。
【０２３９】
アウトソーシング業者装置２ｂは、アウトソーシング業者装置２ａに含まれる構成に加え、第２のサービスログ記憶部２０８と、第２のサービスログ提供部２０９とを含む。
【０２４０】
なお、アウトソーシング業者装置２ｂが、アウトソーシング業者装置２ｂの動作を規定するプログラムが記録されたメモリと、そのプログラムを実行可能なコンピュータとを含む場合、そのコンピュータが、そのプログラムを実行することによって、第２のサービスログ提供部２０９を実現し、そのメモリが、第２のサービスログ記憶部２０８を実現してもよい。
【０２４１】
第２のサービスログ記憶部２０８は、第２の委託者装置４の会員に対するサービスログを記憶する。
【０２４２】
第２のサービスログ提供部２０９は、第２のサービスログ記憶部２０８に記憶されたサービスログを、第２の委託者装置４に送信する。
【０２４３】
利用者装置３と第２の利用者装置５の構成は、図１に示した利用者装置３の構成と同様である。
【０２４４】
次に、第４の実施の形態の動作について説明する。
【０２４５】
委託者装置１と第２の委託者装置４の鍵生成は、第１の実施の形態の鍵生成と同様に行われる。委託者装置１は、委託者装置１の公開情報をアウトソーシング業者装置２ｂに通知し、また、第２の委託者装置４は、第２の委託者装置４の公開情報をアウトソーシング業者装置２ｂに通知する。
【０２４６】
アウトソーシング業者装置２ｂでは、公開情報記憶部２０１は、委託者装置１の公開情報を記憶し、また、第２の公開情報記憶部２０７は、第２の委託者装置４の公開情報を記憶する。
【０２４７】
利用者装置３は、第１の実施の形態と同様に、委託者装置１に会員登録して署名鍵を取得する。このとき、委託者装置１は、委託者装置１を示す委託者装置情報を、署名鍵とともに利用者装置３に提供する。
【０２４８】
また、第２の利用者装置５は、第２の委託者装置４に会員登録して署名鍵を取得する。このとき、第２の委託者装置４は、委託者装置４を示す委託者装置情報を、署名鍵とともに利用者装置５に提供する。
【０２４９】
利用者装置３または第２の利用者装置５がアウトソーシング業者装置２ｂからサービスを受けようとする際、図３のステップＳ２０６では、サービス情報、付加情報、グループ署名データに加えて、所属する委託者装置を表すデータ（委託者装置情報）が、利用者装置からアウトソーシング業者装置２ｂへ送信される。
【０２５０】
ステップＳ２０８では、グループ署名検証部２０４は、委託者装置を表すデータ（委託者装置情報）に基づいて、利用者装置３の所属する委託者装置を判断し、その判断された委託者装置に対応する公開情報を使って、グループ署名データを検証する。
【０２５１】
また、ステップＳ２１１では、サービス提供部２０３は、利用者装置３が所属する委託者装置に従って、サービスログをサービスログ記憶部２０５または第２のサービスログ記憶部２０８に記憶する。
【０２５２】
アウトソーシング業者装置２ｂでは、サービスログ提供部２０６は、委託者装置１の会員に対するサービスログを、委託者装置１に送信する。また、第２のサービスログ提供部２０９は、第２の委託者装置４の会員に対するサービスログを、第２の委託者装置４に送信する。
【０２５３】
なお、本実施の形態では、委託者装置１と第２の委託者装置４が同じサービスを委託する例を説明したが、異なるサービスをアウトソーシング業者装置２ｂに委託してもよい。
【０２５４】
次に、本実施の形態の効果について説明する。
【０２５５】
本実施の形態では、アウトソーシング業者装置２ｂは、委託者装置ごとにグループ署名方式を用いて、利用者装置を検証する。
【０２５６】
このため、アウトソーシング業者装置２ｂは、複数の委託者装置からサービスの委託を受けることができる。
【実施例】
【０２５７】
[実施例１]
次に、本発明の第１の実施例を、図１を参照して説明する。本実施例は、本発明の第１の実施の形態に相当する。
【０２５８】
なお、本実施例で用いるグループ署名システムは、上記非特許文献１に示される方式である。
（鍵生成）
委託者装置１のグループ鍵生成部１０１は、はじめに、アウトソーシングシステムに共通の定数を定める。
【０２５９】
まず、グループ鍵生成部１０１は、セキュリティパラメータε、ｋ、ｌｐを定める。
【０２６０】
続いて、グループ鍵生成部１０１は、λ１、λ２、γ１、γ ２をλ１＞ε（λ２＋ｋ）、λ２＞４ｌｐ、γ１＞ε（γ２＋ｋ）、γ２＞λ １＋２を満たすように選ぶ。
【０２６１】
続いて、グループ鍵生成部１０１は、衝突困難ハッシュ関数Ｈを定める。
【０２６２】
続いて、グループ鍵生成部１０１は、ε、ｋ、ｌｐ、λ１、λ２、γ１、γ２、Ｈを、公開情報開示部１０２に出力する。
【０２６３】
次に、グループ鍵生成部１０１は、会員登録鍵を生成する。
【０２６４】
まず、グループ鍵生成部１０１は、大きさｌｐビットの素数ｐ'、ｑ'を選ぶ。
【０２６５】
続いて、グループ鍵生成部１０１は、ｐ＝２ｐ'＋１、ｑ＝２ｑ'＋１を計算し、ｎ＝ｐｑとする。
【０２６６】
続いて、グループ鍵生成部１０１は、ｎの平方剰余群からランダムにａ，ａ０，ｇ，ｈを選ぶ。
【０２６７】
続いて、グループ鍵生成部１０１は、（ｐ'，ｑ'）を会員登録鍵記憶部１０３に出力し、（ｎ，ａ，ａ０，ｇ，ｈ）を公開情報開示部１０２に出力する。
【０２６８】
次に、グループ鍵生成部１０１は、開封鍵を生成する。
【０２６９】
グループ鍵生成部１０１は、位数ｐ'ｑ'の乗法群からランダムにｘを選び、ｙ＝ｇ＾ｘ  ｍｏｄ  ｎ  を計算する。
【０２７０】
グループ鍵生成部１０１は、ｘを開封鍵記憶部１０４に、ｙを公開情報開示部１０２に、出力する。
（鍵通知）
委託者装置１は、契約したアウトソーシング業者装置２に対して、公開情報開示部１０２に開示されたパラメータ（ε、ｋ、ｌｐ、λ１、λ２、γ１、γ２）、衝突困難ハッシュ関数Ｈ、公開鍵（ｎ，ａ，ａ０，ｇ，ｈ，ｙ）を送信する。
【０２７１】
アウトソーシング業者装置２は、これらの値を公開情報記憶部２０１に記憶する。
（会員登録）
利用者装置３は、委託者装置１に会員登録を要求をする、まず、会員登録に必要な個人情報および加入要求を委託者装置１に送信する。個人情報は、例えば、「名前」「住所」「メールアドレス」などである。
【０２７２】
委託者装置１は、個人情報および加入要求を受け取ると、利用者装置３の加入の可否を判定する。
【０２７３】
委託者装置１は、利用者装置３の加入を許可する場合、利用者装置３に許可を表す情報を送信する。
【０２７４】
利用者装置３の加入が許可されたら、委託者装置１と利用者装置３は、協働して、グループ署名データを生成するための署名鍵を生成する。
【０２７５】
その生成処理の結果、利用者装置３は、グループ署名鍵ｘｉと、
【０２７６】
【数１】
2007004461.tif 000003
【０２７７】
を満たす会員証明書（Ａｉ，ｅｉ）を取得する。
【０２７８】
以後、ｘｉおよび（Ａｉ，ｅｉ）の生成方法を示す。
【０２７９】
利用者装置３の加入部３０１は、０から２＾λ２の間からチルダｘｉをランダムに選び、また、０からｎ＾２の間からチルダｒｉをランダムに選ぶ。そして、加入部３０１は、
【０２８０】
【数２】
2007004461.tif 000004
【０２８１】
を計算する。
【０２８２】
また、加入部３０１は、チルダｘｉおよびチルダｒｉを正しく生成したことを示す証明データを作成する。加入部３０１は、乱数ｔ１およびｔ２を、
【０２８３】
【数３】
2007004461.tif 000005
【０２８４】
を満たすように選び、
【０２８５】
【数４】
2007004461.tif 000006
【０２８６】
を計算する。
【０２８７】
加入部３０１は、（Ｃ１, ｃ１, ｓ１, ｓ２）を委託者装置１に送信する。
【０２８８】
委託者装置１の会員登録部１０５は、Ｃ１, ｃ１, ｓ１, ｓ２ を受信すると、等式
【０２８９】
【数５】
2007004461.tif 000007
【０２９０】
が成り立つか否かを確認する。
【０２９１】
会員登録部１０５は、その上記等式が成り立つことを確認できたら、
【０２９２】
【数６】
2007004461.tif 000008
【０２９３】
の条件を満たすαｉ及びβｉをランダムに選び、その選ばれたαｉおよびβｉを利用者装置３に送信する。
【０２９４】
加入部３０１は、αｉ，βｉを受信すると、
【０２９５】
【数７】
2007004461.tif 000009
【０２９６】
を計算する。
【０２９７】
ここで、計算したｘｉは、グループ署名鍵となる。
【０２９８】
つまり、グループ署名鍵ｘｉは、委託者装置１と利用者装置３によって、ランダムに作成される。ただし、委託者装置１は、グループ署名鍵を計算することはできない。
【０２９９】
次に、加入部３０１は、
【０３００】
【数８】
2007004461.tif 000010
【０３０１】
を計算する。
【０３０２】
また、加入部３０１は、ｘｉを正しく生成したことを示す証明データを作成する。
【０３０３】
加入部３０１は、
【０３０４】
【数９】
2007004461.tif 000011
【０３０５】
の条件を満たす乱数ｔ３，ｔ４，ｔ５を選び、
【０３０６】
【数１０】
2007004461.tif 000012
【０３０７】
を計算する。
【０３０８】
そして、加入部３０１は、（Ｃ２，ｃ２，ｓ３，ｓ４，ｓ５）を委託者装置１に送信する。
【０３０９】
委託者装置１の会員登録部１０５は、Ｃ２，ｃ２，ｓ３，ｓ４，ｓ５を受信すると、
【０３１０】
【数１１】
2007004461.tif 000013
【０３１１】
が成り立つか否かを調べる。
【０３１２】
上記等式が成り立つことを確認できると、会員登録部１０５は、
【０３１３】
【数１２】
2007004461.tif 000014
【０３１４】
の条件を満たす素数ｅｉをランダムに選び、
【０３１５】
【数１３】
2007004461.tif 000015
【０３１６】
を計算する。
【０３１７】
なお、１／ｅｉは、ｐ'及びｑ'を知らないと計算できない。
【０３１８】
会員登録部１０５は、求めた（Ａｉ，ｅｉ）を会員証明書として利用者装置３に送信する。
【０３１９】
利用者装置３の加入部３０１は、（Ａｉ，ｅｉ）を受け取ると、
【０３２０】
【数１４】
2007004461.tif 000016
【０３２１】
が成り立つか否かを調べ、会員証明書が正しく生成されているか否かを確認する。
【０３２２】
会員証明書が正しく生成されていることが確認できたら、加入部３０１は、会員証明書（Ａｉ，ｅｉ）を会員証明書記憶部３０２に記憶させる。
【０３２３】
また、加入部３０１は、ｘｉをグループ署名鍵としてグループ署名鍵記憶部３０３に記憶させる。
【０３２４】
委託者装置１の会員登録部１０５は、最初に受信した利用者装置３の個人情報と、会員証明書（Ａｉ，ｅｉ）とを、互いに関連づけて、会員情報記憶部１０６に記憶させる。
（サービス利用）
アウトソーシング業者装置２が委託者装置１の会員向けに、音楽配信サービスを提供しているとする。また、アウトソーシング業者装置２のサービス公開部２０２は、配信される曲目に関する情報を公開しているとする。
【０３２５】
利用者装置３のサービス選択部３０４は、アウトソーシング業者装置２のサービス公開部２０２から、配信曲の一覧を受信する。
【０３２６】
ここでは、サービス選択部３０４は、"曲目１、曲目２、曲目３、曲目４、曲目５"といったリストを受信したとする。
【０３２７】
サービス選択部３０４は、利用者の指示に基づいて、このリストの中から配信を受けたい曲目を選び、その選ばれた曲目をサービス公開部２０２に送信する。
【０３２８】
アウトソーシング業者装置２のサービス公開部２０２は、その選ばれた曲目に対応するサービス情報（ここではｍと表す）と、付加情報とを、サービス選択部３０４に送信する。なお、本実施例では、付加情報として、セッションを管理するためのセッションＩＤ（ＳＩＤと表す）が用いられる。
【０３２９】
利用者装置３のサービス選択部３０４は、ｍとＳＩＤを、グループ署名生成部３０５に通知する。
【０３３０】
グループ署名生成部３０５は、ｍとＳＩＤの連結データに対して、グループ署名データを計算する。
【０３３１】
グループ署名生成部３０５は、乱数生成器３０６から２ｌｐビットの乱数ｗを受け取る。
【０３３２】
グループ署名生成部３０５は、乱数ｗと、会員証明書（Ａｉ，ｅｉ）と、公開情報開示部１０２が開示する公開情報とに基づいて、（Ａｉ、ｅｉ）の変換データ
【０３３３】
【数１５】
2007004461.tif 000017
【０３３４】
を計算する。
【０３３５】
次に、グループ署名生成部３０５は、変換データを正しく生成したことを示すデータを作成する。
【０３３６】
乱数生成器３０６は、ε（γ２＋ｋ）ビットの乱数ｒ１、ε（λ２＋ｋ）ビットの乱数ｒ２、ε（γ１＋２ｌｐ＋ｋ＋１）ビットの乱数ｒ３、および、ε（２ｌｐ＋ｋ）ビットの乱数ｒ４を生成し、それら生成された乱数をグループ署名生成部３０５に出力する。
【０３３７】
乱数を受け取ると、グループ署名生成部３０５は、
【０３３８】
【数１６】
2007004461.tif 000018
【０３３９】
を計算する。
【０３４０】
次に、グループ署名生成部３０５は、ｍとＳＩＤの連結データを用いて、
【０３４１】
【数１７】
2007004461.tif 000019
【０３４２】
を計算する。
【０３４３】
また、グループ署名生成部３０５は、
【０３４４】
【数１８】
2007004461.tif 000020
【０３４５】
を計算する。
【０３４６】
そして、グループ署名生成部３０５は、ｍ、ＳＩＤおよびグループ署名データｇｓ＝（ｃ，ｓ１，ｓ２，ｓ３，ｓ４，Ｔ１，Ｔ２，Ｔ３）を、サービス要求部３０７に出力する。
【０３４７】
ここで、グループ署名生成部３０５は、ｍとＳＩＤの連結データに対してグループ署名データを計算する代わりに、ＳＩＤのみを入力としてグループ署名データを計算してもよい。
【０３４８】
サービス要求部３０７は、サービス情報ｍ、付加情報ＳＩＤ、グループ署名データｇｓをアウトソーシング業者装置２のサービス提供部２０３に送信する。
【０３４９】
アウトソーシング業者装置２のサービス提供部２０３は、ｍ、ＳＩＤ、ｇｓを受信すると、グループ署名データｇｓを検証するために、これらの情報をグループ署名検証部２０４に通知する。
【０３５０】
グループ署名検証部２０４は、サービス情報ｍ、付加情報ＳＩＤ、グループ署名データｇｓ＝（ｃ，ｓ１，ｓ２，ｓ３，ｓ４，Ｔ１，Ｔ２，Ｔ３）、および、公開情報記憶部２０１に記憶された公開情報に基づいて、
【０３５１】
【数１９】
2007004461.tif 000021
【０３５２】
を計算する。
【０３５３】
グループ署名検証部２０４は、ｃ'＝ｃであり、且つｓ１がε（γ２＋ｋ）＋１ビット、ｓ２がε（λ２＋ｋ）＋１ビット、ｓ３がε（γ１＋２ｌｐ＋ｋ＋１）＋１ビット、及びｓ４がε（２ｌｐ＋ｋ）＋１ビットであるという条件を満たす場合、署名は正当であると判断し、その判断結果をサービス提供部２０３に通知する。
【０３５４】
なお、グループ署名検証部２０４は、その条件が満たされない場合、署名は不当であると判断し、その判断結果をサービス提供部２０３に通知する。
【０３５５】
サービス提供部２０３は、グループ署名検証部２０４による検証結果が正当である旨を示す場合、利用者装置３にサービス情報ｍで表される曲を配信する。その後、サービス提供部２０３は、サービス情報ｍ、付加情報ＳＩＤ、グループ署名データ（ｃ，ｓ１，ｓ２，ｓ３，ｓ４，Ｔ１，Ｔ２，Ｔ３）を、時刻情報などと共にサービスログ記憶部２０５に保存する。
（利用者特定）
アウトソーシング業者装置２は、配信で問題が起こった場合などに、委託者装置１にサービスログを提供して、委託者装置１に、サービスを利用した利用者装置を特定してもらう。
【０３５６】
アウトソーシング業者装置２のサービスログ提供部２０６は、サービスログ記憶部２０５に保存されたサービスログの中から、利用者装置を特定したいセッションに対応するサービス情報ｍ、付加情報ＳＩＤ、グループ署名データ（ｃ，ｓ１，ｓ２，ｓ３，ｓ４，Ｔ１，Ｔ２，Ｔ３）を、委託者装置１のサービスログ受信部１０７に送信する。
【０３５７】
ここで、利用者装置３がＳＩＤのみに対するグループ署名データを計算した場合は、サービスログ提供部２０６は、ＳＩＤとグループ署名データ（ｃ，ｓ１，ｓ２，ｓ３，ｓ４，Ｔ１，Ｔ２，Ｔ３）のみを送信してもよい。
【０３５８】
委託者装置１のサービスログ受信部１０７は、受信したデータを署名者特定部１０８に通知する。
【０３５９】
署名者特定部１０８はまず、公開情報を用いて検証式
【０３６０】
【数２０】
2007004461.tif 000022
【０３６１】
を確認する。
【０３６２】
グループ署名データが正当ならば、署名者特定部１０８は、開封鍵記憶部１０４に記憶されたｘを用いて、署名者特定用情報Ａ'を
【０３６３】
【数２１】
2007004461.tif 000023
【０３６４】
と計算する。
【０３６５】
署名者特定部１０８は次に、会員情報記憶部１０６に記憶された会員証明書の中から、Ａ'と一致するＡｉを検索する。
【０３６６】
署名者特定部１０８は、Ａ'と一致するＡｉを見つけたら、これに対応する個人情報から利用者装置を特定する。
[実施例２]
次に、本発明の第２の実施例を説明する。本実施例は、本発明の第２の実施の形態に相当する。
【０３６７】
本実施例において、鍵生成処理、鍵通知処理、会員登録処理、サービス利用処理は、第１の実施例と同様である。
（課金処理）
委託者装置１ａは、アウトソーシング業者装置２からすべてのサービスログを受け取り、サービス利用への課金処理を行う。課金形態は、あらかじめ定められ、課金情報記憶部１１２に記憶されているとする。
【０３６８】
ここでは、サービスの利用回数によって利用料金が定められているとする。
【０３６９】
アウトソーシング業者装置２のサービスログ提供部２０６は、サービスログ記憶部２０５に記憶されたすべての情報（ｍ、ＳＩＤ、（ｃ，ｓ１，ｓ２，ｓ３，ｓ４，Ｔ１，Ｔ２，Ｔ３））を、委託者装置１ａのサービスログ受信部１０７に送信する。
【０３７０】
サービスログ受信部１０７は、サービスログを受け取ると、そのサービスログを署名者特定部１０８に送信する。
【０３７１】
署名者特定部１０８は、それぞれの情報（ｍ、ＳＩＤ、（ｃ，ｓ１，ｓ２，ｓ３，ｓ４，Ｔ１，Ｔ２，Ｔ３））に対して、公開情報を用いて検証式
【０３７２】
【数２２】
2007004461.tif 000024
【０３７３】
を確認する。
【０３７４】
グループ署名データが正当ならば、署名者特定部１０８は、開封鍵記憶部１０４に記憶されたｘｉを用いて、署名者特定用情報Ａ'を
【０３７５】
【数２３】
2007004461.tif 000025
【０３７６】
と計算する。
【０３７７】
次に、署名者特定部１０８は、会員情報記憶部１０６に記憶されたすべての会員証明書の中から、Ａ'と一致するＡｉを検索し、その持ち主を利用者と特定する。
【０３７８】
署名者特定部１０８は、すべてのサービスログの利用者を特定したら、すべての利用者について、情報（ｍ、ＳＩＤ、利用者名）を課金部１０９に出力する。
【０３７９】
課金部１０９は、情報（ｍ，ＳＩＤ，利用者名）を受け取り、利用者名ごとにログを集計する。
【０３８０】
次に、課金部１０９は、サービスの利用回数に従って、定められた料金体系に従って各利用者の利用料金を計算する。
【０３８１】
課金部１０９は、利用料金を決定したら、それぞれの利用者に利用料金を通知する。
[実施例３]
次に、本発明の第３の実施例を説明する。本実施例は、本発明の第３の実施の形態に相当する。
【０３８２】
委託者装置１ｂは、会員資格として通常会員と特別会員の２種類を用意する。
【０３８３】
利用者装置３は、委託者装置１ｂに会員登録する際に、どちらの会員になるか選ぶ。
（鍵生成）
委託者装置１のグループ鍵生成部１０１は、通常会員に対応するグループの鍵を生成する。
【０３８４】
具体的には、グループ鍵生成部１０１は、第１の実施例と同様の方法でパラメータ（ε，ｋ，ｌｐ，λ１，λ２，γ１，γ２）、衝突困難ハッシュ関数Ｈ、公開鍵（ｎ，ａ，ａ０，ｇ，ｈ，ｙ）、会員登録鍵（ｐ'，ｑ'）、開封鍵ｘを生成する。
【０３８５】
グループ鍵生成部１０１は、第１の公開情報ｐｋ１＝（ε，ｋ，ｌｐ，λ１，λ２，γ１，γ２，Ｈ，ｎ，ａ，ａ０，ｇ，ｈ，ｙ）を公開情報開示部１０２に、第１の会員登録鍵（ｐ'，ｑ'）を会員登録鍵記憶部１０３に、第１の開封鍵ｘを開封鍵記憶部１０４に記憶させる。
【０３８６】
また、委託者装置１ｂの第２のグループ鍵生成部１１１は、特別会員に対応するグループの鍵を生成する。
【０３８７】
具体的には、グループ鍵生成部１１１は、グループ鍵生成部１０１と同様の方法を用いて、第２のパラメータ（ε'，ｋ'，ｌｐ'，λ１'，λ２'，γ１'，γ２'）、第２の衝突困難ハッシュ関数Ｈ、第２の公開鍵（ｎ'，ａ'，ａ０'，ｇ'，ｈ'，ｙ'）、第２の会員登録鍵（ｐ''，ｑ''）、第２の開封鍵ｘ'を生成する。
【０３８８】
グループ鍵生成部１１１は、第２の公開情報ｐｋ２＝（ε'，ｋ'，ｌｐ'，λ１'，λ２'，γ１'，γ２'，Ｈ'，ｎ'，ａ'，ａ０'，ｇ'，ｈ'，ｙ'）を公開情報開示部１０２に、第２の会員登録鍵（ｐ'，ｑ'）を第２の会員登録鍵記憶部１１２に、第２の開封鍵ｘを第２の開封鍵記憶部１１３に記憶させる。
【０３８９】
なお、第２のパラメータと第２の衝突困難ハッシュ関数は、第１の公開情報と同じ値を用いてもよい。
（鍵通知）
委託者装置１ｂは、サービスを委託したアウトソーシング業者装置２ａに対し、ｐｋ１およびｐｋ２を通知する。アウトソーシング業者装置２ａは、ｐｋ１を公開情報記憶部２０１に、ｐｋ２を第２の公開情報記憶部２０７に記憶させる。
（会員登録）
利用者装置３は、委託者装置１ｂに会員登録する際、会員登録に必要な個人情報と加入要求とともに、会員種別を選択して送信する。
【０３９０】
個人情報を受け取ると、委託者装置１ｂは、利用者装置３の加入の可否を判定する。委託者装置１ｂは、利用者装置３の加入を許可する場合、利用者装置３に許可を表す情報とグループ情報を送信する。
【０３９１】
利用者装置３の加入が許可されたら、委託者装置１ｂと利用者装置３とは、協働して、署名鍵を生成する。
【０３９２】
署名鍵の生成は、第１の実施例と同様に行うが、利用者装置３が通常会員を選んだとき、委託者装置１の会員登録部１０５は、ｐｋ１と（ｐ'，ｑ'）を入力として利用する。
【０３９３】
また、利用者装置３が特別会員を選んだとき、委託者装置１の会員登録部１０５は、ｐｋ２と（ｐ''，ｑ''）を入力として利用する。
【０３９４】
こうして利用者装置３は、通常会員を選んだときは、署名鍵ｘｉと
【０３９５】
【数２４】
2007004461.tif 000026
【０３９６】
を満たす会員証明書（Ａｉ，ｅｉ）を取得し、特別会員を選んだときは、署名鍵
【０３９７】
【数２５】
2007004461.tif 000027
【０３９８】
と、
【０３９９】
【数２６】
2007004461.tif 000028
【０４００】
を満たす会員証明書
【０４０１】
【数２７】
2007004461.tif 000029
【０４０２】
を取得する。
【０４０３】
利用者装置３は、会員証明書を会員証明書記憶部３０２に、グループ署名鍵をグループ署名鍵記憶部３０３に記憶させる。
（サービス利用）
アウトソーシング業者装置２ａは、委託者装置１ｂの特別会員にのみ動画配信サービスを提供する場合を考える。特別会員用の会員証明書
【０４０４】
【数２８】
2007004461.tif 000030
【０４０５】
とグループ署名鍵
【０４０６】
【数２９】
2007004461.tif 000031
【０４０７】
を持つ利用者装置３は、アウトソーシング業者装置２ａの動画配信サービスを利用する。
【０４０８】
利用者装置３は、アウトソーシング業者装置２ａのサービス公開部２０２から、特別会員に配信が許された動画の一覧を受信する。
【０４０９】
サービス選択部３０４は、利用者の操作に基づいて、その一覧の中から配信を受けたい動画を選び、その選ばれた動画をアウトソーシング業者装置２のサービス公開部２０２に送信する。
【０４１０】
アウトソーシング業者装置２ａのサービス公開部２０２は、選ばれた動画に対応するサービス情報ｍと、付加情報ＳＩＤを、利用者装置３のサービス選択部３０４に送信する。
【０４１１】
利用者装置３のサービス選択部３０４は、ｍとＳＩＤを、グループ署名生成部３０５に通知する。
【０４１２】
グループ署名生成部３０５は、ｍとＳＩＤの連結データに対して、グループ署名データを計算する。
【０４１３】
グループ署名データの計算方法は、第１の実施例と同様に行う。ただし、公開情報ｐｋ１の代わりに第２の公開情報ｐｋ２が利用される。
【０４１４】
そして、グループ署名生成部３０５は、ｍ、ＳＩＤおよびグループ署名データｇｓ２＝（ｃ'，ｓ１'，ｓ２'，ｓ３'，ｓ４'，Ｔ１'，Ｔ２'，Ｔ３'）を、サービス要求部３０７に出力する。
【０４１５】
サービス要求部３０７は、サービス情報ｍ、付加情報ＳＩＤ、グループ署名データｇｓ２と、特別会員を表すグループ情報Ｖとを、アウトソーシング業者装置２のサービス提供部２０３に送信する。
【０４１６】
アウトソーシング業者装置２のサービス提供部２０３は、ｍ、ＳＩＤ、ｇｓ２およびＶを受信すると、グループ署名データを検証するために、これらの情報をグループ署名検証部２０４に通知する。
【０４１７】
グループ署名検証部２０４は、グループ情報Ｖを受け取ると、グループ情報Ｖにて示される特別会員に対応する公開情報を用いてグループ署名データを検証する。
【０４１８】
具体的には、グループ署名検証部２０４は、サービス情報ｍ、付加情報ＳＩＤ、グループ署名データｇｓ２、および第２の公開情報記憶部２０７に記憶された第２の公開情報ｐｋ２に基づいて、グループ署名データｇｓ２を検証する。
【０４１９】
検証方法は、第１の実施例と同様である。
【０４２０】
グループ署名検証部２０４は、署名の正当または不当を、サービス提供部２０３に通知する。
【０４２１】
サービス提供部２０３は、グループ署名検証部２０４による検証結果が正当を示す場合、利用者装置３は委託者装置１ｂの特別会員であると判定し、利用者装置３にサービス情報ｍで表される動画を配信する。その後、サービス提供部２０３は、サービス情報ｍ、付加情報ＳＩＤ、グループ署名データｇｓ２、グループ情報Ｖを、時刻情報などと共にサービスログ記憶部２０５に保存する。
（利用者特定）
アウトソーシング業者装置２ａのサービスログ提供部２０６は、サービスログ記憶部２０５に保存されたサービス情報ｍ、付加情報ＳＩＤ、グループ署名データｇｓ２、グループ情報Ｖを、委託者装置１のサービスログ受信部１０７に送信する。
【０４２２】
委託者装置１のサービスログ受信部１０７は、その受信したデータを署名者特定部１０８に通知する。
【０４２３】
署名者特定部１０８は、グループ情報Ｖを受け取ると、まず、そのグループ情報Ｖにて示される第２の公開情報ｐｋ２を用いて、グループ署名データに対する検証式を確認する。
【０４２４】
グループ署名データが正当ならば、署名者特定部１０８は、第２の開封鍵記憶部１１３に記憶されたｘ'を用いて、署名者特定用情報Ａ'を第１の実施例と同様に計算する。
【０４２５】
署名者特定部１０８は次に、会員情報記憶部１０６に記憶された会員証明書の中から、Ａ'と一致するＡｉを検索する。
【０４２６】
署名者特定部１０８は、Ａ'と一致するＡｉを見つけたら、これに対応する個人情報から利用者装置を特定する。
【０４２７】
なお、本実施例では、通常会員グループと特別会員グループで、同一のグループ署名方法を利用したが、異なるグループ署名方法を用いてもよい。
[実施例４]
次に、本発明の第４の実施例を説明する。本実施例は、本発明の第４の実施の形態に相当する。
（鍵生成処理）
委託者装置１のグループ鍵生成部１０１は、第１の実施例と同様に、パラメータ（ε，ｋ，ｌｐ，λ１，λ２，γ１，γ２）、衝突困難ハッシュ関数Ｈ、公開鍵（ｎ，ａ，ａ０，ｇ，ｈ，ｙ）、会員登録鍵（ｐ'，ｑ'）、開封鍵ｘを生成する。
【０４２８】
委託者装置１のグループ鍵生成部１０１は、第１の公開情報ｐｋ１＝（ε，ｋ，ｌｐ，λ１，λ２，γ１，γ２，Ｈ，ｎ，ａ，ａ０，ｇ，ｈ，ｙ）を公開情報開示部１０２に、第１の会員登録鍵（ｐ'，ｑ'）を会員登録鍵記憶部１０３に、第１の開封鍵ｘを開封鍵記憶部１０４に記憶させる。
【０４２９】
第２の委託者装置４のグループ鍵生成部（不図示）も、第２のパラメータ（ε'，ｋ'，ｌｐ'，λ１'，λ２'，γ１'，γ２'）、第２の衝突困難ハッシュ関数Ｈ、第２の公開鍵（ｎ'，ａ'，ａ０'，ｇ'，ｈ'，ｙ'）、第２の会員登録鍵（ｐ''，ｑ''）、第２の開封鍵ｘ'を生成する。
【０４３０】
第２の委託者装置４のグループ鍵生成部は、第２の公開情報ｐｋ２＝（ε'，ｋ'，ｌｐ'，λ１'，λ２'，γ１'，γ２'，Ｈ'，ｎ'，ａ'，ａ０'，ｇ'，ｈ'，ｙ'）を公開情報開示部１０２に、第２の会員登録鍵（ｐ''，ｑ''）を第２の会員登録鍵記憶部１１２に、第２の開封鍵ｘ'を第２の開封鍵記憶部１１３に記憶させる。
【０４３１】
なお、第２のパラメータと第２の衝突困難ハッシュ関数は、第１の公開情報と同じ値を用いてもよい。
（鍵通知）
委託者装置１と第２の委託者装置４のそれぞれは、アウトソーシング業者装置２にｐｋ１およびｐｋ２を通知する。
【０４３２】
アウトソーシング業者装置２は、ｐｋ１を公開情報記憶部２０１に、ｐｋ２を第２の公開情報記憶部２０７に記憶させる。
（会員登録）
利用者装置３の委託者装置１への会員登録、および第２の利用者装置５の第２の委託者装置４への会員登録は、それぞれの公開情報と会員登録鍵を用いて、第１の実施例と同様に行う。
（サービス利用）
利用者装置３および第２の利用者装置４は、それぞれに対して発行された会員証明書およびグループ署名鍵を入力として、第１の実施例と同様にサービスを利用する。
【０４３３】
ただし、利用者装置３のサービス要求部３０７は、サービス情報ｍ、付加情報ＳＩＤ、グループ署名データｇｓに加えて、委託者装置１を表すデータＧ１を送信する。
【０４３４】
また、第２の利用者装置５のサービス要求部（不図示）は、サービス情報ｍ、付加情報ＳＩＤ、グループ署名データｇｓに加えて、第２の委託者装置４を表すデータＧ２を併せて送信する。
【０４３５】
アウトソーシング業者装置２のグループ署名検証部２０４は、サービス提供部２０３から送られたデータにデータＧ１が含まれていたら、ｐｋ１を用いてグループ署名データを検証し、その検証結果をサービス提供部２０３に通知する。
【０４３６】
また、グループ署名検証部２０４は、サービス提供部２０３から送られたデータにデータＧ２が含まれていたら、ｐｋ２を用いてグループ署名データを検証し、その検証結果をサービス提供部２０３に通知する。
【０４３７】
サービス提供部２０３は、サービスを提供した後、データＧ１が含まれるサービスログをサービスログ記憶部２０５に、データＧ２が含まれるサービスログを第２のサービスログ記憶部２０８に、それぞれ出力する。
【０４３８】
なお、本実施例では委託者装置１と第２の委託者装置４で同一のグループ署名方法を利用したが、異なるグループ署名方法を用いてもよい。
【０４３９】
以上説明した各実施の形態および各実施例において、図示した構成は単なる一例であって、本発明はその構成に限定されるものではない。
【産業上の利用可能性】
【０４４０】
本発明によれば、会員を有するプロバイダが、会員向けサービスをコンテンツプロバイダなどに委託する際、プロバイダの会員情報をコンテンツプロバイダに渡すことなくサービスを委託することができる。
【０４４１】
このため、本発明は、会員情報を保護したいプロバイダや、個人情報管理コストを省きたいコンテンツプロバイダなどに適用されることができる。
【図面の簡単な説明】
【０４４２】
【図１】本発明の第１の実施形態の構成を示すブロック図である。
【図２】本発明の第１の実施形態の会員登録の動作を示すフローチャートである。
【図３】本発明の第１の実施形態のサービス提供の動作を示すフローチャートである。
【図４】本発明の第２の実施形態の構成を示すブロック図である。
【図５】本発明の第２の実施形態の課金処理の動作を示すフローチャートである。
【図６】本発明の第３の実施形態の構成を示すブロック図である。
【図７】本発明の第４の実施形態の構成を示すブロック図である。
【符号の説明】
【０４４３】
１、１ａ、１ｂ  委託者装置
２、２ａ    アウトソーシング業者装置
３          利用者装置
４          第２の委託者装置
５          第２の利用者装置
１０１      グループ鍵生成部
１０２      公開情報開示部
１０３      会員登録鍵記憶部
１０４      開封鍵記憶部
１０５      会員登録部
１０６      会員情報記憶部
１０７      サービスログ受信部
１０８      署名者特定部
１０９      課金部
１１０      課金情報記憶部
１１１      第２のグループ鍵生成部
１１２      第２の会員登録鍵記憶部
１１３      第２の開封鍵記憶部
２０１      公開情報記憶部
２０２      サービス公開部
２０３      サービス提供部
２０４      グループ署名検証部
２０５      サービスログ記憶部
２０６      サービスログ提供部
２０７      第２の公開情報記憶部
２０８      第２のサービスログ記憶部
２０９      第２のサービスログ提供部
３０１      加入部
３０２      会員証明書記憶部
３０３      グループ署名鍵記憶部
３０４      サービス選択部
３０５      グループ署名生成部
３０６      乱数生成器
３０７      サービス要求部
【図１】
2007004461.tif 000032
【図２】
2007004461.tif 000033
【図３】
2007004461.tif 000034
【図４】
2007004461.tif 000035
【図５】
2007004461.tif 000036
【図６】
2007004461.tif 000037
【図７】
2007004461.tif 000038