JP4704148B2 - User authentication system, authentication device, terminal device, and computer program - Google Patents
User authentication system, authentication device, terminal device, and computer program Download PDFInfo
- 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
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)が経過すると、以前有効であった鍵を全員に公開する。そして、データの受信者は、該当する鍵が公開された後に該受信データのメッセージ認証子を検証する。
しかし、上述した従来の一般的なサービスシステムにおけるユーザ認証方法では、ユーザ毎の有効期限を適宜サーバ側で更新し保持しなければならない。また、ユーザ有効期限とパスワードは別々に管理されるので、ユーザ認証時にはユーザ有効期限とパスワードの検証を個別に行うことになり、サーバ側の処理が複雑になる。さらに、パスワードの安全性確保のためにパスワードにも有効期限を設定し適宜パスワードを更新するためには、別途、専用のシステムが必要となり、パスワードの管理が複雑になる。このため、通常はユーザ有効期限をパスワードの有効期限としても適用し、当該有効期限が切れるまでは同一のパスワードを使用するようにしているが、ユーザの成りすまし等の不正に対する防御能力が低下するという問題がある。 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
サーバ装置10において、処理部12はユーザ認証に係るサーバ処理を行う。記憶部13は、該サーバ処理に係る各種データを記憶する。クライアント装置20において、処理部22はユーザ認証に係るクライアント処理を行う。記憶部23は、該クライアント処理に係る各種データを記憶する。
In the
以下、本実施形態に係る各実施例を挙げて詳細に説明する。 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
そのパスワード群生成処理においては、図3のフローチャートに示されるように、先ず、パスワードPnにはマスター鍵MKを設定する(ステップS11)。次いで、そのパスワードPnを引数の初期値として、一方向関数であるハッシュ関数hを用いたパスワード生成をn回繰り返し、新たにn個のパスワードを生成する(ステップS12〜S15)。パスワード生成ステップ(ステップS13、S14)では、パスワードPj+1をハッシュ関数hの引数にしたハッシュ値h(Pj+1)を計算し、該ハッシュ値h(Pj+1)をパスワードPjとして記憶する。但し、j=n−1,n−2,・・・,1,0、である。
このパスワード生成ステップの繰り返しによって、パスワードPnからn個のパスワードが新たに生成され、合計(n+1)個のパスワードP0〜Pnが生成されて記憶される。
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)個のパスワードP0〜Pnについては、各パスワードP0〜Pnの有効期限に対応付けて記憶する。図4には、各パスワードP0〜Pnの有効期限の割り当て例が示されている。図4に示されるように、各パスワードP0〜Pnには、連続した(n+1)個の期間0〜nがそれぞれの有効期限として分割されて割り当てられる。各期間0〜nの長さは一定時間Tである。また、図5には、パスワードP0〜Pn及びその各有効期限を記憶するパスワード管理テーブル131の構成例が示されている。図5に示されるように、各パスワードP0〜Pnは自己の有効期限として割り当てられた期間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
次いで、サーバ装置10は、その受信した端末の属性情報をもとにして、当該ユーザのユーザ有効期限の長さを所定のルールに従って決定する(ステップS4)。そのユーザ有効期限長は、一パスワード当たりの有効期限長である一定時間Tの整数倍とする。次いで、サーバ装置10は、その決定したユーザ有効期限長に対応する期間分のパスワードを生成することができるシードを生成する(ステップS5)。
Next, the
そのシード生成処理においては、先ず、現在時刻を含む期間と該期間に続く次の期間との切り替わりの時刻をパスワード管理テーブル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において、現在時刻を含む期間は、パスワードP1に対応付けられている期間1(図5参照)であり、該期間1に続く次の期間2との切り替わりの時刻は2時0分
である。従って、使用開始時刻TSは2時0分に設定する。次いで、その使用開始時刻である2時0分からユーザ有効期限長である5分の経過時点「2時5分」が期間終了時点となる期間は、パスワードP6に対応付けられている期間6である。従って、シードSDはパスワードP6を用いる。次いで、使用開始時刻TS「2時0分」から、シードSDとしてのパスワードP6に対応する期間6までの間に存在する期間の個数は、パスワードP2,P3,P4,P5の各々に対応する期間2,3,4,5の4個である。従って、シードSD(パスワードP6)から生成するパスワードの個数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
これにより、シードSDであるパスワードP6からは、ハッシュ関数hを用いて、「生成するパスワードの個数Q」である4個のパスワードP5,P4,P3,P2を順番に生成することができる。そして、各パスワードP2,P3,P4,P5,P6は各々に対応する期間2,3,4,5,6でのみ有効とする。従って、それら5個のパスワードP2,P3,P4,P5,P6は、ユーザ有効期限長「5分」に対応するパスワード群となる。つまり、パスワードP2は最初に有効となるものであって、その使用開始時刻TSは2時0分であり、その有効期限は2時0分から2時1分までである。パスワードP3はパスワードP2の次に有効となるものであって、その有効期限は2時1分から2時2分までである。以降、パスワード有効時間TPである「60秒」毎に、パスワードP4,P5,P6の順番で有効となり、最後のパスワードP6の有効期限満了時点である2時5分には、全てのパスワードP2,P3,P4,P5,P6は無効とする。
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
図2に戻り、次いで、サーバ装置10は、シードSD、パスワード有効時間TP、生成するパスワードの個数Q及び使用開始時刻TSをクライアント装置20に送信する(ステップS6)。ここで、パスワード有効時間TP、生成するパスワードの個数Q及び使用開始時刻TSは、ユーザ有効期限を特定する情報(ユーザ有効期限情報)である。つまり、使用開始時刻TSから「パスワード有効時間TP×生成するパスワードの個数Q」経過時点までの期間が、ユーザ有効期限となる。さらには、各パスワードの有効期限を特定する情報(パスワード有効期限情報)である。つまり、使用開始時刻TSからパスワード有効時間TPおきの各期間が、各パスワードの有効期限となる。
Returning to FIG. 2, the
次いで、クライアント装置20は、そのサーバ装置10から受信したシードSD等の情報に基づいて、シードSDを引数の初期値とした一方向関数の繰り返し演算によって一連のパスワード群を生成し記憶する(ステップS7)。このパスワード群生成処理においては、シードSDを引数の初期値として、一方向関数であるハッシュ関数hを用いたパスワード生成を、「生成するパスワードの個数Q」回繰り返し、新たにQ個のパスワードPを生成する。
Next, the
そのクライアント装置20のパスワード群生成処理について、上記図6の例を用いてより具体的に説明すれば、先ず、シードSD(パスワードP6)をハッシュ関数hの引数にしたハッシュ値h(P6)を計算し、該ハッシュ値h(P6)をパスワードP5として記憶する。次いで、パスワードP5をハッシュ関数hの引数にしたハッシュ値h(P5)を計算し、該ハッシュ値h(P5)をパスワードP4として記憶する。この操作を合計4回繰り返して、「生成するパスワードの個数Q」である4個のパスワードP5,P4,P3,P2を順番に生成し記憶する。この結果、シードSDであるパスワードP6も含めて合計5個のパスワードP2,P3,P4,P5,P6が生成されて記憶される。
なお、クライアント装置20で用いられるハッシュ関数hは、サーバ装置10で使用されたものと同じであり、サーバ装置10との間で予め共有しておく。
The password group generation processing of the
Note that the hash function h used in the
また、クライアント装置20で生成されたQ個のパスワードPについては、各パスワードPの有効期限に対応付けて記憶する。各パスワードPの有効期限は、使用開始時刻TS及びパスワード有効時間TPから算出する。この有効期限算出処理について、上記図6の例を用いてより具体的に説明すれば、最初のパスワードP2については、使用開始時刻TS「2時0分」からパスワード有効時間TP「60秒」分の期間2を有効期限とする。次のパスワードP3については、パスワードP2の有効期限終了時点「2時1分」からパスワード有効時間TP「60秒」分の期間3を有効期限とする。同様にして、パスワードP4についてはパスワードP3の有効期限終了時点「2時2分」からパスワード有効時間TP「60秒」分の期間4、パスワードP5についてはパスワードP4の有効期限終了時点「2時3分」からパスワード有効時間TP「60秒」分の期間5、パスワードP6についてはパスワードP6の有効期限終了時点「2時4分」からパスワード有効時間TP「60秒」分の期間6、をそれぞれの有効期限とする。
Further, the Q passwords P generated by the
図7には、そのパスワードP2〜P6及びその各有効期限を記憶するパスワード管理テーブル231の構成例が示されている。図7に示されるように、各パスワードP2〜P6は自己の有効期限として割り当てられた期間2〜6に各々対応付けされてパスワード管理テーブル231に記憶される。この図7の例においては、パスワード管理テーブル231には、使用開始時刻TS「2時0分」からユーザ有効期限長である5分間において、1分おきに順次有効となる5個のパスワードP2,P3,P4,P5,P6が保持されている。つまり、2時0分から2時1分まではパスワードP2、2時1分から2時2分まではパスワードP3、2時2分から2時3分まではパスワードP4、2時3分から2時4分まではパスワードP5、2時4分から2時5分まではパスワードP6、が各期間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
以上で実施例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
次いで、サーバ装置10は、クライアント装置20からパスワードを受信すると、自装置内の時計の現在時刻において有効なパスワードをパスワード管理テーブル131から選択する(ステップS23)。次いで、サーバ装置10は、クライアント装置20から受信したパスワード(認証パスワード)とパスワード管理テーブル131から選択したパスワード(検証パスワード)を比較する(ステップS24)。この比較に結果、両者が一致すれば当該ユーザの認証は成功であり、一方、不一致ならば当該ユーザの認証は失敗であると判定する。次いで、サーバ装置10は、その認証結果をクライアント装置20に送信する(ステップS25)。
Next, when the
上記した認証処理について、上記図6の例を用いてより具体的に説明する。
先ず、上記した準備フェーズによって、最初のパスワードP2の使用開始時刻TS「2時0分」からユーザ有効期限長「5分」までの期間中「2時0分から2時5分まで」に有効となるパスワードであって、パスワード有効時間TP「60秒」おきに順次有効となる5個のパスワードP2,P3,P4,P5,P6がサーバ装置10及びクライアント装置20の双方で共有されている。具体的には、サーバ装置10は、図5のパスワード管理テーブル131に、2時0分から2時5分までの1分間隔の各期間2,3,4,5,6における有効パスワードP2,P3,P4,P5,P6を保持している。クライアント装置20は、図7のパスワード管理テーブル231に、2時0分から2時5分までの1分間隔の各期間2,3,4,5,6における有効パスワードP2,P3,P4,P5,P6を保持している。そのサーバ装置10及びクライアント装置20の双方のパスワードP2,P3,P4,P5,P6は、ともに同一のハッシュ関数hを用いてパスワードP6を初期値としたハッシュ関数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
次いで、クライアント装置20は、現在時刻「2時3分30秒」に有効なパスワードP5をパスワード管理テーブル231から選択し、そのパスワードP5を認証用にサーバ装置10に送信する(図9参照)。次いで、サーバ装置10は、クライアント装置20から認証用のパスワードP5を受信すると、現在時刻に有効なパスワードをパスワード管理テーブル131から選択して、クライアント装置20から受信したパスワードP5と比較する。この認証処理によって、ユーザ有効期限内の各期間2,3,4,5,6においては、各期間2,3,4,5,6に固有のパスワードP2,P3,P4,P5,P6を用いた期間限定の認証が可能となる。
Next, the
なお、サーバ装置10は、上記した認証処理において、クライアント装置20との間の時刻のずれを考慮した処理を行う。図10は、サーバ装置10に係る時刻ずれ補償処理を説明するための説明図である。図10において、クライアント装置20は、時刻t1からt2の期間において認証を行うために、当該期間に有効なパスワードP1を認証パスワードPcとしてサーバ装置10に送信する。ここで、通信ネットワークの伝送遅延等により、サーバ装置10への認証パスワードPcの到着が遅れると、サーバ装置10は、クライアント装置20が認証を行おうとした期間の次の期間(時刻t2からt3の期間)に、クライアント装置20からの認証パスワードPc(P1)を受信する可能性がある。すると、サーバ装置10は、時刻t2からt3の期間に有効なパスワードP2を検証パスワードPsに選択し、該検証パスワードPs(P2)とクライアント装置20からの認証パスワードPc(P1)を比較し、両者の不一致から認証失敗と判定してしまう。
The
そこで、そのような事態を防ぐために、先ず、サーバ装置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
上述した実施例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
次いで、サーバ装置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
次いで、サーバ装置10は、タイムスタンプTMSを取得する(ステップS36)。次いで、サーバ装置10は、シードSD、パスワード有効時間TP、生成するパスワードの個数Q及びタイムスタンプTMSをクライアント装置20に送信し(ステップS37)、該送信後にタイマを発動する(ステップS38)。そのタイマは、ユーザごとに設ける。ここで、パスワード有効時間TP及び生成するパスワードの個数Qは、ユーザ有効期限を特定する情報(ユーザ有効期限情報)である。つまり、ステップS38のタイマ発動時点から「パスワード有効時間TP×生成するパスワードの個数Q」経過時点までの期間が、ユーザ有効期限となる。さらには、各パスワードの有効期限を特定する情報(パスワード有効期限情報)である。つまり、ステップS38のタイマ発動時点からパスワード有効時間TPおきの各期間が、各パスワードの有効期限となる。
Next, the
上記シード生成処理について、図12に示される例を用いて具体的に説明する。
図12の例では、パスワード有効時間TPは60秒、ユーザ有効期限長は5分である。図12において、タイマ発動時点はタイマ時刻「0分」である。そのタイマ時刻「0分」からパスワード有効時間TP「60秒」ごとの期間0、1,2,3,4,5,6に対して、それぞれパスワードP0,P1,P2,P3,P4,P5,P6が有効となる。ここで、タイマ時刻「0分」をユーザ有効期限の開始時点とすると、ユーザ有効期限の終了時点はタイマ時刻「5分」である。そのタイマ時刻「5分」直前の期間4に有効なパスワードP4をシードSDに採用する。また、生成するパスワードの個数Qは、タイマ時刻「0分」から「5分」までの間に存在する期間の個数である4個に設定する。これにより、シードSD(パスワードP4)からは、ハッシュ関数hを用いて、「生成するパスワードの個数Q」である4個のパスワードP3,P2,P1,P0を順番に生成することができる。そして、各パスワードP0,P1,P2,P3,P4は各々に対応する期間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
図11に戻り、次いで、サーバ装置10は、タイムスタンプTMSとタイマとクライアントIDを対応付ける(ステップS39)。具体的には、図13に示されるタイマ対応表300に、タイムスタンプTMSとタイマとクライアントIDを対応付けて記憶させる。図13には、タイマ対応表300の構成例が示されている。
Returning to FIG. 11, the
クライアント装置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
上記図12の例では、クライアント装置20は、シードSD(パスワードP4)から、ハッシュ関数hを用いて「生成するパスワードの個数Q」である4個のパスワードP3,P2,P1,P0を順番に生成する。そして、各パスワードP0,P1,P2,P3,P4を各々の有効期限である期間0,1,2,3,4に対応付けてパスワード管理テーブル231に保持する。
In the example of FIG. 12, the
次いで、クライアント装置20は、タイムスタンプTMSとタイマを対応付けて記憶する(ステップS42)。
Next, the
次に、図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
次いで、クライアント装置20は、該選択したパスワードに係るハッシュ値を算出する(ステップS52)。このハッシュ値算出処理においては、先ず、パスワードと、自クライアントIDと、タイマに対応付けて記憶しているタイムスタンプTMSとのビット毎の排他的論理和演算を行う。そして、その排他的論理和演算値をハッシュ関数hの引数としたハッシュ値を計算する。次いで、クライアント装置20は、その算出したハッシュ値をサーバ装置10に送信する(ステップS53)。
例えば、図15に例示されるように、クライアント装置20内のタイマ時刻が「3分30秒」であったならば、該「3分30秒」を含む期間3において有効なパスワードP3を認証パスワードとして選択し、該パスワードP3に係るハッシュ値を算出してサーバ装置10に送信する。
Next, the
For example, as illustrated in FIG. 15, if the timer time in the
次いで、サーバ装置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
次いで、サーバ装置10は、クライアント装置20から受信したハッシュ値(認証パスワードに係るハッシュ値)と、ステップS56で算出したハッシュ値(検証パスワードに係るハッシュ値)とを比較し(ステップS57)、両者が一致すれば当該ユーザの認証は成功であり、一方、不一致ならば当該ユーザの認証は失敗であると判定する。次いで、サーバ装置10は、その認証結果をクライアント装置20に送信する(ステップS58)。
Next, the
なお、上述した実施例2においても、サーバ装置10は、上記図10の時刻ずれ補償処理を行うことが可能であり、該時刻ずれ補償処理によってクライアント装置20との間の時刻のずれを補償することができる。
Also in the second embodiment described above, the
また、認証時点において当該期間に有効なパスワードをサーバ側及びクライアント側の双方でそれぞれ生成するようにしてもよい。 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
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.
10…サーバ装置、11,21…通信部、12,22…処理部、13,23…記憶部、20…クライアント装置、131,231…パスワード管理テーブル、300…タイマ対応表
DESCRIPTION OF
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.
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)
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)
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 |
-
2005
- 2005-08-25 JP JP2005243948A patent/JP4704148B2/en not_active Expired - Fee Related
Patent Citations (6)
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 |