(57)【要約】【課題】セキュリティ強度の低下を抑止する認証装置を提供すること。【解決手段】認証処理の連続失敗回数が所定の閾値より大きいか否かを判断する判断部１０４と、連続失敗回数が閾値より大きい場合に、生成カウンタを更新するための更新カウンタを生成し、更新カウンタを暗号化したチャレンジ値を生成するチャレンジ生成部１０５と、チャレンジ値を端末装置に送信し、チャレンジ値に対応する応答として端末装置４０から送信された応答パスワードを受信する送受信部１０１と、更新カウンタから照合用パスワードを生成するパスワード生成部１０２と、照合用パスワードと応答パスワードとを照合するパスワード認証部１０３と、照合用パスワードと応答パスワードとが一致する場合に、更新カウンタでカウンタ記憶部１２１の生成カウンタを更新するカウンタ更新部１０６と、を備えた。【選択図】        図７
2010244191.tif 000002
【特許請求の範囲】
【請求項１】
パスワードを生成する度に更新される生成カウンタに基づいて生成されたワンタイムパスワードを、ネットワークを介して接続された端末装置から受信して認証を行う認証装置であって、
前記生成カウンタを記憶するカウンタ記憶部と、
前記ワンタイムパスワードによる認証処理を連続して失敗した回数が予め定められた閾値より大きいか否かを判断する判断部と、
前記回数が前記閾値より大きいと判断された場合に、前記生成カウンタを更新するための更新カウンタをチャレンジ値として生成するチャレンジ生成部と、
前記チャレンジ値を前記端末装置に送信する送信部と、
前記チャレンジ値に対応する応答として前記端末装置から送信された応答パスワードを受信する受信部と、
前記更新カウンタに基づいて、照合用パスワードを生成するパスワード生成部と、
生成された前記照合用パスワードと前記応答パスワードとを照合するパスワード認証部と、
生成された前記照合用パスワードと前記応答パスワードとが一致する場合に、前記更新カウンタで前記カウンタ記憶部の前記生成カウンタを更新するカウンタ更新部と、
を備えたことを特徴とする認証装置。
【請求項２】
前記パスワード生成部は、さらに、前記カウンタ記憶部の前記生成カウンタと、前記カウンタ記憶部の前記生成カウンタを順次更新して得られる複数の生成カウンタとに基づいて、複数の照合用パスワードを生成し、
前記判断部は、前記ワンタイムパスワードが、生成された前記複数の照合用パスワードのいずれかと一致することを認証する前記認証処理を連続して失敗した回数が前記閾値より大きいか否かを判断すること、
を特徴とする請求項１に記載の認証装置。
【請求項３】
前記チャレンジ生成部は、さらに前記更新カウンタの誤り検出符号を生成し、前記誤り検出符号と前記更新カウンタとを暗号化した前記チャレンジ値を生成すること、
を特徴とする請求項１に記載の認証装置。
【請求項４】
前記チャレンジ生成部は、前記カウンタ記憶部に記憶されている前記生成カウンタに予め定められた数値を加算して前記更新カウンタを生成すること、
を特徴とする請求項１に記載の認証装置。
【請求項５】
パスワードを生成する度に更新される生成カウンタを記憶するカウンタ記憶部と、
前記生成カウンタを更新するための更新カウンタをチャレンジ値の入力として受け付けるチャレンジ受付部と、
前記更新カウンタに基づいて前記チャレンジ値に対する応答のためのパスワードである応答パスワードを生成するパスワード生成部と、
前記応答パスワードを表示する表示部と、
前記更新カウンタで前記カウンタ記憶部の前記生成カウンタを更新するカウンタ更新部と、
を備えたことを特徴とするパスワード生成装置。
【請求項６】
前記チャレンジ受付部は、前記更新カウンタの誤り検出符号と前記更新カウンタとを暗号化したチャレンジ値の入力を受け付け、
受け付けられた前記チャレンジ値から前記更新カウンタと前記誤り検出符号とを復号する復号部をさらに備え、
前記パスワード生成部は、復号された前記更新カウンタから生成した誤り検出符号と復号された前記誤り検出符号とが一致するか否かを判断し、一致する場合に、復号された前記更新カウンタに基づいて前記応答パスワードを生成すること、
を特徴とする請求項５に記載のパスワード生成装置。
【請求項７】
前記パスワード生成部は、前記更新カウンタと、前記カウンタ記憶部に記憶された前記生成カウンタとを比較し、前記更新カウンタが前記カウンタ記憶部に記憶された前記生成カウンタより大きい場合に、前記更新カウンタに基づいて前記応答パスワードを生成すること、
を特徴とする請求項５に記載のパスワード生成装置。
【請求項８】
前記カウンタ記憶部に記憶された前記生成カウンタを更新する更新モードと、前記カウンタ記憶部に記憶された前記生成カウンタを用いてワンタイムパスワードを生成する生成モードとを含む動作モードの入力を受け付けるモード受付部をさらに備え、
前記チャレンジ受付部は、前記動作モードとして前記更新モードが受け付けられた場合に、前記チャレンジ値の入力を受け付けること、
を特徴とする請求項５に記載のパスワード生成装置。
【請求項９】
パスワードを表示する表示装置と通信可能な携帯型セキュリティデバイスであって、
パスワードを生成する度に更新される生成カウンタを記憶するカウンタ記憶部と、
前記生成カウンタを更新するための更新カウンタをチャレンジ値の入力として受け付けるチャレンジ受付部と、
前記更新カウンタに基づいて前記チャレンジ値に対する応答のためのパスワードである応答パスワードを生成するパスワード生成部と、
生成された前記応答パスワードを前記表示装置に出力する出力部と、
前記更新カウンタで前記カウンタ記憶部の前記生成カウンタを更新するカウンタ更新部と、
を備えたことを特徴とする携帯型セキュリティデバイス。
【請求項１０】
ワンタイムパスワードを生成するパスワード生成装置と、ネットワークを介して接続された端末装置から前記パスワード生成装置が生成した前記ワンタイムパスワードを受信して認証を行う認証装置とを備えた認証システムであって、
前記パスワード生成装置は、
パスワードを生成する度に更新される生成カウンタを記憶する第１カウンタ記憶部と、
前記生成カウンタを更新するための更新カウンタをチャレンジ値の入力として受け付けるチャレンジ受付部と、
前記更新カウンタに基づいて前記チャレンジ値に対する応答のためのパスワードである応答パスワードを生成するパスワード生成部と、
前記応答パスワードを表示する表示部と、
前記更新カウンタで前記第１カウンタ記憶部の前記生成カウンタを更新するカウンタ更新部と、を備え、
前記認証装置は、
前記生成カウンタを記憶する第２カウンタ記憶部と、
前記ワンタイムパスワードによる認証処理を連続して失敗した回数が予め定められた閾値より大きいか否かを判断する判断部と、
前記回数が前記閾値より大きいと判断された場合に、前記生成カウンタを更新するための更新カウンタをチャレンジ値として生成するチャレンジ生成部と、
前記チャレンジ値を前記端末装置に送信する送信部と、
前記チャレンジ値に対応する応答として前記端末装置から送信された応答パスワードを受信する受信部と、
前記更新カウンタに基づいて、照合用パスワードを生成するパスワード生成部と、
生成された前記照合用パスワードと前記応答パスワードとを照合するパスワード認証部と、
生成された前記照合用パスワードと前記応答パスワードとが一致する場合に、前記更新カウンタで前記第２カウンタ記憶部の前記生成カウンタを更新するカウンタ更新部と、を備えたこと、
を特徴とする認証システム。
【請求項１１】
パスワードを生成する度に更新される生成カウンタに基づいて生成されたワンタイムパスワードを、ネットワークを介して接続された端末装置から受信して認証を行う認証装置で実行される認証プログラムであって、
前記認証装置は、前記生成カウンタを記憶するカウンタ記憶部を備え、
前記認証装置を、
前記ワンタイムパスワードによる認証処理を連続して失敗した回数が予め定められた閾値より大きいか否かを判断する判断部と、
前記回数が前記閾値より大きいと判断された場合に、前記生成カウンタを更新するための更新カウンタをチャレンジ値として生成するチャレンジ生成部と、
前記チャレンジ値を前記端末装置に送信する送信部と、
前記チャレンジ値に対応する応答として前記端末装置から送信された応答パスワードを受信する受信部と、
前記更新カウンタに基づいて、照合用パスワードを生成するパスワード生成部と、
生成された前記照合用パスワードと前記応答パスワードとを照合するパスワード認証部と、
生成された前記照合用パスワードと前記応答パスワードとが一致する場合に、前記更新カウンタで前記カウンタ記憶部の前記生成カウンタを更新するカウンタ更新部と、
として機能させるための認証プログラム。
【請求項１２】
コンピュータを、
パスワードを生成する度に更新される生成カウンタを記憶するカウンタ記憶部と、
前記生成カウンタを更新するための更新カウンタをチャレンジ値の入力として受け付けるチャレンジ受付部と、
前記更新カウンタに基づいて前記チャレンジ値に対する応答のためのパスワードである応答パスワードを生成するパスワード生成部と、
前記応答パスワードを表示する表示部と、
前記更新カウンタで前記カウンタ記憶部の前記生成カウンタを更新するカウンタ更新部と、
として機能させるためのパスワード生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ワンタイムパスワードにより認証を行う認証装置、認証プログラム、および認証システム、並びに、ワンタイムパスワードを生成するパスワード生成装置、携帯型セキュリティデバイス、およびパスワード生成プログラムに関するものである。
【背景技術】
【０００２】
近年、パスワードの通信傍受などによるシステムへの不正アクセスを回避してセキュリティを強化するために、１回のみ有効なＯＴＰ（ワンタイムパスワード）を用いた認証システムが広く普及している。ＯＴＰを生成する方法としては、カウンタ同期方式（例えば、特許文献１）、時刻同期方式、チャレンジアンドレスポンス方式などが知られている。
【０００３】
カウンタ同期方式では、まず、トークンと呼ばれるパスワード生成装置や、ＩＣカードとパスワード生成装置が分離された形態の装置を使用する。そして、このような装置と、認証を行う認証サーバとのそれぞれに、予めＯＴＰの生成に使用するカウンタと鍵情報とを保持する。なお、カウンタの値は認証実行のたびに各装置でそれぞれインクリメントされ、同期が取られるようになっている。そして、認証を実行するたびに、トークンおよび認証サーバでカウンタと鍵情報とからＯＴＰをそれぞれ生成し、両者を照合することにより認証を行う。
【０００４】
時刻同期方式は、カウンタを同期させる代わりに、各装置で時刻が同期していることを前提として、時刻と鍵情報とを用いてＯＴＰを生成する方式である。また、チャレンジアンドレスポンス方式は、カウンタの代わりになるランダムな文字列（チャレンジ）を認証サーバ側で生成し、トークン側でこの文字列を入力して所定の演算を行った結果（レスポンス）を認証サーバで照合することにより認証を行う方式である。
【０００５】
ＯＴＰを利用した認証システムでは、毎回パスワードが変更されるため、仮にパスワードを通信傍受してもそのパスワードを再利用することができない。このため、通常のパスワードを用いた認証方法と比較して安全性が向上する。
【０００６】
カウンタ同期方式では、誤操作等に起因してトークンでＯＴＰを生成したにも関わらず認証サーバで認証を行わなかった場合は、トークンと認証サーバとでカウンタ値のずれが発生しうる。このようにカウンタ値にずれが生じた場合に直ちに認証不可とすべきでないため、認証サーバ側では、通常、照合に用いるカウンタ値にある程度の幅を設けている。すなわち、保持しているカウンタ値と、このカウンタ値を順次更新した複数のカウンタ値とで複数のＯＴＰを生成し、送信されたＯＴＰとの比較を行うことにより、カウンタ値のずれを所定の範囲で許容し、当該範囲内でずれを修正してカウンタの同期を取っている。
【０００７】
【特許文献１】特開２００１−３５２３２４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、このようにカウンタ値のずれを許容したとしても、許容範囲を超えたずれが生じた場合には、カウンタを同期させることができなくなる。従来は、このような場合、トークンまたはＩＣカードを再発行することによりカウンタの同期を復旧させていたため、システム提供者にとっては、復旧のための処理負荷やコストが増大するという問題があった。また、システム利用者にとっては、再発行の間、トークンやＩＣカードが使用できないため、システムを利用できないという問題があった。
【０００９】
本発明は、上記に鑑みてなされたものであって、トークンを再発行等によコストの増大を回避しつつ、システムの利便性を向上させることができる認証装置、認証プログラム、認証システム、パスワード生成装置、携帯型セキュリティデバイス、およびパスワード生成プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上述した課題を解決し、目的を達成するために、本発明は、パスワードを生成する度に更新される生成カウンタに基づいて生成されたワンタイムパスワードを、ネットワークを介して接続された端末装置から受信して認証を行う認証装置であって、前記生成カウンタを記憶するカウンタ記憶部と、前記ワンタイムパスワードによる認証処理を連続して失敗した回数が予め定められた閾値より大きいか否かを判断する判断部と、前記回数が前記閾値より大きいと判断された場合に、前記生成カウンタを更新するための更新カウンタをチャレンジ値として生成するチャレンジ生成部と、前記チャレンジ値を前記端末装置に送信する送信部と、前記チャレンジ値に対応する応答として前記端末装置から送信された応答パスワードを受信する受信部と、前記更新カウンタに基づいて、照合用パスワードを生成するパスワード生成部と、生成された前記照合用パスワードと前記応答パスワードとを照合するパスワード認証部と、生成された前記照合用パスワードと前記応答パスワードとが一致する場合に、前記更新カウンタで前記カウンタ記憶部の前記生成カウンタを更新するカウンタ更新部と、を備えたことを特徴とする。本発明によれば、カウンタのずれが許容範囲を超えて連続して認証に失敗した場合であっても、カウンタを復旧させるための更新カウンタをチャレンジとして生成し、チャレンジに対する応答として受信した応答パスワードが認証されれば、更新カウンタを新たなカウンタとして同期を取ることができるため、トークンを再発行等によコストの増大を回避しつつ、システムの利便性を向上させることができる。
【００１１】
また、本発明は、上記認証装置を実行することができるプログラムである。本発明によれば、カウンタのずれが許容範囲を超えて連続して認証に失敗した場合であっても、カウンタを復旧させるための更新カウンタをチャレンジとして生成し、チャレンジに対する応答として受信した応答パスワードが認証されれば、更新カウンタを新たなカウンタとして同期を取ることができるため、トークンを再発行等によコストの増大を回避しつつ、システムの利便性を向上させることができる。
【００１２】
また、本発明は、パスワードを生成する度に更新される生成カウンタを記憶するカウンタ記憶部と、前記生成カウンタを更新するための更新カウンタをチャレンジ値の入力として受け付けるチャレンジ受付部と、前記更新カウンタに基づいて前記チャレンジ値に対する応答のためのパスワードである応答パスワードを生成するパスワード生成部と、前記応答パスワードを表示する表示部と、前記更新カウンタで前記カウンタ記憶部の前記生成カウンタを更新するカウンタ更新部と、を備えたことを特徴とする。本発明によれば、カウンタのずれが許容範囲を超えて連続して認証に失敗した場合であっても、カウンタを復旧させるための更新カウンタをチャレンジとして受け付け、更新カウンタを新たなカウンタとして同期を取ることができるため、トークンを再発行等によコストの増大を回避しつつ、システムの利便性を向上させることができる。
【００１３】
また、本発明は、上記パスワード生成装置を実行することができるプログラムである。本発明によれば、カウンタのずれが許容範囲を超えて連続して認証に失敗した場合であっても、カウンタを復旧させるための更新カウンタをチャレンジとして受け付け、更新カウンタを新たなカウンタとして同期を取ることができるため、トークンを再発行等によコストの増大を回避しつつ、システムの利便性を向上させることができる。
【００１４】
また、本発明は、パスワードを表示する表示装置と通信可能な携帯型セキュリティデバイスであって、パスワードを生成する度に更新される生成カウンタを記憶するカウンタ記憶部と、前記生成カウンタを更新するための更新カウンタをチャレンジ値の入力として受け付けるチャレンジ受付部と、前記更新カウンタに基づいて前記チャレンジ値に対する応答のためのパスワードである応答パスワードを生成するパスワード生成部と、生成された前記応答パスワードを前記表示装置に出力する出力部と、前記更新カウンタで前記カウンタ記憶部の前記生成カウンタを更新するカウンタ更新部と、を備えたことを特徴とする。本発明によれば、カウンタのずれが許容範囲を超えて連続して認証に失敗した場合であっても、カウンタを復旧させるための更新カウンタをチャレンジとして受け付け、更新カウンタを新たなカウンタとして同期を取ることができるため、トークンを再発行等によコストの増大を回避しつつ、システムの利便性を向上させることができる。
【００１５】
また、本発明は、ワンタイムパスワードを生成するパスワード生成装置と、ネットワークを介して接続された端末装置から前記パスワード生成装置が生成した前記ワンタイムパスワードを受信して認証を行う認証装置とを備えた認証システムであって、前記パスワード生成装置は、パスワードを生成する度に更新される生成カウンタを記憶する第１カウンタ記憶部と、前記生成カウンタを更新するための更新カウンタをチャレンジ値の入力として受け付けるチャレンジ受付部と、前記更新カウンタに基づいて前記チャレンジ値に対する応答のためのパスワードである応答パスワードを生成するパスワード生成部と、前記応答パスワードを表示する表示部と、前記更新カウンタで前記第１カウンタ記憶部の前記生成カウンタを更新するカウンタ更新部と、を備え、前記認証装置は、前記生成カウンタを記憶する第２カウンタ記憶部と、前記ワンタイムパスワードによる認証処理を連続して失敗した回数が予め定められた閾値より大きいか否かを判断する判断部と、前記回数が前記閾値より大きいと判断された場合に、前記生成カウンタを更新するための更新カウンタをチャレンジ値として生成するチャレンジ生成部と、前記チャレンジ値を前記端末装置に送信する送信部と、前記チャレンジ値に対応する応答として前記端末装置から送信された応答パスワードを受信する受信部と、前記更新カウンタに基づいて、照合用パスワードを生成するパスワード生成部と、生成された前記照合用パスワードと前記応答パスワードとを照合するパスワード認証部と、生成された前記照合用パスワードと前記応答パスワードとが一致する場合に、前記更新カウンタで前記第２カウンタ記憶部の前記生成カウンタを更新するカウンタ更新部と、を備えたこと、を特徴とする。本発明によれば、カウンタのずれが許容範囲を超えて連続して認証に失敗した場合であっても、カウンタを復旧させるための更新カウンタをチャレンジとして生成し、チャレンジに対する応答として受信した応答パスワードが認証されれば、更新カウンタを新たなカウンタとして同期を取ることができるため、トークンを再発行等によコストの増大を回避しつつ、システムの利便性を向上させることができる。
【発明の効果】
【００１６】
本発明によれば、トークンを再発行等によコストの増大を回避しつつ、システムの利便性を向上させることができるという効果を奏する。
【発明を実施するための最良の形態】
【００１７】
以下に添付図面を参照して、この発明にかかる認証装置、認証プログラム、認証システム、パスワード生成装置、携帯型セキュリティデバイス、およびパスワード生成プログラムの最良な実施の形態を詳細に説明する。
【００１８】
本実施の形態にかかる認証装置は、カウンタ同期方式によるＯＴＰの認証処理が連続して所定回数失敗した場合に更新カウンタを生成し、更新カウンタを暗号化したチャレンジをユーザの端末装置に送信する。ここで、更新カウンタとは、ＯＴＰを生成するためのカウンタである生成カウンタを更新し、生成カウンタの同期を復旧させるためのカウンタをいう。
【００１９】
また、本実施の形態にかかるパスワード生成装置は、端末装置に送信されたチャレンジをもとにユーザが入力したチャレンジから更新カウンタを復号し、更新カウンタからＯＴＰを生成する。生成したＯＴＰが認証された場合、認証装置は更新カウンタで現在のカウンタを更新する。
【００２０】
最初に、本実施の形態における認証システムの構成の概要について図１を用いて説明する。図１は、本実施の形態にかかる認証システム１のネットワーク構成の一例を示す図である。同図に示すように、認証システム１は、認証装置１０と、パスワード表示装置２０と、パスワード生成装置としてのＩＣカード３０と、端末装置４０と、を含んでいる。
【００２１】
認証装置１０と端末装置４０とは、インターネットなどのネットワーク５０を介して接続されている。
【００２２】
認証装置１０は、端末装置４０から送信されたＯＴＰと、自装置内で照合用に生成したＯＴＰ（照合用パスワード）とを照合することにより、送信されたＯＴＰを検証する。本実施の形態では、認証装置１０は、複数の照合用ＯＴＰを生成して、送信されたＯＴＰと照合する。そして、認証装置１０は、複数の照合用ＯＴＰのいずれとも一致しない場合に、認証に失敗したと判断する。
【００２３】
パスワード表示装置２０は、携帯型セキュリティデバイスであるＩＣカード３０を所定の差込口に差し込むことなどによりＩＣカード３０にＯＴＰの生成を開始させる処理や、生成されたＯＴＰの表示処理を行う。ユーザは、パスワード表示装置２０に表示されたＯＴＰを端末装置４０に入力し、認証装置１０に送信する。
【００２４】
ＩＣカード３０は、パスワード表示装置２０の差込口に差し込むことによりパスワード表示装置２０と通信可能となり、パスワード表示装置２０からの要求に応じてＯＴＰを生成する。
【００２５】
端末装置４０は、ＩＣカード３０で生成されたＯＴＰを入力し、認証装置１０によりＯＴＰの認証を受けて動作するアプリケーション等を実行するためのクライアント端末である。端末装置４０は、例えば、ＷＥＢブラウザ上で動作するアプリケーションを実行する。
【００２６】
次に、本実施の形態のＯＴＰの生成方法の概要について図２を用いて説明する。図２は、ＯＴＰの生成方法の一例を説明するための模式図である。
【００２７】
同図に示すように、本実施の形態では、まず、記憶している生成カウンタ（以下、単にカウンタという）を暗号化する。そして、暗号化により得られた暗号文の一部を抽出して結合することにより、ＯＴＰを生成する。同図では、カウンタが「０１２３」であり、このカウンタを暗号化して得られる暗号文から４つの数値を抽出してＯＴＰ「８３０８」を生成した例が示されている。
【００２８】
このように、本実施の形態では、ＯＴＰのサイズを縮小するために、カウンタを暗号化した暗号文の一部を抽出してＯＴＰを生成している。なお、ＯＴＰの生成方法はこれに限られるものではなく、カウンタに応じたＯＴＰを生成するものであれば、従来から用いられているあらゆる方法を適用できる。例えば、カウンタを暗号化した暗号文自体をＯＴＰとして生成するように構成してもよい。また、カウンタの暗号化に用いる暗号化方式は、ＤＥＳ（Data Encryption Standard）などの従来から用いられているあらゆる方式を適用できる。
【００２９】
次に、本実施の形態のＯＴＰの検証方法の概要について図３を用いて説明する。図３は、ＯＴＰの検証方法の一例を説明するための模式図である。
【００３０】
同図の左側は、ＩＣカード３０内で生成されるＯＴＰの一例を表している。また、同図の右側は、認証装置１０内で生成されるＯＴＰの一例を表している。同図に示すように、ＩＣカード３０内のカウンタは「０１２５」であり、認証装置１０内のカウンタは「０１２３」（同図のカウンタ４０１）である。すなわち、両装置のカウンタにずれが生じている。
【００３１】
カウンタの同期がずれる原因の一つとして利用者の誤操作が挙げられる。利用者の誤操作によりＩＣカード３０内のカウンタのみが進み、結果として同期のずれが生じる。なお、認証装置１０がＩＣカード３０のカウンタを知ることができるのは、認証が成功した時だけである。
【００３２】
認証装置１０側は、このようなユーザの誤動作を考慮して、ある程度のカウンタのずれを許容する。すなわち、認証装置１０は、認証装置１０が保持している最新のカウンタから所定数（Ｍ個、本実施の形態では１０個）先のカウンタまでのＭ＋１個の照合用ＯＴＰを生成しておく。そして、認証装置１０は、ＩＣカード３０から認証するＯＴＰを受信したときに、Ｍ＋１個の照合用ＯＴＰの中に、受信したＯＴＰと一致するものが存在すれば、認証成功と判定する。
【００３３】
このＭの値を過度に大きくすると、単に入力間違いのカウンタまでを認証成功とする恐れがあるので、許容するカウンタの範囲（Ｍの値）には注意しなくてはならない。すなわち、必要以上にＭの値を大きくすると、セキュリティの強度が低下するおそれがある。本実施の形態では、このＭの値を必要以上に大きくする必要がなくなるため、セキュリティ性を高めることができる。
【００３４】
同図では、カウンタ「０１２３」から「０１３２」の１０個のカウンタに対する１０個の照合用ＯＴＰを生成する例が示されている。この例では、１０個の照合用ＯＴＰ内に、ＩＣカード３０で生成されたＯＴＰと一致するＯＴＰが含まれるため、認証が成功する。
【００３５】
仮に、ＩＣカード３０内のカウンタが「１０３３」以上であったとすると、認証装置１０内で生成されるＯＴＰの許容範囲に含まれなくなるため、認証が失敗する。
【００３６】
次に、図１に示す各装置のハードウェア構成について説明する。まず、認証装置１０のハードウェア構成について説明する。図４は、認証装置１０のハードウェア構成の一例を示す図である。
【００３７】
本実施の形態にかかる認証装置１０は、ＣＰＵ（Central Processing Unit）１１などの制御装置と、ＲＯＭ（Read Only Memory）１２やＲＡＭ（Random Access Memory）１３などの記憶装置と、ネットワークに接続して通信を行う通信Ｉ／Ｆ（Interface）１４と、ＨＤＤ（Hard Disk Drive）、ＣＤ（Compact Disc）ドライブ装置などの外部記憶装置と、ディスプレイ装置などの表示装置と、キーボードやマウスなどの入力装置と、各部を接続するバス１５を備えており、通常のコンピュータを利用したハードウェア構成となっている。
【００３８】
なお、端末装置４０のハードウェア構成は、認証装置１０と同様であるため、その説明を省略する。
【００３９】
次に、パスワード表示装置２０のハードウェア構成について説明する。図５は、パスワード表示装置２０のハードウェア構成の一例を示す図である。
【００４０】
パスワード表示装置２０は、ＣＰＵ２１などの制御装置と、ＲＯＭ２２やＲＡＭ２３などの記憶装置と、表示部２４と、ＰＩＮ入力のためのボタンやＯＴＰ生成開始のためのボタンなどを含む入力装置である操作ボタン２５と、ＩＣカード３０との間の通信を媒介するＲ／Ｗ（リーダ／ライタ）２６と、各部を接続するバス２７を備えている。
【００４１】
表示部２４は、ＩＣカード３０が生成したＯＴＰを表示する。表示部２４の表示可能桁数は、ＩＣカード３０から受信するＯＴＰのデータ長に応じて調節する。また、後述する動作モード等の入力のためにローマ字を表示する場合は、ローマ字が表示可能な表示部２４を搭載する必要がある。
【００４２】
次に、ＩＣカード３０のハードウェア構成について説明する。図６は、ＩＣカード３０のハードウェア構成の一例を示す図である。
【００４３】
同図に示すように、ＩＣカード３０は、通信Ｉ／Ｆ３１と、ＣＰＵ３２と、ＲＡＭ３３と、ＲＯＭ３４と、ＥＥＰＲＯＭ（Electronically Erasable and Programmable Read Only Memory）３５とを備えている。
【００４４】
通信Ｉ／Ｆ３１は、接触端子などを備え、パスワード表示装置２０などのようにＩＣカード３０を挿入して動作する外部装置と、ＣＰＵ３２との間の通信を媒介するものである。なお、ＩＣカード３０とパスワード表示装置２０との間の通信は接触式に限られるものではなく、非接触式によって通信を行うように構成してもよい。
【００４５】
ＣＰＵ３２は、ＩＣカード３０を統括制御する中央処理装置であって、通信Ｉ／Ｆ３１を介して外部装置から受信するコマンドに応じた処理を行い、その結果をレスポンスとして送信する。
【００４６】
ＲＡＭ３３は、ＣＰＵ３２が処理を行うための作業領域として使用する揮発性メモリである。ＲＯＭ３４は、オペレーティングシステムなどのＣＰＵ３２が処理を行うために必要なプログラムを主に記憶している不揮発性の読み出し専用メモリである。ＥＥＰＲＯＭ３５は、随時書き換え可能な不揮発性のメモリであって、アプリケーションなどのＣＰＵ３２が処理を行うために必要なプログラムおよびデータが記憶されている。
【００４７】
次に、図１に示す各装置の機能の詳細について説明する。図７は、本実施の形態にかかる認証システム１の各装置の機能構成の一例を示すブロック図である。
【００４８】
まず、認証装置１０の機能構成について説明する。同図に示すように認証装置１０は、カウンタ記憶部１２１と、鍵情報記憶部１２２と、送受信部１０１と、パスワード生成部１０２と、パスワード認証部１０３と、判断部１０４と、チャレンジ生成部１０５と、カウンタ更新部１０６と、を備えている。
【００４９】
カウンタ記憶部１２１は、認証ごとにパスワード認証部１０３でインクリメントされるカウンタを記憶する。カウンタ記憶部１２１は、例えば、ユーザを識別するユーザＩＤと、認証装置１０で管理するユーザごとのカウンタとを対応づけられて記憶する。
【００５０】
鍵情報記憶部１２２は、ＯＴＰの生成に用いる鍵情報を記憶する。鍵情報記憶部１２２は、なお、鍵情報記憶部１２２が、ユーザごとに固有の鍵を生成する元となるマスタ鍵情報を記憶するように構成してもよい。この場合、後述するパスワード生成部１０２は、マスタ鍵情報とユーザＩＤとからユーザごとの個別鍵を生成し、ＯＴＰの生成に用いる。
【００５１】
送受信部１０１は、端末装置４０との間でネットワーク５０を介して情報を送受信する。例えば、送受信部１０１は、ユーザＩＤや検証するＯＴＰを端末装置４０から受信する処理、認証結果を端末装置４０に送信する処理、チャレンジ生成部１０５によって生成されたチャレンジを端末装置４０に送信する処理、およびチャレンジに対する応答として端末装置４０から送信されたパスワード（応答パスワード）を受信する処理などを行う。
【００５２】
パスワード生成部１０２は、カウンタ記憶部１２１に記憶されたカウンタを用いて照合用ＯＴＰを生成する。具体的には、パスワード生成部１０２は、鍵情報記憶部１２２に格納された鍵情報と、カウンタ記憶部１２１に記憶されたカウンタとから、図３で説明したように１０個の照合用ＯＴＰを生成する。なお、カウンタ記憶部１２１に記憶されたカウンタは、１インクリメントした値で更新される。
【００５３】
また、パスワード生成部１０２は、失敗可能な回数の閾値として予め定められた所定回数、連続して認証に失敗した場合に、チャレンジ生成部１０５によって生成された更新カウンタを用いて照合用のＯＴＰを生成する。
【００５４】
パスワード認証部１０３は、パスワード生成部１０２により生成された複数の照合用ＯＴＰと、送受信部１０１により受信したＯＴＰとを照合することによりＯＴＰを認証する。所定回数以上、連続して認証に失敗した場合、パスワード認証部１０３は、受信された応答パスワードと、更新カウンタから生成された照合用ＯＴＰとを照合することにより、受信された応答パスワードを認証する。
【００５５】
判断部１０４は、パスワード認証部１０３によるＯＴＰの認証処理が、所定回数連続して失敗したか否かを判断する。すなわち、判断部１０４は、ＯＴＰの認証処理の連続失敗回数が閾値である所定回数より大きいか否かを判断する。
【００５６】
チャレンジ生成部１０５は、認証処理が所定回数連続して失敗したと判断された場合に、カウンタを更新するための更新カウンタを生成する。そして、チャレンジ生成部１０５は、生成した更新カウンタを暗号化することにより、端末装置４０に送信するチャレンジ値（以下、単にチャレンジという）を生成する。更新カウンタの暗号化に用いる暗号化方式は、ＤＥＳ（Data Encryption Standard）などの従来から用いられているあらゆる方式を適用できる。なお、チャレンジ生成部１０５が、更新カウンタを暗号化せず、更新カウンタをチャレンジ値として生成するように構成してもよい。
【００５７】
チャレンジ生成部１０５は、基本的に任意のカウンタを、新らしく生成する更新カウンタとすることができる。ただし、ＯＴＰ生成装置（ＩＣカード３０）のライフサイクルに関わるようなカウンタ（例：利用回数）を使用している場合は注意が必要である。例えば、カウンタの値が予め定められた最大値（例えば６５５３５）に達した場合、それ以降はＯＴＰを生成不能とする場合がある。このような場合に、復旧前のカウンタより小さい値の更新カウンタを生成すると、ＯＴＰ生成装置（ＩＣカード３０）を永久に使用可能となるおそれがある。したがって、チャレンジ生成部１０５は、復旧前より大きい値の更新カウンタを生成することが望ましい。例えば、チャレンジ生成部１０５は、現在のカウンタに所定の数値（例えば１００）を加算した値を更新カウンタとして生成する。
【００５８】
カウンタ更新部１０６は、チャレンジに対して端末装置４０から送信された応答パスワードが認証された場合に、更新カウンタでカウンタ記憶部１２１のカウンタを更新する。具体的には、カウンタ更新部１０６は、パスワード認証部１０３によって、応答パスワードと、更新カウンタをもとにパスワード生成部１０２が生成した照合用ＯＴＰとが一致すると判断された場合に、更新カウンタでカウンタを更新する。
【００５９】
次に、パスワード表示装置２０の機能構成について説明する。同図に示すようにパスワード表示装置２０は、制御部２０１と、表示部２４と、操作ボタン２５と、Ｒ／Ｗ２６とを備えている。表示部２４、操作ボタン２５、およびＲ／Ｗ２６の機能は図５と同様であるので、同一符号を付し、ここでの説明は省略する。
【００６０】
制御部２０１は、ＯＴＰ生成処理全体を制御する。例えば、制御部２０１は、ＩＣカード３０が差込口に挿入されたときに、ＩＣカード３０にＯＴＰ生成処理を開始させる。また、制御部２０１は、ＩＣカード３０により生成されたＯＴＰを表示部２４に表示する処理を制御する。
【００６１】
次に、ＩＣカード３０の機能構成について説明する。同図に示すようにＩＣカード３０は、通信Ｉ／Ｆ３１と、鍵情報記憶部３２１と、カウンタ記憶部３２２と、モード受付部３０１と、チャレンジ受付部３０２と、復号部３０３と、パスワード生成部３０４と、カウンタ更新部３０５と、を備えている。
【００６２】
通信Ｉ／Ｆ３１の機能は図６と同様であるので、同一符号を付し、ここでの説明は省略する。
【００６３】
鍵情報記憶部３２１は、復号部３０３によるチャレンジ復号処理、およびパスワード生成部３０４によるＯＴＰ生成処理で用いる鍵情報を記憶する。なお、チャレンジ復号処理で用いる鍵情報とＯＴＰ生成処理で用いる鍵情報とは、同一であってもよいし、異なるものであってもよい。
【００６４】
カウンタ記憶部３２２は、パスワード生成部３０４でＯＴＰを生成するごとにインクリメントされるカウンタを記憶する。カウンタが、０〜所定の最大値（例えば６５５３５）までの値を取り、カウンタが当該最大値を超えた場合に、ＯＴＰを生成不能とするように構成してもよい。
【００６５】
モード受付部３０１は、パスワード表示装置２０の操作ボタン２５を介してユーザにより入力された動作モードを受け付ける。動作モードとは、パスワード生成装置であるＩＣカード３０の動作の種類を表す情報である。動作モードには、生成モードと更新モードとが含まれる。
【００６６】
生成モードとは、カウンタ記憶部３２２に記憶されたカウンタを用いてＯＴＰを生成するモードを意味する。更新モードとは、カウンタ記憶部３２２に記憶されたカウンタが認証装置１０内のカウンタと同期が取れなくなった場合に、同期を復旧させたカウンタで更新するモードを意味する。
【００６７】
チャレンジ受付部３０２は、パスワード表示装置２０の操作ボタン２５を介してユーザにより入力されたチャレンジを受け付ける。なお、ユーザは、認証装置１０から端末装置４０に送信され、表示部４２に表示されたチャレンジを、パスワード表示装置２０の操作ボタン２５を用いて入力する。チャレンジ受付部３０２は、このようにして入力されたチャレンジを、通信Ｉ／Ｆ３１を介してパスワード表示装置２０から受け付ける。
【００６８】
復号部３０３は、鍵情報記憶部３２１に記憶された鍵情報を用いて、チャレンジ受付部３０２によって受け付けられたチャレンジを復号して更新カウンタを出力する。
【００６９】
パスワード生成部３０４は、カウンタ記憶部３２２に記憶されたカウンタを用いてＯＴＰを生成する。具体的には、パスワード生成部３０４は、動作モードとして生成モードが入力された場合は、鍵情報記憶部３２１に格納された鍵情報と、カウンタ記憶部３２２に記憶されたカウンタとから、図３で説明したように１個のＯＴＰを生成する。
【００７０】
また、パスワード生成部３０４は、動作モードとして更新モードが入力された場合は、復号部３０３によってチャレンジから復号された更新カウンタと、鍵情報記憶部３２１に格納された鍵情報とから、チャレンジに対する応答パスワードとするためのＯＴＰを生成する。
【００７１】
カウンタ更新部３０５は、復号部３０３によって復号された更新カウンタで、カウンタ記憶部３２２に記憶されているカウンタを更新する。
【００７２】
次に、端末装置４０の機能構成について説明する。端末装置４０は、入力部４１と、表示部４２と、アプリケーション部４３と、送受信部４４とを備えている。
【００７３】
入力部４１は、ユーザがアプリケーションの動作に必要な情報や命令などを入力するためのキーボード、マウスなどのインターフェースである。例えば、入力部４１は、パスワード表示装置２０に表示されたＯＴＰを入力するためにユーザにより操作される。
【００７４】
表示部４２は、ＷＥＢブラウザ画面などをユーザに表示するディスプレイなどの表示装置である。
【００７５】
アプリケーション部４３は、ＩＣカード３０で生成されたＯＴＰを入力し、認証装置１０によりＯＴＰの認証を受けて動作するアプリケーションである。送受信部４４は、ネットワーク５０を介して、アプリケーション部４３の動作に必要なＯＴＰなどの各種情報を、認証装置１０との間で送受信する。
【００７６】
なお、認証装置１０のカウンタ記憶部１２１、鍵情報記憶部１２２、ＩＣカード３０の鍵情報記憶部３２１、およびカウンタ記憶部３２２は、ＨＤＤ（Hard Disk Drive）、光ディスク、メモリカード、ＲＡＭなどの一般的に利用されているあらゆる記憶媒体により構成することができる。
【００７７】
次に、このように構成された本実施の形態にかかる認証システム１による認証処理について図８を用いて説明する。図８は、本実施の形態における認証処理の全体の流れを示すフローチャートである。
【００７８】
まず、認証装置１０のパスワード生成部１０２は、端末装置４０から受信するＯＴＰと照合するための所定数の照合用ＯＴＰを生成する（ステップＳ８０１）。例えば、パスワード生成部１０２は、カウンタ記憶部１２１に記憶されたカウンタ「ｃｏｕｎｔ」と、「ｃｏｕｎｔ」に所定の数値Ｍを加えたカウンタ「ｃｏｕｎｔ＋Ｍ」までのＭ＋１個のカウンタを生成する。そして、パスワード生成部１０２は、照合用ＯＴＰとして、Ｍ＋１個のカウンタそれぞれを元に、Ｍ＋１個のＯＴＰを生成しておく。
【００７９】
一方、ユーザは、ＩＣカード３０をパスワード表示装置２０に差し込み、所定のボタン押下等によりＯＴＰを生成するＯＴＰ生成処理の開始を指示する。パスワード表示装置２０の制御部２０１は、開始指示を受け付け、ＩＣカード３０のパスワード生成部３０４に対してＯＴＰの生成を指示する。このように、ＩＣカード３０はパスワード表示装置２０に差し込むことによりＯＴＰ生成処理を実行可能となる。図８は、ＩＣカード３０内での処理の流れを表しており、ＯＴＰの表示処理などのパスワード表示装置２０内での処理は省略されている。
【００８０】
ＩＣカード３０のパスワード生成部３０４は、通信Ｉ／Ｆ３１を介してＯＴＰ生成の指示を受け付け、ＯＴＰ生成処理を実行する（ステップＳ８０２）。ＯＴＰ生成処理の詳細については後述する。ＩＣカード３０のパスワード生成部３０４は、生成したＯＴＰを通信Ｉ／Ｆ３１を介してパスワード表示装置２０に出力する。
【００８１】
ユーザは、パスワード表示装置２０の表示部２４等に出力されたＯＴＰを端末装置４０に入力可能となる。すなわち、端末装置４０の入力部４１が、ユーザにより指定されたＯＴＰを入力する（ステップＳ８０３）。そして、送受信部４４が、入力されたＯＴＰを認証装置１０に送信する（ステップＳ８０４）。
【００８２】
なお、端末装置４０は、ユーザを識別するためのユーザＩＤとともにＯＴＰを送信する。認証装置１０は、ユーザＩＤによりユーザを識別し、識別したユーザのカウンタから生成した照合用ＯＴＰを特定することができる。
【００８３】
認証装置１０のパスワード認証部１０３は、送受信部１０１によって受信されたＯＴＰを検証する（ステップＳ８０５）。具体的には、パスワード認証部１０３は、ステップＳ８０１で事前に生成したＭ＋１個の照合用ＯＴＰの中に、受信したＯＴＰと一致するものが存在するか否かを検証する。
【００８４】
そして、パスワード認証部１０３は、ＯＴＰの認証が失敗したか否かを判断する（ステップＳ８０６）。認証に失敗した場合、すなわち、一致する照合用ＯＴＰが存在しない場合は（ステップＳ８０６：ＹＥＳ）、パスワード認証部１０３は、認証の失敗回数に１を加算する（ステップＳ８０７）。なお、失敗回数の初期値は０に設定されているものとする。
【００８５】
次に、判断部１０４が、失敗回数が所定の閾値より大きいか否かを判断する（ステップＳ８０８）。失敗回数が閾値より大きい場合（ステップＳ８０８：ＹＥＳ）、送受信部１０１が、カウンタを復旧するために更新モードを選択することを要求する更新モード選択要求を端末装置４０に送信する（ステップＳ８０９）。
【００８６】
カウンタ更新部１０６は、現在のカウンタ「ｃｏｕｎｔ」を更新するための更新カウンタを新たに生成する（ステップＳ８１０）。カウンタ更新部１０６は、例えば、現在のカウンタに所定数である１００を加算した値を更新カウンタとして生成する。
【００８７】
そして、パスワード生成部１０２は、生成された更新カウンタを用いて照合用ＯＴＰを生成する（ステップＳ８１１）。また、チャレンジ生成部１０５は、生成された更新カウンタと、更新カウンタのチェックコードとを暗号化したチャレンジを生成する（ステップＳ８１２）。
【００８８】
チェックコードとは、更新カウンタの正当性を検証するための情報である。チャレンジ生成部１０５は、例えば、ＣＲＣ（Cyclic Redundancy Check）などの誤り検出符号を、更新カウンタのチェックコードとして生成する。なお、チェックコードはこれに限られず、更新カウンタの誤り検出または正当性の検証が可能なものであればあらゆる情報を適用できる。
【００８９】
図９は、チャレンジ生成部１０５によるチャレンジ生成処理の概要を示す図である。図９に示すように、チャレンジ生成部１０５は、まず更新カウンタのチェックコードを算出し、更新カウンタの末尾に付加する。そして、チャレンジ生成部１０５は、チェックコードを付加したデータ全体を、鍵情報記憶部１２２に記憶された鍵情報を用いて暗号化し、チャレンジを生成する。
【００９０】
このようにして更新カウンタを暗号化することにより、更新カウンタが盗聴等により攻撃者に知られるおそれを低減できる。また、チェックコードを用いることにより、更新カウンタの改ざん等の攻撃を回避可能となる。なお、チェックコードを用いずに、更新カウンタの暗号化のみを実行するように構成してもよい。
【００９１】
図８に戻り、送受信部１０１は、生成されたチャレンジを端末装置４０に送信する（ステップＳ８１３）。
【００９２】
端末装置４０は、ステップＳ８０９で認証装置１０から送信された更新モード選択要求を受信する。そして、例えば、表示部４２にカウンタを更新するために更新モードを選択し、カウンタの更新処理を実行すべき旨を表示する（図示せず）。ユーザは、この表示を確認することにより、ＩＣカード３０に対して更新モードを指定し、カウンタの復旧を実行させることが可能となる。
【００９３】
また、端末装置４０は、ステップＳ８１３で認証装置１０から送信されたチャレンジを受信する。そして、例えば、表示部４２に受信したチャレンジを表示する（図示せず）。ユーザは、これによりパスワード表示装置２０の操作ボタン２５等を用いてＩＣカード３０に対してチャレンジを入力することが可能となる。
【００９４】
なお、更新モード選択要求を送信する構成の場合、攻撃者に対しても更新モード選択要求が送信され、攻撃者によってカウンタの更新が可能であることが知られるおそれがある。これを回避するため、更新モード選択要求を送信しないように構成してもよい。この場合は、例えば、ＩＣカード３０の操作マニュアル等に更新モードを選択することによりカウンタの復旧が可能であることを記載しておけばよい。
【００９５】
ＩＣカード３０のカウンタ更新部３０５は、ユーザにより更新モードが選択されたか否かを判断する（ステップＳ８１４）。更新モードが選択されなかった場合、すなわち、生成モードが選択された場合は（ステップＳ８１４：ＮＯ）、ステップＳ８０２に戻り処理を繰り返す。更新モードが選択された場合（ステップＳ８１４：ＹＥＳ）、チャレンジ受付部３０２は、ユーザが入力したチャレンジを、通信Ｉ／Ｆ３１を介して受け付ける（ステップＳ８１５）。
【００９６】
次に、復号部３０３が、鍵情報記憶部３２１に記憶された鍵情報を用いて、受け付けたチャレンジを復号し、復号したデータから更新カウンタとチェックコードとを取り出す（ステップＳ８１６）。次に、カウンタ更新部３０５は、復号したチェックコードが正当であるか否かを判断する（ステップＳ８１７）。具体的には、カウンタ更新部３０５は、復号された更新カウンタからチェックコードを算出し、復号したチェックコードと比較する。
【００９７】
算出したチェックコードと復号したチェックコードとが一致しない場合（ステップＳ８１７：ＮＯ）、カウンタ更新部３０５は、エラーが発生した旨を出力し（ステップＳ８１８）、認証処理を終了する。
【００９８】
なお、同図では省略しているが、復号した更新カウンタと、現在カウンタ記憶部３２２に記憶されているカウンタとを比較し、更新カウンタが記憶されているカウンタ以下である場合に、エラーが発生したと判断して処理を終了するように構成してもよい。更新カウンタが記憶されているカウンタ以下である場合、利用者が悪意を持ってＯＴＰの生成を実行している可能性があるためである。
【００９９】
算出したチェックコードと復号したチェックコードとが一致する場合（ステップＳ８１７：ＹＥＳ）、カウンタ更新部３０５は、復号した更新カウンタでカウンタ記憶部３２２のカウンタを更新する（ステップＳ８１９）。
【０１００】
次に、パスワード生成部３０４は、チャレンジに対する応答として認証装置１０に送信する応答パスワードを、更新カウンタから生成する（ステップＳ８２０）。
【０１０１】
応答パスワードを生成後、端末装置４０の入力部４１が、ユーザにより指定された応答パスワードを入力する（ステップＳ８２１）。そして、送受信部４４が、入力された応答パスワードを認証装置１０に送信する（ステップＳ８２２）。
【０１０２】
認証装置１０のパスワード認証部１０３は、送受信部１０１によって受信された応答パスワードを検証する（ステップＳ８２３）。具体的には、パスワード認証部１０３は、ステップＳ８１１で更新カウンタから生成した照合用ＯＴＰと、受信した応答パスワードとが一致するか否かを検証する。
【０１０３】
そして、パスワード認証部１０３は、応答パスワードの認証が失敗したか否かを判断する（ステップＳ８２４）。認証に失敗した場合、すなわち、照合用ＯＴＰと応答パスワードとが一致しない場合は（ステップＳ８２４：ＹＥＳ）、パスワード認証部１０３は、認証の失敗回数に１を加算し（ステップＳ８０７）、処理を繰り返す。
【０１０４】
認証に成功した場合、すなわち、照合用ＯＴＰと応答パスワードとが一致する場合（ステップＳ８２４：ＮＯ）、パスワード認証部１０３は、失敗回数を０にクリアする（ステップＳ８２５）。そして、パスワード認証部１０３は、カウンタ記憶部１２１に記憶する同期が取れたカウンタとして、更新カウンタを採用する（ステップＳ８２６）。
【０１０５】
ステップＳ８０６で認証に成功したと判断された場合、すなわち、一致する照合用ＯＴＰが存在する場合は（ステップＳ８０６：ＮＯ）、パスワード認証部１０３は失敗回数を０にクリアする（ステップＳ８２７）。そして、パスワード認証部１０３は、カウンタ記憶部１２１に記憶する同期が取れたカウンタとして、一致した照合用ＯＴＰに対応するカウンタを採用する（ステップＳ８２８）。
【０１０６】
次に、カウンタ更新部１０６は、採用したカウンタに１を加算してカウンタ記憶部１２１に保存し（ステップＳ８２９）、認証処理を終了する。ステップＳ８０８で失敗回数が閾値以下であると判断された場合も（ステップＳ８０８：ＮＯ）、カウンタ更新部１０６が、カウンタに１を加算し（ステップＳ８２９）、認証処理を終了する。
【０１０７】
なお、同図では省略しているが、認証装置１０は、ＯＴＰおよび応答パスワードの認証結果を端末装置４０に送信する。端末装置４０は、認証結果を表示部４２等によりユーザに出力する。これにより、ユーザは入力したＯＴＰの認証結果、または、同期復旧が成功したか否かを知ることができる。
【０１０８】
次に、ステップＳ８０２のＯＴＰ生成処理の詳細について図１０を用いて説明する。図１０は、本実施の形態におけるＯＴＰ生成処理の全体の流れを示すフローチャートである。
【０１０９】
まず、パスワード生成部３０４は、鍵情報記憶部３２１から鍵情報を取得するとともに、カウンタ記憶部３２２から現在のカウンタを取得する（ステップＳ１００１）。次に、パスワード生成部３０４は、取得したカウンタをＲＡＭ３３などの一時記憶部に保存する（ステップＳ１００２）。
【０１１０】
次に、パスワード生成部３０４は、カウンタをインクリメント（１を加算）してカウンタ記憶部３２２のカウンタを更新する（ステップＳ１００３）。そして、パスワード生成部３０４は、取得した鍵情報と、一時記憶部に保存したカウンタとを用いてＯＴＰを生成する（ステップＳ１００４）。
【０１１１】
なお、ＯＴＰを生成する前にカウンタ記憶部３２２のカウンタを更新しているのは、ＯＴＰを生成した直後にＯＴＰ生成装置（パスワード表示装置２０）の電源を落とすことにより、何度も同じＯＴＰを生成されない用にするためである。
【０１１２】
最後に、パスワード生成部３０４は、生成したＯＴＰを通信Ｉ／Ｆ３１を介してパスワード表示装置２０に出力し（ステップＳ１００５）、ＯＴＰ生成処理を終了する。
【０１１３】
このように、本実施の形態にかかる認証装置は、ＯＴＰの認証処理が連続して所定回数失敗した場合に更新カウンタを生成し、更新カウンタを暗号化したチャレンジをユーザの端末装置に送信する。一方、本実施の形態にかかるパスワード生成装置（ＩＣカード）は、端末装置に送信されたチャレンジをもとにユーザが入力したチャレンジから更新カウンタを復号し、更新カウンタからＯＴＰを生成する。生成したＯＴＰが認証された場合、認証装置は更新カウンタで現在のカウンタを更新し、パスワード生成装置とのカウンタの同期を復旧することができる。このような構成により、トークンの再発行等のような高コストの対応を回避するためにカウンタの許容範囲を広げる必要がないため、セキュリティ強度の低下を抑止することが可能となる。
【０１１４】
（変形例）
上記実施の形態では、パスワード表示装置に差し込むことにより動作するＩＣカードとしてパスワード生成装置を実現した例について説明した。パスワード生成装置の構成はこれに限られず、パスワード表示装置の機能とＩＣカードの機能とを共に備えた装置として実現することもできる。
【０１１５】
図１１は、このように構成したパスワード生成装置６０を含む、本変形例にかかる認証システム２のネットワーク構成の一例を示す図である。同図に示すように、認証システム２は、認証装置１０と、パスワード生成装置６０と、端末装置４０と、を含んでいる。
【０１１６】
認証装置１０、端末装置４０、およびネットワーク５０の構成および機能は、上記実施の形態の認証システム１の構成例を示す図１と同様であるので、同一符号を付し、ここでの説明は省略する。
【０１１７】
パスワード生成装置６０は、制御部６０１と、表示部２４と、操作ボタン２５と、鍵情報記憶部３２１と、カウンタ記憶部３２２と、モード受付部３０１と、チャレンジ受付部３０２と、復号部３０３と、パスワード生成部３０４と、カウンタ更新部３０５と、を備えている。
【０１１８】
このように、本変形例のパスワード生成装置６０では、上記実施の形態のパスワード表示装置２０とＩＣカード３０とが統合され、パスワード表示装置２０に含まれていたＲ／Ｗ２６と、ＩＣカード３０に含まれていた通信Ｉ／Ｆ３１とが削除されている。また、制御部６０１の機能が変更されている。その他の構成および機能は、図１と同様であるので、同一符号を付し、ここでの説明は省略する。
【０１１９】
制御部６０１は、ＯＴＰ生成処理全体を制御する。例えば、制御部６０１は、パスワード生成装置６０の電源が投入されたときに、ＯＴＰ生成処理を開始する。また、制御部６０１は、生成されたＯＴＰを表示部２４に表示する処理を制御する。
【０１２０】
なお、本変形例にかかる認証システム２による認証処理は、ＩＣカード３０で実行する処理を、パスワード生成装置６０が実行する点が上記実施の形態の認証システム１と異なるのみであり、全体の流れは図８と同様であるため、ここでの説明は省略する。
【０１２１】
このように、本変形例にかかる認証装置では、パスワード表示装置とＩＣカードとが一体化された装置としてパスワード生成装置が実現された場合であっても、上記実施の形態と同様の機能を実現することができる。
【０１２２】
本実施の形態にかかる認証装置で実行される認証プログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ（Compact Disk Read Only Memory）、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ（Compact Disk Recordable）、ＤＶＤ（Digital Versatile Disk）等のコンピュータで読み取り可能な記録媒体に記録されて提供される。
【０１２３】
また、本実施の形態にかかる認証装置で実行される認証プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、本実施の形態にかかる認証装置で実行される認証プログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
【０１２４】
また、本実施の形態の認証プログラムを、ＲＯＭ等に予め組み込んで提供するように構成してもよい。
【０１２５】
なお、本実施の形態にかかる認証装置で実行される認証プログラムは、上述した各部（送受信部、パスワード生成部、パスワード認証部、判断部、チャレンジ生成部、カウンタ更新部）を含むモジュール構成となっており、実際のハードウェアとしてはＣＰＵ１１（プロセッサ）が上記記憶媒体から認証プログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、上述した各部が主記憶装置上に生成されるようになっている。
【０１２６】
また、本実施の形態にかかるパスワード生成装置で実行されるパスワード生成プログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ（Compact Disk Read Only Memory）、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ（Compact Disk Recordable）、ＤＶＤ（Digital Versatile Disk）等のコンピュータで読み取り可能な記録媒体に記録されて提供される。
【０１２７】
また、本実施の形態にかかるパスワード生成装置で実行されるパスワード生成プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、本実施の形態にかかるパスワード生成装置で実行されるパスワード生成プログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
【０１２８】
また、本実施の形態のパスワード生成プログラムを、ＲＯＭ等に予め組み込んで提供するように構成してもよい。なお、本実施の形態にかかるパスワード生成装置で実行されるパスワード生成プログラムは、上述した各部（モード受付部、チャレンジ受付部、復号部、パスワード生成部、カウンタ更新部）を含むモジュール構成となっており、実際のハードウェアとしてはＣＰＵ３２（プロセッサ）が上記記憶媒体から認証プログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、上述した各部が主記憶装置上に生成されるようになっている。
【産業上の利用可能性】
【０１２９】
以上のように、本発明にかかる認証装置、認証プログラム、認証システム、パスワード生成装置、携帯型セキュリティデバイス、およびパスワード生成プログラムは、カウンタ同期方式による認証を実行する認証装置、認証プログラム、認証システム、パスワード生成装置、携帯型セキュリティデバイス、およびパスワード生成プログラムに適している。
【図面の簡単な説明】
【０１３０】
【図１】本実施の形態にかかる認証システムのネットワーク構成の一例を示す図である。
【図２】ＯＴＰの生成方法の一例を説明するための模式図である。
【図３】ＯＴＰの検証方法の一例を説明するための模式図である。
【図４】認証装置のハードウェア構成の一例を示す図である。
【図５】パスワード生成装置のハードウェア構成の一例を示す図である。
【図６】ＩＣカードのハードウェア構成の一例を示す図である。
【図７】本実施の形態にかかる認証システムの各装置の機能構成の一例を示すブロック図である。
【図８】本実施の形態における認証処理の全体の流れを示すフローチャートである。
【図９】チャレンジ生成部によるチャレンジ生成処理の概要を示す図である。
【図１０】本実施の形態におけるＯＴＰ生成処理の全体の流れを示すフローチャートである。
【図１１】変形例にかかる認証システムのネットワーク構成の一例を示す図である。
【符号の説明】
【０１３１】
１、２  認証システム
１０  認証装置
１１、２１、３２  ＣＰＵ
１２、２２、３４  ＲＯＭ
１３、２３、３３  ＲＡＭ
１４、３１  通信Ｉ／Ｆ
１５、２７  バス
２４  表示部
２５  操作ボタン
２６  Ｒ／Ｗ
３５  ＥＥＰＲＯＭ
２０  パスワード表示装置
３０  ＩＣカード
４０  端末装置
４１  入力部
４２  表示部
４３  アプリケーション部
４４  送受信部
５０  ネットワーク
６０  パスワード生成装置
１０１  送受信部
１０２  パスワード生成部
１０３  パスワード認証部
１０４  判断部
１０５  チャレンジ生成部
１０６  カウンタ更新部
１２１  カウンタ記憶部
１２２  鍵情報記憶部
２０１  制御部
３０１  モード受付部
３０２  チャレンジ受付部
３０３  復号部
３０４  パスワード生成部
３０５  カウンタ更新部
３２１  鍵情報記憶部
３２２  カウンタ記憶部
４０１  カウンタ
６０１  制御部
【図１】
2010244191.tif 000003
【図２】
2010244191.tif 000004
【図３】
2010244191.tif 000005
【図４】
2010244191.tif 000006
【図５】
2010244191.tif 000007
【図６】
2010244191.tif 000008
【図７】
2010244191.tif 000009
【図８】
2010244191.tif 000010
【図９】
2010244191.tif 000011
【図１０】
2010244191.tif 000012
【図１１】
2010244191.tif 000013