JP2016136664A - One-time authentication system, one-time authentication method, authentication server, portable terminal and one-time authentication program - Google Patents

One-time authentication system, one-time authentication method, authentication server, portable terminal and one-time authentication program Download PDF

Info

Publication number
JP2016136664A
JP2016136664A JP2015011061A JP2015011061A JP2016136664A JP 2016136664 A JP2016136664 A JP 2016136664A JP 2015011061 A JP2015011061 A JP 2015011061A JP 2015011061 A JP2015011061 A JP 2015011061A JP 2016136664 A JP2016136664 A JP 2016136664A
Authority
JP
Japan
Prior art keywords
authentication
time
code
time code
user
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.)
Granted
Application number
JP2015011061A
Other languages
Japanese (ja)
Other versions
JP5978325B2 (en
Inventor
敏昭 平田
Toshiaki Hirata
敏昭 平田
直紀 深谷
Naoki Fukaya
直紀 深谷
高山 博和
Hirokazu Takayama
博和 高山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SB Payment Service Corp
Original Assignee
SoftBank Payment Service Corp
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 SoftBank Payment Service Corp filed Critical SoftBank Payment Service Corp
Priority to JP2015011061A priority Critical patent/JP5978325B2/en
Publication of JP2016136664A publication Critical patent/JP2016136664A/en
Application granted granted Critical
Publication of JP5978325B2 publication Critical patent/JP5978325B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

PROBLEM TO BE SOLVED: To establish authentication processing even under a condition that a user terminal and an authentication server cannot directly communicate with each other.SOLUTION: First and second one-time codes are generated from a next-generation random number and a previous-generation random number at a user terminal 1 side. In an authentication server 2, first and second one-time codes for authentication are generated and stored by performing calculation using a hash function Hs on the first and second one-time codes. In the user terminal 1, according to the communication state, the calculation based on the hash function Hc is repeated at a frequency which is smaller than a predetermined frequency for selected random numbers by only a reduced frequency with respect to the next-generation random number and the previous-generation random number used for previously generated one-time codes, thereby generating a present second one-time code. In the authentication server 2, the calculation based on the hash function Hc is executed on the second one-time code by the reduced frequency, and a first or second one-time code for authentication is selected according to the communication state to perform authentication processing.SELECTED DRAWING: Figure 1

Description

本発明は、一度のみ有効なワンタイムパスワードを用いて、当該ユーザーの認証を行うワンタイム認証システム、ワンタイム認証方法、認証サーバー、携帯端末、及びワンタイム認証プログラムに関する。   The present invention relates to a one-time authentication system, a one-time authentication method, an authentication server, a portable terminal, and a one-time authentication program for authenticating a user using a one-time password that is valid only once.

従来、Webサービスへのログイン処理など、インターネット上のアカウント管理では、IDやパスワードなどによりユーザーのアクセス権を認証する認証システムが用いられている。このユーザー認証システムにおいて、固定的に用いられる固定パスワードよりもセキュリティを高める方式として、セッション毎にパスワードを変更して認証処理を行うワンタイムパスワードを使用するシステムが知られている(例えば、特許文献1)。   2. Description of the Related Art Conventionally, in account management on the Internet, such as login processing to a Web service, an authentication system that authenticates a user's access right using an ID, a password, or the like is used. In this user authentication system, a system that uses a one-time password for performing authentication processing by changing a password for each session is known as a method for improving security compared to a fixed password that is used in a fixed manner (for example, Patent Documents). 1).

この特許文献1には、オンラインサービスサーバーと情報端末と携帯情報端末と携帯情報端末会社メールサーバーとがインターネットを介して接続された構成において、情報端末からの認証要求に対し、オンラインサービスサーバーが認証要求に対して一定時間且つ一度しか使用することができないワンタイムパスワードを生成し、生成したワンタイムパスワードを記載したメールを作成し、当該メールを、携帯情報端末会社メールサーバーを介して利用者の携帯情報端末に送信し、利用者が受信したメールに記載されたワンタイムパスワードを従来の固定パスワードに代わって情報端末に入力し、情報端末がオンラインサービスサーバーにワンタイムパスワードを送信することで、認証を行う技術が開示されている。   In Patent Document 1, an online service server authenticates an authentication request from an information terminal in a configuration in which an online service server, an information terminal, a portable information terminal, and a portable information terminal company mail server are connected via the Internet. Generate a one-time password that can be used only once for a certain period of time in response to the request, create an email with the generated one-time password, and send the email to the user via the mobile information terminal company email server By sending the one-time password written in the email received by the user to the mobile information terminal and entering the information terminal instead of the conventional fixed password, the information terminal sends the one-time password to the online service server. A technique for performing authentication is disclosed.

特開2005−209083号公報JP 2005-209083 A

しかしながら、特許文献1に開示されたような通信ネットワーク上のサーバー装置と通信処理を行うことで認証を行う技術では、ユーザー端末が通信可能エリア外に位置したり、通信障害などが発生したりなど、サーバー装置と通信ができない場合には、サーバー装置からユーザー端末に対して、今回使用するためのワンタイムパスワードを送信することができないため、認証処理を行うことができなかった。   However, in the technology for performing authentication by performing communication processing with a server device on a communication network as disclosed in Patent Document 1, the user terminal is located outside the communicable area, or a communication failure occurs. When the server device cannot communicate with the server device, the server device cannot transmit a one-time password to be used this time to the user terminal, so that the authentication process cannot be performed.

そこで、本発明は、上記のような問題を解決するものであり、ユーザー端末と認証サーバーとが直接通信できない状況下であっても、認証処理を確立することができるワンタイム認証システム、ワンタイム認証方法、認証サーバー、携帯端末、及びワンタイム認証プログラムを提供することを目的とする。   Therefore, the present invention solves the above-described problems, and a one-time authentication system and one-time authentication system that can establish an authentication process even in a situation where a user terminal and an authentication server cannot communicate directly An object is to provide an authentication method, an authentication server, a portable terminal, and a one-time authentication program.

上記課題を解決するために、本発明は、通信ネットワーク上に配置される認証サーバーと、ユーザーが使用し、認証サーバーに通信ネットワークを通じて接続可能なユーザー端末との間で、一度のみ有効なワンタイムパスワードを用いて、当該ユーザーの認証を行うワンタイム認証システムであって、
ユーザー端末側において、次世代乱数を発生させ、この次世代乱数に対してユーザー側一方向性関数による演算を所定回数だけ繰り返して第1のワンタイムコードを生成する第1のワンタイムコード作成部と、
ユーザー端末側において、次世代乱数を発生させる前に発生させた前世代乱数に対して、ユーザー側一方向性関数による演算を所定回数だけ繰り返して第2のワンタイムコードを生成する第2のワンタイムコード作成部と、
認証サーバーにおいて、第1のワンタイムコード及び第2のワンタイムコードを取得し、第1のワンタイムコードを用いて、サーバー側一方向性関数を用いた演算により認証用第1のワンタイムコードを生成するとともに、第2のワンタイムコードを用いて、サーバー側一方向性関数を用いた演算により認証用第2のワンタイムコードを生成し、これら第1及び第2の認証用ワンタイムコードと、ユーザーに固有のユーザー特定情報と関連付けて保存する認証用コード保存部と、
認証時において、通信ネットワークの通信状態に応じて第1のワンタイムコード又は第2のワンタイムコードに用いられた次世代乱数又は前世代乱数を選択する選択部と、
選択された次世代乱数又は前世代乱数に対して、ユーザー側一方向性関数による演算を、選択された乱数に対する所定回数よりも低減回数分だけ少ない回数を繰り返して生成されたワンタイムコードを、ユーザー端末から、認証用通信経路を通じてワンタイムパスワードとして取得する認証管理部と、
通信状態に応じて、認証用第1のワンタイムコード又は認証用第2のワンタイムコードのいずれかを選択して認証用コード保存部から取得する認証用コード選択部と、
認証管理部が取得したワンタイムパスワードに対して、低減回数分のユーザー側一方向性関数による演算を実行する低減回数補完部と、
認証用コード選択部が選択した認証用第1のワンタイムコード又は認証用第2のワンタイムコードと、低減回数補完部で演算を実行したワンタイムパスワードとに基づいて、認証処理を行う認証部とを備える。
In order to solve the above-described problem, the present invention provides a one-time effective only once between an authentication server arranged on a communication network and a user terminal used by a user and connectable to the authentication server through the communication network. A one-time authentication system that authenticates the user using a password,
On the user terminal side, a first one-time code generating unit that generates a first one-time code by generating a next-generation random number and repeating a calculation on the next-generation random number by a user-side unidirectional function a predetermined number of times. When,
On the user terminal side, a second one 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 A time code generator,
In the authentication server, the first one-time code and the second one-time code are obtained, and the first one-time code for authentication is obtained by calculation using the server-side one-way function using the first one-time code. And generating a second one-time code for authentication by a calculation using a server-side one-way function using the second one-time code, and these first and second one-time codes for authentication And an authentication code storage unit that stores the user-specific information associated with the user,
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;
For the selected next generation random number or the previous generation random number, a one-time code generated by repeating the calculation by the user side one-way function by a number of times less than the predetermined number of times for the selected random number, An authentication management unit that obtains a one-time password from a user terminal through an authentication communication path;
An authentication code selection unit that selects either the first one-time code for authentication or the second one-time code for authentication and acquires it from the authentication code storage unit according to the communication state;
For the one-time password acquired by the authentication management unit, a reduction number complementing unit that performs calculation by the user-side unidirectional function for the number of reductions, and
An authentication unit that performs an authentication process based on the first one-time code for authentication or the second one-time code for authentication selected by the authentication code selection unit and the one-time password that is calculated by the reduction number complementing unit With.

また、他の発明は、通信ネットワーク上に配置される認証サーバーと、ユーザーが使用し、認証サーバーに通信ネットワークを通じて接続可能なユーザー端末との間で、一度のみ有効なワンタイムパスワードを用いて、当該ユーザーの認証を行うワンタイム認証方法であって、
(1)ユーザー端末側において、ワンタイムコード作成部が、次世代乱数を発生させ、この次世代乱数に対してユーザー側一方向性関数による演算を所定回数だけ繰り返して第1のワンタイムコードを生成するとともに、次世代乱数を発生させる前に発生させた前世代乱数に対してユーザー側一方向性関数による演算を所定回数だけ繰り返して第2のワンタイムコードを生成するワンタイムコード作成ステップと、
(2)認証サーバーにおいて、第1のワンタイムコード及び第2のワンタイムコードを取得し、認証用コード保存部が、第1のワンタイムコードを用いて、サーバー側一方向性関数を用いた演算により認証用第1のワンタイムコードを生成するとともに、第2のワンタイムコードを用いて、サーバー側一方向性関数を用いた演算により認証用第2のワンタイムコードを生成し、これら第1及び第2の認証用ワンタイムコードと、ユーザーに固有のユーザー特定情報と関連付けて当該認証用コード保存部に保存する認証用コード保存ステップと、
(3)ユーザー端末の選択部が、認証時に、通信ネットワークの通信状態に応じて、第1のワンタイムコード又は第2のワンタイムコードに用いられた次世代乱数又は前世代乱数を選択する選択ステップと、
(4)認証管理部が、選択された次世代乱数又は前世代乱数に対して、ユーザー側一方向性関数による演算を、選択された乱数に対する所定回数よりも低減回数分だけ少ない回数を繰り返して生成されたワンタイムコードを、ユーザー端末から、認証用通信経路を通じてワンタイムパスワードとして取得する認証管理ステップと、
(5)認証用コード選択部が、通信状態に応じて、認証用第1のワンタイムコード又は認証用第2のワンタイムコードのいずれかを選択して認証用コード保存部から取得する認証用コード選択ステップと、
(6)認証管理部が取得した第2のワンタイムコードに対して、低減回数補完部が、低減回数分のユーザー側一方向性関数による演算を実行する低減回数補完ステップと、
(7)認証用コード選択部が選択した認証用第1のワンタイムコード又は認証用第2のワンタイムコードと、低減回数補完部で演算を実行したワンタイムパスワードとに基づいて、認証処理を行う認証ステップと
を備える。
Another invention uses a one-time password that is valid only once between an authentication server arranged on a communication network and a user terminal that is used by a user and can be connected to the authentication server through the communication network. A one-time authentication method for authenticating the user,
(1) On the user terminal side, the one-time code generation unit generates a next-generation random number, and repeats the calculation based on the user-side unidirectional function for the next-generation random number a predetermined number of times to generate the first one-time code. A one-time code generation step for generating a second one-time code by generating a predetermined one-time operation on the previous-generation random number generated before generating the next-generation random number and a predetermined number of times. ,
(2) The authentication server obtains the first one-time code and the second one-time code, and the authentication code storage unit uses the server-side one-way function using the first one-time code. A first one-time code for authentication is generated by calculation, and a second one-time code for authentication is generated by calculation using a server-side one-way function using the second one-time code. An authentication code storage step for storing the first and second authentication one-time codes in the authentication code storage unit in association with user-specific information specific to the user;
(3) Selection that the selection unit of the user terminal 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 at the time of authentication Steps,
(4) The authentication management unit repeats 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 management step of acquiring the generated one-time code as a one-time password from a user terminal through an authentication communication path;
(5) The authentication code selection unit selects either the first one-time code for authentication or the second one-time code for authentication and acquires it from the authentication code storage unit depending on the communication state A code selection step;
(6) A reduction number complementing step in which a reduction number complementing unit performs a calculation by a user-side unidirectional function corresponding to the number of reductions for the second one-time code acquired by the authentication management unit;
(7) The authentication process is performed based on the first one-time code for authentication or the second one-time code for authentication selected by the authentication code selection unit and the one-time password executed by the reduction number complementing unit. Performing an authentication step.

ここで、「ワンタイムコード」とは、認証サーバーに対するアクセス用に発行される一度限り有効な認証情報であり、数字や文字、記号などのテキストデータで表現されるものの他、バーコードや、二次元バーコード、その他のコード化された図形などが含まれる。そして、本発明における「第1のワンタイムコード」とは、次回の認証時に用いられる認証情報であり、「第2のワンタイムコード」とは、今回の認証時に用いられる認証情報である。また、「通信ネットワーク」とは、電話回線やISDN回線、ADSL回線、光回線などの公衆回線、専用回線、3G回線や、Wifi(登録商標)、Bluetooth(登録商標)などの無線通信回線などの種々の通信回線を相互に接続して構築される通信網であり、インターネットなどの通信プロトコルTCP/IPを用いたIP網が含まれ、このIP網には、10BASE−Tや100BASE−TX等によるイントラネット(企業内ネットワーク)や家庭内ネットワークなどのLANなども含まれる。「認証用通信経路」とは、認証情報を認証サーバーとの間で安定して送受信するための通信経路であり、上記通信ネットワークと異なる経路やプロトコルでもよく、上記通信ネットワークに一部又は全部の通信経路が含まれていてもよい。この認証用通信経路としては、例えば、店舗に設置されたPOS端末などを、ユーザー端末と認証サーバーの間に介在させた経路とすることができ、ユーザー端末とPOS端末とは、リーダライタ装置やバーコードリーダ装置のような非接触通信によって接続されるものでよい。   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 barcodes, other coded figures, etc. are included. The “first one-time code” in the present invention is authentication information used at the time of the next authentication, and the “second one-time code” is authentication information used at the time of the current authentication. The “communication network” refers to a public line such as a telephone line, an ISDN line, an ADSL line, or an optical line, a dedicated line, a 3G line, or a wireless communication line such as WiFi (registered trademark) or Bluetooth (registered trademark). A communication network constructed by connecting various communication lines to each other, and includes an IP network using a communication protocol TCP / IP such as the Internet. This IP network is based on 10BASE-T, 100BASE-TX, etc. LANs such as intranets (in-house networks) and home networks are also included. 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 the communication network, and a part or all of the communication network may be included in the communication network. A communication path 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.

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

これらのような本発明によれば、ユーザー端末が、第2のワンタイムコードを用いて認証を行うとともに、次世代乱数に基づく第1のワンタイムコードを生成して、認証サーバー側に送信しておくことから、平常時にあっては、認証処理の度に、常に新しい世代の乱数によりワンタイムコードが生成されることとなり、セキュリティを高めることができる。このとき、ユーザー端末側では、ユーザー側一方向性関数を用いて暗号化(ハッシュ化)され、サーバー側で取得されたワンタイムコードは、サーバー側一方向性関数により暗号化(ハッシュ化)されるため、仮に通信経路途中やサーバー側で認証情報が傍受されたり漏洩したとしても、その認証情報を悪用してユーザーになり代わって認証を受けることはできない。   According to the present invention as described above, the user terminal performs authentication 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. Therefore, in normal times, a one-time code is always generated with 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.

詳述すると、本発明では、認証サーバーとユーザー端末との通信状態に応じて、今回の認証時に用いられるワンタイムパスワードの元となるワンタイムコード(第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.

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

上記発明において、ユーザー端末は、コード化された第1のワンタイムコード又はコード化された第2のワンタイムコードをワンタイムパスワードとして表示する表示部を有し、認証用通信経路は、表示部に表示されたワンタイムパスワードを読み取る読取装置に接続され、認証管理部は、読取装置を介して、ワンタイムパスワードをユーザー端末から取得することが好ましい。   In the above invention, the user terminal has a display unit that displays the encoded first one-time code or the encoded second one-time code as a one-time password, and the authentication communication path includes the display unit Preferably, the authentication management unit acquires the one-time password from the user terminal via the reading device.

この場合には、認証用通信経路は、ユーザー端末の表示部に表示されたワンタイムパスワードを読み取る読取装置に接続され、認証管理部は、読取装置を介して、ワンタイムパスワードをユーザー端末から取得しているので、ユーザー端末が通信可能エリア外に位置して直接認証サーバーと通信ができない場合でも、ワンタイムパスワードを取得して認証することができる。   In this case, the authentication communication path is connected to a reading device that reads the one-time password displayed on the display unit of the user terminal, and the authentication management unit acquires the one-time password from the user terminal via the reading device. Therefore, even when the user terminal is located outside the communicable area and cannot directly communicate with the authentication server, the one-time password can be acquired and authenticated.

上記発明において、通信ネットワーク上には、認証サーバーとユーザー端末とを接続する連携用通信経路が構築され、認証用コード保存部は、連携用通信経路を通じて、ユーザー端末上において初回に生成された第1のワンタイムコードを取得し、この第1のワンタイムコードを用いて、サーバー側一方向性関数を用いた演算により認証用第1のワンタイムコードを生成し、第1の認証用ワンタイムコードと、ユーザー端末に固有のユーザー特定情報と関連付けて保存することが好ましい。   In the above invention, a communication path for connecting the authentication server and the user terminal is constructed on the communication network, and the authentication code storage unit is generated for the first time on the user terminal through the communication path for cooperation. 1 one-time code is obtained, and using this first one-time code, a first one-time code for authentication is generated by calculation using a server-side one-way function, and the first one-time code for authentication is obtained. It is preferable to store the code in association with user-specific information unique to the user terminal.

ここで、「連携用通信経路」とは、上記の認証用通信経路とは異なる通信経路であり、上記通信ネットワーク上に構築され、特に3G回線やWifi、Bluetooth(登録商標)などの無線通信回線を含み、ユーザー端末と認証サーバーとが直接接続され、一定のセキュリティが確保された通信経路である。このような本発明によれば、ユーザー端末で初回に生成した第2のワンタイムコードを認証サーバーに送信することで、次回以降の認証において、2つの異なる乱数を用いたワンタイム認証処理を実行することができる。   Here, the “communication communication path” is a communication path different from the authentication communication path described above, and is constructed on the communication network, and in particular, a wireless communication line such as a 3G line, WiFi, Bluetooth (registered trademark), or the like. In other words, the user terminal and the authentication server are directly connected to each other to ensure a certain level of security. According to the present invention, by transmitting the second one-time code generated at the user terminal for the first time to the authentication server, the one-time authentication process using two different random numbers is executed in the subsequent authentication. can do.

上記発明において、認証用通信経路は、店舗に設置される店舗端末を介して、ユーザー端末と接続され、店舗端末では、認証処理に関係するユーザーの消費行動に関する情報を購買情報として取得し、認証管理部は、第1のワンタイムコード又は第2のワンタイムコードとともに、購買情報を取得し、この購買情報を、前記第1又は第2の認証用ワンタイムコード及び前記認証処理の結果と関連付けて購買履歴情報蓄積部に蓄積することが好ましい。   In the above invention, the authentication communication path is connected to the user terminal via a store terminal installed in the store, and the store terminal acquires information related to the user's consumption behavior related to the authentication process as purchase information, and authenticates. The management unit acquires purchase information together with the first one-time code or the second one-time code, and associates the purchase information with the first or second authentication one-time code and the result of the authentication process. It is preferable to store in the purchase history information storage unit.

ここで、「消費行動に関する情報」とは、いわゆるPOSデータが含まれ、購入した商品名、商品コード、購入日時、店舗名、数量などであり、電子クーポンやポイントの使用情報も含まれる。この場合には、ユーザーの消費行動に関する情報を購買情報として、前記第1又は第2の認証用ワンタイムコード及び前記認証処理の結果とともに蓄積しているので、各ユーザーの消費行動を解析し、マーケティングに活用することができる。この際、購買情報と認証用に用いたワンタイムコード(乱数やハッシュ値を含む。)とを関連付けて管理するため、ユーザーを特定することなく解析を行うことができ、個人情報の保護を向上させつつ、マーケティングに必要な情報を取り扱うことができる。   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. In this case, since information related to the user's consumption behavior is stored as purchase information together with the first or second authentication one-time code and the result of the authentication process, the consumption behavior of each user is analyzed, Can be used for marketing. At this time, purchase information and one-time codes (including random numbers and hash values) used for authentication are managed in association with each other, so analysis can be performed without specifying the user, and personal information can be protected. It can handle information necessary for marketing.

上記発明において、認証サーバーは、ユーザーに付与される価値情報を管理する価値情報管理サーバーと、ユーザーに対して提供された商品又はサービスに関する決済処理を実行する決済サーバーとを有し、価値情報管理サーバー及び決済サーバーは、認証用コード保存部に保存された情報を共有可能であり、決済サーバーは、認証処理の結果に基づく価値情報の有効性に関する判定情報を取得し、判定情報に基づいて、価値情報の有効性を反映させた決済処理を実行することが好ましい。   In the above invention, the authentication server includes a value information management server that manages value information given to a user, and a payment server that executes a payment process related to a product or service provided to the user, and the value information management The server and the payment server can share the information stored in the authentication code storage unit, and the payment server acquires the determination information on the validity of the value information based on the result of the authentication process, and based on the determination information, It is preferable to execute a payment process reflecting the validity of the value information.

ここで、「価値情報」とは、店舗におけるサービスの提供を保証する情報であり、ポイントや電子クーポン、割引サービス等が含まれる。この場合、価値情報管理サーバー及び決済サーバーは、認証用コード保存部に保存された情報を共有可能であり、決済サーバーは、認証処理の結果に基づく価値情報の有効性に関する判定情報を取得し、判定情報に基づいて、価値情報の有効性を反映させた決済処理を実行するので、認証処理と同時に価値情報有効性の判定と、決済処理とを、複数のサーバー装置、ひいては複数のサービス事業者で協働して行うことできる。また、これにより、ユーザー側にとっては認証処理のための操作と、電子クーポンやポイントを利用するための操作と、決済するための操作を簡略化することができる。   Here, the “value information” is information that guarantees the provision of services in the store, and includes points, electronic coupons, discount services, and the like. In this case, the value information management server and the payment server can share the information stored in the authentication code storage unit, and the payment server acquires determination information regarding the validity of the value information based on the result of the authentication process, Based on the determination information, the payment process reflecting the validity of the value information is executed. Therefore, the determination of the value information validity and the payment process are performed at the same time as the authentication process by a plurality of server devices and by extension, a plurality of service providers. Can be done in collaboration. In addition, this makes it possible for the user side to simplify operations for authentication processing, operations for using electronic coupons and points, and operations for settlement.

さらに、他の発明は、上記ワンタイム認証システム及びワンタイム認証方法で利用可能な認証サーバーである。具体的に、この本発明に係る認証サーバーは、通信ネットワーク上に配置され、ユーザーが使用するユーザー端末との間で、一度のみ有効なワンタイムパスワードを用いて、当該ユーザーの認証を行う認証サーバーであって、
ユーザー端末側において、次世代乱数を発生させ、この次世代乱数に対してユーザー側一方向性関数による演算を所定回数だけ繰り返して生成された第1のワンタイムコードと、ユーザー端末側において、次世代乱数を発生させる前に発生させた前世代乱数に対してユーザー側一方向性関数による演算を繰り返して生成された第2のワンタイムコードとを、認証サーバーにおいて取得する連携管理部と、
第1のワンタイムコードを用いて、サーバー側一方向性関数を用いた演算により認証用第1のワンタイムコードを生成するとともに、第2のワンタイムコードを用いて、サーバー側一方向性関数を用いた演算により認証用第2のワンタイムコードを生成し、これら第1及び第2の認証用ワンタイムコードと、ユーザー端末に固有のユーザー特定情報と関連付けて保存する認証用コード保存部と、
認証時において、通信ネットワークの通信状態に応じて選択された第1のワンタイムコード又は第2のワンタイムコードに用いられた次世代乱数又は前世代乱数に対して、ユーザー側一方向性関数による演算を、選択された乱数に対する所定回数よりも低減回数分だけ少ない回数を繰り返してユーザー端末において生成されたワンタイムコードを、認証用通信経路を通じてワンタイムパスワードとして取得する認証管理部と、
通信状態に応じて、認証用第1のワンタイムコード又は認証用第2のワンタイムコードのいずれかを選択して認証用コード保存部から取得する認証用コード選択部と、
認証管理部が取得したワンタイムパスワードに対して、低減回数分のユーザー側一方向性関数による演算を実行する低減回数補完部と、
認証用コード選択部が選択した認証用第1のワンタイムコード又は認証用第2のワンタイムコードと、低減回数補完部で演算を実行したワンタイムパスワードとに基づいて、認証処理を行う認証部とを備える。
Furthermore, another invention is an authentication server that can be used in the one-time authentication system and the one-time authentication method. Specifically, the authentication server according to the present invention is an authentication server that is arranged on a communication network and authenticates the user with a user terminal used by the user using a one-time password that is valid only once. Because
Next-generation random numbers are generated on the user terminal side, and the first one-time code generated by repeating the calculation by the user-side unidirectional function a predetermined number of times for the next-generation random numbers, A linkage management unit that obtains, in the authentication server, a second one-time code generated by repeatedly calculating a user-side one-way function for the previous generation random number generated before generating the generation random number;
Using the first one-time code, a first one-time code for authentication is generated by an operation using the server-side one-way function, and the server-side one-way function is generated using the second one-time code. An authentication code storage unit that generates a second one-time code for authentication by calculation using the first and second one-time codes for authentication and stores them in association with user-specific information unique to the user terminal; ,
At the time of authentication, the user-side one-way function is used for the next generation random number or the previous generation random number used for the first one-time code or the second one-time code selected according to the communication state of the communication network. An authentication management unit that obtains a one-time code generated in the user terminal by repeating the number of times less than the predetermined number of times for the selected random number as a one-time password through the authentication communication path;
An authentication code selection unit that selects either the first one-time code for authentication or the second one-time code for authentication and acquires it from the authentication code storage unit according to the communication state;
For the one-time password acquired by the authentication management unit, a reduction number complementing unit that performs calculation by the user-side unidirectional function for the number of reductions, and
An authentication unit that performs an authentication process based on the first one-time code for authentication or the second one-time code for authentication selected by the authentication code selection unit and the one-time password that is calculated by the reduction number complementing unit With.

なお、上記発明に係るワンタイム認証システム及び認証サーバーは、複数のサーバー装置で構成することも可能であり、また、装置や機器等のハードウェアのみならず、その機能を持ったソフトウェア、又はこれらの組み合わせなどによっても構成することができる。また、データベースも単一のデータベース装置の他、リレーションシップ機能により連携される複数のデータベース群で構成することもできる。   Note that the one-time authentication system and authentication server according to the invention can be configured by a plurality of server devices, and not only hardware such as devices and devices but also software having the function, or these It can be configured by a combination of the above. In addition to a single database device, the database can also be composed of a plurality of database groups linked by the relationship function.

また、他の発明は、上記ワンタイム認証システム及びワンタイム認証方法で利用可能な携帯端末である。具体的に、この本発明に係る携帯端末は、ユーザーが使用し、通信ネットワーク上に配置される認証サーバーとの間で、一度のみ有効なワンタイムパスワードを用いて、当該ユーザーの認証を行う機能を有する携帯端末であって、
次世代乱数を発生させ、この次世代乱数に対してユーザー側一方向性関数による演算を所定回数だけ繰り返して第1のワンタイムコードを生成する第1のワンタイムコード作成部と、
次世代乱数を発生させる前に発生させた前世代乱数に対して、ユーザー側一方向性関数による演算を所定回数だけ繰り返して第2のワンタイムコードを生成する第2のワンタイムコード作成部と、
認証サーバーに対し、第1のワンタイムコード及び第2のワンタイムコードを送信する送信部と、
認証時において、通信ネットワークの通信状態に応じて第1のワンタイムコード又は第2のワンタイムコードに用いられた次世代乱数又は前世代乱数を選択する選択部と、
選択された次世代乱数又は前世代乱数に対して、ユーザー側一方向性関数による演算を、選択された乱数に対する所定回数よりも低減回数分だけ少ない回数を繰り返してワンタイムコードを生成し、当該ワンタイムコードを、認証用通信経路を通じてワンタイムパスワードとして、認証サーバーに対して送出する認証処理部と、
通信ネットワークの通信状態に応じて選択され、生成されたワンタイムパスワードに基づく認証処理の結果を取得する認証結果取得部とを備える。
Another invention is a portable terminal that can be used in the one-time authentication system and the one-time authentication method. Specifically, the portable terminal according to the present invention has a function of authenticating 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. A mobile terminal having
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;
A second one-time code generating unit that generates a second one-time code by repeating a calculation by a user-side unidirectional function a predetermined number of times with respect to the previous generation random number generated before generating the next-generation random number; ,
A transmitting unit for transmitting the first one-time code and the second one-time code to the authentication server;
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;
For the selected next generation random number or the previous generation random number, the calculation by the user-side unidirectional function is repeated a number of times less than the predetermined number of times for the selected random number to generate a one-time code, An authentication processing unit that sends the one-time code to the authentication server as a one-time password through an authentication communication path;
An authentication result acquisition unit that acquires an authentication process result based on the generated one-time password that is selected according to the communication state of the communication network.

上記発明において、ユーザー端末は、コード化された第1のワンタイムコード又はコード化された第2のワンタイムコードをワンタイムパスワードとして表示する表示部を有し、認証用通信経路は、表示部に表示されたワンタイムパスワードを読み取る読取装置に接続され、認証管理部は、読取装置を介して、ワンタイムパスワードをユーザー端末から取得することが好ましい。   In the above invention, the user terminal has a display unit that displays the encoded first one-time code or the encoded second one-time code as a one-time password, and the authentication communication path includes the display unit Preferably, the authentication management unit acquires the one-time password from the user terminal via the reading device.

上記発明において、通信ネットワーク上には、認証サーバーとユーザー端末とを接続する連携用通信経路が構築され、認証用コード保存部は、連携用通信経路を通じて、ユーザー端末上において初回に生成された第1のワンタイムコードを取得し、この第1のワンタイムコードを用いて、サーバー側一方向性関数を用いた演算により認証用第1のワンタイムコードを生成し、第1の認証用ワンタイムコードと、ユーザー端末に固有のユーザー特定情報と関連付けて保存することが好ましい。   In the above invention, a communication path for connecting the authentication server and the user terminal is constructed on the communication network, and the authentication code storage unit is generated for the first time on the user terminal through the communication path for cooperation. 1 one-time code is obtained, and using this first one-time code, a first one-time code for authentication is generated by calculation using a server-side one-way function, and the first one-time code for authentication is obtained. It is preferable to store the code in association with user-specific information unique to the user terminal.

上記発明において、認証用通信経路は、店舗に設置される店舗端末を介して、ユーザー端末と接続され、店舗端末では、認証処理に関係するユーザーの消費行動に関する情報を購買情報として取得し、認証管理部は、第1のワンタイムコード又は第2のワンタイムコードとともに、購買情報を取得し、この購買情報を、ユーザー特定情報及び認証処理の結果と関連付けて購買履歴情報蓄積部に蓄積することが好ましい。   In the above invention, the authentication communication path is connected to the user terminal via a store terminal installed in the store, and the store terminal acquires information related to the user's consumption behavior related to the authentication process as purchase information, and authenticates. The management unit acquires purchase information together with the first one-time code or the second one-time code, and stores the purchase information in the purchase history information storage unit in association with the user identification information and the result of the authentication process. Is preferred.

上記発明において、認証サーバーは、ユーザーに付与される価値情報を管理する価値情報管理サーバーと、ユーザーに対して提供された商品又はサービスに関する決済処理を実行する決済サーバーとを有し、価値情報管理サーバー及び決済サーバーは、認証用コード保存部に保存された情報を共有可能であり、決済サーバーは、認証処理の結果に基づく価値情報の有効性に関する判定情報を取得し、判定情報に基づいて、価値情報の有効性を反映させた決済処理を実行することが好ましい。   In the above invention, the authentication server includes a value information management server that manages value information given to a user, and a payment server that executes a payment process related to a product or service provided to the user, and the value information management The server and the payment server can share the information stored in the authentication code storage unit, and the payment server acquires the determination information on the validity of the value information based on the result of the authentication process, and based on the determination information, It is preferable to execute a payment process reflecting the validity of the value information.

また、上述した本発明に係る認証サーバー、及び携帯端末は、所定の言語で記述されたプログラムをコンピューター上で実行することにより実現することができる。     The authentication server and the portable terminal according to the present invention described above can be realized by executing a program described in a predetermined language on a computer.

すなわち、本発明は、通信ネットワーク上に配置される認証サーバーと、ユーザーが使用し、認証サーバーに通信ネットワークを通じて接続可能なユーザー端末との間で、一度のみ有効なワンタイムパスワードを用いて、当該ユーザーの認証を行うワンタイム認証プログラムであって、認証サーバーに、
(1)ユーザー端末側において、次世代乱数を発生させ、この次世代乱数に対してユーザー側一方向性関数による演算を所定回数だけ繰り返して生成された第1のワンタイムコードと、ユーザー端末側において、次世代乱数を発生させる前に発生させた前世代乱数に対して、ユーザー側一方向性関数による演算を所定回数だけ繰り返して生成された第2のワンタイムコードとを取得する管理ステップと、
(2)認証用コード保存部が、第1のワンタイムコードを用いて、サーバー側一方向性関数を用いた演算により認証用第1のワンタイムコードを生成するとともに、第2のワンタイムコードを用いて、サーバー側一方向性関数を用いた演算により認証用第2のワンタイムコードを生成し、これら第1及び第2の認証用ワンタイムコードと、ユーザー端末に固有のユーザー特定情報と関連付けて当該認証用コード保存部に保存する認証用コード保存ステップと、
(3)認証時において、通信ネットワークの通信状態に応じて選択された第1のワンタイムコード又は第2のワンタイムコードに用いられた次世代乱数又は前世代乱数に対して、ユーザー側一方向性関数による演算を、選択された乱数に対する所定回数よりも低減回数分だけ少ない回数を繰り返してユーザー端末において生成されたワンタイムコードを、認証管理部が、認証用通信経路を通じてワンタイムパスワードとして取得する認証管理ステップと、
(4)認証用コード選択部が、通信状態に応じて、認証用第1のワンタイムコード又は認証用第2のワンタイムコードのいずれかを選択して認証用コード保存部から取得する認証用コード選択ステップと、
(5)認証管理部が取得した第2のワンタイムコードに対して、低減回数補完部が、低減回数分のユーザー側一方向性関数による演算を実行する低減回数補完ステップと、
(6)認証用コード選択部が選択した認証用第1のワンタイムコード又は認証用第2のワンタイムコードと、低減回数補完部で演算を実行したワンタイムパスワードとに基づいて、認証部が、認証処理を行う認証ステップと
を含む処理を実行させる。
That is, the present invention uses a one-time password that is valid only once between an authentication server arranged on a communication network and a user terminal that is used by a user and can be connected to the authentication server through the communication network. A one-time authentication program that authenticates users,
(1) On the user terminal side, a first one-time code generated by generating a next-generation random number and repeating a calculation by a user-side one-way function for the next-generation random number a predetermined number of times, and the user terminal side A second one-time code generated by repeating a calculation by a user-side unidirectional function a predetermined number of times with respect to the previous generation random number generated before generating the next generation random number; ,
(2) The authentication code storage unit uses the first one-time code to generate the first one-time code for authentication by the calculation using the server-side one-way function, and the second one-time code Are used to generate a second one-time code for authentication by calculation using a server-side one-way function, and the first and second one-time codes for authentication and user-specific information specific to the user terminal An authentication code storage step for associating and storing in the authentication code storage unit;
(3) At the time of authentication, the user side is unidirectional with respect to the next generation random number or the previous generation random number used for the first one-time code or the second one-time code selected according to the communication state of the communication network. The authentication management unit acquires the one-time code generated in the user terminal by repeating the calculation by the sex function by the number of times less than the predetermined number of times for the selected random number as the one-time password through the authentication communication path. Authentication management steps to
(4) The authentication code selection unit selects either the first one-time code for authentication or the second one-time code for authentication and acquires it from the authentication code storage unit according to the communication state. A code selection step;
(5) A reduction number complementing step in which a reduction number complementing unit performs a calculation by a user-side unidirectional function for the number of reductions for the second one-time code acquired by the authentication management unit;
(6) Based on the first one-time code for authentication or the second one-time code for authentication selected by the authentication code selection unit, and the one-time password executed by the reduction number complementing unit, the authentication unit And a process including an authentication step for performing the authentication process.

また、他の発明は、通信ネットワーク上に配置される認証サーバーと、ユーザーが使用し、認証サーバーに通信ネットワークを通じて接続可能なユーザー端末との間で、一度のみ有効なワンタイムパスワードを用いて、当該ユーザーの認証を行うワンタイム認証プログラムであって、ユーザー端末に、
(1)次世代乱数を発生させ、この次世代乱数に対してユーザー側一方向性関数による演算を所定回数だけ繰り返して第1のワンタイムコードを生成する第1のワンタイムコード作成ステップと、
(2)次世代乱数を発生させる前に発生させた前世代乱数に対して、ユーザー側一方向性関数による演算を所定回数だけ繰り返して第2のワンタイムコードを生成する第2のワンタイムコード作成ステップと、
(3)認証サーバーに対して第1のワンタイムコード及び第2のワンタイムコードを送信する送信ステップと、
(4)認証時において、通信ネットワークの通信状態に応じて、第1のワンタイムコード又は第2のワンタイムコードに用いられた次世代乱数又は前世代乱数を選択する選択ステップと、
(5)選択された次世代乱数又は前世代乱数に対して、ユーザー側一方向性関数による演算を、選択された乱数に対する所定回数よりも低減回数分だけ少ない回数を繰り返してワンタイムコードを生成して、認証用通信経路を通じてワンタイムパスワードとして、認証サーバーに対して送出する認証処理ステップと、
(6)通信ネットワークの通信状態に応じて選択され、生成されたワンタイムパスワードに基づく認証処理の結果を取得する認証結果取得ステップと
を含む処理を実行させる。
Another invention uses a one-time password that is valid only once between an authentication server arranged on a communication network and a user terminal that is used by a user and can be connected to the authentication server through the communication network. A one-time authentication program that authenticates the user,
(1) A first one-time code generating step 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;
(2) 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 a previous-generation random number generated before generating a next-generation random number Creation steps,
(3) a transmission step of transmitting the first one-time code and the second one-time code to the authentication server;
(4) a selection step of selecting a next generation random number or a 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 at the time of authentication;
(5) A one-time code is 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. Then, an authentication processing step of sending to the authentication server as a one-time password through the authentication communication path;
(6) An authentication result acquisition step for acquiring an authentication process result based on the generated one-time password selected according to the communication state of the communication network is executed.

このようなプログラムを、ユーザー端末やWebサーバー等のコンピューターやICチップにインストールし、CPU上で実行することにより、上述した各機能を有するシステム、方法、サーバー、及び装置を容易に構築することができる。このプログラムは、例えば、通信回線を通じて配布することが可能であり、また、汎用コンピューターで読み取り可能な記録媒体に記録することにより、スタンドアローンの計算機上で動作するパッケージアプリケーションとして譲渡することができる。記録媒体として、具体的には、フレキシブルディスクやカセットテープ等の磁気記録媒体、若しくはCD−ROMやDVD−ROM等の光ディスクの他、RAMカードなど、種々の記録媒体に記録することができる。そして、このプログラムを記録したコンピューター読み取り可能な記録媒体によれば、汎用のコンピューターや専用コンピューターを用いて、上述したシステム、方法、サーバー、及び装置を簡便に実施することが可能となるとともに、プログラムの保存、運搬及びインストールを容易に行うことができる。   By installing such a program on a computer or IC chip such as a user terminal or a Web server and executing it on the CPU, it is possible to easily construct a system, method, server, and apparatus having the above-described functions. it can. 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. According to the computer-readable recording medium on which the program is recorded, the above-described system, method, server, and apparatus can be easily implemented using a general-purpose computer or a dedicated computer. Can be easily stored, transported and installed.

以上述べたように、この発明によれば、ユーザー端末と認証サーバーとが直接通信できない状況下であっても、認証処理を確立することができる。   As described above, according to the present invention, the authentication process can be established even in a situation where the user terminal and the authentication server cannot communicate directly.

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

[第1実施形態]
(システムの概要)
以下に添付図面を参照して、本発明に係るシステムの実施形態を詳細に説明する。図1は、第1実施形態に係るシステムの全体構成を示す概念図である。
[First Embodiment]
(System overview)
Exemplary embodiments of a 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 an overall configuration of a system according to the first embodiment.

図1に示すように、本実施形態に係るシステムは、通信ネットワーク5上に配置される認証サーバー2と、ユーザーが使用し、認証サーバー2に通信ネットワーク5を通じて接続可能なユーザー端末1との間で、一度のみ有効なワンタイムパスワードを用いて、当該ユーザーの認証を行うワンタイム認証システムである。具体的に、本システムでは、ユーザー端末1において、ユーザーに付与される価値情報を管理する価値情報管理サーバー群を構成するクーポンサーバー3及びポイントサーバー4から電子クーポン情報及びポイント情報を取得するとともに、これらの情報に認証情報(「ワンタイムコード)及び決済情報を含めたワンタイムパスワードを生成し、当該ワンタイムパスワードをコード化して画面上に表示させるようになっている。   As shown in FIG. 1, the system according to this 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. The one-time authentication system authenticates the user using a one-time password that is valid only once. 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 these information, and the one-time password is encoded and displayed on the screen.

そして、当該ワンタイムパスワードを店舗側端末7aに読み取らせることで、ワンタイムパスワードに応じた認証を行うとともに、電子クーポン又はポイントによる各種サービスを提供するものである。なお、「ワンタイムコード」とは、認証サーバーに対するアクセス用に発行される一度限り有効な認証情報であり、数字や文字、記号などのテキストデータで表現されるものの他、バーコードや、二次元バーコード、その他のコード化された図形などが含まれる。また、「価値情報」とは、店舗におけるサービスの提供を保証する情報であり、ポイントや電子クーポン、割引サービス等が含まれる。   And by making the shop side terminal 7a read the said one-time password, while performing the authentication according to a one-time password, various services by an electronic coupon or a point are provided. “One-time code” is authentication information that is valid for one-time use and is issued for access to the authentication server. It is expressed by text data such as numbers, letters, and symbols, as well as barcodes and two-dimensional codes. Includes barcodes and other coded graphics. “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コード(登録商標)として表示されるものとする。そして、店舗側端末7aは、ユーザー端末1の表示画面に表示されたコード情報を光学的に読み取り、読み取ったコード情報に基づくサービス内容を画面上に表示するとともに、読み取ったコード情報をPOSサーバーに送信している。   The store-side terminal 7a is a device that acquires various types of coded information. The store-side terminal 7a is connected to reading means for optically reading the code information displayed on the user terminal 1 display unit 13a. The communication path for authentication is connected to reading means. Here, the “code information” is information obtained by coding each data, and may be a combination of texts such as numbers and letters. Like a two-dimensional code such as a barcode or QR code (registered trademark), Information such as a character string is encoded, and information indicated by graphic information corresponding to the code is included. In the present embodiment, the code 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). To do. The store side terminal 7a optically reads the code information displayed on the display screen of the user terminal 1, displays the service content based on the read code information on the screen, and stores the read code information on the POS server. Sending.

なお、この店舗側端末7aとしては、例えば現金の管理を行うレジスター装置であり、利用者の利用代金を計算したり、金銭の管理をする機能を備えていてもよい。また、店舗側端末7aは、レジスター装置と接続可能な読取装置のみであってもよく、この場合には、演算処理機能及び無線通信機能を有した携帯可能なモバイルコンピューターやPDA(Personal Digital Assistance)、スマートフォン、タブレットPC等を用いることができる。   In addition, as this shop side terminal 7a, it is a register apparatus which manages cash, for example, and may be provided with the function which calculates a user's usage fee or manages 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は、ワンタイム認証プログラム(SDK)が蓄積されており、このワンタイム認証プログラムをアプリケーション実行部14によって起動させることで、認証情報であるワンタイムコードを生成するとともに、クーポンサーバー3及びポイントサーバー4から取得した電子クーポン情報及びポイント情報、決済情報、及び認証情報等を含めたワンタイムパスワードを生成し、画面上に表示させるようになっている。なお、このワンタイム認証プログラムは、認証サーバー2などインターネット側からダウンロードしたり、他の媒体を通じてインストールしたりすることで、ユーザー端末1に実装することができる。   The user terminal 1 stores a one-time authentication program (SDK). The application execution unit 14 activates the one-time authentication program to generate a one-time code as authentication information, and the coupon server 3 A one-time password including electronic coupon information and point information acquired from the point server 4, payment information, authentication information, and the like is generated and displayed on the screen. The one-time authentication program can be installed in the user terminal 1 by downloading from the Internet side such as the authentication server 2 or installing through another medium.

(各装置の内部構造)
次いで、上述したシステムを構成する各装置の内部構造について説明する。図2は、第1実施形態に係るユーザー端末1の内部構成を示すブロック図であり、図3は、本実施形態に係る店舗側端末及びPOSサーバーの内部構成を示すブロック図である。また、図4は、第1実施形態に係る認証サーバー2、クーポンサーバー3、ポイントサーバー4の内部構成を示すブロック図であり、図5(a)〜(c)は、本実施形態に係る乱数及びハッシュ回数に応じて生成されるハッシュ値を示す表である。なお、説明中で用いられる「モジュール」とは、装置や機器等のハードウェア、或いはその機能を持ったソフトウェア、又はこれらの組み合わせなどによって構成され、所定の動作を達成するための機能単位を示す。
(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 first 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 first embodiment, and FIGS. 5A to 5C are random numbers according to the present embodiment. It is a table | surface which shows the hash value produced | generated according to the number of times of a hash. 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が含まれている。   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.

メモリ15は、OS(Operating System)や各種のアプリケーション用のプログラム(ワンタイムパスワード生成ソフトウェア等)、その他のデータ等などを記憶する記憶装置であり、このメモリ15には、デバイス情報などのユーザー端末1に固有の端末固有識別子、ワンタイムコード生成に用いられる認証情報、電子クーポン情報、ポイント情報などが生成されたファイル内にシリアライズして保存される。ここで、ワンタイムパスコード生成に用いられるデータには、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 (such as one-time password generation software), other data, and the like. The memory 15 includes user terminals such as device information. Terminal unique identifier unique to 1, 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.

なお、ここでの端末固有識別子は、ユーザーに固有のユーザー特定情報の1つであり、シリアルナンバーやMACアドレスその他のユーザー端末の製造時に付与された1つのユーザー端末に固有且つ単一の端末識別子である。なお、端末固有識別子に代わるユーザー特定情報としては、ユーザー毎に付与されるユーザー固有のユーザー識別子や、アプリケーションに固有のID、サービスに固有のID、又はこれらを組み合わせて定められるユニークな値など、1つの端末に複数付与される識別子を用いることもできる。そして、これらのユーザー特定情報は、ユーザーが操作して入力するものでもよく、自動的に入力又は送信されるものであってもよい。   Here, the terminal unique identifier is one of user-specific information unique to the user, and is a unique and single terminal identifier for one user terminal given at the time of manufacture of 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 also 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 one-time authentication program of the present invention in the application execution unit 14, the one-time password creation unit 14a, the cooperation processing unit 14b, the value information acquisition unit 14c, and the authentication result acquisition unit 14d are virtualized. Built.

連携処理部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 to register at least the user identification information and the password required for cooperation with the authentication server, and the initial setting process is to use the random number and the hash count used for the authentication process as the user terminal 1 and This is a process to be set between the authentication servers 2. Then, the cooperation processing unit 14b sends a hash value hashed with 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, and the code information is displayed on the screen as a one-time password.

ここで、「ワンタイムコード」とは、認証サーバーに対するアクセス用に発行される一度限り有効な認証情報であり、数字や文字、記号などのテキストデータで表現されるものの他、バーコードや、二次元バーコード、その他のコード化された図形などが含まれ、本実施形態では、ハッシュ関数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 number, generating a first one-time code is a next authentication hash value by repeating the calculation by a hash function H C for this next generation random number by a predetermined number of times It is a module to do. 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, a hash value of the previously for generation random number, this authentication by repeating a calculation by a hash function H C for a predetermined number of times is generated before generating the next generation random number first 2 is a module that generates a 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から認証結果が返信される。ここで、確認される「認証結果」には、認証の可否の他、認証サーバー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 includes the generation of random numbers and the number of hashes of the second one-time code currently stored in the one-time code database 2a of the authentication server 2 in addition to the possibility of authentication. Can be included. 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による演算を、選択された乱数に対する所定回数よりも低減回数分だけ少ない回数を繰り返して、今回認証用に用いるワンタイムスタンプとして、第2のワンタイムコードを生成する。 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 a one-time stamp used for authentication this time by repeating a small number of times.

そして、ワンタイムパスワード作成部14aは、この第2のワンタイムコード及び第1のワンタイムコードに、購買情報、決済情報、及びユーザー情報を含めたコード情報を生成し、コード化されたコード情報をワンタイムパスワードとして表示部13a上に表示する。このように、ワンタイムパスワード作成部14aでは、認証環境に応じて生成するワンタイムコードを変更させ、認証サーバー2では、変更されたワンタイムコードに基づいて、ワンタイムパスワードを生成して認証処理を行うようになっている。なお、このワンタイムスタンプの生成及びこのワンタイムパスワードを用いた具体的な認証処理については後述する。認証結果取得部14dは、通信ネットワーク5の通信状態に応じて選択され、生成されたワンタイムパスワードに基づく認証処理の結果を取得するモジュールである。   Then, the one-time password creating unit 14a generates code information including purchase information, payment information, and user information in the second one-time code and the first one-time code, and the coded code information Is displayed on the display unit 13a as a one-time password. In this way, the one-time password creation unit 14a changes the one-time code generated according to the authentication environment, and the authentication server 2 generates a one-time password based on the changed one-time code and performs authentication processing. Is supposed to do. The generation of this one-time stamp and the specific authentication process using this one-time password will be described later. The authentication result acquisition unit 14d is a module that acquires the result of the authentication process based on the generated one-time password that is selected according to the communication state of the communication network 5.

(2)POSサーバー及び店舗側端末
次いで、POSサーバー及び店舗側端末の内部構成について説明する。図3は、POSサーバー及び店舗側端末の内部構成を示すブロック図である。店舗側端末7aは、読取手段76と、制御部74と、メモリ75と、通信インターフェース71と、入力インターフェース72と、出力インターフェース73とを備えている。読取手段76は、ユーザー端末1で表示したコード情報を読み取るためのリーダ装置であり、ユーザー端末1の液晶画面に表示されたQRコード(登録商標)を読取可能となっている。
(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 code 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.

制御部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 code 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.

通信インターフェース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 code information read by the reading means 76. The memory 75 is a storage device that stores an OS (Operating System), an accounting processing program, other data, and the like.

一方、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 code information is acquired from the store side terminal 7a via the communication interface 70a, and the acquired code 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に送信する。なお、ここでは、店舗側端末7aが取得したワンタイムパスワードを、POSサーバー7を経由させて認証サーバー2に送信したが、例えば、店舗側端末7aから直接認証サーバー2に送信してもよい。また、制御部70bは、認証処理に関係するユーザーの消費行動に関する情報を購買情報として取得する機能も有し、POS情報データベース70cに蓄積するとともに、ワンタイムパスワードとともに認証サーバー2に送信する。ここで、「消費行動に関する情報」とは、いわゆるPOSデータが含まれ、購入した商品名、商品コード、購入日時、店舗名、数量などであり、電子クーポンやポイントの使用情報も含まれる。   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. 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 for accumulating information related to the authentication process. In this embodiment, the user identification information includes a password, an ID of an application including the one-time authentication program, information related to the authentication process, the 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、又はこれらを組み合わせて定められるユニークな値など、1つの端末に複数付与される識別子が含まれる。   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 user ID unique to a user, an APPID unique to an application, an access ID unique to an access authority for a service, or a unique value determined by combining these is included.

ここで、認証処理に関する情報とは、サーバー側一方向性関数であるハッシュ関数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 the purchase information with the first or second authentication one-time code and the result of the authentication process, and the authentication management unit 20 acquires the purchase information included in the code 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 a cooperation start process such as login from the user terminal 1 through the communication path for cooperation. In this embodiment, the user specifying information and password are input during the member registration process or the initial setting process. Accept and 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 the purchase information included in the code 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 determination information regarding the validity of the value information based on the result of the authentication process. Then, based on the determination information, a payment 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内の電子クーポン情報を消し込む処理を行う。クーポン追加部34は、クーポンサーバーの管理者の操作に応じて電子クーポン情報をクーポンデータベース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. 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 to the user terminal 1 as point information.

利用可否確認部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.

(ワンタイムパスワードを用いた認証処理のアルゴリズム)
次いで、ワンタイムパスワード認証のアルゴリズムの概要について詳述する。図6は、本実施形態に係る認証処理のアルゴリズムを説明するシーケンス図である。なお、ここでは、認証環境に応じた選択処理は行われないものとする。
(Algorithm for authentication processing using one-time password)
Next, an outline of the one-time password authentication algorithm will be described in detail. FIG. 6 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)。
次いで、次回認証用コード作成部144は、下記のように、算出したハッシュ値Eに対し、ハッシュ関数Hによる演算を所定回数(M)だけ繰り返して第1のワンタイムコード(ハッシュ値E )を算出する(S103)。

その後、ワンタイムパスワード作成部14aは、M回ハッシュ化した第1のワンタイムコードとユーザー特定情報とを認証サーバー2に送信する(S104)。
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).
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).

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のワンタイムコード(ハッシュ値EM0)を取得すると(S105)、以下のように、ハッシュ値E に対してハッシュ関数Hを用いた演算により、認証用第1のワンタイムコード(ハッシュ値E’ )を算出する(S106)。

その後、初期化処理部22では、認証用第1のワンタイムコードをユーザー特定情報と関連付けてワンタイムコードデータベース2aに保存する(S107)。
When the initialization processing unit 22 of the authentication server 2 acquires the first one-time code (hash value EM0) (S105), the calculation using the hash function H S is performed on the hash value E 0 M as follows. Thus, the first one-time code for authentication (hash value E ′ 0 M ) is calculated (S106).

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. The one-time password creation unit 14a generates code information including user identification information and purchase information (coupon information, point information, and payment information) in the one-time password, and uses the reading means of the store-side terminal 7a. The code 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’0 を算出する(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)ワンタイムパスワードの初期化処理
初めに、ワンタイムパスワードの初期化処理について説明する。図7は、本実施形態に係る認証機能の初期化処理を示すシーケンス図である。初期化処理とは、ユーザー端末1及び認証サーバー2において、使用する乱数及びハッシュ回数を設定するものであり、この処理は、ワンタイム認証プログラムを最初に実行した場合や、ユーザー操作によって実行される。
(1) One-time password initialization process First, the one-time password initialization process will be described. FIG. 7 is a sequence diagram showing the 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 one-time authentication program is executed first or by a user operation. .

具体的に、ワンタイムパスワード作成部14aにおいて、ワンタイム認証プログラムが実行されると、ユーザー端末1の画面上において、ユーザーIDやパスワードを入力させる入力欄が表示される。なお、この入力欄における入力としては、ユーザーIDの他、端末IDやAPPIDなどのユーザー特定情報が含まれ、これらのIDは、ユーザーが手操作で入力する他、端末側から自動的に入力或いは送信される場合が含まれる。そして、ユーザー操作又は自動入力によって、ユーザー特定情報及びパスワードが入力されると、これらのデータが認証サーバー2に送信される(S201)。ここで認証サーバー2側では、会員登録処理は実行されており、ワンタイムコードデータベース2a内には予めユーザー特定情報(ユーザーIDやデバイス情報等)とパスワードが登録されているものとする。   Specifically, when the one-time authentication program is executed in the one-time password creation unit 14a, an input field 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 (user ID, device information, etc.) 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 the authentication result to the user terminal 1 (S205).

なお、ワンタイム認証プログラムを最初に実行した場合には、ワンタイム認証プログラムは、新規登録処理を行うために、認証サーバー2にアクセスする。そして、ユーザー端末1の画面上において、ユーザー特定情報(デバイス情報)及びパスワードの設定が行われ、これらのデータが認証サーバー2のワンタイムコードデータベース2aに登録される。この際、ユーザーの個人情報(氏名、年齢、性別等)の他、決済情報(クレジットカード番号等)なども登録される。   When the one-time authentication program is executed first, the one-time 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の認証処理について説明する。図8は、本実施形態に係る通信可能時における処理を示すシーケンス図である。また、図9は、本実施形態に係る通信不通時における処理を示すシーケンス図であり、図10は、本実施形態に係るエラー発生時における処理を示すシーケンス図である。
(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. 8 is a sequence diagram illustrating processing when communication is possible according to the present embodiment. FIG. 9 is a sequence diagram illustrating processing when communication is not performed according to the present embodiment. FIG. 10 is a sequence diagram illustrating processing 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とが通信可能である場合の処理について説明する。図8に示すように、ユーザー端末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 shown in FIG. 8, the user terminal 1 accesses the authentication server through the communication path for cooperation 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 Code information is created and displayed on the screen, and the code information is read by the reading means 76 of the store side terminal 7a. In the store side terminal 7a, the code information is read by the reading means (S304), and the code information is acquired (S305). In the store side terminal 7a, point information and electronic coupon information are displayed on the screen based on the code information. Thereafter, the store side terminal 7 a transmits the code 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’ 1を算出する。一方、認証用コード選択部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 code information (S306), and the authentication unit 25 receives these one-time passwords. Authentication processing 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 ′ M1 is calculated. 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 ) as with previously stored in association with the user identifying information (user ID, etc.), for the second one-time code [alpha] 1, hashed on the server side of the hash function H S as equation 7, the second authentication It is stored as a one-time code α1 (hash value E ′ 1 M−1 ). 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との通信ができない場合の処理について説明する。図9に示すように、ユーザー端末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. 9, 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 a hash function is applied to the random number H 2. An operation using H c is performed to calculate a hash value E 2 , the calculated hash value E 2 is hashed a predetermined number of times (M times), and the first one-time code β 1 (hash value E 2 M ) is gradually obtained. Generate.

そして、生成された第2のワンタイムコードα1(ハッシュ値E M−2)と第1のワンタイムコードβ1(ハッシュ値E )とに、購買情報及びユーザー特定情報を含めたコード情報を作成して画面上に表示させ、店舗側端末7aの読取手段にコード情報を読み取らせる。店舗側端末7aでは、読取手段によってコード情報の読み取り操作を行い(S404)、コード情報を取得する(S405)。 The generated second one-time code α1 (hash value E 0 M-2 ) and the first one-time code β1 (hash value E 2 M ) include code information including purchase information and user identification information. Is generated and displayed on the screen, and the code information is read by the reading means of the store side terminal 7a. In the store side terminal 7a, the code information is read by the reading means (S404), and the code 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 code information. Thereafter, the store side terminal 7 a transmits the code 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 code 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 The one-time code (hash value E ′ 1 M ) is accumulated, and the hash function H S is used for the second one-time code α (hash value E 0 M−1 ) used for the previous authentication. The second one-time code for authentication (hash value E ′ 0 M−1 ) is accumulated by the calculated operation. 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 code 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 process 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となっていることから、ワンタイムパスワードは一致して認証は成功する。 Further, the reduction count complementing unit 24 hashes the acquired second one-time code α1 (hash value E 0 M−2 ) with the client hash function H c , and then hashes with the server-side hash function H S 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 Further, in this embodiment, even 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, it is automatically It has a function to perform normalization processing.

先ず、ユーザー端末1は、図10に示すように、認証結果の確認として、連携用通信経路を通じて、ユーザー特定情報を送信する(S501)。認証サーバー2の連携処理部21では、ユーザー特定情報に基づいて第1のワンタイムコードに係る乱数の世代及びハッシュ回数を送信する(S502)。ここでは、所定の処理段階においてエラーが発生しているため、返却された第1のワンタイムコードに係る乱数の世代及びハッシュ回数と、ユーザー端末1に蓄積された第1のワンタイムコードに係る乱数の世代及びハッシュ回数とが整合しない。   First, as shown in FIG. 10, the user terminal 1 transmits user identification information through a communication path for cooperation as confirmation of an 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.

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

先ず、ユーザー端末1は、図11に示すように、クーポンサーバー3にアクセスして、画面上に表示されたクーポン情報から希望する電子クーポンを取得する操作を行う(S601)。クーポンサーバー3のクーポン取得部31は、ユーザー操作に応じて電子クーポン情報をユーザー端末1に送信する(S602)。電子クーポン情報は、ユーザー端末1のメモリ15に蓄積される。また、ユーザー端末1は、ポイントサーバー4にアクセスして、自身が所有するポイント情報を取得する操作を行う(S603)。ポイントサーバー4のポイント取得部41は、ユーザー操作に応じてポイント情報を送信する(S604)。ポイント情報は、ユーザー端末1のメモリ15に蓄積される。   First, as shown in FIG. 11, 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)のいずれかが行われる。   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 code information including purchase information (S606). One of the above-mentioned (A) to (C) is performed in the one-time password generation process based on this authentication environment.

アプリケーション実行部14において生成されたコード情報は、表示部13a上に表示される。店舗側端末7aの読取手段は、このコード情報を読み取り(S607)、画面上に電子クーポン情報及びポイント情報を表示させて、ユーザーは内容を確認する。その後、店員による操作によって、認証処理の実行がされると、コード情報は認証サーバー2に送信される(S608)。   The code information generated in the application execution unit 14 is displayed on the display unit 13a. The reading means of the store side terminal 7a reads this code information (S607), displays the electronic coupon information and the point information on the screen, and the user confirms the contents. Thereafter, when the authentication process is executed by the operation of the store clerk, the code information is transmitted to the authentication server 2 (S608).

認証サーバー2の認証管理部20では、コード情報内のワンタイムパスワードに基づいて認証処理を行う(S609)。この認証処理も各認証環境に応じて上記(A)又は(B)の認証処理が行われる。認証が成功すると、連携部20aでは、ワンタイムコードデータベース2a内のアカウント情報に基づいて、ポイントサーバー4にポイント利用可否の問い合せを送信する(S610)。ポイントサーバー4の利用可否確認部42では、アカウント情報に基づいて、ポイントデータベース4a内に記録されたユーザーのポイント数や有効期限情報を参照して、利用可否を判別し、判別結果を連携部20aに送信する(S611)。   The authentication management unit 20 of the authentication server 2 performs an authentication process based on the one-time password in the code information (S609). 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 (S610). 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. (S611).

また、連携部20aでは、アカウント情報に基づいて、クーポンサーバー3に電子クーポン利用可否の問い合せを送信する(S612)。クーポンサーバー3の利用可否確認部32では、アカウント情報に基づいて、クーポンデータベース3a内に記録されたユーザーの電子クーポン情報や有効期限情報を参照して利用可否を判別し、判別結果を連携部20aに送信する(S613)。さらに、連携部20aでは、各判別結果に応じた決済処理を行うとともに、決済サーバー6に決済処理によって算出された決済情報(ポイント及び電子クーポン利用後の購入代金情報等)を送信する(S614)。決済サーバー6では、決済情報に基づいて決済処理を行い、決済結果情報を連携部20aに送信する(S615)。   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 (S612). 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. (S613). Further, the cooperation unit 20a performs a payment process according to each determination result, and transmits the payment information calculated by the payment process (such as points and purchase price information after using the electronic coupon) to the payment server 6 (S614). . The settlement server 6 performs a settlement process based on the settlement information, and transmits settlement result information to the linkage unit 20a (S615).

その後、連携部20aでは、決済が完了した情報を取得すると、アカウント情報に基づいて、クーポンサーバー3に対してクーポン消し込み要求(ユーザー識別情報、電子クーポンを識別するクーポン識別情報を含む。)を送信する(S616)。クーポンサーバー3の利用状況更新部33では、消し込み要求に応じて、クーポンデータベース3aの電子クーポン情報を消し込み処理し、その消込結果を連携部20aに送信する(S617)。   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 (S616). 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 (S617).

また、連携部20aでは、アカウント情報に基づいて、ポイントサーバー4に対してポイント更新要求(ユーザー識別情報、使用されたポイント数情報を含む。)を送信する(S618)。ポイントサーバー4の利用状況更新部43では、更新要求に応じて、ポイントデータベース4aのポイント情報を更新処理し、その更新結果を連携部20aに送信する(S619)。ユーザー端末1から、結果確認によるアクセスがあった場合(S620)、連携部20aは、消込結果及び更新結果をユーザー端末1に対して送信する(S621)。   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 (S618). 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 (S619). When there is an access by the result confirmation from the user terminal 1 (S620), the cooperation unit 20a transmits the consumption result and the update result to the user terminal 1 (S621).

(ワンタイム認証プログラム)
上述した第1実施形態に係るワンタイム認証システム、携帯端末、認証サーバー、及びワンタイム認証方法は、所定の言語で記述されたプログラムをコンピューター上で実行することにより実現することができる。すなわち、このプログラムを、ユーザー端末やWebサーバー等のコンピューターやICチップにインストールし、CPU上で実行することにより、上述した各機能を有するシステムを容易に構築することができる。このプログラムは、例えば、通信回線を通じて配布することが可能であり、またスタンドアローンの計算機上で動作するパッケージアプリケーションとして譲渡することができる。そして、このようなプログラムは、パーソナルコンピューターで読み取り可能な記録媒体に記録することができ、汎用のコンピューターや専用コンピューターを用いて、上述したシステム、装置、サーバー、及びオブジェクト制御方法を実施することが可能となるとともに、プログラムの保存、運搬及びインストールを容易に行うことができる。
(One-time certification program)
The one-time authentication system, the portable terminal, the authentication server, and the one-time authentication method according to the first 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が、第2のワンタイムコードを用いて認証を行うとともに、次世代乱数に基づく第1のワンタイムコードを生成して、認証サーバー側に送信しておくことから、平常時にあっては、認証処理の度に、常に新しい世代の乱数によりワンタイムコードが生成されることとなり、セキュリティを高めることができる。このとき、ユーザー端末1側では、ハッシュ関数Hを用いて暗号化(ハッシュ化)され、サーバー側で取得されたワンタイムコードは、ハッシュ関数Hにより暗号化(ハッシュ化)されるため、仮に通信経路途中やサーバー側で認証情報が傍受されたり漏洩したとしても、その認証情報を悪用してユーザーになり代わって認証を受けることはできない。
(Action / Effect)
According to the present embodiment, the user terminal 1 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. Therefore, in normal times, a one-time code is always generated with a new generation of random numbers every time authentication processing is performed, and security can be improved. At this time, since the user terminal 1 is encrypted using a hash function H C (hashed), the one-time code obtained on the server side, which is encrypted (hashed) by the hash function H S, 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 / stolen, a code for actual authentication cannot be generated, so that unauthorized use can be prevented. 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 is stored in association with the user identification information, one-time 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 code 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 code information to be displayed on the screen includes all information such as point information, coupon information, and payment information, so the code 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. In addition, since the use of coupons and points 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 no coupons or points are used. Furthermore, the payment server 6 acquires determination information regarding the validity of the value information based on the result of the authentication process, and executes a payment process that reflects the validity of the value information based on the determination information.

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

さらに、店舗側端末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.

[第2実施形態]
次いで、本発明の第2実施形態について説明する。本実施形態では、コード情報内に時刻情報をタイムスタンプとして追加し、タイムスタンプに基づいてコード情報を一定期間のみ表示させることを要旨とする。図12は、第2実施形態に係るユーザー端末の内部構成を示すブロック図である。
[Second Embodiment]
Next, a second embodiment of the present invention will be described. The gist of the present embodiment is that time information is added as a time stamp in the code information, and the code information is displayed only for a certain period based on the time stamp. FIG. 12 is a block diagram showing an internal configuration of a user terminal according to the second embodiment.

第2実施形態において、ユーザー端末1には、図12に示すように、クライアント計時部16を備える。クライアント計時部16は、現在時刻を取得するモジュールであり、取得する時刻としては、ユーザー端末1のシステム時刻を取得してもよく、また、タイムサーバーなどにより提供される絶対時刻を取得してもよい。   In the second embodiment, the user terminal 1 includes a client timer unit 16 as shown in FIG. The client timekeeping unit 16 is a module that acquires the current time. As the time to acquire, the system time of the user terminal 1 may be acquired, or the absolute time provided by a time server or the like may be acquired. Good.

そして、ユーザー端末1のワンタイムパスワード作成部14aは、認証サーバー2に対して、認証結果の確認を行った後、第1実施形態と同様に、今回認証用コード作成部143で第2のワンタイムコードを生成し、次回認証用コード作成部144で第1のワンタイムコードを生成するとともに、第1及び第2のワンタイムコードと、購買情報と、端末固有端子を含めたコード情報を生成する。この際、ワンタイムパスワード作成部14aは、クライアント計時部16から取得した時刻情報をタイムスタンプとして含めてコード情報を生成し、そのコード情報を画面上に表示させる。すなわち、コード情報には、ワンタイムパスワードと、購買情報(電子クーポン情報及びポイント情報、決済情報等)と、ユーザー特定情報の他、タイムスタンプが含まれる。   Then, the one-time password creation unit 14a of the user terminal 1 confirms the authentication result with respect to the authentication server 2, and then the second one-time password creation unit 143 performs the authentication code creation unit 143 as in the first embodiment. Generate a time code, and generate a first one-time code at the next authentication code creation unit 144, and generate code information including the first and second one-time codes, purchase information, and terminal-specific terminals. To do. At this time, the one-time password creating unit 14a generates code information including the time information acquired from the client time measuring unit 16 as a time stamp, and displays the code information on the screen. That is, the code information includes a one-time password, purchase information (electronic coupon information and point information, payment information, etc.), user identification information, and a time stamp.

さらに、ワンタイムパスワード作成部14aは、タイムスタンプが含まれたコード情報を生成した後、クライアント計時部16から随時時刻情報を取得し、予め定められた所定間隔が経過したか否かを判断し、所定間隔が経過した後には、表示させたコード情報を破棄して、再度コード情報を表示する場合は、新たなコード情報を生成するようになっている。なお、この所定間隔は、様々な時間幅を設定することができるが、好ましくは約1分である。   Furthermore, after generating the code information including the time stamp, the one-time password creating unit 14a obtains the time information from the client timing unit 16 and determines whether or not a predetermined interval has elapsed. After the predetermined interval has elapsed, when the displayed code information is discarded and the code information is displayed again, new code information is generated. In addition, although this predetermined interval can set various time widths, it is preferably about 1 minute.

ここで、新たなコード情報を生成する際、ワンタイムパスワード作成部14aでは、前回ワンタイムパスワード生成時に使用した第1及び第2のワンタイムコードを変更して、変更した第1及び第2のワンタイムコードに基づいてコード情報を生成する。具体的に、第2のワンタイムコードとしては、前回表示のみ行い、破棄した第2のワンタイムコードを再利用するものとし、同じハッシュ値を用いる。一方、第1のワンタイムコードは、前回生成した第1のワンタイムコードの乱数とは異なる次世代の乱数を用いて生成する。   Here, when generating new code information, the one-time password creating unit 14a changes the first and second one-time codes used at the time of the previous one-time password generation, and changes the first and second ones. Code information is generated based on the one-time code. Specifically, as the second one-time code, only the previous display is performed and the discarded second one-time code is reused, and the same hash value is used. On the other hand, the first one-time code is generated using a next-generation random number different from the random number of the first one-time code generated last time.

一方、認証サーバー2の認証部25では、取得したコード情報からタイムスタンプを抽出し、タイムスタンプの時刻情報と現在時刻情報とを比較し、その差分が1分以上である場合には、そのコード情報は使用不可として以後の認証処理を実行しないようにする。このようなタイムスタンプが含まれたワンタイムパスワードを用いた認証処理の具体例を説明する。図13は、第2実施形態に係る生成されるハッシュ値の遷移を示す表である。なお、図13では、設定された当初のハッシュ回数Mは5000回であるものとする。   On the other hand, the authentication unit 25 of the authentication server 2 extracts a time stamp from the acquired code information, compares the time information of the time stamp with the current time information, and if the difference is 1 minute or more, the code The information is disabled so that subsequent authentication processing is not executed. A specific example of authentication processing using a one-time password including such a time stamp will be described. FIG. 13 is a table showing transitions of generated hash values according to the second embodiment. In FIG. 13, it is assumed that the set initial hash count M is 5000 times.

図13に示すように、先ず、1段階目として初期状態では、次回認証用ハッシュ値として、第1世代の乱数Hを用いて、第1のワンタイムコード(ハッシュ値E)を生成して認証サーバー2に送信する。認証サーバー2では、この第1のワンタイムコードに対し、ハッシュ関数Hを用いた演算により認証用第1のワンタイムコードを生成する。 As shown in FIG. 13, first, in the initial state as the first stage, the first one-time code (hash value E 0 ) is generated using the first generation random number H 0 as the hash value for the next authentication. To the authentication server 2. Authentication server 2, with respect to the first one-time code, to generate a first one-time code for authentication by calculation using the hash function H S.

その後、次の処理が行われる。ここでは、認証結果の確認を行った結果認証サーバー2と通信が可能でネットワーク環境有りの状態であるものとする。そうすると、今回認証用コード作成部143は、今回認証用として、第1世代の乱数Hから生成したハッシュ値をM−1回ハッシュ化した第2のワンタイムコード(ハッシュ値E M−1)を生成する。また、次回認証用コード作成部144は、次回認証用として、第1世代の次世代である第2世代の乱数Hから第2のワンタイムコード(ハッシュ値E )を生成する。さらに、ワンタイムパスワード作成部14aは、現在時刻をクライアント計時部16から取得する。そして、ワンタイムパスワード作成部14aは、ワンタイムパスワードと、購買情報と、ユーザー特定情報と、タイムスタンプとに基づいてコード情報を生成し、表示する。 Then, the next process is performed. Here, it is assumed that the result of checking the authentication result is that communication with the authentication server 2 is possible and a network environment exists. Then, the current authentication code creation unit 143 uses the second one-time code (hash value E 0 M−1) obtained by hashing the hash value generated from the first generation random number H 0 M−1 times for the current authentication. ) Is generated. The next-time authentication code creating unit 144 also generates a second one-time code (hash value E 1 M ) from the second generation random number H 1 that is the next generation of the first generation for the next authentication. Further, the one-time password creation unit 14 a obtains the current time from the client timing unit 16. Then, the one-time password creation unit 14a generates and displays code information based on the one-time password, purchase information, user identification information, and time stamp.

ワンタイムパスワード作成部14aは、タイムスタンプが含まれたコード情報を生成した後、クライアント計時部16から随時時刻情報を取得し、予め定められた所定間隔(約1分)が経過したか否かを判断する。ここでは、表示されたコード情報が店舗側端末7aに読み取られ、認証が行われたものとする。   After generating code information including a time stamp, the one-time password creating unit 14a obtains time information from the client timing unit 16 at any time, and whether or not a predetermined interval (about 1 minute) has elapsed. Judging. Here, it is assumed that the displayed code information is read by the store side terminal 7a and authentication is performed.

その後、次の処理が行われる。ここでは、認証結果の確認を行った結果、認証サーバー2と通信が可能でネットワーク環境有りの状態であるものとする。この場合、今回認証用コード作成部143は、第1実施形態と同様、今回認証用として、選択された乱数に対する所定回数よりも低減回数分だけ少ない回数を繰り返して第2のワンタイムコードを生成する。ここでは、第2世代の乱数Hから生成したハッシュ値をM−1回ハッシュ化した第2のワンタイムコード(ハッシュ値E M−1)を生成する。また、次回認証用コード作成部144は、次回認証用として、第3世代の乱数Hに対して、ハッシュ関数Hによる演算を所定回数だけ繰り返して次回認証用ハッシュ値E を生成する。 Then, the next process is performed. Here, as a result of checking the authentication result, it is assumed that communication with the authentication server 2 is possible and a network environment exists. In this case, the current authentication code creation unit 143 generates a second one-time code by repeating the number of times less than the predetermined number of times for the selected random number for the current authentication, as in the first embodiment. To do. Here, a second one-time code (hash value E 1 M-1 ) obtained by hashing the hash value generated from the second generation random number H 1 M-1 times is generated. Further, the next authentication code creating unit 144 generates a next authentication hash value E 2 M by repeating the calculation by the hash function H C a predetermined number of times for the third generation random number H 2 for the next authentication. .

そして、ここでも、ワンタイムパスワード作成部14aは、現在時刻をクライアント計時部16から取得し、タイムスタンプを含めたコード情報を生成して表示する。そして、ワンタイムパスワード作成部14aは、予め定められた所定間隔(約1分)が経過したか否かを判断する。ここでは、コード情報が表示されてから、所定間隔が経過してしまい、表示させたコード情報を破棄し、画面上からコード情報を消去したものとする。   Also here, the one-time password creation unit 14a obtains the current time from the client timing unit 16, and generates and displays code information including a time stamp. Then, the one-time password creation unit 14a determines whether or not a predetermined interval (about 1 minute) has elapsed. Here, it is assumed that a predetermined interval elapses after the code information is displayed, the displayed code information is discarded, and the code information is deleted from the screen.

その後、ユーザー端末1にて再度認証を行うための操作が行われると、ワンタイムパスワード作成部14aは、新たなコード情報を生成するようになっている。具体的には、再度認証結果の確認を行い、その確認結果に応じたワンタイムパスワードを生成する。ここでは、認証結果の確認を行った結果、認証サーバー2と通信が可能でネットワーク環境有りの状態であるので、サーバー側に保存され、使用された乱数Hの世代及びハッシュ回数を問い合せて同期することで、前回までのワンタイムパスワードが読み取られたか否かを判断する。ここでは、前回のワンタイムパスワードは読み取られていないので、ワンタイムパスワード作成部14aは、前回生成したワンタイムコードのうち、今回認証用として用いる第2のワンタイムコードをそのまま利用する。具体的には、第2世代の乱数Hから生成したハッシュ値をM−1回ハッシュ化した第2のワンタイムコード(ハッシュ値E M−1)を生成する。一方、次回認証用としては、前回生成し、破棄した次回認証用ハッシュ値の乱数とは異なる次世代の乱数を用いて生成する。具体的には、第3世代の乱数Hは利用されているため、次世代である第4世代の乱数Hに対して、ハッシュ関数Hによる演算を所定回数だけ繰り返して次回認証用ハッシュ値E を生成する。 Thereafter, when an operation for re-authentication is performed on the user terminal 1, the one-time password creation unit 14a generates new code information. Specifically, the authentication result is confirmed again, and a one-time password corresponding to the confirmation result is generated. Here, as a result of confirming the authentication result, communication with the authentication server 2 is possible and the network environment exists. Therefore, the generation and hash number of the random number H n stored and used on the server side are inquired and synchronized. By doing so, it is determined whether or not the one-time password up to the previous time has been read. Here, since the previous one-time password has not been read, the one-time password creation unit 14a uses the second one-time code used for authentication this time out of the previously generated one-time code. Specifically, a second one-time code (hash value E 1 M-1 ) obtained by hashing the hash value generated from the second generation random number H 1 M-1 times is generated. On the other hand, for next authentication, it is generated using a next generation random number different from the random number of the next authentication hash value generated and discarded last time. Specifically, since the random number of H 2 third generation is utilized, 4th against generation of the random number H 3, next authentication hash repeat operation by the hash function H C by the predetermined number of times which is the next generation Generate the value E 3 M.

そして、ここでも、ワンタイムパスワード作成部14aは、現在時刻をクライアント計時部16から取得し、タイムスタンプを含めたコード情報を生成して表示する。なお、ここでは、前回生成された第2のワンタイムコードを再利用したが、実際のQRコード(登録商標)では、タイムスタンプが含まれるため、QRコード(登録商標)のパターンは異なったものとなっている。そして、ワンタイムパスワード作成部14aは、予め定められた所定間隔(約1分)が経過したか否かを判断する。ここでは、店舗側端末7aにコード情報が読み取られて認証が行われたものとする。   Also here, the one-time password creation unit 14a obtains the current time from the client timekeeping unit 16, and generates and displays code information including a time stamp. Here, the second one-time code generated last time is reused. However, since the actual QR code (registered trademark) includes a time stamp, the QR code (registered trademark) has a different pattern. It has become. Then, the one-time password creation unit 14a determines whether or not a predetermined interval (about 1 minute) has elapsed. Here, it is assumed that the code information is read by the store side terminal 7a and authentication is performed.

次いで、ユーザー端末1において、次の処理が行われる。ここでは、認証結果の確認を行った結果、認証サーバー2と通信が不通でネットワーク環境無しの状態であるものとする。この場合、今回認証用コード作成部143は、第1実施形態と同様、前回送信した第2のワンタイムコード(ハッシュ値E M−1)よりも、ハッシュ回数を低減回数分(1回)だけ少ない回数を繰り返してハッシュ化した第2のワンタイムコード(ハッシュ値E M−2)を生成する。一方、次回認証用コード作成部144は、次回認証用として、前回送信した第1のワンタイムコードの次世代である第5世代の乱数Hから第1のワンタイムコード(ハッシュ値E )を生成する。 Next, the following processing is performed in the user terminal 1. Here, as a result of checking the authentication result, it is assumed that the communication with the authentication server 2 is not possible and there is no network environment. In this case, as in the first embodiment, the current authentication code creating unit 143 reduces the number of hashes (one time) from the second one-time code (hash value E 1 M−1 ) transmitted last time. A second one-time code (hash value E 1 M-2 ) that has been hashed by repeating as few times as possible is generated. On the other hand, the next-time authentication code creating unit 144 uses the first one-time code (hash value E 4 M) from the fifth generation random number H 4, which is the next generation of the first one-time code transmitted last time, for the next authentication. ) Is generated.

そして、ここでも、ワンタイムパスワード作成部14aは、現在時刻をクライアント計時部16から取得し、タイムスタンプを含めたコード情報を生成して表示する。そして、ワンタイムパスワード作成部14aは、予め定められた所定間隔(約1分)が経過したか否かを判断する。ここでは、店舗側端末7aにコード情報が読み取られて認証が行われたものとする。   Also here, the one-time password creation unit 14a obtains the current time from the client timekeeping unit 16, and generates and displays code information including a time stamp. Then, the one-time password creation unit 14a determines whether or not a predetermined interval (about 1 minute) has elapsed. Here, it is assumed that the code information is read by the store side terminal 7a and authentication is performed.

次いで、ユーザー端末1において、次の処理が行われる。ここでは、認証結果の確認を行った結果、認証サーバー2と通信が不通でネットワーク環境無の状態であるものとする。この場合、今回認証用コード作成部143は、第1実施形態と同様、前回ワンタイムパスワードとして送信した、前回送信した第2のワンタイムコード(ハッシュ値E M−2)よりも、ハッシュ回数を低減回数分(1回)だけ少ない回数を繰り返してハッシュ化した第2のワンタイムコード(ハッシュ値E M−3)を生成する。一方、次回認証用コード作成部144は、次回認証用として、前回送信した第1のワンタイムコードの次世代である第6世代の乱数Hから第1のワンタイムコード(ハッシュ値E )を生成する。 Next, the following processing is performed in the user terminal 1. Here, as a result of checking the authentication result, it is assumed that communication with the authentication server 2 is not possible and the network environment is not present. In this case, similar to the first embodiment, the current code generation unit 143 uses the number of hashes as compared to the previously transmitted second one-time code (hash value E 1 M−2 ) transmitted as the previous one-time password. The second one-time code (hash value E 1 M-3 ) that is hashed by repeating the number of times reduced by the number of times of reduction (one time) is generated. On the other hand, the next time authentication code creating unit 144 uses the first one-time code (hash value E 5 M) from the sixth generation random number H 5, which is the next generation of the first one-time code transmitted last time, for the next authentication. ) Is generated.

そして、ここでも、ワンタイムパスワード作成部14aは、現在時刻をクライアント計時部16から取得し、タイムスタンプを含めたコード情報を生成して表示する。そして、ワンタイムパスワード作成部14aは、予め定められた所定間隔(約1分)が経過したか否かを判断する。ここでは、コード情報が表示されてから、所定間隔が経過してしまい、表示させたコード情報を破棄し、画面上からコード情報を消去したものとする。   Also here, the one-time password creation unit 14a obtains the current time from the client timekeeping unit 16, and generates and displays code information including a time stamp. Then, the one-time password creation unit 14a determines whether or not a predetermined interval (about 1 minute) has elapsed. Here, it is assumed that a predetermined interval elapses after the code information is displayed, the displayed code information is discarded, and the code information is deleted from the screen.

その後、ユーザー端末1において、再度認証を行うための操作が行われると、今回認証用コード作成部143は、は、新たなコード情報を生成するようになっている。ここでは、認証結果の確認を行った結果、認証サーバー2と通信が不通でネットワーク環境無の状態であるものとする。この場合、認証サーバー側では、その生成されたコード情報が読み取られたのか否かが不明であるので、一度でも表示に利用されたハッシュ回数は使用しないようにする。そのため、今回認証用コード作成部143は、第1実施形態と同様、前回ワンタイムパスワードとして送信した、第2のワンタイムコード(ハッシュ値E M−3)よりも、ハッシュ回数を低減回数分(1回)だけ少ない回数を繰り返してハッシュ化した第2のワンタイムコード(ハッシュ値E M−4)を生成する。 Thereafter, when an operation for performing authentication again is performed on the user terminal 1, the current code generation unit for authentication 143 generates new code information. Here, as a result of checking the authentication result, it is assumed that communication with the authentication server 2 is not possible and the network environment is not present. In this case, since it is unknown whether or not the generated code information has been read on the authentication server side, the hash count used for display is never used. Therefore, as in the first embodiment, the current authentication code creation unit 143 reduces the number of hashes by the number of times of reduction compared to the second one-time code (hash value E 1 M-3 ) transmitted as the previous one-time password. A second one-time code (hash value E 1 M-4 ) that has been hashed by repeating a small number of times (one time) is generated.

なお、本実施形態では、生成したコード情報が表示のみされて使用されず消去された場合、その生成されたコード情報を、次回の認証時における通信環境に応じて再利用している。具体的に、通信可能である場合には前回利用したハッシュ回数を用い、通信不能である場合には前回利用したハッシュ回数を用いない構成とした。しかしながら、本発明は、これに限定するものではなく、通信環境に関係なく、一度表示されたハッシュ回数は、使用されたか否かに関わらず再利用せずに新たなハッシュ回数を利用してもよく、また、表示のみされ使用されなかったコード情報は、一度使用したハッシュ回数を再利用してもよい。 In the present embodiment, when the generated code information is displayed, is not used, and is erased, the generated code information is reused according to the communication environment at the next authentication. Specifically, when the communication is possible, the hash number used last time is used, and when the communication is impossible, the hash value used last time is not used. However, the present invention is not limited to this. Regardless of the communication environment, the number of hashes once displayed may be reused without being reused regardless of whether it has been used. In addition, code information that is only displayed and not used may be reused after the number of times it has been used.

一方、次回認証用コード作成部144は、次回認証用として、前回送信した第1のワンタイムコード次世代である第7世代の乱数Hに対してハッシュ関数Hによる演算を所定回数だけ繰り返して第1のワンタイムコード(ハッシュ値E )を生成する。そして、ここでも、ワンタイムパスワード作成部14aは、現在時刻をクライアント計時部16から取得し、タイムスタンプを含めたコード情報を生成して表示する。そして、ワンタイムパスワード作成部14aは、予め定められた所定間隔(約1分)が経過したか否かを判断する。ここでは、店舗側端末7aにコード情報が読み取られて認証が行われたものとする。 On the other hand, the next time authentication code creating unit 144, as the next authentication, repeated calculation by a hash function H C by the predetermined number of times with respect to the seventh generation of random numbers H 6 is a first one-time code next generation previously transmitted To generate a first one-time code (hash value E 6 M ). Also here, the one-time password creation unit 14a obtains the current time from the client timekeeping unit 16, and generates and displays code information including a time stamp. Then, the one-time password creation unit 14a determines whether or not a predetermined interval (about 1 minute) has elapsed. Here, it is assumed that the code information is read by the store side terminal 7a and authentication is performed.

その後、次のユーザー操作が行われる。ここでは、認証結果の確認を行った結果、認証サーバー2と通信が可能でネットワーク環境有りの状態であるものとする。この場合、今回認証用コード作成部143は、前回送信した第1のワンタイムコード(ハッシュ値E )に用いた乱数Hと同世代である乱数Hに対し、ハッシュ回数を低減回数分(1回)だけ少ない回数を繰り返してハッシュ化した第2のワンタイムコード(ハッシュ値E M−1)を生成する。また、次回認証用コード作成部144は、次回認証用として、前回送信した次回認証用ハッシュ値の次世代である第8世代の乱数Hに対してハッシュ関数Hによる演算を所定回数だけ繰り返して第1のワンタイムコード(ハッシュ値E )を生成する。そして、ここでも、ワンタイムパスワード作成部14aは、現在時刻をクライアント計時部16から取得し、タイムスタンプを含めたコード情報を生成して表示する。そして、ワンタイムパスワード作成部14aは、予め定められた所定間隔(約1分)が経過したか否かを判断する。ここでは、店舗側端末7aにコード情報が読み取られて認証が行われたものとする。 Thereafter, the next user operation is performed. Here, as a result of checking the authentication result, it is assumed that communication with the authentication server 2 is possible and a network environment exists. In this case, the authentication code creating unit 143 reduces the number of hashes for the random number H 6 that is the same generation as the random number H 6 used for the first one-time code (hash value E 6 M ) transmitted last time. A second one-time code (hash value E 6 M−1 ) that has been hashed by repeating a small number of times (one time) is generated. The next time authentication code creating unit 144, as the next authentication, repeated calculation by a hash function H C by the predetermined number of times with respect to the eighth generation of random numbers H 7, the next generation for the next authentication hash value previously transmitted To generate a first one-time code (hash value E 7 M ). Also here, the one-time password creation unit 14a obtains the current time from the client timekeeping unit 16, and generates and displays code information including a time stamp. Then, the one-time password creation unit 14a determines whether or not a predetermined interval (about 1 minute) has elapsed. Here, it is assumed that the code information is read by the store side terminal 7a and authentication is performed.

以後の処理も、上記と同様、通信環境や前回生成されたワンタイムパスワードの利用有無に応じて、今回認証用ハッシュ値及び次回認証用ハッシュ値の生成処理が変更される。そして、このように生成されたコード情報に基づいて認証処理が行われる。   In the subsequent processing, the generation processing for the current authentication hash value and the next authentication hash value is changed in accordance with the communication environment and whether or not the previously generated one-time password is used. Then, the authentication process is performed based on the code information generated in this way.

(作用・効果)
このような本実施形態によれば、ワンタイムコードに短時間の有効期限を設定し、盗聴・盗難時の不正利用を防止することができる。すなわち、本実施形態では、ユーザー端末上での表示時間を一定時間(1分)以内に制限し、制限時間を超えるとコード情報は非表示となるとともにコード情報は再生成が必要なので、店舗のレジ等で支払いを行う直前に生成、表示されたコード情報のみで認証が成功されることとなる。
(Action / Effect)
According to this embodiment as described above, it is possible to set a short-term expiration date in the one-time code and prevent unauthorized use at the time of eavesdropping / theft. In other words, in this embodiment, the display time on the user terminal is limited to a certain time (1 minute), and when the time limit is exceeded, the code information is hidden and the code information needs to be regenerated. Authentication is successful only with code information generated and displayed immediately before payment at a cash register.

これにより、例えば、不正使用者がユーザー端末上で表示したコード情報をカメラ等で撮影し、その画面上のコード情報を用いて、正規の利用者より先に使用されてしまうという不正利用を防止することができる。なお、コード情報は生成したが利用されない場合、認証IDは再利用されるが、実際のコード情報はタイムスタンプが付加されるため、コード情報のパターンは異なったものとなっているので、以前撮影された画像では、もはや認証を受けることができない。   This prevents, for example, unauthorized use in which code information displayed on a user terminal by an unauthorized user is photographed with a camera or the like and is used before a legitimate user using the code information on the screen. can do. If the code information is generated but not used, the authentication ID is reused, but the actual code information is appended with a time stamp, so the pattern of the code information is different. The certified image can no longer be authenticated.

[第3実施形態]
次いで、本発明の第3実施形態について説明する。本実施形態では、認証情報を動的に提示するユーザー端末1と、提示された認証情報を読み取る店舗側端末7aとを備え、極めて短い時間にコード情報の生成と破棄とを繰り返し行い、動的に変化させたコード情報に基づいて動的認証を行うことを要旨とする。
[Third embodiment]
Next, a third embodiment of the present invention will be described. In the present embodiment, a user terminal 1 that dynamically presents authentication information and a store-side terminal 7a that reads the presented authentication information are provided, and code information is repeatedly generated and discarded in a very short time. The gist is to perform dynamic authentication based on the code information changed to.

図14は、本実施形態に係るユーザー端末の内部構成を示すブロック図であり、図15は、本実施形態に係る店舗側端末の内部構成を示すブロック図である。また、図16は、ユーザー端末の表示部に表示される動的コード情報を示す説明図であり、図17は、本実施形態に係る有効性判定の判定処理を示すタイムチャート図である。   FIG. 14 is a block diagram illustrating an internal configuration of the user terminal according to the present embodiment, and FIG. 15 is a block diagram illustrating an internal configuration of the store side terminal according to the present embodiment. Moreover, FIG. 16 is explanatory drawing which shows the dynamic code information displayed on the display part of a user terminal, and FIG. 17 is a time chart figure which shows the determination process of the effectiveness determination which concerns on this embodiment.

第3実施形態において、ユーザー端末1には、第2実施形態と同様、図12に示すように、クライアント計時部16を備えている。クライアント計時部16は、現在時刻を取得するモジュールであり、取得する時刻としては、ユーザー端末1のシステム時刻を取得する。また、ユーザー端末1のアプリケーション実行部14には、認証情報を動的に提示する機能モジュールとして、表示情報生成部14eと動的情報提示部14fとを備えている。   In the third embodiment, the user terminal 1 includes a client timer unit 16 as shown in FIG. 12, as in the second embodiment. The client timing unit 16 is a module that acquires the current time, and acquires the system time of the user terminal 1 as the time to acquire. 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 functional modules that dynamically present authentication information.

表示情報生成部14eとは、所定の認証情報に、当該ユーザー端末1上の現在時刻を示す時間情報を組み合わせて、少なくとも2つの表示情報を生成するモジュールである。ここで、所定の動的情報とは、上述した第1実施形態で生成される第1のワンタイムコード及び第2のワンタイムコードである。すなわち、表示情報生成部14eは、ワンタイムパスワード作成部14aの今回認証用コード作成部143と次回認証用コード作成部144で生成された第1のワンタイムコード及び第2のワンタイムコードに現在時刻を示す時間情報を組み合わせてコード情報を作成する。なお、このコード情報には、ユーザー特定情報、決済情報、及び購買情報が含まれている。   The display information generation unit 14e is a module that generates at least two pieces of display information by combining predetermined authentication information with time information indicating the current time on the user terminal 1. Here, the predetermined dynamic information is the first one-time code and the second one-time code generated in the first embodiment described above. That is, 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. Code information is created by combining time information indicating time. The code information includes user identification information, payment information, and purchase information.

動的情報提示部14fは、表示情報を一定の時間間隔をもって、同一位置に順次表示することにより、認証情報を動的に提示するモジュールである。すなわち、動的情報提示部14fは、所定の時刻におけるコード情報を生成した後、クライアント計時部16から随時時刻情報Tcを取得し、予め定められた所定間隔(例えば、1秒未満)が経過したか否かを判断し、所定間隔が経過した後には、再度コード情報を再生成する。具体的には、現在表示しているコード情報を破棄し、現在時刻の時刻情報Tcをタイムスタンプとして含めてコード情報を再生成し画面上に表示させる。ワンタイムパスワード作成部14aは、以後、所定間隔毎にこの処理を繰り返す。   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, the dynamic information presenting unit 14f generates code information at a predetermined time and then acquires the time information Tc as needed from the client timing unit 16, and a predetermined interval (for example, less than 1 second) has elapsed. Whether the code information is regenerated after the predetermined interval has elapsed. Specifically, the currently displayed code information is discarded, the time information Tc of the current time is included as a time stamp, and the code information is regenerated and displayed on the screen. Thereafter, the one-time password creating unit 14a repeats this process at predetermined intervals.

このように、表示情報生成部14e及び動的情報提示部14fは、所定間隔毎にコード情報を生成、表示、破棄、再生成を繰り返し、表示部13a上には、図16に示すように、画面上には、異なるコード情報(図16中のコード情報C_1〜C_4)が時間経過毎(図16中の時間Tc_1〜Tc_4)に随時変更されつつ動的に表示されるようになっている。なお、この際、一連で表示される複数のコード情報に含まれるワンタイムパスワードは、全て同じワンタイムパスワードが使用されており、タイムスタンプのみが変更されることで、コード情報の表示形態は変更される。なお、ワンタイムパスワードの生成方法としては、上述した第1実施形態又は第2実施形態と同様である。   As described above, the display information generation unit 14e and the dynamic information presentation unit 14f repeatedly generate, display, discard, and regenerate code information at predetermined intervals. On the display unit 13a, as illustrated in FIG. Different code information (code information C_1 to C_4 in FIG. 16) is dynamically displayed on the screen while being changed as needed over time (time Tc_1 to Tc_4 in FIG. 16). At this time, the same one-time password is used for all the one-time passwords included in a plurality of code information displayed in a series, and only the time stamp is changed, so that the display form of the code information is changed. Is done. The one-time password generation method is the same as that in the first embodiment or the second embodiment described above.

一方、店舗側端末7aでは、読取手段76において動的情報提示部14fによって表示部13a上に表示された少なくとも2つの表示情報を、順次、光学的に読み取っており、制御部74内に送信する。本実施形態において、読取手段76は、随時表示されているコード情報のうち、連続する2つのコード情報を読み取る。   On the other hand, in the store side terminal 7a, at least two pieces of display information displayed on the display unit 13a by the dynamic information presentation unit 14f in the reading unit 76 are optically read sequentially and transmitted into the control unit 74. . In the present embodiment, the reading unit 76 reads two consecutive pieces of code information among the code information displayed as needed.

制御部74では、この読み取った2つの表示情報に基づいて、その表示情報が認証処理として利用可能か否かを判断している。具体的に、制御部74内には、図15に示すように、計時記録部741と、有効性判断部742と、情報抽出部743と、正当性判断部744とを備えている。   The control unit 74 determines whether or not the display information can be used as an authentication process based on the read two pieces of display information. Specifically, as shown in FIG. 15, the control unit 74 includes a timing 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をそれぞれ付加する。なお、ここでは、図17に示すように、最初に読み取ったコード情報を第1のコード情報X1とし、次に読み取ったコード情報を第2のコード情報X2とする。さらに、コード情報X1に付加される時刻情報を時刻情報Tp_1とし、コード情報X2に付加される時刻情報を時刻情報Tp_2とする。   And the time recording part 741 adds the time information Tp at the time of reading to the read code information, respectively. Here, as shown in FIG. 17, the code information read first is the first code information X1, and the code information read next is the second code information X2. Furthermore, time information added to the code information X1 is time information Tp_1, and time information added to the code information X2 is time information Tp_2.

有効性判断部742は、一定の時間間隔から求められる有効期限と、それぞれの読取時刻の時間差とに基づいて、表示情報の有効性を判断するモジュールである。ここで、本実施形態では、図17に示すように、連続する2つのコード情報X1,X2は所定間隔Lを空けて表示させていることから、例えば、読み取った2つのコード情報X1,X2が正規のコード情報である場合、第1のコード情報X1を読み取ってから、第2のコード情報X2が読み取り可能な最大時間は時間2Lである。   The validity determination unit 742 is a module that determines the validity of the display information based on the expiration date obtained from a certain time interval and the time difference between the reading times. Here, in this embodiment, as shown in FIG. 17, two consecutive pieces of code information X1 and X2 are displayed with a predetermined interval L. For example, the read two pieces of code information X1 and X2 are In the case of regular code information, the maximum time that the second code information X2 can be read after reading the first code information X1 is 2L.

そこで、有効性判断部742は、第1のコード情報X1の時刻情報Tp_1と第2のコード情報X2の時刻情報Tp_2との差分が、0より大きく、且つ時間2L未満であることを検証する。そして、第1のコード情報X1と第2のコード情報X2の差分が、0より大きく、且つ時間2L未満である場合には、そのコード情報X1及びX2は有効期限内であると判断し、POSサーバー7を介して、第2のコード情報X2を認証サーバー2に送信する。その後は、第1実施形態と同様、第2のコード情報に含まれたワンタイムパスワードによって認証処理等が行われる。一方、第1のコード情報X1と第2のコード情報X2の差分が0以下であったり、時間2L以上である場合には、有効期限が過ぎたコード情報としてエラー表示を行う。   Therefore, the validity determination unit 742 verifies that the difference between the time information Tp_1 of the first code information X1 and the time information Tp_2 of the second code information X2 is greater than 0 and less than 2L. When the difference between the first code information X1 and the second code information X2 is greater than 0 and less than the time 2L, it is determined that the code information X1 and X2 are within the expiration date, and the POS The second code information X2 is transmitted to the authentication server 2 via the server 7. Thereafter, as in the first embodiment, an authentication process or the like is performed using the one-time password included in the second code information. On the other hand, when the difference between the first code information X1 and the second code information X2 is 0 or less, or when the time is 2L or more, an error is displayed as code information whose expiration date has passed.

また、制御部74では、2つのコード情報X1及びX2の差分から、有効期限の判断を行う前提として、2つのコード情報X1及びX2が、同一のワンタイムコードに基づいて生成されたコード情報であるか否かも判断する機能を有しており、同一のワンタイムパスワードに基づいて生成されたコード情報のみ、有効期限の有無の判定を行っている。具体的に制御部74には、情報抽出部743と正当性判断部744とを有している。   Further, the control unit 74 assumes that the expiration date is determined from the difference between the two code information X1 and X2, and the two code information X1 and X2 are code information generated based on the same one-time code. It has a function of determining whether or not there is, and only the code 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が抽出したそれぞれの認証情報の同一性を比較し、その比較結果に基づいて、表示情報の正当性を判断するモジュールである。ここで、比較される認証情報は、第1のワンタイムコード又は第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. Here, the authentication information to be compared may be either the first one-time code or the second one-time code, and both the first one-time code and the second one-time code are used. You may compare.

(有効性判定方法)
次いで、第3実施形態における有効性判定方法について説明する。図18は、本実施形態に係る動的認証方法を示すフローチャート図である。
(Effectiveness judgment method)
Next, the effectiveness determination method in the third embodiment will be described. FIG. 18 is a flowchart showing the dynamic authentication method according to this embodiment.

先ず、表示情報生成部14eでは、ワンタイムパスワード作成部14aで作成されたワンタイムパスワードを取得すると、クライアント計時部16から現在時刻Tc_1を取得し、この現在時刻Tc_1をタイムスタンプとして、ワンタイムパスワードに追加して、第1のコード情報X1を生成する(S701)。第1のコード情報X1は、画面上に表示され、店舗側端末7aの読取手段76によって読み取られる(S702)。この際、計時記録部741では、読取手段76で読み取られた表示情報の読取時刻Tp_1を測定しメモリ15に記録する。   First, when the display information generation unit 14e acquires the one-time password created by the one-time password creation unit 14a, the display information generation unit 14e acquires the current time Tc_1 from the client timing unit 16, and uses the current time Tc_1 as a time stamp. In addition, the first code information X1 is generated (S701). The first code information X1 is displayed on the screen and read by the reading means 76 of the store side terminal 7a (S702). At this time, the time recording unit 741 measures the reading time Tp_1 of the display information read by the reading unit 76 and records it in the memory 15.

一方、ユーザー端末1の動的情報提示部14fでは、表示情報を一定の時間間隔をもって、同一位置に順次表示することにより、認証情報を動的に提示する。具体的には、クライアント計時部16から随時時刻情報を取得するとともに、1第のコード情報X1から所定間隔Lが経過したか否かを判断する(S703)。ここで、所定間隔Lが経過していない場合には(S703における“N”)、時刻情報を取得しつつ、所定間隔Lが経過するまで処理を繰り返す。   On the other hand, the dynamic information presentation unit 14f of the user terminal 1 dynamically presents the authentication information by sequentially displaying the display information at the same position with a certain time interval. 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 code 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 acquiring time information.

所定間隔Lが経過した場合には(S703における“Y”)、表示情報生成部14e及びワンタイムパスワード作成部14aに対して、再度コード情報再生の指示を行う。表示情報生成部14eは、ワンタイムパスワード作成部14aで再作成されたワンタイムパスワードを取得すると、その時点の時刻情報Tc_2をクライアント計時部16から取得して、第2のコード情報X2を生成する(S704)。そして、表示情報生成部14eは、第1のコード情報X1を破棄し、第2のコード情報X2を画面上に表示させる。第2のコード情報X2が、画面上に表示されると、店舗側端末7aの読取手段76は、第2のコード情報X2を読み取る(S705)。この際、計時記録部741では、読取手段76で読み取られた表示情報の読取時刻Tp_2を測定し、第2のコード情報X2とともにメモリ15に記録する。   When the predetermined interval L has elapsed (“Y” in S703), the display information generation unit 14e and the one-time password creation unit 14a are instructed to reproduce the code information again. When the display information generation unit 14e acquires the one-time password recreated by the one-time password generation unit 14a, the display information generation unit 14e acquires the time information Tc_2 at that time from the client timing unit 16 and generates the second code information X2. (S704). Then, the display information generation unit 14e discards the first code information X1 and displays the second code information X2 on the screen. When the second code information X2 is displayed on the screen, the reading means 76 of the store side terminal 7a reads the second code 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 code information X2.

そして、店舗側端末7aの有効性判断部742では、第1のコード情報X1及び第2のコード情報X2に基づいて、コード情報の有効期限が有効か否かを判定する(S706)。具体的に、情報抽出部743は、読取手段76で読み取られた各表示情報から、時間情報を除外して、所定の認証情報を抽出する。具体的には、第1のコード情報X1及び第2のコード情報X2に関する第1のワンタイムコード及び第2のワンタイムコードを抽出する。そして、正当性判断部744は、情報抽出部743が抽出したそれぞれの認証情報の同一性を比較し、その比較結果に基づいて、表示情報の正当性を判断する。ここで、両者のワンタイムコードが同一でない場合には(S706における“N”)、店舗側端末7aの表示部73aにエラーを表示させる。なお、この情報はユーザー端末1に送信してユーザー端末1の表示部13a上に表示させてもよい。   Then, the validity determination unit 742 of the store side terminal 7a determines whether or not the validity period of the code information is valid based on the first code information X1 and the second code information X2 (S706). Specifically, the information extraction unit 743 extracts predetermined authentication information from each display information read by the reading unit 76 by excluding time information. Specifically, the first one-time code and the second one-time code related to the first code information X1 and the second code information X2 are extracted. 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. If the one-time codes are not the same ("N" in S706), an error is displayed on the display unit 73a of the store side terminal 7a. This information may be transmitted to the user terminal 1 and displayed on the display unit 13a of the user terminal 1.

一方、両者のワンタイムコードが同一である場合は、次に、第1のコード情報X1に付加された時刻情報Tp_1と、第1のコード情報X1に付加された時刻情報Tp_2との差分が、0より大きく、且つ時間2L未満であることを検証する。第1のコード情報X1と第2のコード情報X2の差分が0以下であったり、時間2L以上である場合には(S706における“N”)、有効期限が過ぎたコード情報としてエラー表示を行う(S709)。   On the other hand, if the one-time code is the same, then the difference between the time information Tp_1 added to the first code information X1 and the time information Tp_2 added to the first code information X1 is: Verify that it is greater than 0 and less than 2L of time. If the difference between the first code information X1 and the second code information X2 is 0 or less or is 2L or more ("N" in S706), an error is displayed as code information whose expiration date has passed. (S709).

第1のコード情報X1と第2のコード情報X2の差分が、0より大きく、且つ時間2L未満である場合には(S706における“Y”)、そのコード情報X1及びX2は有効期限内であると判断し、POSサーバー7を介して、第2のコード情報X2を認証サーバー2に送信する。その後は、第1実施形態と同様、第2のコード情報に含まれたワンタイムパスワードによって認証処理等が行われる。   When the difference between the first code information X1 and the second code information X2 is greater than 0 and less than 2L (“Y” in S706), the code information X1 and X2 are within the expiration date. The second code information X2 is transmitted to the authentication server 2 via the POS server 7. Thereafter, as in the first embodiment, an authentication process or the like is performed using the one-time password included in the second code information.

(作用・効果)
このような第3実施形態によれば、コード情報の有効期限を1秒未満の極めて短い時間に設定することで、盗難や盗聴された場合でも、不正利用されることを防止することができる。また、本実施形態では、認証のために2つのコード情報を用いているので、例えば、不正利用者がユーザー端末1の画面上に表示されているコード情報をカメラで撮影したとしても、その撮影された画像からは認証を行うことができないため、不正をより防止することができる。
(Action / Effect)
According to the third embodiment, by setting the expiration date of the code information to an extremely short time of less than 1 second, it is possible to prevent unauthorized use even in the case of theft or wiretapping. In the present embodiment, since two pieces of code information are used for authentication, for example, even if an unauthorized user photographs the code information displayed on the screen of the user terminal 1 with the camera, the photographing is performed. Since the authentication cannot be performed from the processed image, fraud can be further prevented.

なお、コード情報は極めて短い時間(1秒未満)で再生成を繰り返していることから、認証処理を行う側との時刻誤差が生じる可能性がある。すなわち、ユーザー端末1で計時されるシステム時刻と、認証サーバー2内で計時される時刻とが一致していない場合、正規者が利用した場合でも認証ができない場合がある。   Since the code information is repeatedly regenerated in a very short time (less than 1 second), there may be a time error with respect to the authentication processing side. In other words, if the system time measured by the user terminal 1 and the time measured by the authentication server 2 do not match, authentication may not be possible even when used by a legitimate person.

本実施形態では、複数のコード情報からタイムスタンプの時刻情報Tp_1と、店舗側端末7a側で読み取った時刻情報Tp_2を取得し、ユーザー端末と店舗側端末7aの時刻のずれを補正でき、各利用端末がタイムサーバーなどで時刻補正を行うことなく、正常に認証処理を行うことができる。すなわち、本実施形態では、2つの異なるタイムスタンプを有するコード情報データから、ユーザー端末の時刻を推定するとともに、コード情報の有効期限を再生成間隔に基づいて設定しているので、時刻誤差による処理誤りは解消される。   In this embodiment, the time information Tp_1 of the time stamp and the time information Tp_2 read on the store side terminal 7a side can be acquired from a plurality of code information, and the time lag between the user terminal and the store side terminal 7a can be corrected. Authentication processing can be normally performed without the terminal performing time correction with a time server or the like. That is, in the present embodiment, the time of the user terminal is estimated from the code information data having two different time stamps, and the expiration date of the code information is set based on the regeneration interval. The error is resolved.

[変更例]
なお、上述した各実施形態の説明は、本発明の一例である。このため、本発明は上述した実施形態に限定されることなく、本発明に係る技術的思想を逸脱しない範囲であれば、設計等に応じて種々の変更が可能である。以下に、本発明の変更例について説明する。
[Example of change]
The description of each embodiment described above 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.

例えば、上述した第3実施形態において、コード情報の有効期限の有無判定は、連続して表示される2つのコード情報に基づいて判定したが、例えば、2以上のコード情報を読み取った場合に、その一連のコード情報のうち、連続しない任意の2つコード情報Xi、コード情報Xj(j>i)を読み取って有効性を検証してもよい。この場合は、第1のコード情報Xiを読み取ってから、n回目に再生成されるコード情報を抽出するかを既知として店舗側端末7aに記憶させ、上記所定間隔2Lを所定間隔nLに変更するのみで、上記と同処理で有効性を検証することができる。   For example, in the above-described third embodiment, whether the expiration date of the code information is valid is determined based on two pieces of code information displayed in succession. For example, when two or more pieces of code information are read, The validity may be verified by reading arbitrary two pieces of non-consecutive code information Xi and code information Xj (j> i) from the series of code information. In this case, after reading the first code information Xi, whether to extract the code information regenerated at the nth time is stored in the store terminal 7a as known, and the predetermined interval 2L is changed to the predetermined interval nL. Alone, the effectiveness can be verified by the same processing as described above.

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

上記課題を解決するために、本発明は、通信ネットワーク上に配置される認証サーバーと、ユーザーが使用し、認証サーバーに通信ネットワークを通じて接続可能なユーザー端末との間で、一度のみ有効なワンタイムパスワードを用いて、当該ユーザーの認証を行うワンタイム認証システムであって、
ユーザー端末側において、次世代乱数を発生させ、この次世代乱数に対してユーザー側一方向性関数による演算を所定回数だけ繰り返して第1のワンタイムコードを生成する第1のワンタイムコード作成部と、
ユーザー端末側において、次世代乱数を発生させる前に発生させた前世代乱数に対して、ユーザー側一方向性関数による演算を所定回数だけ繰り返して第2のワンタイムコードを生成する第2のワンタイムコード作成部と、
認証サーバーにおいて、第1のワンタイムコード及び第2のワンタイムコードを取得し、第1のワンタイムコードを用いて、サーバー側一方向性関数を用いた演算により認証用第1のワンタイムコードを生成するとともに、第2のワンタイムコードを用いて、サーバー側一方向性関数を用いた演算により認証用第2のワンタイムコードを生成し、これら第1及び第2の認証用ワンタイムコードと、ユーザーに固有のユーザー特定情報と関連付けて保存する認証用コード保存部と、
認証時において、前記ユーザー端末側で、通信ネットワークの通信状態に応じて第1のワンタイムコード又は第2のワンタイムコードに用いられた次世代乱数又は前世代乱数を選択する選択部と、
選択された前記次世代乱数又は前記前世代乱数に対して、前記ユーザー側一方向性関数による演算を、選択された乱数に対する所定回数よりも低減回数分だけ少ない回数を繰り返して生成されたワンタイムコードを、前記認証サーバーにおいて前記ユーザー端末から、認証用通信経路を通じて前記ワンタイムパスワードとして取得する認証管理部と、
前記認証サーバーにおいて、前記通信状態に応じて、前記認証用第1のワンタイムコード又は前記認証用第2のワンタイムコードのいずれかを選択して前記認証用コード保存部から取得する認証用コード選択部と、
前記認証サーバーにおいて、前記認証管理部が取得した前記ワンタイムパスワードに対して、前記低減回数分の前記ユーザー側一方向性関数による演算を実行する低減回数補完部と、
前記認証サーバーにおいて、前記認証用コード選択部が選択した認証用第1のワンタイムコード又は認証用第2のワンタイムコードと、前記低減回数補完部で演算を実行した前記ワンタイムパスワードとに基づいて、認証処理を行う認証部と
を備える。
In order to solve the above-described problem, the present invention provides a one-time effective only once between an authentication server arranged on a communication network and a user terminal used by a user and connectable to the authentication server through the communication network. A one-time authentication system that authenticates the user using a password,
On the user terminal side, a first one-time code generating unit that generates a first one-time code by generating a next-generation random number and repeating a calculation on the next-generation random number by a user-side unidirectional function a predetermined number of times. When,
On the user terminal side, a second one 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 A time code generator,
In the authentication server, the first one-time code and the second one-time code are obtained, and the first one-time code for authentication is obtained by calculation using the server-side one-way function using the first one-time code. And generating a second one-time code for authentication by a calculation using a server-side one-way function using the second one-time code, and these first and second one-time codes for authentication And an authentication code storage unit that stores the user-specific information associated with the user,
At the time of authentication, on the user terminal side, 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 management unit for acquiring a code as the one-time password from the user terminal in the authentication server through an authentication communication path;
In the authentication server, an authentication code that is selected from the first one-time code for authentication or the second one-time code for authentication and acquired from the authentication code storage unit according to the communication state A selection section;
In the authentication server, with respect to the one-time password acquired by the authentication management unit, a reduction number complementing unit that performs calculation by the user-side unidirectional function for the number of reductions;
In the authentication server, based on the first one-time code for authentication or the second one-time code for authentication selected by the authentication code selection unit, and the one-time password executed by the reduction number complementing unit And an authentication unit that performs authentication processing.

Claims (26)

通信ネットワーク上に配置される認証サーバーと、ユーザーが使用し、前記認証サーバーに前記通信ネットワークを通じて接続可能なユーザー端末との間で、一度のみ有効なワンタイムパスワードを用いて、当該ユーザーの認証を行うワンタイム認証システムであって、
前記ユーザー端末側において、次世代乱数を発生させ、この次世代乱数に対してユーザー側一方向性関数による演算を所定回数だけ繰り返して第1のワンタイムコードを生成する第1のワンタイムコード作成部と、
前記ユーザー端末側において、前記次世代乱数を発生させる前に発生させた前世代乱数に対して、前記ユーザー側一方向性関数による演算を所定回数だけ繰り返して第2のワンタイムコードを生成する第2のワンタイムコード作成部と、
前記認証サーバーにおいて、前記第1のワンタイムコード及び第2のワンタイムコードを取得し、前記第1のワンタイムコードを用いて、サーバー側一方向性関数を用いた演算により認証用第1のワンタイムコードを生成するとともに、前記第2のワンタイムコードを用いて、前記サーバー側一方向性関数を用いた演算により認証用第2のワンタイムコードを生成し、これら第1及び第2の認証用ワンタイムコードと、前記ユーザーに固有のユーザー特定情報と関連付けて保存する認証用コード保存部と、
認証時において、前記通信ネットワークの通信状態に応じて前記第1のワンタイムコード又は前記第2のワンタイムコードに用いられた次世代乱数又は前世代乱数を選択する選択部と、
選択された前記次世代乱数又は前記前世代乱数に対して、前記ユーザー側一方向性関数による演算を、選択された乱数に対する所定回数よりも低減回数分だけ少ない回数を繰り返して生成されたワンタイムコードを、前記ユーザー端末から、認証用通信経路を通じて前記ワンタイムパスワードとして取得する認証管理部と、
前記通信状態に応じて、前記認証用第1のワンタイムコード又は前記認証用第2のワンタイムコードのいずれかを選択して前記認証用コード保存部から取得する認証用コード選択部と、
前記認証管理部が取得した前記ワンタイムパスワードに対して、前記低減回数分の前記ユーザー側一方向性関数による演算を実行する低減回数補完部と、
前記認証用コード選択部が選択した認証用第1のワンタイムコード又は認証用第2のワンタイムコードと、前記低減回数補完部で演算を実行した前記ワンタイムパスワードとに基づいて、認証処理を行う認証部と
を備えることを特徴とするワンタイム認証システム。
The user is authenticated using a one-time password that is valid only once between an authentication server arranged on the communication network and a user terminal that is used by the user and can be connected to the authentication server through the communication network. A one-time authentication system
On the user terminal side, a first one-time code is generated 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 And
On the user terminal side, a second one-time code is generated 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. 2 one-time code generator,
In the authentication server, the first one-time code and the second one-time code are obtained, and the first one-time code for authentication is calculated by using the first one-time code and using a server-side one-way function. A one-time code is generated, and a second one-time code for authentication is generated by an operation using the server-side one-way function using the second one-time code. A one-time code for authentication, an authentication code storage unit that stores the one-time code associated with user-specific information unique to the user,
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 management unit for acquiring a code from the user terminal as the one-time password through an authentication communication path;
An authentication code selection unit that selects one of the first one-time code for authentication or the second one-time code for authentication and acquires it from the code storage unit for authentication according to the communication state;
For the one-time password acquired by the authentication management unit, a reduction number complementing unit that performs calculation by the user-side unidirectional function for the number of reductions;
Authentication processing is performed based on the first one-time code for authentication or the second one-time code for authentication selected by the authentication code selection unit and the one-time password executed by the reduction number complementing unit. A one-time authentication system comprising: an authenticating unit for performing.
前記ユーザー端末は、コード化された前記第1のワンタイムコード又はコード化された前記第2のワンタイムコードを前記ワンタイムパスワードとして表示する表示部を有し、
前記認証用通信経路は、前記表示部に表示された前記ワンタイムパスワードを読み取る読取装置に接続され、
前記認証管理部は、前記読取装置を介して、前記ワンタイムパスワードを前記ユーザー端末から取得する
ことを特徴とする請求項1に記載のワンタイム認証システム。
The user terminal has a display unit that displays the encoded one-time code or the encoded second one-time code as the one-time password,
The authentication communication path is connected to a reading device that reads the one-time password displayed on the display unit,
The one-time authentication system according to claim 1, wherein the authentication management unit acquires the one-time password from the user terminal via the reading device.
前記通信ネットワーク上には、前記認証サーバーと前記ユーザー端末とを接続する連携用通信経路が構築され、
前記認証用コード保存部は、前記連携用通信経路を通じて、前記ユーザー端末上において初回に生成された前記第1のワンタイムコードを取得し、この第1のワンタイムコードを用いて、前記サーバー側一方向性関数を用いた演算により認証用第1のワンタイムコードを生成し、前記第1の認証用ワンタイムコードと、前記ユーザーに固有のユーザー特定情報と関連付けて保存する
ことを特徴とする請求項1に記載のワンタイム認証システム。
On the communication network, a communication path for cooperation connecting the authentication server and the user terminal is constructed,
The authentication code storage unit acquires the first one-time code generated for the first time on the user terminal through the cooperation communication path, and uses the first one-time code to generate the first one-time code. A first one-time code for authentication is generated by an operation using a one-way function, and the first one-time code for authentication is stored in association with user-specific information unique to the user. The one-time authentication system according to claim 1.
前記認証用通信経路は、店舗に設置される店舗端末を介して、前記ユーザー端末と接続され、
前記店舗端末では、前記認証処理に関係する前記ユーザーの消費行動に関する情報を購買情報として取得し、
前記認証管理部は、前記第1のワンタイムコード又は前記第2のワンタイムコードとともに、前記購買情報を取得し、この購買情報を、前記第1又は第2の認証用ワンタイムコード及び前記認証処理の結果と関連付けて購買履歴情報蓄積部に蓄積する
ことを特徴とする請求項1に記載のワンタイム認証システム。
The authentication communication path is connected to the user terminal via a store terminal installed in the store,
In the store terminal, information related to the user's consumption behavior related to the authentication process is acquired as purchase information,
The authentication management unit acquires the purchase information together with the first one-time code or the second one-time code, and uses the purchase information as the first or second one-time code for authentication and the authentication. The one-time authentication system according to claim 1, wherein the one-time authentication system is stored in a purchase history information storage unit in association with a processing result.
前記認証サーバーは、
前記ユーザーに付与される価値情報を管理する価値情報管理サーバーと、
前記ユーザーに対して提供された商品又はサービスに関する決済処理を実行する決済サーバーと
を有し、
前記価値情報管理サーバー及び決済サーバーは、前記認証用コード保存部に保存された情報を共有可能であり、
前記決済サーバーは、前記認証処理の結果に基づく前記価値情報の有効性に関する判定情報を取得し、前記判定情報に基づいて、価値情報の有効性を反映させた前記決済処理を実行する
ことを特徴とする請求項1に記載のワンタイム認証システム。
The authentication server is
A value information management server for managing value information given to the user;
A payment server for executing payment processing related to goods or services provided to the user;
The value information management server and the settlement server can share information stored in the authentication code storage unit,
The payment server acquires determination information related to the validity of the value information based on a result of the authentication process, and executes the payment process reflecting the validity of the value information based on the determination information. The one-time authentication system according to claim 1.
通信ネットワーク上に配置される認証サーバーと、ユーザーが使用し、前記認証サーバーに前記通信ネットワークを通じて接続可能なユーザー端末との間で、一度のみ有効なワンタイムパスワードを用いて、当該ユーザーの認証を行うワンタイム認証方法であって、
前記ユーザー端末側において、ワンタイムコード作成部が、次世代乱数を発生させ、この次世代乱数に対してユーザー側一方向性関数による演算を所定回数だけ繰り返して第1のワンタイムコードを生成するとともに、前記次世代乱数を発生させる前に発生させた前世代乱数に対して前記ユーザー側一方向性関数による演算を所定回数だけ繰り返して第2のワンタイムコードを生成するワンタイムコード作成ステップと、
前記認証サーバーにおいて、前記第1のワンタイムコード及び第2のワンタイムコードを取得し、認証用コード保存部が、前記第1のワンタイムコードを用いて、サーバー側一方向性関数を用いた演算により認証用第1のワンタイムコードを生成するとともに、前記第2のワンタイムコードを用いて、前記サーバー側一方向性関数を用いた演算により認証用第2のワンタイムコードを生成し、これら第1及び第2の認証用ワンタイムコードと、前記ユーザーに固有のユーザー特定情報と関連付けて当該認証用コード保存部に保存する認証用コード保存ステップと、
前記ユーザー端末の選択部が、認証時に、前記通信ネットワークの通信状態に応じて、前記第1のワンタイムコード又は前記第2のワンタイムコードに用いられた次世代乱数又は前世代乱数を選択する選択ステップと、
認証管理部が、選択された前記次世代乱数又は前記前世代乱数に対して、前記ユーザー側一方向性関数による演算を、選択された乱数に対する所定回数よりも低減回数分だけ少ない回数を繰り返して生成されたワンタイムコードを、前記ユーザー端末から、認証用通信経路を通じて前記ワンタイムパスワードとして取得する認証管理ステップと、
認証用コード選択部が、前記通信状態に応じて、前記認証用第1のワンタイムコード又は前記認証用第2のワンタイムコードのいずれかを選択して前記認証用コード保存部から取得する認証用コード選択ステップと、
前記認証管理部が取得した前記第2のワンタイムコードに対して、低減回数補完部が、前記低減回数分の前記ユーザー側一方向性関数による演算を実行する低減回数補完ステップと、
前記認証用コード選択部が選択した前記認証用第1のワンタイムコード又は前記認証用第2のワンタイムコードと、前記低減回数補完部で演算を実行した前記ワンタイムパスワードとに基づいて、認証部が認証処理を行う認証ステップと
を備えることを特徴とするワンタイム認証方法。
The user is authenticated using a one-time password that is valid only once between an authentication server arranged on the communication network and a user terminal that is used by the user and can be connected to the authentication server through the communication network. A one-time authentication method to perform,
On the user terminal side, a one-time code generator generates a next-generation random number, and 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 a one-time code generating step 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; ,
The authentication server acquires the first one-time code and the second one-time code, and the authentication code storage unit uses the server-side one-way function using the first one-time code. A first one-time code for authentication is generated by calculation, and a second one-time code for authentication is generated by calculation using the server-side one-way function using the second one-time code. An authentication code storage step of storing the first and second authentication one-time codes in the authentication code storage unit in association with user-specific information unique to the user;
The selection unit of the user terminal selects a next generation random number or a previous generation random number used for the first one-time code or the second one-time code according to a communication state of the communication network at the time of authentication. A selection step;
For the selected next generation random number or the previous generation random number, the authentication management 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 management step of acquiring the generated one-time code as the one-time password from the user terminal through an authentication communication path;
The authentication code selection unit selects either the first one-time code for authentication or the second one-time code for authentication according to the communication state, and acquires from the authentication code storage unit A code selection step,
For the second one-time code acquired by the authentication management unit, a reduction number complementing unit executes a calculation based on the user-side unidirectional function for the number of reductions;
Authentication is performed based on the first one-time code for authentication or the second one-time code for authentication selected by the authentication code selection unit, and the one-time password executed by the reduction number complementing unit. A one-time authentication method comprising: an authentication step in which the unit performs an authentication process.
前記認証管理ステップでは、前記ユーザー端末が、コード化された前記第1のワンタイムコード又はコード化された前記第2のワンタイムコードを前記ワンタイムパスワードとして表示し、
前記認証用通信経路には、前記表示部に表示された前記ワンタイムパスワードを読み取る読取装置が接続され、前記認証管理ステップでは、前記読取装置を介して、前記ワンタイムパスワードを前記ユーザー端末から取得する
ことを特徴とする請求項6に記載のワンタイム認証方法。
In the authentication management step, the user terminal displays the encoded one-time code or the encoded second one-time code as the one-time password,
A reader that reads the one-time password displayed on the display unit is connected to the authentication communication path. In the authentication management step, the one-time password is acquired from the user terminal via the reader. The one-time authentication method according to claim 6.
前記通信ネットワーク上には、前記認証サーバーと前記ユーザー端末とを接続する連携用通信経路が構築され、
前記認証用コード保存ステップにおいて、認証用コード保存部が、前記連携用通信経路を通じて、前記ユーザー端末上において初回に生成された前記第1のワンタイムコードを取得し、この第1のワンタイムコードを用いて、前記サーバー側一方向性関数を用いた演算により認証用第1のワンタイムコードを生成し、前記第1の認証用ワンタイムコードと、前記ユーザーに固有のユーザー特定情報と関連付けて保存する
ことを特徴とする請求項6に記載のワンタイム認証方法。
On the communication network, a communication path for cooperation connecting the authentication server and the user terminal is constructed,
In the authentication code storage step, an authentication code storage unit acquires the first one-time code generated for the first time on the user terminal through the communication path for cooperation, and the first one-time code To generate a first one-time code for authentication by calculation using the server-side one-way function, and associate the first one-time code for authentication with user-specific information unique to the user. The one-time authentication method according to claim 6, wherein the one-time authentication method is stored.
前記認証用通信経路は、店舗に設置される店舗端末を介して、前記ユーザー端末と接続され、
前記認証管理ステップにおいて、前記店舗端末は、前記認証処理に関係する前記ユーザーの消費行動に関する情報を購買情報として取得するとともに、前記第1のワンタイムコード又は前記第2のワンタイムコードを取得し、前記購買情報を、前記第1又は第2の認証用ワンタイムコード及び前記認証処理の結果と、関連付けて購買履歴情報蓄積部に蓄積する
ことを特徴とする請求項6に記載のワンタイム認証方法。
The authentication communication path is connected to the user terminal via a store terminal installed in the store,
In the authentication management step, the store terminal acquires information regarding the user's consumption behavior related to the authentication process as purchase information, and acquires the first one-time code or the second one-time code. The one-time authentication according to claim 6, wherein the purchase information is stored in the purchase history information storage unit in association with the first or second one-time code for authentication and the result of the authentication process. Method.
前記認証サーバーは、
前記ユーザーに付与される価値情報を管理する価値情報管理サーバーと、
前記ユーザーに対して提供された商品又はサービスに関する決済処理を実行する決済サーバーと
を有し、
前記価値情報管理サーバー及び決済サーバーは、前記認証用コード保存部に保存された情報を共有可能であり、
前記決済サーバーは、前記認証処理の結果に基づく前記価値情報の有効性に関する判定情報を取得し、前記判定情報に基づいて、価値情報の有効性を反映させた前記決済処理を実行する
ことを特徴とする請求項6に記載のワンタイム認証方法。
The authentication server is
A value information management server for managing value information given to the user;
A payment server for executing payment processing related to goods or services provided to the user;
The value information management server and the settlement server can share information stored in the authentication code storage unit,
The payment server acquires determination information related to the validity of the value information based on a result of the authentication process, and executes the payment process reflecting the validity of the value information based on the determination information. The one-time authentication method according to claim 6.
通信ネットワーク上に配置され、ユーザーが使用するユーザー端末との間で、一度のみ有効なワンタイムパスワードを用いて、当該ユーザーの認証を行う認証サーバーであって、
前記ユーザー端末側において、次世代乱数を発生させ、この次世代乱数に対してユーザー側一方向性関数による演算を所定回数だけ繰り返して生成された第1のワンタイムコードと、前記ユーザー端末側において、前記次世代乱数を発生させる前に発生させた前世代乱数に対して前記ユーザー側一方向性関数による演算を繰り返して生成された第2のワンタイムコードとを、前記認証サーバーにおいて取得する連携管理部と、
前記第1のワンタイムコードを用いて、サーバー側一方向性関数を用いた演算により認証用第1のワンタイムコードを生成するとともに、前記第2のワンタイムコードを用いて、前記サーバー側一方向性関数を用いた演算により認証用第2のワンタイムコードを生成し、これら第1及び第2の認証用ワンタイムコードと、前記ユーザーに固有のユーザー特定情報と関連付けて保存する認証用コード保存部と、
認証時において、前記通信ネットワークの通信状態に応じて選択された前記第1のワンタイムコード又は前記第2のワンタイムコードに用いられた、前記次世代乱数又は前記前世代乱数に対して、前記ユーザー側一方向性関数による演算を、選択された乱数に対する所定回数よりも低減回数分だけ少ない回数を繰り返して前記ユーザー端末において生成されたワンタイムコードを、認証用通信経路を通じて前記ワンタイムパスワードとして取得する認証管理部と、
前記通信状態に応じて、前記認証用第1のワンタイムコード又は前記認証用第2のワンタイムコードのいずれかを選択して前記認証用コード保存部から取得する認証用コード選択部と、
前記認証管理部が取得した前記ワンタイムパスワードに対して、前記低減回数分の前記ユーザー側一方向性関数による演算を実行する低減回数補完部と、
前記認証用コード選択部が選択した認証用第1のワンタイムコード又は認証用第2のワンタイムコードと、前記低減回数補完部で演算を実行した前記ワンタイムパスワードとに基づいて、認証処理を行う認証部と
を備えることを特徴とする認証サーバー。
An authentication server that is placed on a communication network and authenticates the user using a one-time password that is valid only once with a user terminal used by the user,
On the user terminal side, a first generation random number is generated, and a first one-time code generated by repeating a calculation by a user-side unidirectional function for the next generation random number a predetermined number of times, and on the user terminal side Coordination in which the authentication server obtains a second one-time code generated by repeatedly calculating the user-side one-way function for the previous generation random number generated before generating the next generation random number The management department,
Using the first one-time code, a first one-time code for authentication is generated by computation using a server-side one-way function, and the server-side one-time code is generated using the second one-time code. An authentication code generated by generating a second one-time code for authentication by calculation using a directionality function, and storing the first and second one-time codes for authentication in association with user-specific information unique to the user A storage unit;
At the time of authentication, the next generation random number or the previous generation random number used for the first one time code or the second one time code selected according to the communication state of the communication network, The one-time code generated in the user terminal by repeating the calculation by the user-side unidirectional function by a number of times less than the predetermined number of times for the selected random number is used as the one-time password through the authentication communication path. An authentication management unit to be acquired;
An authentication code selection unit that selects one of the first one-time code for authentication or the second one-time code for authentication and acquires it from the code storage unit for authentication according to the communication state;
For the one-time password acquired by the authentication management unit, a reduction number complementing unit that performs calculation by the user-side unidirectional function for the number of reductions;
Authentication processing is performed based on the first one-time code for authentication or the second one-time code for authentication selected by the authentication code selection unit and the one-time password executed by the reduction number complementing unit. An authentication server comprising: an authentication unit for performing.
前記ユーザー端末は、コード化された前記第1のワンタイムコード又はコード化された前記第2のワンタイムコードを前記ワンタイムパスワードとして表示する表示部を有し、
前記認証用通信経路は、前記表示部に表示された前記ワンタイムパスワードを読み取る読取装置に接続され、
前記認証管理部は、前記読取装置を介して、前記ワンタイムパスワードを前記ユーザー端末から取得する
ことを特徴とする請求項11に記載の認証サーバー。
The user terminal has a display unit that displays the encoded one-time code or the encoded second one-time code as the one-time password,
The authentication communication path is connected to a reading device that reads the one-time password displayed on the display unit,
The authentication server according to claim 11, wherein the authentication management unit acquires the one-time password from the user terminal via the reading device.
前記通信ネットワーク上には、前記認証サーバーと前記ユーザー端末とを接続する連携用通信経路が構築され、
前記認証用コード保存部は、前記連携用通信経路を通じて、前記ユーザー端末上において初回に生成された前記第1のワンタイムコードを取得し、この第1のワンタイムコードを用いて、前記サーバー側一方向性関数を用いた演算により認証用第1のワンタイムコードを生成し、前記第1の認証用ワンタイムコードと、前記ユーザーに固有のユーザー特定情報と関連付けて保存する
ことを特徴とする請求項11に記載の認証サーバー。
On the communication network, a communication path for cooperation connecting the authentication server and the user terminal is constructed,
The authentication code storage unit acquires the first one-time code generated for the first time on the user terminal through the cooperation communication path, and uses the first one-time code to generate the first one-time code. A first one-time code for authentication is generated by an operation using a one-way function, and the first one-time code for authentication is stored in association with user-specific information unique to the user. The authentication server according to claim 11.
前記認証用通信経路は、店舗に設置される店舗端末を介して、前記ユーザー端末と接続され、
前記店舗端末では、前記認証処理に関係する前記ユーザーの消費行動に関する情報を購買情報として取得し、
前記認証管理部は、前記第1のワンタイムコード又は前記第2のワンタイムコードとともに、前記購買情報を取得し、この購買情報を、前記第1又は第2の認証用ワンタイムコード及び前記認証処理の結果と関連付けて購買履歴情報蓄積部に蓄積する
ことを特徴とする請求項11に記載の認証サーバー。
The authentication communication path is connected to the user terminal via a store terminal installed in the store,
In the store terminal, information related to the user's consumption behavior related to the authentication process is acquired as purchase information,
The authentication management unit acquires the purchase information together with the first one-time code or the second one-time code, and uses the purchase information as the first or second authentication one-time code and the authentication. The authentication server according to claim 11, wherein the authentication server is stored in the purchase history information storage unit in association with a processing result.
前記認証サーバーは、
前記ユーザーに付与される価値情報を管理する価値情報管理サーバーと、
前記ユーザーに対して提供された商品又はサービスに関する決済処理を実行する決済サーバーと
を有し、
前記価値情報管理サーバー及び決済サーバーは、前記認証用コード保存部に保存された情報を共有可能であり、
前記決済サーバーは、前記認証処理の結果に基づく前記価値情報の有効性に関する判定情報を取得し、前記判定情報に基づいて、価値情報の有効性を反映させた前記決済処理を実行する
ことを特徴とする請求項11に記載の認証サーバー。
The authentication server is
A value information management server for managing value information given to the user;
A payment server for executing payment processing related to goods or services provided to the user;
The value information management server and the settlement server can share information stored in the authentication code storage unit,
The payment server acquires determination information related to the validity of the value information based on a result of the authentication process, and executes the payment process reflecting the validity of the value information based on the determination information. The authentication server according to claim 11.
ユーザーが使用し、通信ネットワーク上に配置される認証サーバーとの間で、一度のみ有効なワンタイムパスワードを用いて、当該ユーザーの認証を行う機能を有する携帯端末であって、
次世代乱数を発生させ、この次世代乱数に対してユーザー側一方向性関数による演算を所定回数だけ繰り返して第1のワンタイムコードを生成する第1のワンタイムコード作成部と、
前記次世代乱数を発生させる前に発生させた前世代乱数に対して、前記ユーザー側一方向性関数による演算を所定回数だけ繰り返して第2のワンタイムコードを生成する第2のワンタイムコード作成部と、
前記認証サーバーに対し、前記第1のワンタイムコード及び第2のワンタイムコードを送信する送信部と、
認証時において、前記通信ネットワークの通信状態に応じて前記第1のワンタイムコード又は前記第2のワンタイムコードに用いられた次世代乱数又は前世代乱数を選択する選択部と、
選択された前記次世代乱数又は前記前世代乱数に対して、前記ユーザー側一方向性関数による演算を、選択された乱数に対する所定回数よりも低減回数分だけ少ない回数を繰り返してワンタイムコードを生成し、当該ワンタイムコードを、認証用通信経路を通じて前記ワンタイムパスワードとして、前記認証サーバーに対して送出する認証処理部と、
前記通信ネットワークの通信状態に応じて選択され、生成された前記ワンタイムパスワードに基づく認証処理の結果を取得する認証結果取得部と
を備えることを特徴とする携帯端末。
A mobile terminal that has a function of authenticating the user using a one-time password that is valid only once with an authentication server that is used by a user and placed on a communication network,
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
A transmitter for transmitting the first one-time code and the second one-time code to the authentication server;
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;
A one-time code is 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. And an authentication processing unit that sends the one-time code to the authentication server as the one-time password through an authentication communication path;
A portable terminal comprising: an authentication result acquisition unit configured to acquire a result of an authentication process based on the generated one-time password selected according to a communication state of the communication network.
コード化された前記第1のワンタイムコード又はコード化された前記第2のワンタイムコードを前記ワンタイムパスワードとして表示する表示部
をさらに備えることを特徴とする請求項16に記載の携帯端末。
The mobile terminal according to claim 16, further comprising a display unit that displays the encoded one-time code or the encoded second one-time code as the one-time password.
前記通信ネットワーク上には、前記認証サーバーと前記ユーザー端末とを接続する連携用通信経路が構築され、
前記送信部は、前記連携用通信経路を通じて、初回に生成された前記第1のワンタイムコードを送出する
ことを特徴とする請求項16に記載の携帯端末。
On the communication network, a communication path for cooperation connecting the authentication server and the user terminal is constructed,
The mobile terminal according to claim 16, wherein the transmission unit transmits the first one-time code generated for the first time through the communication path for cooperation.
通信ネットワーク上に配置される認証サーバーと、ユーザーが使用し、前記認証サーバーに前記通信ネットワークを通じて接続可能なユーザー端末との間で、一度のみ有効なワンタイムパスワードを用いて、当該ユーザーの認証を行うワンタイム認証プログラムであって、前記認証サーバーに、
前記ユーザー端末側において、次世代乱数を発生させ、この次世代乱数に対してユーザー側一方向性関数による演算を所定回数だけ繰り返して生成された第1のワンタイムコードと、前記ユーザー端末側において、前記次世代乱数を発生させる前に発生させた前世代乱数に対して、前記ユーザー側一方向性関数による演算を所定回数だけ繰り返して生成された第2のワンタイムコードとを取得する連携管理ステップと、
認証用コード保存部が、前記第1のワンタイムコードを用いて、サーバー側一方向性関数を用いた演算により認証用第1のワンタイムコードを生成するとともに、前記第2のワンタイムコードを用いて、前記サーバー側一方向性関数を用いた演算により認証用第2のワンタイムコードを生成し、これら第1及び第2の認証用ワンタイムコードと、前記ユーザーに固有のユーザー特定情報と関連付けて当該認証用コード保存部に保存する認証用コード保存ステップと、
認証時において、前記通信ネットワークの通信状態に応じて選択された前記第1のワンタイムコード又は前記第2のワンタイムコードに用いられた前記次世代乱数又は前記前世代乱数に対して、前記ユーザー側一方向性関数による演算を、選択された乱数に対する所定回数よりも低減回数分だけ少ない回数を繰り返して前記ユーザー端末において生成されたワンタイムコードを、認証管理部が、認証用通信経路を通じて前記ワンタイムパスワードとして取得する認証管理ステップと、
認証用コード選択部が、前記通信状態に応じて、前記認証用第1のワンタイムコード又は前記認証用第2のワンタイムコードのいずれかを選択して前記認証用コード保存部から取得する認証用コード選択ステップと、
前記認証管理部が取得した前記第2のワンタイムコードに対して、低減回数補完部が、前記低減回数分の前記ユーザー側一方向性関数による演算を実行する低減回数補完ステップと、
前記認証用コード選択部が選択した前記認証用第1のワンタイムコード又は前記認証用第2のワンタイムコードと、前記低減回数補完部で演算を実行した前記ワンタイムパスワードとに基づいて、認証部が、認証処理を行う認証ステップと
を含む処理を実行させることを特徴とするワンタイム認証プログラム。
The user is authenticated using a one-time password that is valid only once between an authentication server arranged on the communication network and a user terminal that is used by the user and can be connected to the authentication server through the communication network. A one-time authentication program to be performed on the authentication server;
On the user terminal side, a first generation random number is generated, and a first one-time code generated by repeating a calculation by a user-side unidirectional function for the next generation random number a predetermined number of times, and on the user terminal side Cooperative management for acquiring a second one-time code generated by repeating the 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 Steps,
The authentication code storage unit uses the first one-time code to generate the first one-time code for authentication by calculation using a server-side one-way function, and the second one-time code And generating a second one-time code for authentication by an operation using the server-side one-way function, and the first and second one-time codes for authentication and user-specific information unique to the user; An authentication code storage step for associating and storing in the authentication code storage unit;
At the time of authentication, for the next generation random number or the previous generation random number used for the first one-time code or the second one-time code selected according to the communication state of the communication network, the user The one-time code generated in the user terminal by repeating the calculation by the side one-way function by a smaller number of times than the predetermined number of times for the selected random number, the authentication management unit transmits the one-time code through the authentication communication path. Authentication management step to obtain as a one-time password,
The authentication code selection unit selects either the first one-time code for authentication or the second one-time code for authentication according to the communication state, and acquires from the authentication code storage unit A code selection step,
For the second one-time code acquired by the authentication management unit, a reduction number complementing unit executes a calculation based on the user-side unidirectional function for the number of reductions;
Authentication is performed based on the first one-time code for authentication or the second one-time code for authentication selected by the authentication code selection unit, and the one-time password executed by the reduction number complementing unit. A one-time authentication program in which a section executes a process including an authentication step for performing an authentication process.
前記認証管理ステップでは、コード化された前記第1のワンタイムコード又はコード化された前記第2のワンタイムコードが、前記ユーザー端末の表示部に、前記ワンタイムパスワードとして表示され、
前記認証用通信経路には、前記表示部に表示された前記ワンタイムパスワードを読み取る読取装置が接続され、前記認証管理ステップでは、前記読取装置を介して、前記ワンタイムパスワードを前記ユーザー端末から取得する
ことを特徴とする請求項19に記載のワンタイム認証プログラム。
In the authentication management step, the encoded first one-time code or the encoded second one-time code is displayed on the display unit of the user terminal as the one-time password,
A reader that reads the one-time password displayed on the display unit is connected to the authentication communication path. In the authentication management step, the one-time password is acquired from the user terminal via the reader. The one-time authentication program according to claim 19, wherein:
前記通信ネットワーク上には、前記認証サーバーと前記ユーザー端末とを接続する連携用通信経路が構築され、
前記認証用コード保存ステップにおいて、認証用コード保存部は、前記連携用通信経路を通じて、前記ユーザー端末上において初回に生成された前記第1のワンタイムコードを取得し、この第1のワンタイムコードを用いて、前記サーバー側一方向性関数を用いた演算により認証用第1のワンタイムコードを生成し、前記第1の認証用ワンタイムコードと、前記ユーザーに固有のユーザー特定情報と関連付けて保存する
ことを特徴とする請求項19に記載のワンタイム認証プログラム。
On the communication network, a communication path for cooperation connecting the authentication server and the user terminal is constructed,
In the authentication code storage step, the authentication code storage unit obtains the first one-time code generated for the first time on the user terminal through the cooperation communication path, and the first one-time code. To generate a first one-time code for authentication by calculation using the server-side one-way function, and associate the first one-time code for authentication with user-specific information unique to the user. The one-time authentication program according to claim 19, wherein the one-time authentication program is stored.
前記認証用通信経路は、店舗に設置される店舗端末を介して、前記ユーザー端末と接続され、
前記認証管理ステップでは、前記店舗端末が、前記認証処理に関係する前記ユーザーの消費行動に関する情報を購買情報として取得するとともに、前記第1のワンタイムコード又は前記第2のワンタイムコードを取得し、前記認証管理部は、前記購買情報を、前記第1又は第2の認証用ワンタイムコード及び前記認証処理の結果と関連付けて購買履歴情報蓄積部に蓄積する
ことを特徴とする請求項19に記載のワンタイム認証プログラム。
The authentication communication path is connected to the user terminal via a store terminal installed in the store,
In the authentication management step, the store terminal acquires information on the user's consumption behavior related to the authentication process as purchase information, and acquires the first one-time code or the second one-time code. The authentication management unit stores the purchase information in a purchase history information storage unit in association with the first or second authentication one-time code and the result of the authentication process. The listed one-time authentication program.
前記認証サーバーは、
前記ユーザーに付与される価値情報を管理する価値情報管理サーバーと、
前記ユーザーに対して提供された商品又はサービスに関する決済処理を実行する決済サーバーと
を有し、
前記価値情報管理サーバー及び決済サーバーは、前記認証用コード保存部に保存された情報を共有可能であり、
前記決済サーバーは、前記認証処理の結果に基づく前記価値情報の有効性に関する判定情報を取得し、前記判定情報に基づいて、価値情報の有効性を反映させた前記決済処理を実行する
ことを特徴とする請求項19に記載のワンタイム認証プログラム。
The authentication server is
A value information management server for managing value information given to the user;
A payment server for executing payment processing related to goods or services provided to the user;
The value information management server and the settlement server can share information stored in the authentication code storage unit,
The payment server acquires determination information related to the validity of the value information based on a result of the authentication process, and executes the payment process reflecting the validity of the value information based on the determination information. The one-time authentication program according to claim 19.
通信ネットワーク上に配置される認証サーバーと、ユーザーが使用し、前記認証サーバーに前記通信ネットワークを通じて接続可能なユーザー端末との間で、一度のみ有効なワンタイムパスワードを用いて、当該ユーザーの認証を行うワンタイム認証プログラムであって、前記ユーザー端末に、
次世代乱数を発生させ、この次世代乱数に対してユーザー側一方向性関数による演算を所定回数だけ繰り返して第1のワンタイムコードを生成する第1のワンタイムコード作成ステップと、
前記次世代乱数を発生させる前に発生させた前世代乱数に対して、前記ユーザー側一方向性関数による演算を所定回数だけ繰り返して第2のワンタイムコードを生成する第2のワンタイムコード作成ステップと、
前記認証サーバーに対して前記第1のワンタイムコード及び第2のワンタイムコードを送信する送信ステップと、
認証時において、前記通信ネットワークの通信状態に応じて、前記第1のワンタイムコード又は前記第2のワンタイムコードに用いられた次世代乱数又は前世代乱数を選択する選択ステップと、
選択された前記次世代乱数又は前記前世代乱数に対して、前記ユーザー側一方向性関数による演算を、選択された乱数に対する所定回数よりも低減回数分だけ少ない回数を繰り返してワンタイムコードを生成して、認証用通信経路を通じて前記ワンタイムパスワードとして、前記認証サーバーに対して送出する認証処理ステップと、
前記通信ネットワークの通信状態に応じて選択され、生成された前記ワンタイムパスワードに基づく認証処理の結果を取得する認証結果取得ステップと
を含む処理を実行させることを特徴とするワンタイム認証プログラム。
The user is authenticated using a one-time password that is valid only once between an authentication server arranged on the communication network and a user terminal that is used by the user and can be connected to the authentication server through the communication network. A one-time authentication program to be performed on the user terminal;
A first one-time code generating step of 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 Steps,
Transmitting the first one-time code and the second one-time code to the authentication server;
At the time of authentication, a selection step of selecting a next generation random number or a 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;
A one-time code is 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. Then, an authentication processing step of sending to the authentication server as the one-time password through an authentication communication path;
A one-time authentication program for executing a process including an authentication result acquisition step of acquiring an authentication process result based on the generated one-time password selected according to the communication state of the communication network.
コード化された前記第1のワンタイムコード又はコード化された前記第2のワンタイムコードを前記ワンタイムパスワードとして表示部に表示する表示ステップ
をさらに備えることを特徴とする請求項24に記載のワンタイム認証プログラム。
The display device according to claim 24, further comprising a display step of displaying the encoded one-time code or the encoded second one-time code on the display unit as the one-time password. One-time certification program.
前記通信ネットワーク上には、前記認証サーバーと前記ユーザー端末とを接続する連携用通信経路が構築され、
前記送信部は、前記連携用通信経路を通じて、初回に生成された前記第1のワンタイムコードを送出する
ことを特徴とする請求項24に記載のワンタイム認証プログラム。
On the communication network, a communication path for cooperation connecting the authentication server and the user terminal is constructed,
25. The one-time authentication program according to claim 24, wherein the transmission unit transmits the first one-time code generated for the first time through the cooperation communication path.
JP2015011061A 2015-01-23 2015-01-23 One-time authentication system, one-time authentication method, authentication server, portable terminal, and one-time authentication program Active JP5978325B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015011061A JP5978325B2 (en) 2015-01-23 2015-01-23 One-time authentication system, one-time authentication method, authentication server, portable terminal, and one-time authentication program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015011061A JP5978325B2 (en) 2015-01-23 2015-01-23 One-time authentication system, one-time authentication method, authentication server, portable terminal, and one-time authentication program

Publications (2)

Publication Number Publication Date
JP2016136664A true JP2016136664A (en) 2016-07-28
JP5978325B2 JP5978325B2 (en) 2016-08-24

Family

ID=56512679

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015011061A Active JP5978325B2 (en) 2015-01-23 2015-01-23 One-time authentication system, one-time authentication method, authentication server, portable terminal, and one-time authentication program

Country Status (1)

Country Link
JP (1) JP5978325B2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020048239A (en) * 2020-01-06 2020-03-26 株式会社東芝 Client-side communication control device and server-side communication control device
JP2021163172A (en) * 2020-03-31 2021-10-11 Kddi株式会社 Settlement processing method
JP2021163173A (en) * 2020-03-31 2021-10-11 Kddi株式会社 Settlement processing method and settlement processing apparatus
US11431706B2 (en) 2017-09-08 2022-08-30 Kabushiki Kaisha Toshiba Communication control system and communication control device

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003223419A (en) * 2002-01-31 2003-08-08 Nec Corp Authentication system, method and program
JP2004342036A (en) * 2003-05-19 2004-12-02 Aruze Corp Point management system
US20130191899A1 (en) * 2010-06-27 2013-07-25 King Saud University One-time password authentication with infinite nested hash claims

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003223419A (en) * 2002-01-31 2003-08-08 Nec Corp Authentication system, method and program
JP2004342036A (en) * 2003-05-19 2004-12-02 Aruze Corp Point management system
US20130191899A1 (en) * 2010-06-27 2013-07-25 King Saud University One-time password authentication with infinite nested hash claims

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JPN6016012535; 清水 明宏: '一方向性関数を用いた動的パスワード認証' 電子情報通信学会論文誌 第J73-D-I巻,第7号, 19900725, p.630-636, 社団法人電子情報通信学会 *
JPN6016012536; 植田 浩光: 'エージェントサーバにおけるパスワードの保護方法について' 電子情報通信学会技術研究報告 第110巻,第281号, 20101110, p.81-86, 社団法人電子情報通信学会 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11431706B2 (en) 2017-09-08 2022-08-30 Kabushiki Kaisha Toshiba Communication control system and communication control device
JP2020048239A (en) * 2020-01-06 2020-03-26 株式会社東芝 Client-side communication control device and server-side communication control device
JP2022040299A (en) * 2020-01-06 2022-03-10 株式会社東芝 Client-side communication control device
JP2021163172A (en) * 2020-03-31 2021-10-11 Kddi株式会社 Settlement processing method
JP2021163173A (en) * 2020-03-31 2021-10-11 Kddi株式会社 Settlement processing method and settlement processing apparatus
JP2021192258A (en) * 2020-03-31 2021-12-16 Kddi株式会社 Settlement processing method
JP7133072B2 (en) 2020-03-31 2022-09-07 Kddi株式会社 Payment processing method

Also Published As

Publication number Publication date
JP5978325B2 (en) 2016-08-24

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
CN110945554B (en) Registry Blockchain Architecture
CN107251595B (en) Secure authentication of users and mobile devices
US8826019B2 (en) Centralized authentication system with safe private data storage and method
US20120330769A1 (en) Electronic transaction techniques implemented over a computer network
US20140101741A1 (en) Method and system for mobile device based authenticationservices environment
JP6655147B2 (en) Payment system
KR20140125449A (en) Transaction processing system and method
CN103679457A (en) Payment method, payment server performing same and payment system performing same
WO2014164228A1 (en) Consumer device based point-of-sale
CN101291217A (en) Network identity authentication method
JP5978325B2 (en) One-time authentication system, one-time authentication method, authentication server, portable terminal, and one-time authentication program
JP2010287250A (en) Authentication system for cashless payment
US20200097937A1 (en) Token-based open-loop stored-value card network
JP4588529B2 (en) Service system and optimum service providing method
KR102574524B1 (en) Remote transaction system, method and point of sale terminal
KR20170058950A (en) System and method for electronic payments
JP2016536717A (en) Customer profile establishment method
KR101122032B1 (en) Method for carrying out an electronic transaction
JP7072111B1 (en) Service providers, service delivery methods, and programs
KR101315802B1 (en) System for processing stamp/mileage using mobile device and method thereof
JP2009276864A (en) Information terminal and authentication server
WO2020100748A1 (en) Authentication server, user terminal, settlement system, settlement method, and recording medium
JP2001337925A (en) User authentication device and business transaction system using it
JP2008152338A (en) System and method for credit card settlement using personal digital assistance

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: 5978325

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