(57)【特許請求の範囲】
【請求項１】
複数のユーザ装置、管理者装置、検証者装置、ユーザ特定担当者装置から構成される匿名証明システムであって、
Ｇ１、Ｇ２、ＧＴを群の位数ｐの巡回群とし、同型写像Ψによって群Ｇ１の生成元と群Ｇ２の生成元との間に一対一の関係があり、ｅをｅ：Ｇ１×Ｇ２→ＧＴである双線形写像とし、管理者装置の公開鍵ｇ２は群Ｇ２の生成元から選択されており、各ユーザ装置の秘密鍵はＺｐ＊から選択されており、
各ユーザ装置は、
保有していることの証明の対象である情報（ユーザ保有情報ｍ）を記憶する記憶手段と、
管理者装置の公開鍵ｇ２と自身のユーザ装置の秘密鍵ｑとを用いて群Ｇ２上の演算を行いｇ２ｑを求め、さらにｇ２ｑに対する署名を求める認証情報要求手段と、
ユーザ保有情報ｍと認証情報要求手段によって得られたｇ２ｑと署名を管理者装置に送信する送信手段と、
ユーザ保有情報ｍとΨ(ｇ２ｑ)とを用いて得られた群Ｇ１の元である情報σを含む認証情報を管理者装置から受信する受信手段と、
任意に選択した群Ｇ１の元により情報σに対して群Ｇ１上の演算を行い情報σ１を求め、ユーザ特定担当者装置の群Ｇ２から選択された公開鍵に対する同型写像Ψに対して前記選択された群Ｇ１の元により関連付けられた群Ｇ２の元Ｄを求め、前記選択された群Ｇ１の元とは異なる任意に選択した群Ｇ１の生成元に対して自身のユーザ装置の秘密鍵ｑを用いた群Ｇ１上の演算結果Ｘを求めて、これらの組合せであるアドホック情報を生成する認証情報掩蔽手段と、
アドホック情報を検証者装置に送信する送信手段とを備え、
管理者装置は、
ユーザ装置からユーザ保有情報ｍとｇ２ｑと署名を受信する受信手段と、
ユーザ保有情報ｍとΨ(ｇ２ｑ)とを用いて得られる群Ｇ１の元である情報σを含む認証情報を求める認証情報生成手段と、
情報σを含む認証情報をユーザ装置に送信する送信手段と、
ｑｉ（１≦ｉ≦ｎ）を正当なユーザ装置として認められていないユーザ装置の秘密鍵とし、ｂｉ＝ｇ２＾ｑｉとして、正当なユーザ装置として認めていないユーザ装置のリストであるブラックリストBL=(b1,b2,…,bn)、並びに、情報σを含む認証情報とユーザ保有情報ｍとｇ２ｑと署名との組み合わせを記憶する記憶手段と、
ブラックリストBL=(b1,b2,…,bn)を検証者装置に送信する送信手段とを備え、
検証者装置は、
管理者装置からブラックリストBL=(b1,b2,…,bn)を受信する受信手段と、
ユーザ装置からアドホック情報を受信する受信手段と、
アドホック情報に含まれる演算結果ＸとブラックリストBLに含まれるb1,b2,…,bnとの間に双線形写像ｅの双線形性に基づく関係の成立を検証するブラックリスト検証手段と、
アドホック情報に含まれる情報σ１とΨ(ｇ２)との間に双線形写像ｅの双線形性に基づく関係の成立を検証するアドホック情報検証手段と、
アドホック情報に含まれる情報σ１と群Ｇ２の元Ｄをユーザ特定担当者装置に送信する送信手段とを備え、
ユーザ特定担当者装置は、
検証者装置からアドホック情報に含まれる情報σ１と群Ｇ２の元Ｄを受信する受信手段と、
ユーザ特定担当者装置の群Ｇ２から選択された秘密鍵と情報σ１と群Ｇ２の元Ｄを用いて情報σを復元する認証情報復元手段とを備える
ことを特徴とする匿名証明システム。
【請求項２】
ｇ２，ｕ２，ｖ２を群Ｇ２の生成元とし、ｘ∈Ｚｐ＊とし、ｗ２←ｇ２ｘとし、ξ，η∈Ｚｐ＊とし、Ｕ←ｇ２ξ、Ｖ←ｇ２ηとし、管理者装置の公開鍵をｇ２，ｕ２，ｖ２，ｗ２とし、管理者装置の秘密鍵をｘとし、ユーザ特定担当者装置の公開鍵をＵ，Ｖ、ユーザ特定担当者装置の秘密鍵をξ，ηとして、
各ユーザ装置において、
認証情報掩蔽手段は、任意に選択したλ，ζ，θ，μ∈Ｚｐ＊とｆ，ｈ∈Ｇ１′（Ｇ１′：群Ｇ１の生成元の集合）を用いた各演算結果σ１←σ・Ψ(ｇ２)λ＋ζ、α１←（ｗ２ｇ２ｒ）θ、β１←（ｇ２ｍｇ２ｑｕ２ｖ２ｓ）θ・α１λ＋ζ、γ←Ψ(Ｕ)λ、δ←Ψ(Ｖ)ζ、Ｘ←ｆｑｈμで構成される（σ１，α１，β１，γ，δ，Ｘ，ｆ，ｈ，ｇ２μ）をアドホック情報として生成するものであり、
管理者装置において、
認証情報生成手段は、任意に選択したｒ，ｓ∈Ｚｐ＊を用いた演算結果（Ψ(ｇ２)ｍΨ(ｇ２)ｑΨ(ｕ２)Ψ(ｖ２)ｓ）１／（ｘ＋ｒ）である情報σを含む（σ，ｒ，ｓ）を認証情報として求めるものであり、
検証者装置において、
ブラックリスト検証手段は、e(Ｘ,ｇ２)=e(ｆ,ｂｉ)e(ｈ,ｇ２μ)の成立をｂｉ（１≦ｉ≦ｎ）について検証するものであり、
アドホック情報検証手段は、e(σ１,α１)=e(ｇ１,β１)の成立を検証するものであり、
ユーザ特定担当者装置において、
認証情報復元手段は、演算σ１／（γ１／ξδ１／η）により情報σを復元するものである
ことを特徴とする請求項１に記載の匿名証明システム。
【請求項３】
匿名証明方法であって、
Ｇ１、Ｇ２、ＧＴを群の位数ｐの巡回群とし、同型写像Ψによって群Ｇ１の生成元と群Ｇ２の生成元との間に一対一の関係があり、ｅをｅ：Ｇ１×Ｇ２→ＧＴである双線形写像とし、管理者装置の公開鍵ｇ２は群Ｇ２の生成元から選択されており、各ユーザ装置の秘密鍵はＺｐ＊から選択されており、
各ユーザ装置の記憶手段には、保有していることの証明の対象である情報（ユーザ保有情報ｍ）が記憶されており、
管理者装置の記憶手段には、ｑｉ（１≦ｉ≦ｎ）を正当なユーザ装置として認められていないユーザ装置の秘密鍵とし、ｂｉ＝ｇ２＾ｑｉとして、正当なユーザ装置として認めていないユーザ装置のリストであるブラックリストBL=(b1,b2,…,bn)が記憶されており、
ユーザ装置の認証情報要求手段が、管理者装置の公開鍵ｇ２と自身のユーザ装置の秘密鍵ｑとを用いて群Ｇ２上の演算を行いｇ２ｑを求め、さらにｇ２ｑに対する署名を求める認証情報要求ステップと、
ユーザ装置の送信手段が、ユーザ保有情報ｍとｇ２ｑと署名を管理者装置に送信する送信ステップと、
管理者装置の受信手段が、ユーザ装置からユーザ保有情報ｍとｇ２ｑと署名を受信する受信ステップと、
管理者装置の認証情報生成手段が、ユーザ保有情報ｍとΨ(ｇ２ｑ)とを用いて得られる群Ｇ１の元である情報σを含む認証情報を求める認証情報生成ステップと、
管理者装置の送信手段が、情報σを含む認証情報をユーザ装置に送信する送信ステップと、
ユーザ装置の受信手段が、ユーザ保有情報ｍとΨ(ｇ２ｑ)とを用いて得られた群Ｇ１の元である情報σを含む認証情報を管理者装置から受信する受信ステップと、
ユーザ装置の認証情報掩蔽手段が、任意に選択した群Ｇ１の元により情報σに対して群Ｇ１上の演算を行い情報σ１を求め、ユーザ特定担当者装置の群Ｇ２から選択された公開鍵に対する同型写像Ψに対して前記選択された群Ｇ１の元により関連付けられた群Ｇ２の元Ｄを求め、前記選択された群Ｇ１の元とは異なる任意に選択した群Ｇ１の生成元に対して自身のユーザ装置の秘密鍵ｑを用いた群Ｇ１上の演算結果Ｘを求めて、これらの組合せであるアドホック情報を生成する認証情報掩蔽ステップと、
ユーザ装置の送信手段が、アドホック情報を検証者装置に送信する送信ステップと、
検証者装置の受信手段が、ユーザ装置からアドホック情報を受信する受信ステップと、
管理者装置の送信手段が、ブラックリストBL=(b1,b2,…,bn)を検証者装置に送信する送信ステップと、
検証者装置の受信手段が、管理者装置からブラックリストBL=(b1,b2,…,bn)を受信する受信ステップと、
検証者装置のブラックリスト検証手段が、アドホック情報に含まれる演算結果ＸとブラックリストBLに含まれるb1,b2,…,bnとの間に双線形写像ｅの双線形性に基づく関係の成立を検証するブラックリスト検証ステップと、
検証者装置のアドホック情報検証手段が、アドホック情報に含まれる情報σ１とΨ(ｇ２)との間に双線形写像ｅの双線形性に基づく関係の成立を検証するアドホック情報検証ステップと、
検証者装置の送信手段が、アドホック情報に含まれる情報σ１と群Ｇ２の元Ｄをユーザ特定担当者装置に送信する送信ステップと、
ユーザ特定担当者装置の受信手段が、検証者装置からアドホック情報に含まれる情報σ１と群Ｇ２の元Ｄを受信する受信ステップと、
ユーザ特定担当者装置の認証情報復元手段が、ユーザ特定担当者装置の群Ｇ２から選択された秘密鍵と情報σ１と群Ｇ２の元Ｄを用いて情報σを復元する認証情報復元ステップとを有する
ことを特徴とする匿名証明方法。
【請求項４】
複数のユーザ装置、管理者装置、検証者装置、ユーザ特定担当者装置から構成される匿名証明システムにおけるユーザ装置であって、
Ｇ１、Ｇ２、ＧＴを群の位数ｐの巡回群とし、同型写像Ψによって群Ｇ１の生成元と群Ｇ２の生成元との間に一対一の関係があるとして、
保有していることの証明の対象である情報（ユーザ保有情報ｍ）を記憶する記憶手段と、
管理者装置の群Ｇ２の生成元から選択された公開鍵ｇ２と自身のユーザ装置のＺｐ＊から選択された秘密鍵ｑとを用いて群Ｇ２上の演算を行いｇ２ｑを求め、さらにｇ２ｑに対する署名を求める認証情報要求手段と、
ユーザ保有情報ｍと認証情報要求手段によって得られたｇ２ｑと署名を管理者装置に送信する送信手段と、
ユーザ保有情報ｍとΨ(ｇ２ｑ)とを用いて得られた群Ｇ１の元である情報σを含む認証情報を管理者装置から受信する受信手段と、
任意に選択した群Ｇ１の元により情報σに対して群Ｇ１上の演算を行い情報σ１を求め、ユーザ特定担当者装置の群Ｇ２から選択された公開鍵に対する同型写像Ψに対して前記選択された群Ｇ１の元により関連付けられた群Ｇ２の元Ｄを求め、前記選択された群Ｇ１の元とは異なる任意に選択した群Ｇ１の生成元に対して自身のユーザ装置の秘密鍵ｑを用いた群Ｇ１上の演算結果Ｘを求めて、これらの組合せであるアドホック情報を生成する認証情報掩蔽手段と、
アドホック情報を検証者装置に送信する送信手段と
を備えたユーザ装置。
【請求項５】
複数のユーザ装置、管理者装置、検証者装置、ユーザ特定担当者装置から構成される匿名証明システムにおける管理者装置であって、
Ｇ１、Ｇ２、ＧＴを群の位数ｐの巡回群とし、同型写像Ψによって群Ｇ１の生成元と群Ｇ２の生成元との間に一対一の関係があるとして、
ユーザ保有情報ｍと、管理者装置の群Ｇ２の生成元から選択された公開鍵ｇ２とユーザ装置のＺｐ＊から選択された秘密鍵ｑとから得られたｇ２ｑと、ｇ２ｑに対する署名をユーザ装置から受信する受信手段と、
ユーザ保有情報ｍとΨ(ｇ２ｑ)とを用いて得られる群Ｇ１の元である情報σを含む認証情報を求める認証情報生成手段と、
情報σを含む認証情報をユーザ装置に送信する送信手段と、
ｑｉ（１≦ｉ≦ｎ）を正当なユーザ装置として認められていないユーザ装置の秘密鍵とし、ｂｉ＝ｇ２＾ｑｉとして、正当なユーザ装置として認めていないユーザ装置のリストであるブラックリストBL=(b1,b2,…,bn)、並びに、情報σを含む認証情報とユーザ保有情報ｍとｇ２ｑと署名との組み合わせを記憶する記憶手段と、
ブラックリストBL=(b1,b2,…,bn)を検証者装置に送信する送信手段と
を備えた管理者装置。
【請求項６】
複数のユーザ装置、管理者装置、検証者装置、ユーザ特定担当者装置から構成される匿名証明システムにおける検証者装置であって、
Ｇ１、Ｇ２、ＧＴを群の位数ｐの巡回群とし、同型写像Ψによって群Ｇ１の生成元と群Ｇ２の生成元との間に一対一の関係があり、ｅをｅ：Ｇ１×Ｇ２→ＧＴである双線形写像として、
管理者装置から、ｑｉ（１≦ｉ≦ｎ）を正当なユーザ装置として認められていないユーザ装置の秘密鍵とし、管理者装置の群Ｇ２の生成元から選択された公開鍵ｇ２とし、ｂｉ＝ｇ２＾ｑｉとして、正当なユーザ装置として認めていないユーザ装置のリストであるブラックリストBL=(b1,b2,…,bn)を受信する受信手段と、
ユーザ保有情報ｍとΨ(ｇ２ｑ)を用いて得られた群Ｇ１の元である情報σに対して群Ｇ１の元による群Ｇ１上の演算で得られた情報σ１と、ユーザ特定担当者装置の群Ｇ２から選択された公開鍵に対する同型写像Ψに対して前記の群Ｇ１の元により関連付けられた群Ｇ２の元Ｄと、前記の群Ｇ１の元とは異なる群Ｇ１の生成元に対してユーザ装置の秘密鍵ｑを用いた群Ｇ１上の演算結果Ｘとの組合せであるアドホック情報をユーザ装置から受信する受信手段と、
アドホック情報に含まれる演算結果ＸとブラックリストBLに含まれるb1,b2,…,bnとの間に双線形写像ｅの双線形性に基づく関係の成立を検証するブラックリスト検証手段と、
アドホック情報に含まれる情報σ１とΨ(ｇ２)との間に双線形写像ｅの双線形性に基づく関係の成立を検証するアドホック情報検証手段と、
アドホック情報に含まれる情報σ１と群Ｇ２の元Ｄをユーザ特定担当者装置に送信する送信手段と
を備えた検証者装置。
【請求項７】
複数のユーザ装置、管理者装置、検証者装置、ユーザ特定担当者装置から構成される匿名証明システムにおけるユーザ特定担当者装置であって、
Ｇ１、Ｇ２、ＧＴを群の位数ｐの巡回群とし、同型写像Ψによって群Ｇ１の生成元と群Ｇ２の生成元との間に一対一の関係があるとして、
ユーザ保有情報ｍとΨ(ｇ２ｑ)を用いて得られた群Ｇ１の元である情報σに対して群Ｇ１の元による群Ｇ１上の演算で得られた情報σ１と、ユーザ特定担当者装置の群Ｇ２から選択された公開鍵に対する同型写像Ψに対して前記の群Ｇ１の元により関連付けられた群Ｇ２の元Ｄと、前記の群Ｇ１の元とは異なる群Ｇ１の生成元に対してユーザ装置の秘密鍵ｑを用いた群Ｇ１上の演算結果Ｘとの組合せであるアドホック情報に含まれる情報σ１と群Ｇ２の元Ｄを検証者装置から受信する受信手段と、
ユーザ特定担当者装置の群Ｇ２から選択された秘密鍵と情報σ１と群Ｇ２の元Ｄを用いて情報σを復元する認証情報復元手段とを
備えたユーザ特定担当者装置。
【請求項８】
コンピュータを請求項４に記載のユーザ装置として機能させるためのプログラム。
【請求項９】
コンピュータに請求項５に記載の管理者装置として機能させるためのプログラム。
【請求項１０】
コンピュータに請求項６に記載の検証者装置として機能させるためのプログラム。
【請求項１１】
コンピュータを請求項７に記載のユーザ特定担当者装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、権限を有する者から認められたユーザが、例えばユーザの名前や、以前に証明を行ったユーザと同じユーザであるかなどのユーザ識別に寄与する情報を検証者に秘匿して匿名のまま、或る情報（ユーザ保有情報）を保有することのみを検証者に証明する匿名証明技術に関わる。
【背景技術】
【０００２】
例えば正当なユーザが有する権利は権利証によって表象される。この権利証は、本発明に関わる技術分野では、コンピュータによって情報処理可能なデータそのものである。そして、匿名証明を行うシステム（匿名証明システム）は、一般的にコンピュータで実現される管理者装置、ユーザ装置、検証者装置、および必要に応じて追加される機能を持つ担当者装置から構成され、以下の特徴を持つ。
【０００３】
＜特徴＞
ユーザ装置は、管理者装置に権利を表象する権利証の発行を依頼し、権利証を得る。ユーザ装置は、この権利証を用いて検証者装置に対して、自分（ユーザ装置）が正当な権利者であることを何度でも証明可能である。検証者装置は、ユーザ装置に対応するユーザの名前や、ユーザ装置を特定する情報、それらの証明が同一のユーザ装置によって行われたのか否かなどのユーザ識別に寄与する情報を得ることが不可能である。
【０００４】
匿名証明システムの実現手法は従来から提案されているが、実際の運用を考えると下記機能（１）および（２）を持つことが望ましい（非特許文献１、２参照）。
（１）任意のユーザ装置を正当なユーザ装置として認めないことを、ユーザ装置と検証者装置との間の匿名証明のプロセスとは独立に、管理者装置が自由にできる。
（２）検証時のデータから、ユーザ装置を特定することができる。
【０００５】
機能（１）が必要とされる背景の一例として、次のような場合を考えることができる。ユーザ（ユーザ装置）の所属が変わった場合などに、そのユーザ（ユーザ装置）を正当なユーザ（ユーザ装置）として認めないことが必要となる。例えば有効期限のように、権利証の発行時に決められた条件に依存するのではなく、管理者が時期に拠らずどのユーザに対しても正当なユーザとしての地位を消失せしめる手続を実施可能であることが望ましい。
【０００６】
また、機能（２）が必要とされる背景の一例として、次のような場合を考えることができる。権利証を用いて正当な権利者であることを証明したユーザ（ユーザ装置）がその後に不正を行った場合、その不正を行ったのが誰であるかを、権限を持つ者（装置）が特定可能であることが望ましい。機能（２）を検証者装置が自ら可能であることは匿名性が担保されないことと等価であるので、機能（２）を実現するための担当者装置としてユーザ特定担当者装置を追加して実現することが考えられる。
【非特許文献１】P. P. Tsang, M. H. Au, A. Kapadia and S. W. Smith : "Blacklistable anonymous credentials : blocking misbehaving users without TTPs", Proc. Of ACM CCSO7, pp.72-81(2007).
【非特許文献２】J. Camenisch and A. Lysyanskaya : "An Efficient System for Non-transferable Anonymous Credentials with Optional Anonymity Revocation," EUROCRYPT 2001, LNCS Vol.2045, pp.93-118(2001).
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上記非特許文献１では機能（１）を実現する手法として、権利者であることの証明が行われた時の検証で得た情報を基に検証者がブラックリスト（以下、ＢＬと略記することもある。）を構築する。そして、ブラックリストに掲載された検証を行ったユーザは爾後、検証に成功することができなくなる。
しかし、この方式は、権利保有の証明を少なくとも一度行ったユーザに対してのみＢＬの構築が可能であり、権利保有の証明が一度も行われなかったユーザに対して正当なユーザとしての地位を消失させることはできない。
【０００８】
上記非特許文献２では機能（２）が実現されているが、そこで採用された暗号プロトコルから、匿名証明システムに機能（１）を実装することができない。
【０００９】
機能（２）が実現されているシステムで機能（１）を実現する手法として、権利証の検証時に検証者装置がユーザ特定担当者装置に照会して、ユーザ特定担当者装置がユーザ装置を明らかにして失効か否かを検証者装置に回答する手法も考えられる。しかし、この手法は検証者装置とユーザ特定担当者装置との間の通信が必ず発生する点で効率的ではない。従って、検証者装置自身が検証相手のユーザが正当なユーザであるか否かを判断可能である必要がある。
【００１０】
そこで本発明は、匿名証明において、任意のユーザ装置を正当なユーザ装置として認めないことを、ユーザ装置と検証者装置との間の匿名証明のプロセスとは独立に、管理者装置が自由にできるという機能＜１＞と、ユーザ特定担当者装置が、検証時のデータから、ユーザ装置を特定することができるという機能＜２＞を共に持つ匿名証明技術を提供する。
【課題を解決するための手段】
【００１１】
上記課題を解決するために、本発明の匿名証明システムは、複数のユーザ装置、管理者装置、検証者装置、ユーザ特定担当者装置から構成され、Ｇ１、Ｇ２、ＧＴを群の位数ｐの巡回群とし、同型写像Ψによって群Ｇ１の生成元と群Ｇ２の生成元との間に一対一の関係があり、ｅをｅ：Ｇ１×Ｇ２→ＧＴである双線形写像とし、管理者装置の公開鍵ｇ２は群Ｇ２の生成元から選択されており、各ユーザ装置の秘密鍵はＺｐ＊から選択されており、各ユーザ装置は、保有していることの証明の対象である情報（ユーザ保有情報ｍ）を記憶する記憶手段と、管理者装置の公開鍵ｇ２と自身のユーザ装置の秘密鍵ｑとを用いて群Ｇ２上の演算を行いｇ２ｑを求め、さらにｇ２ｑに対する署名を求める認証情報要求手段と、ユーザ保有情報ｍと認証情報要求手段によって得られたｇ２ｑと署名を管理者装置に送信する送信手段と、ユーザ保有情報ｍとΨ(ｇ２ｑ)とを用いて得られた群Ｇ１の元である情報σを含む認証情報を管理者装置から受信する受信手段と、任意に選択した群Ｇ１の元により情報σに対して群Ｇ１上の演算を行い情報σ１を求め、ユーザ特定担当者装置の群Ｇ２から選択された公開鍵に対する同型写像Ψに対して前記選択された群Ｇ１の元により関連付けられた群Ｇ２の元Ｄを求め、前記選択された群Ｇ１の元とは異なる任意に選択した群Ｇ１の生成元に対して自身のユーザ装置の秘密鍵ｑを用いた群Ｇ１上の演算結果Ｘを求めて、これらの組合せであるアドホック情報を生成する認証情報掩蔽手段と、アドホック情報を検証者装置に送信する送信手段とを備え、管理者装置は、ユーザ装置からユーザ保有情報ｍとｇ２ｑと署名を受信する受信手段と、ユーザ保有情報ｍとΨ(ｇ２ｑ)とを用いて得られる群Ｇ１の元である情報σを含む認証情報を求める認証情報生成手段と、情報σを含む認証情報をユーザ装置に送信する送信手段と、ｑｉ（１≦ｉ≦ｎ）を正当なユーザ装置として認められていないユーザ装置の秘密鍵とし、ｂｉ＝ｇ２＾ｑｉとして、正当なユーザ装置として認めていないユーザ装置のリストであるブラックリストBL=(b1,b2,…,bn)、並びに、情報σを含む認証情報とユーザ保有情報ｍとｇ２ｑと署名との組み合わせを記憶する記憶手段と、ブラックリストBL=(b1,b2,…,bn)を検証者装置に送信する送信手段とを備え、検証者装置は、管理者装置からブラックリストBL=(b1,b2,…,bn)を受信する受信手段と、ユーザ装置からアドホック情報を受信する受信手段と、アドホック情報に含まれる演算結果ＸとブラックリストBLに含まれるb1,b2,…,bnとの間に双線形写像ｅの双線形性に基づく関係の成立を検証するブラックリスト検証手段と、アドホック情報に含まれる情報σ１とΨ(ｇ２)との間に双線形写像ｅの双線形性に基づく関係の成立を検証するアドホック情報検証手段と、アドホック情報に含まれる情報σ１と群Ｇ２の元Ｄをユーザ特定担当者装置に送信する送信手段とを備え、ユーザ特定担当者装置は、検証者装置からアドホック情報に含まれる情報σ１と群Ｇ２の元Ｄを受信する受信手段と、ユーザ特定担当者装置の群Ｇ２から選択された秘密鍵と情報σ１と群Ｇ２の元Ｄを用いて情報σを復元する認証情報復元手段とを備えている。
【００１２】
このように、機能＜１＞に関して、管理者装置はユーザ装置の秘密鍵が離散対数問題の困難性に依拠して掩蔽されたb1,b2,…,bnをブラックリストとして随意に保持することができる一方、検証者装置は、匿名証明に際して認証情報から作られたアドホック情報内に含まれる演算結果ＸとブラックリストBLに含まれるb1,b2,…,bnとの間に双線形写像ｅの双線形性に基づく関係の成立を検証し、アドホック情報に含まれる情報σ１とΨ(ｇ２)との間に双線形写像ｅの双線形性に基づく関係の成立を検証することにより、ユーザ識別に寄与する情報を検証者が知ることなく、検証の相手方であるユーザ装置について、権限を有する者（管理者装置）から認められた正当なユーザ装置であり（つまり、ブラックリストＢＬに含まれるユーザ装置ではないこと）、且つ、ユーザ保有情報ｍを持っていることを判定できる。
【００１３】
また、機能＜２＞に関して、検証者装置が受信したアドホック情報に含まれる情報σ１がユーザ特定担当者装置の群Ｇ２から選択された秘密鍵を用いて情報σを復元できるため、検証者装置による検証ではユーザ装置の匿名性が担保されつつ、この検証時のデータからユーザ特定担当者装置によるユーザ装置の特定を可能とするものとなっている。
【００１４】
また、本発明の匿名証明方法は、Ｇ１、Ｇ２、ＧＴを群の位数ｐの巡回群とし、同型写像Ψによって群Ｇ１の生成元と群Ｇ２の生成元との間に一対一の関係があり、ｅをｅ：Ｇ１×Ｇ２→ＧＴである双線形写像とし、管理者装置の公開鍵ｇ２は群Ｇ２の生成元から選択されており、各ユーザ装置の秘密鍵はＺｐ＊から選択されており、各ユーザ装置の記憶手段には、保有していることの証明の対象である情報（ユーザ保有情報ｍ）が記憶されており、管理者装置の記憶手段には、ｑｉ（１≦ｉ≦ｎ）を正当なユーザ装置として認められていないユーザ装置の秘密鍵とし、ｂｉ＝ｇ２＾ｑｉとして、正当なユーザ装置として認めていないユーザ装置のリストであるブラックリストBL=(b1,b2,…,bn)が記憶されており、ユーザ装置の認証情報要求手段が、管理者装置の公開鍵ｇ２と自身のユーザ装置の秘密鍵ｑとを用いて群Ｇ２上の演算を行いｇ２ｑを求め、さらにｇ２ｑに対する署名を求める認証情報要求ステップと、ユーザ装置の送信手段が、ユーザ保有情報ｍとｇ２ｑと署名を管理者装置に送信する送信ステップと、管理者装置の受信手段が、ユーザ装置からユーザ保有情報ｍとｇ２ｑと署名を受信する受信ステップと、管理者装置の認証情報生成手段が、ユーザ保有情報ｍとΨ(ｇ２ｑ)とを用いて得られる群Ｇ１の元である情報σを含む認証情報を求める認証情報生成ステップと、管理者装置の送信手段が、情報σを含む認証情報をユーザ装置に送信する送信ステップと、ユーザ装置の受信手段が、ユーザ保有情報ｍとΨ(ｇ２ｑ)とを用いて得られた群Ｇ１の元である情報σを含む認証情報を管理者装置から受信する受信ステップと、ユーザ装置の認証情報掩蔽手段が、任意に選択した群Ｇ１の元により情報σに対して群Ｇ１上の演算を行い情報σ１を求め、ユーザ特定担当者装置の群Ｇ２から選択された公開鍵に対する同型写像Ψに対して前記選択された群Ｇ１の元により関連付けられた群Ｇ２の元Ｄを求め、前記選択された群Ｇ１の元とは異なる任意に選択した群Ｇ１の生成元に対して自身のユーザ装置の秘密鍵ｑを用いた群Ｇ１上の演算結果Ｘを求めて、これらの組合せであるアドホック情報を生成する認証情報掩蔽ステップと、ユーザ装置の送信手段が、アドホック情報を検証者装置に送信する送信ステップと、検証者装置の受信手段が、ユーザ装置からアドホック情報を受信する受信ステップと、管理者装置の送信手段が、ブラックリストBL=(b1,b2,…,bn)を検証者装置に送信する送信ステップと、検証者装置の受信手段が、管理者装置からブラックリストBL=(b1,b2,…,bn)を受信する受信ステップと、検証者装置のブラックリスト検証手段が、アドホック情報に含まれる演算結果ＸとブラックリストBLに含まれるb1,b2,…,bnとの間に双線形写像ｅの双線形性に基づく関係の成立を検証するブラックリスト検証ステップと、検証者装置のアドホック情報検証手段が、アドホック情報に含まれる情報σ１とΨ(ｇ２)との間に双線形写像ｅの双線形性に基づく関係の成立を検証するアドホック情報検証ステップと、検証者装置の送信手段が、アドホック情報に含まれる情報σ１と群Ｇ２の元Ｄをユーザ特定担当者装置に送信する送信ステップと、ユーザ特定担当者装置の受信手段が、検証者装置からアドホック情報に含まれる情報σ１と群Ｇ２の元Ｄを受信する受信ステップと、ユーザ特定担当者装置の認証情報復元手段が、ユーザ特定担当者装置の群Ｇ２から選択された秘密鍵と情報σ１と群Ｇ２の元Ｄを用いて情報σを復元する認証情報復元ステップとを有する。
【００１５】
また、ユーザ装置としてコンピュータを機能させるプログラムによって、コンピュータをユーザ装置として作動処理させることができる。同様に、管理者装置としてコンピュータを機能させるプログラムによって、コンピュータを管理者装置として作動処理させることができる。同様に、検証者装置としてコンピュータを機能させるプログラムによって、コンピュータを検証者装置として作動処理させることができる。同様に、ユーザ特定担当者装置としてコンピュータを機能させるプログラムによって、コンピュータをユーザ特定担当者装置として作動処理させることができる。
【発明の効果】
【００１６】
本発明によれば、上述の技術構成により、匿名証明において、任意のユーザ装置を正当なユーザ装置として認めないことを、ユーザ装置と検証者装置との間の匿名証明のプロセスとは独立に、管理者装置が自由にできるという機能＜１＞と、ユーザ特定担当者装置が、検証時のデータから、ユーザ装置を特定することができるという機能＜２＞とが共に実現される。
【発明を実施するための最良の形態】
【００１７】
《実施形態》
図面を参照して、本発明の実施形態を説明する。
実施形態で説明する本発明の細部においては、整数論における数値計算処理が必要となる場合があるが、整数論における数値計算処理自体は、従来的な技術と同様にして達成されるので、その演算処理方法などの詳細な説明は省略する（この点の技術水準を示す整数論における数値計算処理が可能なソフトウェアとしては、例えばＰＡＲＩ／ＧＰ、ＫＡＮＴ／ＫＡＳＨなどが挙げられる。ＰＡＲＩ／ＧＰについては、例えばインターネット〈URL: http://pari.math.u-bordeaux.fr/〉［平成１９年１月１０日検索］を参照のこと。ＫＡＮＴ／ＫＡＳＨについては、例えばインターネット〈URL: http://www.math.tu-berlin.de/algebra/〉［平成１９年１月１０日検索］を参照のこと。）。
また、この点に関する文献として、参考文献１を挙げることができる。
（参考文献１）  H. Cohen, "A Course in Computational Algebraic Number Theory", GTM 138, Springer-Verlag, 1993.
【００１８】
［管理者装置］
図１は、実施形態に係わる管理者装置１００のハードウェア構成を例示した構成ブロック図である。
【００１９】
図１に例示するように、管理者装置１００は、キーボードなどが接続可能な入力部１１、液晶ディスプレイなどが接続可能な出力部１２、管理者装置１００外部に通信可能な通信装置（例えば通信ケーブル）が接続可能な通信部１３、ＣＰＵ（Central Processing Unit）１４（キャッシュメモリなどを備えていてもよい。）、メモリであるＲＡＭ１５やＲＯＭ１６、ハードディスクである外部記憶装置１７並びにこれらの入力部１１、出力部１２、通信部１３、ＣＰＵ１４、ＲＡＭ１５、ＲＯＭ１６、外部記憶装置１７間のデータのやり取りが可能なように接続するバス１８を有している。また必要に応じて、管理者装置１００に、ＣＤ−ＲＯＭなどの記憶媒体を読み書きできる装置（ドライブ）などを設けるとしてもよい。このようなハードウェア資源を備えた物理的実体としては、汎用コンピュータなどがある。
【００２０】
管理者装置１００の外部記憶装置１７には、認証情報の生成等に関わるプログラムおよびこのプログラムの処理において必要となるデータなどが記憶されている（外部記憶装置に限らず、例えば読み出し専用記憶装置であるＲＯＭにプログラムやデータなどを記憶させておくなどでもよい。）。また、これらのプログラムの処理によって得られるデータなどは、ＲＡＭや外部記憶装置などに適宜に記憶される。以下、演算結果やその格納領域のアドレスなどを記憶するＲＡＭ１５やレジスタなどの記憶装置を単に「記憶部」と呼ぶことにする。
【００２１】
より具体的には、管理者装置１００の外部記憶装置１７（あるいはＲＯＭなど）には、鍵生成するためのプログラム、認証情報を生成するためのプログラム、通信制御するためのプログラム並びにこれらのプログラムの処理において必要となるデータなどが記憶されている。
【００２２】
管理者装置１００では、外部記憶装置１７（あるいはＲＯＭなど）に記憶された各プログラムとこの各プログラムの処理に必要なデータが必要に応じて記憶部１９に読み込まれて、適宜にＣＰＵ１４で解釈実行・処理される。その結果、ＣＰＵ１４が所定の機能（鍵生成部、認証情報生成部、通信制御部）を実現する。
【００２３】
［ユーザ装置］
図２は、実施形態に係わるユーザ装置２００のハードウェア構成を例示した構成ブロック図である。
【００２４】
図２に例示するように、ユーザ装置２００は、キーボードなどが接続可能な入力部２１、液晶ディスプレイなどが接続可能な出力部２２、ユーザ装置２００外部に通信可能な通信装置（例えば通信ケーブル）が接続可能な通信部２３、ＣＰＵ（Central Processing Unit）２４（キャッシュメモリなどを備えていてもよい。）、メモリであるＲＡＭ２５やＲＯＭ２６、ハードディスクである外部記憶装置２７並びにこれらの入力部２１、出力部２２、通信部２３、ＣＰＵ２４、ＲＡＭ２５、ＲＯＭ２６、外部記憶装置２７間のデータのやり取りが可能なように接続するバス２８を有している。また必要に応じて、ユーザ装置２００に、ＣＤ−ＲＯＭなどの記憶媒体を読み書きできる装置（ドライブ）などを設けるとしてもよい。このようなハードウェア資源を備えた物理的実体としては、汎用コンピュータなどがある。
【００２５】
ユーザ装置２００の外部記憶装置２７には、匿名証明等に関わるプログラムおよびこのプログラムの処理において必要となるデータなどが記憶されている（外部記憶装置に限らず、例えば読み出し専用記憶装置であるＲＯＭにプログラムやデータなどを記憶させておくなどでもよい。）。また、これらのプログラムの処理によって得られるデータなどは、ＲＡＭや外部記憶装置などに適宜に記憶される。以下、演算結果やその格納領域のアドレスなどを記憶するＲＡＭ２５やレジスタなどの記憶装置を単に「記憶部」と呼ぶことにする。
【００２６】
より具体的には、ユーザ装置２００の外部記憶装置２７（あるいはＲＯＭなど）には、鍵生成するためのプログラム、認証情報の生成を要求するためのプログラム、認証情報の正当性を確認するためのプログラム、認証情報を匿名証明毎にアドホックな情報を生成するためのプログラム、ゼロ知識証明を実行するためのプログラム、通信制御するためのプログラム並びにこれらのプログラムの処理において必要となるデータ（ユーザ保有情報ｍなど）などが記憶されている。
【００２７】
ユーザ保有情報ｍは、人間的な観点から意味づけする（例えば、ユーザ保有情報ｍが財産権などの権利を表象する場合や、何らかの事実を表す場合などである。）こともできるものであるが、ソフトウェアとハードウェアとの協働による情報処理の観点からは、コンピュータで情報処理（より詳しくはコンピュータで演算可能な演算体系下での演算処理）を行うことのできるデータである。ユーザ保有情報ｍは、ユーザ装置ごとに異なるものであってよい。
【００２８】
ユーザ装置２００では、外部記憶装置２７（あるいはＲＯＭなど）に記憶された各プログラムとこの各プログラムの処理に必要なデータが必要に応じて記憶部２９に読み込まれて、適宜にＣＰＵ２４で解釈実行・処理される。その結果、ＣＰＵ２４が所定の機能（鍵生成部、認証情報要求部、認証情報確認部、認証情報掩蔽部、ゼロ知識証明部、通信制御部）を実現する。
【００２９】
［検証者装置］
図３は、実施形態に係わる検証者装置３００のハードウェア構成を例示した構成ブロック図である。
【００３０】
図３に例示するように、検証者装置３００は、キーボードなどが接続可能な入力部３１、液晶ディスプレイなどが接続可能な出力部３２、検証者装置３００外部に通信可能な通信装置（例えば通信ケーブル）が接続可能な通信部３３、ＣＰＵ（Central Processing Unit）３４（キャッシュメモリなどを備えていてもよい。）、メモリであるＲＡＭ３５やＲＯＭ３６、ハードディスクである外部記憶装置３７並びにこれらの入力部３１、出力部３２、通信部３３、ＣＰＵ３４、ＲＡＭ３５、ＲＯＭ３６、外部記憶装置３７間のデータのやり取りが可能なように接続するバス３８を有している。また必要に応じて、検証者装置３００に、ＣＤ−ＲＯＭなどの記憶媒体を読み書きできる装置（ドライブ）などを設けるとしてもよい。このようなハードウェア資源を備えた物理的実体としては、汎用コンピュータなどがある。
【００３１】
検証者装置３００の外部記憶装置３７には、匿名証明やユーザ特定に関わるプログラムおよびこのプログラムの処理において必要となるデータなどが記憶されている（外部記憶装置に限らず、例えば読み出し専用記憶装置であるＲＯＭにプログラムやデータなどを記憶させておくなどでもよい。）。また、これらのプログラムの処理によって得られるデータなどは、ＲＡＭや外部記憶装置などに適宜に記憶される。以下、演算結果やその格納領域のアドレスなどを記憶するＲＡＭ３５やレジスタなどの記憶装置を単に「記憶部」と呼ぶことにする。
【００３２】
より具体的には、検証者装置３００の外部記憶装置３７（あるいはＲＯＭなど）には、ゼロ知識証明を実行するためのプログラム、匿名証明相手のユーザ装置が管理者装置の作成したブラックリストにリストアップされているか否かを検証するためのプログラム、匿名証明相手のユーザ装置が作成したアドホック情報を検証するためのプログラム、後述するユーザ特定担当者装置が実質的に特定したユーザ装置を確認するためのプログラム、通信制御するためのプログラム並びにこれらのプログラムの処理において必要となるデータなどが記憶されている。
【００３３】
検証者装置３００では、外部記憶装置３７（あるいはＲＯＭなど）に記憶された各プログラムとこの各プログラムの処理に必要なデータが必要に応じて記憶部３９に読み込まれて、適宜にＣＰＵ３４で解釈実行・処理される。その結果、ＣＰＵ３４が所定の機能（ゼロ知識証明部、ブラックリスト検証部、アドホック情報検証部、ユーザ確認部、通信制御部）を実現する。
【００３４】
［ユーザ特定担当者装置］
図４は、実施形態に係わるユーザ特定担当者装置４００のハードウェア構成を例示した構成ブロック図である。
【００３５】
図４に例示するように、ユーザ特定担当者装置４００は、キーボードなどが接続可能な入力部４１、液晶ディスプレイなどが接続可能な出力部４２、ユーザ特定担当者装置４００外部に通信可能な通信装置（例えば通信ケーブル）が接続可能な通信部４３、ＣＰＵ（Central Processing Unit）４４（キャッシュメモリなどを備えていてもよい。）、メモリであるＲＡＭ４５やＲＯＭ４６、ハードディスクである外部記憶装置４７並びにこれらの入力部４１、出力部４２、通信部４３、ＣＰＵ４４、ＲＡＭ４５、ＲＯＭ４６、外部記憶装置４７間のデータのやり取りが可能なように接続するバス４８を有している。また必要に応じて、ユーザ特定担当者装置４００に、ＣＤ−ＲＯＭなどの記憶媒体を読み書きできる装置（ドライブ）などを設けるとしてもよい。このようなハードウェア資源を備えた物理的実体としては、汎用コンピュータなどがある。
【００３６】
ユーザ特定担当者装置４００の外部記憶装置４７には、ユーザ特定に関わるプログラムおよびこのプログラムの処理において必要となるデータなどが記憶されている（外部記憶装置に限らず、例えば読み出し専用記憶装置であるＲＯＭにプログラムやデータなどを記憶させておくなどでもよい。）。また、これらのプログラムの処理によって得られるデータなどは、ＲＡＭや外部記憶装置などに適宜に記憶される。以下、演算結果やその格納領域のアドレスなどを記憶するＲＡＭ４５やレジスタなどの記憶装置を単に「記憶部」と呼ぶことにする。
【００３７】
より具体的には、ユーザ特定担当者装置４００の外部記憶装置４７（あるいはＲＯＭなど）には、鍵生成するためのプログラム、検証者装置から送られた情報を基に認証情報を復元するためのプログラム、ゼロ知識証明を実行するためのプログラム、通信制御するためのプログラム並びにこれらのプログラムの処理において必要となるデータなどが記憶されている。
【００３８】
ユーザ特定担当者装置４００では、外部記憶装置４７（あるいはＲＯＭなど）に記憶された各プログラムとこの各プログラムの処理に必要なデータが必要に応じて記憶部４９に読み込まれて、適宜にＣＰＵ４４で解釈実行・処理される。その結果、ＣＰＵ４４が所定の機能（鍵生成部、ゼロ知識証明部、認証情報復元部、通信制御部）を実現する。
【００３９】
［匿名証明システムの構成］
実施形態の匿名システムのネットワーク構成について説明する。
図５は、実施形態の匿名証明システム５００のネットワーク構成を示す図である。
【００４０】
図５に示すように、匿名証明システム５００は、一つの管理者装置１００と、一つのユーザ特定担当者装置４００と、一つの検証者装置３００と、一般的に複数のユーザ装置２００とで構成される。なお、匿名証明システム５００において、検証者装置３００、ユーザ特定担当者装置４００はそれぞれ１つずつに限定されるものではないが、それぞれ１つで十分である。
【００４１】
これらの装置間のうち少なくとも、管理者装置１００とユーザ装置２００との間、ユーザ装置２００と検証者装置３００との間、管理者装置１００と検証者装置３００との間、検証者装置３００とユーザ特定担当者装置４００との間は、相互に通信可能であるとする。これらの装置間での通信方法は従来方法に拠ればよい。また実施形態によっては、管理者装置１００とユーザ特定担当者装置４００との間が相互に通信可能であるとしてもよい。
【００４２】
この明細書では、基本的な実施形態を示しており、本発明の趣旨を逸脱するものでないならば、種々の実施の形態に拡張可能である。
【００４３】
[匿名証明]
以下、図６〜図１４を参照しながら匿名証明システム５００における処理全般を叙述的に説明する。
【００４４】
≪定義≫
PK{(α1,α2,…,αn):exp1(α1,α2,…,αn),exp2(α1,α2,…,αn),…,expm(α1,α2,…,αn)}を、α1,α2,…,αnを含む式exp1,exp2,…,expmが同時に成立するα1,α2,…,αnの値を知っていることに関するゼロ知識証明を行うプロトコルとする。
【００４５】
また、Ｇ１、Ｇ２は以下の性質を満足する群とする。
（１）Ｇ１およびＧ２は素数位数ｐの巡回群である。Ｇ１＝Ｇ２であってもよい。
（２）ｇ１はＧ１の生成元、ｇ２をＧ２の生成元とする。群Ｇ１、Ｇ２は、少なくとも３つの生成元を持つ。
（３）ΨはＧ２からＧ１への同型写像であって、Ψ(ｇ２)＝ｇ１を満足する。つまり、Ｇ１の生成元とＧ２の生成元との間に一対一の関係がある。
（４）ｅはｅ：Ｇ１×Ｇ２→ＧＴである双線形写像で｜Ｇ１｜＝｜Ｇ２｜＝｜ＧＴ｜＝ｐである。｜・｜は群の位数を表す。このとき、双線形性から、任意のｕ∈Ｇ１、ｖ∈Ｇ２およびａ，ｂ∈Ｚｐ＊に対して、e(ua,vb)=e(u,v)abが成立する。Ｚｐ＊は、１以上ｐ未満の整数集合である。
（５）e(ｇ１,ｇ２)≠１を満足する（ここで１は群ＧＴの単位元である。）。即ち、e(ｇ１,ｇ２)は群ＧＴの生成元となる。
【００４６】
なお、実装上の観点からは、ｅ、Ψ並びにＧ１、Ｇ２、ＧＴ上の演算は高速に（例えば多項式時間で）実行可能とするのが好ましい。
【００４７】
双線形写像ｅの例としてペアリング（pairing）が挙げられる（参考文献２参照）。また、同型写像Ψの例としてdistortion写像が挙げられる（参考文献３参照）。
以上で、≪定義≫の説明は終わりである。
（参考文献２）岡本栄司、岡本健、金山直樹、“ペアリングに関する最近の研究動向”、電子情報通信学会  基礎・境界ソサイエティ、[平成２０年１月８日検索]、インターネット〈http://w2.gakkai-web.net/gakkai/ieice/vol1pdf/vol1_051.pdf〉
（参考文献３）岡本龍明、「暗号理論の最新事情」、日本評論社、数学セミナー２００５年９月号、pp56-60.
【００４８】
≪準備≫
次に、鍵生成について説明する。
管理者装置１００の鍵生成部１０１は、ランダムに群Ｇ２の生成元ｇ２、ｕ２、ｖ２を選択する。さらに鍵生成部１０１は、ｘ∈Ｚｐ＊をランダムに選びｇ２ｘを演算し、この演算結果ｇ２ｘをｗ２として保存する（演算結果を保存する処理を記号←を用いてｗ２←ｇ２ｘと表す。これは演算結果ｇ２ｘをｗ２に代入する処理と考えても差し支えない。）。
【００４９】
ユーザ装置２００の鍵生成部２０１は、ランダムにｑ∈Ｚｐ＊を選ぶ。さらに鍵生成部２０１は、或る署名方式の公開鍵と秘密鍵の対（ｐｋｕ、ｓｋｕ）を生成する。
【００５０】
ユーザ特定担当者装置４００の鍵生成部４０１は、ランダムにξ，η∈Ｚｐ＊を選びＵ←ｇ２ξ、Ｖ←ｇ２ηを行う。
【００５１】
管理者装置１００、ユーザ装置２００、ユーザ特定担当者装置４００の公開鍵、秘密鍵は次のとおりである。
管理者装置１００の公開鍵  ：  ｇ２，ｕ２，ｖ２，ｗ２
管理者装置１００の秘密鍵  ：  ｘ
ユーザ装置２００の公開鍵  ：  ｐｋｕ
ユーザ装置２００の秘蜜鍵  ：  ｑ，ｓｋｕ
ユーザ特定担当者装置４００の公開鍵  ：  Ｕ，Ｖ
ユーザ特定担当者装置４００の秘密鍵  ：  ξ，η
【００５２】
秘密鍵および公開鍵はそれぞれ対応する装置の記憶部に記憶され、さらに公開鍵は必要に応じて各装置の記憶部にも記憶されているとする（公開鍵は各装置間で通信して配信済みとする。勿論、演算の必要に応じて公開鍵を配信する構成であってもよい。いずれにしても、演算時にはその演算を行う装置に演算に必要な公開鍵が記憶されているとする。）。
【００５３】
また、群Ｇ１、群Ｇ２、群ＧＴ、同型写像Ψおよび双線形写像ｅは、匿名証明システム５００に固有のものとして定められているとする。つまり、管理者装置１００、ユーザ装置２００、ユーザ特定担当者装置４００は、必要に応じて、匿名証明システム５００に固有に定められた同型写像Ψあるいは双線形写像ｅを用いた演算、群Ｇ１上の演算、群Ｇ２上の演算、群ＧＴ上の演算を行う。
【００５４】
≪認証情報生成手続≫
ユーザ装置２００に記憶されるユーザ保有情報ｍから管理者装置１００がユーザ保有情報ｍに対する認証情報を生成して、ユーザ装置２００がこれを受領する認証情報生成手続を説明する。
【００５５】
ユーザ装置２００の認証情報要求部２０２は、ユーザ装置２００の秘密鍵ｑと管理者装置１００の公開鍵ｇ２を用いてｇ２ｑを求め、さらにユーザ装置２００の秘密鍵ｓｋｕを用いてｇ２ｑに対する前記署名方式に従った署名ｓｉｇｕを作成する（ステップＳａ１）。情報ｇ２ｑはユーザ装置２００を識別する情報である。
【００５６】
そして、ユーザ装置２００の通信制御部２０３は、ユーザ装置２００の通信部２３を制御して、固有情報（ｇ２ｑ，ｓｉｇｕ，ｍ）を管理者装置１００に送信する（ステップＳａ２）。
【００５７】
管理者装置１００の通信制御部１０３は、管理者装置１００の通信部１３を介して、ユーザ装置２００から送信された固有情報（ｇ２ｑ，ｓｉｇｕ，ｍ）を受信する（ステップＳａ３）。
【００５８】
そして、管理者装置１００の認証情報生成部１０２は、ユーザ装置２００の公開鍵ｐｋｕを用いて署名ｓｉｇｕを検証する。認証情報生成部１０２は、この検証に成功した場合、ｒ，ｓ∈Ｚｐ＊をランダムに選び、σ←（ｇ１ｍｇ１ｑｕ１ｖ１ｓ）１／（ｘ＋ｒ）を行い、（σ，ｒ，ｓ，ｇ２ｑ，ｓｉｇｕ，ｍ）の組み合わせを管理者装置１００の記憶部にデータベースとして記憶する（ステップＳａ４）。組み合わせ（σ，ｒ，ｓ）が認証情報に相当する。ここで、ｇ１＝Ψ(ｇ２)，ｕ１＝Ψ(ｕ２)，ｖ１＝Ψ(ｖ２)、ｇ１ｑ＝Ψ(ｇ２ｑ)が成立する。なお、この検証に失敗した場合、適宜の設計事項であるが、例えば認証情報生成手続を中止すればよい。
【００５９】
次に、管理者装置１００の通信制御部１０３は、管理者装置１００の通信部１３を制御して、認証情報（σ，ｒ，ｓ）をユーザ装置２００に送信する（ステップＳａ５）。
【００６０】
ユーザ装置２００の通信制御部２０３は、ユーザ装置２００の通信部２３を介して、管理者装置１００から送信された認証情報（σ，ｒ，ｓ）を受信する（ステップＳａ６）。
【００６１】
次に、ユーザ装置２００の認証情報確認部２０４は、α←ｗ２ｇ２ｒ，β←ｇ２ｍｇ２ｑｕ２ｖ２ｓを行い、受信した認証情報（σ，ｒ，ｓ）について、e(σ,α)=e(ｇ１,β)という等号関係の成立を確認する（ステップＳａ７）。この確認に成功すれば、管理者装置１００から受信した認証情報（σ，ｒ，ｓ）は正当であり、そのままユーザ装置２００の記憶部に認証情報（σ，ｒ，ｓ）を記憶しておく。もし、確認に失敗すれば、管理者装置１００から受信した認証情報（σ，ｒ，ｓ）は正当のものとして評価できないから、適宜の設計事項であるが、例えば認証情報生成手続を中止し、あるいは再度、認証情報生成手続をやり直すようにしてもよい。
【００６２】
[e(σ,α)=e(ｇ１,β)の成立に関する補足説明]
（補題）任意のｕ，ｖ∈Ｇ２に対してe(Ψ(u),v)=e(Ψ(v),u)が成立する。
（証明）≪定義≫の（２）からｕ＝ｇ２ｚ，ｖ＝ｇ２ｙ（ｚ，ｙ∈Ｚｐ＊）とする。このとき、e(Ψ(u),v)=e(Ψ(g2z),g2y)=e(Ψ(g2),g2)zy、e(Ψ(v),u)=e(Ψ(g2y),g2z)=e(Ψ(g2),g2)zyである。□
今、σ←（ｇ１ｍｇ１ｑｕ１ｖ１ｓ）１／（ｘ＋ｒ）、α←ｗ２ｇ２ｒ，β←ｇ２ｍｇ２ｑｕ２ｖ２ｓである。ここで、ｗ２←ｇ２ｘであるから、α＝ｇ２ｘ＋ｒが成立する。従って、式（１）が成立する。上記補題を用いると、Ψ(ｇ２)=ｇ１，Ψ(ｇ２ｍｇ２ｑｕ２ｖ２ｓ)=ｇ１ｍｇ１ｑｕ１ｖ１ｓが成立するから、e(ｇ１ｍｇ１ｑｕ１ｖ１ｓ,ｇ２)=e(ｇ１,ｇ２ｍｇ２ｑｕ２ｖ２ｓ)である。■
【数１】
0004914376.tif 000002
【００６３】
上記認証情報生成手続は、複数のユーザ装置について、各ユーザ装置と管理者装置との間で実施される。
【００６４】
≪ブラックリスト配布手続≫
管理者装置１００は、定期ないし不定期に、正当なユーザ装置として認めていないユーザ装置のリスト（ブラックリスト；ＢＬ）を作成し、このブラックリストを管理者装置１００の記憶部に記憶する。ブラックリストの作成手続は、本発明が容喙するものではなく、任意の事由を契機として、任意の手法によって達成される。但し、この実施形態ではブラックリストをBL=(b1,b2,…,bn)とする。ここで、ｑｉ（１≦ｉ≦ｎ）を正当なユーザ装置として認められていないユーザ装置の秘密鍵とすると、ｂｉ＝ｇ２＾ｑｉである。ａ＾ｂはａｂを表す。要するに、ブラックリストＢＬはユーザ装置から受信した固有情報に含まれる情報ｇ２ｑを用いて構成されている。
【００６５】
管理者装置１００の通信制御部１０３は、管理者装置１００の通信部１３を制御して、ブラックリストBL=(b1,b2,…,bn)を検証者装置３００に送信する（ステップＳｂ１）。この処理は、定期ないし不定期に管理者装置１００から検証者装置３００へ一方的に行われるものでもよいし、後に述べる匿名証明手続の開始に際して検証者装置３００から管理者装置１００へのブラックリスト要求に応じてなされるものでもよい。
【００６６】
検証者装置３００の通信制御部３０３は、検証者装置３００の通信部３３を介して、管理者装置１００から送信されたブラックリストBL=(b1,b2,…,bn)を受信する（ステップＳｂ２）。受信されたブラックリストBL=(b1,b2,…,bn)は、検証者装置３００の記憶部に記憶される。なお、離散対数問題の困難性に基づき、検証者装置３００がBL=(b1,b2,…,bn)からユーザ装置を特定することは多項式時間で困難である。
【００６７】
上記ブラックリスト配布手続は、複数の検証者装置が存在する場合、各検証者装置と管理者装置との間で実施される。
【００６８】
≪匿名証明手続≫
或るユーザ装置が、検証者装置に対して、権限を有する者（管理者装置）から認められた正当なユーザ装置であり（つまり、ブラックリストＢＬに含まれるユーザ装置ではないこと）、且つ、ユーザ保有情報ｍを持っていることを匿名証明する手続を説明する。この手続は、一つのユーザ装置と一つの検証者装置との二者間の手続である。
【００６９】
ユーザ装置２００の認証情報掩蔽部２０５は、匿名証明手続の度に、ランダムにλ，ζ，θ，μ∈Ｚｐ＊とｆ，ｈ∈Ｇ１′（Ｇ１′は巡回群Ｇ１の生成元の集合である。）を選び、ｇ２μを求めて、
σ１←σｇ１λ＋ζ＝（ｇ１ｍｇ１ｑｕ１ｖ１ｓ）１／（ｘ＋ｒ）ｇ１λ＋ζ、
α１←（ｗ２ｇ２ｒ）θ、
β１←（ｇ２ｍｇ２ｑｕ２ｖ２ｓ）θα１λ＋ζ、
γ←Ψ(Ｕ)λ、
δ←Ψ(Ｖ)ζ、
Ｘ←ｆｑｈμ
を行う（ステップＳｃ１）。これらの組み合わせをアドホック情報（σ１，α１，β１，γ，δ，Ｘ，ｆ，ｈ，ｇ２μ）とする。認証情報を構成するσから匿名証明手続の度にσ１を求める理由は次のとおりである。認証情報を構成するσを匿名証明に直接的に用いると、（匿名証明手続の度に同じσを用いることから）以前に証明を行ったユーザ装置と同じユーザ装置であるか否かを検証者装置が判断できてしまう。そこで、匿名証明手続の度にσとランダムに選択したλ，ζ∈Ｚｐ＊を用いて匿名証明手続の度にアドホックなσ１を生成し、このσ１を検証者装置に送信することで、以前に証明を行ったユーザ装置と同じユーザ装置であるか否かを検証者装置が判断できてしまうことを防止するのである。また、σ１に併せて、ユーザ特定担当者装置４００の公開鍵Ｕ，Ｖを用いてγとδを求める理由は、ユーザ特定担当者装置４００がσ１、γ、δを用いて認証情報を構成するσを回復するためであり、この詳細は後に述べる。
【００７０】
そして、ユーザ装置２００の通信制御部２０３は、ユーザ装置２００の通信部２３を制御して、アドホック情報（σ１，α１，β１，γ，δ，Ｘ，ｆ，ｈ，ｇ２μ）を検証者装置３００に送信する（ステップＳｃ２）。
【００７１】
検証者装置３００の通信制御部３０３は、検証者装置３００の通信部３３を介して、ユーザ装置２００から送信されたアドホック情報（σ１，α１，β１，γ，δ，Ｘ，ｆ，ｈ，ｇ２μ）を受信する（ステップＳｃ３）。
【００７２】
次に、ユーザ装置２００のゼロ知識証明部２０６と検証者装置３００のゼロ知識証明部３０１とが、ユーザ装置２００をゼロ知識証明の証明者の立場とし、検証者装置３００をゼロ知識証明の検証者の立場として、ゼロ知識証明PK{(ｑ,μ):Ｘ＝ｆｑｈμ}を行う（図ではPK{(ｑ,μ)}と略記してある。ステップＳｃ４）。本発明では、このゼロ知識証明を実現するプロトコルに制限はない。このゼロ知識証明プロトコルは、次の処理でe(Ｘ,ｇ２)=e(ｆ,ｂｉ)e(ｈ,ｇ２μ)という等号関係の成立を判定するに際して、ユーザ装置２００から送信されたアドホック情報（σ１，α１，β１，γ，δ，Ｘ，ｆ，ｈ，ｇ２μ）に対する秘密情報(ｑ,μ)をユーザ装置２００が知っていることを確信的に証明するものである。このゼロ知識証明が失敗した場合、秘密情報(ｑ,μ)をユーザ装置２００が知っていない（つまり、何らかの不正を行いアドホック情報を作成した）ことから、「検証失敗」として匿名証明手続を終了する。
【００７３】
次に、検証者装置３００のブラックリスト検証部３０２は、e(Ｘ,ｇ２)=e(ｆ,ｂｉ)e(ｈ,ｇ２μ)という等号関係の成立を、検証装置３００の記憶部に記憶されたブラックリストBL=(b1,b2,…,bn)の各ｂｉ（１≦ｉ≦ｎ）について判定する（ステップＳｃ５）。もし、ブラックリストBL=(b1,b2,…,bn)に含まれるいずれかのｂｊについて前記等号関係が成立した場合、このユーザ装置２００は権限のある管理者装置１００から正当なユーザ装置として認められていないことを意味するので、「検証失敗」として匿名証明手続を終了する。
【００７４】
ブラックリストBL=(b1,b2,…,bn)に含まれるいずれのｂｉ（１≦ｉ≦ｎ）についても前記等号関係が成立しなかった場合、ユーザ装置２００は、権限を有する者（管理者装置）から認められた正当なユーザ装置であることを意味する。そこで、検証者装置３００のアドホック情報検証部３０４は、アドホック情報を用いて認証情報の正当性を検証する。この検証の成功は、ユーザ装置がユーザ保有情報ｍを持っていることを意味する。
【００７５】
具体的には、アドホック情報検証部３０４は、e(σ１,α１)=e(ｇ１,β１)という等号関係の成立を判定する（ステップＳｃ６）。この等号関係が成立しない場合、ユーザ装置２００がユーザ保有情報ｍを持っていないことを意味するので、「検証失敗」として匿名証明手続を終了する。
【００７６】
この等号関係が成立した場合、ユーザ装置２００のゼロ知識証明部２０６と検証者装置３００のゼロ知識証明部３０１とが、ユーザ装置２００をゼロ知識証明の証明者の立場とし、検証者装置３００をゼロ知識証明の検証者の立場として、ゼロ知識証明PK{(θ,ｑθ,ｒθ,ｓθ,λ,ζ):α１=ｗ２θｇ２ｒθ,β１=（ｇ２ｍ）θｇ２ｑθｕ２θｖ２ｓθα１λ＋ζ,γ=Ψ(Ｕ)λ,δ=Ψ(Ｖ)ζ,θ≠０}を行う（図ではPK{(θ,ｑθ,ｒθ,ｓθ,λ,ζ)}と略記してある。ステップＳｃ７）。本発明では、このゼロ知識証明を実現するプロトコルに制限はない。このゼロ知識証明プロトコルは、前の処理でe(σ１,α１)=e(ｇ１,β１)という等号関係の成立を判定するに際して、ユーザ装置２００から送信されたアドホック情報（σ１，α１，β１，γ，δ，Ｘ，ｆ，ｈ，ｇ２μ）に対する秘密情報(θ,ｑθ,ｒθ,ｓθ,λ,ζ)をユーザ装置２００が知っていることを確信的に証明するものである。このゼロ知識証明が成功した場合、ユーザ装置が、権限を有する者（管理者装置）から認められた正当なユーザ装置であり（つまり、ブラックリストＢＬに含まれるユーザ装置ではないこと）、且つ、ユーザ保有情報ｍを持っていることが証明できたことになり、匿名証明手続を終了する。このゼロ知識証明が失敗した場合、検証に用いたアドホック情報に対する秘密情報をユーザ装置２００が知っていない（つまり、何らかの不正を行いアドホック情報を作成した）ことから、「検証失敗」として匿名証明手続を終了する。
【００７７】
≪ユーザ特定手続≫
或る成功した匿名証明手続がどのユーザ装置によって行われたかを特定する手続について説明する。この手続は、ユーザの不正行為などの事由を契機として実施される。ユーザ装置の実質的特定はユーザ特定担当者装置４００が行い、検証者装置３００が当該ユーザ装置を具体的に特定する情報を入手する。
【００７８】
検証者装置３００の通信制御部３０３は、検証者装置３００の通信部３３を制御して、特定したいユーザ装置２００が行った匿名証明手続で入手したアドホック情報のうち（σ１，γ，δ）を、ユーザ特定担当者装置４００に送信する（ステップＳｄ１）。
【００７９】
ユーザ特定担当者装置４００の通信制御部４０３は、ユーザ特定担当者装置４００の通信部４３を介して、検証者装置３００から送信された（σ１，γ，δ）を受信する（ステップＳｄ２）。
【００８０】
次に、ユーザ特定担当者装置４００の認証情報復元部４０４は、（σ１，γ，δ）を用いて、σ←σ１／（γ１／ξδ１／η）を行う（ステップＳｄ３）。σ１から復元されたσは、認証情報を構成するものであり、ユーザ装置と一対一に関係付けられたものであるから、このσによって実質的にユーザ装置の特定がなされたことになる。但し、このσは直接的に特定のユーザ装置を明示するものではないから、このσから具体的にユーザ装置を特定する必要がある。この実施形態では、これを検証者装置３００が行う。
【００８１】
そこで、ユーザ特定担当者装置４００の通信制御部４０３は、ユーザ特定担当者装置４００の通信部４３を制御して、前の処理で求めたσを検証者装置３００に送信する（ステップＳｄ４）。
【００８２】
検証者装置３００の通信制御部３０３は、検証者装置３００の通信部３３を介して、ユーザ特定担当者装置４００から送信されたσを受信する（ステップＳｄ５）。
【００８３】
続いて、ユーザ特定担当者装置４００のゼロ知識証明部４０２と検証者装置３００のゼロ知識証明部３０１とが、ユーザ特定担当者装置４００をゼロ知識証明の証明者の立場とし、検証者装置３００をゼロ知識証明の検証者の立場として、ゼロ知識証明PK{(ξ,η):Ｕ＝ｇ２ξ,Ｖ＝ｇ２η,σ＝σ１／（γ１／ξδ１／η）}を行う（図ではPK{(ξ,η)}と略記してある。ステップＳｄ６）。本発明では、このゼロ知識証明を実現するプロトコルに制限はない。このゼロ知識証明プロトコルは、ユーザ特定担当者装置４００がσの復元に際して秘密情報(ξ,η)を知っていたことを確信的に証明するものである。このゼロ知識証明が失敗した場合、秘密情報(ξ,η)をユーザ特定担当者装置４００が知っていない（つまり、何らかの不正を行いσを生成した）ことから、ユーザ特定手続を中止する。
【００８４】
このゼロ知識証明が成功した場合、検証者装置３００は、管理者装置１００の記憶部にデータベースとして記憶されている、σに対応する（ｒ，ｓ，ｇ２ｑ，ｓｉｇｕ，ｍ）を入手する（ステップＳｄ７）。
【００８５】
この入手手法として例えば、次のような方式を採用できる。検証者装置３００の通信制御部３０３が、検証者装置３００の通信部３３を制御して、ユーザ特定担当者装置４００から受信したσを管理者装置１００に送信し、管理者装置１００の通信制御部１０３は、管理者装置１００の通信部１３を介して、検証者装置３００から送信されたσを受信する。管理者装置１００の通信制御部１０３は、受信したσと同じ値を持つ、管理者装置１００の記憶部にデータベースとして記憶されている（ｒ，ｓ，ｇ２ｑ，ｓｉｇｕ，ｍ）を、管理者装置１００の通信部１３を制御して検証者装置３００に送信し、検証者装置３００の通信制御部３０３は、検証者装置３００の通信部３３を介して、管理者装置１００から送信された（ｒ，ｓ，ｇ２ｑ，ｓｉｇｕ，ｍ）を受信する。
【００８６】
（ｒ，ｓ，ｇ２ｑ，ｓｉｇｕ，ｍ）を入手すると、検証者装置３００のユーザ確認部３０５は、e(σ,ｗ２ｇ２ｒ)=e(ｇ１,ｇ２ｍｇ２ｑｕ２ｖ２ｓ)という等号関係の成立および署名ｓｉｇｕがｇ２ｑに対する正しい署名であるか否かを判定する（ステップＳｄ８）。なお、この署名検証は、ｓｉｇｕからわかるユーザ装置の公開鍵ｐｋＵで検証できる。これらの判定に成功した場合、この署名の公開鍵に対応するユーザ装置が、特定対象のユーザ装置であると確認できる。
【００８７】
この実施形態では、（σ，ｒ，ｓ，ｇ２ｑ，ｓｉｇｕ，ｍ）の入手手法として、まずユーザ特定担当者装置４００が復元したσを管理者装置３００に送信し、両者間でゼロ知識証明を行った上で、管理者装置３００が（σ，ｒ，ｓ，ｇ２ｑ，ｓｉｇｕ，ｍ）を入手するものであったが、次のような方式を採用することもできる。
【００８８】
ユーザ特定担当者装置４００の認証情報復元部４０４がσを復元すると、ユーザ特定担当者装置４００の通信制御部４０３は、ユーザ特定担当者装置４００の通信部４３を制御して、復元したσを検証者装置３００に送信する。管理者装置１００の通信制御部１０３は、管理者装置１００の通信部１３を介して、ユーザ特定担当者装置４００から送信されたσを受信する。管理者装置１００の通信制御部１０３は、受信したσと同じ値を持つ、管理者装置１００の記憶部にデータベースとして記憶されている（σ，ｒ，ｓ，ｇ２ｑ，ｓｉｇｕ，ｍ）を、管理者装置１００の通信部１３を制御してユーザ特定担当者装置４００に送信し、ユーザ特定担当者装置４００の通信制御部４０３は、ユーザ特定担当者装置４００の通信部４３を介して、管理者装置１００から送信された（σ，ｒ，ｓ，ｇ２ｑ，ｓｉｇｕ，ｍ）を受信する。ユーザ特定担当者装置４００の通信制御部４０３は、ユーザ特定担当者装置４００の通信部４３を制御して、前の処理で求めたσおよび（σ，ｒ，ｓ，ｇ２ｑ，ｓｉｇｕ，ｍ）を検証者装置３００に送信する。続いて、ユーザ特定担当者装置４００のゼロ知識証明部４０２と検証者装置３００のゼロ知識証明部３０１とが、ユーザ特定担当者装置４００をゼロ知識証明の証明者の立場とし、検証者装置３００をゼロ知識証明の検証者の立場として、ゼロ知識証明PK{(ξ,η):Ｕ＝ｇ２ξ,Ｖ＝ｇ２η,σ＝σ１／（γ１／ξδ１／η）}を行う。このゼロ知識証明が成功した場合、検証者装置３００は、ユーザ特定担当者装置４００から受信した（σ，ｒ，ｓ，ｇ２ｑ，ｓｉｇｕ，ｍ）を正当なものとして受け容れる。
【００８９】
以上の実施形態の他、管理者装置、ユーザ装置、検証者装置、ユーザ特定担当者装置、匿名証明システムおよびその処理は上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。例えば、上述の実施形態では、認証情報を構成するσを巡回群Ｇ１の３個の生成元を用いて求めたが、ａ個（ａ≧４）の生成元を用いて求めるとし、これに応じてその他の処理で得られる情報を巡回群Ｇ１ないし巡回群Ｇ２のｂ個（ｂ≧４）の生成元を用いて求めるように変更することができる。
【００９０】
また、実施形態において説明した処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されるとしてもよい。
【００９１】
また、管理者装置、ユーザ装置、検証者装置、ユーザ特定担当者装置における処理機能をコンピュータによって実現する場合、管理者装置、ユーザ装置、検証者装置、ユーザ特定担当者装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、管理者装置、ユーザ装置、検証者装置、ユーザ特定担当者装置における処理機能がコンピュータ上で実現される。
【００９２】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ（Random Access Memory）、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）等を、光磁気記録媒体として、ＭＯ（Magneto-Optical disc）等を、半導体メモリとしてＥＥＰ−ＲＯＭ（Electronically Erasable and Programmable-Read Only Memory）等を用いることができる。
【００９３】
また、このプログラムの流通は、例えば、そのプログラムを記録したＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【００９４】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるＡＳＰ（Application Service Provider）型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの（コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等）を含むものとする。
【００９５】
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、管理者装置、ユーザ装置、検証者装置、ユーザ特定担当者装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【図面の簡単な説明】
【００９６】
【図１】ユーザ装置のハードウェア構成例を示す図。
【図２】管理者装置のハードウェア構成例を示す図。
【図３】検証者装置のハードウェア構成例を示す図。
【図４】ユーザ特定担当者装置のハードウェア構成例を示す図。
【図５】匿名証明システムのネットワーク構成例を示す図。
【図６】各装置での鍵生成を説明する図。
【図７】認証情報生成手続におけるユーザ装置と管理者装置の機能構成例を示すブロック図。
【図８】認証情報生成手続の処理フロー。
【図９】ブラックリスト配布手続における管理者装置と検証者装置の機能構成例を示すブロック図。
【図１０】ブラックリスト配布手続の処理フロー。
【図１１】匿名証明手続におけるユーザ装置と検証者装置の機能構成例を示すブロック図。
【図１２】匿名証明手続の処理フロー。
【図１３】ユーザ特定手続における管理者装置と検証者装置とユーザ特定担当者装置の機能構成例を示すブロック図。
【図１４】ユーザ特定手続の処理フロー。
【符号の説明】
【００９７】
１００      管理者装置
２００      ユーザ装置
３００      検証者装置
４００      ユーザ特定担当者装置
５００      匿名証明システム
１０１      鍵生成部
１０２      認証情報生成部
２０１      鍵生成部
２０２      認証情報要求部
２０４      認証情報確認部
２０５      認証情報掩蔽部
２０６      ゼロ知識証明部
３０１      ゼロ知識証明部
３０２      ブラックリスト検証部
３０４      アドホック情報検証部
３０５      ユーザ確認部
４０１      鍵生成部
４０２      ゼロ知識証明部
４０４      認証情報復元部
【図１】
0004914376.tif 000003
【図２】
0004914376.tif 000004
【図３】
0004914376.tif 000005
【図４】
0004914376.tif 000006
【図５】
0004914376.tif 000007
【図６】
0004914376.tif 000008
【図７】
0004914376.tif 000009
【図８】
0004914376.tif 000010
【図９】
0004914376.tif 000011
【図１０】
0004914376.tif 000012
【図１１】
0004914376.tif 000013
【図１２】
0004914376.tif 000014
【図１３】
0004914376.tif 000015
【図１４】
0004914376.tif 000016