(57)【要約】【課題】ワンタイムパスワード発生手段を携帯可能にし、かつ、ユーザに負担を掛けない認証システムを実現する。【解決手段】ＩＣカード５０と通信可能に接続された端末装置１０を認証するシステムにおいて、ＩＣカード５０が端末装置１０から取得した時刻情報を予め与えられた鍵Ａ，Ｂでそれぞれ復号及び暗号化し、演算結果αをレスポンスとして端末装置１０に送る。端末装置１０はこの演算結果αをユーザＩＤ及び時刻情報とともに認証データとして認証サーバ４０に送る。認証サーバ４０では、ユーザＩＤ、演算結果α、時刻情報を含む認証データを受信し、時刻情報を認証サーバ４０内の鍵Ａ，Ｂを用いてそれぞれ復号及び暗号化を行う。そしてこの暗号化処理された時刻情報と端末装置１０より送信された演算結果αを照合し、この照合の結果が一致すれば端末装置１０と認証サーバ４０との接続を許可する。【選択図】図３
2008027381.tif 000002
【特許請求の範囲】
【請求項１】
第１の装置と、該第１の装置とネットワークを介して接続される認証サーバからなる認証システムであって、
前記第１の装置は第２の装置と通信可能に接続され、
前記第２の装置は、自身の識別情報、第１の鍵及び第２の鍵を記憶する記憶部と、
前記第１の装置から入力された時刻情報を前記識別情報に対応する第１の鍵で復号する復号部と、
前記復号された時刻情報を前記第２の鍵で暗号化して演算結果として出力する暗号化部と、
前記識別情報と前記暗号化部で暗号化された前記演算結果とを含む認証データを前記第１の装置へ送信する送信部とを有し、
前記認証サーバは、
前記ネットワークを介して前記第１の装置より、前記第２の装置の識別情報と前記演算結果を含む認証データを受信し、
前記認証サーバ内の第１の鍵で前記第１の装置の時刻情報と同じ値を示す時刻情報を復号し、
該復号された時刻情報を前記認証サーバ内の第２の鍵を用いて暗号化し、
該暗号化された時刻情報と前記第１の装置より受信した演算結果を照合し、
照合の結果に基づいて前記第１の装置を認証する
ことを特徴とする認証システム。
【請求項２】
第２の装置と通信可能に接続された第１の装置からネットワークを介して送信される認証データを受信して前記第１の装置の認証を行う認証サーバであって、
前記第２の装置から送信される識別情報と、前記第１の装置から入力された時刻情報が前記第１の装置と通信可能に接続された第２の装置の識別情報に対応する第１の鍵で復号され、該復号された時刻情報が前記識別情報に対応する第２の鍵で暗号化された演算結果と、時刻情報とを含む認証データを前記第１の装置から受信する受信部と、
前記第１の装置から送信される前記時刻情報を復号するための第１の鍵と、該復号された時刻情報を暗号化するための第２の鍵を記憶している記憶部と、
前記第１の装置から送信された前記識別情報に対応する第１の鍵を前記記憶部から読み出し、前記第１の装置から送信された前記時刻情報を前記第１の鍵で復号する復号部と、
前記第１の装置から受信した前記識別情報に対応する第２の鍵を前記記憶部から読み出し、前記復号部で復号された前記時刻情報を前記第２の鍵で暗号化する暗号化部と、
前記暗号化部で暗号化された前記時刻情報の演算結果を前記第１の装置から送信された演算結果と照合する照合部とを備え、
前記照合部の照合結果に基づいて前記第１の装置を認証する
ことを特徴とする認証サーバ。
【請求項３】
認証処理毎に、認証に成功した通信における時刻情報を前記記憶部に記憶しておき、前記第１の装置より受信した時刻情報が前記記憶部に記憶されている前回認証成功時の時刻情報より後の時刻であることを認証成功の条件の一つとする
ことを特徴とする請求項２に記載の認証サーバ。
【請求項４】
第２の装置と通信可能に接続された第１の装置からネットワークを介して送信される認証データを受信して前記第１の装置の認証を行う認証サーバであって、
前記第２の装置から送信される識別情報と、前記第１の装置から入力された時刻情報が前記第１の装置と通信可能に接続された第２の装置の識別情報に対応する第１の鍵で復号され、該復号された時刻情報が前記識別情報に対応する第２の鍵で暗号化された演算結果と、時刻情報とを含む認証データを前記第１の装置から受信する受信部と、
前記第１の装置から送信された識別情報に基づいて前記第１の鍵及び前記第２の鍵を計算により生成する鍵生成部と、
前記鍵生成部で生成された前記第１の鍵を用いて前記第１の装置から送信された前記時刻情報を復号する復号部と、
前記鍵生成部で生成された前記第２の鍵を用いて前記復号部で復号された時刻情報を暗号化する暗号化部と
前記暗号化部で暗号化された前記時刻情報の演算結果を前記第１の装置から送信された演算結果と照合する照合部とを備え、
前記照合部の照合結果に基づいて前記第１の装置を認証する
ことを特徴とする認証サーバ。
【請求項５】
認証処理毎に、認証に成功した通信における時刻情報を前記記憶部に記憶しておき、前記第１の装置より受信した時刻情報が前記記憶部に記憶されている前回認証成功時の時刻情報より後の時刻であることを認証成功の条件の一つとする
ことを特徴とする請求項４に記載の認証サーバ。
【請求項６】
第２の装置と通信可能に接続された第１の装置からネットワークを介して送信される認証データを受信して前記第１の装置の認証を行う認証サーバであって、
前記第２の装置から送信される識別情報と、前記第１の装置から入力された時刻情報が前記第１の装置と通信可能に接続された第２の装置の識別情報に対応する第１の鍵で復号され、該復号された時刻情報が前記識別情報に対応する第２の鍵で暗号化された演算結果とを含む認証データを前記第１の装置から受信する受信部と、
前記第１の装置から送信される前記時刻情報を復号するための第１の鍵と、該復号された識別情報を暗号化するための第２の鍵を記憶している記憶部と、
前記第１の装置から送信された前記識別情報に対応する第１の鍵を前記記憶部から読み出し、当該認証サーバ内で生成され前記第１の装置から入力された前記時刻情報と同じ値を示す時刻情報を前記第１の鍵で復号する復号部と、
前記第１の装置から送信された前記識別情報に対応する第２の鍵を前記記憶部から読み出し、前記復号部で復号された時刻情報を前記第２の鍵で暗号化する暗号化部と、
前記暗号化部で暗号化された前記時刻情報の演算結果を前記第１の装置から送信された演算結果と照合する照合部とを備え、
前記照合部の照合結果に基づいて前記第１の装置を認証する
ことを特徴とする認証サーバ。
【請求項７】
第２の装置と通信可能に接続された第１の装置からネットワークを介して送信される認証データを受信して前記第１の装置の認証を行う認証サーバであって、
前記第２の装置から送信される識別情報と、前記第１の装置から入力された時刻情報が前記第１の装置と通信可能に接続された第２の装置の識別情報に対応する第１の鍵で復号され、該復号された時刻情報が前記識別情報に対応する第２の鍵で暗号化された演算結果とを含む認証データを前記第１の装置から受信する受信部と、
前記第１の装置から送信された識別情報に基づいて前記第１の鍵及び前記第２の鍵を計算により生成する鍵生成部と、
前記鍵生成部で生成された前記第１の鍵を用いて、前記認証サーバ内で生成され前記第１の装置から入力された前記時刻情報と同じ値を示す時刻情報を復号する復号部と、
前記鍵生成部で生成された前記第２の鍵を用いて、前記復号部で復号された時刻情報を暗号化する暗号化部と、
前記暗号化部で暗号化された前記時刻情報の演算結果を前記第１の装置から送信された演算結果と照合する照合部とを備え、
前記照合部の照合結果に基づいて前記第１の装置を認証する
ことを特徴とする認証サーバ。
【請求項８】
第２の装置と通信可能に接続された第１の装置からネットワークを介して送信される認証データを受信して前記第１の装置の認証を行う認証サーバであって、
前記第２の装置から送信される識別情報と、前記第１の装置から入力された時刻情報が前記第１の装置と通信可能に接続された第２の装置の識別情報に対応する第１の鍵で復号され、該復号された時刻情報が前記識別情報に対応する第２の鍵で暗号化された演算結果とを含む認証データを前記第１の装置から受信する受信部と、
前記第１の装置の時刻情報と同じ値を示す時刻情報を前記第１の鍵と同じ鍵を用いて復号する復号部と、
前記復号部で復号された時刻情報を前記第２の鍵と同じ鍵を用いて暗号化する暗号化部と、
前記暗号化部で暗号化された前記時刻情報の演算結果を前記第１の装置から送信された演算結果と照合する照合部とを備え、
前記照合部の照合結果に基づいて前記第１の装置を認証する
ことを特徴とする認証サーバ。
【請求項９】
第２の装置と通信可能に接続された第１の装置から送信される認証データを受信して前記第１の装置の認証を行う認証方法であって、
前記認証サーバが、前記第２の装置から送信される識別情報と、前記第１の装置から入力された時刻情報が前記第１の装置と通信可能に接続された第２の装置の識別情報に対応する第１の鍵で復号され、該復号された時刻情報が前記識別情報に対応する第２の鍵で暗号化された演算結果と、時刻情報とを含む認証データを前記第１の装置から受信するステップと、
前記第１の装置から送信された前記識別情報に対応する第１の鍵を記憶部から読み出し、前記第１の装置から送信された前記時刻情報を前記第１の鍵で復号するステップと、
前記第１の装置から受信した前記識別情報に対応する第２の鍵を前記記憶部から読み出し、前記復号された前記時刻情報を前記第２の鍵で暗号化するステップと、
前記暗号化された前記時刻情報の演算結果を前記第１の装置から送信された演算結果と照合するステップと、
前記照合の結果に基づいて前記第１の装置を認証するステップと
を含むことを特徴とする認証方法。
【請求項１０】
第２の装置と通信可能に接続された第１の装置から送信される認証データを受信して前記第１の装置の認証を行う認証方法であって、
前記第２の装置から送信される識別情報と、前記第１の装置から入力された時刻情報が前記第１の装置と通信可能に接続された第２の装置の識別情報に対応する第１の鍵で復号され、該復号された時刻情報が前記識別情報に対応する第２の鍵で暗号化された演算結果と、時刻情報とを含む認証データを前記第１の装置から受信するステップと、
前記第１の装置から送信された識別情報に基づいて前記第１の鍵及び前記第２の鍵を計算により生成するステップと、
前記生成された前記第１の鍵を用いて前記第１の装置から送信された前記時刻情報を復号するステップと、
前記生成された前記第２の鍵を用いて前記復号された時刻情報を暗号化するステップと
前記暗号化された前記時刻情報の演算結果を前記第１の装置から送信された演算結果と照合するステップと、
前記照合の結果に基づいて前記第１の装置を認証するステップと
を含むことを特徴とする認証方法。
【請求項１１】
第２の装置と通信可能に接続された第１の装置から送信される認証データを受信して前記第１の装置の認証を行う認証方法であって、
前記第２の装置から送信される識別情報と、前記第１の装置から入力された時刻情報が前記第１の装置と通信可能に接続された第２の装置の識別情報に対応する第１の鍵で復号され、該復号された時刻情報が前記識別情報に対応する第２の鍵で暗号化された演算結果とを含む認証データを前記第１の装置から受信するステップと、
前記第１の装置から送信された前記識別情報に対応する第１の鍵を記憶部から読み出し、当該認証サーバ内で生成され前記第１の装置から入力された前記時刻情報と同じ値を示す時刻情報を前記第１の鍵で復号するステップと、
前記第１の装置から送信された前記識別情報に対応する第２の鍵を前記記憶部から読み出し、前記復号された時刻情報を前記第２の鍵で暗号化するステップと、
前記暗号化された前記時刻情報の演算結果を前記第１の装置から送信された演算結果と照合するステップと、
前記照合の結果に基づいて前記第１の装置を認証するステップと、
を含むことを特徴とする認証方法。
【請求項１２】
第２の装置と通信可能に接続された第１の装置から送信される認証データを受信して前記第１の装置の認証を行う認証方法であって、
前記第２の装置から送信される識別情報と、前記第１の装置から入力された時刻情報が前記第１の装置と通信可能に接続された第２の装置の識別情報に対応する第１の鍵で復号され、該復号された時刻情報が前記識別情報に対応する第２の鍵で暗号化された演算結果とを含む認証データを前記第１の装置から受信するステップと、
前記第１の装置から送信された識別情報に基づいて前記第１の鍵及び前記第２の鍵を計算により生成するステップと、
前記生成された前記第１の鍵を用いて、前記認証サーバ内で生成され前記第１の装置から入力された前記時刻情報と同じ値を示す時刻情報を復号するステップと、
前記生成された前記第２の鍵を用いて、前記復号された時刻情報を暗号化するステップと、
前記暗号化された前記時刻情報の演算結果を前記第１の装置から送信された演算結果と照合するステップと、
前記照合の結果に基づいて前記第１の装置を認証するステップと
を含むことを特徴とする認証方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ワンタイムパスワードを用いた認証処理を行うのに好適な認証システム、認証サーバ及び認証方法に関する。
【背景技術】
【０００２】
従来、ユーザ認証技術としてワンタイムパスワード方式が知られている。ワンタイムパスワード方式とは、パーソナルコンピュータ（以下、「ＰＣ」という）等のコンピュータを認証サーバに接続する際に、トークンと呼ばれる携帯装置（ワンタイムパスワード発生器）に表示される英数字等をユーザがＰＣに入力することによりユーザ認証を行い、認証が成功したらＰＣと認証サーバとの間でリモートアクセスを可能にする認証方式である。トークンが生成するパスワードは所定時間、例えば１分毎に変化するため、パスワードが万が一盗聴されたとしても、有効期間は最大でも１分しかない。そしてすべてのパスワードは繰り返し使われることはなく使い捨てとなるため、高い安全性が保持される。
【０００３】
図８は、従来のワンタイムパスワード方式による認証システムの例を示したものである。ユーザには、予めトークン１５０とユーザＩＤが与えられている。トークン１５０の押ボタン１５１を押すことにより、トークン１５０の表示部１５２に英数字が表示される。ユーザがこの英数字をパスワードとしてユーザＩＤとともにキーボード１２０からＰＣ１１０に入力すると、ＰＣ１１０は、インターネット１３０を介してユーザＩＤとパスワードを認証サーバ１４０に送信する。ＰＣ１１０からパスワードとユーザＩＤを受け取った認証サーバ１４０は、そのパスワードが正当なものであるかどうかを確認し、正当なものであればＰＣ１１０からのリモートアクセスを許可する。
【０００４】
また、他の従来例として、携帯電話機を用いてワンタイムパスワードの安全性を担保しつつ、秘密情報の管理を容易にした情報通信ネットワークシステムにおけるユーザ認証技術が提案されている（例えば、特許文献１参照）。この特許文献１に記載のものは、携帯電話機のハッシュ生成部で、ユーザＩＤと、現在時刻情報と、共通の秘密情報とを用いて、ハッシュ値を求める。そして、このハッシュ値からワンタイムパスワードを生成し、ユーザＰＣに送る。ユーザＰＣはこのユーザＩＤとワンタイムパスワードをユーザ認証サーバに送り、これを受信したユーザ認証サーバは、ハッシュ生成部にて、受信したユーザＩＤと、現在時刻情報と、共通の秘密情報とを用いて、同様にワンタイムパスワードを生成する。このワンタイムパスワードがワンタイムパスワード検証部による検証に用いられ、その検証の結果によってユーザ認証が行われる構成となっている。
【０００５】
【特許文献１】特開２００２−２５９３４４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、図８に示した認証方式では、ユーザは常にトークン１５０を携帯する必要がある。トークン１５０は電池を内蔵しており、小さいながらも重量、厚みがあるため、ユーザにとっては、このトークン１５０を常時携帯すること自体が面倒なものであった。また、トークン１５０の表示部１５２に表示される内容を、キーボード１２０を用いてＰＣ１１０に入力しなければならないので、その入力作業の手間が煩わしいという問題があった。
【０００７】
また上記特許文献１に記載のものは、ワンタイムパスワードを文字列と限定し、ユーザの手入力でユーザＰＣに入力するものであり、ワンタイムパスワード発生手段として時計機能を持つ携帯電話端末を前提にしている。入力作業の手間が発生するという点では、この特許文献１に記載の技術も図８に示したものと同様である。
【０００８】
本発明は斯かる点に鑑みてなされたものであり、ワンタイムパスワード発生手段を携帯可能にし、かつ、ユーザに負担を掛けないようにすることを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するため、本発明は、第２の装置と通信可能に接続された第１の装置と、該第１の装置とネットワークを介して接続される認証サーバにおける認証処理において、まず第２の装置に自身の識別情報、第１の鍵及び第２の鍵を記憶させておく。そして、第２の装置において、第１の装置から入力された時刻情報を識別情報に対応する第１の鍵で復号し、該復号された時刻情報を第２の鍵で暗号化し、この識別情報と暗号化された時刻情報の演算結果とを含む認証データを第１の装置へ送信する。ここで、認証サーバは、ネットワークを介して第１の装置より、第２の装置の識別情報と演算結果を含む認証データを受信し、認証サーバ内の第１の鍵で第１の装置の時刻情報と同じ値を示す時刻情報を復号し、該復号された時刻情報を認証サーバ内の第２の鍵を用いて暗号化する。そして、該暗号化された時刻情報と第１の装置より受信した演算結果を照合し、照合の結果に基づいて第１の装置を認証するように構成する。
【００１０】
上記構成によれば、第２の装置として例えば携帯に便利なＩＣカードを利用し、特別なデータ構造を定義したりファイルフォーマットを規定したりすることなく、ＩＣカード（第２の装置）をワンタイムパスワード発生手段として利用した認証システムを構築することができる。
【発明の効果】
【００１１】
本発明によれば、ワンタイムパスワード発生手段を携帯可能にし、かつ、ユーザに負担を掛けない認証システムを実現することができる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明を実施するための最良の形態の例について、添付図面を参照しながら説明する。
【００１３】
図１は、本発明が適用されるワンタイムパスワード認証システムを示す図である。図１に示すワンタイムパスワード認証システム１におけるＩＣ（Integrated Circuit）カード５０は、例えばアンテナが内蔵された非接触式カードであり、ＩＣカードリーダライタ６０が発信する微弱な電磁波を利用してリーダライタ６０との間で通信を行うものである。非接触式ＩＣカードの例としては、いわゆるFeliCa（登録商標）カード又はFeliCa機能が搭載された携帯電話端末などが挙げられる。ＩＣカード５０とリーダライタ６０の間のデータ通信は、所定のＩＣカードの規格に沿った暗号化が行われる。なお、本例ではＩＣカードに非接触式のものを使用したが、接触式カードを適用した場合でも本発明の目的を達成することができる。
【００１４】
このＩＣカード（第１の装置）５０を端末装置（第２の装置）の一例であるパーソナルコンピュータ（ＰＣ）１０に接続したリーダライタ６０にかざすと、ＰＣ１０とＩＣカード５０の間で必要な情報交換が行われる。そして、ＰＣ１０からインターネット３０等のネットワークを経由して認証サーバ４０に認証に必要なデータが伝送され、認証サーバ４０で認証処理が行われる。ここで認証に成功すれば、ＰＣ１０のユーザは、認証サーバ４０にアクセスして認証サーバ４０の資源を使用することができる。この例ではＰＣ１０に入力手段としてキーボード２０が接続されている。
【００１５】
上記ＰＣ１０は、クライアント装置として動作するコンピュータの一例を示したものであり、リーダライタ６０を接続することができ、かつＩＣカード、認証サーバとの間でデータ通信及びデータ処理が行えるものであればどのようなものでもよい。据え置きタイプの他に、いわゆるノートＰＣ等の携帯可能なタイプのコンピュータであってもよい。さらには上記機能が組み込まれた装置でもよく、例えばテレビジョン受像機に接続されたセットトップボックス（ＳＴＢ）などでもよい。
【００１６】
ここで、図２を参照して、ワンタイムパスワード認証システム１で使用されるＩＣカード５０の構成について説明する。図２に示すように、ＩＣカード５０はＰＣ１０から入力されるコマンドの種類を解釈するコマンド解釈部５１、コマンドに含まれている複数のパラメータ（データ）を分離するパラメータ分離部５２、カードＩＤ（識別情報）の照合を行う照合部５３、カードＩＤ，鍵Ａ及び鍵Ｂを保存する不揮発性の記憶部５４、データを復号する復号部５５、復号されたデータを暗号化する暗号化部５６、ＰＣ１０へ出力するレスポンスを作成するレスポンス作成部５７から構成されている。上記カードＩＤはＩＣカードを識別できるものであればよい。
【００１７】
コマンド解釈部５１は、ＰＣ１０から送られてきたコマンドを解釈し、その結果に応じて所定の制御を行う。例えば、入力コマンドがポーリングコマンドの場合には、記憶部５４に記憶されているカードＩＤをレスポンス作成部５７へ供給し、入力コマンドが認証コマンドの場合には、その認証コマンドに含まれる各データをパラメータ分離部５２へ供給するようにする。この例では、認証コマンドは、カードＩＤとＰＣ１０で計測された時刻情報とを含んでいる。ＰＣ１０により生成される時刻情報は、所定時間例えば６０秒ごとに更新される。
【００１８】
パラメータ分離部５２は、コマンド解釈部５１から入力されたコマンドに含まれる複数のデータの分離を行う。この例では、コマンドにカードＩＤと時刻情報が含まれていた場合、カードＩＤを照合部５３に出力し、時刻情報を復号部５５に出力する。
【００１９】
照合部５３は、パラメータ分離部５２から送られてきたカードＩＤと、記憶部５４に記憶されているカードＩＤを照合して、一致するか否かを判定する。カードＩＤが一致しない場合、パラメータ分離部５２は以降の処理を中断する。
【００２０】
復号部５５は、照合部５３でカードＩＤが一致すると判定された場合、カードＩＤに対応する鍵Ａを記憶部５４から読み出し、この鍵Ａを用いてパラメータ分離部５２から供給された時刻情報を復号し、暗号化部５６へ出力する。
【００２１】
暗号化部５６は、カードＩＣに対応する鍵Ｂを記憶部５４から読み出し、この鍵Ｂを用いて復号部５５で復号されたデータを暗号化し、レスポンス作成部５７へ供給する。
【００２２】
上記復号部５５及び暗号化部５６で使用される鍵Ａ、鍵Ｂは共通鍵（秘密鍵）であり、これと同一の鍵を認証サーバ４０でも所有している。認証サーバ４０は同一の鍵Ａ、鍵Ｂを用いてＰＣ１０を経由して送られる認証データの復号、暗号化を行う。
【００２３】
レスポンス作成部５７は、暗号化部５６で暗号化されたデータ（演算結果α）をレスポンスとしてＰＣ１０へ出力する送信部の例である。また、レスポンス作成部５７は、上述したように記憶部５４に記憶されているカードＩＤをレスポンスとしてＰＣ１０へ出力する。
【００２４】
次に、図３を参照して、ワンタイムパスワード認証システム１で使用される認証サーバ４０の第１実施形態の構成について説明する。この実施形態例で、ＰＣ１０から認証サーバ４０に送られる認証データは、時刻情報、演算結果α及びカードＩＤを含んでいる。認証サーバ４０はＰＣ１０より入力された認証データに含まれる複数のデータを種類別に分離するパラメータ分離部（データ受信部）４１、分離した各データを一時記憶するメモリ４２、複数のカードＩＤ，鍵Ａ及び鍵Ｂを含む複数の鍵，並びに前回認証成功時の時刻情報を記憶する不揮発性の記憶部４３、データを復号する復号部４４、復号されたデータを暗号化する暗号化部４５、演算結果α又は時刻情報の照合を行う照合部４６から構成されている。
【００２５】
復号部４４は、ＰＣ１０から送られたカードＩＣに対応する鍵Ａを検索して記憶部４３から読み出し、この鍵Ａを用いてメモリ４２に一時記憶されている時刻情報を復号し、暗号化部４５へ出力する。この鍵Ａは、ＩＣカード５０の記憶部５４に記憶されている鍵Ａと同一である。
【００２６】
暗号化部４５は、ＰＣ１０から送られたカードＩＣに対応する鍵Ｂを検索して記憶部４３から読み出し、この鍵Ｂを用いて復号部４４で復号されたデータを暗号化し、照合部４６へ入力する。この鍵Ｂは、ＩＣカード５０の記憶部５４に記憶されている鍵Ｂと同一である。
【００２７】
照合部４６は、暗号化部４５で暗号化して得られる演算結果がメモリ４２に一時記憶されている演算結果αと一致するかどうかを照合する。また、ＰＣ１０から送られてメモリ４２に一時記憶されている時刻情報と前回認証成功時の時刻情報が一致するかどうかの照合を行う。そして、照合した結果に基いて認証要求が正規のユーザからのものであるかどうかを確認し、その確認の結果すなわち認証結果をＰＣ１０へ返信する。なお、今回の時刻が前回認証に成功した時刻より新しいことを確認できた場合、前回の時刻情報を今回の時刻情報の値に更新する（過去時刻排除）。
【００２８】
ＩＣカード５０及び認証サーバ４０で実行される暗号化、復号には共通鍵暗号化方式のアルゴリズムとして、ＤＥＳ（Data Encryption Standard）やトリプルＤＥＳ等のアルゴリズムが使用可能であるが、この例に限定されるものでないことは勿論である。
【００２９】
次に、本発明によるワンタイムパスワード認証処理について説明する。図４は、本発明の第１実施形態に係るＩＣカード５０を利用したワンタイムパスワード認証処理を示すシーケンス図である。以下の説明においては、ＰＣ１０とＩＣカード５０との間でデータを中継するリーダライタ６０、並びにＰＣ１０から認証サーバ４０への通信経路上にあるインターネット３０の記載は省略している。
【００３０】
図４において、まずＰＣ１０がリーダライタ６０を介してＩＣカード５０にポーリング（polling）コマンドを送信する（ステップＳ１）。ＩＣカード５０は、ポーリングコマンドを受信し、コマンド解釈部５１でポーリングコマンドであると解釈すると、そのレスポンス（応答）として記憶部５４に記憶されているカードＩＤ（機器番号）を読み出し、読み出したカードＩＤをレスポンス作成部５７からリーダライタ６０を介してＰＣ１０へ出力する（ステップＳ２）。
【００３１】
ＩＣカード５０からレスポンス（カードＩＤ）を受信したＰＣ１０は、ＩＣカード５０から取得したカードＩＤと、ＰＣ１０の内部時計から読み取った時計情報とを、リーダライタ６０を介して認証コマンドにてＩＣカード５０へ送信する（ステップＳ３）。
【００３２】
ＩＣカード５０は、入力されたデータを予め記憶部５４に記憶された鍵Ａで復号し、さらに予め記憶された別の鍵Ｂで暗号化して、レスポンス（演算結果α）としてＰＣ１０にリーダライタ６０を介して返信する（ステップＳ４）。
【００３３】
このときＩＣカード５０では、以下の処理を実行している。まず入力された認証コマンドをコマンド解釈部５１で解釈し、認証コマンドに含まれた各データをパラメータ分離部５２に供給する。パラメータ分離部５２はデータ（パラメータ）毎に分離して後段の処理部へ出力する。ここではカードＩＤを照合部５３に出力すると共に、時刻情報を復号部５５に出力する。照合部５３へ送られたカードＩＤは、記憶部５４に記憶されているカードＩＤと照合される。照合の結果カードＩＤが一致していると判定された場合、復号部５５へ送られた時刻情報は記憶部５４に記憶されている鍵Ａで復号される。この復号された時刻情報は、暗号化部５６へ送られて記憶部５４に記憶されている鍵Ｂで暗号化され、レスポンス作成部５７に供給される。暗号化部５６からレスポンス作成部５７に供給されたデータ（演算結果α）はレスポンスとしてリーダライタ６０を介してＰＣ１０に出力される。
【００３４】
ＩＣカード５０からレスポンス（演算結果α）を受け取ったＰＣ１０は、ＩＣカード５０のカードＩＤ、演算結果α及びステップＳ３の処理で使用した時刻情報を含む認証データを、インターネット３０を経由して認証サーバ４０に送る（ステップＳ５）。
【００３５】
認証サーバ４０では、受信した認証データに含まれるカードＩＤに対応する鍵Ａ、鍵Ｂをそれぞれ記憶部４３から読み出し、上記受信した認証データに含まれる時刻情報を鍵Ａで復号し、さらに鍵Ｂで暗号化する。そして、この暗号化した結果を、認証データに含まれる演算結果αと照合し、両者が一致したことをもってユーザ認証が完了する（ステップＳ６）。
【００３６】
上記認証処理をより詳細に説明する。認証サーバ４０は、まずＰＣ１０より送られた認証データをパラメータ分離部４１でデータ（パラメータ）毎に分離して後段の処理部へ出力する。ここでは、認証データから分離された時刻情報、演算結果α及びカードＩＤがそれぞれメモリ４２に記憶される。次に記憶部４３に記憶されている鍵の中から、分離されたカードＩＤを基に対応する鍵Ａ、鍵Ｂが読み出される。そして、受信した時刻情報が復号部４４にて鍵Ａを利用して復号され、さらに暗号化部４５へ送られて鍵Ｂで暗号化され、照合部４６へ送られる。復号部４４及び暗号化部４５を経て照合部４６に入力された時刻情報は、メモリ４２に記憶されている演算結果αと照合され、一致するかどうかが判定される。
【００３７】
さらに、上記演算結果αの照合に加えて、記憶部４３に記憶しておいた前回認証に成功した時刻情報と、照合部４６でＰＣ１０から受け取った時刻情報を照合し、前回の時刻より今回の時刻の方が後である（すなわち新しい）ことを認証成功の条件とする。時刻情報が前後している場合（今回の時刻の方が前回の時刻より前の場合）は何らかの不具合があったか、あるいは時刻情報が改ざんされたものと判断し認証失敗とする。このようにすることでより確度の高いユーザ認証が実現できる。
【００３８】
そして、認証サーバ４０は演算結果αの照合と時刻情報の照合をそれぞれ行い、それぞれにおいて条件が成立していたときに認証成功とする。認証処理が終了すると、インターネット３０を経由してその結果をＰＣ１０へ返信する。認証が成功した場合、ＰＣ１０は認証サーバ４０とのリモートアクセス可能となり（ステップＳ７）、ユーザは認証サーバ４０からサービスを受けられるようになる。
【００３９】
以上説明した本発明の第１実施形態によれば、ＩＣカードを使用して、外部（ＰＣ１０）より時刻情報を入力して、ＩＣカード５０内部で所定の演算を実施、その結果をＩＣカード５０とＰＣ１０との通信により取り出して利用するように構成されている。したがって、特別なデータ構造を定義したりファイルフォーマットを規定したりすることなく、ＩＣカードをワンタイムパスワード発生手段として利用した認証システムを構築することができる。
【００４０】
前述したように、ＩＣカードは携帯するのに便利であり、またＩＣカード機能を備えた携帯電話機は携帯する機会が多いため、ワンタイムパスワード発生器を持ち運ぶことを意識することなく常時携帯することができるので、ユーザに便利な認証システムを実現することができる。
【００４１】
さらに、従来のワンタイムパスワード発生器を利用した認証システムのようにユーザが数字等を入力する必要がないため、入力作業の手間が発生しない使い勝手の良い認証システムとすることができる。
【００４２】
次に、本発明の第２実施形態について説明する。図５に本発明の第２実施形態に係る認証サーバの構成を示す。本実施形態は、認証サーバ側において、受信したカードＩＤに対応する鍵Ａ、鍵Ｂを記憶部から読み出す代わりに、鍵Ａ、鍵ＢをカードＩＤから秘密の演算によって求める構成としている。すなわち、ＰＣ１０より送られたカードＩＤから秘密演算により鍵Ａ、鍵Ｂを計算する計算部（鍵生成部）４７を設けている。図５において、図３に対応する部分には同一符号を付し、詳細な説明は省略する。
【００４３】
図５に示した認証サーバ４０ａについて説明する。認証サーバ４０ａでは、まずＰＣ１０より送られた認証データをパラメータ分離部４１でデータ（パラメータ）毎に分離して後段の処理部へ出力する。ここでは、認証データから分離された時刻情報、演算結果α及びカードＩＤはそれぞれメモリ４２に記憶される。計算部４７は、メモリ４２に記憶されたカードＩＤを読み出し、読み出したカードＩＤを用いて鍵Ａ、鍵Ｂをそれぞれ秘密演算し、生成する。生成された鍵Ａ、鍵Ｂはそれぞれ復号部４４、暗号化部４５に供給される。
【００４４】
メモリ４２に記憶された時刻情報は復号部４４に送られ、計算部４７で算出された鍵Ａで復号される。この復号された時刻情報は、さらに暗号化部４５へ送られて鍵Ｂで暗号化され、照合部４６へ送られる。そして、復号部４４及び暗号化部４５を経て照合部４６に入力された時刻情報は、メモリ４２に記憶されている演算結果α（ＰＣ１０から送信されたもの）と照合され、一致するかどうかが判定される。
【００４５】
さらに、上記演算結果αの照合に加えて、記憶部４３に記憶されている前回認証に成功した時刻情報と、照合部４６でＰＣ１０から受け取った時刻情報が照合される。認証サーバ４０ａは、図１の例と同様に、演算結果αの照合結果及び時刻情報の照合結果に基づいて認証を行い、認証結果をＰＣ１０に返信する。認証が成功した場合、ＰＣ１０は認証サーバ４０ａとのリモートアクセスが可能となる。
【００４６】
計算部４７による秘密計算の方法として、例えば予め規定した固定の鍵を使用し、カードＩＤに対してＤＥＳ等の暗号化処理を行うことが考えられる。具体的には、鍵Ｘ、鍵Ｙを予め規定しておき記憶部４３に記憶しておく。この鍵Ｘ、鍵Ｙは認証システム外には秘密に保持されるものである。そして受信したカードＩＤのビット列を鍵ＸでＤＥＳ暗号化したものを鍵Ａ、受信したカードＩＤのビット列を鍵ＹでＤＥＳ暗号化したものを鍵Ｂとする。この秘密演算によって得られる鍵Ａと鍵Ｂは、それぞれ復号部４４、暗号化部４５に供給する。
【００４７】
あるいは秘密計算の他の方法として、例えば受信したカードＩＤのビット列に予め規定した固定の値を加算し、ハッシュ値を求めた後で全ビットを反転したものを鍵Ａとし、受信したカードＩＤのビット列から予め規定した固定の値を減算し、ハッシュ値を取ったものを鍵Ｂとするなどの方法も考えられる。
【００４８】
以上説明した本発明の第２実施形態によれば、復号部４４及び暗号化部４５で使用する鍵Ａ、鍵ＢをさらにカードＩＤから計算して求めるようにしたので、全てのユーザ数分の鍵を記憶しておく必要がないので、データ記憶装置の容量が節約できると共に、検索時間を不要とすることができる。その他、本実施形態は第１実施形態（図３）と同様の作用効果を奏することは勿論である。
【００４９】
次に、本発明の第３実施形態について説明する。図６に本発明の第３実施形態に係る認証サーバの構成を示す。この第３の実施形態が図３で示した第１の実施形態と異なるのは、ユーザ側から認証サーバ側に対して時刻情報を送らないようにした点である。すなわち、ユーザ側と認証サーバ側が正しい時刻情報を持つ場合は、認証サーバの内部時計から得られる時刻情報を利用して認証処理を行う構成としている。図６において、図３に対応する部分には同一符号を付し、詳細な説明は省略する。
【００５０】
図６に示した認証サーバ４０ｂについて説明する。認証サーバ４０ｂでは、まずＰＣ１０より送られた演算結果α及びカードＩＤを含む認証データをパラメータ分離部４１でデータ（パラメータ）毎に分離して後段の処理部へ出力する。ここでは、認証データから分離された演算結果α及びカードＩＤがそれぞれメモリ４２に記憶される。次に記憶部４３に記憶されている鍵の中から、分離されたカードＩＤに対応する鍵Ａ、鍵Ｂが読み出される。そして、復号部４４において認証サーバ４０ｂの持つ時刻情報４８が鍵Ａを用いて復号される。
【００５１】
時刻情報４８は、認証サーバ４０ｂによってＰＣ１０から送信された認証データが受信された時刻に基づいて生成され、ＰＣ１０により時刻情報が生成される時間と同じ時間間隔、例えば６０秒間隔の値を示す。
【００５２】
復号された時刻情報は暗号化部４５において鍵Ｂで暗号化され、照合部４６へ送られる。こうして照合部４６に入力された時刻情報は、メモリ４２に記憶されている演算結果α（ＰＣ１０から送信されたもの）と照合され、一致するかどうかが判定される。認証サーバ４０ｂは、演算結果αの照合結果に基づいて認証を行い、認証の結果をＰＣ１０に返信する。認証が成功した場合、ＰＣ１０は認証サーバ４０ｂとのリモートアクセスが可能となる。
【００５３】
ＰＣ１０と認証サーバ４０ｂに同じ時刻情報を供給する（同期させる）手段として、例えば、ＮＴＰ（Network Time Protocol）の時刻同期機能、ＧＰＳ（Global Positioning System）時計、標準電波を利用した電波時計、などが使用できる。
【００５４】
以上説明した本発明の第３実施形態によれば、ＰＣ側と認証サーバ側が共に正確な時刻情報を持つ環境にある場合は、ＰＣ１０から認証サーバ４０ｂに対して時刻情報を送る処理を省略できる。その他、本実施形態は第１実施形態（図３）と同様の作用効果を奏することは勿論である。
【００５５】
次に、本発明の第４実施形態について説明する。図７に本発明の第４実施形態に係る認証サーバの構成を示す。この第４の実施形態は、図５に示す第２の実施形態を変形したものであり、特にユーザ側から認証サーバ側に対して時刻情報を送らないようにした例である。すなわち、ユーザ側と認証サーバ側が正しい時刻情報を持つ場合は、認証サーバの内部時計から得られる時刻情報を利用して認証処理を行う構成としている。図７において、図５に対応する部分には同一符号を付し、詳細な説明は省略する。
【００５６】
図７に示した認証サーバ４０ｃについて説明する。認証サーバ４０ｃでは、まずＰＣ１０より送られた演算結果α及びカードＩＤを含む認証データをパラメータ分離部４１でデータ（パラメータ）毎に分離して後段の処理部へ出力する。ここでは、認証データから分離された演算結果α及びカードＩＤがそれぞれメモリ４２に記憶される。次に、計算部４７において、メモリ４２に記憶されたカードＩＤを用いて秘密演算により鍵Ａ、鍵Ｂをそれぞれ計算する。計算した鍵Ａ、鍵Ｂはそれぞれ復号部４４、暗号化部４５に供給される。秘密演算には、図５の例において列挙した方法を使用する。
【００５７】
続いて、認証サーバ４０ｃが持つ時刻情報４８は復号部４４で鍵Ａを利用して復号され、さらに暗号化部４５へ送られて鍵Ｂで暗号化され、照合部４６へ送られる。復号部４４及び暗号化部４５を経て照合部４６に入力された時刻情報は、メモリ４２に記憶されている演算結果αと照合され、一致するかどうかが判定される。認証サーバ４０ｃは、演算結果αの照合結果に基づいて認証を行い、認証の結果をＰＣ１０に返信する。認証が成功した場合、ＰＣ１０は認証サーバ４０ｂとリモートアクセス可能となる。
【００５８】
以上説明した第４実施形態によれば、ユーザ側と認証サーバ側が正しい時刻情報を持つ場合は、ＰＣ１０から認証サーバ４０ｂに対して時刻情報を送る処理を省略することができる。その他、本実施形態は第２実施形態（図５）と同様の作用効果を奏することは勿論である。
【００５９】
なお、本発明は、上述した各実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において、種々の変形、変更が可能であることは勿論である。例えば、FeliCa機能（ＩＣカード）搭載の携帯電話端末に適用することも可能である。
【図面の簡単な説明】
【００６０】
【図１】本発明が適用されるワンタイムパスワード認証システムを示す図である。
【図２】本発明の第１実施形態に係るＩＣカードの構成を示す図である。
【図３】本発明の第１実施形態に係る認証サーバの構成を示す図である。
【図４】本発明の第１実施形態に係る認証処理を示すシーケンス図である。
【図５】本発明の第２実施形態に係る認証サーバの構成を示す図である。
【図６】本発明の第３実施形態に係る認証サーバの構成を示す図である。
【図７】本発明の第４実施形態に係る認証サーバの構成を示す図である。
【図８】従来のワンタイムパスワード認証システムを示す図である。
【符号の説明】
【００６１】
１…ワンタイムパスワード認証システム、１０…ＰＣ（コンピュータ）、３０…インターネット（通信回線網）、４０，４０ａ，４０ｂ，４０ｃ…認証サーバ、４１…パラメータ分離部（受信部）、４２…メモリ、４３…記憶部、４４…復号部、４５…暗号化部、４６…照合部、４７…計算部（鍵生成部）、４８…時刻情報、５０…ＩＣカード、５１…コマンド解釈部、５２…パラメータ分離部、５３…照合部、５４…記憶部、５５…復号部、５６…暗号化部、５７…レスポンス作成部（送信部）、６０…リーダライタ
【図１】
2008027381.tif 000003
【図２】
2008027381.tif 000004
【図３】
2008027381.tif 000005
【図４】
2008027381.tif 000006
【図５】
2008027381.tif 000007
【図６】
2008027381.tif 000008
【図７】
2008027381.tif 000009
【図８】
2008027381.tif 000010