(57)【要約】【課題】  認証情報を階層的に委譲し、委譲した認証情報を使用してサービスを利用する一連の流れにおいて、効率的、かつ安全に個人認証データを書き込む。【解決手段】  セキュリティデバイス１が、サーバ３を介して発行される認証情報を基にサーバ３と共通鍵を共有する秘密鍵情報を暗号化した情報を生成し、電子署名を施して一時的な認証情報を生成してクライアント２に転送する。クライアント２は、一時的な認証情報を基に、サーバ３と共通鍵を共有する、階層毎に生成された秘密鍵情報を暗号化し、それぞれに階層化されたＮ次（Ｎは２以上の正の整数）の一時的な認証情報を生成してサーバに転送し、サーバ３は、サービス提供にあたり、クライアント２との間で前記一時的な認証情報を用いて相互認証を行う。【選択図】      図１
2006350906.tif 000002
【特許請求の範囲】
【請求項１】
メモリ内にユーザ認証情報が記憶されたセキュリティデバイスと、ユーザにサービスを提供するサーバと、前記セキュリティデバイスと通信を行うと共に、前記サーバとネットワークを介して接続されるクライアントとからなる認証システムであって、
前記セキュリティデバイスは、前記サーバと共通鍵を共有する秘密情報を暗号化した一時的な認証情報を生成して前記クライアントに転送する手段を備え、
前記クライアントは、前記一時的な認証情報を基に、前記サーバと共通鍵を共有する、階層毎に生成された秘密鍵情報を暗号化し、それぞれに階層化されたＮ次（Ｎは２以上の正の整数）の一時的な認証情報を生成して前記サーバに転送する手段を備え、
前記サーバは、前記サービス提供にあたり、前記クライアントとの間で前記一時的な認証情報を用いて相互認証を行う手段を備える、
ことを特徴とする認証システム。
【請求項２】
メモリ内にユーザ認証情報が記憶されたセキュリティデバイスと、ユーザにサービスを提供するサーバと、前記セキュリティデバイスと通信を行うと共に、前記サーバとネットワークを介して接続されるクライアントとからなる認証システムにおける認証情報委譲方法であって、
前記セキュリティデバイスが、前記サーバと共通鍵を共有する秘密情報を暗号化した一時的な認証情報を生成して前記クライアントに転送する第１のステップと、
前記クライアントが、前記一時的な認証情報を基に、前記サーバと共通鍵を共有する、階層毎に生成された秘密鍵情報を暗号化し、それぞれに階層化されたＮ次（Ｎは２以上の正の整数）の一時的な認証情報を生成して前記クライアントに転送する第２のステップと、
前記サーバが、前記サービスの提供にあたり、前記クライアントとの間で前記一時的な認証情報を用いて相互認証を行う第３のステップと、
を有することを特徴とする認証システムにおける認証情報委譲方法。
【請求項３】
前記第１のステップは、
前記セキュリティデバイスが、第１の乱数を生成し、当該第１の乱数をサービス提供者の公開鍵で暗号化する第１のサブステップと、
前記セキュリティデバイスが、前記第１の乱数と前記ユーザの公開鍵証明書から取り出したユーザ識別情報とを入力として前記乱数を鍵とする第１の鍵付きハッシュ関数値を計算する第２のサブステップと、
前記セキュリティデバイスが、前記認証情報の有効期限を定義し、前記暗号化された乱数とユーザ識別情報、ならびに前記有効期限情報とを連結して電子チケットを生成し、当該電子チケットに前記ユーザの秘密鍵で電子署名を行い、前記クライアントに転送する第３のサブステップと、
を含むことを特徴とする請求項２に記載の認証システムにおける認証情報委譲方法。
【請求項４】
前記第２のステップは、
前記クライアントが、前記セキュリティデバイスから前記電子署名が施された電子チケットおよびユーザの公開鍵証明書を一次認証情報として受信する第１のサブステップと、
前記クライアントが、前記階層毎に新たな乱数を生成し、前記受信した一次認証情報に、更に、前記生成された新たな乱数と、前記階層が深まる毎に短く設定し定義される有効期限情報とを入力とし、前記新たな乱数を鍵とする第Ｎの鍵付きハッシュ関数値を計算して得られるＮ次の認証情報を生成する第２のサブステップと、
前記クライアントが、前記生成されたＮ次の認証情報を前記サーバに転送する第３のサブステップと、
を含むことを特徴とする請求項２または３に記載の認証システムにおける認証情報委譲方法。
【請求項５】
前記第２のサブステップは、
前記入力に、更に、ユーザの識別情報を含むことを特徴とする請求項４に記載の認証システムにおける認証情報委譲方法。
【請求項６】
前記第３のステップは、
前記クライアントが、前記サーバにより生成され、送信される第３の乱数を受信し、前記第２、第３の乱数、前記電子チケット、前記階層毎新たに生成された乱数、ユーザの公開鍵証明書、および前記Ｎ次の鍵付きハッシュ関数値とを入力とし、前記Ｎ次の鍵付きハッシュ関数値を鍵とするＮ次の認証情報を生成して前記サーバへ送信する第１のサブステップと、
前記サーバが、前記ユーザの公開鍵証明書の検証、当該ユーザの公開鍵証明書を用いた前記電子チケットの電子署名の検証、および前記電子チケットの有効期限を検証する第２のサブステップと、
を含むことを特徴とする請求項２〜５のいずれか１項に記載の認証システムにおける認証情報委譲方法。
【請求項７】
前記第３のステップは、
前記サーバが、前記電子チケットを復号して前記暗号化された第１の乱数を取り出し、自身の秘密鍵で復号して前記第１の乱数を取得し、前記第１の乱数と前記ユーザの公開鍵証明書から取り出したユーザ識別情報とから第１の鍵付きハッシュ関数値を計算し、当該第１の鍵付きハッシュ関数値に基づき前記第２の鍵付きハッシュ関数値を計算する第３のサブステップと、
前記サーバが、前記電子チケットの有効期限を検証すると共に、前記階層毎、新たに生成される乱数と前記有効期限から前記Ｎ次の鍵付きハッシュ関数値を計算し、当該Ｎ次の鍵付きハッシュ関数値により前記Ｎ次の認証情報を検証する第４のステップと、
前記サーバが、前記Ｎ次の鍵付きハッシュ関数値と前記第３の乱数とから前記Ｎ次の鍵付きハッシュ関数値を鍵とするＮ次の認証情報を生成して前記クライアントに返信する第５のサブステップと、
前記サーバが、前記クライアントにより検証される前記Ｎ次の認証情報が正当であったときに前記クライアントに対し要求されたサービス提供を行う第６のサブステップと、
を含むことを特徴とする請求項６に記載の認証システムにおける認証情報委譲方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、認証システムおよび同システムにおける認証情報委譲方法に関する。
【背景技術】
【０００２】
一般に市販されているＩＣカード等の対タンパデバイスや携帯端末を個人認証に使用する際に、個人認証情報をどのように登録するかは大きな問題である。また、認証情報を利用する際に、複数の信頼できるＩＣカードを携帯しなければならないことは利便性を大きく損なう。
【０００３】
このために、クライアントに依存せず、個々のサーバで異なる認証方式を利用している場合でもその対応が可能なように、セキュリティデバイスが、サーバが特定ユーザを認証するためにユーザ側に必要とする機能（ユーザ認証データをサーバが認証対象とするデータ形式に変換する）を搭載した個人認証システムが提案されている（例えば、特許文献１参照）。
【特許文献１】特開２００４−１１８３７７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、携帯端末以外にもＰＣ（Personal Computer）などで、同様の認証情報を利用してサービス提供を受けようとする場合、認証情報を委譲して利用できることが望ましい。従って、別のＩＣカードや携帯端末に認証情報を保存し、任意の端末に対して認証情報を委譲できる方式が必要である。
但し、その方式は、常に利用者の手元で簡単にできることが望ましいが、このとき、利用者によって不正な情報が書き込まれる可能性がある。このように安全性と利便性はトレードオフの関係にある。
【０００５】
本発明は上記事情に鑑みてなされたものであり、認証情報を委譲し、委譲した認証情報を使用してサービスを利用する一連の流れにおいて、効率的、かつ安全に個人認証データを書き込むこことのできる、認証システムおよび同システムにおける認証情報委譲方法を提供することを目的とする。
また、認証情報を委譲された利用者がその認証情報から所有者情報を得ることができない仕組みを構築することで匿名化された委譲の方法を実現し、認証情報の安全性を確保するとともにその所有者情報の秘匿性も確保する、認証システムおよび同システムにおける認証情報委譲方法を提供することも目的とする。
更に、２次情報から３次情報、３次情報から４次情報のように、認証情報の委譲を階層的に実現することのできる、認証システムおよび同システムにおける認証情報委譲方法を提供することも目的とする。
【課題を解決するための手段】
【０００６】
上記した課題を解決するために本発明は、メモリ内にユーザ認証情報が記憶されたセキュリティデバイスと、ユーザにサービスを提供するサーバと、前記セキュリティデバイスと通信を行うと共に、前記サーバとネットワークを介して接続されるクライアントとからなる認証システムであって、前記セキュリティデバイスは、前記サーバと共通鍵を共有する秘密情報を暗号化した一時的な認証情報を生成して前記クライアントに転送する手段を備え、前記クライアントは、前記一時的な認証情報を基に、前記サーバと共通鍵を共有する、階層毎に生成された秘密鍵情報を暗号化し、それぞれに階層化されたＮ次（Ｎは２以上の正の整数）の一時的な認証情報を生成して前記サーバに転送する手段を備え、前記サーバは、前記サービス提供にあたり、前記クライアントとの間で前記一時的な認証情報を用いて相互認証を行う手段を備える、ことを特徴とする。
【０００７】
また、本発明は、メモリ内にユーザ認証情報が記憶されたセキュリティデバイスと、ユーザにサービスを提供するサーバと、前記セキュリティデバイスと通信を行うと共に、前記サーバとネットワークを介して接続されるクライアントとからなる認証システムにおける認証情報委譲方法であって、前記セキュリティデバイスが、前記サーバと共通鍵を共有する秘密情報を暗号化した一時的な認証情報を生成して前記クライアントに転送する第１のステップと、前記クライアントが、前記一時的な認証情報を基に、前記サーバと共通鍵を共有する、階層毎に生成された秘密鍵情報を暗号化し、それぞれに階層化されたＮ次（Ｎは２以上の正の整数）の一時的な認証情報を生成して前記クライアントに転送する第２のステップと、前記サーバが、前記サービスの提供にあたり、前記クライアントとの間で前記一時的な認証情報を用いて相互認証を行う第３のステップと、を有することを特徴とする。
【０００８】
また、本発明において、前記第１のステップは、前記セキュリティデバイスが、第１の乱数を生成し、当該第１の乱数をサービス提供者の公開鍵で暗号化する第１のサブステップと、前記セキュリティデバイスが、前記第１の乱数と前記ユーザの公開鍵証明書から取り出したユーザ識別情報とを入力として前記乱数を鍵とする第１の鍵付きハッシュ関数値を計算する第２のサブステップと、前記セキュリティデバイスが、前記認証情報の有効期限を定義し、前記暗号化された乱数とユーザ識別情報、ならびに前記有効期限情報とを連結して電子チケットを生成し、当該電子チケットに前記ユーザの秘密鍵で電子署名を行い、前記クライアントに転送する第３のサブステップと、を含むことを特徴とする。
【０００９】
また、本発明において、前記第２のステップは、前記クライアントが、前記セキュリティデバイスから前記電子署名が施された電子チケットおよびユーザの公開鍵証明書を一次認証情報として受信する第１のサブステップと、前記クライアントが、前記階層毎に新たな乱数を生成し、前記受信した一次認証情報に、更に、前記生成された新たな乱数と、前記階層が深まる毎に短く設定し定義される有効期限情報とを入力とし、前記新たな乱数を鍵とする第Ｎの鍵付きハッシュ関数値を計算して得られるＮ次の認証情報を生成する第２のサブステップと、前記クライアントが、前記生成されたＮ次の認証情報を前記サーバに転送する第３のサブステップと、を含むことを特徴とする。
【００１０】
また、本発明において、前記第２のサブステップは、前記入力に、更に、ユーザの識別情報を含むことを特徴とする。
【００１１】
また、本発明において、前記第３のステップは、前記クライアントが、前記サーバにより生成され、送信される第３の乱数を受信し、前記第２、第３の乱数、前記電子チケット、前記階層毎新たに生成された乱数、ユーザの公開鍵証明書、および前記Ｎ次の鍵付きハッシュ関数値とを入力とし、前記Ｎ次の鍵付きハッシュ関数値を鍵とするＮ次の認証情報を生成して前記サーバへ送信する第１のサブステップと、前記サーバが、前記ユーザの公開鍵証明書の検証、当該ユーザの公開鍵証明書を用いた前記電子チケットの電子署名の検証、および前記電子チケットの有効期限を検証する第２のサブステップと、を含むことを特徴とする。
【００１２】
また、本発明において、前記第３のステップは、前記サーバが、前記電子チケットを復号して前記暗号化された第１の乱数を取り出し、自身の秘密鍵で復号して前記第１の乱数を取得し、前記第１の乱数と前記ユーザの公開鍵証明書から取り出したユーザ識別情報とから第１の鍵付きハッシュ関数値を計算し、当該第１の鍵付きハッシュ関数値に基づき前記第２の鍵付きハッシュ関数値を計算する第３のサブステップと、前記サーバが、前記電子チケットの有効期限を検証すると共に、前記階層毎、新たに生成される乱数と前記有効期限から前記Ｎ次の鍵付きハッシュ関数値を計算し、当該Ｎ次の鍵付きハッシュ関数値により前記Ｎ次の認証情報を検証する第４のステップと、前記サーバが、前記Ｎ次の鍵付きハッシュ関数値と前記第３の乱数とから前記Ｎ次の鍵付きハッシュ関数値を鍵とするＮ次の認証情報を生成して前記クライアントに返信する第５のサブステップと、前記サーバが、前記クライアントにより検証される前記Ｎ次の認証情報が正当であったときに前記クライアントに対し要求されたサービス提供を行う第６のサブステップと、を含むことを特徴とする。
【発明の効果】
【００１３】
本発明によれば、クライアントが、サーバを介して発行される認証情報を基に、サーバと共通鍵を共有する、階層毎に生成された秘密鍵情報を暗号化し、それぞれに階層化されたＮ次（Ｎは２以上の正の整数）の一時的な認証情報を生成してクライアントに転送し、サービスの利用にあたり、サーバとの間で一時的な認証情報を用いて相互認証を行うことでサービス利用が可能になる。
このため、認証情報の安全性を確保でき、一時的な認証情報のみで認証が可能となり、認証情報はオフライン環境下で保管することができる。また、一時的な認証情報の有効期限を短く設定することで一時的な認証情報の盗難にあってもリスクを最小限に抑えることができる。例えば、常時使用するクライアントには一時的な認証情報のみを入れておくことで万が一の紛失や盗難にも対応できる。
【００１４】
また、認証情報を委譲された利用者がその認証情報から所有者情報を得ることができない仕組みを構築することで匿名化された委譲の方法を実現することができ、認証情報の安全性を確保するとともに、その認証情報に関する所有者情報の秘匿性も確保することができる。
更に、認証情報の委譲の際に、２次情報から３次情報、３次情報から４次情報のように、委譲を階層的に実現することができ、このことにより、利用者に利便性を与えながら安全性を確保したシステム構築が可能になる。
また、有効期限を階層化する毎に制限することで階層のレベル（深さ）をコントロールでき、更に、委譲情報にユーザの識別情報を含めることで、例えば、紹介等のアプリケーションが実現でき、サービス提供サイドにおいて、他者に紹介した場合の割引等のインセンティブを把握することが可能になる。
【発明を実施するための最良の形態】
【００１５】
以下、図面を参照しながら本発明実施形態について詳細に説明する。図１は、本発明実施形態に係わる認証システムのシステム構成の一例を示す図である。
図１において、符号１は、メモリ内にユーザ認証情報が記憶されるセキュリティデバイス（Ｈ）であり、ここでは、携帯端末、ＩＣカード、ＰＣ等を想定している。符号２はクライアント（Ｃ）であり、セキュリティデバイス１と通信を行うと共に、ネットワーク経由でサービス提供者（ＳＰ）が管理運営するサーバ（Ｓ）３に接続される。ここでは、公共の場所に設置とてあるＰＣや家庭に設置してあるＳＴＢ（Set Top Box）を想定している。
【００１６】
本発明は、セキュリティデバイス１が、サービス提供者から発行される認証情報（以下、ＰＩ：Primary Informationという）を基に一時的な認証情報（以下、ＳＩ：Secondary Informationという）を生成し、クライアント２が、サービスを利用するにあたり、サーバ３との間でＳＩを用いて相互認証を行うことでサービス利用を可能とすることを特徴とする。
具体的に、サービス提供者はＰＩをセキュリティデバイス１に発行し（１）、ユーザは、後述するセルフデリゲーション（認証情報委譲）を利用して、ＰＣやＳＴＢ等様々なクライアント機器に対して認証情報の委譲を行う（２）。
委譲する際には、サーバ３と共通鍵（認証用のセッション鍵）を共有するための秘密情報と認証情報の所有者情報とを暗号化して隠蔽した特殊な電子チケットを生成し、その電子チケットに電子署名を施して委譲する。そして、クライアント２とサーバ３間は、委譲されたＳＩを基に後述する認証プロトコルに従い相互認証を行う（３）。
【００１７】
上記した方法によれば、ＰＩとして公開鍵を使用するため、最初に認証情報を発行する人物とサービスを提供する人物が同一でなくともよい。すなわち、認証代行、課金代行のようなある人物が一括してユーザを管理するビジネスモデルに適用できる。サービスを提供する各エンティテイはユーザ情報を管理する必要がない。一方で、ＳＩは、共通鍵と電子チケットである。従って、サービス提供時の認証処理が高速に実行できる。万が一、ユーザの秘密鍵が漏れても、既に委譲されたＳＩの安全性は保証され、高い安全性を実現することができる。
また、ＳＩ内の所有者情報を暗号化しておくことで、ＳＩ利用者がＰＩ所有者を特定できない秘匿された委譲の方法を実現できる。
【００１８】
更に、共通鍵から、共通鍵を生成する委譲の方法を組み合わせることで、２次情報から３次情報、３次情報から４次情報のように、委譲を階層的に実現し、有効期限を階層化する毎に制限することで階層のレベル（深さ）をコントロールでき、更に、委譲情報にユーザの識別情報を含めることで、例えば、紹介等のアプリケーションが実現でき、サービス提供サイドにおいて、他者に紹介した場合の割引等のインセンティブを把握することが可能になる。以下にその詳細説明を行う。
【００１９】
図２は、図１に示すセキュリティデバイスの内部構成を機能展開して示したブロック図である。
セキュリティデバイス１は、サーバ３と共通鍵を共有する秘密情報を暗号化した一時的な認証情報を生成してクライアント２に転送する認証制御手段１０を備え、この認証制御手段１０は、乱数生成部１１と、暗号化部１２と、ハッシュ演算部１３と、付加情報定義部１４と、電子チケット生成部１５と、電子署名付与部１６と、ＳＩ転送部１７と、ＰＩ格納部１８と、公開鍵証明書格納部１９とで構成される。
【００２０】
乱数生成部１１は、乱数を生成して暗号化部１２とハッシュ演算部１３へ供給する。暗号化部１２は、乱数生成部１１により生成される乱数、およびＰＩ格納部１８に格納されたユーザの公開鍵証明書から取り出したユーザ識別情報（以下、Uidという）を、サービス提供者の公開鍵で暗号化して電子チケット生成部１５へ供給する。また、ハッシュ演算部１３は、乱数とユーザ識別情報を入力として乱数を鍵とする鍵付きハッシュ関数値を計算し、ＳＩ転送部１７へ供給する。
一方、付加情報定義部１４は、ＳＩの有効期限他を定義して電子チケット生成部１５へ供給する。電子チケット生成部１５は、暗号化された乱数とユーザ識別情報、有効期限情報他を連結して電子チケットを生成してＳＩ転送部１７へ供給する。ＳＩ転送部１７は、電子チケット生成部１５により生成される電子チケット、ハッシュ演算部１３により計算されるハッシュ値、および公開鍵証明書をクライアント２に転送する機能を持つ。
【００２１】
図３〜図６は、本発明実施形態に係わる動作を説明するために引用したフローチャートであり、セキュリティデバイス１（図３）、クライアント２（図４）、サーバ３（図５、図６）のそれぞれにおける処理手順を示す。
以下、図３〜図６に示すフローチャートを参照しながら図１、図２に示す本発明実施形態の動作について詳細に説明する。
【００２２】
まず、サービス提供者（ＳＰ）は、ＰＩとして、公開鍵（証明書）、秘密鍵のペア、Uidをユーザに発行する。続いて、ユーザは、そのＰＩをＩＣカードや携帯電話等のセキュリティデバイス１（ＰＩ格納部１８）に格納する。また、サービス提供者（ＳＰ）の公開鍵（証明書）を取得し、同様にＳＰ公開鍵証明書格納部１９に格納しておく。
ユーザは、希望するクライアント（例えば、ホームコンピュータ、街頭にあるＰＣ、レンタルした携帯端末等）に、ＰＩが格納されたセキュリティデバイス１を操作することにより、後述するＳＩ（Secondary Information）の階層移譲処理（セルフデリゲーションという）を開始する。
【００２３】
具体的に、図３のフローチャートに示されるように、セキュリティデバイス１は、内蔵する乱数生成部１１で乱数Ｒを生成し（Ｓ３１）、その乱数Ｒと、ユーザの公開鍵証明書Certとを公開鍵証明書格納部１９に格納されたサービス提供者の公開鍵Pu(S)で暗号化する（Ｓ３２）。これをEnc(Pu(S),Cert+R)とする。さらに、ハッシュ演算部１３で、乱数Rとユーザの公開鍵証明書から取り出されるUidとを入力として、鍵つきハッシュ関数（Ｒが鍵）を計算する（Ｓ３３）。これをk_authとする。また、付加情報定義部１４でＳＩの有効期限やサービスＩＤなどの情報を定義し（Ｓ３４）、Infoとする。
上記により生成されるEnc(Pu(S),Cert+R)、Infoを連結することで電子チケット生成部１５により電子チケットが生成される（Ｓ３５）。続いて電子署名付与部１６では、この電子チケットにユーザの秘密鍵で電子署名Sig(H)を行い、Ｎ次ＳＩ転送部１７へ供給する（Ｓ３６）。ＳＩ転送部１７は、上記した電子署名付きの電子チケットEnc(Pu(S),Cert+R)、Info、Sig(H)と、鍵付きハッシュ値k_authを一時的な認証情報ＳＩとして、サービスを利用するクライアント２に転送する（Ｓ３７）。
【００２４】
以下、図４〜図６に示すフローチャートを参照し、上記により生成されるＳＩを用いたクライアントとサーバによる相互認証動作について説明する。
クライアント２は、セキュリティデバイス１から転送されてきたＳＩを受信し、内蔵メモリ（図示せず）に格納する（図４のＳ４１、Ｓ４２）。そして、ユーザは、クライアント２を操作して、サービスを提供するサーバ３に対してサービス提供のリクエストを発行する（Ｓ４３）。なお、サービスを提供するサーバ３の運用者は、ＰＩを発行したサービス提供者と異なっていても良い。
次に、サーバ３は、乱数Ｒ’を生成してクライアント２に送信する（図５のＳ６３）。また、サービスによっては、移譲してほしいサービスのＩＤ（Service ID）やサービス提供者の公開鍵（証明書）送信する場合もある。なお、事前にＰＩ（公開鍵と秘密鍵のペアおよびUid）は発行してあるものとする（Ｓ６１）。
【００２５】
一方、クライアント２は、新たに乱数Ｒ’’を生成する（図４のＳ４４）。また、クライアント２は、新たに生成した乱数Ｒ’’、サーバ３から受信した乱数Ｒ’、そして、Uid、電子チケット、k_authを入力として、鍵つきハッシュ関数値（鍵は、k_auth）を生成する。ここで生成した値をMACとする（Ｓ４５）。続いて、サーバ３に対して、乱数Ｒ’、Ｒ’’、電子チケット、MAC値を送信する（Ｓ４６）。ここで、匿名化していない場合は、ユーザの公開鍵証明書も送付する。
【００２６】
サーバ３は、クライアント２から乱数Ｒ’、Ｒ’’、電子チケット、ユーザの公開鍵証明書情報（匿名化している場合）、MAC値を受信すると（図５のＳ６４“Ｙｅｓ”）、ユーザの公開鍵証明書を復号して検証し（Ｓ６６、Ｓ６７）、続いてその公開鍵を利用して電子チケットの電子署名を検証する（Ｓ６８）。なお、匿名化していない場合はユーザの公開鍵証明書をそのまま利用してその証明書の検証処理を行う。さらに、電子チケットの有効期限を確認する（Ｓ６９）。そして、電子チケット内から復号して乱数Rを取り出し、自身の秘密鍵で復号する（図６のＳ７０）。
また、乱数Rとユーザの公開鍵証明書内から取り出したUidから鍵付きハッシュ関数によりk_authを計算する（Ｓ７１）。ここで計算した、k_authに基づきMACを検証する（Ｓ７４）。サーバ３は、以上の全ての検証が成功した場合に正当なユーザだと判断する。
次に、サーバ３は、k_authと乱数Ｒ’’から、鍵付きハッシュ関数（鍵はk_auth）を使ってMAC（k_auth，Ｒ’’）を生成してクライアント２に返信する（Ｓ７５）。
【００２７】
クライアント２は、サーバ３からMAC（k_auth，Ｒ’’）を受信した後（図４のＳ４７）、MAC（k_auth)を検証し（Ｓ４８）、正しければサーバ３が正当なサーバであると判断する。
以上のように、クライアント２およびサーバ３双方における正当性が確認された後にサービスが提供される。有効期限が切れた電子チケットはクライアント２によって自動的に消去される（Ｓ４９、Ｓ５０）。なお、サービス提供時の認証プロトコルは、共通鍵を使ったものであれば他の方式でもかまわない。
【００２８】
次に、２次情報から３次情報を生成する手順について説明する。以降、２次情報をＮ次情報と置き換えればＮ次情報からＮ＋１情報生成する手順と等しくなる。
クライアント２は、２次情報としてk_authと電子チケット、および匿名化していない場合にはユーザの公開鍵証明書を取得している。ここで、クライアントは、新たな乱数Ｒ２を生成する（Ｓ４４）。そして、k_authとＲ２、有効期限等の付加情報Info’から鍵付きハッシュ値（MAC）を計算する（Ｓ４５）。ここでは、k_auth+とする。仮に、自身のUid（ID2）を含めたければR2+Info’+ID2を入力とする。
【００２９】
なお、このとき、有効期限は、必ず２次情報の有効期限より所定期間だけ短い有効期限とする。有効期間はシステムパラメータにより設定される。このように順次短い有効期限が設定されるため、ある程度階層化が進むと、新たに委譲のための認証情報を生成することができなくなる。
そして、サーバ３に、R2+Info’+ID2（入力した場合）、電子チケット、ユーザの公開鍵証明書を送信し、これが３次情報となる（Ｓ４６）。
【００３０】
次に、上記により生成される３次情報で認証する手順について説明する。ユーザは、端末を操作してサーバ３対し、サービス提供のリクエストを行う（Ｓ４３）。次に、サーバ３は、先に生成済みの乱数R’をクライアント２に送信する。また、サービスによっては、委譲してほしいサービスのＩｄ（サービスＩｄ）を送信する場合もある。
そして、クライアント２は、新たに乱数R””を生成する（Ｓ４４）。次に、乱数R’、R’’、電子チケット、乱数Ｒ２、Info’、ID2（入力した場合）、ユーザの公開鍵証明書（匿名化していない場合）、３次情報k_auth+を入力として、鍵付きハッシュ関数値（鍵はk_auth+）を生成する（Ｓ４５）。ここで生成される鍵付きハッシュ関数値をMACとする。そして、サーバ３に対して乱数R’、R’’、電子チケット、乱数Ｒ２、Info’、ID2（入力した場合）、ユーザの公開鍵証明書（匿名化していない場合）、MACを送信して認証を促す（Ｓ４６）。
【００３１】
一方、サーバ３は、匿名化している場合は、ユーザの公開鍵証明書を復号化し、匿名化していない場合はそのまま使用して証明書の検証処理を行う（図５のＳ６７）。更に、その公開鍵を利用して電子チケットの電子署名を検証する（Ｓ６８）。更に、電子チケットの有効期限を確認する（Ｓ６９）。
そして、電子チケットから復号して乱数Ｒを取得し、自身の秘密鍵で復号して乱数Ｒを取り出す（図７のＳ７０）。更に、乱数Ｒと、ユーザの公開鍵証明書内から取り出したUidから鍵付きハッシュ関数値によりk_authを計算する（Ｓ７１）。更に、Info’内の有効期限をチェックするとともに、R2+Info’+ID2（入力した場合）からk_auth+を計算する（Ｓ７２、Ｓ７３）。ここで計算されるk_auth+によりMAC検証を行い、以上の全ての検証が成功した場合に正当なユーザであると判定することができる。
【００３２】
次に、サーバ３は、k_auth+とR’’から鍵付きハッシュ関数（鍵は、k_auth+）を用いてMAC（k_auth+、R’’）を生成し、要求のあったクライアント２に返信する（Ｓ７５）。
クライアント２は、MAC（k_auth+、R’’）を受信後、検証し（Ｓ４７、Ｓ４８）、正しければサーバ３は正当なサーバであると判定する。そして、双方の正当性が検証されたときにサーバ３によるサービス提供が開始される。なお、有効期限が切れた電子チケットやk_auth+は、クライアント２により自動的に消去される（Ｓ４９、Ｓ５０）。
【００３３】
図７に、纏めの意味で、上記したセキュリティデバイス（Ｈ）と、クライアント（Ｃ）と、サーバ（Ｓ）間のデータの流れをシーケンス図で示した。
クライアント２は、まず、セキュリティデバイス１に対して委譲してほしいサービスのＩＤやサービス提供者の公開鍵証明書、ユーザの公開鍵証明書を送ったとする。これに対し、セキュリティデバイス１は、クライアント２に対して、乱数Ｒを鍵とする鍵付きハッシュ関数値k_authと、署名付き電子チケットを送信する（Ｓ８１）。
【００３４】
一方、クライアント２は、サーバ３にサービス提供リクエストを発行し（Ｓ８２）、このとき既にサーバ３から乱数Ｒ’を受信していることから（Ｓ８３）、サーバ３に対して、第２、第３の乱数（それぞれR’、R’’）と、署名付き電子チケットと、新たに生成される乱数Ｒ２と、付加情報Info’、ID2（入力した場合）、そして、第２の鍵付きハッシュ関数値（MAC）とを送信して認証を促す（Ｓ８４）。
【００３５】
サーバ３は、電子チケットから復号して乱数Ｒを取得し、自身の秘密鍵で復号して乱数Ｒを取り出し、乱数Ｒと、ユーザの公開鍵証明書内から取り出したUidから鍵付きハッシュ関数値によりk_authを計算する。更に、Info’内の有効期限をチェックするとともに、R2+Info’+ID2（入力した場合）からk_auth+を計算し、ここで計算されるk_auth+によりMAC検証を行い、正当性を証明する。
次に、サーバ３は、k_auth+とR’’から鍵付きハッシュ関数（鍵は、k_auth+）を用いてMAC（k_auth+、R’’）を生成し、要求のあったクライアント２に返信して認証を促す（Ｓ８５）。クライアント２は、MAC(k_auth+,R’’)を検証して正しければサーバ３が正当なサーバであると判断する。そして、サーバ３、クライアント２双方の正当性が確認されたときにサービスが提供される（Ｓ８６）。
【００３６】
なお、４次情報の場合、新たに生成した乱数R3、Id3（入力した場合）、付加情報Info’’、鍵付きハッシュ関数値k_auth++と、２次情報である乱数R2、Id2（入力した場合）、付加情報Info’、電子チケット、ユーザの公開鍵証明書の組合せになる。そして、上記したクライアント２のMac生成処理（Ｓ４５）では、乱数R’、R’’、電子チケット、乱数R2、R3、付加情報Info’、Info’’、ID3（入力した場合）ユーザの公開鍵証明書（匿名でない場合）、k_auth++を入力として、鍵付きハッシュ関数値（鍵は、k_auth++）を生成する。
そして、サーバ３に対して、乱数R’、R’’、電子チケット、乱数R2、R3、付加情報Info’、Info’’、ID2、ID3（ともに入力した場合）、ユーザの公開鍵証明書（匿名でない場合）、MACを送信する。このことは、図７に模式的に示されている。
【００３７】
なお、サーバ３において有効期限のチェックを行うことで、３次情報より４次情報の方が、有効期限が短くなっていることが確認される。すなわち、階層化が進む毎に情報量が増えることになる。
また、ＩＤが入力された場合、そのＩＤの人物がどの程度紹介を行ったかをサービス提供者側で把握できる。この場合、複数のユーザ間で認証情報の委譲がなされることを想定している。上記の説明は、図８に模式的に示されている。この方法によれば、各ユーザは、それぞれのk_authを有し、また、サービス提供者は、矢印方向に順次辿ることで検証が可能になる。なお、図中、ｆはハッシュ関数を示す。
【００３８】
以上説明のように本発明によれば、ＳＩのみで認証を行い、サービスを利用することが可能となる。従って、以下に列挙することが実現可能となる。
（１）ＰＩの安全性を確保できる。すなわち、ＳＩのみで認証が可能となるため、ＰＩはオフライン環境下で安全に確保することが可能である。また、ＳＩの有効期限を短く設定することで、ＳＩの盗難に対してもリスクを最小化できる。例えば、常時携帯する携帯電話端末にはＳＩのみを入れておくことで、万が一の紛失や盗難にも対応できる。
（２）権限委譲ツールとしての利用が可能となる。すなわち、個人の紐つきが強い携帯電話端末にＰＩを格納しておき、他の端末には、都度、ＳＩを委譲して利用する。このことにより、上記したセルフデリゲーションを使用すれば様々な端末へ一時的な権限委譲が可能である。例えば、公共の場に設置してあるＰＣ、家庭のＳＴＢへの権限委譲が考えられる。その他のアプリケーションとしては、来客時において、客に対して、一時的に権限を貸与するようなアプリケーションが考えられる。
【００３９】
（３）アントレーサブルな認証が実現できる。すなわち、委譲されるＳＩは、毎回違うものとなる。従って、利用者のサービス利用状況が追跡できないような認証方式が実現可能である。これは、サービス利用におけるプライバシ保護の問題の１つを解決するものである。
（４）認証情報の一元管理が可能である。すなわち、様々な認証情報を単一の端末に委譲することにより、認証情報の一元管理が可能となる。例えば、所有する複数のクレジットカードに格納された認証情報を携帯端末に委譲すれば、携帯端末を持ち歩くだけで、様々なサービスを受けられるようになる。
（５）認証情報の統一が可能になる。すなわち、複数のプラットフォームにおいて、上記したセルフデリゲーションにより統一された認証情報を使用可能にすることで、シームレスなサービス認証を実現する。例えば、携帯端末において認証に使用している情報をＰＣに移譲することで、ＰＣにおいても同様のサービスを利用可能となる。
【００４０】
以上説明のように本発明によれば、セキュリティデバイス１が、サーバ３を介して発行される認証情報を基に、サーバ３と共通鍵を共有する秘密鍵情報と認証情報の所有者情報とを暗号化した情報を生成し、電子署名を施して一時的な認証情報を生成してクライアント２に転送し、クライアント２が、サービスの利用にあたり、サーバ３との間で一時的な認証情報を用いて相互認証を行うことでサービス利用が可能になる。
このため、認証情報の安全性を確保でき、一時的な認証情報のみで認証が可能となり、認証情報はオフライン環境下で保管することができる。また、一時的な認証情報の有効期限を短く設定することで一時的な認証情報の盗難にあってもリスクを最小限に抑えることができる。例えば、常時使用するクライアントには一時的な認証情報のみを入れておくことで万が一の紛失や盗難にも対応できる。
また、認証情報を委譲された利用者がその認証情報から所有者情報を得ることができない仕組みを構築することで匿名化された委譲の方法を実現することができ、認証情報の安全性を確保するとともに、その認証情報に関する所有者情報の秘匿性も確保することができる。
【００４１】
上記したように、ユーザが様々な認証情報を携帯電話端末等のセキュリティデバイス１に格納することになり、このことにより、携帯電話端末の利用目的が飛躍的に拡大すると共に、課金代行業務などの成長も見込める。また、１つのユーザアカウントと認証情報の組によって、様々な端末でサービスを利用することになればユーザの利便性が向上するだけでなく、プラットフォーム横断的なユーザ管理が可能となり、ユーザの囲い込みを行うことができるようになる。同時に、移動系、固定系などの認証情報を統合管理することにより運用コストを従来の半分程度に削減できる。
さらに、安全性を理論的に照明可能な本発明方法により従来よりも安全な認証基盤が実現できる。従って本発明は、サービスの安全性、利便性を大幅に向上させるため、ＣＳ（顧客満足度）の上昇に大きく貢献するものと考えられる。
【図面の簡単な説明】
【００４２】
【図１】本発明の実施形態に係わる認証システムのシステム構成の一例を示す図である。
【図２】図１に示すセキュリティデバイスの内部構成を機能展開して示したブロック図である。
【図３】本発明の実施形態に係わるセキュリティデバイスの動作を説明するために引用したフローチャートである。
【図４】本発明の実施形態に係わるクライアントの動作を説明するために引用したフローチャートである。
【図５】本発明の実施形態に係わるサーバの動作を説明するために引用したフローチャートである。
【図６】本発明の実施形態に係わるサーバの動作を説明するために引用したフローチャートである。
【図７】本発明の実施形態に係わる認証システムの動作シーケンスを示す図である。
【図８】本発明の実施形態に係わる認証システムの階層委譲の流れを模式的に示した図である。
【符号の説明】
【００４３】
１…セキュリティデバイス（Ｈ）、２…クライアント（Ｃ）、３…サーバ（Ｓ）、１０…認証制御手段、１１…乱数生成部、１２…暗号化部、１３…ハッシュ演算部、１４…付加情報定義部、１５…電子チケット生成部、１６…電子署名付与部、１７…ＳＩ転送部、１８…ＰＩ格納部、１９…公開鍵証明書格納部
【図１】
2006350906.tif 000003
【図２】
2006350906.tif 000004
【図３】
2006350906.tif 000005
【図４】
2006350906.tif 000006
【図５】
2006350906.tif 000007
【図６】
2006350906.tif 000008
【図７】
2006350906.tif 000009
【図８】
2006350906.tif 000010