(57)【要約】【課題】ＩＣカードを用いて時刻同期方式のＯＴＰを生成し、生成したＯＴＰを認証する方法を提供する。【解決手段】リーダ時計を内蔵したリーダライタ１は、ＯＴＰを生成するときのリーダライタ１の時刻を含むＯＴＰ生成コマンドをＩＣカード２に送信し、ＩＣカード２は一定の手順でＯＴＰを生成する。ＩＣカード２を用いて生成されたＯＴＰはクライアント３に入力され、認証サーバ５は、クライアント３から送信されたユーザ６のＯＴＰを認証する。なお、認証サーバ５は、ユーザ６のＯＴＰが生成されたときのリーダ時計の時刻を割出し、認証サーバ５に内蔵されたサーバ時計のとの時刻ズレを修正するための時刻同期メッセージを生成し、リーダライタ１は入力された時刻同期メッセージに従いリーダ時計の時刻を修正する。【選択図】図１
2008234096.tif 000002
【特許請求の範囲】
【請求項１】
独立して動作する時計を内蔵したインターフェースデバイスと、前記インターフェースデバイスから送信される時刻を一定の手順に従い演算することで、時刻同期方式のワンタイムパスワード（OTP: One Time Password）を生成するＯＴＰ生成コマンドを備えたＩＣカードとを用いて、前記ＯＴＰを生成する方法であって、
前記インターフェースデバイスと前記ＩＣカードとを電気的に結合させた状態で、前記インターフェースデバイスから前記ＩＣカードに、前記ＯＴＰの生成指示を受けたときの前記時計の時刻を含む前記ＯＴＰ生成コマンドのコマンドメッセージを送信し、前記ＩＣカードの前記ＯＴＰ生成コマンドを用いて、前記インターフェースデバイスから送信された前記時計の時刻に基づく前記ＯＴＰを生成することを特徴とする方法。
【請求項２】
請求項１に記載の方法であって、前記ＩＣカードは、前記インターフェースデバイスから送信されるＰＩＮを照合するためのＰＩＮ照合コマンドを備え、前記方法は、
前記ＩＣカードは、前記インターフェースデバイから送信された前記ＰＩＮ認証コマンドのコマンドメッセージに含まれる前記ＰＩＮを照合し、前記ＰＩＮの照合に成功したときのみ、前記ＯＴＰ生成コマンドの実行を許可することを特徴とする方法。
【請求項３】
時刻同期方式のワンタイムパスワード（OTP: One Time Password）を生成・認証する方法であって、
前記ＯＴＰを生成するときに利用する第１の時計を内蔵したインターフェースデバイスが、前記インターフェースデバイスから送信される時刻を一定の手順に従い演算することで前記ＯＴＰを生成するＯＴＰ生成コマンドを備えたＩＣカードに対し、前記ＯＴＰを生成するときの前記第１時計の時刻（生成時刻）を含む前記ＯＴＰ生成コマンドのコマンドメッセージを送信し、前記ＩＣカードの前記ＯＴＰ生成コマンドが生成した前記ＯＴＰを前記ＩＣカードから取得するＯＴＰ生成工程と、
第２の時計を備えた認証サーバが、前記ＩＣカードを所持するユーザから前記ＯＴＰ生成工程で生成された前記ＯＴＰを取得し、前記ユーザの前記ＯＴＰを認証するときの第２の時計の時刻（認証時刻）を基準とした許容範囲内の時刻で生成される前記ＯＴＰを前記ＩＣカードと同じ手順で生成し、前記ユーザの前記ＯＴＰを認証するＯＴＰ認証工程と、
を含むことを特徴とする方法。
【請求項４】
請求項３に記載の方法において、前記ＩＣカードは、前記インターフェースデバイスから送信されるＰＩＮを照合するためのＰＩＮ照合コマンドを備え、前記方法は、
前記インターフェースデバイスは、前記インターフェースデバイスに入力された前記ＰＩＮを含む前記ＰＩＮ認証コマンドのコマンドメッセージを前記ＩＣカードに送信し、前記ＩＣカードが、前記インターフェースデバイスから送信された前記ＰＩＮを照合するＰＩＮ照合工程を含み、
前記ＰＩＮ照合工程で前記ＰＩＮの照合に成功したときのみ、前記ＯＴＰ生成工程が実行されることを特徴とする方法。
【請求項５】
請求項３または請求項４に記載の方法であって、前記ＯＴＰ認証工程において、前記認証サーバは、前記ＯＴＰを認証するときに、
前記ユーザの前記ＯＴＰが生成された前記生成時刻を割出し、前記生成時刻と前記認証時刻との時刻ズレを修正するための時刻同期メッセージを生成した後、前記時刻同期メッセージに含まれる修正時刻を少なくとも暗号化する時刻同期メッセージ作成工程と、
前記時刻同期メッセージ作成工程で生成された前記時刻同期メッセージが前記インターフェースデバイスに入力され、前記インターフェースデバイスが前記ＩＣカードを用いて前記時刻同期メッセージに含まれる修正時刻を復号し、復号した修正時刻に従い前記第１の時計の時刻を修正する時刻修正工程と、
が順に実行されることを特徴とする方法。
【請求項６】
請求項５に記載の方法であって、前記認証サーバは、前記ＩＣカードと同じ手順で前記ＯＴＰを生成し、前記ユーザの前記ＯＴＰと一致する前記ＯＴＰが生成される前記第２の時の時刻を前記生成時刻として割出すことを特徴とする方法。
【請求項７】
請求項５に記載の方法であって、前記ＯＴＰ生成工程において、前記ＩＣカードの前記ＯＴＰ生成コマンドは、前記インターフェースデバイスから送信された前記生成時刻を可逆性のアルゴリズムで暗号化して前記ユーザの前記ＯＴＰに含ませ、前記時刻同期メッセージ作成工程において、前記認証サーバは、前記ユーザの前記ＯＴＰに含まれる前記生成時刻を復号し前記生成時刻を割出すことを特徴とする方法。
【請求項８】
時刻同期方式のワンタイムパスワード（OTP: One Time Password）を生成するためのＩＣカードシステムであって、独立して動作する時計を内蔵したインターフェースデバイスと、前記インターフェースデバイスと組合されて利用されるＩＣカードとから、少なくとも構成され、
前記ＩＣカードは、前記インターフェースデバイスから送信される時刻を一定の手順に従い演算することで前記ＯＴＰを生成するＯＴＰ生成コマンドを備え、
前記インターフェースデバイスは、前記ＩＣカードとを電気的に結合しデータ通信するインターフェース手段と、前記ＯＴＰの生成指示を受けたとき、前記時計の時刻を含む前記ＯＴＰ生成コマンドのコマンドメッセージを前記ＩＣカードに送信し、前記ＩＣカードに前記ＯＴＰを生成させるＯＴＰ生成手段とを備えていることを特徴とするＩＣカードシステム。
【請求項９】
請求項８に記載のＩＣカードシステムであって、前記ＩＣカードは、前記インターフェースデバイスから送信されるＰＩＮを照合するためのＰＩＮ照合コマンドを備え、前記インターフェースデバイスから送信された前記ＰＩＮの照合に成功したときのみ、前記ＯＴＰ生成コマンドの実行を許可し、前記インターフェースデバイスは、前記ＰＩＮが入力されるＰＩＮ入力手段と、前記ＰＩＮを含む前記ＰＩＮ認証コマンドのコマンドメッセージを前記ＩＣカードに送信するＰＩＮ照合手段とを備えていることを特徴とするＩＣカードシステム。
【請求項１０】
外部装置から送信される時刻を一定の手順に従い演算することで、時刻同期方式のワンタイムパスワード（OTP: One Time Password）を生成するＯＴＰ生成コマンドを備えたＩＣカードと組み合わされて利用されるインターフェースデバイスであって、
前記インターフェースデバイスは、前記ＯＴＰを生成するときに利用する時計と、前記時計の時刻を取得し、取得した時刻を含む前記ＯＴＰ生成コマンドのコマンドメッセージを前記ＩＣカードに送信するＯＴＰ生成手段をと備えた前記インターフェースデバイス。
【請求項１１】
請求項１０に記載のインターフェースデバイスであって、前記インターフェースデバイスは、前記時計の時刻を修正するための時刻同期メッセージが入力されたとき、前記時刻同期メッセージで示される修正時刻に従い、前記時計の時刻を修正する時刻修正手段と、前記時刻同期メッセージが入力されるメッセージ入力手段とを備えていることを特徴とするインターフェースデバイス。
【請求項１２】
請求項１１に記載のインターフェースデバイスであって、前記ＩＣカードは、暗号文を復号する復号コマンドを備え、前記時刻同期メッセージには、前記ＩＣカードで復号可能な状態で前記修正時刻が含まれ、前記インターフェースデバイスの前記時刻修正手段は、前記ＩＣカードを用いて、前記時刻同期メッセージに含まれる前記修正時刻を復号し、復号した前記修正時刻に従い、前記時計の時刻を修正することを特徴とするインターフェースデバイス。
【請求項１３】
請求項１０から請求項１２のいずれか一つに記載のインターフェースデバイスであって、前記ＩＣカードは、前記インターフェースデバイスから送信されるＰＩＮを照合するためのＰＩＮ照合コマンドを備え、前記インターフェースデバイスは、前記ＰＩＮが入力されるＰＩＮ入力手段と、前記ＰＩＮを含む前記ＰＩＮ認証コマンドのコマンドメッセージを前記ＩＣカードに送信するＰＩＮ照合手段とを備え、前記ＩＣカードから前記ＰＩＮの照合に成功したことを示すレスポンスを受信したときのみ、前記ＯＴＰ生成手段および前記時刻修正手段の作動を許可することを特徴とするインターフェースデバイス。
【請求項１４】
時刻同期方式のワンタイムパスワード（OTP: One Time Password）を生成するときに利用されるＩＣカードであって、前記ＩＣカードを装着するインターフェースデバイスから送信される時刻を一定の手順に従い演算することで前記ＯＴＰを生成し、生成した前記ＯＴＰを前記インターフェースデバイスに返信するＯＴＰ生成コマンドを備えたことを特徴とするＩＣカード。
【請求項１５】
請求項１４に記載のＩＣカードであって、前記インターフェースデバイスから送信されるＰＩＮを照合するＰＩＮ照合コマンドを備え、前記ＰＩＮの照合に成功したときのみ、前記ＯＴＰ生成コマンドの実行を許可することを特徴とするＩＣカード。
【請求項１６】
請求項１４または請求項１５に記載のＩＣカードであって、前記ＩＣカードに備えられた前記ＯＴＰ生成コマンドは、前記インターフェースデバイスから送信された時刻を可逆性のアルゴリズムで暗号化し、生成する前記ＯＴＰに含ませることを特徴とするＩＣカード。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、時刻同期方式のワンタイムパスワードを用いたユーザ認証の技術分野に属する。
【背景技術】
【０００２】
フィッシング詐欺やスパイウェア対策として、ネットバンキングなどの用途で二要素認証が注目を集めている。二要素認証とは、異なる性質を持つ二つの認証要素を組み合せてユーザを認証する方式である。
【０００３】
二要素認証でユーザを認証するときは、「自分だけが知っている（know）」に係る認証要素であるＰＩＮ（Personal Identification Number）などのパスワードと、「自分だけが知っている（know）」に係る認証要素以外の認証要素を用いてユーザ認証することが一般的である。
【０００４】
「自分だけが知っている（know）」以外の認証要素としては、「自分自身（is）」に係る認証要素であるバイオメトリクス情報（例えば、指紋）を用いる場合もあるが、バイオメトリクス情報に対してユーザは強い抵抗感をもつため、「自分だけが持っている（has）」に係る認証要素であるワンタイムパスワード（OTP: One Time Password）を利用するケースが増えている。
【０００５】
時刻同期方式のＯＴＰを用いてユーザ認証するとき、特許文献１で記載されているように、ユーザは、内蔵された時計の時刻をパラメータとしてＯＴＰを生成する機能を備えたトークン（特許文献１では携帯電話）を所持し、ユーザは、このトークンによって生成されたＯＴＰをパーソナルコンピュータに入力するなどしてサーバに送信し、サーバはユーザから取得したＯＴＰを認証する。
【０００６】
しかし、上述した時刻同期方式のＯＴＰを用いたユーザ認証においては、以下に述べるように、解決すべき問題がある。
【０００７】
一つ目の問題は、認証用のトークンとして広く普及しているＩＣカードを、時刻同期方式のトークンとして利用できないことである。ＩＣカードは、カウンタ同期方式のＯＴＰを生成するときに利用するカウンタを電気的に書換え可能な不揮発性メモリに記憶できるが、ＩＣカード自体は電源を有さず時計を内蔵させることが不可能であるため、ＩＣカードを時刻同期方式のトークンとして利用することはできなかった。
【０００８】
また、二つ目の問題は、トークンとサーバ間の時刻同期のズレが生じるたときに、サーバ側がトークン内で生成された時刻同期方式のＯＴＰを認証できなくなってしまうことである。
【０００９】
時刻同期方式のＯＴＰを用いたユーザ認証においては、トークンとサーバ間の時刻同期のズレがなければユーザ認証に支障は生じないが、実際は、トークンの時計とサーバの時計の間に時刻ズレが生じてしまう。そこで、サーバがＯＴＰを認証するときは、ユーザ認証するときの時刻を基準とした前後数分間の許容範囲を設け、ユーザから取得したＯＴＰが、この許容範囲内で生成されるＯＴＰのいずれかと一致するか確認している。
【００１０】
しかし、トークンとサーバ間の時刻同期のズレが大きくなると、許容範囲内で生成されるＯＴＰのいずれともユーザから取得したＯＴＰは一致することはなく、正当なユーザであるにも関わらずユーザ認証に失敗するため、時刻同期方式のＯＴＰを用いたユーザ認証においては、トークンの時刻をサーバの時刻に合わせることが必要となる。
【００１１】
時刻を調整する機構をトークンに設けることで、トークンとサーバの時刻を合わせることは容易に実現できるが、ユーザ自身がトークンの時計の時刻を任意に合わせることが可能であると、ユーザがトークンの時計の時刻を故意的に進めることで、ユーザは将来のＯＴＰを知り得ることができ、セキュリティ的に好ましくない。
【００１２】
また、特許文献２で開示されているように、標準時刻をのせている標準電波を受信する機能をトークンに備えさせることも考えられるが、トークン自体に標準電波を受信する特別な装置が必要になってしまうし、何よりも、時刻同期方式においては、トークンの内部時計とサーバの内部時計を同期させることが重要であるが、特許文献２の発明は、トークンの時計をサーバの時計に合わせるための発明ではない。
【特許文献１】特開２００２−２５９３４４号公報
【特許文献２】特開２００５−５０２９２号公報
【発明の開示】
【発明が解決しようとする課題】
【００１３】
そこで本発明は、キャッシュカードや社員証などの用途で幅広く利用されているＩＣカードを用いて時刻同期方式のＯＴＰを生成し、生成したＯＴＰを認証するための技術を提供することで、ＩＣカードを所持するユーザの利便性を高め、更に、ＩＣカードを用いて時刻同期方式のＯＴＰを生成する側で生じる時刻同期ズレを速やかに修正する技術を提供することで、安全な時刻同期の仕組みを提供する。
【課題を解決するための手段】
【００１４】
上述した課題を解決する第１の発明は、独立して動作する時計を内蔵したインターフェースデバイスと、前記インターフェースデバイスから送信される時刻を一定の手順に従い演算することで、時刻同期方式のワンタイムパスワード（OTP: One Time Password）を生成するＯＴＰ生成コマンドを備えたＩＣカードとを用いて、前記ＯＴＰを生成する方法であって、前記インターフェースデバイスと前記ＩＣカードとを電気的に結合させた状態で、前記インターフェースデバイスから前記ＩＣカードに、前記ＯＴＰの生成指示を受けたときの前記時計の時刻を含む前記ＯＴＰ生成コマンドのコマンドメッセージを送信し、前記ＩＣカードの前記ＯＴＰ生成コマンドを用いて、前記インターフェースデバイスから送信された前記時計の時刻に基づく前記ＯＴＰを生成することを特徴とする方法である。
【００１５】
上述した第１の発明によれば、前記ＩＣカードと前記インターフェースデバイスを組み合せることで、一般的に利用されている時刻同期方式のトークンの機能を実現することができようになる。
【００１６】
なお、ここで前記インターフェースデバイスとは、前記ＩＣカードが装着され、前記ＩＣカードと電気的に結合しデータ通信する機器を意味し、前記インターフェースデバイスとしてはＩＣカードリーダライタが好適である。
【００１７】
更に、上述した第１の発明によれば、ユーザごとに前記ＩＣカードは異なっていても、ユーザごとに前記インターフェースデバイスを共有化することができるため、この方法を実現するためのコストを抑えることができる。
【００１８】
更に、第２の発明は、第１の発明に記載の方法であって、前記ＩＣカードは、前記インターフェースデバイスから送信されるＰＩＮを照合するためのＰＩＮ照合コマンドを備え、前記方法は、前記ＩＣカードは、前記インターフェースデバイスから送信された前記ＰＩＮ認証コマンドのコマンドメッセージに含まれる前記ＰＩＮを照合し、前記ＰＩＮの照合に成功したときのみ、前記ＯＴＰ生成コマンドの実行を許可することを特徴とする方法である。
【００１９】
上述した第２の発明によれば、前記ＯＴＰを生成するときに前記ＰＩＮの照合を必要とすることで、前記ＯＴＰの不正な使用を防止することができる。
【００２０】
更に、第３の発明は、時刻同期方式のワンタイムパスワード（OTP: One Time Password）を生成・認証する方法であって、前記ＯＴＰを生成するときに利用する第１の時計を内蔵インターフェースデバイスが、前記インターフェースデバイスから送信される時刻を一定の手順に従い演算することで前記ＯＴＰを生成するＯＴＰ生成コマンドを備えたＩＣカードに対し、前記ＯＴＰを生成するときの前記第１時計の時刻（生成時刻）を含む前記ＯＴＰ生成コマンドのコマンドメッセージを送信し、前記ＩＣカードの前記ＯＴＰ生成コマンドが生成した前記ＯＴＰを前記ＩＣカードから取得するＯＴＰ生成工程と、第２の時計を備えた認証サーバが、前記ＩＣカードを所持するユーザから前記ＯＴＰ生成工程で生成された前記ＯＴＰを取得し、前記ユーザの前記ＯＴＰを認証するときの第２の時計の時刻（認証時刻）を基準とした許容範囲内の時刻で生成される前記ＯＴＰを前記ＩＣカードと同じ手順で生成し、前記ユーザの前記ＯＴＰを認証するＯＴＰ認証工程と、を含むことを特徴とする方法である。
【００２１】
更に、第４の発明は、第３の発明に記載の方法において、前記ＩＣカードは、前記インターフェースデバイスから送信されるＰＩＮを照合するためのＰＩＮ照合コマンドを備え、前記方法は、前記インターフェースデバイスは、前記インターフェースデバイスに入力された前記ＰＩＮを含む前記ＰＩＮ認証コマンドのコマンドメッセージを前記ＩＣカードに送信し、前記ＩＣカードが、前記インターフェースデバイスから送信された前記ＰＩＮを照合するＰＩＮ照合工程を含み、前記ＰＩＮ照合工程で前記ＰＩＮの照合に成功したときのみ、前記ＯＴＰ生成工程が実行されることを特徴とする方法である。
【００２２】
第３の発明から第４の発明によれば、上述した第１の発明から第２の発明と同様の効果が得られる。
【００２３】
更に、第５の発明は、第３の発明または第４の発明に記載の方法であって、前記ＯＴＰ認証工程において、前記認証サーバは、前記ＯＴＰを認証するときに、前記ユーザの前記ＯＴＰが生成された前記生成時刻を割出し、前記生成時刻と前記認証時刻との時刻ズレを修正するための時刻同期メッセージを生成した後、前記時刻同期メッセージに含まれる修正時間を少なくとも暗号化する時刻同期メッセージ作成工程と、前記時刻同期メッセージ作成工程で生成された前記時刻同期メッセージが前記インターフェースデバイスに入力され、前記インターフェースデバイスが前記ＩＣカードを用いて前記時刻同期メッセージに含まれる修正時間を復号し、復号した修正時間に従い前記第１の時計の時刻を修正する時刻修正工程と、が順に実行されることを特徴とする方法である。
【００２４】
上述した第５の発明によれば、前記認証サーバが、取得した前記ＯＴＰが生成された時刻である生成時刻を割出し、前記インターフェースデバイスに備えられた前記第１の時計の時刻を修正するための前記時刻修正メッセージを生成し、前記時刻修正メッセージを用いて前記インターフェースデバイスの時刻を修正することで、前記インターフェースデバイスの時刻を前記認証サーバの時刻に合わせることができる。
【００２５】
更に、前記認証サーバが生成するとき、前記時刻修正メッセージに含まれる前記修正時間を暗号化することで、前記ユーザは前記時刻修正メッセージを改竄することはできなくなるため、安全な時刻同期の仕組みを提供することでできる。
【００２６】
更に、第６の発明は、第５の発明に記載の方法であって、前記認証サーバは、前記ＩＣカードと同じ手順で前記ＯＴＰを生成し、前記ユーザの前記ＯＴＰと一致する前記ＯＴＰが生成される前記第２の時の時刻を前記生成時刻として割出すことを特徴とする方法である。
【００２７】
更に、第７の発明は、第５の発明に記載の方法であって、前記ＯＴＰ生成工程において、前記ＩＣカードの前記ＯＴＰ生成コマンドは、前記インターフェースデバイスから送信された前記生成時刻を可逆性のアルゴリズムで暗号化して前記ユーザの前記ＯＴＰに含ませ、前記時刻同期メッセージ作成工程において、前記認証サーバは、前記ユーザの前記ＯＴＰに含まれる前記生成時刻を復号し前記生成時刻を割出すことを特徴とする方法である。
【００２８】
上述した第５の発明において、前記認証サーバが前記生成時刻を割出す方式は、第６の発明または第７の発明に記述した方式で実現できる。
【００２９】
更に、第８の発明は、時刻同期方式のワンタイムパスワード（OTP: One Time Password）を生成するためのＩＣカードシステムであって、独立して動作する時計を内蔵したインターフェースデバイスと、前記インターフェースデバイスと組合されて利用されるＩＣカードとから、少なくとも構成され、前記ＩＣカードは、前記インターフェースデバイスから送信される時刻を一定の手順に従い演算することで前記ＯＴＰを生成するＯＴＰ生成コマンドを備え、前記インターフェースデバイスは、前記ＩＣカードとを電気的に結合しデータ通信するインターフェース手段と、前記ＯＴＰの生成指示を受けたとき、前記時計の時刻を含む前記ＯＴＰ生成コマンドのコマンドメッセージを前記ＩＣカードに送信し、前記ＩＣカードに前記ＯＴＰを生成させるＯＴＰ生成手段とを備えていることを特徴とするＩＣカードシステムである。
【００３０】
更に、第９の発明は、第８の発明に記載のＩＣカードシステムであって、前記ＩＣカードは、前記インターフェースデバイスから送信されるＰＩＮを照合するためのＰＩＮ照合コマンドを備え、前記インターフェースデバイスから送信された前記ＰＩＮの照合に成功したときのみ、前記ＯＴＰ生成コマンドの実行を許可し、前記インターフェースデバイスは、前記ＰＩＮが入力されるＰＩＮ入力手段と、前記ＰＩＮを含む前記ＰＩＮ認証コマンドのコマンドメッセージを前記ＩＣカードに送信するＰＩＮ照合手段とを備えていることを特徴とするＩＣカードシステムである。
【００３１】
第８の発明から第９の発明によれば、上述した第１の発明から第２の発明と同様の効果が得られる。
【００３２】
更に、第１０の発明は、外部装置から送信される時刻を一定の手順に従い演算することで、時刻同期方式のワンタイムパスワード（OTP: One Time Password）を生成するＯＴＰ生成コマンドを備えたＩＣカードと組み合わされて利用されるインターフェースデバイスであって、前記インターフェースデバイスは、前記ＯＴＰを生成するときに利用する時計と、前記時計の時刻を取得し、取得した時刻を含む前記ＯＴＰ生成コマンドのコマンドメッセージを前記ＩＣカードに送信するＯＴＰ生成手段をと備えた前記インターフェースデバイスである。
【００３３】
更に、第１１の発明は、第１０の発明に記載のインターフェースデバイスであって、前記インターフェースデバイスは、前記時計の時刻を修正するための時刻同期メッセージが入力されたとき、前記時刻同期メッセージで示される修正時間に従い、前記時計の時刻を修正する時刻修正手段と、前記時刻同期メッセージが入力されるメッセージ入力手段とを備えていることを特徴とするインターフェースデバイスである。
【００３４】
更に、第１２の発明は、第１１の発明に記載のインターフェースデバイスであって、前記ＩＣカードは、暗号文を復号する復号コマンドを備え、前記時刻同期メッセージには、前記ＩＣカードで復号可能な状態で前記修正時間が含まれ、前記インターフェースデバイスの前記時刻修正手段は、前記ＩＣカードを用いて、前記時刻同期メッセージに含まれる前記修正時間を復号し、復号した前記修正時間に従い、前記時計の時刻を修正することを特徴とするインターフェースデバイスである。
【００３５】
更に、第１３の発明は、第１０の発明から第１２の発明のいずれか一つに記載のインターフェースデバイスであって、前記ＩＣカードは、前記インターフェースデバイスから送信されるＰＩＮを照合するためのＰＩＮ照合コマンドを備え、前記インターフェースデバイスは、前記ＰＩＮが入力されるＰＩＮ入力手段と、前記ＰＩＮを含む前記ＰＩＮ認証コマンドのコマンドメッセージを前記ＩＣカードに送信するＰＩＮ照合手段とを備え、前記ＩＣカードから前記ＰＩＮの照合に成功したことを示すレスポンスを受信したときのみ、前記ＯＴＰ生成手段および前記時刻修正手段の作動を許可することを特徴とするインターフェースデバイスである。
【００３６】
更に、第１４の発明は、時刻同期方式のワンタイムパスワード（OTP: One Time Password）を生成するときに利用されるＩＣカードであって、前記ＩＣカードを装着するインターフェースデバイスから送信される時刻を一定の手順に従い演算することで前記ＯＴＰを生成し、生成した前記ＯＴＰを前記インターフェースデバイスに返信するＯＴＰ生成コマンドを備えたことを特徴とするＩＣカードである。
【００３７】
更に、第１５の発明は、第１４の発明に記載のＩＣカードであって、前記インターフェースデバイスから送信されるＰＩＮを照合するＰＩＮ照合コマンドを備え、前記ＰＩＮの照合に成功したときのみ、前記ＯＴＰ生成コマンドの実行を許可することを特徴とするＩＣカードである。
【００３８】
更に、第１６の発明は、第１４の発明または第１５の発明に記載のＩＣカードであって、前記ＩＣカードに備えられた前記ＯＴＰ生成コマンドは、前記インターフェースデバイスから送信された時刻を可逆性のアルゴリズムで暗号化し、生成する前記ＯＴＰに含ませることを特徴とするＩＣカードである。
【００３９】
また、第１０の発明から第１３の発明は、本発明に係わる方法を実現するために必要な前記インターフェースデバイスで、第１４の発明から第１６の発明は、本発明に係わる方法を実現するために必要な前記ＩＣカードである。
【発明の効果】
【００４０】
上述した本発明によれば、キャッシュカードや社員証などの用途で幅広く利用されているＩＣカードを用いて時刻同期方式のＯＴＰを生成し、生成したＯＴＰを認証するための技術を提供でき、ＩＣカードを所持するユーザの利便性を高め、更に、ＩＣカードを用いて時刻同期方式のＯＴＰを生成する側で生じる時刻同期ズレを速やかに修正する技術を提供することで、安全な時刻同期の仕組みを提供できる。
【発明を実施するための最良の形態】
【００４１】
ここから、本発明について図を参照しながら詳細に説明する。図１は、時刻同期方式のワンタイムパスワード（OTP: One Time Password）を用いてユーザ認証するシステムを説明する図である。
【００４２】
図１において、ユーザ６は、ＩＣカード２と、ＩＣカード２を利用するインターフェースデバイスであるリーダライタ１とを所持し、ユーザ６が操作するクライアント３と認証サーバ５はネットワーク４を介して接続され、認証サーバ５は、クライアント３から送信される時刻同期方式のＯＴＰを認証する機能を有している。
【００４３】
一般的に時刻同期方式のＯＴＰは、時計を内蔵する携帯電話などのトークン内部において、ＯＴＰを生成するときの時刻を暗号化することで生成されるが、本発明において、ＯＴＰを生成するときに利用される時計はリーダライタ１に内蔵され、リーダライタ１の時計（以下、リーダ時計）の時刻を暗号化しＯＴＰを生成する機能はＩＣカード２に備えられている。
【００４４】
認証サーバ５がユーザ６にサービスを供与するためにユーザ認証するとき、ユーザ６は、ＩＣカード２をリーダライタ１に装着してユーザ６のＯＴＰを生成し、生成したユーザ６のＯＴＰをクライアント３に入力する。
【００４５】
ユーザ６がクライアント３に入力したユーザ６のＯＴＰは、ネットワークを経由して認証サーバ５に送信される。認証サーバ５は時計（以下、サーバ時計）を備え、クライアント３から送信されたＯＴＰを認証するときの時刻からＯＴＰを生成し、クライアント３から送信されたユーザ６のＯＴＰを認証する。
【００４６】
時刻同期方式のＯＴＰを用いてユーザ認証するとき、サーバ時計とリーダ時計の時刻は同期していなければならないが、実際は、サーバ時計とリーダ時計間の同期時刻のズレが生じてしまい、サーバ時計の時刻にリーダ時計の時刻を合わせることが必要となる。
【００４７】
リーダ時計の時刻をサーバ時計の時刻に合わせるために、図１で図示した認証サーバ５には、リーダライタ１がＯＴＰを生成したときのリーダ時計の時刻である生成時刻を割出し、ＯＴＰを認証するときのサーバ時計の時刻である認証時刻と生成時刻の時刻ズレを算出し、リーダ時計の時刻を修正するためのメッセージ（以下、時刻同期メッセージ）を生成する機能を有し、リーダライタ１は、この時刻同期メッセージに従いリーダ時計の時刻を修正する機能を有している。
【００４８】
まず、ユーザ６が所持するＩＣカード２について説明する。図２は、ＩＣカード２の外観図で、図３はＩＣカード２のブロック図である。
【００４９】
ＩＣカード２は、キャッシュカードサイズのカード媒体にＩＣチップが実装されたカードで、図示はしていなが、ＩＣカード２に実装されるＩＣチップには、中央演算装置（Central Processing Unit、以下ＣＰＵと記す）、読み出し専用メモリ（Read Only Memory、以下ROMと記す）、書換え可能なメモリとしてＥＥＰＲＯＭ（Electrically Erasable Programmable Read-Only Memoryの略）、揮発性メモリとしてランダムアクセスメモリ（Random Access Memory、以下、ＲＡＭと記す）、更に、リーダライタ１とデータ通信するための通信インターフェースなどを備えている。
【００５０】
なお、図２においては、ＩＣカード２を接触ＩＣカードとして図示しているが、本発明は何らＩＣカード２の通信方式に依存するものではなく、無線でデータ通信する非接触ＩＣカード、または、接触データ通信と非接触データ通信の２つの通信機能を備えたデュアルインターフェースＩＣカードであってもよい。加えて、ＩＣカード２は、ＩＣチップの近辺を短冊状に切り取った形状をしているＳＩＭ（Subscriber Identity Module）であってもよい。
【００５１】
図３に示したように、ＩＣカード２には、本発明を実現するために、ＩＣカード２は、暗号化／復号するときに利用される暗号鍵であるＩＣカード鍵２２を、ＲＯＭまたはＥＥＰＲＯＭに記憶している。
【００５２】
更に、ＩＣカード２は、ＩＣカード鍵２２を用い、リーダライタ１から送信される時刻を非可逆性のアルゴリズム（例えば、ＤＥＳを連鎖させたハッシュ関数）で暗号化することでＯＴＰを生成するＯＴＰ生成コマンド２０と、ＩＣカード鍵２２を用い、リーダライタ１から送信された暗号文を、可逆性の暗号アルゴリズム（例えば、トリプルＤＥＳ）で復号するメッセージ復号コマンド２１とを備えている。
【００５３】
なお、本実施の形態では、ＯＴＰ生成コマンド２０のアルゴリズムがＤＥＳを連鎖させたハッシュ関数で、メッセージ復号コマンド２１のアルゴリズムがトリプルＤＥＳとしているため、ＯＴＰ生成コマンド２０とメッセージ復号コマンド２１で同一の暗号鍵（ここでは、ＩＣカード鍵２２）を利用することができる。当然のことながら、ＯＴＰ生成コマンド２０とメッセージ復号コマンド２１が利用する暗号鍵をそれぞれ異なる暗号鍵としてもよい。
【００５４】
更に、ＩＣカード２は、外部装置（ここでは、リーダライタ１）から送信されるＰＩＮと照合される参照ＰＩＮ２４を記憶し、外部装置（ここでは、リーダライタ１）から送信されるＰＩＮと参照ＰＩＮ２４を照合するＰＩＮ照合コマンド２３を備え、ＩＣカード２には、ＰＩＮの照合に成功した場合のみ、ＯＴＰ生成コマンド２０およびメッセージ復号コマンド２１を実行することができる機能が備えられている。
【００５５】
ＩＣカード２に備えられたＯＴＰ生成コマンド２０、メッセージ復号コマンド２１およびＰＩＮ照合コマンド２３は、ＩＣカード２のＣＰＵを動作させるためのＩＣカードプログラムで実現され、これらのコマンドのプログラムコードは、ＲＯＭまたはＥＥＰＲＯＭに記憶される。
【００５６】
ここから、リーダライタ１について説明する。図４はリーダライタ１の上面図で、図５はリーダライタ１のブロック図である。
【００５７】
図４に図示したように、ユーザ６が所持するリーダライタ１には、ＩＣカード２が挿入される挿入口１８と、ＯＴＰを生成するときにユーザ６が押すＯＴＰボタン１４と、ユーザ６がＰＩＮなどのメッセージを入力するときに利用するテンキー１５と、そして、ＩＣカード２から受信したＯＴＰなどを表示するディスプレイ１６とを備える。
【００５８】
更に、図５に図示したように、リーダライタ１は、上述した要素に加え、リーダ時計１２と、テンキー１５を用いて入力されたＰＩＮを照合するＰＩＮ照合手段１０と、ＩＣカード２を利用して時刻同期方式のＯＴＰを生成する手段であるＯＴＰ生成手段１１と、リーダライタ１に入力された時刻同期メッセージに従いリーダ時計１２の時刻を修正するための時刻修正手段１３と、挿入口１８から挿入されたＩＣカード２と電気的に結合しデータ通信するためのインターフェース手段１７とを備えている。なお、図示しはしていないが、リーダライタ１は電池を内蔵し、リーダライタ１が動作するために必要な電源はこの電池から供給される。
【００５９】
リーダライタ１の挿入口１８からＩＣカード２が挿入され、インターフェース手段１７がＩＣカード２を検出すると、インターフェース手段１７はＩＣカード２を活性化し、リーダライタ１とＩＣカード２間のデータ通信が可能となる。
【００６０】
リーダライタ１が、ＩＣカード２を活性化した後、ユーザ６がＯＴＰボタン１４を押すと、ＰＩＮ照合手段１０が作動し、リーダライタ１はＰＩＮの入力を受け付ける状態になる。テンキー１５によってＰＩＮが入力されると、ＰＩＮ照合手段１０は、入力されたＰＩＮを含むＰＩＮ照合コマンド２３のコマンドメッセージをＩＣカード２に送信し、ＩＣカード２にＰＩＮを照合させる。
【００６１】
ＰＩＮの照合に成功すると、リーダライタ１に備えられたＯＴＰ生成手段１１が作動し、ボタンが押されたときのリーダ時計１２の時刻を含むＯＴＰ生成コマンド２０のコマンドメッセージをＩＣカード２に送信する。
【００６２】
ＩＣカード２は、リーダライタ１からＯＴＰ生成コマンド２０のコマンドメッセージが送信されると、ＩＣカード鍵２２を用い、非可逆性のアルゴリズムでリーダライタ１から送信された時刻を暗号化することでＯＴＰを生成し、生成したＯＴＰをリーダライタ１に返信する。
【００６３】
リーダライタ１のＯＴＰ生成手段１１は、ＩＣカード２から受信したＯＴＰを受信すると、ＩＣカード２から受信したＯＴＰをディスプレイ１６に表示する。
【００６４】
更に、リーダライタ１に備えられた時刻修正手段１３は、テンキー１５の「♯」のボタンが長押しされるなどすると、ＰＩＮ照合手段１０が作動し、上述した内容でＰＩＮの照合に成功すると、認証サーバ５からクライアント３に送信された時刻同期メッセージの入力を受け付ける状態に遷移する。
【００６５】
認証サーバ５からクライアント３に送信される時刻同期メッセージは、後述するように認証サーバ５によって生成され、セキュアにリーダ時計１２の時刻を修正できるように、少なくとも時刻同期メッセージに含まれる修正時間は、ＩＣカード２に記憶されたＩＣカード鍵２２を用いて復号できる形式で暗号化されている。
【００６６】
テンキー１５によって時刻同期メッセージが入力されると、リーダライタ１の時刻修正手段１３が作動し、時刻修正手段１３は、時刻同期メッセージに含まれる修正時間の暗号文を含むメッセージ復号コマンド２１のコマンドメッセージをＩＣカード２に送信することで、時刻同期メッセージに含まれる修正時間を復号し、復号した修正時間に従いリーダ時計１２を修正する。
【００６７】
図１で図示したクライアント３には、ユーザ６が認証サーバ５にアクセスするときに利用されるブラウザがインストールされ、ユーザ６がアクセスする認証サーバ５は、サービスを提供するビジネスロジックの一つの機能として、クライアント３から送信されるＯＴＰを用いて、クライアント３を操作するユーザ６を認証する機能を有する。
【００６８】
図６は認証サーバ５のブロック図で、図６に図示したように、認証サーバ５は、クライアント３から送信されるＯＴＰを認証する機能を実現するために、ＯＴＰ認証手段５０と、ユーザ６が所持するＩＣカード２に記憶されたＩＣカード鍵２２と対になる暗号鍵（以下、サーバ鍵）を記憶したデータベース５１を備え、ＯＴＰ認証手段５０は、認証するユーザ６のユーザＩＤ及びＯＴＰを取得するＯＴＰ取得部５００と、データベース５１を参照してＯＴＰを生成し、ユーザ６から取得したＯＴＰを認証するＯＴＰ認証部５０１と、ＯＴＰを認証するときに利用するサーバ時計５０２とを有している。
【００６９】
更に、認証サーバ５のＯＴＰ認証手段５０は、ユーザ６から取得したＯＴＰを認証した結果、リーダ時計１２の時刻を修正する必要があると判断したとき、リーダ時計１２の時刻の修正をユーザ６に指示する時刻修正指示部５０３を有する。
【００７０】
認証サーバ５のＯＴＰ認証手段５０のＯＴＰ取得部５００、ＯＴＰ認証部５０１および時刻修正指示部５０３は、認証サーバ５のＣＰＵを動作させるコンピュータプログラムで実現され、サーバ時計５０２は一般的なサーバに備えられた時計で実現され、データベース５１はハードディスクなどの情報記憶装置で実現される。
【００７１】
図７は、データベース５１を説明する図である。データベース５１には、ユーザ６ごとに割り振られた識別データであるユーザＩＤに関連付けて、ユーザ６が所持するリーダライタ１に記憶されたＩＣカード鍵２２と対になるサーバ鍵５１０が記憶されている。
【００７２】
認証サーバ５に備えられたＯＴＰ認証手段５０のＯＴＰ取得部５００は、認証サーバ５にアクセスするユーザ６からユーザＩＤとＯＴＰを受け付けるウェブページを有し、このウェブページは、少なくとも、ユーザ６がユーザＩＤを入力するフォームと、ユーザ６がＯＴＰを入力するフォームが含まれる。認証サーバ５にアクセスするユーザ６は、このウェブページに、ユーザ６側で生成したユーザ６のＯＴＰと、ユーザＩＤとを入力する。
【００７３】
ＯＴＰ認証手段５０のＯＴＰ認証部５０１は、ユーザ６のＯＴＰを認証するときに利用するＯＴＰを生成する機能を有し、ＯＴＰ取得部５００が取得したユーザ６のＯＴＰを認証するときに、データベース５１を参照し、ＯＴＰ取得部５００が取得したユーザＩＤに関連付けられているサーバ鍵５１０を取得し、ユーザ６のＯＴＰを認証するときのサーバ時計５０２の時刻（以下、認証時刻）を基準とし前後数分間（例えば、３分間）の許容範囲を設け、許容範囲に含まれる一分単位の時刻それぞれを、取得したサーバ鍵５１０を用いて、ＩＣカード２のＯＴＰ生成コマンド２０と同じアルゴリズムで暗号化することで、許容範囲内の時刻におけるＯＴＰすべてを生成する。
【００７４】
そして、ＯＴＰ認証部５０１は、ユーザ６から取得したＯＴＰが、許容範囲内で生成されるＯＴＰのいずれかと一致するか確認することで、ＯＴＰ取得部５００が取得したユーザ６のＯＴＰを認証する。
【００７５】
時刻修正指示部５０３は、ユーザ６から取得したＯＴＰを認証する際に、リーダライタ１がＯＴＰを生成したときのリーダ時計１２の時刻（以下、生成時刻）を割出し、リーダ時計１２とサーバ時計５０２の時刻ズレを算出し、リーダ時計１２の時刻修正が必要と判断したとき、クライアント３に対して、リーダ時計１２の時刻の修正を指示するための時刻同期メッセージを生成し、生成した時刻同期メッセージをクライアント３に送信する。
【００７６】
なお、時刻修正指示部５０３が生成時刻を割出す方式は様々な方式が考えられるが、例えば、時刻修正指示部５０３は、許容範囲内で生成されるＯＴＰの中で、ユーザ６のＯＴＰと一致するＯＴＰが生成される許容範囲内の時刻を生成時刻として割出すことができる。
【００７７】
図８は、リーダ時計１２とサーバ時計５０２の時刻ズレを、時刻修正指示部５０３が算出する仕組みを説明する図である。図８において、認証時刻は「１２：００」で、ＯＴＰ認証部５０１は、認証時刻を基準とし、前後３分間の許容範囲を設けて、許容範囲内（ここでは、１１：５７〜１２：０３）の１分単位の時刻それぞれを暗号化してＯＴＰを生成し、ＯＴＰ認証部５０１が生成したＯＴＰの中に、ユーザ６のＯＴＰと一致するＯＴＰがあるか確認することで、ユーザ６のＯＴＰを認証する。
【００７８】
例えば、リーダ時計１２がサーバ時刻よりも２分進んでいた場合、ユーザ６のＯＴＰを生成したときのリーダ時計１２の時刻は「１２：０２」になり、クライアント３から認証サーバ５へ送信されるユーザ６のＯＴＰの値は「８９０１２３」になる。
【００７９】
ＯＴＰ認証手段５０のＯＴＰ認証部５０１が、クライアント３から送信されたユーザ６のＯＴＰを認証するとき、図８で図示したＯＴＰの中で、クライアント３から送信されたＯＴＰは、「１２：０２」で生成されるＯＴＰと一致するため、ＯＴＰ認証部５０１は、ユーザ６を正当であると判断する。
【００８０】
時刻修正指示部５０３は、ユーザ６のＯＴＰと一致するＯＴＰが生成される許容範囲内の時刻（ここでは、１２：０２）を生成時刻として割出し、認証時刻（ここでは、１２：００）と生成時刻（ここでは、１２：０２）との差から、リーダ時計１２とサーバ時計５０２の時刻ズレは２分と算出できる。
【００８１】
なお、ユーザ６から取得したＯＴＰの認証に失敗したとき、例えば、ユーザ６から取得したＯＴＰが図８で記述したＯＴＰのいずれとも一致しなかった場合、時刻修正指示部５０３は、時刻ズレを算出するためだけに、許容範囲の範囲を広げ（例えば、前後５分間）てＯＴＰを生成して生成時刻を割出し、時刻ズレを算出してもよい。
【００８２】
そして、ＯＴＰ認証手段５０の時刻修正指示部５０３は、リーダ時計１２とサーバ時計５０２の時刻ズレが基準値（例えば、１分）より大きい場合は、リーダ時計１２がサーバ時刻の時刻ズレを修正するための時刻同期メッセージを生成し、生成した時刻同期メッセージをクライアント３に送信する。
【００８３】
時刻修正指示部５０３が生成する時刻同期メッセージには、リーダライタ１の時刻修正手段１３を動作させるためのコマンドコードと、リーダ時計１２の修正時間とが少なくとも含まれ、時刻同期メッセージに含まれる修正時間は、ユーザ６から取得したＯＴＰを認証するときに利用したサーバ鍵５１０で暗号化する。
【００８４】
認証サーバ５に送信された時刻同期メッセージはクライアント３に表示され、ユーザ６は、時刻同期メッセージをリーダライタ１に入力し、リーダライタ１の時刻修正手段１３は、ＩＣカード２のメッセージ復号コマンド２１を用いて、時刻同期メッセージに含まれ修正時間をで復号し、復号した修正時間に従いリーダ時計１２の時刻を修正する。
【００８５】
ここから、ユーザ６のＯＴＰを認証する手順と、リーダ時計１２の時刻を修正する手順とについて説明する。図９は、ユーザ６のＯＴＰを生成する手順を示した図、図１０は、ユーザ６のＯＴＰを認証し、時刻同期メッセージが生成される手順を示した図、図１１は、時刻同期メッセージに従いリーダ時計１２の時刻を修正する手順を示した図である。なお、図９の手順が実行される前に、ＩＣカード２がリーダライタ１に挿入され、リーダライタ１によってＩＣカード２は活性化されているものとする。
【００８６】
ユーザ６はクライアント３を操作して認証サーバ５にアクセスし、ユーザ６が認証サーバ５のサービスの利用を要求すると（ステップＳ１）、認証サーバ５は、ＯＴＰ認証手段５０のＯＴＰ取得部５００を作動させ、ユーザＩＤとユーザ６のＯＴＰを入力するためのウェブページをクライアント３に送信し、ユーザ６に対し、ユーザ６のＯＴＰとユーザＩＤの入力を要求する（ステップＳ２）。
【００８７】
ユーザＩＤとユーザ６のＯＴＰの入力を要求するためのウェブページがクライアント３に表示されると、ユーザ６はリーダライタ１のＯＴＰボタン１４を押し、リーダライタ１にＯＴＰ生成の指示を出す（ステップＳ３）。
【００８８】
リーダライタ１はＯＴＰ生成の指示を受けると、ＰＩＮ照合手段１０が作動し、ユーザ６のＰＩＮの入力を促す画面をディスプレイ１６に表示することで、ユーザ６にＰＩＮの入力を要求する（ステップＳ４）。
【００８９】
ユーザ６にＰＩＮの入力を促す画面がリーダライタ１のディスプレイ１６に表示されると、ユーザ６は、リーダライタ１のテンキー１５を操作することで、ＰＩＮをリーダライタ１に入力し（ステップＳ５）、リーダライタ１は、入力されたＰＩＮを含むＰＩＮ照合コマンド２３のコマンドメッセージをＩＣカード２に送信し、ＩＣカード２にＰＩＮの認証を要求する（ステップＳ６）。
【００９０】
リーダライタ１からＰＩＮ照合コマンド２３のコマンドメッセージがＩＣカード２に送信されると、ＩＣカード２のＰＩＮ照合コマンド２３が作動し、このコマンドメッセージに含まれるＰＩＮと参照ＰＩＮ２４を照合し（ステップＳ７）、ＰＩＮ照合に成功したことを示すフラグをＲＡＭに保持すると共に、ＰＩＮ照合コマンド２３の実行結果をリーダライタ１に返信する（ステップＳ８）。
【００９１】
ＩＣカード２がＰＩＮの照合に成功すると、リーダライタ１のＯＴＰ生成手段１１が作動し、ＯＴＰ生成手段１１はリーダ時計１２の時刻を取得し、取得した時刻を含むＯＴＰ生成コマンド２０のコマンドメッセージをＩＣカード２に送信し、ＯＴＰの生成をＩＣカード２に要求する（ステップＳ９）。
【００９２】
リーダライタ１からＯＴＰ生成コマンド２０のコマンドメッセージがＩＣカード２に送信されると、ＩＣカード２は上述したフラグを参照し、ＰＩＮ照合に成功していれば、ＩＣカード２のＯＴＰ生成コマンド２０が作動し、ＯＴＰ生成コマンド２０は、このコマンドメッセージに含まれるリーダ時計１２の時刻を、非可逆性のアルゴリズムに従い暗号化することでＯＴＰを生成し（ステップＳ１０）、生成したＯＴＰをリーダライタ１に返信する（ステップＳ１１）。そして、リーダライタ１は、ＩＣカード２から送信されたＯＴＰをディスプレイ１６に表示する（ステップＳ１２）。
【００９３】
ここから、図１０を参照しながら説明する。リーダライタ１のディスプレイ１６にＯＴＰが表示されると、ユーザ６は、クライアント３を操作して、リーダライタ１に表示されたＯＴＰとユーザＩＤを認証サーバ５から送信されたウェブページに入力し、クライアント３は、入力されたＯＴＰとユーザＩＤを認証サーバ５に送信する（ステップＳ１３）。
【００９４】
認証サーバ５のＯＴＰ認証手段５０は、ＯＴＰ取得部５００がユーザ６からＯＴＰとユーザＩＤを取得すると、ＯＴＰ認証部５０１を作動させ、ＯＴＰ認証部５０１は、取得したユーザＩＤに関連付けられて認証サーバ５が記憶しているサーバ鍵５１０をデータベース５１から取得する（ステップＳ１４）。
【００９５】
ＯＴＰ認証手段５０のＯＴＰ認証部５０１は、サーバ鍵５１０を取得すると、取得したサーバ鍵５１０を用いて、ＩＣカード２のＯＴＰ生成コマンド２０と同じ手順で暗号化することで、このときのサーバ時計５０２の時刻を基準とした許容範囲に含まれる１分単位の時刻におけるＯＴＰを生成し、図８に図示したように、許容範囲に含まれる１分単位のそれぞれとＯＴＰを関連付けて一次的に記憶する（ステップＳ１５）。
【００９６】
ＯＴＰ認証手段５０のＯＴＰ認証部５０１は、許容範囲内のＯＴＰすべてを生成すると、ユーザ６から取得したユーザ６のＯＴＰが、生成した許容範囲のＯＴＰのいずれかと一致するか確認することで、クライアント３を操作しているユーザ６を認証する（ステップＳ１６）。
【００９７】
ユーザ６の認証に成功すると、時刻修正指示部５０３は、ユーザ６から取得したＯＴＰと一致するＯＴＰが生成される時刻を生成時刻として割出し、割出した生成時刻と認証時刻との差から、リーダ時計１２とサーバ時計５０２の時刻ズレを算出し（ステップＳ１７）、リーダ時計１２の時刻を修正するための時刻同期メッセージを生成し（ステップＳ１８）、生成した時刻同期メッセージをクライアント３に送信する（ステップＳ１９）。
【００９８】
図１１は、時刻同期メッセージを用いて、リーダ時計１２の時刻を修正する手順を示したフロー図である。図１０のフローが実行され、認証サーバ５から時刻同期メッセージがクライアント３に送信されると、リーダライタ１のテンキー１５の「＃」を長押しするなどして、ユーザ６は、リーダライタ１にリーダ時計１２の時刻修正を指示する（ステップＳ２０）。
【００９９】
リーダライタ１のテンキー１５の「＃」を長押されるとリーダライタ１のＰＩＮ照合手段１０が作動し、ユーザ６のＰＩＮの入力を促す画面をディスプレイ１６に表示することで、ユーザ６にＰＩＮの入力を要求する（ステップＳ２１）。
【０１００】
ＰＩＮの入力を促す画面がリーダライタ１のディスプレイ１６に表示されると、ユーザ６は、リーダライタ１のテンキー１５を操作することで、ＰＩＮをリーダライタ１に入力し（ステップＳ２２）、時刻修正手段１３は、入力されたＰＩＮを含むＰＩＮ照合コマンド２３のコマンドメッセージをＩＣカード２に送信し、ＩＣカード２にＰＩＮの認証を要求する（ステップＳ２３）。
【０１０１】
リーダライタ１からＰＩＮ照合コマンド２３のコマンドメッセージがＩＣカード２に送信されると、ＩＣカード２のＰＩＮ照合コマンド２３が作動し、このコマンドメッセージに含まれるＰＩＮと参照ＰＩＮ２４を照合し（ステップＳ２４）、ＰＩＮ照合に成功したことを示すフラグをＲＡＭに保持すると共に、ＰＩＮ照合コマンド２３の実行結果をリーダライタ１に返信する（ステップＳ２５）。
【０１０２】
ＰＩＮの照合に成功すると、時刻修正手段１３が作動し、時刻修正手段１３は時刻同期メッセージの入力を要求する画面をディスプレイ１６に表示し（ステップＳ２６）、ユーザ６は、テンキー１５を操作して、クライアント３に表示された時刻同期メッセージを入力する（ステップＳ２７）。
【０１０３】
リーダライタ１は時刻同期メッセージが入力されると、リーダライタ１は入力された時刻同期メッセージを解析し、入力された時刻同期メッセージのコマンドコードが時刻同期メッセージのコマンドコードであれば、修正時間の暗号文を含むメッセージ復号コマンド２１のコマンドメッセージをＩＣカード２に送信する（ステップＳ２８）。
【０１０４】
リーダライタ１からメッセージ復号コマンド２１のコマンドメッセージが送信されると、ＩＣカード２は上述したフラグを参照し、ＰＩＮ照合に成功していれば、ＩＣカード２のメッセージ復号コマンド２１が作動し、メッセージ復号コマンド２１は、ＩＣカード鍵２２を用い可逆性のアルゴリズムで、このコマンドメッセージに含まれる修正時間の暗号文を復号し（ステップＳ２９）、復号した修正時間をリーダライタ１に返信する（ステップＳ３０）。
【０１０５】
リーダライタ１は、ＩＣカード２から修正時間が返信されると、時刻修正手段１３は、時刻同期メッセージに含まれる修正時間に従い、リーダ時計１２の時刻を修正し（ステップＳ３１）、リーダ時計１２の時刻の修正結果をディスプレイ１６に表示する（ステップＳ３２）。
【０１０６】
なお、本発明は、これまで説明した実施の形態に限定されることなく、種々の変形や変更が可能であって、それらも本発明の均等の範囲に含まれる。
【０１０７】
例えば、上述した形態においては、例えば、図８に図示したように、許容範囲内に含まれる１分単位の時刻におけるＯＴＰをすべて生成した後、許容範囲内で生成されるＯＴＰの中に、ユーザ６から取得したＯＴＰと一致するＯＴＰが含まれるか確認していたが、許容範囲の下限或いは上限から順にＯＴＰを生成し、ＯＴＰを生成するごとにユーザ６から取得したＯＴＰと比較することで、許容範囲内に生成されるＯＴＰに、ユーザ６から取得したＯＴＰと一致するＯＴＰが含まれるか確認してもよい。
【０１０８】
また、上述した形態においては、ユーザ６から取得したＯＴＰと同じＯＴＰが生成されるサーバ時計５０２の時刻を割出すことで、ユーザ６のＯＴＰが生成された生成時刻を割出していたが、ＩＣカード２が生成するＯＴＰに生成時刻を含ませ、認証サーバ５はユーザ６のＯＴＰに含まれる生成時間を取得することで、ユーザ６のＯＴＰの生成時刻を割出すようにしてもよい。
【０１０９】
このとき、ＩＣカード２のＯＴＰ生成コマンド２０は、リーダライタ１から送信されたリーダ時計１２の時刻を、ＩＣカード鍵２２を用い可逆性のある暗号アルゴリズムで暗号化して含ませ、認証サーバ５は、クライアント３から送信されたユーザ６のＯＴＰに含まれる時刻の暗号文をサーバ鍵５１０で復号しすることで生成時刻を割出す。
【０１１０】
ＩＣカード２のＯＴＰ生成コマンド２０が生成時刻をＯＴＰに含ませるときは、図９のステップＳ１０で、ＩＣカード２のＯＴＰ生成コマンド２０は、リーダライタ１から送信された時刻を生成時刻とし、ＩＣカード鍵２２を用い可逆性のあるアルゴリズムで暗号化してＯＴＰに含ませ、図１０のステップＳ１７で、認証サーバ５は、ユーザ６から取得したＯＴＰと一致するＯＴＰが生成される時刻を生成時刻として割出す代わりに、サーバ鍵５１０を用いて、ＯＴＰに含まれる生成時刻を復号し、リーダ時計１２とサーバ時計５０２との時刻ズレを算出する。
【０１１１】
更に、本実施の形態においては、リーダライタ１に備えられたテンキー１５によって、ＰＩＮや時刻修正メッセージなどがリーダライタ１に入力されるが、クライアント３とリーダライタ１を電気的に接続し、クライアント３に入力されたＰＩＮや時刻修正メッセージなどをクライアント３からリーダライタ１に送信するようにしてもよい。
【図面の簡単な説明】
【０１１２】
【図１】時刻同期方式のＯＴＰを用いてユーザ認証するシステムを説明する図。
【図２】ＩＣカードの外観図。
【図３】ＩＣカードのブロック図。
【図４】リーダライタの上面図。
【図５】リーダライタのブロック図。
【図６】認証サーバのブロック図。
【図７】データベースを説明する図。
【図８】時刻ズレを時刻修正指示部が算出する仕組みを説明する図。
【図９】ユーザのＯＴＰを生成する手順を示した図。
【図１０】ユーザのＯＴＰを認証し、時刻同期メッセージが生成される手順を示した図。
【図１１】リーダ時計１２の時刻を修正する手順を示した図。
【符号の説明】
【０１１３】
１  リーダライタ
１０  ＰＩＮ照合手段
１１  ＯＴＰ生成手段
１２  リーダ時計
１３  時刻修正手段
１４  ＯＴＰボタン
１５  テンキー
１６  ディスプレイ
１７  インターフェース手段
１８  挿入口
２  ＩＣカード
２０  ＯＴＰ生成コマンド
２１  メッセージ復号コマンド
２２  ＩＣカード鍵
２３  ＰＩＮ照合コマンド
２４  参照ＰＩＮ
３  クライアント
４  ネットワーク
５  認証サーバ
６  ユーザ
５０  ＯＴＰ認証手段
５００  ＯＴＰ取得手段
５０１  ＯＴＰ認証部
５０２  サーバ時計
５０３  時刻修正指示部
５１  データベース
５１０  サーバ鍵
【図１】
2008234096.tif 000003
【図２】
2008234096.tif 000004
【図３】
2008234096.tif 000005
【図４】
2008234096.tif 000006
【図５】
2008234096.tif 000007
【図６】
2008234096.tif 000008
【図７】
2008234096.tif 000009
【図８】
2008234096.tif 000010
【図９】
2008234096.tif 000011
【図１０】
2008234096.tif 000012
【図１１】
2008234096.tif 000013