(57)【特許請求の範囲】
【請求項１】
メモリ内にユーザ認証情報が記憶された第１のセキュリティデバイスと、この第１のセキュリティデバイスから直接若しくは他のセキュリティデバイスを介して所定の認証情報を転送される第２のセキュリティデバイスと、ユーザにサービスを提供するサーバと、前記第２のセキュリティデバイスと通信を行うと共に、前記サーバとネットワークを介して接続されるクライアントとから成る認証システムであって、
前記第２のセキュリティデバイスは、前記転送された認証情報を基にして、前記クライアントと前記サーバとの間の認証処理およびさらに他のセキュリティデバイスへの転送のための一時的な認証情報を生成し、前記一時的な認証情報を前記クライアントに転送する手段を備え、
前記クライアントは、前記サービスの利用にあたり、前記サーバとの間で前記一時的な認証情報を用いて相互認証を行う手段を備え、
前記第２のセキュリティデバイスへ転送された認証情報は、所定の第１の乱数を鍵としユーザ識別情報から計算された第１の鍵付きハッシュ関数値、または該関数値を所定回数ハッシュして得られた第１のダイジェスト情報と、少なくとも前記ユーザ識別情報およびサービス提供者の公開鍵で暗号化された前記第１の乱数を連結して作成され、ユーザの秘密鍵で電子署名が施された電子チケット情報とを含み、
前記第２のセキュリティデバイスの前記手段は、
前記第１の鍵付きハッシュ関数値から計算されたハッシュ値または前記第１のダイジェスト情報をハッシュ関数に入力して第２のダイジェスト情報を得るダイジェスト生成部と、
前記電子チケット情報をハッシュして得られた情報と少なくとも前記一時的な認証情報に係る所定の有効期限情報を含んだ制御情報とを入力として、前記ハッシュ値または前記第１のダイジェスト情報のいずれかを鍵とする第２の鍵付きハッシュ関数値を計算するハッシュ演算部と、
少なくとも前記第２の鍵付きハッシュ関数値および前記電子チケット情報を含む一時的な認証情報を前記クライアントに転送し、さらに他のセキュリティデバイスに認証情報を転送する場合には、少なくとも前記第２のダイジェスト情報および前記電子チケット情報を含む一時的な認証情報を転送する転送部と、
を備えることを特徴とする認証システム。
【請求項２】
メモリ内にユーザ認証情報が記憶された第１のセキュリティデバイスと、この第１のセキュリティデバイスから直接若しくは他のセキュリティデバイスを介して所定の認証情報を転送される第２のセキュリティデバイスと、ユーザにサービスを提供するサーバと、前記第２のセキュリティデバイスと通信を行うと共に、前記サーバとネットワークを介して接続されるクライアントとから成る認証システムにおける認証情報の委譲方法であって、
前記第２のセキュリティデバイスが、前記転送された認証情報を基にして、前記クライアントと前記サーバとの間の認証処理およびさらに他のセキュリティデバイスへの転送のための一時的な認証情報を生成し、前記一時的な認証情報を前記クライアントに転送する第１のステップと、
前記クライアントが、前記サービスの利用にあたり、前記サーバとの間で前記一時的な認証情報を用いて相互認証を行う第２のステップと、
を有し、
前記第２のセキュリティデバイスへ転送された認証情報は、所定の第１の乱数を鍵としユーザ識別情報から計算された第１の鍵付きハッシュ関数値、または該関数値を所定回数ハッシュして得られた第１のダイジェスト情報と、少なくとも前記ユーザ識別情報およびサービス提供者の公開鍵で暗号化された前記第１の乱数を連結して作成され、ユーザの秘密鍵で電子署名が施された電子チケット情報とを含み、
前記第１のステップは、
前記第１の鍵付きハッシュ関数値から計算されたハッシュ値または前記第１のダイジェスト情報をハッシュ関数に入力して第２のダイジェスト情報を得るサブステップと、
前記電子チケット情報をハッシュして得られた情報と少なくとも前記一時的な認証情報に係る所定の有効期限情報を含んだ制御情報とを入力として、前記ハッシュ値または前記第１のダイジェスト情報のいずれかを鍵とする第２の鍵付きハッシュ関数値を計算するサブステップと、
少なくとも前記第２の鍵付きハッシュ関数値および前記電子チケット情報を含む一時的な認証情報を前記クライアントに転送するサブステップと、
さらに他のセキュリティデバイスに認証情報を転送する場合には、少なくとも前記第２のダイジェスト情報および前記電子チケット情報を含む一時的な認証情報を転送するサブステップと、
を含むことを特徴とする認証システムにおける認証情報の委譲方法。
【請求項３】
前記第２のステップは、前記クライアントが実行するサブステップとして、
前記転送される一時的な認証情報をメモリに格納するサブステップと、
前記サーバに前記サービスの提供開始を求める要求を送信するサブステップと、
前記サーバにより生成され送信される第２の乱数を受信するサブステップと、
前記第２の乱数とは異なる第３の乱数を生成し、前記第２および第３の乱数と、前記電子チケット情報と、前記第２の鍵付きハッシュ関数値とを入力とし、前記第２の鍵付きハッシュ関数値を鍵とする第３の鍵付きハッシュ関数値を生成するサブステップと、
前記第２および第３の乱数と、前記電子チケット情報と、前記第３の鍵付きハッシュ関数値とを前記サーバへ送信して認証を促すサブステップと、
を含むことを特徴とする請求項２に記載の認証システムにおける認証情報の委譲方法。
【請求項４】
前記第２のステップは、前記サーバが実行するサブステップとして、
前記要求を受けて前記第２の乱数を生成し、これを前記クライアントに送信するサブステップと、
前記クライアントから送信される、前記第２および第３の乱数と、前記電子チケット情報と、前記第３の鍵付きハッシュ関数値とを受信するサブステップと、
前記秘密鍵に対応する公開鍵の公開鍵証明書を取得するサブステップと、
前記公開鍵および公開鍵証明書を利用して前記電子チケット情報の電子署名を検証するサブステップと、
前記電子チケット情報から前記暗号化された第１の乱数を取得し、自身の秘密鍵で復号して第１の乱数を取得するサブステップと、
前記電子チケット情報より取り出したユーザ識別情報から前記第１の乱数を鍵とする第１の鍵付きハッシュ関数値を計算するサブステップと、
前記計算された第１の鍵付きハッシュ関数値に基づき前記ハッシュ値または前記第１のダイジェスト情報を計算し、さらにこれらに基づいて前記第２の鍵付きハッシュ関数値を計算するサブステップと、
前記計算された第２の鍵付きハッシュ関数値に基づき前記第３の鍵付きハッシュ関数値を検証するサブステップと、
前記第３の乱数と前記第２の鍵付きハッシュ関数値とを入力として前記第２の鍵付きハッシュ関数値を鍵とする第４の鍵付きハッシュ関数値を生成し、これを前記クライアントに送信して認証を促すサブステップと、
を更に含むことを特徴とする請求項３に記載の認証システムにおける認証情報の委譲方法。
【請求項５】
メモリ内にユーザ認証情報が記憶された第１のセキュリティデバイスと、この第１のセキュリティデバイスから直接若しくは他のセキュリティデバイスを介して所定の認証情報を転送される第２のセキュリティデバイスと、ユーザにサービスを提供するサーバと、前記第２のセキュリティデバイスと通信を行うと共に、前記サーバとネットワークを介して接続されるクライアントとから成る認証システムにおける前記第２のセキュリティデバイスであって、
前記転送された認証情報を基にして、前記クライアントと前記サーバとの間の認証処理およびさらに他のセキュリティデバイスへの転送のための一時的な認証情報を生成し、前記一時的な認証情報を前記クライアントに転送して認証を促す認証制御手段を備え、
前記第２のセキュリティデバイスへ転送された認証情報は、所定の第１の乱数を鍵としユーザ識別情報から計算された第１の鍵付きハッシュ関数値、または該関数値を所定回数ハッシュして得られた第１のダイジェスト情報と、少なくとも前記ユーザ識別情報およびサービス提供者の公開鍵で暗号化された前記第１の乱数を連結して作成され、ユーザの秘密鍵で電子署名が施された電子チケット情報とを含み、
前記認証制御手段は、
前記第１の鍵付きハッシュ関数値から計算されたハッシュ値または前記第１のダイジェスト情報をハッシュ関数に入力して第２のダイジェスト情報を得るダイジェスト生成部と、
前記電子チケット情報をハッシュして得られた情報と少なくとも前記一時的な認証情報に係る所定の有効期限情報を含んだ制御情報とを入力として、前記ハッシュ値または前記第１のダイジェスト情報のいずれかを鍵とする第２の鍵付きハッシュ関数値を計算するハッシュ演算部と、
少なくとも前記第２の鍵付きハッシュ関数値および前記電子チケット情報を含む一時的な認証情報を前記クライアントに転送し、さらに他のセキュリティデバイスに認証情報を転送する場合には、少なくとも前記第２のダイジェスト情報および前記電子チケット情報を含む一時的な認証情報を転送する転送部と、
を備えることを特徴とするセキュリティデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、認証システムおよび同システムにおける認証情報委譲方法ならびにセキュリティデバイスに関する。
【背景技術】
【０００２】
一般に市販されているＩＣカード等の対タンパデバイスや携帯端末を個人認証に使用する際に、個人認証情報をどのように登録するかは大きな問題である。また、認証情報を利用する際に、複数の信頼できるＩＣカードを携帯しなければならないことは利便性を大きく損なう。
【０００３】
このために、クライアントに依存せず、個々のサーバで異なる認証方式を利用している場合でもその対応が可能なように、セキュリティデバイスが、サーバが特定ユーザを認証するためにユーザ側に必要とする機能（ユーザ認証データをサーバが認証対象とするデータ形式に変換する）を搭載した個人認証システムが提案されている（例えば、特許文献１参照）。
【特許文献１】特開２００４−１１８３７７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、携帯端末以外にもＰＣ（Personal Computer）などで、同様の認証情報を利用してサービス提供を受けようとする場合、認証情報を委譲して利用できることが望ましい。従って、別のＩＣカードや携帯端末に認証情報を保存し、任意の端末に対して認証情報を委譲できる方式が必要である。
但し、その方式は、常に利用者の手元で簡単にできることが望ましいが、このとき、利用者によって不正な情報が書き込まれる可能性がある。このように安全性と利便性はトレードオフの関係にある。
【０００５】
そこで従来は、安全性を考慮して個人認証情報は信頼できる機関によって本人の身元確認を行った上でその書き込みを許可しており、そのため利用者の利便性を損なっていた。また、全く同じ情報をコピーした場合、セキュリティ上の問題があった。さらに、元の個人認証情報から派生的に認証情報を階層化処理によって作成していくと、そのデータサイズが徐々に増加してしまうという問題点があった。
【０００６】
本発明は上記の点に鑑みてなされたものであり、その目的は、認証情報を委譲し、委譲した認証情報を使用してサービスを利用する一連の流れにおいて、効率的、かつ安全に個人認証データを書き込むことができ、その際に、２次情報から３次、４次情報へと階層的に委譲を行っていくことが可能であり、さらにその階層化において委譲するデータの増加を抑えられる、認証システムおよび同システムにおける認証情報委譲方法ならびにセキュリティデバイスを提供することにある。
【課題を解決するための手段】
【０００７】
本発明は上記の課題を解決するためになされたものであり、請求項１に記載の発明は、メモリ内にユーザ認証情報が記憶された第１のセキュリティデバイスと、この第１のセキュリティデバイスから直接若しくは他のセキュリティデバイスを介して所定の認証情報を委譲される第２のセキュリティデバイスと、ユーザにサービスを提供するサーバと、前記第２のセキュリティデバイスと通信を行うと共に、前記サーバとネットワークを介して接続されるクライアントとから成る認証システムであって、前記第２のセキュリティデバイスは、前記委譲された認証情報を基にして、前記クライアントが前記サーバとの間で認証処理を行うための一時的な認証情報とさらに他のセキュリティデバイスへ委譲する派生的な認証情報とを生成し、前記一時的な認証情報を前記クライアントに転送する手段を備え、前記クライアントは、前記サービスの利用にあたり、前記サーバとの間で前記一時的な認証情報を用いて相互認証を行う手段を備えることを特徴とする認証システムである。
【０００８】
また、請求項２に記載の発明は、メモリ内にユーザ認証情報が記憶された第１のセキュリティデバイスと、この第１のセキュリティデバイスから直接若しくは他のセキュリティデバイスを介して所定の認証情報を委譲される第２のセキュリティデバイスと、ユーザにサービスを提供するサーバと、前記第２のセキュリティデバイスと通信を行うと共に、前記サーバとネットワークを介して接続されるクライアントとから成る認証システムにおける認証情報の委譲方法であって、前記第２のセキュリティデバイスが、前記委譲された認証情報を基にして、前記クライアントが前記サーバとの間で認証処理を行うための一時的な認証情報とさらに他のセキュリティデバイスへ委譲する派生的な認証情報とを生成し、前記一時的な認証情報を前記クライアントに転送する第１のステップと、前記クライアントが、前記サービスの利用にあたり、前記サーバとの間で前記一時的な認証情報を用いて相互認証を行う第２のステップと、を有することを特徴とする認証システムにおける認証情報の委譲方法である。
【０００９】
また、請求項３に記載の発明は、請求項２に記載の認証システムにおける認証情報の委譲方法において、前記委譲された認証情報は、所定の第１の乱数を鍵としユーザ識別情報から計算された第１の鍵付きハッシュ関数値、または該関数値を所定回数ハッシュして得られた第１のダイジェスト情報と、少なくとも前記ユーザ識別情報およびサービス提供者の公開鍵で暗号化された前記第１の乱数を連結して作成され、ユーザの秘密鍵で電子署名が施された電子チケット情報とを含み、前記第１のステップは、前記第１の鍵付きハッシュ関数値から計算されたハッシュ値または前記第１のダイジェスト情報をハッシュ関数に入力して第２のダイジェスト情報を得るサブステップと、前記電子チケット情報をハッシュして得られた情報と少なくとも前記認証情報に係る所定の有効期限情報を含んだ制御情報とを入力として、前記ハッシュ値または前記第１のダイジェスト情報のいずれかを鍵とする第２の鍵付きハッシュ関数値を計算するサブステップと、少なくとも前記第２の鍵付きハッシュ関数値および前記電子チケット情報を一時的な認証情報として前記クライアントに転送するサブステップと、さらに他のセキュリティデバイスに認証情報を委譲する場合には、少なくとも前記第２のダイジェスト情報および前記電子チケット情報を派生的な認証情報として転送するサブステップと、を含むことを特徴とする。
【００１０】
また、請求項４に記載の発明は、請求項２または請求項３に記載の認証システムにおける認証情報の委譲方法において、前記第２のステップは、前記クライアントが実行するサブステップとして、前記転送される一時的な認証情報をメモリに格納するサブステップと、前記サーバに前記サービスの提供開始を求める要求を送信するサブステップと、前記サーバにより生成され送信される第２の乱数を受信するサブステップと、前記第２の乱数とは異なる第３の乱数を生成し、前記第２および第３の乱数と、前記電子チケット情報と、前記第２の鍵付きハッシュ関数値とを入力とし、前記第２の鍵付きハッシュ関数値を鍵とする第３の鍵付きハッシュ関数値を生成するサブステップと、前記第２および第３の乱数と、前記電子チケット情報と、前記第３の鍵付きハッシュ関数値とを前記サーバへ送信して認証を促すサブステップと、を含むことを特徴とする。
【００１１】
また、請求項５に記載の発明は、請求項４に記載の認証システムにおける認証情報の委譲方法において、前記第２のステップは、前記サーバが実行するサブステップとして、前記要求を受けて前記第２の乱数を生成し、これを前記クライアントに送信するサブステップと、前記クライアントから送信される、前記第２および第３の乱数と、前記電子チケット情報と、前記第３の鍵付きハッシュ関数値とを受信するサブステップと、前記秘密鍵に対応する公開鍵の公開鍵証明書を取得するサブステップと、前記公開鍵および公開鍵証明書を利用して前記電子チケット情報の電子署名を検証するサブステップと、前記電子チケット情報から前記暗号化された第１の乱数を取得し、自身の秘密鍵で復号して第１の乱数を取得するサブステップと、前記電子チケット情報より取り出したユーザ識別情報から前記第１の乱数を鍵とする第１の鍵付きハッシュ関数値を計算するサブステップと、前記計算された第１の鍵付きハッシュ関数値に基づき前記ハッシュ値または前記第１のダイジェスト情報を計算し、さらにこれらに基づいて前記第２の鍵付きハッシュ関数値を計算するサブステップと、前記計算された第２の鍵付きハッシュ関数値に基づき前記第３の鍵付きハッシュ関数値を検証するサブステップと、前記第３の乱数と前記第２の鍵付きハッシュ関数値とを入力として前記第２の鍵付きハッシュ関数値を鍵とする第４の鍵付きハッシュ関数値を生成し、これを前記クライアントに送信して認証を促すサブステップと、を更に含むことを特徴とする。
【００１２】
また、請求項６に記載の発明は、メモリ内にユーザ認証情報が記憶された第１のセキュリティデバイスと、この第１のセキュリティデバイスから直接若しくは他のセキュリティデバイスを介して所定の認証情報を委譲される第２のセキュリティデバイスと、ユーザにサービスを提供するサーバと、前記第２のセキュリティデバイスと通信を行うと共に、前記サーバとネットワークを介して接続されるクライアントとから成る認証システムにおける前記第２のセキュリティデバイスであって、前記委譲された認証情報を基にして、前記クライアントが前記サーバとの間で認証処理を行うための一時的な認証情報とさらに他のセキュリティデバイスへ委譲する派生的な認証情報とを生成し、前記一時的な認証情報を前記クライアントに転送して認証を促す認証制御手段を具備することを特徴とするセキュリティデバイスである。
【００１３】
また、請求項７に記載の発明は、請求項６に記載のセキュリティデバイスにおいて、前記委譲された認証情報は、所定の第１の乱数を鍵としユーザ識別情報から計算された第１の鍵付きハッシュ関数値、または該関数値を所定回数ハッシュして得られた第１のダイジェスト情報と、少なくとも前記ユーザ識別情報およびサービス提供者の公開鍵で暗号化された前記第１の乱数を連結して作成され、ユーザの秘密鍵で電子署名が施された電子チケット情報とを含み、前記認証制御手段は、前記第１の鍵付きハッシュ関数値から計算されたハッシュ値または前記第１のダイジェスト情報をハッシュ関数に入力して第２のダイジェスト情報を得るダイジェスト生成部と、前記電子チケット情報をハッシュして得られた情報と少なくとも前記認証情報に係る所定の有効期限情報を含んだ制御情報とを入力として、前記ハッシュ値または前記第１のダイジェスト情報のいずれかを鍵とする第２の鍵付きハッシュ関数値を計算するハッシュ演算部と、少なくとも前記第２の鍵付きハッシュ関数値および前記電子チケット情報を一時的な認証情報として前記クライアントに転送し、さらに他のセキュリティデバイスに認証情報を委譲する場合には、少なくとも前記第２のダイジェスト情報および前記電子チケット情報を派生的な認証情報として転送する認証情報転送部と、を具備することを特徴とする。
【発明の効果】
【００１４】
本発明によれば、セキュリティデバイスが、他のセキュリティデバイスから委譲された認証情報を基に一時的な認証情報を生成してクライアントに転送し、クライアントが、サービスの利用にあたり、サーバとの間でこの一時的な認証情報を用いて相互認証を行うことでサービス利用が開始される。このため、一時的な認証情報のみで認証が可能となるので、元の認証情報はオフライン環境下で保管してその安全性を確保することができる。
【００１５】
また、上記の一時的な認証情報とは別に派生的な認証情報を生成しているので、これをさらに他のセキュリティデバイスに委譲することで認証情報の階層的な委譲を行うことが可能となる。さらに、次の階層に引き継がれるのは派生的な認証情報だけであり一時的な認証情報はそれが生成された階層に留まるので、階層的な委譲に伴う認証情報のデータサイズ増大が起きないという利点がある。
【発明を実施するための最良の形態】
【００１６】
以下、図面を参照しながら本発明の実施形態について詳しく説明する。
図１は、本発明の一実施形態による認証システムのシステム構成の一例を示したものである。図１において、符号１はセキュリティデバイスであり、この中にはメモリ内にユーザ認証情報が記憶されたセキュリティデバイス（Ｈ１）と、そのセキュリティデバイス（Ｈ１）から直接または間接的に認証情報の委譲を受けるセキュリティデバイス（Ｈ２）が存在する。ここではセキュリティデバイスとして、携帯端末、ＩＣカード、ＰＣ等を想定する。符号２はクライアント（Ｃ）であり、セキュリティデバイス（Ｈ２）１と通信を行うと共に、ネットワーク経由でサービス提供者が管理運営するサーバ（Ｓ）３に接続される。このクライアントとしては、ここでは公共の場所に設置してあるＰＣや家庭に設置してあるＳＴＢ（Set Top Box）を想定している。
【００１７】
本実施形態の認証システムは、セキュリティデバイス（Ｈ１）１が、サービス提供者から発行される認証情報（以下、ＰＩ；Primary Informationという）を基に一時的な認証情報（以下、ＳＩ；Secondary Informationという）を生成し、ＳＩを委譲されたセキュリティデバイス（Ｈ２）１が、ＳＩを基に別の一時的な認証情報（以下、ＳＩ’という）を生成し、クライアント２が、サービスを利用するにあたり、サーバ３との間でＳＩ’を用いて相互認証を行うことでサービス利用を可能とするものである。すなわち、セキュリティデバイス（Ｈ２）１は、ＳＩ（２次情報）からＳＩ’（３次情報）を生成する。ただし、３次情報を基に４次情報を生成するというように、より深い階層において同様の処理を行うことも可能である。
【００１８】
具体的に、サービス提供者はＰＩをセキュリティデバイス（Ｈ１）１に発行し、ユーザは、後述する認証情報委譲機能を利用して、ＰＣやＳＴＢ等様々なクライアント機器に対して認証情報の委譲を行う。
委譲する際には、サーバ３と共通鍵（認証用のセッション鍵）を共有するための秘密情報を暗号化して隠蔽した特殊な電子チケット情報を生成し、その電子チケット情報に電子署名を施して委譲する。クライアント２とサーバ３間は、委譲されたＳＩを基に後述する認証プロトコルに従い相互認証を行う。
【００１９】
さらに、共通鍵から共通鍵を生成する委譲方式を導入することにより、３次情報、４次情報、…と階層的に認証情報を作成する。また、階層化に当たっては、複数回の委譲を行った場合でも委譲されるデータのサイズが増加しない方式を適用する。
【００２０】
図２は、図１に示すセキュリティデバイス（Ｈ１）１の内部構成を機能展開して示したブロック図である。
セキュリティデバイス（Ｈ１）１は、サーバ３を介して発行されるＰＩを基にサーバ３と共通鍵を共有する秘密鍵情報を暗号化した情報を生成し、この情報に電子署名を施して一時的な認証情報であるＳＩを生成し、その上で、このＳＩをクライアント２に転送して認証を促し、またセキュリティデバイス（Ｈ２）１にも転送する認証制御手段１０を備える。認証制御手段１０は、乱数生成部１１と、暗号化部１２と、ハッシュ演算部１３と、付加情報定義部１４と、電子チケット生成部１５と、電子署名付与部１６と、ＳＩ転送部１７と、ＰＩ格納部１８と、公開鍵証明書格納部１９で構成される。
【００２１】
乱数生成部１１は、乱数を生成して暗号化部１２とハッシュ演算部１３へ供給する。暗号化部１２は、乱数をサービス提供者の公開鍵で暗号化して電子チケット生成部１５へ供給する。また、ハッシュ演算部１３は、乱数とユーザ識別情報を入力として乱数を鍵とする鍵付きハッシュ関数値を計算し、ＳＩ転送部１７へ供給する。
一方、付加情報定義部１４は、ＳＩの有効期限等を定義して電子チケット生成部１５へ供給する。電子チケット生成部１５は、ユーザ識別情報、暗号化された乱数、有効期限情報等を連結して電子チケット情報を生成してＳＩ転送部１７へ供給する。ＳＩ転送部１７は、電子チケット生成部１５から出力される電子チケット情報に電子署名付与部１６で電子署名が施された情報、ならびにハッシュ関数値、公開鍵証明書を連結してクライアント２とセキュリティデバイス（Ｈ２）１に転送する。
【００２２】
図３は、図１に示すセキュリティデバイス（Ｈ２）１の内部構成を機能展開して示したブロック図である。
セキュリティデバイス（Ｈ２）１は、セキュリティデバイス（Ｈ１）１から受け取ったＳＩを基にして、クライアント２がサーバ３との間で認証処理を行うための一時的な認証情報とさらに他のセキュリティデバイスへ委譲する派生的な認証情報とを含んだ情報であるＳＩ’を生成し、その上で、このＳＩ’をクライアント２に転送して認証を促し、またさらに他のセキュリティデバイスにも転送する認証制御手段２０を備える。認証制御手段２０は、ＳＩ受信部２１と、第１ハッシュ演算部２２と、ダイジェスト生成部２３と、第２ハッシュ演算部２４と、付加情報定義部２５と、第３ハッシュ演算部２６と、ＳＩ’転送部２７で構成される。なお、特許請求の範囲におけるハッシュ演算部に相当するのは、上記のうち第３ハッシュ演算部２６である。
【００２３】
ＳＩ受信部２１は、セキュリティデバイス（Ｈ１）１からＳＩを受信して第１ハッシュ演算部２２と第２ハッシュ演算部２４へ供給する。第１ハッシュ演算部２２は、ＳＩに含まれる鍵付きハッシュ関数値をハッシュして、ダイジェスト生成部２３と第３ハッシュ演算部２６へ供給する。ただし、ＳＩが３次情報より下層（３次、４次、…）である場合には、ハッシュを行うことなく次のブロックへ供給する。ダイジェスト生成部２３は、第１ハッシュ演算部２２からの出力を入力としてハッシュ演算を行い、その結果をダイジェスト情報としてＳＩ’転送部２７へ供給する。
【００２４】
一方、第２ハッシュ演算部２４は、ＳＩに含まれる電子署名付き電子チケット情報のハッシュ値を計算し、第３ハッシュ演算部２６へ供給する。また、付加情報定義部２５は、生成されるＳＩ’の有効期限等を定義して第３ハッシュ演算部２６へ供給する。なお、この有効期限は、セキュリティデバイス（Ｈ１）１で用いられたＳＩの有効期限よりも短く設定することが望ましい。そのようにすることで、ある程度階層化が進むとそれ以上新たに委譲情報を作ることができなくなるよう制御できる。第３ハッシュ演算部２６は、上記のハッシュ値（電子チケット情報のハッシュ値）と有効期限情報等を入力として、第１ハッシュ演算部２２の出力値を鍵とする鍵付きハッシュ関数値を計算し、ＳＩ’転送部２７へ供給する。
ＳＩ’転送部２７は、上記のダイジェスト情報、鍵付きハッシュ関数値、および有効期限情報等を連結してＳＩ’とし、これをクライアント２や他のセキュリティデバイスに転送する。
【００２５】
図４〜図７は、本実施形態の認証システムの動作を説明するフローチャート（図５はブロックダイアグラム）であり、それぞれ、セキュリティデバイス（Ｈ１）１、セキュリティデバイス（Ｈ２）１、クライアント２、サーバ３における処理手順を示している。
以下、これらフローチャートを参照しながら認証システムの動作を詳細に説明する。
【００２６】
前提として、次の各処理が済んでいるものとする。サービス提供者は、ＰＩとして、公開鍵（証明書）と秘密鍵のペア、およびユーザ識別情報（Ｕｉｄ）をユーザに発行する。続いて、ユーザは、ＰＩをＩＣカードや携帯電話等のセキュリティデバイス（Ｈ１）１のＰＩ格納部１８に格納する。また、サービス提供者の公開鍵（証明書）を取得し、同様に公開鍵証明書格納部１９に格納しておく。
【００２７】
ユーザは、セキュリティデバイス（Ｈ１）１を操作することにより、図４に示す手順によるＳＩの委譲処理を開始する。
セキュリティデバイス（Ｈ１）１は、内蔵する乱数生成部１１で乱数Ｒを生成し（Ｓ４１）、その乱数Ｒを公開鍵証明書格納部１９に格納されたサービス提供者の公開鍵で暗号化する（Ｓ４２）。この時、認証情報を匿名化する場合には、乱数Ｒと併せてユーザの公開鍵証明書を上記の公開鍵で暗号化する。これをＥ（Ｒ）とする。さらに、ハッシュ演算部１３で、乱数ＲとＵｉｄを入力として、Ｒを鍵とする鍵付きハッシュ関数値を計算する（Ｓ４３）。これをｋ＿ａｕｔｈ１とする。また、付加情報定義部１４でＳＩの有効期限などの情報を定義する（Ｓ４４）。これをＩｎｆｏ１とする。
【００２８】
上記により生成されたＵｉｄ、Ｅ（Ｒ）、Ｉｎｆｏ１を連結することで電子チケット生成部１５により電子チケット情報が生成される（Ｓ４５）。続いて電子署名付与部１６では、この電子チケット情報にユーザの秘密鍵で署名を行い、ＳＩ転送部１７へ供給する（Ｓ４６）。ＳＩ転送部１７は、上記した電子署名付きの電子チケット情報、ｋ＿ａｕｔｈ１、ユーザの公開鍵（証明書）の各情報を一時的な認証情報ＳＩとして、セキュリティデバイス（Ｈ２）１に転送する。なお、このＳＩをクライアント２へ転送し、クライアント２が図６に示す認証動作を行ってサービスを利用するようにすることもできる。
【００２９】
次に、図５において、セキュリティデバイス（Ｈ２）１は、ＳＩ受信部２１により上記のＳＩを受信（Ｓ５１）して、これに含まれる電子署名付きの電子チケット情報、ｋ＿ａｕｔｈ１、ユーザの公開鍵（証明書）の各情報を内蔵するメモリに記憶する。
第１ハッシュ演算部２２では、ｋ＿ａｕｔｈ１をハッシュ関数に入力してハッシュ値を計算する（Ｓ５２）。これをＤｉｇｅｓｔ１とする。第２ハッシュ演算部２４では、上記した電子署名付きの電子チケット情報からハッシュ値を計算する（Ｓ５３）。これをＴ−Ｄｉｇｅｓｔとする。また、付加情報定義部２５でＳＩ’の有効期限、乱数Ｒ１、現在の階層数（ここでは３次情報ＳＩ’を生成するので階層数は“３”である）などの情報を定義する（Ｓ５４）。これをＩｎｆｏ２とする。
【００３０】
上記により生成されたＩｎｆｏ２およびＴ−Ｄｉｇｅｓｔから、Ｄｉｇｅｓｔ１を鍵とする鍵付きハッシュ関数値（ＭＡＣ（Message Authentication Code）値）が第３ハッシュ演算部２６により計算される（Ｓ５５）。これをｋ＿ａｕｔｈ２とする。
また、上記のＤｉｇｅｓｔ１はダイジェスト生成部２３によりハッシュ演算されて、Ｄｉｇｅｓｔ２（ダイジェスト情報）が出力される（Ｓ５６）。
【００３１】
ＳＩ’転送部２７は、このように生成されたｋ＿ａｕｔｈ２、Ｉｎｆｏ２、およびＤｉｇｅｓｔ２、ならびにＳ５１でメモリに記憶された電子署名付きの電子チケット情報およびユーザの公開鍵証明書の各情報を、一時的な認証情報ＳＩ’としてクライアント２に転送する。
【００３２】
また、このＳＩ’（３次情報）をさらに他のセキュリティデバイス（Ｈ２）に転送して、４次、５次、…の認証情報を生成することができる。
ただしその場合、当該他のセキュリティデバイス（Ｈ２）の第１ハッシュ演算部２２に入力されるのは、鍵付きハッシュ関数値ｋ＿ａｕｔｈ１ではなくダイジェスト情報Ｄｉｇｅｓｔ２である。そこで、第１ハッシュ演算部２２は、入力されたＤｉｇｅｓｔ２をハッシュすることなく、そのままダイジェスト生成部２３と第３ハッシュ演算部２６へ供給する。そして、第３ハッシュ演算部２６は、このＤｉｇｅｓｔ２を鍵として鍵付きハッシュ関数値ｋ＿ａｕｔｈ３を生成する。また、ダイジェスト生成部２３は、Ｄｉｇｅｓｔ２をハッシュすることでダイジェスト情報Ｄｉｇｅｓｔ３を生成する。
【００３３】
４次の認証情報は、以上のようにして得られたｋ＿ａｕｔｈ３およびＤｉｇｅｓｔ３、ならびにＳ５１でメモリに記憶された電子署名付きの電子チケット情報およびユーザの公開鍵証明書、さらに新たに生成された有効期限等の情報であるＩｎｆｏ３（乱数Ｒ２と、Ｉｎｆｏ２内の有効期限より短い有効期限とを持つ）、の各情報によって構成される。したがって、４次情報は上述の３次情報とデータのサイズが同じである。
同様の方法により５次以降の認証情報を生成すれば、階層に関わらず委譲されるデータは一定の大きさとなる。
【００３４】
次に、図６、図７に示すフローチャートを参照し、上記により生成されるＳＩまたはＳＩ’を用いた認証動作について説明する。
図６において、クライアント２は、セキュリティデバイス（Ｈ１）１から転送されてきたＳＩ、またはセキュリティデバイス（Ｈ２）１から転送されてきたＳＩ’を受信し、内蔵メモリ（図示せず）に格納する（Ｓ６１）。続いてユーザは、クライアント２を操作して、サービスを提供するサーバ３に対してサービス提供の要求を発行する（Ｓ６２）。なお、サービスを提供するサーバ３の運用者は、ＰＩを発行したサービス提供者と異なっていても良い。
【００３５】
次に、図７において、サーバ３は、乱数Ｒ’を生成してクライアント２に送信する（Ｓ８２）。また、サービスによっては、委譲してほしいサービスのＩＤ（Service ID）やサービス提供者の公開鍵（証明書）を送信する場合もある。なお、事前にＰＩ（公開鍵と秘密鍵のペアおよびＵｉｄ）は発行してあるものとする（Ｓ８１）。
【００３６】
クライアント２は、新たに乱数Ｒ’’を生成する（図６、Ｓ６３）。また、乱数Ｒ’およびＲ’’、Ｕｉｄ、電子チケット情報、ユーザの公開鍵情報（証明書）、ｋ＿ａｕｔｈを入力として、鍵付きハッシュ関数値（鍵はｋ＿ａｕｔｈ）を生成する（Ｓ６４）。この値をＭＡＣとする。ただし、ここで用いるｋ＿ａｕｔｈは、Ｓ６１で受信したＳＩに含まれるｋ＿ａｕｔｈ１、またはＳＩ’に含まれるｋ＿ａｕｔｈ２のいずれかとする。さらにクライアント２は、サーバ３に対して、乱数Ｒ’およびＲ’’、電子チケット情報、ユーザの公開鍵証明書情報、ＭＡＣ値を送信する（Ｓ７０）。Ｓ６４からＳ７０に至る検証処理（Ｓ６５〜Ｓ６９）については後述する。
【００３７】
サーバ３は、クライアント２から上記した乱数Ｒ’およびＲ’’、電子チケット情報、ユーザの公開鍵証明書情報、ＭＡＣ値を受信した後（図７、Ｓ８３）、ユーザの公開鍵証明書を検証し（Ｓ８４）、続いてその公開鍵を利用して電子チケット情報に施されている電子署名を検証する（Ｓ８５）。さらに、電子チケット情報の有効期限（Ｉｎｆｏ１やＩｎｆｏ２に含まれる）を確認する。
【００３８】
次いでサーバ３は、電子チケット情報内から暗号化乱数Ｅ（Ｒ）を取り出し、自身の秘密鍵で復号化して乱数Ｒを取り出す。そして、乱数ＲとＵｉｄから鍵付きハッシュ関数により、上記のｋ＿ａｕｔｈ（すなわちｋ＿ａｕｔｈ１またはｋ＿ａｕｔｈ２のいずれか）を計算する（Ｓ８６）。ここで、上記Ｓ６１で受信したのがＳＩである場合には、ＲとＵｉｄから直接ｋ＿ａｕｔｈ１が計算できる。また、ＳＩ’を受信している場合には、一旦ｋ＿ａｕｔｈ１を計算した後、このｋ＿ａｕｔｈ１をハッシュしてＤｉｇｅｓｔ１を得、さらにＳＩ’に含まれる電子チケット情報（から計算されるＴ−Ｄｉｇｅｓｔ）とＩｎｆｏ２を鍵付きハッシュ関数に入力して鍵をＤｉｇｅｓｔ１とすることで、ｋ＿ａｕｔｈ２が計算できる（つまり図５のＳ５５と同じ計算をサーバ３で行う）。なお、このハッシュ計算の回数によって、認証情報の階層数を安全に求めることができる。
【００３９】
そしてサーバ３は、上記により計算されたｋ＿ａｕｔｈに基づき、ＭＡＣ値を検証する（Ｓ８７）。以上の全ての検証（公開鍵証明書、電子署名、ＭＡＣ値の検証）が成功した場合に正当なユーザだと判断する。その場合に、サーバ３は、計算したｋ＿ａｕｔｈとＳ８３で受信したＲ’’から、鍵付きハッシュ関数（鍵はｋ＿ａｕｔｈ）を使ってＭＡＣ値＝ＭＡＣ（ｋ＿ａｕｔｈ，Ｒ’’）を生成してクライアント２に返信する（Ｓ８８）。
【００４０】
一方、クライアント２は、ユーザの公開鍵証明書を検証し（図６、Ｓ６５）、続いてその公開鍵を利用して電子チケット情報に施されている電子署名を検証する（Ｓ６６）。さらに、電子チケット情報の有効期限（Ｉｎｆｏ１やＩｎｆｏ２に含まれる）を確認する（Ｓ６７）。そして、電子チケット情報内から暗号化乱数Ｅ（Ｒ）を取り出し、自身の秘密鍵で復号化して乱数Ｒを取り出す（Ｓ６８）。また、乱数ＲとＵｉｄから鍵付きハッシュ関数により、ｋ＿ａｕｔｈを計算する（Ｓ６９）。なお、この計算方法は上述したＳ８６と同様である。
【００４１】
そして、Ｓ８８でサーバ３から送られたＭＡＣ値を受信した後、このＭＡＣ値をＳ６９で計算されたｋ＿ａｕｔｈに基づき検証する（Ｓ７１）。以上の全ての検証が成功した場合に正当なサーバ３だと判断する。
【００４２】
こうしてクライアント２およびサーバ３双方における正当性が確認された後、サービスが提供される。有効期限が切れた電子チケット情報はクライアント２によって自動的に消去される。なお、サービス提供時の認証プロトコルは、共通鍵を使ったものであれば他の方式でもかまわない。
【００４３】
以上説明のように、本発明によれば、共通鍵から共通鍵を生成する委譲技術を導入することで、認証情報を３次、４次、…と階層化して委譲することが可能となる。また、有効期限を階層化毎に制限することで、階層の深さ（何階層まで認証情報を作れるか）をコントロールすることができる。また、階層化処理においてダイジェスト関数を利用することで、階層化に伴って委譲する認証情報のデータサイズが増大することがない。
【００４４】
また本発明によれば、ＳＩのみで認証を行い、サービスを利用することが可能となる。したがって、以下に列挙することが実現可能となる。
（１）ＰＩの安全性を確保できる。すなわち、ＳＩのみで認証が可能となるため、ＰＩはオフライン環境下で安全に確保することが可能である。また、ＳＩの有効期限を短く設定することで、ＳＩの盗難に対してもリスクを最小化できる。例えば、常時携帯する携帯電話端末にはＳＩのみを入れておくことで、万が一の紛失や盗難にも対応できる。
（２）権限委譲ツールとしての利用が可能となる。すなわち、個人との紐つきが強い携帯電話端末にＰＩを格納しておき、他の端末には、都度、ＳＩを委譲して利用する。このことにより、上記した委譲処理を使用すれば様々な端末へ一時的な権限委譲が可能である。例えば、公共の場に設置してあるＰＣ、家庭のＳＴＢへの権限委譲が考えられる。その他のアプリケーションとしては、来客時において、客に対して、一時的に権限を貸与するようなアプリケーションが考えられる。
【００４５】
（３）アントレーサブルな認証が実現できる。すなわち、委譲されるＳＩは、毎回違うものとなる。したがって、利用者のサービス利用状況が追跡できないような認証方式が実現可能である。これは、サービス利用におけるプライバシー保護の問題の１つを解決するものである。
（４）認証情報の一元管理が可能である。すなわち、様々な認証情報を単一の端末に委譲することにより、認証情報の一元管理が可能となる。例えば、所有する複数のクレジットカードに格納された認証情報を携帯端末に委譲すれば、携帯端末を持ち歩くだけで、様々なサービスを受けられるようになる。
（５）認証情報の統一が可能になる。すなわち、複数のプラットフォームにおいて、上記した委譲処理により統一された認証情報を使用可能にすることで、シームレスなサービス認証を実現する。例えば、携帯端末において認証に使用している情報をＰＣに委譲することで、ＰＣにおいても同様のサービスを利用可能となる。
【図面の簡単な説明】
【００４６】
【図１】本発明の一実施形態による認証システムのシステム構成の一例を示したものである。
【図２】図１に示すセキュリティデバイス（Ｈ１）の内部構成を機能展開して示したブロック図である。
【図３】図１に示すセキュリティデバイス（Ｈ２）の内部構成を機能展開して示したブロック図である。
【図４】図１の認証システムにおけるセキュリティデバイス（Ｈ１）の動作を説明するフローチャートである。
【図５】図１の認証システムにおけるセキュリティデバイス（Ｈ２）の動作を説明するブロックダイアグラムである。
【図６】図１の認証システムにおけるクライアントの動作を説明するフローチャートである。
【図７】図１の認証システムにおけるサーバの動作を説明するフローチャートである。
【符号の説明】
【００４７】
１…セキュリティデバイス  ２…クライアント  ３…サーバ  １０…認証制御手段  １１…乱数生成部  １２…暗号化部  １３…ハッシュ演算部  １４…付加情報定義部  １５…電子チケット生成部  １６…電子署名付与部  １７…ＳＩ転送部  １８…ＰＩ格納部  １９…公開鍵証明書格納部  ２０…認証制御手段  ２１…ＳＩ受信部  ２２…第１ハッシュ演算部  ２３…ダイジェスト生成部  ２４…第２ハッシュ演算部  ２５…付加情報定義部  ２６…第３ハッシュ演算部  ２７…ＳＩ’転送部
【図１】
0004823704.tif 000002
【図２】
0004823704.tif 000003
【図３】
0004823704.tif 000004
【図４】
0004823704.tif 000005
【図５】
0004823704.tif 000006
【図６】
0004823704.tif 000007
【図７】
0004823704.tif 000008