(57)【要約】【課題】検証者がユーザを識別できない匿名認証を実現する。【解決手段】ユーザの属性情報を提供せずに電子証明書の認証を行う匿名認証のための電子証明書を管理する電子証明書管理システムであって、ユーザ装置２からの要求に応答して、同一の内容を保証した互いに異なるＴ枚（Ｔは複数の自然数）の仮デジタル署名を生成してユーザ装置２に送信するサービス提供サーバ３と、サービス提供サーバ３から受信した仮デジタル署名からＴ枚のデジタル署名を抽出し、同一の内容を保証した互いに異なるＴ枚（Ｔは複数の自然数）の電子証明書を取得しＩＣカード２０に格納させる証明書保存手段２６と、記Ｔ枚の電子証明書のうちの任意の１枚の電子証明書を提供して認証を促す証明書送信手段２７を備えたユーザ装置２からなる。【選択図】    図７
2004242195.tif 000002
【特許請求の範囲】
【請求項１】
被認証者の属性情報を提供せずに電子証明書の認証を行う匿名認証における認証を要求する被認証処理方法であって、
同一の内容を保証した互いに異なるＴ枚（Ｔは複数の自然数）の電子証明書を記憶装置に格納し、
前記Ｔ枚の電子証明書のうち、使用する電子証明書の候補をＵ枚（Ｕ≦Ｔ、Ｕは自然数）決定し、
前記Ｕ枚の電子証明書の候補から任意の１枚の電子証明書を前記記憶装置から読み出し提供して認証を促す
ことを特徴とする被認証処理方法。
【請求項２】
被認証者の属性情報を提供せずに電子証明書の認証を行う匿名認証で認証を要求する被認証装置であって、
同一の内容を保証した互いに異なるＴ枚（Ｔは複数の自然数）の電子証明書を取得する電子証明書取得手段と、
前記Ｔ枚の電子証明書のうちの任意の１枚の電子証明書を提供して認証を促す電子証明書提供手段と
を具備してなることを特徴とする被認証装置。
【請求項３】
記憶装置と、
前記電子証明書取得手段が取得した前記Ｔ枚の電子証明書を前記記憶装置に格納させる電子証明書格納手段と、
前記Ｔ枚の電子証明書のうち、使用する電子証明書の候補をＵ枚（Ｕ≦Ｔ、Ｕは自然数）決定する候補決定手段と、
前記候補決定手段で決定された電子証明書の候補から、任意の１枚の電子証明書を選択する証明書選択手段と、
をさらに備えることを特徴とする請求項２に記載の被認証装置。
【請求項４】
被認証者の属性情報を提供せずに電子証明書の認証を行う匿名認証で認証を要求する被認証装置であって、
記憶装置と、
同一の内容を保証した互いに異なるＴ枚（Ｔは複数の自然数）の電子証明書を取得し前記記憶装置に格納させる電子証明書格納手段と、
前記Ｔ枚の電子証明書のうち、使用する電子証明書の候補をＵ枚（Ｕ≦Ｔ、Ｕは自然数）決定する候補決定手段と、
前記候補決定手段で決定された電子証明書の候補から、任意の１枚の電子証明書を選択する証明書選択手段と
を具備してなることを特徴とする被認証装置。
【請求項５】
前記候補決定手段は耐タンパ装置であることを特徴とする請求項３又は４に記載の被認証装置。
【請求項６】
被認証者の属性情報を提供せずに電子証明書の認証を行う匿名認証で認証を要求する被認証装置における被認証処理を実行するための被認証処理プログラムであって、コンピュータに、
同一の内容を保証した互いに異なるＴ枚（Ｔは複数の自然数）の電子証明書を取得する処理と、
前記Ｔ枚の電子証明書のうちの任意の１枚の電子証明書を提供して認証を促す処理と
を実行させるための被認証処理プログラム。
【請求項７】
さらに、前記取得されたＴ枚の電子証明書を記憶装置に格納させる処理と、
前記Ｔ枚の電子証明書のうち、使用する電子証明書の候補をＵ枚（Ｕ≦Ｔ、Ｕは自然数）決定する処理と、
前記候補決定手段で決定された電子証明書の候補から、任意の１枚の電子証明書を選択する処理と、
を実行させるための請求項６に記載の被認証処理プログラム。
【請求項８】
被認証者の属性情報を提供せずに電子証明書の認証を行う匿名認証で認証を要求する被認証装置における被認証処理を実行するための被認証処理プログラムであって、コンピュータに、
同一の内容を保証した互いに異なるＴ枚（Ｔは複数の自然数）の電子証明書を取得する処理と、
前記取得されたＴ枚の電子証明書を記憶装置に格納させる処理と、
前記Ｔ枚の電子証明書のうち、使用する電子証明書の候補をＵ枚（Ｕ≦Ｔ、Ｕは自然数）決定する処理と、
前記候補決定手段で決定された電子証明書の候補から、任意の１枚の電子証明書を選択して前記記憶装置から読み出す処理と
を実行させるための被認証処理プログラム。
【請求項９】
被認証者の属性情報を提供せずに電子証明書の認証を行う匿名認証のための電子証明書を管理する電子証明書管理サーバであって、
被認証装置からの要求に応答して、同一の内容を保証した互いに異なるＴ枚（Ｔは複数の自然数）の仮デジタル署名を生成して前記被認証装置に送信する仮デジタル署名生成手段
を備えることを特徴とする電子証明書管理サーバ。
【請求項１０】
被認証者の属性情報を提供せずに電子証明書の認証を行う匿名認証のための電子証明書を管理するサーバ及び被認証装置からなる電子証明書管理システムであって、
前記サーバは、前記被認証装置からの要求に応答して、同一の内容を保証した互いに異なるＴ枚（Ｔは複数の自然数）の仮デジタル署名を生成して前記被認証装置に送信する仮デジタル署名生成手段を備え、
前記被認証装置は、前記サーバから受信した前記仮デジタル署名からＴ枚のデジタル署名を抽出し、同一の内容を保証した互いに異なるＴ枚（Ｔは複数の自然数）の電子証明書を取得する電子証明書取得手段と、
前記Ｔ枚の電子証明書のうちの任意の１枚の電子証明書を提供して認証を促す電子証明書提供手段と
を備えてなることを特徴とする電子証明書管理システム。
【請求項１１】
前記被認証装置はさらに、
記憶装置と、
前記電子証明書取得手段が取得した前記Ｔ枚の電子証明書を前記記憶装置に格納させる電子証明書格納手段と、
前記Ｔ枚の電子証明書のうち、使用する電子証明書の候補をＵ枚（Ｕ≦Ｔ、Ｕは自然数）決定する候補決定手段と、
前記候補決定手段で決定された電子証明書の候補から、任意の１枚の電子証明書を選択する証明書選択手段と
を備えることを特徴とする請求項１０に記載の電子証明書管理システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、被認証者の個人情報、権利や属性などを認証するために用いる電子証明書を管理する被認証処理方法、被認証装置、被認証処理プログラム、電子証明書管理サーバ及び電子証明書管理システムに関する。
【０００２】
【従来の技術】
被認証主体であるホスト（計算機端末）やユーザを認証するために用いられる電子的な証明書の枠組みとして、「公開鍵証明書」、「属性証明書」、「権利証明書」などが提案、運用されている（非特許文献１，非特許文献３を参照）。これらの証明書を利用した認証は、現在広く普及しているＩＤやパスワードを用いた認証に比較して、ユーザのなりすましやネットワーク上の盗聴などの不正な攻撃に対して強い。従って、医療分野や電子自治体などの外部からの不正な攻撃の排除が強く求められる分野への応用に適しているといえる。
【０００３】
しかしながら、上記のような認証方法は、ユーザ、すなわち電子証明書の所有者のプライバシーを考慮したものではなく、証明書を利用することによって誰もがユーザを特定できるものであった。直接ユーザの個人情報が知られないにしても、電子証明書から個人情報を間接的に追跡し得た。
【０００４】
これに対して、近年、ユーザのプライバシーの保護を考慮し、電子証明書からはユーザが誰かを特定できず、ユーザの有する権利のみが確認できるような認証方法が提案されている（非特許文献４を参照）。この方法では、ユーザの個人情報、権利、属性などを保証するその方法独自の電子証明書を使用し、この証明書を発行する主体（以下、発行者と呼ぶ）と、証明書の正当性を確認してサービスを提供する主体（以下、検証者と呼ぶ）を明確に分離させ、両者が結託しないという前提の下にユーザのプライバシーを確保するものである。発行者は、予めユーザの個人情報、権利、属性などの情報を取得し、審査の上でユーザへ当該方法独自の電子証明書を発行する。一方、電子証明書の検証者は、ユーザから提示された匿名の電子証明書を検証することで、ユーザが誰かを知らなくても、すなわちユーザの個人情報、権利、属性などの情報を知らなくても、電子証明書の正当性を確認することでユーザにサービスを提供する。
【０００５】
これに対して、ユーザのプライバシーをより強く保護するものとして、暗号理論を応用した特許文献１，２，３、非特許文献５に記載された方法がある。この方法では、証明書の検証者だけでなく、発行者に対しても、証明書とその所有者であるユーザの関連づけを暗号理論上困難にしている。また、この方法では、ユーザの個人情報、権利、属性などの情報を記憶している証明書の発行者が同時に証明書の検証者となった場合でも、証明書を検証する段階では、証明書を所有するユーザが誰なのか知り得ないという、一見相反する事情を両立させている。以下ではこの方法を「匿名認証方式」と呼ぶ。
【０００６】
匿名認証方式では、証明書を発行する発行者装置と、証明書を検証する検証者装置はそれぞれを異なる主体が保有してもよく、また１つの同じ主体が２つの装置を保有してもよい。
【０００７】
証明書の発行者は、ユーザの個人情報、権利、属性などを知っており、証明内容（ユーザの個人情報、権利、属性など）に対してブラインド署名によって証明内容を保証した証明書をユーザに発行する。ブラインド署名の詳細は非特許文献２に記載されている。
【０００８】
匿名認証方式による匿名性の確保の仕組みを図１および図２を用いて説明する。図１は匿名認証方式における証明書発行手順を、図２は証明書の使用手順を示している。図１及び図２では、ユーザの用いる計算機端末（以下、ユーザ装置２）とサービス提供者の用いるサーバ（以下、サービス提供サーバ３）はネットワークを介して接続されている。なお、図１および図２の例では、いずれもユーザ装置２とサービス提供サーバ３の間の匿名認証方式について説明しているが、図１の証明書発行手順ではユーザ装置２と証明書発行者の用いるサーバ間でのやりとりで、図２の証明書検証手順ではユーザ装置２と証明書検証者の用いるサーバ間でのやりとりというように、発行手順と検証手順を別の者が行ってもよい。また、発行者と検証者はサービス提供者と別の者であってもよい。
【０００９】
なお、図１に示す証明書発行前に、予め、郵送等のオフライン、あるいはユーザ装置２とサービス提供サーバ３との間のオンライン処理により、ユーザの個人情報などのメッセージＭがユーザからサービス提供者に提供されている。
【００１０】
図１に示すように、まずユーザ装置２は、乱数ｒｊ，ｗｊおよび公開鍵Ｐｕと秘密鍵Ｓｕのペアを生成し、以下の式で示される関数値Ｚｊを演算し（ｓ１）、サービス提供サーバ３にこの関数値Ｚｊを送信する（ｓ２）。
【００１１】
Ｚｊ＝Ｐｓｐ（ｒｊ）ｇＢ（ｇＡ（Ｐｕ｜｜ｗｊ）｜｜Ｍ）    ｆｏｒ  １≦ｊ≦Ｎ
ここで、“｜｜”はビット結合を、ｇＡ（・），ｇＢ（・）は公開されている衝突困難な一方向ハッシュ関数を表す。また、Ｐｓｐはサービス提供者が広く公開している公開鍵を、Ｍは特定のメッセージをそれぞれ表す。
【００１２】
なお、ここでの公開鍵Ｐｕは証明書の発行段階では誰にも公開しない。
【００１３】
サービス提供サーバ３は、受信したＺｊのうち、任意のＲ個を決定し（ｓ３）、これに対応した｛Ｚｋ｝（１≦ｋ≦Ｒ）に含まれ、Ｚｋを算出するのに必要な乱数ｒｋ、関数値ｇＡ（Ｐｕ｜｜ｗｋ）からなるＺパラメータの開示をユーザ装置２に要求する（ｓ４）。
【００１４】
ユーザ装置２は、サービス提供サーバ３から要求のあったＺｋ（１≦ｋ≦Ｒ）についてのＺパラメータを送信する（ｓ５）。
【００１５】
サービス提供サーバ３は、Ｚパラメータに基づき以下の式Ｚｋを計算し、（ｓ２）で受信したＺｊと一致するか否かを検証する（ｓ６）。
【００１６】
Ｚｋ＝Ｐｓｐ（ｒｋ）ｇＢ（ｇＡ（Ｐｕ｜｜ｗｋ）｜｜Ｍ）    ｆｏｒ  １≦ｋ≦Ｒ
一致していない場合には発行できないと判定し、証明書発行手順を終了する。一致している場合には、（ｓ７）に進み、開示されていないＺｉ（１≦ｉ≦Ｎ−Ｒ）について以下のＺｉへの仮デジタル署名を実行する。
【００１７】
ｐｒｅ−ｓｉｇｎ＝Ｓｓｐ（ΠｉＺｉ）
ここで、Ｓｓｐはサービス提供サーバ３の秘密鍵を表す。また、“Πｉ”は、すべてのｉについて乗算（ここではＺ１×Ｚ２×…×ＺＮ−Ｒ）することを表す。
【００１８】
得られた仮デジタル署名ｐｒｅ−ｓｉｇｎはユーザ装置２に送信される（ｓ８）。
【００１９】
ユーザ装置２は、受信した仮デジタル署名ｐｒｅ−ｓｉｇｎを利用して以下の計算を実行するデジタル署名の抽出処理を行う（ｓ９）。
【００２０】
ｓｉｇｎ＝ｐｒｅ−ｓｉｇｎ／Πｉｒｉ  ｆｏｒ  ａｌｌ  ｉ  （Πｉｒｉ＝ｒ１×ｒ２×…×ｒＮ−Ｒ）
また、以下をひとまとまりとして証明書として保存する（ｓ１０）。
【００２１】
Ｃｅｒｔ＝［Ｍ，｛ｗｉ｝，Ｐｕ，ｓｉｇｎ］  ｆｏｒ  ａｌｌ  ｉ
ここで、｛ｗｉ｝＝｛ｗ１，ｗ２，…，ｗＮ−Ｒ｝である。
以上により証明書の発行処理が終了する。
【００２２】
次に、証明書の使用手順を説明する。
【００２３】
図２に示すように、ユーザ装置２は証明書Ｃｅｒｔをサービス提供サーバ３に送信する（ｓ２１）。
【００２４】
サービス提供サーバ３は、ユーザ装置２から受信したＣｅｒｔに含まれるＭ，｛ｗｉ｝，Ｐｕを用いて
Ｙｉ＝ｇＢ（ｇＡ（Ｐｕ｜｜ｗｊ）｜｜Ｍ）    ｆｏｒ  １≦ｊ≦Ｎ
を計算した後、以下の式が成立するか否かを判定する（ｓ２２）。
【００２５】
ΠｉＹｉ＝Ｐｓｐ（ｓｉｇｎ）
成立すると判定される場合には、ユーザがサービス提供者から証明書を発行された者であることが証明されるため、サービス提供サーバ３からユーザ装置２に各種サービスの提供がなされる（ｓ２３）。成立しないと判定される場合には、ユーザがサービス提供者から証明書を発行された者であることが証明されないため、ユーザ装置２にサービスが提供されることなく終了する。
【００２６】
図３はこの匿名認証方式の仕組みの概念図である。図３に示すように、ユーザＡ、ユーザＢおよびユーザＣがそれぞれ証明書Ｃｅｒｔ  ｏｆ  Ａ、Ｃｅｒｔ  ｏｆ  Ｂ、Ｃｅｒｔ  ｏｆ  Ｃを使用する場合、証明書の発行時には、ユーザの個人情報とユーザに発行した仮デジタル署名Ｓｓｐ（ΠｉＺｉ）が関連づけて記憶することができる。これは、ＺｉやＺｉ算出に必要なＺパラメータには、ユーザ固有の情報が含まれているからである。
【００２７】
しかしながら、証明書の検証時においては、上記証明書Ｃｅｒｔ  ｏｆ  Ａ、Ｃｅｒｔ  ｏｆ  Ｂ、Ｃｅｒｔ  ｏｆ  Ｃとユーザの個人情報の対応づけが無いため、戻ってくる証明書はいずれも区別はつくが、初めて見るデータということとなる。
【００２８】
このように、この匿名認証方式の注目すべき点は、証明書の発行段階で誰にどんな証明書を発行したかを発行者であるサービス提供者が記憶していたとしても（発行者が証明書の発行時に記憶できるデータはＳｓｐ（ΠｉＺｉ）である）、証明書が使用され発行者自身のもとへ戻ってきた際には、この証明書（証明書が戻ってきた際はｓｉｇｎというデータになっている）が誰に発行したものかを知り得ないことである。ただし、証明書には発行者自身による仮デジタル署名が含まれているため、発行者はこの証明書は自分が発行したものであることを認めざるを得ない。
【００２９】
以上説明したように、この匿名認証方式によれば、ユーザへの証明書の発行とその検証を例えばサービス提供者などの同一の主体が実施しても、ユーザのプライバシーが守られるという利点を有する。例えばサービス提供者のどの会員がサービスを利用したかをサービス提供者は知り得ず、自身の会員であることを確認できる。
【００３０】
【特許文献１】
特開２０００−２３１３３１号公報
【特許文献２】
特開２００１−１３４１８２号公報
【特許文献３】
特開２００１−１８８７５７号公報
【非特許文献１】
小松文子著「ＰＫＩハンドブック」、株式会社ソフト・リサーチ・センター、２０００年１１月２５日発行、ｐ．４１−６８「第３章  ３．１  公開鍵証明書」、ｐ．８２−８３「３．３．１属性証明書」
【非特許文献２】
岡本龍明、山本博資著、「現代暗号」、産業図書、ｐ．１８４、１９９８年６月３０日発行
【非特許文献３】
Ｃａｒｌ  Ｅｌｌｉｓｏｎ著、ＳＰＫＩ、ＲＦＣ２６９３、１９９９年９月、ｈｔｔｐ：／／ｗｗｗ．ｆａｑｓ．ｏｒｇ／ｒｆｃｓ／ｒｆｃ２６９３．ｈｔｍｌ、主に「３．３ＳＰＫＩ  Ｃｅｒｔｉｆｉｃａｔｅｓ」および「６．１  ５−ｔｕｐｌｅ  Ｄｅｆｉｎｅｄ」など
【非特許文献４】
斎藤孝道、梅澤健太郎、奥野博著、「プライバシを重視するアクセス制御システムの一方式」、電子情報通信学会誌、Ｄ−Ｉ，Ｖｏｌ．Ｊ８４−Ｄ−Ｉ，  ｎｏ．１１，ｐ．１５５３−１５６２，２００１年
【非特許文献５】
佐藤直之、鈴木英明著、「匿名のまま権利行使を可能とした認証方式」、情報処理学会論文誌、Ｖｏｌ．４１，Ｎｏ．８，ｐ．２１３８−２１４７，  ２０００年
【００３１】
【発明が解決しようとする課題】
以上説明したように、匿名認証方式とは、「予めユーザを特定できる情報を証明書の発行者が知っていても、発行者がユーザへ発行した証明書が発行者自身へ戻ってきたとき、その証明書がどのユーザのものであるかを識別できない」という認証方式の枠組みを提供するものである。従って、証明書の発行と検証を同一の主体が実施するような場合にも、ユーザの匿名性が維持できるという特徴がある。この特徴を考慮すると、既存のインターネットサービスプロバイダ（ＩＳＰ）が実施しているように、ユーザをその会員として登録し、サービスの提供を行うようなサービス提供者に対しても、匿名認証方式を適用することができるといえる。この場合、例えばサービス提供者は、ユーザを会員として登録する際に証明書を発行しておき、ユーザの要求に応じてサービスを提供する際には、ユーザから提示される証明書を検証することで認証するといった運用が考えられる。
ところが、上記のような運用においては、証明書の発行および検証はユーザの要求に応じて実施されるものであるため、証明書の発行および検証は任意の時系列で実施されることが予想される。任意の時系列で証明書の発行と検証が実施されるとき、匿名性が実効的に保証されなくなるユーザが存在するという状況が発生しうる。
【００３２】
図４はこの匿名認証方式の問題点を説明するための図である。以下では、証明書の発行および検証をともに「サービス提供者」が実施することを前提としている。図４のサービス提供者は、図１や図２におけるサービス提供サーバ３を用い、ユーザＡ、ユーザＢ及びユーザＣは、図１や図２におけるユーザ装置２と同様のユーザ装置２ａ、２ｂ及び２ｃを用いる。以下ではサービス提供者、ユーザＡ、Ｂ及びＣがやりとりする記載としているが、実質的にはネットワークを介したサービス提供サーバ３とユーザ装置２ａ、２ｂ及び２ｃ間のデータ通信により実現される。
【００３３】
まず、サービス提供者がユーザＡに電子証明書を発行し（ｓ５０１）、ユーザＡは前述した（ｓ９）に示すようなデジタル署名の抽出を実行する（ｓ５０１ａ）。具体的には、受信した仮デジタル署名を乱数ｒＡで除算する。なお、実際にはサービス提供者が発行するのは仮デジタル署名ｐｒｅ−ｓｉｇｎであって、この仮デジタル署名ｐｒｅ−ｓｉｇｎからユーザ側がデジタル署名ｓｉｇｎを抽出し、このデジタル署名ｓｉｇｎを証明の対象とするメッセージＭ，乱数ｗｋ，公開鍵Ｐｕに付加して証明書Ｃｅｒｔが出来上がる。
【００３４】
次に、サービス提供者はユーザＢに電子証明書を発行し（ｓ５０２）、ユーザＢは前述した（ｓ９）に示すようなデジタル署名の抽出を実行する（ｓ５０２ａ）。具体的には、受信した仮デジタル署名を乱数ｒＢで除算する。次に、ユーザＡが電子証明書を使用する、すなわち、サービス提供者に対して電子証明書Ｃｅｒｔｏｆ  Ａを送信する。サービス提供者から見ると、この電子証明書がユーザＡのものである確率は１／２、ユーザＢのものである確率は１／２となる。このとき、ユーザＡは、証明書から自分を特定されないため、匿名性は確保できる。そして、次にユーザＢが電子証明書を使用する。この場合も、ユーザＡの場合と同様に匿名性を確保できる。ところが、次でサービス提供者がユーザＣに電子証明書を発行し（ｓ５２１）、次に他のユーザに電子証明書を発行する前にユーザＣが証明書を使用すると（ｓ５２２）、サービス提供者は、ユーザＣから受信した電子証明書が確率１でユーザＣのものと分かってしまう。少なくとも、ユーザＡとユーザＢは既に電子証明書を使用したことをサービス提供者は記憶しているからである。
【００３５】
上記の説明からも明らかなように、ユーザにとっては、自分以外のユーザが複数存在していたとしても自分と識別不能な対象、すなわち他のユーザが少なくとも１人はいない限り、自分の匿名性をサービス提供者に対して確保できない。この問題点は自分と識別不能なユーザが１人もいないことに起因する。逆に、ユーザＡおよびユーザＢは、それぞれ互いが自分と識別不能なユーザとなっているため、サービス提供者に対して匿名性を確保できるのである。
【００３６】
１人のユーザが１枚の証明書を管理する匿名認証方式のモデルではサービス提供者は戻ってくる電子証明書の枚数から、何人にユーザが電子証明書を使用しているのかを記憶できる。そして、「証明書を発行したすべてのユーザが既に証明書を使用した」ことを記憶されてしまうと、新たに証明書を発行されるユーザの匿名性は保証されなくなる。
【００３７】
本発明は上記課題を解決するためになされたもので、その目的とするところは、検証者がユーザを識別できない匿名認証を実現する被認証処理方法、被認証装置、被認証処理プログラム、電子証明書管理サーバ及び電子証明書管理システムを提供することにある。
【００３８】
【課題を解決するための手段】
本発明の一の観点によれば、被認証者の属性情報を提供せずに電子証明書の認証を行う匿名認証における認証を要求する被認証処理方法であって、同一の内容を保証した互いに異なるＴ枚（Ｔは複数の自然数）の電子証明書を記憶装置に格納し、前記Ｔ枚の電子証明書のうち、使用する電子証明書の候補をＵ枚（Ｕ≦Ｔ、Ｕは自然数）決定し、前記Ｕ枚の電子証明書の候補から任意の１枚の電子証明書を前記記憶装置から読み出し提供して認証を促すことを特徴とする被認証処理方法が提供される。
【００３９】
また、本発明の別の一の観点によれば、被認証者の属性情報を提供せずに電子証明書の認証を行う匿名認証で認証を要求する被認証装置であって、同一の内容を保証した互いに異なるＴ枚（Ｔは複数の自然数）の電子証明書を取得する電子証明書取得手段と、前記Ｔ枚の電子証明書のうちの任意の１枚の電子証明書を提供して認証を促す電子証明書提供手段とを具備してなることを特徴とする被認証装置が提供される。
【００４０】
また、本発明のさらに別の観点によれば、被認証者の属性情報を提供せずに電子証明書の認証を行う匿名認証で認証を要求する被認証装置であって、記憶装置と、同一の内容を保証した互いに異なるＴ枚（Ｔは複数の自然数）の電子証明書を取得し前記記憶装置に格納させる電子証明書格納手段と、前記Ｔ枚の電子証明書のうち、使用する電子証明書の候補をＵ枚（Ｕ≦Ｔ、Ｕは自然数）決定する候補決定手段と、前記候補決定手段で決定された電子証明書の候補から、任意の１枚の電子証明書を選択する証明書選択手段とを具備してなることを特徴とする被認証装置が提供される。
【００４１】
また、本発明のさらに別の観点によれば、被認証者の属性情報を提供せずに電子証明書の認証を行う匿名認証で認証を要求する被認証装置における被認証処理を実行するための被認証処理プログラムであって、コンピュータに、同一の内容を保証した互いに異なるＴ枚（Ｔは複数の自然数）の電子証明書を取得する処理と、前記Ｔ枚の電子証明書のうちの任意の１枚の電子証明書を提供して認証を促す処理とを実行させるための被認証処理プログラムが提供される。
【００４２】
また、本発明のさらに別の観点によれば、被認証者の属性情報を提供せずに電子証明書の認証を行う匿名認証で認証を要求する被認証装置における被認証処理を実行するための被認証処理プログラムであって、コンピュータに、同一の内容を保証した互いに異なるＴ枚（Ｔは複数の自然数）の電子証明書を取得する処理と、前記取得されたＴ枚の電子証明書を記憶装置に格納させる処理と、前記Ｔ枚の電子証明書のうち、使用する電子証明書の候補をＵ枚（Ｕ≦Ｔ、Ｕは自然数）決定する処理と、前記候補決定手段で決定された電子証明書の候補から、任意の１枚の電子証明書を選択して前記記憶装置から読み出す処理とを実行させるための被認証処理プログラムが提供される。
【００４３】
また、本発明のさらに別の観点によれば、被認証者の属性情報を提供せずに電子証明書の認証を行う匿名認証のための電子証明書を管理する電子証明書管理サーバであって、被認証装置からの要求に応答して、同一の内容を保証した互いに異なるＴ枚（Ｔは複数の自然数）の仮デジタル署名を生成して前記被認証装置に送信する仮デジタル署名生成手段を備えることを特徴とする電子証明書管理サーバが提供される。
【００４４】
また、本発明のさらに別の観点によれば、被認証者の属性情報を提供せずに電子証明書の認証を行う匿名認証のための電子証明書を管理するサーバ及び被認証装置からなる電子証明書管理システムであって、前記サーバは、前記被認証装置からの要求に応答して、同一の内容を保証した互いに異なるＴ枚（Ｔは複数の自然数）の仮デジタル署名を生成して前記被認証装置に送信する仮デジタル署名生成手段を備え、前記被認証装置は、前記サーバから受信した前記仮デジタル署名からＴ枚のデジタル署名を抽出し、同一の内容を保証した互いに異なるＴ枚（Ｔは複数の自然数）の電子証明書を取得する電子証明書取得手段と、前記Ｔ枚の電子証明書のうちの任意の１枚の電子証明書を提供して認証を促す電子証明書提供手段とを備えてなることを特徴とする電子証明書管理システムが提供される。
【００４５】
【発明の実施の形態】
本発明は、被認証者であるユーザの属性情報を提供することなく電子証明書の認証を行ういわゆる匿名認証方式において、サービス提供者に証明書の使用者の数を知らせない方法であって、少なくとも、サービス提供者が、何人のユーザ（被認証者）が証明書を使用しているか分からない限り、新たに証明書を発行されるユーザの匿名性、すなわち他のユーザとの識別不能性を常に確保する方法に関する。
【００４６】
具体的に図５を用いて本発明の骨子を説明する。図５に示すように、サービス提供者がユーザＡ、ユーザＢ及びユーザＣに電子証明書を発行し、これら各ユーザＡ、Ｂ及びＣから提示された電子証明書を検証する場合を想定する。この場合、電子証明書の発行時に、ユーザＡのユーザＡ装置は、非特許文献１，２，３に記載されているような「公開鍵証明書」、「属性証明書」、「権利証明書」などの電子証明書の発行手順を複数回（ＴＡ回）実施する。値ＴＡは、ユーザＡ装置がランダムに決定する。このようにして、ＴＡ枚の電子証明書を取得するにあたり、ユーザＡ装置は毎回異なる公開鍵（ＰＡ１，ＰＡ２，ＰＡ３，…）を生成することで、電子証明書を作成する。
【００４７】
図６は作成された電子証明書の概念図である。図６に示すように、ユーザＡについて、ユーザの公開鍵ＰＡ１、証明内容であるメッセージＭ、発行者の署名Ｓｓｐ（ｇ（Ｍ｜｜ＰＡ１））からなる電子証明書がＴＡ枚作成されている。同様に、ユーザＢ、ＣについてもそれぞれＴＢ枚、ＴＣ枚の電子証明書が作成されている。
【００４８】
証明書の使用時には、ユーザＡは取得したＴＡ枚の電子証明書のうち、任意の数（例えばＵＡ枚（ＴＡ≧ＵＡ））を決定し、電子証明書の使用手順を実施する。選ばれなかったＴＡ−ＵＡ枚の電子証明書は最後まで使用しない。値ＵＡは、ユーザＢ装置、ユーザＣ装置はさらに異なる値をとる。なお値ＵＡはＩＣカードなどの耐タンパ装置が決定し、ＩＣカードの所有者である当該ユーザを含め、誰にも教えないことが望ましい。これにより、電子証明書の検証者側は、ユーザＡ、Ｂ及びＣからなる３人のユーザを登録していると記憶していても、何枚の電子証明書が戻ってくるか分からない。従って、検証者側が電子証明書の使用状況を把握したとしても、検証者側では何人のユーザが使用しているかを把握できない。
【００４９】
以下、さらに図面を参照しながら本発明の一実施形態を説明する。
【００５０】
図７は図５に示した匿名認証方式を実現するためのユーザ側のユーザ装置２及びＩＣカード２０のブロック図である。
【００５１】
ユーザ装置２は、証明書枚数決定器２１と、鍵生成器２２と、Ｚ関数器２３と、Ｚパラメータ送信器２４と、デジタル署名抽出手段２５と、証明書保存手段２６と、証明書送信手段２７と、記憶装置２８からなる。例えばユーザ装置２に設けられたメモリから読み出されたプログラムが読み出されてユーザ装置２のＣＰＵなどで実行されることによりユーザ装置２が各構成要素２１〜２７として機能する。メモリではなく記録媒体からプログラムが読み出されて実行されるものでもよい。
【００５２】
ユーザ装置２には、ＩＣカード２０の書込／読出を行うＩＣカード書込／読出装置（不図示）が設けられている。このＩＣカード書込／読出装置にＩＣカード２０が挿入される状態で、ユーザ装置２はＩＣカード２０の書き込み及び読み出しを行うことができる。ＩＣカード２０には、証明書格納手段２１０、要求判別手段２１１、候補決定手段２１２、証明書選択手段２１３および記憶装置２１４が設けられている。例えばＩＣカード２０に設けられたメモリから読み出されたプログラムが読み出されてＩＣカード２０内のＣＰＵなどで実行されることによりＩＣカード２０が各構成要素２１０〜２１３として機能する。
【００５３】
図８は図５に示した匿名認証方式を実現するためのサービス提供サーバ３のブロック図である。サービス提供サーバ３は、Ｚパラメータ開示要求手段３１と、発行可否判定器３２と、仮署名関数器３３と、検証器３４及びサービス提供手段３５からなる。例えばサービス提供サーバ３に設けられたメモリから読み出されたプログラムが読み出されてサービス提供サーバ３のＣＰＵなどで実行されることによりサービス提供サーバ３が各構成要素３１〜３５として機能する。メモリではなく記録媒体からプログラムが読み出されて実行されるものでもよい。
【００５４】
これら図７及び図８に示したユーザ装置２及びサービス提供サーバ３間の電子証明書の発行手順及び検証手順を図９及び図１０に示すシーケンス図に沿って説明する。なお、予めユーザはサービス提供者にユーザの連絡先、権利、属性などの個人情報の一部を登録している。この個人情報の登録が書面による郵送の場合には、サービス提供者は登録したユーザに対してパスワードを返送することを想定している。また、個人情報の登録がＷＥＢインタフェースなどを介したオンラインデータ通信による場合、サービス提供者はＣｏｏｋｉｅ（ＷＷＷサーバがＷＷＷクライアントに払い出す小さな文字列情報）などのセッション識別子をユーザ装置２に払い出すことを想定している。
【００５５】
従って、（ｓ４１）以下で述べる手順は、この個人情報の登録の後に、ＩＰネットワークなどを介してオンラインで実行されるものとする。
【００５６】
図９に示すように、ユーザ装置２の証明書枚数決定器２１は、サービス提供サーバ３から取得する電子証明書の枚数Ｔを決定する（ｓ４１）。次に、ユーザ装置２は、いわゆる匿名認証方式の発行手順に沿った処理を開始する。具体的には、まず鍵生成器２２は乱数ｒｊ，ｗｊおよび公開鍵Ｐｕと秘密鍵Ｓｕのペアを生成し、記憶装置２８に格納する。次に、Ｚ関数器２３は、鍵生成器２２で生成された乱数ｒｊ，ｗｊおよび公開鍵Ｐｕと、記憶装置２８に格納されたメッセージＭや公開鍵Ｐｓｐを用いて以下の式で示される関数値Ｚｊを演算し（ｓ４２）、サービス提供サーバ３にこのＮ個の関数値Ｚｊを前述のパスワードまたはセッション識別子とともに送信する（ｓ４３）。
【００５７】
Ｚｊ＝Ｐｓｐ（ｒｊ）ｇＢ（ｇＡ（Ｐｕ｜｜ｗｊ）｜｜Ｍ）    ｆｏｒ  １≦ｊ≦Ｎ
ここで、“｜｜”はビット結合を、ｇＡ（・），ｇＢ（・）は公開されている衝突困難な一方向ハッシュ関数を表す。また、Ｐｓｐはサービス提供サーバ３が広く公開している公開鍵を、Ｍは特定のメッセージをそれぞれ表す。なお、公開鍵Ｐｕは証明書の発行段階では誰にも公開しない。すなわち、以下では、公開鍵Ｐｕを秘密にしつつサービス提供サーバ３にデジタル署名を付加してもらうブラインド署名が実行される。これは、公開鍵Ｐｕが一方向性のｇＡ（Ｐｕ｜｜ｗｊ）により送信されることで実現される。
【００５８】
パスワードが送信される場合、ユーザ装置２のキーボードなどの入力装置からのユーザによる入力操作がなされる。セッション識別子が送信される場合には、ユーザ装置２に備えられたＷＥＢブラウザのようなＷＷＷクライアントがサービス提供サーバ３に自動送信する。
【００５９】
サービス提供サーバ３のＺパラメータ開示要求手段３１は、受信したＮ個の関数値Ｚｊを記憶装置３６に格納するとともに、そのＮ個の関数値ＺｊのうちＲ個（１≦ｋ≦Ｒ）を決定し（ｓ４４）、そのＲ個の関数値｛Ｚｋ｝に含まれる乱数ｒｋ，関数値ｇＡ（Ｐｕ｜｜ｗｋ）の開示要求を行う（ｓ４５）。
【００６０】
ユーザ装置２のＺパラメータ送信器２４は、この開示要求を受け、記憶装置２８から要求のあったＲ個の関数値｛Ｚｋ｝に含まれる乱数ｒｋ，関数値ｇＡ（Ｐｕ｜｜ｗｋ）を読み出しサービス提供サーバ３に送信する（ｓ４６）。
【００６１】
サービス提供サーバ３の発行可否判定器３２は、ユーザ装置２から受信した乱数ｒｋ，関数値ｇＡ（Ｐｕ｜｜ｗｋ）に基づき発行可否の判定を行う（ｓ４７）。具体的には、発行可否判定器３２のＺ関数器３２１は、受信した乱数ｒｋ，関数値ｇＡ（Ｐｕ｜｜ｗｋ）と、予めサービス提供サーバ３側で既知のメッセージＭ，ｇＢ，Ｐｓｐに基づき以下の式に従い関数値Ｚｋを生成し、比較器３２２に出力する。
【００６２】
Ｚｋ＝Ｐｓｐ（ｒｋ）ｇＢ（ｇＡ（Ｐｕ｜｜ｗｋ）｜｜Ｍ）    ｆｏｒ  １≦ｋ≦Ｒ
比較器３２２は、Ｚ関数器３２１からの関数値Ｚｋと、記憶装置３６に格納された関数値Ｚｉを読み出し照合する。一致していない場合、電子証明書の発行拒否と判定し、発行が拒否された旨のメッセージをユーザ装置２に送信する。一致している場合、発行許可と判定し、仮署名関数器３３に署名生成指令を行う。
【００６３】
仮署名関数器３３は、開示されていない関数値Ｚｉ（１≦ｉ≦Ｎ−Ｒ）に対して以下の式により仮デジタル署名を生成する（ｓ４８）。仮デジタル署名は、正式なデジタル署名ｓｉｇｎを生成するための基礎情報である。
【００６４】
ｐｒｅ−ｓｉｇｎ＝Ｓｓｐ（ΠｉＺｉ）
ＳｓｐはＰｓｐとペアのサービス提供サーバ３の秘密鍵を表す。また、“Πｉ”は、すべてのｉについて乗算（ここではＺ１×Ｚ２×…×ＺＮ−Ｒ）することを表す。得られた仮デジタル署名ｐｒｅ−ｓｉｇｎはユーザ装置２に送信される（ｓ４９）。
【００６５】
ユーザ装置２のデジタル署名抽出手段２５は、受信した仮デジタル署名を用いて乱数ｒｉを取り外す以下の計算によりデジタル署名の抽出処理を行い、証明書保存手段２６に出力する（ｓ５０）。
【００６６】
ｓｉｇｎ＝ｐｒｅ−ｓｉｇｎ／Πｉｒｉ  ｆｏｒ  ａｌｌ  ｉ  （Πｉｒｉ＝ｒ１×ｒ２×…×ｒＮ−Ｒ）
証明書保存手段２６は、以下の式で示されるように、記憶装置２８からメッセージＭ，乱数｛ｗｉ｝，公開鍵Ｐｕを読み出し、ｓｉｇｎとともにひとまとまりとして以下の１枚の証明書ＣｅｒｔとしてＩＣカード２０の証明書格納手段２１０に出力する。
【００６７】
Ｃｅｒｔ＝［Ｍ，｛ｗｉ｝，Ｐｕ，ｓｉｇｎ］  ｆｏｒ  ａｌｌ  ｉ
ここで、｛ｗｉ｝＝｛ｗ１，ｗ２，…，ｗＮ−Ｒ｝である。
ＩＣカード２０の証明書格納手段２１０は、得られた証明書Ｃｅｒｔを記憶装置２１４に格納する（ｓ５１）。
【００６８】
証明書Ｃｅｒｔの保存が終了すると、ユーザ装置２の証明書枚数決定器２１は（ｓ４２）〜（ｓ５１）までの証明書Ｃｅｒｔ生成及び保存処理が最初に設定した証明書取得枚数Ｔ回終了したか否かを判定し（ｓ５２）、終了していれば証明書発行処理を終了し、終了していなければ（ｓ４２）に戻り証明書Ｃｅｒｔの発行処理を繰り返し実行する分岐処理を行う。
【００６９】
以上により証明書ＣｅｒｔのＴ枚の取得処理が終了する。
【００７０】
証明書の検証ではまず図１０に示すように、ユーザ装置２の証明書送信手段２７がＩＣカード２０に対して証明書使用要求を行う（ｓ７１）。ＩＣカード２０の要求判別手段２１１は、ユーザ装置２からの証明書使用要求が初回の要求か否かを判定する（ｓ７２）。初回であれば、候補決定手段２１２に枚数Ｕの証明書候補の決定指令を行う。初回でなければ実際に使用する枚数Ｕ証明書の候補が決定しているため、証明書選択手段２１３に証明書の出力指令を行う。候補決定手段２１２は、候補決定指令を受け、実際に使用する証明書の候補を枚数Ｕ（Ｔ≧Ｕ）だけ決定し、証明書選択手段２１３に証明書出力指令を行う（ｓ７３）。証明書選択手段２１３は、指定された枚数Ｕの証明書Ｃｅｒｔの候補から任意の一枚の証明書Ｃｅｒｔを記憶装置２１４から選択し、ユーザ装置２の証明書送信手段２７に出力する（ｓ７５）。証明書送信手段２７は、ＩＣカード２０からの一枚の証明書Ｃｅｒｔをサービス提供サーバ３に送信する（ｓ７６）。
【００７１】
サービス提供サーバ３の検証器３４は、受信した証明書Ｃｅｒｔの検証を実行する（ｓ７７）。具体的には、Ｙ関数器３４１が受信した証明書Ｃｅｒｔに含まれるメッセージＭ，｛ｗｉ｝，Ｐｕに基づき以下の式に従い関数値Ｙｉを計算して比較器３４３に出力する。
【００７２】
Ｙｉ＝ｇＢ（ｇＡ（Ｐｕ｜｜ｗｊ）｜｜Ｍ）    ｆｏｒ  １≦ｊ≦Ｎ
一方、公開鍵演算器３４２は、受信した証明書Ｃｅｒｔに含まれるｓｉｇｎを記憶装置３６に格納された公開鍵Ｐｓｐで演算したＰｓｐ（ｓｉｇｎ）を比較器３４３に出力する。
【００７３】
比較器３４３は、Ｙ関数器３４１からの出力値Ｙｉと公開鍵演算器３４２からの出力値を以下の式に従い照合する。
【００７４】
ΠｉＹｉ＝Ｐｓｐ（ｓｉｇｎ）
照合の結果、一致すると判定される場合には、ユーザがサービス提供者から証明書を発行された者であることが証明されるため、サービス提供手段３５に各種サービスの提供指令がなされる。この指令を受け、サービス提供手段３５はユーザ装置２に各種サービスを提供する（ｓ７８）。照合の結果、Ｙ関数器３４１からの出力値と公開鍵演算器３４２からの出力値が一致しないと判定される場合には、ユーザがサービス提供者から証明書を発行された者であることが証明されないため、ユーザ装置２にサービスが提供されることなく終了する。サービス提供サーバ３のサービス提供手段３５からサービスの利用が拒否された旨のメッセージがユーザ装置２に送信されるようにしてもよい。
【００７５】
以上に示される証明書発行および検証手順を用いた場合の本実施形態の効果を図１１を用いて説明する。
【００７６】
図１１のサービス提供者は、図９や図１０におけるサービス提供サーバ３を用い、ユーザＡ、ユーザＢ及びユーザＣは、図９や図１０におけるユーザ装置２と同様のユーザ装置２ａ、２ｂ及び２ｃを用いる。以下ではサービス提供者、ユーザＡ、Ｂ及びＣがやりとりする記載としているが、実質的にはネットワークを介したサービス提供サーバ３とユーザ装置２ａ、２ｂ及び２ｃ間のデータ通信により実現される。
【００７７】
まず、サービス提供者がユーザＡに図９に示したようなプロセスに従いＴＡ枚の電子証明書を発行し（ｓ６０１）、ユーザＡは前述した（ｓ５０）に示すような証明書抽出処理を行い（ｓ６０１ａ）、ＴＡ枚の証明書を保存する。なお、実際にはサービス提供者が発行するのは仮デジタル署名ｐｒｅ−ｓｉｇｎであって、ユーザ側の処理を経て電子証明書が作成されるが、仮デジタル署名の発行は実質的にユーザ側の処理で電子証明書にされるため、サービス提供者側の行為を電子証明書の発行と称している。
【００７８】
次に、サービス提供者がユーザＢに図９に示したようなプロセスに従いＴＢ枚の電子証明書を発行し（ｓ６０２）、ユーザＢは証明書抽出処理を行い（ｓ６０２ａ）、ＴＢ枚の証明書を保存する。次に、ユーザＡが１枚の証明書を使用するものとする（ｓ６０３）。この場合、ユーザＡのユーザ装置２ａでは、実際にはＵＡ枚の証明書の候補の中から１枚の証明書が選択されて利用される。この証明書がユーザＡのものである確率は１／２、ユーザＢのものである確率は１／２となる。このとき、ユーザＡは、証明書から自分を特定されないため、匿名性は確保できる。次に、ユーザＢが１枚の証明書を使用するものとする（ｓ６０４）。この場合、ユーザＢのユーザ装置２ｂでは、実際にはＵＢ枚の証明書の候補の中から１枚の証明書が選択されて利用される。この証明書がユーザＢのものである確率は１／２、ユーザＢのものである確率は１／２となる。このとき、ユーザＡは、証明書から自分を特定されないため、匿名性は確保できる。
【００７９】
次に、サービス提供者がユーザＣに図９に示したようなプロセスに従いＴＣ枚の電子証明書を発行し（ｓ６０５）、ユーザＣは証明書抽出処理を行い（ｓ６０５ａ）、ＴＣ枚の証明書を保存する。次に、ユーザＣが１枚の証明書を使用するものとする（ｓ６０６）。この場合、ユーザＣのユーザ装置２ｃでは、実際にはＵＣ枚の証明書の候補の中から１枚の証明書が選択されて利用される。この証明書がユーザＡのものである確率は１／３、ユーザＢのものである確率は１／３、ユーザＣのものである確率は１／３となる。これは、ユーザＡとユーザＢが１枚ずつ証明書を使用した後でも、さらに別の証明書が使用される可能性があるからである。従って、ユーザＣは、証明書から自分を特定されないため、匿名性は確保できる。また、ユーザＡ、Ｂ及びＣ側で、使用される証明書の候補をＵＡ枚、ＵＢ枚、ＵＣ枚というように選択し、これら候補の中からのみ証明書を使用することで、証明書の使用枚数をサービス提供サーバ３がカウントした場合であってもユーザＡ、Ｂ及びＣの匿名性は確保されることとなる。なお、ユーザＡ、Ｂ及びＣの確率１／３は、ＵＡ＝ＵＢ＝ＵＣが成立すると仮定して算出されるものであり、ＵＡ≠ＵＢ≠ＵＣである場合には実際にはそれらの確率は１／３とはならないが、ユーザＡ、Ｂ、Ｃいずれも確率０である場合であってもそのことをサービス提供者は知らない。
【００８０】
なお、ここでは使用される証明書の候補をＵＡ枚、ＵＢ枚、ＵＣ枚というように選択し、これら候補の中からのみ証明書を使用するような形態として説明したが、最初に所定枚数の候補を選択しておく場合のみならず、発行された証明書のすべては使用しない条件を設定しておくものであれば適宜変更可能である。
【００８１】
例えば、ＩＣカード２０がユーザＡ、Ｂ、Ｃについて使用種類を使用開始時にＬＡ枚、ＬＢ枚、ＬＣ枚というように設定し、この種類の範囲内でＴＡ、ＴＢ、ＴＣ枚の証明書のすべてを証明書使用の候補として選択するようにしてもよい。この場合も、ＴＡ−ＬＡ枚、ＴＢ−ＬＢ枚、ＴＣ−ＬＣ枚の証明書は使用されないため、サービス提供サーバ３が証明書使用枚数をカウントしても各ユーザの匿名性を確保することができる。
【００８２】
本発明は上記実施形態に限定されるものではない。
【００８３】
図９の証明書発行手順、図１０の証明書検証手順ともに、サービス提供サーバ３が発行及び検証する場合を例に説明したが、発行者のサーバと検証者のサーバが別途設けられ、それぞれが発行処理および検証処理を実行してもよい。また、証明書の発行、検証とサービスの提供は別のサーバが提供してもよいことはもちろんである。
【００８４】
また、ユーザ側はＩＣカード２０と計算機端末であるユーザ装置２を組み合わせて実現する例を示したが、これに限定されるものではない。上記実施形態におけるユーザ装置２における各種データ処理機能をＩＣカード２０側に設けて実現してもよいし、ＩＣカード２０における各種データ処理機能をユーザ装置２側に設けて実現してもよい。また、ＩＣカード２０以外の耐タンパー性を有する装置をユーザ装置２に設け、この耐タンパー装置内で枚数Ｕの証明書候補の決定を行うようにしてもよい。
【００８５】
また、ＣＰＵでプログラムが実行されることによりユーザ装置２、ＩＣカード２０、サービス提供サーバ３が各構成要素２１〜２７、２１０〜２１３、３１〜３５として機能する例として説明したが、各構成要素２１〜２７、２１０〜２１３、３１〜３５はユーザ装置２、ＩＣカード２０、サービス提供サーバ３内のファームウェアやハードウェアで実現されるように構成されてもよいし、各々の構成要素がソフトウェア、ファームウェア、ハードウェアを適宜組み合わせて実現されてもよい。
【００８６】
また、本実施形態の図９や図１０における匿名認証手法はほんの一例にすぎず、被認証者の属性情報を提供せずに電子証明書の認証を行ういかなる匿名認証方式にも本発明を適用可能であることはもちろんである。
【００８７】
また、図９では、（ｓ５２）により、Ｔ枚の証明書について電子証明書を発行する手順をユーザ装置２とサービス提供サーバ３の間で繰り返し実行する場合を示したが、これに限定されない。例えば、（ｓ４２）でＴ個の関数値Ｚｊ（１≦ｊ≦Ｎ）を生成してサービス提供サーバ３に同時に送信し、（ｓ４５）及び（ｓ４６）のＺパラメータの送受信もＴ個の関数値Ｚに関してなされ、さらに（ｓ４７）の発行可否判定及び（ｓ４８）の仮デジタル署名生成、（ｓ４９）の仮デジタル署名ｐｒｅ−ｓｉｇｎの送信もＴ個同時になされるようにしてもよい。
【００８８】
【発明の効果】
以上詳述したように本発明によれば、証明書を検証する者にとって、発行された証明書のうち検証のために使用される証明書の数からは証明書を使用したユーザの数を知ることができず、任意の時系列で証明書の発行と検証が実施される場合であってもユーザの匿名性を確保することができる。
【図面の簡単な説明】
【図１】匿名認証方式における証明書発行手順の一例を示す図。
【図２】匿名認証方式における証明書使用手順の一例を示す図。
【図３】匿名認証方式の仕組みの概念図。
【図４】匿名認証方式の問題点を説明するための図。
【図５】本発明の一実施形態の匿名認証方式の概念図。
【図６】同実施形態に係る電子証明書の概念図。
【図７】同実施形態に係るユーザ装置及びＩＣカードのブロック図。
【図８】同実施形態に係るサービス提供サーバのブロック図。
【図９】同実施形態に係る電子証明書の発行手順の一例を示す図。
【図１０】同実施形態に係る電子証明書の検証手順の一例を示す図。
【図１１】同実施形態に係る匿名認証方式の効果を説明するための図。
【符号の説明】
２…ユーザ装置、３…サービス提供サーバ、２０…ＩＣカード、２１…証明書枚数決定器、２２…鍵生成器、２３…Ｚ関数器、２４…Ｚパラメータ送信器、２５…デジタル署名抽出手段、２６…証明書保存手段、２７…証明書送信手段、２８…記憶装置、３１…Ｚパラメータ開示要求手段、３２…発行可否判定器、３３…仮署名関数器、３４…検証器、３５…サービス提供手段、３６…記憶装置、２１０…証明書格納手段、２１１…要求判別手段、２１２…候補決定手段、２１３…証明書選択手段、２１４…記憶装置
【図１】
2004242195.tif 000003
【図２】
2004242195.tif 000004
【図３】
2004242195.tif 000005
【図４】
2004242195.tif 000006
【図５】
2004242195.tif 000007
【図６】
2004242195.tif 000008
【図７】
2004242195.tif 000009
【図８】
2004242195.tif 000010
【図９】
2004242195.tif 000011
【図１０】
2004242195.tif 000012
【図１１】
2004242195.tif 000013