説明

時刻同期方式のワンタイムパスワードを生成するトークンの時刻を合わせる方法、時計の時刻をセキュアに修正する機能を備えたトークン、及び、トークンの時刻を修正するためのメッセージを生成するサーバ

【課題】時刻同期方式のワンタイムパスワードを生成するトークンの時刻を、サーバの時刻にセキュアに合わせる方法を提供する。
【解決手段】トークン1がワンタイムパスワードを生成したときトークン1内の時刻である生成時刻をサーバ2は割出し、トークン1とサーバ2の時刻同期の時刻ズレを算出し、トークン1内の時刻を修正するためのメッセージを生成し、トークン1を所持するユーザ5に伝達する。ユーザ5がこのメッセージをトークン1に入力することで、このメッセージに従い、トークン1内の時刻は修正される。なお、サーバ2が生成するメッセージの少なくとも一部を、トークン1に記憶された暗号鍵と対になる暗号鍵で暗号化することで、このメッセージの改竄を防止する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、時刻同期方式のワンタイムパスワードを生成するトークン内の時刻を、ワンタイムパスワードを認証するサーバの時刻に合わせる技術に関する。
【背景技術】
【0002】
フィッシング詐欺やスパイウェア対策として、ネットバンキングなどの用途で二要素認証が注目を集めている。二要素認証とは、異なる性質を持つ二つの認証要素を組み合せてユーザを認証する方式である。
【0003】
二要素認証でユーザを認証するときは、「自分だけが知っている(know)」に係る認証要素であるPIN(Personal Identification Number)などのパスワードと、「自分だけが知っている(know)」に係る認証要素以外の認証要素を用いてユーザ認証することが一般的である。
【0004】
「自分だけが知っている(know)」以外の認証要素としては、「自分自身(is)」に係る認証要素であるバイオメトリクス情報(例えば、指紋)を用いる場合もあるが、バイオメトリクス情報に対してユーザは強い抵抗感をもつため、「自分だけが持っている(has)」に係る認証要素であるワンタイムパスワード(OTP: One Time Password)を利用するケースが増えている。
【0005】
OTPを利用してユーザを認証するとき、ユーザはOTPを生成する機能を備えたトークンを所持し、このトークンによって生成されたOTPをサーバに送信し、サーバはユーザから取得したOTPを認証する。
【0006】
OTPの代表的な方式である時刻同期方式においては、OTPを生成するトークンとサーバは時刻同期する時計をそれぞれ有し、トークンは、特許文献1に記載されているように、OTPを生成するときの分単位の時刻をパラメータとして生成し、サーバは、ログイン画面などを利用してユーザからOTPを取得すると、ユーザを認証するときの分単位の時刻をパラメータとし、トークンと同じ手順でOTPを生成し、ユーザから取得したOTPを認証する。
【0007】
トークンとサーバの間に時刻ズレがなければユーザの認証に支障は生じないが、実際は、トークンの内部時計とサーバの内部時計の間に若干の時刻ずれが生じるため、サーバがOTPを認証するときは、ユーザを認証するときの時刻を基準とした前後数分間の許容時刻を設け、ユーザから取得したOTPが、この許容時刻内で生成されるOTPのいずれかと一致するか確認する。
【0008】
しかし、トークンとサーバの時刻ずれが大きくなると、ユーザから取得したOTPと生成したOTPのいずれとも一致することはなくなり、正当なユーザであるにも関わらずユーザの認証に失敗するため、時刻同期方式においては、トークンとサーバの時刻合わせを行う仕組みが必要となる。
【0009】
時計の時刻を調整する機構をトークンに設けることで、トークンとサーバの時刻を合わせることは容易に実現できるが、ユーザ自身がトークンの時計の時刻を任意に合わせることが可能であると、ユーザがトークンの時計の時刻を故意的に進めることで、ユーザは将来のOTPを知り得ることができ、セキュリティ的に好ましくない。
【0010】
また、特許文献2で開示されているように、標準時刻をのせている標準電波を受信する機能をトークンに備えさせることも考えられるが、トークン自体に標準電波を受信する特別な装置が必要になってしまうし、何よりも、時刻同期方式においては、トークンの内部時計とサーバの内部時計を同期させることが重要であるが、特許文献2の発明は、トークンの時計をサーバの時計に合わせるための発明ではない。
【特許文献1】特開平11−316740号公報
【特許文献2】特開2005−50292号公報
【発明の開示】
【発明が解決しようとする課題】
【0011】
そこで、トークンとサーバの時刻合わせをセキュアに行うために、本発明は、時刻同期方式のワンタイムパスワードを生成するトークンの時刻を合わせる方法、時刻同期方式のワンタイムパスワードを生成し、内蔵された時計の時刻をセキュアに修正する機能を備えたトークン、及び、トークンの時刻を修正するためのメッセージを生成するサーバを提供することを目的とする。
【課題を解決するための手段】
【0012】
上述した課題を解決する第1の発明は、時刻同期方式のワンタイムパスワードを生成するトークンの時刻を修正する時刻修正方法であって、
ステップa)前記トークンに備えられた第1の時計の時刻をパラメータとし、サーバによって認証されるワンタイムパスワードを前記トークンが生成し、前記トークンを所持するユーザからワンタイムパスワードを前記サーバが取得するステップ、
ステップb)ワンタイムパスワードの認証に利用する第2の時計を備えた前記サーバが、前記ステップa)で前記トークンがワンタイムパスワードを生成したときの前記第1の時計の時刻である生成時刻を割出すステップ、
ステップc)ワンタイムパスワードを認証するときの前記第2の時計の時刻である認証時刻と前記ステップb)で割出した前記生成時刻の差から、前記第1の時計と前記第2の時計の時刻ズレを算出し、前記トークンに備えられた前記第1の時計の時刻を修正するためのメッセージを生成するステップ、
ステップd)前記トークンが記憶している第1の暗号鍵と対になる第2の暗号鍵を用いて、前記メッセージの少なくとも一部を暗号化し、前記メッセージを前記ユーザに伝達するステップ、
ステップe)前記サーバから送信された前記メッセージが前記トークンに入力され、前記第1の暗号鍵を用いて前記メッセージを復号した後、前記メッセージに従い前記トークンが前記第1の時計の時刻を修正するステップ、
とが順に実行されることを特徴とする。
【0013】
上述した第1の発明によれば、前記サーバが、取得したワンタイムパスワードが生成された時刻である生成時刻を割出し、前記トークンに備えられた前記第1の時計の時刻を修正するための前記メッセージを生成し、前記メッセージを用いて前記トークンの時刻を修正することで、前記トークンの時刻を前記サーバの時刻に合わせることができる。
【0014】
更に、前記サーバから前記ユーザに伝達される前記メッセージの少なくとも一部は暗号化されているため、前記ユーザが前記メッセージを改竄することはできなくなる。
【0015】
更に、第2の発明は、第1の発明に記載のトークンの時刻修正方法において、前記ステップb)は、前記サーバが、ワンタイムパスワードを取得したときの前記第2の時計の時刻を基準とし、時刻を変更しながら、前記トークンと同じ手順でワンタイムパスワードを生成し、前記トークンで生成されたワンタイムパスワードと一致するワンタイムパスワードを生成したときに利用した時刻から、前記生成時刻を割出すステップであることを特徴とする。
【0016】
更に、第3の発明は、第1の発明に記載のトークンの時刻修正方法において、前記ステップa)において、前記トークンは、前記トークンがワンタイムパスワードを生成したときの前記第1の時計の時刻を前記生成時刻として、可逆性のアルゴリズムで暗号化してワンタイムパスワードに含ませ、前記ステップb)は、前記第2の暗号鍵を用いて前記生成時刻を復号することで、前記サーバが前記生成時刻を割出すステップであることを特徴とする。
【0017】
前記サーバが、前記トークンがワンタイムパスワードを生成した時刻である前記生成時刻を割出す方式は、第2の発明または第3の発明に記述した方式で実現できる。
【0018】
更に、第4の発明は、時刻同期方式のワンタイムパスワードを生成するトークンであって、前記トークンは、前記ワンタイムパスワードを生成するときに参照する時計と、前記トークンに秘匿に記憶された暗号鍵を用い、前記時計の時刻を非可逆性のアルゴリズムで暗号化することで、ワンタイムパスワードを生成するワンタイムパスワード生成手段と、データが入力されるデータ入力手段と、前記データ入力手段に前記時計の時刻を修正するメッセージが入力されたとき、前記暗号鍵を用いて前記メッセージを復号し、前記メッセージの内容に従い前記時計の時刻を修正する時刻修正手段と、を備えていることを特徴とする。
【0019】
更に、第5の発明は、第4の発明に記載のトークンであって、前記トークンに備えられた前記ワンタイムパスワード生成手段は、ワンタイムパスワードを生成したときの前記時計の時刻を、前記暗号鍵を用い可逆性のアルゴリズムで暗号化して、生成するワンタイムパスワードに含ませることを特徴とする。
【0020】
更に、第6の発明は、第4の発明または第5の発明に記載のトークンであって、前記トークンは、前記データ入力手段から入力されたPINを照合する手段を備え、前記PINの照合に成功したときのみ、前記トークンに備えられた前記時刻修正手段を作動させることを特徴とする。
【0021】
第4の発明から第6の発明に記載の前記トークンは、上述した方法を実現するために必要な前記トークンである。
【0022】
更に、第7の発明は、トークンが生成した時刻同期方式のワンタイムパスワードを認証するサーバであって、前記サーバは、ワンタイムパスワードの認証に利用する時計と、前記トークンがワンタイムパスワードを生成したときの前記トークン内の時刻である生成時刻を割出し、ワンタイムパスワードを認証するときの前記時計の時刻である認証時刻と前記生成時刻の差から、ワンタイムパスワードを生成したトークンの時刻と前記時計の時刻との時刻ズレを修正するためのメッセージを生成し、前記トークンが記憶している第1の暗号鍵と対になる第2の暗号鍵を用いて、前記メッセージの少なくとも一部を暗号化し、前記トークンを所持するユーザに前記メッセージを伝達する時刻修正指示手段と、を備えたことを特徴とする。
【0023】
更に、第8の発明は、第7の発明に記載のサーバにおいて、前記サーバに備えられた前記時刻修正指示手段は、ワンタイムパスワードを取得したときの前記時計の時刻を基準とし、時刻を変更しながら、前記トークンと同じ手順でワンタイムパスワードを生成し、前記トークンで生成されたワンタイムパスワードと一致するワンタイムパスワードを生成したときに利用した時刻から、前記サーバが前記生成時刻を割出すことを特徴とする。
【0024】
更に、第9の発明は、第7の発明に記載のサーバにおいて、前記サーバが取得するワンタイムパスワードには、前記トークンがワンタイムパスワードを生成したとに利用したきの前記トークン内の時刻が前記生成時刻として、可逆性のアルゴリズムを用いて暗号化された状態で含まれ、前記サーバに備えられた前記時刻修正指示手段は、前記第2の暗号鍵を用いて前記生成時刻を復号することで、前記サーバが前記生成時刻を割出すことを特徴とする。
【0025】
第7の発明に記載の前記サーバは、第1の発明に記載の方法を実現するために必要な前記サーバであって、更に、第8の発明に記載の前記サーバは、第9の発明に記載の方法を実現するために必要な前記サーバで、第9の発明に記載の前記サーバは、第3の発明に記載の方法を実現するために必要な前記サーバである。
【発明の効果】
【0026】
上述した本発明によれば、トークンとサーバの時刻合わせをセキュアに行うために、本発明は、時刻同期方式のワンタイムパスワードの生成に利用され、セキュアに内蔵された時計の時刻を修正する機能を備えたトークン、トークンの時刻を修正するためのメッセージを生成するサーバ、及び、時刻同期方式のワンタイムパスワードの生成に利用されるトークンの時刻を合わせる方法を提供できる。
【発明を実施するための最良の形態】
【0027】
ここから、本発明について図を参照しながら詳細に説明する。図1は、本発明に係るトークンとサーバを説明する図である。図1において、ユーザ5は、時刻同期方式のワンタイムパスワード(OTP: One Time Password)を生成する機能を有するトークン1を所持し、ユーザ5がクライアント3を操作してアクセスするサーバ2は、トークン1が生成した時刻同期方式のOTPを認証する機能を有している。
【0028】
時刻同期方式においては、サーバ2が有する内部時計とトークン1が有する内部時計の時刻は同期していなければならないが、実際は、サーバ2とトークン1では同期時刻のズレが生じてしまい、トークン1の内部時計の時刻を修正することが必要となる。
【0029】
そこで、サーバ2とトークン1との同期時刻のズレを修正するために、図1で図示したサーバ2には、トークン1がOTPを生成したときのトークン1内の時刻である生成時刻を割出し、生成時刻とOTPを認証するときの時刻とから同期時刻の時刻ズレを算出し、時刻ズレに応じて、トークン1の内部時計の時刻を修正するメッセージを生成する機能を有し、トークン1は、このメッセージに従いトークン1の内部時計の時刻を修正する機能を有している。
【0030】
まず、発明に係るトークン1について説明する。図2はトークン1の外観図で、図3はトークン1のブロック図である。
【0031】
図2に図示したように、ユーザ5が所持するトークン1には、OTPを生成するときにユーザ5が押すボタン14、ユーザ5がPINなどのメッセージを入力するときに利用するテンキー15、そして、トークン1が生成したOTPなどを表示するディスプレイ16を備える。
【0032】
更に、図3に図示したように、トークン1は、上述した要素に加え、トークン1に内蔵された内部時計であるトークン時計11と、時刻同期方式のOTPを生成する手段であるOTP生成手段10と、内部時計11の時刻を修正するための時刻修正手段13を備え、更に、OTP生成手段10が利用する暗号鍵であるトークン鍵12を記憶し、
【0033】
ユーザ5がボタン14を押すと、トークン1に備えられたOTP生成コマンド10は、OTP生成コマンド10が実行されるときのトークン時計11の時刻を平文とし、トークン1に記憶されたトークン鍵12を用いて、非可逆性のアルゴリズムに従ってこの平文を暗号化することでOTPを生成し、生成したユーザ5のOTPをディスプレイ16に表示する。なお、OTP生成コマンド10が実行されるときのトークン時計11の時刻が、サーバ2が割出す生成時刻となる。
【0034】
更に、トークン1は、テンキー15の「♯」のボタンが長押しされるなどすると、コマンドの入力を受け付ける状態に遷移し、トークン時計11の時刻を修正するコマンドメッセージである時刻修正メッセージが入力されると、入力された時刻修正メッセージに含まれる修正時間に従いトークン時計11の時刻を修正する。
【0035】
トークン1に入力される時刻修正メッセージは、後述するようにサーバ2によって生成され、セキュアにトークン時計11の時刻を修正できるように、トークン1に入力される時刻修正メッセージに含まれる修正時間は、トークン1のトークン鍵12を用いて復号できる形式で暗号化されている。
【0036】
トークン1の時刻修正手段13は、テンキー15によって時刻修正メッセージが入力されると、トークン鍵12を用いて、時刻修正メッセージに含まれる修正時間を復号し、復号した修正時間に従いトークン時計11を修正する。
【0037】
図1で図示したクライアント3には、ユーザ5がサーバ2にアクセスするときに利用されるブラウザがインストールされ、ユーザ5がアクセスするサーバ2は、サービスを提供するビジネスロジックの一つの機能として、クライアント3から送信されるOTPを用いて、クライアント3を操作するユーザ5を認証する機能を有する。
【0038】
図4はサーバ2のブロック図で、図4に図示したように、サーバ2は、クライアント3から送信されるOTPを認証する機能を実現するために、OTP認証手段20と、ユーザ5が所持するトークン1のトークン鍵12と対になる暗号鍵を記憶したデータベース21を備え、OTP認証手段20は、認証するユーザ5のユーザID及びOTPを取得するOTP取得部200と、データベース21を参照してOTPを生成し、ユーザ5から取得したOTPを認証するOTP認証部201と、OTPを生成するときに参照される内部時計であるサーバ時計202とを有している。
【0039】
更に、サーバ2のOTP認証手段20は、ユーザ5から取得したOTPを認証した結果、ユーザ5が所持するトークン1の時刻を修正する必要があると判断したとき、トークン1に備えられたトークン時計11の時刻の修正をユーザ5に指示する時刻修正指示部203を有する。
【0040】
図5は、データベース21を説明する図である。データベース21には、ユーザ5ごとに割り振られた識別データであるユーザIDに関連付けて、ユーザ5が所持するトークン1に秘匿に記憶されたトークン鍵12と対になる暗号鍵であるサーバ鍵210が記憶されている。。
【0041】
サーバ2に備えられたOTP認証手段20のOTP取得部200は、サーバ2にアクセスするユーザ5からユーザIDとOTPを受け付ける機能を有し、OTP取得部200は一つのウェブページで実現され、このウェブページは、少なくとも、ユーザ5がユーザIDを入力するフォームと、ユーザ5がOTPを入力するフォームを有し、サーバ2にアクセスするユーザ5は、このウェブページに、ユーザ5側で生成したユーザ5のOTPと、ユーザIDとを入力する。
【0042】
OTP認証手段20のOTP認証部201は、ユーザ5のOTPを認証するときに利用するOTPを生成する機能を有し、データベース21を参照し、OTP取得部200が取得したユーザIDに関連付けられているサーバ鍵210を取得し、ユーザ5を認証するときのサーバ時計202の時刻を基準とし前後数分間の許容時刻を設け、許容時刻に含まれる時刻をそれぞれ平文とし、サーバ鍵210を用いて所定のアルゴリズムでこれらの平文を暗号化することで、許容時刻内の時刻で生成されるOTPを生成する。
【0043】
そして、OTP認証部201は、ユーザ5から取得したOTPが、OTP認証部201が生成した許容時刻内のOTPのいずれかと一致するか確認することで、OTP取得部200に入力されたユーザ5のOTPの正当性を検証する。
【0044】
時刻修正指示部203は、ユーザ5から取得したOTPの認証結果から、トークン1がOTPを生成したときのトークン時計11の時刻である生成時刻を割出すことで、トークン1に備えられたトークン時計11とサーバ2に備えられたサーバ時計202の時刻ズレを算出し、トークン時計11の時刻修正が必要と判断したとき、クライアント3に対して、トークン時計11の時刻の修正を指示する時刻修正メッセージを生成し、生成した時刻修正メッセージをクライアント3に送信する。
【0045】
なお、時刻修正指示部203が、トークン1がOTPを生成したときのトークン時計11の時刻である生成時刻を割出す方式は様々な方式が考えられるが、時刻修正指示部203は、許容時刻内で生成されるOTPの中で、ユーザから取得したOTPと一致するOTPが生成される許容時刻内の時刻を生成時刻として割出すとよい。そして、割出した生成時刻とユーザを認証するときのサーバ時計202の時刻との差から、トークン1に備えられたトークン時計11とサーバ2に備えられたサーバ時計202の時刻ズレは算出される。
【0046】
図6は、トークン時計11とサーバ時計202の時刻ズレを、時刻修正指示部203が算出する仕組みを説明する図である。図6において、ユーザを認証する時刻は「12:00」で、OTP認証部201は、ユーザを認証する時刻を基準とし、前後3分間の許容時刻を設けて、ユーザを認証する時刻を含み、許容時刻内(ここでは、11:57〜12:03)の1分単位の時刻それぞれをパラメータとしてOTPを生成し、ユーザから取得したOTPを認証する。
【0047】
例えば、トークン時計11がサーバ時刻202よりも2分進んでいた場合、トークン1でOTPを生成したときの時刻は「12:02」になり、トークン1からサーバ2へは、値が「890123」であるOTPが送信される。
【0048】
OTP認証手段20のOTP認証部201がクライアント3から送信されたOTPを認証するとき、図6で示した複数のOTPの中で、クライアント3から送信されたOTPは「12:02」のOTPと一致するため、OTP認証部201は、ユーザ5を正当であると判断する。
【0049】
時刻修正指示部203は、ユーザ5を認証する時刻(ここでは、12:00)と、ユーザのOTPと一致するOTPが生成される時刻(ここでは、12:02)との差から、トークン時計11とサーバ時計202の時刻ズレは2分と算出できる。
【0050】
なお、ユーザ5から取得したOTPの認証に失敗したとき、例えば、ユーザ5から取得したOTPが図6で記述したOTPのいずれとも一致しなかった場合、時刻修正指示部203は、時刻ズレを算出するためだけに、許容時刻の範囲を広げ(例えば、前後5分間)てOTPを生成し、時刻ズレを算出してもよい。
【0051】
そして、OTP認証手段20の時刻修正指示部203は、トークン時計11とサーバ時計202の時刻ズレが基準値(例えば、1分)より大きい場合は、トークン時計11がサーバ時刻202の時刻ズレを修正すべく、時刻修正メッセージを生成し、生成した時刻修正メッセージをクライアント3に送信する。
【0052】
時刻修正指示部203が生成する時刻修正メッセージには、トークン3の時刻修正手段13を動作させるためのコマンドコードと、トークン時計11の時刻の修正時間とが含まれ、時刻修正メッセージに含まれる修正時間は、ユーザ5から取得したOTPを認証するときに利用したサーバ鍵210で暗号化する。
【0053】
サーバ2送信された時刻修正メッセージはクライアント3に表示され、ユーザ5は、時刻修正メッセージをそのままトークン1に入力し、トークン1はこの時刻修正メッセージに含まれる修正時間をトークン12鍵で復号し、修正時刻に従い、トークン1内部で秘匿にトークン時計11の時刻を修正する。
【0054】
ここから、ユーザ5のOTPを認証し、トークン1の内部時計の時刻を修正する手順について、図1のシステムを例に挙げながら説明する。図7は、ユーザ5のOTPを認証し、上述した時刻修正メッセージをユーザ5に伝達するまでの手順を示したフロー図である。
【0055】
ユーザ5はクライアント3を操作してサーバ2にアクセスし、ユーザ5がサーバ2のサービスの利用を要求すると(ステップS1)、サーバ2は、OTP認証手段20のOTP取得部200を作動させることで、ユーザIDとユーザ5のOTPを入力するためのウェブページがクライアント3に表示され、ユーザ5に対し、トークン11で生成されたOTPとユーザIDの入力を要求する(ステップS2)。
【0056】
トークン11で生成されたOTPとユーザIDの入力を要求するためのウェブページがクライアント3に表示されると、ユーザ5はトークン1のボタン14を押し、トークン1にOTP生成の指示を出す(ステップS3)。
【0057】
トークン1はOTP生成の指示を受けると、ユーザ5のPINの入力を促す画面をディスプレイ16に表示することで、ユーザ5にPINの入力を要求する(ステップS4)。
【0058】
PINの入力を促す画面がトークン1のディスプレイ16に表示されると、ユーザ5は、トークン1のテンキー15を操作することで、PINをトークン1に入力し(ステップS5)、トークン1は、正当なユーザ5であるか確認するために、入力されたPINを照合する(ステップS6)。
【0059】
トークン1はPINの照合に成功すると、トークン鍵12を用いて、非可逆性のアルゴリズムに従いトークン時計11の時刻を暗号化することでOTPを生成し(ステップS7)、生成したOTPをディスプレイ16に表示する(ステップS8)。
【0060】
ユーザ5は、トークン1のディスプレイ16にOTPが表示されると、トークン1に表示されたOTPとユーザIDをクライアント3に入力し、クライアント3は、入力されたOTPとユーザIDをサーバ2に送信する(ステップS9)。
【0061】
サーバ2のOTP認証手段20は、OTP取得部200がユーザ5からOTPとユーザIDを取得すると、OTP認証部201を作動させ、OTP認証部201は、取得したユーザIDに関連付けられてサーバ2が記憶しているサーバ鍵210を取得する(ステップS10)。
【0062】
OTP認証手段20のOTP認証部201は、サーバ鍵210を取得すると、このときのサーバ時計202の時刻を基準とし、許容時刻に含まれる1分単位の時刻それぞれにおけるOTPを、取得したサーバ鍵210を用いて生成し、図6に図示したように、許容時刻に含まれる1分単位のそれぞれとOTPを関連付けて記憶しておく(ステップS11)。
【0063】
OTP認証手段20のOTP認証部54は、許容時刻内のOTPすべてを生成すると、ユーザから取得したユーザ5のOTPが、生成したOTPのいずれかと一致するか確認することで、クライアント3を操作しているユーザ5を認証する(ステップS12)。
【0064】
ユーザ5の認証に成功すると、時刻修正指示部203は、ユーザ5から取得したOTPと一致するときOTPが生成される時刻を生成時刻として割出し、割出した生成時刻とユーザ5を認証するときの時刻との差から、トークン時計11とサーバ時計202の時刻ズレを算出し(ステップS13)、トークン1に備えられたトークン時計11の時刻を修正するための時刻修正メッセージを生成し(ステップS14)、生成した時刻修正メッセージをクライアント3に送信する(ステップS15)。
【0065】
図8は、時刻修正メッセージを用いて、トークン1に備えられたトークン時計11を修正する手順を示したフロー図である。図7のフローが実行され、サーバ2から時刻修正メッセージがクライアント3に送信されると、トークン1のテンキー15の「#」を長押しするなどして、トークン1に時刻修正を指示する(ステップS20)。
【0066】
トークン1は、時刻修正が指示されるとユーザ5のPINの入力を促す画面をディスプレイ16に表示することで、ユーザ5にPINの入力を要求する(ステップS21)。
【0067】
PINの入力を促す画面がトークン1のディスプレイ16に表示されると、ユーザ5は、トークン1のテンキー15を操作することで、PINをトークン1に入力し(ステップS22)、正当なユーザ5であるか確認するために、入力されたPINを照合する(ステップS23)。
【0068】
トークン1はPINの照合に成功すると、トークン1は時刻修正メッセージの入力を要求する画面をディスプレイ16に表示し(ステップS24)、ユーザ5は、テンキー15を操作して、クライアント3に表示された時刻修正メッセージを入力する(ステップS25)。
【0069】
トークン1は時刻修正メッセージが入力されると、時刻修正手段13を作動させ、トークン鍵12を用いて時刻修正メッセージに含まれる修正時間を復号した後、修正時間に従い、トークン時計11の時刻を修正し(ステップS26)、トークン時計11の時刻の修正結果をディスプレイ16に表示する(ステップS27)。
【0070】
なお、本発明は、これまで説明した実施の形態に限定されることなく、種々の変形や変更が可能であって、それらも本発明の均等の範囲に含まれる。
【0071】
例えば、上述した形態においては、例えば、図6に図示したように、許容時刻内のOTPすべてを生成し、許容時刻内に生成されるOTPに、ユーザ5から取得したOTPと一致するOTPが含まれるか確認していたが、許容範囲の下限或いは上限から順にOTPを生成し、OTPを生成するごとにユーザから取得したOTPと比較することで、許容時刻内に生成されるOTPに、ユーザ5から取得したOTPと一致するOTPが含まれるか確認してもよい。
【0072】
また、上述した形態においては、ユーザ5から取得したOTPと同じOTPを生成したときに利用した時刻を見つけることで、OTPの生成時刻を割出していたが、トークン1が生成するOTPに、トークン1がOTPを生成したときのトークン時計11の時刻である生成時刻を含ませて、サーバ2はトークンが生成したOTPから、OTPの生成時刻を割出すこともできる。
【0073】
このとき、トークン1は、OTPを生成するときのトークン時計11の時刻を生成時刻として、トークン鍵12を用い可逆性のあるアルゴリズムで暗号化して含ませ、サーバ2は、生成時刻をサーバ鍵で復号しすることで生成時刻を割出し、生成時刻とサーバ2に備えられたサーバ時計202の時刻の差から、トークン時計11とサーバ時計202の時刻ズレを算出する。
【0074】
トークン1が生成時刻ををOTPに含ませるときは、図7のステップS7で、トークン1は、OTPを生成するときのトークン時計11の時刻を生成時刻とし、トークン鍵12を用い可逆性のあるアルゴリズムで暗号化してOTPに含ませ、図7のステップS13で、サーバ2は、サーバ鍵202を用いて、OTPに含まれる生成時刻を復号し、ユーザ5を認証するときのサーバ2のサーバ時計202との時刻ズレを算出する。
【図面の簡単な説明】
【0075】
【図1】本発明に係るトークンとサーバを説明する図。
【図2】トークンの外観図。
【図3】トークンのブロック図。
【図4】サーバにブロック図。
【図5】サーバのデータベースを説明する図。
【図6】サーバの時刻修正指示部が、時刻ズレを算出する仕組みを説明する図。
【図7】時刻修正メッセージをユーザに伝達するまでの手順を示したフロー図。
【図8】トークンの時刻を修正する手順を示したフロー図。
【符号の説明】
【0076】
1 トークン
10 OTP生成手段
11 トークン時計
12 トークン鍵
13 時刻修正手段
14 ボタン
15 テンキー
16 ディスプレイ
2 サーバ
20 OTP認証手段
200 OTP取得手段
201 OTP認証部
202 サーバ時計
203 時刻修正指示部
21 データベース
210 サーバ鍵
3 クライアント
4 ネットワーク
5 ユーザ


【特許請求の範囲】
【請求項1】
時刻同期方式のワンタイムパスワードを生成するトークンの時刻を修正する時刻修正方法であって、
ステップa)前記トークンに備えられた第1の時計の時刻をパラメータとし、サーバによって認証されるワンタイムパスワードを前記トークンが生成し、前記トークンを所持するユーザからワンタイムパスワードを前記サーバが取得するステップ、
ステップb)ワンタイムパスワードの認証に利用する第2の時計を備えた前記サーバが、ステップa)で前記トークンがワンタイムパスワードを生成したときの前記第1の時計の時刻である生成時刻を割出すステップ、
ステップc)ワンタイムパスワードを認証するときの前記第2の時計の時刻である認証時刻と前記ステップb)で割出した前記生成時刻の差から、前記第1の時計と前記第2の時計の時刻ズレを算出し、前記トークンに備えられた前記第1の時計の時刻を修正するためのメッセージを生成するステップ、
ステップd)前記トークンが記憶している第1の暗号鍵と対になる第2の暗号鍵を用いて、前記メッセージの少なくとも一部を暗号化し、前記メッセージを前記ユーザに送信するステップ、
ステップe)前記サーバから送信された前記メッセージが前記トークンに入力され、前記第1の暗号鍵を用いて前記メッセージを復号した後、前記メッセージに従い前記トークンが前記第1の時計の時刻を修正するステップ、
とが順に実行されることを特徴とするトークンの時刻修正方法。
【請求項2】
請求項1に記載のトークンの時刻修正方法において、前記ステップb)は、前記サーバが、ワンタイムパスワードを取得したときの前記第2の時計の時刻を基準とし、時刻を変更しながら、前記トークンと同じ手順でワンタイムパスワードを生成し、前記トークンで生成されたワンタイムパスワードと一致するワンタイムパスワードを生成したときに利用した時刻から、前記生成時刻を割出すステップであることを特徴とするトークンの時刻修正方法。
【請求項3】
請求項1に記載のトークンの時刻修正方法において、前記ステップa)において、前記トークンは、前記トークンがワンタイムパスワードを生成したときの前記第1の時計の時刻を前記生成時刻として、可逆性のアルゴリズムで暗号化してワンタイムパスワードに含ませ、前記ステップb)は、前記第2の暗号鍵を用いて前記生成時刻を復号することで、前記生成時刻を割出すステップであることを特徴とするトークンの時刻修正方法。
【請求項4】
時刻同期方式のワンタイムパスワードを生成するトークンであって、前記トークンは、前記ワンタイムパスワードを生成するときに参照する時計と、前記トークンに秘匿に記憶された暗号鍵を用い、前記時計の時刻を非可逆性のアルゴリズムで暗号化することで、ワンタイムパスワードを生成するワンタイムパスワード生成手段と、データが入力されるデータ入力手段と、前記データ入力手段に前記時計の時刻を修正するメッセージが入力されたとき、前記暗号鍵を用いて前記メッセージを復号し、前記メッセージの内容に従い前記時計の時刻を修正する時刻修正手段と、を備えていることを特徴とするトークン。
【請求項5】
請求項4に記載のトークンであって、前記トークンに備えられた前記ワンタイムパスワード生成手段は、ワンタイムパスワードを生成したときの前記時計の時刻を、前記暗号鍵を用い可逆性のアルゴリズムで暗号化して、生成するワンタイムパスワードに含ませることを特徴とするトークン。
【請求項6】
請求項4または請求項5に記載のトークンであって、前記トークンは、前記データ入力手段から入力されたPINを照合する手段を備え、前記PINの照合に成功したときのみ、前記トークンに備えられた前記時刻修正手段を作動させることを特徴とするトークン。
【請求項7】
トークンが生成した時刻同期方式のワンタイムパスワードを認証するサーバであって、前記サーバは、ワンタイムパスワードの認証に利用する時計と、ワンタイムパスワードが生成されたときの前記トークン内の時刻である生成時刻を割出し、ワンタイムパスワードを認証するときの前記時計の時刻である認証時刻と前記生成時刻の差から、ワンタイムパスワードを生成したトークンの時刻と前記時計の時刻との時刻ズレを修正するためのメッセージを生成し、前記トークンが記憶している第1の暗号鍵と対になる第2の暗号鍵を用いて、前記メッセージの少なくとも一部を暗号化し、前記トークンを所持するユーザに前記メッセージを伝達する時刻修正指示手段と、を備えたことを特徴とするサーバ。
【請求項8】
請求項7の発明に記載のサーバにおいて、前記サーバに備えられた前記時刻修正指示手段は、ワンタイムパスワードを取得したときの前記時計の時刻を基準とし、時刻を変更しながら、前記トークンと同じ手順でワンタイムパスワードを生成し、前記トークンで生成されたワンタイムパスワードと一致するワンタイムパスワードを生成したときに利用した時刻から、前記サーバが前記生成時刻を割出すことを特徴とするサーバ。
【請求項9】
請求項7に記載のサーバにおいて、前記サーバが取得するワンタイムパスワードには、前記トークンがワンタイムパスワードを生成したときの前記トークン内の時刻が前記生成時刻として、可逆性のアルゴリズムを用いて暗号化された状態で含まれ、前記サーバに備えられた前記時刻修正指示手段は、前記第2の暗号鍵を用いて前記生成時刻を復号することで、前記サーバが前記生成時刻を割出すことを特徴とするサーバ。



【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2008−198147(P2008−198147A)
【公開日】平成20年8月28日(2008.8.28)
【国際特許分類】
【出願番号】特願2007−35587(P2007−35587)
【出願日】平成19年2月16日(2007.2.16)
【出願人】(000002897)大日本印刷株式会社 (14,506)
【Fターム(参考)】