(57)【特許請求の範囲】
【請求項１】
認証情報を動的に提示するユーザー端末と、提示された前記認証情報を読み取る読取装置とを備えた動的認証システムであって、
前記ユーザー端末側は、
所定の認証情報に、当該ユーザー端末上の現在時刻を示す時間情報を組み合わせて、２以上の表示情報を生成する表示情報生成部と、
前記表示情報を一定の時間間隔をもって、同一位置に順次表示することにより、前記認証情報を動的に提示する動的情報提示部と、
を備え、
前記読取装置は、
前記動的情報提示部に表示された前記２以上の表示情報を、順次、光学的に読み取る読取部と、
前記読取部で読み取られた各表示情報の、それぞれの読取時刻を測定し記録する計時部と、
各表示情報に含まれる各時間情報の差分と、各表示情報の読取時刻の差分と、前記一定の時間間隔から求められる有効期限とに基づいて、前記表示情報の有効性を判断する有効性判断部とを備えることを特徴とする動的認証システム。
【請求項２】
前記読取部で読み取られた各表示情報から、前記時間情報を除外して、前記所定の認証情報を抽出する情報抽出部と、
前記情報抽出部が抽出したそれぞれの認証情報の同一性を比較し、その比較結果に基づいて、前記表示情報の正当性を判断する正当性判断部と
をさらに備えることを特徴とする請求項１に記載の動的認証システム。
【請求項３】
前記ユーザー端末は、ユーザーが使用し、通信ネットワーク上に配置される認証サーバーとの間で、一度のみ有効なワンタイムパスワードを用いて、当該ユーザーの認証を行うワンタイム認証機能を備え、
前記ワンタイム認証機能は、
次世代乱数を発生させ、この次世代乱数に対してユーザー側一方向性関数による演算を所定回数だけ繰り返して第１のワンタイムコードを生成する第１のワンタイムコード作成部と、
前記次世代乱数を発生させる前に発生させた前世代乱数に対して、前記ユーザー側一方向性関数による演算を所定回数だけ繰り返して第２のワンタイムコードを生成する第２のワンタイムコード作成部と、
認証時において、前記通信ネットワークの通信状態に応じて前記第１のワンタイムコード又は前記第２のワンタイムコードに用いられた次世代乱数又は前世代乱数を選択する選択部と、
選択された前記次世代乱数又は前記前世代乱数に対して、前記ユーザー側一方向性関数による演算を、選択された乱数に対する所定回数よりも低減回数分だけ少ない回数を繰り返して生成されたワンタイムコードを、認証用通信経路を通じて前記ワンタイムパスワードとして送信する認証実行部と、
を備えることを特徴とする請求項１に記載の動的認証システム。
【請求項４】
認証情報を動的に提示するユーザー端末と、提示された前記認証情報を読み取る読取装置とを用いた動的認証方法であって、
前記ユーザー端末側において、表示情報生成部が、所定の認証情報に、当該ユーザー端末上の現在時刻を示す時間情報を組み合わせて、２以上の表示情報を生成する表示情報生成ステップと、
動的情報提示部が、前記表示情報を一定の時間間隔をもって、同一位置に順次表示することにより、前記認証情報を動的に提示する動的情報提示ステップと、
前記読取装置の読取部が、前記動的情報提示部に表示された前記２以上の表示情報を、順次、光学的に読み取る読取ステップと、
前記読取ステップで読み取られた各表示情報の読取時刻を、計時部が、測定し記録する計時ステップと、
有効性判断部が、各表示情報に含まれる各時間情報の差分と、各表示情報の読取時刻の差分と、前記一定の時間間隔から求められる有効期限とに基づいて、前記表示情報の有効性を判断する有効性判断ステップとを備えることを特徴とする動的認証方法。
【請求項５】
情報抽出部が、前記読取ステップで読み取られた各表示情報から、前記時間情報を除外して、前記所定の認証情報を抽出する情報抽出ステップと、
前記情報抽出ステップにおいて抽出したそれぞれの認証情報の同一性を比較し、その比較結果に基づいて、前記表示情報の正当性を、正当性判断部が判断する正当性判断ステップと
をさらに備えることを特徴とする請求項４に記載の動的認証方法。
【請求項６】
前記ユーザー端末において、ユーザーが使用し、通信ネットワーク上に配置される認証サーバーとの間で、一度のみ有効なワンタイムパスワードを用いて、当該ユーザーの認証を行うワンタイム認証ステップをさらに備え、
前記ワンタイム認証ステップでは、
ワンタイムコード作成部が、次世代乱数を発生させ、この次世代乱数に対してユーザー側一方向性関数による演算を所定回数だけ繰り返して第１のワンタイムコードを生成するとともに、前記次世代乱数を発生させる前に発生させた前世代乱数に対して、前記ユーザー側一方向性関数による演算を所定回数だけ繰り返して第２のワンタイムコードを生成するワンタイムコード作成ステップと、
認証時において、選択部が、前記通信ネットワークの通信状態に応じて前記第１のワンタイムコード又は前記第２のワンタイムコードに用いられた次世代乱数又は前世代乱数を選択する選択ステップと、
認証実行部が、選択された前記次世代乱数又は前記前世代乱数に対して、前記ユーザー側一方向性関数による演算を、選択された乱数に対する所定回数よりも低減回数分だけ少ない回数を繰り返して生成されたワンタイムコードを、認証用通信経路を通じて前記ワンタイムパスワードとして送信する認証実行ステップと、
を備えることを特徴とする請求項４に記載の動的認証方法。
【請求項７】
請求項１に記載の動的認証システムにおいて前記ユーザー端末として用いられる動的認証用端末であって、
所定の認証情報に、当該動的認証用端末上の現在時刻を示す時間情報を組み合わせて、２以上の表示情報を生成する表示情報生成部と、
前記表示情報を一定の時間間隔をもって、同一位置に順次表示することにより、前記認証情報を動的に提示する動的情報提示部と、
を備えることを特徴とする動的認証用端末。
【請求項８】
ユーザーが使用し、通信ネットワーク上に配置される認証サーバーとの間で、一度のみ有効なワンタイムパスワードを用いて、当該ユーザーの認証を行うワンタイム認証機能をさらに備え、
前記ワンタイム認証機能は、
次世代乱数を発生させ、この次世代乱数に対してユーザー側一方向性関数による演算を所定回数だけ繰り返して第１のワンタイムコードを生成する第１のワンタイムコード作成部と、
前記次世代乱数を発生させる前に発生させた前世代乱数に対して、前記ユーザー側一方向性関数による演算を所定回数だけ繰り返して第２のワンタイムコードを生成する第２のワンタイムコード作成部と、
認証時において、前記通信ネットワークの通信状態に応じて前記第１のワンタイムコード又は前記第２のワンタイムコードに用いられた次世代乱数又は前世代乱数を選択する選択部と、
選択された前記次世代乱数又は前記前世代乱数に対して、前記ユーザー側一方向性関数による演算を、選択された乱数に対する所定回数よりも低減回数分だけ少ない回数を繰り返して生成されたワンタイムコードを、認証用通信経路を通じて前記ワンタイムパスワードとして送信する認証実行部と、
を備えることを特徴とする請求項７に記載の動的認証用端末。
【請求項９】
請求項１に記載の動的認証システムにおいて前記読取装置として用いられる動的認証用読取装置であって、
前記動的情報提示部に表示された前記２以上の表示情報を、順次、光学的に読み取る読取部と、
前記読取部で読み取られた各表示情報の、それぞれの読取時刻を測定し記録する計時部と、
各表示情報に含まれる各時間情報の差分と、各表示情報の読取時刻の差分と、前記一定の時間間隔から求められる有効期限とに基づいて、前記表示情報の有効性を判断する有効性判断部と
を備えることを特徴とする動的認証用読取装置。
【請求項１０】
前記読取部で読み取られた各表示情報から、前記時間情報を除外して、前記所定の認証情報を抽出する情報抽出部と、
前記情報抽出部が抽出したそれぞれの認証情報の同一性を比較し、その比較結果に基づいて、前記表示情報の正当性を判断する正当性判断部と
をさらに備えることを特徴とする請求項９に記載の動的認証用読取装置。
【請求項１１】
認証情報を動的に提示するユーザー端末と、提示された前記認証情報を読み取る読取装置とを用いた動的認証プログラムであって、前記読取装置に、
前記ユーザー端末側において、所定の認証情報に、当該ユーザー端末上の現在時刻を示す時間情報を組み合わせて生成され、
一定の時間間隔をもって、同一位置に順次表示された、２以上の表示情報を、前記認証情報として、
順次、光学的に読み取る読取ステップと、
前記読取ステップで読み取られた各表示情報の読取時刻を、測定し記録する計時ステップと、
各表示情報に含まれる各時間情報の差分と、各表示情報の読取時刻の差分と、前記一定の時間間隔から求められる有効期限とに基づいて、前記表示情報の有効性を判断する有効性判断ステップとを備える処理を実行させることを特徴とする動的認証プログラム。
【請求項１２】
前記読取ステップで読み取られた各表示情報から、前記時間情報を除外して、前記所定の認証情報を抽出する情報抽出ステップと、
前記情報抽出ステップにおいて抽出したそれぞれの認証情報の同一性を比較し、その比較結果に基づいて、前記表示情報の正当性を、判断する正当性判断ステップと
をさらに備えることを特徴とする請求項１１に記載の動的認証プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えばオフィス等の施設への入館時における個人識別や、チケットやクーポンなどの有効性確認に際し、スマートフォンや携帯電話の画面上に動的に提示された認証情報を用いて認証を行う動的認証システム、動的認証方法、動的認証用読取装置、ユーザー端末装置、及び動的認証プログラムに関する。
【背景技術】
【０００２】
近年、オフィス等の施設への入館時における個人識別や、チケットやクーポンなどの有効性確認の手段としてスマートフォンや携帯電話機を用いた認証システムの技術が普及しつつある。
【０００３】
例えば、店舗における商品やサービスを受けるにあたり、先ずスマートフォンのディスプレイに、二次元バーコードなどの認証用画像を表示し、店舗に設置された認証用端末のリーダーにかざすことで、認証用画像を店舗側へ提示する。店舗側の認証用端末は、提示された認証用画像を読み取り、記憶してある認証用画像と、読み取った認証用画像とを照合し、その一致不一致に基づいて認証を行う（例えば特許文献１）。
【０００４】
ところで、上述したような、スマートフォンの画面上に二次元バーコード等の認証画像を表示させるユーザー認証方式では、画面上に表示された認証画像が盗撮等により第三者に漏洩し、盗用などの不正利用が懸念される。この対策として、従来では、二次元バーコードにタイムスタンプを付加するなどして、二次元バーコードが生成されてから一定時間（例えば、１時間）というように、その認証画像に有効期限を設けるなどの工夫がなされている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００２−２３６６６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述した二次元バーコードにタイムスタンプを付加する技術を採用する場合、実用上の利便性を確保する必要性から、二次元バーコードの有効期限が１時間以上のものが多く、その間に不正利用される可能性があり、不正防止策としては十分とは言い難い。その一方で、盗用ができない程に有効期限を単に短くしただけでは、盗用の危険性は低下するものの、認証画像を表示させてから、読み取るまでの時間が十分に取れず、利便性が低下するとともに、極端に有効期限を短くするとユーザーのスマートフォンと読取装置との間にシステム時刻のズレがあるようなときには、有効期限の判定が正確にできないという問題が生じ得る。
【０００７】
そこで、本発明は、上記のような問題を解決するものであり、スマートフォンや携帯電話を用いた認証処理に際し、実用上の利便性を確保しつつ、認証画像の有効性の確認を確実なものとし、認証画像の盗用などによる不正利用を防止できる動的認証システム、動的認証方法、動的認証用読取装置、ユーザー端末装置、及び動的認証プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明は、認証情報を動的に提示するユーザー端末と、提示された認証情報を読み取る読取装置とを備えた動的認証システムであって、ユーザー端末側は、所定の認証情報に、当該ユーザー端末上の現在時刻を示す時間情報を組み合わせて、２以上の表示情報を生成する表示情報生成部と、表示情報を一定の時間間隔をもって、同一位置に順次表示することにより、認証情報を動的に提示する動的情報提示部と、を備え、読取装置は、動的情報提示部に表示された２以上の表示情報を、順次、光学的に読み取る読取部と、読取部で読み取られた各表示情報の、それぞれの読取時刻を測定し記録する計時部と、各表示情報に含まれる各時間情報の差分と、各表示情報の読取時刻の差分と、前記一定の時間間隔から求められる有効期限とに基づいて、表示情報の有効性を判断する有効性判断部とを備える。
【０００９】
また、他の発明は、認証情報を動的に提示するユーザー端末と、提示された認証情報を読み取る読取装置とを用いた動的認証方法であって、
（１）ユーザー端末側において、表示情報生成部が、所定の認証情報に、当該ユーザー端末上の現在時刻を示す時間情報を組み合わせて、２以上の表示情報を生成する表示情報生成ステップと、
（２）動的情報提示部が、表示情報を一定の時間間隔をもって、同一位置に順次表示することにより、認証情報を動的に提示する動的情報提示ステップと、
（３）読取装置の読取部が、動的情報提示部に表示された２以上の表示情報を、順次、光学的に読み取る読取ステップと、
（４）読取ステップで読み取られた各表示情報の読取時刻を、計時部が、測定し記録する計時ステップと、
（５）有効性判断部が、各表示情報に含まれる各時間情報の差分と、各表示情報の読取時刻の差分と、前記一定の時間間隔から求められる有効期限とに基づいて、表示情報の有効性を判断する有効性判断ステップと
を備える。
【００１０】
本発明において、「所定の認証情報」とは、ユーザーを特定する識別子や、チケットやクーポンその他の価値情報を特定する識別子、ユーザー端末を特定する識別子などが含まれる。「表示情報」とは、画面上に表示し得る情報であり、バーコードや二次元バーコードの他、文字や記号、図形や模様などが含まれる。
【００１１】
このような本発明によれば、先ず、ユーザー端末側では、非常に短い時間（例えば、１秒未満）に２以上の表示情報を順次表示することによって動的な認証情報を提示し、認証を行うことができる。すなわち、本発明では、個々の表示情報の生成と破棄を繰り返すことから、その時間でのみ有効な表示情報で認証を行うこととなり、盗撮などによる盗用を防止できる。
【００１２】
詳述すると、読取装置側では、ユーザー端末の動的情報提示部に順次表示される２以上の表示情報の中から少なくとも２つ読み取り、その読み取られた各表示情報の、それぞれの読取時刻を測定し記録する。そして、読取装置側では、各表示情報に含まれる各時間情報の差分と、各表示情報の読取時刻の差分と、前記一定の時間間隔から求められる有効期限とに基づいて、表示情報の有効性を判断することができる。すなわち、表示情報が順次生成され表示される一定の時間間隔が各表示情報の有効期限であり、次の表示情報が表示させる時には、その前に表示されていた表示情報は破棄される。表示情報が生成される時間間隔は、その表示情報に組み合わせられた時間情報（有効期限）を介して読取装置側に伝えることができ、読み取り側では、時間情報によって伝えられた各生成時刻の差分と、各読み取り時刻の差分とについて、各表示情報の有効期限と比較することにより、表示情報の有効性を判断することができる。
【００１３】
上記発明において、読取部で読み取られた各表示情報から、時間情報を除外して、所定の認証情報を抽出する情報抽出部と、情報抽出部が抽出したそれぞれの認証情報の同一性を比較し、その比較結果に基づいて、表示情報の正当性を判断する正当性判断部とをさらに備えることが好ましい。この場合には、例えば、表示情報がコード化されているときに、読み取られた２以上の各コードをそれぞれ平文に復号し、その復号された平文から時間情報を除外して認証情報のみを抽出し比較する。これにより、例えば、表示情報が偽造されたものであったり、盗用されたものであった場合も、それを検出することができる。
【００１４】
上記発明において、ユーザー端末は、ユーザーが使用し、通信ネットワーク上に配置される認証サーバーとの間で、一度のみ有効なワンタイムパスワードを用いて、当該ユーザーの認証を行うワンタイム認証機能を備え、ワンタイム認証機能は、次世代乱数を発生させ、この次世代乱数に対してユーザー側一方向性関数による演算を所定回数だけ繰り返して第１のワンタイムコードを生成する第１のワンタイムコード作成部と、次世代乱数を発生させる前に発生させた前世代乱数に対して、ユーザー側一方向性関数による演算を所定回数だけ繰り返して第２のワンタイムコードを生成する第２のワンタイムコード作成部と、認証時において、通信ネットワークの通信状態に応じて第１のワンタイムコード又は第２のワンタイムコードに用いられた次世代乱数又は前世代乱数を選択する選択部と、選択された次世代乱数又は前世代乱数に対して、ユーザー側一方向性関数による演算を、選択された乱数に対する所定回数よりも低減回数分だけ少ない回数を繰り返して生成されたワンタイムコードを、認証用通信経路を通じてワンタイムパスワードとして送信する認証実行部と、を備えることが好ましい。
【００１５】
この場合には、ユーザー端末が、第２のワンタイムコードを用いて認証を行うとともに、次世代乱数に基づく第１のワンタイムコードを生成して、認証サーバー側に送信しておくことから、平常時にあっては、認証処理の度に、常に新しい世代の乱数によりワンタイムコードが生成されることとなり、セキュリティを高めることができる。このとき、ユーザー端末側では、ユーザー側一方向性関数を用いて暗号化（ハッシュ化）され、サーバー側で取得されたワンタイムコードは、サーバー側一方向性関数により暗号化（ハッシュ化）されるため、仮に通信経路途中やサーバー側で認証情報が傍受されたり漏洩したとしても、その認証情報を悪用してユーザーになり代わって認証を受けることはできない。
【００１６】
また、他の発明は、上記の動的認証システムにおいて前記ユーザー端末として用いられる動的認証用端末であって、所定の認証情報に、当該動的認証用端末上の現在時刻を示す時間情報を組み合わせて、２以上の表示情報を生成する表示情報生成部と、表示情報を一定の時間間隔をもって、同一位置に順次表示することにより、認証情報を動的に提示する動的情報提示部とを備える。
【００１７】
このような本発明によれば、ユーザー端末側で、個々の表示情報の生成と破棄を繰り返し、非常に短い時間（例えば、１秒未満）に２以上の表示情報を順次表示することによって動的な認証情報を提示しているので、その時間でのみ有効な表示情報で認証を行うことができ、盗撮などによる盗用を防止しつつユーザー端末を用いて認証を行うことができる。
【００１８】
上記発明において、ユーザーが使用し、通信ネットワーク上に配置される認証サーバーとの間で、一度のみ有効なワンタイムパスワードを用いて、当該ユーザーの認証を行うワンタイム認証機能をさらに備え、ワンタイム認証機能は、次世代乱数を発生させ、この次世代乱数に対してユーザー側一方向性関数による演算を所定回数だけ繰り返して第１のワンタイムコードを生成する第１のワンタイムコード作成部と、次世代乱数を発生させる前に発生させた前世代乱数に対して、ユーザー側一方向性関数による演算を所定回数だけ繰り返して第２のワンタイムコードを生成する第２のワンタイムコード作成部と、認証時において、通信ネットワークの通信状態に応じて第１のワンタイムコード又は第２のワンタイムコードに用いられた次世代乱数又は前世代乱数を選択する選択部と、選択された次世代乱数又は前世代乱数に対して、ユーザー側一方向性関数による演算を、選択された乱数に対する所定回数よりも低減回数分だけ少ない回数を繰り返して生成されたワンタイムコードを、認証用通信経路を通じてワンタイムパスワードとして送信する認証実行部と、を備えることが好ましい。
【００１９】
この場合には、ユーザー端末が、第２のワンタイムコードを用いて認証を行うとともに、次世代乱数に基づく第１のワンタイムコードを生成して、認証サーバー側に送信しておくことから、平常時にあっては、認証処理の度に、常に新しい世代の乱数によりワンタイムコードが生成されることとなり、セキュリティを高めることができる。
【００２０】
また、他の発明は、上記の動的認証システムにおいて前記読取装置として用いられる動的認証用読取装置であって、動的情報提示部に表示された２以上の表示情報を、順次、光学的に読み取る読取部と、読取部で読み取られた各表示情報の、それぞれの読取時刻を測定し記録する計時部と、各表示情報に含まれる各時間情報の差分と、各表示情報の読取時刻の差分と、前記一定の時間間隔から求められる有効期限とに基づいて、表示情報の有効性を判断する有効性判断部とを備えることを特徴とする。
【００２１】
このような本発明によれば、読取装置では、ユーザー端末で順次表示される２以上の表示情報の中から少なくとも２つ読み取り、その読み取られた各表示情報の、それぞれの読取時刻を測定し記録する。そして、読取装置側では、各表示情報に含まれる各時間情報の差分と、各表示情報の読取時刻の差分と、前記一定の時間間隔から求められる有効期限とに基づいて、表示情報の有効性を判断することができるので、スマートフォンや携帯電話を用いた認証処理に際し、実用上の利便性を確保しつつ、認証画像の有効性の確認を確実なものとし、認証画像の盗用などによる不正利用を防止できる。
【００２２】
上記発明において、読取部で読み取られた各表示情報から、時間情報を除外して、所定の認証情報を抽出する情報抽出部と、情報抽出部が抽出したそれぞれの認証情報の同一性を比較し、その比較結果に基づいて、表示情報の正当性を判断する正当性判断部とをさらに備えることが好ましい。
【００２３】
この場合には、例えば、表示情報がコード化されているときに、読み取られた２以上の各コードをそれぞれ平文に復号し、その復号された平文から時間情報を除外して認証情報のみを抽出し比較する。これにより、例えば、表示情報が偽造されたものであったり、盗用されたものであった場合も、それを検出することができる。
【００２４】
また、上述した本発明に係る動的認証システム、ユーザー端末装置、及び読取装置は、所定の言語で記述されたプログラムをコンピューター上で実行することにより実現することができる。
【００２５】
すなわち、本発明は、認証情報を動的に提示するユーザー端末と、提示された認証情報を読み取る読取装置とを用いた動的認証プログラムであって、読取装置に、ユーザー端末側において、所定の認証情報に、当該ユーザー端末上の現在時刻を示す時間情報を組み合わせて生成され、一定の時間間隔をもって、同一位置に順次表示された、２以上の表示情報を、認証情報として、順次、光学的に読み取る読取ステップと、読取ステップで読み取られた各表示情報の読取時刻を、測定し記録する計時ステップと、各表示情報に含まれる各時間情報の差分と、各表示情報の読取時刻の差分と、前記一定の時間間隔から求められる有効期限とに基づいて、表示情報の有効性を判断する有効性判断ステップとを備える処理を実行させる。
【００２６】
上記発明において、読取ステップで読み取られた各表示情報から、時間情報を除外して、所定の認証情報を抽出する情報抽出ステップと、情報抽出ステップにおいて抽出したそれぞれの認証情報の同一性を比較し、その比較結果に基づいて、表示情報の正当性を、判断する正当性判断ステップとをさらに備えることが好ましい。
【００２７】
このようなプログラムを、ユーザー端末やＷｅｂサーバー等のコンピューターやＩＣチップにインストールし、ＣＰＵ上で実行することにより、上述した各機能を有する動的認証システム、動的認証方法、ユーザー端末装置、及び読取装置を容易に構築することができる。このプログラムは、例えば、通信回線を通じて配布することが可能であり、また、汎用コンピューターで読み取り可能な記録媒体に記録することにより、スタンドアローンの計算機上で動作するパッケージアプリケーションとして譲渡することができる。記録媒体として、具体的には、フレキシブルディスクやカセットテープ等の磁気記録媒体、若しくはＣＤ−ＲＯＭやＤＶＤ−ＲＯＭ等の光ディスクの他、ＲＡＭカードなど、種々の記録媒体に記録することができる。そして、このプログラムを記録したコンピューター読み取り可能な記録媒体によれば、汎用のコンピューターや専用コンピューターを用いて、上述した動的認証システム、動的認証方法、ユーザー端末装置、及び読取装置を簡便に実施することが可能となるとともに、プログラムの保存、運搬及びインストールを容易に行うことができる。
【発明の効果】
【００２８】
以上述べたように、この発明によれば、オフィス等の施設への入館時における個人識別や、チケットやクーポンなどの有効性確認に際し、スマートフォンや携帯電話を用いた認証処理において、実用上の利便性を確保しつつ、認証画像の有効性の確認を確実なものとし、認証画像の盗用などによる不正利用を防止できる。
【図面の簡単な説明】
【００２９】
【図１】実施形態に係る動的認証システムの全体構成を示す概念図である。
【図２】実施形態に係るユーザー端末の内部構成を示すブロック図である。
【図３】実施形態に係る店舗側端末及びＰＯＳサーバーの内部構成を示すブロック図である。
【図４】実施形態に係る管理サーバー、クーポンサーバー、及びポイントサーバーの内部構成を示すブロック図である。
【図５】（ａ）〜（ｃ）は、実施形態に係る乱数とハッシュ回数との組み合わせによって生成されるハッシュ値を示す表である。
【図６】実施形態に係るユーザー端末の表示部に表示される動的の表示情報を示す説明図である。
【図７】実施形態に係る有効性判断処理を示すタイムチャート図である。
【図８】実施形態に係る認証処理のアルゴリズム概要を説明するシーケンス図である。
【図９】実施形態に係る認証機能の初期化処理を示すシーケンス図である。
【図１０】実施形態に係る通信可能時の認証処理を示すシーケンス図である。
【図１１】実施形態に係る通信不通時の認証処理を示すシーケンス図である。
【図１２】実施形態に係るエラー発生時の認証処理を示すシーケンス図である。
【図１３】実施形態に係る動的認証の全体動作を示すフローチャート図である。
【図１４】実施形態に係る動的認証処理を示すフローチャート図である。
【発明を実施するための形態】
【００３０】
（動的認証システムの概要）
以下に添付図面を参照して、本発明に係る動的認証システムの実施形態を詳細に説明する。図１は、本実施形態に係る動的認証システムの全体構成を示す概念図である。
【００３１】
図１に示すように、本実施形態に係る動的認証システムは、通信ネットワーク５上に配置される認証サーバー２と、ユーザーが使用し、認証サーバー２に通信ネットワーク５を通じて接続可能なユーザー端末１との間で、極めて短い時間に表示情報の生成と破棄とを繰り返し行い、動的に変化させた表示情報に基づいて認証を行うシステムである。
【００３２】
具体的に、本システムでは、ユーザー端末１において、ユーザーに付与される価値情報を管理する価値情報管理サーバー群を構成するクーポンサーバー３及びポイントサーバー４から電子クーポン情報及びポイント情報を取得するとともに、これらの情報に認証情報（ワンタイムコード）及び決済情報を含めたワンタイムパスワードを生成し、当該ワンタイムパスワードを動的に画面上に表示情報として提示させるようになっている。そして、提示された表示情報を店舗側端末７ａに読み取らせることで、表示情報を構成する所定の認証情報に応じた認証を行うとともに、電子クーポン又はポイントによる各種サービスを提供するものである。なお、「所定の認証情報」とは、ユーザーを特定する識別子や、チケットやクーポンその他の価値情報を特定する識別子、ユーザー端末を特定する識別子などが含まれ、本実施形態では、認証サーバーに対するアクセス用に発行される一度限り有効な認証情報である。「表示情報」とは、画面上に表示し得る情報であり、バーコードや二次元バーコードの他、文字や記号、図形や模様などが含まれる。また、「価値情報」とは、店舗におけるサービスの提供を保証する情報であり、ポイントや電子クーポン、割引サービス等が含まれる。
【００３３】
このような本システムでは、通信回線を相互に接続して構築される通信ネットワーク５上に、決済サーバー６と、認証サーバー２と、ポイントサーバー４と、クーポンサーバー３と、ＰＯＳサーバー７と、無線基地局８と、無線基地局８を通じて無線通信が可能なユーザー端末１とを備えている。
【００３４】
通信ネットワーク５は、電話回線やＩＳＤＮ回線、ＡＤＳＬ回線、光回線などの公衆回線、専用回線、３Ｇ回線や、Ｗｉｆｉ（登録商標）、Ｂｌｕｅｔｏｏｔｈ（登録商標）などの無線通信回線などの種々の通信回線を相互に接続して構築される通信網であり、インターネットなどの通信プロトコルＴＣＰ／ＩＰを用いたＩＰ網が含まれ、このＩＰ網には、１０ＢＡＳＥ−Ｔや１００ＢＡＳＥ−ＴＸ等によるイントラネット（企業内ネットワーク）や家庭内ネットワークなどのＬＡＮなども含まれる。
【００３５】
本実施形態において、ユーザー端末１と認証サーバー２とを接続する通信ネットワーク５の通信経路には、連携用通信経路と認証用通信経路という異なる経路が含まれている。ここで、「認証用通信経路」とは、認証情報を認証サーバーとの間で安定して送受信するための通信経路であり、上記通信ネットワークと異なる経路やプロトコルでもよく、上記通信ネットワークに一部又は全部の通信経路が含まれていてもよい。この認証用通信経路としては、例えば、店舗に設置されたＰＯＳ端末などを、ユーザー端末と認証サーバーの間に介在させた経路とすることができ、ユーザー端末とＰＯＳ端末とは、リーダーライタ装置やバーコードリーダー装置のような非接触通信によって接続されるものでよい。一方、「連携用通信経路」とは、上記の認証用通信経路とは異なる通信経路であり、上記通信ネットワーク上に構築され、特に３Ｇ回線やＷｉｆｉ、Ｂｌｕｅｔｏｏｔｈ（登録商標）などの無線通信回線を含み、ユーザー端末と認証サーバーとが直接接続され、一定のセキュリティが確保された通信経路である。無線基地局８は、図示しないゲートウェイ装置を通じて通信ネットワーク５に接続され、ユーザー端末１との間で無線通信接続を確立し、ユーザー端末１による通話やデータ通信を提供する装置である。
【００３６】
認証サーバー２は、通信ネットワーク５上に配置され、ユーザーが使用するユーザー端末１との間で、一度のみ有効なワンタイムパスワードを用いて、当該ユーザーの認証を行うサーバー装置であり、本実施形態では、通信ネットワーク５を通じて、ユーザー端末１側からそれぞれ記憶保持する各認証情報を取得して照合し、その一致又は不一致に基づいて認証処理を行う認証部としての機能と、ポイントサーバー４及びクーポンサーバー３に対して、クーポン情報及びポイント情報についての利用可否の問い合せ、更新処理を実行させたり、決済サーバー６に対して、決済の利用可否の決済実行を指示したりするなど、本システム全体を管理する管理部としての機能とを有する。
【００３７】
店舗側端末７ａは、コード化された各種情報を取得する装置であり、店舗側端末７ａには、ユーザー端末１表示部１３ａに動的に提示された表示情報を光学的に読み取る読取手段が接続されており、認証用通信経路は、読取手段に接続されている。本実施形態において、この表示情報には、認証情報であるワンタイムコードの他、電子クーポン情報、ポイント情報、決済情報などの購買情報が含まれ、ＱＲコード（登録商標）として表示される。特に、本実施形態において、このＱＲコード（登録商標）は、非常に短い時間（例えば、１秒未満）に２以上の表示情報を順次表示することによって動的な認証情報を提示している。そして、店舗側端末７ａは、ユーザー端末１の表示画面に表示された動的な表示情報を光学的に読み取り、読み取った表示情報に基づいて、当該表示情報の有効性及び正当性を判断するとともに、有効性及び正当性が確認された場合には、ＰＯＳサーバー７を介して認証サーバー２に送信している。なお、店舗側端末７ａは、読み取った表示情報に基づくサービス内容を画面上に表示することもできる。
【００３８】
この店舗側端末７ａとしては、例えば現金の管理を行うレジスター装置であり、利用者の利用代金を計算したり、金銭の管理をしたりする機能を備えていてもよい。また、店舗側端末７ａは、レジスター装置と接続可能な読取装置のみであってもよく、この場合には、演算処理機能及び無線通信機能を有した携帯可能なモバイルコンピューターやＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｃｅ）、スマートフォン、タブレットＰＣ等を用いることができる。
【００３９】
ＰＯＳサーバー７は、各店舗を統括的に管理する本部側に設置されるサーバー装置であり、通信ネットワーク５を通じて認証サーバー２と接続されており、店舗側端末７ａによって読み取った認証情報を認証サーバー２に送信する。また、このＰＯＳサーバー７は、店舗側端末７ａとＰＯＳサーバー７との間で所定のデータを送受信する機能や、店舗側端末７ａから送られる売上情報等をデータベースに格納し、集計分析処理を行う機能などを備える 。なお、店舗は、例えば、コンビニエンスストアや飲食店等の対面により販売サービスを提供する施設であり、店員がレジスター等の決済処理を担当している。
【００４０】
決済サーバー６は、ユーザーに対して提供された商品又はサービスに関する決済処理を実行するサーバー装置であり、例えば、銀行や、クレジット会社などの課金処理に伴う料金の決済を行う金融機関が運営している。この決済サーバー６には、決済データベースが接続されており、決済データベース内には、ユーザー登録している各ユーザーに関する詳細な情報（氏名、住所、電話番号、メールアドレス、年齢、勤務先、商品の送付先（住所と異なる場合）、決済情報（クレジットカード番号、引落し口座番号等）が登録されている。この決済データベース内の情報に登録された決済情報に従って、業者は購入した商品に関して、クレジットカードによる販売代金の回収等の決済業務等を遂行する。
【００４１】
ポイントサーバー４は、金銭換算が可能となされた所定のポイントを付与すると共にそのポイントを管理するサーバー装置であり、ＤＲＡＭやハードディスクなどに顧客固有の所有ポイントを記憶しており、顧客のアクセスに応じてポイント情報をユーザー端末１に配信するとともに、顧客のサービス対価や商品購入代金の支払いなどに応じて、顧客固有の所有ポイントを更新する。
【００４２】
クーポンサーバー３は、商品購入の際に特典をユーザーに提供する電子クーポンの発行や、電子クーポンの管理（利用状況の収集、データ更新等）を行うサービス提供者が運用するサーバー装置であり、ＤＲＡＭやハードディスクなどに各種クーポン情報を記憶しており、顧客のアクセスに応じて電子クーポン情報をユーザー端末１に配信するとともに、配信した電子クーポンの利用に応じて記憶されている電子クーポンの情報を更新（消し込み等）を実行する。
【００４３】
なお、各種のサーバーは、単一のサーバー装置の他、Ｗｅｂサーバーやデータベースサーバーなど複数種のサーバー群から構成されることも可能であり、また、装置や機器等のハードウェアのみならず、その機能を持ったソフトウェア、又はこれらの組み合わせなどによっても構成することができる。また、データベースも単一のデータベース装置の他、リレーションシップ機能により連携される複数のデータベース群で構成することもできる。本実施形態において、各サーバー装置同士及びユーザー端末１とは、図示しない通信インターフェースを介して各種のデータを送受しているものとする。
【００４４】
ユーザー端末１は、ユーザーが使用し、通信ネットワーク５上に配置される認証サーバー２との間で、一度のみ有効なワンタイムパスワードを用いて、当該ユーザーの認証を行う機能を有する携帯端末であって、具体的には、ＣＰＵを備えた演算処理装置であり、無線通信機能を有した携帯可能なモバイルコンピューターやＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｃｅ）、携帯電話機、スマートフォン、タブレットＰＣ等である。このユーザー端末１は、基地局等の中継点と無線で通信し、通話やデータ通信等の通信サービスを移動しつつ受けることができる。ユーザー端末１の通信方式としては、例えば、ＦＤＭＡ方式、ＴＤＭＡ方式、ＣＤＭＡ方式、Ｗ−ＣＤＭＡの他、ＰＨＳ（Ｐｅｒｓｏｎａｌ  Ｈａｎｄｙｐｈｏｎｅ  Ｓｙｓｔｅｍ）方式等が挙げられる。また、このユーザー端末１は、デジタルカメラ機能、アプリケーションソフトの実行機能、或いはＧＰＳ機能等の機能が搭載されている。
【００４５】
このユーザー端末１は、認証サーバー２から送信された動的認証プログラムが蓄積されており、この動的認証プログラムをアプリケーション実行部１４によって起動させることで、認証情報であるワンタイムコードを生成する。また、クーポンサーバー３及びポイントサーバー４から取得した電子クーポン情報及びポイント情報、決済情報、及び認証情報等を含めたワンタイムパスワードを生成し、表示情報として画面上に表示させるようになっている。なお、この動的認証プログラムは、認証サーバー２などインターネット側からダウンロードしたり、他の媒体を通じてインストールしたりすることで、ユーザー端末１に実装することができる。
【００４６】
（各装置の内部構造）
次いで、上述したシステムを構成する各装置の内部構造について説明する。図２は、本実施形態に係るユーザー端末１の内部構成を示すブロック図であり、図３は、本実施形態に係る店舗側端末及びＰＯＳサーバーの内部構成を示すブロック図である。また、図４は、本実施形態に係る認証サーバー２、クーポンサーバー３、ポイントサーバー４の内部構成を示すブロック図であり、図５（ａ）〜（ｃ）は、本実施形態に係る乱数及びハッシュ回数に応じて生成されるハッシュ値を示す表である。また、図６は、ユーザー端末の表示部に表示される動的表示情報を示す説明図であり、図７は、本実施形態に係る有効性判断処理を示すタイムチャート図である。なお、説明中で用いられる「モジュール」とは、装置や機器等のハードウェア、或いはその機能を持ったソフトウェア、又はこれらの組み合わせなどによって構成され、所定の動作を達成するための機能単位を示す。
【００４７】
（１）ユーザー端末１
先ず、ユーザー端末１の内部構成について説明する。図２に示すように、ユーザー端末１は、無線インターフェース１１、メモリ１５と、アプリケーション実行部１４と、出力インターフェース１３と、入力インターフェース１２とを備えている。無線インターフェース１１は、通話を行うための移動通信用のプロトコルによる無線通信と、例えば無線ＬＡＮ等のデータ通信用のプロトコルによる無線通信とを実行する機能を備えている。無線インターフェース１１は、無線ＬＡＮ接続を行うためにIEEE 802.11bに準拠した送受信装置であり、モバイルコンピューターやＰＤＡにおいては、無線ＬＡＮアダプタ等により実現することができる。本実施形態において、無線インターフェース１１は、連携用通信経路に接続されており、クーポンサーバー３及びポイントサーバー４から電子クーポン情報及びポイント情報を取得したり、認証サーバー２と認証処理に関する各データを送受するようになっている。
【００４８】
入力インターフェース１２は、操作ボタンやタッチパネルなどユーザー操作を入力するデバイスである。また、出力インターフェース１３は、ディスプレイやスピーカーなど、映像や音響を出力するデバイスである。特に、この出力インターフェース１３には、液晶ディスプレイなどの表示部１３ａが含まれている。クライアント計時部１６は、現在時刻を時間情報Ｔｃとして取得するモジュールであり、取得する時刻としては、ユーザー端末１のシステム時刻を取得する。
【００４９】
メモリ１５は、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）や各種のアプリケーション用のプログラム（ワンタイムパスワード生成ソフトウェア等）、その他のデータ等などを記憶する記憶装置であり、このメモリ１５には、デバイス情報などのユーザーに固有の端末固有識別子、ワンタイムコード生成に用いられる認証情報、電子クーポン情報、ポイント情報などが生成されたファイル内にシリアライズして保存される。ここで、ワンタイムパスコード生成に用いられるデータには、ＳＨＡ１等のユーザー側一方向性関数（以下、ハッシュ関数ＨＣと称する。）、ハッシュ関数ＨＣを適用する各世代の乱数Ｈ０〜乱数Ｈn、及びハッシュ関数の適用回数を保持しており、これらの組み合わせによって、図５（ａ）に示すように、各ハッシュ値Ｅを生成可能となっている。
【００５０】
なお、ここでの端末固有識別子は、ユーザーに固有のユーザー特定情報の一つであり、シリアルナンバーやＭＡＣアドレスその他のユーザー端末の製造時に付与された１つのユーザー端末に固有且つ単一の端末識別子である。なお、端末固有識別子に代わるユーザー特定情報としては、ユーザー毎に付与されるユーザー固有のユーザー識別子や、アプリケーションに固有のＩＤ、サービスに固有のＩＤ、又はこれらを組み合わせて定められるユニークな値など、一つの端末に複数付与される識別子をもちいることもできる。そして、これらのユーザー特定情報は、ユーザーが操作して入力するものでもよく、自動的に入力又は送信されるものであってもよい。
【００５１】
また、乱数Ｈは、例えば、英数（アルファベット文字は、大文字、小文字を区別している）を組み合わせた文字列であり、本実施形態では、例えば４０桁の文字列で構成される。なお、ワンタイムコードの生成に利用される乱数などの認証情報は、安全のため暗号化した上で保存され、本アプリケーションを削除した場合には、これらのデータも削除されるようになっている。なお、メモリ１５には、前回までの認証に用いられた第１及び第２のワンタイムコードに関する乱数とハッシュ回数とを記憶しているものとする。
【００５２】
アプリケーション実行部１４は、一般のＯＳやブラウザソフトなどのアプリケーションを実行するモジュールであり、通常はＣＰＵ等により実現される。このアプリケーション実行部１４において、本発明の動的認証プログラムが実行されることで、ワンタイムコード作成機能モジュール群として、ワンタイムパスワード作成部１４ａと、連携処理部１４ｂと、価値情報取得部１４ｃと、認証結果取得部１４ｄとが仮想的に構築される。
【００５３】
連携処理部１４ｂは、連携用通信経路を通じて認証サーバー２と通信処理を行うモジュールであり、連携用通信経路を通じて、会員登録処理やワンタイムパスワードの初期設定処理を実行する。会員登録処理とは、少なくとも認証サーバーに対して、ユーザー特定情報と、ログイン時に必要なパスワードを登録するものであり、初期設定処理とは、認証処理に用いる乱数とハッシュ回数とをユーザー端末１及び認証サーバー２の相互において設定する処理である。そして、連携処理部１４ｂでは、初期設定処理時において、ワンタイムパスワード作成部１４ａで生成されたワンタイムコードを送出する。
【００５４】
価値情報取得部１４ｃは、クーポンサーバー３及びポイントサーバー４から自身が所持する電子クーポン情報及びポイント情報を取得するモジュールである。このクーポンサーバー３及びポイントサーバー４との通信は、認証用通信経路は用いられず、連携用通信経路などの通常の通信経路を通じて行われる。
【００５５】
ワンタイムパスワード作成部１４ａは、認証サーバー２に対するアクセス用に発行される一度限り有効なワンタイムパスワードを生成するモジュールであり、次回認証用コード作成部１４４と、今回認証用コード作成部１４３と、認証環境確認部１４１と、乱数選択部１４２とを備えている。そして、これらの各モジュールが実行されることで、第１及び第２のワンタイムコードを生成するとともに、この第１及び第２のワンタイムコードに購買情報（電子クーポン情報及びポイント情報、決済情報等）を含めた所定の認証情報を生成する。
【００５６】
ここで、「ワンタイムコード」とは、認証サーバーに対するアクセス用に発行される一度限り有効な認証情報であり、数字や文字、記号などのテキストデータで表現されるものの他、バーコードや、二次元バーコード、その他のコード化された図形などが含まれ、本実施形態では、ハッシュ関数ＨＣを用いて作成されるハッシュ値である。具体的には、図５（ａ）に示すように、各世代の乱数Ｈ０〜乱数Ｈnと、ハッシュ関数の適用回数とを用いてハッシュ値を生成する。特に本実施形態において、ワンタイムパスワード作成部１４ａは、１度の認証処理において、次回認証用コード作成部１４４と、今回認証用コード作成部１４３とを実行させ、異なる２つのハッシュ値を生成する。ここでは、２つのハッシュ値のうち、一方のハッシュ値を次回認証用のハッシュ値（以下、第１のワンタイムコードと称する。）として用い、他方のハッシュ値を今回認証用のハッシュ値（以下、第２のワンタイムコードと称する。）として用いる。
【００５７】
次回認証用コード作成部１４４は、次世代乱数を発生させ、この次世代乱数に対してハッシュ関数ＨＣによる演算を、所定回数だけ繰り返して次回認証用ハッシュ値である第１のワンタイムコードを生成するモジュールである。ここで「次世代乱数」とは、前回までのワンタイムコード生成に用いられていない新たな乱数であり、次回認証用コード作成部１４４は、常時、新しい次世代乱数を用いて第１のワンタイムコードを生成する。
【００５８】
一方、今回認証用コード作成部１４３は、次世代乱数を発生させる前に発生させた前世代乱数に対して、ハッシュ関数ＨＣによる演算を所定回数だけ繰り返して、今回認証用のハッシュ値である第２のワンタイムコードを生成するモジュールである。ここで、「次世代乱数を発生させる前に発生させた前世代乱数」とは、前回以前の認証時において第２のワンタイムコードを生成する際に用いられた乱数、又は前回の認証時において第１のワンタイムコードを生成する際に用いられた乱数のいずれかである。
【００５９】
また、ワンタイムパスワード作成部１４ａは、認証環境確認部１４１を有している。認証環境確認部１４１は、ユーザー端末１と認証サーバー２との認証環境を確認するモジュールである。ここで、認証環境とは、認証処理を行うための環境であって、例えば、ユーザー端末１と認証サーバー２との連携用通信経路による通信状態や、エラー発生時（例えば、所定の処理段階において、不具合が発生し、認証サーバー２が保持する認証情報と、ユーザー端末１が保持する認証情報が一致しない場合など）が含まれる。
【００６０】
ここで、連携用通信経路による通信状態とは、ユーザー端末が通信可能エリア内に位置しており、連携用通信経路を通じて両者が接続されている状態と、ユーザー端末が通信可能エリア外に位置したり、通信障害などが発生したりなど連携用通信経路を通じて接続されていない状態とが含まれる。
【００６１】
そして、連携用通信経路で両者が接続されている場合には、ユーザー端末１から認証サーバー２に対して、次回認証用の情報である認証結果の確認要求を行い、認証サーバー２から認証結果が返信される。ここで、確認される「認証結果」には、認証の可否の他、ワンタイムコードデータベース２ａに現在保存されている第２のワンタイムコードに係る乱数の世代及びハッシュ回数などを含めることができる。なお、第２のワンタイムコードを認証結果として返信するのは、第１のワンタイムコードのハッシュ値は常にＭＡＸ値であり認証されたか否かが不明であるのに対し、前回認証時に用いられる第２のワンタイムコードのハッシュ値は減少しているので、確実に認証されたか否かを確認できるからである。この際、認証環境確認部１４１は、認証サーバ２に対して、端末固有識別子などのユーザ特定情報を送信する。
【００６２】
一方、連携用通信経路で両者が接続されていない場合には、ユーザー端末からの確認要求は受信されず、認証結果は返信されない。そして、認証環境確認部１４１は、各認証環境の確認結果に応じて、その確認結果を乱数選択部１４２に送信したり、連携処理部１４ｂに送信したりする。
【００６３】
そして、ワンタイムパスワード作成部１４ａの各モジュールでは、ユーザー端末１と認証サーバー２との認証環境に応じて、ワンタイムパスワードの生成及び認証処理の方法を変更している。具体的に、乱数選択部１４２は、認証時において、通信ネットワーク５の通信状態に応じて第１のワンタイムコード又は第２のワンタイムコードに用いられた次世代乱数又は前世代乱数を選択するモジュールである。ここでは、連携用通信経路が通信可能であって認証結果を取得した場合には、前回作成した第１のワンタイムコードに用いられた次世代乱数を選択する。一方、連携用通信経路が不通であり、認証結果を取得できない場合には、前回作成した第２のワンタイムコードに用いられた前世代乱数を選択する。
【００６４】
そして、今回認証用コード作成部１４３は、乱数選択部１４２において選択された次世代乱数又は前世代乱数に対して、ハッシュ関数ＨＣによる演算を、選択された乱数に対する所定回数よりも低減回数分だけ少ない回数を繰り返して、今回認証用に用いる認証情報の１つとして、第２のワンタイムコードを生成する。そして、ワンタイムパスワード作成部１４ａは、この第２のワンタイムコード及び第１のワンタイムコードに、購買情報、決済情報、及びユーザー情報とを含めた表示情報を生成する。このように、ワンタイムパスワード作成部１４ａでは、認証環境に応じて生成するワンタイムコードを変更させている。そして、認証サーバー２では、変更されたワンタイムコードに基づいて、ワンタイムパスワードを生成して認証処理を行うようになっている。なお、このワンタイムスタンプの生成及びこのワンタイムパスワードを用いた具体的な認証処理については後述する。なお、認証結果取得部１４ｄは、通信ネットワーク５の通信状態に応じて選択され、生成されたワンタイムパスワードに基づく認証処理の結果を取得するモジュールである。
【００６５】
また、ユーザー端末１のアプリケーション実行部１４には、認証情報を動的に提示するモジュール群として、表示情報生成部１４ｅと動的情報提示部１４ｆとを備えている。表示情報生成部１４ｅとは、所定の認証情報に、当該ユーザー端末１上の現在時刻を示す時間情報を組み合わせて、２以上の表示情報を生成するモジュールである。ここで、所定の認証情報とは、今回認証用コード作成部１４３、及び次回認証用コード作成部１４４で生成される第１のワンタイムコード及び第２のワンタイムコードである。
【００６６】
すなわち、表示情報生成部１４ｅは、ワンタイムパスワード作成部１４ａの今回認証用コード作成部１４３及び次回認証用コード作成部１４４で生成された第１のワンタイムコード及び第２のワンタイムコードに現在時刻Ｔｃを示す時間情報を組み合わせて動的なワンタイムパスワードを作成する。なお、このワンタイムパスワードには、ユーザー特定情報、決済情報、及び購買情報が含まれており、これらも所定の認証情報に含まれる。
【００６７】
この際、表示情報生成部１４ｅでは、一連の処理において生成する表示情報を、同じワンタイムコードを使用して生成しており、時刻情報のみを変更することで、表示情報の表示形態を変更させている。すなわち、表示情報生成部１４ｅは、今回認証用コード作成部１４３及び次回認証用コード作成部１４４で生成される第１のワンタイムコード及び第２のワンタイムコードに対して、経過する現在時刻情報を組み合わせることで、異なる２以上の表示情報を生成している。
【００６８】
動的情報提示部１４ｆは、表示情報を一定の時間間隔をもって、同一位置に順次表示することにより、認証情報を動的に提示するモジュールである。すなわち、動的情報提示部１４ｆは、表示情報生成部１４ｅにおいて表示情報が表示された後、クライアント計時部１６から随時時刻情報を取得し、予め定められた所定間隔（例えば、１秒未満）が経過したか否かを判断し、所定間隔が経過した後には、表示情報を再生成するように表示情報生成部１４ｅを制御する。これにより、表示情報生成部１４ｅは、現在表示している表示情報を破棄し、現在時刻の時刻情報をタイムスタンプとして含めて表示情報を再生成し画面上に表示させる。表示情報生成部１４ｅ及び動的情報提示部１４ｆは、以後、所定間隔毎にこの処理を繰り返す。
【００６９】
このように、表示情報生成部１４ｅ及び動的情報提示部１４ｆは、所定間隔毎に表示情報を生成、表示、破棄、再生成を繰り返し、表示部１３ａ上には、図６に示すように、画面上には、異なる表示情報（図６中の表示情報Ｃ＿１〜Ｃ＿４）が時間経過毎（図６中の時間Ｔｃ_１〜Ｔｃ_４）に随時変更されつつ動的に表示されるようになっている。
【００７０】
（２）ＰＯＳサーバー及び店舗側端末
次いで、ＰＯＳサーバー及び店舗側端末の内部構成について説明する。図３は、ＰＯＳサーバー及び店舗側端末の内部構成を示すブロック図である。店舗側端末７ａは、読取手段７６と、制御部７４と、メモリ７５と、通信インターフェース７１と、入力インターフェース７２と、出力インターフェース７３とを備えている。読取手段７６は、ユーザー端末１で表示した表示情報を読み取るためのリーダー装置であり、ユーザー端末１の液晶画面に表示されたＱＲコード（登録商標）を読取可能となっている。この際、読取手段７６は、動的情報提示部１４ｆによって表示部１３ａ上に表示された２以上の表示情報を、読取手段７６を用いて、順次、光学的に読み取り、これらを制御部７４に入力する。
【００７１】
通信インターフェース７１は、データをパケットとして送受信するモジュールであり、入力インターフェース７２は、テンキーや会計実行キーなどユーザー操作を入力するデバイスである。また、出力インターフェース７３は、ディスプレイやスピーカーなど映像や音響を出力するデバイスである。特に、この出力インターフェース７３には、液晶ディスプレイなどの表示部７３ａが含まれ、読取手段７６で読み取った表示情報に基づいた、ポイント情報やクーポン情報を表示させている。メモリ７５は、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）や会計処理プログラム、その他のデータ等などを記憶する記憶装置である。
【００７２】
制御部７４は、ＣＰＵやＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）等のプロセッサ、メモリ、及びその他の電子回路等のハードウェア、或いはその機能を持ったプログラム等のソフトウェア、又はこれらの組み合わせなどによって構成された演算モジュールであり、各部の動作制御、ユーザー操作に対する種々の処理を行っている。この制御部７４は利用するクーポン情報及びポイント情報を表示部７３ａに表示したり、読取手段７６で読み取った表示情報をＰＯＳサーバー７に送信する。また、店舗側端末７ａがレジスター端末である場合、制御部７４は、現金決済処理機能を備えている。
【００７３】
また、本実施形態において、制御部７４には、読取手段７６が読み取った２つ以上の表示情報に基づいて、その表示情報が認証処理として利用可能か否かを判断する機能を備えている。具体的に、制御部７４内には、図３に示すように、計時記録部７４１と、有効性判断部７４２と、情報抽出部７４３と、正当性判断部７４４とを備えている。
【００７４】
計時記録部７４１は、読取手段７６で読み取られた各表示情報の、それぞれの読取時刻を測定し記録するモジュールであり、店舗側端末７ａに備えられた店舗側計時部７７から読取時刻を測定して記録する。ここで、店舗側計時部７７が取得する時刻としては、店舗側端末７ａのシステム時刻を取得してもよく、また、タイムサーバーなどにより提供される絶対時刻を取得してもよい。
【００７５】
そして、計時記録部７４１は、読み取った表示情報に読み取った時点の読取情報Ｔｐをそれぞれ付加する。なお、ここでは、図７に示すように、最初に読み取った表示情報を第１の表示情報Ｘ１とし、次に読み取った表示情報を第２の表示情報Ｘ２とする。さらに、計時記録部７４１において、表示情報Ｘ１に付加される読取時刻を読取情報Ｔｐ_１とし、表示情報Ｘ２に付加される読取時刻を読取情報Ｔｐ_２とする。なお、表示情報Ｘ１内において、ユーザー端末１側において組み込まれた時間情報は時間情報Ｔｃ＿１とし、表示情報Ｘ２内において、ユーザー端末１側において組み込まれた時間情報は時間情報Ｔｃ＿２とする。
【００７６】
有効性判断部７４２は、各表示情報に含まれる各時間情報Ｔｃの差分と、各表示情報の読取時刻Ｔｐの差分と、一定の時間間隔から求められる有効期限とに基づいて、表示情報の有効性を判断するモジュールである。すなわち、情報が順次生成され表示される一定の時間間隔が各表示情報の有効期限であり、次の表示情報が表示させる時には、その前に表示されていた表示情報は破棄される。表示情報が生成される時間間隔は、その表示情報に組み合わせられた時間情報（有効期限）を介して店舗側端末７ａ側に伝えることができ、読み取り側では、時間情報によって伝えられた各生成時刻の差分と、各読み取り時刻の差分とについて、各表示情報の有効期限と比較することにより、表示情報の有効性を判断することができる。
【００７７】
本実施形態では、図７に示すように、連続する２つの表示情報Ｘ１，Ｘ２は所定間隔Ｌを空けて表示させていることから、例えば、読み取った２つの表示情報Ｘ１，Ｘ２が正規の表示情報である場合、第１の表示情報Ｘ１を読み取ってから、第２の表示情報Ｘ２が読み取り可能な最大時間間隔は、時間情報Ｔｃ＿２と時間情報Ｔｃ＿１との差分であるＬの２つ分の間隔２Ｌである。
【００７８】
そこで、有効性判断部７４２は、第１の表示情報Ｘ１の読取情報Ｔｐ_１と第２の表示情報Ｘ２の読取情報Ｔｐ_２との読取時刻Ｔｐの差分が、有効期限内であることを検証する。具体的に、有効性判断部７４２では、０より大きく、且つ間隔２Ｌ未満であることを検証する。そして、第１の表示情報Ｘ１と第２の表示情報Ｘ２についての読取時刻Ｔｐの差分が、０より大きく、且つ間隔２Ｌ未満である場合には、その表示情報Ｘ１及びＸ２は有効期限内であると判断し、第２の表示情報Ｘ２をワンタイムパスワードとして、ＰＯＳサーバー７を介して認証サーバー２に送信する。一方、第１の表示情報Ｘ１と第２の表示情報Ｘ２との読取時刻Ｔｐの差分が０以下であったり、間隔２Ｌ以上である場合には、有効期限が過ぎた表示情報としてエラー表示を行う。
【００７９】
なお、有効性判断部７４２は、各表示情報に含まれる各時間情報Ｔｃと、各表示情報の読取時刻Ｔｐとの差分に基づいて、有効性を判断してもよい。この場合は、表示部１３ａ上に表示されてから、読み取られるまで長時間経過しているワンタイムパスワードの使用を防止することができる。
【００８０】
また、制御部７４では、２つの表示情報Ｘ１及びＸ２の差分から、有効性の判断を行う処理とは別に、２つの表示情報Ｘ１及びＸ２が、同一のワンタイムコードに基づいて生成された表示情報であるか否かの正当性判断機能も備えており、同一のワンタイムパスワードに基づいて生成された表示情報のみ、有効期限の有無の判断を行っている。具体的に制御部７４には、情報抽出部７４３と正当性判断部７４４とを有している。
【００８１】
情報抽出部７４３は、読取手段７６で読み取られた各表示情報から、時間情報を除外して、所定の認証情報を抽出するモジュールである。ここで抽出される所定の認証情報とは、今回認証用コード作成部１４３と次回認証用コード作成部１４４で生成された、第１のワンタイムコード及び第２のワンタイムコードである。そして、情報抽出部７４３では、この第１のワンタイムコード及び第２のワンタイムコードを正当性判断部７４４に送信する。
【００８２】
正当性判断部７４４は、情報抽出部７４３が抽出したそれぞれの認証情報の同一性を比較し、その比較結果に基づいて、表示情報の正当性を判断するモジュールである。正当性判断部７４４は、読み取られた２以上の各コードをそれぞれ平文に復号し、その復号された平文から時間情報を除外して認証情報のみを抽出して比較する。なお、ここで、比較される認証情報は、第１のワンタイムコード及び第２のワンタイムコードの両方で行われる。
【００８３】
一方、ＰＯＳサーバー７には、通信インターフェース７０ａと、制御部７０ｂと、ＰＯＳ情報データベース７０ｃとを備えている。通信インターフェース７０ａは、データをパケットとして送受信するモジュールである。本実施形態では、この通信インターフェース７０ａを介して、店舗側端末７ａから認証情報を取得するとともに、取得した認証情報を認証サーバー２に送信する。また、認証サーバー２から認証結果を受信し、店舗側端末７ａに送信する。
【００８４】
制御部７０ｂは、ＣＰＵやＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）等のプロセッサ、メモリ、及びその他の電子回路等のハードウェア、或いはその機能を持ったプログラム等のソフトウェア、又はこれらの組み合わせなどによって構成された演算モジュールであり、実店舗から送信される実店舗に関する情報を集計して、売上や商品管理など一般的な商品売上処理を実行する。また、制御部７０ｂは、ユーザー端末１から読み取ったワンタイムパスワードを、認証用経路を通じて認証サーバー２に送信する。
【００８５】
なお、ここでは、店舗側端末７ａが取得したワンタイムパスワードを、ＰＯＳサーバー７を経由させて認証サーバー２に送信したが、例えば、店舗側端末７ａから直接認証サーバー２に送信してもよい。また、制御部７０ｂは、認証処理に関係するユーザーの消費行動に関する情報を購買情報として取得する機能も有し、ＰＯＳ情報データベース７０ｃに蓄積するとともに、ワンタイムパスワードとともに認証サーバー２に送信する。ここで、「消費行動に関する情報」とは、いわゆるＰＯＳデータが含まれ、購入した商品名、商品コード、購入日時、店舗名、数量などであり、電子クーポンやポイントの使用情報も含まれる。
【００８６】
ＰＯＳ情報データベース７０ｃは、ＰＯＳシステムに用いられる各種のデータを蓄積するデータベース群であり、例えば、実店舗を識別する実店舗ＩＤに、実店舗の位置や売上及び在庫商品などの実店舗に関する情報を関連付けて蓄積したり、各商品を識別する商品コードにその商品の販売価格を関連付けて記憶する。また、電子クーポンの情報に基づいたサービス内容などについても記憶している。さらに、このデータベース７０ｃには、顧客を識別するアカウントＩＤに、顧客の購入履歴情報（購入した商品、実店舗情報、購入金額、購入日時等）、ポイント情報、顧客の個人情報（氏名、住所、電話番号、メールアドレス、性別、年齢など）を蓄積することもできる。
【００８７】
（３）認証サーバー２の内部構成
認証サーバー２には、図４に示すように、ワンタイムコードデータベース２ａと、購買履歴情報蓄積部２ｂとが接続されている。ワンタイムコードデータベース２ａは、認証処理に関する情報を蓄積するデータベースであり、本実施形態では、ユーザー特定情報に、パスワード、本動的認証プログラムを含むアプリケーションのＩＤ、認証処理に関する情報、クーポンサーバー３及びポイントサーバー４でユーザーを識別するアカウントＩＤ、決済処理に用いられるトランザクションＩＤなどが関連付けて蓄積されている。
【００８８】
なお、認証サーバー２に蓄積されるユーザー特定情報としては、シリアルナンバーやＭＡＣアドレスその他のユーザー端末の製造時に付与された１つのユーザー端末に固有且つ単一のデバイスＩＤのほか、ユーザー毎に付与されるユーザー固有のユーザーＩＤや、アプリケーションに固有のＡＰＰＩＤ、サービスに対するアクセス権限に固有のアクセスＩＤ、又はこれらを組み合わせて定められるユニークな値など、一つの端末に複数付与される識別子が含まれる。
【００８９】
ここで、認証処理に関する情報とは、サーバー側一方向性関数であるハッシュ関数ＨＳ、ハッシュ関数ＨＳが適用された各世代の乱数Ｈｎ(ｎは第１世代〜第ｎ世代)と、ハッシュ関数の適用回数、ハッシュ関数ＨＣが含まれる。なお、認証処理に関する情報には、トークン情報及びトークン情報の有効期限が蓄積される。これらの情報は、ユーザー特定情報に関連付けられて蓄積されている。また、前回使用された第２のワンタイムコードに、購買情報が関連付けられて蓄積されている。ここで、購買情報には、ポイント情報、電子クーポン情報、決済情報など、認証処理に関係するユーザーの消費行動に関する情報である。なお、この情報は、認証用コード保存部２６でデータベース内に保存された、ユーザー特定情報とは関連付けされることなく保存される。これにより、認証用のワンタイムコードとユーザー特定情報とを紐付けるデータはないので、購買情報とユーザーとを紐付けることできず、個人情報を保護することができる。
【００９０】
また、ワンタイムコードデータベース２ａには、決済処理に関するトランザクション情報が含まれており、このトランザクション情報には、トランザクションを識別するトランザクションＩＤに、使用されたワンタイムパスワード、支払い総額、使用日時、アカウントＩＤが関連付けて記憶されている。さらに、ワンタイムコードデータベース２ａには、使用履歴情報が含まれており、使用履歴情報には、店舗で支払時に生成されたレシートを識別するレシートＩＤに、アカウントＩＤ、支払い金額、レシート内容、受領日時、利用ポイント、利用クーポンが蓄積されている。このようなワンタイムコードデータベース２ａに蓄積される情報は、必要に応じて外部からの問い合せに対応可能であるものとする。
【００９１】
購買履歴情報蓄積部２ｂは、購買情報を、第１又は第２の認証用ワンタイムコード及び認証処理の結果と関連付けてデータベースであり、認証管理部２０において、認証情報に含まれる購買情報が取得され、この購買情報を、第１又は第２の認証用ワンタイムコード及び認証処理の結果と関連付けて蓄積している。
【００９２】
一方、認証サーバー２には、認証管理部２０と連携部２０ａとを備えている。認証管理部２０は、認証処理全体を管理するモジュール群であり、ユーザー端末１から、認証用通信経路（読取手段７６）を介して、第１のワンタイムコード及び第２のワンタイムコード等を含むワンタイムパスワード取得して認証処理を実行したり、連携用通信経路を通じて初期設定処理及び連携処理等を行う。具体的に、認証管理部２０には、連携処理部２１と、初期化処理部２２と、認証用コード選択部２３と、低減回数補完部２４と、認証部２５と、認証用コード保存部２６とを備えている。
【００９３】
連携処理部２１は、連携用通信経路を通じてユーザー端末１からのログイン等の連携処理を受け付けるモジュールであり、本実施形態では、会員登録処理又は初期設定処理時においてユーザー特定情報及びパスワードの入力を受け付けてログインの認証を行う。なお、連携処理部２１は、最初にユーザー端末１からアクセスがあった場合には、会員登録処理を行い、ユーザー特定情報及びパスワードを取得する。取得したユーザー特定情報及びパスワードは、ハッシュ関数ＨＣとともにワンタイムコードデータベース２ａに蓄積される。
【００９４】
初期化処理部２２は、連携用通信経路を通じて、認証処理に用いる乱数及びハッシュ回数を初期化するモジュールである。ユーザー端末１から初期化の操作が行われると、使用される各世代の乱数Ｈｎ(ｎは第１世代〜第ｎ世代)と、所定ハッシュ回数とを新たに決定する。この際、初期化処理部２２では、ユーザー端末１の次回認証用コード作成部１４４で初回に生成された第１のワンタイムコードをユーザー特定情報とともに取得して、ワンタイムコードデータベース２ａに蓄積する。
【００９５】
認証用コード保存部２６は、ユーザー端末１から送信されたワンタイムコードをワンタイムコードデータベース２ａ内に保存するモジュールであり、認証用通信経路及び連携用通信経路を通じて取得したデータを保存する。ここで、連携用通信経路を通じて、ユーザー端末１上において初回に生成された第１のワンタイムコードを取得すると、認証用コード保存部２６は、この第１のワンタイムコードを用いて、ハッシュ関数ＨＳを用いた演算により認証用第１のワンタイムコードを生成し、認証用第１のワンタイムコードと、ユーザー特定情報と関連付けて保存する。
【００９６】
また、認証用通信経路を通じて、第１のワンタイムコード及び第２のワンタイムコードを取得すると、認証用コード保存部２６は、第１のワンタイムコードを用いて、ハッシュ関数ＨＳを用いた演算により認証用第１のワンタイムコードを生成するとともに、第２のワンタイムコードを用いて、ハッシュ関数ＨＳを用いた演算により認証用第２のワンタイムコードを生成し、これら第１及び第２の認証用ワンタイムコードと、ユーザー特定情報と関連付けてワンタイムコードデータベース２ａ内に保存する。
【００９７】
認証用コード選択部２３は、ユーザー端末１から認証用通信経路を通じて取得したワンタイムパスワードの認証を行う際、通信状態に応じて、認証用第１のワンタイムコード又は認証用第２のワンタイムコードのいずれかを選択して認証用コード保存部２６から取得するモジュールである。ここで、認証用コード選択部２３は、ワンタイムパスワードが送信される前に、認証結果の確認が連携用認証経路を通じてユーザー端末１から送信されているか否かに応じて通信状態を判別しており、認証結果の確認を取得している場合には、連携用通信経路での通信が可能と判断し、認証結果の確認を取得していない場合には、連携用通信経路での通信が不通であると判断する。
【００９８】
そして、認証用コード選択部２３では、連携用通信経路での通信が可能である場合には、認証用第１のワンタイムコードを選択し、連携用通信経路での通信が不通である場合には、認証サーバー２と同期が確認できている最終世代のワンタイムコード、すなわち、認証用第２のワンタイムコードを選択する。
【００９９】
低減回数補完部２４は、認証管理部２０が取得したワンタイムパスワードのうち第２のワンタイムコードに対して、低減回数分のハッシュ関数ＨＣによる演算を実行するモジュールである。ここでの低減回数分とはハッシュ回数１回分である。
【０１００】
認証部２５は、認証用コード選択部２３が選択した認証用第１のワンタイムコード又は認証用第２のワンタイムコードと、低減回数補完部２４で演算を実行した第２のワンタイムコードとに基づいて、認証処理を行うモジュールである。なお、認証管理部２０は、ユーザー端末１に対して認証結果を送信する機能を有している。また、認証管理部２０は、認証情報に含まれる購買情報を取得し、この購買情報を、ユーザー特定情報及び認証処理の結果と関連付けて購買履歴情報蓄積部２ｂに蓄積する。購買履歴情報蓄積部２ｂは、購買情報を、第１又は第２の認証用ワンタイムコード及び認証処理の結果と関連付けてデータベースである。
【０１０１】
連携部２０ａは、通信ネットワーク５を通じてクーポンサーバー３、ポイントサーバー４、及び決済サーバー６と連携を取り、決済完了するまでの各処理を実行するモジュールである。具体的に、クーポンサーバー３及びポイントサーバー４は、認証用コード保存部２６に保存された情報を、必要に応じて問い合せることが可能であり、連携部２０ａは、クーポンサーバー３及びポイントサーバー４と連携を取り、クーポン及びポイントの利用可否を判断したり、認証処理後にクーポン及びポイントの消し込み処理を実行させたりする。また、連携部２０ａは、認証処理の後、決済サーバー６に対して、支払い金額などの各種決済情報を送信する。決済サーバー６は、認証用コード保存部２６に保存された情報を、必要に応じて問い合せることが可能であり、決済サーバー６は、認証処理の結果に基づく価値情報の有効性に関する判断情報を取得し、判断情報に基づいて、価値情報の有効性を反映させた決済処理を実行する。
【０１０２】
（４）クーポンサーバー３の内部構成
このクーポンサーバー３には、クーポンデータベース３ａが接続されている。クーポンデータベース３ａには、電子クーポン情報を蓄積するデータベースであり、本実施形態では、クーポン識別情報に、電子クーポンの内容、電子クーポンの条件、割引率、割引額、有効期限、及び商品コードなどが関連付けて記憶されているとともに、ユーザーを識別するユーザー特定情報とは異なるアカウント情報と利用日時情報が紐付けられる。
【０１０３】
一方、クーポンサーバー３には、クーポン取得部３１と、利用可否確認部３２と、利用状況更新部３３と、クーポン追加部３４とを備えている。クーポン取得部３１は、ユーザー端末１から電子クーポン情報の取得操作があった場合に、クーポンデータベース３ａ内から当該ユーザーが所持している電子クーポン情報をユーザー端末１に送信するモジュールであり、クーポンデータベース３ａ内の当該クーポン識別情報にアカウント情報を付加する。
【０１０４】
利用可否確認部３２は、認証サーバー２から送信された電子クーポン情報に応じて、クーポンデータベース３ａ内の電子クーポン情報を参照し、当該電子クーポン情報が利用可能か否かを判別するモジュールである。この判別処理とは、例えば、利用する電子クーポンがデータベース内に蓄積されているか否かや、電子クーポン情報の利用期限を超過していないか否かなどである。
【０１０５】
利用状況更新部３３は、利用された電子クーポン情報に基づいて、クーポンデータベース３ａ内の電子クーポン情報を更新するモジュールである。具体的に、利用状況更新部３３は、使用済みの電子クーポン情報を識別するクーポン識別情報に基づいて、データベース３ａ内の電子クーポン情報を消し込む処理を行う。
【０１０６】
クーポン追加部３４は、クーポンサーバーの管理者の操作に応じて電子クーポン情報をクーポンデータベース３ａ内に追加するモジュールであり、例えば、商品又はサービスを識別する識別情報に、割引率、有効期限等を設定する。
【０１０７】
（５）ポイントサーバー４の内部構成
このポイントサーバー４には、ポイントデータベース４ａが接続されている。ポイントデータベース４ａは、ポイント情報を蓄積するデータベースであり、本実施形態では、ユーザーを識別するアカウント情報に、利用可能なポイント数、各ポイントの利用期限情報、更新日時等が関連付けて記憶されている。
【０１０８】
一方、ポイントサーバー４には、ポイント取得部４１と、利用可否確認部４２と、利用状況更新部４３と、ポイント追加部４４とを備えている。ポイント取得部４１は、ユーザー端末１からポイント情報の取得操作があった場合に、ポイントデータベース４ａ内から当該ユーザーが所持しているポイント数をポイント情報として、ユーザー端末１に送信するモジュールである。
【０１０９】
利用可否確認部４２は、認証サーバー２から送信されたポイント情報に応じて、ポイントデータベース４ａ内のポイント情報を参照し、当該ポイント情報が利用可能か否かを判別するモジュールである。この判別処理とは、例えば、利用するポイント数がデータベース内に蓄積されているポイント数より少ないか否かや、ポイント数の利用期限を超過していないか否かなどである。
【０１１０】
利用状況更新部４３は、利用されたポイント情報に基づいて、ポイントデータベース４ａ内のポイント情報を更新するモジュールである。具体的に利用状況更新部４３は、認証サーバー２から利用されたポイント情報を取得すると、データベース４ａに記録されているポイント数から、利用されたポイント数を減算する。
【０１１１】
ポイント追加部４４は、ポイント管理者の操作に応じてポイントデータベース４ａ内のポイント情報を追加するモジュールである。ポイント情報を追加する場合とは、例えば、商品購入時の支払い金額に対して所定の割合を乗じた数値をポイントとして還元してもよく、また、単にポイント購入として支払われた金額に応じてポイントを追加してもよい。このポイント情報は、アカウント情報と関連付けて記憶される。
【０１１２】
（ワンタイムパスワードを用いた認証処理のアルゴリズム）
次いで、ワンタイムパスワード認証のアルゴリズムの概要について詳述する。図８は、本実施形態に係る認証処理のアルゴリズムを説明するシーケンス図である。なお、ここでは、認証環境に応じた選択処理は行われないものとする。
【０１１３】
次回認証用コード作成部１４４は、先ず、認証実行の前提として、認証サーバー２に記憶させる初回の第１のワンタイムコードを作成する。具体的に、図５（ａ）に示すように、最初の乱数Ｈ０を発生させ（Ｓ１０１）、この乱数Ｈ０をユーザー端末１のハッシュ関数ＨＣでハッシュ化して、以下のようにハッシュ値Ｅ０を算出する（Ｓ１０２）。
【数１】
0005978326.tif 000002
【０１１４】
次いで、次回認証用コード作成部１４４は、下記のように、算出したハッシュ値Ｅ０に対し、ハッシュ関数ＨＣによる演算を所定回数（Ｍ）だけ繰り返して第１のワンタイムコード（ハッシュ値Ｅ０Ｍ）を算出する（Ｓ１０３）。
【数２】
0005978326.tif 000003
【０１１５】
その後、ワンタイムパスワード作成部１４ａは、Ｍ回ハッシュ化した第１のワンタイムコードとユーザー特定情報とを認証サーバー２に送信する（Ｓ１０４）。
【０１１６】
認証サーバー２の初期化処理部２２では、第１のワンタイムコード（ハッシュ値Ｅ０Ｍ）を取得すると（Ｓ１０５）、以下のように、ハッシュ値Ｅ０Ｍに対してハッシュ関数ＨＳを用いた演算により、認証用第１のワンタイムコード（ハッシュ値Ｅ’０Ｍ）を算出する（Ｓ１０６）。
【数３】
0005978326.tif 000004
【０１１７】
その後、初期化処理部２２では、認証用第１のワンタイムコードをユーザー特定情報と関連付けてワンタイムコードデータベース２ａに保存する（Ｓ１０７）。
【０１１８】
次いで、ユーザー端末１側では、電子クーポン又はポイントを決済する場合、ワンタイムパスワードを生成する。この際、ワンタイムパスワード作成部１４ａは、次回認証用のワンタイムコードを生成する。次回認証用コード作成部１４４では、図５（ａ）に示すように、最初の乱数Ｈ０とは異なる新しい世代の乱数Ｈ１を抽出し、次世代の乱数Ｈ１をユーザー端末１のハッシュ関数ＨＣでハッシュ化して以下のようにハッシュ値Ｅ１を算出する。
【数４】
0005978326.tif 000005
【０１１９】
次いで、次回認証用コード作成部１４４は、算出したハッシュ値Ｅ１に対しハッシュ関数ＨＣによる演算を所定回数（Ｍ回）だけ繰り返して、以下のように次回認証用の第１のワンタイムコード（ハッシュ値Ｅ１Ｍ）を算出する。
【数５】
0005978326.tif 000006
【０１２０】
次いで、今回認証用コード作成部１４３は、今回認証用のワンタイムスタンプとして、第２のワンタイムコードを生成する。ここでは、前回の通信時に、第１のワンタイムコード生成に用いた乱数に対し、所定回数よりも低減回数分（マイナス１回分）だけ少ない回数を繰り返したハッシュ値を生成する。ここでは、ハッシュ値Ｅ0をＭ−１回ハッシュ化し、第２のワンタイムコード（ハッシュ値Ｅ０Ｍ−１）を算出する（Ｓ１０９）。
【０１２１】
このように生成された第２のワンタイムコード（ハッシュ値Ｅ０Ｍ−１）と第１のワンタイムコード（ハッシュ値Ｅ１Ｍ）とがワンタイムパスワードとなる。そして、ワンタイムパスワード作成部１４ａでは、ワンタイムパスワードに、ユーザー特定情報及び購買情報（クーポン情報及びポイント情報、及び決済情報）とを含めた表示情報を生成し、店舗側端末７ａの読取手段を用いて、表示情報を読み取らせ、ワンタイムパスワードを認証サーバー２に送信する（Ｓ１１０）。
【０１２２】
ここで、第２のワンタイムコード（ハッシュ値Ｅ０Ｍ−１）はサーバーに一度も送っていないデータなので正しいユーザー端末以外は知り得ないデータである。また、ハッシュ関数の性質から、第２のワンタイムコード（ハッシュ値Ｅ０Ｍ−１）は、ステップＳ１０４で送信した初回の第１のワンタイムコード（ハッシュ値Ｅ０Ｍ）からも、ワンタイムコードデータベース２ａに蓄積されている認証用第１のワンタイムコード（ハッシュ値Ｅ’０Ｍ）からも求めることはできない。さらに、今回生成された第１のワンタイムコード（ハッシュ値Ｅ１Ｍ）は、新しい乱数Ｈ１から生成されたものであるため、これも予測することができない。
【０１２３】
認証サーバー２の認証管理部２０では、これら第２のワンタイムコード（ハッシュ値Ｅ０Ｍ−１）と第１のワンタイムコード（ハッシュ値Ｅ１Ｍ）との情報を取得すると（Ｓ１１１）、以下のように、第２のワンタイムコード（ハッシュ値Ｅ０Ｍ−１）に対して低減回数分のハッシュ関数ＨＣによる演算を行いハッシュ値Ｅ’０Ｍ−１を生成し、さらに、サーバー側のハッシュ関数ＨＳによる演算によりハッシュ値Ｅ’０Ｍを算出する（Ｓ１１２）。
【数６】
0005978326.tif 000007
【０１２４】
なお、ハッシュ値Ｅ’０Ｍ−１を生成できるのは、ハッシュ関数ＨＳを知っている認証サーバー２だけである。そして、認証部２５は、算出されたハッシュ値と、ワンタイムコードデータベース２ａに保存されている認証用第１のワンタイムコード（ハッシュ値Ｅ’０Ｍ）とを比較して認証処理を行う（Ｓ１１３）。ハッシュ値が異なる場合（Ｓ１１４における“Ｎ”）は、認証が失敗した旨の認証結果をＰＯＳサーバーに送信する（Ｓ１１９）。一方、ハッシュ値がどちらも同一のハッシュ値である場合にはユーザーの認証は成功される（Ｓ１１４における“Ｙ”）。ここでは、どちらのワンタイムコードもハッシュ値Ｅ’０Ｍとなるため、認証は成功する。
【０１２５】
認証が成功すると認証部２５は、第１のワンタイムコード（ハッシュ値Ｅ１Ｍ）に対して、ハッシュ関数ＨＳを用いた演算を行い、次回の認証用第１のワンタイムコード（ハッシュ値Ｅ’１Ｍ）を以下のように算出する（Ｓ１１５）。
【数７】
0005978326.tif 000008
【０１２６】
そして、算出した認証用第１のワンタイムコード（ハッシュ値Ｅ’１Ｍ）はユーザー特定情報に関連付けて上書き保存をする（Ｓ１１６）。なお、今回認証用として用いた第２のワンタイムコード（ハッシュ値Ｅ０Ｍ−１）も、ハッシュ関数ＨＳを用いた演算を行い、次回の認証用第２のワンタイムコード（ハッシュ値Ｅ’０Ｍ−１）を算出し、ユーザー特定情報に関連付けてワンタイムコードデータベース２ａに保存する（Ｓ１１７）。その理由は後述する。また、認証部２５は、購買情報を、今回認証用に用いた認証用第１のワンタイムコード（ハッシュ値Ｅ’０Ｍ）と関連付けて保存する（Ｓ１１８）。これにより、ワンタイムコードデータベース２ａには、認証用第１のワンタイムコード（ハッシュ値Ｅ’０Ｍ）とユーザー特定情報とを紐付けるデータはないため、ユーザーを特定することはできなくなる。
【０１２７】
また、ステップＳ１１５で算出した新たな認証用第１のワンタイムコード（ハッシュ値Ｅ’１Ｍ）と、保存された認証用第１のワンタイムコード（ハッシュ値Ｅ’０Ｍ）とは、異なる乱数を用いているため何ら関係性はない。さらに、ワンタイムコードデータベース２ａには、第２のワンタイムコード（ハッシュ値Ｅ０Ｍ−１）を記憶しているが、ハッシュ関数の性質により、認証用第１のワンタイムコード（ハッシュ値Ｅ’０Ｍ）と第２のワンタイムコード（ハッシュ値Ｅ０Ｍ−１）とは、どちらもいずれかのハッシュ値から他方を求めることは困難である。その後、認証管理部２０は、ユーザー端末１又は店舗側端末７ａに認証結果を送信し（Ｓ１１９）、ＰＯＳサーバーの画面上には認証結果が表示される（Ｓ１２０）。
【０１２８】
（ワンタイムパスワードを用いた認証機能の各処理について）
次いで、上述したワンタイムパスワードのアルゴリズムを本システム上で動作させた場合の各処理について説明する。
【０１２９】
（１）ワンタイムパスワードの初期化処理
初めに、ワンタイムパスワードの初期化処理について説明する。図９は、本実施形態に係る認証機能の初期化処理を示すシーケンス図である。初期化処理とは、ユーザー端末１及び認証サーバー２において、使用する乱数及びハッシュ回数を設定するものであり、この処理は、動的認証プログラムを最初に実行した場合や、ユーザー操作によって実行される。
【０１３０】
具体的に、ワンタイムパスワード作成部１４ａにおいて、動的認証プログラムが実行されると、ユーザー端末１の画面上において、ユーザーＩＤ及びパスワードを入力させる入力欄が表示される。なお、この入力欄における入力としては、ユーザーＩＤの他、端末ＩＤやＡＰＰＩＤなどのユーザー特定情報が含まれ、これらのＩＤは、ユーザーが手操作で入力する他、端末側から自動的に入力或いは送信される場合が含まれる。そして、ユーザー操作又は自動入力によって、ユーザー特定情報及びパスワードが入力されると、これらのデータが認証サーバー２に送信される（Ｓ２０１）。ここで認証サーバー２側では、会員登録処理は実行されており、ワンタイムコードデータベース２ａ内には予めユーザー特定情報（デバイス情報）とパスワードが登録されているものとする。
【０１３１】
そして、認証サーバー２の連携処理部２１では、ワンタイムコードデータベース２ａに記録されているユーザー特定情報（ユーザーＩＤやデバイス情報等）及びパスワードに基づいてパスワード認証を行う（Ｓ２０２）。その後、認証サーバー２では、パスワード認証が成功した場合には、ユニークなデータであるトークンを発行して、ユーザー端末１に送信する（Ｓ２０３）。
【０１３２】
ユーザー端末１のワンタイムパスワード作成部１４ａでは、取得したトークンに基づいて認証サーバー２にアクセスし、認証サーバー２では、ワンタイムパスワードの初期化が行われる（Ｓ２０４）。ここでは、使用される各世代の乱数Ｈｎ(ｎは第１世代〜第ｎ世代)と、所定ハッシュ回数とを新たに決定する。その後、認証サーバ２は、認証結果をユーザー端末１に送信する（Ｓ２０５）。
【０１３３】
なお、動的認証プログラムを最初に実行した場合には、動的認証プログラムは、新規登録処理を行うために、認証サーバー２にアクセスする。そして、ユーザー端末１の画面上において、ユーザー特定情報（デバイス情報）及びパスワードの設定が行われ、これらのデータが認証サーバー２のワンタイムコードデータベース２ａに登録される。この際、ユーザーの個人情報（氏名、年齢、性別等）の他、決済情報（クレジットカード番号等）なども登録される。
【０１３４】
（２）認証環境に応じた認証処理について
次いで、認証環境に応じたユーザー端末１と認証サーバー２の認証処理について説明する。図１０は、本実施形態に係る通信可能時における処理を示すシーケンス図である。また、図１１は、本実施形態に係る通信不通時における処理を示すシーケンス図であり、図１２は、本実施形態に係るエラー発生時における処理を示すシーケンス図である。
【０１３５】
なお、ここでは、どのようなハッシュ値が生成されるかを図５（ｂ）及び（ｃ）を用いて説明するものとし、以下の説明において、前回の認証処理では、今回認証のタイムスタンプとしての第２のワンタイムコード（ハッシュ値Ｅ０Ｍ−１）が送信され、次回認証用として第１のワンタイムコード（ハッシュ値Ｅ１Ｍ）が送信されたものとする。そして、認証用コード保存部２６では、第１のワンタイムコード及び第２のワンタイムコードに対し、ハッシュ関数ＨＳを用いた演算を行い、認証用第１のワンタイムコード（ハッシュ値Ｅ’１Ｍ）、認証用第２のワンタイムコード（ハッシュ値Ｅ’０Ｍ−１）を生成し、これら第１及び第２の認証用ワンタイムコード（ハッシュ値Ｅ’０Ｍ−１）と、ユーザー特定情報とが関連付けて保存されているものとする。そして、ここでは、第２のワンタイムコード（ハッシュ値Ｅ０Ｍ−１）を第２のワンタイムコードαと称し、第１のワンタイムコード（ハッシュ値Ｅ１Ｍ）を第１のワンタイムコードβと称する。また、今回の認証処理において生成され、ワンタイムコードとなる第２のワンタイムコードをα１と称し、第１のワンタイムコードをβ１と称するものとする。
【０１３６】
（Ａ）通信可能状態にある場合の処理
先ず、ユーザー端末１と認証サーバー２とが通信可能である場合の処理について説明する。図１０に示すように、ユーザー端末１は、認証結果の確認を行うため、連携用通信経路を通じて、認証サーバーにアクセスする。ここでは、通信可能であり、ユーザー特定情報（端末固有識別子）を認証サーバー２に送信する（Ｓ３０１）。認証サーバー２の認証管理部２０では、認証結果の情報を送信する（Ｓ３０２）。この際、認証管理部２０は、前回使用されたワンタイムパスワード（各ハッシュ値）は送信しないようにする。ユーザー端末１の認証環境確認部１４１では、認証結果の情報を取得すると、通信環境があると判断し、その結果を乱数選択部１４２及び今回認証用コード作成部１４３に送信する。これにより、ワンタイムパスワード作成部１４ａでは、認証結果の情報が得られ、通信環境がある場合に応じた第２のワンタイムコードα１及び次回認証用ハッシュ値β１が作成される（Ｓ３０３）。
【０１３７】
具体的に、乱数選択部１４２では、通信状態に応じて、第１のワンタイムコード又は第２のワンタイムコードに用いられた次世代乱数又は前世代乱数のいずれか選択する。ここでは、通信可能であるため、乱数選択部１４２は、前回送信された、第１のワンタイムコードに用いられた乱数（ここでは、乱数Ｈ１）を選択する。そして、今回認証用コード作成部１４３では、この乱数Ｈ１に対し、ハッシュ関数ＨＣによる演算を、選択された乱数に対する所定回数（Ｍ回）よりも低減回数分（１回分）だけ少ない回数を繰り返して第２のワンタイムコードα１を生成する。ここでは、図５（ｂ）に示すように、前回送信した第１のワンタイムコードβよりハッシュ回数を１つ減らしたハッシュ値Ｅ１Ｍ−１を第２のワンタイムコードα１として生成する。
【０１３８】
次に、次回認証用コード作成部１４４は、第１のワンタイムコードβ１を生成する。次回認証用コード作成部１４４は、第２のワンタイムコードα１に用いる乱数とは異なる次世代の乱数（ここでは、乱数Ｈ２）を発生させ、この次世代乱数に対して、上記の式４及び式５のように、ハッシュ関数ＨＣによる演算を所定回数（Ｍ回）だけ繰り返してハッシュ値Ｅ２Ｍを生成する。そして、ワンタイムパスワード作成部１４ａは、これら第２のワンタイムコードα１と第１のワンタイムコードβ１とをワンタイムパスワードとして生成する。
【０１３９】
そして、生成された第２のワンタイムコードα１と第１のワンタイムコードβ１とに、購買情報（ポイント情報及びクーポン情報等）及びユーザー特定情報を含めてワンタイムパスワードとし、そのワンタイムパスワードの表示情報を作成して画面上に表示させ、店舗側端末７ａの読取手段７６に表示情報を読み取らせる。店舗側端末７ａでは、読取手段によって表示情報の読み取り操作を行い（Ｓ３０４）、表示情報を構成する認証情報を取得する（Ｓ３０５）。店舗側端末７ａでは、この認証情報に基づいて、画面上にポイント情報、及び電子クーポン情報を表示させる。その後、店舗側端末７ａでは、通信ネットワーク５を通じて、認証サーバー２に認証情報を送信する。
【０１４０】
認証サーバー２の認証管理部２０では、表示情報に含まれたワンタイムパスワード（第２のワンタイムコードα１及び第１のワンタイムコードβ１）を受信し（Ｓ３０６）、認証部２５では、これらのワンタイムパスワードに基づいて認証処理を行う。この認証処理は、上述したステップＳ１１２〜ステップＳ１１３と同様である。具体的には、低減回数補完部２４は、上記式６のように、取得した第２のワンタイムコードα１（ハッシュ値Ｅ１Ｍ−１）を低減回数分のハッシュ関数ＨＣによる演算を実行するとともに、サーバー側のハッシュ間数でハッシュ化してハッシュ値Ｅ’１Ｍを算出する。一方、認証用コード選択部２３では、通信状態に応じて、認証用の第１のワンタイムコードβ又は認証用の第２のワンタイムコードαのいずれかを選択して認証用コード保存部２６から取得する。ここでは、通信環境があるので、認証用第１のワンタイムコードβを選択する。
【０１４１】
そして、認証部２５は、算出された第２のワンタイムコードα１（ハッシュ値Ｅ’１Ｍ）と、ワンタイムコードデータベース２ａに保存されている認証用第１のワンタイムコードβとを比較して認証処理を行う。ここで、保存されている認証用第１のワンタイムコードβは、図５（ｂ）に示すように、前回認証時に保存したハッシュ値Ｅ１Ｍを、上記式３のようにサーバー側のハッシュ関数ＨＳでハッシュ化したものでハッシュ値Ｅ’１Ｍとなっている。このように、今回認証用のハッシュ値と保存されたハッシュ値とは、互いにハッシュ値Ｅ’１Ｍとなっていることから、ワンタイムパスワードは一致して認証は成功する。
【０１４２】
その後、認証が成功した場合には、上記ステップＳ１１５〜ステップＳ１１８までの処理を行う。ここでは、今回取得した第１のワンタイムコードβ１を、上記式７のようにサーバー側のハッシュ関数ＨＳでハッシュ化して、認証用第１のワンタイムコードβ１（ハッシュ値Ｅ’２Ｍ）としてユーザー特定情報（ユーザーＩＤ）と関連付けて記憶しておく。また、第２のワンタイムコードα１についても、上記式７のようにサーバー側のハッシュ関数ＨＳでハッシュ化し、認証用第２のワンタイムコードα１（ハッシュ値Ｅ’１Ｍ−１）として保存しておく。また、購買情報は、今回認証に用いたハッシュ値Ｅ’１Ｍと関連付けて記憶される。その後、認証管理部は、認証結果を店舗側端末７ａに送信して（Ｓ３０７）、店舗側端末７ａの表示部７３ａではその認証結果を表示させる。
【０１４３】
（Ｂ）通信不通状態にある場合
次いで、ユーザー端末１と認証サーバー２との通信ができない場合の処理について説明する。図１１に示すように、ユーザー端末１は、認証結果の確認として、ユーザー特定情報を送信する（Ｓ４０１）。ここでは、ユーザー端末１が通信エリア外に滞在したり、通信障害が起きているため、認証結果の確認は認証サーバー２に届かず、認証結果を得ることができない。この際、認証環境確認部１４１では、通信サービス不可などの返信結果を取得すると（Ｓ４０２）、この情報を乱数選択部１４２及び今回認証用コード作成部１４３に送信する。これにより、認証結果の情報が得られない場合に応じた第２のワンタイムコードα１及び第１のワンタイムコードβ１が作成される（Ｓ４０３）。
【０１４４】
具体的に、乱数選択部１４２では、通信状態に応じて、第１のワンタイムコード又は第２のワンタイムコードに用いられた次世代乱数又は前世代乱数のいずれか選択する。ここでは、通信不通であるため、サーバー同期が確認できている最終世代の乱数、すなわち、前回送信された第２のワンタイムコードに用いられた乱数（ここでは、乱数Ｈ０）を選択する。そして、今回認証用コード作成部１４３では、この乱数Ｈ０に対し、ハッシュ関数ＨＣによる演算を、選択された乱数に対する所定回数（Ｍ回）よりも低減回数分（１回分）だけ少ない回数を繰り返して第２のワンタイムコードα１を生成する。ここでは、図５（ｃ）に示すように、前回送信された第２のワンタイムコードαは、乱数Ｈ０を用いたハッシュ値Ｅ０Ｍ−１であるから、今回の第２のワンタイムコードα１は、乱数Ｈ０を用いたハッシュ値Ｅ０ＭをＭ−２回ハッシュ化したハッシュ値Ｅ０Ｍ−２となる。
【０１４５】
また、次回認証用コード作成部１４４は、第１のワンタイムコードβ１を、前回までに使用された乱数よりも次世代の乱数を用いて生成する。ここでは、図５（ｃ）に示すように、前回送信された第１のワンタイムコードβに用いられた乱数Ｈ１の次世代である乱数Ｈ２を用い、その乱数Ｈ２を、さらにハッシュ関数ＨＣを用いた演算を行い、ハッシュ値Ｅ２を算出し、その算出されたハッシュ値Ｅ２を所定回数（Ｍ回）ハッシュ化して、次第１のワンタイムコードβ１（ハッシュ値Ｅ２Ｍ）を生成する。
【０１４６】
そして、生成された第２のワンタイムコードα１（ハッシュ値Ｅ０Ｍ−２）と第１のワンタイムコードβ１（ハッシュ値Ｅ２Ｍ）とに、購買情報及びユーザー特定情報を含めた表示情報を作成して画面上に表示させ、店舗側端末７ａの読取手段に表示情報を読み取らせる。店舗側端末７ａでは、読取手段によって表示情報の読み取り操作を行い（Ｓ４０４）、表示情報を構成する認証情報を取得する（Ｓ４０５）。
【０１４７】
店舗側端末７ａでは、この認証情報に基づいて、ポイント情報、及び電子クーポン情報を表示させる。その後、店舗側端末７ａでは、通信ネットワーク５を通じて、認証サーバー２に認証情報を送信する。認証サーバー２の認証部２５では、認証情報に含まれたワンタイムパスワード（第２のワンタイムコードα１と第１のワンタイムコードβ１）を受信し（Ｓ４０６）、認証部２５では、これらのワンタイムパスワードに基づいて、認証処理を行う。
【０１４８】
ここで、ワンタイムコードデータベース２ａには、前回の認証処理時に取得した第１のワンタイムコードβ（ハッシュ値Ｅ１Ｍ）に対して、ハッシュ関数ＨＳを用いた演算により認証用第１のワンタイムコード（ハッシュ値Ｅ’１Ｍ）が蓄積される。また、前回認証用に用いられた第２のワンタイムコードα（ハッシュ値Ｅ０Ｍ−１）に対して、ハッシュ関数ＨＳを用いた演算により認証用第２のワンタイムコード（ハッシュ値Ｅ’０Ｍ−１）が蓄積されている。そして、認証用コード選択部２３では、通信状態に応じて、認証用の第１のワンタイムコードβ又は認証用の第２のワンタイムコードαのいずれかを選択して認証用コード保存部２６から取得する。ここでは、ユーザー端末１から認証確認の要求が送られていない状態で認証情報を取得したので、通信不通時の処理を行うと判別し、前回認証用に用いられた認証用第２のワンタイムコード（ハッシュ値Ｅ’０Ｍ−１）を認証用として選択する。
【０１４９】
また、低減回数補完部２４は、取得した第２のワンタイムコードα１（ハッシュ値Ｅ０Ｍ−２）をクライアントのハッシュ関数ＨＣでハッシュした後、サーバー側のハッシュ関数ＨＳでハッシュ化してハッシュ値Ｅ’０Ｍ−１を算出する。そして、認証部２５は、算出された第２のワンタイムコードα１（ハッシュ値Ｅ’０Ｍ−１）と、ワンタイムコードデータベース２ａに保存され、認証用第２のワンタイムコード（ハッシュ値Ｅ’０Ｍ−１）とを比較して認証処理を行う。このように、互いのハッシュ値は、ハッシュ値Ｅ’０Ｍ−１となっていることから、ワンタイムパスワードは一致して認証は成功する。
【０１５０】
その後、認証が成功した場合には、ステップＳ１１５〜ステップＳ１１８までの処理を行う。ここでは、今回取得した第１のワンタイムコードβ１（ハッシュ値Ｅ２Ｍ）も、同様に、サーバー側のハッシュ関数ＨＳを用いた演算を行い、ハッシュ化した認証用第１のワンタイムパスワード（ハッシュ値Ｅ’２Ｍ）をユーザー特定情報と関連付けて記憶しておく。また、第２のワンタイムコードα１（ハッシュ値Ｅ０Ｍ−２）もハッシュ関数ＨＳを用いた演算を行い、認証用第２のワンタイムパスワード（ハッシュ値Ｅ’０Ｍ−２）をユーザー特定情報と関連付けて記憶しておく。その後、認証管理部２０は、認証結果を店舗側端末７ａに送信して（Ｓ４０７）、店舗側端末７ａの表示部７３ａではその認証結果を表示させる。
【０１５１】
（Ｃ）エラー発生時の処理
さらに、本実施形態では、所定の処理段階においてエラーが発生し、認証サーバー２から返却された認証結果の情報が、ユーザー端末１上のものと整合しないた場合においても自動で正常化処理を行う機能を有している。
【０１５２】
先ず、ユーザー端末１は、図１２に示すように、認証結果の確認として、連携用通信経路を通じて、ユーザー特定情報を送信する（Ｓ５０１）。認証サーバー２の連携処理部２１では、ユーザー特定情報に基づいて第１のワンタイムコードに係る乱数の世代及びハッシュ回数を送信する（Ｓ５０２）。ここでは、所定の処理段階においてエラーが発生しているため、返却された第１のワンタイムコードに係る乱数の世代及びハッシュ回数と、ユーザー端末１に蓄積された第１のワンタイムコードに係る乱数の世代及びハッシュ回数とが整合しない。
【０１５３】
この際、アプリケーション実行部１４では、ログイン要求処理を行い（Ｓ５０３）、ユーザー特定情報及びパスワードを入力させ、ユーザー特定情報及びパスワードをログイン情報として認証サーバー２に送信する（Ｓ５０４）。認証サーバー２の連携処理部２１では、このログイン情報を取得すると、ユーザー特定情報及びパスワードに基づいて、ユーザーを特定した後、ユニークなデータであるトークンを発行して、ユーザー端末１に送信する（Ｓ５０５）。その後は、上記の初期設定処理と同様、ユーザー端末１のワンタイムパスワード作成部１４ａでは、取得したトークンに基づいて、ワンタイムパスワードの初期化を行う。ワンタイムパスワードの初期化後は、初期化後のワンタイムパスワードに基づいて認証処理が実行される。ここでも、通信状態に応じて、上記（Ａ）又は（Ｂ）の処理のいずれかが実行される。
【０１５４】
（動的認証方法）
以上の構成を有するシステムを動作させることで、本発明の動的認証方法を実施することができる。図１３は、本実施形態に係る動的認証の全体動作を示すフローチャート図であり、図１４は、本実施形態に係る動的認証処理を示すフローチャート図である。なお、ここでは、予めワンタイムパスワードの初期化処理は完了しているものとする。
【０１５５】
先ず、ユーザー端末１は、図１３に示すように、クーポンサーバー３にアクセスして、画面上に表示されたクーポン情報から希望する電子クーポンを取得する操作を行う（Ｓ６０１）。クーポンサーバー３のクーポン取得部３１は、ユーザー操作に応じて電子クーポン情報をユーザー端末１に送信する（Ｓ６０２）。電子クーポン情報は、ユーザー端末１のメモリ１５に蓄積される。また、ユーザー端末１は、ポイントサーバー４にアクセスして、自身が所有するポイント情報を取得する操作を行う（Ｓ６０３）。ポイントサーバー４のポイント取得部４１は、ユーザー操作に応じてポイント情報を送信する（Ｓ６０４）。ポイント情報は、ユーザー端末１のメモリ１５に蓄積される。
【０１５６】
その後、ユーザーが店舗に出向き、電子クーポン及びポイントを用いたサービスを利用する場合、先ず、ワンタイムパスワード作成部１４ａでは、認証サーバー２との認証環境を確認する（Ｓ６０５）。そして、ワンタイムパスワード作成部１４ａでは、認証環境に応じたワンタイムパスワードを作成するとともに、購買情報等を含んだ認証情報を生成する（Ｓ６０６）。この認証環境に基づくワンタイムパスワードの生成処理は、上記（Ａ）〜（Ｃ）のいずれかが行われるとともに、表示情報生成部１４ｅ及び動的情報提示部１４ｆによって、ワンタイムパスワードを構成する認証情報を２以上生成して、表示情報として動的に提示する。
【０１５７】
店舗側端末７ａの読取手段７６は、この表示情報を読み取り（Ｓ６０７）、その後、店舗側端末７ａの制御部７４において、有効性及び正当性の判断（動的認証処理）がされ（Ｓ６０８）、有効性及び正当性が確認された後には、画面上に電子クーポン情報及びポイント情報を表示させて、ユーザーは内容を確認する。その後、店員による操作によって、認証処理の実行がされると、ワンタイムパスワードは認証サーバー２に送信される（Ｓ６０９）。
【０１５８】
このステップＳ６０６からステップＳ６０８までの動的認証処理の動作について図１４を用いて詳述する。先ず、上記Ｓ６０６において、ユーザー端末側では、表示情報生成部１４ｅが、ワンタイムパスワード作成部１４ａで作成された第１及び第２のワンタイムコードを取得する。表示情報生成部１４ｅは、図１４に示すように、第１及び第２のワンタイムコードに、当該ユーザー端末１上の現在時刻を示す時間情報Ｔｃ_１を、クライアント計時部１６から取得し、この時間情報Ｔｃ_１を第１及び第２のワンタイムコードに組み合わせて第１の表示情報Ｘ１を生成する（Ｓ７０１）。
【０１５９】
このように生成された第１の表示情報Ｘ１は、画面上に表示され、店舗側端末７ａの読取手段７６によって光学的に読み取られる（Ｓ７０２）。この際、店舗側端末７ａの計時記録部７４１では、読取手段７６で読み取られた表示情報の読取時刻Ｔｐ_１を測定しメモリ１５に記録する。
【０１６０】
一方、ユーザー端末１の動的情報提示部１４ｆでは、順次生成される２以上の表示情報を一定の時間間隔Ｌをもって、同一位置に順次表示することにより、認証情報を動的に提示させる。具体的には、クライアント計時部１６から随時時刻情報を取得するとともに、第１の表示情報Ｘ１から所定間隔Ｌが経過したか否かを判断する（Ｓ７０３）。ここで、所定間隔Ｌが経過していない場合には（Ｓ７０３における“Ｎ”）、ループ処理により現在時刻を計時しつつ、所定間隔Ｌが経過するまで処理を繰り返す。
【０１６１】
その後、所定間隔Ｌが経過した場合には（Ｓ７０３における“Ｙ”）、現在表示されている第１の表示情報Ｘ１を破棄して、第２の表示情報Ｘ２を生成する。具体的に、表示情報生成部１４ｅは、前回と同じ第１及び第２のワンタイムコードを取得すると、図１４に示すように、第１及び第２のワンタイムコードに、当該ユーザー端末１上の現在時刻を示す時間情報Ｔｃ_２をクライアント計時部１６から取得し、この時間情報Ｔｃ_２を第１及び第２のワンタイムコードに組み合わせて第２の表示情報Ｘ２を生成する（Ｓ７０４）。
【０１６２】
そして、表示情報生成部１４ｅは、第１の表示情報Ｘ１を破棄し、第２の表示情報Ｘ２を画面上に表示させる。第２の表示情報Ｘ２が、画面上に表示されると、店舗側端末７ａの読取手段７６は、第２の表示情報Ｘ２を光学的に読み取る（Ｓ７０５）。この際、計時記録部７４１では、読取手段７６で読み取られた表示情報の読取時刻Ｔｐ_２を測定し、第２の表示情報Ｘ２とともにメモリ１５に記録する。なお、この店舗側端末７ａでは、上記所定間隔Ｌが既知であり、このＬに合わせて画像読み取りのタイミングが設定されている。
【０１６３】
そして、店舗側端末７ａの有効性判断部７４２では、第１の表示情報Ｘ１及び第２の表示情報Ｘ２に基づいて、表示情報の有効性と正当性とを判断する（Ｓ７０６）。先ず、有効性判断部７４２が、各表示情報に含まれる各時間情報（Ｔｃ_１、Ｔｃ_２）の差分と、各表示情報の読取時刻（Ｔｐ_１、Ｔｐ_２）の差分と、表示情報が生成される一定の時間間隔（Ｌ）から求められる有効期限とに基づいて、表示情報の有効性を判断する。具体的に、有効性判断部７４２は、第１の表示情報Ｘ１に付加された読取情報Ｔｐ_１と、第２の表示情報Ｘ２に付加された読取情報Ｔｐ_２との差分が、０より大きく、且つ間隔２Ｌ未満であることを検証する。
【０１６４】
第１の表示情報Ｘ１と第２の表示情報Ｘ２の差分が０以下であったり、間隔２Ｌ以上である場合には（Ｓ７０７における“Ｎ”）、有効期限が過ぎた表示情報としてエラー表示を行い、その旨を管理サーバに送信するなどのエラー処理を実行した後、認証処理を未完了のまま終了させる（Ｓ７０９）。なお、上記ステップＳ７０６において、有効性判断部７４２は、表示情報が生成された時刻Ｔｃ_１と、その読取時刻Ｔｐ_１の差分、及び時刻Ｔｃ_２と、その読取時刻Ｔｐ_２の差分についても、しきい値内であるか否かについて判断する。すなわち、Ｔｐ_１−Ｔｃ_１の絶対値、及びＴｐ_２−Ｔｃ_２の絶対値が、所定のしきい値（例えば、１０分）以内であるか否かを判断し、このしきい値を超えるような場合は、表示情報の生成から読み取りまでの時間が経過しすぎている、或いはユーザー端末又は店舗側端末のシステム時間が狂いすぎているとして、無効な表示情報であるとして（Ｓ７０７における“Ｎ”）、上述したエラー処理を行う（Ｓ７０９）。
【０１６５】
第１の表示情報Ｘ１と第２の表示情報Ｘ２の差分が、０より大きく、且つ間隔２Ｌ未満である場合には（Ｓ７０７における“Ｙ”）、その表示情報Ｘ１及びＸ２は有効期限内であると判断する。このようにして有効性が確認できた後には、第１の表示情報Ｘ１及び第２の表示情報Ｘ２の正当性の判断が行われる。
【０１６６】
先ず、情報抽出部７４３は、読取手段７６で読み取られた各表示情報から、時間情報Ｔｃを除外して、第１の表示情報Ｘ１及び第２の表示情報Ｘ２を構成する第１のワンタイムコード及び第２のワンタイムコードをそれぞれ抽出する。具体的には、読み取られた２以上の各コードをそれぞれ平文に復号し、その復号された平文から時間情報を除外して認証情報のみを抽出する。そして、正当性判断部７４４は、情報抽出部７４３が抽出したそれぞれの認証情報の同一性を比較し、その比較結果に基づいて、表示情報の正当性を判断する。
【０１６７】
ここで、両者のワンタイムコードが同一でない場合には（Ｓ７０７における“Ｎ”）、店舗側端末７ａの表示部７３ａにエラーを表示させる（Ｓ７０９）。なお、この情報はユーザー端末１に送信してユーザー端末１の表示部１３ａ上に表示させてもよい。両者のワンタイムコードが同一であり、有効性及び正当性が確認できた場合は、第２の表示情報Ｘ２をワンタイムパスワードとして、ＰＯＳサーバー７を通じて認証サーバー２に送信する（Ｓ７０８）。
【０１６８】
その後、認証サーバー２の認証管理部２０では、図１３に示すように、表示情報内のワンタイムパスワードに基づいて認証処理を行う（Ｓ６１０）。この認証処理も各認証環境に応じて上記（Ａ）又は（Ｂ）の認証処理が行われる。認証が成功すると、連携部２０ａでは、ワンタイムコードデータベース２ａ内のアカウント情報に基づいて、ポイントサーバー４にポイント利用可否の問い合せを送信する（Ｓ６１１）。ポイントサーバー４の利用可否確認部４２では、アカウント情報に基づいて、ポイントデータベース４ａ内に記録されたユーザーのポイント数や有効期限情報を参照して、利用可否を判別し、判別結果を連携部２０ａに送信する（Ｓ６１２）。
【０１６９】
また、連携部２０ａでは、アカウント情報に基づいて、クーポンサーバー３に電子クーポン利用可否の問い合せを送信する（Ｓ６１３）。クーポンサーバー３の利用可否確認部３２では、アカウント情報に基づいて、クーポンデータベース３ａ内に記録されたユーザーの電子クーポン情報や有効期限情報を参照して利用可否を判別し、判別結果を連携部２０ａに送信する（Ｓ６１４）。さらに、連携部２０ａでは、各判別結果に応じた決済処理を行うとともに、決済サーバー６に決済処理によって算出された決済情報（ポイント及び電子クーポン利用後の購入代金情報等）を送信する（Ｓ６１５）。決済サーバー６では、決済情報に基づいて決済処理を行い、決済結果情報を連携部２０ａに送信する（Ｓ６１６）。
【０１７０】
その後、連携部２０ａでは、決済が完了した情報を取得すると、アカウント情報に基づいて、クーポンサーバー３に対してクーポン消し込み要求（ユーザー識別情報、電子クーポンを識別するクーポン識別情報を含む。）を送信する（Ｓ６１７）。クーポンサーバー３の利用状況更新部３３では、消し込み要求に応じて、クーポンデータベース３ａの電子クーポン情報を消し込み処理し、その消込結果を連携部２０ａに送信する（Ｓ６１８）。
【０１７１】
また、連携部２０ａでは、アカウント情報に基づいて、ポイントサーバー４に対してポイント更新要求（ユーザー識別情報、使用されたポイント数情報を含む。）を送信する（Ｓ６１９）。ポイントサーバー４の利用状況更新部４３では、更新要求に応じて、ポイントデータベース４ａのポイント情報を更新処理し、その更新結果を連携部２０ａに送信する（Ｓ６２０）。ユーザー端末１から、結果確認によるアクセスがあった場合（Ｓ６２１）、連携部２０ａは、消込結果及び更新結果をユーザー端末１に対して送信する（Ｓ６２２）。
【０１７２】
（動的認証プログラム）
上述した本実施形態に係る動的認証システム、携帯端末、認証サーバー、及び動的認証方法は、所定の言語で記述されたプログラムをコンピューター上で実行することにより実現することができる。すなわち、このプログラムを、ユーザー端末やＷｅｂサーバー等のコンピューターやＩＣチップにインストールし、ＣＰＵ上で実行することにより、上述した各機能を有するシステムを容易に構築することができる。このプログラムは、例えば、通信回線を通じて配布することが可能であり、またスタンドアローンの計算機上で動作するパッケージアプリケーションとして譲渡することができる。そして、このようなプログラムは、パーソナルコンピューターで読み取り可能な記録媒体に記録することができ、汎用のコンピューターや専用コンピューターを用いて、上述したシステム、装置、サーバー、及びオブジェクト制御方法を実施することが可能となるとともに、プログラムの保存、運搬及びインストールを容易に行うことができる。
【０１７３】
（作用・効果）
このような本実施形態によれば、ユーザー端末１側では、非常に短い時間（例えば、１秒未満）に２以上の表示情報を順次表示することによって動的な認証情報を提示しているので、認証を行うことができる。すなわち、本実施形態では、個々の表示情報の生成と破棄を繰り返すことから、その時間でのみ有効な表示情報で認証を行うこととなり、盗撮などによる盗用を防止できる。
【０１７４】
詳述すると、店舗側端末７ａ側では、ユーザー端末１の動的情報提示部１４ｆに順次表示される２以上の表示情報の中から少なくとも２つ読み取り、その読み取られた各表示情報の、それぞれの読取時刻Ｔｐを測定し記録する。そして、店舗側端末７ａ側では、各表示情報に含まれる各時間情報Ｔｃの差分と、各表示情報の読取時刻Ｔｐの差分と、前記一定の時間間隔から求められる有効期限とに基づいて、表示情報の有効性を判断することができる。すなわち、表示情報が順次生成され表示される一定の時間間隔が各表示情報の有効期限であり、次の表示情報が表示させる時には、その前に表示されていた表示情報は破棄される。表示情報が生成される時間間隔は、その表示情報に組み合わせられた時間情報Ｔｃ（有効期限）を介して店舗側端末７ａ側に伝えることができ、読み取り側では、時間情報Ｔｃによって伝えられた各生成時刻の差分と、各読み取り時刻の差分とについて、各表示情報の有効期限と比較することにより、表示情報の有効性を判断することができる。
【０１７５】
また、本実施形態によれば、読取手段７６で読み取られた各表示情報から、時間情報Ｔｃを除外して、所定の認証情報を抽出する情報抽出部７４３と、情報抽出部７４３が抽出したそれぞれの認証情報の同一性を比較し、その比較結果に基づいて、表示情報の正当性を判断する正当性判断部７４４とをさらに備えているので、例えば、表示情報が偽造されたものであったり、盗用されたものであった場合も、それを検出することができる。
【０１７６】
本実施形態では、ユーザー端末１は、ユーザーが使用し、通信ネットワーク５上に配置される認証サーバー２との間で、一度のみ有効なワンタイムパスワードを用いて、当該ユーザーの認証を行うワンタイム認証機能を備え、ユーザー端末が、第２のワンタイムコードを用いて認証を行うとともに、次世代乱数に基づく第１のワンタイムコードを生成して、認証サーバー側に送信しておくことから、平常時にあっては、認証処理の度に、常に新しい世代の乱数によりワンタイムコードが生成されることとなり、セキュリティを高めることができる。このとき、ユーザー端末１側では、ユーザー側一方向性関数を用いて暗号化（ハッシュ化）され、サーバー側で取得されたワンタイムコードは、サーバー側一方向性関数により暗号化（ハッシュ化）されるため、仮に通信経路途中やサーバー側で認証情報が傍受されたり漏洩したとしても、その認証情報を悪用してユーザーになり代わって認証を受けることはできない。
【０１７７】
詳述すると、本発明では、認証サーバーとユーザー端末との通信状態に応じて、今回の認証時に用いられるワンタイムパスワードの元となるワンタイムコード（第１のワンタイムコード又は第２のワンタイムコード）を選択している。例えば、認証サーバーとユーザー端末とが通信可能である場合には、前回送信した第１のワンタイムコードに用いられた乱数を確認し、今回の認証時に生成するワンタイムパスワードを、前回生成した次世代乱数に基づいて生成する。すなわち、通信可能な状態下では、常に新規な次世代乱数が生成され、ハッシュ回数は初期値にリセットされる。一方、認証サーバーとユーザー端末とが通信不通である場合には、前回生成した乱数と同世代の乱数に基づいて、前回のハッシュ回数よりも低減されたハッシュ回数により、今回認証時に生成するワンタイムパスワードを生成する。
【０１７８】
その結果、本実施形態によれば、認証サーバー２では、取得したワンタイムコードをハッシュ関数で一方向の処理を加えているので、通信内容を隠蔽することができる。このように、本実施形態によれば、通信経路及び認証サーバーに保存される認証コードを盗聴されたり、盗難されたとしても、実際に認証するためのコードは生成できないため、不正利用を防ぐことができる。さらに、本実施形態によれば、ユーザー端末で生成するワンタイムコードは、乱数によってランダムに生成され、ワンタイムコードそのものは、ユーザー端末にも保存しないので、ユーザー端末上のデータ、通信経路上のデータ、認証サーバー上のデータは、正規のユーザー端末が生成したワンタイムコードによってのみ紐づけられることとなり、セキュリティを高めることができる。
【０１７９】
また、本実施形態において、認証用通信経路は、ユーザー端末１の表示部１３ａに表示されたワンタイムパスワードを読み取る読取手段７６に接続され、認証管理部２０は、読取手段７６を介して、ワンタイムパスワードをユーザー端末１から取得しているので、ユーザー端末１が通信可能エリア外に位置している場合でも、ワンタイムパスワードを取得して認証することができる。
【０１８０】
また、通信ネットワーク５上には、認証サーバー２とユーザー端末１とを接続する連携用通信経路が構築され、認証用コード保存部２６は、連携用通信経路を通じて、ユーザー端末１上において初回に生成された第１のワンタイムコードを取得し、この第１のワンタイムコードを用いて、サーバー側一方向性関数を用いた演算により認証用第１のワンタイムコードを生成し、第１の認証用ワンタイムコードと、ユーザー特定情報と関連付けて保存しているので、次回以降の認証において、２つの異なる乱数を用いた動的認証処理を実行することができる。
【０１８１】
さらに、本実施形態において、認証サーバー２は、ユーザーに付与される電子クーポン又はポイントを管理するクーポンサーバー３及びポイントサーバー４と、決済サーバー６とを有し、クーポンサーバー３、ポイントサーバー４及び決済サーバー６は、認証用コード保存部２６によりデータベース２ａに保存された情報を共有可能である。これにより、クーポンサーバー３、ポイントサーバー４、及び決済サーバーは、認証用コード保存部２６に保存された情報を共有可能であり、決済サーバー６は、認証処理の結果に基づく価値情報の有効性に関する判断情報を取得し、判断情報に基づいて、価値情報の有効性を反映させた決済処理を実行するので、認証処理と同時に価値情報有効性の判断と、決済処理とを、複数のサーバー装置、ひいては複数のサービス事業者で協働して行うことできる。
【０１８２】
また、本実施形態では、画面上に表示させる表示情報に、ポイント情報、クーポン情報、及び決済情報などの全ての情報が含まれている。ここで、従来のクーポンシステム又はポイントシステムでは、決済処理とは別のシステムで管理されていることから、特に店頭では、利用者はクーポンやポイントを事前に提示した上で、適用後に支払いを行うこととなり、利用時の手順が煩雑であるという問題がある。しかしながら、本実施形態によれば、画面上に表示させる表示情報に、ポイント情報、クーポン情報、及び決済情報などの全ての情報が含まれているので、１度表示情報を店舗側端末７ａに読み取らせることで、クーポン又はポイントの利用可否判断から決済完了までの処理を一連で行うことができるため、ポイントやクーポンの利用時の手順を簡略化することができる。
【０１８３】
また、本実施形態では、クーポンやポイントの支払い前に、ユーザー操作でポイントやクーポンの選択を行うようになっているので、支払い時の手順を簡略化できる。また、クーポンやポイントの利用可否は、認証サーバー２で行っているため、店舗側の担当者は、クーポンやポイントの利用がない場合と同様の手順で決済を行うことができる。さらに、決済サーバー６は、認証処理の結果に基づく価値情報の有効性に関する判断情報を取得し、判断情報に基づいて、価値情報の有効性を反映させた決済処理を実行する。
【０１８４】
このように、本実施形態では、認証処理と同時に価値情報有効性の判断と、決済処理とを一度の通信接続で行うことでき、ユーザー側にとっては認証処理のための操作と、電子クーポンやポイントを利用するための操作と、決済処理するための操作を簡略化することができる。
【０１８５】
さらに、店舗側端末７ａでは、認証処理に関係するユーザーの消費行動に関する情報を購買情報として取得し、認証管理部２０は、第１のワンタイムコード又は第２のワンタイムコードとともに、購買情報（クーポンやポイントの利用履歴と決済情報）を取得し、この購買情報を、ユーザー特定情報及び認証処理の結果と関連付けて購買履歴情報蓄積部２ｂに蓄積しているので、効果の高いクーポンやポイントを用いたマーケティング施策に活用できる。なお、本実施形態では、認証サーバー２に、各システムのサーバー装置を接続させ、認証サーバー２を経由することでクーポンやポイントを提供しているので、クーポンやポイントを提供する異なる事業者であっても、シームレスに利用できる。
【０１８６】
［変更例］
なお、上述した実施形態の説明は、本発明の一例である。このため、本発明は上述した実施形態に限定されることなく、本発明に係る技術的思想を逸脱しない範囲であれば、設計等に応じて種々の変更が可能である。以下に、本発明の変更例について説明する。
【０１８７】
例えば、上述した実施形態において、表示情報の有効期限の有無判断は、連続して表示される２つの表示情報に基づいて判断したが、例えば、２以上の表示情報を読み取った場合に、その一連の表示情報のうち、連続しない任意の２つ表示情報Ｘｉ、表示情報Ｘｊ（ｊ＞ｉ）を読み取って有効性を検証してもよい。この場合は、再生成間隔Ｂを既知の値として店舗側端末７ａに記憶させておくことで、動的に提示される表示情報のうち、任意の２つの表示情報Ｘｉ、表示情報Ｘｊを読み取った場合でも、上記と同処理で有効性を検証することができる。すなわち、任意の２つの表示情報Ｘｉ、表示情報Ｘｊの差分が、０より大きく、且つ、表示情報Ｘｉ、表示情報Ｘｊの差分である間隔Ｌと既知の再生成間隔Ｂとを加算した間隔（Ｌ＋Ｂ）未満であることを検証する。
【０１８８】
また、例えば、上述した実施形態において、表示情報の有効期限の有無は、店舗側端末７ａの有効性判断部７４２で処理したが、例えば、認証サーバー２の連携部２０ａにおいて実行してもよい。この場合、有効性判断部７４２の機能モジュールは、連携部２０ａに備えており、店舗側端末７ａは、読み取った第１の表示情報Ｘ１及び第２の表示情報Ｘ２をそのまま認証サーバー２に送信する。なお、この際、表示情報Ｘ１及びＸ２が同一のワンタイムパスワードに基づいて生成された表示情報か否かの判断は、有効性判断部７４２で行ってもよく、また、連携部２０ａにおいて実行してもよい。
【符号の説明】
【０１８９】
１…ユーザー端末
２…認証サーバー
２ａ…ワンタイムコードデータベース
２ｂ…購買履歴情報蓄積部
３…クーポンサーバー
３ａ…クーポンデータベース
４…ポイントサーバー
４ａ…ポイントデータベース
５…通信ネットワーク
６…決済サーバー
７…ＰＯＳサーバー
７ａ…店舗側端末
８…無線基地局
１１…無線インターフェース
１３ａ…表示部
１４…アプリケーション実行部
１４ａ…ワンタイムパスワード作成部
１４ｂ…連携処理部
１４ｃ…価値情報取得部
１４ｄ…認証結果取得部
１４ｅ…表示情報生成部
１４ｆ…動的情報提示部
１５…メモリ
１６…クライアント計時部
２０…認証管理部
２０ａ…連携部
２１…連携処理部
２２…初期化処理部
２３…認証用コード選択部
２４…低減回数補完部
２５…認証部
２６…認証用コード保存部
３１…クーポン取得部
３２…利用可否確認部
３３…利用状況更新部
３４…クーポン追加部
４１…ポイント取得部
４２…利用可否確認部
４３…利用状況更新部
４４…ポイント追加部
７０ａ…通信インターフェース
７０ｂ…制御部
７０ｃ…ＰＯＳ情報データベース
７４…制御部
７５…メモリ
７６…読取手段
７７…店舗側計時部
１４１…認証環境確認部
１４２…乱数選択部
１４３…今回認証用コード作成部
１４４…次回認証用コード作成部
７４１…計時記録部
７４２…有効性判断部
７４３…情報抽出部
７４４…正当性判断部
【図１】
0005978326.tif 000009
【図２】
0005978326.tif 000010
【図３】
0005978326.tif 000011
【図４】
0005978326.tif 000012
【図５】
0005978326.tif 000013
【図６】
0005978326.tif 000014
【図７】
0005978326.tif 000015
【図８】
0005978326.tif 000016
【図９】
0005978326.tif 000017
【図１０】
0005978326.tif 000018
【図１１】
0005978326.tif 000019
【図１２】
0005978326.tif 000020
【図１３】
0005978326.tif 000021
【図１４】
0005978326.tif 000022