(57)【要約】  署名システムは、公開鍵証明書獲得装置１００、公開鍵証明書発行装置２００、署名装置３００を含む。公開鍵証明書獲得装置１００は、項目鍵を含む基盤公開鍵と項目データを受け付け、項目データを含む公開鍵証明書と秘密鍵を出力する。公開鍵証明書発行装置２００は、項目鍵を含む基盤公開鍵を受け付け、署名者を識別するために用いる証拠を出力する。署名装置３００は、メッセージ、開示項目集合、公開鍵証明書獲得装置１００が出力した秘密鍵及び公開鍵証明書を受け付け、メッセージに対する選択的匿名署名と開示項目データを出力する。
2010013699.tif 000002
【特許請求の範囲】
【請求項１】
公開鍵証明書獲得装置、公開鍵証明書発行装置、署名装置、署名検証装置、および、追跡装置を含んで構成される署名システムであって、
前記公開鍵証明書獲得装置は、項目データ及び前記項目データの各項目に対応する要素である項目鍵を含む基盤公開鍵を入力し、前記入力したデータと前記公開鍵証明書発行装置からのデータを用いて、項目データを含む公開鍵証明書及び秘密鍵を出力し、
前記公開鍵証明書発行装置は、項目データの各項目に対応する要素である項目鍵を含む基盤公開鍵を入力し、前記入力したデータと前記公開鍵証明書獲得装置からのデータを用いて、署名者を識別するために用いる証拠を出力し、
前記署名装置は、メッセージ、開示する項目を表す開示項目集合、前記公開鍵証明書獲得装置が出力した秘密鍵及び公開鍵証明書を入力し、前記入力したデータを用いて前記メッセージに対する選択的匿名署名及び前記開示項目集合に属する項目データである開示項目データを出力し、
前記署名検証装置は、前記署名装置が出力した選択的匿名署名及び開示項目データを入力し、前記入力したデータを用いて前記選択的匿名署名を検証し、
前記追跡装置は、前記署名装置が出力した選択的匿名署名及び前記選択的匿名署名に含まれる証拠の一部の暗号文の復号に用いる追跡用秘密鍵を入力し、前記入力したデータを用いて、前記証拠の一部及び前記選択的匿名署名を特定する情報である復号正当性証明を出力する、署名システム。
【請求項２】
前記公開鍵証明書獲得装置は、
乱数、項目データ、及び前記項目データの各項目に対応する要素である項目鍵を含む基盤公開鍵を入力する第１入力手段と、
前記公開鍵証明書発行装置との間で、前記入力した項目データ及び公開鍵証明書の元になる公開鍵証明書源を含むデータの送受信を行う第１通信手段と、
前記入力した乱数及び前記受信した前記公開鍵証明書発行装置からのデータを用いて、秘密鍵の知識の証明を前記公開鍵証明書発行装置に対して行う知識証明手段と、
前記知識証明手段により秘密鍵の知識の証明が行われた後、項目データを含む公開鍵証明書及び秘密鍵を出力する第１出力手段と、
を有する、請求項１に記載の署名システム。
【請求項３】
前記公開鍵証明書発行装置は、
乱数、公開鍵証明書の元になる公開鍵証明書源の生成に用いられる基盤秘密鍵、及び項目データの各項目に対応する要素である項目鍵を含む基盤公開鍵を入力する第２入力手段と、
前記公開鍵証明書獲得装置との間で、前記公開鍵証明書獲得装置で入力された項目データ及び前記公開鍵証明書源を含むデータの送受信を行う第２通信手段と、
前記入力した乱数及び前記受信した前記公開鍵証明書獲得装置からのデータを用いて、前記公開鍵証明書獲得装置が秘密鍵の知識を保有することを検証する知識検証手段と、
署名者を識別するために用いる証拠及び項目データを出力する第２出力手段と、
を有する、請求項１又は２に記載の署名システム。
【請求項４】
前記署名装置は、
メッセージ、開示する項目を表す開示項目集合、秘密鍵、項目データを含む公開鍵証明書、前記項目データの各項目に対応する要素である項目鍵を含む基盤公開鍵を入力する第３入力手段と、
前記入力した秘密鍵及び公開鍵証明書を用いて、前記開示項目集合に属する項目データである開示項目データを除いたデータに関する知識の証明文を生成する知識証明文生成手段と、
前記メッセージに対する選択的匿名署名及び前記開示項目データを出力する第３出力手段と、
を有する、請求項１から３のいずれか１項に記載の署名システム。
【請求項５】
前記署名検証装置は、
メッセージ、開示する項目を表す開示項目集合、前記開示項目集合に属する項目データである開示項目データ、項目データの各項目に対応する要素である項目鍵を含む基盤公開鍵、前記メッセージに対する選択的匿名署名を入力する第４入力手段と、
前記入力した秘密鍵及び公開鍵証明書を用いて、前記開示項目データを除いたデータに関する知識の証明文が前記選択的匿名署名に含まれることを検証し、前記選択的匿名署名が前記メッセージに対する正当な署名であるか否かを判定する知識証明文検証手段と、
前記知識証明文検証手段による判定結果を出力する第４出力手段と、
を有する、請求項１から４のいずれか１項に記載の署名システム。
【請求項６】
前記追跡装置は、
項目データの各項目に対応する要素である項目鍵を含む基盤公開鍵、前記メッセージに対する選択的な署名であり、秘密鍵から生成される証拠の一部の暗号文を含む選択的匿名署名、前記暗号文の復号に用いる追跡用秘密鍵、署名者を識別するために用いる証拠リストを入力する第５入力手段と、
前記入力した秘密鍵及び選択的匿名署名を用いて、秘密鍵から生成される証拠の一部を求め、求めた証拠の一部と前記証拠リストとを比較して前記選択的匿名署名を特定する情報である復号正当性証明を生成する復号正当性証明手段と、
前記復号正当性証明手段で得られた証拠の一部及び復号正当性証明を出力する第５出力手段と、
を有する、請求項１から５のいずれか１項に記載の署名システム。
【請求項７】
前記選択的匿名署名装置について、前記知識証明文生成手段に代えて、前記開示項目データを除いたデータに関する知識の証明処理を行う知識証明手段を備え、選択的匿名被認証装置として構成し、
前記選択的匿名署名検証装置について、
前記知識証明文検証手段に代えて、前記開示項目データを除いたデータに関する知識が前記選択的匿名署名に含まれることを検証する知識検証手段を備え、選択的匿名認証装置として構成した、請求項１から６のいずれか１項に記載の署名システム。
【請求項８】
乱数、項目データ、及び前記項目データの各項目に対応する要素である項目鍵を含む基盤公開鍵を入力する入力手段と、
公開鍵証明書発行装置との間で、前記入力した項目データ及び公開鍵証明書の元になる公開鍵証明書源を含むデータの送受信を行う通信手段と、
前記入力手段により入力した乱数及び前記通信手段により前記公開鍵証明書発行装置から受信したデータを用いて、秘密鍵の知識の証明を前記公開鍵証明書発行装置に対して行う知識証明手段と、
前記知識証明手段により秘密鍵の知識の証明が行われた後、項目データを含む公開鍵証明書及び秘密鍵を出力する出力手段と、
を有することを特徴とする公開鍵証明書獲得装置。
【請求項９】
乱数、公開鍵証明書の元になる公開鍵証明書源の生成に用いられる基盤秘密鍵、及び項目データの各項目に対応する要素である項目鍵を含む基盤公開鍵を入力する入力手段と、
公開鍵証明書獲得装置との間で、前記公開鍵証明書獲得装置で入力された項目データ及び前記公開鍵証明書源を含むデータの送受信を行う通信手段と、
前記入力手段により入力した乱数及び前記通信手段により前記公開鍵証明書獲得装置から受信したデータを用いて、前記公開鍵証明書獲得装置が秘密鍵の知識を保有することを検証する知識検証手段と、
署名者を識別するために用いる証拠及び項目データを出力する出力手段と、
を有する公開鍵証明書発行装置。
【請求項１０】
メッセージ、開示する項目を表す開示項目集合、秘密鍵、項目データを含む公開鍵証明書、前記項目データの各項目に対応する要素である項目鍵を含む基盤公開鍵を入力する入力手段と、
前記入力手段により入力した秘密鍵及び公開鍵証明書を用いて、前記開示項目集合に属する項目データである開示項目データを除いたデータに関する知識の証明文を生成する知識証明文生成手段と、
前記メッセージに対する選択的匿名署名及び前記開示項目データを出力する出力手段と、
を有する署名装置。
【請求項１１】
メッセージ、開示する項目を表す開示項目集合、前記開示項目集合に属する項目データである開示項目データ、項目データの各項目に対応する要素である項目鍵を含む基盤公開鍵、前記メッセージに対する選択的匿名署名を入力する入力手段と、
前記入力手段により入力した秘密鍵及び公開鍵証明書を用いて、前記開示項目データを除いたデータに関する知識の証明文が前記選択的匿名署名に含まれることを検証し、前記選択的匿名署名が前記メッセージに対する正当な署名であるか否かを判定する知識証明文検証手段と、
前記知識証明文検証手段による判定結果を出力する出力手段と、
を有する署名検証装置。
【請求項１２】
項目データの各項目に対応する要素である項目鍵を含む基盤公開鍵、前記メッセージに対する選択的な署名であり、秘密鍵から生成される証拠の一部の暗号文を含む選択的匿名署名、前記暗号文の復号に用いる追跡用秘密鍵、署名者を識別するために用いる証拠リストを入力する入力手段と、
前記入力手段により入力した秘密鍵及び選択的匿名署名を用いて、秘密鍵から生成される証拠の一部を求め、求めた証拠の一部と前記証拠リストとを比較して前記選択的匿名署名を特定する情報である復号正当性証明を生成する復号正当性証明手段と、
前記復号正当性証明手段で得られた証拠の一部及び復号正当性証明を出力する出力手段と、
を有する追跡装置。
【請求項１３】
公開鍵証明書獲得装置、公開鍵証明書発行装置、署名装置を含んで構成される署名システムにおける署名生成方法であって、
前記公開鍵証明書獲得装置は、項目データ及び前記項目データの各項目に対応する要素である項目鍵を含む基盤公開鍵を入力し、前記入力したデータと前記公開鍵証明書発行装置からのデータを用いて、項目データを含む公開鍵証明書及び秘密鍵を出力し、
前記公開鍵証明書発行装置は、項目データの各項目に対応する要素である項目鍵を含む基盤公開鍵を入力し、前記入力したデータと前記公開鍵証明書獲得装置からのデータを用いて、署名者を識別するために用いる証拠を出力し、
前記署名装置は、メッセージ、開示する項目を表す開示項目集合、前記公開鍵証明書獲得装置が出力した秘密鍵及び公開鍵証明書を入力し、前記入力したデータを用いて前記メッセージに対する選択的匿名署名及び前記開示項目集合に属する項目データである開示項目データを出力する、署名生成方法。
【請求項１４】
前記公開鍵証明書獲得装置が、
乱数、項目データ、及び前記項目データの各項目に対応する要素である項目鍵を含む基盤公開鍵を入力し、
前記公開鍵証明書発行装置との間で、前記入力した項目データ及び公開鍵証明書の元になる公開鍵証明書源を含むデータの送受信を行い、
前記入力した乱数及び前記受信した前記公開鍵証明書発行装置からのデータを用いて、秘密鍵の知識の証明を前記公開鍵証明書発行装置に対して行い、
前記秘密鍵の知識の証明が行われた後、項目データを含む公開鍵証明書及び秘密鍵を出力すること、を有する請求項１３に記載の署名生成方法。
【請求項１５】
前記公開鍵証明書発行装置が、
乱数、公開鍵証明書の元になる公開鍵証明書源の生成に用いられる基盤秘密鍵、及び項目データの各項目に対応する要素である項目鍵を含む基盤公開鍵を入力し、
前記公開鍵証明書獲得装置との間で、前記公開鍵証明書獲得装置で入力された項目データ及び前記公開鍵証明書源を含むデータの送受信を行い、
前記入力した乱数及び前記受信した前記公開鍵証明書獲得装置からのデータを用いて、前記公開鍵証明書獲得装置が秘密鍵の知識を保有することを検証し、
署名者を識別するために用いる証拠及び項目データを出力すること、
を有する請求項１３又は１４に記載の署名生成方法。
【請求項１６】
前記署名装置が、
メッセージ、開示する項目を表す開示項目集合、秘密鍵、項目データを含む公開鍵証明書、前記項目データの各項目に対応する要素である項目鍵を含む基盤公開鍵を入力し、
前記入力した秘密鍵及び公開鍵証明書を用いて、前記開示項目集合に属する項目データである開示項目データを除いたデータに関する知識の証明文を生成し、
前記メッセージに対する選択的匿名署名及び前記開示項目データを出力すること、
を有する請求項１３から１５のいずれか１項に記載の署名生成方法。
【請求項１７】
公開鍵証明書獲得装置、公開鍵証明書発行装置、署名装置を含んで構成される署名システムに用いられるプログラムを記録されたコンピュータ読み取り可能な記録媒体であって、
前記プログラムは、
前記公開鍵証明書獲得装置のコンピュータに、項目データ及び前記項目データの各項目に対応する要素である項目鍵を含む基盤公開鍵を入力させ、前記入力したデータと前記公開鍵証明書発行装置からのデータを用いて、項目データを含む公開鍵証明書及び秘密鍵を出力させ、
前記公開鍵証明書発行装置のコンピュータに、項目データの各項目に対応する要素である項目鍵を含む基盤公開鍵を入力させ、前記入力したデータと前記公開鍵証明書獲得装置からのデータを用いて、署名者を識別するために用いる証拠を出力させ、
前記署名装置のコンピュータに、メッセージ、開示する項目を表す開示項目集合、前記公開鍵証明書獲得装置が出力した秘密鍵及び公開鍵証明書を入力させ、前記入力したデータを用いて前記メッセージに対する選択的匿名署名及び前記開示項目集合に属する項目データである開示項目データを出力させる、記録媒体。
【請求項１８】
前記プログラムは、前記公開鍵証明書獲得装置のコンピュータに、
乱数、項目データ、及び前記項目データの各項目に対応する要素である項目鍵を含む基盤公開鍵を入力し、
前記公開鍵証明書発行装置との間で、前記入力した項目データ及び公開鍵証明書の元になる公開鍵証明書源を含むデータの送受信を行い、
前記入力した乱数及び前記受信した前記公開鍵証明書発行装置からのデータを用いて、秘密鍵の知識の証明を前記公開鍵証明書発行装置に対して行い、
前記秘密鍵の知識の証明が行われた後、項目データを含む公開鍵証明書及び秘密鍵を出力する、
を実行させる、請求項１７に記載の記録媒体。
【請求項１９】
前記プログラムは、前記公開鍵証明書発行装置のコンピュータに、
乱数、公開鍵証明書の元になる公開鍵証明書源の生成に用いられる基盤秘密鍵、及び項目データの各項目に対応する要素である項目鍵を含む基盤公開鍵を入力し、
前記公開鍵証明書獲得装置との間で、前記公開鍵証明書獲得装置で入力された項目データ及び前記公開鍵証明書源を含むデータの送受信を行い、
前記入力した乱数及び前記受信した前記公開鍵証明書獲得装置からのデータを用いて、前記公開鍵証明書獲得装置が秘密鍵の知識を保有することを検証し、
署名者を識別するために用いる証拠及び項目データを出力することを実行させる、請求項１７又は１８に記載の記録媒体。
【請求項２０】
前記プログラムは、前記署名装置のコンピュータに、
メッセージ、開示する項目を表す開示項目集合、秘密鍵、項目データを含む公開鍵証明書、前記項目データの各項目に対応する要素である項目鍵を含む基盤公開鍵を入力し、
前記入力した秘密鍵及び公開鍵証明書を用いて、前記開示項目集合に属する項目データである開示項目データを除いたデータに関する知識の証明文を生成し、
前記メッセージに対する選択的匿名署名及び前記開示項目データを出力することを実行させる、請求項１７から１９のいずれか１項に記載の記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、署名システムに関し、特に、公開鍵証明書を有する利用者が、自身の署名を生成するにあたり、全ての項目を隠す場合を含んで公開鍵証明書の任意の項目のみを明らかにして署名を生成し、本署名を検証し、権限者が本署名から署名者を特定するような選択的匿名署名システムに好ましく適用される技術に関するものである。
【背景技術】
【０００２】
双線形写像を用いたグループ署名としては、非特許文献１に記されているグループ署名が挙げられる。非特許文献１で開示されたグループ署名の概略について図１を参照して説明する。【０００３】
グループ秘密鍵1007は、pをある素数として、無作為に選ばれた体Z/pZの元γであるとする。【０００４】
グループ公開鍵1001は、素数pと、
位数pである群1と群2と群Tと
群1と群2から群Tへの双線形写像eと
群2から群1への同型写像φと
文字列を体(Z/pZ)へと写像するハッシュ関数Hashと
を記述する文字列と、
群2の生成子G2と、
φ(G2)=G1なる群1の生成子G1と、
無作為に選ばれた群1の元Hと、
W=[γ]G2と、からなるものであるとする。【０００５】
但し、WはG2のγ倍点である。【０００６】
追跡用秘密鍵1018は、無作為に選ばれた体Z/pZ上の2点、
ξ1,ξ2からなるものあるとする。【０００７】
追跡用の公開鍵1002は、
[ξ1]U=[ξ2]V=Hなる
群2上の2点からなるものであるとする。【０００８】
メンバ秘密鍵1009は、無作為に選ばれた体Z/pZ上の点xであるとする。【０００９】
メンバ証明書1008は、無作為に選ばれた体Z/pZ上の点yと、
A  =[1/(γ+y)]([1-x]G1)なるAと、からなるものであるとする。メンバ秘密鍵1009とメンバ証明書1008は、メンバ証明書−メンバ秘密鍵生成装置1005にて生成される。【００１０】
以下、グループ署名装置1013を説明する。【００１１】
グループ署名装置1013には、署名が行われるメッセージ1012と、グループ公開鍵1001と、追跡用公開鍵1002と、メンバ秘密鍵1009と、メンバ証明書1008と、乱数とが入力される。【００１２】
グループ署名装置1013は、入力された乱数を用いて、無作為にZ/pZ上の点αとβを選ぶ。その後、グループ署名装置1013は、メンバ証拠の暗号文1020を構成する、
T1  =  [α]U
T2  =  [β]V
T3  =  [α+β]H+A
を生成する。【００１３】
グループ署名装置1013は、さらに、入力された乱数を用いて、無作為にZ/pZ上の点α'とβ'とδ'1とδ'2とy'を選ぶ。その後、グループ署名装置1013は、コミットメントを構成する、
R1  =  [α']U
R2  =  [β']V
R3  =  e(T3,G2)＾(x')・e(H,W)＾(-α'-β')・e(H,G2)＾(-δ'1-δ'2)・e(H,G2)＾(y')
R4  =  [x']T1-[Δ'1]U
R5  =  [x']T2-[Δ'2]V
を生成する。ここで記号「＾」は冪乗剰余算を意味する。【００１４】
グループ署名装置1013は、グループ公開鍵1001と、追跡用公開鍵1002と、メッセージ1012と、U,V,T1,T2,T3,R1,R2,R3,R4およびR5と、のハッシュ値を生成し、これを挑戦値cとする。【００１５】
グループ署名装置1013は、レスポンスを構成する、
sα  =  α'+cα
sβ  =  β'+cβ
sx  =  x'+cx
sδ1  =  δ'1+cxα
sδ2  =  δ'2+cxβ
sy  =  y'+xy
を生成する。【００１６】
グループ署名装置1013は、
T1,T2,T3,c,sα,sβ,sx,sδ1,sδ2,sy
を、メッセージ1012であるmに対するグループ署名1014として出力する。【００１７】
以下、グループ署名検証装置1015を説明する。【００１８】
グループ署名検証装置1015には、署名がなされたメッセージ1012と、グループ公開鍵1001と、追跡用公開鍵1002と、が入力される。【００１９】
グループ署名検証装置1015は、
R1  =  [sα]U-[c]T1
R2  =  [sβ]V-[c]T2
R3  =  e(T3,G2)＾(sx)・e(H,W)＾(-sα-sβ)・e(H,G2)＾(-sδ1-sδ2)・e(H,G2)＾(sy)・(e(G1,G2)/e(T3,W))＾(-c)
R4  =  [sx]T1-[sδ1]U
R5  =  [sx]T2-[sδ2]U
を生成する。【００２０】
続いて、グループ署名検証装置1015は、グループ公開鍵1001と、追跡用公開鍵1002と、署名がなされたメッセージ1012と、U,V,T1,T2,T3,R1,R2,R3,R4およびR5と、のハッシュ値を生成し、これが挑戦値cと一致するかを確認する。グループ署名検証装置1015は、これらが一致すればグループ署名は正当と判断し、これらが一致しなければグループ署名は不当と判断する。【００２１】
以下、追跡装置1017を説明する。【００２２】
追跡装置1017には、メンバ証拠の暗号文1020を含むグループ署名1014と、追跡用の秘密鍵1018が入力される。【００２３】
追跡装置1017は、メンバ証拠1019であるA=T3-[ξ1]T1-[ξ2]T2を計算する。【００２４】
追跡装置1017は、メンバ証明書に、メンバ証拠1019であるAを持つ利用者を、不正者として同定する。
【先行技術文献】
【非特許文献】
【００２５】
【非特許文献１】Dan  Boneh,  Xavier  Boyen:  Short  Group  Signature.  Advances  in  Cryptology  --  CRYPTO  2004,  Lecture  Notes  in  Computer  Science  3152,  pp.  41-55,  2004,  Springer.
【発明の概要】
【発明が解決しようとする課題】
【００２６】
非特許文献１に記載されたグループ署名では、メンバ証明書と秘密鍵とを持つ署名者は、メンバ証明書の全ての情報を隠し、完全に匿名な署名を生成した。このため、一般の検証者は、署名からは署名者の情報が全く分からない。これは、一般の公開鍵基盤に基づく署名において、署名者が自身の公開鍵証明書を全て明らかにして署名を提示しなければならないのとは対極的である。しかし、公開鍵証明書の一部の項目のみ示し、その他の項目に関しては匿名で署名したい場合、非特許文献１によるグループ署名、一般の公開鍵基盤に基づく署名のいずれの方法でも対応することができない。【００２７】
そこで、本発明は、公開鍵証明書を有するユーザが、公開鍵証明書の任意の項目のみを明らかにするとともにその他の項目を隠すようにして自身の署名を生成できるようにすることを目的とする。
【課題を解決するための手段】
【００２８】
かかる目的を達成するために、本発明の署名システムは、公開鍵証明書獲得装置、公開鍵証明書発行装置、署名装置、署名検証装置、追跡装置を含んで構成される署名システムであって、公開鍵証明書獲得装置は、項目データ及び項目データの各項目に対応する要素である項目鍵を含む基盤公開鍵を入力し、入力したデータと公開鍵証明書発行装置からのデータを用いて、項目データを含む公開鍵証明書及び秘密鍵を出力し、公開鍵証明書発行装置は、項目データの各項目に対応する要素である項目鍵を含む基盤公開鍵を入力し、入力したデータと公開鍵証明書獲得装置からのデータを用いて、署名者を識別するために用いる証拠を出力し、署名装置は、メッセージ、開示する項目を表す開示項目集合、公開鍵証明書獲得装置が出力した秘密鍵及び公開鍵証明書を入力し、入力したデータを用いてメッセージに対する選択的匿名署名及び開示項目集合に属する項目データである開示項目データを出力し、署名検証装置は、署名装置が出力した選択的匿名署名及び開示項目データを入力し、入力したデータを用いて選択的匿名署名を検証し、追跡装置は、署名装置が出力した選択的匿名署名及び選択的匿名署名に含まれる証拠の一部の暗号文の復号に用いる追跡用秘密鍵を入力し、入力したデータを用いて、証拠の一部及び選択的匿名署名を特定する情報である復号正当性証明を出力する。【００２９】
また、本発明の公開鍵証明書獲得装置は、乱数、項目データ、及び項目データの各項目に対応する要素である項目鍵を含む基盤公開鍵を入力する入力手段と、公開鍵証明書発行装置との間で、入力した項目データ及び公開鍵証明書の元になる公開鍵証明書源を含むデータの送受信を行う通信手段と、入力手段により入力した乱数及び通信手段により公開鍵証明書発行装置から受信したデータを用いて、秘密鍵の知識の証明を公開鍵証明書発行装置に対して行う知識証明手段と、知識証明手段により秘密鍵の知識の証明が行われた後、項目データを含む公開鍵証明書及び秘密鍵を出力する出力手段と、を有する。【００３０】
また、本発明の公開鍵証明書発行装置は、乱数、公開鍵証明書の元になる公開鍵証明書源の生成に用いられる基盤秘密鍵、及び項目データの各項目に対応する要素である項目鍵を含む基盤公開鍵を入力する入力手段と、公開鍵証明書獲得装置との間で、公開鍵証明書獲得装置で入力された項目データ及び公開鍵証明書源を含むデータの送受信を行う通信手段と、入力手段により入力した乱数及び通信手段により公開鍵証明書獲得装置から受信したデータを用いて、公開鍵証明書獲得装置が秘密鍵の知識を保有することを検証する知識検証手段と、署名者を識別するために用いる証拠及び項目データを出力する出力手段と、を有する。【００３１】
また、本発明の署名装置は、メッセージ、開示する項目を表す開示項目集合、秘密鍵、項目データを含む公開鍵証明書、項目データの各項目に対応する要素である項目鍵を含む基盤公開鍵を入力する入力手段と、入力手段により入力した秘密鍵及び公開鍵証明書を用いて、開示項目集合に属する項目データである開示項目データを除いたデータに関する知識の証明文を生成する知識証明文生成手段と、メッセージに対する選択的匿名署名及び開示項目データを出力する出力手段と、を有する。【００３２】
また、本発明の署名検証装置は、メッセージ、開示する項目を表す開示項目集合、開示項目集合に属する項目データである開示項目データ、項目データの各項目に対応する要素である項目鍵を含む基盤公開鍵、メッセージに対する選択的匿名署名を入力する入力手段と、入力手段により入力した秘密鍵及び公開鍵証明書を用いて、開示項目データを除いたデータに関する知識の証明文が選択的匿名署名に含まれることを検証し、選択的匿名署名がメッセージに対する正当な署名であるか否かを判定する知識証明文検証手段と、知識証明文検証手段による判定結果を出力する出力手段と、を有する。【００３３】
また、本発明の追跡装置は、項目データの各項目に対応する要素である項目鍵を含む基盤公開鍵、メッセージに対する選択的な署名であり、秘密鍵から生成される証拠の一部の暗号文を含む選択的匿名署名、暗号文の復号に用いる追跡用秘密鍵、署名者を識別するために用いる証拠リストを入力する入力手段と、入力手段により入力した秘密鍵及び選択的匿名署名を用いて、秘密鍵から生成される証拠の一部を求め、求めた証拠の一部と証拠リストとを比較して選択的匿名署名を特定する情報である復号正当性証明を生成する復号正当性証明手段と、復号正当性証明手段で得られた証拠の一部及び復号正当性証明を出力する出力手段と、を有する。【００３４】
また、本発明の署名生成方法は、公開鍵証明書獲得装置、公開鍵証明書発行装置、署名装置を含んで構成される署名システムにおける署名生成方法であって、公開鍵証明書獲得装置は、項目データ及び前記項目データの各項目に対応する要素である項目鍵を含む基盤公開鍵を入力し、入力したデータと公開鍵証明書発行装置からのデータを用いて、項目データを含む公開鍵証明書及び秘密鍵を出力し、公開鍵証明書発行装置は、項目データの各項目に対応する要素である項目鍵を含む基盤公開鍵を入力し、入力したデータと公開鍵証明書獲得装置からのデータを用いて、署名者を識別するために用いる証拠を出力し、署名装置は、メッセージ、開示する項目を表す開示項目集合、公開鍵証明書獲得装置が出力した秘密鍵及び公開鍵証明書を入力し、入力したデータを用いてメッセージに対する選択的匿名署名及び開示項目集合に属する項目データである開示項目データを出力する。【００３５】
また、本発明の記録媒体は、公開鍵証明書獲得装置、公開鍵証明書発行装置、署名装置を含んで構成される署名システムに用いられるプログラムが記録されており、このプログラムは、公開鍵証明書獲得装置のコンピュータに、項目データ及び項目データの各項目に対応する要素である項目鍵を含む基盤公開鍵を入力させ、入力したデータと公開鍵証明書発行装置からのデータを用いて、項目データを含む公開鍵証明書及び秘密鍵を出力させ、公開鍵証明書発行装置のコンピュータに、項目データの各項目に対応する要素である項目鍵を含む基盤公開鍵を入力させ、入力したデータと公開鍵証明書獲得装置からのデータを用いて、署名者を識別するために用いる証拠を出力させ、署名装置のコンピュータに、メッセージ、開示する項目を表す開示項目集合、公開鍵証明書獲得装置が出力した秘密鍵及び公開鍵証明書を入力させ、入力したデータを用いてメッセージに対する選択的匿名署名及び開示項目集合に属する項目データである開示項目データを出力させる。
【発明の効果】
【００３６】
本発明によれば、公開鍵証明書を有するユーザが、公開鍵証明書の任意の項目のみを明らかにするとともにその他の項目を隠すようにして自身の署名を生成することが可能となる。
【図面の簡単な説明】
【００３７】
【図１】関連技術のグループ署名システムのシステム構成を示した図である。
【図２】本発明の実施形態に係るグループ署名システムのシステム構成を示した図である。
【図３】本発明の実施形態に係る公開鍵証明書獲得装置の構成を示した図である。
【図４】本発明の実施形態に係る公開鍵証明書発行装置の構成を示した図である。
【図５】本発明の実施形態に係る選択的匿名署名装置の構成を示した図である。
【図６】本発明の実施形態に係る選択的匿名署名検証装置の構成を示した図である。
【図７】本発明の実施形態に係る追跡装置の構成を示した図である。
【図８】本発明の実施形態に係る選択的匿名被認証置の構成を示した図である。
【図９】本発明の実施形態に係る選択的匿名認証装置の構成を示した図である。
【発明を実施するための形態】
【００３８】
以下、図面を参照しながら、本発明の実施形態について説明する。なお、以下に述べる実施形態は、本発明の好適な実施の形態である。このため、実施形態には、技術的に好ましい種々の限定が付されている。しかしながら、本発明の範囲は、以下の説明において特に本発明を限定する旨の記載がない限り、これらの態様に限られるものではない。
【００３９】
後述する実施形態において前提となる要素について述べる。
【００４０】
pは素数であるとする。
【００４１】
群1と群2と群Tと群Eのそれぞれは、位数pの群とする。
【００４２】
群1と群2から群Tへの双線形写像eが存在するものとする。
【００４３】
群Eは、素体上の乗法群や、一般の楕円曲線等でディフィヘルマン判別問題を解くことが困難な群とする。
【００４４】
群2から群1への同型写像が、同型写像φであるとする。
【００４５】
文字列を体(Z/pZ)へと写像するハッシュ関数が、ハッシュ関数Hashであるとする。
【００４６】
G2は、群2の生成子であるとする。
【００４７】
G1は、φ(G2=G1)なる群1の生成子であるとする。
【００４８】
Gは、群Eの生成子であるとする。
【００４９】
自然数nを公開鍵証明書の項目数とする。
【００５０】
H,H[1],...,H[n],Kが、無作為に選ばれた群1の元であるとする。
【００５１】
(H[1],...,H[n])の各H[i]は、i番目の項目に関連づけられており、項目鍵と呼ぶものとする。
【００５２】
γは、無作為に選ばれた体Z/pZの元であるとする。
【００５３】
Y  =  [γ]G2が成り立つものとする。
【００５４】
sとtは、無作為に選ばれた体Z/pZ上の2点であるとする。
【００５５】
SとTは、S  =  [s]G,  T  =  [t]Gを満たすものとする。
【００５６】
基盤秘密鍵は、γであるとする。
【００５７】
基盤公開鍵は、pであるとする。
【００５８】
群1,群2,群T,双線形写像e,同型写像φ,およびハッシュ関数Hashを記述する文字列は、G1,G2,G,H,n,H[1],...,H[n],K,Yであるとする。
【００５９】
追跡用秘密鍵は、(s,t)であるとする。
【００６０】
追跡用の公開鍵は、(S,T)であるとする。
［実施形態１］
本発明の第１の実施形態として、公開鍵証明書を有するメンバが、自身の署名を生成するに際して、全ての項目を隠す場合を含んで公開鍵証明書の任意の項目のみを明らかにして署名を生成し、本署名を検証し、管理者が本署名から署名者を特定するグループ署名システムについて説明する。
【００６１】
図２は、本実施形態のグループ署名システムの構成を示した図である。本実施形態のグループ署名システム600は、公開鍵証明書獲得装置100、公開鍵証明書発行装置200、選択的匿名署名装置300、選択的匿名署名検証装置400、および、追跡装置500を有する。
【００６２】
公開鍵証明書獲得装置100は、公開鍵証明書発行装置200と通信することで、公開鍵証明書119と秘密鍵118を獲得する。公開鍵証明書119には項目データが含まれる。選択的匿名署名装置300は、獲得した公開鍵証明書119及び秘密鍵118、メッセージ302や開示項目の集合314、基盤公開鍵101や追跡用公開鍵301などを受け付け、メッセージに対する選択的匿名署名313を出力する。選択的匿名署名検証装置400は、メッセージ302、開示項目の集合314、開示した項目データ315と、基盤公開鍵101、追跡用公開鍵301と、選択的匿名署名313とを受け付け、選択的匿名署名313がメッセージに対する正当な署名であることを示す検証結果407を出力する。追跡装置500は、選択的匿名署名313、追跡用秘密鍵501、および、追跡用公開鍵301などを受け付け、選択的匿名署名を生成したものを表す証拠104を出力する。
【００６３】
図３は、本実施形態における公開鍵証明書獲得装置の構成を示した図である。公開鍵証明書獲得装置100は、公開鍵証明書発行装置200と通信する通信部、入力部、出力部、計算部を備える。通信部は、一般的に第１通信手段と呼ぶことができる。入力部は、第１入力手段と呼ぶことができる。出力部は、第１出力手段と呼ぶことができる。計算部は、知識証明手段と呼ぶことができる。通信部、入力部、出力部および計算部は、ハードウエア資源（ＣＰＵや主記憶など）を利用して実現される。
【００６４】
まず、公開鍵証明書獲得装置100は、基盤公開鍵101、乱数102、および、項目データ120である(x[1],...,x[n])を受け付ける。次に、証拠生成装置103は、乱数102を用いて、体(Z/pZ)より秘密鍵107であるxを、ランダムに選択する。そして、証拠生成装置103は、xより、
Q  =  Gx,
H  =  HxΠi=1nH[i]x[i]Kz'
を生成する。これを証拠104と呼ぶ。そして、証拠生成装置103は、証拠104である(Q,H)と項目データ120である(x[1],....,x[n])を公開鍵証明書発行装置200に送信する。そして、以下の知識の証明手続き106により、２式、
Q  =  Gx,
H  =  HxΠi=1nH[i]x[i]Kz'
を満たす(x,z')の知識が、公開鍵証明書発行装置200に対して証明される。
＜知識の証明手続き106＞
公開鍵証明書獲得装置100では、コミットメント生成装置108が、入力された乱数102より、x',z'を体(Z/pZ)よりランダムに選び、コミットメント109として、Q'  =  Gx',H'  =  Hx'Kz'を生成し、そのコミットメントを公開鍵証明書発行装置200に送信する。そして、チャレンジ獲得装置111は、公開鍵証明書発行装置200から、体Z/pZの元である挑戦値112つまりcが送信されるのを待つ。レスポンス生成装置113は、挑戦値cを受信すると、レスポンス114として、
r  =  cx+x',
s  =  cz'+z'
を計算し、レスポンス114を公開鍵証明書発行装置200に送る。
＜証明手続き後＞
公開鍵証明書検証装置117は、公開鍵証明書発行装置200より、公開鍵証明書源116である
y  ∈  Z/pZ,
z''  ∈  Z/pZ,および
A  ∈  群1
が送られてくるのを待つ。公開鍵証明書検証装置117は、上の値を受信したとき、z=  z'+z''を計算する。その後、公開鍵証明書検証装置117は、
e(A,YG2y)・e(HxΠi=1nH[i]x[i],G2)・e(Kz,G2)  =  e(G1,G2)
が成り立つことを確認する。その後、公開鍵証明書検証装置117は、項目データ120である(x[1],...,x[n])を含む公開鍵証明書119である(A,y,x[1],...,x[n],z)と秘密鍵118であるxを出力する。
【００６５】
図４は、本実施形態における公開鍵証明書発行装置の構成を示した図である。公開鍵証明書発行装置200は、公開鍵証明書獲得装置100と通信する通信部、入力部、出力部および計算部を備える。通信部は、一般的に第２通信手段と呼ぶことができる。入力部は、一般的に第２入力手段と呼ぶことができる。出力部は、一般的に第２出力手段と呼ぶことができる。計算部は、一般的に知識検証手段と呼ぶことができる。通信部、入力部、出力部および計算部は、ハードウエア資源（ＣＰＵや主記憶など）を利用して実現される。
【００６６】
まず、公開鍵証明書発行装置200は、基盤公開鍵101、基盤秘密鍵209、および、乱数201を受け付ける。次に、公開鍵証明書発行装置200は、証拠104である(Q,H)∈(群E,群1)と項目データ120である(x[1],...,x[n])が公開鍵証明書獲得装置100から送信されるのを待つ。公開鍵証明書発行装置200は、公開鍵証明書獲得装置100からデータを受信すると、項目データ120の妥当性を検証するとともに、以下の知識の検証手続き203により、２式、
Q  =  Gx,
H  =  HxΠi=1nH[i]x[i]Kz'
を満たすxU,z'Uの知識を公開鍵証明書獲得装置100が保持していることを検証する。
＜知識の検証手続き203＞
公開鍵証明書発行装置200では、チャレンジ生成装置205は、コミットメント109である(Q',H')∈(群E,群1)が公開鍵証明書獲得装置100より送られてくるのを待つ。チャレンジ生成装置205は、コミットメント109が送られてきたとき、入力された乱数201を用いて、挑戦値112であるcを体(Z/pZ)よりランダムに選択する。チャレンジ生成装置205は、挑戦値112であるcを、公開鍵証明書獲得装置100に送付する。レスポンス検証装置207は、レスポンス114である(r,s)∈(Z/pZ)2が公開鍵証明書獲得装置100から送信されてくるのを待つ。レスポンス114が送信されてくると、レスポンス検証装置207は、
Gr  =  QcQ',
HrKs  =  (H/Πi=1nH[i]x[i])cH'
が成り立つことを確認する。
＜検証手続き後＞
公開鍵証明書発行装置200は、公開鍵証明書源生成装置208を用いて、入力された乱数201より、(y,z'')∈(Z/pZ,Z/pZ)を選択して、
A  =  (G1H-1K-z'')1/(γ+y)
を生成する。公開鍵証明書源生成装置208は、(A,y,z'')を公開鍵証明書源119として、公開鍵証明書獲得装置100に送信する。そして、証拠210であるQ及び項目データ120である(x[1],...,x[n])が出力される。
【００６７】
図５は、本実施形態における選択的匿名署名装置の構成を示した図である。選択的匿名署名装置300は、入力部、出力部、および計算部を備える。入力部は、一般的に第３入力手段とよぶことができる。出力部は、一般的に第３出力手段と呼ぶことができる。計算部は、一般的に知識証明文生成手段と呼ぶことができる。入力部、出力部、および計算部は、ハードウエア資源（ＣＰＵや主記憶など）を利用して実現される。
【００６８】
まず、選択的匿名署名装置300は、基盤公開鍵101、追跡用公開鍵301、項目データ120を含む公開鍵証明書119、秘密鍵118、開示項目集合314であるS⊂[1,...,n]、メッセージ302であるm、および、乱数303を受け付ける。次に、暗号化装置303は、体Z/pZよりq,rをランダムに選択して、証拠の暗号文304を構成する、
B  =  AKq,
U  =  Gx+r,
V  =  Sr,
W  =  Tr
を生成する。そして、知識の証明文生成装置305は、(p,G1,G2,G,H,n,H[1],...,H[n],K,Y,B,U,V,W,(x[i])i∈S)が与えられたときに、
e(G1,G2)e(B,Y)-1e(H,Πi∈SH[i]-x[i])  =  e(H,G2)xe(H,Πi∈[1,...,n]＼SH[i]x[i])e(B,G2)ye(K,G2)ze(K,Y)-q,
U  =  Gx+r,
V  =  Sr,および
W  =  Tr,
を満す、x及び開示されない項目データ(x[i])i∈[1,...,n]＼S,y,z,q,r)の知識の証明文を、以下の通り生成する。
＜知識の証明文生成処理＞
コミットメント生成装置306は、体Z/pZよりt,u,v,w,o,(x'[i])i∈[1,...,n]＼Sをランダムに選択する。その後、コミットメント生成装置306は、コミットメント307を構成する、
X'  =  e(H,G2)＾te(H,Πi∈[1,...,n]＼SH[i]x'[i])e(B,G2)ue(K,G2)ve(K,Y)-w,
U'  =  Gt+o,
V'  =  So,
W'  =  To
を生成する。そして、コミットメント生成装置306は、(X',U',V',W')をコミットメントとする。次に、挑戦値生成装置308は、挑戦値309である、
c  =  Hash(p,G1,G2,G,H,n,H[1],...,H[n],K,Y,B,U,V,W,(x[i])i∈S,X',U',V',W',m)
を生成する。次に、レスポンス生成装置310は、
x'  =  cx+t,
i∈[1,...,n]＼Sに関して、x''[i]  =  cx[i]+x'[i],
y'  =  cy+u,
z'  =  c(z-qy)+v,
q'  =  cq+w,および
r'  =  cr+o
を生成する。そして、レスポンス生成装置310は、(x,(x'[i])i∈[1,...,n]＼S,y',z',q',r')をレスポンスとする。
＜生成処理後＞
選択的匿名署名装置300では、選択的匿名署名出力装置312は、(X',U',V',W',x',(x'[i])i∈[1,...,n]＼S,y',z',q',r')を、メッセージmに対する、公開鍵証明書の項目データ315である(S,x[i])i∈Sを開示した選択的匿名署名313として出力する。
【００６９】
図６は、本実施形態における選択的匿名署名検証装置の構成を示した図である。選択的匿名署名検証装置400は、入力部、出力部、および計算部を備える。入力部は、一般的に第４入力手段と呼ぶことができる。出力部は、一般的に第４出力手段と呼ぶことができる。計算部は、一般的に知識証明文検証手段と呼ぶことができる。入力部、出力部、および計算部は、ハードウエア資源（ＣＰＵや主記憶など）を利用して実現される。
【００７０】
まず、選択的匿名署名検証装置400は、基盤公開鍵101、追跡用公開鍵301、メッセージ302、開示項目集合314であるS、開示した項目データ315である(x[i])i∈S、選択的匿名署名313である(X',U',V',W',x',(x'[i])i∈[1,...,n]＼S,y',z',q',r')を入力する。次に、知識の証明文検証装置を兼ねる選択的匿名署名検証装置400は、(p,G1,G2,G,H,n,H[1],...,H[n],K,Y,B,U,V,W,(x[i])i∈S)が与えられたときに、
e(G1,G2)e(B,Y)-1e(H,Πi∈SH[i]-x[i])  =  e(H,G2)xe(H,Πi∈[1,...,n]＼SH[i]x[i])e(B,G2)ye(K,G2)ze(K,Y)-q,
U  =  Gx+r,
V  =  Sr,および
W  =  Tr
を満す、(x,(x[i])i∈[1,...,n]＼S,y,z,q,r)の知識の証明文を以下の通り検証する。
【００７１】
挑戦値生成装置404は、挑戦値405である
c  =  Hash(p,G1,G2,G,H,n,H[1],...,H[n],K,Y,B,U,V,W,(x[i])i∈S,X',U',V',W',m)
を計算する。そして、レスポンス装置406は、次の式が成り立つことを確認する。
(e(G1,G2)e(B,Y)-1e(H,Πi∈SH[i]-x[i]))cX'  =  e(H,G2)x'e(H,Πi∈[1,...,n]＼SH[i]x'[i])e(B,G2)y'e(K,G2)z'e(K,Y)-q',
UcU'  =  Gx'+r',
VcV'=  Sr',および
WcW'=  Tr'
レスポンス装置406は、これらの式が成立する場合に「正当」を出力し、成立しない場合に「不当」を出力する。
【００７２】
図７は、本実施形態における追跡装置の構成を示した図である。追跡装置500は、入力部、出力部、および計算部を備える。入力部は、一般的に第５入力手段と呼ぶことができる。出力部は、一般的に第５出力手段と呼ぶことができる。計算部は、一般的に復号正当性証明手段と呼ぶことができる。入力部、出力部、および計算部は、ハードウエア資源（ＣＰＵや主記憶など）を利用して実現される。
【００７３】
まず、追跡装置500は、基盤公開鍵101、追跡用公開鍵301、追跡用秘密鍵501、メッセージ302であるm、開示項目集合314であるS、開示項目データ315である(x[i])i∈S、選択的匿名署名313である(X',U',V',W',x',(x'[i])i∈[1,...,n]＼S,y',z',q',r')、および乱数502を受け付ける。次に、復号装置503は、証拠の一部の暗号文と追跡用秘密鍵から、証拠の一部504であるQ  =  U-[1/s]Vを生成する。そして、復号証明装置505は、復号正当性証明文を以下のように生成する。
【００７４】
はじめに、復号証明装置505では、コミットメント生成装置506が、乱数から体Z/pZの元rを選択し、コミットメント507を構成する、
V''  =  [r]V,
G''  =  [r]G
を生成する。
【００７５】
次に、挑戦値生成装置508は、挑戦値509として、
c''  =  Hash(p,G1,G2,G,H,n,H[1],...,H[n],K,Y,U,V,Q,V'',G'')
を生成する。
【００７６】
次に、レスポンス生成装置510は、レスポンス511として、
r''  =  c''/s+r
を生成する。
【００７７】
次に、レスポンス生成装置510は、(V'',G'',r'')を復号の正当性証明とする。
【００７８】
そして、出力装置512は、証拠の一部104であるQ及び復号の正当性証明513である(V'',G'',r'')を出力する。
［実施形態２］
本発明の第２の実施形態として、選択的匿名署名装置を選択的匿名被認証装置に、選択的匿名署名検証装置を選択的匿名認証装置に置き換えたグループ署名システムについて説明する。上記２装置内の装置（公開鍵証明書獲得装置、公開鍵証明書発行装置、追跡装置）については実施形態１と同様であるため、実施形態１と相違する選択的匿名被認証装置、選択的匿名認証装置について述べる。
【００７９】
図８は、本実施形態における選択的匿名被認証装置の構成を示した図である。選択的匿名被認証装置700は、入力部、出力部、および計算部を備える。入力部は、一般的に第３入力手段と呼ぶことができる。出力部は、一般的に第３出力手段と呼ぶことができる。計算部は、一般的に知識証明手段と呼ぶことができる。入力部、出力部、および計算部は、ハードウエア資源（ＣＰＵや主記憶など）を利用して実現される。
【００８０】
まず、選択的匿名被認証装置700は、基盤公開鍵101、追跡用公開鍵301、項目データ120を含む公開鍵証明書119、秘密鍵107、開示項目集合314であるS⊂[1,...,n]、および乱数316を受け付ける。
【００８１】
次に、暗号化装置303は、体Z/pZよりq,rをランダムに選択し、証拠暗号文304を構成する、
B  =  AKq,
U  =  Gx+r,
V  =  Sr,および
W  =  Tr
を生成する。
【００８２】
次に、知識の証明装置705は、(p,G1,G2,G,H,n,H[1],...,H[n],K,Y,B,U,V,W,(x[i])i∈S)が与えられたときに、
e(G1,G2)e(B,Y)-1e(H,Πi∈SH[i]-x[i])  =  e(H,G2)xe(H,Πi∈[1,...,n]＼SH[i]x[i])e(B,G2)ye(K,G2)ze(K,Y)-q,
U  =  Gx+r,
V  =  Sr,
W  =  Tr
を満す、x及び開示されない項目データ(x[i])i∈[1,...,n]＼S,y,z,q,r)の知識の証明を、選択的匿名認証装置に対して以下の通り行う。なお、選択的匿名被認証装置700は、公開鍵証明書の項目データ315である(S,x[i])i∈Sを選択的匿名認証装置に送付する。
＜知識の証明処理＞
はじめに、コミットメント生成装置306は、体Z/pZよりt,u,v,w,o,(x'[i])i∈[1,...,n]＼Sをランダムに選択する。続いて、コミットメント生成装置306は、コミットメント307を構成する、
X'  =  e(H,G2)＾te(H,Πi∈[1,...,n]＼SH[i]x'[i])e(B,G2)ue(K,G2)ve(K,Y)-w,
U'  =  Gt+o,
V'  =  So,および
W'  =  To
を生成する。そして、コミットメント生成装置306は、(X',U',V',W')をコミットメントとし、これを選択的匿名認証装置に送付する。
【００８３】
次に、選択的匿名被認証装置700では、挑戦値受信装置708が、挑戦値309であるcを、選択的匿名認証装置より受け取る。
【００８４】
そして、レスポンス生成装置310は、
x'  =  cx+t,
i∈[1,...,n]＼Sに関して、x''[i]  =  cx[i]+x'[i],
y'  =  cy+u,
z'  =  c(z-qy)+v,
q'  =  cq+w,
r'  =  cr+o
を生成する。そして、レスポンス生成装置310は、(x,(x'[i])i∈[1,...,n]＼S,y',z',q',r')をレスポンスとし、レスポンスを選択的匿名認証装置に送付する。
【００８５】
本実施形態の選択的匿名被認証装置は、選択的匿名署名装置における知識の証明文の生成を知識の証明処理に交換しただけのもので、それ以外の動作や内部構成は選択的匿名署名装置と同じである。知識の証明文は、証明者から検証者へ証明文と呼ばれる文書を送付するだけで、ある知識を保持することを証明できる。一方、知識の証明は、同じ目的を達成するために、証明者と検証者で対話（複数回の通信）が必要となる。
【００８６】
図９は、本実施形態における選択的匿名認証装置の構成を示した図である。選択的匿名認証装置800は、入力部、出力部、および計算部を備える。入力部は、一般的に第４入力手段と呼ぶことができる。出力部は、一般的に第４出力手段と呼ぶことができる。計算部は、一般的に知識検証手段と呼ぶことができる。入力部、出力部、および計算部は、ハードウエア資源（ＣＰＵや主記憶など）を利用して実現される。
【００８７】
まず、選択的匿名認証装置800は、基盤公開鍵101と追跡用公開鍵301を受け付ける。
【００８８】
次に、知識の検証装置808は、選択的匿名被認証装置700より、コミットメントと、開示項目集合314であるSと、これに対応する公開鍵証明書の項目データ315である(S,x[i])i∈Sを受信する。そして、(p,G1,G2,G,H,n,H[1],...,H[n],K,Y,B,U,V,W,(x[i])i∈S)が与えられたときに、知識の検証装置808は、e(G1,G2)e(B,Y)-1e(H,Πi∈SH[i]-x[i])  =  e(H,G2)xe(H,Πi∈[1,...,n]＼SH[i]x[i])e(B,G2)ye(K,G2)ze(K,Y)-q,
U  =  Gx+r,
V  =  Sr,および
W  =  Tr
を満す、(x,(x[i])i∈[1,...,n]＼S,y,z,q,r)の知識の証明の検証を以下の通り行う。
【００８９】
はじめに、挑戦値生成装置504は、挑戦値505であるcをランダムに生成する。挑戦値生成装置504は、cを選択的匿名被認証装置700に送信する。
【００９０】
次いで、レスポンス受信装置806は、選択的匿名被認証装置700からレスポンスである(x,(x'[i])i∈[1,...,n]＼S,y',z',q',r')を受信する。
【００９１】
そして、レスポンス装置は、次の式が成り立つことを確認する。
(e(G1,G2)e(B,Y)-1e(H,Πi∈SH[i]-x[i]))cX'  =  e(H,G2)x'e(H,Πi∈[1,...,n]＼SH[i]x'[i])e(B,G2)y'e(K,G2)z'e(K,Y)-q',
UcU'  =  Gx'+r',
VcV'=  Sr',
WcW'=  Tr'
レスポンス装置は、これらの式が成立した場合は「正当」を出力し、成立しない場合は「不当」を出力する。
【００９２】
本実施形態の選択的匿名認証装置は、選択的匿名署名検証装置における知識の証明文の検証を知識の検証処理に交換しただけのもので、それ以外の動作や内部構成は選択的匿名署名検証装置と同じである。知識の証明文は、検証者が証明者から証明文と呼ばれる文書を受信するだけで、証明者がある知識を保持することを検証できる。一方、知識の検証は、同じ目的を達成するために、証明者と検証者で対話（複数回の通信）が必要となる。
【００９３】
上述した本発明の実施形態によれば、公開鍵証明書に含まれる項目データの任意の部分を隠蔽できる。一方、知識の証明文を生成するため、項目データが存在し、それに関する知識を所持していることは保証される。これは、公開鍵基盤に基づいた普通の署名が全ての公開鍵証明書を明らかにしてしまうのに対して、必要のないところや開示したくないところを隠すことが可能となる効果を持つ。上記関連技術におけるグループ署名は、これら全てを隠すことは可能であったものの、これでは正当な署名者の署名であることを示すために、署名者の属性を示すことすらできなくなってしまう。本実施形態によると、この両者の問題を解決できる。
【００９４】
なお、上述する実施形態は、本発明の好適な実施形態であり、上記実施形態のみに本発明の範囲を限定するものではなく、本発明の要旨を逸脱しない範囲において種々の変更を施した形態での実施が可能である。
【００９５】
すなわち、本実施形態におけるグループ署名システムで実行されるプログラムは、先に述べた各手段（知識証明手段、知識検証手段、知識証明文生成手段、知識証明文検証手段等）を含むモジュール構成となっており、実際のハードウエアを用いて具体的手段を実現する。すなわち、コンピュータ（ＣＰＵ）が所定の記録媒体からプログラムを読み出して実行することにより上記各手段が主記憶装置上にロードされ、知識証明手段、知識検証手段、知識証明文生成手段、知識証明文検証手段等が主記憶装置上に生成される。
【００９６】
本実施形態におけるグループ署名システムで実行されるプログラムは、インターネット等のネットワークに接続されたコンピュータ上に格納され、ネットワーク経由でダウンロードさせることにより提供されるように構成してもよい。また、上記プログラムをインターネット等のネットワーク経由で提供あるいは配布するように構成してもよい。
【００９７】
また、上記プログラムは、インストール可能な形式又は実行可能な形式のファイルで、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ、不揮発性のメモリカード等のコンピュータで読み取り可能な記録媒体に記録されて提供されるように構成してもよい。また、上記プログラムは、ＲＯＭ等にあらかじめ組み込んで提供するように構成してもよい。
【００９８】
この場合、上記記録媒体から読み出された又は通信回線を通じてロードし実行されたプログラムコード自体が前述の実施形態の機能を実現することになる。そして、そのプログラムコードを記録した記録媒体は本発明を構成する。
【００９９】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【０１００】
この出願は、２００８年７月２８日に出願された日本出願特願２００８−１９３４０２を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【符号の説明】
【０１０１】
１００    公開鍵証明書獲得装置
１０１    基盤公開鍵
１０２，２０１，３１６，５０２    乱数
１０４，２１０    証拠
１１８    秘密鍵  
１１９    公開鍵証明書
１２０    項目データ
２００    公開鍵証明書発行装置
２０９    基盤秘密鍵
３００    選択的匿名署名装置
３０１    追跡用公開鍵
３０２    メッセージ
３１３    選択的匿名署名
３１４    開示項目集合
３１５    開示した項目データ
４００    選択的匿名署名検証装置
４０７    正当／不当
５００    追跡装置
５０１    追跡用秘密鍵
６００    グループ署名装置
７００    選択的匿名被認証装置
８００    選択的匿名認証装置
【図１】
2010013699.tif 000003
【図２】
2010013699.tif 000004
【図３】
2010013699.tif 000005
【図４】
2010013699.tif 000006
【図５】
2010013699.tif 000007
【図６】
2010013699.tif 000008
【図７】
2010013699.tif 000009
【図８】
2010013699.tif 000010
【図９】
2010013699.tif 000011
【手続補正書】
【提出日】平成23年1月25日(2011.1.25)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項１７
【補正方法】変更
【補正の内容】
【請求項１７】
公開鍵証明書獲得装置、公開鍵証明書発行装置、署名装置を含んで構成される署名システムに用いられるプログラムであって、
前記公開鍵証明書獲得装置のコンピュータに、項目データ及び前記項目データの各項目に対応する要素である項目鍵を含む基盤公開鍵を入力させ、前記入力したデータと前記公開鍵証明書発行装置からのデータを用いて、項目データを含む公開鍵証明書及び秘密鍵を出力させ、
前記公開鍵証明書発行装置のコンピュータに、項目データの各項目に対応する要素である項目鍵を含む基盤公開鍵を入力させ、前記入力したデータと前記公開鍵証明書獲得装置からのデータを用いて、署名者を識別するために用いる証拠を出力させ、
前記署名装置のコンピュータに、メッセージ、開示する項目を表す開示項目集合、前記公開鍵証明書獲得装置が出力した秘密鍵及び公開鍵証明書を入力させ、前記入力したデータを用いて前記メッセージに対する選択的匿名署名及び前記開示項目集合に属する項目データである開示項目データを出力させる、プログラム。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項１８
【補正方法】変更
【補正の内容】
【請求項１８】
前記公開鍵証明書獲得装置のコンピュータに、
乱数、項目データ、及び前記項目データの各項目に対応する要素である項目鍵を含む基盤公開鍵を入力し、
前記公開鍵証明書発行装置との間で、前記入力した項目データ及び公開鍵証明書の元になる公開鍵証明書源を含むデータの送受信を行い、
前記入力した乱数及び前記受信した前記公開鍵証明書発行装置からのデータを用いて、秘密鍵の知識の証明を前記公開鍵証明書発行装置に対して行い、
前記秘密鍵の知識の証明が行われた後、項目データを含む公開鍵証明書及び秘密鍵を出力する、
ことを実行させる、請求項１７に記載のプログラム。
【手続補正３】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項１９
【補正方法】変更
【補正の内容】
【請求項１９】
前記公開鍵証明書発行装置のコンピュータに、
乱数、公開鍵証明書の元になる公開鍵証明書源の生成に用いられる基盤秘密鍵、及び項目データの各項目に対応する要素である項目鍵を含む基盤公開鍵を入力し、
前記公開鍵証明書獲得装置との間で、前記公開鍵証明書獲得装置で入力された項目データ及び前記公開鍵証明書源を含むデータの送受信を行い、
前記入力した乱数及び前記受信した前記公開鍵証明書獲得装置からのデータを用いて、前記公開鍵証明書獲得装置が秘密鍵の知識を保有することを検証し、
署名者を識別するために用いる証拠及び項目データを出力することを実行させる、請求項１７又は１８に記載のプログラム。
【手続補正４】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項２０
【補正方法】変更
【補正の内容】
【請求項２０】
前記署名装置のコンピュータに、
メッセージ、開示する項目を表す開示項目集合、秘密鍵、項目データを含む公開鍵証明書、前記項目データの各項目に対応する要素である項目鍵を含む基盤公開鍵を入力し、
前記入力した秘密鍵及び公開鍵証明書を用いて、前記開示項目集合に属する項目データである開示項目データを除いたデータに関する知識の証明文を生成し、
前記メッセージに対する選択的匿名署名及び前記開示項目データを出力することを実行させる、請求項１７から１９のいずれか１項に記載のプログラム。
【国際調査報告】
2010013699.tif 000012
2010013699.tif 000013
2010013699.tif 000014
2010013699.tif 000015