JP4704148B2 - User authentication system, authentication device, terminal device, and computer program - Google Patents

User authentication system, authentication device, terminal device, and computer program Download PDF

Info

Publication number
JP4704148B2
JP4704148B2 JP2005243948A JP2005243948A JP4704148B2 JP 4704148 B2 JP4704148 B2 JP 4704148B2 JP 2005243948 A JP2005243948 A JP 2005243948A JP 2005243948 A JP2005243948 A JP 2005243948A JP 4704148 B2 JP4704148 B2 JP 4704148B2
Authority
JP
Japan
Prior art keywords
password
authentication
user
expiration date
seed
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.)
Expired - Fee Related
Application number
JP2005243948A
Other languages
Japanese (ja)
Other versions
JP2007058633A (en
Inventor
隆志 松中
忠行 福原
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.)
KDDI Corp
Original Assignee
KDDI 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 KDDI Corp filed Critical KDDI Corp
Priority to JP2005243948A priority Critical patent/JP4704148B2/en
Publication of JP2007058633A publication Critical patent/JP2007058633A/en
Application granted granted Critical
Publication of JP4704148B2 publication Critical patent/JP4704148B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、ユーザ認証システム、認証装置、端末装置及びコンピュータプログラムに関する。   The present invention relates to a user authentication system, an authentication device, a terminal device, and a computer program.

一般的なサービスシステムにおけるユーザ認証方法においては、各ユーザに対して当該システムの利用が可能な期間を示すユーザ有効期限を設定し、サーバ側で各ユーザのユーザ有効期限を保持してユーザ認証時に当該ユーザのユーザ有効期限をチェックしている。或いは、ユーザが認証に用いるパスワード等の認証情報に、当該ユーザの有効期限と同じ期間の有効期限を与え、パスワードの失効をユーザの有効期限切れとしている。認証情報にある一定の有効期限を与える認証手法としては、例えば、非特許文献1に開示されるTESLA(Timed Efficient Stream Loss-tolerant Authentication)が知られている。TESLAにおいては、まず一方向関数を用いて一連の鍵群(Key Chain)を生成する。そして、各鍵の有効期限(interval duration)を定め、単位区間ごとに随時に鍵を更新する。データ送信者は、送信時の時刻より現在有効となっている鍵を選択する。そして、選択した鍵を用いて送信データのメッセージ認証子(MAC;Message Authentication Code)を作成し、そのメッセージ認証子を送信データに付加して送信する。TESLAでは、ある一定時間(key disclosure delay)が経過すると、以前有効であった鍵を全員に公開する。そして、データの受信者は、該当する鍵が公開された後に該受信データのメッセージ認証子を検証する。
A. Perrig, et al., “Efficient Authentication and Signature of Multicast Streams over Lossy Channels”, IEEE Symposium on Research in Security and Privacy, pp 56-73, May 2000.
In a user authentication method in a general service system, a user expiration date indicating a period during which the system can be used is set for each user, and the user expiration date of each user is held on the server side during user authentication. The user expiration date of the user is checked. Alternatively, an expiration date of the same period as the expiration date of the user is given to authentication information such as a password used by the user for authentication, and the expiration date of the password is regarded as the expiration date of the user. For example, TESLA (Timed Efficient Stream Loss-tolerant Authentication) disclosed in Non-Patent Document 1 is known as an authentication method for giving a certain expiration date to authentication information. In TESLA, a series of keys (Key Chain) is first generated using a one-way function. Then, an expiration period (interval duration) of each key is determined, and the key is updated as needed for each unit interval. The data sender selects a key that is currently valid from the time of transmission. Then, a message authentication code (MAC) of the transmission data is created using the selected key, and the message authentication code is added to the transmission data for transmission. In TESLA, after a certain period of time (key disclosure delay), the previously valid key is disclosed to all. The data receiver verifies the message authenticator of the received data after the corresponding key is disclosed.
A. Perrig, et al., “Efficient Authentication and Signature of Multicast Streams over Lossy Channels”, IEEE Symposium on Research in Security and Privacy, pp 56-73, May 2000.

しかし、上述した従来の一般的なサービスシステムにおけるユーザ認証方法では、ユーザ毎の有効期限を適宜サーバ側で更新し保持しなければならない。また、ユーザ有効期限とパスワードは別々に管理されるので、ユーザ認証時にはユーザ有効期限とパスワードの検証を個別に行うことになり、サーバ側の処理が複雑になる。さらに、パスワードの安全性確保のためにパスワードにも有効期限を設定し適宜パスワードを更新するためには、別途、専用のシステムが必要となり、パスワードの管理が複雑になる。このため、通常はユーザ有効期限をパスワードの有効期限としても適用し、当該有効期限が切れるまでは同一のパスワードを使用するようにしているが、ユーザの成りすまし等の不正に対する防御能力が低下するという問題がある。   However, in the user authentication method in the conventional general service system described above, the expiration date for each user must be updated and held on the server side as appropriate. Further, since the user expiration date and the password are managed separately, the user expiration date and the password are separately verified at the time of user authentication, and the processing on the server side becomes complicated. Further, in order to set the expiration date for the password and to update the password as appropriate in order to ensure the security of the password, a separate dedicated system is required, and password management becomes complicated. For this reason, normally the user expiration date is also applied as the password expiration date, and the same password is used until the expiration date, but the defense capability against fraud such as user impersonation is reduced. There's a problem.

また、上述したTESLAにおいては、メッセージ認証子を作成した鍵が公開されるまでそのメッセージ認証子の検証を行うことができないため、受信者は該当する鍵が公開されるまで、受信データをバッファリングする必要がある。そのため、受信データの認証を行うまでに若干の待機時間が生じるので、当該データの送信者の有効期限を即時に判断することができない。さらには、攻撃者によって大量のデータが送信されることにより、バッファが溢れ、正規のデータが破棄されるなどの問題が生じる。鍵の有効期限(interval duration)を短く設定すれば、待機時間は短縮されるが、その分、有効期限内にもかかわらず、送信したデータが鍵の公開後のデータであると判断されて破棄される可能性が増し、システムのスループットに悪影響を及ぼす恐れがある。   In TESLA mentioned above, since the message authenticator cannot be verified until the key that created the message authenticator is released, the receiver buffers the received data until the corresponding key is released. There is a need to. For this reason, since a slight waiting time is required until the received data is authenticated, the expiration date of the sender of the data cannot be determined immediately. Furthermore, when a large amount of data is transmitted by an attacker, there is a problem that the buffer overflows and normal data is discarded. If the key expiration period is set short, the waiting time is shortened. However, the transmitted data is judged to be the data after the key has been released, even though it is within the validity period. May be adversely affected and may adversely affect system throughput.

本発明は、このような事情を考慮してなされたもので、その目的は、ユーザ有効期限の管理とパスワードの更新を一元的に行うことのできるユーザ認証システム、認証装置、端末装置を提供することにある。   The present invention has been made in consideration of such circumstances, and an object of the present invention is to provide a user authentication system, an authentication device, and a terminal device capable of centrally managing user expiration dates and updating passwords. There is.

また、本発明の他の目的は、本発明の認証装置、端末装置をコンピュータを利用して実現するためのコンピュータプログラムを提供することにある。   Another object of the present invention is to provide a computer program for realizing the authentication device and terminal device of the present invention using a computer.

上記の課題を解決するために、本発明に係るユーザ認証システムは、ユーザの端末装置と、前記ユーザの認証を行う認証装置とを有するユーザ認証システムであり、前記認証装置は、一方向関数の繰り返し演算によって一連の第1パスワード群を生成するパスワード生成手段と、前記第1パスワード群内の各パスワードに関し、パスワードの生成順とは逆順に、一連の有効期限を対応付けるパスワード管理手段と、前記ユーザのユーザ有効期限の終了時点を含む有効期限を有する前記パスワードをシードに採用するシード選定手段と、該シード及び前記第1パスワード群に係るパスワード有効期限情報を前記端末装置に送信する送信手段と、前記端末装置から認証パスワードを受信する受信手段と、前記認証パスワードを受信した時点に有効な検証パスワードを前記第1パスワード群から選定するパスワード選定手段と、前記認証パスワードと前記検証パスワードを比較し、一致した場合には認証成功である判定し、一方、不一致した場合には認証失敗であると判定する判定手段と、を備え、前記端末装置は、前記認証装置からシード及びパスワード有効期限情報を受信する受信手段と、該受信したシードを引数の初期値として、前記認証装置と共通の一方向関数の繰り返し演算によって一連の第2パスワード群を生成するパスワード生成手段と、前記受信したパスワード有効期限情報に基づき、前記第2パスワード群内の各パスワードに関し、パスワードの生成順とは逆順に、一連の有効期限を対応付けるパスワード管理手段と、認証実施時に、現在有効なパスワードを前記第2パスワード群から選定するパスワード選定手段と、前記選定したパスワードを前記認証装置に送信する送信手段と、を備える、ことを特徴とする。   In order to solve the above-described problem, a user authentication system according to the present invention is a user authentication system including a user terminal device and an authentication device that performs authentication of the user, and the authentication device has a one-way function. Password generating means for generating a series of first password groups by repetitive calculation; password management means for associating a series of expiration dates in reverse order to the password generation order for each password in the first password group; and the user Seed selection means for adopting as a seed the password having an expiration date including the end point of the user expiration date, and transmission means for transmitting password expiration date information relating to the seed and the first password group to the terminal device, Receiving means for receiving an authentication password from the terminal device and valid when the authentication password is received The password selecting means for selecting a verification password from the first password group, the authentication password and the verification password are compared, and if they match, it is determined that the authentication is successful, whereas if they do not match, the authentication fails. Determining means for determining that the terminal device receives a seed and password expiration date information from the authentication device, and uses the received seed as an initial value of an argument as a common argument with the authentication device. Password generating means for generating a series of second password groups by iterative calculation of direction functions, and for each password in the second password group based on the received password expiration date information, in the reverse order of the password generation order, A password management means for associating a series of expiration dates, and a password that is currently valid at the time of authentication. It includes a password selecting means for selecting from Seward group, and a transmitting means for transmitting the selected password to the authentication device, and wherein the.

本発明に係るユーザ認証システムにおいては、前記認証装置において、前記判定手段は、前記不一致した場合に、前記検証パスワードを引数とした前記一方向関数の値を検証パスワードとして再度、前記認証パスワードとの比較を行い、一致した場合には認証成功である判定する、ことを特徴とする。   In the user authentication system according to the present invention, in the authentication device, in the case of the mismatch, the determination unit again uses the value of the one-way function with the verification password as an argument as a verification password, A comparison is made, and if they match, it is determined that the authentication is successful.

本発明に係るユーザ認証システムにおいては、前記パスワード管理手段は、前記パスワード群の各パスワードと各有効期限とを対応付けて記憶するテーブルを有する、ことを特徴とする。   In the user authentication system according to the present invention, the password management means includes a table for storing each password of the password group and each expiration date in association with each other.

本発明に係るユーザ認証システムにおいては、前記パスワード選定手段は、前記パスワード生成手段により、前記選定時に選定するパスワードを生成する、ことを特徴とする。   In the user authentication system according to the present invention, the password selection means generates a password to be selected at the time of selection by the password generation means.

本発明に係るユーザ認証システムにおいては、前記パスワード管理手段は、自装置内の時計の時刻に基づいて有効期限を管理する、ことを特徴とする。   In the user authentication system according to the present invention, the password management means manages an expiration date based on a time of a clock in the own device.

本発明に係るユーザ認証システムにおいては、前記パスワード管理手段は、前記シード及びパスワード有効期限情報の授受時点にタイマを発動し、該タイマの時刻に基づいて有効期限を管理する、ことを特徴とする。   In the user authentication system according to the present invention, the password management means starts a timer at the time of sending and receiving the seed and password expiration date information, and manages the expiration date based on the time of the timer. .

本発明に係る認証装置は、ユーザの端末装置との間で前記ユーザの認証を行う認証装置であり、一方向関数の繰り返し演算によって一連の第1パスワード群を生成するパスワード生成手段と、前記第1パスワード群内の各パスワードに関し、パスワードの生成順とは逆順に、一連の有効期限を対応付けるパスワード管理手段と、前記ユーザのユーザ有効期限の終了時点を含む有効期限を有する前記パスワードをシードに採用するシード選定手段と、該シード及び前記第1パスワード群に係るパスワード有効期限情報を前記端末装置に送信する送信手段と、前記端末装置から認証パスワードを受信する受信手段と、前記認証パスワードを受信した時点に有効な検証パスワードを前記第1パスワード群から選定するパスワード選定手段と、前記認証パスワードと前記検証パスワードを比較し、一致した場合には認証成功である判定し、一方、不一致した場合には認証失敗であると判定する判定手段と、を備えたことを特徴とする。   An authentication device according to the present invention is an authentication device that authenticates the user with a user terminal device, a password generation unit that generates a series of first password groups by repetitive calculation of a one-way function, and the first For each password in one password group, password management means for associating a series of expiration dates in the reverse order of password generation, and the password having an expiration date including the end point of the user expiration date of the user as a seed A seed selecting means for transmitting, a transmitting means for transmitting password expiration date information relating to the seed and the first password group to the terminal device, a receiving means for receiving an authentication password from the terminal device, and the authentication password received Password selecting means for selecting a verification password effective at the time from the first password group, and the authentication Comparing the password with the verification password, determines the authentication success if they match, on the other hand, characterized by comprising a determination means that the authentication failure when disagreement.

本発明に係る端末装置は、認証装置との間でユーザの認証を行う端末装置であり、前記認証装置からシード及びパスワード有効期限情報を受信する受信手段と、該受信したシードを引数の初期値として、前記認証装置と共通の一方向関数の繰り返し演算によって一連の第2パスワード群を生成するパスワード生成手段と、前記受信したパスワード有効期限情報に基づき、前記第2パスワード群内の各パスワードに関し、パスワードの生成順とは逆順に、一連の有効期限を対応付けるパスワード管理手段と、認証実施時に、現在有効なパスワードを前記第2パスワード群から選定するパスワード選定手段と、前記選定したパスワードを前記認証装置に送信する送信手段と、を備えたことを特徴とする。   A terminal device according to the present invention is a terminal device that authenticates a user with an authentication device, a receiving unit that receives seed and password expiration information from the authentication device, and an initial value of an argument for the received seed As a password generation means for generating a series of second password groups by repetitive calculation of a one-way function common to the authentication device, and each password in the second password group based on the received password expiration date information, Password management means for associating a series of expiration dates in reverse order of password generation, password selection means for selecting a currently valid password from the second password group at the time of authentication, and the selected password for the authentication device And transmitting means for transmitting to.

本発明に係るコンピュータプログラムは、ユーザの端末装置との間で前記ユーザの認証を行うサーバ処理を行うためのコンピュータプログラムであって、一方向関数の繰り返し演算によって一連の第1パスワード群を生成するパスワード生成機能と、前記第1パスワード群内の各パスワードに関し、パスワードの生成順とは逆順に、一連の有効期限を対応付けるパスワード管理機能と、前記ユーザのユーザ有効期限の終了時点を含む有効期限を有する前記パスワードをシードに採用するシード選定機能と、該シード及び前記第1パスワード群に係るパスワード有効期限情報を前記端末装置に送信する送信機能と、前記端末装置から認証パスワードを受信する受信機能と、前記認証パスワードを受信した時点に有効な検証パスワードを前記第1パスワード群から選定するパスワード選定機能と、前記認証パスワードと前記検証パスワードを比較し、一致した場合には認証成功である判定し、一方、不一致した場合には認証失敗であると判定する判定機能と、をコンピュータに実現させることを特徴とする。
これにより、前述の認証装置がコンピュータを利用して実現できるようになる。
A computer program according to the present invention is a computer program for performing server processing for authenticating a user with a user terminal device, and generates a series of first password groups by repetitive calculation of a one-way function. For each password in the first password group, a password generation function, a password management function for associating a series of expiration dates in reverse order to the password generation sequence, and an expiration date including the end point of the user expiration date of the user A seed selection function that employs the password as a seed; a transmission function that transmits password expiration date information relating to the seed and the first password group to the terminal apparatus; and a reception function that receives an authentication password from the terminal apparatus; , A valid verification password when the authentication password is received is the first password A password selection function that selects from a password group, and a determination function that compares the authentication password and the verification password, determines that the authentication is successful if they match, and determines that the authentication fails if they do not match Is realized by a computer.
Thereby, the above-described authentication device can be realized using a computer.

本発明に係るコンピュータプログラムは、認証装置との間でユーザの認証を行うクライアント処理を行うためのコンピュータプログラムであって、前記認証装置からシード及びパスワード有効期限情報を受信する受信機能と、該受信したシードを引数の初期値として、前記認証装置と共通の一方向関数の繰り返し演算によって一連の第2パスワード群を生成するパスワード生成機能と、前記受信したパスワード有効期限情報に基づき、前記第2パスワード群内の各パスワードに関し、パスワードの生成順とは逆順に、一連の有効期限を対応付けるパスワード管理機能と、認証実施時に、現在有効なパスワードを前記第2パスワード群から選定するパスワード選定機能と、前記選定したパスワードを前記認証装置に送信する送信機能と、をコンピュータに実現させることを特徴とする。
これにより、前述の端末装置がコンピュータを利用して実現できるようになる。
A computer program according to the present invention is a computer program for performing a client process for authenticating a user with an authentication device, the receiving function receiving seed and password expiration information from the authentication device, and the reception Based on the received password expiry information, a password generation function for generating a series of second password groups by using a repeated one-way function common to the authentication device with the seed as an initial value of the argument For each password in the group, a password management function that associates a series of expiration dates in reverse order of the password generation order, a password selection function that selects a currently valid password from the second password group at the time of authentication, A transmission function for transmitting the selected password to the authentication device. Characterized in that to realize the Yuta.
As a result, the terminal device described above can be realized using a computer.

本発明によれば、ユーザ有効期限の管理とパスワードの更新を一元的に行うことができる。   According to the present invention, it is possible to centrally manage user expiration dates and update passwords.

以下、図面を参照し、本発明の一実施形態について説明する。
図1は、本発明の一実施形態に係るユーザ認証システムの構成を示すブロック図である。図1に示すユーザ認証システムは、サーバ装置10とクライアント装置20とから構成される。サーバ装置10とクライアント装置20は、それぞれ通信部11、21を備えており、通信ネットワークを介して相互にデータを送受信する。該通信部11、21は、暗号等を用いた安全性の高いデータ通信を行う。
Hereinafter, an embodiment of the present invention will be described with reference to the drawings.
FIG. 1 is a block diagram showing a configuration of a user authentication system according to an embodiment of the present invention. The user authentication system illustrated in FIG. 1 includes a server device 10 and a client device 20. The server device 10 and the client device 20 include communication units 11 and 21, respectively, and transmit / receive data to / from each other via a communication network. The communication units 11 and 21 perform highly secure data communication using encryption or the like.

サーバ装置10において、処理部12はユーザ認証に係るサーバ処理を行う。記憶部13は、該サーバ処理に係る各種データを記憶する。クライアント装置20において、処理部22はユーザ認証に係るクライアント処理を行う。記憶部23は、該クライアント処理に係る各種データを記憶する。   In the server device 10, the processing unit 12 performs server processing related to user authentication. The storage unit 13 stores various data related to the server process. In the client device 20, the processing unit 22 performs client processing related to user authentication. The storage unit 23 stores various data related to the client process.

以下、本実施形態に係る各実施例を挙げて詳細に説明する。   Hereinafter, each example according to the present embodiment will be described in detail.

実施例1に係るユーザ認証方法は、準備フェーズと認証フェーズを有する。
初めに、図2を参照して、実施例1に係る準備フェーズを説明する。
図2は、本発明に係る実施例1の準備フェーズにおけるシーケンス図である。図2において、先ず、サーバ装置10は、予めマスター鍵MKを生成し(ステップS1)、そのマスター鍵MKを引数の初期値とした一方向関数の繰り返し演算によって一連のパスワード群を生成し記憶する(ステップS2)。
The user authentication method according to the first embodiment includes a preparation phase and an authentication phase.
First, the preparation phase according to the first embodiment will be described with reference to FIG.
FIG. 2 is a sequence diagram in the preparation phase of the first embodiment according to the present invention. In FIG. 2, first, the server device 10 generates a master key MK in advance (step S1), and generates and stores a series of password groups by iterative calculation of a one-way function using the master key MK as an initial value of an argument. (Step S2).

そのパスワード群生成処理においては、図3のフローチャートに示されるように、先ず、パスワードPにはマスター鍵MKを設定する(ステップS11)。次いで、そのパスワードPを引数の初期値として、一方向関数であるハッシュ関数hを用いたパスワード生成をn回繰り返し、新たにn個のパスワードを生成する(ステップS12〜S15)。パスワード生成ステップ(ステップS13、S14)では、パスワードPj+1をハッシュ関数hの引数にしたハッシュ値h(Pj+1)を計算し、該ハッシュ値h(Pj+1)をパスワードPとして記憶する。但し、j=n−1,n−2,・・・,1,0、である。
このパスワード生成ステップの繰り返しによって、パスワードPからn個のパスワードが新たに生成され、合計(n+1)個のパスワードP〜Pが生成されて記憶される。
In the password group generation processing, as shown in the flowchart of FIG. 3, first, a master key MK is set for the password Pn (step S11). Next, password generation using the hash function h, which is a one-way function, is repeated n times using the password P n as an initial value of an argument, thereby newly generating n passwords (steps S12 to S15). In the password generation step (steps S13 and S14), a hash value h (P j + 1 ) using the password P j + 1 as an argument of the hash function h is calculated, and the hash value h (P j + 1 ) is stored as the password P j . However, j = n−1, n−2,..., 1, 0.
This by repeating the password generation step, n number of passwords from a password P n is newly generated, the sum of (n + 1) Password P 0 to P n is generated and stored.

また、その(n+1)個のパスワードP〜Pについては、各パスワードP〜Pの有効期限に対応付けて記憶する。図4には、各パスワードP〜Pの有効期限の割り当て例が示されている。図4に示されるように、各パスワードP〜Pには、連続した(n+1)個の期間0〜nがそれぞれの有効期限として分割されて割り当てられる。各期間0〜nの長さは一定時間Tである。また、図5には、パスワードP〜P及びその各有効期限を記憶するパスワード管理テーブル131の構成例が示されている。図5に示されるように、各パスワードP〜Pは自己の有効期限として割り当てられた期間0〜nに各々対応付けされてパスワード管理テーブル131に記憶される。 The (n + 1) passwords P 0 to P n are stored in association with the expiration dates of the passwords P 0 to P n . FIG. 4 shows an example of assigning expiration dates for the passwords P 0 to P n . As shown in FIG. 4, each of the passwords P 0 to P n is assigned with (n + 1) consecutive periods 0 to n divided as the respective expiration dates. The length of each period 0-n is a fixed time T. FIG. 5 shows a configuration example of the password management table 131 that stores the passwords P 0 to P n and their respective expiration dates. As shown in FIG. 5, the passwords P 0 to P n are stored in the password management table 131 in association with the periods 0 to n assigned as their own expiration dates.

図2に戻り、次いで、サーバ装置10は、クライアント装置20から、端末の属性情報を受信する(ステップS3)。その端末の属性情報としては、例えば、当該クライアント装置20を使用するユーザに係る属性や当該クライアント装置20の在る位置情報などが挙げられる。   Returning to FIG. 2, the server device 10 then receives terminal attribute information from the client device 20 (step S <b> 3). As the attribute information of the terminal, for example, an attribute related to a user who uses the client device 20, position information where the client device 20 exists, and the like can be cited.

次いで、サーバ装置10は、その受信した端末の属性情報をもとにして、当該ユーザのユーザ有効期限の長さを所定のルールに従って決定する(ステップS4)。そのユーザ有効期限長は、一パスワード当たりの有効期限長である一定時間Tの整数倍とする。次いで、サーバ装置10は、その決定したユーザ有効期限長に対応する期間分のパスワードを生成することができるシードを生成する(ステップS5)。   Next, the server device 10 determines the length of the user expiration date of the user according to a predetermined rule based on the received terminal attribute information (step S4). The user expiration date is an integer multiple of a fixed time T that is the expiration date per password. Next, the server device 10 generates a seed that can generate passwords for a period corresponding to the determined user expiration length (step S5).

そのシード生成処理においては、先ず、現在時刻を含む期間と該期間に続く次の期間との切り替わりの時刻をパスワード管理テーブル131から調べ、その切り替わり時刻を最初のパスワードの使用開始時刻TSとして採用する。次いで、その使用開始時刻TSからユーザ有効期限長の経過時点が期間終了時点となる期間をパスワード管理テーブル131から調べ、その調べた期間に対応付けられているパスワードをパスワード管理テーブル131から取得してシードSDに採用する。次いで、使用開始時刻TSから、シードSDに採用したパスワードに対応する期間までの間に存在する期間の個数をパスワード管理テーブル131から調べ、その期間の個数をシードSDから生成するパスワードの個数Qとして採用する。また、一パスワード当たりの有効期限長(パスワード有効時間TP)は、一定時間Tである。   In the seed generation process, first, the switching time between the period including the current time and the next period following the period is checked from the password management table 131, and the switching time is adopted as the first password use start time TS. . Next, the password management table 131 is used to check the period in which the user expiration date has elapsed from the use start time TS, and the password associated with the checked period is obtained from the password management table 131. Adopted for seed SD. Next, the number of periods existing from the use start time TS to the period corresponding to the password adopted for the seed SD is checked from the password management table 131, and the number of periods is used as the number Q of passwords generated from the seed SD. adopt. Further, the expiration date length per password (password effective time TP) is a predetermined time T.

上記したシード生成処理について、図6に示される例を用いてより具体的に説明する。また、ここでは、図5のパスワード管理テーブル131のデータ例を用いる。
図6の例では、一定時間Tは60秒、ユーザ有効期限長は5分である。図6において、現在時刻を含む期間は、パスワードPに対応付けられている期間1(図5参照)であり、該期間1に続く次の期間2との切り替わりの時刻は2時0分
である。従って、使用開始時刻TSは2時0分に設定する。次いで、その使用開始時刻である2時0分からユーザ有効期限長である5分の経過時点「2時5分」が期間終了時点となる期間は、パスワードPに対応付けられている期間6である。従って、シードSDはパスワードPを用いる。次いで、使用開始時刻TS「2時0分」から、シードSDとしてのパスワードPに対応する期間6までの間に存在する期間の個数は、パスワードP,P,P,Pの各々に対応する期間2,3,4,5の4個である。従って、シードSD(パスワードP)から生成するパスワードの個数Qは4個に設定する。また、パスワード有効時間TPは、一定時間T「60秒」に設定する。
The seed generation process described above will be described more specifically using the example shown in FIG. Here, the data example of the password management table 131 in FIG. 5 is used.
In the example of FIG. 6, the fixed time T is 60 seconds, and the user expiration date is 5 minutes. 6, a period including the current time is a period associated with the password P 1 1 (see FIG. 5), the time of switching of the next period 2 following the said period between 1 in 2 hours, 0 minutes, is there. Therefore, the use start time TS is set to 2: 0. Next, the period during which the use start time 2:00 0 to 5 minutes elapsed time "2 o'clock 5 minutes" of a user expiration date length, which is the is the period at the end is, in the period 6 that is associated with the password P 6 is there. Therefore, seed SD uses a password P 6. Next, the number of periods existing from the use start time TS “2: 0” to the period 6 corresponding to the password P 6 as the seed SD is the password P 2 , P 3 , P 4 , P 5 . There are four periods 2, 3, 4, and 5 corresponding to each. Accordingly, the number Q of passwords generated from the seed SD (password P 6 ) is set to four. The password valid time TP is set to a fixed time T “60 seconds”.

これにより、シードSDであるパスワードPからは、ハッシュ関数hを用いて、「生成するパスワードの個数Q」である4個のパスワードP,P,P,Pを順番に生成することができる。そして、各パスワードP,P,P,P,Pは各々に対応する期間2,3,4,5,6でのみ有効とする。従って、それら5個のパスワードP,P,P,P,Pは、ユーザ有効期限長「5分」に対応するパスワード群となる。つまり、パスワードPは最初に有効となるものであって、その使用開始時刻TSは2時0分であり、その有効期限は2時0分から2時1分までである。パスワードPはパスワードPの次に有効となるものであって、その有効期限は2時1分から2時2分までである。以降、パスワード有効時間TPである「60秒」毎に、パスワードP,P,Pの順番で有効となり、最後のパスワードPの有効期限満了時点である2時5分には、全てのパスワードP,P,P,P,Pは無効とする。 Thus, four passwords P 5 , P 4 , P 3 , and P 2 that are “the number Q of passwords to be generated” are generated in order from the password P 6 that is the seed SD, using the hash function h. be able to. The passwords P 2 , P 3 , P 4 , P 5 , and P 6 are valid only during the corresponding periods 2 , 3 , 4 , 5 , and 6 respectively. Therefore, these five passwords P 2 , P 3 , P 4 , P 5 , and P 6 form a password group corresponding to the user expiration date length “5 minutes”. In other words, the password P 2 is a made of the first enabled, the use start time TS is 0 minutes 2:00, the expiration date is up to 1 pm 2 pm 0 minutes to 2. Password P 3 is a one that is valid in the following password P 2, the expiration date is up to 2 hours 2 minutes minutes to 2 pm 1. Thereafter, the password becomes valid in the order of the passwords P 4 , P 5 , and P 6 every “60 seconds” that is the password valid time TP, and at 2: 5, which is the time when the last password P 6 expires, The passwords P 2 , P 3 , P 4 , P 5 and P 6 are invalid.

図2に戻り、次いで、サーバ装置10は、シードSD、パスワード有効時間TP、生成するパスワードの個数Q及び使用開始時刻TSをクライアント装置20に送信する(ステップS6)。ここで、パスワード有効時間TP、生成するパスワードの個数Q及び使用開始時刻TSは、ユーザ有効期限を特定する情報(ユーザ有効期限情報)である。つまり、使用開始時刻TSから「パスワード有効時間TP×生成するパスワードの個数Q」経過時点までの期間が、ユーザ有効期限となる。さらには、各パスワードの有効期限を特定する情報(パスワード有効期限情報)である。つまり、使用開始時刻TSからパスワード有効時間TPおきの各期間が、各パスワードの有効期限となる。   Returning to FIG. 2, the server device 10 then transmits the seed SD, the password valid time TP, the number Q of passwords to be generated, and the use start time TS to the client device 20 (step S6). Here, the password expiration time TP, the number Q of passwords to be generated, and the use start time TS are information (user expiration date information) for specifying the user expiration date. That is, the period from the use start time TS to the time when “password valid time TP × number of generated passwords Q” has elapsed is the user valid period. Furthermore, it is information (password expiration date information) that specifies the expiration date of each password. That is, each period from the use start time TS every password valid time TP becomes the validity period of each password.

次いで、クライアント装置20は、そのサーバ装置10から受信したシードSD等の情報に基づいて、シードSDを引数の初期値とした一方向関数の繰り返し演算によって一連のパスワード群を生成し記憶する(ステップS7)。このパスワード群生成処理においては、シードSDを引数の初期値として、一方向関数であるハッシュ関数hを用いたパスワード生成を、「生成するパスワードの個数Q」回繰り返し、新たにQ個のパスワードPを生成する。   Next, the client device 20 generates and stores a series of password groups by iterative calculation of a one-way function using the seed SD as an initial value of an argument based on the information such as the seed SD received from the server device 10 (step) S7). In this password group generation process, password generation using the hash function h, which is a one-way function, with the seed SD as an initial value of an argument is repeated “number Q of passwords to be generated” times to newly generate Q passwords P Is generated.

そのクライアント装置20のパスワード群生成処理について、上記図6の例を用いてより具体的に説明すれば、先ず、シードSD(パスワードP)をハッシュ関数hの引数にしたハッシュ値h(P)を計算し、該ハッシュ値h(P)をパスワードPとして記憶する。次いで、パスワードPをハッシュ関数hの引数にしたハッシュ値h(P)を計算し、該ハッシュ値h(P)をパスワードPとして記憶する。この操作を合計4回繰り返して、「生成するパスワードの個数Q」である4個のパスワードP,P,P,Pを順番に生成し記憶する。この結果、シードSDであるパスワードPも含めて合計5個のパスワードP,P,P,P,Pが生成されて記憶される。
なお、クライアント装置20で用いられるハッシュ関数hは、サーバ装置10で使用されたものと同じであり、サーバ装置10との間で予め共有しておく。
The password group generation processing of the client device 20 will be described more specifically using the example of FIG. 6 above. First, the hash value h (P 6 ) using the seed SD (password P 6 ) as an argument of the hash function h. ) And the hash value h (P 6 ) is stored as the password P 5 . Next, a hash value h (P 5 ) using the password P 5 as an argument of the hash function h is calculated, and the hash value h (P 5 ) is stored as the password P 4 . This operation is repeated four times in total, and four passwords P 5 , P 4 , P 3 , P 2 that are “the number Q of passwords to be generated” are sequentially generated and stored. As a result, a total of five passwords P 2 , P 3 , P 4 , P 5 , P 6 including the password P 6 as the seed SD are generated and stored.
Note that the hash function h used in the client device 20 is the same as that used in the server device 10 and is shared with the server device 10 in advance.

また、クライアント装置20で生成されたQ個のパスワードPについては、各パスワードPの有効期限に対応付けて記憶する。各パスワードPの有効期限は、使用開始時刻TS及びパスワード有効時間TPから算出する。この有効期限算出処理について、上記図6の例を用いてより具体的に説明すれば、最初のパスワードPについては、使用開始時刻TS「2時0分」からパスワード有効時間TP「60秒」分の期間2を有効期限とする。次のパスワードPについては、パスワードPの有効期限終了時点「2時1分」からパスワード有効時間TP「60秒」分の期間3を有効期限とする。同様にして、パスワードPについてはパスワードPの有効期限終了時点「2時2分」からパスワード有効時間TP「60秒」分の期間4、パスワードPについてはパスワードPの有効期限終了時点「2時3分」からパスワード有効時間TP「60秒」分の期間5、パスワードPについてはパスワードPの有効期限終了時点「2時4分」からパスワード有効時間TP「60秒」分の期間6、をそれぞれの有効期限とする。 Further, the Q passwords P generated by the client device 20 are stored in association with the expiration date of each password P. The expiration date of each password P is calculated from the use start time TS and the password expiration time TP. This expiration date calculation process, In more detail using the example of FIG. 6, for the first password P 2, password expiration time TP "60 seconds" from the use start time TS "0 pm 2" Minute period 2 is the expiration date. For the next password P 3 , the period 3 of the password valid time TP “60 seconds” from the expiration date “2: 1” of the password P 2 is set as the valid period. Similarly, for the password P 4 , the period 4 from the time “2: 2” when the password P 3 expires to the password valid time TP “60 seconds”, and for the password P 5 , when the password P 4 expires from "3 pm 2" period of password expiration time TP "60 seconds" worth 5, the password P 6 from the expiration time "2 o'clock 4 minutes" of the password P 6 password expiration time TP "60 seconds" worth of Period 6 is defined as the respective expiration date.

図7には、そのパスワードP〜P及びその各有効期限を記憶するパスワード管理テーブル231の構成例が示されている。図7に示されるように、各パスワードP〜Pは自己の有効期限として割り当てられた期間2〜6に各々対応付けされてパスワード管理テーブル231に記憶される。この図7の例においては、パスワード管理テーブル231には、使用開始時刻TS「2時0分」からユーザ有効期限長である5分間において、1分おきに順次有効となる5個のパスワードP,P,P,P,Pが保持されている。つまり、2時0分から2時1分まではパスワードP、2時1分から2時2分まではパスワードP、2時2分から2時3分まではパスワードP、2時3分から2時4分まではパスワードP、2時4分から2時5分まではパスワードP、が各期間2,3,4,5,6における有効なパスワードである。 FIG. 7 shows a configuration example of the password management table 231 that stores the passwords P 2 to P 6 and their respective expiration dates. As shown in FIG. 7, the passwords P 2 to P 6 are stored in the password management table 231 in association with the periods 2 to 6 assigned as their own expiration dates. In the example of FIG. 7, the password management table 231 includes five passwords P 2 that are sequentially valid every other minute from the use start time TS “2: 0” to the user expiration time of 5 minutes. , P 3 , P 4 , P 5 , P 6 are held. That is, the password P 2 from 2: 0 to 2:01, the password P 3 from 2: 1 to 2: 2, the password P 4 from 2: 2 to 2: 3, and the password P 4 from 2: 3 to 2 up to 4 minutes password P 6 until the password P 5, 2 o'clock 4 minutes to 2 hours 5 minutes, but is a valid password in each period three, four, five, six.

以上で実施例1に係る準備フェーズが終了する。
上述したように実施例1に係る準備フェーズにおいては、最初のパスワードの使用開始時刻TSからユーザ有効期限長までの期間中に有効となるパスワードであって、パスワード有効時間TPおきに順次有効となる複数のパスワードがサーバ側及びクライアント側の双方で共有される。ここで、ユーザ有効期限は、最初のパスワードの使用開始時刻TSからユーザ有効期限長経過時点までの期間である。つまり、サーバ側及びクライアント側の双方で共有されている全パスワードの有効期限の総期間がユーザ有効期限となる。言い換えれば、ユーザ有効期限を複数の期間に区切り、該期間ごとに固有のパスワードが用意されたことになる。
This completes the preparation phase according to the first embodiment.
As described above, in the preparation phase according to the first embodiment, the password is valid during the period from the first password use start time TS to the user expiration date, and is sequentially valid every password valid time TP. A plurality of passwords are shared on both the server side and the client side. Here, the user expiration date is a period from the use start time TS of the first password until the user expiration date elapses. That is, the total validity period of all passwords shared on both the server side and the client side is the user validity period. In other words, the user expiration date is divided into a plurality of periods, and a unique password is prepared for each period.

次に、図8を参照して、実施例1に係る認証フェーズを説明する。
図8は、本発明に係る実施例1の認証フェーズにおけるシーケンス図である。図8において、先ず、クライアント装置20は、自装置内の時計の現在時刻において有効なパスワードをパスワード管理テーブル231から選択し(ステップS21)、該選択したパスワードをサーバ装置10に送信する(ステップS22)。
Next, an authentication phase according to the first embodiment will be described with reference to FIG.
FIG. 8 is a sequence diagram in the authentication phase according to the first embodiment of the present invention. In FIG. 8, first, the client device 20 selects a password that is valid at the current time of the clock in the device from the password management table 231 (step S21), and transmits the selected password to the server device 10 (step S22). ).

次いで、サーバ装置10は、クライアント装置20からパスワードを受信すると、自装置内の時計の現在時刻において有効なパスワードをパスワード管理テーブル131から選択する(ステップS23)。次いで、サーバ装置10は、クライアント装置20から受信したパスワード(認証パスワード)とパスワード管理テーブル131から選択したパスワード(検証パスワード)を比較する(ステップS24)。この比較に結果、両者が一致すれば当該ユーザの認証は成功であり、一方、不一致ならば当該ユーザの認証は失敗であると判定する。次いで、サーバ装置10は、その認証結果をクライアント装置20に送信する(ステップS25)。   Next, when the server device 10 receives the password from the client device 20, the server device 10 selects a password that is valid at the current time of the clock in the own device from the password management table 131 (step S23). Next, the server device 10 compares the password (authentication password) received from the client device 20 with the password (verification password) selected from the password management table 131 (step S24). As a result of this comparison, if the two match, it is determined that the authentication of the user is successful, while if the two do not match, it is determined that the authentication of the user is unsuccessful. Next, the server device 10 transmits the authentication result to the client device 20 (step S25).

上記した認証処理について、上記図6の例を用いてより具体的に説明する。
先ず、上記した準備フェーズによって、最初のパスワードPの使用開始時刻TS「2時0分」からユーザ有効期限長「5分」までの期間中「2時0分から2時5分まで」に有効となるパスワードであって、パスワード有効時間TP「60秒」おきに順次有効となる5個のパスワードP,P,P,P,Pがサーバ装置10及びクライアント装置20の双方で共有されている。具体的には、サーバ装置10は、図5のパスワード管理テーブル131に、2時0分から2時5分までの1分間隔の各期間2,3,4,5,6における有効パスワードP,P,P,P,Pを保持している。クライアント装置20は、図7のパスワード管理テーブル231に、2時0分から2時5分までの1分間隔の各期間2,3,4,5,6における有効パスワードP,P,P,P,Pを保持している。そのサーバ装置10及びクライアント装置20の双方のパスワードP,P,P,P,Pは、ともに同一のハッシュ関数hを用いてパスワードPを初期値としたハッシュ関数hの繰り返し計算によって得られたものであり、同一である。
The authentication process described above will be described more specifically using the example of FIG.
First, during the period from the use start time TS “2: 0” of the first password P 2 to the user expiration time length “5 minutes” by the above-described preparation phase, it is valid from “2: 0 to 2: 5” The five passwords P 2 , P 3 , P 4 , P 5 , and P 6 that are sequentially valid every password valid time TP “60 seconds” are both in the server device 10 and the client device 20. Shared. Specifically, the server device 10 stores the effective password P 2 , in each period 2, 3, 4, 5, 6 at intervals of 1 minute from 2: 0 to 2: 5 in the password management table 131 of FIG. P 3 , P 4 , P 5 , P 6 are held. The client device 20 stores the valid passwords P 2 , P 3 , P 4 in the period 2 , 3 , 4 , 5, 6 at 1-minute intervals from 2: 0 to 2: 5 in the password management table 231 of FIG. , P 5 , P 6 are held. The passwords P 2 , P 3 , P 4 , P 5 , and P 6 of both the server device 10 and the client device 20 are repeated for the hash function h using the same hash function h and the password P 6 as an initial value. It is obtained by calculation and is the same.

次いで、クライアント装置20は、現在時刻「2時3分30秒」に有効なパスワードPをパスワード管理テーブル231から選択し、そのパスワードPを認証用にサーバ装置10に送信する(図9参照)。次いで、サーバ装置10は、クライアント装置20から認証用のパスワードPを受信すると、現在時刻に有効なパスワードをパスワード管理テーブル131から選択して、クライアント装置20から受信したパスワードPと比較する。この認証処理によって、ユーザ有効期限内の各期間2,3,4,5,6においては、各期間2,3,4,5,6に固有のパスワードP,P,P,P,Pを用いた期間限定の認証が可能となる。 Next, the client device 20 selects a password P 5 valid at the current time “2: 3: 30” from the password management table 231 and transmits the password P 5 to the server device 10 for authentication (see FIG. 9). ). Next, when receiving the authentication password P 5 from the client device 20, the server device 10 selects a password effective at the current time from the password management table 131 and compares it with the password P 5 received from the client device 20. By this authentication process, in each period 2, 3, 4, 5, 6 within the user expiration date, passwords P 2 , P 3 , P 4 , P 5 unique to each period 2 , 3 , 4 , 5 , 6 are used. , P 6 can be used for limited-time authentication.

なお、サーバ装置10は、上記した認証処理において、クライアント装置20との間の時刻のずれを考慮した処理を行う。図10は、サーバ装置10に係る時刻ずれ補償処理を説明するための説明図である。図10において、クライアント装置20は、時刻t1からt2の期間において認証を行うために、当該期間に有効なパスワードPを認証パスワードPcとしてサーバ装置10に送信する。ここで、通信ネットワークの伝送遅延等により、サーバ装置10への認証パスワードPcの到着が遅れると、サーバ装置10は、クライアント装置20が認証を行おうとした期間の次の期間(時刻t2からt3の期間)に、クライアント装置20からの認証パスワードPc(P)を受信する可能性がある。すると、サーバ装置10は、時刻t2からt3の期間に有効なパスワードPを検証パスワードPsに選択し、該検証パスワードPs(P)とクライアント装置20からの認証パスワードPc(P)を比較し、両者の不一致から認証失敗と判定してしまう。 The server device 10 performs processing in consideration of a time lag with the client device 20 in the above-described authentication processing. FIG. 10 is an explanatory diagram for explaining a time shift compensation process according to the server device 10. 10, the client device 20, in order to authenticate the period from time t1 t2, and transmits to the server apparatus 10 a valid password P 1 during the period as an authentication password Pc. Here, if the arrival of the authentication password Pc to the server device 10 is delayed due to a transmission delay of the communication network, the server device 10 is the period following the period in which the client device 20 tried to perform authentication (from time t2 to t3). There is a possibility that the authentication password Pc (P 1 ) from the client device 20 is received during the period. Then, the server apparatus 10, a valid password P 2 during the period from time t2 t3 select the verification password Ps, compared authentication password Pc (P 1) from the verification password Ps (P 2) and the client device 20 Then, it is determined that the authentication has failed due to the mismatch.

そこで、そのような事態を防ぐために、先ず、サーバ装置10は、クライアント装置20から認証パスワードPcを受信した時刻に有効なパスワードを検証パスワードPsに選択し、この検証パスワードPsと認証パスワードPcを比較する(図10のステップS241)。次いで、その比較の結果、不一致ならば、該検証パスワードPsを引数にしたハッシュ値h(Ps)を検証パスワードPsとして再度、認証パスワードPcとの比較を行う(図10のステップS242)。この比較の結果、一致したならば認証成功であると判定する。これにより、通信ネットワークの伝送遅延等による時刻ずれに対応することが可能となる。   Therefore, in order to prevent such a situation, first, the server device 10 selects a valid password as the verification password Ps at the time when the authentication password Pc is received from the client device 20, and compares the verification password Ps with the authentication password Pc. (Step S241 in FIG. 10). If the comparison results in a mismatch, the hash value h (Ps) with the verification password Ps as an argument is used as the verification password Ps, and the authentication password Pc is compared again (step S242 in FIG. 10). As a result of this comparison, if they match, it is determined that the authentication is successful. As a result, it becomes possible to cope with a time lag due to a transmission delay or the like of the communication network.

上述した実施例1によれば、サーバ側及びクライアント側の双方で共有される全パスワードの有効期限の総期間がユーザ有効期限となるので、パスワードの有効期限とユーザ有効期限の管理をまとめて行うことができる。さらに、各パスワードはそれぞれの有効期限に応じて更新されるので、ユーザ有効期限の管理とパスワードの更新を一元的に行うことが可能となる。   According to the first embodiment described above, since the total validity period of all passwords shared on both the server side and the client side becomes the user validity period, the password validity period and the user validity period are managed together. be able to. Furthermore, since each password is updated according to the expiration date, the user expiration date can be managed and the password can be updated centrally.

また、クライアント側では、ハッシュ関数を用いてシードからパスワードを自動生成することができるので、ユーザ自身によるパスワード更新にかかる手間を省くことが可能となる。   Further, since the password can be automatically generated from the seed using the hash function on the client side, it is possible to save time and effort required for the user to update the password.

なお、上述した実施例1では、サーバ側及びクライアント側の双方で共有するパスワードを予め生成し記憶するようにしたが、認証時点において当該期間に有効なパスワードをサーバ側及びクライアント側の双方でそれぞれ生成するようにしてもよい。この場合には、シード及びパスワード有効期限情報のみを記憶すればよい。これにより、パスワード群を管理することができる。   In the first embodiment described above, a password shared on both the server side and the client side is generated and stored in advance. However, at the time of authentication, a password that is valid for the period is both on the server side and the client side. You may make it produce | generate. In this case, only the seed and password expiration date information need be stored. Thereby, the password group can be managed.

実施例2に係るユーザ認証方法は、上記した実施例1と同様の準備フェーズ及び認証フェーズを有する。本実施例2は、上記した実施例1の変形例であり、各パスワードの有効期限の管理方法が実施例1と異なっている。以下、主に実施例1との差分について説明する。   The user authentication method according to the second embodiment has the same preparation phase and authentication phase as those of the first embodiment. The second embodiment is a modification of the first embodiment described above, and the method for managing the expiration date of each password is different from the first embodiment. Hereinafter, differences from the first embodiment will be mainly described.

初めに、図11を参照して、実施例2に係る準備フェーズを説明する。
図11は、本発明に係る実施例2の準備フェーズにおけるシーケンス図である。図11において、先ず、サーバ装置10は、上記実施例1における図2に示す処理と同様に、マスター鍵MKを引数の初期値とした一方向関数の繰り返し演算によって一連のパスワード群を生成し記憶する(ステップS31〜S32)。ここで、各パスワードPは、上記図5と同様に、有効な期間に対応付けてパスワード管理テーブル131に保持する。但し、本実施例2では、期間iは後述するタイマ時刻に基づいた期間を用いる。
First, the preparation phase according to the second embodiment will be described with reference to FIG.
FIG. 11 is a sequence diagram in the preparation phase of the second embodiment according to the present invention. In FIG. 11, first, the server device 10 generates and stores a series of password groups by repetitive calculation of a one-way function using the master key MK as an initial value of an argument, as in the processing shown in FIG. 2 in the first embodiment. (Steps S31 to S32). Here, each password P is stored in the password management table 131 in association with a valid period, as in FIG. However, in the second embodiment, the period i uses a period based on a timer time described later.

次いで、サーバ装置10は、クライアント装置20から端末の属性情報及びクライアント識別情報(クライアントID)を受信すると(ステップS33)、上記実施例1と同様に、その受信した端末の属性情報をもとにして、当該ユーザのユーザ有効期限の長さを所定のルールに従って決定し(ステップS34)、その決定したユーザ有効期限長に対応する期間分のパスワードを生成することができるシードSDを生成する(ステップS35)。   Next, when receiving the terminal attribute information and the client identification information (client ID) from the client apparatus 20 (step S33), the server apparatus 10 is based on the received terminal attribute information as in the first embodiment. Then, the length of the user expiration date of the user is determined according to a predetermined rule (step S34), and a seed SD that can generate a password for a period corresponding to the determined user expiration length is generated (step S34). S35).

次いで、サーバ装置10は、タイムスタンプTMSを取得する(ステップS36)。次いで、サーバ装置10は、シードSD、パスワード有効時間TP、生成するパスワードの個数Q及びタイムスタンプTMSをクライアント装置20に送信し(ステップS37)、該送信後にタイマを発動する(ステップS38)。そのタイマは、ユーザごとに設ける。ここで、パスワード有効時間TP及び生成するパスワードの個数Qは、ユーザ有効期限を特定する情報(ユーザ有効期限情報)である。つまり、ステップS38のタイマ発動時点から「パスワード有効時間TP×生成するパスワードの個数Q」経過時点までの期間が、ユーザ有効期限となる。さらには、各パスワードの有効期限を特定する情報(パスワード有効期限情報)である。つまり、ステップS38のタイマ発動時点からパスワード有効時間TPおきの各期間が、各パスワードの有効期限となる。   Next, the server device 10 acquires the time stamp TMS (step S36). Next, the server device 10 transmits the seed SD, the password valid time TP, the number Q of passwords to be generated, and the time stamp TMS to the client device 20 (step S37), and activates a timer after the transmission (step S38). The timer is provided for each user. Here, the password expiration time TP and the number Q of passwords to be generated are information (user expiration date information) for specifying the user expiration date. That is, the period from the time when the timer is activated in step S38 to the time when "password effective time TP x number of passwords Q to be generated" has elapsed becomes the user expiration date. Furthermore, it is information (password expiration date information) that specifies the expiration date of each password. That is, each password is valid for each period from the time when the timer is activated in step S38.

上記シード生成処理について、図12に示される例を用いて具体的に説明する。
図12の例では、パスワード有効時間TPは60秒、ユーザ有効期限長は5分である。図12において、タイマ発動時点はタイマ時刻「0分」である。そのタイマ時刻「0分」からパスワード有効時間TP「60秒」ごとの期間0、1,2,3,4,5,6に対して、それぞれパスワードP,P,P,P,P,P,Pが有効となる。ここで、タイマ時刻「0分」をユーザ有効期限の開始時点とすると、ユーザ有効期限の終了時点はタイマ時刻「5分」である。そのタイマ時刻「5分」直前の期間4に有効なパスワードPをシードSDに採用する。また、生成するパスワードの個数Qは、タイマ時刻「0分」から「5分」までの間に存在する期間の個数である4個に設定する。これにより、シードSD(パスワードP)からは、ハッシュ関数hを用いて、「生成するパスワードの個数Q」である4個のパスワードP,P,P,Pを順番に生成することができる。そして、各パスワードP,P,P,P,Pは各々に対応する期間0,1,2,3,4でのみ有効とする。
The seed generation process will be specifically described using an example shown in FIG.
In the example of FIG. 12, the password valid time TP is 60 seconds, and the user valid time length is 5 minutes. In FIG. 12, the timer activation time is the timer time “0 minutes”. Passwords P 0 , P 1 , P 2 , P 3 , and so on for periods 0 , 1 , 2 , 3 , 4 , 5, and 6 from the timer time “0 minutes” to the password valid time TP “60 seconds”, respectively. P 4 , P 5 , and P 6 are effective. Here, assuming that the timer time “0 minutes” is the start time of the user expiration date, the end time of the user expiration date is the timer time “5 minutes”. The password P 4 valid for the period 4 immediately before the timer time “5 minutes” is adopted as the seed SD. The number Q of passwords to be generated is set to 4 which is the number of periods existing between the timer times “0 minutes” and “5 minutes”. Thereby, from the seed SD (password P 4 ), four passwords P 3 , P 2 , P 1 , P 0 which are “number Q of passwords to be generated” are generated in order using the hash function h. be able to. The passwords P 0 , P 1 , P 2 , P 3 , P 4 are valid only during the corresponding periods 0 , 1 , 2 , 3 , 4 respectively.

図11に戻り、次いで、サーバ装置10は、タイムスタンプTMSとタイマとクライアントIDを対応付ける(ステップS39)。具体的には、図13に示されるタイマ対応表300に、タイムスタンプTMSとタイマとクライアントIDを対応付けて記憶させる。図13には、タイマ対応表300の構成例が示されている。   Returning to FIG. 11, the server device 10 then associates the time stamp TMS, the timer, and the client ID (step S39). Specifically, the time stamp TMS, the timer, and the client ID are stored in the timer correspondence table 300 shown in FIG. FIG. 13 shows a configuration example of the timer correspondence table 300.

クライアント装置20は、サーバ装置10からシードSD、パスワード有効時間TP、生成するパスワードの個数Q及びタイムスタンプTMSを受信すると、タイマを発動する(ステップS40)。次いで、クライアント装置20は、サーバ装置10から受信したシードSD、パスワード有効時間TP及び生成するパスワードの個数Qに基づいて、シードSDを引数の初期値とした一方向関数の繰り返し演算によって一連のパスワード群を生成し記憶する(ステップS41)。このパスワード群生成処理においては、上記実施例1と同様に、シードSDを初期値として、一方向関数であるハッシュ関数hを用いたパスワード生成を、「生成するパスワードの個数Q」回繰り返し、新たにQ個のパスワードPを生成する。その各パスワードPは、上記図7と同様に、有効な期間に対応付けてパスワード管理テーブル231に保持する。但し、本実施例2では、期間iはタイマ時刻に基づいた期間を用いる。   When the client device 20 receives the seed SD, the password valid time TP, the number Q of passwords to be generated, and the time stamp TMS from the server device 10, the client device 20 activates a timer (step S40). Next, based on the seed SD received from the server device 10, the password valid time TP, and the number Q of passwords to be generated, the client device 20 performs a series of passwords by repeating a one-way function with the seed SD as an initial value of an argument. A group is generated and stored (step S41). In this password group generation process, as in the first embodiment, password generation using the hash function h, which is a one-way function, with the seed SD as an initial value is repeated “number Q of passwords to be generated” Q passwords P are generated. Each password P is stored in the password management table 231 in association with a valid period, as in FIG. However, in the second embodiment, the period i uses a period based on the timer time.

上記図12の例では、クライアント装置20は、シードSD(パスワードP)から、ハッシュ関数hを用いて「生成するパスワードの個数Q」である4個のパスワードP,P,P,Pを順番に生成する。そして、各パスワードP,P,P,P,Pを各々の有効期限である期間0,1,2,3,4に対応付けてパスワード管理テーブル231に保持する。 In the example of FIG. 12, the client device 20 uses the hash function h from the seed SD (password P 4 ) to create four passwords P 3 , P 2 , P 1 , which are “number Q of passwords to be generated”. P 0 is generated in order. Then, the passwords P 0 , P 1 , P 2 , P 3 , and P 4 are held in the password management table 231 in association with the periods 0 , 1 , 2 , 3 , and 4 that are the expiration dates.

次いで、クライアント装置20は、タイムスタンプTMSとタイマを対応付けて記憶する(ステップS42)。   Next, the client device 20 stores the time stamp TMS and the timer in association with each other (step S42).

次に、図14を参照して、実施例2に係る認証フェーズを説明する。
図14は、本発明に係る実施例2の認証フェーズにおけるシーケンス図である。図14において、先ず、クライアント装置20は、自装置内のタイマ時刻において有効なパスワードをパスワード管理テーブル231から選択する(ステップS51)。
Next, an authentication phase according to the second embodiment will be described with reference to FIG.
FIG. 14 is a sequence diagram in the authentication phase of the second embodiment according to the present invention. In FIG. 14, first, the client device 20 selects a password that is valid at the timer time in the own device from the password management table 231 (step S51).

次いで、クライアント装置20は、該選択したパスワードに係るハッシュ値を算出する(ステップS52)。このハッシュ値算出処理においては、先ず、パスワードと、自クライアントIDと、タイマに対応付けて記憶しているタイムスタンプTMSとのビット毎の排他的論理和演算を行う。そして、その排他的論理和演算値をハッシュ関数hの引数としたハッシュ値を計算する。次いで、クライアント装置20は、その算出したハッシュ値をサーバ装置10に送信する(ステップS53)。
例えば、図15に例示されるように、クライアント装置20内のタイマ時刻が「3分30秒」であったならば、該「3分30秒」を含む期間3において有効なパスワードPを認証パスワードとして選択し、該パスワードPに係るハッシュ値を算出してサーバ装置10に送信する。
Next, the client device 20 calculates a hash value related to the selected password (step S52). In this hash value calculation process, first, an exclusive OR operation is performed for each bit of the password, the own client ID, and the time stamp TMS stored in association with the timer. Then, a hash value is calculated using the exclusive OR operation value as an argument of the hash function h. Next, the client device 20 transmits the calculated hash value to the server device 10 (step S53).
For example, as illustrated in FIG. 15, if the timer time in the client device 20 is “3 minutes 30 seconds”, the password P 3 valid for the period 3 including the “3 minutes 30 seconds” is authenticated. selected as a password, to the server apparatus 10 calculates the hash value according to the password P 3.

次いで、サーバ装置10は、クライアント装置20からハッシュ値を受信すると、タイマ対応表300を参照して当該クライアント装置20に係るタイマ及びタイムスタンプTMSを取得する(ステップS54)。次いで、サーバ装置10は、該タイマ時刻において有効なパスワードを検証パスワードとしてパスワード管理テーブル131から選択する(ステップS55)。次いで、サーバ装置10は、ハッシュ値を算出する(ステップS56)。このハッシュ値算出処理においては、先ず、パスワード管理テーブル131から選択したパスワードと、タイマ対応表300から取得したクライアントIDと、タイマ対応表300から取得したタイムスタンプTMSとのビット毎の排他的論理和演算を行う。そして、その排他的論理和演算値をハッシュ関数hの引数としたハッシュ値を計算する。   Next, when receiving the hash value from the client device 20, the server device 10 refers to the timer correspondence table 300 and acquires the timer and the time stamp TMS related to the client device 20 (step S54). Next, the server device 10 selects a password effective at the timer time from the password management table 131 as a verification password (step S55). Next, the server device 10 calculates a hash value (step S56). In this hash value calculation process, first, a bitwise exclusive OR of the password selected from the password management table 131, the client ID acquired from the timer correspondence table 300, and the time stamp TMS acquired from the timer correspondence table 300 is provided. Perform the operation. Then, a hash value is calculated using the exclusive OR operation value as an argument of the hash function h.

次いで、サーバ装置10は、クライアント装置20から受信したハッシュ値(認証パスワードに係るハッシュ値)と、ステップS56で算出したハッシュ値(検証パスワードに係るハッシュ値)とを比較し(ステップS57)、両者が一致すれば当該ユーザの認証は成功であり、一方、不一致ならば当該ユーザの認証は失敗であると判定する。次いで、サーバ装置10は、その認証結果をクライアント装置20に送信する(ステップS58)。   Next, the server device 10 compares the hash value received from the client device 20 (hash value related to the authentication password) with the hash value calculated in step S56 (hash value related to the verification password) (step S57). If they match, it is determined that the authentication of the user is successful, whereas if they do not match, it is determined that the authentication of the user has failed. Next, the server device 10 transmits the authentication result to the client device 20 (step S58).

なお、上述した実施例2においても、サーバ装置10は、上記図10の時刻ずれ補償処理を行うことが可能であり、該時刻ずれ補償処理によってクライアント装置20との間の時刻のずれを補償することができる。   Also in the second embodiment described above, the server device 10 can perform the time lag compensation processing of FIG. 10 described above, and compensate for the time lag with the client device 20 by the time lag compensation processing. be able to.

また、認証時点において当該期間に有効なパスワードをサーバ側及びクライアント側の双方でそれぞれ生成するようにしてもよい。   Further, passwords valid during the period at the time of authentication may be generated on both the server side and the client side.

上述した実施例2によれば、上記実施例1と同様に、サーバ側及びクライアント側の双方で共有される全パスワードの有効期限の総期間がユーザ有効期限となるので、パスワードの有効期限とユーザ有効期限の管理をまとめて行うことができる。さらに、各パスワードはそれぞれの有効期限に応じて更新されるので、ユーザ有効期限の管理とパスワードの更新を一元的に行うことが可能となる。   According to the above-described second embodiment, as in the first embodiment, since the total expiration period of all passwords shared on both the server side and the client side is the user expiration date, the password expiration date and the user The expiration date can be managed collectively. Furthermore, since each password is updated according to the expiration date, the user expiration date can be managed and the password can be updated centrally.

なお、実施例2においては、期間によっては同じパスワードが利用されるため、リプレイ攻撃が懸念されるので、上記に例示したタイムスタンプTMSのように毎回異なる値を用いてパスワードに係るハッシュ値を算出し、該ハッシュ値同士を比較することが望ましい。これにより、リプレイ攻撃からの防御が可能となる。また、サーバ側では、定期的にマスター鍵MKを更新してパスワードの更新を行うことがセキュリティ上望ましい。   In Example 2, since the same password is used depending on the period, there is a concern about replay attacks, so the hash value related to the password is calculated using a different value each time, such as the time stamp TMS exemplified above. It is desirable to compare the hash values. This makes it possible to defend against replay attacks. On the server side, it is desirable for security to periodically update the master key MK and update the password.

上述したように本実施形態によれば、ユーザ有効期限の管理とパスワードの更新を一元的に行うことができる。これにより、サーバ側の負担が軽減される。また、有効となるパスワードは一定時間ごとに更新されるので、サービスシステムの安全性を保つことができる。   As described above, according to the present embodiment, it is possible to centrally manage the user expiration date and update the password. This reduces the load on the server side. In addition, since the valid password is updated at regular intervals, the security of the service system can be maintained.

また、図1に示すサーバ装置10、クライアント装置20の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、ユーザ認証に係るサーバ処理、ユーザ認証に係るクライアント処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものであってもよい。
また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、フラッシュメモリ等の書き込み可能な不揮発性メモリ、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
Also, a program for realizing the functions of the server device 10 and the client device 20 shown in FIG. 1 is recorded on a computer-readable recording medium, and the program recorded on the recording medium is read into a computer system and executed. Accordingly, server processing related to user authentication and client processing related to user authentication may be performed. Here, the “computer system” may include an OS and hardware such as peripheral devices.
Further, the “computer system” includes a homepage providing environment (or display environment) if a WWW system is used.
The “computer-readable recording medium” means a flexible disk, a magneto-optical disk, a ROM, a writable nonvolatile memory such as a flash memory, a portable medium such as a CD-ROM, a hard disk built in a computer system, etc. This is a storage device.

さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(例えばDRAM(Dynamic Random Access Memory))のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
Further, the “computer-readable recording medium” means a volatile memory (for example, DRAM (Dynamic DRAM) in a computer system that becomes a server or a client when a program is transmitted through a network such as the Internet or a communication line such as a telephone line. Random Access Memory)), etc., which hold programs for a certain period of time.
The program may be transmitted from a computer system storing the program in a storage device or the like to another computer system via a transmission medium or by a transmission wave in the transmission medium. Here, the “transmission medium” for transmitting the program refers to a medium having a function of transmitting information, such as a network (communication network) such as the Internet or a communication line (communication line) such as a telephone line.
The program may be for realizing a part of the functions described above. Furthermore, what can implement | achieve the function mentioned above in combination with the program already recorded on the computer system, and what is called a difference file (difference program) may be sufficient.

以上、本発明の実施形態を図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。   The embodiment of the present invention has been described in detail with reference to the drawings. However, the specific configuration is not limited to this embodiment, and includes design changes and the like within a scope not departing from the gist of the present invention.

本発明の一実施形態に係るユーザ認証システムの構成を示すブロック図である。It is a block diagram which shows the structure of the user authentication system which concerns on one Embodiment of this invention. 本発明に係る実施例1の準備フェーズにおけるシーケンス図である。It is a sequence diagram in the preparation phase of Example 1 which concerns on this invention. 図2に示すパスワード群生成処理(ステップS2)のフローチャートである。It is a flowchart of the password group production | generation process (step S2) shown in FIG. 本発明の実施例1に係る各パスワードP〜Pの有効期限の割り当て例を示す説明図である。The allocation example expiration each password P 0 to P n according to the first embodiment of the present invention; FIG. 本発明の実施例1に係るサーバ装置10が有するパスワード管理テーブル131の構成例を示す図である。It is a figure which shows the structural example of the password management table 131 which the server apparatus 10 which concerns on Example 1 of this invention has. 本発明の実施例1に係るシード生成処理を説明するための説明図である。It is explanatory drawing for demonstrating the seed production | generation process which concerns on Example 1 of this invention. 本発明の実施例1に係るクライアント装置20が有するパスワード管理テーブル231の構成例を示す図である。It is a figure which shows the structural example of the password management table 231 which the client apparatus 20 which concerns on Example 1 of this invention has. 本発明に係る実施例1の認証フェーズにおけるシーケンス図である。It is a sequence diagram in the authentication phase of Example 1 which concerns on this invention. 本発明の実施例1に係るパスワード選定処理を説明するための説明図である。It is explanatory drawing for demonstrating the password selection process which concerns on Example 1 of this invention. 本発明の実施例1に係る時刻ずれ補償処理を説明するための説明図である。It is explanatory drawing for demonstrating the time shift compensation process which concerns on Example 1 of this invention. 本発明に係る実施例2の準備フェーズにおけるシーケンス図である。It is a sequence diagram in the preparation phase of Example 2 which concerns on this invention. 本発明の実施例2に係るシード生成処理を説明するための説明図である。It is explanatory drawing for demonstrating the seed production | generation process which concerns on Example 2 of this invention. 本発明の実施例2に係るタイマ対応表300の構成例を示す図である。It is a figure which shows the structural example of the timer corresponding table 300 which concerns on Example 2 of this invention. 本発明に係る実施例2の認証フェーズにおけるシーケンス図である。It is a sequence diagram in the authentication phase of Example 2 which concerns on this invention. 本発明の実施例2に係るパスワード選定処理を説明するための説明図である。It is explanatory drawing for demonstrating the password selection process which concerns on Example 2 of this invention.

符号の説明Explanation of symbols

10…サーバ装置、11,21…通信部、12,22…処理部、13,23…記憶部、20…クライアント装置、131,231…パスワード管理テーブル、300…タイマ対応表

DESCRIPTION OF SYMBOLS 10 ... Server apparatus, 11, 21 ... Communication part, 12, 22 ... Processing part, 13, 23 ... Storage part, 20 ... Client apparatus, 131, 231 ... Password management table, 300 ... Timer correspondence table

Claims (10)

ユーザの端末装置と、前記ユーザの認証を行う認証装置とを有するユーザ認証システムであり、
前記認証装置は、
一方向関数の繰り返し演算によって一連の第1パスワード群を生成するパスワード生成手段と、
前記第1パスワード群内の各パスワードに関し、パスワードの生成順とは逆順に、一連の有効期限を対応付けるパスワード管理手段と、
前記ユーザのユーザ有効期限の終了時点を含む有効期限を有する前記パスワードをシードに採用するシード選定手段と、
該シード及び前記第1パスワード群に係るパスワード有効期限情報を前記端末装置に送信する送信手段と、
前記端末装置から認証パスワードを受信する受信手段と、
前記認証パスワードを受信した時点に有効な検証パスワードを前記第1パスワード群から選定するパスワード選定手段と、
前記認証パスワードと前記検証パスワードを比較し、一致した場合には認証成功である判定し、一方、不一致した場合には認証失敗であると判定する判定手段と、を備え、
前記端末装置は、
前記認証装置からシード及びパスワード有効期限情報を受信する受信手段と、
該受信したシードを引数の初期値として、前記認証装置と共通の一方向関数の繰り返し演算によって一連の第2パスワード群を生成するパスワード生成手段と、
前記受信したパスワード有効期限情報に基づき、前記第2パスワード群内の各パスワードに関し、パスワードの生成順とは逆順に、一連の有効期限を対応付けるパスワード管理手段と、
認証実施時に、現在有効なパスワードを前記第2パスワード群から選定するパスワード選定手段と、
前記選定したパスワードを前記認証装置に送信する送信手段と、を備える、
ことを特徴とするユーザ認証システム。
A user authentication system having a user terminal device and an authentication device for authenticating the user,
The authentication device
Password generating means for generating a series of first password groups by repetitive calculation of a one-way function;
For each password in the first password group, password management means for associating a series of expiration dates in the reverse order of the password generation order;
A seed selection means for adopting as a seed the password having an expiration date including an end point of the user expiration date of the user;
Transmitting means for transmitting password expiration date information relating to the seed and the first password group to the terminal device;
Receiving means for receiving an authentication password from the terminal device;
Password selection means for selecting a verification password valid from the first password group at the time of receiving the authentication password;
The authentication password and the verification password are compared, and if they match, it is determined that the authentication is successful, and on the other hand, the determination password is determined to be authentication failure if they do not match,
The terminal device
Receiving means for receiving seed and password expiration information from the authentication device;
Password generation means for generating a series of second password groups by using the received seed as an initial value of an argument and repeating the one-way function common to the authentication device;
Based on the received password expiration date information, for each password in the second password group, password management means for associating a series of expiration dates in reverse order to the password generation order;
A password selecting means for selecting a currently valid password from the second password group when performing authentication;
Transmitting means for transmitting the selected password to the authentication device,
A user authentication system.
前記認証装置において、前記判定手段は、前記不一致した場合に、前記検証パスワードを引数とした前記一方向関数の値を検証パスワードとして再度、前記認証パスワードとの比較を行い、一致した場合には認証成功である判定する、
ことを特徴とする請求項1に記載のユーザ認証システム。
In the authentication apparatus, the determination unit performs comparison with the authentication password again using the value of the one-way function with the verification password as an argument when the mismatch is found, and authentication is performed when the values match. Determine success,
The user authentication system according to claim 1.
前記パスワード管理手段は、前記パスワード群の各パスワードと各有効期限とを対応付けて記憶するテーブルを有する、
ことを特徴とする請求項1又は2に記載のユーザ認証システム。
The password management means includes a table that stores each password in the password group and each expiration date in association with each other.
The user authentication system according to claim 1, wherein the system is a user authentication system.
前記パスワード選定手段は、前記パスワード生成手段により、前記選定時に選定するパスワードを生成する、
ことを特徴とする請求項1又は2に記載のユーザ認証システム。
The password selection means generates a password to be selected at the time of selection by the password generation means.
The user authentication system according to claim 1, wherein the system is a user authentication system.
前記パスワード管理手段は、自装置内の時計の時刻に基づいて有効期限を管理する、
ことを特徴とする請求項1から4のいずれかの項に記載のユーザ認証システム。
The password management means manages the expiration date based on the time of the clock in its own device.
The user authentication system according to any one of claims 1 to 4, wherein the user authentication system is provided.
前記パスワード管理手段は、前記シード及びパスワード有効期限情報の授受時点にタイマを発動し、該タイマの時刻に基づいて有効期限を管理する、
ことを特徴とする請求項1から4のいずれかの項に記載のユーザ認証システム。
The password management means activates a timer at the time of giving and receiving the seed and password expiration date information, and manages the expiration date based on the time of the timer,
The user authentication system according to any one of claims 1 to 4, wherein the user authentication system is provided.
ユーザの端末装置との間で前記ユーザの認証を行う認証装置であり、
一方向関数の繰り返し演算によって一連の第1パスワード群を生成するパスワード生成手段と、
前記第1パスワード群内の各パスワードに関し、パスワードの生成順とは逆順に、一連の有効期限を対応付けるパスワード管理手段と、
前記ユーザのユーザ有効期限の終了時点を含む有効期限を有する前記パスワードをシードに採用するシード選定手段と、
該シード及び前記第1パスワード群に係るパスワード有効期限情報を前記端末装置に送信する送信手段と、
前記端末装置から認証パスワードを受信する受信手段と、
前記認証パスワードを受信した時点に有効な検証パスワードを前記第1パスワード群から選定するパスワード選定手段と、
前記認証パスワードと前記検証パスワードを比較し、一致した場合には認証成功である判定し、一方、不一致した場合には認証失敗であると判定する判定手段と、
を備えたことを特徴とする認証装置。
An authentication device for authenticating the user with a user terminal device;
Password generating means for generating a series of first password groups by repetitive calculation of a one-way function;
For each password in the first password group, password management means for associating a series of expiration dates in the reverse order of the password generation order;
A seed selection means for adopting as a seed the password having an expiration date including an end point of the user expiration date of the user;
Transmitting means for transmitting password expiration date information relating to the seed and the first password group to the terminal device;
Receiving means for receiving an authentication password from the terminal device;
Password selection means for selecting a verification password valid from the first password group at the time of receiving the authentication password;
The authentication password and the verification password are compared, and if they match, it is determined that the authentication is successful, whereas if they do not match, the determination means determines that the authentication is unsuccessful;
An authentication apparatus comprising:
認証装置との間でユーザの認証を行う端末装置であり、
前記認証装置からシード及びパスワード有効期限情報を受信する受信手段と、
該受信したシードを引数の初期値として、前記認証装置と共通の一方向関数の繰り返し演算によって一連の第2パスワード群を生成するパスワード生成手段と、
前記受信したパスワード有効期限情報に基づき、前記第2パスワード群内の各パスワードに関し、パスワードの生成順とは逆順に、一連の有効期限を対応付けるパスワード管理手段と、
認証実施時に、現在有効なパスワードを前記第2パスワード群から選定するパスワード選定手段と、
前記選定したパスワードを前記認証装置に送信する送信手段と、
を備えたことを特徴とする端末装置。
A terminal device that authenticates a user with an authentication device,
Receiving means for receiving seed and password expiration information from the authentication device;
Password generation means for generating a series of second password groups by using the received seed as an initial value of an argument and repeating the one-way function common to the authentication device;
Based on the received password expiration date information, for each password in the second password group, password management means for associating a series of expiration dates in reverse order to the password generation order;
A password selecting means for selecting a currently valid password from the second password group when performing authentication;
Transmitting means for transmitting the selected password to the authentication device;
A terminal device comprising:
ユーザの端末装置との間で前記ユーザの認証を行うサーバ処理を行うためのコンピュータプログラムであって、
一方向関数の繰り返し演算によって一連の第1パスワード群を生成するパスワード生成機能と、
前記第1パスワード群内の各パスワードに関し、パスワードの生成順とは逆順に、一連の有効期限を対応付けるパスワード管理機能と、
前記ユーザのユーザ有効期限の終了時点を含む有効期限を有する前記パスワードをシードに採用するシード選定機能と、
該シード及び前記第1パスワード群に係るパスワード有効期限情報を前記端末装置に送信する送信機能と、
前記端末装置から認証パスワードを受信する受信機能と、
前記認証パスワードを受信した時点に有効な検証パスワードを前記第1パスワード群から選定するパスワード選定機能と、
前記認証パスワードと前記検証パスワードを比較し、一致した場合には認証成功である判定し、一方、不一致した場合には認証失敗であると判定する判定機能と、
をコンピュータに実現させることを特徴とするコンピュータプログラム。
A computer program for performing server processing for authenticating the user with a user terminal device,
A password generation function for generating a series of first password groups by repetitive calculation of a one-way function;
For each password in the first password group, a password management function that associates a series of expiration dates in the reverse order of the password generation order;
A seed selection function that employs as a seed the password having an expiration date that includes an end point of the user expiration date of the user;
A transmission function for transmitting password expiration date information relating to the seed and the first password group to the terminal device;
A receiving function for receiving an authentication password from the terminal device;
A password selecting function for selecting a valid verification password from the first password group at the time of receiving the authentication password;
The authentication password and the verification password are compared, and if they match, it is determined that the authentication is successful, and on the other hand, if they do not match, the determination function that determines that the authentication is unsuccessful;
A computer program for causing a computer to realize the above.
認証装置との間でユーザの認証を行うクライアント処理を行うためのコンピュータプログラムであって、
前記認証装置からシード及びパスワード有効期限情報を受信する受信機能と、
該受信したシードを引数の初期値として、前記認証装置と共通の一方向関数の繰り返し演算によって一連の第2パスワード群を生成するパスワード生成機能と、
前記受信したパスワード有効期限情報に基づき、前記第2パスワード群内の各パスワードに関し、パスワードの生成順とは逆順に、一連の有効期限を対応付けるパスワード管理機能と、
認証実施時に、現在有効なパスワードを前記第2パスワード群から選定するパスワード選定機能と、
前記選定したパスワードを前記認証装置に送信する送信機能と、
をコンピュータに実現させることを特徴とするコンピュータプログラム。

A computer program for performing client processing for authenticating a user with an authentication device,
A receiving function for receiving seed and password expiration information from the authentication device;
A password generation function for generating a series of second password groups by repeating the one-way function common to the authentication device, using the received seed as an initial value of an argument;
Based on the received password expiration date information, for each password in the second password group, a password management function for associating a series of expiration dates in reverse order to the password generation order;
A password selection function for selecting a currently valid password from the second password group when performing authentication;
A transmission function for transmitting the selected password to the authentication device;
A computer program for causing a computer to realize the above.

JP2005243948A 2005-08-25 2005-08-25 User authentication system, authentication device, terminal device, and computer program Expired - Fee Related JP4704148B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005243948A JP4704148B2 (en) 2005-08-25 2005-08-25 User authentication system, authentication device, terminal device, and computer program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005243948A JP4704148B2 (en) 2005-08-25 2005-08-25 User authentication system, authentication device, terminal device, and computer program

Publications (2)

Publication Number Publication Date
JP2007058633A JP2007058633A (en) 2007-03-08
JP4704148B2 true JP4704148B2 (en) 2011-06-15

Family

ID=37922064

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005243948A Expired - Fee Related JP4704148B2 (en) 2005-08-25 2005-08-25 User authentication system, authentication device, terminal device, and computer program

Country Status (1)

Country Link
JP (1) JP4704148B2 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009238022A (en) * 2008-03-27 2009-10-15 Toppan Forms Co Ltd Non-contact data transmitter/receiver
US8693683B2 (en) * 2009-11-25 2014-04-08 Aclara Technologies Llc Cryptographically secure authentication device, system and method
CN111354107B (en) * 2020-02-20 2021-09-10 深圳市春晖信档案技术服务有限公司 File management device and file management method
CN113066215B (en) * 2021-03-15 2022-09-13 长沙广缘物业管理有限公司 Two-dimensional code access control management method, system and storage medium
US11949672B2 (en) * 2022-01-31 2024-04-02 International Business Machines Corporation Authentication based on chain of strings generated from secret string

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11282982A (en) * 1998-03-31 1999-10-15 Oki Electric Ind Co Ltd User card, communication terminal equipment, communication server, communication system and user authentication method for communication system
JP2000200315A (en) * 1998-12-31 2000-07-18 Casio Comput Co Ltd Body mounted equipment and certification system
JP2001209614A (en) * 2000-01-25 2001-08-03 Nec Corp Authentication system and its method
JP2003223419A (en) * 2002-01-31 2003-08-08 Nec Corp Authentication system, method and program
JP2004274134A (en) * 2003-03-05 2004-09-30 Matsushita Electric Ind Co Ltd Communication method, communication system using the communication method, server and client
JP2007074238A (en) * 2005-09-06 2007-03-22 Kddi Corp Network authentication system, authentication apparatus, wireless terminal, and computer program

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11282982A (en) * 1998-03-31 1999-10-15 Oki Electric Ind Co Ltd User card, communication terminal equipment, communication server, communication system and user authentication method for communication system
JP2000200315A (en) * 1998-12-31 2000-07-18 Casio Comput Co Ltd Body mounted equipment and certification system
JP2001209614A (en) * 2000-01-25 2001-08-03 Nec Corp Authentication system and its method
JP2003223419A (en) * 2002-01-31 2003-08-08 Nec Corp Authentication system, method and program
JP2004274134A (en) * 2003-03-05 2004-09-30 Matsushita Electric Ind Co Ltd Communication method, communication system using the communication method, server and client
JP2007074238A (en) * 2005-09-06 2007-03-22 Kddi Corp Network authentication system, authentication apparatus, wireless terminal, and computer program

Also Published As

Publication number Publication date
JP2007058633A (en) 2007-03-08

Similar Documents

Publication Publication Date Title
JP7121459B2 (en) Blockchain authentication via hard/soft token verification
US10581615B2 (en) Blockchain-based identity authentication method, device, node and system
US7698736B2 (en) Secure delegation using public key authentication
US8196186B2 (en) Security architecture for peer-to-peer storage system
US7721101B2 (en) Communication apparatus and authentication apparatus
JP5053179B2 (en) Verification server, program, and verification method
US20110066856A1 (en) Communication data freshness confirmation system
US7562224B2 (en) System and method for multi-session establishment for a single device
US20090063861A1 (en) Information security transmission system
US20120159169A1 (en) Bidirectional entity authentication method with introduction of online third party
KR102252396B1 (en) System and method for authentificating based one time password
CN109660330B (en) Method and system for identity authentication on block chain
JP4704148B2 (en) User authentication system, authentication device, terminal device, and computer program
KR20150135032A (en) System and method for updating secret key using physical unclonable function
US9461986B2 (en) Single sign-on for disparate servers
JP3880957B2 (en) Root certificate distribution system, root certificate distribution method, computer executable root certificate distribution program, server device, and client device
CN113569210A (en) Distributed identity authentication method, equipment access method and device
US11743035B2 (en) Methods, mediums, and systems for verifying devices in an encrypted messaging system
US20240064143A1 (en) Methods, mediums, and systems for verifying devices in an encrypted messaging system
JP4699145B2 (en) Network authentication system, authentication device, wireless terminal, and computer program
JP6081857B2 (en) Authentication system and authentication method
JP6475366B2 (en) How to manage access to services
TWI698113B (en) Identification method and systerm of electronic device
CN107682380A (en) A kind of method and device of cross-certification
ES2806261T3 (en) Method to detect cloned software

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20071015

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20071015

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080303

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20080304

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110224

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110309

R150 Certificate of patent or registration of utility model

Ref document number: 4704148

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees