User authentication system and user authentication program
The user authentication system addresses the issue of variable validity periods in existing one-time password methods by recording and managing variable values to ensure fixed validity periods, enhancing security and reducing storage requirements.
Patent Information
- Application Number
- JP2023166079
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-09-27
- Publication Date
- 2025-04-08
AI Technical Summary
Existing one-time password generation methods, such as HOTP and TOTP, do not provide a constant validity period for the one-time password, leading to potential security vulnerabilities and increased storage requirements.
A user authentication system that generates a one-time password based on a user's seed and variable value, records the variable value in a specific area to make it unusable after a specific period, and verifies the entered one-time password using the user's seed and recorded variable value.
This approach allows for the generation of one-time passwords with a fixed validity period, enhancing security by ensuring that variable values are only usable within a defined timeframe, thereby reducing storage needs and preventing consecutive password generation issues.
Smart Images

Figure 2025056545000001_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates to a user authentication system and a user authentication program for authenticating a user. [Background technology]
[0002] Conventionally, methods for generating one-time passwords (hereinafter referred to as "one-time password generation methods") have been known (see, for example, Patent Documents 1-6). A one-time password is generated based on a seed, which is a fixed value (secret key) generated for each user, and a variable value that is changed each time a one-time password is generated. Known one-time password generation methods include, for example, HOTP (HMAC (Hash-based Message Authentication Code)-based One-Time Password) and TOTP (Time-based One-Time Password).
[0003] HOTP is a one-time password generation method that uses a counter value as a variable value that is incremented by one each time authentication is performed.
[0004] TOTP is a one-time password generation method that uses a counter value as a variable value, which is set to 0 at the time authentication is enabled and is incremented by 1 each time a specific period of time, such as 30 seconds, elapses. [Prior art documents] [Patent documents]
[0005] [Patent Document 1] JP 2006-039997 A [Patent Document 2] JP 2007-317091 A [Patent Document 3] JP 2008-176383 A [Patent Document 4] JP 2009-271836 A [Patent Document 5] JP 2012-141856 A [Patent Document 6] JP 2015-122073 A Summary of the Invention [Problem to be solved by the invention]
[0006] However, in HOTP, the one-time password does not change unless authentication is performed, so the validity period of the one-time password is not constant, while in TOTP, the validity period of the one-time password is determined by when the one-time password was generated during a specific period during which the variable value does not change, so the validity period of the one-time password is not constant.
[0007] SUMMARY OF THE PRESENT EMBODIMENTS An object of the present invention is to provide a user authentication system and a user authentication program capable of generating a one-time password having a fixed validity period. [Means for solving the problem]
[0008] The user authentication system of the present invention is characterized in that it generates a one-time password for a user based on the user's seed and a variable value, notifies the user of the generated one-time password, records the variable value in a specific area so as to render the variable value unusable after a specific period of time has elapsed, and, when the one-time password is input, confirms the validity of the input one-time password based on the input one-time password, the user's seed, and the variable value for the user recorded in the specific area.
[0009] With this configuration, the user authentication system of the present invention records the variable value in a specific area so that the variable value becomes unusable after a specific period of time has elapsed, and when a one-time password is entered, the system verifies the validity of the entered one-time password based on the entered one-time password, the user's seed, and the user's variable value recorded in the specific area, thereby making it possible to generate a one-time password having a specific period during which the variable value recorded in the specific area is usable, i.e., a fixed validity period.
[0010] The user authentication system of the present invention may make the variable value unusable after the specific period of time has elapsed by deleting the variable value from the specific area after the specific period of time has elapsed.
[0011] With this configuration, the user authentication system of the present invention makes the variable value unusable after a specific period of time by deleting it from the specific area, and therefore can delete the variable value of a user whose one-time password is not within the valid period from the specific area. Therefore, the user authentication system of the present invention can reduce the storage capacity required for recording the variable values compared to HOTP, which needs to record the variable values of all users.
[0012] The user authentication system of the present invention may make the variable value used in the confirmation unusable if it is determined in the confirmation that the input one-time password is valid.
[0013] With this configuration, the user authentication system of the present invention renders the variable value used in confirming the validity of the input one-time password unusable if it determines that the input one-time password is valid when confirming the validity of the input one-time password, thereby making it possible to limit the number of times a one-time password is valid to one with a simple configuration.
[0014] The user authentication system of the present invention may, if it determines in the confirmation that the input one-time password is valid, render the variable value used in the confirmation unusable by deleting the variable value used in the confirmation from the specific area.
[0015] With this configuration, when the user authentication system of the present invention determines in checking the validity of the input one-time password that the input one-time password is valid, it deletes the variable value used in checking the validity of the input one-time password from a specific area, thereby making the variable value used in checking the validity of the input one-time password unusable, thereby making it possible to delete the variable value for generating a one-time password that has been used once from the specific area. Therefore, the user authentication system of the present invention can reduce the memory capacity required for recording the variable values compared to HOTP, which requires that the variable values of all users be recorded.
[0016] In the user authentication system of the present invention, the variable value may be a value indicating a generation time of the variable value.
[0017] With this configuration, the user authentication system of the present invention can facilitate the generation of a variable value because the value indicating the time when the variable value was generated is a variable value.
[0018] The user authentication program of the present invention is characterized in that it causes a computer to generate a one-time password for a user based on the user's seed and a variable value, notifies the computer of the one-time password generated by the computer, causes the computer to record the variable value in a specific area so as to render the variable value unusable after a specific period of time has elapsed, and, when the one-time password is input to the computer, causes the computer to verify the legitimacy of the one-time password input to the computer based on the one-time password input to the computer, the user's seed, and the variable value for the user recorded in the specific area.
[0019] With this configuration, a computer executing the user authentication program of the present invention records the variable value in a specific area so that the variable value becomes unusable after a specific period of time has elapsed, and when a one-time password is entered, it verifies the validity of the entered one-time password based on the entered one-time password, the user's seed, and the user's variable value recorded in the specific area, thereby making it possible to generate a one-time password having a specific period during which the variable value recorded in the specific area is usable, i.e., a fixed validity period. Effect of the Invention
[0020] The user authentication system and the user authentication program of the present invention can generate a one-time password having a fixed validity period. [Brief description of the drawings]
[0021] [Figure 1] FIG. 1 is a block diagram of a system according to an embodiment of the present invention. [Diagram 2] FIG. 2 is a block diagram of the user device shown in FIG. 1 when it is a PC. [Diagram 3] 2 is a block diagram of the information processing system shown in FIG. 1 when configured by one computer. [Figure 4] FIG. 4 is a diagram showing an example of authentication information shown in FIG. [Diagram 5] FIG. 4 is a diagram showing an example of seed information shown in FIG. [Figure 6] FIG. 4 is a diagram showing an example of email address information shown in FIG. [Figure 7] 4 is a diagram showing an example of a generation information recording area shown in FIG. 3. [Figure 8] 2 is a sequence diagram of the operation of the system shown in FIG. 1 when a user logs in to the information processing system. [Figure 9] FIG. 9 is a sequence diagram of the "one-time password generation" shown in FIG. [Figure 10] FIG. 9 is a sequence diagram of the “one-time password authentication” shown in FIG. [Figure 11] FIG. 9 is a diagram showing an example of a login page displayed in the operation shown in FIG. 8. [Figure 12] 4 is a flowchart of the information management unit shown in FIG. 3 when a combination of a seed, a variable value, and a validity period is recorded in a generation information recording area. [Figure 13] 4 is a flowchart of the operation of the information management unit shown in FIG. 3 when information that has passed its expiration date is deleted from the generation information recording area. [Figure 14] 10 is a diagram showing an example of an e-mail sent in the operation shown in FIG. 9. FIG. [Figure 15] 10 is a diagram showing an example of a one-time password input page displayed in the operation shown in FIG. 9. FIG. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0022] Hereinafter, an embodiment of the present invention will be described with reference to the drawings.
[0023] First, the configuration of a system according to an embodiment of the present invention will be described.
[0024] FIG. 1 is a block diagram of a system 10 according to the present embodiment.
[0025] 1, the system 10 includes a user device 20 as an electronic device used by a user, and an information processing system 30 accessed by the user device 20. The system 10 may include at least one other user device similar to the user device 20 in addition to the user device 20.
[0026] The user device 20 may be configured, for example, by a PC (Personal Computer), a smartphone, a tablet, or the like.
[0027] The information processing system 30 may be realized by one computer or may be realized by multiple computers. The information processing system 30 may be arranged on the cloud.
[0028] The user device in the system 10 and the information processing system 30 can be connected to each other via a network 11 such as a LAN (Local Area Network) or the Internet.
[0029] FIG. 2 is a block diagram of the user device 20 when it is a PC.
[0030] As shown in FIG. 2, the user equipment 20 includes an operation unit 21 which is an operation device such as a keyboard or mouse through which various operations are input, a display unit 22 which is a display device such as an LCD (Liquid Crystal Display) that displays various information, a communication unit 23 which is a communication device that communicates with external devices via a network such as a LAN or the Internet, or directly by wired or wireless means without going through a network, a memory unit 24 which is a non-volatile memory device such as a semiconductor memory or an HDD (Hard Disk Drive) that stores various information, and a control unit 25 which controls the entire user equipment 20.
[0031] The storage unit 24 can store a program for a web browser (hereinafter referred to as a "web browser program") 24a. The web browser program 24a may be installed in the user device 20 during the manufacturing stage of the user device 20, or may be additionally installed in the user device 20 from an external storage medium such as a Universal Serial Bus (USB) memory, or may be additionally installed in the user device 20 from a network.
[0032] The control unit 25 includes, for example, a CPU (Central Processing Unit), a ROM (Read Only Memory) that stores programs and various data, and a RAM (Random Access Memory) that serves as a memory used as a working area for the CPU of the control unit 25. The CPU of the control unit 25 executes programs stored in the storage unit 24 or the ROM of the control unit 25.
[0033] The control unit 25 executes the web browser program 24a to realize a web browser 25a.
[0034] FIG. 3 is a block diagram of an information processing system 30 configured with one computer.
[0035] As shown in FIG. 3, the information processing system 30 includes an operation unit 31 which is an operation device such as a keyboard or mouse through which various operations are input, a display unit 32 which is a display device such as an LCD that displays various information, a communication unit 33 which is a communication device that communicates with external devices via a network such as a LAN or the Internet, or directly by wire or wirelessly without using a network, a memory unit 34 which is a non-volatile memory device such as a semiconductor memory or HDD that stores various information, and a control unit 35 which controls the entire information processing system 30.
[0036] The storage unit 34 can store a user authentication program 34a for executing authentication of a user. The user authentication program 34a may be installed in the information processing system 30 during the manufacturing stage of the information processing system 30, or may be additionally installed in the information processing system 30 from an external storage medium such as a USB memory, or may be additionally installed in the information processing system 30 from a network.
[0037] The storage unit 34 stores authentication information 34b for authenticating a user.
[0038] FIG. 4 is a diagram showing an example of the authentication information 34b.
[0039] The authentication information 34b shown in FIG. 4 indicates, for each user, a combination of an ID as identification information of the user and a password of the user.
[0040] In FIG. 4, the IDs and passwords of users other than the user with the ID "U0123" are omitted.
[0041] As shown in FIG. 3, the storage unit 34 stores seed information 34c that indicates a seed used to generate a one-time password.
[0042] FIG. 5 is a diagram showing an example of the seed information 34c.
[0043] 5 indicates a combination of a user ID and a seed for each user. The seed is a fixed value (secret key) that is generated for each user. The seed is a different value for each user.
[0044] In Fig. 5, the IDs and seeds of users other than the user with the ID "U0123" are omitted. In Fig. 5, the seed of the user with the ID "U0123" is omitted.
[0045] As shown in FIG. 3, the storage unit 34 stores email address information 34d that indicates the email address of the user.
[0046] FIG. 6 is a diagram showing an example of the email address information 34d.
[0047] The email address information 34d shown in FIG. 6 indicates a combination of a user ID and a user's email address for each user.
[0048] In FIG. 6, the IDs and email addresses of users other than the user with the ID "U0123" are omitted.
[0049] As shown in FIG. 3, the storage unit 34 includes an area 34e for recording information for generating a one-time password (hereinafter referred to as a "generation information recording area").
[0050] FIG. 7 is a diagram showing an example of the generation information recording area 34e.
[0051] In the generation information recording area 34e shown in FIG. 7, a combination of a seed and a variable value used to generate a one-time password, and an expiration date is recorded for each seed.
[0052] In Fig. 7, the combinations of the seed, the variable value, and the expiration date are omitted except for one combination. In Fig. 7, the seed among the combinations of the seed, the variable value, and the expiration date that are specifically illustrated is omitted in the middle.
[0053] The generation information recording area 34e may be provided in a RAM (to be described later) of the control unit 35, instead of in the storage unit 34.
[0054] 3 includes, for example, a CPU, a ROM that stores programs and various data, and a RAM as a memory used as a working area for the CPU of the control unit 35. The CPU of the control unit 35 executes a program stored in the storage unit 34 or the ROM of the control unit 35.
[0055] The control unit 35 executes the user authentication program 34a to realize a user authentication unit 35a that authenticates a user, a one-time password generation unit 35b that generates a one-time password, and an information management unit 35c that manages information for generating a one-time password. The information management unit 35c may be, for example, Redis (registered trademark). The information management unit 35c may be realized by a program other than the user authentication program 34a.
[0056] The information processing system 30 executes authentication of users, and therefore constitutes a user authentication system of the present invention.
[0057] The operation of the system 10 will now be described.
[0058] Fig. 8 is a sequence diagram of the operation of the system 10 when a user logs in to the information processing system 30. Fig. 9 is a sequence diagram of "one-time password generation" shown in Fig. 8. Fig. 10 is a sequence diagram of "one-time password authentication" shown in Fig. 8.
[0059] When a user instructs user equipment 20 via operation unit 21 of user equipment 20 to access a login web page (hereinafter referred to as the "login page") provided by information processing system 30, as shown in Figures 8 to 10, web browser 25a of user equipment 20 requests data for displaying the login page (hereinafter referred to as the "login page data") from information processing system 30 (S101).
[0060] When the user authentication unit 35a of the information processing system 30 receives the request in S101, it transmits login page data to the user equipment 20 (S102).
[0061] When the web browser 25a of the user device 20 receives the login page data sent from the information processing system 30 in S102, it displays the login page 50 (see FIG. 11) on the display unit 22 based on the received login page data (S103).
[0062] FIG. 11 is a diagram showing an example of the login page 50. As shown in FIG.
[0063] Login page 50 shown in FIG. 11 includes a text box 51, which is a widget for inputting a user ID, a text box 52, which is a widget for inputting a user password, and a login button 53, which is a widget for performing the login.
[0064] As shown in Figures 8 to 10, when the login button 53 is pressed, the web browser 25a of the user device 20 requests the information processing system 30 to perform authentication based on the ID that was entered in the text box 51 at the time the login button 53 was pressed and the password that was entered in the text box 52 at the time the login button 53 was pressed (S104).
[0065] When the user authentication unit 35a of the information processing system 30 receives the request in S104, it executes authentication based on the ID and password included in the request in S104 (S105). Specifically, the user authentication unit 35a determines that the authentication is successful if the combination of the ID and password included in the request in S104 is stored in the authentication information 34b. On the other hand, the user authentication unit 35a determines that the authentication is unsuccessful if the combination of the ID and password included in the request in S104 is not stored in the authentication information 34b.
[0066] If the user authentication unit 35a determines in S105 that the authentication has failed, it transmits data indicating the authentication failure to the user equipment 20 (S106).
[0067] When the web browser 25a of the user device 20 receives the data transmitted from the information processing system 30 in S106, it displays the authentication failure on the display unit 22 based on the received data (S107). When the process of S107 ends, the web browser 25a executes the process of S103.
[0068] If the user authentication unit 35a of the information processing system 30 determines in S105 that the authentication is successful, it acquires the current time as a variable value used to generate a one-time password (S121). The current time acquired in S121 may be in epoch seconds, for example.
[0069] When the processing of S121 is completed, the user authentication unit 35a requests the one-time password generation unit 35b to generate a one-time password based on the seed that is associated in the seed information 34c with the ID included in the request in S104 and the variable value acquired in S121 (S122).
[0070] Upon receiving the request in S122, the one-time password generating unit 35b generates a one-time password using a specific algorithm based on the seed and variable value included in the request in S122 (S123).
[0071] When the process of S123 ends, the one-time password generating unit 35b passes the one-time password generated in S123 to the user authenticating unit 35a (S124).
[0072] When the user authentication unit 35a receives the one-time password passed from the one-time password generation unit 35b in S124, it instructs the information management unit 35c to record the combination of the seed and the variable value included in the request in S122 with a setting to delete it after a certain period of time has elapsed (S125). The certain period of time in S125 is, for example, 10 minutes. For example, if the information management unit 35c is Redis, the user authentication unit 35a stores the combination of the seed and the variable value included in the request in S122 in the information management unit 35c with a TTL (Time To Live) in S125.
[0073] When the information management unit 35c receives the instruction in S125, it records a combination of the seed and variable value included in the instruction in S125 and the expiration date based on the period included in the instruction in S125 in the generation information recording area 34e (S126). Note that the expiration date based on the period included in the instruction in S125 may be, for example, the time obtained by adding the period included in the instruction in S125 to the current time, or the time obtained by adding the period included in the instruction in S125 to the time acquired in S121.
[0074] FIG. 12 is a flowchart of the information management unit 35c when a combination of a seed, a variable value, and a validity period is recorded in the generation information recording area 34e.
[0075] As shown in FIG. 12, when the information management unit 35c records a combination of a seed, a variable value and an expiration date in the generation information recording area 34e, it determines whether or not a seed for the combination of seed, variable value and expiration date to be recorded in the generation information recording area 34e (hereinafter referred to as the "combination to be recorded") has already been recorded in the generation information recording area 34e (S201).
[0076] When the information management unit 35c determines in S201 that the seed for the combination to be recorded has not yet been recorded in the generation information recording area 34e, it records the combination to be recorded in the generation information recording area 34e (S202) and ends the operation shown in FIG.
[0077] When the information management unit 35c determines in S201 that the seed for the combination to be recorded has already been recorded in the generation information recording area 34e, it overwrites and records the combination to be recorded onto the combination of seeds, variable values, and expiration dates in the generation information recording area 34e that includes the seed for the combination to be recorded (S203), and terminates the operation shown in Figure 12.
[0078] FIG. 13 is a flowchart of the operation of the information management unit 35c when information that has passed its expiration date is deleted from the generation information recording area 34e.
[0079] As shown in FIG. 13, the information management unit 35c determines whether there is any combination of a seed, variable value and expiration date in the generation information recording area 34e whose expiration date is past the current time until it determines that there is any combination of a seed, variable value and expiration date in the generation information recording area 34e whose expiration date is past the current time (S221).
[0080] When the information management unit 35c determines in S221 that there is a combination of seed, variable value and expiration date in the generation information recording area 34e whose expiration date has passed by the current time, it deletes the combination of seed, variable value and expiration date in the generation information recording area 34e whose expiration date has passed by the current time from the generation information recording area 34e (S222), and executes the processing of S221.
[0081] As shown in FIGS. 8 to 10, when the process of S126 ends, the information management unit 35c notifies the user authentication unit 35a of the completion of recording the combination of the seed and the variable value in accordance with the instruction in S125 (S127).
[0082] Upon receiving the notification in S127, the user authentication unit 35a sends an e-mail containing the one-time password passed from the user authentication unit 35a in S124 to the e-mail address associated in the e-mail address information 34d with the ID included in the request in S104 (S128). That is, the user authentication unit 35a notifies the one-time password generated in S123 by e-mail.
[0083] FIG. 14 is a diagram showing an example of the email 60 sent in S128.
[0084] The body of the email 60 shown in FIG. 14 includes a one-time password 61 and a validity period 62 of the one-time password.
[0085] As shown in Figures 8 to 10, when the processing of S128 is completed, the user authentication unit 35a of the information processing system 30 transmits data for displaying a web page for inputting a one-time password (hereinafter referred to as the "one-time password input page") (hereinafter referred to as "data for the one-time password input page") to the user device 20 (S129).
[0086] When the web browser 25a of the user device 20 receives the data for the one-time password input page sent from the information processing system 30 in S129, it displays the one-time password input page 70 (see Figure 15) on the display unit 22 based on the received data for the one-time password input page (S130).
[0087] FIG. 15 is a diagram showing an example of the one-time password input page 70. As shown in FIG.
[0088] The one-time password input page 70 shown in Figure 15 includes a message 71 prompting the user to enter a one-time password, a text box 72 which is a widget for entering a one-time password, a send new password button 73 for sending a new one-time password, a cancel button 74 for canceling authentication using the one-time password, and a confirm button 75 which is a widget for confirming the one-time password entered in the text box 72.
[0089] The user authentication unit 35a of the information processing system 30 causes the message 71 to include the email address of the destination to which the email was sent in S128.
[0090] The user can input into the text box 72 the one-time password contained in the e-mail sent from the information processing system 30 in S128.
[0091] When the new password send button 73 is pressed, the web browser 25a of the user device 20 notifies the information processing system 30 that the new password send button 73 has been pressed. When the user authentication unit 35a of the information processing system 30 is notified by the user device 20 that the new password send button 73 has been pressed, the user authentication unit 35a executes the process of S121.
[0092] When the cancel button 74 is pressed, the web browser 25a of the user device 20 notifies the information processing system 30 that the cancel button 74 has been pressed. When the user authentication unit 35a of the information processing system 30 is notified by the user device 20 that the cancel button 74 has been pressed, the user authentication unit 35a executes the process of S102.
[0093] As shown in Figures 8 to 10, when the confirmation button 75 is pressed, the web browser 25a of the user device 20 requests the information processing system 30 to perform authentication based on the one-time password that was entered in the text box 72 at the time the confirmation button 75 was pressed (S141).
[0094] When the user authentication unit 35a of the information processing system 30 receives the request in S141, it requests the information management unit 35c to provide the variable value recorded in association with the seed associated with the ID included in the request in S104 in the seed information 34c (S142).
[0095] When the information management unit 35c receives the request in S142, if the seed included in the request in S142 is not recorded in the generation information recording area 34e, it notifies the user authentication unit 35a that the variable value requested in S142 has not been recorded (S143).
[0096] Upon receiving the notification in S143, the user authentication unit 35a transmits data indicating a failure of authentication to the user equipment 20 (S144).
[0097] When the web browser 25a of the user device 20 receives the data transmitted from the information processing system 30 in S144, it displays the authentication failure on the display unit 22 based on the received data (S145). When the process of S145 ends, the web browser 25a executes the process of S130.
[0098] When the information management unit 35c receives the request in S142, if the seed included in the request in S142 is recorded in the generation information recording area 34e, it passes the variable value recorded in the generation information recording area 34e in correspondence with the seed included in the request in S142 to the user authentication unit 35a (S146).
[0099] When the user authentication unit 35a receives the variable value passed in S146, it requests the one-time password generation unit 35b to confirm the validity of the one-time password based on the received variable value, the seed that is associated in the seed information 34c with the ID included in the request in S104, and the one-time password included in the request in S141 (S147).
[0100] Upon receiving the request in S147, the one-time password generating unit 35b generates a one-time password using a specific algorithm based on the seed and variable value included in the request in S147 (S148).
[0101] When the process of S148 ends, the one-time password generation unit 35b verifies the validity of the one-time password based on the one-time password included in the request in S147 and the one-time password generated in S148 (S149). Specifically, if the one-time password included in the request in S147 and the one-time password generated in S148 match, the one-time password generation unit 35b determines that the one-time password is valid. On the other hand, if the one-time password included in the request in S147 and the one-time password generated in S148 do not match, the one-time password generation unit 35b determines that the one-time password is invalid.
[0102] When the process of S149 ends, the one-time password generating unit 35b notifies the user authenticating unit 35a of the result of the confirmation made in S149 (S150).
[0103] Upon receiving the notification in S150, if the confirmation result in the received notification indicates that the one-time password is invalid, the user authentication unit 35a transmits data indicating authentication failure to the user equipment 20 (S151).
[0104] When the web browser 25a of the user device 20 receives the data transmitted from the information processing system 30 in S151, it displays the authentication failure on the display unit 22 based on the received data (S152). When the process of S152 ends, the web browser 25a executes the process of S130.
[0105] When the user authentication unit 35a receives the notification in S150, if the confirmation result in the received notification is that the one-time password is valid, it requests the information management unit 35c to delete the combination of seed, variable value, and expiration date, including the seed that is associated in the seed information 34c with the ID included in the request in S104 (S153).
[0106] When the information management unit 35c receives the request in S153, it deletes the combination of the seed, variable value, and expiration date, including the seed included in the request in S153, from the generation information recording area 34e (S154).
[0107] When the process of S154 ends, the information management unit 35c notifies the user authentication unit 35a of the completion of the deletion of the combination of the seed, the variable value, and the expiration date in response to the request in S153 (S155).
[0108] Upon receiving the notification in S155, the user authentication unit 35a transmits data indicating successful authentication to the user equipment 20 (S156).
[0109] When the web browser 25a of the user device 20 receives the data transmitted from the information processing system 30 in S156, it displays on the display unit 22 the fact that the authentication was successful based on the received data (S157).
[0110] As described above, the information processing system 30 can perform two-step authentication in which knowledge authentication using an ID and a password is performed as the first factor, and possession authentication using an email address is performed as the second factor.
[0111] The information processing system 30 records the variable value in the generation information recording area 34e so as to render the variable value unusable after a specific period of time has elapsed (S126), and when a one-time password is input, verifies the validity of the input one-time password based on the input one-time password, the user's seed, and the user's variable value recorded in the generation information recording area 34e (S148-S149), thereby making it possible to generate a one-time password having a specific period during which the variable value recorded in the generation information recording area 34e is usable, i.e., a fixed validity period.
[0112] The information processing system 30 makes the variable value unusable after the validity period has elapsed by deleting it (S222) from the generation information recording area 34e after the validity period has elapsed (YES in S221), and therefore can delete the variable value of a user whose one-time password is not within the validity period from the generation information recording area 34e. Therefore, the information processing system 30 can reduce the storage capacity required for recording the variable values, compared to HOTP, which needs to record the variable values of all users.
[0113] The information processing system 30 may make the variable value unusable after the validity period has elapsed by a method other than deleting the variable value from the generation information recording area 34e after the validity period has elapsed.
[0114] If the information processing system 30 determines in confirming the validity of the input one-time password (S149) that the input one-time password is valid, it renders the variable value used in confirming the validity of the input one-time password unusable (S154), thereby making it possible to limit the number of times the one-time password is valid to one with a simple configuration.
[0115] When the information processing system 30 determines in confirming the validity of the input one-time password (S149) that the input one-time password is valid, it deletes from the generation information recording area 34e (S154) the variable value used in confirming the validity of the input one-time password, thereby making the variable value used in confirming the validity of the input one-time password unusable, and therefore the variable value for generating a one-time password used once can be deleted from the generation information recording area 34e. Therefore, the information processing system 30 can reduce the storage capacity required for recording the variable values compared to HOTP, which requires the variable values of all users to be recorded.
[0116] In addition, the information processing system 30 may make the variable value used in confirming the validity of the input one-time password unusable by a method other than deleting the variable value used in confirming the validity of the input one-time password from the generation information recording area 34e.
[0117] In HOTP, a situation may occur in which the same one-time password is generated consecutively due to a failure to update the variable value. However, when the information processing system 30 determines in S149 that the input one-time password is valid, it deletes the variable value used in S149 from the generation information recording area 34e (S154), and when a new one-time password is generated, it records the new variable value in the generation information recording area 34e (S126), so that the variable value can be updated appropriately. Therefore, the information processing system 30 can avoid a situation in which the same one-time password is generated consecutively due to a failure to update the variable value.
[0118] In the information processing system 30, since the value indicating the generation time of the variable value is a variable value, it is possible to easily generate the variable value.
[0119] HOTP requires that counter values be recorded as variable values for all users, but because the information processing system 30 uses a variable value to indicate the time at which the variable value was generated, it is not necessary to record counter values as variable values for all users, and the storage capacity required for recording the variable values can be reduced.
[0120] The information processing system 30 may employ, as a variable value, a value other than the value indicating the generation time of the variable value.
[0121] In the present embodiment, the generation information recording area 34e records a combination of a seed and a variable value. However, as long as it is possible to identify which variable value belongs to which user, the generation information recording area 34e may record a variable value in combination with a value other than the seed. For example, the generation information recording area 34e may record a variable value in combination with a user's ID. [Explanation of symbols]
[0122] 30 Information processing systems (user authentication systems, computers) 34a User Authentication Program 34e Generation information recording area (specific area) 61 One-time password 62 Validity period (specific period)
Claims
1. generating a one-time password for the user based on the user's seed and a variable value; notifying the generated one-time password; recording said variable value in a specific area so as to render said variable value unusable after a specific period of time; A user authentication system characterized in that, when the one-time password is input, the validity of the input one-time password is confirmed based on the input one-time password, the seed of the user, and the variable value of the user recorded in the specific area.
2. 2. The user authentication system according to claim 1, wherein the variable value is made unusable after the specific period of time has elapsed by deleting the variable value from the specific area after the specific period of time has elapsed.
3. 2. The user authentication system according to claim 1, wherein when it is determined in the confirmation that the input one-time password is valid, the variable value used in the confirmation is made unusable.
4. The user authentication system described in claim 3, characterized in that if the confirmation determines that the input one-time password is valid, the variable value used in the confirmation is made unusable by deleting it from the specific area.
5. 2. The user authentication system according to claim 1, wherein the variable value is a value indicating a generation time of the variable value.
6. causing a computer to generate a one-time password for the user based on the user's seed and a variable value; notifying the computer of the one-time password generated by the computer; causing said computer to record said variable value in a specific area so as to render said variable value unusable after a specific period of time; A user authentication program characterized in that, when the one-time password is input into the computer, the program causes the computer to verify the validity of the one-time password input into the computer based on the one-time password input into the computer, the seed of the user, and the variable value of the user recorded in the specific area.
Citation Information
Patent Citations
Password generating apparatus, password generating method, password generating system, IC card, authentication apparatus, authentication method, and authentication system
JP2006039997A
One time password generating system, one time password generating method, one time password generating device, control server, and control method thereof
JP2007317091A
Method for creating one-time password, method for authenticating one-time password, one-time password creation apparatus, IC card with function to create one-time password, one-time password authentication apparatus, IC card program, and computer program
JP2008176383A
Method for generating onetime password, IC card system, and IC card
JP2009271836A
Information processor
JP2012141856A