(57)【要約】【課題】チャレンジレスポンス方式の認証機能を既存のシステムに追加して構成したチャレンジレスポンス方式を使用する認証システム及び方法を提供する。【解決手段】クライアントPC101の利用者が所持し、独立して前記サーバ103に接続可能な携帯端末を備える。サーバ103は、認証処理のためにクライアントPC101に識別子付チャレンジデータを送信し、クライアントPC101からの識別子付レスポンスデータ受信して対応するチャレンジデータを抽出し、抽出したチャレンジデータ及び受信したレスポンスデータにより認証を行う機能を有する。クライアントPC101は、前記サーバ103からの識別子付チャレンジデータを受信して表示する機能を有し、携帯端末は、クライアントPC101が受信した別子付チャレンジデータを取得し、取得した識別子付チャレンジデータから識別子付レスポンスデータを生成して、サーバに送信する機能を有する。【選択図】図１
2009032070.tif 000002
【特許請求の範囲】
【請求項１】
サーバと、該サーバによるサービスを利用するクライアントＰＣとがネットワークを介して接続されて構成され、前記クライアントＰＣの認証を行う認証システムにおいて、
前記クライアントＰＣの利用者が所持し、前記ネットワークを介して、あるいは、別の通信回線を介して前記サーバに接続可能な携帯端末を備え、
前記サーバは、認証処理のために識別子付チャレンジデータを発行して前記クライアントＰＣに送信する手段と、前記クライアントＰＣからの識別子付レスポンスデータ受信して対応するチャレンジデータを抽出する手段と、抽出したチャレンジデータ及び受信したレスポンスデータによりクライアントＰＣの認証を行う手段とを有し、
前記クライアントＰＣは、前記サーバからの識別子付チャレンジデータを受信して表示する手段を有し、
前記携帯端末は、前記クライアントＰＣが受信した前記識別子付チャレンジデータを取得する手段と、取得した識別子付チャレンジデータから識別子付レスポンスデータを生成して、該レスポンスデータを前記サーバに送信する手段とを有し、
前記サーバから前記識別子付きチャレンジデータを前記クライアントＰＣに送信する通信路と、前記携帯端末から前記レスポンスデータを前記サーバに送信する通信路とが互いに独立であることを特徴とする認証システム。
【請求項２】
前記クライアントＰＣが前記サーバから受信したチャレンジデータは、２次元バーコードとして表示され、前記携帯端末は、該携帯端末が備えるカメラにより、前記クライアントＰＣに表示された２次元バーコードを撮影することにより、チャレンジデータを取得することを特徴とする請求項１記載の認証システム。
【請求項３】
前記サーバによる識別子付チャレンジデータの発行は、発行済みであって認証に利用されておらず、発行から所定時間を経過していない有効なチャレンジデータが保持されている場合に、そのチャレンジデータを使用して行われ、そのようなチャレンジデータが保持されていない場合に、新規なチャレンジデータを発行することにより行われることを特徴とする請求項１または２記載の認証システム。
【請求項４】
サーバと、該サーバによるサービスを利用するクライアントＰＣとがネットワークを介して接続されて、前記クライアントＰＣの認証を行う認証方法において、
前記クライアントＰＣの利用者が所持し、前記ネットワークを介して、あるいは、別の通信回線を介して独立して前記サーバに接続可能な携帯端末を備え、
前記サーバは、認証処理のために前記クライアントＰＣに識別子付チャレンジデータを送信し、
前記クライアントＰＣは、前記サーバからの識別子付チャレンジデータを受信して表示し、
前記携帯端末は、前記クライアントＰＣが受信した前記識別子付チャレンジデータを取得し、取得した識別子付チャレンジデータから識別子付レスポンスデータを生成して、該レスポンスデータを前記サーバに送信し、
前記サーバは、前記クライアントＰＣからの識別子付レスポンスデータ受信して対応するチャレンジデータを抽出し、抽出したチャレンジデータ及び受信したレスポンスデータによりクライアントＰＣの認証を行うことを特徴とする認証方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、認証システムに係り、特に、既存のネットワークアプリケーションのログイン等の認証部分にチャレンジレスポンス方式を使用する認証システム及び認証方法に関する。
【背景技術】
【０００２】
近年、フィッシング等の攻撃により、ネットワークアプリケーションのユーザ認証等で使用するユーザＩＤやパスワードが盗まれる危険性が高くなっている。そのため、ネットワークアプリケーションは、認証時に固定パスワードではなく、使い捨てパスワードを利用するようになってきている。
【０００３】
このような使い捨てパスワードを使用する認証方法に関する従来技術として、例えば、非特許文献１等に記載されたＳ／Ｋｅｙと呼ばれる技術が知られている。Ｓ／Ｋｅｙは、リモートログインアプリケーションのユーザ認証をチャレンジレスポンス方式と呼ばれる認証方式により強化した認証技術である。
【０００４】
Ｓ／Ｋｅｙを利用する認証技術は、リモートログインクライアントがユーザ認証時にユーザＩＤとパスワードとの入力画面を表示する際に、チャレンジデータを表示し、利用者が、表示されているチャレンジデータからレスポンスデータを計算し、このレスポンスデータを使い捨てパスワードとしてリモートログインサーバに送信して認証を受けるというものである。その際、リモートログインサーバは、リモートログインクライアントにチャレンジデータを送信した時点から、クライアントとの間で通信コネクションを確立し、チャレンジデータとレスポンスデータとの送受信を行い、送信したチャレンジデータから計算する検証データと受信したレスポンスデータとを比較して認証を行っている。
【０００５】
このような従来技術による認証方法は、１つの通信コネクション上で、チャレンジデータとレスポンスデータとを交換しているので、サーバプログラムは、送信したチャレンジデータと受信したレスポンスデータとの対応付けを容易に行うことができ、スムーズに認証処理を行うことができる。
【非特許文献１】「The S/KEY One-Time Password System」, RFC1760, N.Haller, 1995/2
【発明の開示】
【発明が解決しようとする課題】
【０００６】
前述した従来技術による認証方法は、その方法を既存の製品であるサーバクライアントシステムに適用する場合、システムを構成するサーバクライアントアプリケーションを変更して、Ｓ／Ｋｅｙ等の認証機能を組み込む必要がある。しかし、一般的なサーバクライアントシステムは、アプリケーションが実行（バイナリー）形式で提供されているため、アプリケーションそのものの変更を行うことができず、認証機能を組み込むことが困難であり、組み込むことができた場合にも、同一通信コネクション上でチャレンジデータとレスポンスデータとを交換することが困難であるという問題点を生じさせてしまう。
【０００７】
また、前述した従来技術による認証方法は、サーバアプリケーションが、レスポンスデータとの対応付けのために、チャレンジデータを保持しておく必要があり、クライアントアプリケーションからのアクセス毎にチャレンジデータを新しく生成するため、アクセスが増加すると保持するチャレンジデータも多くなり、保持用のリソースを大量に消費してしまい、認証を行うサーバによるサービスが停止してしまう可能性が高くなるという問題点を有している。このことは、ＤｏＳ攻撃等によりアクセス数が多発した場合に極めて顕著になり、サービスを停止しなければならない状態に陥ってしまう。
【０００８】
本発明の目的は、前述した従来技術の問題点を解決し、新たなサーバ等を必要とすることなく、チャレンジレスポンス方式の認証機能を既存のシステムに追加して構成したチャレンジレスポンス方式を使用する認証システム及び認証方法を提供することにある。
【課題を解決するための手段】
【０００９】
本発明によれば前記目的は、サーバと、サーバと、該サーバによるサービスを利用するクライアントＰＣとがネットワークを介して接続されて構成され、前記クライアントＰＣの認証を行う認証システムにおいて、前記クライアントＰＣの利用者が所持し、前記ネットワークを介して、あるいは、別の通信回線を介して前記サーバに接続可能な携帯端末を備え、前記サーバは、認証処理のために識別子付チャレンジデータを発行して前記クライアントＰＣに送信する手段と、前記クライアントＰＣからの識別子付レスポンスデータ受信して対応するチャレンジデータを抽出する手段と、抽出したチャレンジデータ及び受信したレスポンスデータによりクライアントＰＣの認証を行う手段とを有し、前記クライアントＰＣは、前記サーバからの識別子付チャレンジデータを受信して表示する手段を有し、前記携帯端末は、前記クライアントＰＣが受信した前記識別子付チャレンジデータを取得する手段と、取得した識別子付チャレンジデータから識別子付レスポンスデータを生成して、該レスポンスデータを前記サーバに送信する手段とを有し、前記サーバから前記識別子付きチャレンジデータを前記クライアントＰＣに送信する通信路と、前記携帯端末から前記レスポンスデータを前記サーバに送信する通信路とが互いに独立であることにより達成される。
【発明の効果】
【００１０】
本発明によれば、新たなサーバ等を必要とせずに、ブラウザプログラムとサーバプログラムとに僅かな機能を追加するだけで、フィッシング詐欺等を防ぐことができるチャレンジレスポンス方式を使用する認証システムを提供することができる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明による認証システム及び認証方法の実施形態を図面により詳細に説明する。
【００１２】
図１は本発明の一実施形態による認証システムの構成を示すブロック図である。図１に示す認証システムは、クライアントＰＣ１０１と、携帯端末１０２と、サーバ１０３とがネットワーク１０４に接続されて構成されている。なお、図１には、ネットワーク１０４に接続される機器をそれぞれ１台ずつ示しているが、これらの機器は、複数台ネットワーク１０４に接続されていてよい。
【００１３】
前述において、クライアントＰＣ１０１は、利用者が使用するデスクトップＰＣやノートＰＣ、ＰＤＡ(Personal Digital Assistant)等の情報処理機器であり、本発明の実施形態においては、サーバ１０３による認証を受けた後に、サーバ１０３によるサービスを受ける等の通常の処理を行い、あるいは、ネットワーク１０４に接続された他の図示しないサービスサーバ等によるサービスを受けることが可能となるものである。
【００１４】
携帯端末１０２は、認証時に、利用者がクライアント端末１０１と共に利用するもので、携帯電話やＰＨＳ等のクライアントＰＣ１０１の利用者本人が所持する情報処理機器であり、クライアントＰＣ１０１と認証サービスを提供するサーバ１０３との通信コネクションとは別の通信コネクションによりサーバ１０３に接続可能である。従って、携帯端末１０２とサーバ１０３との接続は、ネットワーク１０４を利用しなくてもよく、例えば、携帯電話やＰＨＳ等のサービスに利用されている別の通信回線により接続可能であればよい。
【００１５】
サーバ１０３は、本発明の実施形態において、クライアントＰＣ１０１に認証サービスを提供するものであり、デスクトップＰＣやブレードＰＣ等の情報処理機器である。
【００１６】
そして、クライアントＰＣ１０１やサーバ１０３は、公衆回線網やインターネット網等で構成されるネットワーク１０４を介してデータ通信を行うことができる。
【００１７】
図２はクライアントＰＣ１０１の構成例を示すブロック図である。クライアントＰＣ１０１は、図２に示すように、プログラムの実行を行うＣＰＵ２０１と、プログラムやデータをロードするメモリ２０２と、他の通信ノードとコネクションを確立する通信部２０３と、命令やデータの入力を行う入力部２０４と、システムの状態等を出力する出力部２０５と、既存のクライアントプログラム２０６、チャレンジ表示プログラム２０７が記憶されているＨＤＤ等による記憶部２０８とがバス２０９により接続されて構成されている。
【００１８】
通信部２０３は、インターネットの標準プロトコルであるＴＣＰのようにネットワーク１０４に接続されているサーバ１０３、図示しない他のサーバとの間でコネクションを確立し、データ通信を行う機能を有している。
【００１９】
入力部２０４は、キーボード、マウス、ペン入力、音声入力、ボタン、ジョグダイヤル、十字キー等の入力手段を持つものであり、出力部２０５は、ディスプレイ、音声出力装置、プリンタ等の出力手段を持つものである。
【００２０】
既存クライアントプログラム２０６は、サーバ１０３のアプリケーションが提供するサービスを利用するために、通信コネクションを確立し、データ通信を行うプログラムであり、チャレンジ表示プログラム２０７は、本発明のためにサーバ１０３から送られるチャレンジデータを表示するプログラムである。
【００２１】
図３は携帯端末１０２の構成例を示すブロック図である。携帯端末１０２は、図３に示すように、プログラムの実行を行うＣＰＵ３０１と、プログラムやデータをロードするメモリ３０２と、他の通信ノードとコネクションを確立する通信部３０３と、命令やデータの入力を行う入力部３０４と、システムの状態等を出力する出力部３０５と、レスポンス生成プログラム３０６及び共有秘密データ３０７が記憶されている記憶部３０８とがバス３０９により接続されて構成されている。
【００２２】
レスポンス生成プログラム３０６及び共有秘密データ３０７は、本発明のために備えられるものであり、レスポンス生成プログラム３０６は、クライアントＰＣ１０１からチャレンジデータを取得し、取得したチャレンジデータからサーバ１０３に送信するレスポンスデータを生成するプログラムである。また、共有秘密データ３０７は、サーバ１０２との間で予め取り決めてサーバ１０３とだけ共有している秘密データである。
【００２３】
図４はサーバ１０３の構成例を示すブロック図である。サーバ１０３は、図４に示すように、プログラムの実行を行うＣＰＵ４０１と、プログラムやデータをロードするメモリ４０２と、他の通信ノードとコネクションを確立する通信部４０３と、命令やデータの入力を行う入力部４０４と、システムの状態等を出力する出力部４０５と、既存サーバプログラム４０６、認証プログラム４０７、チャレンジ発行プログラム４０８、アカウントＤＢ４０９、チャレンジＤＢ４１０の記憶されているＨＤＤ等による記憶部４１１とがバス４１２により接続されて構成されている。
【００２４】
既存サーバプログラム４０６は、クライアントＰＣ１０１のアプリケーションに対してサービスを提供するために、通信コネクションを確立し、データ通信を行うプログラムである。認証プログラム４０７は、チャレンジデータとレスポンスデータとを使用して、利用者や取引等の認証許可、あるいは、認証拒否を判別するプログラムである。チャレンジ発行プログラム４０８は、クライアント１０１に送信するチャレンジデータを生成するプログラムである。
【００２５】
アカウントＤＢ４０９は、利用者が認証時に利用するアカウント情報を格納しており、チャレンジＤＢ４１０は、サーバ１０３が発行するチャレンジデータに関連した情報を格納している。
【００２６】
図５はアカウントＤＢ４０９の構成例を示す図である。アカウントＤＢ４０９は、ＤＢ内のレコードを一意に決定する識別子である項番５０１、利用者を識別する識別子であるＩＤ５０２、その利用者が所持する共携帯端末１０２とだけで共有する秘密情報である共有秘密データ５０３の組を１つのレコードとする複数のレコードを有して構成される。
【００２７】
図６はチャレンジＤＢ４１０の構成例を示す図である。チャレンジＤＢ４１０は、ＤＢ内のレコードを一意に決定する識別子である項番６０１、サーバ１０３で発行されたチャレンジデータに含まれる乱数である発行乱数６０２、対応する乱数６０２を生成した時刻である発行時刻６０３、対応する乱数６０２が利用者によって利用されたか否かを判別するフラグである利用フラグ６０４の組を１つのレコードとする複数のレコードを有して構成される。利用フラグ６０４には、利用されていない場合に「０」、利用されていた場合に「１」が格納される。このチャレンジＤＢ４１０に保持可能なレコードの数は、本発明により一定数に制限されており、項番６０１は、この一定数を最大値として、繰り返して付与され古いものは削除される。これにより、保持用のリソースが大量に消費されることを防止している。
【００２８】
図７Ａ、図７Ｂは本発明の実施形態による認証システム全体の処理動作を説明するフローチャートであり、次に、これについて説明する。
【００２９】
（１）まず、利用者は、サーバ１０３上の既存サーバプログラム４０６によるサービスを利用するために、クライアントＰＣ１０１を起動し、クライアントＰＣ１０１上の既存クライアントプログラム２０６を起動する。これにより、クライアントＰＣ１０１の出力部２０４であるディスプレイにログイン画面が表示される（ステップ７０１）。
【００３０】
（２）その後、クライアントＰＣ１０１上のチャレンジ表示プログラム２０７が起動され、該チャレンジ表示プログラム２０７が通信部２０３を介して、サーバ１０３にチャレンジデータ要求を送信する（ステップ７０２）。
【００３１】
（３）サーバ１０３上のチャレンジ発行プログラム４０８は、ステップ７０２の処理で送信されたクライアントＰＣ１０１からのチャレンジデータ要求を受信し、チャレンジデータ要求を受信したチャレンジ発行プログラム４０８は、チャレンジデータを生成する（ステップ７０３、７０４）。
【００３２】
（４）ステップ７０４の処理でチャレンジデータを生成したチャレンジ発行プログラム４０８は、通信部４０３を介して生成したチャレンジデータをクライアントＰＣ１０１上のチャレンジ表示プログラム２０７に送信する（ステップ７０５）。
【００３３】
（５）クライアントＰＣ１０１上のチャレンジ表示プログラム２０７は、ステップ７０５の処理でサーバ１０３のチャレンジ発行プログラム４０８から送信されてきたチャレンジデータを受信する（ステップ７０６）。
【００３４】
（６）次に、クライアントＰＣ１０１上のチャレンジ表示プログラム２０７は、ステップ７０６の処理で受信したチャレンジデータを２次元バーコード化してクライアントＰＣ１０１の出力部２０５に表示する（ステップ７０７）。
【００３５】
（７）ここで、利用者は、携帯端末１０２によりクライアントＰＣ１０１の出力部２０５に表示されている２次元バーコードを読み取る。この読み取りは、携帯電話やＰＨＳ等の携帯端末１０２が備えているカメラを利用することにより行うことができる。そして、携帯端末１０２上のレスポンス生成プログラム３０６が、２次元バーコード化されたチャレンジデータを取得する（ステップ７０８）。
【００３６】
（８）次に、レスポンス生成プログラム３０６は、ステップ７０８の処理で取得したチャレンジデータからレスポンスデータを計算、生成し、生成したレスポンスデータを携帯端末１０２上の出力部３０５に表示する（ステップ７０９、７１０）。
【００３７】
（９）ここで、利用者は、携帯端末１０２の出力部３０５上に表示されているレスポンスデータと利用者が記憶しているＩＤとを、クライアントＰＣ１０１の入力部２０４のキーボード等を用いてクライアントＰＣ１０１に入力する。クライアントＰＣ１０１上の既存クライアントプログラム２０６は、入力されたレスポンスデータと利用者のＩＤとを取得する（ステップ７１１）。
【００３８】
（10）クライアントＰＣ１０１上の既存クライアントプログラム２０６は、ステップ７１１の処理で取得したレスポンスデータと利用者のＩＤとを通信部２０３を介してサーバ１０３に送信する（ステップ７１２）。
【００３９】
（11）サーバ１０３上の既存サーバプログラム４０６は、ステップ７１２の処理でクライアントＰＣ１０１から送信されてきたレスポンスデータと利用者のＩＤとを受信する（ステップ７１３）。
【００４０】
（12）サーバ１０３の既存サーバプログラム４０６は、ステップ７１３の処理でクライアントＰＣ１０１から受信したレスポンスデータと利用者のＩＤとを引数として認証プログラム４０７を呼び出して、認証の可否を検証させる（ステップ７１４）。
【００４１】
（13）次に、既存サーバプログラム４０６は、ステップ７１４での認証プログラム４０７による認証処理の検証結果をクライアントＰＣ１０１に送信する（ステップ７１５）。
【００４２】
（14）クライアントＰＣ１０１上の既存クライアントプログラム２０６は、ステップ７１５の処理でサーバ１０３から送信されてきた検証結果を受信し、受信した検証結果に応じた処理を実行する。すなわち、認証許可であれば、サーバの既存サーバプログラム４０６によるサービスの利用を開始し、認証拒否であれば、出力部２０５に認証エラー画面を表示すると共にログイン画面を表示する（ステップ７１６、７１７）。
【００４３】
前述した処理において、クライアントＰＣ１０１の出力部２０５にチャレンジデータを２次元バーコードにより表示し、この２次元バーコードを携帯電話やＰＨＳ等の携帯端末１０２が備えているカメラにより読み取らせるとして説明したが、本発明は、クライアントＰＣ１０１と携帯端末１０２とを直接接続して、チャレンジデータを携帯端末１０２に取得させるようにしてもよい。また、この場合、携帯端末１０２により生成されたレスポンスデータをクライアントＰＣに転送するようにすることもできる。
【００４４】
図８はサーバ１０３のチャレンジ発行プログラム４０８の処理動作を説明するフローチャートであり、次に、これについて説明する。ここでの、チャレンジ発行プログラム４０８の処理は、図７Ａにより説明したフローのステップ７０４での処理である。
【００４５】
（１）チャレンジ発行プログラム４０８は、処理を開始すると、まず、チャレンジＤＢ４１０から発行時刻６０３が最新のエントリを取得すると共に、現在の時刻を取得する（ステップ８０１、８０２）。
【００４６】
（２）次に、ステップ８０１の処理で取得したエントリが既に利用者によって利用されているか否かを、取得したエントリの利用フラグ６０４を参照して確認する（ステップ８０３）。
【００４７】
（３）ステップ８０３での判定で、取得したエントリが既に利用者により利用されていた（利用フラグが１）場合、乱数を生成し、生成した乱数とステップ８０２の処理で取得した現在時刻とを、チャレンジＤＢ４１０の新規エントリとして登録する。そのエントリの利用フラグ６０４には０を、項番６０１にはステップ８０１の処理で取得したエントリの項番に＋１したものを設定する。なお、項番６０１として設定することができる最大値を超えた場合、項番６０１には１を設定する（ステップ８０５）。
【００４８】
（４）ステップ８０５の処理で登録した新規エントリから、そのエントリの項番６０１と発行した乱数６０２とをセットにしたチャレンジデータを生成して、ここでの処理を終了する。なお、項番６０１は、乱数に対する識別子として利用され、クライアントＰＣ１０１からのレスポンスデータがどの乱数に基づいて生成されたものかを識別するために、後述する認証処理時に使用される（ステップ８０６）。
【００４９】
（５）ステップ８０３での判定で、取得したエントリが利用者により利用されていなかった（利用フラグが０）場合、ステップ８０１の処理で取得したエントリが利用可能期限内であるか否かを確認する。すなわち、取得したエントリの発行時刻６０３に予め設定した有効可能期限を加えた時刻がステップ８０２の処理で取得した現在時刻よりも先であるか否かにより、有効期限内であるか、有効期限切れであるかを確認する（ステップ８０７）。
【００５０】
（６）ステップ８０７での確認で、取得したエントリの発行時刻６０３に予め設定した有効可能期限を加えた時刻がステップ８０２の処理で取得した現在時刻よりも先であり、取得したエントリが有効期限内であった場合、ステップ８０１の処理で取得したエントリの項番６０１と発行乱数６０２とをセットにしたチャレンジデータを生成して、ここでの処理を終了する（ステップ８０８）。
【００５１】
（７）ステップ８０７での確認で、取得したエントリの発行時刻６０３に予め設定した有効可能期限を加えた時刻がステップ８０２の処理で取得した現在時刻よりも手前であり、取得したエントリが有効期限切れであった場合、前述したステップ８０４の処理に移行して、その後の処理を続ける。
【００５２】
図９は携帯端末１０２のレスポンス生成プログラム３０６での処理動作を説明するフローチャートであり、次に、これについて説明する。ここでのレスポンス生成プログラム３０６の処理は、図７Ａにより説明したフローのステップ７０９での処理である。
【００５３】
（１）レスポンス生成プログラム３０６は、処理を開始すると、まず、図７Ａにより説明したフローのステップ７０８での処理で取得したチャレンジデータから乱数と項番とを分離する（ステップ９０１）。
【００５４】
（２）次に、ステップ９０１の処理で分離した乱数と共有秘密データ３０７とを引数として、サーバ１０３と予め共有している暗号ハッシュ関数等を利用してＯＰＴ（One Time Password)を生成する（ステップ９０２）。
【００５５】
（３）その後、ステップ９０２の処理で生成したＯＰＴとステップ９０１の処理で分離した項番とをセットにしてレスポンスデータを生成する（ステップ９０３）。
【００５６】
図１０はサーバ１０３の認証プログラム４０７での処理動作を説明するフローチャートであり、次に、これについて説明する、ここでの認証プログラム４０７の処理は、図７Ｂにより説明したフローのステップ７１４の中での処理である。
【００５７】
（１）認証プログラム４０７は、処理を開始すると、まず、図７Ａにより説明したフローのステップ７１３の処理で受信したレスポンスデータからＯＴＰと項番とを分離する（ステップ１００１）。
【００５８】
（２）次に、チャレンジＤＢ４１０からステップ１００１の処理で取得した項番に対応するエントリを取得すると共に、現在の時刻を取得する（ステップ１００２、１００３）。
【００５９】
（３）ステップ１００２の処理で取得したエントリが利用可能期限内であるか否かを確認する。すなわち、取得したエントリの発行時刻６０３に予め設定した有効可能期限を加えた時刻がステップ１００３の処理で取得した現在時刻よりも先であるか否かにより、有効期限内であるか、有効期限切れであるかを確認する（ステップ１００４）。
【００６０】
（４）ステップ１００４の確認で、取得したエントリの発行時刻６０３に予め設定した有効可能期限を加えた時刻がステップ１００３の処理で取得した現在時刻よりも先であり、取得したエントリが有効期限内であった場合、ステップ１００２の処理で取得したエントリの発行乱数６０２を取得する（ステップ１００５）。
【００６１】
（５）その後、ステップ１００２の処理で取得したエントリの利用フラグ６０４を１に設定して、使用を設定し、アカウントＤＢ４０９からステップ７１３の処理で受信した利用者のＩＤに対応したエントリを取得する（ステップ１００６、１００７）。
【００６２】
（６）次に、ステップ１００５の処理で取得した発行乱数とステップ１００７の処理で取得したエントリの共有秘密データ５０３とを引数として、クライアントＰＣ１０１と予め取り決めて共有している暗号ハッシュ関数等を利用して検証用ＯＴＰを生成する（ステップ１００８）。
【００６３】
（７）認証可否を判定するために、ステップ１００１の処理で分離したＯＴＰとステップ１００８の処理で生成した検証用ＯＴＰとを比較し、値が同一であるか否かを判定する（ステップ１００９）。
【００６４】
（８）ステップ１００９の判定で、値が同一であった場合、認証成功と判定して、その旨を既存サーバプログラム４０１に通知し、値が不一致であった場合、認証失敗と判定して、その旨を既存サーバプログラム４０１に通知して、ここでの処理を終了する（ステップ１０１０、１０１２）。
【００６５】
（９）ステップ１００４の確認で、取得したエントリの発行時刻６０３に予め設定した有効可能期限を加えた時刻がステップ１００３の処理で取得した現在時刻よりも手前であり、取得したエントリが有効期限切れであった場合、新たなチャレンジデータを発行するために、図７Ａに示すフローのステップ７０４からの処理に戻ることとして、ここでの処理を終了する（ステップ１０１１）。
【００６６】
前述した本発明の実施形態での各処理は、プログラムにより構成し、本発明が備えるクライアントＰＣ、携帯端末、サーバのＣＰＵに実行させることができ、また、それらのプログラムは、ＦＤ、ＣＤＲＯＭ、ＤＶＤ等の記録媒体に格納して提供することができ、また、ネットワークを介してディジタル情報により提供することができる。
【００６７】
前述した本発明の実施形態によれば、サービスを提供する通信コネクションとは別の通信コネクションによりチャレンジデータを送信し、サービスを提供する通信コネクションでレスポンスデータを受信することとしており、既存のシステムにチャレンジレスポンス方式の認証機能を容易に追加することができる。また、サーバがチャレンジデータに識別子を付加しているので、チャレンジデータとレスポンスデータとを一意に対応付けることができ、２つの通信コネクションを利用しても安全に認証処理を実行することができる。
【００６８】
また、前述した本発明の実施形態によれば、発行済みのチャレンジデータが認証に利用された段階で、新規なチャレンジデータを発行することにより、大量の認証要求を受信しても、必要以上にチャレンジデータを発行せずに済み、チャレンジデータの保持のためのリソースの消費を抑えることができる。
【図面の簡単な説明】
【００６９】
【図１】本発明の一実施形態による認証システムの構成を示すブロック図である。
【図２】クライアントＰＣの構成例を示すブロック図である。
【図３】携帯端末の構成例を示すブロック図である。
【図４】サーバの構成例を示すブロック図である。
【図５】アカウントＤＢの構成例を示す図である。
【図６】チャレンジＤＢの構成例を示す図である。
【図７Ａ】本発明の実施形態による認証システム全体の処理動作を説明するフローチャート（その１）である。
【図７Ｂ】本発明の実施形態による認証システム全体の処理動作を説明するフローチャート（その２）である。
【図８】サーバのチャレンジ発行プログラムの処理動作を説明するフローチャートである。
【図９】携帯端末のレスポンス生成プログラムでの処理動作を説明するフローチャートである。
【図１０】サーバの認証プログラムでの処理動作を説明するフローチャートである。
【符号の説明】
【００７０】
１０１  クライアントＰＣ
１０２  携帯端末
１０３  サーバ
２０１、３０１、４０１  ＣＰＵ
２０２、３０２、４０２  メモリ
２０３、３０３、４０３  通信部
２０４、３０４、４０４  入力部
２０５、３０５、４０５  出力部
２０６  既存クライアントプログラム
２０７  チャレンジ表示プログラム
２０８、３０８、４１１  記憶部
３０６  レスポンス生成プログラム
３０７  共有秘密データ
４０６  既存サーバプログラム
４０７  認証プログラム
４０８  チャレンジ発行プログラム
４０９  アカウントＤＢ
４１０  チャレンジＤＢ
【図１】
2009032070.tif 000003
【図２】
2009032070.tif 000004
【図３】
2009032070.tif 000005
【図４】
2009032070.tif 000006
【図５】
2009032070.tif 000007
【図６】
2009032070.tif 000008
【図７Ａ】
2009032070.tif 000009
【図７Ｂ】
2009032070.tif 000010
【図８】
2009032070.tif 000011
【図９】
2009032070.tif 000012
【図１０】
2009032070.tif 000013