ICカードを用いて時刻同期方式のワンタイムパスワードを生成する方法、ワンタイムパスワードの認証方法、ICカードシステム、インターフェースデバイスおよびICカード
【課題】ICカードを用いて時刻同期方式のOTPを生成し、生成したOTPを認証する方法を提供する。
【解決手段】リーダ時計を内蔵したリーダライタ1は、OTPを生成するときのリーダライタ1の時刻を含むOTP生成コマンドをICカード2に送信し、ICカード2は一定の手順でOTPを生成する。ICカード2を用いて生成されたOTPはクライアント3に入力され、認証サーバ5は、クライアント3から送信されたユーザ6のOTPを認証する。なお、認証サーバ5は、ユーザ6のOTPが生成されたときのリーダ時計の時刻を割出し、認証サーバ5に内蔵されたサーバ時計のとの時刻ズレを修正するための時刻同期メッセージを生成し、リーダライタ1は入力された時刻同期メッセージに従いリーダ時計の時刻を修正する。
【解決手段】リーダ時計を内蔵したリーダライタ1は、OTPを生成するときのリーダライタ1の時刻を含むOTP生成コマンドをICカード2に送信し、ICカード2は一定の手順でOTPを生成する。ICカード2を用いて生成されたOTPはクライアント3に入力され、認証サーバ5は、クライアント3から送信されたユーザ6のOTPを認証する。なお、認証サーバ5は、ユーザ6のOTPが生成されたときのリーダ時計の時刻を割出し、認証サーバ5に内蔵されたサーバ時計のとの時刻ズレを修正するための時刻同期メッセージを生成し、リーダライタ1は入力された時刻同期メッセージに従いリーダ時計の時刻を修正する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、時刻同期方式のワンタイムパスワードを用いたユーザ認証の技術分野に属する。
【背景技術】
【0002】
フィッシング詐欺やスパイウェア対策として、ネットバンキングなどの用途で二要素認証が注目を集めている。二要素認証とは、異なる性質を持つ二つの認証要素を組み合せてユーザを認証する方式である。
【0003】
二要素認証でユーザを認証するときは、「自分だけが知っている(know)」に係る認証要素であるPIN(Personal Identification Number)などのパスワードと、「自分だけが知っている(know)」に係る認証要素以外の認証要素を用いてユーザ認証することが一般的である。
【0004】
「自分だけが知っている(know)」以外の認証要素としては、「自分自身(is)」に係る認証要素であるバイオメトリクス情報(例えば、指紋)を用いる場合もあるが、バイオメトリクス情報に対してユーザは強い抵抗感をもつため、「自分だけが持っている(has)」に係る認証要素であるワンタイムパスワード(OTP: One Time Password)を利用するケースが増えている。
【0005】
時刻同期方式のOTPを用いてユーザ認証するとき、特許文献1で記載されているように、ユーザは、内蔵された時計の時刻をパラメータとしてOTPを生成する機能を備えたトークン(特許文献1では携帯電話)を所持し、ユーザは、このトークンによって生成されたOTPをパーソナルコンピュータに入力するなどしてサーバに送信し、サーバはユーザから取得したOTPを認証する。
【0006】
しかし、上述した時刻同期方式のOTPを用いたユーザ認証においては、以下に述べるように、解決すべき問題がある。
【0007】
一つ目の問題は、認証用のトークンとして広く普及しているICカードを、時刻同期方式のトークンとして利用できないことである。ICカードは、カウンタ同期方式のOTPを生成するときに利用するカウンタを電気的に書換え可能な不揮発性メモリに記憶できるが、ICカード自体は電源を有さず時計を内蔵させることが不可能であるため、ICカードを時刻同期方式のトークンとして利用することはできなかった。
【0008】
また、二つ目の問題は、トークンとサーバ間の時刻同期のズレが生じるたときに、サーバ側がトークン内で生成された時刻同期方式のOTPを認証できなくなってしまうことである。
【0009】
時刻同期方式のOTPを用いたユーザ認証においては、トークンとサーバ間の時刻同期のズレがなければユーザ認証に支障は生じないが、実際は、トークンの時計とサーバの時計の間に時刻ズレが生じてしまう。そこで、サーバがOTPを認証するときは、ユーザ認証するときの時刻を基準とした前後数分間の許容範囲を設け、ユーザから取得したOTPが、この許容範囲内で生成されるOTPのいずれかと一致するか確認している。
【0010】
しかし、トークンとサーバ間の時刻同期のズレが大きくなると、許容範囲内で生成されるOTPのいずれともユーザから取得したOTPは一致することはなく、正当なユーザであるにも関わらずユーザ認証に失敗するため、時刻同期方式のOTPを用いたユーザ認証においては、トークンの時刻をサーバの時刻に合わせることが必要となる。
【0011】
時刻を調整する機構をトークンに設けることで、トークンとサーバの時刻を合わせることは容易に実現できるが、ユーザ自身がトークンの時計の時刻を任意に合わせることが可能であると、ユーザがトークンの時計の時刻を故意的に進めることで、ユーザは将来のOTPを知り得ることができ、セキュリティ的に好ましくない。
【0012】
また、特許文献2で開示されているように、標準時刻をのせている標準電波を受信する機能をトークンに備えさせることも考えられるが、トークン自体に標準電波を受信する特別な装置が必要になってしまうし、何よりも、時刻同期方式においては、トークンの内部時計とサーバの内部時計を同期させることが重要であるが、特許文献2の発明は、トークンの時計をサーバの時計に合わせるための発明ではない。
【特許文献1】特開2002−259344号公報
【特許文献2】特開2005−50292号公報
【発明の開示】
【発明が解決しようとする課題】
【0013】
そこで本発明は、キャッシュカードや社員証などの用途で幅広く利用されているICカードを用いて時刻同期方式のOTPを生成し、生成したOTPを認証するための技術を提供することで、ICカードを所持するユーザの利便性を高め、更に、ICカードを用いて時刻同期方式のOTPを生成する側で生じる時刻同期ズレを速やかに修正する技術を提供することで、安全な時刻同期の仕組みを提供する。
【課題を解決するための手段】
【0014】
上述した課題を解決する第1の発明は、独立して動作する時計を内蔵したインターフェースデバイスと、前記インターフェースデバイスから送信される時刻を一定の手順に従い演算することで、時刻同期方式のワンタイムパスワード(OTP: One Time Password)を生成するOTP生成コマンドを備えたICカードとを用いて、前記OTPを生成する方法であって、前記インターフェースデバイスと前記ICカードとを電気的に結合させた状態で、前記インターフェースデバイスから前記ICカードに、前記OTPの生成指示を受けたときの前記時計の時刻を含む前記OTP生成コマンドのコマンドメッセージを送信し、前記ICカードの前記OTP生成コマンドを用いて、前記インターフェースデバイスから送信された前記時計の時刻に基づく前記OTPを生成することを特徴とする方法である。
【0015】
上述した第1の発明によれば、前記ICカードと前記インターフェースデバイスを組み合せることで、一般的に利用されている時刻同期方式のトークンの機能を実現することができようになる。
【0016】
なお、ここで前記インターフェースデバイスとは、前記ICカードが装着され、前記ICカードと電気的に結合しデータ通信する機器を意味し、前記インターフェースデバイスとしてはICカードリーダライタが好適である。
【0017】
更に、上述した第1の発明によれば、ユーザごとに前記ICカードは異なっていても、ユーザごとに前記インターフェースデバイスを共有化することができるため、この方法を実現するためのコストを抑えることができる。
【0018】
更に、第2の発明は、第1の発明に記載の方法であって、前記ICカードは、前記インターフェースデバイスから送信されるPINを照合するためのPIN照合コマンドを備え、前記方法は、前記ICカードは、前記インターフェースデバイスから送信された前記PIN認証コマンドのコマンドメッセージに含まれる前記PINを照合し、前記PINの照合に成功したときのみ、前記OTP生成コマンドの実行を許可することを特徴とする方法である。
【0019】
上述した第2の発明によれば、前記OTPを生成するときに前記PINの照合を必要とすることで、前記OTPの不正な使用を防止することができる。
【0020】
更に、第3の発明は、時刻同期方式のワンタイムパスワード(OTP: One Time Password)を生成・認証する方法であって、前記OTPを生成するときに利用する第1の時計を内蔵インターフェースデバイスが、前記インターフェースデバイスから送信される時刻を一定の手順に従い演算することで前記OTPを生成するOTP生成コマンドを備えたICカードに対し、前記OTPを生成するときの前記第1時計の時刻(生成時刻)を含む前記OTP生成コマンドのコマンドメッセージを送信し、前記ICカードの前記OTP生成コマンドが生成した前記OTPを前記ICカードから取得するOTP生成工程と、第2の時計を備えた認証サーバが、前記ICカードを所持するユーザから前記OTP生成工程で生成された前記OTPを取得し、前記ユーザの前記OTPを認証するときの第2の時計の時刻(認証時刻)を基準とした許容範囲内の時刻で生成される前記OTPを前記ICカードと同じ手順で生成し、前記ユーザの前記OTPを認証するOTP認証工程と、を含むことを特徴とする方法である。
【0021】
更に、第4の発明は、第3の発明に記載の方法において、前記ICカードは、前記インターフェースデバイスから送信されるPINを照合するためのPIN照合コマンドを備え、前記方法は、前記インターフェースデバイスは、前記インターフェースデバイスに入力された前記PINを含む前記PIN認証コマンドのコマンドメッセージを前記ICカードに送信し、前記ICカードが、前記インターフェースデバイスから送信された前記PINを照合するPIN照合工程を含み、前記PIN照合工程で前記PINの照合に成功したときのみ、前記OTP生成工程が実行されることを特徴とする方法である。
【0022】
第3の発明から第4の発明によれば、上述した第1の発明から第2の発明と同様の効果が得られる。
【0023】
更に、第5の発明は、第3の発明または第4の発明に記載の方法であって、前記OTP認証工程において、前記認証サーバは、前記OTPを認証するときに、前記ユーザの前記OTPが生成された前記生成時刻を割出し、前記生成時刻と前記認証時刻との時刻ズレを修正するための時刻同期メッセージを生成した後、前記時刻同期メッセージに含まれる修正時間を少なくとも暗号化する時刻同期メッセージ作成工程と、前記時刻同期メッセージ作成工程で生成された前記時刻同期メッセージが前記インターフェースデバイスに入力され、前記インターフェースデバイスが前記ICカードを用いて前記時刻同期メッセージに含まれる修正時間を復号し、復号した修正時間に従い前記第1の時計の時刻を修正する時刻修正工程と、が順に実行されることを特徴とする方法である。
【0024】
上述した第5の発明によれば、前記認証サーバが、取得した前記OTPが生成された時刻である生成時刻を割出し、前記インターフェースデバイスに備えられた前記第1の時計の時刻を修正するための前記時刻修正メッセージを生成し、前記時刻修正メッセージを用いて前記インターフェースデバイスの時刻を修正することで、前記インターフェースデバイスの時刻を前記認証サーバの時刻に合わせることができる。
【0025】
更に、前記認証サーバが生成するとき、前記時刻修正メッセージに含まれる前記修正時間を暗号化することで、前記ユーザは前記時刻修正メッセージを改竄することはできなくなるため、安全な時刻同期の仕組みを提供することでできる。
【0026】
更に、第6の発明は、第5の発明に記載の方法であって、前記認証サーバは、前記ICカードと同じ手順で前記OTPを生成し、前記ユーザの前記OTPと一致する前記OTPが生成される前記第2の時の時刻を前記生成時刻として割出すことを特徴とする方法である。
【0027】
更に、第7の発明は、第5の発明に記載の方法であって、前記OTP生成工程において、前記ICカードの前記OTP生成コマンドは、前記インターフェースデバイスから送信された前記生成時刻を可逆性のアルゴリズムで暗号化して前記ユーザの前記OTPに含ませ、前記時刻同期メッセージ作成工程において、前記認証サーバは、前記ユーザの前記OTPに含まれる前記生成時刻を復号し前記生成時刻を割出すことを特徴とする方法である。
【0028】
上述した第5の発明において、前記認証サーバが前記生成時刻を割出す方式は、第6の発明または第7の発明に記述した方式で実現できる。
【0029】
更に、第8の発明は、時刻同期方式のワンタイムパスワード(OTP: One Time Password)を生成するためのICカードシステムであって、独立して動作する時計を内蔵したインターフェースデバイスと、前記インターフェースデバイスと組合されて利用されるICカードとから、少なくとも構成され、前記ICカードは、前記インターフェースデバイスから送信される時刻を一定の手順に従い演算することで前記OTPを生成するOTP生成コマンドを備え、前記インターフェースデバイスは、前記ICカードとを電気的に結合しデータ通信するインターフェース手段と、前記OTPの生成指示を受けたとき、前記時計の時刻を含む前記OTP生成コマンドのコマンドメッセージを前記ICカードに送信し、前記ICカードに前記OTPを生成させるOTP生成手段とを備えていることを特徴とするICカードシステムである。
【0030】
更に、第9の発明は、第8の発明に記載のICカードシステムであって、前記ICカードは、前記インターフェースデバイスから送信されるPINを照合するためのPIN照合コマンドを備え、前記インターフェースデバイスから送信された前記PINの照合に成功したときのみ、前記OTP生成コマンドの実行を許可し、前記インターフェースデバイスは、前記PINが入力されるPIN入力手段と、前記PINを含む前記PIN認証コマンドのコマンドメッセージを前記ICカードに送信するPIN照合手段とを備えていることを特徴とするICカードシステムである。
【0031】
第8の発明から第9の発明によれば、上述した第1の発明から第2の発明と同様の効果が得られる。
【0032】
更に、第10の発明は、外部装置から送信される時刻を一定の手順に従い演算することで、時刻同期方式のワンタイムパスワード(OTP: One Time Password)を生成するOTP生成コマンドを備えたICカードと組み合わされて利用されるインターフェースデバイスであって、前記インターフェースデバイスは、前記OTPを生成するときに利用する時計と、前記時計の時刻を取得し、取得した時刻を含む前記OTP生成コマンドのコマンドメッセージを前記ICカードに送信するOTP生成手段をと備えた前記インターフェースデバイスである。
【0033】
更に、第11の発明は、第10の発明に記載のインターフェースデバイスであって、前記インターフェースデバイスは、前記時計の時刻を修正するための時刻同期メッセージが入力されたとき、前記時刻同期メッセージで示される修正時間に従い、前記時計の時刻を修正する時刻修正手段と、前記時刻同期メッセージが入力されるメッセージ入力手段とを備えていることを特徴とするインターフェースデバイスである。
【0034】
更に、第12の発明は、第11の発明に記載のインターフェースデバイスであって、前記ICカードは、暗号文を復号する復号コマンドを備え、前記時刻同期メッセージには、前記ICカードで復号可能な状態で前記修正時間が含まれ、前記インターフェースデバイスの前記時刻修正手段は、前記ICカードを用いて、前記時刻同期メッセージに含まれる前記修正時間を復号し、復号した前記修正時間に従い、前記時計の時刻を修正することを特徴とするインターフェースデバイスである。
【0035】
更に、第13の発明は、第10の発明から第12の発明のいずれか一つに記載のインターフェースデバイスであって、前記ICカードは、前記インターフェースデバイスから送信されるPINを照合するためのPIN照合コマンドを備え、前記インターフェースデバイスは、前記PINが入力されるPIN入力手段と、前記PINを含む前記PIN認証コマンドのコマンドメッセージを前記ICカードに送信するPIN照合手段とを備え、前記ICカードから前記PINの照合に成功したことを示すレスポンスを受信したときのみ、前記OTP生成手段および前記時刻修正手段の作動を許可することを特徴とするインターフェースデバイスである。
【0036】
更に、第14の発明は、時刻同期方式のワンタイムパスワード(OTP: One Time Password)を生成するときに利用されるICカードであって、前記ICカードを装着するインターフェースデバイスから送信される時刻を一定の手順に従い演算することで前記OTPを生成し、生成した前記OTPを前記インターフェースデバイスに返信するOTP生成コマンドを備えたことを特徴とするICカードである。
【0037】
更に、第15の発明は、第14の発明に記載のICカードであって、前記インターフェースデバイスから送信されるPINを照合するPIN照合コマンドを備え、前記PINの照合に成功したときのみ、前記OTP生成コマンドの実行を許可することを特徴とするICカードである。
【0038】
更に、第16の発明は、第14の発明または第15の発明に記載のICカードであって、前記ICカードに備えられた前記OTP生成コマンドは、前記インターフェースデバイスから送信された時刻を可逆性のアルゴリズムで暗号化し、生成する前記OTPに含ませることを特徴とするICカードである。
【0039】
また、第10の発明から第13の発明は、本発明に係わる方法を実現するために必要な前記インターフェースデバイスで、第14の発明から第16の発明は、本発明に係わる方法を実現するために必要な前記ICカードである。
【発明の効果】
【0040】
上述した本発明によれば、キャッシュカードや社員証などの用途で幅広く利用されているICカードを用いて時刻同期方式のOTPを生成し、生成したOTPを認証するための技術を提供でき、ICカードを所持するユーザの利便性を高め、更に、ICカードを用いて時刻同期方式のOTPを生成する側で生じる時刻同期ズレを速やかに修正する技術を提供することで、安全な時刻同期の仕組みを提供できる。
【発明を実施するための最良の形態】
【0041】
ここから、本発明について図を参照しながら詳細に説明する。図1は、時刻同期方式のワンタイムパスワード(OTP: One Time Password)を用いてユーザ認証するシステムを説明する図である。
【0042】
図1において、ユーザ6は、ICカード2と、ICカード2を利用するインターフェースデバイスであるリーダライタ1とを所持し、ユーザ6が操作するクライアント3と認証サーバ5はネットワーク4を介して接続され、認証サーバ5は、クライアント3から送信される時刻同期方式のOTPを認証する機能を有している。
【0043】
一般的に時刻同期方式のOTPは、時計を内蔵する携帯電話などのトークン内部において、OTPを生成するときの時刻を暗号化することで生成されるが、本発明において、OTPを生成するときに利用される時計はリーダライタ1に内蔵され、リーダライタ1の時計(以下、リーダ時計)の時刻を暗号化しOTPを生成する機能はICカード2に備えられている。
【0044】
認証サーバ5がユーザ6にサービスを供与するためにユーザ認証するとき、ユーザ6は、ICカード2をリーダライタ1に装着してユーザ6のOTPを生成し、生成したユーザ6のOTPをクライアント3に入力する。
【0045】
ユーザ6がクライアント3に入力したユーザ6のOTPは、ネットワークを経由して認証サーバ5に送信される。認証サーバ5は時計(以下、サーバ時計)を備え、クライアント3から送信されたOTPを認証するときの時刻からOTPを生成し、クライアント3から送信されたユーザ6のOTPを認証する。
【0046】
時刻同期方式のOTPを用いてユーザ認証するとき、サーバ時計とリーダ時計の時刻は同期していなければならないが、実際は、サーバ時計とリーダ時計間の同期時刻のズレが生じてしまい、サーバ時計の時刻にリーダ時計の時刻を合わせることが必要となる。
【0047】
リーダ時計の時刻をサーバ時計の時刻に合わせるために、図1で図示した認証サーバ5には、リーダライタ1がOTPを生成したときのリーダ時計の時刻である生成時刻を割出し、OTPを認証するときのサーバ時計の時刻である認証時刻と生成時刻の時刻ズレを算出し、リーダ時計の時刻を修正するためのメッセージ(以下、時刻同期メッセージ)を生成する機能を有し、リーダライタ1は、この時刻同期メッセージに従いリーダ時計の時刻を修正する機能を有している。
【0048】
まず、ユーザ6が所持するICカード2について説明する。図2は、ICカード2の外観図で、図3はICカード2のブロック図である。
【0049】
ICカード2は、キャッシュカードサイズのカード媒体にICチップが実装されたカードで、図示はしていなが、ICカード2に実装されるICチップには、中央演算装置(Central Processing Unit、以下CPUと記す)、読み出し専用メモリ(Read Only Memory、以下ROMと記す)、書換え可能なメモリとしてEEPROM(Electrically Erasable Programmable Read-Only Memoryの略)、揮発性メモリとしてランダムアクセスメモリ(Random Access Memory、以下、RAMと記す)、更に、リーダライタ1とデータ通信するための通信インターフェースなどを備えている。
【0050】
なお、図2においては、ICカード2を接触ICカードとして図示しているが、本発明は何らICカード2の通信方式に依存するものではなく、無線でデータ通信する非接触ICカード、または、接触データ通信と非接触データ通信の2つの通信機能を備えたデュアルインターフェースICカードであってもよい。加えて、ICカード2は、ICチップの近辺を短冊状に切り取った形状をしているSIM(Subscriber Identity Module)であってもよい。
【0051】
図3に示したように、ICカード2には、本発明を実現するために、ICカード2は、暗号化/復号するときに利用される暗号鍵であるICカード鍵22を、ROMまたはEEPROMに記憶している。
【0052】
更に、ICカード2は、ICカード鍵22を用い、リーダライタ1から送信される時刻を非可逆性のアルゴリズム(例えば、DESを連鎖させたハッシュ関数)で暗号化することでOTPを生成するOTP生成コマンド20と、ICカード鍵22を用い、リーダライタ1から送信された暗号文を、可逆性の暗号アルゴリズム(例えば、トリプルDES)で復号するメッセージ復号コマンド21とを備えている。
【0053】
なお、本実施の形態では、OTP生成コマンド20のアルゴリズムがDESを連鎖させたハッシュ関数で、メッセージ復号コマンド21のアルゴリズムがトリプルDESとしているため、OTP生成コマンド20とメッセージ復号コマンド21で同一の暗号鍵(ここでは、ICカード鍵22)を利用することができる。当然のことながら、OTP生成コマンド20とメッセージ復号コマンド21が利用する暗号鍵をそれぞれ異なる暗号鍵としてもよい。
【0054】
更に、ICカード2は、外部装置(ここでは、リーダライタ1)から送信されるPINと照合される参照PIN24を記憶し、外部装置(ここでは、リーダライタ1)から送信されるPINと参照PIN24を照合するPIN照合コマンド23を備え、ICカード2には、PINの照合に成功した場合のみ、OTP生成コマンド20およびメッセージ復号コマンド21を実行することができる機能が備えられている。
【0055】
ICカード2に備えられたOTP生成コマンド20、メッセージ復号コマンド21およびPIN照合コマンド23は、ICカード2のCPUを動作させるためのICカードプログラムで実現され、これらのコマンドのプログラムコードは、ROMまたはEEPROMに記憶される。
【0056】
ここから、リーダライタ1について説明する。図4はリーダライタ1の上面図で、図5はリーダライタ1のブロック図である。
【0057】
図4に図示したように、ユーザ6が所持するリーダライタ1には、ICカード2が挿入される挿入口18と、OTPを生成するときにユーザ6が押すOTPボタン14と、ユーザ6がPINなどのメッセージを入力するときに利用するテンキー15と、そして、ICカード2から受信したOTPなどを表示するディスプレイ16とを備える。
【0058】
更に、図5に図示したように、リーダライタ1は、上述した要素に加え、リーダ時計12と、テンキー15を用いて入力されたPINを照合するPIN照合手段10と、ICカード2を利用して時刻同期方式のOTPを生成する手段であるOTP生成手段11と、リーダライタ1に入力された時刻同期メッセージに従いリーダ時計12の時刻を修正するための時刻修正手段13と、挿入口18から挿入されたICカード2と電気的に結合しデータ通信するためのインターフェース手段17とを備えている。なお、図示しはしていないが、リーダライタ1は電池を内蔵し、リーダライタ1が動作するために必要な電源はこの電池から供給される。
【0059】
リーダライタ1の挿入口18からICカード2が挿入され、インターフェース手段17がICカード2を検出すると、インターフェース手段17はICカード2を活性化し、リーダライタ1とICカード2間のデータ通信が可能となる。
【0060】
リーダライタ1が、ICカード2を活性化した後、ユーザ6がOTPボタン14を押すと、PIN照合手段10が作動し、リーダライタ1はPINの入力を受け付ける状態になる。テンキー15によってPINが入力されると、PIN照合手段10は、入力されたPINを含むPIN照合コマンド23のコマンドメッセージをICカード2に送信し、ICカード2にPINを照合させる。
【0061】
PINの照合に成功すると、リーダライタ1に備えられたOTP生成手段11が作動し、ボタンが押されたときのリーダ時計12の時刻を含むOTP生成コマンド20のコマンドメッセージをICカード2に送信する。
【0062】
ICカード2は、リーダライタ1からOTP生成コマンド20のコマンドメッセージが送信されると、ICカード鍵22を用い、非可逆性のアルゴリズムでリーダライタ1から送信された時刻を暗号化することでOTPを生成し、生成したOTPをリーダライタ1に返信する。
【0063】
リーダライタ1のOTP生成手段11は、ICカード2から受信したOTPを受信すると、ICカード2から受信したOTPをディスプレイ16に表示する。
【0064】
更に、リーダライタ1に備えられた時刻修正手段13は、テンキー15の「♯」のボタンが長押しされるなどすると、PIN照合手段10が作動し、上述した内容でPINの照合に成功すると、認証サーバ5からクライアント3に送信された時刻同期メッセージの入力を受け付ける状態に遷移する。
【0065】
認証サーバ5からクライアント3に送信される時刻同期メッセージは、後述するように認証サーバ5によって生成され、セキュアにリーダ時計12の時刻を修正できるように、少なくとも時刻同期メッセージに含まれる修正時間は、ICカード2に記憶されたICカード鍵22を用いて復号できる形式で暗号化されている。
【0066】
テンキー15によって時刻同期メッセージが入力されると、リーダライタ1の時刻修正手段13が作動し、時刻修正手段13は、時刻同期メッセージに含まれる修正時間の暗号文を含むメッセージ復号コマンド21のコマンドメッセージをICカード2に送信することで、時刻同期メッセージに含まれる修正時間を復号し、復号した修正時間に従いリーダ時計12を修正する。
【0067】
図1で図示したクライアント3には、ユーザ6が認証サーバ5にアクセスするときに利用されるブラウザがインストールされ、ユーザ6がアクセスする認証サーバ5は、サービスを提供するビジネスロジックの一つの機能として、クライアント3から送信されるOTPを用いて、クライアント3を操作するユーザ6を認証する機能を有する。
【0068】
図6は認証サーバ5のブロック図で、図6に図示したように、認証サーバ5は、クライアント3から送信されるOTPを認証する機能を実現するために、OTP認証手段50と、ユーザ6が所持するICカード2に記憶されたICカード鍵22と対になる暗号鍵(以下、サーバ鍵)を記憶したデータベース51を備え、OTP認証手段50は、認証するユーザ6のユーザID及びOTPを取得するOTP取得部500と、データベース51を参照してOTPを生成し、ユーザ6から取得したOTPを認証するOTP認証部501と、OTPを認証するときに利用するサーバ時計502とを有している。
【0069】
更に、認証サーバ5のOTP認証手段50は、ユーザ6から取得したOTPを認証した結果、リーダ時計12の時刻を修正する必要があると判断したとき、リーダ時計12の時刻の修正をユーザ6に指示する時刻修正指示部503を有する。
【0070】
認証サーバ5のOTP認証手段50のOTP取得部500、OTP認証部501および時刻修正指示部503は、認証サーバ5のCPUを動作させるコンピュータプログラムで実現され、サーバ時計502は一般的なサーバに備えられた時計で実現され、データベース51はハードディスクなどの情報記憶装置で実現される。
【0071】
図7は、データベース51を説明する図である。データベース51には、ユーザ6ごとに割り振られた識別データであるユーザIDに関連付けて、ユーザ6が所持するリーダライタ1に記憶されたICカード鍵22と対になるサーバ鍵510が記憶されている。
【0072】
認証サーバ5に備えられたOTP認証手段50のOTP取得部500は、認証サーバ5にアクセスするユーザ6からユーザIDとOTPを受け付けるウェブページを有し、このウェブページは、少なくとも、ユーザ6がユーザIDを入力するフォームと、ユーザ6がOTPを入力するフォームが含まれる。認証サーバ5にアクセスするユーザ6は、このウェブページに、ユーザ6側で生成したユーザ6のOTPと、ユーザIDとを入力する。
【0073】
OTP認証手段50のOTP認証部501は、ユーザ6のOTPを認証するときに利用するOTPを生成する機能を有し、OTP取得部500が取得したユーザ6のOTPを認証するときに、データベース51を参照し、OTP取得部500が取得したユーザIDに関連付けられているサーバ鍵510を取得し、ユーザ6のOTPを認証するときのサーバ時計502の時刻(以下、認証時刻)を基準とし前後数分間(例えば、3分間)の許容範囲を設け、許容範囲に含まれる一分単位の時刻それぞれを、取得したサーバ鍵510を用いて、ICカード2のOTP生成コマンド20と同じアルゴリズムで暗号化することで、許容範囲内の時刻におけるOTPすべてを生成する。
【0074】
そして、OTP認証部501は、ユーザ6から取得したOTPが、許容範囲内で生成されるOTPのいずれかと一致するか確認することで、OTP取得部500が取得したユーザ6のOTPを認証する。
【0075】
時刻修正指示部503は、ユーザ6から取得したOTPを認証する際に、リーダライタ1がOTPを生成したときのリーダ時計12の時刻(以下、生成時刻)を割出し、リーダ時計12とサーバ時計502の時刻ズレを算出し、リーダ時計12の時刻修正が必要と判断したとき、クライアント3に対して、リーダ時計12の時刻の修正を指示するための時刻同期メッセージを生成し、生成した時刻同期メッセージをクライアント3に送信する。
【0076】
なお、時刻修正指示部503が生成時刻を割出す方式は様々な方式が考えられるが、例えば、時刻修正指示部503は、許容範囲内で生成されるOTPの中で、ユーザ6のOTPと一致するOTPが生成される許容範囲内の時刻を生成時刻として割出すことができる。
【0077】
図8は、リーダ時計12とサーバ時計502の時刻ズレを、時刻修正指示部503が算出する仕組みを説明する図である。図8において、認証時刻は「12:00」で、OTP認証部501は、認証時刻を基準とし、前後3分間の許容範囲を設けて、許容範囲内(ここでは、11:57〜12:03)の1分単位の時刻それぞれを暗号化してOTPを生成し、OTP認証部501が生成したOTPの中に、ユーザ6のOTPと一致するOTPがあるか確認することで、ユーザ6のOTPを認証する。
【0078】
例えば、リーダ時計12がサーバ時刻よりも2分進んでいた場合、ユーザ6のOTPを生成したときのリーダ時計12の時刻は「12:02」になり、クライアント3から認証サーバ5へ送信されるユーザ6のOTPの値は「890123」になる。
【0079】
OTP認証手段50のOTP認証部501が、クライアント3から送信されたユーザ6のOTPを認証するとき、図8で図示したOTPの中で、クライアント3から送信されたOTPは、「12:02」で生成されるOTPと一致するため、OTP認証部501は、ユーザ6を正当であると判断する。
【0080】
時刻修正指示部503は、ユーザ6のOTPと一致するOTPが生成される許容範囲内の時刻(ここでは、12:02)を生成時刻として割出し、認証時刻(ここでは、12:00)と生成時刻(ここでは、12:02)との差から、リーダ時計12とサーバ時計502の時刻ズレは2分と算出できる。
【0081】
なお、ユーザ6から取得したOTPの認証に失敗したとき、例えば、ユーザ6から取得したOTPが図8で記述したOTPのいずれとも一致しなかった場合、時刻修正指示部503は、時刻ズレを算出するためだけに、許容範囲の範囲を広げ(例えば、前後5分間)てOTPを生成して生成時刻を割出し、時刻ズレを算出してもよい。
【0082】
そして、OTP認証手段50の時刻修正指示部503は、リーダ時計12とサーバ時計502の時刻ズレが基準値(例えば、1分)より大きい場合は、リーダ時計12がサーバ時刻の時刻ズレを修正するための時刻同期メッセージを生成し、生成した時刻同期メッセージをクライアント3に送信する。
【0083】
時刻修正指示部503が生成する時刻同期メッセージには、リーダライタ1の時刻修正手段13を動作させるためのコマンドコードと、リーダ時計12の修正時間とが少なくとも含まれ、時刻同期メッセージに含まれる修正時間は、ユーザ6から取得したOTPを認証するときに利用したサーバ鍵510で暗号化する。
【0084】
認証サーバ5に送信された時刻同期メッセージはクライアント3に表示され、ユーザ6は、時刻同期メッセージをリーダライタ1に入力し、リーダライタ1の時刻修正手段13は、ICカード2のメッセージ復号コマンド21を用いて、時刻同期メッセージに含まれ修正時間をで復号し、復号した修正時間に従いリーダ時計12の時刻を修正する。
【0085】
ここから、ユーザ6のOTPを認証する手順と、リーダ時計12の時刻を修正する手順とについて説明する。図9は、ユーザ6のOTPを生成する手順を示した図、図10は、ユーザ6のOTPを認証し、時刻同期メッセージが生成される手順を示した図、図11は、時刻同期メッセージに従いリーダ時計12の時刻を修正する手順を示した図である。なお、図9の手順が実行される前に、ICカード2がリーダライタ1に挿入され、リーダライタ1によってICカード2は活性化されているものとする。
【0086】
ユーザ6はクライアント3を操作して認証サーバ5にアクセスし、ユーザ6が認証サーバ5のサービスの利用を要求すると(ステップS1)、認証サーバ5は、OTP認証手段50のOTP取得部500を作動させ、ユーザIDとユーザ6のOTPを入力するためのウェブページをクライアント3に送信し、ユーザ6に対し、ユーザ6のOTPとユーザIDの入力を要求する(ステップS2)。
【0087】
ユーザIDとユーザ6のOTPの入力を要求するためのウェブページがクライアント3に表示されると、ユーザ6はリーダライタ1のOTPボタン14を押し、リーダライタ1にOTP生成の指示を出す(ステップS3)。
【0088】
リーダライタ1はOTP生成の指示を受けると、PIN照合手段10が作動し、ユーザ6のPINの入力を促す画面をディスプレイ16に表示することで、ユーザ6にPINの入力を要求する(ステップS4)。
【0089】
ユーザ6にPINの入力を促す画面がリーダライタ1のディスプレイ16に表示されると、ユーザ6は、リーダライタ1のテンキー15を操作することで、PINをリーダライタ1に入力し(ステップS5)、リーダライタ1は、入力されたPINを含むPIN照合コマンド23のコマンドメッセージをICカード2に送信し、ICカード2にPINの認証を要求する(ステップS6)。
【0090】
リーダライタ1からPIN照合コマンド23のコマンドメッセージがICカード2に送信されると、ICカード2のPIN照合コマンド23が作動し、このコマンドメッセージに含まれるPINと参照PIN24を照合し(ステップS7)、PIN照合に成功したことを示すフラグをRAMに保持すると共に、PIN照合コマンド23の実行結果をリーダライタ1に返信する(ステップS8)。
【0091】
ICカード2がPINの照合に成功すると、リーダライタ1のOTP生成手段11が作動し、OTP生成手段11はリーダ時計12の時刻を取得し、取得した時刻を含むOTP生成コマンド20のコマンドメッセージをICカード2に送信し、OTPの生成をICカード2に要求する(ステップS9)。
【0092】
リーダライタ1からOTP生成コマンド20のコマンドメッセージがICカード2に送信されると、ICカード2は上述したフラグを参照し、PIN照合に成功していれば、ICカード2のOTP生成コマンド20が作動し、OTP生成コマンド20は、このコマンドメッセージに含まれるリーダ時計12の時刻を、非可逆性のアルゴリズムに従い暗号化することでOTPを生成し(ステップS10)、生成したOTPをリーダライタ1に返信する(ステップS11)。そして、リーダライタ1は、ICカード2から送信されたOTPをディスプレイ16に表示する(ステップS12)。
【0093】
ここから、図10を参照しながら説明する。リーダライタ1のディスプレイ16にOTPが表示されると、ユーザ6は、クライアント3を操作して、リーダライタ1に表示されたOTPとユーザIDを認証サーバ5から送信されたウェブページに入力し、クライアント3は、入力されたOTPとユーザIDを認証サーバ5に送信する(ステップS13)。
【0094】
認証サーバ5のOTP認証手段50は、OTP取得部500がユーザ6からOTPとユーザIDを取得すると、OTP認証部501を作動させ、OTP認証部501は、取得したユーザIDに関連付けられて認証サーバ5が記憶しているサーバ鍵510をデータベース51から取得する(ステップS14)。
【0095】
OTP認証手段50のOTP認証部501は、サーバ鍵510を取得すると、取得したサーバ鍵510を用いて、ICカード2のOTP生成コマンド20と同じ手順で暗号化することで、このときのサーバ時計502の時刻を基準とした許容範囲に含まれる1分単位の時刻におけるOTPを生成し、図8に図示したように、許容範囲に含まれる1分単位のそれぞれとOTPを関連付けて一次的に記憶する(ステップS15)。
【0096】
OTP認証手段50のOTP認証部501は、許容範囲内のOTPすべてを生成すると、ユーザ6から取得したユーザ6のOTPが、生成した許容範囲のOTPのいずれかと一致するか確認することで、クライアント3を操作しているユーザ6を認証する(ステップS16)。
【0097】
ユーザ6の認証に成功すると、時刻修正指示部503は、ユーザ6から取得したOTPと一致するOTPが生成される時刻を生成時刻として割出し、割出した生成時刻と認証時刻との差から、リーダ時計12とサーバ時計502の時刻ズレを算出し(ステップS17)、リーダ時計12の時刻を修正するための時刻同期メッセージを生成し(ステップS18)、生成した時刻同期メッセージをクライアント3に送信する(ステップS19)。
【0098】
図11は、時刻同期メッセージを用いて、リーダ時計12の時刻を修正する手順を示したフロー図である。図10のフローが実行され、認証サーバ5から時刻同期メッセージがクライアント3に送信されると、リーダライタ1のテンキー15の「#」を長押しするなどして、ユーザ6は、リーダライタ1にリーダ時計12の時刻修正を指示する(ステップS20)。
【0099】
リーダライタ1のテンキー15の「#」を長押されるとリーダライタ1のPIN照合手段10が作動し、ユーザ6のPINの入力を促す画面をディスプレイ16に表示することで、ユーザ6にPINの入力を要求する(ステップS21)。
【0100】
PINの入力を促す画面がリーダライタ1のディスプレイ16に表示されると、ユーザ6は、リーダライタ1のテンキー15を操作することで、PINをリーダライタ1に入力し(ステップS22)、時刻修正手段13は、入力されたPINを含むPIN照合コマンド23のコマンドメッセージをICカード2に送信し、ICカード2にPINの認証を要求する(ステップS23)。
【0101】
リーダライタ1からPIN照合コマンド23のコマンドメッセージがICカード2に送信されると、ICカード2のPIN照合コマンド23が作動し、このコマンドメッセージに含まれるPINと参照PIN24を照合し(ステップS24)、PIN照合に成功したことを示すフラグをRAMに保持すると共に、PIN照合コマンド23の実行結果をリーダライタ1に返信する(ステップS25)。
【0102】
PINの照合に成功すると、時刻修正手段13が作動し、時刻修正手段13は時刻同期メッセージの入力を要求する画面をディスプレイ16に表示し(ステップS26)、ユーザ6は、テンキー15を操作して、クライアント3に表示された時刻同期メッセージを入力する(ステップS27)。
【0103】
リーダライタ1は時刻同期メッセージが入力されると、リーダライタ1は入力された時刻同期メッセージを解析し、入力された時刻同期メッセージのコマンドコードが時刻同期メッセージのコマンドコードであれば、修正時間の暗号文を含むメッセージ復号コマンド21のコマンドメッセージをICカード2に送信する(ステップS28)。
【0104】
リーダライタ1からメッセージ復号コマンド21のコマンドメッセージが送信されると、ICカード2は上述したフラグを参照し、PIN照合に成功していれば、ICカード2のメッセージ復号コマンド21が作動し、メッセージ復号コマンド21は、ICカード鍵22を用い可逆性のアルゴリズムで、このコマンドメッセージに含まれる修正時間の暗号文を復号し(ステップS29)、復号した修正時間をリーダライタ1に返信する(ステップS30)。
【0105】
リーダライタ1は、ICカード2から修正時間が返信されると、時刻修正手段13は、時刻同期メッセージに含まれる修正時間に従い、リーダ時計12の時刻を修正し(ステップS31)、リーダ時計12の時刻の修正結果をディスプレイ16に表示する(ステップS32)。
【0106】
なお、本発明は、これまで説明した実施の形態に限定されることなく、種々の変形や変更が可能であって、それらも本発明の均等の範囲に含まれる。
【0107】
例えば、上述した形態においては、例えば、図8に図示したように、許容範囲内に含まれる1分単位の時刻におけるOTPをすべて生成した後、許容範囲内で生成されるOTPの中に、ユーザ6から取得したOTPと一致するOTPが含まれるか確認していたが、許容範囲の下限或いは上限から順にOTPを生成し、OTPを生成するごとにユーザ6から取得したOTPと比較することで、許容範囲内に生成されるOTPに、ユーザ6から取得したOTPと一致するOTPが含まれるか確認してもよい。
【0108】
また、上述した形態においては、ユーザ6から取得したOTPと同じOTPが生成されるサーバ時計502の時刻を割出すことで、ユーザ6のOTPが生成された生成時刻を割出していたが、ICカード2が生成するOTPに生成時刻を含ませ、認証サーバ5はユーザ6のOTPに含まれる生成時間を取得することで、ユーザ6のOTPの生成時刻を割出すようにしてもよい。
【0109】
このとき、ICカード2のOTP生成コマンド20は、リーダライタ1から送信されたリーダ時計12の時刻を、ICカード鍵22を用い可逆性のある暗号アルゴリズムで暗号化して含ませ、認証サーバ5は、クライアント3から送信されたユーザ6のOTPに含まれる時刻の暗号文をサーバ鍵510で復号しすることで生成時刻を割出す。
【0110】
ICカード2のOTP生成コマンド20が生成時刻をOTPに含ませるときは、図9のステップS10で、ICカード2のOTP生成コマンド20は、リーダライタ1から送信された時刻を生成時刻とし、ICカード鍵22を用い可逆性のあるアルゴリズムで暗号化してOTPに含ませ、図10のステップS17で、認証サーバ5は、ユーザ6から取得したOTPと一致するOTPが生成される時刻を生成時刻として割出す代わりに、サーバ鍵510を用いて、OTPに含まれる生成時刻を復号し、リーダ時計12とサーバ時計502との時刻ズレを算出する。
【0111】
更に、本実施の形態においては、リーダライタ1に備えられたテンキー15によって、PINや時刻修正メッセージなどがリーダライタ1に入力されるが、クライアント3とリーダライタ1を電気的に接続し、クライアント3に入力されたPINや時刻修正メッセージなどをクライアント3からリーダライタ1に送信するようにしてもよい。
【図面の簡単な説明】
【0112】
【図1】時刻同期方式のOTPを用いてユーザ認証するシステムを説明する図。
【図2】ICカードの外観図。
【図3】ICカードのブロック図。
【図4】リーダライタの上面図。
【図5】リーダライタのブロック図。
【図6】認証サーバのブロック図。
【図7】データベースを説明する図。
【図8】時刻ズレを時刻修正指示部が算出する仕組みを説明する図。
【図9】ユーザのOTPを生成する手順を示した図。
【図10】ユーザのOTPを認証し、時刻同期メッセージが生成される手順を示した図。
【図11】リーダ時計12の時刻を修正する手順を示した図。
【符号の説明】
【0113】
1 リーダライタ
10 PIN照合手段
11 OTP生成手段
12 リーダ時計
13 時刻修正手段
14 OTPボタン
15 テンキー
16 ディスプレイ
17 インターフェース手段
18 挿入口
2 ICカード
20 OTP生成コマンド
21 メッセージ復号コマンド
22 ICカード鍵
23 PIN照合コマンド
24 参照PIN
3 クライアント
4 ネットワーク
5 認証サーバ
6 ユーザ
50 OTP認証手段
500 OTP取得手段
501 OTP認証部
502 サーバ時計
503 時刻修正指示部
51 データベース
510 サーバ鍵
【技術分野】
【0001】
本発明は、時刻同期方式のワンタイムパスワードを用いたユーザ認証の技術分野に属する。
【背景技術】
【0002】
フィッシング詐欺やスパイウェア対策として、ネットバンキングなどの用途で二要素認証が注目を集めている。二要素認証とは、異なる性質を持つ二つの認証要素を組み合せてユーザを認証する方式である。
【0003】
二要素認証でユーザを認証するときは、「自分だけが知っている(know)」に係る認証要素であるPIN(Personal Identification Number)などのパスワードと、「自分だけが知っている(know)」に係る認証要素以外の認証要素を用いてユーザ認証することが一般的である。
【0004】
「自分だけが知っている(know)」以外の認証要素としては、「自分自身(is)」に係る認証要素であるバイオメトリクス情報(例えば、指紋)を用いる場合もあるが、バイオメトリクス情報に対してユーザは強い抵抗感をもつため、「自分だけが持っている(has)」に係る認証要素であるワンタイムパスワード(OTP: One Time Password)を利用するケースが増えている。
【0005】
時刻同期方式のOTPを用いてユーザ認証するとき、特許文献1で記載されているように、ユーザは、内蔵された時計の時刻をパラメータとしてOTPを生成する機能を備えたトークン(特許文献1では携帯電話)を所持し、ユーザは、このトークンによって生成されたOTPをパーソナルコンピュータに入力するなどしてサーバに送信し、サーバはユーザから取得したOTPを認証する。
【0006】
しかし、上述した時刻同期方式のOTPを用いたユーザ認証においては、以下に述べるように、解決すべき問題がある。
【0007】
一つ目の問題は、認証用のトークンとして広く普及しているICカードを、時刻同期方式のトークンとして利用できないことである。ICカードは、カウンタ同期方式のOTPを生成するときに利用するカウンタを電気的に書換え可能な不揮発性メモリに記憶できるが、ICカード自体は電源を有さず時計を内蔵させることが不可能であるため、ICカードを時刻同期方式のトークンとして利用することはできなかった。
【0008】
また、二つ目の問題は、トークンとサーバ間の時刻同期のズレが生じるたときに、サーバ側がトークン内で生成された時刻同期方式のOTPを認証できなくなってしまうことである。
【0009】
時刻同期方式のOTPを用いたユーザ認証においては、トークンとサーバ間の時刻同期のズレがなければユーザ認証に支障は生じないが、実際は、トークンの時計とサーバの時計の間に時刻ズレが生じてしまう。そこで、サーバがOTPを認証するときは、ユーザ認証するときの時刻を基準とした前後数分間の許容範囲を設け、ユーザから取得したOTPが、この許容範囲内で生成されるOTPのいずれかと一致するか確認している。
【0010】
しかし、トークンとサーバ間の時刻同期のズレが大きくなると、許容範囲内で生成されるOTPのいずれともユーザから取得したOTPは一致することはなく、正当なユーザであるにも関わらずユーザ認証に失敗するため、時刻同期方式のOTPを用いたユーザ認証においては、トークンの時刻をサーバの時刻に合わせることが必要となる。
【0011】
時刻を調整する機構をトークンに設けることで、トークンとサーバの時刻を合わせることは容易に実現できるが、ユーザ自身がトークンの時計の時刻を任意に合わせることが可能であると、ユーザがトークンの時計の時刻を故意的に進めることで、ユーザは将来のOTPを知り得ることができ、セキュリティ的に好ましくない。
【0012】
また、特許文献2で開示されているように、標準時刻をのせている標準電波を受信する機能をトークンに備えさせることも考えられるが、トークン自体に標準電波を受信する特別な装置が必要になってしまうし、何よりも、時刻同期方式においては、トークンの内部時計とサーバの内部時計を同期させることが重要であるが、特許文献2の発明は、トークンの時計をサーバの時計に合わせるための発明ではない。
【特許文献1】特開2002−259344号公報
【特許文献2】特開2005−50292号公報
【発明の開示】
【発明が解決しようとする課題】
【0013】
そこで本発明は、キャッシュカードや社員証などの用途で幅広く利用されているICカードを用いて時刻同期方式のOTPを生成し、生成したOTPを認証するための技術を提供することで、ICカードを所持するユーザの利便性を高め、更に、ICカードを用いて時刻同期方式のOTPを生成する側で生じる時刻同期ズレを速やかに修正する技術を提供することで、安全な時刻同期の仕組みを提供する。
【課題を解決するための手段】
【0014】
上述した課題を解決する第1の発明は、独立して動作する時計を内蔵したインターフェースデバイスと、前記インターフェースデバイスから送信される時刻を一定の手順に従い演算することで、時刻同期方式のワンタイムパスワード(OTP: One Time Password)を生成するOTP生成コマンドを備えたICカードとを用いて、前記OTPを生成する方法であって、前記インターフェースデバイスと前記ICカードとを電気的に結合させた状態で、前記インターフェースデバイスから前記ICカードに、前記OTPの生成指示を受けたときの前記時計の時刻を含む前記OTP生成コマンドのコマンドメッセージを送信し、前記ICカードの前記OTP生成コマンドを用いて、前記インターフェースデバイスから送信された前記時計の時刻に基づく前記OTPを生成することを特徴とする方法である。
【0015】
上述した第1の発明によれば、前記ICカードと前記インターフェースデバイスを組み合せることで、一般的に利用されている時刻同期方式のトークンの機能を実現することができようになる。
【0016】
なお、ここで前記インターフェースデバイスとは、前記ICカードが装着され、前記ICカードと電気的に結合しデータ通信する機器を意味し、前記インターフェースデバイスとしてはICカードリーダライタが好適である。
【0017】
更に、上述した第1の発明によれば、ユーザごとに前記ICカードは異なっていても、ユーザごとに前記インターフェースデバイスを共有化することができるため、この方法を実現するためのコストを抑えることができる。
【0018】
更に、第2の発明は、第1の発明に記載の方法であって、前記ICカードは、前記インターフェースデバイスから送信されるPINを照合するためのPIN照合コマンドを備え、前記方法は、前記ICカードは、前記インターフェースデバイスから送信された前記PIN認証コマンドのコマンドメッセージに含まれる前記PINを照合し、前記PINの照合に成功したときのみ、前記OTP生成コマンドの実行を許可することを特徴とする方法である。
【0019】
上述した第2の発明によれば、前記OTPを生成するときに前記PINの照合を必要とすることで、前記OTPの不正な使用を防止することができる。
【0020】
更に、第3の発明は、時刻同期方式のワンタイムパスワード(OTP: One Time Password)を生成・認証する方法であって、前記OTPを生成するときに利用する第1の時計を内蔵インターフェースデバイスが、前記インターフェースデバイスから送信される時刻を一定の手順に従い演算することで前記OTPを生成するOTP生成コマンドを備えたICカードに対し、前記OTPを生成するときの前記第1時計の時刻(生成時刻)を含む前記OTP生成コマンドのコマンドメッセージを送信し、前記ICカードの前記OTP生成コマンドが生成した前記OTPを前記ICカードから取得するOTP生成工程と、第2の時計を備えた認証サーバが、前記ICカードを所持するユーザから前記OTP生成工程で生成された前記OTPを取得し、前記ユーザの前記OTPを認証するときの第2の時計の時刻(認証時刻)を基準とした許容範囲内の時刻で生成される前記OTPを前記ICカードと同じ手順で生成し、前記ユーザの前記OTPを認証するOTP認証工程と、を含むことを特徴とする方法である。
【0021】
更に、第4の発明は、第3の発明に記載の方法において、前記ICカードは、前記インターフェースデバイスから送信されるPINを照合するためのPIN照合コマンドを備え、前記方法は、前記インターフェースデバイスは、前記インターフェースデバイスに入力された前記PINを含む前記PIN認証コマンドのコマンドメッセージを前記ICカードに送信し、前記ICカードが、前記インターフェースデバイスから送信された前記PINを照合するPIN照合工程を含み、前記PIN照合工程で前記PINの照合に成功したときのみ、前記OTP生成工程が実行されることを特徴とする方法である。
【0022】
第3の発明から第4の発明によれば、上述した第1の発明から第2の発明と同様の効果が得られる。
【0023】
更に、第5の発明は、第3の発明または第4の発明に記載の方法であって、前記OTP認証工程において、前記認証サーバは、前記OTPを認証するときに、前記ユーザの前記OTPが生成された前記生成時刻を割出し、前記生成時刻と前記認証時刻との時刻ズレを修正するための時刻同期メッセージを生成した後、前記時刻同期メッセージに含まれる修正時間を少なくとも暗号化する時刻同期メッセージ作成工程と、前記時刻同期メッセージ作成工程で生成された前記時刻同期メッセージが前記インターフェースデバイスに入力され、前記インターフェースデバイスが前記ICカードを用いて前記時刻同期メッセージに含まれる修正時間を復号し、復号した修正時間に従い前記第1の時計の時刻を修正する時刻修正工程と、が順に実行されることを特徴とする方法である。
【0024】
上述した第5の発明によれば、前記認証サーバが、取得した前記OTPが生成された時刻である生成時刻を割出し、前記インターフェースデバイスに備えられた前記第1の時計の時刻を修正するための前記時刻修正メッセージを生成し、前記時刻修正メッセージを用いて前記インターフェースデバイスの時刻を修正することで、前記インターフェースデバイスの時刻を前記認証サーバの時刻に合わせることができる。
【0025】
更に、前記認証サーバが生成するとき、前記時刻修正メッセージに含まれる前記修正時間を暗号化することで、前記ユーザは前記時刻修正メッセージを改竄することはできなくなるため、安全な時刻同期の仕組みを提供することでできる。
【0026】
更に、第6の発明は、第5の発明に記載の方法であって、前記認証サーバは、前記ICカードと同じ手順で前記OTPを生成し、前記ユーザの前記OTPと一致する前記OTPが生成される前記第2の時の時刻を前記生成時刻として割出すことを特徴とする方法である。
【0027】
更に、第7の発明は、第5の発明に記載の方法であって、前記OTP生成工程において、前記ICカードの前記OTP生成コマンドは、前記インターフェースデバイスから送信された前記生成時刻を可逆性のアルゴリズムで暗号化して前記ユーザの前記OTPに含ませ、前記時刻同期メッセージ作成工程において、前記認証サーバは、前記ユーザの前記OTPに含まれる前記生成時刻を復号し前記生成時刻を割出すことを特徴とする方法である。
【0028】
上述した第5の発明において、前記認証サーバが前記生成時刻を割出す方式は、第6の発明または第7の発明に記述した方式で実現できる。
【0029】
更に、第8の発明は、時刻同期方式のワンタイムパスワード(OTP: One Time Password)を生成するためのICカードシステムであって、独立して動作する時計を内蔵したインターフェースデバイスと、前記インターフェースデバイスと組合されて利用されるICカードとから、少なくとも構成され、前記ICカードは、前記インターフェースデバイスから送信される時刻を一定の手順に従い演算することで前記OTPを生成するOTP生成コマンドを備え、前記インターフェースデバイスは、前記ICカードとを電気的に結合しデータ通信するインターフェース手段と、前記OTPの生成指示を受けたとき、前記時計の時刻を含む前記OTP生成コマンドのコマンドメッセージを前記ICカードに送信し、前記ICカードに前記OTPを生成させるOTP生成手段とを備えていることを特徴とするICカードシステムである。
【0030】
更に、第9の発明は、第8の発明に記載のICカードシステムであって、前記ICカードは、前記インターフェースデバイスから送信されるPINを照合するためのPIN照合コマンドを備え、前記インターフェースデバイスから送信された前記PINの照合に成功したときのみ、前記OTP生成コマンドの実行を許可し、前記インターフェースデバイスは、前記PINが入力されるPIN入力手段と、前記PINを含む前記PIN認証コマンドのコマンドメッセージを前記ICカードに送信するPIN照合手段とを備えていることを特徴とするICカードシステムである。
【0031】
第8の発明から第9の発明によれば、上述した第1の発明から第2の発明と同様の効果が得られる。
【0032】
更に、第10の発明は、外部装置から送信される時刻を一定の手順に従い演算することで、時刻同期方式のワンタイムパスワード(OTP: One Time Password)を生成するOTP生成コマンドを備えたICカードと組み合わされて利用されるインターフェースデバイスであって、前記インターフェースデバイスは、前記OTPを生成するときに利用する時計と、前記時計の時刻を取得し、取得した時刻を含む前記OTP生成コマンドのコマンドメッセージを前記ICカードに送信するOTP生成手段をと備えた前記インターフェースデバイスである。
【0033】
更に、第11の発明は、第10の発明に記載のインターフェースデバイスであって、前記インターフェースデバイスは、前記時計の時刻を修正するための時刻同期メッセージが入力されたとき、前記時刻同期メッセージで示される修正時間に従い、前記時計の時刻を修正する時刻修正手段と、前記時刻同期メッセージが入力されるメッセージ入力手段とを備えていることを特徴とするインターフェースデバイスである。
【0034】
更に、第12の発明は、第11の発明に記載のインターフェースデバイスであって、前記ICカードは、暗号文を復号する復号コマンドを備え、前記時刻同期メッセージには、前記ICカードで復号可能な状態で前記修正時間が含まれ、前記インターフェースデバイスの前記時刻修正手段は、前記ICカードを用いて、前記時刻同期メッセージに含まれる前記修正時間を復号し、復号した前記修正時間に従い、前記時計の時刻を修正することを特徴とするインターフェースデバイスである。
【0035】
更に、第13の発明は、第10の発明から第12の発明のいずれか一つに記載のインターフェースデバイスであって、前記ICカードは、前記インターフェースデバイスから送信されるPINを照合するためのPIN照合コマンドを備え、前記インターフェースデバイスは、前記PINが入力されるPIN入力手段と、前記PINを含む前記PIN認証コマンドのコマンドメッセージを前記ICカードに送信するPIN照合手段とを備え、前記ICカードから前記PINの照合に成功したことを示すレスポンスを受信したときのみ、前記OTP生成手段および前記時刻修正手段の作動を許可することを特徴とするインターフェースデバイスである。
【0036】
更に、第14の発明は、時刻同期方式のワンタイムパスワード(OTP: One Time Password)を生成するときに利用されるICカードであって、前記ICカードを装着するインターフェースデバイスから送信される時刻を一定の手順に従い演算することで前記OTPを生成し、生成した前記OTPを前記インターフェースデバイスに返信するOTP生成コマンドを備えたことを特徴とするICカードである。
【0037】
更に、第15の発明は、第14の発明に記載のICカードであって、前記インターフェースデバイスから送信されるPINを照合するPIN照合コマンドを備え、前記PINの照合に成功したときのみ、前記OTP生成コマンドの実行を許可することを特徴とするICカードである。
【0038】
更に、第16の発明は、第14の発明または第15の発明に記載のICカードであって、前記ICカードに備えられた前記OTP生成コマンドは、前記インターフェースデバイスから送信された時刻を可逆性のアルゴリズムで暗号化し、生成する前記OTPに含ませることを特徴とするICカードである。
【0039】
また、第10の発明から第13の発明は、本発明に係わる方法を実現するために必要な前記インターフェースデバイスで、第14の発明から第16の発明は、本発明に係わる方法を実現するために必要な前記ICカードである。
【発明の効果】
【0040】
上述した本発明によれば、キャッシュカードや社員証などの用途で幅広く利用されているICカードを用いて時刻同期方式のOTPを生成し、生成したOTPを認証するための技術を提供でき、ICカードを所持するユーザの利便性を高め、更に、ICカードを用いて時刻同期方式のOTPを生成する側で生じる時刻同期ズレを速やかに修正する技術を提供することで、安全な時刻同期の仕組みを提供できる。
【発明を実施するための最良の形態】
【0041】
ここから、本発明について図を参照しながら詳細に説明する。図1は、時刻同期方式のワンタイムパスワード(OTP: One Time Password)を用いてユーザ認証するシステムを説明する図である。
【0042】
図1において、ユーザ6は、ICカード2と、ICカード2を利用するインターフェースデバイスであるリーダライタ1とを所持し、ユーザ6が操作するクライアント3と認証サーバ5はネットワーク4を介して接続され、認証サーバ5は、クライアント3から送信される時刻同期方式のOTPを認証する機能を有している。
【0043】
一般的に時刻同期方式のOTPは、時計を内蔵する携帯電話などのトークン内部において、OTPを生成するときの時刻を暗号化することで生成されるが、本発明において、OTPを生成するときに利用される時計はリーダライタ1に内蔵され、リーダライタ1の時計(以下、リーダ時計)の時刻を暗号化しOTPを生成する機能はICカード2に備えられている。
【0044】
認証サーバ5がユーザ6にサービスを供与するためにユーザ認証するとき、ユーザ6は、ICカード2をリーダライタ1に装着してユーザ6のOTPを生成し、生成したユーザ6のOTPをクライアント3に入力する。
【0045】
ユーザ6がクライアント3に入力したユーザ6のOTPは、ネットワークを経由して認証サーバ5に送信される。認証サーバ5は時計(以下、サーバ時計)を備え、クライアント3から送信されたOTPを認証するときの時刻からOTPを生成し、クライアント3から送信されたユーザ6のOTPを認証する。
【0046】
時刻同期方式のOTPを用いてユーザ認証するとき、サーバ時計とリーダ時計の時刻は同期していなければならないが、実際は、サーバ時計とリーダ時計間の同期時刻のズレが生じてしまい、サーバ時計の時刻にリーダ時計の時刻を合わせることが必要となる。
【0047】
リーダ時計の時刻をサーバ時計の時刻に合わせるために、図1で図示した認証サーバ5には、リーダライタ1がOTPを生成したときのリーダ時計の時刻である生成時刻を割出し、OTPを認証するときのサーバ時計の時刻である認証時刻と生成時刻の時刻ズレを算出し、リーダ時計の時刻を修正するためのメッセージ(以下、時刻同期メッセージ)を生成する機能を有し、リーダライタ1は、この時刻同期メッセージに従いリーダ時計の時刻を修正する機能を有している。
【0048】
まず、ユーザ6が所持するICカード2について説明する。図2は、ICカード2の外観図で、図3はICカード2のブロック図である。
【0049】
ICカード2は、キャッシュカードサイズのカード媒体にICチップが実装されたカードで、図示はしていなが、ICカード2に実装されるICチップには、中央演算装置(Central Processing Unit、以下CPUと記す)、読み出し専用メモリ(Read Only Memory、以下ROMと記す)、書換え可能なメモリとしてEEPROM(Electrically Erasable Programmable Read-Only Memoryの略)、揮発性メモリとしてランダムアクセスメモリ(Random Access Memory、以下、RAMと記す)、更に、リーダライタ1とデータ通信するための通信インターフェースなどを備えている。
【0050】
なお、図2においては、ICカード2を接触ICカードとして図示しているが、本発明は何らICカード2の通信方式に依存するものではなく、無線でデータ通信する非接触ICカード、または、接触データ通信と非接触データ通信の2つの通信機能を備えたデュアルインターフェースICカードであってもよい。加えて、ICカード2は、ICチップの近辺を短冊状に切り取った形状をしているSIM(Subscriber Identity Module)であってもよい。
【0051】
図3に示したように、ICカード2には、本発明を実現するために、ICカード2は、暗号化/復号するときに利用される暗号鍵であるICカード鍵22を、ROMまたはEEPROMに記憶している。
【0052】
更に、ICカード2は、ICカード鍵22を用い、リーダライタ1から送信される時刻を非可逆性のアルゴリズム(例えば、DESを連鎖させたハッシュ関数)で暗号化することでOTPを生成するOTP生成コマンド20と、ICカード鍵22を用い、リーダライタ1から送信された暗号文を、可逆性の暗号アルゴリズム(例えば、トリプルDES)で復号するメッセージ復号コマンド21とを備えている。
【0053】
なお、本実施の形態では、OTP生成コマンド20のアルゴリズムがDESを連鎖させたハッシュ関数で、メッセージ復号コマンド21のアルゴリズムがトリプルDESとしているため、OTP生成コマンド20とメッセージ復号コマンド21で同一の暗号鍵(ここでは、ICカード鍵22)を利用することができる。当然のことながら、OTP生成コマンド20とメッセージ復号コマンド21が利用する暗号鍵をそれぞれ異なる暗号鍵としてもよい。
【0054】
更に、ICカード2は、外部装置(ここでは、リーダライタ1)から送信されるPINと照合される参照PIN24を記憶し、外部装置(ここでは、リーダライタ1)から送信されるPINと参照PIN24を照合するPIN照合コマンド23を備え、ICカード2には、PINの照合に成功した場合のみ、OTP生成コマンド20およびメッセージ復号コマンド21を実行することができる機能が備えられている。
【0055】
ICカード2に備えられたOTP生成コマンド20、メッセージ復号コマンド21およびPIN照合コマンド23は、ICカード2のCPUを動作させるためのICカードプログラムで実現され、これらのコマンドのプログラムコードは、ROMまたはEEPROMに記憶される。
【0056】
ここから、リーダライタ1について説明する。図4はリーダライタ1の上面図で、図5はリーダライタ1のブロック図である。
【0057】
図4に図示したように、ユーザ6が所持するリーダライタ1には、ICカード2が挿入される挿入口18と、OTPを生成するときにユーザ6が押すOTPボタン14と、ユーザ6がPINなどのメッセージを入力するときに利用するテンキー15と、そして、ICカード2から受信したOTPなどを表示するディスプレイ16とを備える。
【0058】
更に、図5に図示したように、リーダライタ1は、上述した要素に加え、リーダ時計12と、テンキー15を用いて入力されたPINを照合するPIN照合手段10と、ICカード2を利用して時刻同期方式のOTPを生成する手段であるOTP生成手段11と、リーダライタ1に入力された時刻同期メッセージに従いリーダ時計12の時刻を修正するための時刻修正手段13と、挿入口18から挿入されたICカード2と電気的に結合しデータ通信するためのインターフェース手段17とを備えている。なお、図示しはしていないが、リーダライタ1は電池を内蔵し、リーダライタ1が動作するために必要な電源はこの電池から供給される。
【0059】
リーダライタ1の挿入口18からICカード2が挿入され、インターフェース手段17がICカード2を検出すると、インターフェース手段17はICカード2を活性化し、リーダライタ1とICカード2間のデータ通信が可能となる。
【0060】
リーダライタ1が、ICカード2を活性化した後、ユーザ6がOTPボタン14を押すと、PIN照合手段10が作動し、リーダライタ1はPINの入力を受け付ける状態になる。テンキー15によってPINが入力されると、PIN照合手段10は、入力されたPINを含むPIN照合コマンド23のコマンドメッセージをICカード2に送信し、ICカード2にPINを照合させる。
【0061】
PINの照合に成功すると、リーダライタ1に備えられたOTP生成手段11が作動し、ボタンが押されたときのリーダ時計12の時刻を含むOTP生成コマンド20のコマンドメッセージをICカード2に送信する。
【0062】
ICカード2は、リーダライタ1からOTP生成コマンド20のコマンドメッセージが送信されると、ICカード鍵22を用い、非可逆性のアルゴリズムでリーダライタ1から送信された時刻を暗号化することでOTPを生成し、生成したOTPをリーダライタ1に返信する。
【0063】
リーダライタ1のOTP生成手段11は、ICカード2から受信したOTPを受信すると、ICカード2から受信したOTPをディスプレイ16に表示する。
【0064】
更に、リーダライタ1に備えられた時刻修正手段13は、テンキー15の「♯」のボタンが長押しされるなどすると、PIN照合手段10が作動し、上述した内容でPINの照合に成功すると、認証サーバ5からクライアント3に送信された時刻同期メッセージの入力を受け付ける状態に遷移する。
【0065】
認証サーバ5からクライアント3に送信される時刻同期メッセージは、後述するように認証サーバ5によって生成され、セキュアにリーダ時計12の時刻を修正できるように、少なくとも時刻同期メッセージに含まれる修正時間は、ICカード2に記憶されたICカード鍵22を用いて復号できる形式で暗号化されている。
【0066】
テンキー15によって時刻同期メッセージが入力されると、リーダライタ1の時刻修正手段13が作動し、時刻修正手段13は、時刻同期メッセージに含まれる修正時間の暗号文を含むメッセージ復号コマンド21のコマンドメッセージをICカード2に送信することで、時刻同期メッセージに含まれる修正時間を復号し、復号した修正時間に従いリーダ時計12を修正する。
【0067】
図1で図示したクライアント3には、ユーザ6が認証サーバ5にアクセスするときに利用されるブラウザがインストールされ、ユーザ6がアクセスする認証サーバ5は、サービスを提供するビジネスロジックの一つの機能として、クライアント3から送信されるOTPを用いて、クライアント3を操作するユーザ6を認証する機能を有する。
【0068】
図6は認証サーバ5のブロック図で、図6に図示したように、認証サーバ5は、クライアント3から送信されるOTPを認証する機能を実現するために、OTP認証手段50と、ユーザ6が所持するICカード2に記憶されたICカード鍵22と対になる暗号鍵(以下、サーバ鍵)を記憶したデータベース51を備え、OTP認証手段50は、認証するユーザ6のユーザID及びOTPを取得するOTP取得部500と、データベース51を参照してOTPを生成し、ユーザ6から取得したOTPを認証するOTP認証部501と、OTPを認証するときに利用するサーバ時計502とを有している。
【0069】
更に、認証サーバ5のOTP認証手段50は、ユーザ6から取得したOTPを認証した結果、リーダ時計12の時刻を修正する必要があると判断したとき、リーダ時計12の時刻の修正をユーザ6に指示する時刻修正指示部503を有する。
【0070】
認証サーバ5のOTP認証手段50のOTP取得部500、OTP認証部501および時刻修正指示部503は、認証サーバ5のCPUを動作させるコンピュータプログラムで実現され、サーバ時計502は一般的なサーバに備えられた時計で実現され、データベース51はハードディスクなどの情報記憶装置で実現される。
【0071】
図7は、データベース51を説明する図である。データベース51には、ユーザ6ごとに割り振られた識別データであるユーザIDに関連付けて、ユーザ6が所持するリーダライタ1に記憶されたICカード鍵22と対になるサーバ鍵510が記憶されている。
【0072】
認証サーバ5に備えられたOTP認証手段50のOTP取得部500は、認証サーバ5にアクセスするユーザ6からユーザIDとOTPを受け付けるウェブページを有し、このウェブページは、少なくとも、ユーザ6がユーザIDを入力するフォームと、ユーザ6がOTPを入力するフォームが含まれる。認証サーバ5にアクセスするユーザ6は、このウェブページに、ユーザ6側で生成したユーザ6のOTPと、ユーザIDとを入力する。
【0073】
OTP認証手段50のOTP認証部501は、ユーザ6のOTPを認証するときに利用するOTPを生成する機能を有し、OTP取得部500が取得したユーザ6のOTPを認証するときに、データベース51を参照し、OTP取得部500が取得したユーザIDに関連付けられているサーバ鍵510を取得し、ユーザ6のOTPを認証するときのサーバ時計502の時刻(以下、認証時刻)を基準とし前後数分間(例えば、3分間)の許容範囲を設け、許容範囲に含まれる一分単位の時刻それぞれを、取得したサーバ鍵510を用いて、ICカード2のOTP生成コマンド20と同じアルゴリズムで暗号化することで、許容範囲内の時刻におけるOTPすべてを生成する。
【0074】
そして、OTP認証部501は、ユーザ6から取得したOTPが、許容範囲内で生成されるOTPのいずれかと一致するか確認することで、OTP取得部500が取得したユーザ6のOTPを認証する。
【0075】
時刻修正指示部503は、ユーザ6から取得したOTPを認証する際に、リーダライタ1がOTPを生成したときのリーダ時計12の時刻(以下、生成時刻)を割出し、リーダ時計12とサーバ時計502の時刻ズレを算出し、リーダ時計12の時刻修正が必要と判断したとき、クライアント3に対して、リーダ時計12の時刻の修正を指示するための時刻同期メッセージを生成し、生成した時刻同期メッセージをクライアント3に送信する。
【0076】
なお、時刻修正指示部503が生成時刻を割出す方式は様々な方式が考えられるが、例えば、時刻修正指示部503は、許容範囲内で生成されるOTPの中で、ユーザ6のOTPと一致するOTPが生成される許容範囲内の時刻を生成時刻として割出すことができる。
【0077】
図8は、リーダ時計12とサーバ時計502の時刻ズレを、時刻修正指示部503が算出する仕組みを説明する図である。図8において、認証時刻は「12:00」で、OTP認証部501は、認証時刻を基準とし、前後3分間の許容範囲を設けて、許容範囲内(ここでは、11:57〜12:03)の1分単位の時刻それぞれを暗号化してOTPを生成し、OTP認証部501が生成したOTPの中に、ユーザ6のOTPと一致するOTPがあるか確認することで、ユーザ6のOTPを認証する。
【0078】
例えば、リーダ時計12がサーバ時刻よりも2分進んでいた場合、ユーザ6のOTPを生成したときのリーダ時計12の時刻は「12:02」になり、クライアント3から認証サーバ5へ送信されるユーザ6のOTPの値は「890123」になる。
【0079】
OTP認証手段50のOTP認証部501が、クライアント3から送信されたユーザ6のOTPを認証するとき、図8で図示したOTPの中で、クライアント3から送信されたOTPは、「12:02」で生成されるOTPと一致するため、OTP認証部501は、ユーザ6を正当であると判断する。
【0080】
時刻修正指示部503は、ユーザ6のOTPと一致するOTPが生成される許容範囲内の時刻(ここでは、12:02)を生成時刻として割出し、認証時刻(ここでは、12:00)と生成時刻(ここでは、12:02)との差から、リーダ時計12とサーバ時計502の時刻ズレは2分と算出できる。
【0081】
なお、ユーザ6から取得したOTPの認証に失敗したとき、例えば、ユーザ6から取得したOTPが図8で記述したOTPのいずれとも一致しなかった場合、時刻修正指示部503は、時刻ズレを算出するためだけに、許容範囲の範囲を広げ(例えば、前後5分間)てOTPを生成して生成時刻を割出し、時刻ズレを算出してもよい。
【0082】
そして、OTP認証手段50の時刻修正指示部503は、リーダ時計12とサーバ時計502の時刻ズレが基準値(例えば、1分)より大きい場合は、リーダ時計12がサーバ時刻の時刻ズレを修正するための時刻同期メッセージを生成し、生成した時刻同期メッセージをクライアント3に送信する。
【0083】
時刻修正指示部503が生成する時刻同期メッセージには、リーダライタ1の時刻修正手段13を動作させるためのコマンドコードと、リーダ時計12の修正時間とが少なくとも含まれ、時刻同期メッセージに含まれる修正時間は、ユーザ6から取得したOTPを認証するときに利用したサーバ鍵510で暗号化する。
【0084】
認証サーバ5に送信された時刻同期メッセージはクライアント3に表示され、ユーザ6は、時刻同期メッセージをリーダライタ1に入力し、リーダライタ1の時刻修正手段13は、ICカード2のメッセージ復号コマンド21を用いて、時刻同期メッセージに含まれ修正時間をで復号し、復号した修正時間に従いリーダ時計12の時刻を修正する。
【0085】
ここから、ユーザ6のOTPを認証する手順と、リーダ時計12の時刻を修正する手順とについて説明する。図9は、ユーザ6のOTPを生成する手順を示した図、図10は、ユーザ6のOTPを認証し、時刻同期メッセージが生成される手順を示した図、図11は、時刻同期メッセージに従いリーダ時計12の時刻を修正する手順を示した図である。なお、図9の手順が実行される前に、ICカード2がリーダライタ1に挿入され、リーダライタ1によってICカード2は活性化されているものとする。
【0086】
ユーザ6はクライアント3を操作して認証サーバ5にアクセスし、ユーザ6が認証サーバ5のサービスの利用を要求すると(ステップS1)、認証サーバ5は、OTP認証手段50のOTP取得部500を作動させ、ユーザIDとユーザ6のOTPを入力するためのウェブページをクライアント3に送信し、ユーザ6に対し、ユーザ6のOTPとユーザIDの入力を要求する(ステップS2)。
【0087】
ユーザIDとユーザ6のOTPの入力を要求するためのウェブページがクライアント3に表示されると、ユーザ6はリーダライタ1のOTPボタン14を押し、リーダライタ1にOTP生成の指示を出す(ステップS3)。
【0088】
リーダライタ1はOTP生成の指示を受けると、PIN照合手段10が作動し、ユーザ6のPINの入力を促す画面をディスプレイ16に表示することで、ユーザ6にPINの入力を要求する(ステップS4)。
【0089】
ユーザ6にPINの入力を促す画面がリーダライタ1のディスプレイ16に表示されると、ユーザ6は、リーダライタ1のテンキー15を操作することで、PINをリーダライタ1に入力し(ステップS5)、リーダライタ1は、入力されたPINを含むPIN照合コマンド23のコマンドメッセージをICカード2に送信し、ICカード2にPINの認証を要求する(ステップS6)。
【0090】
リーダライタ1からPIN照合コマンド23のコマンドメッセージがICカード2に送信されると、ICカード2のPIN照合コマンド23が作動し、このコマンドメッセージに含まれるPINと参照PIN24を照合し(ステップS7)、PIN照合に成功したことを示すフラグをRAMに保持すると共に、PIN照合コマンド23の実行結果をリーダライタ1に返信する(ステップS8)。
【0091】
ICカード2がPINの照合に成功すると、リーダライタ1のOTP生成手段11が作動し、OTP生成手段11はリーダ時計12の時刻を取得し、取得した時刻を含むOTP生成コマンド20のコマンドメッセージをICカード2に送信し、OTPの生成をICカード2に要求する(ステップS9)。
【0092】
リーダライタ1からOTP生成コマンド20のコマンドメッセージがICカード2に送信されると、ICカード2は上述したフラグを参照し、PIN照合に成功していれば、ICカード2のOTP生成コマンド20が作動し、OTP生成コマンド20は、このコマンドメッセージに含まれるリーダ時計12の時刻を、非可逆性のアルゴリズムに従い暗号化することでOTPを生成し(ステップS10)、生成したOTPをリーダライタ1に返信する(ステップS11)。そして、リーダライタ1は、ICカード2から送信されたOTPをディスプレイ16に表示する(ステップS12)。
【0093】
ここから、図10を参照しながら説明する。リーダライタ1のディスプレイ16にOTPが表示されると、ユーザ6は、クライアント3を操作して、リーダライタ1に表示されたOTPとユーザIDを認証サーバ5から送信されたウェブページに入力し、クライアント3は、入力されたOTPとユーザIDを認証サーバ5に送信する(ステップS13)。
【0094】
認証サーバ5のOTP認証手段50は、OTP取得部500がユーザ6からOTPとユーザIDを取得すると、OTP認証部501を作動させ、OTP認証部501は、取得したユーザIDに関連付けられて認証サーバ5が記憶しているサーバ鍵510をデータベース51から取得する(ステップS14)。
【0095】
OTP認証手段50のOTP認証部501は、サーバ鍵510を取得すると、取得したサーバ鍵510を用いて、ICカード2のOTP生成コマンド20と同じ手順で暗号化することで、このときのサーバ時計502の時刻を基準とした許容範囲に含まれる1分単位の時刻におけるOTPを生成し、図8に図示したように、許容範囲に含まれる1分単位のそれぞれとOTPを関連付けて一次的に記憶する(ステップS15)。
【0096】
OTP認証手段50のOTP認証部501は、許容範囲内のOTPすべてを生成すると、ユーザ6から取得したユーザ6のOTPが、生成した許容範囲のOTPのいずれかと一致するか確認することで、クライアント3を操作しているユーザ6を認証する(ステップS16)。
【0097】
ユーザ6の認証に成功すると、時刻修正指示部503は、ユーザ6から取得したOTPと一致するOTPが生成される時刻を生成時刻として割出し、割出した生成時刻と認証時刻との差から、リーダ時計12とサーバ時計502の時刻ズレを算出し(ステップS17)、リーダ時計12の時刻を修正するための時刻同期メッセージを生成し(ステップS18)、生成した時刻同期メッセージをクライアント3に送信する(ステップS19)。
【0098】
図11は、時刻同期メッセージを用いて、リーダ時計12の時刻を修正する手順を示したフロー図である。図10のフローが実行され、認証サーバ5から時刻同期メッセージがクライアント3に送信されると、リーダライタ1のテンキー15の「#」を長押しするなどして、ユーザ6は、リーダライタ1にリーダ時計12の時刻修正を指示する(ステップS20)。
【0099】
リーダライタ1のテンキー15の「#」を長押されるとリーダライタ1のPIN照合手段10が作動し、ユーザ6のPINの入力を促す画面をディスプレイ16に表示することで、ユーザ6にPINの入力を要求する(ステップS21)。
【0100】
PINの入力を促す画面がリーダライタ1のディスプレイ16に表示されると、ユーザ6は、リーダライタ1のテンキー15を操作することで、PINをリーダライタ1に入力し(ステップS22)、時刻修正手段13は、入力されたPINを含むPIN照合コマンド23のコマンドメッセージをICカード2に送信し、ICカード2にPINの認証を要求する(ステップS23)。
【0101】
リーダライタ1からPIN照合コマンド23のコマンドメッセージがICカード2に送信されると、ICカード2のPIN照合コマンド23が作動し、このコマンドメッセージに含まれるPINと参照PIN24を照合し(ステップS24)、PIN照合に成功したことを示すフラグをRAMに保持すると共に、PIN照合コマンド23の実行結果をリーダライタ1に返信する(ステップS25)。
【0102】
PINの照合に成功すると、時刻修正手段13が作動し、時刻修正手段13は時刻同期メッセージの入力を要求する画面をディスプレイ16に表示し(ステップS26)、ユーザ6は、テンキー15を操作して、クライアント3に表示された時刻同期メッセージを入力する(ステップS27)。
【0103】
リーダライタ1は時刻同期メッセージが入力されると、リーダライタ1は入力された時刻同期メッセージを解析し、入力された時刻同期メッセージのコマンドコードが時刻同期メッセージのコマンドコードであれば、修正時間の暗号文を含むメッセージ復号コマンド21のコマンドメッセージをICカード2に送信する(ステップS28)。
【0104】
リーダライタ1からメッセージ復号コマンド21のコマンドメッセージが送信されると、ICカード2は上述したフラグを参照し、PIN照合に成功していれば、ICカード2のメッセージ復号コマンド21が作動し、メッセージ復号コマンド21は、ICカード鍵22を用い可逆性のアルゴリズムで、このコマンドメッセージに含まれる修正時間の暗号文を復号し(ステップS29)、復号した修正時間をリーダライタ1に返信する(ステップS30)。
【0105】
リーダライタ1は、ICカード2から修正時間が返信されると、時刻修正手段13は、時刻同期メッセージに含まれる修正時間に従い、リーダ時計12の時刻を修正し(ステップS31)、リーダ時計12の時刻の修正結果をディスプレイ16に表示する(ステップS32)。
【0106】
なお、本発明は、これまで説明した実施の形態に限定されることなく、種々の変形や変更が可能であって、それらも本発明の均等の範囲に含まれる。
【0107】
例えば、上述した形態においては、例えば、図8に図示したように、許容範囲内に含まれる1分単位の時刻におけるOTPをすべて生成した後、許容範囲内で生成されるOTPの中に、ユーザ6から取得したOTPと一致するOTPが含まれるか確認していたが、許容範囲の下限或いは上限から順にOTPを生成し、OTPを生成するごとにユーザ6から取得したOTPと比較することで、許容範囲内に生成されるOTPに、ユーザ6から取得したOTPと一致するOTPが含まれるか確認してもよい。
【0108】
また、上述した形態においては、ユーザ6から取得したOTPと同じOTPが生成されるサーバ時計502の時刻を割出すことで、ユーザ6のOTPが生成された生成時刻を割出していたが、ICカード2が生成するOTPに生成時刻を含ませ、認証サーバ5はユーザ6のOTPに含まれる生成時間を取得することで、ユーザ6のOTPの生成時刻を割出すようにしてもよい。
【0109】
このとき、ICカード2のOTP生成コマンド20は、リーダライタ1から送信されたリーダ時計12の時刻を、ICカード鍵22を用い可逆性のある暗号アルゴリズムで暗号化して含ませ、認証サーバ5は、クライアント3から送信されたユーザ6のOTPに含まれる時刻の暗号文をサーバ鍵510で復号しすることで生成時刻を割出す。
【0110】
ICカード2のOTP生成コマンド20が生成時刻をOTPに含ませるときは、図9のステップS10で、ICカード2のOTP生成コマンド20は、リーダライタ1から送信された時刻を生成時刻とし、ICカード鍵22を用い可逆性のあるアルゴリズムで暗号化してOTPに含ませ、図10のステップS17で、認証サーバ5は、ユーザ6から取得したOTPと一致するOTPが生成される時刻を生成時刻として割出す代わりに、サーバ鍵510を用いて、OTPに含まれる生成時刻を復号し、リーダ時計12とサーバ時計502との時刻ズレを算出する。
【0111】
更に、本実施の形態においては、リーダライタ1に備えられたテンキー15によって、PINや時刻修正メッセージなどがリーダライタ1に入力されるが、クライアント3とリーダライタ1を電気的に接続し、クライアント3に入力されたPINや時刻修正メッセージなどをクライアント3からリーダライタ1に送信するようにしてもよい。
【図面の簡単な説明】
【0112】
【図1】時刻同期方式のOTPを用いてユーザ認証するシステムを説明する図。
【図2】ICカードの外観図。
【図3】ICカードのブロック図。
【図4】リーダライタの上面図。
【図5】リーダライタのブロック図。
【図6】認証サーバのブロック図。
【図7】データベースを説明する図。
【図8】時刻ズレを時刻修正指示部が算出する仕組みを説明する図。
【図9】ユーザのOTPを生成する手順を示した図。
【図10】ユーザのOTPを認証し、時刻同期メッセージが生成される手順を示した図。
【図11】リーダ時計12の時刻を修正する手順を示した図。
【符号の説明】
【0113】
1 リーダライタ
10 PIN照合手段
11 OTP生成手段
12 リーダ時計
13 時刻修正手段
14 OTPボタン
15 テンキー
16 ディスプレイ
17 インターフェース手段
18 挿入口
2 ICカード
20 OTP生成コマンド
21 メッセージ復号コマンド
22 ICカード鍵
23 PIN照合コマンド
24 参照PIN
3 クライアント
4 ネットワーク
5 認証サーバ
6 ユーザ
50 OTP認証手段
500 OTP取得手段
501 OTP認証部
502 サーバ時計
503 時刻修正指示部
51 データベース
510 サーバ鍵
【特許請求の範囲】
【請求項1】
独立して動作する時計を内蔵したインターフェースデバイスと、前記インターフェースデバイスから送信される時刻を一定の手順に従い演算することで、時刻同期方式のワンタイムパスワード(OTP: One Time Password)を生成するOTP生成コマンドを備えたICカードとを用いて、前記OTPを生成する方法であって、
前記インターフェースデバイスと前記ICカードとを電気的に結合させた状態で、前記インターフェースデバイスから前記ICカードに、前記OTPの生成指示を受けたときの前記時計の時刻を含む前記OTP生成コマンドのコマンドメッセージを送信し、前記ICカードの前記OTP生成コマンドを用いて、前記インターフェースデバイスから送信された前記時計の時刻に基づく前記OTPを生成することを特徴とする方法。
【請求項2】
請求項1に記載の方法であって、前記ICカードは、前記インターフェースデバイスから送信されるPINを照合するためのPIN照合コマンドを備え、前記方法は、
前記ICカードは、前記インターフェースデバイから送信された前記PIN認証コマンドのコマンドメッセージに含まれる前記PINを照合し、前記PINの照合に成功したときのみ、前記OTP生成コマンドの実行を許可することを特徴とする方法。
【請求項3】
時刻同期方式のワンタイムパスワード(OTP: One Time Password)を生成・認証する方法であって、
前記OTPを生成するときに利用する第1の時計を内蔵したインターフェースデバイスが、前記インターフェースデバイスから送信される時刻を一定の手順に従い演算することで前記OTPを生成するOTP生成コマンドを備えたICカードに対し、前記OTPを生成するときの前記第1時計の時刻(生成時刻)を含む前記OTP生成コマンドのコマンドメッセージを送信し、前記ICカードの前記OTP生成コマンドが生成した前記OTPを前記ICカードから取得するOTP生成工程と、
第2の時計を備えた認証サーバが、前記ICカードを所持するユーザから前記OTP生成工程で生成された前記OTPを取得し、前記ユーザの前記OTPを認証するときの第2の時計の時刻(認証時刻)を基準とした許容範囲内の時刻で生成される前記OTPを前記ICカードと同じ手順で生成し、前記ユーザの前記OTPを認証するOTP認証工程と、
を含むことを特徴とする方法。
【請求項4】
請求項3に記載の方法において、前記ICカードは、前記インターフェースデバイスから送信されるPINを照合するためのPIN照合コマンドを備え、前記方法は、
前記インターフェースデバイスは、前記インターフェースデバイスに入力された前記PINを含む前記PIN認証コマンドのコマンドメッセージを前記ICカードに送信し、前記ICカードが、前記インターフェースデバイスから送信された前記PINを照合するPIN照合工程を含み、
前記PIN照合工程で前記PINの照合に成功したときのみ、前記OTP生成工程が実行されることを特徴とする方法。
【請求項5】
請求項3または請求項4に記載の方法であって、前記OTP認証工程において、前記認証サーバは、前記OTPを認証するときに、
前記ユーザの前記OTPが生成された前記生成時刻を割出し、前記生成時刻と前記認証時刻との時刻ズレを修正するための時刻同期メッセージを生成した後、前記時刻同期メッセージに含まれる修正時刻を少なくとも暗号化する時刻同期メッセージ作成工程と、
前記時刻同期メッセージ作成工程で生成された前記時刻同期メッセージが前記インターフェースデバイスに入力され、前記インターフェースデバイスが前記ICカードを用いて前記時刻同期メッセージに含まれる修正時刻を復号し、復号した修正時刻に従い前記第1の時計の時刻を修正する時刻修正工程と、
が順に実行されることを特徴とする方法。
【請求項6】
請求項5に記載の方法であって、前記認証サーバは、前記ICカードと同じ手順で前記OTPを生成し、前記ユーザの前記OTPと一致する前記OTPが生成される前記第2の時の時刻を前記生成時刻として割出すことを特徴とする方法。
【請求項7】
請求項5に記載の方法であって、前記OTP生成工程において、前記ICカードの前記OTP生成コマンドは、前記インターフェースデバイスから送信された前記生成時刻を可逆性のアルゴリズムで暗号化して前記ユーザの前記OTPに含ませ、前記時刻同期メッセージ作成工程において、前記認証サーバは、前記ユーザの前記OTPに含まれる前記生成時刻を復号し前記生成時刻を割出すことを特徴とする方法。
【請求項8】
時刻同期方式のワンタイムパスワード(OTP: One Time Password)を生成するためのICカードシステムであって、独立して動作する時計を内蔵したインターフェースデバイスと、前記インターフェースデバイスと組合されて利用されるICカードとから、少なくとも構成され、
前記ICカードは、前記インターフェースデバイスから送信される時刻を一定の手順に従い演算することで前記OTPを生成するOTP生成コマンドを備え、
前記インターフェースデバイスは、前記ICカードとを電気的に結合しデータ通信するインターフェース手段と、前記OTPの生成指示を受けたとき、前記時計の時刻を含む前記OTP生成コマンドのコマンドメッセージを前記ICカードに送信し、前記ICカードに前記OTPを生成させるOTP生成手段とを備えていることを特徴とするICカードシステム。
【請求項9】
請求項8に記載のICカードシステムであって、前記ICカードは、前記インターフェースデバイスから送信されるPINを照合するためのPIN照合コマンドを備え、前記インターフェースデバイスから送信された前記PINの照合に成功したときのみ、前記OTP生成コマンドの実行を許可し、前記インターフェースデバイスは、前記PINが入力されるPIN入力手段と、前記PINを含む前記PIN認証コマンドのコマンドメッセージを前記ICカードに送信するPIN照合手段とを備えていることを特徴とするICカードシステム。
【請求項10】
外部装置から送信される時刻を一定の手順に従い演算することで、時刻同期方式のワンタイムパスワード(OTP: One Time Password)を生成するOTP生成コマンドを備えたICカードと組み合わされて利用されるインターフェースデバイスであって、
前記インターフェースデバイスは、前記OTPを生成するときに利用する時計と、前記時計の時刻を取得し、取得した時刻を含む前記OTP生成コマンドのコマンドメッセージを前記ICカードに送信するOTP生成手段をと備えた前記インターフェースデバイス。
【請求項11】
請求項10に記載のインターフェースデバイスであって、前記インターフェースデバイスは、前記時計の時刻を修正するための時刻同期メッセージが入力されたとき、前記時刻同期メッセージで示される修正時刻に従い、前記時計の時刻を修正する時刻修正手段と、前記時刻同期メッセージが入力されるメッセージ入力手段とを備えていることを特徴とするインターフェースデバイス。
【請求項12】
請求項11に記載のインターフェースデバイスであって、前記ICカードは、暗号文を復号する復号コマンドを備え、前記時刻同期メッセージには、前記ICカードで復号可能な状態で前記修正時刻が含まれ、前記インターフェースデバイスの前記時刻修正手段は、前記ICカードを用いて、前記時刻同期メッセージに含まれる前記修正時刻を復号し、復号した前記修正時刻に従い、前記時計の時刻を修正することを特徴とするインターフェースデバイス。
【請求項13】
請求項10から請求項12のいずれか一つに記載のインターフェースデバイスであって、前記ICカードは、前記インターフェースデバイスから送信されるPINを照合するためのPIN照合コマンドを備え、前記インターフェースデバイスは、前記PINが入力されるPIN入力手段と、前記PINを含む前記PIN認証コマンドのコマンドメッセージを前記ICカードに送信するPIN照合手段とを備え、前記ICカードから前記PINの照合に成功したことを示すレスポンスを受信したときのみ、前記OTP生成手段および前記時刻修正手段の作動を許可することを特徴とするインターフェースデバイス。
【請求項14】
時刻同期方式のワンタイムパスワード(OTP: One Time Password)を生成するときに利用されるICカードであって、前記ICカードを装着するインターフェースデバイスから送信される時刻を一定の手順に従い演算することで前記OTPを生成し、生成した前記OTPを前記インターフェースデバイスに返信するOTP生成コマンドを備えたことを特徴とするICカード。
【請求項15】
請求項14に記載のICカードであって、前記インターフェースデバイスから送信されるPINを照合するPIN照合コマンドを備え、前記PINの照合に成功したときのみ、前記OTP生成コマンドの実行を許可することを特徴とするICカード。
【請求項16】
請求項14または請求項15に記載のICカードであって、前記ICカードに備えられた前記OTP生成コマンドは、前記インターフェースデバイスから送信された時刻を可逆性のアルゴリズムで暗号化し、生成する前記OTPに含ませることを特徴とするICカード。
【請求項1】
独立して動作する時計を内蔵したインターフェースデバイスと、前記インターフェースデバイスから送信される時刻を一定の手順に従い演算することで、時刻同期方式のワンタイムパスワード(OTP: One Time Password)を生成するOTP生成コマンドを備えたICカードとを用いて、前記OTPを生成する方法であって、
前記インターフェースデバイスと前記ICカードとを電気的に結合させた状態で、前記インターフェースデバイスから前記ICカードに、前記OTPの生成指示を受けたときの前記時計の時刻を含む前記OTP生成コマンドのコマンドメッセージを送信し、前記ICカードの前記OTP生成コマンドを用いて、前記インターフェースデバイスから送信された前記時計の時刻に基づく前記OTPを生成することを特徴とする方法。
【請求項2】
請求項1に記載の方法であって、前記ICカードは、前記インターフェースデバイスから送信されるPINを照合するためのPIN照合コマンドを備え、前記方法は、
前記ICカードは、前記インターフェースデバイから送信された前記PIN認証コマンドのコマンドメッセージに含まれる前記PINを照合し、前記PINの照合に成功したときのみ、前記OTP生成コマンドの実行を許可することを特徴とする方法。
【請求項3】
時刻同期方式のワンタイムパスワード(OTP: One Time Password)を生成・認証する方法であって、
前記OTPを生成するときに利用する第1の時計を内蔵したインターフェースデバイスが、前記インターフェースデバイスから送信される時刻を一定の手順に従い演算することで前記OTPを生成するOTP生成コマンドを備えたICカードに対し、前記OTPを生成するときの前記第1時計の時刻(生成時刻)を含む前記OTP生成コマンドのコマンドメッセージを送信し、前記ICカードの前記OTP生成コマンドが生成した前記OTPを前記ICカードから取得するOTP生成工程と、
第2の時計を備えた認証サーバが、前記ICカードを所持するユーザから前記OTP生成工程で生成された前記OTPを取得し、前記ユーザの前記OTPを認証するときの第2の時計の時刻(認証時刻)を基準とした許容範囲内の時刻で生成される前記OTPを前記ICカードと同じ手順で生成し、前記ユーザの前記OTPを認証するOTP認証工程と、
を含むことを特徴とする方法。
【請求項4】
請求項3に記載の方法において、前記ICカードは、前記インターフェースデバイスから送信されるPINを照合するためのPIN照合コマンドを備え、前記方法は、
前記インターフェースデバイスは、前記インターフェースデバイスに入力された前記PINを含む前記PIN認証コマンドのコマンドメッセージを前記ICカードに送信し、前記ICカードが、前記インターフェースデバイスから送信された前記PINを照合するPIN照合工程を含み、
前記PIN照合工程で前記PINの照合に成功したときのみ、前記OTP生成工程が実行されることを特徴とする方法。
【請求項5】
請求項3または請求項4に記載の方法であって、前記OTP認証工程において、前記認証サーバは、前記OTPを認証するときに、
前記ユーザの前記OTPが生成された前記生成時刻を割出し、前記生成時刻と前記認証時刻との時刻ズレを修正するための時刻同期メッセージを生成した後、前記時刻同期メッセージに含まれる修正時刻を少なくとも暗号化する時刻同期メッセージ作成工程と、
前記時刻同期メッセージ作成工程で生成された前記時刻同期メッセージが前記インターフェースデバイスに入力され、前記インターフェースデバイスが前記ICカードを用いて前記時刻同期メッセージに含まれる修正時刻を復号し、復号した修正時刻に従い前記第1の時計の時刻を修正する時刻修正工程と、
が順に実行されることを特徴とする方法。
【請求項6】
請求項5に記載の方法であって、前記認証サーバは、前記ICカードと同じ手順で前記OTPを生成し、前記ユーザの前記OTPと一致する前記OTPが生成される前記第2の時の時刻を前記生成時刻として割出すことを特徴とする方法。
【請求項7】
請求項5に記載の方法であって、前記OTP生成工程において、前記ICカードの前記OTP生成コマンドは、前記インターフェースデバイスから送信された前記生成時刻を可逆性のアルゴリズムで暗号化して前記ユーザの前記OTPに含ませ、前記時刻同期メッセージ作成工程において、前記認証サーバは、前記ユーザの前記OTPに含まれる前記生成時刻を復号し前記生成時刻を割出すことを特徴とする方法。
【請求項8】
時刻同期方式のワンタイムパスワード(OTP: One Time Password)を生成するためのICカードシステムであって、独立して動作する時計を内蔵したインターフェースデバイスと、前記インターフェースデバイスと組合されて利用されるICカードとから、少なくとも構成され、
前記ICカードは、前記インターフェースデバイスから送信される時刻を一定の手順に従い演算することで前記OTPを生成するOTP生成コマンドを備え、
前記インターフェースデバイスは、前記ICカードとを電気的に結合しデータ通信するインターフェース手段と、前記OTPの生成指示を受けたとき、前記時計の時刻を含む前記OTP生成コマンドのコマンドメッセージを前記ICカードに送信し、前記ICカードに前記OTPを生成させるOTP生成手段とを備えていることを特徴とするICカードシステム。
【請求項9】
請求項8に記載のICカードシステムであって、前記ICカードは、前記インターフェースデバイスから送信されるPINを照合するためのPIN照合コマンドを備え、前記インターフェースデバイスから送信された前記PINの照合に成功したときのみ、前記OTP生成コマンドの実行を許可し、前記インターフェースデバイスは、前記PINが入力されるPIN入力手段と、前記PINを含む前記PIN認証コマンドのコマンドメッセージを前記ICカードに送信するPIN照合手段とを備えていることを特徴とするICカードシステム。
【請求項10】
外部装置から送信される時刻を一定の手順に従い演算することで、時刻同期方式のワンタイムパスワード(OTP: One Time Password)を生成するOTP生成コマンドを備えたICカードと組み合わされて利用されるインターフェースデバイスであって、
前記インターフェースデバイスは、前記OTPを生成するときに利用する時計と、前記時計の時刻を取得し、取得した時刻を含む前記OTP生成コマンドのコマンドメッセージを前記ICカードに送信するOTP生成手段をと備えた前記インターフェースデバイス。
【請求項11】
請求項10に記載のインターフェースデバイスであって、前記インターフェースデバイスは、前記時計の時刻を修正するための時刻同期メッセージが入力されたとき、前記時刻同期メッセージで示される修正時刻に従い、前記時計の時刻を修正する時刻修正手段と、前記時刻同期メッセージが入力されるメッセージ入力手段とを備えていることを特徴とするインターフェースデバイス。
【請求項12】
請求項11に記載のインターフェースデバイスであって、前記ICカードは、暗号文を復号する復号コマンドを備え、前記時刻同期メッセージには、前記ICカードで復号可能な状態で前記修正時刻が含まれ、前記インターフェースデバイスの前記時刻修正手段は、前記ICカードを用いて、前記時刻同期メッセージに含まれる前記修正時刻を復号し、復号した前記修正時刻に従い、前記時計の時刻を修正することを特徴とするインターフェースデバイス。
【請求項13】
請求項10から請求項12のいずれか一つに記載のインターフェースデバイスであって、前記ICカードは、前記インターフェースデバイスから送信されるPINを照合するためのPIN照合コマンドを備え、前記インターフェースデバイスは、前記PINが入力されるPIN入力手段と、前記PINを含む前記PIN認証コマンドのコマンドメッセージを前記ICカードに送信するPIN照合手段とを備え、前記ICカードから前記PINの照合に成功したことを示すレスポンスを受信したときのみ、前記OTP生成手段および前記時刻修正手段の作動を許可することを特徴とするインターフェースデバイス。
【請求項14】
時刻同期方式のワンタイムパスワード(OTP: One Time Password)を生成するときに利用されるICカードであって、前記ICカードを装着するインターフェースデバイスから送信される時刻を一定の手順に従い演算することで前記OTPを生成し、生成した前記OTPを前記インターフェースデバイスに返信するOTP生成コマンドを備えたことを特徴とするICカード。
【請求項15】
請求項14に記載のICカードであって、前記インターフェースデバイスから送信されるPINを照合するPIN照合コマンドを備え、前記PINの照合に成功したときのみ、前記OTP生成コマンドの実行を許可することを特徴とするICカード。
【請求項16】
請求項14または請求項15に記載のICカードであって、前記ICカードに備えられた前記OTP生成コマンドは、前記インターフェースデバイスから送信された時刻を可逆性のアルゴリズムで暗号化し、生成する前記OTPに含ませることを特徴とするICカード。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2008−234096(P2008−234096A)
【公開日】平成20年10月2日(2008.10.2)
【国際特許分類】
【出願番号】特願2007−69890(P2007−69890)
【出願日】平成19年3月19日(2007.3.19)
【出願人】(000002897)大日本印刷株式会社 (14,506)
【Fターム(参考)】
【公開日】平成20年10月2日(2008.10.2)
【国際特許分類】
【出願日】平成19年3月19日(2007.3.19)
【出願人】(000002897)大日本印刷株式会社 (14,506)
【Fターム(参考)】
[ Back to top ]