(57)【要約】【課題】匿名かつ追跡不可能性を有する認証プロトコルを拡張し、生体情報から鍵を生成することにより追跡不可能な生体認証システムを提供する。【解決手段】Ｕは、生体情報を読取り、生体情報から秘密鍵ｘ２を生成し、乱数から秘密鍵ｘ１を生成する。さらに、秘密鍵から公開鍵ｙ１、ｙ２を生成し、ＣＡに、公開鍵を送信する。ＣＡは、受信した公開鍵に対して、署名鍵で署名を行い、Ｕに対して、属性証明書を発行する。Ｕは、ＳＰにサービスの提供要求を送信し、ＳＰは、自身の秘密鍵と公開鍵とを生成し、乱数と公開鍵とからなるチャレンジをＵに送信する。Ｕは、乱数ｆにより、属性証明書を変形し、秘密鍵を変形し、これらから、受信した署名値を計算し、変形した属性証明書と署名値とをＳＰに送信する。ＳＰは、Ｕから受信した属性証明書を検証し、署名値を検証する。また、ＳＰは、失効確認を行い、属性証明書および署名値の正当性を確認し、かつ失効確認の完了を条件に、Ｕに、属性情報に基づいたサービスの提供を行う。【選択図】図６
2011155348.tif 000002
【特許請求の範囲】
【請求項１】
ユーザ端末と、属性証明書発行サーバと、サービス提供サーバとがネットワークを介して接続されて成る生体認証システムであって、
前記ユーザ端末が、
生体情報を読み取る生体情報読み取り手段と、
該読み取った生体情報から秘密鍵ｘ２を生成する第１の秘密鍵生成手段と、
前記生体情報読み取り手段が、乱数を生成し、該生成した乱数から秘密鍵ｘ１を生成する第２の秘密鍵生成手段と、
該２つの秘密鍵ｘ１、ｘ２から公開鍵ｙ１、ｙ２を生成する第１の公開鍵生成手段と、
前記属性証明書発行サーバに、該生成した公開鍵ｙ１、ｙ２を送信する第１の送信手段と、
前記サービス提供サーバにサービスの提供要求を送信する第２の送信手段と、
乱数ｆを生成し、該乱数ｆを用いて、前記属性証明書発行サーバが発行する属性証明書を変形する変形手段と、
前記２つの秘密鍵ｘ１、ｘ２を乱数ｆにより、ｆｘ１、ｆｘ２に変形し、該変形したｆｘ１、ｆｘ２を用いて、前記サービス提供サーバから受信したサービス提供者の公開鍵ｙ３に乱数ｒを乗じたものに対する署名値を算出する処理手段と、
前記変形手段において変形した属性証明書と該処理手段において算出した署名値とを前記サービス提供サーバに送信する第３の送信手段と、
を備え、
前記属性証明書発行サーバが、
前記ユーザ端末の第１の公開鍵生成手段が生成した公開鍵に対して、保有する署名鍵ｚで署名を行う署名手段と、
前記ユーザ端末に対して、属性証明書として{ｙ１、ｙ２、ｚ（ｙ１＋ｙ２）}を発行する発行手段と、
を備え、
前記サービス提供サーバが、
自身の秘密鍵ｘ３と公開鍵ｙ３（＝ｘ３＊Ｐ）を生成する鍵生成手段と、
生成した乱数ｒと前記公開鍵ｙ３とからなる情報をチャレンジとして前記ユーザ端末に送信する第４の送信手段と、
前記ユーザ端末から受信した属性証明書を検証する第１の検証手段と、
前記ユーザ端末から受信した署名値を検証する第２の検証手段と、
失効確認を実行する失効確認実行手段と、
前記第１の検証手段により属性証明書の正当性が確認され、前記第２の検証手段により署名値の正当性が確認され、かつ、前記失効確認実行手段により失効確認が完了したときに、前記ユーザ端末に対して、属性情報に基づいたサービスの提供を行うサービス提供手段と、
を備えたことを特徴とする生体認証システム。
【請求項２】
前記第１の秘密鍵生成手段が、読み取った生体情報からノイズを除去して、秘密鍵ｘ２を生成することを特徴とする請求項１に記載の生体認証システム。
【請求項３】
前記サービス提供サーバが、乱数ｒを生成し、この乱数ｒと自身の公開鍵ｙ３からｒ＊ｙ３を計算し、これをチャレンジとして送信することを特徴とする請求項１に記載の生体認証システム。
【請求項４】
前記ユーザ端末の処理手段が、前記変形手段が生成する乱数ｆによって変形された秘密鍵ｆｘ１、ｆｘ２を用いて、ｒ＊ｙ３に対する署名値をｓ１＝ｆｘ１＊ｒ＊ｙ３、ｓ２＝ｆｘ２＊ｒ＊ｙ３により算出することを特徴とする請求項３に記載の生体認証システム。
【請求項５】
前記サービス提供サーバの第１の検証手段が、ｚＰを属性発行用の公開鍵としたときに、ｅ（ｆ（ｙ１＋ｙ２）、ｚＰ）＝ｅ（ｆｚ（ｙ１＋ｙ２）、Ｐ）を演算して、該演算式が成立するかどうかにより、属性証明書の正当性を検証することを特徴とする請求項１に記載の生体認証システム。
【請求項６】
前記サービス提供サーバの第２の検証手段が、ｅ（ｓ１、 Ｐ）ｅ（ｓ２、 Ｐ）＝ｅ（ｆ＊（ｙ１＋ｙ２）、ｒ＊ｙ３）を演算して、該演算式が成立するかどうかにより、署名の正当性を検証することを特徴とする請求項４に記載の生体認証システム。
【請求項７】
前記サービス提供サーバの失効確認実行手段が、失効リストに掲載されているすべてのｙ１について、ｒ＊ｘ３＊ｙ１を計算するとともに、ｅ（ｚ（ｙ１＋ｙ２）、ｓ１）＝ｅ（ｆ＊ｚ＊（ｙ１＋ｙ２）、ｒ＊ｘ３＊ｙ１）を演算して、該演算式が成立するかどうかにより、失効確認を実行することを特徴とする請求項３または請求項４に記載の生体認証システム。
【請求項８】
前記属性証明書発行サーバが、失効リストに失効したユーザのｙ１、ｚ（ｙ１＋ｙ２）を公開することを特徴とする請求項１に記載の生体認証システム。
【請求項９】
ユーザ端末と、属性証明書発行サーバと、サービス提供サーバとがネットワークを介して接続されて成る生体認証システムにおける生体認証方法であって、
前記ユーザ端末が、生体情報を読み取る第１のステップと、
前記ユーザ端末が、該読み取った生体情報から秘密鍵ｘ２を生成する第２のステップと、
前記ユーザ端末が、生成した乱数から秘密鍵ｘ１を生成する第３のステップと、
前記ユーザ端末が、該２つの秘密鍵ｘ１、ｘ２から公開鍵ｙ１、ｙ２を生成する第４のステップと、
前記ユーザ端末が、前記属性証明書発行サーバに、該生成した公開鍵ｙ１、ｙ２を送信する第５のステップと、
前記属性証明書発行サーバが、前記ユーザ端末が生成した公開鍵に対して、保有する署名鍵ｚで署名を行う第６のステップと、
前記属性証明書発行サーバが、前記ユーザ端末に対して、属性証明書として{ｙ１、ｙ２、ｚ（ｙ１＋ｙ２）}を発行する第７のステップと、
前記ユーザ端末が、前記サービス提供サーバにサービスの提供要求を送信する第８のステップと、
前記サービス提供サーバが、自身の秘密鍵ｘ３と公開鍵ｙ３（＝ｘ３＊Ｐ）を生成する第９のステップと、
前記サービス提供サーバが、生成した乱数ｒと前記公開鍵ｙ３とからなる情報をチャレンジとして前記ユーザ端末に送信する第１０のステップと、
前記ユーザ端末が、乱数ｆを生成し、該乱数ｆを用いて、前記属性証明書発行サーバが発行する属性証明書を変形する第１１のステップと、
前記ユーザ端末が、前記２つの秘密鍵ｘ１、ｘ２を乱数ｆにより、ｆｘ１、ｆｘ２に変形し、該変形したｆｘ１、ｆｘ２を用いて、前記サービス提供サーバから受信したサービス提供者の公開鍵に乱数を乗じたものに対する署名値を算出する第１２のステップと、
前記ユーザ端末が、変形した属性証明書と算出した署名値とを前記サービス提供サーバに送信する第１３のステップと、
前記サービス提供サーバが、前記ユーザ端末から受信した属性証明書を検証する第１４のステップと、
前記サービス提供サーバが、前記ユーザ端末から受信した署名値を検証する第１５のステップと、
前記サービス提供サーバが、失効確認を実行する第１５のステップと、
前記サービス提供サーバが、属性証明書の正当性が確認され、署名値の正当性が確認され、かつ、失効確認が完了したときに、前記ユーザ端末に対して、属性情報に基づいたサービスの提供を行う第１６のステップと、
を備えたことを特徴とする生体認証方法。
【請求項１０】
ユーザ端末と、属性証明書発行サーバと、サービス提供サーバと、信頼できるサーバとがネットワークを介して接続されて成る生体認証システムにおける生体認証方法をコンピュータに実行させるためのプログラムであって、
前記ユーザ端末が、生体情報を読み取る第１のステップと、
前記ユーザ端末が、該読み取った生体情報から秘密鍵ｘ２を生成する第２のステップと、
前記ユーザ端末は、生成した乱数から秘密鍵ｘ１を生成する第３のステップと、
前記ユーザ端末が、該２つの秘密鍵ｘ１、ｘ２から公開鍵ｙ１、ｙ２を生成する第４のステップと、
前記ユーザ端末が、前記属性証明書発行サーバに、該生成した公開鍵ｙ１、ｙ２を送信する第５のステップと、
前記属性証明書発行サーバが、前記ユーザ端末が生成した公開鍵に対して、保有する署名鍵ｚで署名を行う第６のステップと、
前記属性証明書発行サーバが、前記ユーザ端末に対して、属性証明書として{ｙ１、ｙ２、ｚ（ｙ１＋ｙ２）}を発行する第７のステップと、
前記ユーザ端末が、前記サービス提供サーバにサービスの提供要求を送信する第８のステップと、
前記サービス提供サーバが、自身の秘密鍵ｘ３と公開鍵ｙ３（＝ｘ３＊Ｐ）を生成する第９のステップと、
前記サービス提供サーバが、生成した乱数ｒと前記公開鍵ｙ３とからなる情報をチャレンジとして前記ユーザ端末に送信する第１０のステップと、
前記ユーザ端末が、乱数ｆを生成し、該乱数ｆを用いて、前記属性証明書発行サーバが発行する属性証明書を変形する第１１のステップと、
前記ユーザ端末が、前記２つの秘密鍵ｘ１、ｘ２を乱数ｆにより、ｆｘ１、ｆｘ２に変形し、該変形したｆｘ１、ｆｘ２を用いて、前記サービス提供サーバから受信したサービス提供者の公開鍵に乱数を乗じたものに対する署名値を算出する第１２のステップと、
前記ユーザ端末が、変形した属性証明書と算出した署名値とを前記サービス提供サーバに送信する第１３のステップと、
前記サービス提供サーバが、前記ユーザ端末から受信した属性証明書を検証する第１４のステップと、
前記サービス提供サーバが、前記ユーザ端末から受信した署名値を検証する第１５のステップと、
前記サービス提供サーバが、失効確認を実行する第１５のステップと、
前記サービス提供サーバが、属性証明書の正当性が確認され、署名値の正当性が確認され、かつ、失効確認が完了したときに、前記ユーザ端末に対して、属性情報に基づいたサービスの提供を行う第１６のステップと、
をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、匿名かつ追跡不可能性を有する認証プロトコルを拡張し、生体情報から鍵を生成することにより追跡不可能でリモートな生体認証システム、生体認証方法およびプログラムに関する。
【背景技術】
【０００２】
近年、様々なサービスがインターネットを通して電子的に提供されるようになってきている。そのようなサービス提供を行う際には、利用者を認証することが不可欠となる。ここで、利用者を認証する方法は、通常、個人を特定する認証と、属性認証等、個人を特定しない認証（例えば、特許文献１参照）とに大別される。
【０００３】
一方、具体的な認証手段としてバイオメトリクスを用いた生体認証がある。生体認証は、利用者の生体情報を利用できるため、高いセキュリティを実現できるという特徴がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特公平８−２０５１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、個人の生体情報は、固定された情報となるため、その情報を利用して利用者の追跡が可能となってしまうという問題点がある。また、従来の属性認証技術では、リモートで匿名な生体認証を実現する技術はなかった。
【０００６】
そこで、本発明は、上述の課題に鑑みてなされたものであり、匿名かつ追跡不可能性を有する認証プロトコルを拡張し、生体情報から鍵を生成することにより追跡不可能でリモートな生体認証システム、生体認証方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、上記した課題を解決するために以下の事項を提案している。なお、理解を容易にするために、本発明の実施形態に対応する符号を付して説明するが、これに限定されるものではない。
【０００８】
（１）本発明は、ユーザ端末（例えば、図１のユーザ端末１に相当）と、属性証明書発行サーバ（例えば、図１の属性認証サーバ３に相当）と、サービス提供サーバ（例えば、図１のＳＰサーバ２に相当）とがネットワークを介して接続されて成る生体認証システムであって、前記ユーザ端末が、生体情報を読み取る生体情報読み取り手段（例えば、図２の生体情報読取部１１に相当）と、該読み取った生体情報から秘密鍵ｘ２を生成する第１の秘密鍵生成手段（例えば、図２の鍵生成部１２に相当）と、前記生体情報読み取り手段が、乱数を生成し、該生成した乱数から秘密鍵ｘ１を生成する第２の秘密鍵生成手段（例えば、図２の鍵生成部１２に相当）と、該２つの秘密鍵ｘ１、ｘ２から公開鍵ｙ１、ｙ２を生成する第１の公開鍵生成手段（例えば、図２の鍵生成部１２に相当）と、前記属性証明書発行サーバに、該生成した公開鍵ｙ１、ｙ２を送信する第１の送信手段（例えば、図２の送信部１４に相当）と、前記サービス提供サーバにサービスの提供要求を送信する第２の送信手段（例えば、図２の送信部１４に相当）と、乱数ｆを生成し、該乱数ｆを用いて、前記属性証明書発行サーバが発行する属性証明書を変形する変形手段（例えば、図２の属性証明書変形部１３に相当）と、前記２つの秘密鍵ｘ１、ｘ２を乱数ｆにより、ｆｘ１、ｆｘ２に変形し、該変形したｆｘ１、ｆｘ２を用いて、前記サービス提供サーバから受信したサービス提供者の公開鍵ｙ３に乱数ｒを乗じたものに対する署名値を算出する処理手段（例えば、図２の処理部１５に相当）と、前記変形手段において変形した属性証明書と該処理手段において算出した署名値とを前記サービス提供サーバに送信する第３の送信手段（例えば、図２の送信部１４に相当）と、を備え、前記属性証明書発行サーバが、前記ユーザ端末の第１の公開鍵生成手段が生成した公開鍵に対して、保有する署名鍵ｚで署名を行う署名手段（例えば、図５の署名部３１に相当）と、前記ユーザ端末に対して、属性証明書として{ｙ１、ｙ２、ｚ（ｙ１＋ｙ２）}を発行する発行手段（例えば、図５の属性証明書発行部３２に相当）と、を備え、前記サービス提供サーバが、自身の秘密鍵ｘ３と公開鍵ｙ３（＝ｘ３＊Ｐ）を生成する鍵生成手段（例えば、図４の鍵生成部２５に相当）と、生成した乱数ｒと前記公開鍵ｙ３とからなる情報をチャレンジとして前記ユーザ端末に送信する第４の送信手段（例えば、図４の送信部２７に相当）と、前記ユーザ端末から受信した属性証明書を検証する第１の検証手段（例えば、図４の属性証明書検証部２１に相当）と、前記ユーザ端末から受信した署名値を検証する第２の検証手段（例えば、図４の署名値検証部２２に相当）と、失効確認を実行する失効確認実行手段（例えば、図４の失効確認実行部２３に相当）と、前記第１の検証手段により属性証明書の正当性が確認され、前記第２の検証手段により署名値の正当性が確認され、かつ、前記失効確認実行手段により失効確認が完了したときに、前記ユーザ端末に対して、属性情報に基づいたサービスの提供を行うサービス提供手段（例えば、図４のサービス提供部２４に相当）と、を備えたことを特徴とする生体認証システムを提案している。
【０００９】
この発明によれば、ユーザ端末の生体情報読み取り手段は、生体情報を読み取る。第１の秘密鍵生成手段は、その読み取った生体情報から秘密鍵ｘ２を生成する。第２の秘密鍵生成手段は、生体情報読み取り手段が、乱数を生成し、その生成した乱数から秘密鍵ｘ１を生成する。第１の公開鍵生成手段は、その２つの秘密鍵ｘ１、ｘ２から公開鍵ｙ１、ｙ２を生成する。第１の送信手段は、属性証明書発行サーバに、その生成した公開鍵ｙ１、ｙ２を送信する。第２の送信手段は、サービス提供サーバにサービスの提供要求を送信する。変形手段は、乱数ｆを生成し、その乱数ｆを用いて、属性証明書発行サーバが発行する属性証明書を変形する。処理手段は、２つの秘密鍵ｘ１、ｘ２を乱数ｆにより、ｆｘ１、ｆｘ２に変形し、その変形したｆｘ１、ｆｘ２を用いて、サービス提供サーバから受信したサービス提供者の公開鍵ｙ３に乱数ｒを乗じたものに対する署名値を算出する。第３の送信手段は、変形手段において変形した属性証明書とその処理手段において算出した署名値とをサービス提供サーバに送信する。属性証明書発行サーバの署名手段は、ユーザ端末の第１の公開鍵生成手段が生成した公開鍵に対して、保有する署名鍵ｚで署名を行う。発行手段は、ユーザ端末に対して、属性証明書として{ｙ１、ｙ２、ｚ（ｙ１＋ｙ２）}を発行する。サービス提供サーバの鍵生成手段は、自身の秘密鍵ｘ３と公開鍵ｙ３（＝ｘ３＊Ｐ）とを生成する。第４の送信手段は、生成した乱数ｒと公開鍵ｙ３とからなる情報をチャレンジとしてユーザ端末に送信する。第１の検証手段は、ユーザ端末から受信した属性証明書を検証する。第２の検証手段は、ユーザ端末から受信した署名値を検証する。失効確認実行手段は、失効確認を実行する。サービス提供手段は、第１の検証手段により属性証明書の正当性が確認され、第２の検証手段により署名値の正当性が確認され、かつ、失効確認実行手段により失効確認が完了したときに、ユーザ端末に対して、属性情報に基づいたサービスの提供を行う。したがって、認証の際に、匿名性が保証される。また、認証に使用する鍵を、生体情報から生成するため、他人に譲渡したり、貸与したりすることはできない。また、認証の際には、第３者との通信を必要としない。また、認証に使用する鍵の任意の変形が第３者との通信なしに可能である。また、失効処理および失効確認処理が第３者に問い合わせることなしに可能である。さらに、失効情報が開示された時点より前の通信履歴から、利用者の行動をトレースできない方式である。
【００１０】
（２）本発明は、（１）に記載の生体認証システムにおいて、前記第１の秘密鍵生成手段が、読み取った生体情報からノイズを除去して、秘密鍵ｘ２を生成することを特徴とする生体認証システムを提案している。
【００１１】
この発明によれば、生体情報が揺らぎをもつが、読み取った生体情報からノイズを除去することにより、このゆらぎを吸収することができる。
【００１２】
（３）本発明は、（１）に記載の生体認証システムにおいて、前記サービス提供サーバが、乱数ｒを生成し、この乱数ｒと自身の公開鍵ｙ３からｒ＊ｙ３を計算し、これをチャレンジとして送信することを特徴とする生体認証システムを提案している。
【００１３】
この発明によれば、サービス提供サーバが、乱数ｒを生成し、この乱数ｒと自身の公開鍵ｙ３からｒ＊ｙ３を計算し、これをチャレンジとして送信する。つまり、チャレンジの中に、サービス提供者ごとに異なる公開鍵ｙ３（＝ｘ３＊Ｐ）を埋め込み、このチャレンジに対して、ユーザ端末から署名が返信されることから、サービス提供者の公開鍵y３を知らない第三者には、失効情報が開示された時点より前の通信履歴から、利用者の行動をトレースすることができない。
【００１４】
（４）本発明は、（３）に記載の生体認証システムにおいて、前記ユーザ端末の処理手段が、前記変形手段が生成する乱数ｆによって変形された秘密鍵ｆｘ１、ｆｘ２を用いて、ｒ＊ｙ３に対する署名値をｓ１＝ｆｘ１＊ｒ＊ｙ３、ｓ２＝ｆｘ２＊ｒ＊ｙ３により算出することを特徴とする生体認証システムを提案している。
【００１５】
この発明によれば、ユーザ端末の処理手段が、変形手段が生成する乱数ｆによって変形された秘密鍵ｆｘ１、ｆｘ２を用いて、ｒ＊ｙ３に対する署名値をｓ１＝ｆｘ１＊ｒ＊ｙ３、ｓ２＝ｆｘ２＊ｒ＊ｙ３により算出する。したがって、上記のようなシンプルな演算式により署名値の演算を行うため、計算負荷を軽減することができる。
【００１６】
（５）本発明は、（１）に記載の生体認証システムにおいて、前記サービス提供サーバの第１の検証手段が、ｚＰを属性発行用の公開鍵としたときに、ｅ（ｆ（ｙ１＋ｙ２）、ｚＰ）＝ｅ（ｆｚ（ｙ１＋ｙ２）、Ｐ）を演算して、該演算式が成立するかどうかにより、属性証明書の正当性を検証することを特徴とする生体認証システムを提案している。
【００１７】
この発明によれば、サービス提供サーバの第１の検証手段が、ｚＰを属性発行用の公開鍵としたときに、ｅ（ｆ（ｙ１＋ｙ２）、ｚＰ）＝ｅ（ｆｚ（ｙ１＋ｙ２）、Ｐ）を演算して、該演算式が成立するかどうかにより、属性証明書の正当性を検証する。したがって、上記演算式により、ユーザ端末から送信されてきた属性証明書をまとめて検証することができるため、計算負荷を削減することができる。
【００１８】
（６）本発明は、（４）に記載の生体認証システムにおいて、前記サービス提供サーバの第２の検証手段が、ｅ（ｓ１、 Ｐ）ｅ（ｓ２、 Ｐ）＝ｅ（ｆ＊（ｙ１＋ｙ２）、ｒ＊ｙ３）を演算して、該演算式が成立するかどうかにより、署名の正当性を検証することを特徴とする生体認証システムを提案している。
【００１９】
この発明によれば、サービス提供サーバの第２の検証手段が、ｅ（ｓ１、 Ｐ）ｅ（ｓ２、 Ｐ）＝ｅ（ｆ＊（ｙ１＋ｙ２）、ｒ＊ｙ３）を演算して、その演算式が成立するかどうかにより、署名の正当性を検証する。したがって、上記のようなシンプルな演算式により署名値の演算を行うため、計算負荷を軽減することができる。
【００２０】
（７）本発明は、（３）または（４）に記載の生体認証システムにおいて、前記サービス提供サーバの失効確認実行手段が、失効リストに掲載されているすべてのｙ１について、ｒ＊ｘ３＊ｙ１を計算するとともに、ｅ（ｚ（ｙ１＋ｙ２）、ｓ１）＝ｅ（ｆ＊ｚ＊（ｙ１＋ｙ２）、ｒ＊ｘ３＊ｙ１）を演算して、該演算式が成立するかどうかにより、失効確認を実行することを特徴とする生体認証システムを提案している。
【００２１】
この発明によれば、サービス提供サーバの失効確認実行手段が、失効リストに掲載されているすべてのｙ１について、ｒ＊ｘ３＊ｙ１を計算するとともに、ｅ（ｚ（ｙ１＋ｙ２）、ｓ１）＝ｅ（ｆ＊ｚ＊（ｙ１＋ｙ２）、ｒ＊ｘ３＊ｙ１）を演算して、その演算式が成立するかどうかにより、失効確認を実行する。したがって、失効リストを統一しつつ、サービス提供者の秘密鍵ｘ３を知らない第三者が容易に失効情報の開示された時点より前の通信履歴から、利用者の行動をトレースすることができない失効確認処理を実現することができる。
【００２２】
（８）本発明は、（１）に記載の生体認証システムにおいて、前記属性証明書発行サーバが、失効リストに失効したユーザのｙ１、ｚ（ｙ１＋ｙ２）を公開することを特徴とする生体認証システムを提案している。
【００２３】
この発明によれば、属性証明書発行サーバが、失効リストに失効したユーザのｙ１、ｚ（ｙ１＋ｙ２）を公開する。これにより、ｙ１、ｙ２を公開するのではなく、ｙ１、ｚ（ｙ１＋ｙ２）を公開するため、公開した情報から過去の履歴をトレースすることを防止して、Ｆｏｗａｒｄ  Ｓｅｃｕｒｉｔｙを確保することができる。
【００２４】
（９）本発明は、ユーザ端末と、属性証明書発行サーバと、サービス提供サーバとがネットワークを介して接続されて成る生体認証システムにおける生体認証方法であって、前記ユーザ端末が、生体情報を読み取る第１のステップ（例えば、図６のステップＳ２０１、図７のステップＳ３０１に相当）と、前記ユーザ端末が、該読み取った生体情報から秘密鍵ｘ２を生成する第２のステップと、前記ユーザ端末は、生成した乱数から秘密鍵ｘ１を生成する第３のステップと、前記ユーザ端末が、該２つの秘密鍵ｘ１、ｘ２から公開鍵ｙ１、ｙ２を生成する第４のステップ（例えば、図６のステップＳ２０２、図７のステップＳ３０２、Ｓ３０３に相当）と、前記ユーザ端末が、前記属性証明書発行サーバに、該生成した公開鍵ｙ１、ｙ２を送信する第５のステップと、前記属性証明書発行サーバが、前記ユーザ端末が生成した公開鍵に対して、保有する署名鍵ｚで署名を行う第６のステップ（例えば、図７のステップＳ３０３に相当）と、前記属性証明書発行サーバが、前記ユーザ端末に対して、属性証明書として{ｙ１、ｙ２、ｚ（ｙ１＋ｙ２）}を発行する第７のステップ（例えば、図６のステップＳ２０４、Ｓ２０５、図７のステップＳ３０４に相当）と、前記ユーザ端末が、前記サービス提供サーバにサービスの提供要求を送信する第８のステップ（例えば、図６のステップＳ２０９、図７のステップＳ３０５に相当）と、前記サービス提供サーバが、自身の秘密鍵ｘ３と公開鍵ｙ３（＝ｘ３＊Ｐ）を生成する第９のステップ（例えば、図６のステップＳ２０６に相当）と、前記サービス提供サーバが、生成した乱数ｒと前記公開鍵ｙ３とからなる情報をチャレンジとして前記ユーザ端末に送信する第１０のステップ（例えば、図６のステップＳ２１０、図７のステップＳ３０６に相当）と、前記ユーザ端末が、乱数ｆを生成し、該乱数ｆを用いて、前記属性証明書発行サーバが発行する属性証明書を変形する第１１のステップ（例えば、図６のステップＳ２１１、図７のステップＳ３０７に相当）と、前記ユーザ端末が、前記２つの秘密鍵ｘ１、ｘ２を乱数ｆにより、ｆｘ１、ｆｘ２に変形し、該変形したｆｘ１、ｆｘ２を用いて、前記サービス提供サーバから受信したサービス提供者の公開鍵に乱数を乗じたものに対する署名値を算出する第１２のステップ（例えば、図６のステップＳ２１２に相当）と、前記ユーザ端末が、変形した属性証明書と算出した署名値とを前記サービス提供サーバに送信する第１３のステップ（例えば、図６のステップＳ２１３、図７のステップＳ３０８に相当）と、前記サービス提供サーバが、前記ユーザ端末から受信した属性証明書を検証する第１４のステップ（例えば、図６のステップＳ２１４、図７のステップＳ３０９に相当）と、前記サービス提供サーバが、前記ユーザ端末から受信した署名値を検証する第１５のステップ（例えば、図６のステップＳ２１５、図７のステップＳ３０９に相当）と、前記サービス提供サーバが、失効確認を実行する第１５のステップ（例えば、図６のステップＳ２１６、図７のステップＳ３１０に相当）と、前記サービス提供サーバが、属性証明書の正当性が確認され、署名値の正当性が確認され、かつ、失効確認が完了したときに、前記ユーザ端末���対して、属性情報に基づいたサービスの提供を行う第１６のステップ（例えば、図６のステップＳ２１７、図７のステップＳ３１１に相当）と、を備えたことを特徴とする生体認証方法を提案している。
【００２５】
この発明によれば、ユーザ端末は、生体情報を読み取る。ユーザ端末は、その読み取った生体情報から秘密鍵ｘ２を生成する。ユーザ端末は、生成した乱数から秘密鍵ｘ１を生成する。ユーザ端末は、その２つの秘密鍵ｘ１、ｘ２から公開鍵ｙ１、ｙ２を生成する。ユーザ端末は、属性証明書発行サーバに、その生成した公開鍵ｙ１、ｙ２を送信する。属性証明書発行サーバは、ユーザ端末が生成した公開鍵に対して、保有する署名鍵ｚで署名を行う。属性証明書発行サーバは、ユーザ端末に対して、属性証明書として{ｙ１、ｙ２、ｚ（ｙ１＋ｙ２）}を発行する。ユーザ端末が、サービス提供サーバにサービスの提供要求を送信する。サービス提供サーバは、自身の秘密鍵ｘ３と公開鍵ｙ３（＝ｘ３＊Ｐ）を生成する。サービス提供サーバは、生成した乱数ｒと公開鍵ｙ３とからなる情報をチャレンジとしてユーザ端末に送信する。ユーザ端末は、乱数ｆを生成し、その乱数ｆを用いて、属性証明書発行サーバが発行する属性証明書を変形する。ユーザ端末は、２つの秘密鍵ｘ１、ｘ２を乱数ｆにより、ｆｘ１、ｆｘ２に変形し、その変形したｆｘ１、ｆｘ２を用いて、サービス提供サーバから受信したサービス提供者の公開鍵に乱数を乗じたものに対する署名値を算出する。ユーザ端末は、変形した属性証明書と算出した署名値とをサービス提供サーバに送信する。サービス提供サーバは、ユーザ端末から受信した属性証明書を検証する。サービス提供サーバは、ユーザ端末から受信した署名値を検証する。サービス提供サーバは、失効確認を実行する。サービス提供サーバは、属性証明書の正当性が確認され、署名値の正当性が確認され、かつ、失効確認が完了したときに、ユーザ端末に対して、属性情報に基づいたサービスの提供を行う。したがって、認証の際に、匿名性が保証される。また、認証に使用する鍵を、生体情報から生成するため、他人に譲渡したり、貸与したりすることはできない。また、認証の際には、第３者との通信を必要としない。また、認証に使用する鍵の任意の変形が第３者との通信なしに可能である。また、失効処理および失効確認処理が第３者に問い合わせることなしに可能である。さらに、失効情報が開示された時点より前の通信履歴から、利用者の行動をトレースできない方式である。
【００２６】
（１０）本発明は、ユーザ端末と、属性証明書発行サーバと、サービス提供サーバとがネットワークを介して接続されて成る生体認証システムにおける生体認証方法をコンピュータに実行させるためのプログラムであって、前記ユーザ端末が、生体情報を読み取る第１のステップ（例えば、図６のステップＳ２０１、図７のステップＳ３０１に相当）と、前記ユーザ端末が、該読み取った生体情報から秘密鍵ｘ２を生成する第２のステップと、前記ユーザ端末は、生成した乱数から秘密鍵ｘ１を生成する第３のステップと、前記ユーザ端末が、該２つの秘密鍵ｘ１、ｘ２から公開鍵ｙ１、ｙ２を生成する第４のステップ（例えば、図６のステップＳ２０２、図７のステップＳ３０２、Ｓ３０３に相当）と、前記ユーザ端末が、前記属性証明書発行サーバに、該生成した公開鍵ｙ１、ｙ２を送信する第５のステップと、前記属性証明書発行サーバが、前記ユーザ端末が生成した公開鍵に対して、保有する署名鍵ｚで署名を行う第６のステップ（例えば、図７のステップＳ３０３に相当）と、前記属性証明書発行サーバが、前記ユーザ端末に対して、属性証明書として{ｙ１、ｙ２、ｚ（ｙ１＋ｙ２）}を発行する第７のステップ（例えば、図６のステップＳ２０４、Ｓ２０５、図７のステップＳ３０４に相当）と、前記ユーザ端末が、前記サービス提供サーバにサービスの提供要求を送信する第８のステップ（例えば、図６のステップＳ２０９、図７のステップＳ３０５に相当）と、前記サービス提供サーバが、自身の秘密鍵ｘ３と公開鍵ｙ３（＝ｘ３＊Ｐ）を生成する第９のステップ（例えば、図６のステップＳ２０６に相当）と、前記サービス提供サーバが、生成した乱数ｒと前記公開鍵ｙ３とからなる情報をチャレンジとして前記ユーザ端末に送信する第１０のステップ（例えば、図６のステップＳ２１０、図７のステップＳ３０６に相当）と、前記ユーザ端末が、乱数ｆを生成し、該乱数ｆを用いて、前記属性証明書発行サーバが発行する属性証明書を変形する第１１のステップ（例えば、図６のステップＳ２１１、図７のステップＳ３０７に相当）と、前記ユーザ端末が、前記２つの秘密鍵ｘ１、ｘ２を乱数ｆにより、ｆｘ１、ｆｘ２に変形し、該変形したｆｘ１、ｆｘ２を用いて、前記サービス提供サーバから受信したサービス提供者の公開鍵に乱数を乗じたものに対する署名値を算出する第１２のステップ（例えば、図６のステップＳ２１２に相当）と、前記ユーザ端末が、変形した属性証明書と算出した署名値とを前記サービス提供サーバに送信する第１３のステップ（例えば、図６のステップＳ２１３、図７のステップＳ３０８に相当）と、前記サービス提供サーバが、前記ユーザ端末から受信した属性証明書を検証する第１４のステップ（例えば、図６のステップＳ２１４、図７のステップＳ３０９に相当）と、前記サービス提供サーバが、前記ユーザ端末から受信した署名値を検証する第１５のステップ（例えば、図６のステップＳ２１５、図７のステップＳ３０９に相当）と、前記サービス提供サーバが、失効確認を実行する第１５のステップ（例えば、図６のステップＳ２１６、図７のステップＳ３１０に相当）と、前記サービス提供サーバが、属性証明書の正当性が確認され、署名値の正当性が確認され、か���、失効確認が完了したときに、前記ユーザ端末に対して、属性情報に基づいたサービスの提供を行う第１６のステップ（例えば、図６のステップＳ２１７、図７のステップＳ３１１に相当）と、をコンピュータに実行させるためのプログラムを提案している。
【００２７】
この発明によれば、ユーザ端末は、生体情報を読み取る。ユーザ端末は、その読み取った生体情報から秘密鍵ｘ２を生成する。ユーザ端末は、生成した乱数から秘密鍵ｘ１を生成する。ユーザ端末は、その２つの秘密鍵ｘ１、ｘ２から公開鍵ｙ１、ｙ２を生成する。ユーザ端末は、属性証明書発行サーバに、その生成した公開鍵ｙ１、ｙ２を送信する。属性証明書発行サーバは、ユーザ端末が生成した公開鍵に対して、保有する署名鍵ｚで署名を行う。属性証明書発行サーバは、ユーザ端末に対して、属性証明書として{ｙ１、ｙ２、ｚ（ｙ１＋ｙ２）}を発行する。前記ユーザ端末が、サービス提供サーバにサービスの提供要求を送信する。サービス提供サーバは、自身の秘密鍵ｘ３と公開鍵ｙ３（＝ｘ３＊Ｐ）を生成する。サービス提供サーバは、生成した乱数ｒと公開鍵ｙ３とからなる情報をチャレンジとしてユーザ端末に送信する。ユーザ端末は、乱数ｆを生成し、その乱数ｆを用いて、属性証明書発行サーバが発行する属性証明書を変形する。ユーザ端末は、２つの秘密鍵ｘ１、ｘ２を乱数ｆにより、ｆｘ１、ｆｘ２に変形し、その変形したｆｘ１、ｆｘ２を用いて、サービス提供サーバから受信したサービス提供者の公開鍵に乱数を乗じたものに対する署名値を算出する。ユーザ端末は、変形した属性証明書と算出した署名値とをサービス提供サーバに送信する。サービス提供サーバは、ユーザ端末から受信した属性証明書を検証する。サービス提供サーバは、ユーザ端末から受信した署名値を検証する。サービス提供サーバは、失効確認を実行する。サービス提供サーバは、属性証明書の正当性が確認され、署名値の正当性が確認され、かつ、失効確認が完了したときに、ユーザ端末に対して、属性情報に基づいたサービスの提供を行う。したがって、認証の際に、匿名性が保証される。また、認証に使用する鍵を、生体情報から生成するため、他人に譲渡したり、貸与したりすることはできない。また、認証の際には、第３者との通信を必要としない。また、認証に使用する鍵の任意の変形が第３者との通信なしに可能である。また、失効処理および失効確認処理が第３者に問い合わせることなしに可能である。さらに、失効情報が開示された時点より前の通信履歴から、利用者の行動をトレースできない方式である。
【発明の効果】
【００２８】
本発明によれば、認証の際に、匿名性が保証されるという効果がある。また、認証に使用する鍵を、生体情報から生成するため、他人に譲渡したり、貸与したりすることはできないという効果がある。また、認証の際には、第３者との通信を必要としないという効果がある。また、認証に使用する鍵の任意の変形が第３者との通信なしに可能であるという効果がある。また、失効処理および失効確認処理が第３者に問い合わせることなしに可能であるという効果がある。さらに、失効情報が開示された時点より前の通信履歴から、利用者の行動をトレースできない方式であるという効果がある。
【図面の簡単な説明】
【００２９】
【図１】本発明の実施形態に係る生体認証システムのシステム構成の一例を示す図である。
【図２】本発明の実施形態に係る属性認証クライアントモジュールの構成図である。
【図３】本発明の実施形態に係る生体情報から秘密鍵を生成する過程を説明する図である。
【図４】本発明の実施形態に係る属性認証サーバモジュールの構成図である。
【図５】本発明の実施形態に係る属性証明書発行モジュールの構成図である。
【図６】本発明の実施形態に係る生体認証システムの全体の動作シーケンスを示す図である。
【図７】本発明の実施形態に係る生体認証システムにおけるユーザ端末の動作を示すフローチャートである。
【図８】本発明の実施形態に係る生体認証システムの属性情報の有効期間の管理方法について説明するために引用した動作概念図である。
【発明を実施するための形態】
【００３０】
以下、本発明の実施形態について、図面を用いて、詳細に説明する。
なお、本実施形態における構成要素は適宜、既存の構成要素等との置き換えが可能であり、また、他の既存の構成要素との組合せを含む様々なバリエーションが可能である。したがって、本実施形態の記載をもって、特許請求の範囲に記載された発明の内容を限定するものではない。
【００３１】
＜生体認証システムのシステム構成＞
図１は、本発明の実施形態に係る生体認証システムのシステム構成の一例を示す図である。
図１に示すように、本実施形態に係る生体認証システムは、ユーザ端末１（Ｕ）と、サービス提供者が管理運営するサービス提供サーバ（以下、単にＳＰサーバ２という）と、属性認証局（ＣＡ）が管理運営する属性認証サーバ3とから構成され、いずれもネットワーク４を介して接続されている。
【００３２】
また、ユーザ端末１は、属性認証クライアントモジュール１０を備え、ＳＰサーバ２は、属性認証サーバモジュール２０を備え、属性認証サーバ3は、属性証明書発行モジュール３０を備えている。
【００３３】
＜属性認証クライアントモジュールの構成＞
さらに、属性認証クライアントモジュール１０は、図２に示すように、生体情報読取部１１と、鍵生成部１２と、属性証明書変形部１３と、送信部１４と、処理部１５とから構成されている。
【００３４】
生体情報読取部１１は、ユーザの生体情報を読み取る。鍵生成部１２は、生体情報読取部１１が読み取った生体情報から秘密鍵ｘ２を生成する。具体的には、図３に示すように、生体情報読取部１１において、生体情報を読み込み離散化された生体情報から揺らぎやノイズを除去する処理を行って、秘密鍵ｘ２を生成する。また、生体情報読取部１１が生成した乱数から秘密鍵ｘ１を生成する。さらに、この２つの秘密鍵ｘ１、ｘ２から公開鍵ｙ１、ｙ２を生成する。
【００３５】
属性証明書変形部１３は、乱数ｆを生成し、その乱数ｆを用いて、属性認証局サーバ（ＣＡ）３が発行する属性証明書をｆｚｙに変形する。
【００３６】
送信部１４は、ＳＰサーバ２にサービスの提供要求と属性証明書変形部１３において変形した属性証明書と、処理部１５において算出した署名値とを送信する。さらに、属性認証局サーバ（ＣＡ）３に生成した公開鍵ｙ１、ｙ２を送信する。
【００３７】
処理部１５は、鍵生成部１２が生成した２つの秘密鍵ｘ１、ｘ２を乱数ｆにより、ｆｘ１、ｆｘ２に変形し、その変形したｆｘ１、ｆｘ２を用いて、ｒ＊ｙ３に対する署名値を算出する。具体的には、属性証明書変形部１３が生成する乱数ｆによって変形された秘密鍵ｆｘ１、ｆｘ２を用いて、チャレンジｒ＊ｙ３に対する署名値をｓ１＝ｆ＊ｘ１＊ｒ＊ｙ３、ｓ２＝ｆ＊ｘ２＊ｒ＊ｙ３により算出する。これにより、シンプルな演算式により署名値の演算を行うため、計算負荷を軽減することができる。
【００３８】
＜属性認証サーバモジュールの構成＞
また、属性認証サーバモジュール２０は、図４に示すように、属性証明書検証部２１と、署名値検証部２２と、失効確認実行部２３と、サービス提供部２４と、鍵生成部２５と、チャレンジ生成部２６と、送信部２７とから構成されている。
【００３９】
属性証明書検証部２１は、ユーザ端末１から受信した属性証明書を検証する。具体的には、ｚＰを属性発行用の公開鍵としたときに、ｅ（ｆ（ｙ１＋ｙ２）、ｚＰ）＝ｅ（ｆｚ（ｙ１＋ｙ２）、Ｐ）を演算して、この演算式が成立するかどうかにより、属性証明書の正当性を検証する。これにより、ユーザ端末から送信されてきた属性証明書をまとめて検証することができるため、計算負荷を削減することができる。
【００４０】
署名値検証部２２は、ユーザ端末１から受信した署名値を検証する。具体的には、ｅ（ｓ１、 Ｐ）ｅ（ｓ２、 Ｐ）＝ｅ（ｆ＊（ｙ１＋ｙ２）、ｒ＊ｙ３）を演算して、演算式が成立するかどうかにより、署名の正当性を検証する。これにより、上記のようなシンプルな演算式により署名値の演算を行うため、計算負荷を軽減することができる。
【００４１】
失効確認実行部２３は、失効確認を実行する。具体的には、失効リストに掲載されているすべてのｙ１について、ｒ＊ｘ３＊ｙ１を計算するとともに、ｅ（ｚ（ｙ１＋ｙ２）、ｓ１）＝ｅ（ｆ＊ｚ＊（ｙ１＋ｙ２）、ｒ＊ｘ３＊ｙ１）を演算して、演算式が成立するかどうかにより、失効確認を実行する。したがって、失効リストを統一しつつ、サービス提供者の秘密鍵ｘ３を知らない第三者が容易に失効情報の開示された時点より前の通信履歴から、利用者の行動をトレースすることができない失効確認処理を実現することができる。
【００４２】
サービス提供部２４は、属性証明書の正当性が確認され、署名値の正当性が確認され、かつ、失効確認が完了したときに、ユーザ端末１に対して、属性情報に基づいたサービスの提供を行う。
【００４３】
鍵生成部２５は、自身の秘密鍵ｘ３と公開鍵ｙ３（＝ｘ３＊Ｐ）を生成する。このとき、事前に属性認証サーバ3から公開鍵証明書ｚｙ３の発行を受けておく。チャレンジ生成部２６は、乱数ｒを生成し、ｒ＊ｙ３を計算して、計算した値をチャレンジとして生成する。送信部２７は、チャレンジ生成部２６が生成したチャレンジをユーザ端末１に送信する。
【００４４】
＜属性証明書発行モジュールの構成＞
属性証明書発行モジュール３０は、図５に示すように、署名部３１と、属性証明書発行部３２と、送信部３３と、ユーザ情報格納部３４と、データテーブル生成部３５とから構成されている。
【００４５】
署名部３１は、ユーザ端末１の鍵生成部１２が生成した公開鍵ｙ１、ｙ２に対して、ｙ１＋ｙ２を計算し、このｙ１＋ｙ２に対して保有する署名鍵で署名を行う。なお、署名鍵は、図８に示すように、現在あるものの中から最も有効期間が長いものを用いる。具体的には、署名用の秘密鍵をｚ、これに対応する公開鍵をｚＰ（Ｐは生成元）としたときに、署名は、ｚ（ｙ１＋ｙ２）となる。これにより、ユーザに対して、必要十分な情報のみを与え、ユーザの不正行為を防止することができる。また、計算負荷を削減できるため、計算速度を速くすることができる。
【００４６】
属性証明書発行部３２は、ユーザ端末１に対して、｛ｙ１、ｙ２、ｚ（ｙ１＋ｙ２）｝を属性証明書として発行する。送信部３３は、属性証明書発行部３２が発行した属性証明書をユーザ端末１に送信する。
【００４７】
ユーザ情報格納部３４は、発行したユーザの秘密鍵ｘ１、ｘ２が有効期限内である限りは、ｙ１、ｚ（ｙ１＋ｙ２）を保管しておく。
【００４８】
＜生体認証システムの動作シーケンス＞
図６は、本発明の実施形態に係る生体認証システム全体の動作の流れを時系列的に示した動作シーケンス図であり、図７は、ユーザ端末の動作の流れをフローチャートで示した図である。なお、図６に示す動作シーケンス図は、本発明の生体認証システムにおける属性情報の匿名化方法の手順も併せて示されている。
以下、図６、図７を参照しながら図１に示す生体認証システムの動作について詳細に説明する。
【００４９】
まず、ユーザ端末１の生体情報読取部１１は、を生体情報読取デバイスに読み込んだ生体情報からませ、秘密鍵を生成する。これをｘ２とする。また、サービスごとに秘密鍵を変更可能とするため、生体情報読取部１１が乱数を生成し、乱数から秘密鍵を作成する。これをｘ１とする。その際には、作成した乱数は生体情報読取部１１が保持しておく。なお、生体情報は揺らぎを持つため、揺らぎを吸収し、同一の鍵を生成するロジックを組み込む。例えば、ある領域を特徴情報とし、その情報から１ビット分の情報を取り出すような手法を用いて揺らぎを吸収する（図６のステップＳ２０１、図７のステップＳ３０１）。
【００５０】
ユーザ端末１の鍵生成部１２は、ユーザの秘密鍵ｘ１、ｘ２と公開鍵ｙ１＝ｘ１＊Ｐ、ｙ２＝ｘ２＊Ｐを生成する（図６のステップＳ２０２、図７のステップＳ３０２、Ｓ３０３）。なお、ここで、Ｐは生成元である。そして、ユーザ端末１の送信部１４は、属性認証サーバ3に対して、属性証明書の発行要求を送信する（図６のステップＳ２０３）。
【００５１】
属性認証サーバ3は、ｙ１＋ｙ２を計算し、ｙ１＋ｙ２に対し、属性認証サーバ3が保有する属性用の署名鍵で署名を行う（図７のステップＳ３０３）。なお、署名鍵は、現在ある中からもっとも有効期限の長いものを使用する（図８参照）。署名は、署名用の秘密鍵をｚ、対応する公開鍵をｚＰとしたとき、ｚ（ｙ１＋ｙ２）となる。
【００５２】
そして、｛ｙ１、ｙ２、ｚ（ｙ１＋ｙ２）｝を証明書として、ユーザ端末１に発行する。また、発行したユーザの秘密鍵ｘ１、ｘ２が有効期限内である限りは、ｙ１およびｚ（ｙ１＋ｙ２）を保管しておく（図６のステップＳ２０４、Ｓ２０５、図７のステップＳ３０４）。
【００５３】
図８は、有効期間の管理の仕方を概念的に示している。図８中、横軸のｔは、時間の流れを示す。本発明によれば、属性情報が鍵情報のみとなったことにより、新たな有効期間の管理が必要となる。このため、図６に示されるように、属性認証サーバ3の属性証明書発行モジュール３０が、属性ごとに複数の署名鍵を割当て、定期的に組合せを更新することによって有効期間の管理を行うことにしている。その際に、サービスを非常に短い期間しか享受できないユーザが発生しないように、属性毎割当てられる複数の書名鍵を並行管理する。
【００５４】
なお、署名鍵を最も有効期間の長いものを割当てるために、例えば、図８に示されるように、仮に、鍵Ａの使用期間における後半部分で鍵を割当てようとした場合、属性認証サーバ3の属性証明書発行モジュール３０は、ユーザ端末１の属性認証クライアントモジュール１０に対して、署名鍵Ｄあるいは署名鍵Ｅを割当てる。これにより、ユーザがサービスを非常に短い期間しか受けられないという不都合を防止することができる。
【００５５】
次に、ユーザ端末１の送信部１４は、ＳＰサーバ２に対して、サービスの提供要求を送信する（図６のステップＳ２０９、図７のステップＳ３０５）。ＳＰサーバ２の鍵生成部２５は、自身の秘密鍵ｘ３と公開鍵ｙ３＝ｘ３＊Ｐを生成する（図６のステップＳ２０６）。また、属性認証サーバ3から同様に公開鍵証明書ｚｙ３の発行を受けておく。ＳＰサーバ２は、属性認証サーバ3に対して、証明書の発行要求を送信し（図６のステップＳ２０７）、この発行要求に対応して、属性認証サーバ3が、ＳＰサーバ２に対して、証明書を発行する（図６のステップＳ２０８）。
【００５６】
ＳＰサーバ２のチャレンジ生成部２６は、乱数rを生成し、ｒ＊ｙ３を計算して、計算した値をチャレンジとして、これを送信部２７からユーザ端末１に送信する（図６のステップＳ２１０、図７のステップＳ３０６）。
【００５７】
ユーザ端末１の属性証明書変形部１３は、受信した属性証明書を変形する（図６のステップＳ２１１、図７のステップＳ３０７）。具体的には、乱数ｆを生成し、ｆｚ（ｙ１＋ｙ２）と変形する。
【００５８】
また、このとき秘密鍵もｆｘ１、ｆｘ２に変形される。そして、ユーザ端末１の処理部１５が、ｆｘ１、ｆｘ２を用いてｒ＊ｙ３に対する署名値を計算する。具体的には、ｓ１＝ｆ＊ｘ１＊ｒ＊ｙ３、ｓ２＝ｆ＊ｘ２＊ｒ＊ｙ３を計算する。（図６のステップＳ２１２）。
【００５９】
ユーザ端末１の送信部１４は、変形した属性証明書と、計算した署名値をＳＰサーバ２に返信する（図６のステップＳ２１３、図７のステップＳ３０８）。
【００６０】
ＳＰサーバ２の属性証明書検証部２１は、送られてきた属性証明書を検証する（図６のステップＳ２１４、図７のステップＳ３０９）。ここで、検証にはＰａｉｒｉｎｇ計算を用いる。具体的には、ペアリング計算をｅ（＊、＊）で表したとき、ｅ（ｆ（ｙ１＋ｙ２）、ｚＰ）＝ｅ（ｆｚ（ｙ１＋ｙ２）、Ｐ）が成立するかどうかを検証する。ここで、ｚＰは属性発行用の公開鍵である。
【００６１】
次に、ＳＰサーバ２の署名値検証部２２が、送られてきた署名を検証する（図６のステップＳ２１５、図７のステップＳ３０９）。具体的には、ｅ（ｓ１、Ｐ）ｅ（ｓ２、Ｐ）＝ｅ（ｆ＊（ｙ１＋ｙ２）、ｒ＊ｙ３）が成り立つかどうかを検証する。
【００６２】
さらに、ＳＰサーバ２の失効確認実行部２３は、失効確認を実行する（図６のステップＳ２１６、図７のステップＳ３１０）。ここで、失効確認を行う場合は、失効リストを事前にあるいは、その場で属性認証サーバ3から取得する。失効リストとは、属性認証サーバ3が生成するもので、失効したユーザの公開鍵ｙ１およびｚ（ｙ１＋ｙ２）が公開される。失効リストには属性認証サーバ3による署名が付与されており、その正当性が確認できる。
【００６３】
失効確認は、失効リストに掲載されているすべてのｙ１についてｒ＊ｘ３＊ｙ１を計算し、ｅ（ｚ（ｙ１＋ｙ２）、ｓ１）＝ｅ（ｆ＊ｚ＊（ｙ１＋ｙ２）、ｒ＊ｘ３＊ｙ１）が成り立つかどうか検証する。この式が成立したとき、その鍵は無効である（失効している）と判断する。
【００６４】
ＳＰサーバ２は、証明書の正当性確認、署名の正当性確認、失効確認が完了すると、認証が成功したものとして判断し、ＳＰサーバ２のサービス提供部２４が、ユーザ端末１に対して属性情報に基づいたサービス提供を行う（図６のステップＳ２１７、図７のステップＳ３１１）。
【００６５】
なお、上記した生体認証システムの具体的な利用用途としては、医療情報の開示において、医療資格を持つ否かの確認、あるいは、公共交通機関において、公的に発行されたシルバーパス等の資格を確認する等の用途が考えられる。
【００６６】
以上、説明したように本実施形態においては、認証の際に、匿名性が保証される。また、認証に使用する鍵を、生体情報から生成するため、他人に譲渡したり、貸与したりすることはできない。また、認証の際には、第３者との通信を必要としない。また、認証に使用する鍵の任意の変形が第３者との通信なしに可能である。また、失効処理および失効確認処理が第３者に問い合わせることなしに可能である。さらに、失効情報が開示された時点より前の通信履歴から、利用者の行動をトレースできない方式である。
【００６７】
なお、図１に示す、属性認証クライアントモジュール１０、属性認証サーバモジュール２０、属性証明書発行モジュール３０は、ユーザ端末１、ＳＰサーバ２、属性認証サーバ3のそれぞれで実行されるプログラムであり、これらプログラムをコンピュータ読み取り可能な記録媒体に記録し、この記録媒体に記録されたプログラムをユーザ端末１、ＳＰサーバ２、属性認証サーバ３のそれぞれ（いずれもコンピュータシステム）に読み込ませ、実行することによって本発明の生体認証システムを実現することができる。ここでいうコンピュータシステムとは、ＯＳや周辺装置等のハードウェアを含む。
【００６８】
また、「コンピュータシステム」は、ＷＷＷ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ）システムを利用している場合であれば、ホームページ提供環境（あるいは表示環境）も含むものとする。また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
【００６９】
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組合せで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【００７０】
以上、この発明の実施形態につき、図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。例えば、本実施形態においては、属性認証サーバ3が失効確認処理を実行する形態について説明したが、属性認証サーバ3とは別に、失効確認処理を行うサーバを設けてもよい。
【符号の説明】
【００７１】
１・・・ユーザ端末（Ｕ）
２・・・サービス提供サーバ（ＳＰサーバ）
３・・・属性認証サーバ（ＣＡサーバ）
４・・・ネットワーク
１０・・・属性認証クライアントモジュール
１１・・・生体情報読取部
１２・・・鍵生成部
１３・・・属性証明書変形部
１４・・・送信部
１５・・・処理部
２０・・・属性認証サーバモジュール
２１・・・属性証明書検証部
２２・・・署名値検証部
２３・・・失効確認実行部
２４・・・サービス提供部
２５・・・鍵生成部
２６・・・乱数生成部
２７・・・送信部
３０・・・属性証明書発行モジュール
３１・・・署名部
３２・・・属性証明書発行部
３３・・・送信部
【図１】
2011155348.tif 000003
【図２】
2011155348.tif 000004
【図３】
2011155348.tif 000005
【図４】
2011155348.tif 000006
【図５】
2011155348.tif 000007
【図６】
2011155348.tif 000008
【図７】
2011155348.tif 000009
【図８】
2011155348.tif 000010