(57)【要約】【課題】セキュリティリスクの低い２要素認証技術を提供する。【解決手段】ＩＤベース暗号のマスタ秘密鍵および公開鍵を生成する鍵生成装置と、第１のサーバ装置と、第２のサーバ装置と、ユーザ装置とを含むシステムにて、ユーザ装置に対する２要素認証を、第１のサーバ装置に対する第１認証情報および第２のサーバ装置に対する第２認証情報を用いて行う。第２のサーバ装置が、第１認証情報のＩＤ情報と公開鍵とを用いて第２認証情報を暗号化して暗号化第２認証情報を得る。暗号化第２認証情報はユーザ装置経由で鍵生成装置に送られる。鍵生成装置は、第１のサーバ装置に対して第１認証情報を用いて認証を行い、第１認証情報のＩＤ情報とマスタ秘密鍵を用いて暗号化第２認証情報を復号し復号情報を得る。第２のサーバ装置は、ユーザ装置経由で得た復号情報と第２認証情報とが一致するか否か判定する。【選択図】図１
2011142408.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも、ＩＤベース暗号のマスタ秘密鍵および公開鍵を生成する鍵生成装置と、第１のサーバ装置と、第２のサーバ装置と、ユーザ装置とを含み、前記ユーザ装置に対する２要素認証を、前記第１のサーバ装置に対する第１認証情報および前記第２のサーバ装置に対する第２認証情報を用いて行う認証システムであって、
上記第２のサーバ装置は、
上記第１認証情報のＩＤ情報と上記公開鍵とを用いて上記第２認証情報を暗号化して暗号化第２認証情報を得る暗号化部と、
上記暗号化第２認証情報を上記ユーザ装置に送信する送信部と、
上記ユーザ装置から送信された復号情報と上記第２認証情報とが一致するか否か判定する認証部と、
上記ユーザ装置から送信された署名を検証する署名検証部とを含み、
上記鍵生成装置は、
上記第１のサーバ装置に対して、上記第１認証情報を用いて認証を行う認証部と、
この認証に成功した場合に、上記第１認証情報のＩＤ情報と上記マスタ秘密鍵を用いて上記暗号化第２認証情報を復号し上記復号情報を得る復号部と、
この復号に成功した場合に、上記復号情報を含む情報に対して上記署名を生成する署名生成部と、
上記復号情報と上記署名を上記ユーザ装置に送信する送信部とを含み、
上記第１のサーバ装置は、
上記鍵生成装置に対して、上記第１認証情報を用いて認証を行う認証部を含み、
上記ユーザ装置は、
上記第１認証情報と、上記第１認証情報のＩＤ情報と、上記暗号化第２認証情報を上記鍵生成装置へ送信する送信部と、
上記復号情報と上記署名を上記第２のサーバ装置に送信する送信部とを含む
認証システム。
【請求項２】
請求項１に記載の認証システムにおいて、
上記鍵生成装置の署名生成部は、現在時刻ｔと上記復号情報とを含む情報に対して上記署名を生成し、
上記第２のサーバ装置は、現在時刻Ｔを取得し、現在時刻Ｔが前記時刻ｔより予め定められた時間を経過しているか否かを判定する制御部を含む認証システム。
【請求項３】
少なくとも、ＩＤベース暗号のマスタ秘密鍵および公開鍵を生成する鍵生成装置と、第１のサーバ装置と、第２のサーバ装置と、ユーザ装置とを含み、前記ユーザ装置に対する２要素認証を、前記第１のサーバ装置に対する第１認証情報および前記第２のサーバ装置に対する第２認証情報を用いて行う認証システムにおける認証方法であって、
上記第２のサーバ装置の暗号化部が、上記第１認証情報のＩＤ情報と上記公開鍵とを用いて上記第２認証情報を暗号化して暗号化第２認証情報を得る暗号化ステップと、
上記第２のサーバ装置の送信部が、上記暗号化第２認証情報を上記ユーザ装置に送信する送信ステップと、
上記ユーザ装置の送信部が、上記第１認証情報と、上記第１認証情報のＩＤ情報と、上記暗号化第２認証情報を上記鍵生成装置へ送信する送信ステップと、
上記鍵生成装置の認証部が、上記第１のサーバ装置の認証部に対して、上記第１認証情報を用いて認証を行う認証ステップと、
上記鍵生成装置の復号部が、上記認証に成功した場合に、上記第１認証情報のＩＤ情報と上記マスタ秘密鍵を用いて上記暗号化第２認証情報を復号し上記復号情報を得る復号ステップと、
上記鍵生成装置の署名生成部が、上記復号に成功した場合に、上記復号情報を含む情報に対して署名を生成する署名生成ステップと、
上記鍵生成装置の送信部が、上記復号情報と上記署名を上記ユーザ装置に送信する送信ステップと、
上記ユーザ装置の送信部が、上記復号情報と上記署名を上記第２のサーバ装置に送信する送信ステップと、
上記第２のサーバ装置の認証部が、上記ユーザ装置から送信された上記復号情報と上記第２認証情報とが一致するか否か判定する認証ステップと、
上記第２のサーバ装置の署名検証部が、上記ユーザ装置から送信された署名を検証する署名検証ステップと
を有する認証方法。
【請求項４】
請求項３に記載の認証方法において、
上記署名生成ステップは、上記鍵生成装置の署名生成部が、現在時刻ｔと上記復号情報とを含む情報に対して上記署名を生成するステップであり、
さらに、上記第２のサーバ装置の制御部が、現在時刻Ｔを取得し、現在時刻Ｔが前記時刻ｔより予め定められた時間を経過しているか否かを判定する制御ステップを含む認証方法。
【請求項５】
ＩＤベース暗号のマスタ秘密鍵および公開鍵を生成する鍵生成装置と、第１のサーバ装置と、第２のサーバ装置と、ユーザ装置とを含み、前記ユーザ装置に対する２要素認証を、前記第１のサーバ装置に対する第１認証情報および前記第２のサーバ装置に対する第２認証情報を用いて行う認証システムに含まれる上記鍵生成装置であって、
上記第１のサーバ装置に対して、上記第１認証情報を用いて認証を行う認証部と、
この認証に成功した場合に、上記第１認証情報のＩＤ情報と上記マスタ秘密鍵を用いて上記暗号化第２認証情報を復号し上記復号情報を得る復号部と、
この復号に成功した場合に、上記復号情報を含む情報に対して上記署名を生成する署名生成部と、
上記復号情報と上記署名を上記ユーザ装置に送信する送信部と
を含む鍵生成装置。
【請求項６】
ＩＤベース暗号のマスタ秘密鍵および公開鍵を生成する鍵生成装置と、第１のサーバ装置と、第２のサーバ装置と、ユーザ装置とを含み、前記ユーザ装置に対する２要素認証を、前記第１のサーバ装置に対する第１認証情報および前記第２のサーバ装置に対する第２認証情報を用いて行う認証システムに含まれる上記第２のサーバ装置として機能するサーバ装置であって、
上記第１認証情報のＩＤ情報と上記公開鍵とを用いて上記第２認証情報を暗号化して暗号化第２認証情報を得る暗号化部と、
上記暗号化第２認証情報を上記ユーザ装置に送信する送信部と、
上記ユーザ装置から送信された復号情報と上記第２認証情報とが一致するか否か判定する認証部と、
上記ユーザ装置から送信された署名を検証する署名検証部と
を含むサーバ装置。
【請求項７】
請求項５に記載の鍵生成装置としてコンピュータを機能させるためのプログラム。
【請求項８】
請求項６に記載のサーバ装置としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、認証技術に関し、より詳しくは２要素認証技術に関する。
【背景技術】
【０００２】
従来の２要素認証技術では、第１認証情報とこの第１認証情報と異なる第２認証情報という二つの認証要素による２要素認証を行い、ユーザ認証の信頼性の向上を図っている（非特許文献１参照）。認証情報としては、例えばＩＤ（identification）、パスワード、one-time pad、トークン、指紋や静脈形状などの生体情報が挙げられる。
【０００３】
２要素認証によるユーザ認証を要求するサービスサーバ装置は、ユーザＩＤごとの第１認証情報と第２認証情報との組をデータベース（database;ＤＢ）に登録しており、２要素認証の際、或るユーザＩＤに対応するユーザ装置から入力された第１認証情報と第２認証情報が、データベースに登録されている当該ユーザＩＤの第１認証情報と第２認証情報に一致するか否かを判定することによって、２要素認証を実施することが一般的である。
【０００４】
このような２要素認証を例えば複数のアプリケーションサービスの提供の際に利用する場合、ユーザはアプリケーションサービス数×２の認証情報を管理する必要があり、ユーザにとって利便性が低い。このような問題に関しては、ＳＡＭＬ（Security Assertion Markup Language；非特許文献２参照）などのＩＤ連携基盤によりユーザが管理する認証情報を一定に抑えることができる。しかし、認証技術がＩＤ連携基盤に依存するため、アプリケーションサービスを提供するサーバ装置が独自の認証を行えない。
【０００５】
また、或るアプリケーションサービスＺを提供する際の認証において、当該アプリケーションサービスＺを提供する際の認証に必要とされる認証対象ユーザ（ユーザＩＤをｉとする）の認証情報Ａiに加えて他のアプリケーションサービスＷを提供する際の認証に必要とされる当該認証対象ユーザの認証情報Ｂiを要求する認証方式（以下、借用認証方式）がある。この借用認証方式によると、アプリケーションサービスＺを提供する際の認証が２要素認証となりユーザ認証の信頼性が向上するとともに、ユーザが管理するアプリケーションサービス単位の認証情報の量を一定に抑えることができる。この認証方式では、アプリケーションサービスＺを提供するサービスサーバ装置ＤＺは、事前に、アプリケーションサービスＷを提供するサービスサーバ装置ＤＷとの間でユーザＩＤごとの認証情報を連携することにより、ユーザＩＤごとの認証情報Ａiと認証情報Ｂiとの組が少なくともサービスサーバ装置ＤＺのデータベースに登録されている。そして、２要素認証の際、サービスサーバ装置ＤＺは、或るユーザＩＤに対応するユーザ装置から入力された第１認証情報と第２認証情報が、データベースに登録されている当該ユーザＩＤの認証情報Ａiと認証情報Ｂiに一致するか否かを判定する。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】アイティメディア株式会社、“第１回 ICカードとワンタイムパスワードの親密な関係”、インターネット〈URL: http://www.atmarkit.co.jp/frfid/rensai/iccard/iccard01/iccard01.html〉［平成21年12月18日検索］
【非特許文献２】OASIS (Organization for the Advancement of Structured Information Standards), "Security Assertion Markup Language(SAML) v2.0"， [平成21年12月18日検索], インターネット <URL : http://www.oasis-open.org/specs/index.php#samlv2.0>
【発明の概要】
【発明が解決しようとする課題】
【０００７】
借用認証方式によると、ユーザが管理するアプリケーションサービス単位の認証情報の量が増大することを抑制し、独自の２要素認証を実現することが可能になるが、サービスサーバ装置ＤＺがサービスサーバ装置ＤＷによる認証に用いられる認証情報Ｂiをデータベースに保持しているため、サービスサーバ装置ＤＺで認証情報漏洩が発生した場合に他のサービスサーバ装置ＤＷの認証情報漏洩につながり、セキュリティリスクが大きい。
【０００８】
このような状況に鑑み、そこで本発明は、セキュリティリスクの低い２要素認証技術を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明は、ＩＤベース暗号のマスタ秘密鍵および公開鍵を生成する鍵生成装置と、第１のサーバ装置と、第２のサーバ装置と、ユーザ装置とを含むシステムにて、ユーザ装置に対する２要素認証を、第１のサーバ装置に対する第１認証情報αおよび第２のサーバ装置に対する第２認証情報βを用いて行う認証技術である。第２のサーバ装置の暗号化部は、第１認証情報αのＩＤ情報αＩＤと公開鍵とを用いて第２認証情報βを暗号化して暗号化第２認証情報βｅｎｃを得て、第２のサーバ装置の送信部が、暗号化第２認証情報βｅｎｃをユーザ装置に送信する。ユーザ装置の送信部は、第１認証情報αと、第１認証情報αのＩＤ情報αＩＤと、暗号化第２認証情報βｅｎｃを鍵生成装置へ送信する。鍵生成装置の認証部は、第１のサーバ装置の認証部に対して、第１認証情報αを用いて認証を行う。鍵生成装置の復号部は、この認証に成功した場合に、第１認証情報αのＩＤ情報αＩＤとマスタ秘密鍵を用いて暗号化第２認証情報βｅｎｃを復号し復号情報βｄｅｃを得る。そして、鍵生成装置の署名生成部は、この復号に成功した場合に、復号情報βｄｅｃを含む情報に対して署名を生成する。鍵生成装置の送信部は、復号情報βｄｅｃと署名をユーザ装置に送信する。ユーザ装置の送信部が、復号情報βｄｅｃと署名を第２のサーバ装置に送信する。そして、第２のサーバ装置の認証部は、ユーザ装置から送信された復号情報βｄｅｃと第２認証情報βとが一致するか否か判定し、さらに、第２のサーバ装置の署名検証部が、ユーザ装置から送信された署名を検証する。
【発明の効果】
【００１０】
本発明に拠れば、第１認証情報αのＩＤ情報αＩＤを利用して第２認証情報βをＩＤベース暗号に従って暗号化し、暗号化に用いたＩＤ情報αＩＤと異なるＩＤ情報を利用して暗号化第２認証情報βｅｎｃを復号しようとしても復号エラーとなることを利用し、第１認証情報αと第２認証情報βとの関連付けがなされている。このため、暗号化第２認証情報βｅｎｃの生成時にのみ第１認証情報のＩＤ情報αＩＤを利用するだけであり、従来技術のように運用に際して永続的な第１認証情報αと第２認証情報βとの共有をサーバ装置間で行う必要が無く、セキュリティリスクの低い２要素認証が実現される。
【図面の簡単な説明】
【００１１】
【図１】実施形態に関る認証システムの構成図。
【図２】実施形態に関る認証方法の処理手順を示す図（その１）。
【図３】実施形態に関る認証方法の処理手順を示す図（その２）。
【図４】実施形態に関る認証方法の処理手順を示す図（その３）。
【図５】実施形態に関る鍵生成装置、管理装置、ユーザ装置、第２のサーバ装置の機能ブロック図。
【図６】実施形態に関る鍵生成装置、ユーザ装置、第１のサーバ装置の機能ブロック図。
【図７】実施形態に関るユーザ装置、第２のサーバ装置の機能ブロック図。
【発明を実施するための形態】
【００１２】
図面を参照して本発明の実施形態を説明する。
［認証システム］
この実施形態の認証システム１は、図１に示すように、或るアプリケーションサービスＸを提供することのできる第１のサーバ装置５００と、或るアプリケーションサービスＹを提供することのできる第２のサーバ装置１００と、２要素認証に成功した場合にアプリケーションサービスの提供を受けるユーザ装置３００と、少なくともＩＤベース暗号（ID-based Encryption; IBE）のマスタ秘密鍵と公開鍵を生成する鍵生成装置４００と、公開鍵などを管理する管理装置２００と少なくとも含んで構成される。これらの各装置は、例えばインターネットである通信網５を介して相互に通信可能とされている。
【００１３】
本発明に必要とされるＩＢＥの条件は、復号処理において暗号化に用いたＩＤ情報に対応する秘密鍵ではない秘密鍵で復号した場合に、エラーを出力するＩＢＥであることである。なお、このような条件を満たすＩＢＥの例は、例えば参考文献Ａに開示されている。
（参考文献Ａ）D. Boneh and M. Franklin, "Identity based encryption from the Weil pairing", SIAM J. of Computing, Vol. 32, No. 3, pp. 586-615, 2003 (an extended abstract in the Proceedings of Crypto 2001, volume 2139 of Lecture Notes in Computer Science, pages 213-229, Springer-Verlag, 2001), [平成22年1月5日検索], インターネット<URL : http://crypto.stanford.edu/~dabo/papers/ibe.pdf>
【００１４】
一般的に認証システム１は、アプリケーションサービスを提供することのできる複数のサーバ装置と、複数のユーザ装置を含んで構成される。また、各サーバ装置は一つまたは複数のアプリケーションサービスを提供可能である。しかし、この実施形態の２要素認証が実施される個々の局面では、２要素認証は、或るアプリケーションサービスの提供の際に或る二つのサーバ装置と或る一つのユーザ装置との間で成立するから、説明を具体的に行うためにも、認証システム１を上記構成を持つものとしているに過ぎないことに留意されたい。
【００１５】
また、認証システム１は、複数の管理装置２００と複数の鍵生成装置４００を含むこともできる。しかし、この実施形態の２要素認証が実施される個々の局面では、或る２要素認証の実施につき一つの管理装置２００と一つの鍵生成装置４００が実働するので、説明を具体的に行うためにも、認証システム１を上記構成を持つものとしているに過ぎないことに留意されたい。
【００１６】
この実施形態では、第２のサーバ装置１００によるアプリケーションサービスＹをユーザ装置３００に提供する際に２要素認証が行われる場合を説明する。この実施形態では、従来の２要素認証のように第２のサーバ装置１００が二つの認証情報について認証を行うのではなく、ＩＤベース暗号を利用して一方の認証情報についての認証を実質的に第２のサーバ装置１００以外の装置（この実施形態では鍵生成装置４００）に行わせることに特徴がある。別の観点から説明すると、鍵生成装置４００は、第２のサーバ装置１００による２要素認証の一部を代理して行う。ここでは、アプリケーションサービスＸを提供する際の認証に少なくとも必要とされるユーザ装置３００の認証情報を第１認証情報αとし、アプリケーションサービスＹを提供する際の認証に少なくとも必要とされるユーザ装置３００の認証情報を第２認証情報βとする。第１認証情報αと第２認証情報βの関連付けはＩＤベース暗号を利用して行われる。この詳細は後述の２要素認証処理の説明の中で述べられる。
【００１７】
認証システム１における２要素認証処理を、図２−４を参照しながら叙述する。各装置の機能構成については、図５−７を参照されたい。
【００１８】
《準備プロセス》
まず、鍵生成装置４００の鍵生成部４３０は、ＩＤベース暗号で用いられるマスタ秘密鍵ＳＫと公開鍵ＰＫを生成する（ステップＳ１）。鍵生成装置４００の送信部４１０が公開鍵ＰＫを管理装置２００に送り、管理装置２００の受信部２２０が公開鍵ＰＫを受信してこれを保有する（ステップＳ２）。第２のサーバ装置１００の鍵取得部１３０は、管理装置２００にアクセスすることにより、管理装置２００の送信部２１０が公開鍵ＰＫを第２のサーバ装置１００へ送信し、第２のサーバ装置１００の鍵取得部１３０が公開鍵ＰＫを受信する（ステップＳ３）。また、ＩＤベース暗号を運用するに際して必要となるその他のパラメータＨ（例えばハッシュ関数など）に関する情報は、管理装置２００が公開鍵ＰＫと併せて保有しているとしてもよいし、予めシステム設定として各装置に組み込まれているとしてもよい。なお、マスタ秘密鍵ＳＫ、公開鍵ＰＫおよびパラメータＨの具体的な内容はＩＤベース暗号の仕様によって決まる。従って、マスタ秘密鍵ＳＫ、公開鍵ＰＫ、パラメータＨはそれぞれ単一の情報を表しているとは限らない。例えば、それらのうちの少なくとも一部は複数の情報の集合である場合もある。
【００１９】
《認証プロセス》
ユーザ装置３００が第２のサーバ装置１００からアプリケーションサービスＹの提供を受けようとするとき、ユーザ装置３００は第２のサーバ装置１００に対する２要素認証に合格しなければならない。このため、ユーザ装置３００は、他のアプリケーションサービスのための認証で使用する既存の認証情報の中から一つ選択する。この実施形態では、選択された認証情報が第１認証情報αである。ユーザ装置３００の送信部３１０は、第１認証情報αに固有のＩＤ情報を管理装置２００へ送信する（ステップＳ４）。この固有のＩＤ情報をαＩＤとする。
【００２０】
第２のサーバ装置１００の受信部１２０は、第１認証情報αのＩＤ情報αＩＤを受信する（ステップＳ５）。第２のサーバ装置１００の認証情報生成部１４０は、例えば乱数表から任意の認証情報を生成する（ステップＳ６）。この生成された認証情報が第２認証情報βである。第２認証情報βは、第２のサーバ装置１００の記憶部に記憶される。第２のサーバ装置１００の暗号化部１５０は、第１認証情報αのＩＤ情報αＩＤと公開鍵ＰＫとパラメータＨとを用いて第２認証情報βを暗号化する（ステップＳ７）。一般的には、暗号化部１５０は、第１認証情報αのＩＤ情報αＩＤと公開鍵ＰＫとパラメータＨとを用いて当該ＩＤ情報αＩＤに対応する公開鍵を生成し、この公開鍵を用いて第２認証情報βを暗号化する。暗号化された第２認証情報βをβｅｎｃ＝ＥｎｃＰＫ，Ｈ（β，αＩＤ）とする。
【００２１】
第２のサーバ装置１００の送信部１１０は、暗号化第２認証情報βｅｎｃをユーザ装置３００へ送信する（ステップＳ８）。認証システム１に複数の鍵生成装置４００が存在する場合には、第２のサーバ装置１００の送信部１１０は、鍵生成装置４００を特定するための情報、例えば鍵生成装置４００のＵＲＬ（Uniform Resource Locator）もユーザ装置３００へ送信する。この後、第２のサーバ装置１００の制御部１６０は、記憶部上の記憶領域を開放することにより、受信した第１認証情報αのＩＤ情報αＩＤを破棄する（ステップＳ８ａ）。
【００２２】
ユーザ装置３００の受信部３２０は、暗号化第２認証情報βｅｎｃを受信する（ステップＳ９）。ユーザ装置３００の送信部３１０は、ユーザ装置３００に固有の情報（例えばユーザＩＤ）と、第１認証情報αと、第１認証情報αのＩＤ情報αＩＤと、暗号化第２認証情報βｅｎｃを鍵生成装置４００へ送信する（ステップＳ１０）。ユーザ装置３００が鍵生成装置４００を特定するための情報を受信した場合、送信先の鍵生成装置４００は、当該情報によって特定される鍵生成装置４００である。
【００２３】
鍵生成装置４００の受信部４２０は、ユーザＩＤと第１認証情報αと第１認証情報αのＩＤ情報αＩＤと暗号化第２認証情報βｅｎｃを受信する（ステップＳ１１）。そして、鍵生成装置４００の認証部４４０は、第１のサーバ装置５００の認証部５４０に対して、第１認証情報αとユーザＩＤとを用いて、ユーザ認証を行う（ステップＳ１２）。この際、ダイジェスト認証やＣＨＡＰ（Challenge Handshake Authentication Protocol）を行ってもよい。ユーザＩＤと第１認証情報αとの組は、予め、第１のサーバ装置５００の記憶部に記憶されている。第１のサーバ装置５００の送信部５１０はこのユーザ認証の認証結果を送信し（ステップＳ１３）、鍵生成装置４００の受信部４２０はこの認証結果を受信する（ステップＳ１４）。
【００２４】
鍵生成装置４００の制御部４６０は、認証結果が認証成功か認証失敗かを判定し（ステップＳ１５）、受信した認証結果が認証失敗である場合には、２要素認証処理を中止する（ステップＳ１６）。受信した認証結果が認証成功である場合、この制御部４６０による制御により、鍵生成装置４００の復号部４５０が、第１認証情報αのＩＤ情報αＩＤとマスタ秘密鍵ＳＫを用いて暗号化第２認証情報βｅｎｃを復号する（ステップＳ１７）。一般的には、復号部４５０は、第１認証情報αのＩＤ情報αＩＤとマスタ秘密鍵ＳＫから当該ＩＤ情報αＩＤに対応する秘密鍵を生成し、この秘密鍵を用いて暗号化第２認証情報βｅｎｃを復号する。復号に得られた復号情報をβｄｅｃ＝ＤｅｃＳＫ，Ｈ（βｅｎｃ，αＩＤ）とする。
【００２５】
鍵生成装置４００の制御部４６０は、復号処理に成功したか失敗したかを判定し（ステップＳ１８）、復号部４５０が復号処理に失敗した場合には、２要素認証処理を中止する（ステップＳ１９）。復号処理に失敗する場合として、例えば、第２認証情報βの暗号化処理の際に用いたＩＤ情報αＩＤと異なるＩＤ情報に対応する秘密鍵を用いて復号しようとした場合や、暗号化第２認証情報βｅｎｃが改竄された場合などが挙げられる。復号部４５０が復号処理に成功した場合には、制御部４６０は鍵生成装置４００内部で管理されている現在時刻ｔを取得し、この時刻ｔと復号情報βｄｅｃとをビット結合してβｄｅｃ‖ｔを得る（ステップＳ２０）。鍵生成装置４００の署名生成部４７０は、得られた情報βｄｅｃ‖ｔに対して、マスタ秘密鍵ＳＫを用いて署名を生成する（ステップＳ２１）。鍵生成装置４００の送信部４１０は、前記時刻ｔと復号情報βｄｅｃと署名をユーザ装置３００に送信する（ステップＳ２２）。
【００２６】
ユーザ装置３００の受信部３２０は、前記時刻ｔと復号情報βｄｅｃと署名を受信する（ステップＳ２３）。そして、ユーザ装置３００の送信部３１０は、前記時刻ｔと復号情報βｄｅｃと署名を第２のサーバ装置１００に送信する（ステップＳ２４）。
【００２７】
第２のサーバ装置１００の受信部１２０は、前記時刻ｔと復号情報βｄｅｃと署名を受信する（ステップＳ２５）。第２のサーバ装置１００の認証部１７０は、第２のサーバ装置１００の記憶部に記憶される第２認証情報βと復号情報βｄｅｃとが一致するか否かを判定する（ステップＳ２６）。この際、ダイジェスト認証やＣＨＡＰ（Challenge Handshake Authentication Protocol）を行ってもよい。
【００２８】
第２のサーバ装置１００の制御部１６０は、判定結果が不一致である場合には、２要素認証処理を中止する（ステップＳ２７）。判定結果が一致である場合、この制御部１６０による制御により、第２のサーバ装置１００の署名検証部１８０が、公開鍵ＰＫを用いて署名を検証する（ステップＳ２８）。
【００２９】
第２のサーバ装置１００の制御部１６０は、検証が成功か失敗かを判定し（ステップＳ２９）、検証失敗である場合には、２要素認証処理を中止する（ステップＳ３０）。検証成功である場合、制御部１６０は第２のサーバ装置１００内部で管理されている現在時刻Ｔを取得し、現在時刻Ｔが前記時刻ｔより予め定められた時間Ｄを経過しているか否かを判定する（ステップＳ３１）。
【００３０】
第２のサーバ装置１００の制御部１６０は、現在時刻Ｔが前記時刻ｔより予め定められた時間を経過している場合、２要素認証処理を中止する（ステップＳ３２）。現在時刻Ｔが前記時刻ｔより予め定められた時間を経過していない場合、この制御部１６０による制御により、第２のサーバ装置１００のサービス実施部１９０が、ユーザ装置３００に対してアプリケーションサービスＹを提供する処理を行う（ステップＳ３３）。
【００３１】
なお、鍵生成装置４００内部で管理されている現在時刻ｔを用いる処理をオプションとしてもよい。現在時刻ｔを用いない場合、上述の２要素認証処理は下記のように変更される。まず、ステップＳ２０の処理は不要である。ステップＳ２１の処理は、鍵生成装置４００の署名生成部４７０が、復号情報βｄｅｃに対して、マスタ秘密鍵ＳＫを用いて署名を生成する処理となる。ステップＳ２２の処理は、鍵生成装置４００の送信部４１０が、復号情報βｄｅｃと署名をユーザ装置３００に送信する処理となる。ステップＳ２３の処理は、ユーザ装置３００の受信部３２０が、復号情報βｄｅｃと署名を受信する処理となる。ステップＳ２４の処理は、ユーザ装置３００の送信部３１０が、復号情報βｄｅｃと署名を第２のサーバ装置１００に送信する処理となる。ステップＳ２５の処理は、第２のサーバ装置１００の受信部１２０が、復号情報βｄｅｃと署名を受信する処理となる。ステップＳ３１、３２の各処理は不要である。
【００３２】
また、ユーザ装置３００が第２のサーバ装置１００から初めてアプリケーションサービスＹの提供を受ける場合を除き、ユーザ装置３００が２回目以降に第２のサーバ装置１００からアプリケーションサービスＹの提供を受ける際には、ステップＳ１０以降の処理を行えば十分である。なお、セキュリティの観点から、第２認証情報βを定期ないし不定期に変更することが好ましいので、ユーザ装置３００が２回目以降に第２のサーバ装置１００からアプリケーションサービスＹの提供を受ける場合であっても、定期ないし不定期にステップＳ４以降の処理を行うような実施構成としてもよい。
【００３３】
このように、第１認証情報αのＩＤ情報αＩＤを利用して第２認証情報βをＩＢＥ暗号化し、暗号化に用いたＩＤ情報αＩＤと異なるＩＤ情報を利用して暗号化第２認証情報βｅｎｃをＩＢＥ復号しようとしても復号エラーとなることを利用し、第１認証情報αと第２認証情報βとの関連付けがなされている。このため、暗号化第２認証情報βｅｎｃの生成時にのみ第１認証情報のＩＤ情報αＩＤを利用するだけであり、従来技術のように運用に際して永続的な第１認証情報αと第２認証情報βとの共有をサーバ装置間で行う必要が無く、セキュリティリスクの低い２要素認証が実現される。つまり、万が一、第２のサーバ装置１００で認証情報漏洩があったとしても、その影響は第２のサーバ装置１００のアプリケーションサービスに限定され、セキュリティに関するリスクが低減される。
【００３４】
もちろん、この実施形態から明らかなように、異なるアプリケーションサービスで必要となる認証情報を組み合わせることで２要素認証を行うので、ユーザ認証の信頼性が向上するとともに、ユーザが管理するアプリケーションサービス単位の認証情報の量を一定に抑えることができる。
【００３５】
認証システムに含まれるハードウェアエンティティ（第１のサーバ装置、第２のサーバ装置、ユーザ装置、鍵生成装置、管理装置）は、キーボードなどが接続可能な入力部、液晶ディスプレイなどが接続可能な出力部、ハードウェアエンティティの外部に通信可能な通信装置（例えば通信ケーブル）が接続可能な通信部、ＣＰＵ（Central Processing Unit）〔キャッシュメモリやレジスタなどを備えていてもよい。〕、メモリであるＲＡＭやＲＯＭ、ハードディスクである外部記憶装置並びにこれらの入力部、出力部、通信部、ＣＰＵ、ＲＡＭ、ＲＯＭ、外部記憶装置の間のデータのやり取りが可能なように接続するバスを有している。また必要に応じて、ハードウェアエンティティに、ＣＤ−ＲＯＭなどの記録媒体を読み書きできる装置（ドライブ）などを設けるとしてもよい。このようなハードウェア資源を備えた物理的実体としては、汎用コンピュータなどがある。
【００３６】
ハードウェアエンティティの外部記憶装置には、上述の機能を実現するために必要となるプログラムおよびこのプログラムの処理において必要となるデータなどが記憶されている（外部記憶装置に限らず、例えばプログラムを読み出し専用記憶装置であるＲＯＭに記憶させておくなどでもよい。）。また、これらのプログラムの処理によって得られるデータなどは、ＲＡＭや外部記憶装置などに適宜に記憶される。上述の説明では、演算結果やその格納領域のアドレスなどを記憶するＲＡＭやレジスタなどの記憶装置を単に「記憶部」とした。
【００３７】
ハードウェアエンティティでは、外部記憶装置〔あるいはＲＯＭなど〕に記憶された各プログラムとこの各プログラムの処理に必要なデータが必要に応じてメモリに読み込まれて、適宜にＣＰＵで解釈実行・処理される。その結果、ＣＰＵが所定の機能（例えば、暗号化部、復号部、鍵生成部、署名生成部、署名検証部、制御部など）を実現する。
【００３８】
各実施形態で説明したハードウェアエンティティの細部においては、整数論における数値計算処理が必要となる場合があるが、整数論における数値計算処理自体は、周知技術と同様にして達成されるので、その演算処理方法などの詳細な説明は省略した（この点の技術水準を示す整数論における数値計算処理が可能なソフトウェアとしては、例えばＰＡＲＩ／ＧＰ、ＫＡＮＴ／ＫＡＳＨなどが挙げられる。ＰＡＲＩ／ＧＰについては、例えばインターネット〈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.
【００３９】
本発明は上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。また、上記実施形態において説明した処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されるとしてもよい。
【００４０】
また、上記実施形態において説明したハードウェアエンティティにおける処理機能をコンピュータによって実現する場合、ハードウェアエンティティが有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記ハードウェアエンティティにおける処理機能がコンピュータ上で実現される。
【００４１】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、ＤＶＤ（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）型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの（コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等）を含むものとする。
【００４４】
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、ハードウェアエンティティを構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【図１】
2011142408.tif 000003
【図２】
2011142408.tif 000004
【図３】
2011142408.tif 000005
【図４】
2011142408.tif 000006
【図５】
2011142408.tif 000007
【図６】
2011142408.tif 000008
【図７】
2011142408.tif 000009