(57)【特許請求の範囲】
【請求項１】
認証局公開鍵、匿名認証証明書、署名鍵、文書および属性証明集合、属性公開鍵の入力を受け付ける手段と、
入力された前記属性証明集合および前記属性公開鍵から、属性集合表現値を生成する属性集合表現値生成手段と、
前記属性証明集合から、属性集合表現鍵を生成する属性集合表現鍵生成手段と、
入力された前記認証局公開鍵、前記匿名認証証明書、前記署名鍵、前記文書と、前記属性集合表現値生成手段が生成した前記属性集合表現値および前記属性集合表現鍵生成手段が生成した前記属性集合表現鍵から非対話的ゼロ知識証明を生成する非対話的ゼロ知識証明生成手段と、
前記非対話的ゼロ知識証明を前記署名データとして出力する署名出力手段とを有することを特徴とする署名装置。
【請求項２】
前記属性証明集合は、属性と属性鍵の組の集合であり、
前記属性公開鍵は、一度に開示できる属性の数に比例する個数の巡回群の要素からなり、
前記属性集合表現値は、前記属性公開鍵の各要素に、前記属性証明集合に含まれる属性の値から計算される係数を乗じた後に、これらの結果を足し合わせたものであり、
前記属性集合表現鍵は、前記属性証明集合に含まれる属性鍵の各要素に、前記属性証明集合に含まれる属性の値から計算される係数を乗じた後に、これらの結果を足し合わせたものであることを特徴とする、請求項１に記載の署名装置。
【請求項３】
入力された乱数、追跡公開鍵、認証局公開鍵および前記署名鍵から、追跡用暗号文を生成する追跡用暗号文生成手段を備え、
前記非対話的ゼロ知識証明生成手段は、前記認証局公開鍵、前記匿名認証証明書、前記署名鍵、前記文書、前記属性集合表現値、前記属性集合表現鍵と、前記追跡用暗号文および前記乱数から前記非対話的ゼロ知識証明を生成することを特徴とする、請求項１もしくは２に記載の署名装置。
【請求項４】
入力された前記認証局公開鍵、連携識別子を生成するか否かを示す判断子、連携文字列から連携識別子を生成する連携識別子生成手段を備え、
前記非対話的ゼロ知識証明生成手段は、前記認証局公開鍵、前記匿名認証証明書、前記署名鍵、前記文書、前記属性集合表現値、前記属性集合表現鍵と、前記連記文字列、前記連携識別子、および前記乱数から前記非対話的ゼロ知識証明を生成することを特徴とする、請求項１もしくは２に記載の署名装置。
【請求項５】
認証局公開鍵、属性公開鍵、属性、文書、および非対話的ゼロ知識証明を含む署名データの入力を受け付ける手段と、
入力された前記属性および前記属性公開鍵から属性集合表現値を生成する属性集合表現値生成手段と、
前記認証局公開鍵、前記文書、および前記属性集合表現値生成手段が生成した前記属性集合表現値から、前記署名データが前記属性を開示した下での前記文書に対する正当な署名であるか否かを判断してその結果を出力する非対話的ゼロ知識証明検証手段とを有することを特徴とする署名検証装置。
【請求項６】
前記属性公開鍵は、一度に開示できる属性の数に比例する数の複数個の巡回群の要素からなり、
前記属性集合表現値は、前記属性公開鍵の各要素に属性の値から計算される係数を乗じた後に、これらの結果を足し合わせたものであることを特徴とする、請求項５に記載の署名検証装置。
【請求項７】
前記非対話的ゼロ知識証明検証手段が、前記認証局公開鍵、前記属性集合表現値、前記文書と、追跡公開鍵、および追跡用暗号文から、前記署名データが前記文書に対する正当な署名であるか否かを判断することを特徴とする、請求項５もしくは６に記載の署名検証装置。
【請求項８】
連携識別子、連携文字列および連携識別子を生成するか否かを示す判断子が入力され、前記判断子の値に応じて前記連携識別子および前記連携文字列を前記非対話的ゼロ知識証明検証手段に入力する連携識別子・文字列入力手段を備え、
前記非対話的ゼロ知識証明検証手段が、前記認証局公開鍵、前記属性集合表現値、前記文書と、前記連携識別子および前記連携文字列から、前記署名データが前記文書に対する正当な署名であるか否かを判断することを特徴とする、請求項５もしくは６に記載の署名検証装置。
【請求項９】
認証局公開鍵、匿名認証証明書、署名鍵、文書および属性証明集合、属性公開鍵の入力を受け付ける手段と、
前記属性証明集合および前記属性公開鍵から、属性集合表現値を生成する属性集合表現値生成手段と、
前記属性証明集合から、属性集合表現鍵を生成する属性集合表現鍵生成手段と、
前記認証局公開鍵、前記匿名認証証明書、前記署名鍵、前記文書と、前記属性集合表現値生成手段が生成した前記属性集合表現値および前記属性集合表現鍵生成手段が生成した前記属性集合表現鍵から非対話的ゼロ知識証明を生成する非対話的ゼロ知識証明生成手段と、
前記非対話的ゼロ知識証明を前記署名データとして出力する署名出力手段とを有することを特徴とする署名装置と、
認証局公開鍵、属性公開鍵、属性、文書、および非対話的ゼロ知識証明を含む署名データの入力を受け付ける手段と、
前記属性および前記属性公開鍵から属性集合表現値を生成する属性集合表現値生成手段と、
前記認証局公開鍵、前記文書、および前記属性集合表現値生成手段が生成した前記属性集合表現値から、前記署名データが前記属性を開示した下での前記文書に対する正当な署名であるか否かを判断してその結果を出力する非対話的ゼロ知識証明検証手段とを有することを特徴とする署名検証装置と、
を含む匿名認証システム。
【請求項１０】
前記署名装置および署名検証装置と相互に接続された認証局装置を有し、
前記認証局装置が、
入力された前記認証局公開鍵、属性秘密鍵、前記属性公開鍵と、メンバーリスト、署名者情報と属性から、属性証明を生成する属性追加部と、
入力された前記認証局公開鍵、前記属性公開鍵、前記属性証明から、拒否あるいは受理を表すデータを出力する属性獲得部とを有することを特徴とする、請求項９に記載の匿名認証システム。
【請求項１１】
前記署名装置が、入力された乱数、追跡公開鍵、認証局公開鍵および前記署名鍵から、追跡用暗号文を生成する追跡用暗号文生成手段を備えると共に、前記非対話的ゼロ知識証明生成手段が、前記認証局公開鍵、前記匿名認証証明書、前記署名鍵、前記文書、前記属性集合表現値、前記属性集合表現鍵と、前記追跡用暗号文および前記乱数から前記非対話的ゼロ知識証明を生成し、
前記署名検証装置の前記非対話的ゼロ知識証明検証手段が、前記認証局公開鍵、前記属性集合表現値、前記文書と、前記追跡公開鍵、および追跡用暗号文から、前記署名データが前記文書に対する正当な署名であるか否かを判断し、
前記認証局装置が、
前記認証局公開鍵、前記属性公開鍵、前記追跡秘密鍵、前記追跡公開鍵と、前記メンバーリスト、前記署名、属性、およびメッセージから、前記署名者情報を生成する追跡部と、
認証局秘密鍵、前記認証局公開鍵、前記メンバーリスト、および前記署名者情報の一部から、失効情報を生成する失効部と、
前記認証局公開鍵、前記属性公開鍵、前記署名鍵、前記匿名認証証明書および前記失効情報から、前記匿名認証証明書を更新する鍵更新部とを有することを特徴とする、請求項１０に記載の匿名認証システム。
【請求項１２】
入力を受け付ける手段が、認証局公開鍵、匿名認証証明書、署名鍵、文書および属性証明集合、属性公開鍵の入力を受け付け、
属性集合表現値生成手段が、前記属性証明集合および前記属性公開鍵から属性集合表現値を生成し、
属性集合表現鍵生成手段が、前記属性証明集合から属性集合表現鍵を生成し、
非対話的ゼロ知識証明生成手段が、前記認証局公開鍵、前記匿名認証証明書、前記署名鍵、前記文書と、生成した前記属性集合表現値および前記属性集合表現鍵から非対話的ゼロ知識証明を生成し、
署名出力手段が、この非対話的ゼロ知識証明を前記署名データとして出力する処理を、プログラムによる制御によって、前記入力を受け付ける手段と、前記属性集合表現値生成手段と、前記属性集合表現鍵生成手段と、前記非対話的ゼロ知識証明生成手段と、前記署名出力手段として動作するコンピュータに行わせることを特徴とする署名方法。
【請求項１３】
入力を受け付ける手段が、認証局公開鍵、属性公開鍵、属性、文書、および非対話的ゼロ知識証明を含む署名データの入力を受け付け、
属性集合表現値生成手段が、前記属性および前記属性公開鍵から属性集合表現値を生成し、
非対話的ゼロ知識証明検証手段が、前記認証局公開鍵、前記文書、および生成した前記属性集合表現値から、前記署名データが前記属性を開示した下での前記文書に対する正当な署名であるか否かを判断してその結果を出力する処理を、プログラムによる制御によって、前記入力を受け付ける手段と、前記属性集合表現値生成手段と、前記非対話的ゼロ知識証明検証手段として動作するコンピュータに行わせることを特徴とする署名検証方法。
【請求項１４】
コンピュータを、
認証局公開鍵、匿名認証証明書、署名鍵、文書および属性証明集合、属性公開鍵の入力を受け付ける手段と、
前記属性証明集合および前記属性公開鍵から属性集合表現値を生成する属性集合表現値生成手段と、
前記属性証明集合から属性集合表現鍵を生成する属性集合表現鍵生成手段と、
前記認証局公開鍵、前記匿名認証証明書、前記署名鍵、前記文書と、生成した前記属性集合表現値および前記属性集合表現鍵から非対話的ゼロ知識証明を生成する非対話的ゼロ知識証明生成手段と、
生成した前記非対話的ゼロ知識証明を前記署名データとして出力する署名出力手段として動作させることを特徴とする署名プログラム。
【請求項１５】
コンピュータを、
認証局公開鍵、属性公開鍵、属性、文書、および非対話的ゼロ知識証明を含む署名データの入力を受け付ける手段と、
前記属性および前記属性公開鍵から属性集合表現値を生成する属性集合表現値生成手段と、
前記認証局公開鍵、前記文書、および生成した前記属性集合表現値から、前記署名データが前記属性を開示した下での前記文書に対する正当な署名であるか否かを判断し、判断した結果を出力する非対話的ゼロ知識証明検証手段として動作させることを特徴とする署名検証プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は匿名認証技術に関し、特に署名装置、署名検証装置、匿名認証システムに関する。
【背景技術】
【０００２】
匿名認証とは、複数の属性を持つ匿名認証証明書と、これにより裏付けられた署名鍵とを認証局から与えられて所持するユーザ（署名者）が、これらを利用して与えられた文書に対して匿名認証証明書の属性を一部開示する署名を生成することができるという技術である。この署名からは開示された属性と、署名がある匿名認証証明書に基づく署名鍵で生成されたことしか分からない。
この匿名認証技術を利用すれば、たとえばオンラインショップなどで、ユーザが事業者に対して署名を開示しさえすれば、クレジットカード番号などの重要な個人情報を事業者に対して明かすことなくサービスを利用することが可能である。事業者はこの署名から該ユーザの個人情報を知ることはできないが、その認証局（カード会社など）から認証を受けたメンバーであると知ることはできるので、安心して該ユーザにサービスを提供でき、その認証局を通じて安全に利用代金を回収することができる。
ユーザは、個人情報の漏洩などに対して敏感になっているので、事業者に対して開示する個人情報をできるだけ少なくしようとしている。また事業者は、個人情報の管理にかかるコストが増大しているので、保有するユーザの個人情報をできるだけ少なくしようとしている。そのため、匿名認証技術は、ユーザと事業者の両方に対して有用な個人情報の利用方法を提供することができるものとして期待されている。
非特許文献１に記載された既存の匿名認証署名方式について説明する。図９は、この方式の中心的な要素である署名装置５００の構成について示す説明図である。図１０は、同じく中心的な要素である署名検証装置６００の構成について示す説明図である。
ｐは、ある素数であり、無作為に選ばれた体（Ｚ／ｐＺ）の元γは、認証秘密鍵であると設定する。公開変数は、自然数Ｎと、素数ｐと、位数ｐである群１（Ｇｒｏｕｐ  １）と群２（Ｇｒｏｕｐ  ２）と群Ｔ（Ｇｒｏｕｐ  Ｔ）と、群１と群２から群Ｔへの双線形写像ｅと、群２から群１への同型写像πと、文字列を体（Ｚ／ｐＺ）へと写像するハッシュ関数Ｈａｓｈとを記述する文字列を含む。さらに、公開変数は、群２の生成子ｇ［２］と、π（ｇ［２］）＝ｇ［１］となる群１の生成子ｇ［１］と、ハッシュ関数の出力から生成された群２の元ｈ、ｈ［１］，…，ｈ［Ｎ］とを含む。また、認証局公開鍵ｙは、ｙ＝ｇ［１］γと設定する。
署名者の属性はＮ個のＺ／ｐＺの要素からなる。今、ある署名者Ｓのそれを、θ［１］，…，θ［Ｎ］と表現する。この署名者の匿名認証証明書と署名鍵は、署名者と認証局が通信回線を用いて対話して生成されるのであるが、これは数１に示す関係を満たす匿名認証証明書（ａ、ω）および署名鍵ξである（ａ∈群２、ω∈Ｚ／ｐＺ、ξ∈Ｚ／ｐＺ）。
【数１】
0005488596.tif 000002
図９に示す署名装置５００は、非対話的ゼロ知識証明生成手段５０１を有する。非対話的ゼロ知識証明生成手段５０１には、署名をする文書ｍと、認証局公開鍵ｙ＝ｇ［１］γと、署名鍵ξと、匿名認証証明書（ａ、ω）と、署名者が所持する全ての属性θ［１］，…，θ［Ｎ］と、どの属性を開示するかの情報である集合Ｏ∈｛１，…，Ｎ｝と、乱数とが外部から入力される。
これらの入力に対して、非対話的ゼロ知識証明生成手段５０１は、ｇ［１］、ｇ［２］、ｈ、ｈ［ｉ］、θ［ｉ］、ｙに対して、数２に示す関係を満たす知識の非対話的ゼロ知識証明ｐｒｆを生成する。このｐｒｆが選択的属性開示署名（署名）である。
【数２】
0005488596.tif 000003
図１０に示す署名検証装置６００は、非対話的ゼロ知識証明検証手段６０１を有する。非対話的ゼロ知識証明検証手段６０１には、認証局公開鍵ｙ＝ｇ［１］γ、ｇ［１］、ｇ［２］、ｈ、ｈ［ｉ］（ｉ＝１，…，Ｎ）、開示された属性θ［ｉ］（ｉ∈Ｏ）、文書ｍ、署名ｐｒｆが入力される。
これらの入力に対して、非対話的ゼロ知識証明検証手段６０１は、非対話的ゼロ知識証明である署名ｐｒｆが、数３に示す関係を満たす知識の非対話的ゼロ知識証明であるか否かを示す受理／不受理信号を出力する。
【数３】
0005488596.tif 000004
この技術に関連して、次の特許文献が開示されている。特許文献１は、鍵利用者があらかじめ登録した条件に基づいて、その鍵を非利用者も利用できるようにしたという電子署名代行方法を記載している。特許文献２は、正規の公開鍵から匿名公開鍵を作成し、この匿名公開鍵と正規の秘密鍵とから認証を行うという匿名認証技術を記載している。特許文献３は、公開鍵と共に属性証明書、有効性証明書、タイムスタンプなどを利用して、認証に係る認証局の負担を減らすというデジタル署名技術を記載している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−３４１７６２号公報
【特許文献２】特開２００５−０６４７９１号公報
【特許文献３】特開２００６−１０８９１７号公報
【非特許文献】
【０００４】
【非特許文献１】Ｍａｎ  Ｈｏ  Ａｕ，Ｗｉｌｌｙ  Ｓｕｓｉｌｏ，Ｙｉ  Ｍｕ：Ｃｏｎｓｔａｎｔ−Ｓｉｚｅ  Ｄｙｎａｍｉｃ  ｋ−ＴＡＡ．Ｓｅｃｕｒｉｔｙ  ａｎｄ  Ｃｒｙｐｔｏｇｒａｐｈｙ  ｆｏｒ  Ｎｅｔｗｏｒｋｓ，５ｔｈ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ，ＳＣＮ  ２００６，Ｍａｉｏｒｉ，Ｉｔａｌｙ，Ｓｅｐｔｅｍｂｅｒ  ６−８，２００６，Ｐｒｏｃｅｅｄｉｎｇｓ（ＳＣＮ）ｐｐ．１１１−１２５，Ｓｐｒｉｎｇｅｒ，Ｌｅｃｔｕｒｅ  Ｎｏｔｅｓ  ｉｎ  Ｃｏｍｐｕｔｅｒ  Ｓｃｉｅｎｃｅ，ｖｏｌｕｍｅ  ４１１６，ＩＳＢＮ  ３−５４０−３８０８０−９．
【発明の概要】
【発明が解決しようとする課題】
【０００５】
前述の匿名認証技術は、署名者が持つことのできる属性の数をあらかじめ限定している。これは、匿名認証証明書が生成された時点でＮ個の属性が固定されることを意味し、また、このＮ個を越える新たな属性を獲得することができないことを意味する。すなわち、新たな属性を獲得するためには、従来の匿名認証証明書を一旦失効し、新たに匿名認証証明書を発行する必要がある。この失効処理は、公開鍵に影響を与え、他の署名者にも処理を課すため頻繁に実行することはできない。
しかしながら、実社会の一員である署名者に、有効期限付の属性を付与し、期限に至るとさらに次の有効期限までの属性をさらに付与すると言う処理は、たとえば署名者が新たなクレジットカードに加入する、そのクレジットカードの有効期限を更新するなどのように、実社会においては頻繁に発生しうる。これらの処理を迅速に行うためには署名者の持つ属性の追加が容易であることが必要であるが、前述の匿名認証技術では属性の追加が難しいので、そのような頻繁に発生しうる処理に対して利便性に欠けている。
また、前述の匿名認証技術は、開示しない属性それぞれの知識をゼロ知識によって証明するので、それぞれの属性に対応する証明に必要なデータと計算それぞれが重なり、選択属性開示署名の長さが長くなる。このため、選択属性開示署名の長さが開示しない属性に比例することになるので、処理に必要な計算量も大きくなる。これは、大きなＮを選び、頻繁に用いない属性も全て取り込んだ匿名認証証明書を保持し、少数の必要な属性だけを開示する選択属性開示署名を生成するという運用が、非効率的であるということを意味する。
以上で示した問題点を解決しうる構成は、前述の非特許文献１、および特許文献１〜３には記載されていない。
本発明の目的は、署名者が任意の個数の属性を持つことができ、かつ署名の長さが開示しない属性の個数や開示する個数に影響を受けない匿名認証証明書を発行することを可能とする署名装置、署名検証装置、匿名認証システム、署名方法、署名検証方法およびそれらのプログラムを提供することにある。
【課題を解決するための手段】
【０００６】
本発明の署名装置は、認証局公開鍵、匿名認証証明書、署名鍵、文書および属性証明集合、属性公開鍵の入力を受け付ける手段と、入力された前記属性証明集合および前記属性公開鍵から、属性集合表現値を生成する属性集合表現値生成手段と、前記属性証明集合から、属性集合表現鍵を生成する属性集合表現鍵生成手段と、入力された前記認証局公開鍵、前記匿名認証証明書、前記署名鍵、前記文書と、前記属性集合表現値生成手段が生成した前記属性集合表現値および前記属性集合表現鍵生成手段が生成した前記属性集合表現鍵から非対話的ゼロ知識証明を生成する非対話的ゼロ知識証明生成手段と、前記非対話的ゼロ知識証明を前記署名データとして出力する署名出力手段とを有することを特徴とする。
本発明の署名検証装置は、認証局公開鍵、属性公開鍵、属性、文書、および非対話的ゼロ知識証明を含む署名データの入力を受け付ける手段と、入力された前記属性および前記属性公開鍵から属性集合表現値を生成する属性集合表現値生成手段と、前記認証局公開鍵、前記文書、および前記属性集合表現値生成手段が生成した前記属性集合表現値から、前記署名データが前記属性を開示した下での前記文書に対する正当な署名であるか否かを判断してその結果を出力する非対話的ゼロ知識証明検証手段とを有することを特徴とする。
本発明の匿名認証システムは、認証局公開鍵、匿名認証証明書、署名鍵、文書および属性証明集合、属性公開鍵の入力を受け付ける手段と、前記属性証明集合および前記属性公開鍵から、属性集合表現値を生成する属性集合表現値生成手段と、前記属性証明集合から、属性集合表現鍵を生成する属性集合表現鍵生成手段と、前記認証局公開鍵、前記匿名認証証明書、前記署名鍵、前記文書と、前記属性集合表現値生成手段が生成した前記属性集合表現値および前記属性集合表現鍵生成手段が生成した前記属性集合表現鍵から非対話的ゼロ知識証明を生成する非対話的ゼロ知識証明生成手段と、前記非対話的ゼロ知識証明を前記署名データとして出力する署名出力手段とを有することを特徴とする署名装置と、認証局公開鍵、属性公開鍵、属性、文書、および非対話的ゼロ知識証明を含む署名データの入力を受け付ける手段と、前記属性および前記属性公開鍵から属性集合表現値を生成する属性集合表現値生成手段と、前記認証局公開鍵、前記文書、および前記属性集合表現値生成手段が生成した前記属性集合表現値から、前記署名データが前記属性を開示した下での前記文書に対する正当な署名であるか否かを判断してその結果を出力する非対話的ゼロ知識証明検証手段とを有することを特徴とする署名検証装置と、を含む。
本発明の署名方法は、認証局公開鍵、匿名認証証明書、署名鍵、文書および属性証明集合、属性公開鍵の入力を受け付け、前記属性証明集合および前記属性公開鍵から属性集合表現値を生成し、前記属性証明集合から属性集合表現鍵を生成し、前記認証局公開鍵、前記匿名認証証明書、前記署名鍵、前記文書と、生成した前記属性集合表現値および前記属性集合表現鍵から非対話的ゼロ知識証明を生成し、この非対話的ゼロ知識証明を前記署名データとして出力する処理をコンピュータに行わせることを特徴とする。
認証局公開鍵、属性公開鍵、属性、文書、および非対話的ゼロ知識証明を含む署名データの入力を受け付け、
前記属性および前記属性公開鍵から属性集合表現値を生成し、
前記認証局公開鍵、前記文書、および生成した前記属性集合表現値から、前記署名データが前記属性を開示した下での前記文書に対する正当な署名であるか否かを判断してその結果を出力する処理をコンピュータに行わせることを特徴とする署名検証方法。
本発明の署名プログラムは、コンピュータに、認証局公開鍵、匿名認証証明書、署名鍵、文書および属性証明集合、属性公開鍵の入力を受け付ける手順と、前記属性証明集合および前記属性公開鍵から属性集合表現値を生成する手順と、前記属性証明集合から属性集合表現鍵を生成する手順と、前記認証局公開鍵、前記匿名認証証明書、前記署名鍵、前記文書と、生成した前記属性集合表現値および前記属性集合表現鍵から非対話的ゼロ知識証明を生成する手順と、生成した前記非対話的ゼロ知識証明を前記署名データとして出力する手順とを実行させることを特徴とする。
本発明の署名検証プログラムは、コンピュータに、認証局公開鍵、属性公開鍵、属性、文書、および非対話的ゼロ知識証明を含む署名データの入力を受け付ける手順と、前記属性および前記属性公開鍵から属性集合表現値を生成する手順と、前記認証局公開鍵、前記文書、および生成した前記属性集合表現値から、前記署名データが前記属性を開示した下での前記文書に対する正当な署名であるか否かを判断し、判断した結果を出力する手順とを実行させることを特徴とする。
【発明の効果】
【０００７】
本発明は、上述したように全ての属性に対してただ１つの公開鍵を割り当て、各属性に対応する匿名認証証明書から非対話的ゼロ知識証明を生成して署名データとして出力するように構成したので、公開鍵は１つのみで済み、かつこの非対話的ゼロ知識証明のデータが各属性に対応する値を含まないものとなる。これによって、署名者が任意の個数の属性を持つことができ、かつ署名の長さが開示しない属性の個数や開示する個数に影響を受けない匿名認証証明書を発行することを可能であるという特徴を持つ署名装置、署名検証装置、匿名認証システム、署名方法、署名検証方法およびそれらのプログラムを提供することができる。
【図面の簡単な説明】
【０００８】
【図１】本発明の実施形態に係る匿名認証システム全体の構成を示す説明図である。
【図２】図１で示した署名者装置、事業者装置、および認証局装置の、ハードウェアとしての概略的な構成を示す説明図である。
【図３】図１で示した署名者装置、事業者装置、および認証局装置が備える各動作部の概略的な構成を示す説明図である。
【図４】図１および図３で示した署名装置のより詳しい構成を示す説明図である。
【図５】図４で示した署名装置の動作を示すフローチャートである。
【図６】図１および図３で示した署名検証装置のより詳しい構成を示す説明図である。
【図７】図６で示した署名検証装置の動作を示すフローチャートである。
【図８】図１および図３で示した匿名認証システムの各動作部の動作に係る構成を示す説明図である。
【図９】非特許文献１に記載された既存の匿名認証署名方式に係る署名装置の構成について示す説明図である。
【図１０】非特許文献１に記載された既存の匿名認証署名方式に係る署名検証装置の構成について示す説明図である。
【符号の説明】
【０００９】
１  匿名認証システム
１０  署名者装置
２０  事業者装置
３０  認証局装置
４０  ネットワーク
１００  コンピュータ装置
１１、２１、３１、１０１  ＣＰＵ
１０２  ＲＡＭ
３２、１０３  ＨＤＤ
１０４  ＮＩＣ
２００  選択的属性開示署名部
２０１  属性集合表現値生成手段
２０２  属性集合表現鍵生成手段
２０３  追跡用暗号文生成手段
２０４  連携識別子生成手段
２０５  非対話的ゼロ知識証明生成手段
２０６  署名出力手段
２１０  署名装置
３００  選択的属性開示署名検証部
３０１  属性集合表現値生成手段
３０２  連携識別子・文字列入力手段
３０３  非対話的ゼロ知識証明検証手段
３１０  署名検証装置
４１０  属性追加部
４２０  属性獲得部
４３０  追跡部
４４０  失効部
４５０  鍵更新部
４６０  メンバーリストＬ
【発明を実施するための形態】
【００１０】
（実施形態）
以下、本発明の実施形態の構成について添付図１〜４、６、８に基づいて説明する。
最初に、本実施形態の基本的な内容について説明し、その後でより具体的な内容について説明する。
まず、本実施形態に係る署名装置（たとえば、図３における匿名認証システム１の署名装置２１０）は、認証局公開鍵、匿名認証証明書、署名鍵、文書および属性証明集合、属性公開鍵の入力を受け付け、そこから署名データを生成する。この署名装置２１０は、たとえば、図４に示すように、選択的属性開示署名部２００で構成される。この場合、署名装置２１０（選択的属性開示署名部２００）は、属性集合表現値生成部２０１と、属性集合表現鍵生成部２０２と、非対話的ゼロ知識証明生成部２０５と、署名出力部２０６とを含む。属性集合表現値生成部２０１は、入力された属性証明集合および属性公開鍵から、属性集合表現値を生成する。属性集合表現鍵生成部２０２は、入力された属性証明集合から、属性集合表現鍵を生成する。非対話的ゼロ知識証明生成部２０５は、入力された認証局公開鍵、匿名認証証明書、署名鍵、文書と、生成した属性集合表現値および属性集合表現鍵から非対話的ゼロ知識証明（ｎｏｎ−ｉｎｔｅｒａｃｔｉｖｅ  ｚｅｒｏ−ｋｎｏｗｌｅｄｇｅ  ｐｒｏｏｆ）を生成する。署名出力部２０６は、非対話的ゼロ知識証明を署名データとして出力する。
詳細は後述するが、ここで、属性証明集合は、開示する属性と該属性に対応する属性鍵の組の集合である。属性公開鍵は、一度に開示できる属性の数に比例する個数の巡回群の要素からなる。属性集合表現値は、属性公開鍵の各要素に、属性証明集合に含まれる属性の値から計算される係数を乗じた後に、これらの結果を足し合わせたものである。属性集合表現鍵は、属性証明集合に含まれる属性鍵の各要素に、属性証明集合に含まれる属性の値から計算される係数を乗じた後に、これらの結果を足し合わせたものである。
署名装置２１０はさらに、入力された乱数、追跡公開鍵、認証局公開鍵および署名鍵から、追跡用暗号文を生成する追跡用暗号文生成部２０３を備えてもよい。この場合、非対話的ゼロ知識証明生成部は、認証局公開鍵、匿名認証証明書、署名鍵、文書、属性集合表現値、属性集合表現鍵と、追跡用暗号文および乱数から非対話的ゼロ知識証明を生成する。
また、署名装置２１０は、入力された認証局公開鍵、連携識別子を生成するか否かを示す判断子、連携文字列から連携識別子を生成する連携識別子生成部２０４を備えてもよい。この場合、非対話的ゼロ知識証明生成部は、認証局公開鍵、匿名認証証明書、署名鍵、文書、属性集合表現値、属性集合表現鍵と、連記文字列、連携識別子、および乱数から非対話的ゼロ知識証明を生成する。
続いて、本実施形態に係る署名検証装置（たとえば、図３における匿名認証システム１における署名検証装置３１０）は、認証局公開鍵、属性公開鍵、属性、文書、および非対話的ゼロ知識証明を含む署名データの入力を受け付け、そこから署名データが正当であるか否かを検証してその結果を出力する。この署名検証装置３１０は、たとえば、図６に示すように、選択的属性開示署名検証部３００で構成される。この場合、署名検証装置３１０（選択的属性開示署名検証部３００）は、属性集合表現値生成部３０１と、非対話的ゼロ知識証明検証部３０３とを含む。属性集合表現値生成部３０１は、入力された属性および属性公開鍵から属性集合表現値を生成する。非対話的ゼロ知識証明検証部３０３は、認証局公開鍵、属性集合表現値、および文書から、署名データが属性を開示した下での文書に対する正当な署名であるか否かを判断してその結果を出力する。
前述したように、属性公開鍵は、一度に開示できる属性の数に比例する数の複数個の巡回群の要素からなり、属性集合表現値は、属性公開鍵の各要素に属性の値から計算される係数を乗じた後に、これらの結果を足し合わせたものである。
非対話的ゼロ知識証明検証部３０３は、認証局公開鍵、属性集合表現値、文書と、追跡公開鍵、および追跡用暗号文から、署名データが文書に対する正当な署名であるか否かを判断する。
そして、署名検証装置３１０（図６の選択的属性開示署名検証部３００）は、連携識別子・文字列入力部３０２を備える。連携識別子・文字列入力部３０２は、連携識別子、連携文字列および連携識別子を生成するか否かを示す判断子を入力し、その判断子の値に応じて連携識別子および連携文字列を非対話的ゼロ知識証明検証部３０３に出力する。この場合、非対話的ゼロ知識証明検証部３０３は、認証局公開鍵、属性集合表現値、文書と、連携識別子および連携文字列から、署名データが文書に対する正当な署名であるか否かを判断する。
図３に示すように、本実施形態に係る匿名認証システム１は、前述したように、署名装置２１０と、署名検証装置３１０とを備える。前述したように、署名装置２１０は、認証局公開鍵、匿名認証証明書、署名鍵、文書および属性証明集合、属性公開鍵についての入力を受け付け、そこから署名データを生成する。署名検証装置３１０は、認証局公開鍵、属性公開鍵、属性、文書、および署名装置２１０署名データの入力を受け付け、そこから署名データが正当であるか否かを検証してその結果を出力する。
匿名認証システム１はさらに、署名装置２１０および署名検証装置３１０と相互に接続された認証局装置３０を備えても良い。この認証局装置３０は、図８に示すように、属性追加部４１０と、属性獲得部４２０とを含む。属性追加部４１０は、入力された認証局公開鍵、属性秘密鍵、属性公開鍵と、メンバーリスト、署名者情報と属性から、属性証明を生成する。属性獲得部４２０は、入力された認証局公開鍵、属性公開鍵、属性証明から、拒否あるいは受理を表すデータを出力する。
そして匿名認証システム１の署名装置２１０は、入力された乱数、追跡公開鍵、認証局公開鍵および署名鍵から、追跡用暗号文を生成する追跡用暗号文生成部２０３を備えるてもよい。この場合、非対話的ゼロ知識証明生成部２０５は、認証局公開鍵、匿名認証証明書、署名鍵、文書、属性集合表現値、属性集合表現鍵と、追跡用暗号文および乱数から非対話的ゼロ知識証明を生成する。また、署名検証装置３１０の非対話的ゼロ知識証明検証部３０３は、認証局公開鍵、属性集合表現値、文書と、追跡公開鍵、および追跡用暗号文から、署名データが文書に対する正当な署名であるか否かを判断する。また、認証局装置３０は、追跡部４３０と、失効部４４０と、鍵更新部４５０とを含む。追跡部４３０は、認証局公開鍵、属性公開鍵、追跡秘密鍵、追跡公開鍵と、メンバーリスト、署名、属性、およびメッセージから、署名者情報を生成する。失効部４４０は、認証局秘密鍵、認証局公開鍵、メンバーリスト、および署名者情報の一部から、失効情報を生成する。鍵更新部４５０は、認証局公開鍵、属性公開鍵、署名鍵、匿名認証証明書および失効情報から、匿名認証証明書を更新する。
以上の構成を備えることにより、匿名認証システム１は署名者が任意の個数の属性を持つことができ、かつ署名の長さが開示しない属性の個数や開示する個数に影響を受けない匿名認証証明書を発行することが可能となる。
以下、これをより詳細に説明する。
（本実施形態の基本動作）
以下、本明細書では、ｐは素数であり、Ｎは自然数である。群１（Ｇｒｏｕｐ  １）と群２（Ｇｒｏｕｐ  ２）と群Ｔと群Ｅは、それぞれ位数ｐの群であり、群１と群２から群Ｔへの双線形写像ｅが存在する。群Ｅは、素体上の乗法群や、一般の楕円曲線等でディフィヘルマン判別問題を解くことが困難な群である。πは、群２から群１への同型写像である。
Ｈａｓｈは文字列を体（Ｚ／ｐＺ）へと写像するハッシュ関数である。Ｈａｓｈ［Ｅ］は文字列から群Ｅへのハッシュ関数である。ｇ［２］は群２の生成子、ｇ［１］はπ（ｇ［２］）＝ｇ［１］となる群１の生成子である。ｇは群Ｅの生成子である。ｆ、ｈはランダムに選ばれた群１の元である。公開変数ｐａｒａｍは、ｐ、Ｎと、群１、群２、群Ｔ、双線形写像ｅ、同型写像π、文字列からＺ／ｐＺへのハッシュ関数Ｈａｓｈ、文字列から群Ｅへのハッシュ関数Ｈａｓｈ［Ｅ］を記述する文字列と、ｇ［１］、ｇ［２］、ｇ、ｆ、ｈである。
認証局秘密鍵φは、ランダムに選ばれた体Ｚ／ｐＺの元である。認証局公開鍵は、ｙ＝ｇ［２］φである。ψはランダムに選ばれたＺ／ｐＺの元である。ｄはランダムに選ばれた群１の元である。ｉ＝１，…，Ｎに関して、ψ［ｉ］＝ψｉ、ｚ［ｉ］＝ｇ［２］ψ［ｉ］が成立する。属性秘密鍵がψ、属性公開鍵がｄ、ｚ［ｉ］（ｉ＝１，…，Ｎ）である。
σおよびτは、無作為に選ばれた体Ｚ／ｐＺ上の２点である。また、ｓとｔは各々、ｓ＝ｇσ、ｔ＝ｇτであるとする。追跡秘密鍵を（σ、τ）、追跡公開鍵を（ｓ、ｔ）と各々定義する。
それぞれの署名者は、ランダムに選ばれた署名鍵ξ∈Ｚ／ｐＺと、数４を満たす匿名認証証明書（ａ、ω、η）と、数５を満たす識別子ｑとを、予め認証局から与えられている。
【数４】
0005488596.tif 000005
【数５】
0005488596.tif 000006
また、識別者毎に、署名者情報（ｑ、ω）、属性証明集合ａｔｔｒが生成され、後述のメンバーリストＬに格納される。属性証明集合ａｔｔｒの初期値は空集合である。
（匿名認証システム）
図１は、本発明の実施形態に係る匿名認証システム１全体の構成の例を示す説明図である。匿名認証システム１は、署名者装置１０と、事業者装置２０と、認証局装置３０とが、ネットワーク４０を介して相互に接続されて構成される。署名者装置１０は、ユーザである署名者が操作するコンピュータ装置である。事業者装置２０は、署名者から受け取った匿名認証証明書および署名鍵からこの署名が正当なものであるかを検証しようとする事業者が備えるコンピュータ装置である。認証局装置３０は、署名者に対して匿名認証証明書および署名鍵を発行した認証局が備えるコンピュータ装置である。
図２は、図１で示した署名者装置１０、事業者装置２０、および認証局装置３０の、ハードウェアとしての概略的な構成を示す説明図である。これらの装置は、それぞれ一般的なコンピュータ装置１００である。コンピュータ装置１００は、コンピュータプログラムを実施する主体であるＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０１と、作業中のプログラムおよびデータを一時的に記憶する主記憶装置であるＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１０２と、プログラムを記憶するハードディスク装置などの不揮発性記憶装置であるＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）１０３と、ネットワーク４０と接続して他のコンピュータとのデータ通信を行うＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）１０４とで構成される。
以後、署名者装置１０、事業者装置２０、および認証局装置３０の各々が備えるＣＰＵを、それぞれＣＰＵ１１、ＣＰＵ２１、ＣＰＵ３１という。また、認証局装置３０が備えるＨＤＤ１０３を、ＨＤＤ３２という。
図３は、図１で示した署名者装置１０、事業者装置２０、および認証局装置３０が備える各動作部の概略的な構成を示す説明図である。署名者装置１０の備えるＣＰＵ１１では、選択的属性開示署名部２００がコンピュータプログラムとして実行されることにより、署名装置２１０として機能する。事業者装置２０の備えるＣＰＵ２１では、選択的属性開示署名検証部３００がコンピュータプログラムとして実行されることにより、署名検証装置３１０として機能する。
図３は、署名者装置１０が選択的属性開示署名装置２１０であり、事業者装置２０が選択的属性開示署名検証装置３１０であるという例を示す図である。選択的属性開示署名部２００および選択的属性開示署名検証部３００が認証局装置３０で動作して、署名者装置１０および事業者装置２０はネットワーク４０を介してそこにデータを入力し、そこからの出力を受けるように構成することもできる。
認証局装置３０の備えるＣＰＵ３１では、属性追加部４１０、属性獲得部４２０、追跡部４３０、失効部４４０、鍵更新部４５０の各々がコンピュータプログラムとして実行されることにより、それぞれ属性追加装置、属性獲得装置、追跡装置、失効装置、鍵更新装置として機能する。また、ＨＤＤ３２には、前述のメンバーリストＬ４６０が記憶されている。
（署名装置）
図４は、図１および図３で示した署名装置２１０のより詳しい構成を示す説明図である。図５は、図４で示した署名装置２１０の動作を示すフローチャートである。署名装置２１０は、前述のように選択的属性開示署名部２００を備える。選択的属性開示署名部２００には、公開変数ｐａｒａｍ（ｐ、Ｎ、ｇ［１］、ｇ［２］、ｇ、ｆ、ｈ）、認証局公開鍵ｍｐｋ＝（ｙ）、属性公開鍵ａｐｋ＝（ｄ、ｚ［ｉ］）、追跡公開鍵ｔｐｋ＝（ｓ、ｔ）の各々が入力される。ここでｉ＝１，…，Ｎである。
選択的属性開示署名部２００にはさらに、匿名認証証明書（ａ、ω、η）、署名鍵（ξ）、開示する属性証明集合ａｔｔｒ＝（Θ［ｉ］、ｘ［ｉ］）、文書ｍの各々も入力される。ここでｉ＝１，…，Ｍであり、かつＭ≦Ｎである。そして選択的属性開示署名部２００には、連携識別子生成をするかを表す判断子Ｄ∈｛０、１｝、が入力される。Ｄ＝１の場合には、連携文字列ｒｅｆも同時に入力される。
選択的属性開示署名部２００は、属性集合表現値生成部２０１、属性集合表現鍵生成部２０２、追跡用暗号文生成部２０３、連携識別子生成部２０４、非対話的ゼロ知識証明生成部２０５、および署名出力部２０６を備える。これら各部の動作については次に示す。
属性集合表現値生成部２０１は、変数ψに関する数６に示す多項式の全ての係数を求める。ここで、ψ［ｋ］はψのｋ次の係数である。そして、この係数とｚ［ｉ］（ｉ＝１，…，Ｍ）から、数７で表される属性集合表現値Ψを生成する（図５：ステップＳ２５１）。
【数６】
0005488596.tif 000007
【数７】
0005488596.tif 000008
属性集合表現鍵生成部２０２は、数８で表される属性集合表現鍵ｘ’を生成する（図５：ステップＳ２５２）。
【数８】
0005488596.tif 000009
追跡用暗号文生成部２０３は、ランダムにＺ／ｐＺの元μ、ν、λを選び、数９で表される追跡用暗号文（ｃ、ｕ、ｖ）を生成し、さらに数１０で示されるｂおよびΔを生成する。ここで、数１１で示される関係が成立する（図５：ステップＳ２５３）。
【数９】
0005488596.tif 000010
【数１０】
0005488596.tif 000011
【数１１】
0005488596.tif 000012
連携識別子生成部２０４は、Ｄ＝１である場合に、数１２で示される連携識別子ｔａｇを生成する（図５：ステップＳ２５４〜２５５）。
【数１２】
0005488596.tif 000013
非対話的ゼロ知識証明生成部２０５は、前述の数９、数１２、数１３に示した各々の関係を満たす（ω、ξ、ζ、ν、λ）の非対話的ゼロ知識証明を生成する。ただし、Ｄ＝１である場合に限って、数１２について考える（図５：ステップＳ２５６）。
【数１３】
0005488596.tif 000014
より具体的には、非対話的ゼロ知識証明生成部２０５はまず、ランダムにＺ／ｐＺの要素ω’、ξ’、ζ’、ν’、λ’を選び、数１４で表されるΩ’、Γ’、（ｃ’、ｕ’、ｖ’）およびｔａｇ’を生成する。ただし、Ｄ＝１である場合に限って、ｔａｇ’を生成する。
【数１４】
0005488596.tif 000015
これに続いて、非対話的ゼロ知識証明生成部２０５は、数１５で表されるγを生成する。ただし、Ｄ＝１である場合のみ数１５のＨａｓｈ関数の引数にｔａｇ’が含まれる。
【数１５】
0005488596.tif 000016
そして非対話的ゼロ知識証明生成部２０５は、数１６で表されるω’’、ξ’’、ζ’’、ν’’、λ’’を生成する。
【数１６】
0005488596.tif 000017
署名出力部２０６は最終的に、数２１で表されるｇｓを、属性Θ［ｉ］（ｉ＝１，…，Ｍ）を開示した文書ｍに対する署名として出力する（図５：ステップＳ２５７）。ただし、Ｄ＝１である場合のみ数１７の引数に連携識別子ｔａｇが含まれる。
【数１７】
0005488596.tif 000018
（署名検証装置）
図６は、図１および図３で示した署名検証装置３１０のより詳しい構成を示す説明図である。図７は、図６で示した署名検証装置３１０の動作を示すフローチャートである。署名検証装置３１０は、前述のように選択的属性開示署名検証部３００を備える。選択的属性開示署名検証部３００には、公開変数ｐａｒａｍ（ｐ、Ｎ、ｇ［１］、ｇ［２］、ｇ、ｆ、ｈ）、認証局公開鍵ｍｐｋ＝（ｙ）、属性公開鍵ａｐｋ＝（ｄ、ｚ［ｉ］）、追跡公開鍵ｔｐｋ＝（ｓ、ｔ）の各々が入力される。ここでｉ＝１，…，Ｎである。
選択的属性開示署名検証部３００にはさらに、開示された属性Θ［ｉ］（ｉ＝１，…，Ｍ）、判断子Ｄ∈｛０、１｝、連携文字列ｒｅｆ、数２１に示した署名ｇｓの各々も入力される。ここでＭ≦Ｎである。また、Ｄ＝１のときのみ連携文字列ｒｅｆが入力され、署名は連携識別子ｔａｇを含む。
選択的属性開示署名検証部３００は、属性集合表現値生成部３０１、連携識別子・文字列入力部３０２、非対話的ゼロ知識証明検証部３０３を備える。これら各部の動作については次に示す。
属性集合表現値生成部３０１は、変数ψに関する数１８に示す多項式の全ての係数を求める。ここで、ψ［ｋ］はψのｋ次の係数である。そして、この係数とｚ［ｉ］（ｉ＝１，…，Ｍ）から、数１９で表される属性集合表現値Ψを生成する（図７：ステップＳ３５１）。
【数１８】
0005488596.tif 000019
【数１９】
0005488596.tif 000020
非対話的ゼロ知識証明検証部３０３は、入力されたｇｓに含まれる（γ、ω’’、ξ’’、ζ’’、ν’’、λ’’）が、以下の数２０〜数２２を満たす（ω、ξ、ζ、ν、λ）の非対話的ゼロ知識証明であるか否かを検証する。もって署名検証装置３１０は、この検証結果を検証結果として出力する。ただし、Ｄ＝１である場合に限って、数２２について計算する。
【数２０】
0005488596.tif 000021
【数２１】
0005488596.tif 000022
【数２２】
0005488596.tif 000023
より具体的には、非対話的ゼロ知識証明検証部３０３は数２０〜数２２に示した計算を数２３の各式に従って、各々の数値を生成することによって検証を行う（図７：ステップＳ３５４）。ただし、Ｄ＝１である場合に限って、連携識別子・文字列入力部３０２が連携文字列ｒｅｆおよび連携識別子ｔａｇを非対話的ゼロ知識証明検証部３０３に入力する（図７：ステップＳ３５２〜３５３）。非対話的ゼロ知識証明検証部３０３は、入力されたｒｅｆ及びｔａｇからｔａｇ’を生成する。
【数２３】
0005488596.tif 000024
非対話的ゼロ知識証明検証部３０３は、これらの数値が、数２４に示す条件を満たすか否かを検証する（図７：ステップＳ３５５）。ただし、Ｄ＝１である場合に限って、ｔａｇ’が数２４に示すＨａｓｈ関数の引数に含まれる。数２４に示す条件を満たしていれば「受理」（図７：ステップＳ３５６）、出なければ「不受理」を表すデータを出力する（図７：ステップＳ３５７）。
【数２４】
0005488596.tif 000025
（認証局装置）
図３に示した認証局装置３０で動作する、属性追加部４１０、属性獲得部４２０、追跡部４３０、失効部４４０、鍵更新部４５０の各々の動作について説明する。まず属性追加部４１０には、公開変数ｐａｒａｍ（ｐ、Ｎ、ｇ［１］、ｇ［２］、ｇ、ｆ、ｈ）、認証局公開鍵ｍｐｋ＝（ｙ）、属性公開鍵ａｐｋ＝（ｄ、ｚ［ｉ］）、属性秘密鍵、と属性Θ∈｛０、１｝＊、署名者情報（ｑ、ω）の各々が入力される。属性追加部４１０はそれらの入力情報から、θ＝Ｈａｓｈ（Θ）を生成し、数２５に示す計算で属性鍵ｘを生成して、属性証明（Θ、ｘ）を出力する。
【数２５】
0005488596.tif 000026
属性獲得部４２０には、公開変数ｐａｒａｍ（ｐ、Ｎ、ｇ［１］、ｇ［２］、ｇ、ｆ、ｈ）、認証局公開鍵ｍｐｋ＝（ｙ）、属性公開鍵ａｐｋ＝（ｄ、ｚ［ｉ］）、署名者情報（ｑ、ω）、属性証明（Θ、ｘ）の各々が入力される。属性獲得部４２０は、数２６に示す条件が成立することを確認した後、この属性証明（Θ、ｘ）を保存する。
【数２６】
0005488596.tif 000027
追跡部４３０には、公開変数ｐａｒａｍである諸文字列と（ｐ、Ｎ、ｇ［１］、ｇ［２］、ｇ、ｆ、ｈ）、認証局公開鍵ｍｐｋ＝（ｙ）、属性公開鍵ａｐｋ＝ｄ、ｚ［ｉ］（ｉ＝１，…，Ｎ）、追跡公開鍵ｔｐｋ＝（ｓ、ｔ）、追跡秘密鍵ｔｓｋ＝（σ、τ）の各々と、さらに数２７で示す署名ｇｓ、そしてメンバーリストＬ４６０が入力される。ここでＭ≦Ｎである。
【数２７】
0005488596.tif 000028
追跡部４３０は、数２８で示すｑを生成し、これを含む署名者情報をメンバーリストＬ４６０から探して出力する。そして、数２９で示す条件を満たすσの存在の、非対話的ゼロ知識証明ｐｒｆを生成し、これを出力する。
【数２８】
0005488596.tif 000029
【数２９】
0005488596.tif 000030
失効部４４０には、公開変数ｐａｒａｍである諸文字列と（ｐ、Ｎ、ｇ［１］、ｇ［２］、ｇ、ｆ、ｈ）、認証局公開鍵ｍｐｋ＝ｙ、認証局秘密鍵ｓｋ＝φの各々と、さらにメンバーリストＬ４６０と、失効する署名者に対応する署名者情報（ｑ’、ω’）が入力される。
失効部４４０は、メンバーリストＬ４６０の中にとなるＵ’およびａｔｔｒ’が存在することを確認してから、それらについて数３０に示す各データを生成する。そしてω’と（ｇ’［１］、ｆ’、ｈ’）を失効情報として出力する。
【数３０】
0005488596.tif 000031
鍵更新部４５０には、公開変数ｐａｒａｍである諸文字列と（ｐ、Ｎ、ｇ［１］、ｇ［２］、ｇ、ｆ、ｈ）、認証局公開鍵ｍｐｋ＝（ｙ）の各々と、さらに匿名認証証明書（ａ、ω、η）、署名鍵（ξ）、そして失効情報（ω’、（ｇ’［１］、ｆ’、ｈ’））が入力される。
鍵更新部４５０は、数３１に示すａ’を生成し、匿名認証証明書（ａ、ω、η）の更新先として、新しい匿名認証証明書（ａ’、ω、η）を出力する。
【数３１】
0005488596.tif 000032
図８は、図１および図３で示した匿名認証システム１の各動作部の動作に係る構成を示す説明図である。公開変数ｐａｒａｍ（ｐ、Ｎ、ｇ［１］、ｇ［２］、ｇ、ｆ、ｈ）、属性公開鍵ａｐｋ＝（ｄ、ｚ［ｉ］）、認証局公開鍵ｍｐｋ＝（ｙ）、追跡公開鍵ｔｐｋ＝（ｓ、ｔ）は、あらかじめ匿名認証システム１全体に対して公開されており、各装置が所持しているか、もしくは必要に応じて参照できる。
メンバーリストＬ４６０、認証局秘密鍵、属性秘密鍵、追跡秘密鍵は、認証局装置３０のみが記憶し、署名者装置１０および事業者装置２０には開示されない。署名鍵（ξ）は、署名者装置１０にあらかじめ与えられている。
属性追加部４１０には、前述したように公開変数ｐａｒａｍ（ｐ、Ｎ、ｇ［１］、ｇ［２］、ｇ、ｆ、ｈ）、認証局公開鍵ｍｐｋ＝（ｙ）、属性秘密鍵、属性公開鍵ａｐｋ＝（ｄ、ｚ［ｉ］）が入力されている。
図６で示した署名検証装置３１０には、前述のように公開変数ｐａｒａｍ（ｐ、Ｎ、ｇ［１］、ｇ［２］、ｇ、ｆ、ｈ）、認証局公開鍵ｍｐｋ＝（ｙ）、属性公開鍵ａｐｋ＝（ｄ、ｚ［ｉ］）、追跡公開鍵ｔｐｋ＝（ｓ、ｔ）の各々が入力される。
追跡部４３０には、公開変数ｐａｒａｍ（ｐ、Ｎ、ｇ［１］、ｇ［２］、ｇ、ｆ、ｈ）、認証局公開鍵ｍｐｋ＝（ｙ）、属性公開鍵ａｐｋ＝（ｄ、ｚ［ｉ］）、追跡秘密鍵、追跡公開鍵ｔｐｋ＝（ｓ、ｔ）の各々が入力される。
失効部４４０には、公開変数ｐａｒａｍ（ｐ、Ｎ、ｇ［１］、ｇ［２］、ｇ、ｆ、ｈ）、認証局秘密鍵、認証局公開鍵ｍｐｋ＝（ｙ）の各々が入力される。
属性獲得部４２０には、公開変数ｐａｒａｍ（ｐ、Ｎ、ｇ［１］、ｇ［２］、ｇ、ｆ、ｈ）、認証局公開鍵ｍｐｋ＝（ｙ）、属性公開鍵ａｐｋ＝（ｄ、ｚ［ｉ］）、署名者情報（ｑ、ω）、属性証明（Θ、ｘ）の各々が入力される。
図４で示した署名装置２１０には、前述のように公開変数ｐａｒａｍ（ｐ、Ｎ、ｇ［１］、ｇ［２］、ｇ、ｆ、ｈ）、認証局公開鍵ｍｐｋ＝（ｙ）、属性公開鍵属性公開鍵ａｐｋ＝（ｄ、ｚ［ｉ］）、追跡公開鍵ｔｐｋ＝（ｓ、ｔ）の各々が入力される。
鍵更新部４５０には、公開変数ｐａｒａｍ（ｐ、Ｎ、ｇ［１］、ｇ［２］、ｇ、ｆ、ｈ）、認証局公開鍵ｍｐｋ＝（ｙ）、属性公開鍵ａｐｋ＝（ｄ、ｚ［ｉ］）、追跡公開鍵ｔｐｋ＝（ｓ、ｔ）、の各々が入力される。
属性追加部４１０は、ある署名者情報（ｑ、ω）と属性Θ∈｛０、１｝＊が入力されると、前述の数２５に示した計算を行って属性証明（Θ、ｘ）を出力する。この属性証明（Θ、ｘ）は、入力された署名者情報（ｑ、ω）に対応して準備されている属性獲得部４２０に送られる。属性獲得部４２０は入力された属性証明（Θ、ｘ）について、前述の数２６に示した条件が成立することを確認する。
署名者情報（ｑ、ω）に対応して、属性追加部４１０が属性証明（Θ、ｘ）を生成し、属性獲得部４２０がこの属性証明（Θ、ｘ）を確認して保存する。このようにして確認および保存された属性証明を複数組み合わせて構成された属性証明集合ａｔｔｒ＝（Θ［ｉ］、ｘ［ｉ］）が、この署名者情報（ｑ、ω）に対応して署名装置２１０に入力される。
署名装置２１０は、文書ｍ、連携文字列ｒｅｆ、判断子Ｄ、開示する属性証明集合ａｔｔｒ＝（Θ［ｉ］、ｘ［ｉ］）、匿名認証証明書（ａ、ω、η）、署名鍵（ξ）が入力されると、前述した動作によって署名ｇｓを生成する。
署名装置２１０により生成された署名ｇｓと、開示された属性Θ［ｉ］と文書ｍが署名検証装置３１０に入力されると、署名検証装置３１０は前述した動作によって受理もしくは不受理を表すデータを出力する。
追跡部４３０は、メンバーリストＬ４６０、署名装置２１０により生成された署名ｇｓ、開示された属性Θ［ｉ］が入力されると、前述した動作によって数２８で示すｑを含む署名者情報（ｑ、ω）をメンバーリストＬ４６０の中から探して出力する。
失効部４４０に、メンバーリストＬ４６０および失効するメンバー（署名者）に対応する署名者情報（ｑ’、ω’）が入力されると、前述した動作によって数３０に示すω’および（ｇ’［１］、ｆ’、ｈ’）を失効情報として出力する。
鍵更新部４５０に、前述した匿名認証証明書（ａ、ω、η）と失効情報ω’および（ｇ’［１］、ｆ’、ｈ’）が入力されると、前述した動作によって数３１に示す演算を行い、新しい匿名認証証明書（ａ’、ω、η）を出力する。この新しい匿名認証証明書（ａ’、ω、η）は、改めて署名装置２１０に入力される。
（本実施形態の全体的な動作）
次に、上記の実施形態の全体的な動作について説明する。以下に示す本発明に係る署名方法は、署名装置２１０により署名データを生成する方法である。まず、署名装置２１０は、認証局公開鍵、匿名認証証明書、署名鍵、文書および属性証明集合、属性公開鍵の入力を受け付ける。次に署名装置２１０は、入力された属性証明集合および属性公開鍵から属性集合表現値を生成する（図５：ステップＳ２５１）。また、署名装置２１０は、属性証明集合から属性集合表現鍵を生成する（図５：ステップＳ２５２）。署名装置２１０は、さらに、入力された認証局公開鍵、匿名認証証明書、署名鍵、文書と、属性集合表現値および属性集合表現鍵から非対話的ゼロ知識証明を生成する（図５：ステップＳ２５６）。署名装置２１０は、この非対話的ゼロ知識証明を署名データとして出力する（図５：ステップＳ２５７）。
そして、以下に示す本発明に係る署名検証方法は、署名検証装置３１０により署名データが正当であるか否かを検証してその結果を出力する署名検証方法である。まず、署名検証装置３１０は、認証局公開鍵、属性公開鍵、属性、文書、および非対話的ゼロ知識証明を含む署名データの入力を受け付ける。次に、署名検証装置３１０は、入力された属性および属性公開鍵から属性集合表現値を生成する（図７：ステップＳ３５１）。さらに、署名検証装置３１０は、認証局公開鍵、属性集合表現値、および文書から、署名データが属性を開示した下での文書に対する正当な署名であるか否かを判断して（図７：ステップＳ３５４〜３５５）その結果を出力する（図７：ステップＳ３５６〜３５７）。
ここで、上記各動作ステップをコンピュータで実行可能にプログラム化したプログラムを、前記各ステップを直接実行する主体である署名装置２１０もしくは署名検証装置３１０が実行するようにしてもよい。
この構成および動作により、本実施形態は以下のような効果を奏する。
本実施形態に係る匿名認証システム１は、属性追加部４１０によって、（ｑ、ω）に対応する属性証明（Θ、ｘ）を無制限に生成することができる。そして、この属性証明（Θ、ｘ）を属性獲得部４２０で受け取った署名者は、署名装置２１０を用いて、その生成する署名ｇｓとともにａｔｔｒ＝（Θ［ｉ］、ｘ［ｉ］）の中の任意の属性Θ［ｉ］を開示することが可能となる。
署名検証装置３１０は、署名ｇｓと、開示された属性Θ［ｉ］と文書ｍが正当なものであるか否かを検証可能である。そして、追跡部４３０は署名ｇｓから署名者情報（ｑ、ω）をメンバーリストＬ４６０の中から探して取り出すことが可能である。
本実施形態で、署名装置２１０の生成する署名ｇｓは、開示する属性の数に比例してその生成のための計算量が増えるのみで、署名長が署名者情報に関連づけられた属性の数には依存して増加することはない。一回に開示できる属性の数はあらかじめ決められた数Ｎ以下に制限されているが、これは匿名認証システムを利用する操作の上では特に問題とはならない。
本実施形態に係る署名装置の最小構成は、認証局公開鍵、匿名認証証明書、署名鍵、文書および属性証明集合、属性公開鍵の入力を受け付ける部と、属性集合表現値生成部２０１と、属性集合表現鍵生成部２０２と、非対話的ゼロ知識証明生成部２０５と、署名出力部２０６とを有する構成である。属性集合表現値生成部２０１は、入力された属性証明集合および属性公開鍵から、属性集合表現値を生成する。属性集合表現鍵生成部２０２は、属性集合表現値生成部２０１が生成した属性証明集合から、属性集合表現鍵を生成する。非対話的ゼロ知識証明生成部２０５は、入力された認証局公開鍵、匿名認証証明書、署名鍵、文書と、前記属性集合表現値および前記属性集合表現鍵から非対話的ゼロ知識証明を生成する。署名出力部２０６は、非対話的ゼロ知識証明を署名データとして出力する。
以上の構成をもつ署名装置は、開示する全ての属性及び対応する属性公開鍵を一つの値で表す属性集合表現値と、属性集合表現値に対応する属性集合表現鍵とを生成する。署名装置は、生成した属性集合表現値及び属性集合表現鍵を含むデータから、非対話的ゼロ知識証明を生成し、署名データとして出力する。この非対話的ゼロ知識証明はそれぞれの属性に対応する値を含まないので、非対話的ゼロ知識証明のデータのサイズは属性の個数の影響を受けない。
従って、上記の最小構成の署名装置には、署名の長さが属性の個数の影響を受けないという効果がある。
以上、実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されるものではない、本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解しうる様々な変更をすることができる。
この出願は、２００９年５月２９日に出願された日本国出願特願２００９−１３０６４４を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【産業上の利用可能性】
【００１１】
匿名認証を利用するシステムおよび装置において利用できる。
【図１】
0005488596.tif 000033
【図２】
0005488596.tif 000034
【図３】
0005488596.tif 000035
【図４】
0005488596.tif 000036
【図５】
0005488596.tif 000037
【図６】
0005488596.tif 000038
【図７】
0005488596.tif 000039
【図８】
0005488596.tif 000040
【図９】
0005488596.tif 000041
【図１０】
0005488596.tif 000042