(57)【特許請求の範囲】
【請求項１】
サービス提供者から所定のサービスを受けることを許可されたグループに属するグループメンバによる署名であることを示すグループ署名を生成する署名生成装置と、予め選択されたグループ秘密鍵および生成元を用いて生成される値と、前記生成元と、セキュリティパラメータとを含むグループ公開鍵を生成管理するグループ管理装置と、前記生成されたグループ署名を前記グループ公開鍵に基づいて検証する署名検証装置とを備えるグループ署名システムにおける署名生成装置であって、
前記グループ公開鍵に基づいて前記グループメンバの署名であることを示す署名証明情報を生成する署名証明情報生成手段と、
前記署名証明情報と、前記グループ公開鍵と、前記グループメンバの個人情報と分離されたグループ内識別子を示すグループメンバインデックスを含む公開ライセンス情報と、前記グループメンバ固有の秘密ライセンス情報と、所定のリクエストと、を用いて前記リクエストに応じた随時署名を生成する随時署名生成手段と、
前記リクエストに、前記随時署名と、前記署名証明情報と、前記公開ライセンス情報とを付加したメッセージを前記グループ署名として生成するメッセージ生成手段と、
前記グループ署名を前記署名検証装置に送信するグループ署名送信手段とを備えることを特徴とする署名生成装置。
【請求項２】
請求項１に記載の署名生成装置で生成されたグループ署名が、サービス提供者から所定のサービスを受けることを許可されたグループに属するグループメンバによる署名であるか否かを検証する署名検証装置であって、
前記署名生成装置で生成されたグループ署名を受信するグループ署名受信手段と、
予め選択されたグループ秘密鍵および生成元を用いて生成される値と、前記生成元と、セキュリティパラメータとを含む予め公開されたグループ公開鍵に含まれるセキュリティパラメータと、前記グループ署名に含まれる署名証明情報と公開ライセンス情報とメッセージと、を用いて検証用情報を生成する検証用情報生成手段と、
前記生成された検証用情報と前記グループ公開鍵と前記グループ署名とから導かれる値と、前記グループ署名に含まれる随時署名と前記グループ公開鍵とから導かれる値とが同じであるか否かを判別し、同じである場合に前記グループ署名の検証が成功したと判定するグループ署名検証手段とを備えることを特徴とする署名検証装置。
【請求項３】
前記グループメンバの個人情報と分離されたグループ内識別子を示すグループメンバインデックスの有無により前記グループにおけるメンバ資格の有効および失効を管理するインデックス管理者により発行された前記グループメンバのリストを示すグループメンバインデックスのリストの中に、前記受信したグループ署名に含まれるグループメンバインデックスが存在するか否かを判別し、存在する場合にメンバ資格が有効であると判定する有効メンバ判別手段をさらに備え、
前記検証用情報生成手段は、前記有効メンバ判別手段によってメンバ資格が有効であると判定された場合に前記検証用情報を生成することを特徴とする請求項２に記載の署名検証装置。
【請求項４】
請求項１に記載の署名生成装置においてサービス提供者から所定のサービスを受けることを許可されたグループに属するグループメンバによる署名であることを示すグループ署名を生成する際に利用されるグループ公開鍵を生成管理するグループ管理装置であって、
前記グループの秘密鍵であるグループ秘密鍵を生成すると共に、整数群から選択された生成元または楕円曲線上から選択された生成元と、前記グループ秘密鍵とを用いて生成される値と、前記生成元と、セキュリティパラメータとを含むグループ公開鍵を生成するグループ鍵生成手段と、
前記グループ公開鍵を前記署名生成装置に送信する公開情報送信手段と、
前記生成元と、前記グループメンバの個人情報と分離されたグループ内識別子を示すグループメンバインデックスと、前記グループ秘密鍵とを用いて、前記グループメンバ毎の秘密にされるメンバ鍵として、前記グループメンバ固有の秘密ライセンス情報を生成するメンバ鍵生成手段とを備えることを特徴とするグループ管理装置。
【請求項５】
サービス提供者から所定のサービスを受けることを許可されたグループに属するグループメンバによる署名であることを示すグループ署名を生成する署名生成装置と、予め選択されたグループ秘密鍵および生成元を用いて生成される値と、前記生成元と、セキュリティパラメータとを含むグループ公開鍵を生成管理するグループ管理装置と、前記生成されたグループ署名を前記グループ公開鍵に基づいて検証する署名検証装置とを備えるグループ署名システムにおいて前記署名生成装置を実現するために、コンピュータを、
前記グループ公開鍵に基づいて前記グループメンバの署名であることを示す署名証明情報を生成する署名証明情報生成手段、
前記署名証明情報と、前記グループ公開鍵と、前記グループメンバの個人情報と分離されたグループ内識別子を示すグループメンバインデックスを含む公開ライセンス情報と、前記グループメンバ固有の秘密ライセンス情報と、所定のリクエストと、を用いて前記リクエストに応じた随時署名を生成する随時署名生成手段、
前記リクエストに、前記随時署名と、前記署名証明情報と、前記公開ライセンス情報とを付加したメッセージを前記グループ署名として生成するメッセージ生成手段、
前記グループ署名を前記署名検証装置に送信するグループ署名送信手段、
として機能させることを特徴とする署名生成プログラム。
【請求項６】
請求項１に記載の署名生成装置で生成されたグループ署名が、サービス提供者から所定のサービスを受けることを許可されたグループに属するグループメンバによる署名であるか否かを検証する署名検証装置を実現するために、コンピュータを、
前記署名生成装置で生成されたグループ署名を受信するグループ署名受信手段、
予め選択されたグループ秘密鍵および生成元を用いて生成される値と、前記生成元と、セキュリティパラメータとを含む予め公開されたグループ公開鍵に含まれるセキュリティパラメータと、前記グループ署名に含まれる署名証明情報と公開ライセンス情報とメッセージと、を用いて検証用情報を生成する検証用情報生成手段、
前記生成された検証用情報と前記グループ公開鍵と前記グループ署名とから導かれる値と、前記グループ署名に含まれる随時署名と前記グループ公開鍵とから導かれる値とが同じであるか否かを判別し、同じである場合に前記グループ署名の検証が成功したと判定するグループ署名検証手段、
として機能させることを特徴とする署名検証プログラム。
【請求項７】
請求項１に記載の署名生成装置においてサービス提供者から所定のサービスを受けることを許可されたグループに属するグループメンバによる署名であることを示すグループ署名を生成する際に利用されるグループ公開鍵を生成管理するグループ管理装置を実現するために、コンピュータを、
前記グループの秘密鍵であるグループ秘密鍵を生成すると共に、整数群から選択された生成元または楕円曲線上から選択された生成元と、前記グループ秘密鍵とを用いて生成される値と、前記生成元と、セキュリティパラメータとを含むグループ公開鍵を生成するグループ鍵生成手段、
前記グループ公開鍵を前記署名生成装置に送信する公開情報送信手段、
前記生成元と、前記グループメンバの個人情報と分離されたグループ内識別子を示すグループメンバインデックスと、前記グループ秘密鍵とを用いて、前記グループメンバ毎の秘密にされるメンバ鍵として、前記グループメンバ固有の秘密ライセンス情報を生成するメンバ鍵生成手段、
として機能させることを特徴とするグループ管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、インターネットや専用ＩＰ回線等のネットワークを介して提供されるサービスを利用するユーザの認証技術に関し、特に、ユーザが匿名性を有しながら、正規のサービス受給権利者のグループに属していることを証明することができるユーザの個人情報保護を目的としたデジタル署名技術に関する。
【背景技術】
【０００２】
通信技術の発展、普及に伴って、インターネットや専用ＩＰ回線等のネットワーク利用者（ユーザ）が、ネットワークを介して電子データを送受信することで各種のサービスを享受する形態のコミュニケーションが増加してきている。しかしながら、電子データを改変することは容易である。したがって、ネットワークを介したコミュニケーションにおいては、サービスを供給されるべき正しい権利のあるユーザ（以下、正当なユーザという）とは異なる第三者が、電子データを偽って偽造、複製、改ざんなどをすることによって、正当なユーザに成りすますという問題がある。そのため、ネットワークを介したコミュニケーションにおいては、正当なユーザであることを示すために、ユーザ認証の技術が利用される。    
【０００３】
認証技術の代表的なものとして、ＩＤ・パスワード方式と、デジタル署名とが挙げられる。このうち、ＩＤ・パスワード方式では、ユーザは、事前に個人情報と関連付けたＩＤ（ユーザＩＤ）とパスワードとを登録する。ここで、ユーザＩＤは、例えば、氏名・住所または必要に応じて決済情報といった個人情報と関連付けられているため個人情報と同等な扱いが必要なものである。そして、ユーザがサービスを受けるためにサービス提供者へアクセスするときに、サービス提供者は、ユーザにユーザＩＤとパスワードとを入力させる。そして、入力されたパスワードと事前に登録されたパスワードとが一致したときに、サービス提供者は、アクセスしたユーザが正当なユーザであることを確認することでユーザ認証を行っている。
【０００４】
また、デジタル署名による認証方式では、ＰＫＩ（Public Key Infrastructure）に基づいて、各ユーザがそれぞれ自らのユーザＩＤと公開鍵とをサービス提供者へ登録しておき、登録した公開鍵に対応する秘密鍵を自ら安全に所有しておく。そして、ユーザがサービス提供者へアクセスするときには、自分の秘密鍵でデジタル署名情報を生成しユーザＩＤとあわせて発行する。そして、サービス提供者は、この署名が、ユーザＩＤと関連付けて予め登録されている公開鍵で検証可能であるときに正当なユーザであることを確認することでユーザ認証を行っている。
【０００５】
これらの既存の認証技術は、いずれも、ユーザＩＤをサービス提供者側（ユーザがアクセスしたサーバ側）に明示しなければならない。一般に、サービス提供者に登録されたユーザの個人情報は本来の目的以外に使用されるものではないが、何らかの原因で漏洩する可能性は否定できない。ユーザＩＤは、複数のユーザを単に区別する識別番号という意味を持つだけではなく、そのユーザの氏名・住所（あるいは決済情報）と関連付けられているために、いわゆる個人情報と同等な情報となり得る可能性がある。そのため、さまざまなサービスが電子化・オンライン化される中で、ユーザのあらゆる行動がユーザＩＤに紐付けて蓄積され、消費活動や趣味嗜好などといったプライバシ情報がユーザの意思とは無関係に管理されることになりかねないことが指摘されているのが現状である。そのため、ユーザＩＤをサービス提供者側（ユーザがアクセスしたサーバ側）に明示しなければならない認証方式に対する不安を払拭して、ネットワークを介したコミュニケーションを発展させることが要望されている。
【０００６】
また、ネットワーク上のサービスは、多様化してきており、デジタル署名を用いた認証方式においてもサービスに応じて様々な機能が求められてきている。例えば、電子投票やアンケート、電子決済などのサービスで利用することを目的としたデジタル署名において、署名者の匿名性を有するデジタル署名が開発されている。匿名性を有するデジタル署名には、グループ署名と呼ばれるものがある。
【０００７】
グループ署名は、ChaumとHeijstにより初めて提案された（非特許文献１参照）。その後、多くの研究者によって、改良された方式が提案されてきており、改良された代表的な方式として、例えば、Ateniese、Camenisch、Joye、Tsudikらによるグループ署名が知られている（非特許文献２参照）。また、FurukawaとImaiによる効率的なグループ署名方式も知られている（非特許文献３参照）。
【０００８】
グループ署名では、あるサービスを受ける権利を持つユーザを予めグループ化しておき、検証者は、署名を作成したユーザが、グループに属しているか否かで認証を行う。検証者は、署名を作成したユーザが、グループに属しているということは分かったとしても、そのユーザが誰であるのかを特定することは不可能である。一般的なグループ署名では、グループを管理するグループ管理者が存在する。このグループ管理者は、グループ独自の公開鍵と秘密鍵のペアを生成して、公開鍵を公開する。ユーザがグループに所属することを希望するときには、そのユーザは、グループ管理者と交信を行い、グループ管理者は、該当するユーザの署名鍵を生成し、ユーザに渡す。ユーザは、自らの署名鍵で署名を作成し、検証者はグループの公開鍵で署名を検証する。また、一般的なグループ署名では、グループ内で不正が起きた場合に、その不正を起こした不正者を特定するため、グループ管理者には、非常手段として署名の匿名性を破棄して、署名者を特定できる権限がある。
【０００９】
図９は、従来のグループ署名システムの概要を模式的に示す構成図である。グループ署名システム９０１は、グループ管理装置９１０と、グループメンバ装置（署名生成装置）９２０と、署名検証装置９３０とを備えている。グループ管理装置９１０は、はじめにセットアップと呼ばれる準備ルーチンを行い、グループ署名に必要なグループ秘密鍵および検証鍵（グループ公開情報）等の基本パラメータを生成する。グループ管理装置９１０は、次に、ジョインルーチンをグループメンバ装置９２０と交信しながら行う。グループ管理装置９１０は、基本パラメータとメンバのＩＤとを用いて、ライセンス（ＩＤ，メンバ秘密鍵）を発行し、検証鍵（グループ公開情報）とライセンスとをグループメンバ装置９２０に渡す。ライセンスを受け取ったグループメンバ装置９２０（の操作者）は、グループのメンバと見做される。グループメンバ装置９２０は、受け取ったライセンスを用いて署名を生成し、生成した署名を署名検証装置９３０に渡す。署名検証装置９３０は、グループ管理装置９１０から取得した検証鍵（グループ公開情報）を用いて、グループメンバ装置９２０から受け取った署名の正当性を検証するものである。署名検証装置９３０は、受け取った署名が、正規のグループメンバ装置９２０が正しいライセンスを用いて作成した署名であるか否かを検証し、署名の正当性を出力する。このグループ署名システム９０１において、グループメンバ装置９２０以外の装置は署名を生成することができない。また、グループメンバ装置９２０や署名検証装置９３０は、どの装置が署名を生成したのかを特定することはできない。
【００１０】
また、グループ署名の従来の方式では、異なる２つの署名が同一署名者によるものであるのか否かについて分からないという性質（Unlinkableと呼ばれる性質）を持っているものが多い。なお、Unlinkableなグループ署名において、グループ管理者は、署名の匿名性を破棄すれば、異なる二つの署名が同一署名者によるものであるのか否かについて分かる。
【００１１】
ここで、従来の方式の一例として、非特許文献２に開示されたUnlinkableを満たすグループ署名について数式および図９を参照して説明する。このグループ署名方式は、セットアップルーチン、ジョインルーチン、サインルーチン、検証ルーチン、および署名者決定ルーチンからなる。
【００１２】
セットアップルーチンでは、グループ管理装置９１０は、グループ秘密鍵および検証鍵（グループ公開情報）を作成する。
グループ管理装置９１０は、２つの素数ｐ、ｑ（ｐ×ｑ＝ｎとする）を秘密裡に選ぶ。また、グループ管理装置９１０は、巡回群ＱＲ（ｎ）の元ｇを任意に取り、ｇの位数以下の正整数ｘを秘密裡にとる。さらに、グループ管理装置９１０は、巡回群ＱＲ（ｎ）の元ａ、ａ０、ｈをランダムに取る。そして、グループ管理装置９１０は、式（１０１）により、ｙを算出し、式（１０２）を秘密鍵として保管し、式（１０３）をグループ公開情報として公開する。
【００１３】
【数１】
0004971917.tif 000002
【００１４】
次に、ジョインルーチンでは、グループ管理装置９１０は、グループメンバ装置９２０と通信して、式（１０４）で示すライセンスを渡す。ライセンスは、グループメンバ装置９２０毎に異なる。ここでは、ｉで識別する。式（１０４）中のＡiは、式（１０５）を満たす。式（１０５）中のｘi、ｅiは、ある範囲から選ばれた乱数であり、かつｅiは素数である。
【００１５】
【数２】
0004971917.tif 000003
【００１６】
グループメンバ装置９２０は、ライセンス中のｘiを秘密鍵として秘密裡に保管し、ライセンス中のＡi、ｅiを証明書として保管する。一方、グループ管理装置９１０は、ジョインルーチンの過程で生成されるｘi自体の値は知らず、ｘiと関係のある式（１０６）を得て、グループメンバ装置９２０の識別子（ｉ）と一緒に保管する。なお、図９に示すようにグループメンバ装置９２０が３台であれば、ｉ＝１〜３となり、グループ管理装置９１０において、識別子ｉは、氏名・住所（あるいは決済情報）といった個人情報と関連付けられている。
【００１７】
【数３】
0004971917.tif 000004
【００１８】
サインルーチンでは、グループメンバ装置９２０は、まず、定められた範囲から乱数ｗを取り、式（１０７）〜式（１０９）でそれぞれ示すＴ1〜Ｔ3を作成する。これらの値を使って、グループメンバ装置９２０は、ｘiの値を秘密裡にしたまま自分が正しいｘiを持っていることを証明できる署名を作成する。
【００１９】
【数４】
0004971917.tif 000005
【００２０】
そのために、グループメンバ装置９２０は、定められた範囲から乱数ｒ１、ｒ２、ｒ３、ｒ４を選び、式（１１０）〜式（１１３）でそれぞれ示すｄ1〜ｄ4を計算する。そして、グループメンバ装置９２０は、式（１１４）を計算する。式（１１４）において、Ｈはハッシュ関数、ｍは署名を打ちたいメッセージとする。また、記号「‖」はビット列の連接を表す。
【００２１】
【数５】
0004971917.tif 000006
【００２２】
次に、グループメンバ装置９２０は、式（１１５）〜式（１１８）でそれぞれ示すｓ1〜ｓ4を作成し、式（１１９）を署名として署名検証装置９３０に対して公開する。ただし、ここでγ、λはセキュリティパラメータから定まる定数である。 
【００２３】
【数６】
0004971917.tif 000007
【００２４】
検証ルーチンでは、署名検証装置９３０は、式（１２０）を計算し、受け取った署名中の式（１１４）で示すｃと、算出した式（１２０）のｃ′とが同一であれば正しい署名とし、違っていれば不正な署名であることを出力する。最後に、署名検証装置９３０は、式（１１５）〜式（１１８）でそれぞれ示すｓ1〜ｓ4がある定められた範囲にあることを確認する。
【００２５】
【数７】
0004971917.tif 000008
【００２６】
署名者決定ルーチンでは、グループ管理装置９１０は、式（１２１）を計算することにより、署名者のライセンスを算出し、保管している鍵リストからＡiを検索することで、式（１１９）に示す署名を作成したグループメンバ装置９２０を特定することができる。
【００２７】
【数８】
0004971917.tif 000009
【非特許文献１】Chaum and E. van Heijst :“ Group signatures, ”Eurocrypt ’91, Lecture Notes in Computer Science 547, p.257-265 , Springer-Verlag (1991)
【非特許文献２】G. Ateniese, J. Camenisch, M. Joye, and G. Tsudik:“A practical and provably secure coalition-resistant group signature scheme, ” CRYPTO 2000, Lecture Notes in Computer Science 1880, p.255-270, Springer-Verlag (2000)
【非特許文献３】J. Furukawa and H. Imai:“An Efficient Group Signature Scheme from Bilinear Maps, ” ACISP 2005, Lecture Notes in Computer Science 3574, p.455-467, Springer-Verlag (2005)
【発明の開示】
【発明が解決しようとする課題】
【００２８】
しかしながら、グループ署名の従来の方式では、Unlinkableと呼ばれる性質を満足させるために、署名を生成する際に複雑な計算が必要であり、原理的に、署名の長さ（署名長）の長大化を招いていた。このため、グループ管理装置９１０およびグループメンバ装置９２０の実装に大きなコストがかかっていた。なお、非特許文献２に開示された方式では、署名は、前記した式（１１９）で示される。
【００２９】
また、グループ署名がUnlinkableを満たしている場合には、グループ内の所定のメンバがそのグループを脱退する場合に、その所定のメンバの署名のみを無効化させるという運用を行うことが困難であった。この場合には、それまで使用していたグループ独自の公開鍵と秘密鍵のペアを破棄してグループに対応する新たな公開鍵と秘密鍵を生成しなければならなかった。このため、グループを構成するメンバの数が巨大である場合には、新たな公開鍵と秘密鍵を更新する度に、残りのメンバにライセンス（グループ秘密鍵）を安全に再配布するために多大な手間と時間とコストとを要することとなっていた。例えば、ライセンスの再配布を郵送で行うとメンバが脱退してからグループ署名の機能が再開する日にちまで他のメンバがサービスを享受できなくなってしまう。
【００３０】
さらに、グループ署名がUnlinkableを満たしている場合には、例えば、コンテンツ配信サービスを受けることのできるグループに属するユーザが、ドラマ等のコンテンツを複数回に分けてネットワーク受信するときに、前回供給された状態の続きから受信することを要望したとしても、異なる２つの署名が同一署名者によるものであるのか分からないので、前回の履歴が分からず、このような要望に応えることができない。
【００３１】
本発明は、以上のような問題点に鑑みてなされたものであり、グループ署名において、署名長を短縮することが可能なデジタル署名技術を提供することを目的とする。
【課題を解決するための手段】
【００３２】
本発明は、前記目的を達成するために創案されたものであり、まず、請求項１に記載の署名生成装置は、サービス提供者から所定のサービスを受けることを許可されたグループに属するグループメンバによる署名であることを示すグループ署名を生成する署名生成装置と、予め選択されたグループ秘密鍵および生成元を用いて生成される値と、前記生成元と、セキュリティパラメータとを含むグループ公開鍵を生成管理するグループ管理装置と、前記生成されたグループ署名を前記グループ公開鍵に基づいて検証する署名検証装置とを備えるグループ署名システムにおける署名生成装置であって、署名証明情報生成手段と、随時署名生成手段と、メッセージ生成手段と、グループ署名送信手段とを備えることとした。
【００３３】
かかる構成によれば、署名生成装置は、署名証明情報生成手段によって、前記グループ公開鍵に基づいて前記グループメンバの署名であることを示す署名証明情報を生成する。そして、署名生成装置は、随時署名生成手段によって、前記署名証明情報と、前記グループ公開鍵と、前記グループメンバの個人情報と分離されたグループ内識別子を示すグループメンバインデックスを含む公開ライセンス情報と、前記グループメンバ固有の秘密ライセンス情報と、所定のリクエストと、を用いて前記リクエストに応じた随時署名を生成する。ここで、随時署名は、リクエストに応じて生成され、署名検証装置に最終的に出力するグループ署名に含めるものである。本発明はグループ署名がUnlinkableを満たさない（linkableを満たす）ことを前提としているので、随時署名の段階においても従来よりも署名長を短縮した構成とすることができる。例えば、リクエストに応じた随時署名を生成するために、署名証明情報と、グループ公開鍵と、公開ライセンス情報と、リクエストとを連接して、そのハッシュ値を求め、求めたハッシュ値に秘密ライセンス情報を加えることができる。
【００３４】
そして、署名生成装置は、メッセージ生成手段によって、前記リクエストに、前記随時署名と、前記署名証明情報と、前記公開ライセンス情報とを付加したメッセージを前記グループ署名として生成する。ここで、グループ署名に含まれる公開ライセンス情報には、グループメンバインデックスが含まれている。このグループメンバインデックスは、これによりグループ署名の署名者が誰であるかを特定することはできないが他の署名者と区別することができるものである。それは、グループメンバインデックスは、グループ内において各ユーザを区別できるインデックスであるからである。しかも、グループメンバインデックスは、グループメンバの個人情報とは分離されているので、個人情報と紐付けされた通常のユーザＩＤとは異なる。一方、Unlinkableを満たす従来の方式では、グループ署名中に、ユーザを識別する情報は含まれていない。また、署名生成装置が生成するグループ署名として、リクエストに付加される随時署名、署名証明情報および公開ライセンス情報は、それぞれ、例えば、１６０ビット程度のビット長とすることが可能なので、リクエストに、随時署名、署名証明情報および公開ライセンス情報を付加したグループ署名は、従来の方式で生成される署名よりも署名長を短縮することができる。その結果、署名生成装置の実装に必要なコストを低減できる。
【００３５】
そして、署名生成装置は、グループ署名送信手段によって、前記グループ署名を前記署名検証装置に送信する。したがって、グループ署名を受信した署名検証装置では、同一署名者により生成された異なる２つの署名が同一人物によるものであることが分かる。これにより、署名生成装置が生成するグループ署名は、Unlinkableを満たさない（linkableを満たす）ことになる。そのため、グループ内の所定のメンバがそのグループを脱退する場合に、その所定のメンバの署名のみを容易に無効化させることができる。また、新規メンバの加入を容易に行うこともできる。さらに、linkableを満たすことから、署名生成装置を利用するグループメンバが、サービスをネットワーク受信するときに、前回供給された状態の続きから受信することも可能となる。
【００３６】
請求項２に記載の署名検証装置は、請求項１に記載の署名生成装置で生成されたグループ署名が、サービス提供者から所定のサービスを受けることを許可されたグループに属するグループメンバによる署名であるか否かを検証する署名検証装置であって、グループ署名受信手段と、検証用情報生成手段と、グループ署名検証手段とを備えることとした。
【００３７】
かかる構成によれば、署名検証装置は、グループ署名受信手段によって、前記署名生成装置で生成されたグループ署名を受信する。そして、署名検証装置は、検証用情報生成手段によって、予め選択されたグループ秘密鍵および生成元を用いて生成される値と、前記生成元と、セキュリティパラメータとを含む予め公開されたグループ公開鍵に含まれるセキュリティパラメータと、前記グループ署名に含まれる署名証明情報と公開ライセンス情報とメッセージと、を用いて検証用情報を生成する。そして、署名検証装置は、グループ署名検証手段によって、前記生成された検証用情報と前記グループ公開鍵と前記グループ署名とから導かれる値と、前記グループ署名に含まれる随時署名と前記グループ公開鍵とから導かれる値とが同じであるか否かを判別し、同じである場合に前記グループ署名の検証が成功したと判定する。これによれば、署名検証装置は、グループ署名を生成した署名生成装置と同程度の計算を実行するだけでグループ署名を検証することができる。一方、Unlinkableを満たす従来の方式では、署名検証装置は、グループ署名を生成した署名生成装置よりも複雑な計算をしなければならない。例えば、前記した式（１１４）の「ｃ」を検証するために、それに比べて複雑な式（１２０）の「ｃ′」を計算しなければならない。
【００３８】
請求項３に記載の署名検証装置は、請求項２に記載の署名検証装置において、有効メンバ判別手段をさらに備えることとした。
【００３９】
かかる構成によれば、署名検証装置は、有効メンバ判別手段によって、前記グループメンバの個人情報と分離されたグループ内識別子を示すグループメンバインデックスの有無により前記グループにおけるメンバ資格の有効および失効を管理するインデックス管理者により発行された前記グループメンバのリストを示すグループメンバインデックスのリストの中に、前記受信したグループ署名に含まれるグループメンバインデックスが存在するか否かを判別し、存在する場合にメンバ資格が有効であると判定する。そして、署名検証装置は、前記有効メンバ判別手段によってメンバ資格が有効であると判定された場合に、前記検証用情報生成手段によって、前記検証用情報を生成する。したがって、署名検証装置は、メンバ資格が失効した利用者からグループ署名を受信した場合には、グループ署名に含まれるグループメンバインデックスを確認しさえすればよく、以降の署名を検証する計算を省略することができる。
【００４０】
請求項４に記載のグループ管理装置は、請求項１に記載の署名生成装置においてサービス提供者から所定のサービスを受けることを許可されたグループに属するグループメンバによる署名であることを示すグループ署名を生成する際に利用されるグループ公開鍵を生成管理するグループ管理装置であって、グループ鍵生成手段と、公開情報送信手段と、メンバ鍵生成手段とを備えることとした。
【００４１】
かかる構成によれば、グループ管理装置は、グループ鍵生成手段によって、前記グループの秘密鍵であるグループ秘密鍵を生成すると共に、整数群から選択された生成元または楕円曲線上から選択された生成元と、前記グループ秘密鍵とを用いて生成される値と、前記生成元と、セキュリティパラメータとを含むグループ公開鍵を生成する。ここで、グループメンバは、グループメンバインデックスを用いて管理することが可能なので、グループ内の所定のメンバがそのグループを脱退する場合に、グループ管理装置は、グループ秘密鍵およびグループ公開鍵を変更する必要がない。つまり、その所定のメンバの署名のみを容易に無効化させることができる。さらに、新規メンバの加入を容易に行うこともできる。また、グループ鍵生成手段が、生成元を整数群から選択した場合には、楕円曲線上から選択した場合に比べて安全性が高くなり、一方、生成元を楕円曲線上から選択した場合には、整数群から選択した場合に比べて署名長を短くすることができる。したがって、実装コストやサービスの種類等の要求に合わせていずれかを予め選択しておいてからグループ鍵生成手段によって、グループ秘密鍵およびグループ公開鍵を生成する。これにより、設計や運用を適宜柔軟に変更することができる。
【００４２】
そして、グループ管理装置は、公開情報送信手段によって、前記グループ公開鍵を前記署名生成装置に送信する。そして、グループ管理装置は、メンバ鍵生成手段によって、前記生成元と、前記グループメンバの個人情報と分離されたグループ内識別子を示すグループメンバインデックスと、前記グループ秘密鍵とを用いて、前記グループメンバ毎の秘密にされるメンバ鍵として、前記グループメンバ固有の秘密ライセンス情報を生成する。ここで、グループメンバインデックスは、必ずしもグループ管理装置で生成付与する必要は無く、署名生成装置またはその利用者に対して予め生成付与されたものを用いることができる。このようにグループ管理装置の外部で、グループメンバインデックスとユーザの個人情報とを秘密裡に紐付けして管理することで、グループ管理装置、署名生成装置および署名検証装置の３者内では、署名者のサービス利用状況を、氏名・住所等の個人情報に紐付けられることはない。したがって、匿名性を保持してネットワークを介したサービスをユーザに提供することが可能となる。
【００４３】
請求項５に記載の署名生成プログラムは、サービス提供者から所定のサービスを受けることを許可されたグループに属するグループメンバによる署名であることを示すグループ署名を生成する署名生成装置と、予め選択されたグループ秘密鍵および生成元を用いて生成される値と、前記生成元と、セキュリティパラメータとを含むグループ公開鍵を生成管理するグループ管理装置と、前記生成されたグループ署名を前記グループ公開鍵に基づいて検証する署名検証装置とを備えるグループ署名システムにおいて前記署名生成装置を実現するために、コンピュータを、署名証明情報生成手段、随時署名生成手段、メッセージ生成手段、グループ署名送信手段として機能させることとした。
【００４４】
かかる構成によれば、署名生成プログラムは、署名証明情報生成手段によって、前記グループ公開鍵に基づいて前記グループメンバの署名であることを示す署名証明情報を生成する。そして、署名生成プログラムは、随時署名生成手段によって、前記署名証明情報と、前記グループ公開鍵と、前記グループメンバの個人情報と分離されたグループ内識別子を示すグループメンバインデックスを含む公開ライセンス情報と、前記グループメンバ固有の秘密ライセンス情報と、所定のリクエストと、を用いて前記リクエストに応じた随時署名を生成する。そして、署名生成プログラムは、メッセージ生成手段によって、前記リクエストに、前記随時署名と、前記署名証明情報と、前記公開ライセンス情報とを付加したメッセージを前記グループ署名として生成する。そして、署名生成プログラムは、グループ署名送信手段によって、前記グループ署名を前記署名検証装置に送信する。
【００４５】
請求項６に記載の署名検証プログラムは、請求項１に記載の署名生成装置で生成されたグループ署名が、サービス提供者から所定のサービスを受けることを許可されたグループに属するグループメンバによる署名であるか否かを検証する署名検証装置を実現するために、コンピュータを、グループ署名受信手段、検証用情報生成手段、グループ署名検証手段として機能させることとした。
【００４６】
かかる構成によれば、署名検証プログラムは、グループ署名受信手段によって、前記署名生成装置で生成されたグループ署名を受信する。そして、署名検証プログラムは、検証用情報生成手段によって、予め選択されたグループ秘密鍵および生成元を用いて生成される値と、前記生成元と、セキュリティパラメータとを含む予め公開されたグループ公開鍵に含まれるセキュリティパラメータと、前記グループ署名に含まれる署名証明情報と公開ライセンス情報とメッセージと、を用いて検証用情報を生成する。そして、署名検証プログラムは、グループ署名検証手段によって、前記生成された検証用情報と前記グループ公開鍵と前記グループ署名とから導かれる値と、前記グループ署名に含まれる随時署名と前記グループ公開鍵とから導かれる値とが同じであるか否かを判別し、同じである場合に前記グループ署名の検証が成功したと判定する。
【００４７】
請求項7に記載のグループ管理プログラムは、請求項１に記載の署名生成装置においてサービス提供者から所定のサービスを受けることを許可されたグループに属するグループメンバによる署名であることを示すグループ署名を生成する際に利用されるグループ公開鍵を生成管理するグループ管理装置を実現するために、コンピュータを、グループ鍵生成手段、公開情報送信手段、メンバ鍵生成手段として機能させることとした。
【００４８】
かかる構成によれば、グループ管理プログラムは、グループ鍵生成手段によって、前記グループの秘密鍵であるグループ秘密鍵を生成すると共に、整数群から選択された生成元または楕円曲線上から選択された生成元と、前記グループ秘密鍵とを用いて生成される値と、前記生成元と、セキュリティパラメータとを含むグループ公開鍵を生成する。そして、グループ管理プログラムは、公開情報送信手段によって、前記グループ公開鍵を前記署名生成装置に送信する。そして、グループ管理プログラムは、メンバ鍵生成手段によって、前記生成元と、前記グループメンバの個人情報と分離されたグループ内識別子を示すグループメンバインデックスと、前記グループ秘密鍵とを用いて、前記グループメンバ毎の秘密にされるメンバ鍵として、前記グループメンバ固有の秘密ライセンス情報を生成する。
【発明の効果】
【００４９】
請求項１または請求項５に記載の発明によれば、署名生成装置は、従来の方式で生成される署名よりも署名長を短縮することができる。その結果、署名生成装置の実装に必要なコストを低減できる。
【００５０】
請求項２または請求項６に記載の発明によれば、署名検証装置は、従来の方式で生成される署名を検証する場合と比べて計算量を低減することができる。また、署名検証装置では、linkableを満たすので、インデックスで特定した利用者の情報をサービス提供装置に通知することで、サービス提供装置から署名生成装置を利用するグループメンバに対して、サービスを提供するときに、前回の利用などのユーザ嗜好に合わせたステートフルなサービスを提供することができる。
【００５１】
請求項３に記載の発明によれば、署名検証装置は、メンバ資格が失効した利用者からグループ署名を受信した場合に、署名を検証する計算を省略することができる。
【００５２】
請求項４または請求項７に記載の発明によれば、グループ管理装置は、従来の方式で生成される署名よりも署名長を短縮することができるようなグループ秘密鍵、グループ公開鍵およびメンバ鍵を生成することができる。また、グループ内の所定のメンバがそのグループを脱退する場合に、グループ秘密鍵およびグループ公開鍵を変更する必要がないので、その所定のメンバの署名のみを容易に無効化させることができる。
【発明を実施するための最良の形態】
【００５３】
以下、図面を参照して本発明の署名生成装置、署名検証装置およびグループ管理装置を実施するための最良の形態（以下「実施形態」という）について詳細に説明する。
【００５４】
［グループ署名システムの構成］
図１は、グループ署名システムの概要を模式的に示す構成図である。グループ署名システム１は、図１に示すように、グループ管理装置１０と、グループメンバ装置（署名生成装置）２０と、署名検証装置３０と、グループインデックス管理装置４０と、会員情報管理サーバ５０とを備えている。このグループ署名システム１では、会員向けサービスの運営者（運営主体）により利用される、グループインデックス管理装置４０と、会員情報管理サーバ５０とを備えている点が、図９に示したグループ署名システム９０１と大きく異なっている。なお、グループインデックス管理装置４０の管理者をインデックス管理者という。また、各装置１０〜５０は、例えば、ＣＰＵ（Central Processing Unit）と、ＲＡＭ（Random Access Memory）と、ＲＯＭ（Read Only Memory）と、ＨＤＤ（Hard Disk Drive）と、通信を行うためのＮＩＣ（Network Interface Card）等を備えている。
【００５５】
（グループ管理装置）
グループ管理装置１０は、グループメンバ装置２０においてサービス提供者から所定のサービスを受けることを許可されたグループに属するグループメンバによる署名であることを示すグループ署名を生成および検証する際に利用されるグループ公開鍵を生成管理するものである。グループ公開鍵は、予め選択されたグループ秘密鍵および生成元を用いて生成される値と、生成元と、セキュリティパラメータとを含む。グループ管理装置１０は、例えば、会員向けサービスの運営主体（運営者）により使用される。会員向けサービスの運営主体（運営者）は、サービス提供者からサービスの提供を受けるグループの管理者であるグループ管理者と兼務してもよいし、別であってもよい。
【００５６】
（グループメンバ装置）
グループメンバ装置（署名生成装置）２０は、サービス提供者から所定のサービスを受けることを許可されたグループに属するグループメンバによる署名であることを示すグループ署名を生成するものである。グループメンバ装置２０は、サービス提供者からサービスの提供を受けるグループの一員となる会員（ユーザ）により使用される。
【００５７】
（署名検証装置）
署名検証装置３０は、生成されたグループ署名をグループ公開鍵に基づいて検証するものである。本実施形態では、署名検証装置３０は、グループ署名が、サービス提供者から所定のサービスを受けることを許可されたグループに属するグループメンバによる署名であることを示すグループ署名であるか否かを検証する。署名検証装置３０は、サービス提供者により使用される。
【００５８】
（会員向けサービスの運営者）
会員向けサービスの運営者（運営主体）は、会員の個人情報、例えば住所・氏名といった個人を特定する情報を管理する。なお、有料サービスであれば課金徴収に関する情報も管理する必要がある。ただし、会員資格を有する利用者のサービス利用状況についてその匿名性を保つことが望まれる場合には、利用者からのサービス要求時に行うユーザ認証方式はグループ署名が適している。その理由は、利用者側ではサービス利用状況についてのプライバシを保護するためであり、また、運営者側では危機管理のためである。このような理由から、会員向けサービスの運営主体は、自ら管理する個人情報を識別するために、会員情報識別値をつけて管理している。
【００５９】
（グループインデックス管理装置）
グループインデックス管理装置４０は、複数の会員情報識別値（例えば、一般的な会員番号やユーザＩＤ）のリストである会員情報識別値リストＬ1を入力として、個々の会員に対応するグループメンバインデックス（ＩＤi）を生成し、会員情報識別値とＩＤiとの対応付け表Ｔを秘密裡に保管するものである。ここで、グループメンバインデックス（ＩＤi）は、グループメンバの個人情報と分離されたグループ内識別子を示す。また、グループインデックス管理装置４０は、現時点におけるグループ参加資格者（グループ資格が有効なユーザ）のグループメンバインデックス（ＩＤi）のリストである有効グループメンバインデックスリストＬ2を生成発行する。グループ資格が失効したユーザのグループメンバインデックス（ＩＤi）は、有効グループメンバインデックスリストＬ2から削除される。このグループメンバインデックス（ＩＤi）は、グループ署名を行う各個人を互いに区別するグループ署名用のインデックスである。言い換えると、グループメンバインデックス（ＩＤi）は、同一署名者による異なる複数の署名が同じものであることが分かるという性質（linkableと呼ばれる性質）を持っている。
【００６０】
また、グループインデックス管理装置４０は、個々のグループメンバインデックス（ＩＤi）を安全な方法で各グループメンバ装置２０に配布する。配布方法としては、例えば対面方式などのようにオフラインな手法を使用することも可能である。ここで、グループ管理装置１０、グループメンバ装置２０、署名検証装置３０およびグループインデックス管理装置４０のそれぞれは、インターネットまたは専用ＩＰ回線等の外部ネットワークに必ずしも常時接続されている必要性はない。ただし、会員向けサービスを適正に運営するために、グループインデックス管理装置４０が、最新の有効グループメンバインデックスリストＬ2を常時更新することが望ましく、署名検証装置３０が当該リストＬ2の最新の情報を常時閲覧可能な運用とする必要がある。
【００６１】
（会員情報管理サーバ５０）
会員情報管理サーバ５０は、会員情報（個人情報）と共に会員情報識別値を管理するものであり、会員情報識別値リストＬ1を保有している。会員情報識別値は、各個人を直接特定する個人情報に紐付けられた個人情報インデックスとなり得るものである。会員情報管理サーバ５０は、例えば、会員向けサービスの運営主体（運営者）により使用される。
【００６２】
（グループ署名システムの特徴）
グループ管理装置１０、グループメンバ装置２０および署名検証装置３０の間において、グループ署名を生成および検証することにより、グループインデックス管理装置４０以外の装置では、グループメンバインデックス（ＩＤi）から個人を特定する情報を得ることは不可能である。このような事業形態の一例としては、例えば、会員向けサービスの運営主体が、グループ管理者に対してサービスを委託する場合（アウトソ−シング）が想定される。つまり、グループインデックス管理装置４０の運営者と、グループ管理装置１０の運営者（グループ管理者）とが異なる場合には、グループ署名のグループ管理者ですら、グループ署名を作成したユーザが、グループに属しているということは分かったとしても、そのユーザが誰であるのかを特定することが不可能となる。なお、図９に示したグループ署名システム９０１と同様に、グループ署名システム１においても、グループメンバ装置２０以外の装置はグループ署名を生成することができないことはもちろんである。また、検証者は、署名を作成したユーザが、グループに属しているということは分かったとしても、そのユーザが誰であるのかを特定することは不可能である。
【００６３】
［会員向けコンテンツ提供サービスシステムの概要］
図１に示したグループ署名システム１を会員向けコンテンツ提供サービスシステムに応用したときの構成とその全体動作の概要を図２に示す。図２は、会員向けコンテンツ提供サービスシステムの概要を模式的に示す構成図である。この会員向けコンテンツ提供サービスシステム２では、コンテンツサーバ６０を備えている点が、図１に示したグループ署名システム１と異なっている。
【００６４】
会員向けコンテンツ提供サービスシステム２における動作の概要は、以下の通りである。まず、会員向けサービスを運営する運営者（例えば、サービスプロバイダ）において、会員の個人情報から各個人を識別する会員番号を抽出して会員情報識別値リストＬ1を作成しておき、会員情報管理サーバ５０から、グループインデックス管理装置４０に会員情報識別値リストＬ1を入力する（ステップＳ１）。
【００６５】
次に、グループインデックス管理装置４０は、会員番号との関連性や規則性が無い値、または、推測不可能なランダムな値からなるグループメンバインデックス（ＩＤi）を生成し、グループメンバ装置２０に渡す（ステップＳ２）。そして、グループ管理装置１０は、グループ署名に必要なセキュリティパラメータやグループ秘密鍵、グループ公開鍵を作成しておく（ステップＳ３：セットアップステップ）。次いで、グループメンバ装置２０は、グループメンバインデックス（ＩＤi）を用いて、グループ管理装置１０に対し、グループへの加入することを要求する。グループ管理装置１０とグループメンバ装置２０との間のジョインプロトコルの実行により、グループ管理装置１０からグループメンバ装置２０に公開ライセンス情報と秘密ライセンス情報とが渡される（ステップＳ４：ジョインステップ）。
【００６６】
続いて、会員（ユーザ）は、会員向けサービスを提供している提供者（例えば、別のサービスプロバイダ）にサービスの提供を要求する。すなわち、グループメンバ装置２０は、コンテンツサーバ６０に対して、サービスの要求と会員資格を示すために、グループ署名を作成して送信する。リクエストを受けたコンテンツサーバ６０は、受け取ったグループ署名を署名検証装置３０に渡し、グループ署名の検証を依頼する（ステップＳ６）。そして、署名検証装置３０は、グループ署名の有効性の検証を行い（ステップＳ７：検証ステップ）、検証結果を、コンテンツサーバ６０に返す（ステップＳ８）。そして、コンテンツサーバ６０は、検証成功メッセージを受信すれば（正当なユーザであれば）、要求されたコンテンツを、該当するグループメンバ装置２０に提供し（ステップＳ９）、検証失敗メッセージを受信すれば（正当なユーザでなければ）、コンテンツに対するリクエストを拒否する。
【００６７】
なお、会員向けコンテンツ提供サービスシステム２において、決済を行う場合に、会員向けサービスを提供している提供者（例えば、別のサービスプロバイダ）にとっては、会員の氏名やクレジット番号等が不明である。しかしながら、会員向けサービスを運営する運営者（例えば、サービスプロバイダ）は、会員の氏名やクレジット番号を知っているので、提供者（検証者）が運営者に対価を要求し、運営者と会員との間で決済をして、運営者と提供者（検証者）との間で決済をすることができる。この場合、運営者は、会員が具体的に何を購入したかを知らないことになり、また、提供者（検証者）は、商品／サービスを受けた会員が誰であるのか特定できないことになる。したがって、匿名性を保持してネットワークを介したサービスをユーザに提供することが可能となる。
【００６８】
［グループ管理装置の構成］
図３は、本発明の実施形態に係るグループ管理装置の構成を模式的に示すブロック図である。グループ管理装置１０は、図３に示すように、記憶手段１００と、セットアップ初期値生成手段１０１と、グループ鍵生成手段１０２と、グループ公開情報送信手段１０３と、ジョインリクエスト受信手段１０４と、メンバ鍵生成手段１０５と、ライセンス送信手段１０６とを備えている。
【００６９】
記憶手段１００は、例えば、演算処理等に利用されると共にネットワークＮを介して取得した情報等を記憶するＲＡＭと、所定のプログラム等を記憶するＲＯＭと、グループメンバ毎のライセンスを格納するＨＤＤ等を備えている。記憶手段１００は、耐タンパな領域を有している。耐タンパな領域は、例えば、耐タンパ性を有するスマートカード（ＩＣ（Integrated Circuit）カード）から構成される。なお、記憶手段１００を一括で表示したが、適宜分割されていてもよいことはもちろんである。
【００７０】
セットアップ初期値生成手段１０１は、素数や生成元などのセットアップステップに必要な基本的なパラメータを生成するものである。本実施形態では、セットアップ初期値生成手段１０１は、素数ｐ，ｑ（ｑ｜ｐ−１）を選択する。ここで、（ｑ｜ｐ−１）は、“ｑは（ｐ−１）の約数である、つまり、（ｐ−１）はｑで割り切れる”ことを示している。また、セットアップ初期値生成手段１０１は、乗法群（整数群）Ｚp上に構成される位数をｑとするサブグループＧq（またはＺqと表記する）の原始元を生成元ｇとして選択する。素数ｐ，ｑと、生成元ｇとは、記憶手段１００のメモリに格納される。
【００７１】
グループ鍵生成手段１０２は、グループ秘密鍵生成手段１１１と、グループ公開鍵生成手段１１２とを備えている。
グループ秘密鍵生成手段１１１は、グループの秘密鍵であるグループ秘密鍵ｘ0を生成するものである。本実施形態では、グループ秘密鍵生成手段１１１は、Ｚqから、素数ｑより小さい正の整数ｘ0をランダムに選択し、選択したｘ0をグループ秘密鍵として記憶手段１００の耐タンパな領域に秘密裡に保管する。
【００７２】
グループ公開鍵生成手段１１２は、生成元とグループ秘密鍵とを用いて生成される値と、生成元と、セキュリティパラメータとを含むグループ公開鍵を生成するものである。本実施形態では、グループ公開鍵生成手段１１２は、式（１）に示すｙ0を算出する。式（１）において、離散対数ｘ0はグループ秘密鍵を示す。ｙ0は、記憶手段１００のメモリに格納される。
【００７３】
【数９】
0004971917.tif 000010
【００７４】
グループ公開情報送信手段１０３は、グループ公開鍵をグループメンバ装置２０に送信する（公開する）ものである。本実施形態では、グループ公開情報送信手段１０３は、式（２）に示すグループ公開鍵VKをグループメンバ装置２０に送信する。式（２）において、Ｈ（・）は、記憶手段１００のメモリに予め格納されたハッシュ関数を示す。このハッシュ関数Ｈ（・）は、任意の長さのビット列を入力し、固定長（例えはｋビット）のビット列を出力するものである。なお、セキュリティパラメータｋは、署名の偽造のしにくさを表す尺度となるものである。
【００７５】
【数１０】
0004971917.tif 000011
【００７６】
ジョインリクエスト受信手段１０４は、グループメンバ装置２０からネットワークＮを介してジョインリクエストを受信するものである。このジョインリクエストには、グループメンバ装置２０を識別するためにグループメンバインデックスが含まれている。取得されたグループメンバインデックスは、公開ライセンス情報の一部として記憶手段１００のメモリに格納される。
【００７７】
メンバ鍵生成手段１０５は、公開ライセンス情報生成手段１２１と、秘密ライセンス情報生成手段１２２とを備えている。
公開ライセンス情報生成手段１２１は、生成元と、グループメンバインデックスと、グループ秘密鍵とを用いて、グループメンバ毎の秘密にされるメンバ鍵として、グループメンバ固有の秘密ライセンス情報を生成するものである。本実施形態では、公開ライセンス情報生成手段１２１は、Ｚqから乱数ｒiをランダムに選択する。また、公開ライセンス情報生成手段１２１は、式（３）に示すｖiを算出する。算出されたｖiは、公開ライセンス情報の一部として記憶手段１００のメモリに格納される。
【００７８】
【数１１】
0004971917.tif 000012
【００７９】
秘密ライセンス情報生成手段１２２は、秘密ライセンス情報を算出するものである。本実施形態では、秘密ライセンス情報生成手段１２２は、公開ライセンス情報と、ハッシュ関数とを用いて、式（４）に示すｃiを算出する。また、秘密ライセンス情報生成手段１２２は、式（４）で示すｃiと、公開ライセンス情報生成手段１２１で選択した乱数ｒiと、グループ秘密鍵ｘ0と、素数ｑとを用いて、式（５）に示す秘密ライセンス情報ｘiを算出する。
【００８０】
【数１２】
0004971917.tif 000013
【００８１】
ライセンス送信手段１０６は、公開ライセンス情報（ｖi，ＩＤi）と共に秘密ライセンス情報ｘiをライセンス（ｘi，ｖi，ＩＤi）としてグループメンバ装置２０に送信するものである。ここで、秘密ライセンス情報ｘiの受け渡しには、秘匿な通信網またはセキュアなデバイス等を用いて安全にグループメンバ装置２０に渡す。なお、グループメンバ装置２０は、安全に秘密ライセンス情報ｘiを保管する。
【００８２】
［グループインデックス管理装置］
グループインデックス管理装置４０は、図３に示すように、記憶手段４００と、会員情報識別値取得手段４０１と、グループメンバインデックス生成手段４０２と、グループメンバインデックス送信手段４０３とを備えている。
記憶手段４００は、グループ管理装置１０の記憶手段１００と同様なものなので、説明を省略する。
会員情報識別値取得手段４０１は、会員情報管理サーバ５０から会員情報識別値リストＬ1を受信し、記憶手段４００に格納するものである。
【００８３】
グループメンバインデックス生成手段４０２は、会員情報識別値リストＬ1に基づいて、各メンバ（またはグループメンバ装置２０）に対応してグループメンバインデックスを生成するものである。グループメンバインデックス生成手段４０２は、会員情報識別値リストＬ1が変更されると、有効なメンバのインデックスからなる有効グループメンバインデックスリストＬ2を更新して記憶手段４００に格納する。
【００８４】
グループメンバインデックス送信手段４０３は、グループメンバインデックスリストＬ2に記載されたグループメンバインデックスを該当するグループメンバ装置２０にネットワークＮを介して送信するものである。また、グループメンバインデックス送信手段４０３は、有効グループメンバインデックスリストＬ2をネットワークＮを介して署名検証装置３０に送信する。本実施形態では、グループメンバインデックス送信手段４０３は、有効グループメンバインデックスリストＬ2が更新されるたびに有効グループメンバインデックスリストＬ2を署名検証装置３０に送信する。なお、グループメンバインデックス送信手段４０３は、更新されたかどうかに関わらず有効グループメンバインデックスリストＬ2を定期的に署名検証装置３０に送信することもできる。また、署名検証装置３０から、グループインデックス管理装置４０に格納された有効グループメンバインデックスリストＬ2を定期的に参照するように構成することもできる。
【００８５】
［グループメンバ装置の構成］
図４は、本発明の実施形態に係るグループメンバ装置の構成を模式的に示すブロック図である。グループメンバ装置（署名生成装置）２０は、図４に示すように、記憶手段２００と、公開情報受信手段２０１と、グループメンバインデックス受信手段２０２と、ジョインリクエスト生成手段２０３と、ジョインリクエスト送信手段２０４と、ライセンス取得手段２０５と、ライセンス検証手段２０６と、乱数選択手段２０７と、署名証明情報生成手段２０８と、随時署名生成手段２０９と、メッセージ生成手段２１０と、サービスリクエスト送信手段（グループ署名送信手段）２１１と、サービス受信手段２１２と、コンテンツ再生手段２１３とを備えている。
【００８６】
記憶手段２００は、グループ管理装置１０の記憶手段１００と同様なものなので、説明を省略する。
公開情報受信手段２０１は、グループ管理装置１０からネットワークＮを介してグループ公開鍵VKを受信するものである。受信されたグループ公開鍵VKは、記憶手段２００のメモリに格納される。
グループメンバインデックス受信手段２０２は、グループインデックス管理装置４０からネットワークＮを介してグループメンバインデックスＩＤiを受信するものである。受信されたグループメンバインデックスＩＤiは、記憶手段２００のメモリに格納される。
【００８７】
ジョインリクエスト生成手段２０３は、グループ管理装置１０に対してジョイン処理を要求するジョインリクエストを生成するものである。このジョインリクエストには、グループメンバ装置２０を識別するためにグループメンバインデックスが含まれている。
ジョインリクエスト送信手段２０４は、ジョインリクエスト生成手段２０３で生成されたジョインリクエストをネットワークＮを介してグループ管理装置１０に送信するものである。
【００８８】
ライセンス取得手段２０５は、グループ管理装置１０からネットワークＮを介してライセンスを受信するものである。受信されたライセンスは、ライセンス検証手段２０６で正当なライセンスであることが検証された後に記憶手段２００のメモリに格納される。正当なライセンスとは、正規のグループ管理者が生成したライセンスである。
【００８９】
ライセンス検証手段２０６は、ライセンス取得手段２０５で受信されたライセンスが正当なライセンスであるか否かを検証するものである。本実施形態では、ライセンス検証手段２０６は、以下の手順でライセンスを検証する。まず、式（６）で示すライセンスを受信する。式（６）で示すライセンスのうち公開ライセンス情報（ｖi，ＩＤi）と、ハッシュ関数Ｈ（・）とを用いて、式（７）に示すｃiを算出する。なお、ハッシュ関数Ｈ（・）は、グループ公開鍵VKに含まれている。次に、式（６）で示すライセンスのうち秘密ライセンス情報（ｘi）と、生成元ｇとを用いて、式（８）に示すＡを算出する。なお、生成元ｇは、グループ公開鍵VKに含まれている。次に、公開ライセンス情報（ｖi）と、式（７）に示すｃiと、前記した式（１）で示すｙ0とを用いて、式（９）に示すＢを算出する。なお、ｙ0は、グループ公開鍵VKに含まれている。ライセンス検証手段２０６は、式（８）に示すＡと式（９）に示すＢとが一致するか否かを判別し、ＡとＢとが一致する場合、式（６）に示すライセンスを記憶手段２００に保管する。
【００９０】
【数１３】
0004971917.tif 000014
【００９１】
乱数選択手段２０７は、Ｚqから乱数ｒsをランダムに選択するものである。
署名証明情報生成手段２０８は、グループ公開鍵に基づいてグループメンバの署名であることを示す署名証明情報を生成するものである。本実施形態では、署名証明情報生成手段２０８は、グループ公開鍵VKのｇ，ｑと、乱数選択手段２０７で選択した乱数ｒsを用いて、式（１０）より署名証明情報ｖsを生成する。
【００９２】
【数１４】
0004971917.tif 000015
【００９３】
随時署名生成手段２０９は、署名証明情報と、グループ公開鍵と、公開ライセンス情報と、秘密ライセンス情報と、所定のリクエストと、を用いてリクエストに応じた随時署名を生成するものである。本実施形態では、随時署名生成手段２０９は、式（１１）に示すように、署名証明情報ｖsと、公開ライセンス情報（ｖi，ＩＤi）と、リクエスト（ｍ）とを連接し、グループ公開鍵VK中のハッシュ関数Ｈ（・）を用いて算出したハッシュ値ｃsを算出する。本実施形態では、リクエストは、入力装置Ｍから入力されるサービスリクエストとする。サービスリクエストは、例えば、コンテンツのタイトルやコンテンツＩＤ等を含む。また、入力装置Ｍは、視聴者（ユーザ）から各種情報を入力することのできるデバイスであり、例えば、キーボード、マウス、押し釦スイッチ、リモコン等である。
【００９４】
【数１５】
0004971917.tif 000016
【００９５】
また、随時署名生成手段２０９は、式（１１）に示すｃsと、乱数選択手段２０７で選択した乱数ｒsと、秘密ライセンス情報（ｘi）と、グループ公開鍵VK中の素数ｑとを用いて、式（１２）に示すように、随時署名σsを算出する。
【００９６】
【数１６】
0004971917.tif 000017
【００９７】
メッセージ生成手段２１０は、リクエストに、随時署名と、署名証明情報と、公開ライセンス情報とを付加したメッセージをグループ署名として生成する。本実施形態では、メッセージ生成手段２１０は、式（１３）に示すグループ署名σを生成する。
【００９８】
【数１７】
0004971917.tif 000018
【００９９】
サービスリクエスト送信手段（グループ署名送信手段）２１１は、メッセージ生成手段２１０で生成されたグループ署名をネットワークＮを介して署名検証装置３０に送信するものである。
サービス受信手段２１２は、例えば、リクエスト（入力装置Ｍから入力されるサービスリクエスト）に応じてコンテンツサーバ６０からネットワークＮを介して提供されるコンテンツ等のサービスを受信するものである。
【０１００】
コンテンツ再生手段２１３は、サービス受信手段２１２で受信したコンテンツを出力装置Ｄに出力可能に再生するものである。ここで、出力装置Ｄは、コンテンツの映像を表示する表示手段と、音声を出力する音声出力手段（スピーカ）等を備える。表示手段は、例えば、ＣＲＴ（Cathode Ray Tube）、液晶ディスプレイ（ＬＣＤ：Liquid Crystal Display）、ＰＤＰ（Plasma Display Panel）、ＥＬ（Electronic Luminescence）等から構成される。
【０１０１】
［署名検証装置の構成］
図５は、本発明の実施形態に係る署名検証装置の構成を模式的に示すブロック図である。署名検証装置３０は、図５に示すように、記憶手段３００と、公開情報受信手段３０１と、インデックスリスト取得手段３０２と、グループ署名受信手段３０３と、有効メンバ判別手段３０４と、検証用情報生成手段３０５と、グループ署名検証手段３０６と、検証結果送信手段３０７とを備えている。
【０１０２】
記憶手段３００は、例えば、演算処理等に利用されると共にネットワークＮを介して取得した情報等を記憶するＲＡＭと、所定のプログラム等を記憶するＲＯＭと、グループメンバ毎のライセンスを格納するＨＤＤ等を備えている。
公開情報受信手段３０１は、グループ管理装置１０からネットワークＮを介してグループ公開鍵VKを受信するものである。受信されたグループ公開鍵VKは、記憶手段３００のメモリに格納される。
【０１０３】
インデックスリスト取得手段３０２は、グループインデックス管理装置４０からネットワークＮを介してグループメンバインデックスリストＬ2を受信するものである。受信されたグループメンバインデックスリストＬ2は、記憶手段３００のメモリに格納される。
グループ署名受信手段３０３は、グループメンバ装置２０で生成されたグループ署名をネットワークＮを介して受信するものである。本実施形態では、グループ署名受信手段３０３は、グループメンバ装置２０で生成されたグループ署名を、コンテンツサーバ６０との専用線７０を経由して受信することとする。
【０１０４】
有効メンバ判別手段３０４は、受信したグループメンバインデックスリストＬ2の中に、グループ署名受信手段３０３で受信したグループ署名に含まれるグループメンバインデックスが存在するか否かを判別し、存在する場合にメンバ資格が有効であると判定するものである。
【０１０５】
検証用情報生成手段３０５は、グループ公開鍵に含まれるセキュリティパラメータと、グループ署名に含まれる署名証明情報（ｖs）と公開ライセンス情報（ｖi，ＩＤi）とメッセージ（ｍ）と、を用いて検証用情報を生成するものである。本実施形態では、検証用情報生成手段３０５は、式（１４）および式（１５）にそれぞれ示す検証用情報（Ｃi′，Ｃs′）を生成する。ここで、Ｈ（・）はハッシュ関数を示す。また、本実施形態では、検証用情報生成手段３０５は、有効メンバ判別手段３０４によってメンバ資格が有効であると判定された場合に検証用情報（Ｃi′，Ｃs′）を生成することとする。
【０１０６】
【数１８】
0004971917.tif 000019
【０１０７】
グループ署名検証手段３０６は、検証用情報生成手段３０５で生成された検証用情報（Ｃi′，Ｃs′）とグループ公開鍵とグループ署名とから導かれる値と、グループ署名に含まれる随時署名とグループ公開鍵とから導かれる値とが同じであるか否かを判別し、同じである場合に、受信したグループ署名の検証が成功したと判定するものである。本実施形態では、グループ署名検証手段３０６は、グループ署名σ中の随時署名σsと、グループ公開鍵VK中の生成元ｇとを用いて、式（１６）に示すＤを算出する。また、グループ署名検証手段３０６は、グループ署名σ中の署名証明情報ｖsと、公開ライセンス情報ｖiと、グループ公開鍵VK中の値ｙ0とを用いて、式（１７）に示すＥを算出する。グループ署名検証手段３０６は、式（１６）に示すＤと式（１７）に示すＥとが一致するか否かを判別し、ＤとＥとが一致する場合、受信したグループ署名の検証が成功したことを示す検証成功メッセージを生成し、ＤとＥとが不一致である場合、検証失敗メッセージを生成する。
【０１０８】
【数１９】
0004971917.tif 000020
【０１０９】
検証結果送信手段３０７は、グループ署名検証手段３０６で生成された検証結果を示す検証成功メッセージまたは検証失敗メッセージを、ネットワークＮを介してグループメンバ装置２０に送信するものである。本実施形態では、検証結果送信手段３０７は、検証結果をコンテンツサーバ６０を経由して、グループメンバ装置２０に送信することとする。
【０１１０】
［コンテンツサーバ］
コンテンツサーバ６０は、例えば、ＣＰＵと、ＲＡＭと、ＲＯＭと、ＨＤＤと、ＮＩＣ等を備えており、図５に示すように、コンテンツ記憶手段６００と、サービスリクエスト受信手段６０１と、検証リクエスト送信手段６０２と、サービス提供手段６０３とを備えている。
コンテンツ記憶手段６００は、コンテンツを蓄積記憶するものであり、例えば、一般的なハードディスク等から構成される。なお、コンテンツ記憶手段６００は、外部記憶装置から構成されていてもよい。
【０１１１】
サービスリクエスト受信手段６０１は、ネットワークＮを介してグループメンバ装置２０からサービスリクエストを受信するものである。
検証リクエスト送信手段６０２は、サービスリクエスト受信手段６０１で受信したサービスリクエスト（グループ署名）を検証することを依頼する検証リクエストをグループ署名と共に署名検証装置３０に専用線７０を介して送信するものである。なお、検証リクエストとグループ署名とを専用線７０を用いずにネットワークＮ経由で送信してもよいし、オフラインで渡してもよい。
【０１１２】
サービス提供手段６０３は、署名検証装置３０から、検証成功メッセージを取得した場合に、受信したサービスリクエストに該当するグループメンバ装置２０に対して、コンテンツ記憶手段６００に蓄積記憶されたコンテンツを、ネットワークＮ経由で提供するものである。また、サービス提供手段６０３は、署名検証装置３０から、検証失敗メッセージを取得した場合に、受信したサービスリクエストに該当するグループメンバ装置２０に対して、コンテンツの提供が許可されていないことを示すメッセージをネットワークＮ経由で通知する。
【０１１３】
［会員向けコンテンツ提供サービスシステムの動作］
次に、図２に示した会員向けコンテンツ提供サービスシステム２の動作について、図６ないし図８を参照（適宜図１ないし図５参照）して説明する。図６は、セットアップステップを示すフローチャート、図７は、ジョインステップを示すシーケンス図、図８は、サインステップおよび検証ステップを示すシーケンス図である。
【０１１４】
［セットアップステップ］
セットアップステップ（ステップＳ３：図２参照）は、グループ管理装置１０が実行する動作である。図６に示すように、セットアップステップでは、グループ管理装置１０は、セットアップ初期値生成手段１０１によって、素数ｐ，ｑを選択し（ステップＳ１０１）、生成元ｇを選択する（ステップＳ１０２）。なお、ステップＳ１０１とステップＳ１０２の順序は任意である。
【０１１５】
そして、グループ管理装置１０は、グループ秘密鍵生成手段１１１によって、Ｚqからグループ秘密鍵ｘ0をランダムに選択し、記憶手段１００の耐タンパな領域に秘密裡に保管する（ステップＳ１０３）。そして、グループ管理装置１０は、グループ公開鍵生成手段１１２によって、前記した式（１）より、ｙ0を算出する（ステップＳ１０４）。そして、グループ管理装置１０は、グループ公開情報送信手段１０３によって、前記した式（２）に示すグループ公開情報VKを公開する（ステップＳ１０５）。具体的には、グループ管理装置１０は、グループ公開情報VKを、各グループメンバ装置２０と、署名検証装置３０にネットワークＮを介して送信する。
【０１１６】
［ジョインステップ］
ジョインステップ（ステップＳ４：図２参照）は、グループ管理装置１０とグループメンバ装置２０とが実行する動作である。図７に示すように、ジョインステップでは、まず、グループメンバ装置２０は、ジョインリクエスト送信手段２０４によって、グループメンバインデックスが含まれているジョインリクエストを送信する（ステップＳ２０１）。グループ管理装置１０は、ジョインリクエスト受信手段１０４によって、ジョインリクエストを受信する（ステップＳ２０２）。
【０１１７】
そして、グループ管理装置１０は、公開ライセンス情報生成手段１２１によって、Ｚqから乱数ｒiをランダムに選択し（ステップＳ２０３）、前記した式（３）に示すｖiを算出する（ステップＳ２０４）。そして、グループ管理装置１０は、秘密ライセンス情報生成手段１２２によって、グループメンバインデックスＩＤiを含む公開ライセンス情報と、ハッシュ関数とを用いて、前記した式（４）に示すｃiを算出する（ステップＳ２０５）。秘密ライセンス情報生成手段１２２は、さらに、グループ秘密鍵ｘ0と素数ｑとを用いて、グループメンバインデックスＩＤiに該当するグループメンバ装置２０に対する秘密ライセンス情報として、前記した式（５）に示す秘密ライセンス情報ｘiを算出する（ステップＳ２０６）。そして、グループ管理装置１０は、ライセンス送信手段１０６によって、公開ライセンス情報（ｖi，ＩＤi）と共に秘密ライセンス情報ｘiをライセンス（ｘi，ｖi，ＩＤi）として該当するグループメンバ装置２０へ渡す（ステップＳ２０７）。
【０１１８】
グループメンバ装置２０は、ライセンス取得手段２０５によって、ライセンス（ｘi，ｖi，ＩＤi）を取得し（ステップＳ２０８）、ライセンス検証手段２０６によって、ライセンスを検証する。具体的な検証方法として、ライセンス検証手段２０６は、まず、前記した式（７）に示すｃiを算出する（ステップＳ２０９）。そして、ライセンス検証手段２０６は、前記した式（８）に示すＡを算出し（ステップＳ２１０）、前記した式（９）に示すＢを算出する（ステップＳ２１１）。なお、Ａ，Ｂの算出順序は任意である。そして、ライセンス検証手段２０６は、ＡとＢとが一致するか否かを判別する（ステップＳ２１２）。ＡとＢとが一致しない（Ａ≠Ｂ）場合（ステップＳ２１２：Ｎｏ）、グループメンバ装置２０は、ステップＳ２０１に戻る。一方、ＡとＢとが一致する（Ａ＝Ｂ）場合（ステップＳ２１２：Ｙｅｓ）、グループメンバ装置２０は、ライセンス検証手段２０６によって、受信したライセンス（ｘi，ｖi，ＩＤi）を記憶手段２００に保管する（ステップＳ２１３）。
【０１１９】
［サインステップ］
サインステップ（ステップＳ５：図２参照）は、グループメンバ装置２０が実行する動作である。図８に示すように、サインステップでは、グループメンバ装置２０は、乱数選択手段２０７によって、Ｚqから乱数ｒsをランダムに選択し（ステップＳ３０１）、署名証明情報生成手段２０８によって、前記した式（１０）に示す署名証明情報ｖsを算出する（ステップＳ３０２）。そして、グループメンバ装置２０は、随時署名生成手段２０９によって、署名を打ちたいメッセージ（ｍ）を含めて、前記した式（１１）に示すｃsを算出し（ステップＳ３０３）、グループメンバ装置２０の秘密ライセンス情報ｘiを用いて、前記した式（１２）に示す随時署名σsを生成する（ステップＳ３０４）。そして、グループメンバ装置２０は、メッセージ生成手段２１０によって、前記した式（１３）に示すグループ署名σを生成し（ステップＳ３０５）、サービスリクエスト送信手段２１１によって、グループ署名σを署名検証装置３０に送信する（ステップＳ３０６）。
【０１２０】
［検証ステップ］
検証ステップ（ステップＳ７：図２参照）は、署名検証装置３０が実行する動作である。図８に示すように、検証ステップでは、署名検証装置３０は、グループ署名受信手段３０３によって、グループ署名σを受信し（ステップＳ３０７）、有効メンバ判別手段３０４によって、有効グループメンバインデックスリストＬ2に、受信したグループ署名に含まれるグループメンバインデックスＩＤiが存在するか否かを判別する（ステップＳ３０８）。有効グループメンバインデックスリストＬ2にＩＤiが存在する場合（ステップＳ３０８：Ｙｅｓ）、署名検証装置３０は、検証用情報生成手段３０５によって、前記した式（１４）および式（１５）にそれぞれ示す検証用情報（Ｃi′，Ｃs′）を生成する（ステップＳ３０９）。そして、署名検証装置３０は、グループ署名検証手段３０６によって、前記した式（１６）に示すＤを算出し（ステップＳ３１０）、前記した式（１７）に示すＥを算出する（ステップＳ３１１）。なお、Ｄ，Ｅの算出順序は任意である。
【０１２１】
そして、グループ署名検証手段３０６は、ＤとＥとが一致するか否かを判別する（ステップＳ３１２）。ＤとＥとが一致する（Ｄ＝Ｅ）場合（ステップＳ３１２：Ｙｅｓ）、署名検証装置３０は、検証結果送信手段３０７によって、検証結果として検証成功メッセージを、コンテンツサーバ６０を経由して当該グループメンバ装置２０に送信する（ステップＳ３１３）。一方、ＤとＥとが一致しない（Ｄ≠Ｅ）場合（ステップＳ３１２：Ｎｏ）、署名検証装置３０は、検証結果送信手段３０７によって、検証結果として検証失敗メッセージを送信する（ステップＳ３１４）。また、ステップＳ３０８において、有効グループメンバインデックスリストＬ2にＩＤiが存在しない場合（ステップＳ３０８：Ｎｏ）、署名検証装置３０は、ステップＳ３１４に進む。
【０１２２】
本実施形態のグループメンバ装置２０によれば、生成したグループ署名は、従来の方式で生成される署名よりも署名長を短縮することができる。その結果、グループメンバ装置２０の実装に必要なコストを低減できる。また、グループ管理装置１０、グループメンバ装置２０および署名検証装置３０によれば、Unlinkableを満たさない（linkableを満たす）ことになるので、グループ内の所定のメンバがそのグループを脱退する場合に、その所定のメンバの署名のみを容易に無効化させることができる。また、新規メンバの加入を容易に行うこともできる。さらに、linkableを満たすことから、グループメンバ装置２０を利用するグループメンバが、コンテンツをネットワーク受信するときに、前回供給された状態の続きから受信することも可能となる。
【０１２３】
以上、本発明の実施形態について説明したが、本発明はこれに限定されるものではなく、その趣旨を変えない範囲でさまざまに実施することができる。例えば、グループ管理装置１０のセットアップ初期値生成手段１０１は、セットアップステップに必要な基本的なパラメータを生成する際に、乗法群（整数群）Ｚp上から生成元ｇを選択するものとして説明したが、生成元を、整数群の代わりに楕円曲線上から選択するようにしてもよい。この場合には、セットアップ初期値生成手段１０１は、素数ｑを選択し、有限体Ｆq上の楕円曲線Ｅから生成元ｇを選択する。また、グループ秘密鍵生成手段１１１は、素数ｑ以下の正の整数ｘ0をランダムに選択し、グループ公開鍵生成手段１１２は、前記した式（１）の代わりに、式（１８）に示すｙ0を算出する。式（１８）において、ｘ0はグループ秘密鍵を示す。また、この場合、グループ公開情報送信手段１０３は、前記した式（２）の代わりに、式（１９）に示すに示すグループ公開鍵VKをグループメンバ装置２０に送信する。また、この場合、公開ライセンス情報生成手段１２１は、前記した式（３）の代わりに、式（２０）に示すｖiを算出する。さらに、この場合、グループメンバ装置２０の署名証明情報生成手段２０８は、前記した式（１０）の代わりに、式（２１）に示すｖsを算出する。
【０１２４】
【数２０】
0004971917.tif 000021
【０１２５】
このように生成元を、整数群の代わりに楕円曲線上から選択する手法は、生成元を整数群から選択する手法に比べて歴史が浅く、いまだ発見されていない欠点や、攻撃法が存在する可能性があるが、署名長を一層短縮することができる。生成元を楕円曲線上から選択した場合には、グループメンバ装置２０が生成するグループ署名として、リクエストに付加される随時署名σs、署名証明情報ｖsおよび公開ライセンス情報ｖiは、それぞれ、例えば、１６０ビット程度のビット長であり、グループメンバインデックスＩＤiを含めてもグループ署名の署名長は６４０ビットであった。一方、非特許文献２に開示されたグループ署名方式では、２３，７０９ビットである。また、「Furukawa,Imai」（非特許文献３参照）の提案する従来公知の効率的なグループ署名方式の署名長は、１７１１ビットである。なお、署名を付加するリクエストメッセージの任意長は別である。したがって、グループメンバ装置２０が生成するグループ署名は、従来の方式で生成される署名よりも署名長を短縮することができる。その結果、グループメンバ装置２０の実装に必要なコストを低減できる。
【０１２６】
また、グループメンバ装置２０は、一般的なコンピュータを、前記した各手段として機能させるプログラム（署名生成プログラム）により動作させることで実現することができる。このプログラムは、通信回線を介して配布することも可能であるし、ＣＤ−ＲＯＭ等の記録媒体に書き込んで配布することも可能である。このプログラムをインストールされたコンピュータは、ＣＰＵが、ＲＯＭ等に格納されたこのプログラムをＲＡＭに展開することにより、グループメンバ装置２０と同等の効果を奏することができる。また、同様に、署名検証装置３０は、一般的なコンピュータを、前記した各手段として機能させるプログラム（署名検証プログラム）により動作させることで実現することができる。さらに、同様に、グループ管理装置１０は、一般的なコンピュータを、前記した各手段として機能させるプログラム（グループ管理プログラム）により動作させることで実現することができる。
【図面の簡単な説明】
【０１２７】
【図１】グループ署名システムの概要を模式的に示す構成図である。
【図２】会員向けコンテンツ提供サービスシステムの概要を模式的に示す構成図である。
【図３】本発明の実施形態に係るグループ管理装置の構成を模式的に示すブロック図である。
【図４】本発明の実施形態に係るグループメンバ装置の構成を模式的に示すブロック図である。
【図５】本発明の実施形態に係る署名検証装置の構成を模式的に示すブロック図である。
【図６】セットアップステップを示すフローチャートである。
【図７】ジョインステップを示すシーケンス図である。
【図８】サインステップおよび検証ステップを示すシーケンス図である。
【図９】従来のグループ署名システムの概要を模式的に示す構成図である。
【符号の説明】
【０１２８】
１      グループ署名システム
２      会員向けコンテンツ提供サービスシステム
１０    グループ管理装置
１００  記憶手段
１０１  セットアップ初期値生成手段
１０２  グループ鍵生成手段
１０３  グループ公開情報送信手段
１０４  ジョインリクエスト受信手段
１０５  メンバ鍵生成手段
１０６  ライセンス送信手段
１１１  グループ秘密鍵生成手段
１１２  グループ公開鍵生成手段
１２１  公開ライセンス情報生成手段
１２２  秘密ライセンス情報生成手段
２０    グループメンバ装置（署名生成装置）
２００  記憶手段
２０１  公開情報受信手段
２０２  グループメンバインデックス受信手段
２０３  ジョインリクエスト生成手段
２０４  ジョインリクエスト送信手段
２０５  ライセンス取得手段
２０６  ライセンス検証手段
２０７  乱数選択手段
２０８  署名証明情報生成手段
２０９  随時署名生成手段
２１０  メッセージ生成手段
２１１  サービスリクエスト送信手段（グループ署名送信手段）
２１２  サービス受信手段
２１３  コンテンツ再生手段
３０    署名検証装置
３００  記憶手段
３０１  公開情報受信手段
３０２  インデックスリスト取得手段
３０３  グループ署名受信手段
３０４  有効メンバ判別手段
３０５  検証用情報生成手段
３０６  グループ署名検証手段
３０７  検証結果送信手段
４０    グループインデックス管理装置
４００  記憶手段
４０１  会員情報識別値取得手段
４０２  グループメンバインデックス生成手段
４０３  グループメンバインデックス送信手段
５０    会員情報管理サーバ
６０    コンテンツサーバ
６００  コンテンツ記憶手段
６０１  サービスリクエスト受信手段
６０２  検証リクエスト送信手段
６０３  サービス提供手段
【図１】
0004971917.tif 000022
【図２】
0004971917.tif 000023
【図３】
0004971917.tif 000024
【図４】
0004971917.tif 000025
【図５】
0004971917.tif 000026
【図６】
0004971917.tif 000027
【図７】
0004971917.tif 000028
【図８】
0004971917.tif 000029
【図９】
0004971917.tif 000030