JP5978326B2 - Dynamic authentication system, dynamic authentication method, reader for dynamic authentication, user terminal device, and dynamic authentication program - Google Patents

Dynamic authentication system, dynamic authentication method, reader for dynamic authentication, user terminal device, and dynamic authentication program Download PDF

Info

Publication number
JP5978326B2
JP5978326B2 JP2015011062A JP2015011062A JP5978326B2 JP 5978326 B2 JP5978326 B2 JP 5978326B2 JP 2015011062 A JP2015011062 A JP 2015011062A JP 2015011062 A JP2015011062 A JP 2015011062A JP 5978326 B2 JP5978326 B2 JP 5978326B2
Authority
JP
Japan
Prior art keywords
authentication
information
time
unit
display information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015011062A
Other languages
Japanese (ja)
Other versions
JP2016136665A (en
Inventor
敏昭 平田
敏昭 平田
直紀 深谷
直紀 深谷
高山 博和
博和 高山
Original Assignee
ソフトバンク・ペイメント・サービス株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ソフトバンク・ペイメント・サービス株式会社 filed Critical ソフトバンク・ペイメント・サービス株式会社
Priority to JP2015011062A priority Critical patent/JP5978326B2/en
Publication of JP2016136665A publication Critical patent/JP2016136665A/en
Application granted granted Critical
Publication of JP5978326B2 publication Critical patent/JP5978326B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Description

本発明は、例えばオフィス等の施設への入館時における個人識別や、チケットやクーポンなどの有効性確認に際し、スマートフォンや携帯電話の画面上に動的に提示された認証情報を用いて認証を行う動的認証システム、動的認証方法、動的認証用読取装置、ユーザー端末装置、及び動的認証プログラムに関する。   The present invention performs authentication by using authentication information dynamically presented on the screen of a smartphone or a mobile phone when, for example, entering a facility such as an office and confirming the validity of a ticket or a coupon. The present invention relates to a dynamic authentication system, a dynamic authentication method, a dynamic authentication reader, a user terminal device, and a dynamic authentication program.

近年、オフィス等の施設への入館時における個人識別や、チケットやクーポンなどの有効性確認の手段としてスマートフォンや携帯電話機を用いた認証システムの技術が普及しつつある。   2. Description of the Related Art In recent years, authentication system technology using a smartphone or a mobile phone has become widespread as a means for personal identification at the time of entering a facility such as an office or for checking the validity of a ticket or a coupon.

例えば、店舗における商品やサービスを受けるにあたり、先ずスマートフォンのディスプレイに、二次元バーコードなどの認証用画像を表示し、店舗に設置された認証用端末のリーダーにかざすことで、認証用画像を店舗側へ提示する。店舗側の認証用端末は、提示された認証用画像を読み取り、記憶してある認証用画像と、読み取った認証用画像とを照合し、その一致不一致に基づいて認証を行う(例えば特許文献1)。   For example, when receiving a product or service in a store, first, an authentication image such as a two-dimensional barcode is displayed on the display of a smartphone, and the authentication image is displayed in the store by holding it over a reader of an authentication terminal installed in the store. Present to the side. The authentication terminal on the store side reads the presented authentication image, compares the stored authentication image with the read authentication image, and performs authentication based on the coincidence / disagreement (for example, Patent Document 1). ).

ところで、上述したような、スマートフォンの画面上に二次元バーコード等の認証画像を表示させるユーザー認証方式では、画面上に表示された認証画像が盗撮等により第三者に漏洩し、盗用などの不正利用が懸念される。この対策として、従来では、二次元バーコードにタイムスタンプを付加するなどして、二次元バーコードが生成されてから一定時間(例えば、1時間)というように、その認証画像に有効期限を設けるなどの工夫がなされている。   By the way, in the user authentication method for displaying an authentication image such as a two-dimensional barcode on the smartphone screen as described above, the authentication image displayed on the screen leaks to a third party by voyeurism, etc. There are concerns about unauthorized use. As a countermeasure against this, conventionally, an expiration date is set on the authentication image so that a certain time (for example, one hour) has passed after the two-dimensional barcode is generated by adding a time stamp to the two-dimensional barcode. Etc. are made.

特開2002−236664号公報JP 2002-236664 A

しかしながら、上述した二次元バーコードにタイムスタンプを付加する技術を採用する場合、実用上の利便性を確保する必要性から、二次元バーコードの有効期限が1時間以上のものが多く、その間に不正利用される可能性があり、不正防止策としては十分とは言い難い。その一方で、盗用ができない程に有効期限を単に短くしただけでは、盗用の危険性は低下するものの、認証画像を表示させてから、読み取るまでの時間が十分に取れず、利便性が低下するとともに、極端に有効期限を短くするとユーザーのスマートフォンと読取装置との間にシステム時刻のズレがあるようなときには、有効期限の判定が正確にできないという問題が生じ得る。   However, when adopting the above-described technology for adding a time stamp to a two-dimensional barcode, there are many cases where the expiration date of the two-dimensional barcode is one hour or more due to the necessity of ensuring practical convenience. There is a possibility of unauthorized use, and it is not enough as an anti-fraud measure. On the other hand, if the expiration date is simply shortened to the extent that it cannot be stolen, the risk of theft is reduced, but there is not enough time from displaying the authentication image until it is read, which reduces convenience. At the same time, if the expiration date is extremely shortened, there may be a problem that the expiration date cannot be accurately determined when there is a difference in system time between the user's smartphone and the reading device.

そこで、本発明は、上記のような問題を解決するものであり、スマートフォンや携帯電話を用いた認証処理に際し、実用上の利便性を確保しつつ、認証画像の有効性の確認を確実なものとし、認証画像の盗用などによる不正利用を防止できる動的認証システム、動的認証方法、動的認証用読取装置、ユーザー端末装置、及び動的認証プログラムを提供することを目的とする。   Therefore, the present invention solves the above problems, and ensures the validity of the authentication image while ensuring practical convenience during authentication processing using a smartphone or a mobile phone. An object of the present invention is to provide a dynamic authentication system, a dynamic authentication method, a dynamic authentication reader, a user terminal device, and a dynamic authentication program that can prevent unauthorized use due to theft of an authentication image.

上記課題を解決するために、本発明は、認証情報を動的に提示するユーザー端末と、提示された認証情報を読み取る読取装置とを備えた動的認証システムであって、ユーザー端末側は、所定の認証情報に、当該ユーザー端末上の現在時刻を示す時間情報を組み合わせて、2以上の表示情報を生成する表示情報生成部と、表示情報を一定の時間間隔をもって、同一位置に順次表示することにより、認証情報を動的に提示する動的情報提示部と、を備え、読取装置は、動的情報提示部に表示された2以上の表示情報を、順次、光学的に読み取る読取部と、読取部で読み取られた各表示情報の、それぞれの読取時刻を測定し記録する計時部と、各表示情報に含まれる各時間情報の差分と、各表示情報の読取時刻の差分と、前記一定の時間間隔から求められる有効期限とに基づいて、表示情報の有効性を判断する有効性判断部とを備える。   In order to solve the above-described problem, the present invention is a dynamic authentication system including a user terminal that dynamically presents authentication information and a reading device that reads the presented authentication information. A display information generation unit that generates two or more display information by combining predetermined authentication information with time information indicating the current time on the user terminal, and sequentially displays the display information at the same position with a certain time interval. A dynamic information presentation unit that dynamically presents authentication information, and the reading device sequentially and optically reads two or more display information displayed on the dynamic information presentation unit; A timing unit for measuring and recording each reading time of each display information read by the reading unit, a difference between each time information included in each display information, a difference between reading times of each display information, and the constant From the time interval Based on the expiration date for, and a validity determination unit that determines the validity of the display information.

また、他の発明は、認証情報を動的に提示するユーザー端末と、提示された認証情報を読み取る読取装置とを用いた動的認証方法であって、
(1)ユーザー端末側において、表示情報生成部が、所定の認証情報に、当該ユーザー端末上の現在時刻を示す時間情報を組み合わせて、2以上の表示情報を生成する表示情報生成ステップと、
(2)動的情報提示部が、表示情報を一定の時間間隔をもって、同一位置に順次表示することにより、認証情報を動的に提示する動的情報提示ステップと、
(3)読取装置の読取部が、動的情報提示部に表示された2以上の表示情報を、順次、光学的に読み取る読取ステップと、
(4)読取ステップで読み取られた各表示情報の読取時刻を、計時部が、測定し記録する計時ステップと、
(5)有効性判断部が、各表示情報に含まれる各時間情報の差分と、各表示情報の読取時刻の差分と、前記一定の時間間隔から求められる有効期限とに基づいて、表示情報の有効性を判断する有効性判断ステップと
を備える。
Another invention is a dynamic authentication method using a user terminal that dynamically presents authentication information and a reading device that reads the presented authentication information,
(1) On the user terminal side, the display information generation unit generates two or more display information by combining predetermined authentication information with time information indicating the current time on the user terminal;
(2) a dynamic information presenting step in which the dynamic information presenting unit dynamically presents the authentication information by sequentially displaying the display information at the same position at a constant time interval;
(3) a reading step in which the reading unit of the reading device optically sequentially reads two or more display information displayed on the dynamic information presenting unit;
(4) a time measuring step in which the time measuring unit measures and records the reading time of each display information read in the reading step;
(5) The validity determination unit determines whether the display information is based on the difference between the time information included in each display information, the difference between the reading times of each display information, and the expiration date obtained from the certain time interval. An effectiveness determination step for determining effectiveness.

本発明において、「所定の認証情報」とは、ユーザーを特定する識別子や、チケットやクーポンその他の価値情報を特定する識別子、ユーザー端末を特定する識別子などが含まれる。「表示情報」とは、画面上に表示し得る情報であり、バーコードや二次元バーコードの他、文字や記号、図形や模様などが含まれる。   In the present invention, “predetermined authentication information” includes an identifier that identifies a user, an identifier that identifies ticket, coupon, and other value information, an identifier that identifies a user terminal, and the like. “Display information” is information that can be displayed on the screen, and includes characters, symbols, figures, patterns, and the like in addition to barcodes and two-dimensional barcodes.

このような本発明によれば、先ず、ユーザー端末側では、非常に短い時間(例えば、1秒未満)に2以上の表示情報を順次表示することによって動的な認証情報を提示し、認証を行うことができる。すなわち、本発明では、個々の表示情報の生成と破棄を繰り返すことから、その時間でのみ有効な表示情報で認証を行うこととなり、盗撮などによる盗用を防止できる。   According to the present invention, first, on the user terminal side, dynamic authentication information is presented by sequentially displaying two or more display information in a very short time (for example, less than 1 second), and authentication is performed. It can be carried out. In other words, in the present invention, since generation and destruction of individual display information are repeated, authentication is performed with display information that is valid only for that time, and theft due to voyeurism can be prevented.

詳述すると、読取装置側では、ユーザー端末の動的情報提示部に順次表示される2以上の表示情報の中から少なくとも2つ読み取り、その読み取られた各表示情報の、それぞれの読取時刻を測定し記録する。そして、読取装置側では、各表示情報に含まれる各時間情報の差分と、各表示情報の読取時刻の差分と、前記一定の時間間隔から求められる有効期限とに基づいて、表示情報の有効性を判断することができる。すなわち、表示情報が順次生成され表示される一定の時間間隔が各表示情報の有効期限であり、次の表示情報が表示させる時には、その前に表示されていた表示情報は破棄される。表示情報が生成される時間間隔は、その表示情報に組み合わせられた時間情報(有効期限)を介して読取装置側に伝えることができ、読み取り側では、時間情報によって伝えられた各生成時刻の差分と、各読み取り時刻の差分とについて、各表示情報の有効期限と比較することにより、表示情報の有効性を判断することができる。   More specifically, the reading device reads at least two of the two or more display information sequentially displayed on the dynamic information presentation unit of the user terminal, and measures each reading time of each of the read display information. And record. On the reading device side, the validity of the display information is based on the difference between the time information included in each display information, the difference in the reading time of each display information, and the expiration date obtained from the certain time interval. Can be judged. That is, the fixed time interval at which the display information is sequentially generated and displayed is the expiration date of each display information. When the next display information is displayed, the previously displayed display information is discarded. The time interval at which the display information is generated can be transmitted to the reading device side through the time information (expiration date) combined with the display information, and on the reading side, the difference between the generation times transmitted by the time information. The validity of the display information can be determined by comparing the difference between the reading times with the expiration date of each display information.

上記発明において、読取部で読み取られた各表示情報から、時間情報を除外して、所定の認証情報を抽出する情報抽出部と、情報抽出部が抽出したそれぞれの認証情報の同一性を比較し、その比較結果に基づいて、表示情報の正当性を判断する正当性判断部とをさらに備えることが好ましい。この場合には、例えば、表示情報がコード化されているときに、読み取られた2以上の各コードをそれぞれ平文に復号し、その復号された平文から時間情報を除外して認証情報のみを抽出し比較する。これにより、例えば、表示情報が偽造されたものであったり、盗用されたものであった場合も、それを検出することができる。   In the above invention, the information extraction unit for extracting predetermined authentication information by excluding time information from each display information read by the reading unit and the identity of each authentication information extracted by the information extraction unit are compared. It is preferable to further include a legitimacy determination unit that determines the legitimacy of the display information based on the comparison result. In this case, for example, when the display information is coded, each of the read two or more codes is decoded into plain text, and only the authentication information is extracted by excluding time information from the decoded plain text. Compare. Thereby, for example, even when the display information is forged or stolen, it can be detected.

上記発明において、ユーザー端末は、ユーザーが使用し、通信ネットワーク上に配置される認証サーバーとの間で、一度のみ有効なワンタイムパスワードを用いて、当該ユーザーの認証を行うワンタイム認証機能を備え、ワンタイム認証機能は、次世代乱数を発生させ、この次世代乱数に対してユーザー側一方向性関数による演算を所定回数だけ繰り返して第1のワンタイムコードを生成する第1のワンタイムコード作成部と、次世代乱数を発生させる前に発生させた前世代乱数に対して、ユーザー側一方向性関数による演算を所定回数だけ繰り返して第2のワンタイムコードを生成する第2のワンタイムコード作成部と、認証時において、通信ネットワークの通信状態に応じて第1のワンタイムコード又は第2のワンタイムコードに用いられた次世代乱数又は前世代乱数を選択する選択部と、選択された次世代乱数又は前世代乱数に対して、ユーザー側一方向性関数による演算を、選択された乱数に対する所定回数よりも低減回数分だけ少ない回数を繰り返して生成されたワンタイムコードを、認証用通信経路を通じてワンタイムパスワードとして送信する認証実行部と、を備えることが好ましい。   In the above invention, the user terminal has a one-time authentication function for authenticating the user with an authentication server that is used by the user and arranged on the communication network using a one-time password that is valid only once. The one-time authentication function generates a first one-time code by generating a next-generation random number and generating a first one-time code by repeating a calculation by a user-side one-way function a predetermined number of times for the next-generation random number. A second one-time code that generates a second one-time code by repeating a calculation by a user-side unidirectional function a predetermined number of times for the previous generation random number generated before generating the next-generation random number Used for the first one-time code or the second one-time code according to the communication state of the communication network at the time of authentication with the code creation unit The selection unit for selecting the next generation random number or the previous generation random number, and the calculation by the user-side unidirectional function for the selected next generation random number or the previous generation random number, the number of times of reduction than the predetermined number of times for the selected random number. It is preferable to include an authentication execution unit that transmits a one-time code generated by repeating a smaller number of times as a one-time password through an authentication communication path.

この場合には、ユーザー端末が、第2のワンタイムコードを用いて認証を行うとともに、次世代乱数に基づく第1のワンタイムコードを生成して、認証サーバー側に送信しておくことから、平常時にあっては、認証処理の度に、常に新しい世代の乱数によりワンタイムコードが生成されることとなり、セキュリティを高めることができる。このとき、ユーザー端末側では、ユーザー側一方向性関数を用いて暗号化(ハッシュ化)され、サーバー側で取得されたワンタイムコードは、サーバー側一方向性関数により暗号化(ハッシュ化)されるため、仮に通信経路途中やサーバー側で認証情報が傍受されたり漏洩したとしても、その認証情報を悪用してユーザーになり代わって認証を受けることはできない。   In this case, the user terminal authenticates using the second one-time code, generates the first one-time code based on the next generation random number, and transmits it to the authentication server side. In normal times, a one-time code is always generated from a new generation of random numbers every time authentication processing is performed, and security can be improved. At this time, the user terminal side encrypts (hashes) using the user-side one-way function, and the server-side one-time code is encrypted (hashed) using the server-side one-way function. Therefore, even if the authentication information is intercepted or leaked on the way of the communication path or on the server side, the authentication information cannot be used for authentication on behalf of the user.

また、他の発明は、上記の動的認証システムにおいて前記ユーザー端末として用いられる動的認証用端末であって、所定の認証情報に、当該動的認証用端末上の現在時刻を示す時間情報を組み合わせて、2以上の表示情報を生成する表示情報生成部と、表示情報を一定の時間間隔をもって、同一位置に順次表示することにより、認証情報を動的に提示する動的情報提示部とを備える。 Further, another invention is a dynamic authentication terminal used as the user terminal in the dynamic authentication system , wherein time information indicating a current time on the dynamic authentication terminal is added to predetermined authentication information. In combination, a display information generation unit that generates two or more display information, and a dynamic information presentation unit that dynamically presents authentication information by sequentially displaying the display information at the same position with a certain time interval. Prepare.

このような本発明によれば、ユーザー端末側で、個々の表示情報の生成と破棄を繰り返し、非常に短い時間(例えば、1秒未満)に2以上の表示情報を順次表示することによって動的な認証情報を提示しているので、その時間でのみ有効な表示情報で認証を行うことができ、盗撮などによる盗用を防止しつつユーザー端末を用いて認証を行うことができる。   According to the present invention, the user terminal repeatedly generates and discards individual display information, and dynamically displays two or more pieces of display information in a very short time (for example, less than 1 second). Since the authentication information is presented, authentication can be performed with the display information that is valid only for that time, and authentication can be performed using the user terminal while preventing theft by voyeurism.

上記発明において、ユーザーが使用し、通信ネットワーク上に配置される認証サーバーとの間で、一度のみ有効なワンタイムパスワードを用いて、当該ユーザーの認証を行うワンタイム認証機能をさらに備え、ワンタイム認証機能は、次世代乱数を発生させ、この次世代乱数に対してユーザー側一方向性関数による演算を所定回数だけ繰り返して第1のワンタイムコードを生成する第1のワンタイムコード作成部と、次世代乱数を発生させる前に発生させた前世代乱数に対して、ユーザー側一方向性関数による演算を所定回数だけ繰り返して第2のワンタイムコードを生成する第2のワンタイムコード作成部と、認証時において、通信ネットワークの通信状態に応じて第1のワンタイムコード又は第2のワンタイムコードに用いられた次世代乱数又は前世代乱数を選択する選択部と、選択された次世代乱数又は前世代乱数に対して、ユーザー側一方向性関数による演算を、選択された乱数に対する所定回数よりも低減回数分だけ少ない回数を繰り返して生成されたワンタイムコードを、認証用通信経路を通じてワンタイムパスワードとして送信する認証実行部と、を備えることが好ましい。   In the above invention, the apparatus further comprises a one-time authentication function for authenticating the user using a one-time password that is valid only once with an authentication server used by the user and placed on the communication network. The authentication function generates a first one-time code by generating a next-generation random number and repeating a calculation by a user-side unidirectional function a predetermined number of times for the next-generation random number; A second one-time code creation unit that generates a second one-time code by repeating a calculation by a user-side unidirectional function a predetermined number of times for a previous-generation random number generated before generating a next-generation random number And the next generation used for the first one-time code or the second one-time code according to the communication state of the communication network at the time of authentication The selection unit for selecting the number or the previous generation random number, and the calculation by the user-side unidirectional function for the selected next generation random number or the previous generation random number is less than the predetermined number of times for the selected random number by a reduction number It is preferable to include an authentication execution unit that transmits the one-time code generated by repeating the number of times as a one-time password through the authentication communication path.

この場合には、ユーザー端末が、第2のワンタイムコードを用いて認証を行うとともに、次世代乱数に基づく第1のワンタイムコードを生成して、認証サーバー側に送信しておくことから、平常時にあっては、認証処理の度に、常に新しい世代の乱数によりワンタイムコードが生成されることとなり、セキュリティを高めることができる。   In this case, the user terminal authenticates using the second one-time code, generates the first one-time code based on the next generation random number, and transmits it to the authentication server side. In normal times, a one-time code is always generated from a new generation of random numbers every time authentication processing is performed, and security can be improved.

また、他の発明は、上記の動的認証システムにおいて前記読取装置として用いられる動的認証用読取装置であって、動的情報提示部に表示された2以上の表示情報を、順次、光学的に読み取る読取部と、読取部で読み取られた各表示情報の、それぞれの読取時刻を測定し記録する計時部と、各表示情報に含まれる各時間情報の差分と、各表示情報の読取時刻の差分と、前記一定の時間間隔から求められる有効期限とに基づいて、表示情報の有効性を判断する有効性判断部とを備えることを特徴とする。
According to another aspect of the present invention, there is provided a dynamic authentication reading device used as the reading device in the dynamic authentication system , wherein two or more display information displayed on the dynamic information presenting unit are sequentially optically displayed. A reading unit, a time measuring unit that measures and records each reading time of each display information read by the reading unit, a difference between each time information included in each display information, and a reading time of each display information An validity determining unit that determines the validity of the display information based on the difference and the expiration date obtained from the certain time interval.

このような本発明によれば、読取装置では、ユーザー端末で順次表示される2以上の表示情報の中から少なくとも2つ読み取り、その読み取られた各表示情報の、それぞれの読取時刻を測定し記録する。そして、読取装置側では、各表示情報に含まれる各時間情報の差分と、各表示情報の読取時刻の差分と、前記一定の時間間隔から求められる有効期限とに基づいて、表示情報の有効性を判断することができるので、スマートフォンや携帯電話を用いた認証処理に際し、実用上の利便性を確保しつつ、認証画像の有効性の確認を確実なものとし、認証画像の盗用などによる不正利用を防止できる。   According to the present invention as described above, the reading device reads at least two of the two or more display information sequentially displayed on the user terminal, and measures and records each reading time of each of the read display information. To do. On the reading device side, the validity of the display information is based on the difference between the time information included in each display information, the difference in the reading time of each display information, and the expiration date obtained from the certain time interval. Therefore, in the authentication process using a smartphone or mobile phone, the validity of the authentication image is ensured while ensuring practical convenience, and unauthorized use such as theft of the authentication image Can be prevented.

上記発明において、読取部で読み取られた各表示情報から、時間情報を除外して、所定の認証情報を抽出する情報抽出部と、情報抽出部が抽出したそれぞれの認証情報の同一性を比較し、その比較結果に基づいて、表示情報の正当性を判断する正当性判断部とをさらに備えることが好ましい。   In the above invention, the information extraction unit for extracting predetermined authentication information by excluding time information from each display information read by the reading unit and the identity of each authentication information extracted by the information extraction unit are compared. It is preferable to further include a legitimacy determination unit that determines the legitimacy of the display information based on the comparison result.

この場合には、例えば、表示情報がコード化されているときに、読み取られた2以上の各コードをそれぞれ平文に復号し、その復号された平文から時間情報を除外して認証情報のみを抽出し比較する。これにより、例えば、表示情報が偽造されたものであったり、盗用されたものであった場合も、それを検出することができる。   In this case, for example, when the display information is coded, each of the read two or more codes is decoded into plain text, and only the authentication information is extracted by excluding time information from the decoded plain text. Compare. Thereby, for example, even when the display information is forged or stolen, it can be detected.

また、上述した本発明に係る動的認証システム、ユーザー端末装置、及び読取装置は、所定の言語で記述されたプログラムをコンピューター上で実行することにより実現することができる。   The above-described dynamic authentication system, user terminal device, and reading device according to the present invention can be realized by executing a program written in a predetermined language on a computer.

すなわち、本発明は、認証情報を動的に提示するユーザー端末と、提示された認証情報を読み取る読取装置とを用いた動的認証プログラムであって、読取装置に、ユーザー端末側において、所定の認証情報に、当該ユーザー端末上の現在時刻を示す時間情報を組み合わせて生成され、一定の時間間隔をもって、同一位置に順次表示された、2以上の表示情報を、認証情報として、順次、光学的に読み取る読取ステップと、読取ステップで読み取られた各表示情報の読取時刻を、測定し記録する計時ステップと、各表示情報に含まれる各時間情報の差分と、各表示情報の読取時刻の差分と、前記一定の時間間隔から求められる有効期限とに基づいて、表示情報の有効性を判断する有効性判断ステップとを備える処理を実行させる。   That is, the present invention provides a dynamic authentication program using a user terminal that dynamically presents authentication information and a reading device that reads the presented authentication information. Two or more pieces of display information generated by combining authentication information with time information indicating the current time on the user terminal and sequentially displayed at the same position at regular time intervals are sequentially used as authentication information. A reading step, a time measuring step for measuring and recording the reading time of each display information read in the reading step, a difference in time information included in each display information, and a difference in reading time of each display information And a validity determination step of determining the validity of the display information based on the expiration date obtained from the certain time interval.

上記発明において、読取ステップで読み取られた各表示情報から、時間情報を除外して、所定の認証情報を抽出する情報抽出ステップと、情報抽出ステップにおいて抽出したそれぞれの認証情報の同一性を比較し、その比較結果に基づいて、表示情報の正当性を、判断する正当性判断ステップとをさらに備えることが好ましい。   In the above invention, the information extraction step for extracting predetermined authentication information by excluding time information from each display information read in the reading step and the identity of each authentication information extracted in the information extraction step are compared. Preferably, the method further includes a legitimacy determining step of determining the legitimacy of the display information based on the comparison result.

このようなプログラムを、ユーザー端末やWebサーバー等のコンピューターやICチップにインストールし、CPU上で実行することにより、上述した各機能を有する動的認証システム、動的認証方法、ユーザー端末装置、及び読取装置を容易に構築することができる。このプログラムは、例えば、通信回線を通じて配布することが可能であり、また、汎用コンピューターで読み取り可能な記録媒体に記録することにより、スタンドアローンの計算機上で動作するパッケージアプリケーションとして譲渡することができる。記録媒体として、具体的には、フレキシブルディスクやカセットテープ等の磁気記録媒体、若しくはCD−ROMやDVD−ROM等の光ディスクの他、RAMカードなど、種々の記録媒体に記録することができる。そして、このプログラムを記録したコンピューター読み取り可能な記録媒体によれば、汎用のコンピューターや専用コンピューターを用いて、上述した動的認証システム、動的認証方法、ユーザー端末装置、及び読取装置を簡便に実施することが可能となるとともに、プログラムの保存、運搬及びインストールを容易に行うことができる。   By installing such a program on a computer such as a user terminal or a Web server or an IC chip and executing the program on the CPU, a dynamic authentication system, a dynamic authentication method, a user terminal device having the above-described functions, and A reader can be easily constructed. This program can be distributed through, for example, a communication line, and can be transferred as a package application that operates on a stand-alone computer by being recorded on a recording medium readable by a general-purpose computer. Specifically, the recording medium can be recorded on various recording media such as a RAM card in addition to a magnetic recording medium such as a flexible disk or a cassette tape, or an optical disk such as a CD-ROM or DVD-ROM. And according to the computer-readable recording medium recording this program, the above-described dynamic authentication system, dynamic authentication method, user terminal device, and reading device can be simply implemented using a general-purpose computer or a dedicated computer. The program can be saved, transported and installed easily.

以上述べたように、この発明によれば、オフィス等の施設への入館時における個人識別や、チケットやクーポンなどの有効性確認に際し、スマートフォンや携帯電話を用いた認証処理において、実用上の利便性を確保しつつ、認証画像の有効性の確認を確実なものとし、認証画像の盗用などによる不正利用を防止できる。   As described above, according to the present invention, it is practically convenient in the authentication process using a smartphone or a mobile phone when verifying the validity of personal identification at the time of entering a facility such as an office or a ticket or a coupon. It is possible to ensure the validity of the authentication image while ensuring the authenticity, and to prevent unauthorized use due to the theft of the authentication image.

実施形態に係る動的認証システムの全体構成を示す概念図である。It is a conceptual diagram which shows the whole structure of the dynamic authentication system which concerns on embodiment. 実施形態に係るユーザー端末の内部構成を示すブロック図である。It is a block diagram which shows the internal structure of the user terminal which concerns on embodiment. 実施形態に係る店舗側端末及びPOSサーバーの内部構成を示すブロック図である。It is a block diagram which shows the internal structure of the shop side terminal and POS server which concern on embodiment. 実施形態に係る管理サーバー、クーポンサーバー、及びポイントサーバーの内部構成を示すブロック図である。It is a block diagram which shows the internal structure of the management server, coupon server, and point server which concern on embodiment. (a)〜(c)は、実施形態に係る乱数とハッシュ回数との組み合わせによって生成されるハッシュ値を示す表である。(A)-(c) is a table | surface which shows the hash value produced | generated by the combination of the random number and hash frequency | count which concern on embodiment. 実施形態に係るユーザー端末の表示部に表示される動的の表示情報を示す説明図である。It is explanatory drawing which shows the dynamic display information displayed on the display part of the user terminal which concerns on embodiment. 実施形態に係る有効性判断処理を示すタイムチャート図である。It is a time chart figure which shows the effectiveness judgment process which concerns on embodiment. 実施形態に係る認証処理のアルゴリズム概要を説明するシーケンス図である。It is a sequence diagram explaining the algorithm outline | summary of the authentication process which concerns on embodiment. 実施形態に係る認証機能の初期化処理を示すシーケンス図である。It is a sequence diagram which shows the initialization process of the authentication function which concerns on embodiment. 実施形態に係る通信可能時の認証処理を示すシーケンス図である。It is a sequence diagram which shows the authentication process at the time of communication which concerns on embodiment. 実施形態に係る通信不通時の認証処理を示すシーケンス図である。It is a sequence diagram which shows the authentication process at the time of communication failure which concerns on embodiment. 実施形態に係るエラー発生時の認証処理を示すシーケンス図である。It is a sequence diagram which shows the authentication process at the time of the error generation which concerns on embodiment. 実施形態に係る動的認証の全体動作を示すフローチャート図である。It is a flowchart figure which shows the whole operation | movement of the dynamic authentication which concerns on embodiment. 実施形態に係る動的認証処理を示すフローチャート図である。It is a flowchart figure which shows the dynamic authentication process which concerns on embodiment.

(動的認証システムの概要)
以下に添付図面を参照して、本発明に係る動的認証システムの実施形態を詳細に説明する。図1は、本実施形態に係る動的認証システムの全体構成を示す概念図である。
(Overview of dynamic authentication system)
Embodiments of a dynamic authentication system according to the present invention will be described below in detail with reference to the accompanying drawings. FIG. 1 is a conceptual diagram showing the overall configuration of the dynamic authentication system according to the present embodiment.

図1に示すように、本実施形態に係る動的認証システムは、通信ネットワーク5上に配置される認証サーバー2と、ユーザーが使用し、認証サーバー2に通信ネットワーク5を通じて接続可能なユーザー端末1との間で、極めて短い時間に表示情報の生成と破棄とを繰り返し行い、動的に変化させた表示情報に基づいて認証を行うシステムである。   As shown in FIG. 1, a dynamic authentication system according to the present embodiment includes an authentication server 2 arranged on a communication network 5 and a user terminal 1 that is used by a user and can be connected to the authentication server 2 through the communication network 5. In this system, display information is repeatedly generated and discarded in a very short time, and authentication is performed based on dynamically changed display information.

具体的に、本システムでは、ユーザー端末1において、ユーザーに付与される価値情報を管理する価値情報管理サーバー群を構成するクーポンサーバー3及びポイントサーバー4から電子クーポン情報及びポイント情報を取得するとともに、これらの情報に認証情報(ワンタイムコード)及び決済情報を含めたワンタイムパスワードを生成し、当該ワンタイムパスワードを動的に画面上に表示情報として提示させるようになっている。そして、提示された表示情報を店舗側端末7aに読み取らせることで、表示情報を構成する所定の認証情報に応じた認証を行うとともに、電子クーポン又はポイントによる各種サービスを提供するものである。なお、「所定の認証情報」とは、ユーザーを特定する識別子や、チケットやクーポンその他の価値情報を特定する識別子、ユーザー端末を特定する識別子などが含まれ、本実施形態では、認証サーバーに対するアクセス用に発行される一度限り有効な認証情報である。「表示情報」とは、画面上に表示し得る情報であり、バーコードや二次元バーコードの他、文字や記号、図形や模様などが含まれる。また、「価値情報」とは、店舗におけるサービスの提供を保証する情報であり、ポイントや電子クーポン、割引サービス等が含まれる。   Specifically, in the present system, in the user terminal 1, electronic coupon information and point information are acquired from the coupon server 3 and the point server 4 constituting the value information management server group that manages the value information given to the user, A one-time password including authentication information (one-time code) and settlement information is generated in the information, and the one-time password is dynamically presented as display information on the screen. And by making the shop side terminal 7a read the displayed display information, while authenticating according to the predetermined | prescribed authentication information which comprises display information, the various services by an electronic coupon or a point are provided. The “predetermined authentication information” includes an identifier for identifying a user, an identifier for identifying a ticket, a coupon or other value information, an identifier for identifying a user terminal, etc. In this embodiment, access to the authentication server is included. This is authentication information that is valid for one-time use. “Display information” is information that can be displayed on the screen, and includes characters, symbols, figures, patterns, and the like in addition to barcodes and two-dimensional barcodes. “Value information” is information that guarantees the provision of a service in a store, and includes points, electronic coupons, discount services, and the like.

このような本システムでは、通信回線を相互に接続して構築される通信ネットワーク5上に、決済サーバー6と、認証サーバー2と、ポイントサーバー4と、クーポンサーバー3と、POSサーバー7と、無線基地局8と、無線基地局8を通じて無線通信が可能なユーザー端末1とを備えている。   In this system, the settlement server 6, the authentication server 2, the point server 4, the coupon server 3, the POS server 7, the wireless communication network 5 constructed by connecting communication lines to each other. A base station 8 and a user terminal 1 capable of wireless communication through the wireless base station 8 are provided.

通信ネットワーク5は、電話回線やISDN回線、ADSL回線、光回線などの公衆回線、専用回線、3G回線や、Wifi(登録商標)、Bluetooth(登録商標)などの無線通信回線などの種々の通信回線を相互に接続して構築される通信網であり、インターネットなどの通信プロトコルTCP/IPを用いたIP網が含まれ、このIP網には、10BASE−Tや100BASE−TX等によるイントラネット(企業内ネットワーク)や家庭内ネットワークなどのLANなども含まれる。   The communication network 5 includes various communication lines such as telephone lines, ISDN lines, ADSL lines, optical lines and other public lines, dedicated lines, 3G lines, and wireless communication lines such as WiFi (registered trademark) and Bluetooth (registered trademark). And includes an IP network using a communication protocol TCP / IP such as the Internet. This IP network includes an intranet (such as an intranet of 10BASE-T or 100BASE-TX). Network) and a home network or the like.

本実施形態において、ユーザー端末1と認証サーバー2とを接続する通信ネットワーク5の通信経路には、連携用通信経路と認証用通信経路という異なる経路が含まれている。ここで、「認証用通信経路」とは、認証情報を認証サーバーとの間で安定して送受信するための通信経路であり、上記通信ネットワークと異なる経路やプロトコルでもよく、上記通信ネットワークに一部又は全部の通信経路が含まれていてもよい。この認証用通信経路としては、例えば、店舗に設置されたPOS端末などを、ユーザー端末と認証サーバーの間に介在させた経路とすることができ、ユーザー端末とPOS端末とは、リーダーライタ装置やバーコードリーダー装置のような非接触通信によって接続されるものでよい。一方、「連携用通信経路」とは、上記の認証用通信経路とは異なる通信経路であり、上記通信ネットワーク上に構築され、特に3G回線やWifi、Bluetooth(登録商標)などの無線通信回線を含み、ユーザー端末と認証サーバーとが直接接続され、一定のセキュリティが確保された通信経路である。無線基地局8は、図示しないゲートウェイ装置を通じて通信ネットワーク5に接続され、ユーザー端末1との間で無線通信接続を確立し、ユーザー端末1による通話やデータ通信を提供する装置である。   In the present embodiment, the communication path of the communication network 5 that connects the user terminal 1 and the authentication server 2 includes different paths, that is, a cooperation communication path and an authentication communication path. Here, the “authentication communication path” is a communication path for stably transmitting / receiving authentication information to / from the authentication server, and may be a path or protocol different from that of the communication network. Alternatively, all communication paths may be included. As the communication path for authentication, for example, a POS terminal installed in a store can be a path interposed between the user terminal and the authentication server. The user terminal and the POS terminal include a reader / writer device, It may be connected by non-contact communication such as a barcode reader device. On the other hand, the “communication communication path” is a communication path different from the authentication communication path described above, and is constructed on the communication network. In particular, a wireless communication line such as 3G line, WiFi, Bluetooth (registered trademark) or the like is used. In addition, a communication path in which a user terminal and an authentication server are directly connected and certain security is ensured. The wireless base station 8 is a device that is connected to the communication network 5 through a gateway device (not shown), establishes a wireless communication connection with the user terminal 1, and provides a telephone call and data communication by the user terminal 1.

認証サーバー2は、通信ネットワーク5上に配置され、ユーザーが使用するユーザー端末1との間で、一度のみ有効なワンタイムパスワードを用いて、当該ユーザーの認証を行うサーバー装置であり、本実施形態では、通信ネットワーク5を通じて、ユーザー端末1側からそれぞれ記憶保持する各認証情報を取得して照合し、その一致又は不一致に基づいて認証処理を行う認証部としての機能と、ポイントサーバー4及びクーポンサーバー3に対して、クーポン情報及びポイント情報についての利用可否の問い合せ、更新処理を実行させたり、決済サーバー6に対して、決済の利用可否の決済実行を指示したりするなど、本システム全体を管理する管理部としての機能とを有する。   The authentication server 2 is a server device that is arranged on the communication network 5 and authenticates the user with the user terminal 1 used by the user using a one-time password that is valid only once. Then, through the communication network 5, each authentication information stored and held from the user terminal 1 side is acquired and collated, and a function as an authentication unit that performs an authentication process based on the match or mismatch, the point server 4 and the coupon server 3 is used to inquire about the availability of coupon information and point information, execute update processing, and instruct the settlement server 6 to execute settlement of availability of settlement. And a function as a management unit.

店舗側端末7aは、コード化された各種情報を取得する装置であり、店舗側端末7aには、ユーザー端末1表示部13aに動的に提示された表示情報を光学的に読み取る読取手段が接続されており、認証用通信経路は、読取手段に接続されている。本実施形態において、この表示情報には、認証情報であるワンタイムコードの他、電子クーポン情報、ポイント情報、決済情報などの購買情報が含まれ、QRコード(登録商標)として表示される。特に、本実施形態において、このQRコード(登録商標)は、非常に短い時間(例えば、1秒未満)に2以上の表示情報を順次表示することによって動的な認証情報を提示している。そして、店舗側端末7aは、ユーザー端末1の表示画面に表示された動的な表示情報を光学的に読み取り、読み取った表示情報に基づいて、当該表示情報の有効性及び正当性を判断するとともに、有効性及び正当性が確認された場合には、POSサーバー7を介して認証サーバー2に送信している。なお、店舗側端末7aは、読み取った表示情報に基づくサービス内容を画面上に表示することもできる。   The store-side terminal 7a is a device that acquires various types of coded information. The store-side terminal 7a is connected to a reading means that optically reads display information that is dynamically presented on the user terminal 1 display unit 13a. The authentication communication path is connected to the reading means. In this embodiment, this display information includes purchase information such as electronic coupon information, point information, and payment information in addition to the one-time code that is authentication information, and is displayed as a QR code (registered trademark). In particular, in the present embodiment, this QR code (registered trademark) presents dynamic authentication information by sequentially displaying two or more pieces of display information in a very short time (for example, less than 1 second). Then, the store side terminal 7a optically reads the dynamic display information displayed on the display screen of the user terminal 1, and determines the validity and validity of the display information based on the read display information. When the validity and correctness are confirmed, they are transmitted to the authentication server 2 via the POS server 7. In addition, the shop side terminal 7a can also display the service content based on the read display information on a screen.

この店舗側端末7aとしては、例えば現金の管理を行うレジスター装置であり、利用者の利用代金を計算したり、金銭の管理をしたりする機能を備えていてもよい。また、店舗側端末7aは、レジスター装置と接続可能な読取装置のみであってもよく、この場合には、演算処理機能及び無線通信機能を有した携帯可能なモバイルコンピューターやPDA(Personal Digital Assistance)、スマートフォン、タブレットPC等を用いることができる。   The store-side terminal 7a is a register device that manages cash, for example, and may have a function of calculating a user's usage fee or managing money. Further, the store side terminal 7a may be only a reading device that can be connected to the register device. In this case, a portable mobile computer or a PDA (Personal Digital Assistance) having an arithmetic processing function and a wireless communication function may be used. A smartphone, a tablet PC, or the like can be used.

POSサーバー7は、各店舗を統括的に管理する本部側に設置されるサーバー装置であり、通信ネットワーク5を通じて認証サーバー2と接続されており、店舗側端末7aによって読み取った認証情報を認証サーバー2に送信する。また、このPOSサーバー7は、店舗側端末7aとPOSサーバー7との間で所定のデータを送受信する機能や、店舗側端末7aから送られる売上情報等をデータベースに格納し、集計分析処理を行う機能などを備える 。なお、店舗は、例えば、コンビニエンスストアや飲食店等の対面により販売サービスを提供する施設であり、店員がレジスター等の決済処理を担当している。   The POS server 7 is a server device installed on the headquarter side that manages each store in an integrated manner. The POS server 7 is connected to the authentication server 2 through the communication network 5, and the authentication information read by the store-side terminal 7 a is stored in the authentication server 2. Send to. The POS server 7 stores a function for transmitting / receiving predetermined data between the store-side terminal 7a and the POS server 7, sales information sent from the store-side terminal 7a, and the like in a database, and performs a totaling analysis process. Provide functions. In addition, a store is a facility that provides a sales service in a face-to-face manner, such as a convenience store or a restaurant, and a store clerk is in charge of settlement processing such as a register.

決済サーバー6は、ユーザーに対して提供された商品又はサービスに関する決済処理を実行するサーバー装置であり、例えば、銀行や、クレジット会社などの課金処理に伴う料金の決済を行う金融機関が運営している。この決済サーバー6には、決済データベースが接続されており、決済データベース内には、ユーザー登録している各ユーザーに関する詳細な情報(氏名、住所、電話番号、メールアドレス、年齢、勤務先、商品の送付先(住所と異なる場合)、決済情報(クレジットカード番号、引落し口座番号等)が登録されている。この決済データベース内の情報に登録された決済情報に従って、業者は購入した商品に関して、クレジットカードによる販売代金の回収等の決済業務等を遂行する。   The settlement server 6 is a server device that performs settlement processing related to goods or services provided to users, and is operated by a financial institution that performs settlement of charges associated with billing processing such as a bank or a credit company. Yes. A payment database is connected to the payment server 6, and detailed information (name, address, telephone number, e-mail address, age, work place, product information) about each registered user is stored in the payment database. The delivery address (if different from the address) and payment information (credit card number, withdrawal account number, etc.) are registered, and the merchant credits the purchased product according to the payment information registered in the information in this payment database. Carry out settlement operations such as collection of sales prices using cards.

ポイントサーバー4は、金銭換算が可能となされた所定のポイントを付与すると共にそのポイントを管理するサーバー装置であり、DRAMやハードディスクなどに顧客固有の所有ポイントを記憶しており、顧客のアクセスに応じてポイント情報をユーザー端末1に配信するとともに、顧客のサービス対価や商品購入代金の支払いなどに応じて、顧客固有の所有ポイントを更新する。   The point server 4 is a server device that grants predetermined points that can be converted into money and manages the points, stores customer-specific possession points in DRAM, hard disk, etc., and responds to customer access. The point information is distributed to the user terminal 1 and the customer-specific possession points are updated in accordance with the customer's service consideration or payment of the product purchase price.

クーポンサーバー3は、商品購入の際に特典をユーザーに提供する電子クーポンの発行や、電子クーポンの管理(利用状況の収集、データ更新等)を行うサービス提供者が運用するサーバー装置であり、DRAMやハードディスクなどに各種クーポン情報を記憶しており、顧客のアクセスに応じて電子クーポン情報をユーザー端末1に配信するとともに、配信した電子クーポンの利用に応じて記憶されている電子クーポンの情報を更新(消し込み等)を実行する。   The coupon server 3 is a server device operated by a service provider that issues an electronic coupon that provides a user with a privilege when purchasing a product and manages the electronic coupon (collecting usage status, updating data, etc.). Various coupon information is stored in the hard disk or the hard disk, and the electronic coupon information is distributed to the user terminal 1 according to the customer's access, and the stored electronic coupon information is updated according to the use of the distributed electronic coupon. (Erase etc.) is executed.

なお、各種のサーバーは、単一のサーバー装置の他、Webサーバーやデータベースサーバーなど複数種のサーバー群から構成されることも可能であり、また、装置や機器等のハードウェアのみならず、その機能を持ったソフトウェア、又はこれらの組み合わせなどによっても構成することができる。また、データベースも単一のデータベース装置の他、リレーションシップ機能により連携される複数のデータベース群で構成することもできる。本実施形態において、各サーバー装置同士及びユーザー端末1とは、図示しない通信インターフェースを介して各種のデータを送受しているものとする。   Various servers can be composed of a plurality of server groups such as a web server and a database server in addition to a single server device. It can also be configured by software having a function or a combination thereof. In addition to a single database device, the database can also be composed of a plurality of database groups linked by the relationship function. In the present embodiment, it is assumed that each server device and the user terminal 1 are sending and receiving various data via a communication interface (not shown).

ユーザー端末1は、ユーザーが使用し、通信ネットワーク5上に配置される認証サーバー2との間で、一度のみ有効なワンタイムパスワードを用いて、当該ユーザーの認証を行う機能を有する携帯端末であって、具体的には、CPUを備えた演算処理装置であり、無線通信機能を有した携帯可能なモバイルコンピューターやPDA(Personal Digital Assistance)、携帯電話機、スマートフォン、タブレットPC等である。このユーザー端末1は、基地局等の中継点と無線で通信し、通話やデータ通信等の通信サービスを移動しつつ受けることができる。ユーザー端末1の通信方式としては、例えば、FDMA方式、TDMA方式、CDMA方式、W−CDMAの他、PHS(Personal Handyphone System)方式等が挙げられる。また、このユーザー端末1は、デジタルカメラ機能、アプリケーションソフトの実行機能、或いはGPS機能等の機能が搭載されている。   The user terminal 1 is a mobile terminal that has a function of authenticating the user using a one-time password that is valid only once with the authentication server 2 that is used by the user and placed on the communication network 5. Specifically, an arithmetic processing unit including a CPU is a portable mobile computer having a wireless communication function, a PDA (Personal Digital Assistance), a mobile phone, a smartphone, a tablet PC, or the like. This user terminal 1 communicates wirelessly with a relay point such as a base station, and can receive a communication service such as a call or data communication while moving. Examples of the communication method of the user terminal 1 include an FDMA method, a TDMA method, a CDMA method, a W-CDMA, a PHS (Personal Handyphone System) method, and the like. The user terminal 1 is equipped with functions such as a digital camera function, an application software execution function, or a GPS function.

このユーザー端末1は、認証サーバー2から送信された動的認証プログラムが蓄積されており、この動的認証プログラムをアプリケーション実行部14によって起動させることで、認証情報であるワンタイムコードを生成する。また、クーポンサーバー3及びポイントサーバー4から取得した電子クーポン情報及びポイント情報、決済情報、及び認証情報等を含めたワンタイムパスワードを生成し、表示情報として画面上に表示させるようになっている。なお、この動的認証プログラムは、認証サーバー2などインターネット側からダウンロードしたり、他の媒体を通じてインストールしたりすることで、ユーザー端末1に実装することができる。   The user terminal 1 stores a dynamic authentication program transmitted from the authentication server 2 and activates the dynamic authentication program by the application execution unit 14 to generate a one-time code as authentication information. Further, a one-time password including electronic coupon information and point information acquired from the coupon server 3 and the point server 4, payment information, authentication information, and the like is generated and displayed on the screen as display information. The dynamic authentication program can be installed in the user terminal 1 by downloading from the Internet side such as the authentication server 2 or installing it through another medium.

(各装置の内部構造)
次いで、上述したシステムを構成する各装置の内部構造について説明する。図2は、本実施形態に係るユーザー端末1の内部構成を示すブロック図であり、図3は、本実施形態に係る店舗側端末及びPOSサーバーの内部構成を示すブロック図である。また、図4は、本実施形態に係る認証サーバー2、クーポンサーバー3、ポイントサーバー4の内部構成を示すブロック図であり、図5(a)〜(c)は、本実施形態に係る乱数及びハッシュ回数に応じて生成されるハッシュ値を示す表である。また、図6は、ユーザー端末の表示部に表示される動的表示情報を示す説明図であり、図7は、本実施形態に係る有効性判断処理を示すタイムチャート図である。なお、説明中で用いられる「モジュール」とは、装置や機器等のハードウェア、或いはその機能を持ったソフトウェア、又はこれらの組み合わせなどによって構成され、所定の動作を達成するための機能単位を示す。
(Internal structure of each device)
Next, the internal structure of each device constituting the system described above will be described. FIG. 2 is a block diagram illustrating an internal configuration of the user terminal 1 according to the present embodiment, and FIG. 3 is a block diagram illustrating an internal configuration of the store side terminal and the POS server according to the present embodiment. FIG. 4 is a block diagram showing the internal configuration of the authentication server 2, the coupon server 3, and the point server 4 according to the present embodiment, and FIGS. 5A to 5C show the random number and the random number according to the present embodiment. It is a table | surface which shows the hash value produced | generated according to the frequency | count of a hash. Moreover, FIG. 6 is explanatory drawing which shows the dynamic display information displayed on the display part of a user terminal, and FIG. 7 is a time chart figure which shows the effectiveness judgment process which concerns on this embodiment. The “module” used in the description refers to a functional unit that is configured by hardware such as an apparatus or a device, software having the function, or a combination thereof, and achieves a predetermined operation. .

(1)ユーザー端末1
先ず、ユーザー端末1の内部構成について説明する。図2に示すように、ユーザー端末1は、無線インターフェース11、メモリ15と、アプリケーション実行部14と、出力インターフェース13と、入力インターフェース12とを備えている。無線インターフェース11は、通話を行うための移動通信用のプロトコルによる無線通信と、例えば無線LAN等のデータ通信用のプロトコルによる無線通信とを実行する機能を備えている。無線インターフェース11は、無線LAN接続を行うためにIEEE 802.11bに準拠した送受信装置であり、モバイルコンピューターやPDAにおいては、無線LANアダプタ等により実現することができる。本実施形態において、無線インターフェース11は、連携用通信経路に接続されており、クーポンサーバー3及びポイントサーバー4から電子クーポン情報及びポイント情報を取得したり、認証サーバー2と認証処理に関する各データを送受するようになっている。
(1) User terminal 1
First, the internal configuration of the user terminal 1 will be described. As shown in FIG. 2, the user terminal 1 includes a wireless interface 11, a memory 15, an application execution unit 14, an output interface 13, and an input interface 12. The wireless interface 11 has a function of executing wireless communication using a mobile communication protocol for making a call and wireless communication using a data communication protocol such as a wireless LAN. The wireless interface 11 is a transmission / reception device compliant with IEEE 802.11b for performing wireless LAN connection, and can be realized by a wireless LAN adapter or the like in a mobile computer or PDA. In this embodiment, the wireless interface 11 is connected to the communication path for cooperation, acquires electronic coupon information and point information from the coupon server 3 and the point server 4, and transmits / receives each data related to the authentication server 2 and authentication processing. It is supposed to be.

入力インターフェース12は、操作ボタンやタッチパネルなどユーザー操作を入力するデバイスである。また、出力インターフェース13は、ディスプレイやスピーカーなど、映像や音響を出力するデバイスである。特に、この出力インターフェース13には、液晶ディスプレイなどの表示部13aが含まれている。クライアント計時部16は、現在時刻を時間情報Tcとして取得するモジュールであり、取得する時刻としては、ユーザー端末1のシステム時刻を取得する。   The input interface 12 is a device for inputting user operations such as operation buttons and a touch panel. The output interface 13 is a device that outputs video and sound, such as a display and a speaker. In particular, the output interface 13 includes a display unit 13a such as a liquid crystal display. The client timing unit 16 is a module that acquires the current time as time information Tc, and acquires the system time of the user terminal 1 as the time to acquire.

メモリ15は、OS(Operating System)や各種のアプリケーション用のプログラム(ワンタイムパスワード生成ソフトウェア等)、その他のデータ等などを記憶する記憶装置であり、このメモリ15には、デバイス情報などのユーザーに固有の端末固有識別子、ワンタイムコード生成に用いられる認証情報、電子クーポン情報、ポイント情報などが生成されたファイル内にシリアライズして保存される。ここで、ワンタイムパスコード生成に用いられるデータには、SHA1等のユーザー側一方向性関数(以下、ハッシュ関数Hと称する。)、ハッシュ関数Hを適用する各世代の乱数H〜乱数Hn、及びハッシュ関数の適用回数を保持しており、これらの組み合わせによって、図5(a)に示すように、各ハッシュ値Eを生成可能となっている。 The memory 15 is a storage device that stores an OS (Operating System), programs for various applications (one-time password generation software, etc.), other data, and the like. A unique terminal unique identifier, authentication information used for one-time code generation, electronic coupon information, point information, and the like are serialized and stored in the generated file. Here, the data used for the one-time passcode generator, the user-side one-way function such as SHA1 (hereinafter, referred to as the hash function H C.), A random number H 0 of each generation applying a hash function H C ~ The random number H n and the number of times the hash function is applied are held, and by combining these, each hash value E can be generated as shown in FIG.

なお、ここでの端末固有識別子は、ユーザーに固有のユーザー特定情報の一つであり、シリアルナンバーやMACアドレスその他のユーザー端末の製造時に付与された1つのユーザー端末に固有且つ単一の端末識別子である。なお、端末固有識別子に代わるユーザー特定情報としては、ユーザー毎に付与されるユーザー固有のユーザー識別子や、アプリケーションに固有のID、サービスに固有のID、又はこれらを組み合わせて定められるユニークな値など、一つの端末に複数付与される識別子をもちいることもできる。そして、これらのユーザー特定情報は、ユーザーが操作して入力するものでもよく、自動的に入力又は送信されるものであってもよい。   Here, the terminal unique identifier is one of user identification information unique to the user, and is a unique and single terminal identifier for one user terminal given at the time of manufacturing the user terminal such as a serial number, a MAC address or the like. It is. In addition, as the user identification information that replaces the terminal unique identifier, a user specific user identifier assigned to each user, an application specific ID, a service specific ID, or a unique value determined by combining these, A plurality of identifiers assigned to one terminal can be used. The user specifying information may be input by being operated by the user, or may be input or transmitted automatically.

また、乱数Hは、例えば、英数(アルファベット文字は、大文字、小文字を区別している)を組み合わせた文字列であり、本実施形態では、例えば40桁の文字列で構成される。なお、ワンタイムコードの生成に利用される乱数などの認証情報は、安全のため暗号化した上で保存され、本アプリケーションを削除した場合には、これらのデータも削除されるようになっている。なお、メモリ15には、前回までの認証に用いられた第1及び第2のワンタイムコードに関する乱数とハッシュ回数とを記憶しているものとする。   The random number H is, for example, a character string combining alphanumeric characters (alphabetic characters are case-sensitive). In the present embodiment, the random number H is composed of, for example, a 40-digit character string. In addition, authentication information such as random numbers used to generate one-time codes is stored after being encrypted for safety. If this application is deleted, these data are also deleted. . It is assumed that the memory 15 stores a random number and the number of hashes associated with the first and second one-time codes used for the previous authentication.

アプリケーション実行部14は、一般のOSやブラウザソフトなどのアプリケーションを実行するモジュールであり、通常はCPU等により実現される。このアプリケーション実行部14において、本発明の動的認証プログラムが実行されることで、ワンタイムコード作成機能モジュール群として、ワンタイムパスワード作成部14aと、連携処理部14bと、価値情報取得部14cと、認証結果取得部14dとが仮想的に構築される。   The application execution unit 14 is a module that executes an application such as a general OS or browser software, and is usually realized by a CPU or the like. By executing the dynamic authentication program of the present invention in the application execution unit 14, a one-time code creation function module group includes a one-time password creation unit 14a, a cooperation processing unit 14b, and a value information acquisition unit 14c. The authentication result acquisition unit 14d is virtually constructed.

連携処理部14bは、連携用通信経路を通じて認証サーバー2と通信処理を行うモジュールであり、連携用通信経路を通じて、会員登録処理やワンタイムパスワードの初期設定処理を実行する。会員登録処理とは、少なくとも認証サーバーに対して、ユーザー特定情報と、ログイン時に必要なパスワードを登録するものであり、初期設定処理とは、認証処理に用いる乱数とハッシュ回数とをユーザー端末1及び認証サーバー2の相互において設定する処理である。そして、連携処理部14bでは、初期設定処理時において、ワンタイムパスワード作成部14aで生成されたワンタイムコードを送出する。   The cooperation processing unit 14b is a module that performs communication processing with the authentication server 2 through the communication path for cooperation, and performs member registration processing and one-time password initial setting processing through the communication path for cooperation. The member registration process is a process for registering user identification information and a password required at the time of login to at least an authentication server. The initial setting process is a process for registering a random number and a hash count used for the authentication process to the user terminal 1 and This is a process to be set between the authentication servers 2. Then, the cooperation processing unit 14b transmits the one-time code generated by the one-time password creation unit 14a during the initial setting process.

価値情報取得部14cは、クーポンサーバー3及びポイントサーバー4から自身が所持する電子クーポン情報及びポイント情報を取得するモジュールである。このクーポンサーバー3及びポイントサーバー4との通信は、認証用通信経路は用いられず、連携用通信経路などの通常の通信経路を通じて行われる。   The value information acquisition unit 14 c is a module that acquires electronic coupon information and point information possessed by itself from the coupon server 3 and the point server 4. The communication with the coupon server 3 and the point server 4 is performed through a normal communication path such as a cooperation communication path without using the authentication communication path.

ワンタイムパスワード作成部14aは、認証サーバー2に対するアクセス用に発行される一度限り有効なワンタイムパスワードを生成するモジュールであり、次回認証用コード作成部144と、今回認証用コード作成部143と、認証環境確認部141と、乱数選択部142とを備えている。そして、これらの各モジュールが実行されることで、第1及び第2のワンタイムコードを生成するとともに、この第1及び第2のワンタイムコードに購買情報(電子クーポン情報及びポイント情報、決済情報等)を含めた所定の認証情報を生成する。   The one-time password creation unit 14a is a module that generates a one-time valid password that is issued for access to the authentication server 2. The next-time authentication code creation unit 144, the current authentication code creation unit 143, An authentication environment confirmation unit 141 and a random number selection unit 142 are provided. Each of these modules is executed to generate first and second one-time codes, and purchase information (electronic coupon information and point information, payment information) is added to the first and second one-time codes. Etc.) is generated.

ここで、「ワンタイムコード」とは、認証サーバーに対するアクセス用に発行される一度限り有効な認証情報であり、数字や文字、記号などのテキストデータで表現されるものの他、バーコードや、二次元バーコード、その他のコード化された図形などが含まれ、本実施形態では、ハッシュ関数Hを用いて作成されるハッシュ値である。具体的には、図5(a)に示すように、各世代の乱数H〜乱数Hnと、ハッシュ関数の適用回数とを用いてハッシュ値を生成する。特に本実施形態において、ワンタイムパスワード作成部14aは、1度の認証処理において、次回認証用コード作成部144と、今回認証用コード作成部143とを実行させ、異なる2つのハッシュ値を生成する。ここでは、2つのハッシュ値のうち、一方のハッシュ値を次回認証用のハッシュ値(以下、第1のワンタイムコードと称する。)として用い、他方のハッシュ値を今回認証用のハッシュ値(以下、第2のワンタイムコードと称する。)として用いる。 Here, the “one-time code” is authentication information that is issued only once for access to the authentication server and is expressed by text data such as numbers, letters, symbols, etc. dimensional bar code, include such other coded graphics, in the present embodiment, a hash value is created using a hash function H C. Specifically, as shown in FIG. 5A, a hash value is generated using random numbers H 0 to H n of each generation and the number of times the hash function is applied. Particularly in the present embodiment, the one-time password creation unit 14a executes the next authentication code creation unit 144 and the current authentication code creation unit 143 in one authentication process, and generates two different hash values. . Here, one of the two hash values is used as a hash value for the next authentication (hereinafter referred to as a first one-time code), and the other hash value is used as a hash value for the current authentication (hereinafter referred to as a first hash value). , Referred to as a second one-time code).

次回認証用コード作成部144は、次世代乱数を発生させ、この次世代乱数に対してハッシュ関数Hによる演算を、所定回数だけ繰り返して次回認証用ハッシュ値である第1のワンタイムコードを生成するモジュールである。ここで「次世代乱数」とは、前回までのワンタイムコード生成に用いられていない新たな乱数であり、次回認証用コード作成部144は、常時、新しい次世代乱数を用いて第1のワンタイムコードを生成する。 Next authentication code creating unit 144 generates a next-generation random numbers, the calculation by a hash function H C for this next generation random number, the first one-time code is a next authentication hash value is repeated a predetermined number of times This is the module to generate. Here, the “next generation random number” is a new random number that has not been used for the one-time code generation up to the previous time, and the next authentication code creation unit 144 always uses the new next generation random number to generate the first one-time code. Generate time code.

一方、今回認証用コード作成部143は、次世代乱数を発生させる前に発生させた前世代乱数に対して、ハッシュ関数Hによる演算を所定回数だけ繰り返して、今回認証用のハッシュ値である第2のワンタイムコードを生成するモジュールである。ここで、「次世代乱数を発生させる前に発生させた前世代乱数」とは、前回以前の認証時において第2のワンタイムコードを生成する際に用いられた乱数、又は前回の認証時において第1のワンタイムコードを生成する際に用いられた乱数のいずれかである。 Meanwhile, the current authentication code creating unit 143, relative to previous generation random number generated before generating the next generation random number, repeats the calculation by a hash function H C by the predetermined number of times, is the hash value of the current authentication This is a module for generating a second one-time code. Here, “the previous generation random number generated before generating the next generation random number” means the random number used when generating the second one-time code at the time of previous authentication, or at the time of the previous authentication. It is one of the random numbers used when generating the first one-time code.

また、ワンタイムパスワード作成部14aは、認証環境確認部141を有している。認証環境確認部141は、ユーザー端末1と認証サーバー2との認証環境を確認するモジュールである。ここで、認証環境とは、認証処理を行うための環境であって、例えば、ユーザー端末1と認証サーバー2との連携用通信経路による通信状態や、エラー発生時(例えば、所定の処理段階において、不具合が発生し、認証サーバー2が保持する認証情報と、ユーザー端末1が保持する認証情報が一致しない場合など)が含まれる。   The one-time password creation unit 14 a includes an authentication environment confirmation unit 141. The authentication environment confirmation unit 141 is a module for confirming the authentication environment between the user terminal 1 and the authentication server 2. Here, the authentication environment is an environment for performing an authentication process. For example, a communication state through a communication path for cooperation between the user terminal 1 and the authentication server 2 or when an error occurs (for example, in a predetermined processing stage). In the case where a failure occurs, the authentication information held by the authentication server 2 and the authentication information held by the user terminal 1 do not match).

ここで、連携用通信経路による通信状態とは、ユーザー端末が通信可能エリア内に位置しており、連携用通信経路を通じて両者が接続されている状態と、ユーザー端末が通信可能エリア外に位置したり、通信障害などが発生したりなど連携用通信経路を通じて接続されていない状態とが含まれる。   Here, the communication state by the communication path for cooperation means that the user terminal is located in the communicable area, the state where both are connected through the communication path for cooperation, and the user terminal is located outside the communicable area. Or a state in which communication is not established through a communication path for cooperation, such as a communication failure.

そして、連携用通信経路で両者が接続されている場合には、ユーザー端末1から認証サーバー2に対して、次回認証用の情報である認証結果の確認要求を行い、認証サーバー2から認証結果が返信される。ここで、確認される「認証結果」には、認証の可否の他、ワンタイムコードデータベース2aに現在保存されている第2のワンタイムコードに係る乱数の世代及びハッシュ回数などを含めることができる。なお、第2のワンタイムコードを認証結果として返信するのは、第1のワンタイムコードのハッシュ値は常にMAX値であり認証されたか否かが不明であるのに対し、前回認証時に用いられる第2のワンタイムコードのハッシュ値は減少しているので、確実に認証されたか否かを確認できるからである。この際、認証環境確認部141は、認証サーバ2に対して、端末固有識別子などのユーザ特定情報を送信する。   When both are connected through the communication path for cooperation, the user terminal 1 requests the authentication server 2 to confirm the authentication result, which is information for the next authentication, and the authentication result is received from the authentication server 2. I will reply. Here, the “authentication result” to be confirmed can include the generation of random numbers and the number of hashes associated with the second one-time code currently stored in the one-time code database 2a, in addition to the possibility of authentication. . Note that the second one-time code is returned as an authentication result because the hash value of the first one-time code is always a MAX value and it is unknown whether it has been authenticated, but is used at the time of previous authentication. This is because the hash value of the second one-time code has decreased, so that it can be confirmed whether or not the authentication has been reliably performed. At this time, the authentication environment confirmation unit 141 transmits user identification information such as a terminal unique identifier to the authentication server 2.

一方、連携用通信経路で両者が接続されていない場合には、ユーザー端末からの確認要求は受信されず、認証結果は返信されない。そして、認証環境確認部141は、各認証環境の確認結果に応じて、その確認結果を乱数選択部142に送信したり、連携処理部14bに送信したりする。 On the other hand, if both are not connected via the cooperation communication path, the confirmation request from the user terminal is not received, and the authentication result is not returned. And the authentication environment confirmation part 141 transmits the confirmation result to the random number selection part 142 according to the confirmation result of each authentication environment, or transmits to the cooperation process part 14b.

そして、ワンタイムパスワード作成部14aの各モジュールでは、ユーザー端末1と認証サーバー2との認証環境に応じて、ワンタイムパスワードの生成及び認証処理の方法を変更している。具体的に、乱数選択部142は、認証時において、通信ネットワーク5の通信状態に応じて第1のワンタイムコード又は第2のワンタイムコードに用いられた次世代乱数又は前世代乱数を選択するモジュールである。ここでは、連携用通信経路が通信可能であって認証結果を取得した場合には、前回作成した第1のワンタイムコードに用いられた次世代乱数を選択する。一方、連携用通信経路が不通であり、認証結果を取得できない場合には、前回作成した第2のワンタイムコードに用いられた前世代乱数を選択する。   In each module of the one-time password creation unit 14a, the one-time password generation and authentication processing methods are changed according to the authentication environment between the user terminal 1 and the authentication server 2. Specifically, the random number selection unit 142 selects the next generation random number or the previous generation random number used for the first one-time code or the second one-time code according to the communication state of the communication network 5 at the time of authentication. It is a module. Here, when the communication path for cooperation is communicable and the authentication result is acquired, the next generation random number used for the first one-time code created last time is selected. On the other hand, if the communication path for cooperation is disconnected and the authentication result cannot be acquired, the previous generation random number used for the second one-time code created last time is selected.

そして、今回認証用コード作成部143は、乱数選択部142において選択された次世代乱数又は前世代乱数に対して、ハッシュ関数Hによる演算を、選択された乱数に対する所定回数よりも低減回数分だけ少ない回数を繰り返して、今回認証用に用いる認証情報の1つとして、第2のワンタイムコードを生成する。そして、ワンタイムパスワード作成部14aは、この第2のワンタイムコード及び第1のワンタイムコードに、購買情報、決済情報、及びユーザー情報とを含めた表示情報を生成する。このように、ワンタイムパスワード作成部14aでは、認証環境に応じて生成するワンタイムコードを変更させている。そして、認証サーバー2では、変更されたワンタイムコードに基づいて、ワンタイムパスワードを生成して認証処理を行うようになっている。なお、このワンタイムスタンプの生成及びこのワンタイムパスワードを用いた具体的な認証処理については後述する。なお、認証結果取得部14dは、通信ネットワーク5の通信状態に応じて選択され、生成されたワンタイムパスワードに基づく認証処理の結果を取得するモジュールである。 Then, this authentication code creating unit 143, to the next generation random or previous generation random number selected in the random number selector 142, a calculation using the hash function H C, reduced number of times than the predetermined number of times for the selected random number The second one-time code is generated as one piece of authentication information used for authentication this time by repeating the number of times as small as possible. Then, the one-time password creation unit 14a generates display information including purchase information, payment information, and user information in the second one-time code and the first one-time code. In this way, the one-time password creation unit 14a changes the one-time code generated according to the authentication environment. The authentication server 2 generates a one-time password based on the changed one-time code and performs an authentication process. The generation of this one-time stamp and the specific authentication process using this one-time password will be described later. Note that the authentication result acquisition unit 14d is a module that acquires an authentication processing result based on the generated one-time password that is selected according to the communication state of the communication network 5.

また、ユーザー端末1のアプリケーション実行部14には、認証情報を動的に提示するモジュール群として、表示情報生成部14eと動的情報提示部14fとを備えている。表示情報生成部14eとは、所定の認証情報に、当該ユーザー端末1上の現在時刻を示す時間情報を組み合わせて、2以上の表示情報を生成するモジュールである。ここで、所定の認証情報とは、今回認証用コード作成部143、及び次回認証用コード作成部144で生成される第1のワンタイムコード及び第2のワンタイムコードである。   The application execution unit 14 of the user terminal 1 includes a display information generation unit 14e and a dynamic information presentation unit 14f as a module group for dynamically presenting authentication information. The display information generation unit 14e is a module that generates two or more display information by combining predetermined authentication information with time information indicating the current time on the user terminal 1. Here, the predetermined authentication information is a first one-time code and a second one-time code generated by the current authentication code creation unit 143 and the next authentication code creation unit 144.

すなわち、表示情報生成部14eは、ワンタイムパスワード作成部14aの今回認証用コード作成部143及び次回認証用コード作成部144で生成された第1のワンタイムコード及び第2のワンタイムコードに現在時刻Tcを示す時間情報を組み合わせて動的なワンタイムパスワードを作成する。なお、このワンタイムパスワードには、ユーザー特定情報、決済情報、及び購買情報が含まれており、これらも所定の認証情報に含まれる。   In other words, the display information generation unit 14e presents the first one-time code and the second one-time code generated by the current authentication code generation unit 143 and the next authentication code generation unit 144 of the one-time password generation unit 14a. A dynamic one-time password is created by combining time information indicating the time Tc. The one-time password includes user identification information, payment information, and purchase information, which are also included in the predetermined authentication information.

この際、表示情報生成部14eでは、一連の処理において生成する表示情報を、同じワンタイムコードを使用して生成しており、時刻情報のみを変更することで、表示情報の表示形態を変更させている。すなわち、表示情報生成部14eは、今回認証用コード作成部143及び次回認証用コード作成部144で生成される第1のワンタイムコード及び第2のワンタイムコードに対して、経過する現在時刻情報を組み合わせることで、異なる2以上の表示情報を生成している。   At this time, the display information generation unit 14e generates display information generated in a series of processes using the same one-time code, and changes the display form of the display information by changing only the time information. ing. In other words, the display information generation unit 14e passes the current time information that has passed with respect to the first one-time code and the second one-time code generated by the current authentication code generation unit 143 and the next authentication code generation unit 144. By combining these, two or more different pieces of display information are generated.

動的情報提示部14fは、表示情報を一定の時間間隔をもって、同一位置に順次表示することにより、認証情報を動的に提示するモジュールである。すなわち、動的情報提示部14fは、表示情報生成部14eにおいて表示情報が表示された後、クライアント計時部16から随時時刻情報を取得し、予め定められた所定間隔(例えば、1秒未満)が経過したか否かを判断し、所定間隔が経過した後には、表示情報を再生成するように表示情報生成部14eを制御する。これにより、表示情報生成部14eは、現在表示している表示情報を破棄し、現在時刻の時刻情報をタイムスタンプとして含めて表示情報を再生成し画面上に表示させる。表示情報生成部14e及び動的情報提示部14fは、以後、所定間隔毎にこの処理を繰り返す。   The dynamic information presentation unit 14f is a module that dynamically presents authentication information by sequentially displaying display information at the same position with a certain time interval. That is, after the display information is displayed in the display information generating unit 14e, the dynamic information presenting unit 14f acquires time information from the client timing unit 16 at any time, and a predetermined interval (for example, less than 1 second) is obtained. It is determined whether or not it has elapsed, and after the predetermined interval has elapsed, the display information generation unit 14e is controlled to regenerate display information. Thereby, the display information generation unit 14e discards the currently displayed display information, regenerates the display information including the time information of the current time as a time stamp, and displays the display information on the screen. The display information generation unit 14e and the dynamic information presentation unit 14f thereafter repeat this process at predetermined intervals.

このように、表示情報生成部14e及び動的情報提示部14fは、所定間隔毎に表示情報を生成、表示、破棄、再生成を繰り返し、表示部13a上には、図6に示すように、画面上には、異なる表示情報(図6中の表示情報C_1〜C_4)が時間経過毎(図6中の時間Tc_1〜Tc_4)に随時変更されつつ動的に表示されるようになっている。   As described above, the display information generation unit 14e and the dynamic information presentation unit 14f repeatedly generate, display, discard, and regenerate display information at predetermined intervals. On the display unit 13a, as illustrated in FIG. Different display information (display information C_1 to C_4 in FIG. 6) is dynamically displayed on the screen while being changed at any time (time Tc_1 to Tc_4 in FIG. 6).

(2)POSサーバー及び店舗側端末
次いで、POSサーバー及び店舗側端末の内部構成について説明する。図3は、POSサーバー及び店舗側端末の内部構成を示すブロック図である。店舗側端末7aは、読取手段76と、制御部74と、メモリ75と、通信インターフェース71と、入力インターフェース72と、出力インターフェース73とを備えている。読取手段76は、ユーザー端末1で表示した表示情報を読み取るためのリーダー装置であり、ユーザー端末1の液晶画面に表示されたQRコード(登録商標)を読取可能となっている。この際、読取手段76は、動的情報提示部14fによって表示部13a上に表示された2以上の表示情報を、読取手段76を用いて、順次、光学的に読み取り、これらを制御部74に入力する。
(2) POS server and store side terminal Next, the internal configuration of the POS server and store side terminal will be described. FIG. 3 is a block diagram showing the internal configuration of the POS server and the store side terminal. The store side terminal 7 a includes a reading unit 76, a control unit 74, a memory 75, a communication interface 71, an input interface 72, and an output interface 73. The reading unit 76 is a reader device for reading display information displayed on the user terminal 1 and can read a QR code (registered trademark) displayed on the liquid crystal screen of the user terminal 1. At this time, the reading unit 76 optically reads two or more pieces of display information displayed on the display unit 13 a by the dynamic information presentation unit 14 f sequentially using the reading unit 76, and these are read by the control unit 74. input.

通信インターフェース71は、データをパケットとして送受信するモジュールであり、入力インターフェース72は、テンキーや会計実行キーなどユーザー操作を入力するデバイスである。また、出力インターフェース73は、ディスプレイやスピーカーなど映像や音響を出力するデバイスである。特に、この出力インターフェース73には、液晶ディスプレイなどの表示部73aが含まれ、読取手段76で読み取った表示情報に基づいた、ポイント情報やクーポン情報を表示させている。メモリ75は、OS(Operating System)や会計処理プログラム、その他のデータ等などを記憶する記憶装置である。   The communication interface 71 is a module that transmits and receives data as packets, and the input interface 72 is a device that inputs user operations such as a numeric keypad and an accounting execution key. The output interface 73 is a device that outputs video and sound, such as a display and a speaker. In particular, the output interface 73 includes a display unit 73 a such as a liquid crystal display, and displays point information and coupon information based on the display information read by the reading unit 76. The memory 75 is a storage device that stores an OS (Operating System), an accounting processing program, other data, and the like.

制御部74は、CPUやDSP(Digital Signal Processor)等のプロセッサ、メモリ、及びその他の電子回路等のハードウェア、或いはその機能を持ったプログラム等のソフトウェア、又はこれらの組み合わせなどによって構成された演算モジュールであり、各部の動作制御、ユーザー操作に対する種々の処理を行っている。この制御部74は利用するクーポン情報及びポイント情報を表示部73aに表示したり、読取手段76で読み取った表示情報をPOSサーバー7に送信する。また、店舗側端末7aがレジスター端末である場合、制御部74は、現金決済処理機能を備えている。   The control unit 74 is an arithmetic operation constituted by a processor such as a CPU or DSP (Digital Signal Processor), memory, hardware such as other electronic circuits, software such as a program having the function, or a combination thereof. It is a module and performs various processes for operation control of each part and user operation. The control unit 74 displays coupon information and point information to be used on the display unit 73 a and transmits display information read by the reading unit 76 to the POS server 7. Further, when the store side terminal 7a is a register terminal, the control unit 74 has a cash settlement processing function.

また、本実施形態において、制御部74には、読取手段76が読み取った2つ以上の表示情報に基づいて、その表示情報が認証処理として利用可能か否かを判断する機能を備えている。具体的に、制御部74内には、図3に示すように、計時記録部741と、有効性判断部742と、情報抽出部743と、正当性判断部744とを備えている。   Further, in the present embodiment, the control unit 74 has a function of determining whether or not the display information can be used as an authentication process based on two or more display information read by the reading unit 76. Specifically, as shown in FIG. 3, the control unit 74 includes a time recording unit 741, an effectiveness determination unit 742, an information extraction unit 743, and a validity determination unit 744.

計時記録部741は、読取手段76で読み取られた各表示情報の、それぞれの読取時刻を測定し記録するモジュールであり、店舗側端末7aに備えられた店舗側計時部77から読取時刻を測定して記録する。ここで、店舗側計時部77が取得する時刻としては、店舗側端末7aのシステム時刻を取得してもよく、また、タイムサーバーなどにより提供される絶対時刻を取得してもよい。   The time recording unit 741 is a module that measures and records each reading time of each display information read by the reading means 76, and measures the reading time from the store side time measuring unit 77 provided in the store side terminal 7a. Record. Here, as the time acquired by the store-side timer 77, the system time of the store-side terminal 7a may be acquired, or the absolute time provided by a time server or the like may be acquired.

そして、計時記録部741は、読み取った表示情報に読み取った時点の読取情報Tpをそれぞれ付加する。なお、ここでは、図7に示すように、最初に読み取った表示情報を第1の表示情報X1とし、次に読み取った表示情報を第2の表示情報X2とする。さらに、計時記録部741において、表示情報X1に付加される読取時刻を読取情報Tp_1とし、表示情報X2に付加される読取時刻を読取情報Tp_2とする。なお、表示情報X1内において、ユーザー端末1側において組み込まれた時間情報は時間情報Tc_1とし、表示情報X2内において、ユーザー端末1側において組み込まれた時間情報は時間情報Tc_2とする。   Then, the time recording unit 741 adds read information Tp at the time of reading to the read display information. Here, as shown in FIG. 7, the first read display information is first display information X1, and the next read display information is second display information X2. Further, in the time recording unit 741, the reading time added to the display information X1 is set as reading information Tp_1, and the reading time added to the display information X2 is set as reading information Tp_2. In the display information X1, time information incorporated on the user terminal 1 side is time information Tc_1, and in display information X2, time information incorporated on the user terminal 1 side is time information Tc_2.

有効性判断部742は、各表示情報に含まれる各時間情報Tcの差分と、各表示情報の読取時刻Tpの差分と、一定の時間間隔から求められる有効期限とに基づいて、表示情報の有効性を判断するモジュールである。すなわち、情報が順次生成され表示される一定の時間間隔が各表示情報の有効期限であり、次の表示情報が表示させる時には、その前に表示されていた表示情報は破棄される。表示情報が生成される時間間隔は、その表示情報に組み合わせられた時間情報(有効期限)を介して店舗側端末7a側に伝えることができ、読み取り側では、時間情報によって伝えられた各生成時刻の差分と、各読み取り時刻の差分とについて、各表示情報の有効期限と比較することにより、表示情報の有効性を判断することができる。   The validity determination unit 742 determines the validity of the display information based on the difference between the time information Tc included in each display information, the difference between the reading times Tp of each display information, and the expiration date obtained from a certain time interval. This module determines sex. That is, a fixed time interval at which information is sequentially generated and displayed is the expiration date of each display information, and when the next display information is displayed, the display information displayed before that is discarded. The time interval at which the display information is generated can be transmitted to the store side terminal 7a side through the time information (expiration date) combined with the display information, and on the reading side, each generation time transmitted by the time information is transmitted. The validity of the display information can be determined by comparing the difference between the display time and the difference between the reading times with the expiration date of each display information.

本実施形態では、図7に示すように、連続する2つの表示情報X1,X2は所定間隔Lを空けて表示させていることから、例えば、読み取った2つの表示情報X1,X2が正規の表示情報である場合、第1の表示情報X1を読み取ってから、第2の表示情報X2が読み取り可能な最大時間間隔は、時間情報Tc_2と時間情報Tc_1との差分であるLの2つ分の間隔2Lである。   In the present embodiment, as shown in FIG. 7, two consecutive display information items X1 and X2 are displayed with a predetermined interval L. For example, the two display information items X1 and X2 thus read are displayed as regular displays. In the case of information, after the first display information X1 is read, the maximum time interval at which the second display information X2 can be read is an interval corresponding to L, which is the difference between the time information Tc_2 and the time information Tc_1. 2L.

そこで、有効性判断部742は、第1の表示情報X1の読取情報Tp_1と第2の表示情報X2の読取情報Tp_2との読取時刻Tpの差分が、有効期限内であることを検証する。具体的に、有効性判断部742では、0より大きく、且つ間隔2L未満であることを検証する。そして、第1の表示情報X1と第2の表示情報X2についての読取時刻Tpの差分が、0より大きく、且つ間隔2L未満である場合には、その表示情報X1及びX2は有効期限内であると判断し、第2の表示情報X2をワンタイムパスワードとして、POSサーバー7を介して認証サーバー2に送信する。一方、第1の表示情報X1と第2の表示情報X2との読取時刻Tpの差分が0以下であったり、間隔2L以上である場合には、有効期限が過ぎた表示情報としてエラー表示を行う。   Therefore, the validity determination unit 742 verifies that the difference in the reading time Tp between the reading information Tp_1 of the first display information X1 and the reading information Tp_2 of the second display information X2 is within the expiration date. Specifically, the validity determination unit 742 verifies that it is greater than 0 and less than the interval 2L. When the difference between the reading times Tp for the first display information X1 and the second display information X2 is greater than 0 and less than the interval 2L, the display information X1 and X2 are within the expiration date. And the second display information X2 is transmitted to the authentication server 2 via the POS server 7 as a one-time password. On the other hand, if the difference in the reading time Tp between the first display information X1 and the second display information X2 is 0 or less, or the interval is 2L or more, an error is displayed as display information whose expiration date has passed. .

なお、有効性判断部742は、各表示情報に含まれる各時間情報Tcと、各表示情報の読取時刻Tpとの差分に基づいて、有効性を判断してもよい。この場合は、表示部13a上に表示されてから、読み取られるまで長時間経過しているワンタイムパスワードの使用を防止することができる。   The validity determination unit 742 may determine the validity based on a difference between each time information Tc included in each display information and a reading time Tp of each display information. In this case, it is possible to prevent the use of a one-time password that has been displayed for a long time after being displayed on the display unit 13a.

また、制御部74では、2つの表示情報X1及びX2の差分から、有効性の判断を行う処理とは別に、2つの表示情報X1及びX2が、同一のワンタイムコードに基づいて生成された表示情報であるか否かの正当性判断機能も備えており、同一のワンタイムパスワードに基づいて生成された表示情報のみ、有効期限の有無の判断を行っている。具体的に制御部74には、情報抽出部743と正当性判断部744とを有している。   In addition, in the control unit 74, two display information X1 and X2 are generated based on the same one-time code separately from the process of determining validity from the difference between the two display information X1 and X2. It also has a function of determining whether or not the information is valid, and only the display information generated based on the same one-time password is used to determine whether or not there is an expiration date. Specifically, the control unit 74 includes an information extraction unit 743 and a validity determination unit 744.

情報抽出部743は、読取手段76で読み取られた各表示情報から、時間情報を除外して、所定の認証情報を抽出するモジュールである。ここで抽出される所定の認証情報とは、今回認証用コード作成部143と次回認証用コード作成部144で生成された、第1のワンタイムコード及び第2のワンタイムコードである。そして、情報抽出部743では、この第1のワンタイムコード及び第2のワンタイムコードを正当性判断部744に送信する。   The information extraction unit 743 is a module that excludes time information from each display information read by the reading unit 76 and extracts predetermined authentication information. The predetermined authentication information extracted here is the first one-time code and the second one-time code generated by the current authentication code creation unit 143 and the next authentication code creation unit 144. Then, the information extracting unit 743 transmits the first one-time code and the second one-time code to the validity determining unit 744.

正当性判断部744は、情報抽出部743が抽出したそれぞれの認証情報の同一性を比較し、その比較結果に基づいて、表示情報の正当性を判断するモジュールである。正当性判断部744は、読み取られた2以上の各コードをそれぞれ平文に復号し、その復号された平文から時間情報を除外して認証情報のみを抽出して比較する。なお、ここで、比較される認証情報は、第1のワンタイムコード及び第2のワンタイムコードの両方で行われる。   The validity determination unit 744 is a module that compares the identities of the pieces of authentication information extracted by the information extraction unit 743 and determines the validity of the display information based on the comparison result. The validity judgment unit 744 decodes each of the read two or more codes into plain text, extracts time information from the decrypted plain text, extracts only the authentication information, and compares them. Here, the authentication information to be compared is performed using both the first one-time code and the second one-time code.

一方、POSサーバー7には、通信インターフェース70aと、制御部70bと、POS情報データベース70cとを備えている。通信インターフェース70aは、データをパケットとして送受信するモジュールである。本実施形態では、この通信インターフェース70aを介して、店舗側端末7aから認証情報を取得するとともに、取得した認証情報を認証サーバー2に送信する。また、認証サーバー2から認証結果を受信し、店舗側端末7aに送信する。   On the other hand, the POS server 7 includes a communication interface 70a, a control unit 70b, and a POS information database 70c. The communication interface 70a is a module that transmits and receives data as packets. In the present embodiment, the authentication information is acquired from the store side terminal 7a via the communication interface 70a, and the acquired authentication information is transmitted to the authentication server 2. Further, the authentication result is received from the authentication server 2 and transmitted to the store side terminal 7a.

制御部70bは、CPUやDSP(Digital Signal Processor)等のプロセッサ、メモリ、及びその他の電子回路等のハードウェア、或いはその機能を持ったプログラム等のソフトウェア、又はこれらの組み合わせなどによって構成された演算モジュールであり、実店舗から送信される実店舗に関する情報を集計して、売上や商品管理など一般的な商品売上処理を実行する。また、制御部70bは、ユーザー端末1から読み取ったワンタイムパスワードを、認証用経路を通じて認証サーバー2に送信する。   The control unit 70b is a computation configured by a processor such as a CPU or DSP (Digital Signal Processor), memory, hardware such as other electronic circuits, software such as a program having the function, or a combination thereof. This module is a module that aggregates information about actual stores transmitted from actual stores and executes general product sales processing such as sales and product management. In addition, the control unit 70b transmits the one-time password read from the user terminal 1 to the authentication server 2 through the authentication path.

なお、ここでは、店舗側端末7aが取得したワンタイムパスワードを、POSサーバー7を経由させて認証サーバー2に送信したが、例えば、店舗側端末7aから直接認証サーバー2に送信してもよい。また、制御部70bは、認証処理に関係するユーザーの消費行動に関する情報を購買情報として取得する機能も有し、POS情報データベース70cに蓄積するとともに、ワンタイムパスワードとともに認証サーバー2に送信する。ここで、「消費行動に関する情報」とは、いわゆるPOSデータが含まれ、購入した商品名、商品コード、購入日時、店舗名、数量などであり、電子クーポンやポイントの使用情報も含まれる。   Here, the one-time password acquired by the store-side terminal 7a is transmitted to the authentication server 2 via the POS server 7, but may be transmitted directly from the store-side terminal 7a to the authentication server 2, for example. The control unit 70b also has a function of acquiring information related to the user's consumption behavior related to the authentication process as purchase information, accumulates it in the POS information database 70c, and transmits it to the authentication server 2 together with the one-time password. Here, “information related to consumption behavior” includes so-called POS data, such as purchased product name, product code, purchase date and time, store name, quantity, etc., and includes information on use of electronic coupons and points.

POS情報データベース70cは、POSシステムに用いられる各種のデータを蓄積するデータベース群であり、例えば、実店舗を識別する実店舗IDに、実店舗の位置や売上及び在庫商品などの実店舗に関する情報を関連付けて蓄積したり、各商品を識別する商品コードにその商品の販売価格を関連付けて記憶する。また、電子クーポンの情報に基づいたサービス内容などについても記憶している。さらに、このデータベース70cには、顧客を識別するアカウントIDに、顧客の購入履歴情報(購入した商品、実店舗情報、購入金額、購入日時等)、ポイント情報、顧客の個人情報(氏名、住所、電話番号、メールアドレス、性別、年齢など)を蓄積することもできる。   The POS information database 70c is a database group for accumulating various data used in the POS system. For example, information on the actual store such as the position of the actual store, sales, and inventory products is added to the actual store ID for identifying the actual store. The sales price of the product is stored in association with the product code that identifies and stores each product. In addition, the service content based on the information of the electronic coupon is also stored. Further, the database 70c includes an account ID for identifying a customer, purchase history information (purchased products, actual store information, purchase price, purchase date, etc.), point information, customer personal information (name, address, Phone number, email address, gender, age, etc.).

(3)認証サーバー2の内部構成
認証サーバー2には、図4に示すように、ワンタイムコードデータベース2aと、購買履歴情報蓄積部2bとが接続されている。ワンタイムコードデータベース2aは、認証処理に関する情報を蓄積するデータベースであり、本実施形態では、ユーザー特定情報に、パスワード、本動的認証プログラムを含むアプリケーションのID、認証処理に関する情報、クーポンサーバー3及びポイントサーバー4でユーザーを識別するアカウントID、決済処理に用いられるトランザクションIDなどが関連付けて蓄積されている。
(3) Internal Configuration of Authentication Server 2 As shown in FIG. 4, a one-time code database 2a and a purchase history information storage unit 2b are connected to the authentication server 2. The one-time code database 2a is a database that accumulates information related to authentication processing. In this embodiment, the user identification information includes a password, an ID of an application including the dynamic authentication program, information related to authentication processing, a coupon server 3 and An account ID for identifying the user in the point server 4 and a transaction ID used for the settlement processing are stored in association with each other.

なお、認証サーバー2に蓄積されるユーザー特定情報としては、シリアルナンバーやMACアドレスその他のユーザー端末の製造時に付与された1つのユーザー端末に固有且つ単一のデバイスIDのほか、ユーザー毎に付与されるユーザー固有のユーザーIDや、アプリケーションに固有のAPPID、サービスに対するアクセス権限に固有のアクセスID、又はこれらを組み合わせて定められるユニークな値など、一つの端末に複数付与される識別子が含まれる。   The user identification information stored in the authentication server 2 is given to each user in addition to a single device ID that is unique to one user terminal given at the time of manufacture of the user terminal, such as a serial number, MAC address, etc. A plurality of identifiers assigned to one terminal, such as a user ID unique to a user, an APPID unique to an application, an access ID unique to an access right to a service, or a unique value determined by combining these.

ここで、認証処理に関する情報とは、サーバー側一方向性関数であるハッシュ関数H、ハッシュ関数Hが適用された各世代の乱数H(nは第1世代〜第n世代)と、ハッシュ関数の適用回数、ハッシュ関数Hが含まれる。なお、認証処理に関する情報には、トークン情報及びトークン情報の有効期限が蓄積される。これらの情報は、ユーザー特定情報に関連付けられて蓄積されている。また、前回使用された第2のワンタイムコードに、購買情報が関連付けられて蓄積されている。ここで、購買情報には、ポイント情報、電子クーポン情報、決済情報など、認証処理に関係するユーザーの消費行動に関する情報である。なお、この情報は、認証用コード保存部26でデータベース内に保存された、ユーザー特定情報とは関連付けされることなく保存される。これにより、認証用のワンタイムコードとユーザー特定情報とを紐付けるデータはないので、購買情報とユーザーとを紐付けることできず、個人情報を保護することができる。 Here, the information related to the authentication process includes a hash function H S that is a server-side one-way function, a random number H n of each generation to which the hash function H S is applied (n is a first generation to an nth generation), number application of the hash function includes a hash function H C is. Note that token information and the expiration date of the token information are stored in the information related to the authentication process. These pieces of information are stored in association with the user identification information. Further, purchase information is stored in association with the second one-time code used last time. Here, the purchase information is information related to user consumption behavior related to the authentication process, such as point information, electronic coupon information, and payment information. This information is stored without being associated with the user identification information stored in the database by the authentication code storage unit 26. As a result, there is no data for associating the one-time code for authentication with the user identification information, so that the purchase information cannot be associated with the user, and personal information can be protected.

また、ワンタイムコードデータベース2aには、決済処理に関するトランザクション情報が含まれており、このトランザクション情報には、トランザクションを識別するトランザクションIDに、使用されたワンタイムパスワード、支払い総額、使用日時、アカウントIDが関連付けて記憶されている。さらに、ワンタイムコードデータベース2aには、使用履歴情報が含まれており、使用履歴情報には、店舗で支払時に生成されたレシートを識別するレシートIDに、アカウントID、支払い金額、レシート内容、受領日時、利用ポイント、利用クーポンが蓄積されている。このようなワンタイムコードデータベース2aに蓄積される情報は、必要に応じて外部からの問い合せに対応可能であるものとする。   The one-time code database 2a includes transaction information related to payment processing. The transaction information includes a transaction ID for identifying a transaction, a one-time password used, a total payment amount, a use date, an account ID. Are stored in association with each other. Furthermore, the one-time code database 2a includes usage history information. The usage history information includes a receipt ID for identifying a receipt generated at the store at the time of payment, an account ID, a payment amount, receipt contents, and receipt. The date and time, usage points, and usage coupons are accumulated. It is assumed that such information stored in the one-time code database 2a can respond to inquiries from the outside as necessary.

購買履歴情報蓄積部2bは、購買情報を、第1又は第2の認証用ワンタイムコード及び認証処理の結果と関連付けてデータベースであり、認証管理部20において、認証情報に含まれる購買情報が取得され、この購買情報を、第1又は第2の認証用ワンタイムコード及び認証処理の結果と関連付けて蓄積している。   The purchase history information storage unit 2b is a database that associates purchase information with the first or second one-time code for authentication and the result of the authentication process, and the authentication management unit 20 acquires purchase information included in the authentication information. The purchase information is stored in association with the first or second authentication one-time code and the result of the authentication process.

一方、認証サーバー2には、認証管理部20と連携部20aとを備えている。認証管理部20は、認証処理全体を管理するモジュール群であり、ユーザー端末1から、認証用通信経路(読取手段76)を介して、第1のワンタイムコード及び第2のワンタイムコード等を含むワンタイムパスワード取得して認証処理を実行したり、連携用通信経路を通じて初期設定処理及び連携処理等を行う。具体的に、認証管理部20には、連携処理部21と、初期化処理部22と、認証用コード選択部23と、低減回数補完部24と、認証部25と、認証用コード保存部26とを備えている。   On the other hand, the authentication server 2 includes an authentication management unit 20 and a cooperation unit 20a. The authentication management unit 20 is a module group that manages the entire authentication process, and receives a first one-time code, a second one-time code, and the like from the user terminal 1 via an authentication communication path (reading unit 76). The authentication process is executed by acquiring the one-time password including the initial setting process and the cooperation process through the communication path for cooperation. Specifically, the authentication management unit 20 includes a cooperation processing unit 21, an initialization processing unit 22, an authentication code selection unit 23, a reduction number complementing unit 24, an authentication unit 25, and an authentication code storage unit 26. And.

連携処理部21は、連携用通信経路を通じてユーザー端末1からのログイン等の連携処理を受け付けるモジュールであり、本実施形態では、会員登録処理又は初期設定処理時においてユーザー特定情報及びパスワードの入力を受け付けてログインの認証を行う。なお、連携処理部21は、最初にユーザー端末1からアクセスがあった場合には、会員登録処理を行い、ユーザー特定情報及びパスワードを取得する。取得したユーザー特定情報及びパスワードは、ハッシュ関数Hとともにワンタイムコードデータベース2aに蓄積される。 The cooperation processing unit 21 is a module that accepts cooperation processing such as login from the user terminal 1 through the communication path for cooperation. In this embodiment, the cooperation processing unit 21 accepts input of user identification information and a password during member registration processing or initial setting processing. To authenticate login. In addition, when there is an access from the user terminal 1 for the first time, the cooperation processing unit 21 performs member registration processing and acquires user specifying information and a password. Obtained user specific information and the password is stored in the one-time code database 2a with the hash function H C.

初期化処理部22は、連携用通信経路を通じて、認証処理に用いる乱数及びハッシュ回数を初期化するモジュールである。ユーザー端末1から初期化の操作が行われると、使用される各世代の乱数H(nは第1世代〜第n世代)と、所定ハッシュ回数とを新たに決定する。この際、初期化処理部22では、ユーザー端末1の次回認証用コード作成部144で初回に生成された第1のワンタイムコードをユーザー特定情報とともに取得して、ワンタイムコードデータベース2aに蓄積する。 The initialization processing unit 22 is a module that initializes a random number and a hash count used for the authentication process through the communication path for cooperation. When an initialization operation is performed from the user terminal 1, a random number H n for each generation to be used (n is a first generation to an nth generation) and a predetermined number of hashes are newly determined. At this time, the initialization processing unit 22 acquires the first one-time code generated for the first time by the next authentication code creation unit 144 of the user terminal 1 together with the user identification information and accumulates it in the one-time code database 2a. .

認証用コード保存部26は、ユーザー端末1から送信されたワンタイムコードをワンタイムコードデータベース2a内に保存するモジュールであり、認証用通信経路及び連携用通信経路を通じて取得したデータを保存する。ここで、連携用通信経路を通じて、ユーザー端末1上において初回に生成された第1のワンタイムコードを取得すると、認証用コード保存部26は、この第1のワンタイムコードを用いて、ハッシュ関数Hを用いた演算により認証用第1のワンタイムコードを生成し、認証用第1のワンタイムコードと、ユーザー特定情報と関連付けて保存する。 The authentication code storage unit 26 is a module that stores the one-time code transmitted from the user terminal 1 in the one-time code database 2a, and stores data acquired through the authentication communication path and the cooperation communication path. Here, when the first one-time code generated for the first time on the user terminal 1 is acquired through the communication path for cooperation, the authentication code storage unit 26 uses the first one-time code to generate a hash function. the calculation using the H S generates a first one-time code for authentication, a first one-time code for authentication and stored in association with the user identifying information.

また、認証用通信経路を通じて、第1のワンタイムコード及び第2のワンタイムコードを取得すると、認証用コード保存部26は、第1のワンタイムコードを用いて、ハッシュ関数Hを用いた演算により認証用第1のワンタイムコードを生成するとともに、第2のワンタイムコードを用いて、ハッシュ関数Hを用いた演算により認証用第2のワンタイムコードを生成し、これら第1及び第2の認証用ワンタイムコードと、ユーザー特定情報と関連付けてワンタイムコードデータベース2a内に保存する。 In addition, through the authentication communication path acquires the first one-time code and a second one-time code, authentication code storage unit 26, using the first one-time code, using the hash function H S to generate a first one-time code for authentication by calculation, using a second one-time code, the operation using the hash function H S to generate a second one-time code for authentication, the first and The second authentication one-time code is stored in the one-time code database 2a in association with the user specifying information.

認証用コード選択部23は、ユーザー端末1から認証用通信経路を通じて取得したワンタイムパスワードの認証を行う際、通信状態に応じて、認証用第1のワンタイムコード又は認証用第2のワンタイムコードのいずれかを選択して認証用コード保存部26から取得するモジュールである。ここで、認証用コード選択部23は、ワンタイムパスワードが送信される前に、認証結果の確認が連携用認証経路を通じてユーザー端末1から送信されているか否かに応じて通信状態を判別しており、認証結果の確認を取得している場合には、連携用通信経路での通信が可能と判断し、認証結果の確認を取得していない場合には、連携用通信経路での通信が不通であると判断する。   When authenticating the one-time password acquired from the user terminal 1 through the authentication communication path, the authentication code selection unit 23 performs the first one-time code for authentication or the second one-time for authentication depending on the communication state. This is a module that selects one of the codes and acquires it from the authentication code storage unit 26. Here, before the one-time password is transmitted, the authentication code selection unit 23 determines the communication state according to whether or not the confirmation of the authentication result is transmitted from the user terminal 1 through the cooperation authentication path. If the authentication result confirmation is acquired, it is determined that communication can be performed on the communication path for cooperation. If the authentication result confirmation is not acquired, communication on the communication path for cooperation is not performed. It is judged that.

そして、認証用コード選択部23では、連携用通信経路での通信が可能である場合には、認証用第1のワンタイムコードを選択し、連携用通信経路での通信が不通である場合には、認証サーバー2と同期が確認できている最終世代のワンタイムコード、すなわち、認証用第2のワンタイムコードを選択する。   Then, in the case where communication through the cooperation communication path is possible, the authentication code selection unit 23 selects the first one-time code for authentication, and the communication through the communication path for cooperation is interrupted. Selects the last generation one-time code whose synchronization with the authentication server 2 has been confirmed, that is, the second one-time code for authentication.

低減回数補完部24は、認証管理部20が取得したワンタイムパスワードのうち第2のワンタイムコードに対して、低減回数分のハッシュ関数Hによる演算を実行するモジュールである。ここでの低減回数分とはハッシュ回数1回分である。 Reducing the number of complementary section 24, to the second one-time code of the one-time password authentication management unit 20 obtains a module that executes calculation by a hash function H C reduction number of times. Here, the reduction count is one hash count.

認証部25は、認証用コード選択部23が選択した認証用第1のワンタイムコード又は認証用第2のワンタイムコードと、低減回数補完部24で演算を実行した第2のワンタイムコードとに基づいて、認証処理を行うモジュールである。なお、認証管理部20は、ユーザー端末1に対して認証結果を送信する機能を有している。また、認証管理部20は、認証情報に含まれる購買情報を取得し、この購買情報を、ユーザー特定情報及び認証処理の結果と関連付けて購買履歴情報蓄積部2bに蓄積する。購買履歴情報蓄積部2bは、購買情報を、第1又は第2の認証用ワンタイムコード及び認証処理の結果と関連付けてデータベースである。   The authentication unit 25 includes a first one-time code for authentication or a second one-time code for authentication selected by the authentication code selection unit 23, and a second one-time code executed by the reduction number complementing unit 24 This is a module that performs authentication processing based on the above. Note that the authentication management unit 20 has a function of transmitting an authentication result to the user terminal 1. Further, the authentication management unit 20 acquires purchase information included in the authentication information, and stores this purchase information in the purchase history information storage unit 2b in association with the user identification information and the result of the authentication process. The purchase history information storage unit 2b is a database that associates purchase information with the first or second authentication one-time code and the result of the authentication process.

連携部20aは、通信ネットワーク5を通じてクーポンサーバー3、ポイントサーバー4、及び決済サーバー6と連携を取り、決済完了するまでの各処理を実行するモジュールである。具体的に、クーポンサーバー3及びポイントサーバー4は、認証用コード保存部26に保存された情報を、必要に応じて問い合せることが可能であり、連携部20aは、クーポンサーバー3及びポイントサーバー4と連携を取り、クーポン及びポイントの利用可否を判断したり、認証処理後にクーポン及びポイントの消し込み処理を実行させたりする。また、連携部20aは、認証処理の後、決済サーバー6に対して、支払い金額などの各種決済情報を送信する。決済サーバー6は、認証用コード保存部26に保存された情報を、必要に応じて問い合せることが可能であり、決済サーバー6は、認証処理の結果に基づく価値情報の有効性に関する判断情報を取得し、判断情報に基づいて、価値情報の有効性を反映させた決済処理を実行する。   The cooperation unit 20 a is a module that cooperates with the coupon server 3, the point server 4, and the payment server 6 through the communication network 5 and executes each process until payment is completed. Specifically, the coupon server 3 and the point server 4 can inquire the information stored in the authentication code storage unit 26 as necessary, and the cooperation unit 20a is connected to the coupon server 3 and the point server 4 with each other. Coordination is performed to determine whether or not the coupon and the point can be used, or the coupon and the point deletion process are executed after the authentication process. In addition, the cooperation unit 20a transmits various payment information such as a payment amount to the payment server 6 after the authentication process. The settlement server 6 can inquire the information stored in the authentication code storage unit 26 as necessary, and the settlement server 6 obtains judgment information regarding the validity of the value information based on the result of the authentication process. Then, based on the judgment information, a settlement process reflecting the validity of the value information is executed.

(4)クーポンサーバー3の内部構成
このクーポンサーバー3には、クーポンデータベース3aが接続されている。クーポンデータベース3aには、電子クーポン情報を蓄積するデータベースであり、本実施形態では、クーポン識別情報に、電子クーポンの内容、電子クーポンの条件、割引率、割引額、有効期限、及び商品コードなどが関連付けて記憶されているとともに、ユーザーを識別するユーザー特定情報とは異なるアカウント情報と利用日時情報が紐付けられる。
(4) Internal configuration of coupon server 3 A coupon database 3a is connected to the coupon server 3. The coupon database 3a is a database that stores electronic coupon information. In this embodiment, the coupon identification information includes the contents of the electronic coupon, the conditions of the electronic coupon, the discount rate, the discount amount, the expiration date, and the product code. Account information and usage date / time information that are stored in association with each other and that are different from the user identification information for identifying the user are associated with each other.

一方、クーポンサーバー3には、クーポン取得部31と、利用可否確認部32と、利用状況更新部33と、クーポン追加部34とを備えている。クーポン取得部31は、ユーザー端末1から電子クーポン情報の取得操作があった場合に、クーポンデータベース3a内から当該ユーザーが所持している電子クーポン情報をユーザー端末1に送信するモジュールであり、クーポンデータベース3a内の当該クーポン識別情報にアカウント情報を付加する。   On the other hand, the coupon server 3 includes a coupon acquisition unit 31, a use availability confirmation unit 32, a usage status update unit 33, and a coupon addition unit 34. The coupon acquisition unit 31 is a module that transmits electronic coupon information possessed by the user from the coupon database 3a to the user terminal 1 when the electronic terminal information acquisition operation is performed from the user terminal 1, and the coupon database Account information is added to the coupon identification information in 3a.

利用可否確認部32は、認証サーバー2から送信された電子クーポン情報に応じて、クーポンデータベース3a内の電子クーポン情報を参照し、当該電子クーポン情報が利用可能か否かを判別するモジュールである。この判別処理とは、例えば、利用する電子クーポンがデータベース内に蓄積されているか否かや、電子クーポン情報の利用期限を超過していないか否かなどである。   The availability check unit 32 is a module that refers to the electronic coupon information in the coupon database 3a according to the electronic coupon information transmitted from the authentication server 2, and determines whether the electronic coupon information is available. This discrimination processing includes, for example, whether or not electronic coupons to be used are accumulated in the database, whether or not the expiration date of electronic coupon information has been exceeded, and the like.

利用状況更新部33は、利用された電子クーポン情報に基づいて、クーポンデータベース3a内の電子クーポン情報を更新するモジュールである。具体的に、利用状況更新部33は、使用済みの電子クーポン情報を識別するクーポン識別情報に基づいて、データベース3a内の電子クーポン情報を消し込む処理を行う。   The usage status update unit 33 is a module that updates the electronic coupon information in the coupon database 3a based on the used electronic coupon information. Specifically, the usage status update unit 33 performs a process of deleting the electronic coupon information in the database 3a based on the coupon identification information for identifying the used electronic coupon information.

クーポン追加部34は、クーポンサーバーの管理者の操作に応じて電子クーポン情報をクーポンデータベース3a内に追加するモジュールであり、例えば、商品又はサービスを識別する識別情報に、割引率、有効期限等を設定する。   The coupon adding unit 34 is a module for adding electronic coupon information in the coupon database 3a in accordance with the operation of the administrator of the coupon server. For example, the coupon adding unit 34 adds a discount rate, an expiration date, etc. to identification information for identifying a product or service. Set.

(5)ポイントサーバー4の内部構成
このポイントサーバー4には、ポイントデータベース4aが接続されている。ポイントデータベース4aは、ポイント情報を蓄積するデータベースであり、本実施形態では、ユーザーを識別するアカウント情報に、利用可能なポイント数、各ポイントの利用期限情報、更新日時等が関連付けて記憶されている。
(5) Internal Configuration of Point Server 4 To this point server 4, a point database 4a is connected. The point database 4a is a database that accumulates point information. In this embodiment, the number of points that can be used, expiration date information of each point, update date and time, and the like are stored in association with account information that identifies a user. .

一方、ポイントサーバー4には、ポイント取得部41と、利用可否確認部42と、利用状況更新部43と、ポイント追加部44とを備えている。ポイント取得部41は、ユーザー端末1からポイント情報の取得操作があった場合に、ポイントデータベース4a内から当該ユーザーが所持しているポイント数をポイント情報として、ユーザー端末1に送信するモジュールである。   On the other hand, the point server 4 includes a point acquisition unit 41, a use availability confirmation unit 42, a usage status update unit 43, and a point addition unit 44. The point acquisition unit 41 is a module that, when there is an operation for acquiring point information from the user terminal 1, transmits the number of points possessed by the user from the point database 4a as point information to the user terminal 1.

利用可否確認部42は、認証サーバー2から送信されたポイント情報に応じて、ポイントデータベース4a内のポイント情報を参照し、当該ポイント情報が利用可能か否かを判別するモジュールである。この判別処理とは、例えば、利用するポイント数がデータベース内に蓄積されているポイント数より少ないか否かや、ポイント数の利用期限を超過していないか否かなどである。   The availability check unit 42 is a module that refers to the point information in the point database 4a according to the point information transmitted from the authentication server 2 and determines whether the point information is available. This determination processing includes, for example, whether or not the number of points to be used is less than the number of points stored in the database, whether or not the expiration date for the number of points has been exceeded, and the like.

利用状況更新部43は、利用されたポイント情報に基づいて、ポイントデータベース4a内のポイント情報を更新するモジュールである。具体的に利用状況更新部43は、認証サーバー2から利用されたポイント情報を取得すると、データベース4aに記録されているポイント数から、利用されたポイント数を減算する。   The usage status update unit 43 is a module that updates the point information in the point database 4a based on the used point information. Specifically, when the usage status update unit 43 acquires the used point information from the authentication server 2, the usage status update unit 43 subtracts the used number of points from the number of points recorded in the database 4a.

ポイント追加部44は、ポイント管理者の操作に応じてポイントデータベース4a内のポイント情報を追加するモジュールである。ポイント情報を追加する場合とは、例えば、商品購入時の支払い金額に対して所定の割合を乗じた数値をポイントとして還元してもよく、また、単にポイント購入として支払われた金額に応じてポイントを追加してもよい。このポイント情報は、アカウント情報と関連付けて記憶される。   The point addition unit 44 is a module that adds point information in the point database 4a according to the operation of the point manager. In the case of adding point information, for example, a numerical value obtained by multiplying the payment amount at the time of product purchase by a predetermined ratio may be returned as points, or points may be simply added according to the amount paid as point purchases. May be added. This point information is stored in association with the account information.

(ワンタイムパスワードを用いた認証処理のアルゴリズム)
次いで、ワンタイムパスワード認証のアルゴリズムの概要について詳述する。図8は、本実施形態に係る認証処理のアルゴリズムを説明するシーケンス図である。なお、ここでは、認証環境に応じた選択処理は行われないものとする。
(Algorithm for authentication processing using one-time password)
Next, an outline of the one-time password authentication algorithm will be described in detail. FIG. 8 is a sequence diagram illustrating an algorithm for authentication processing according to the present embodiment. Here, it is assumed that selection processing according to the authentication environment is not performed.

次回認証用コード作成部144は、先ず、認証実行の前提として、認証サーバー2に記憶させる初回の第1のワンタイムコードを作成する。具体的に、図5(a)に示すように、最初の乱数Hを発生させ(S101)、この乱数Hをユーザー端末1のハッシュ関数Hでハッシュ化して、以下のようにハッシュ値Eを算出する(S102)。
The next-time authentication code creating unit 144 first creates a first first one-time code to be stored in the authentication server 2 as a premise for executing authentication. Specifically, as shown in FIG. 5 (a), to generate a first random number H 0 (S101), the random number H 0 hashed by the hash function H C of the user terminal 1, the hash value as follows E 0 is calculated (S102).

次いで、次回認証用コード作成部144は、下記のように、算出したハッシュ値Eに対し、ハッシュ関数Hによる演算を所定回数(M)だけ繰り返して第1のワンタイムコード(ハッシュ値E )を算出する(S103)。
Next, the next authentication code creation unit 144 repeats the calculation using the hash function H C a predetermined number of times (M) for the calculated hash value E 0 as described below, and the first one-time code (hash value E 0 M ) is calculated (S103).

その後、ワンタイムパスワード作成部14aは、M回ハッシュ化した第1のワンタイムコードとユーザー特定情報とを認証サーバー2に送信する(S104)。   Thereafter, the one-time password creation unit 14a transmits the first one-time code hashed M times and the user identification information to the authentication server 2 (S104).

認証サーバー2の初期化処理部22では、第1のワンタイムコード(ハッシュ値E )を取得すると(S105)、以下のように、ハッシュ値E に対してハッシュ関数Hを用いた演算により、認証用第1のワンタイムコード(ハッシュ値E’ )を算出する(S106)。
When the initialization processing unit 22 of the authentication server 2 acquires the first one-time code (hash value E 0 M ) (S105), the hash function H S is used for the hash value E 0 M as follows. The first one-time code for authentication (hash value E ′ 0 M ) is calculated by the calculated operation (S106).

その後、初期化処理部22では、認証用第1のワンタイムコードをユーザー特定情報と関連付けてワンタイムコードデータベース2aに保存する(S107)。   Thereafter, the initialization processing unit 22 stores the first one-time code for authentication in the one-time code database 2a in association with the user specifying information (S107).

次いで、ユーザー端末1側では、電子クーポン又はポイントを決済する場合、ワンタイムパスワードを生成する。この際、ワンタイムパスワード作成部14aは、次回認証用のワンタイムコードを生成する。次回認証用コード作成部144では、図5(a)に示すように、最初の乱数Hとは異なる新しい世代の乱数Hを抽出し、次世代の乱数Hをユーザー端末1のハッシュ関数Hでハッシュ化して以下のようにハッシュ値Eを算出する。
Next, on the user terminal 1 side, when the electronic coupon or the point is settled, a one-time password is generated. At this time, the one-time password creation unit 14a generates a one-time code for the next authentication. As shown in FIG. 5A, the next authentication code creation unit 144 extracts a new generation random number H 1 different from the first random number H 0, and uses the next generation random number H 1 as a hash function of the user terminal 1. hashed by H C calculates a hash value E 1 as follows.

次いで、次回認証用コード作成部144は、算出したハッシュ値Eに対しハッシュ関数Hによる演算を所定回数(M回)だけ繰り返して、以下のように次回認証用の第1のワンタイムコード(ハッシュ値E )を算出する。
Then, the next time authentication code creating unit 144 repeated for the hash value E 1 obtained by calculating the operation by the hash function H C by the predetermined number of times (M times), the first one-time code for the next authentication as follows (Hash value E 1 M ) is calculated.

次いで、今回認証用コード作成部143は、今回認証用のワンタイムスタンプとして、第2のワンタイムコードを生成する。ここでは、前回の通信時に、第1のワンタイムコード生成に用いた乱数に対し、所定回数よりも低減回数分(マイナス1回分)だけ少ない回数を繰り返したハッシュ値を生成する。ここでは、ハッシュ値E0をM−1回ハッシュ化し、第2のワンタイムコード(ハッシュ値E M−1)を算出する(S109)。 Next, the current authentication code creation unit 143 generates a second one-time code as a one-time stamp for current authentication. Here, a hash value is generated by repeating the number of times less than the predetermined number by the number of reductions (minus one time) with respect to the random number used for generating the first one-time code during the previous communication. Here, the hash value E 0 is hashed M−1 times to calculate a second one-time code (hash value E 0 M−1 ) (S109).

このように生成された第2のワンタイムコード(ハッシュ値E M−1)と第1のワンタイムコード(ハッシュ値E )とがワンタイムパスワードとなる。そして、ワンタイムパスワード作成部14aでは、ワンタイムパスワードに、ユーザー特定情報及び購買情報(クーポン情報及びポイント情報、及び決済情報)とを含めた表示情報を生成し、店舗側端末7aの読取手段を用いて、表示情報を読み取らせ、ワンタイムパスワードを認証サーバー2に送信する(S110)。 The second one-time code (hash value E 0 M-1 ) and the first one-time code (hash value E 1 M ) generated in this way become a one-time password. Then, the one-time password creation unit 14a generates display information including user identification information and purchase information (coupon information, point information, and settlement information) in the one-time password, and uses the reading means of the store side terminal 7a. The display information is read and the one-time password is transmitted to the authentication server 2 (S110).

ここで、第2のワンタイムコード(ハッシュ値E M−1)はサーバーに一度も送っていないデータなので正しいユーザー端末以外は知り得ないデータである。また、ハッシュ関数の性質から、第2のワンタイムコード(ハッシュ値E M−1)は、ステップS104で送信した初回の第1のワンタイムコード(ハッシュ値E )からも、ワンタイムコードデータベース2aに蓄積されている認証用第1のワンタイムコード(ハッシュ値E’ )からも求めることはできない。さらに、今回生成された第1のワンタイムコード(ハッシュ値E )は、新しい乱数Hから生成されたものであるため、これも予測することができない。 Here, since the second one-time code (hash value E 0 M−1 ) is data that has never been sent to the server, it is data that cannot be known except by a correct user terminal. Further, due to the nature of the hash function, the second one-time code (hash value E 0 M−1 ) is also derived from the first first one-time code (hash value E 0 M ) transmitted in step S104. It cannot be obtained from the first one-time code for authentication (hash value E ′ 0 M ) stored in the code database 2a. Further, since the first one-time code (hash value E 1 M ) generated this time is generated from a new random number H 1, it cannot be predicted.

認証サーバー2の認証管理部20では、これら第2のワンタイムコード(ハッシュ値E M−1)と第1のワンタイムコード(ハッシュ値E )との情報を取得すると(S111)、以下のように、第2のワンタイムコード(ハッシュ値E M−1)に対して低減回数分のハッシュ関数Hによる演算を行いハッシュ値E’ M−1を生成し、さらに、サーバー側のハッシュ関数Hによる演算によりハッシュ値E’ を算出する(S112)。
When the authentication management unit 20 of the authentication server 2 acquires information on the second one-time code (hash value E 0 M-1 ) and the first one-time code (hash value E 1 M ) (S111), As described below, the second one-time code (hash value E 0 M−1 ) is calculated by the hash function H C corresponding to the number of reductions to generate a hash value E ′ 0 M−1 , and the server The hash value E ′ 0 M is calculated by the calculation using the hash function H S on the side (S112).

なお、ハッシュ値E’ M−1を生成できるのは、ハッシュ関数Hを知っている認証サーバー2だけである。そして、認証部25は、算出されたハッシュ値と、ワンタイムコードデータベース2aに保存されている認証用第1のワンタイムコード(ハッシュ値E’ )とを比較して認証処理を行う(S113)。ハッシュ値が異なる場合(S114における“N”)は、認証が失敗した旨の認証結果をPOSサーバーに送信する(S119)。一方、ハッシュ値がどちらも同一のハッシュ値である場合にはユーザーの認証は成功される(S114における“Y”)。ここでは、どちらのワンタイムコードもハッシュ値E’ となるため、認証は成功する。 Only the authentication server 2 that knows the hash function H S can generate the hash value E ′ 0 M−1 . Then, the authentication unit 25 compares the calculated hash value with the first one-time code for authentication (hash value E ′ 0 M ) stored in the one-time code database 2a to perform an authentication process ( S113). If the hash values are different (“N” in S114), an authentication result indicating that the authentication has failed is transmitted to the POS server (S119). On the other hand, if both hash values are the same hash value, user authentication is successful ("Y" in S114). Here, since both one-time codes have the hash value E ′ 0 M , the authentication is successful.

認証が成功すると認証部25は、第1のワンタイムコード(ハッシュ値E )に対して、ハッシュ関数Hを用いた演算を行い、次回の認証用第1のワンタイムコード(ハッシュ値E’ )を以下のように算出する(S115)。
If the authentication is successful, the authentication unit 25 performs an operation using the hash function H S on the first one-time code (hash value E 1 M ), and the first one-time code for the next authentication (hash value) E ′ 1 M ) is calculated as follows (S115).

そして、算出した認証用第1のワンタイムコード(ハッシュ値E’ )はユーザー特定情報に関連付けて上書き保存をする(S116)。なお、今回認証用として用いた第2のワンタイムコード(ハッシュ値E M−1)も、ハッシュ関数Hを用いた演算を行い、次回の認証用第2のワンタイムコード(ハッシュ値E’ M−1)を算出し、ユーザー特定情報に関連付けてワンタイムコードデータベース2aに保存する(S117)。その理由は後述する。また、認証部25は、購買情報を、今回認証用に用いた認証用第1のワンタイムコード(ハッシュ値E’ )と関連付けて保存する(S118)。これにより、ワンタイムコードデータベース2aには、認証用第1のワンタイムコード(ハッシュ値E’ )とユーザー特定情報とを紐付けるデータはないため、ユーザーを特定することはできなくなる。 The calculated first one-time code for authentication (hash value E ′ 1 M ) is overwritten and stored in association with the user specifying information (S116). Note that the second one-time code (hash value E 0 M−1 ) used for authentication this time is also calculated using the hash function H S , and the next second one-time code for authentication (hash value E '0 M-1) is calculated and stored in the one-time code database 2a in association with the user identifying information (S117). The reason will be described later. Further, the authentication unit 25 stores the purchase information in association with the first one-time code for authentication (hash value E ′ 0 M ) used for the current authentication (S118). As a result, there is no data in the one-time code database 2a for associating the first one-time code for authentication (hash value E ′ 0 M ) with the user specifying information, so that the user cannot be specified.

また、ステップS115で算出した新たな認証用第1のワンタイムコード(ハッシュ値E’ )と、保存された認証用第1のワンタイムコード(ハッシュ値E’ )とは、異なる乱数を用いているため何ら関係性はない。さらに、ワンタイムコードデータベース2aには、第2のワンタイムコード(ハッシュ値E M−1)を記憶しているが、ハッシュ関数の性質により、認証用第1のワンタイムコード(ハッシュ値E’ )と第2のワンタイムコード(ハッシュ値E M−1)とは、どちらもいずれかのハッシュ値から他方を求めることは困難である。その後、認証管理部20は、ユーザー端末1又は店舗側端末7aに認証結果を送信し(S119)、POSサーバーの画面上には認証結果が表示される(S120)。 Also, the new first one-time code for authentication (hash value E ′ 1 M ) calculated in step S115 is different from the stored first one-time code for authentication (hash value E ′ 0 M ). There is no relationship because random numbers are used. Further, the second one-time code (hash value E 0 M−1 ) is stored in the one-time code database 2a, but the first one-time code for authentication (hash value E '0 M) and the second one-time code (hash value E 0 M-1), both of which are difficult to determine the other from one of the hash values. Thereafter, the authentication management unit 20 transmits the authentication result to the user terminal 1 or the shop side terminal 7a (S119), and the authentication result is displayed on the screen of the POS server (S120).

(ワンタイムパスワードを用いた認証機能の各処理について)
次いで、上述したワンタイムパスワードのアルゴリズムを本システム上で動作させた場合の各処理について説明する。
(About each process of authentication function using one-time password)
Next, each process when the above-described one-time password algorithm is operated on this system will be described.

(1)ワンタイムパスワードの初期化処理
初めに、ワンタイムパスワードの初期化処理について説明する。図9は、本実施形態に係る認証機能の初期化処理を示すシーケンス図である。初期化処理とは、ユーザー端末1及び認証サーバー2において、使用する乱数及びハッシュ回数を設定するものであり、この処理は、動的認証プログラムを最初に実行した場合や、ユーザー操作によって実行される。
(1) One-time password initialization process First, the one-time password initialization process will be described. FIG. 9 is a sequence diagram showing an initialization process of the authentication function according to the present embodiment. The initialization process is to set a random number and a hash count to be used in the user terminal 1 and the authentication server 2, and this process is executed when the dynamic authentication program is executed first or by a user operation. .

具体的に、ワンタイムパスワード作成部14aにおいて、動的認証プログラムが実行されると、ユーザー端末1の画面上において、ユーザーID及びパスワードを入力させる入力欄が表示される。なお、この入力欄における入力としては、ユーザーIDの他、端末IDやAPPIDなどのユーザー特定情報が含まれ、これらのIDは、ユーザーが手操作で入力する他、端末側から自動的に入力或いは送信される場合が含まれる。そして、ユーザー操作又は自動入力によって、ユーザー特定情報及びパスワードが入力されると、これらのデータが認証サーバー2に送信される(S201)。ここで認証サーバー2側では、会員登録処理は実行されており、ワンタイムコードデータベース2a内には予めユーザー特定情報(デバイス情報)とパスワードが登録されているものとする。   Specifically, when the dynamic authentication program is executed in the one-time password creation unit 14a, an input column for inputting a user ID and a password is displayed on the screen of the user terminal 1. The input in this input field includes user identification information such as a terminal ID and APPID in addition to the user ID, and these IDs are automatically input from the terminal side or manually input by the user. Includes cases where it is sent. When the user specifying information and the password are input by user operation or automatic input, these data are transmitted to the authentication server 2 (S201). Here, it is assumed that the member registration process is executed on the authentication server 2 side, and user identification information (device information) and a password are registered in advance in the one-time code database 2a.

そして、認証サーバー2の連携処理部21では、ワンタイムコードデータベース2aに記録されているユーザー特定情報(ユーザーIDやデバイス情報等)及びパスワードに基づいてパスワード認証を行う(S202)。その後、認証サーバー2では、パスワード認証が成功した場合には、ユニークなデータであるトークンを発行して、ユーザー端末1に送信する(S203)。   Then, the cooperation processing unit 21 of the authentication server 2 performs password authentication based on the user identification information (user ID, device information, etc.) and the password recorded in the one-time code database 2a (S202). Thereafter, if the password authentication is successful, the authentication server 2 issues a token which is unique data and transmits it to the user terminal 1 (S203).

ユーザー端末1のワンタイムパスワード作成部14aでは、取得したトークンに基づいて認証サーバー2にアクセスし、認証サーバー2では、ワンタイムパスワードの初期化が行われる(S204)。ここでは、使用される各世代の乱数H(nは第1世代〜第n世代)と、所定ハッシュ回数とを新たに決定する。その後、認証サーバ2は、認証結果をユーザー端末1に送信する(S205)。 The one-time password creation unit 14a of the user terminal 1 accesses the authentication server 2 based on the acquired token, and the authentication server 2 initializes the one-time password (S204). Here, a random number H n (n is the first generation to the nth generation) for each generation to be used and a predetermined hash count are newly determined. Thereafter, the authentication server 2 transmits an authentication result to the user terminal 1 (S205).

なお、動的認証プログラムを最初に実行した場合には、動的認証プログラムは、新規登録処理を行うために、認証サーバー2にアクセスする。そして、ユーザー端末1の画面上において、ユーザー特定情報(デバイス情報)及びパスワードの設定が行われ、これらのデータが認証サーバー2のワンタイムコードデータベース2aに登録される。この際、ユーザーの個人情報(氏名、年齢、性別等)の他、決済情報(クレジットカード番号等)なども登録される。   When the dynamic authentication program is executed first, the dynamic authentication program accesses the authentication server 2 in order to perform a new registration process. Then, user identification information (device information) and a password are set on the screen of the user terminal 1, and these data are registered in the one-time code database 2 a of the authentication server 2. At this time, in addition to the user's personal information (name, age, gender, etc.), payment information (credit card number, etc.) is also registered.

(2)認証環境に応じた認証処理について
次いで、認証環境に応じたユーザー端末1と認証サーバー2の認証処理について説明する。図10は、本実施形態に係る通信可能時における処理を示すシーケンス図である。また、図11は、本実施形態に係る通信不通時における処理を示すシーケンス図であり、図12は、本実施形態に係るエラー発生時における処理を示すシーケンス図である。
(2) Authentication process according to authentication environment Next, the authentication process of the user terminal 1 and the authentication server 2 according to the authentication environment will be described. FIG. 10 is a sequence diagram illustrating processing when communication is possible according to the present embodiment. FIG. 11 is a sequence diagram illustrating a process when communication is not performed according to the present embodiment. FIG. 12 is a sequence diagram illustrating a process when an error occurs according to the present embodiment.

なお、ここでは、どのようなハッシュ値が生成されるかを図5(b)及び(c)を用いて説明するものとし、以下の説明において、前回の認証処理では、今回認証のタイムスタンプとしての第2のワンタイムコード(ハッシュ値E M−1)が送信され、次回認証用として第1のワンタイムコード(ハッシュ値E )が送信されたものとする。そして、認証用コード保存部26では、第1のワンタイムコード及び第2のワンタイムコードに対し、ハッシュ関数Hを用いた演算を行い、認証用第1のワンタイムコード(ハッシュ値E’ )、認証用第2のワンタイムコード(ハッシュ値E’ M−1)を生成し、これら第1及び第2の認証用ワンタイムコード(ハッシュ値E’ M−1)と、ユーザー特定情報とが関連付けて保存されているものとする。そして、ここでは、第2のワンタイムコード(ハッシュ値E M−1)を第2のワンタイムコードαと称し、第1のワンタイムコード(ハッシュ値E )を第1のワンタイムコードβと称する。また、今回の認証処理において生成され、ワンタイムコードとなる第2のワンタイムコードをα1と称し、第1のワンタイムコードをβ1と称するものとする。 Here, it is assumed that what hash value is generated will be described with reference to FIGS. 5B and 5C. In the following description, in the previous authentication process, the time stamp of the current authentication is used. The second one-time code (hash value E 0 M−1 ) is transmitted, and the first one-time code (hash value E 1 M ) is transmitted for the next authentication. Then, in the authentication code storage unit 26, with respect to the first one-time code and a second one-time code, it performs a calculation using the hash function H S, the first one-time code for authentication (hash value E ' 1 M ), a second one-time code for authentication (hash value E ′ 0 M−1 ), and the first and second one-time codes for authentication (hash value E ′ 0 M−1 ), Assume that user-specific information is stored in association with each other. Here, the second one-time code (hash value E 0 M-1 ) is referred to as a second one-time code α, and the first one-time code (hash value E 1 M ) is referred to as the first one-time code. This is referred to as code β. In addition, the second one-time code that is generated in the current authentication process and becomes the one-time code is referred to as α1, and the first one-time code is referred to as β1.

(A)通信可能状態にある場合の処理
先ず、ユーザー端末1と認証サーバー2とが通信可能である場合の処理について説明する。図10に示すように、ユーザー端末1は、認証結果の確認を行うため、連携用通信経路を通じて、認証サーバーにアクセスする。ここでは、通信可能であり、ユーザー特定情報(端末固有識別子)を認証サーバー2に送信する(S301)。認証サーバー2の認証管理部20では、認証結果の情報を送信する(S302)。この際、認証管理部20は、前回使用されたワンタイムパスワード(各ハッシュ値)は送信しないようにする。ユーザー端末1の認証環境確認部141では、認証結果の情報を取得すると、通信環境があると判断し、その結果を乱数選択部142及び今回認証用コード作成部143に送信する。これにより、ワンタイムパスワード作成部14aでは、認証結果の情報が得られ、通信環境がある場合に応じた第2のワンタイムコードα1及び次回認証用ハッシュ値β1が作成される(S303)。
(A) Processing when Communication is Enabled First, processing when the user terminal 1 and the authentication server 2 can communicate will be described. As illustrated in FIG. 10, the user terminal 1 accesses the authentication server through the cooperation communication path in order to confirm the authentication result. Here, communication is possible and user identification information (terminal unique identifier) is transmitted to the authentication server 2 (S301). The authentication management unit 20 of the authentication server 2 transmits authentication result information (S302). At this time, the authentication management unit 20 does not transmit the previously used one-time password (each hash value). Upon obtaining the authentication result information, the authentication environment confirmation unit 141 of the user terminal 1 determines that there is a communication environment, and transmits the result to the random number selection unit 142 and the current authentication code creation unit 143. As a result, the one-time password creation unit 14a obtains the authentication result information, and creates the second one-time code α1 and the next authentication hash value β1 according to the communication environment (S303).

具体的に、乱数選択部142では、通信状態に応じて、第1のワンタイムコード又は第2のワンタイムコードに用いられた次世代乱数又は前世代乱数のいずれか選択する。ここでは、通信可能であるため、乱数選択部142は、前回送信された、第1のワンタイムコードに用いられた乱数(ここでは、乱数H)を選択する。そして、今回認証用コード作成部143では、この乱数Hに対し、ハッシュ関数Hによる演算を、選択された乱数に対する所定回数(M回)よりも低減回数分(1回分)だけ少ない回数を繰り返して第2のワンタイムコードα1を生成する。ここでは、図5(b)に示すように、前回送信した第1のワンタイムコードβよりハッシュ回数を1つ減らしたハッシュ値E M−1を第2のワンタイムコードα1として生成する。 Specifically, the random number selection unit 142 selects either the next generation random number or the previous generation random number used for the first one-time code or the second one-time code according to the communication state. Here, since communication is possible, the random number selection unit 142 selects the random number (here, the random number H 1 ) used for the first one-time code transmitted last time. Then, in the current authentication code creating unit 143, to the random number H 1, the calculation by a hash function H C, the number of times less a predetermined number of times for the selected random number reduced number of times than the (M times) (1 batch) The second one-time code α1 is generated repeatedly. Here, as shown in FIG. 5B, a hash value E 1 M−1 obtained by reducing the number of hashes by one from the first one-time code β transmitted last time is generated as the second one-time code α1.

次に、次回認証用コード作成部144は、第1のワンタイムコードβ1を生成する。次回認証用コード作成部144は、第2のワンタイムコードα1に用いる乱数とは異なる次世代の乱数(ここでは、乱数H)を発生させ、この次世代乱数に対して、上記の式4及び式5のように、ハッシュ関数Hによる演算を所定回数(M回)だけ繰り返してハッシュ値E を生成する。そして、ワンタイムパスワード作成部14aは、これら第2のワンタイムコードα1と第1のワンタイムコードβ1とをワンタイムパスワードとして生成する。 Next, the next authentication code creation unit 144 generates a first one-time code β1. The next authentication code creation unit 144 generates a next generation random number (in this case, the random number H 2 ) different from the random number used for the second one-time code α1, and the above expression 4 is used for the next generation random number. and as in equation 5, by repeating the calculation by a hash function H C predetermined number of times (M times) only generate the hash value E 2 M. Then, the one-time password creation unit 14a generates the second one-time code α1 and the first one-time code β1 as a one-time password.

そして、生成された第2のワンタイムコードα1と第1のワンタイムコードβ1とに、購買情報(ポイント情報及びクーポン情報等)及びユーザー特定情報を含めてワンタイムパスワードとし、そのワンタイムパスワードの表示情報を作成して画面上に表示させ、店舗側端末7aの読取手段76に表示情報を読み取らせる。店舗側端末7aでは、読取手段によって表示情報の読み取り操作を行い(S304)、表示情報を構成する認証情報を取得する(S305)。店舗側端末7aでは、この認証情報に基づいて、画面上にポイント情報、及び電子クーポン情報を表示させる。その後、店舗側端末7aでは、通信ネットワーク5を通じて、認証サーバー2に認証情報を送信する。   The generated second one-time code α1 and first one-time code β1 include purchase information (point information, coupon information, etc.) and user identification information as a one-time password, and the one-time password Display information is created and displayed on the screen, and the display information is read by the reading means 76 of the store side terminal 7a. In the store side terminal 7a, display information is read by the reading means (S304), and authentication information constituting the display information is acquired (S305). In the shop side terminal 7a, point information and electronic coupon information are displayed on the screen based on this authentication information. Thereafter, the store side terminal 7 a transmits the authentication information to the authentication server 2 through the communication network 5.

認証サーバー2の認証管理部20では、表示情報に含まれたワンタイムパスワード(第2のワンタイムコードα1及び第1のワンタイムコードβ1)を受信し(S306)、認証部25では、これらのワンタイムパスワードに基づいて認証処理を行う。この認証処理は、上述したステップS112〜ステップS113と同様である。具体的には、低減回数補完部24は、上記式6のように、取得した第2のワンタイムコードα1(ハッシュ値E M−1)を低減回数分のハッシュ関数Hによる演算を実行するとともに、サーバー側のハッシュ間数でハッシュ化してハッシュ値E’ を算出する。一方、認証用コード選択部23では、通信状態に応じて、認証用の第1のワンタイムコードβ又は認証用の第2のワンタイムコードαのいずれかを選択して認証用コード保存部26から取得する。ここでは、通信環境があるので、認証用第1のワンタイムコードβを選択する。 The authentication management unit 20 of the authentication server 2 receives the one-time password (second one-time code α1 and first one-time code β1) included in the display information (S306), and the authentication unit 25 receives these one-time passwords. The authentication process is performed based on the one-time password. This authentication process is the same as steps S112 to S113 described above. Specifically, reducing the number of complementary portions 24, as in the above equation 6, executes the calculation by a hash function H C reduced number of times the second one-time code α1 obtained (hash value E 1 M-1) At the same time, the hash value E ′ 1 M is calculated by hashing with the number of hashes between the servers. On the other hand, the authentication code selection unit 23 selects either the first one-time code β for authentication or the second one-time code α for authentication according to the communication state, and stores the authentication code storage unit 26. Get from. Here, since there is a communication environment, the first one-time code β for authentication is selected.

そして、認証部25は、算出された第2のワンタイムコードα1(ハッシュ値E’ )と、ワンタイムコードデータベース2aに保存されている認証用第1のワンタイムコードβとを比較して認証処理を行う。ここで、保存されている認証用第1のワンタイムコードβは、図5(b)に示すように、前回認証時に保存したハッシュ値E を、上記式3のようにサーバー側のハッシュ関数Hでハッシュ化したものでハッシュ値E’ となっている。このように、今回認証用のハッシュ値と保存されたハッシュ値とは、互いにハッシュ値E’ となっていることから、ワンタイムパスワードは一致して認証は成功する。 Then, the authentication unit 25 compares the calculated second one-time code α1 (hash value E ′ 1 M ) with the first one-time code β for authentication stored in the one-time code database 2a. Authentication process. Here, as shown in FIG. 5B, the stored first one-time code β for authentication is obtained by using the hash value E 1 M stored at the time of previous authentication as the hash on the server side as shown in Equation 3 above. It has a hash value E '1 M in those hashing function H S. In this way, the hash value for authentication this time and the stored hash value are the hash value E ′ 1 M , so that the one-time password matches and the authentication succeeds.

その後、認証が成功した場合には、上記ステップS115〜ステップS118までの処理を行う。ここでは、今回取得した第1のワンタイムコードβ1を、上記式7のようにサーバー側のハッシュ関数Hでハッシュ化して、認証用第1のワンタイムコードβ1(ハッシュ値E’ )としてユーザー特定情報(ユーザーID)と関連付けて記憶しておく。また、第2のワンタイムコードα1についても、上記式7のようにサーバー側のハッシュ関数Hでハッシュ化し、認証用第2のワンタイムコードα1(ハッシュ値E’ M−1)として保存しておく。また、購買情報は、今回認証に用いたハッシュ値E’ と関連付けて記憶される。その後、認証管理部は、認証結果を店舗側端末7aに送信して(S307)、店舗側端末7aの表示部73aではその認証結果を表示させる。 Thereafter, if the authentication is successful, the processing from step S115 to step S118 is performed. Here, the first one-time code β1 acquired this time is hashed by the server-side hash function H S as in the above equation 7, and the first one-time code β1 for authentication (hash value E ′ 2 M ) And stored in association with user identification information (user ID). Further, the second one-time code α1 is also hashed with the server-side hash function H S as shown in the above equation 7 and stored as the second one-time code α1 for authentication (hash value E ′ 1 M−1 ). Keep it. The purchase information is stored in association with the hash value E ′ 1 M used for authentication this time. Thereafter, the authentication management unit transmits the authentication result to the store side terminal 7a (S307), and the display unit 73a of the store side terminal 7a displays the authentication result.

(B)通信不通状態にある場合
次いで、ユーザー端末1と認証サーバー2との通信ができない場合の処理について説明する。図11に示すように、ユーザー端末1は、認証結果の確認として、ユーザー特定情報を送信する(S401)。ここでは、ユーザー端末1が通信エリア外に滞在したり、通信障害が起きているため、認証結果の確認は認証サーバー2に届かず、認証結果を得ることができない。この際、認証環境確認部141では、通信サービス不可などの返信結果を取得すると(S402)、この情報を乱数選択部142及び今回認証用コード作成部143に送信する。これにより、認証結果の情報が得られない場合に応じた第2のワンタイムコードα1及び第1のワンタイムコードβ1が作成される(S403)。
(B) When communication is not established Next, processing when communication between the user terminal 1 and the authentication server 2 is not possible will be described. As shown in FIG. 11, the user terminal 1 transmits user identification information as confirmation of the authentication result (S401). Here, since the user terminal 1 stays outside the communication area or a communication failure has occurred, the confirmation of the authentication result does not reach the authentication server 2 and the authentication result cannot be obtained. At this time, when the authentication environment confirmation unit 141 obtains a reply result indicating that the communication service is not possible (S402), this information is transmitted to the random number selection unit 142 and the current authentication code creation unit 143. As a result, the second one-time code α1 and the first one-time code β1 corresponding to the case where the authentication result information cannot be obtained are created (S403).

具体的に、乱数選択部142では、通信状態に応じて、第1のワンタイムコード又は第2のワンタイムコードに用いられた次世代乱数又は前世代乱数のいずれか選択する。ここでは、通信不通であるため、サーバー同期が確認できている最終世代の乱数、すなわち、前回送信された第2のワンタイムコードに用いられた乱数(ここでは、乱数H)を選択する。そして、今回認証用コード作成部143では、この乱数Hに対し、ハッシュ関数Hによる演算を、選択された乱数に対する所定回数(M回)よりも低減回数分(1回分)だけ少ない回数を繰り返して第2のワンタイムコードα1を生成する。ここでは、図5(c)に示すように、前回送信された第2のワンタイムコードαは、乱数Hを用いたハッシュ値E M−1であるから、今回の第2のワンタイムコードα1は、乱数Hを用いたハッシュ値E をM−2回ハッシュ化したハッシュ値E M−2となる。 Specifically, the random number selection unit 142 selects either the next generation random number or the previous generation random number used for the first one-time code or the second one-time code according to the communication state. Here, since there is no communication, the last generation random number for which server synchronization has been confirmed, that is, the random number used in the second one-time code transmitted last time (here, the random number H 0 ) is selected. Then, in the current authentication code creating unit 143, to the random number H 0, the calculation by a hash function H C, the number of times less a predetermined number of times for the selected random number reduced number of times than the (M times) (1 batch) The second one-time code α1 is generated repeatedly. Here, as shown in FIG. 5C, since the second one-time code α transmitted last time is the hash value E 0 M−1 using the random number H 0 , the second one-time code this time code α1 is a hash value E 0 M-2 to the hash value E 0 M by hashing M-2 times using a random number H 0.

また、次回認証用コード作成部144は、第1のワンタイムコードβ1を、前回までに使用された乱数よりも次世代の乱数を用いて生成する。ここでは、図5(c)に示すように、前回送信された第1のワンタイムコードβに用いられた乱数Hの次世代である乱数Hを用い、その乱数Hを、さらにハッシュ関数Hを用いた演算を行い、ハッシュ値Eを算出し、その算出されたハッシュ値Eを所定回数(M回)ハッシュ化して、次第1のワンタイムコードβ1(ハッシュ値E )を生成する。 Further, the next-time authentication code creating unit 144 generates the first one-time code β1 using a next-generation random number rather than the random number used until the previous time. Here, as shown in FIG. 5C, a random number H 2 which is the next generation of the random number H 1 used for the first one-time code β transmitted last time is used, and the random number H 2 is further hashed. performs calculation using the function H C, calculates a hash value E 2, the hash value E 2 that is calculated by a predetermined number of times (M times) hashing, as soon as one-time code .beta.1 (hash value E 2 M ) Is generated.

そして、生成された第2のワンタイムコードα1(ハッシュ値E M−2)と第1のワンタイムコードβ1(ハッシュ値E )とに、購買情報及びユーザー特定情報を含めた表示情報を作成して画面上に表示させ、店舗側端末7aの読取手段に表示情報を読み取らせる。店舗側端末7aでは、読取手段によって表示情報の読み取り操作を行い(S404)、表示情報を構成する認証情報を取得する(S405)。 Display information including purchase information and user identification information in the generated second one-time code α1 (hash value E 0 M-2 ) and first one-time code β1 (hash value E 2 M ). Is created and displayed on the screen, and the reading information of the store side terminal 7a is read. In the store side terminal 7a, display information is read by the reading means (S404), and authentication information constituting the display information is acquired (S405).

店舗側端末7aでは、この認証情報に基づいて、ポイント情報、及び電子クーポン情報を表示させる。その後、店舗側端末7aでは、通信ネットワーク5を通じて、認証サーバー2に認証情報を送信する。認証サーバー2の認証部25では、認証情報に含まれたワンタイムパスワード(第2のワンタイムコードα1と第1のワンタイムコードβ1)を受信し(S406)、認証部25では、これらのワンタイムパスワードに基づいて、認証処理を行う。   In the shop side terminal 7a, point information and electronic coupon information are displayed based on this authentication information. Thereafter, the store side terminal 7 a transmits the authentication information to the authentication server 2 through the communication network 5. The authentication unit 25 of the authentication server 2 receives the one-time password (second one-time code α1 and first one-time code β1) included in the authentication information (S406), and the authentication unit 25 receives these one-time passwords. An authentication process is performed based on the time password.

ここで、ワンタイムコードデータベース2aには、前回の認証処理時に取得した第1のワンタイムコードβ(ハッシュ値E )に対して、ハッシュ関数Hを用いた演算により認証用第1のワンタイムコード(ハッシュ値E’ )が蓄積される。また、前回認証用に用いられた第2のワンタイムコードα(ハッシュ値E M−1)に対して、ハッシュ関数Hを用いた演算により認証用第2のワンタイムコード(ハッシュ値E’ M−1)が蓄積されている。そして、認証用コード選択部23では、通信状態に応じて、認証用の第1のワンタイムコードβ又は認証用の第2のワンタイムコードαのいずれかを選択して認証用コード保存部26から取得する。ここでは、ユーザー端末1から認証確認の要求が送られていない状態で認証情報を取得したので、通信不通時の処理を行うと判別し、前回認証用に用いられた認証用第2のワンタイムコード(ハッシュ値E’ M−1)を認証用として選択する。 Here, the one-time code database 2a, with respect to the first one-time code obtained in the previous authentication processing beta (hash value E 1 M), by calculation using the hash function H S first authentication A one-time code (hash value E ′ 1 M ) is accumulated. Further, the second one-time code for authentication (hash value E 0 M−1 ) is used for the second one-time code for authentication (hash value E 0 M−1 ) by the calculation using the hash function H S. '0 M-1) is stored. Then, the authentication code selection unit 23 selects either the first one-time code β for authentication or the second one-time code α for authentication according to the communication state, and the authentication code storage unit 26. Get from. Here, since the authentication information is acquired in a state where the authentication confirmation request is not sent from the user terminal 1, it is determined that the communication failure processing is performed, and the second one-time for authentication used for the previous authentication is determined. The code (hash value E ′ 0 M−1 ) is selected for authentication.

また、低減回数補完部24は、取得した第2のワンタイムコードα1(ハッシュ値E M−2)をクライアントのハッシュ関数Hでハッシュした後、サーバー側のハッシュ関数Hでハッシュ化してハッシュ値E’ M−1を算出する。そして、認証部25は、算出された第2のワンタイムコードα1(ハッシュ値E’ M−1)と、ワンタイムコードデータベース2aに保存され、認証用第2のワンタイムコード(ハッシュ値E’ M−1)とを比較して認証処理を行う。このように、互いのハッシュ値は、ハッシュ値E’ M−1となっていることから、ワンタイムパスワードは一致して認証は成功する。 Also, reducing the number of complementary section 24, after hashing the second one-time code α1 obtained (hash value E 0 M-2) in the client a hash function H C, and hashed with the hash function H S server-side A hash value E ′ 0 M−1 is calculated. Then, the authentication unit 25 stores the calculated second one-time code α1 (hash value E ′ 0 M−1 ) and the one-time code database 2a, and the second one-time code for authentication (hash value E ' 0 M-1 ) and the authentication process is performed. Thus, since the mutual hash value is the hash value E ′ 0 M−1 , the one-time passwords match and the authentication succeeds.

その後、認証が成功した場合には、ステップS115〜ステップS118までの処理を行う。ここでは、今回取得した第1のワンタイムコードβ1(ハッシュ値E )も、同様に、サーバー側のハッシュ関数Hを用いた演算を行い、ハッシュ化した認証用第1のワンタイムパスワード(ハッシュ値E’ )をユーザー特定情報と関連付けて記憶しておく。また、第2のワンタイムコードα1(ハッシュ値E M−2)もハッシュ関数Hを用いた演算を行い、認証用第2のワンタイムパスワード(ハッシュ値E’ M−2)をユーザー特定情報と関連付けて記憶しておく。その後、認証管理部20は、認証結果を店舗側端末7aに送信して(S407)、店舗側端末7aの表示部73aではその認証結果を表示させる。 Thereafter, if the authentication is successful, the processing from step S115 to step S118 is performed. Here, the first one-time code obtained this .beta.1 (hash value E 2 M) likewise performs a calculation using the hash function H S server side, hashed first one-time password for authentication (Hash value E ′ 2 M ) is stored in association with the user specifying information. Further, the second one-time code α1 (hash value E 0 M-2 ) also performs an operation using the hash function H S, and the second one-time password for authentication (hash value E ′ 0 M-2 ) is used by the user. It is stored in association with specific information. Then, the authentication management part 20 transmits an authentication result to the shop side terminal 7a (S407), and displays the authentication result on the display part 73a of the shop side terminal 7a.

(C)エラー発生時の処理
さらに、本実施形態では、所定の処理段階においてエラーが発生し、認証サーバー2から返却された認証結果の情報が、ユーザー端末1上のものと整合しないた場合においても自動で正常化処理を行う機能を有している。
(C) Processing when an error occurs Furthermore, in the present embodiment, when an error occurs in a predetermined processing stage and the authentication result information returned from the authentication server 2 does not match the information on the user terminal 1 Has a function of automatically performing normalization processing.

先ず、ユーザー端末1は、図12に示すように、認証結果の確認として、連携用通信経路を通じて、ユーザー特定情報を送信する(S501)。認証サーバー2の連携処理部21では、ユーザー特定情報に基づいて第1のワンタイムコードに係る乱数の世代及びハッシュ回数を送信する(S502)。ここでは、所定の処理段階においてエラーが発生しているため、返却された第1のワンタイムコードに係る乱数の世代及びハッシュ回数と、ユーザー端末1に蓄積された第1のワンタイムコードに係る乱数の世代及びハッシュ回数とが整合しない。   First, as shown in FIG. 12, the user terminal 1 transmits user identification information through a communication path for cooperation as confirmation of the authentication result (S501). The cooperation processing unit 21 of the authentication server 2 transmits the random number generation and the hash count related to the first one-time code based on the user specifying information (S502). Here, since an error has occurred in the predetermined processing stage, the random number generation and the hash count related to the returned first one-time code and the first one-time code stored in the user terminal 1 are related. The random number generation and hash count do not match.

この際、アプリケーション実行部14では、ログイン要求処理を行い(S503)、ユーザー特定情報及びパスワードを入力させ、ユーザー特定情報及びパスワードをログイン情報として認証サーバー2に送信する(S504)。認証サーバー2の連携処理部21では、このログイン情報を取得すると、ユーザー特定情報及びパスワードに基づいて、ユーザーを特定した後、ユニークなデータであるトークンを発行して、ユーザー端末1に送信する(S505)。その後は、上記の初期設定処理と同様、ユーザー端末1のワンタイムパスワード作成部14aでは、取得したトークンに基づいて、ワンタイムパスワードの初期化を行う。ワンタイムパスワードの初期化後は、初期化後のワンタイムパスワードに基づいて認証処理が実行される。ここでも、通信状態に応じて、上記(A)又は(B)の処理のいずれかが実行される。   At this time, the application execution unit 14 performs login request processing (S503), inputs user identification information and a password, and transmits the user identification information and password to the authentication server 2 as login information (S504). When the login processing unit 21 of the authentication server 2 acquires this login information, it identifies the user based on the user identification information and the password, issues a token that is unique data, and transmits it to the user terminal 1 ( S505). Thereafter, similarly to the above-described initial setting process, the one-time password creating unit 14a of the user terminal 1 initializes the one-time password based on the acquired token. After the initialization of the one-time password, authentication processing is executed based on the initialized one-time password. Again, either of the processes (A) or (B) is executed according to the communication state.

(動的認証方法)
以上の構成を有するシステムを動作させることで、本発明の動的認証方法を実施することができる。図13は、本実施形態に係る動的認証の全体動作を示すフローチャート図であり、図14は、本実施形態に係る動的認証処理を示すフローチャート図である。なお、ここでは、予めワンタイムパスワードの初期化処理は完了しているものとする。
(Dynamic authentication method)
By operating the system having the above configuration, the dynamic authentication method of the present invention can be implemented. FIG. 13 is a flowchart showing the overall operation of dynamic authentication according to this embodiment, and FIG. 14 is a flowchart showing the dynamic authentication processing according to this embodiment. Here, it is assumed that the one-time password initialization process has been completed in advance.

先ず、ユーザー端末1は、図13に示すように、クーポンサーバー3にアクセスして、画面上に表示されたクーポン情報から希望する電子クーポンを取得する操作を行う(S601)。クーポンサーバー3のクーポン取得部31は、ユーザー操作に応じて電子クーポン情報をユーザー端末1に送信する(S602)。電子クーポン情報は、ユーザー端末1のメモリ15に蓄積される。また、ユーザー端末1は、ポイントサーバー4にアクセスして、自身が所有するポイント情報を取得する操作を行う(S603)。ポイントサーバー4のポイント取得部41は、ユーザー操作に応じてポイント情報を送信する(S604)。ポイント情報は、ユーザー端末1のメモリ15に蓄積される。   First, as shown in FIG. 13, the user terminal 1 accesses the coupon server 3 and performs an operation of acquiring a desired electronic coupon from the coupon information displayed on the screen (S601). The coupon acquisition part 31 of the coupon server 3 transmits electronic coupon information to the user terminal 1 according to user operation (S602). The electronic coupon information is stored in the memory 15 of the user terminal 1. Further, the user terminal 1 accesses the point server 4 and performs an operation of acquiring point information owned by itself (S603). The point acquisition unit 41 of the point server 4 transmits point information in response to a user operation (S604). The point information is stored in the memory 15 of the user terminal 1.

その後、ユーザーが店舗に出向き、電子クーポン及びポイントを用いたサービスを利用する場合、先ず、ワンタイムパスワード作成部14aでは、認証サーバー2との認証環境を確認する(S605)。そして、ワンタイムパスワード作成部14aでは、認証環境に応じたワンタイムパスワードを作成するとともに、購買情報等を含んだ認証情報を生成する(S606)。この認証環境に基づくワンタイムパスワードの生成処理は、上記(A)〜(C)のいずれかが行われるとともに、表示情報生成部14e及び動的情報提示部14fによって、ワンタイムパスワードを構成する認証情報を2以上生成して、表示情報として動的に提示する。   Thereafter, when the user goes to the store and uses a service using electronic coupons and points, first, the one-time password creation unit 14a checks the authentication environment with the authentication server 2 (S605). Then, the one-time password creating unit 14a creates a one-time password corresponding to the authentication environment and generates authentication information including purchase information (S606). The one-time password generation processing based on this authentication environment is performed by performing any one of the above (A) to (C), and the authentication constituting the one-time password by the display information generation unit 14e and the dynamic information presentation unit 14f. Two or more pieces of information are generated and dynamically presented as display information.

店舗側端末7aの読取手段76は、この表示情報を読み取り(S607)、その後、店舗側端末7aの制御部74において、有効性及び正当性の判断(動的認証処理)がされ(S608)、有効性及び正当性が確認された後には、画面上に電子クーポン情報及びポイント情報を表示させて、ユーザーは内容を確認する。その後、店員による操作によって、認証処理の実行がされると、ワンタイムパスワードは認証サーバー2に送信される(S609)。   The reading means 76 of the store side terminal 7a reads this display information (S607), and thereafter, the control unit 74 of the store side terminal 7a determines validity and validity (dynamic authentication processing) (S608). After the validity and validity are confirmed, the electronic coupon information and point information are displayed on the screen, and the user confirms the contents. Thereafter, when the authentication process is executed by the operation of the store clerk, the one-time password is transmitted to the authentication server 2 (S609).

このステップS606からステップS608までの動的認証処理の動作について図14を用いて詳述する。先ず、上記S606において、ユーザー端末側では、表示情報生成部14eが、ワンタイムパスワード作成部14aで作成された第1及び第2のワンタイムコードを取得する。表示情報生成部14eは、図14に示すように、第1及び第2のワンタイムコードに、当該ユーザー端末1上の現在時刻を示す時間情報Tc_1を、クライアント計時部16から取得し、この時間情報Tc_1を第1及び第2のワンタイムコードに組み合わせて第1の表示情報X1を生成する(S701)。    The operation of the dynamic authentication process from step S606 to step S608 will be described in detail with reference to FIG. First, in S606, on the user terminal side, the display information generation unit 14e acquires the first and second one-time codes created by the one-time password creation unit 14a. As shown in FIG. 14, the display information generating unit 14e acquires time information Tc_1 indicating the current time on the user terminal 1 from the client time measuring unit 16 as the first and second one-time codes. The information Tc_1 is combined with the first and second one-time codes to generate the first display information X1 (S701).

このように生成された第1の表示情報X1は、画面上に表示され、店舗側端末7aの読取手段76によって光学的に読み取られる(S702)。この際、店舗側端末7aの計時記録部741では、読取手段76で読み取られた表示情報の読取時刻Tp_1を測定しメモリ15に記録する。   The first display information X1 generated in this way is displayed on the screen and optically read by the reading means 76 of the store side terminal 7a (S702). At this time, the time recording unit 741 of the store side terminal 7a measures the reading time Tp_1 of the display information read by the reading means 76 and records it in the memory 15.

一方、ユーザー端末1の動的情報提示部14fでは、順次生成される2以上の表示情報を一定の時間間隔Lをもって、同一位置に順次表示することにより、認証情報を動的に提示させる。具体的には、クライアント計時部16から随時時刻情報を取得するとともに、第1の表示情報X1から所定間隔Lが経過したか否かを判断する(S703)。ここで、所定間隔Lが経過していない場合には(S703における“N”)、ループ処理により現在時刻を計時しつつ、所定間隔Lが経過するまで処理を繰り返す。   On the other hand, the dynamic information presenting unit 14f of the user terminal 1 dynamically presents the authentication information by sequentially displaying two or more pieces of display information that are sequentially generated at the same position with a certain time interval L. Specifically, time information is acquired from the client timing unit 16 as needed, and it is determined whether or not a predetermined interval L has elapsed from the first display information X1 (S703). If the predetermined interval L has not elapsed ("N" in S703), the process is repeated until the predetermined interval L elapses while measuring the current time by loop processing.

その後、所定間隔Lが経過した場合には(S703における“Y”)、現在表示されている第1の表示情報X1を破棄して、第2の表示情報X2を生成する。具体的に、表示情報生成部14eは、前回と同じ第1及び第2のワンタイムコードを取得すると、図14に示すように、第1及び第2のワンタイムコードに、当該ユーザー端末1上の現在時刻を示す時間情報Tc_2をクライアント計時部16から取得し、この時間情報Tc_2を第1及び第2のワンタイムコードに組み合わせて第2の表示情報X2を生成する(S704)。   Thereafter, when the predetermined interval L has elapsed (“Y” in S703), the first display information X1 currently displayed is discarded and the second display information X2 is generated. Specifically, when the display information generation unit 14e acquires the same first and second one-time codes as in the previous time, the display information generation unit 14e adds the first and second one-time codes on the user terminal 1 as illustrated in FIG. Time information Tc_2 indicating the current time is acquired from the client time measuring unit 16, and the time information Tc_2 is combined with the first and second one-time codes to generate the second display information X2 (S704).

そして、表示情報生成部14eは、第1の表示情報X1を破棄し、第2の表示情報X2を画面上に表示させる。第2の表示情報X2が、画面上に表示されると、店舗側端末7aの読取手段76は、第2の表示情報X2を光学的に読み取る(S705)。この際、計時記録部741では、読取手段76で読み取られた表示情報の読取時刻Tp_2を測定し、第2の表示情報X2とともにメモリ15に記録する。なお、この店舗側端末7aでは、上記所定間隔Lが既知であり、このLに合わせて画像読み取りのタイミングが設定されている。   Then, the display information generation unit 14e discards the first display information X1 and displays the second display information X2 on the screen. When the second display information X2 is displayed on the screen, the reading means 76 of the store side terminal 7a optically reads the second display information X2 (S705). At this time, the time recording unit 741 measures the reading time Tp_2 of the display information read by the reading unit 76 and records it in the memory 15 together with the second display information X2. In the store side terminal 7a, the predetermined interval L is known, and the image reading timing is set in accordance with the predetermined interval L.

そして、店舗側端末7aの有効性判断部742では、第1の表示情報X1及び第2の表示情報X2に基づいて、表示情報の有効性と正当性とを判断する(S706)。先ず、有効性判断部742が、各表示情報に含まれる各時間情報(Tc_1、Tc_2)の差分と、各表示情報の読取時刻(Tp_1、Tp_2)の差分と、表示情報が生成される一定の時間間隔(L)から求められる有効期限とに基づいて、表示情報の有効性を判断する。具体的に、有効性判断部742は、第1の表示情報X1に付加された読取情報Tp_1と、第2の表示情報X2に付加された読取情報Tp_2との差分が、0より大きく、且つ間隔2L未満であることを検証する。   Then, the validity determination unit 742 of the store side terminal 7a determines the validity and validity of the display information based on the first display information X1 and the second display information X2 (S706). First, the validity determination unit 742 generates a difference between each time information (Tc_1, Tc_2) included in each display information, a difference between reading times (Tp_1, Tp_2) of each display information, and display information is generated. The validity of the display information is determined based on the expiration date obtained from the time interval (L). Specifically, the validity determination unit 742 determines that the difference between the read information Tp_1 added to the first display information X1 and the read information Tp_2 added to the second display information X2 is greater than 0, and the interval. Verify that it is less than 2L.

第1の表示情報X1と第2の表示情報X2の差分が0以下であったり、間隔2L以上である場合には(S707における“N”)、有効期限が過ぎた表示情報としてエラー表示を行い、その旨を管理サーバに送信するなどのエラー処理を実行した後、認証処理を未完了のまま終了させる(S709)。なお、上記ステップS706において、有効性判断部742は、表示情報が生成された時刻Tc_1と、その読取時刻Tp_1の差分、及び時刻Tc_2と、その読取時刻Tp_2の差分についても、しきい値内であるか否かについて判断する。すなわち、Tp_1−Tc_1の絶対値、及びTp_2−Tc_2の絶対値が、所定のしきい値(例えば、10分)以内であるか否かを判断し、このしきい値を超えるような場合は、表示情報の生成から読み取りまでの時間が経過しすぎている、或いはユーザー端末又は店舗側端末のシステム時間が狂いすぎているとして、無効な表示情報であるとして(S707における“N”)、上述したエラー処理を行う(S709)。   If the difference between the first display information X1 and the second display information X2 is 0 or less, or the interval is 2L or more (“N” in S707), an error is displayed as the display information whose expiration date has passed. Then, after executing error processing such as sending a message to that effect to the management server, the authentication processing is terminated without being completed (S709). In step S706, the validity determination unit 742 determines that the difference between the time Tc_1 when the display information is generated and the reading time Tp_1 and the difference between the time Tc_2 and the reading time Tp_2 are within the threshold value. Judge whether there is. That is, it is determined whether or not the absolute value of Tp_1-Tc_1 and the absolute value of Tp_2-Tc_2 are within a predetermined threshold (for example, 10 minutes). As described above, the display information is invalid because the time from generation of the display information to reading has passed, or the system time of the user terminal or the store side terminal is excessively incorrect ("N" in S707). Error processing is performed (S709).

第1の表示情報X1と第2の表示情報X2の差分が、0より大きく、且つ間隔2L未満である場合には(S707における“Y”)、その表示情報X1及びX2は有効期限内であると判断する。このようにして有効性が確認できた後には、第1の表示情報X1及び第2の表示情報X2の正当性の判断が行われる。   When the difference between the first display information X1 and the second display information X2 is greater than 0 and less than the interval 2L (“Y” in S707), the display information X1 and X2 are within the expiration date. Judge. After the validity is confirmed in this way, the validity of the first display information X1 and the second display information X2 is determined.

先ず、情報抽出部743は、読取手段76で読み取られた各表示情報から、時間情報Tcを除外して、第1の表示情報X1及び第2の表示情報X2を構成する第1のワンタイムコード及び第2のワンタイムコードをそれぞれ抽出する。具体的には、読み取られた2以上の各コードをそれぞれ平文に復号し、その復号された平文から時間情報を除外して認証情報のみを抽出する。そして、正当性判断部744は、情報抽出部743が抽出したそれぞれの認証情報の同一性を比較し、その比較結果に基づいて、表示情報の正当性を判断する。   First, the information extraction unit 743 excludes the time information Tc from each display information read by the reading unit 76, and forms the first display information X1 and the second display information X2, and the first one-time code. And the second one-time code are extracted. Specifically, each of the read two or more codes is decrypted into plain text, and only the authentication information is extracted by excluding time information from the decrypted plain text. Then, the validity judgment unit 744 compares the sameness of the respective authentication information extracted by the information extraction unit 743, and judges the validity of the display information based on the comparison result.

ここで、両者のワンタイムコードが同一でない場合には(S707における“N”)、店舗側端末7aの表示部73aにエラーを表示させる(S709)。なお、この情報はユーザー端末1に送信してユーザー端末1の表示部13a上に表示させてもよい。両者のワンタイムコードが同一であり、有効性及び正当性が確認できた場合は、第2の表示情報X2をワンタイムパスワードとして、POSサーバー7を通じて認証サーバー2に送信する(S708)。   If the one-time codes are not the same ("N" in S707), an error is displayed on the display unit 73a of the store side terminal 7a (S709). This information may be transmitted to the user terminal 1 and displayed on the display unit 13a of the user terminal 1. If both one-time codes are the same and the validity and validity are confirmed, the second display information X2 is transmitted as a one-time password to the authentication server 2 through the POS server 7 (S708).

その後、認証サーバー2の認証管理部20では、図13に示すように、表示情報内のワンタイムパスワードに基づいて認証処理を行う(S610)。この認証処理も各認証環境に応じて上記(A)又は(B)の認証処理が行われる。認証が成功すると、連携部20aでは、ワンタイムコードデータベース2a内のアカウント情報に基づいて、ポイントサーバー4にポイント利用可否の問い合せを送信する(S611)。ポイントサーバー4の利用可否確認部42では、アカウント情報に基づいて、ポイントデータベース4a内に記録されたユーザーのポイント数や有効期限情報を参照して、利用可否を判別し、判別結果を連携部20aに送信する(S612)。   Thereafter, as shown in FIG. 13, the authentication management unit 20 of the authentication server 2 performs an authentication process based on the one-time password in the display information (S610). The authentication process (A) or (B) is performed according to each authentication environment. If the authentication is successful, the cooperation unit 20a transmits an inquiry about whether or not points can be used to the point server 4 based on the account information in the one-time code database 2a (S611). Based on the account information, the availability check unit 42 of the point server 4 refers to the number of points of the user and the expiration date information recorded in the point database 4a to determine whether or not the usage is possible, and determines the determination result as the linkage unit 20a. (S612).

また、連携部20aでは、アカウント情報に基づいて、クーポンサーバー3に電子クーポン利用可否の問い合せを送信する(S613)。クーポンサーバー3の利用可否確認部32では、アカウント情報に基づいて、クーポンデータベース3a内に記録されたユーザーの電子クーポン情報や有効期限情報を参照して利用可否を判別し、判別結果を連携部20aに送信する(S614)。さらに、連携部20aでは、各判別結果に応じた決済処理を行うとともに、決済サーバー6に決済処理によって算出された決済情報(ポイント及び電子クーポン利用後の購入代金情報等)を送信する(S615)。決済サーバー6では、決済情報に基づいて決済処理を行い、決済結果情報を連携部20aに送信する(S616)。   Further, the cooperation unit 20a transmits an inquiry as to whether or not the electronic coupon can be used to the coupon server 3 based on the account information (S613). Based on the account information, the availability check unit 32 of the coupon server 3 determines the availability by referring to the user's electronic coupon information and expiration date information recorded in the coupon database 3a, and determines the determination result as the linkage unit 20a. (S614). Further, the cooperation unit 20a performs a settlement process according to each determination result, and transmits settlement information calculated by the settlement process (such as points and purchase price information after using the electronic coupon) to the settlement server 6 (S615). . The settlement server 6 performs a settlement process based on the settlement information and transmits settlement result information to the linkage unit 20a (S616).

その後、連携部20aでは、決済が完了した情報を取得すると、アカウント情報に基づいて、クーポンサーバー3に対してクーポン消し込み要求(ユーザー識別情報、電子クーポンを識別するクーポン識別情報を含む。)を送信する(S617)。クーポンサーバー3の利用状況更新部33では、消し込み要求に応じて、クーポンデータベース3aの電子クーポン情報を消し込み処理し、その消込結果を連携部20aに送信する(S618)。   Thereafter, in the cooperation unit 20a, when information on completion of payment is acquired, a coupon deletion request (including user identification information and coupon identification information for identifying an electronic coupon) is made to the coupon server 3 based on the account information. Transmit (S617). The usage status update unit 33 of the coupon server 3 erases the electronic coupon information in the coupon database 3a in response to the erase request, and transmits the erase result to the linkage unit 20a (S618).

また、連携部20aでは、アカウント情報に基づいて、ポイントサーバー4に対してポイント更新要求(ユーザー識別情報、使用されたポイント数情報を含む。)を送信する(S619)。ポイントサーバー4の利用状況更新部43では、更新要求に応じて、ポイントデータベース4aのポイント情報を更新処理し、その更新結果を連携部20aに送信する(S620)。ユーザー端末1から、結果確認によるアクセスがあった場合(S621)、連携部20aは、消込結果及び更新結果をユーザー端末1に対して送信する(S622)。   Further, the cooperation unit 20a transmits a point update request (including user identification information and used point number information) to the point server 4 based on the account information (S619). In response to the update request, the usage status update unit 43 of the point server 4 updates the point information in the point database 4a and transmits the update result to the linkage unit 20a (S620). When there is an access by the result confirmation from the user terminal 1 (S621), the cooperation unit 20a transmits the consumption result and the update result to the user terminal 1 (S622).

(動的認証プログラム)
上述した本実施形態に係る動的認証システム、携帯端末、認証サーバー、及び動的認証方法は、所定の言語で記述されたプログラムをコンピューター上で実行することにより実現することができる。すなわち、このプログラムを、ユーザー端末やWebサーバー等のコンピューターやICチップにインストールし、CPU上で実行することにより、上述した各機能を有するシステムを容易に構築することができる。このプログラムは、例えば、通信回線を通じて配布することが可能であり、またスタンドアローンの計算機上で動作するパッケージアプリケーションとして譲渡することができる。そして、このようなプログラムは、パーソナルコンピューターで読み取り可能な記録媒体に記録することができ、汎用のコンピューターや専用コンピューターを用いて、上述したシステム、装置、サーバー、及びオブジェクト制御方法を実施することが可能となるとともに、プログラムの保存、運搬及びインストールを容易に行うことができる。
(Dynamic authentication program)
The dynamic authentication system, the mobile terminal, the authentication server, and the dynamic authentication method according to this embodiment described above can be realized by executing a program described in a predetermined language on a computer. That is, by installing this program on a computer such as a user terminal or a Web server or an IC chip and executing it on the CPU, a system having the above-described functions can be easily constructed. This program can be distributed through a communication line, for example, and can be transferred as a package application that operates on a stand-alone computer. Such a program can be recorded on a recording medium readable by a personal computer, and the above-described system, apparatus, server, and object control method can be implemented using a general-purpose computer or a dedicated computer. In addition, the program can be easily stored, transported and installed.

(作用・効果)
このような本実施形態によれば、ユーザー端末1側では、非常に短い時間(例えば、1秒未満)に2以上の表示情報を順次表示することによって動的な認証情報を提示しているので、認証を行うことができる。すなわち、本実施形態では、個々の表示情報の生成と破棄を繰り返すことから、その時間でのみ有効な表示情報で認証を行うこととなり、盗撮などによる盗用を防止できる。
(Action / Effect)
According to this embodiment, the user terminal 1 presents dynamic authentication information by sequentially displaying two or more pieces of display information in a very short time (for example, less than 1 second). Authentication can be performed. That is, in this embodiment, since the generation and destruction of individual display information are repeated, authentication is performed using display information that is valid only during that time, and theft due to voyeurism can be prevented.

詳述すると、店舗側端末7a側では、ユーザー端末1の動的情報提示部14fに順次表示される2以上の表示情報の中から少なくとも2つ読み取り、その読み取られた各表示情報の、それぞれの読取時刻Tpを測定し記録する。そして、店舗側端末7a側では、各表示情報に含まれる各時間情報Tcの差分と、各表示情報の読取時刻Tpの差分と、前記一定の時間間隔から求められる有効期限とに基づいて、表示情報の有効性を判断することができる。すなわち、表示情報が順次生成され表示される一定の時間間隔が各表示情報の有効期限であり、次の表示情報が表示させる時には、その前に表示されていた表示情報は破棄される。表示情報が生成される時間間隔は、その表示情報に組み合わせられた時間情報Tc(有効期限)を介して店舗側端末7a側に伝えることができ、読み取り側では、時間情報Tcによって伝えられた各生成時刻の差分と、各読み取り時刻の差分とについて、各表示情報の有効期限と比較することにより、表示情報の有効性を判断することができる。   Specifically, at the store side terminal 7a side, at least two of the two or more display information sequentially displayed on the dynamic information presenting unit 14f of the user terminal 1 are read, and each of the read display information is read. The reading time Tp is measured and recorded. On the store side terminal 7a side, the display is based on the difference between the time information Tc included in each display information, the difference between the reading times Tp of each display information, and the expiration date obtained from the certain time interval. The validity of the information can be judged. That is, the fixed time interval at which the display information is sequentially generated and displayed is the expiration date of each display information. When the next display information is displayed, the previously displayed display information is discarded. The time interval at which the display information is generated can be transmitted to the store side terminal 7a side through the time information Tc (expiration date) combined with the display information, and on the reading side, each time information transmitted by the time information Tc is transmitted. The validity of the display information can be determined by comparing the difference between the generation times and the difference between the reading times with the expiration date of each display information.

また、本実施形態によれば、読取手段76で読み取られた各表示情報から、時間情報Tcを除外して、所定の認証情報を抽出する情報抽出部743と、情報抽出部743が抽出したそれぞれの認証情報の同一性を比較し、その比較結果に基づいて、表示情報の正当性を判断する正当性判断部744とをさらに備えているので、例えば、表示情報が偽造されたものであったり、盗用されたものであった場合も、それを検出することができる。   Further, according to the present embodiment, the information extraction unit 743 that extracts the predetermined authentication information by excluding the time information Tc from each display information read by the reading unit 76, and each extracted by the information extraction unit 743. And a legitimacy judging unit 744 that judges the legitimacy of the display information based on the comparison result, and the display information is forged, for example. Even if it was stolen, it can be detected.

本実施形態では、ユーザー端末1は、ユーザーが使用し、通信ネットワーク5上に配置される認証サーバー2との間で、一度のみ有効なワンタイムパスワードを用いて、当該ユーザーの認証を行うワンタイム認証機能を備え、ユーザー端末が、第2のワンタイムコードを用いて認証を行うとともに、次世代乱数に基づく第1のワンタイムコードを生成して、認証サーバー側に送信しておくことから、平常時にあっては、認証処理の度に、常に新しい世代の乱数によりワンタイムコードが生成されることとなり、セキュリティを高めることができる。このとき、ユーザー端末1側では、ユーザー側一方向性関数を用いて暗号化(ハッシュ化)され、サーバー側で取得されたワンタイムコードは、サーバー側一方向性関数により暗号化(ハッシュ化)されるため、仮に通信経路途中やサーバー側で認証情報が傍受されたり漏洩したとしても、その認証情報を悪用してユーザーになり代わって認証を受けることはできない。   In this embodiment, the user terminal 1 uses a one-time password that is valid only once and is authenticated with the authentication server 2 that is used by the user and placed on the communication network 5. Since it has an authentication function, the user terminal performs authentication using the second one-time code, generates a first one-time code based on the next generation random number, and transmits it to the authentication server side. In normal times, a one-time code is always generated from a new generation of random numbers every time authentication processing is performed, and security can be improved. At this time, the user terminal 1 side encrypts (hashes) using the user-side unidirectional function, and the one-time code acquired on the server side is encrypted (hashed) using the server-side unidirectional function. Therefore, even if the authentication information is intercepted or leaked in the middle of the communication path or on the server side, the authentication information cannot be used for authentication on behalf of the user.

詳述すると、本発明では、認証サーバーとユーザー端末との通信状態に応じて、今回の認証時に用いられるワンタイムパスワードの元となるワンタイムコード(第1のワンタイムコード又は第2のワンタイムコード)を選択している。例えば、認証サーバーとユーザー端末とが通信可能である場合には、前回送信した第1のワンタイムコードに用いられた乱数を確認し、今回の認証時に生成するワンタイムパスワードを、前回生成した次世代乱数に基づいて生成する。すなわち、通信可能な状態下では、常に新規な次世代乱数が生成され、ハッシュ回数は初期値にリセットされる。一方、認証サーバーとユーザー端末とが通信不通である場合には、前回生成した乱数と同世代の乱数に基づいて、前回のハッシュ回数よりも低減されたハッシュ回数により、今回認証時に生成するワンタイムパスワードを生成する。   More specifically, in the present invention, a one-time code (first one-time code or second one-time code) that is a source of a one-time password used at the time of this authentication is determined according to the communication state between the authentication server and the user terminal. Code) is selected. For example, if the authentication server can communicate with the user terminal, the random number used for the first one-time code transmitted last time is confirmed, and the one-time password generated during the current authentication is generated next time. Generate based on generation random numbers. That is, under a communicable state, a new next generation random number is always generated, and the hash count is reset to the initial value. On the other hand, if the communication between the authentication server and the user terminal is interrupted, the one-time generated at the time of this authentication based on the number of hashes reduced from the number of previous hashes based on the same number of random numbers as the previous generation. Generate a password.

その結果、本実施形態によれば、認証サーバー2では、取得したワンタイムコードをハッシュ関数で一方向の処理を加えているので、通信内容を隠蔽することができる。このように、本実施形態によれば、通信経路及び認証サーバーに保存される認証コードを盗聴されたり、盗難されたとしても、実際に認証するためのコードは生成できないため、不正利用を防ぐことができる。さらに、本実施形態によれば、ユーザー端末で生成するワンタイムコードは、乱数によってランダムに生成され、ワンタイムコードそのものは、ユーザー端末にも保存しないので、ユーザー端末上のデータ、通信経路上のデータ、認証サーバー上のデータは、正規のユーザー端末が生成したワンタイムコードによってのみ紐づけられることとなり、セキュリティを高めることができる。   As a result, according to the present embodiment, the authentication server 2 applies one-way processing to the acquired one-time code with a hash function, so that the communication content can be concealed. As described above, according to the present embodiment, even if the authentication code stored in the communication path and the authentication server is wiretapped or stolen, a code for actual authentication cannot be generated, thereby preventing unauthorized use. Can do. Furthermore, according to the present embodiment, the one-time code generated by the user terminal is randomly generated by a random number, and the one-time code itself is not stored in the user terminal. Data and data on the authentication server are linked only by a one-time code generated by a legitimate user terminal, and security can be improved.

また、本実施形態において、認証用通信経路は、ユーザー端末1の表示部13aに表示されたワンタイムパスワードを読み取る読取手段76に接続され、認証管理部20は、読取手段76を介して、ワンタイムパスワードをユーザー端末1から取得しているので、ユーザー端末1が通信可能エリア外に位置している場合でも、ワンタイムパスワードを取得して認証することができる。   In the present embodiment, the authentication communication path is connected to the reading unit 76 that reads the one-time password displayed on the display unit 13 a of the user terminal 1, and the authentication management unit 20 is connected to the one-time password via the reading unit 76. Since the time password is acquired from the user terminal 1, even when the user terminal 1 is located outside the communicable area, the one-time password can be acquired and authenticated.

また、通信ネットワーク5上には、認証サーバー2とユーザー端末1とを接続する連携用通信経路が構築され、認証用コード保存部26は、連携用通信経路を通じて、ユーザー端末1上において初回に生成された第1のワンタイムコードを取得し、この第1のワンタイムコードを用いて、サーバー側一方向性関数を用いた演算により認証用第1のワンタイムコードを生成し、第1の認証用ワンタイムコードと、ユーザー特定情報と関連付けて保存しているので、次回以降の認証において、2つの異なる乱数を用いた動的認証処理を実行することができる。   In addition, a cooperation communication path for connecting the authentication server 2 and the user terminal 1 is constructed on the communication network 5, and the authentication code storage unit 26 is generated for the first time on the user terminal 1 through the cooperation communication path. The first one-time code is obtained, and the first one-time code for authentication is generated by the calculation using the server-side one-way function using the first one-time code, and the first authentication Since the one-time code for use and the user identification information are stored, dynamic authentication processing using two different random numbers can be executed in subsequent authentications.

さらに、本実施形態において、認証サーバー2は、ユーザーに付与される電子クーポン又はポイントを管理するクーポンサーバー3及びポイントサーバー4と、決済サーバー6とを有し、クーポンサーバー3、ポイントサーバー4及び決済サーバー6は、認証用コード保存部26によりデータベース2aに保存された情報を共有可能である。これにより、クーポンサーバー3、ポイントサーバー4、及び決済サーバーは、認証用コード保存部26に保存された情報を共有可能であり、決済サーバー6は、認証処理の結果に基づく価値情報の有効性に関する判断情報を取得し、判断情報に基づいて、価値情報の有効性を反映させた決済処理を実行するので、認証処理と同時に価値情報有効性の判断と、決済処理とを、複数のサーバー装置、ひいては複数のサービス事業者で協働して行うことできる。   Further, in the present embodiment, the authentication server 2 includes a coupon server 3 and a point server 4 that manage an electronic coupon or points given to a user, and a settlement server 6, and the coupon server 3, the point server 4, and the settlement The server 6 can share information stored in the database 2a by the authentication code storage unit 26. Thereby, the coupon server 3, the point server 4, and the payment server can share the information stored in the authentication code storage unit 26, and the payment server 6 relates to the validity of the value information based on the result of the authentication process. Since the determination information is acquired and the payment process reflecting the validity of the value information is executed based on the determination information, the determination of the value information validity and the payment process simultaneously with the authentication process are performed by a plurality of server devices, As a result, it can be performed in cooperation with multiple service providers.

また、本実施形態では、画面上に表示させる表示情報に、ポイント情報、クーポン情報、及び決済情報などの全ての情報が含まれている。ここで、従来のクーポンシステム又はポイントシステムでは、決済処理とは別のシステムで管理されていることから、特に店頭では、利用者はクーポンやポイントを事前に提示した上で、適用後に支払いを行うこととなり、利用時の手順が煩雑であるという問題がある。しかしながら、本実施形態によれば、画面上に表示させる表示情報に、ポイント情報、クーポン情報、及び決済情報などの全ての情報が含まれているので、1度表示情報を店舗側端末7aに読み取らせることで、クーポン又はポイントの利用可否判断から決済完了までの処理を一連で行うことができるため、ポイントやクーポンの利用時の手順を簡略化することができる。   In the present embodiment, the display information displayed on the screen includes all information such as point information, coupon information, and settlement information. Here, in the conventional coupon system or point system, since it is managed by a system different from the payment processing, the user pays after application after presenting the coupon or points in advance, especially at the storefront. That is, there is a problem that the procedure at the time of use is complicated. However, according to the present embodiment, the display information to be displayed on the screen includes all information such as point information, coupon information, and settlement information, so the display information is read once by the store side terminal 7a. By making it possible to perform a series of processing from determination of whether or not a coupon or point can be used to completion of settlement, it is possible to simplify the procedure when using the point or coupon.

また、本実施形態では、クーポンやポイントの支払い前に、ユーザー操作でポイントやクーポンの選択を行うようになっているので、支払い時の手順を簡略化できる。また、クーポンやポイントの利用可否は、認証サーバー2で行っているため、店舗側の担当者は、クーポンやポイントの利用がない場合と同様の手順で決済を行うことができる。さらに、決済サーバー6は、認証処理の結果に基づく価値情報の有効性に関する判断情報を取得し、判断情報に基づいて、価値情報の有効性を反映させた決済処理を実行する。   Moreover, in this embodiment, since a point and a coupon are selected by user operation before the payment of a coupon or a point, the procedure at the time of payment can be simplified. Moreover, since the use of the coupon or the point is performed by the authentication server 2, the person in charge on the store side can make a settlement in the same procedure as when the coupon or the point is not used. Further, the settlement server 6 acquires determination information regarding the validity of the value information based on the result of the authentication process, and executes a settlement process reflecting the validity of the value information based on the determination information.

このように、本実施形態では、認証処理と同時に価値情報有効性の判断と、決済処理とを一度の通信接続で行うことでき、ユーザー側にとっては認証処理のための操作と、電子クーポンやポイントを利用するための操作と、決済処理するための操作を簡略化することができる。   As described above, in this embodiment, it is possible to perform the determination of the value information validity and the settlement process at the same time as the authentication process by one communication connection, and for the user side, the operation for the authentication process, the electronic coupon, It is possible to simplify the operation for using the password and the operation for processing the payment.

さらに、店舗側端末7aでは、認証処理に関係するユーザーの消費行動に関する情報を購買情報として取得し、認証管理部20は、第1のワンタイムコード又は第2のワンタイムコードとともに、購買情報(クーポンやポイントの利用履歴と決済情報)を取得し、この購買情報を、ユーザー特定情報及び認証処理の結果と関連付けて購買履歴情報蓄積部2bに蓄積しているので、効果の高いクーポンやポイントを用いたマーケティング施策に活用できる。なお、本実施形態では、認証サーバー2に、各システムのサーバー装置を接続させ、認証サーバー2を経由することでクーポンやポイントを提供しているので、クーポンやポイントを提供する異なる事業者であっても、シームレスに利用できる。   Furthermore, in the shop side terminal 7a, the information regarding the user's consumption behavior related to the authentication process is acquired as purchase information, and the authentication management unit 20 purchase information (1) along with the first one-time code or the second one-time code. Coupon and point usage history and payment information), and the purchase information is stored in the purchase history information storage unit 2b in association with the user identification information and the result of the authentication process. It can be used for the marketing measures used. In this embodiment, since the server device of each system is connected to the authentication server 2 and coupons and points are provided via the authentication server 2, it is a different business that provides coupons and points. But it can be used seamlessly.

[変更例]
なお、上述した実施形態の説明は、本発明の一例である。このため、本発明は上述した実施形態に限定されることなく、本発明に係る技術的思想を逸脱しない範囲であれば、設計等に応じて種々の変更が可能である。以下に、本発明の変更例について説明する。
[Example of change]
The above description of the embodiment is an example of the present invention. For this reason, the present invention is not limited to the above-described embodiment, and various modifications can be made according to the design and the like as long as they do not depart from the technical idea of the present invention. Below, the modification of this invention is demonstrated.

例えば、上述した実施形態において、表示情報の有効期限の有無判断は、連続して表示される2つの表示情報に基づいて判断したが、例えば、2以上の表示情報を読み取った場合に、その一連の表示情報のうち、連続しない任意の2つ表示情報Xi、表示情報Xj(j>i)を読み取って有効性を検証してもよい。この場合は、再生成間隔Bを既知の値として店舗側端末7aに記憶させておくことで、動的に提示される表示情報のうち、任意の2つの表示情報Xi、表示情報Xjを読み取った場合でも、上記と同処理で有効性を検証することができる。すなわち、任意の2つの表示情報Xi、表示情報Xjの差分が、0より大きく、且つ、表示情報Xi、表示情報Xjの差分である間隔Lと既知の再生成間隔Bとを加算した間隔(L+B)未満であることを検証する。   For example, in the above-described embodiment, whether the display information has an expiration date is determined based on two pieces of display information displayed in succession. For example, when two or more pieces of display information are read, a series of the display information is displayed. Among the display information, any two discontinuous display information Xi and display information Xj (j> i) may be read to verify the effectiveness. In this case, by storing the regeneration interval B as a known value in the store side terminal 7a, any two pieces of display information Xi and display information Xj are read out of the dynamically presented display information. Even in this case, the effectiveness can be verified by the same processing as described above. That is, the difference between any two pieces of display information Xi and display information Xj is greater than 0, and an interval (L + B) obtained by adding an interval L that is the difference between display information Xi and display information Xj and a known regeneration interval B ) Verify that it is less than

また、例えば、上述した実施形態において、表示情報の有効期限の有無は、店舗側端末7aの有効性判断部742で処理したが、例えば、認証サーバー2の連携部20aにおいて実行してもよい。この場合、有効性判断部742の機能モジュールは、連携部20aに備えており、店舗側端末7aは、読み取った第1の表示情報X1及び第2の表示情報X2をそのまま認証サーバー2に送信する。なお、この際、表示情報X1及びX2が同一のワンタイムパスワードに基づいて生成された表示情報か否かの判断は、有効性判断部742で行ってもよく、また、連携部20aにおいて実行してもよい。   Further, for example, in the above-described embodiment, the presence / absence of the expiration date of the display information is processed by the validity determination unit 742 of the store side terminal 7a, but may be executed by, for example, the cooperation unit 20a of the authentication server 2. In this case, the functional module of the validity determination unit 742 is provided in the cooperation unit 20a, and the store side terminal 7a transmits the read first display information X1 and second display information X2 to the authentication server 2 as they are. . At this time, whether or not the display information X1 and X2 are display information generated based on the same one-time password may be determined by the validity determination unit 742 or executed by the cooperation unit 20a. May be.

1…ユーザー端末
2…認証サーバー
2a…ワンタイムコードデータベース
2b…購買履歴情報蓄積部
3…クーポンサーバー
3a…クーポンデータベース
4…ポイントサーバー
4a…ポイントデータベース
5…通信ネットワーク
6…決済サーバー
7…POSサーバー
7a…店舗側端末
8…無線基地局
11…無線インターフェース
13a…表示部
14…アプリケーション実行部
14a…ワンタイムパスワード作成部
14b…連携処理部
14c…価値情報取得部
14d…認証結果取得部
14e…表示情報生成部
14f…動的情報提示部
15…メモリ
16…クライアント計時部
20…認証管理部
20a…連携部
21…連携処理部
22…初期化処理部
23…認証用コード選択部
24…低減回数補完部
25…認証部
26…認証用コード保存部
31…クーポン取得部
32…利用可否確認部
33…利用状況更新部
34…クーポン追加部
41…ポイント取得部
42…利用可否確認部
43…利用状況更新部
44…ポイント追加部
70a…通信インターフェース
70b…制御部
70c…POS情報データベース
74…制御部
75…メモリ
76…読取手段
77…店舗側計時部
141…認証環境確認部
142…乱数選択部
143…今回認証用コード作成部
144…次回認証用コード作成部
741…計時記録部
742…有効性判断部
743…情報抽出部
744…正当性判断部
DESCRIPTION OF SYMBOLS 1 ... User terminal 2 ... Authentication server 2a ... One time code database 2b ... Purchase history information storage part 3 ... Coupon server 3a ... Coupon database 4 ... Point server 4a ... Point database 5 ... Communication network 6 ... Payment server 7 ... POS server 7a ... Store side terminal 8 ... Wireless base station 11 ... Wireless interface 13a ... Display unit 14 ... Application execution unit 14a ... One-time password creation unit 14b ... Cooperation processing unit 14c ... Value information acquisition unit 14d ... Authentication result acquisition unit 14e ... Display information Generating unit 14f ... Dynamic information presenting unit 15 ... Memory 16 ... Client timing unit 20 ... Authentication management unit 20a ... Cooperation unit 21 ... Cooperation processing unit 22 ... Initialization processing unit 23 ... Authentication code selection unit 24 ... Reduction number complementing unit 25 ... Authentication unit 26 ... Authentication code Storage unit 31 ... Coupon acquisition unit 32 ... Usage availability confirmation unit 33 ... Usage status update unit 34 ... Coupon addition unit 41 ... Point acquisition unit 42 ... Usage availability confirmation unit 43 ... Usage status update unit 44 ... Point addition unit 70a ... Communication Interface 70b ... Control unit 70c ... POS information database 74 ... Control unit 75 ... Memory 76 ... Reading means 77 ... Store side timing unit 141 ... Authentication environment confirmation unit 142 ... Random number selection unit 143 ... Current authentication code creation unit 144 ... Next authentication Code creation unit 741 ... Timekeeping recording unit 742 ... Effectiveness judgment unit 743 ... Information extraction unit 744 ... Validity judgment unit

Claims (12)

認証情報を動的に提示するユーザー端末と、提示された前記認証情報を読み取る読取装置とを備えた動的認証システムであって、
前記ユーザー端末側は、
所定の認証情報に、当該ユーザー端末上の現在時刻を示す時間情報を組み合わせて、2以上の表示情報を生成する表示情報生成部と、
前記表示情報を一定の時間間隔をもって、同一位置に順次表示することにより、前記認証情報を動的に提示する動的情報提示部と、
を備え、
前記読取装置は、
前記動的情報提示部に表示された前記2以上の表示情報を、順次、光学的に読み取る読取部と、
前記読取部で読み取られた各表示情報の、それぞれの読取時刻を測定し記録する計時部と、
各表示情報に含まれる各時間情報の差分と、各表示情報の読取時刻の差分と、前記一定の時間間隔から求められる有効期限とに基づいて、前記表示情報の有効性を判断する有効性判断部とを備えることを特徴とする動的認証システム。
A dynamic authentication system comprising a user terminal that dynamically presents authentication information and a reading device that reads the presented authentication information,
The user terminal side
A display information generating unit for generating two or more display information by combining predetermined authentication information with time information indicating the current time on the user terminal;
A dynamic information presentation unit that dynamically presents the authentication information by sequentially displaying the display information at the same position with a certain time interval;
With
The reader is
A reading unit that sequentially optically reads the two or more display information displayed on the dynamic information presentation unit;
A timing unit for measuring and recording each reading time of each display information read by the reading unit;
Validity determination for determining the validity of the display information based on the difference between the time information included in each display information, the difference in the reading time of each display information, and the expiration date obtained from the certain time interval And a dynamic authentication system.
前記読取部で読み取られた各表示情報から、前記時間情報を除外して、前記所定の認証情報を抽出する情報抽出部と、
前記情報抽出部が抽出したそれぞれの認証情報の同一性を比較し、その比較結果に基づいて、前記表示情報の正当性を判断する正当性判断部と
をさらに備えることを特徴とする請求項1に記載の動的認証システム。
An information extraction unit that extracts the predetermined authentication information by excluding the time information from each display information read by the reading unit;
The apparatus further comprises a validity judgment unit that compares the sameness of each authentication information extracted by the information extraction unit, and judges the validity of the display information based on the comparison result. The dynamic authentication system described in 1.
前記ユーザー端末は、ユーザーが使用し、通信ネットワーク上に配置される認証サーバーとの間で、一度のみ有効なワンタイムパスワードを用いて、当該ユーザーの認証を行うワンタイム認証機能を備え、
前記ワンタイム認証機能は、
次世代乱数を発生させ、この次世代乱数に対してユーザー側一方向性関数による演算を所定回数だけ繰り返して第1のワンタイムコードを生成する第1のワンタイムコード作成部と、
前記次世代乱数を発生させる前に発生させた前世代乱数に対して、前記ユーザー側一方向性関数による演算を所定回数だけ繰り返して第2のワンタイムコードを生成する第2のワンタイムコード作成部と、
認証時において、前記通信ネットワークの通信状態に応じて前記第1のワンタイムコード又は前記第2のワンタイムコードに用いられた次世代乱数又は前世代乱数を選択する選択部と、
選択された前記次世代乱数又は前記前世代乱数に対して、前記ユーザー側一方向性関数による演算を、選択された乱数に対する所定回数よりも低減回数分だけ少ない回数を繰り返して生成されたワンタイムコードを、認証用通信経路を通じて前記ワンタイムパスワードとして送信する認証実行部と、
を備えることを特徴とする請求項1に記載の動的認証システム。
The user terminal includes a one-time authentication function that authenticates the user using a one-time password that is valid only once with an authentication server that is used by the user and placed on the communication network.
The one-time authentication function is
A first one-time code generating unit for generating a next-generation random number and generating a first one-time code by repeating a calculation by a user-side unidirectional function a predetermined number of times for the next-generation random number;
Generation of a second one-time code for generating a second one-time code by repeating a calculation by the user-side unidirectional function a predetermined number of times for the previous generation random number generated before generating the next-generation random number And
At the time of authentication, a selection unit that selects the next generation random number or the previous generation random number used for the first one-time code or the second one-time code according to the communication state of the communication network;
One time generated by repeating the calculation by the user-side unidirectional function for the selected next generation random number or the previous generation random number by a number of times less than the predetermined number of times for the selected random number. An authentication execution unit for transmitting a code as the one-time password through an authentication communication path;
The dynamic authentication system according to claim 1, further comprising:
認証情報を動的に提示するユーザー端末と、提示された前記認証情報を読み取る読取装置とを用いた動的認証方法であって、
前記ユーザー端末側において、表示情報生成部が、所定の認証情報に、当該ユーザー端末上の現在時刻を示す時間情報を組み合わせて、2以上の表示情報を生成する表示情報生成ステップと、
動的情報提示部が、前記表示情報を一定の時間間隔をもって、同一位置に順次表示することにより、前記認証情報を動的に提示する動的情報提示ステップと、
前記読取装置の読取部が、前記動的情報提示部に表示された前記2以上の表示情報を、順次、光学的に読み取る読取ステップと、
前記読取ステップで読み取られた各表示情報の読取時刻を、計時部が、測定し記録する計時ステップと、
有効性判断部が、各表示情報に含まれる各時間情報の差分と、各表示情報の読取時刻の差分と、前記一定の時間間隔から求められる有効期限とに基づいて、前記表示情報の有効性を判断する有効性判断ステップとを備えることを特徴とする動的認証方法。
A dynamic authentication method using a user terminal that dynamically presents authentication information and a reading device that reads the presented authentication information,
On the user terminal side, a display information generation unit generates two or more display information by combining predetermined authentication information with time information indicating the current time on the user terminal; and
A dynamic information presentation unit that dynamically presents the authentication information by sequentially displaying the display information at the same position at a constant time interval;
A reading step in which the reading unit of the reading device optically sequentially reads the two or more display information displayed on the dynamic information presenting unit;
A time measuring step in which a time measuring unit measures and records the reading time of each display information read in the reading step;
The validity determination unit determines the validity of the display information based on the difference between the time information included in each display information, the difference in the reading time of each display information, and the expiration date obtained from the certain time interval. A dynamic authentication method comprising: a validity determination step of determining
情報抽出部が、前記読取ステップで読み取られた各表示情報から、前記時間情報を除外して、前記所定の認証情報を抽出する情報抽出ステップと、
前記情報抽出ステップにおいて抽出したそれぞれの認証情報の同一性を比較し、その比較結果に基づいて、前記表示情報の正当性を、正当性判断部が判断する正当性判断ステップと
をさらに備えることを特徴とする請求項4に記載の動的認証方法。
An information extraction step of extracting the predetermined authentication information by excluding the time information from each display information read in the reading step;
A legitimacy judging step in which the legitimacy judging unit judges the legitimacy of the display information based on the comparison result by comparing the identities of the respective authentication information extracted in the information extracting step. The dynamic authentication method according to claim 4, wherein:
前記ユーザー端末において、ユーザーが使用し、通信ネットワーク上に配置される認証サーバーとの間で、一度のみ有効なワンタイムパスワードを用いて、当該ユーザーの認証を行うワンタイム認証ステップをさらに備え、
前記ワンタイム認証ステップでは、
ワンタイムコード作成部が、次世代乱数を発生させ、この次世代乱数に対してユーザー側一方向性関数による演算を所定回数だけ繰り返して第1のワンタイムコードを生成するとともに、前記次世代乱数を発生させる前に発生させた前世代乱数に対して、前記ユーザー側一方向性関数による演算を所定回数だけ繰り返して第2のワンタイムコードを生成するワンタイムコード作成ステップと、
認証時において、選択部が、前記通信ネットワークの通信状態に応じて前記第1のワンタイムコード又は前記第2のワンタイムコードに用いられた次世代乱数又は前世代乱数を選択する選択ステップと、
認証実行部が、選択された前記次世代乱数又は前記前世代乱数に対して、前記ユーザー側一方向性関数による演算を、選択された乱数に対する所定回数よりも低減回数分だけ少ない回数を繰り返して生成されたワンタイムコードを、認証用通信経路を通じて前記ワンタイムパスワードとして送信する認証実行ステップと、
を備えることを特徴とする請求項4に記載の動的認証方法。
The user terminal further includes a one-time authentication step for authenticating the user using a one-time password that is valid only once with an authentication server used by the user and disposed on the communication network,
In the one-time authentication step,
The one-time code generation unit generates a next-generation random number, generates a first one-time code by repeating a calculation by a user-side unidirectional function a predetermined number of times for the next-generation random number, and generates the next-generation random number A one-time code generating step for generating a second one-time code by repeating the calculation by the user-side unidirectional function a predetermined number of times with respect to the previous generation random number generated before generating
At the time of authentication, the selection unit selects the next generation random number or the previous generation random number used for the first one-time code or the second one-time code according to the communication state of the communication network; and
For the selected next generation random number or the previous generation random number, the authentication execution unit repeats the calculation by the user-side unidirectional function a number of times less than the predetermined number of times for the selected random number. An authentication execution step of transmitting the generated one-time code as the one-time password through an authentication communication path;
The dynamic authentication method according to claim 4, further comprising:
請求項1に記載の動的認証システムにおいて前記ユーザー端末として用いられる動的認証用端末であって、
所定の認証情報に、当該動的認証用端末上の現在時刻を示す時間情報を組み合わせて、2以上の表示情報を生成する表示情報生成部と、
前記表示情報を一定の時間間隔をもって、同一位置に順次表示することにより、前記認証情報を動的に提示する動的情報提示部と、
を備えることを特徴とする動的認証用端末。
A dynamic authentication terminal used as the user terminal in the dynamic authentication system according to claim 1,
A display information generation unit that generates two or more display information by combining predetermined authentication information with time information indicating the current time on the dynamic authentication terminal ;
A dynamic information presentation unit that dynamically presents the authentication information by sequentially displaying the display information at the same position with a certain time interval;
A terminal for dynamic authentication, comprising:
ユーザーが使用し、通信ネットワーク上に配置される認証サーバーとの間で、一度のみ有効なワンタイムパスワードを用いて、当該ユーザーの認証を行うワンタイム認証機能をさらに備え、
前記ワンタイム認証機能は、
次世代乱数を発生させ、この次世代乱数に対してユーザー側一方向性関数による演算を所定回数だけ繰り返して第1のワンタイムコードを生成する第1のワンタイムコード作成部と、
前記次世代乱数を発生させる前に発生させた前世代乱数に対して、前記ユーザー側一方向性関数による演算を所定回数だけ繰り返して第2のワンタイムコードを生成する第2のワンタイムコード作成部と、
認証時において、前記通信ネットワークの通信状態に応じて前記第1のワンタイムコード又は前記第2のワンタイムコードに用いられた次世代乱数又は前世代乱数を選択する選択部と、
選択された前記次世代乱数又は前記前世代乱数に対して、前記ユーザー側一方向性関数による演算を、選択された乱数に対する所定回数よりも低減回数分だけ少ない回数を繰り返して生成されたワンタイムコードを、認証用通信経路を通じて前記ワンタイムパスワードとして送信する認証実行部と、
を備えることを特徴とする請求項7に記載の動的認証用端末。
A one-time authentication function that authenticates the user using a one-time password that is valid only once with the authentication server used by the user and placed on the communication network,
The one-time authentication function is
A first one-time code generating unit for generating a next-generation random number and generating a first one-time code by repeating a calculation by a user-side unidirectional function a predetermined number of times for the next-generation random number;
Generation of a second one-time code for generating a second one-time code by repeating a calculation by the user-side unidirectional function a predetermined number of times for the previous generation random number generated before generating the next-generation random number And
At the time of authentication, a selection unit that selects the next generation random number or the previous generation random number used for the first one-time code or the second one-time code according to the communication state of the communication network;
One time generated by repeating the calculation by the user-side unidirectional function for the selected next generation random number or the previous generation random number by a number of times less than the predetermined number of times for the selected random number. An authentication execution unit for transmitting a code as the one-time password through an authentication communication path;
The terminal for dynamic authentication according to claim 7, comprising:
請求項1に記載の動的認証システムにおいて前記読取装置として用いられる動的認証用読取装置であって、
前記動的情報提示部に表示された前記2以上の表示情報を、順次、光学的に読み取る読取部と、
前記読取部で読み取られた各表示情報の、それぞれの読取時刻を測定し記録する計時部と、
各表示情報に含まれる各時間情報の差分と、各表示情報の読取時刻の差分と、前記一定の時間間隔から求められる有効期限とに基づいて、前記表示情報の有効性を判断する有効性判断部と
を備えることを特徴とする動的認証用読取装置。
A dynamic authentication reader used as the reader in the dynamic authentication system according to claim 1,
A reading unit that sequentially optically reads the two or more display information displayed on the dynamic information presentation unit;
A timing unit for measuring and recording each reading time of each display information read by the reading unit;
Validity determination for determining the validity of the display information based on the difference between the time information included in each display information, the difference in the reading time of each display information, and the expiration date obtained from the certain time interval A dynamic authentication reader.
前記読取部で読み取られた各表示情報から、前記時間情報を除外して、前記所定の認証情報を抽出する情報抽出部と、
前記情報抽出部が抽出したそれぞれの認証情報の同一性を比較し、その比較結果に基づいて、前記表示情報の正当性を判断する正当性判断部と
をさらに備えることを特徴とする請求項9に記載の動的認証用読取装置。
An information extraction unit that extracts the predetermined authentication information by excluding the time information from each display information read by the reading unit;
The authenticity determination unit that compares the identities of the authentication information extracted by the information extraction unit and determines the validity of the display information based on the comparison result. The reader for dynamic authentication described in 1.
認証情報を動的に提示するユーザー端末と、提示された前記認証情報を読み取る読取装置とを用いた動的認証プログラムであって、前記読取装置に、
前記ユーザー端末側において、所定の認証情報に、当該ユーザー端末上の現在時刻を示す時間情報を組み合わせて生成され、
一定の時間間隔をもって、同一位置に順次表示された、2以上の表示情報を、前記認証情報として、
順次、光学的に読み取る読取ステップと、
前記読取ステップで読み取られた各表示情報の読取時刻を、測定し記録する計時ステップと、
各表示情報に含まれる各時間情報の差分と、各表示情報の読取時刻の差分と、前記一定の時間間隔から求められる有効期限とに基づいて、前記表示情報の有効性を判断する有効性判断ステップとを備える処理を実行させることを特徴とする動的認証プログラム。
A dynamic authentication program using a user terminal that dynamically presents authentication information and a reading device that reads the presented authentication information, the reading device,
On the user terminal side, the predetermined authentication information is generated by combining time information indicating the current time on the user terminal,
Two or more display information sequentially displayed at the same position at a constant time interval is used as the authentication information.
Sequential optically reading steps;
A time measuring step of measuring and recording the reading time of each display information read in the reading step;
Validity determination for determining the validity of the display information based on the difference between the time information included in each display information, the difference in the reading time of each display information, and the expiration date obtained from the certain time interval A dynamic authentication program characterized by causing a process including steps to be executed.
前記読取ステップで読み取られた各表示情報から、前記時間情報を除外して、前記所定の認証情報を抽出する情報抽出ステップと、
前記情報抽出ステップにおいて抽出したそれぞれの認証情報の同一性を比較し、その比較結果に基づいて、前記表示情報の正当性を、判断する正当性判断ステップと
をさらに備えることを特徴とする請求項11に記載の動的認証プログラム。
An information extraction step of extracting the predetermined authentication information by excluding the time information from each display information read in the reading step;
The authenticity judgment step of comparing the identity of each authentication information extracted in the information extraction step, and judging the validity of the display information based on the comparison result. 11. The dynamic authentication program according to 11.
JP2015011062A 2015-01-23 2015-01-23 Dynamic authentication system, dynamic authentication method, reader for dynamic authentication, user terminal device, and dynamic authentication program Active JP5978326B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015011062A JP5978326B2 (en) 2015-01-23 2015-01-23 Dynamic authentication system, dynamic authentication method, reader for dynamic authentication, user terminal device, and dynamic authentication program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015011062A JP5978326B2 (en) 2015-01-23 2015-01-23 Dynamic authentication system, dynamic authentication method, reader for dynamic authentication, user terminal device, and dynamic authentication program

Publications (2)

Publication Number Publication Date
JP2016136665A JP2016136665A (en) 2016-07-28
JP5978326B2 true JP5978326B2 (en) 2016-08-24

Family

ID=56512161

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015011062A Active JP5978326B2 (en) 2015-01-23 2015-01-23 Dynamic authentication system, dynamic authentication method, reader for dynamic authentication, user terminal device, and dynamic authentication program

Country Status (1)

Country Link
JP (1) JP5978326B2 (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018077641A (en) * 2016-11-08 2018-05-17 株式会社ブイシンク Settlement system
JP2018077642A (en) * 2016-11-08 2018-05-17 株式会社ブイシンク Information terminal
CN111052164B (en) 2017-08-30 2023-09-15 乐天集团股份有限公司 Settlement system, settlement method, and program
JP6746103B2 (en) 2018-03-23 2020-08-26 カシオ計算機株式会社 Authentication method, authentication system, portable information device and program
JP6473539B1 (en) * 2018-07-19 2019-02-20 株式会社メルカリ Program, information processing method, information processing apparatus
JP6473540B1 (en) * 2018-07-19 2019-02-20 株式会社メルカリ Program, information processing method, information processing apparatus
KR101958458B1 (en) * 2018-07-27 2019-07-02 주식회사 펀앤뉴 Method for authentication by display-oriented dynamic 2D code, dynamic 2D code authentication system therefor, user terminal device therefor and authentication server therefor
JP7317490B2 (en) * 2018-11-14 2023-07-31 東芝テック株式会社 Information processing system, information processing device and information processing program

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6339228A (en) * 1986-08-04 1988-02-19 Nec Corp Secret securing system
JP4259021B2 (en) * 2002-01-31 2009-04-30 日本電気株式会社 Authentication system, authentication method, and program
JP2003242116A (en) * 2002-01-31 2003-08-29 Internatl Business Mach Corp <Ibm> Certification device, certification system, server, portable terminal, certification terminal, and method of certification
JP2005182295A (en) * 2003-12-17 2005-07-07 Sony Corp Information processor and method, information processing system, recording medium and program

Also Published As

Publication number Publication date
JP2016136665A (en) 2016-07-28

Similar Documents

Publication Publication Date Title
JP5978326B2 (en) Dynamic authentication system, dynamic authentication method, reader for dynamic authentication, user terminal device, and dynamic authentication program
US11587057B2 (en) Distributed authenticity verification for consumer payment transactions
CN110945554B (en) Registry Blockchain Architecture
CN109328445B (en) Unique token authentication verification value
US10922672B2 (en) Authentication systems and methods using location matching
CN113014400B (en) Secure authentication of users and mobile devices
US9256869B2 (en) Authentication and verification services for third party vendors using mobile devices
US11127009B2 (en) Methods and systems for using a mobile device to effect a secure electronic transaction
US8694438B1 (en) Distributed authenticity verification for consumer payment transactions
JP6128565B2 (en) Transaction processing system and method
US20160224977A1 (en) Token check offline
US20140108265A1 (en) System and method of authenticating a network gateway
US20100094732A1 (en) Systems and Methods to Verify Payment Transactions
US20130282582A1 (en) System and method for data and identity verfication and authentication
KR20170097695A (en) Transaction authorisation
US20120330769A1 (en) Electronic transaction techniques implemented over a computer network
JP2010287250A (en) Authentication system for cashless payment
AU2023200221A1 (en) Remote transaction system, method and point of sale terminal
US20200097937A1 (en) Token-based open-loop stored-value card network
JP2016536717A (en) Customer profile establishment method
JP5978325B2 (en) One-time authentication system, one-time authentication method, authentication server, portable terminal, and one-time authentication program
KR20120076654A (en) Card payment relay system using mobile phone number and method thereof
JP2005327243A (en) Point system using information terminal
JP7085460B2 (en) Bank servers, payment methods and programs
WO2014063192A1 (en) Mobile payments

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160525

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160707

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160725

R150 Certificate of patent or registration of utility model

Ref document number: 5978326

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250