WO2020016985A1 - 認証制御システムおよび認証制御プログラム - Google Patents

認証制御システムおよび認証制御プログラム Download PDF

Info

Publication number
WO2020016985A1
WO2020016985A1 PCT/JP2018/027067 JP2018027067W WO2020016985A1 WO 2020016985 A1 WO2020016985 A1 WO 2020016985A1 JP 2018027067 W JP2018027067 W JP 2018027067W WO 2020016985 A1 WO2020016985 A1 WO 2020016985A1
Authority
WO
WIPO (PCT)
Prior art keywords
login
identifier
upper limit
account
same
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.)
Ceased
Application number
PCT/JP2018/027067
Other languages
English (en)
French (fr)
Inventor
孝平 反町
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2020530804A priority Critical patent/JPWO2020016985A1/ja
Priority to PCT/JP2018/027067 priority patent/WO2020016985A1/ja
Priority to TW107140047A priority patent/TW202008200A/zh
Publication of WO2020016985A1 publication Critical patent/WO2020016985A1/ja
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication

Definitions

  • the present invention relates to authentication control at the time of login.
  • BF attack a brute force attack
  • the brute force attack is an attack in which all character strings (for example, 0000 to 9999 in the case of a four-digit number) are tried for each of the user threshold identifier and the password.
  • the dictionary attack is an attack in which frequently used character strings are listed for each of a user identifier and a password, and the character strings in the list are tried.
  • an account lock is performed when a certain number of login failures have occurred for a valid account.
  • the account is unavailable for a certain period of time. Or, the account becomes unavailable until the account lock is released by the administrator.
  • the web application does not change the response screen of the login attempt depending on the presence or absence of the account lock so that the BF attacker does not know that the account has been locked.
  • Patent Literature 1 proposes an authentication method for reducing the occurrence of unnecessary account lock.
  • this authentication method it is assumed that a legitimate user incorrectly remembers a password. If a combination of a valid user identifier and the same password is used within a certain period and login fails repeatedly, the user is notified via the web application that the password has already failed. This makes it possible to prevent the count that triggers the account lock from being increased.
  • an attacker attempts to log in twice using an arbitrary user identifier, the attempted user identifier may prove to be a valid user identifier. Specifically, if the attempted user identifier is a valid user identifier, a password that has already failed is displayed.
  • the attempted user identifier is a valid user identifier. Also, when the authorized user incorrectly remembers the user identifier, the input user identifier is not valid, so that the screen of the web application does not change when the login fails. Therefore, the authorized user cannot notice that the input user identifier is incorrect.
  • Patent Literature 2 proposes an authentication scheme for the purpose of improving the convenience of the user after the account lock by releasing the account lock by the account locked user.
  • a normal account and a cancellation account are generated.
  • an input of a release account is instructed via the web application.
  • the user can release the account lock of the normal account by inputting the release account.
  • a valid normal account may be found.
  • the used user identifier is a valid user identifier
  • an input of a cancellation account is displayed. In this case, it is determined that the used user identifier is a valid normal account.
  • the regular user mistakenly remembers the normal account, the input normal account is not a valid account, so that the screen of the web application does not change when the login fails. Therefore, the regular user cannot notice that the input normal account is incorrect.
  • the legitimate user attempts to log in multiple times with the wrong set of user identifier and password. Then, an account lock occurs. However, information indicating the account lock is not displayed on the screen of the web application. For this reason, the authorized user will try to log in further, which lowers the convenience of the user.
  • an attacker knows that the attempted user identifier is a valid user identifier. Then, the user identifier may be used for further attacks.
  • the object of the present invention is to improve the convenience of a legitimate user while maintaining security even if the legitimate user mistakenly remembers the user identifier or password.
  • the authentication control system of the present invention includes: A reception unit for receiving a login identifier and a login password, An identifier determining unit that determines whether the same registered identifier as the login identifier exists based on an account management file in which one or more registered identifiers and one or more registered passwords are associated with each other; A password determination unit that determines whether the login password is a correct password based on the account management file when the same registration identifier as the login identifier exists, If the same registration identifier as the login identifier exists, and the login password is not a correct password, and the number of failed logins using the same login identifier as the login identifier has reached an upper limit, account lock is performed.
  • a real account lock unit for displaying a screen and if the same registered identifier as the login identifier does not exist and the number of failed logins using the same login identifier as the login identifier has reached the upper limit, account locking is performed.
  • a virtual account lock unit for displaying a screen is
  • the account lock screen is displayed regardless of whether the login identifier matches one of the registered identifiers in the account management file.
  • the authorized user can know that the login identifier or the login password is incorrectly remembered. Therefore, unnecessary login attempts by the authorized user do not occur thereafter.
  • the account lock screen is displayed regardless of whether the login identifier matches the registered identifier in the account management file, the attacker must determine whether the login identifier is a valid user identifier. Can not. Therefore, it is possible to improve the convenience for authorized users while maintaining security.
  • FIG. 1 is a configuration diagram of an authentication control system 100 according to a first embodiment.
  • FIG. 2 is a configuration diagram of a web server 200 according to the first embodiment.
  • FIG. 2 is a configuration diagram of an authentication server 300 according to the first embodiment.
  • FIG. 3 is a configuration diagram of a failed login management file 291 according to the first embodiment.
  • FIG. 3 is a configuration diagram of login trial data 292 according to the first embodiment.
  • FIG. 3 is a configuration diagram of an account management file 391 according to the first embodiment.
  • 5 is a flowchart of an authentication control method according to the first embodiment.
  • 9 is a flowchart of an authentication process (S110) according to the first embodiment.
  • 9 is a flowchart of a login failure process (S130) according to the first embodiment.
  • FIG. 9 is a flowchart of a real account process (S132) according to the first embodiment.
  • 9 is a flowchart of virtual account processing (S133) according to the first embodiment.
  • 9 is a table showing response content patterns according to the first embodiment.
  • FIG. 9 is a configuration diagram of a web server 200 according to the second embodiment.
  • FIG. 9 is a configuration diagram of an address table 293 according to the second embodiment.
  • 9 is a flowchart of an authentication control method according to the second embodiment.
  • 13 is a flowchart of an address monitoring process (S210) according to the second embodiment.
  • 15 is a flowchart of an address determination process (S250) according to the second embodiment.
  • FIG. 11 is a configuration diagram of a web server 200 according to the third embodiment.
  • FIG. 15 is a flowchart of a real account process (S132) according to the third embodiment.
  • 15 is a flowchart of virtual account processing (S133) according to the third embodiment.
  • 17 is a flowchart of an upper limit operation process (S300) according to the third embodiment.
  • FIG. 13 is a diagram illustrating a configuration example of an authentication control system 100 according to a fourth embodiment.
  • FIG. 2 is a hardware configuration diagram of a web server 200 according to the embodiment.
  • FIG. 3 is a hardware configuration diagram of the authentication server 300 according to the embodiment.
  • Embodiment 1 FIG. The authentication control system 100 will be described with reference to FIGS.
  • the authentication control system 100 includes a user terminal 110, a web server 200, and an authentication server 300.
  • the user terminal 110 is a computer that receives user authentication to use a web application.
  • the web server 200 is a server device that controls user authentication for the user terminal 110.
  • the authentication server 300 is a server device that performs user authentication.
  • the web server 200 communicates with the user terminal 110 and the authentication server 300 via the network 101.
  • the configuration of the web server 200 will be described based on FIG.
  • the web server 200 is a computer including hardware such as a processor 201, a memory 202, an auxiliary storage device 203, and an input / output interface 204. These pieces of hardware are connected to each other via signal lines.
  • the processor 201 is an IC (Integrated Circuit) that performs arithmetic processing, and controls other hardware.
  • the processor 201 is a CPU (Central Processing Unit), a DSP (Digital Signal Processor), or a GPU (Graphics Processing Unit).
  • the memory 202 is a volatile storage device.
  • the memory 202 is also called a main storage device or a main memory.
  • the memory 202 is a RAM (Random Access Memory).
  • the data stored in the memory 202 is stored in the auxiliary storage device 203 as needed.
  • the auxiliary storage device 203 is a nonvolatile storage device.
  • the auxiliary storage device 203 is a ROM (Read Only Memory), a HDD (Hard Disk Drive), or a flash memory.
  • the data stored in the auxiliary storage device 203 is loaded into the memory 202 as needed.
  • the input / output interface 204 is a port to which an input device and an output device are connected.
  • the input / output interface 204 is a USB terminal
  • the input devices are a keyboard, a mouse, and a receiver
  • the output devices are a display and a transmitter.
  • USB is an abbreviation for Universal Serial Bus.
  • the web server 200 includes elements such as a reception unit 210, a login determination unit 220, an account lock unit 230, and a response unit 240. These elements are realized by software.
  • the account lock unit 230 includes a real account lock unit 231 and a virtual account lock unit 232.
  • the auxiliary storage device 203 stores an authentication control program for causing a computer to function as the reception unit 210, the login determination unit 220, the account lock unit 230, and the response unit 240.
  • the authentication control program is loaded into the memory 202 and executed by the processor 201.
  • the auxiliary storage device 203 stores an OS (Operating System). At least a part of the OS is loaded into the memory 202 and executed by the processor 201. That is, the processor 201 executes the authentication control program while executing the OS.
  • Data obtained by executing the authentication control program is stored in a storage device such as the memory 202, the auxiliary storage device 203, a register in the processor 201, or a cache memory in the processor 201.
  • the auxiliary storage device 203 functions as the storage unit 290. However, another storage device may function as the storage unit 290 instead of the auxiliary storage device 203 or together with the auxiliary storage device 203.
  • the web server 200 may include a plurality of processors that substitute for the processor 201.
  • the plurality of processors share the role of the processor 201.
  • the authentication control program can be recorded (stored) in a computer-readable manner on a non-volatile recording medium such as an optical disk or a flash memory.
  • the configuration of the authentication server 300 will be described based on FIG.
  • the authentication server 300 is a computer including hardware such as a processor 301, a memory 302, an auxiliary storage device 303, and an input / output interface 304. These pieces of hardware are connected to each other via signal lines.
  • the processor 301 is an IC that performs arithmetic processing, and controls other hardware.
  • the processor 301 is a CPU, a DSP, or a GPU.
  • the memory 302 is a volatile storage device.
  • the memory 302 is also called a main storage device or a main memory.
  • the memory 302 is a RAM.
  • the data stored in the memory 302 is stored in the auxiliary storage device 303 as needed.
  • the auxiliary storage device 303 is a nonvolatile storage device.
  • the auxiliary storage device 303 is a ROM, an HDD, or a flash memory.
  • the data stored in the auxiliary storage device 303 is loaded into the memory 302 as needed.
  • the input / output interface 304 is a port to which an input device and an output device are connected.
  • the input / output interface 304 is a USB terminal
  • the input devices are a keyboard, a mouse, and a receiver
  • the output devices are a display and a transmitter.
  • the authentication server 300 includes an authentication unit 310.
  • the authentication unit 310 is realized by software.
  • the authentication unit 310 includes a reception unit 311, an identifier determination unit 312, a lock state determination unit 313, a password determination unit 314, and a response unit 315.
  • An authentication program for causing a computer to function as the authentication unit 310 is stored in the auxiliary storage device 303.
  • the authentication program is loaded into the memory 302 and executed by the processor 301.
  • an OS is stored in the auxiliary storage device 303. At least a part of the OS is loaded into the memory 302 and executed by the processor 301. That is, the processor 301 executes the authentication program while executing the OS.
  • Data obtained by executing the authentication program is stored in a storage device such as the memory 302, the auxiliary storage device 303, a register in the processor 301, or a cache memory in the processor 301.
  • the auxiliary storage device 303 functions as the storage unit 390.
  • another storage device may function as the storage unit 390 instead of the auxiliary storage device 303 or together with the auxiliary storage device 303.
  • the authentication server 300 may include a plurality of processors instead of the processor 301.
  • the plurality of processors share the role of the processor 301.
  • the authentication program can be recorded (stored) in a computer-readable manner on a non-volatile recording medium such as an optical disk or a flash memory.
  • the authentication program is a part of the authentication control program.
  • the configuration of the failed login management file 291 will be described with reference to FIG.
  • the failed login management file 291 is stored in the storage unit 290.
  • the failed login management file 291 associates one or more trial identifiers with one or more trial counts.
  • the trial identifier is a user identifier specified as a login identifier when login failed.
  • the number of attempts is the number of failed login attempts using the login attempt identifier.
  • the failed login management file 291 in FIG. 4 indicates that login using the user identifier “RED” has failed nine times.
  • the configuration of the login trial data 292 will be described with reference to FIG.
  • the login trial data 292 is stored in the storage unit 290.
  • the login trial data 292 includes the latest trial identifier and the number of trials.
  • the configuration of the account management file 391 will be described with reference to FIG.
  • the account management file 391 is stored in the storage unit 390.
  • the account management file 391 associates one or more registration identifiers, one or more registration passwords, and one or more lock state flags with each other.
  • the registration identifier is a registered user identifier. That is, the registered identifier is the user identifier of the authorized user.
  • the registration password is a registered user password. That is, the registered password is the password of the authorized user.
  • An asterisk indicates a password.
  • a set of a registration identifier and a registration password is called an account.
  • the lock state flag indicates the lock state of the account. Specifically, the lock state flag indicates “unlocked” or “locked”. Unlocked means that the account is not locked. Locked means that the account is locked.
  • the operation of the authentication control system 100 corresponds to an authentication control method.
  • the procedure of the authentication control method corresponds to the procedure of the authentication control program.
  • step S101 the user inputs a login identifier and a login password to the user terminal 110.
  • the login identifier is a user identifier specified for login.
  • the login password is a user password specified for login.
  • Data including a login identifier and a login password is called login data.
  • the user terminal 110 transmits the login data to the web server 200.
  • reception unit 210 receives the login data. That is, the receiving unit 210 receives the login data.
  • step S110 the authentication server 300 performs an authentication process based on the login data.
  • step S111 login determination unit 220 transmits the login data to authentication server 300.
  • the receiving unit 311 receives the login data. That is, the receiving unit 311 receives the login data. That is, the receiving unit 311 receives the login identifier and the login password.
  • the identifier determining unit 312 determines whether the same registered identifier as the login identifier exists based on the account management file 391. More specifically, the identifier determination unit 312 determines whether the same registration identifier as the login identifier is included in the account management file 391. When the account management file 391 includes the same registration identifier as the login identifier, the identifier determination unit 312 determines that the same registration identifier as the login identifier exists. If the same registration identifier as the login identifier exists, the process proceeds to step S113. If there is no registered identifier identical to the login identifier, the process proceeds to step S116.
  • step S113 the lock state determination unit 313 determines the lock state of the account corresponding to the login identifier based on the account management file 391. Specifically, the lock state determination unit 313 selects a lock state flag associated with the same registered identifier as the login identifier from the account management file 391. Then, the lock state determination unit 313 determines the lock state of the account based on the selected lock state flag. If the locked state of the account corresponding to the login identifier is unlocked, the process proceeds to step S114. If the locked state of the account corresponding to the login identifier is locked, the process proceeds to step S117.
  • step S114 the password determination unit 314 determines whether the login password is a correct password based on the account management file 391. Specifically, the password determination unit 314 selects a registration password associated with the same registration identifier as the login identifier from the account management file 391. Then, password determination section 314 compares the login password with the selected registered password. If the login password matches the selected registered password, the password determination unit 314 determines that the login password is a correct password. If the login password is correct, the process proceeds to step S115. If the login password is not a correct password, the process proceeds to step S118.
  • step S115 the response unit 315 transmits an authentication result (authentication success) to the web server 200. That is, the response unit 315 responds with an authentication result (authentication success).
  • the login determination unit 220 receives the authentication result (authentication success).
  • the authentication result (authentication success) is an authentication result indicating that the authentication is successful.
  • step S116 the response unit 315 transmits the authentication result (no account) to the web server 200. That is, the response unit 315 responds with the authentication result (no account).
  • login determination unit 220 receives the authentication result (no account).
  • the authentication result (no account) is an authentication result indicating that the authentication has failed due to “no account”. "No account” means that there is no registered identifier that is the same as the login identifier, that is, there is no account corresponding to the login identifier.
  • step S117 the response unit 315 transmits the authentication result (locked) to the web server 200. That is, the response unit 315 responds with the authentication result (locked).
  • login determination unit 220 receives the authentication result (locked).
  • the authentication result (locking) is an authentication result indicating that the authentication has failed due to “locking”. “Locked” means that the lock state of the account corresponding to the login identifier is locked.
  • step S118 the response unit 315 sends the authentication result (password error) to the web server 200. That is, the response unit 315 responds with the authentication result (password error).
  • login determination unit 220 receives the authentication result (password error).
  • the authentication result (password error) is an authentication result indicating that authentication failed due to “password error”. "Incorrect password" means that the login password is not a correct password.
  • step S121 the login determination unit 220 determines whether to permit login based on the authentication result. When the authentication result indicates that the authentication is successful, the login determination unit 220 permits the login. When the authentication result indicates that the authentication has failed, the login determination unit 220 does not permit the login. If login is permitted, the process proceeds to step S122. If login is not permitted, the process proceeds to step S130.
  • step S122 the response unit 240 transmits login result data indicating successful login to the user terminal 110. That is, the response unit 240 responds that login is successful.
  • the user terminal 110 receives the login result data.
  • the login result data indicates that login is successful, the user terminal 110 displays a screen after login on the display.
  • step S130 account lock unit 230 performs a login failure process based on the authentication result.
  • step S131 the login determination unit 220 determines the reason for the authentication failure based on the authentication result. If the reason for the authentication failure is “password error”, the process proceeds to step S132. If the reason for the authentication failure is “no account”, the process proceeds to step S133. If the reason for the authentication result is “locked”, the process proceeds to step S134.
  • step S132 the web server 200 performs a real account process.
  • the real account process is a process for an account registered in the account management file 391, that is, a process for a real account. Details of the real account processing (S132) will be described later.
  • step S133 the web server 200 performs a virtual account process.
  • the virtual account process is a process for an account that is not registered in the account management file 391, that is, a non-existent account. Details of the virtual account processing (S133) will be described later.
  • step S134 the real account lock unit 231 responds with an account lock so that the account lock screen is displayed on the user terminal 110.
  • the account lock screen is a screen for notifying the user that the account is locked.
  • the real account lock unit 231 instructs the response unit 240 to respond to the account lock.
  • the response unit 240 transmits the login result data indicating the account lock to the user terminal 110.
  • the user terminal 110 receives the login result data.
  • the login result data indicates an account lock
  • the user terminal 110 displays an account lock screen on a display.
  • step S1321 the login determination unit 220 acquires the number of trials of the login identifier.
  • the trial number of the login identifier is the number of failed logins using the same login identifier.
  • the login determination unit 220 acquires the number of trials of the login identifier as follows. The login determination unit 220 determines whether the login identifier is the same as the trial identifier in the login trial data 292.
  • the login determination unit 220 increases the number of trials in the login trial data 292 by one. Then, the login determination unit 220 acquires the number of trials from the login trial data 292. Further, the login determination unit 220 searches the failed login management file 291 to find the same trial identifier as the login identifier. When the same trial identifier as the login identifier is registered in the failed login management file 291, the login determining unit 220 increases the number of trials associated with the same trial identifier as the login identifier by one.
  • the login determination unit 220 compares the number of trials in the login trial data 292 with the minimum number of trials in the failed login management file 291. . If the number of trials in the login trial data 292 is larger than the minimum number of trials in the failed login management file 291, the login determination unit 220 attempts to execute the trial associated with the minimum number of trials in the failed login management file 291. The identifier is replaced with the trial identifier in the login trial data 292, and the minimum number of trials in the failed login management file 291 is replaced with the trial number in the login trial data 292.
  • the login determination unit 220 changes the trial identifier in the login trial data 292 to a login identifier, and sets the number of trials in the login trial data 292 to one. Reset. Then, the login determination unit 220 acquires the number of trials from the login trial data 292.
  • step S1322 the login determination unit 220 determines whether the number of trials of the login identifier has reached the upper limit.
  • the upper limit number is the upper limit of the number of trials and is determined in advance. Specifically, the login determination unit 220 compares the number of trials of the login identifier with the upper limit number. If the number of trials of the login identifier is equal to or greater than the upper limit, the login determination unit 220 determines that the number of trials of the login identifier has reached the upper limit. If the number of trials of the login identifier has reached the upper limit, the process proceeds to step S1323. If the number of attempts for the login identifier has not reached the upper limit, the process proceeds to step S1325.
  • step S1323 the real account lock unit 231 accesses the account management file 391 of the authentication server 300 and selects the same registration identifier as the login identifier from the account management file 391. Then, the real account lock unit 231 sets “locked” to the lock state flag associated with the selected registration identifier.
  • step S1324 the real account lock unit 231 responds with an account lock so that the account lock screen is displayed on the user terminal 110.
  • the processing in step S1324 is the same as the processing in step S134 (see FIG. 9).
  • response section 240 transmits login result data indicating authentication failure to user terminal 110. That is, the response unit 240 responds that the authentication has failed.
  • the user terminal 110 receives the login result data. If the login result data indicates that the authentication has failed, the user terminal 110 displays an authentication failure screen on the display.
  • the authentication failure screen is a screen for notifying the user that the user has not been authenticated. Specifically, the authentication failure screen informs the user that the combination of the login identifier and the login password is incorrect.
  • step S133 the login determination unit 220 acquires the number of trials of the login identifier.
  • step S1331 is the same as the processing in step S1321 (see FIG. 10).
  • step S1332 the login determination unit 220 determines whether the number of trials of the login identifier has reached the upper limit.
  • the processing in step S1332 is the same as the processing in step S1322 (see FIG. 10). If the number of attempts for the login identifier has reached the upper limit, the process proceeds to step S1333. If the number of attempts for the login identifier has not reached the upper limit, the process proceeds to step S1334.
  • step S1333 the virtual account lock unit 232 responds with the account lock so that the account lock screen is displayed on the user terminal 110.
  • the processing in step S1333 is the same as the processing in step S134 (see FIG. 9).
  • step S1334 response section 240 transmits login result data indicating authentication failure to user terminal 110. That is, the response unit 240 responds that the authentication has failed.
  • the processing in step S1334 is the same as the processing in step S1325 (see FIG. 10).
  • the contents of a response at the time of authentication failure will be described.
  • the response content becomes an authentication failure regardless of the lock state. If the number of attempts for the login identifier is less than the upper limit, there is an account corresponding to the login identifier, and the lock state is unlocked, the response content will be authentication failure.
  • the number of trials of the login identifier is less than the upper limit, the account corresponding to the login identifier exists, and the lock state is “locked”, the response content is the account lock.
  • the response content is account lock regardless of the lock state. If the number of login identifier trials is equal to or greater than the upper limit, if there is an account corresponding to the login identifier, and the lock state is unlocked, the response content is account locked. The locked state changes from unlocked to locked. When the number of times of trial of the login identifier is equal to or more than the upper limit, there is an account corresponding to the login identifier, and the lock state is locked, the response content is account lock.
  • the failed login management unit may edit the failed login management file 291 according to an instruction from the administrator to the web server 200, or may periodically reset the failed login management file 291.
  • the account lock screen may include a user interface for inputting a user identifier and a password of another account.
  • the account lock screen may include a message for presenting the user with a method for unlocking the account. For example, the message may indicate to the user that authentication is performed using information known only to authorized users using a communication method such as email or telephone, rather than authentication using a user identifier and user password. .
  • Embodiment 1 *** Even if the legitimate user incorrectly remembers the authentication information (user identifier and user password), the attacker cannot determine that the account corresponding to the trial identifier exists, and the legitimate user can confirm that the authentication information is incorrect. Can be notified.
  • the account lock screen is displayed regardless of whether the authorized user incorrectly remembers the authentication information or the authorized user incorrectly remembers only the user password. Therefore, the authorized user must be authenticated by another authentication method. Therefore, after the account lock, the regular user does not need to perform unnecessary authentication of repeating authentication using an incorrect user identifier or an incorrect user password. Even if an attacker carries out a BF attack using various user identifiers, all the attackers can confirm that the user identifiers are valid user identifiers. Therefore, a BF attack can be made difficult.
  • Embodiment 2 FIG. A mode of detecting a login attempt by an attacker, which is different from the first embodiment, will be mainly described with reference to FIGS.
  • the configuration of the web server 200 will be described based on FIG.
  • the web server 200 further includes an attack determination unit 250.
  • the attack determination unit 250 includes an address monitoring unit 251, an address management unit 252, and an address determination unit 253.
  • the authentication control program further causes the computer to function as the attack determination unit 250.
  • the configuration of the address table 293 for each trial identifier will be described with reference to FIG.
  • the address table 293 for each trial identifier is stored in the storage unit 290.
  • the address table 293 indicates a trial source address for each login for which authentication has failed.
  • the trial identifier is a user identifier used as a login identifier in a login in which authentication has failed.
  • the trial source address is a source address of the login data in the login where the authentication has failed.
  • the type of the source address is an IP address. IP is an abbreviation for Internet Protocol.
  • the address table 293R is an address table 293 for a trial identifier “Red”.
  • the address table 293R indicates that the login using “Red” as the login identifier has failed four times. Further, the address table 293R indicates the source address (trial source address) for each failed login.
  • the address table 293Y is an address table 293 for a trial identifier “Yellow”. The address table 293Y indicates that the login using “Yellow” as the login identifier has failed three times. Further, the address table 293Y indicates the source address (trial source address) for each failed login.
  • the address table 293X is an address table 293 for the trial identifier “X”. The address table 293X indicates that the login using “X” as the login identifier has failed once. Further, the address table 293X indicates the source address (trial source address) in the failed login.
  • step S201 the receiving unit 210 receives the login data.
  • the login data includes a login identifier and a login password.
  • the processing in step S201 is the same as the processing in step S101 in the first embodiment.
  • step S210 the address monitoring unit 251 performs an address monitoring process.
  • the address monitoring unit 251 issues an attack notification when the source address of the received login data is the same as the monitoring target address.
  • the address monitoring unit 251 displays an account lock screen when the source address of the received login data is the same as the monitoring target address.
  • the procedure of the address monitoring process (S210) will be described with reference to FIG.
  • a monitoring target list is used.
  • the monitoring target list is a list indicating one or more monitoring target addresses, and is stored in the storage unit 290.
  • the monitoring target address is a source address to be monitored.
  • step S211 if no monitoring target address is registered in the monitoring target list, the address monitoring process (S210) ends.
  • the address monitoring unit 251 operates as follows. First, the address monitoring unit 251 extracts the source address from the header of the login data. Then, the address monitoring unit 251 determines whether the source address is the same as any of the monitored addresses by comparing the source address with the respective monitored addresses. If the source address is the same as any of the monitoring target addresses, the process proceeds to step S212. If the source address is different from any of the monitoring target addresses, the address monitoring process (S210) ends.
  • step S212 the address monitoring unit 251 performs an attack notification.
  • the attack notification is to notify that there is access from an address having a high possibility of an attack.
  • the attack notification is to notify the occurrence of a login that is presumed to have been attempted by an attacker.
  • the address monitoring unit 251 transmits the attack notification message to the address of the administrator.
  • the address monitoring unit 251 transmits an attack notification message to the monitoring device.
  • the address of the administrator and the address of the monitoring device are registered in the storage unit 290 in advance.
  • step S213 the address monitoring unit 251 responds with an account lock so that the account lock screen is displayed on the user terminal 110.
  • the processing in step S213 is the same as the processing in step S134 in the first embodiment (see FIG. 9). After step S213, the address monitoring process (S210) ends.
  • step S210 the processing after the address monitoring processing (S210) will be described. If an attack notification is made in the address monitoring process (S210), the process ends. If no attack notification has been made in the address monitoring process (S210), the process proceeds to step S220.
  • step S220 authentication server 300 performs an authentication process based on the login data.
  • the authentication process (S220) is the same as the authentication process (S110) in the first embodiment.
  • step S231 the login determination unit 220 determines whether to permit login based on the authentication result.
  • the process in step S231 is the same as the process in step S121 in the first embodiment (see FIG. 7). If login is permitted, the process proceeds to step S232. If login is not permitted, the process proceeds to step S233.
  • step S232 the response unit 240 responds with a successful login.
  • the process in step S232 is the same as the process in step S122 in the first embodiment (see FIG. 7).
  • step S233 the address management unit 252 registers the source address of the login data in the address table 293 for the user identifier that is the same as the login identifier.
  • step S240 account lock unit 230 performs a login failure process based on the authentication result.
  • the login failure process (S130) is the same as the login failure process (S130) in the first embodiment.
  • the address monitoring unit 251 may perform a non-attack notification.
  • the non-attack notification is to notify that there is access from an address having a low possibility of attack.
  • the non-attack notification is to notify the occurrence of a login presumed to have been attempted by an authorized user.
  • the non-attack notification method is the same as the attack notification method in step S212.
  • step S250 the address determination unit 253 performs an address determination process.
  • the address determination unit 253 operates as follows. When the number of failed logins using the same user identifier as the login identifier has reached the upper limit, the address determination unit 253 determines the monitoring target address based on the address table 293 for the same user identifier as the login identifier.
  • step S251 the address determination unit 253 determines the type of response performed in the login failure process (S240 in FIG. 15). If an account lock has been returned, the process proceeds to step S252. If no account lock is returned, that is, if an authentication failure is returned, the address determination processing (S250) ends.
  • step S252 the address determination unit 253 selects an address table 293 for the user identifier that is the same as the login identifier from the storage unit 290. Then, based on the selected address table 293, the address determination unit 253 determines whether the transmission source address of the login data satisfies the monitoring condition. For example, the address determination unit 253 determines whether all the trial source addresses included in the selected address table 293 are the same. When all the trial source addresses included in the selected address table 293 are the same, the source address of the login data satisfies the monitoring condition. For example, the address determination unit 253 selects, from the selected address table 293, trial source addresses that are included in the specified number of times or more or trial source addresses that are included in the specified ratio or more.
  • the address determination unit 253 determines whether the transmission source address of the login data is the same as the selected trial source address. If the source address of the login data is the same as the selected trial source address, the source address of the login data satisfies the monitoring condition. If the source address of the login data satisfies the monitoring condition, the process proceeds to step S253. If the source address of the login data does not satisfy the monitoring condition, the address determination processing (S250) ends.
  • step S253 the address determination unit 253 registers the source address of the login data in the monitoring target list as the monitoring target address. After step S253, the address determination processing (S250) ends.
  • Authorized users recognize that their user identifiers are correct. Therefore, when an account lock occurs, it is considered that the authorized user attempts to release the account lock by using another authentication method. On the other hand, when the account lock occurs, it is considered that the attacker considers that the login attempt with the same user identifier is invalid and performs a BF attack on another user identifier. In the second embodiment, by detecting an operation that attempts to log in even after the account is locked, the attacker can be detected by distinguishing the attacker from the authorized user.
  • Embodiment 3 FIG. Embodiments in which the upper limit of the number of failed logins is dynamically changed will be described mainly with reference to FIGS.
  • the configuration of the web server 200 will be described based on FIG.
  • the web server 200 further includes an upper limit operation unit 260.
  • the upper limit operation unit 260 includes a change determination unit 261 and an upper limit change unit 262.
  • the authentication control program further causes the computer to function as the upper limit operation unit 260.
  • the upper limit operation process is a process for changing the upper limit (the upper limit number) of the number of trials of the login identifier.
  • the change determination unit 261 determines whether the change condition is satisfied. For example, the change determination unit 261 determines whether the change condition is satisfied based on the number of failed login attempts for each user identifier or the number of login attempts per unit time. The number of login attempts per unit time corresponds to the number of times login data (login identifier and login password) is accepted per unit time.
  • the upper limit changing unit 262 changes the upper limit number of times based on the number of failed logins for each user identifier. Details of the upper limit operation process will be described later.
  • step S1321 the login determination unit 220 acquires the number of trials of the login identifier.
  • step S1321 is as described in the first embodiment (see FIG. 10).
  • step S1322 the login determination unit 220 determines whether the number of trials of the login identifier has reached the upper limit. Step S1322 is as described in the first embodiment (see FIG. 10). If the number of trials of the login identifier has reached the upper limit, the process proceeds to step S1323. If the number of attempts for the login identifier has not reached the upper limit, the process proceeds to step S300.
  • step S1323 the real account lock unit 231 sets “locked” in the lock state flag corresponding to the login identifier.
  • the real account lock unit 231 responds with an account lock. Steps S1323 and S1324 are as described in the first embodiment (see FIG. 10).
  • step S300 upper limit operation section 260 performs upper limit operation processing.
  • the upper limit operation process (S300) will be described later.
  • step S311 If the upper limit number has been changed in the upper limit operation process (S300), the process proceeds to step S1325.
  • step S311 the login determination unit 220 determines whether the number of trials of the login identifier has reached the upper limit.
  • the processing in step S311 is the same as the processing in step S1322. If the number of trials of the login identifier has reached the upper limit, the process proceeds to step S1323. If the number of attempts for the login identifier has not reached the upper limit, the process proceeds to step S1325.
  • step S1325 the response unit 240 responds that the authentication has failed.
  • Step S1325 is as described in the first embodiment (see FIG. 10).
  • step S1331 the login determination unit 220 acquires the number of trials of the login identifier.
  • step S1331 is as described in the first embodiment (see FIG. 11).
  • step S1332 the login determination unit 220 determines whether the number of trials of the login identifier has reached the upper limit. Step S1332 is as described in the first embodiment (see FIG. 11). If the number of attempts for the login identifier has reached the upper limit, the process proceeds to step S1333. If the number of attempts for the login identifier has not reached the upper limit, the process proceeds to step S300.
  • step S300 upper limit operation section 260 performs upper limit operation processing.
  • the upper limit operation process (S300) will be described later.
  • step S312 If the upper limit number has not been changed in the upper limit operation process (S300), the process proceeds to step S1334.
  • step S312 the login determination unit 220 determines whether the number of trials of the login identifier has reached the upper limit.
  • the processing in step S312 is the same as the processing in step S1332. If the number of attempts for the login identifier has reached the upper limit, the process proceeds to step S1333. If the number of attempts for the login identifier has not reached the upper limit, the process proceeds to step S1334.
  • step S1334 the response unit 240 responds that the authentication has failed.
  • Step S1334 is as described in the first embodiment (see FIG. 11).
  • step S301 the change determination unit 261 determines whether a change condition is satisfied. For example, the change determination unit 261 determines whether the failed login management file 291 includes a trial identifier whose trial number has reached the upper limit number. If there is a trial identifier whose number of trials has reached the upper limit, the change condition is satisfied.
  • the change determination unit 261 determines whether the number of trial identifiers whose number of trials has not reached the upper limit is greater than a threshold. If the number of trial identifiers for which the number of trials has not reached the upper limit is greater than the threshold, the change condition is satisfied.
  • the change determination unit 261 determines whether the number of login attempts per unit time is greater than a threshold. If the number of login attempts per unit time is larger than the threshold, the change condition is satisfied.
  • step S302 If the change condition is satisfied, the process proceeds to step S302. If the change condition is not satisfied, the upper limit count is not changed, and the upper limit operation process (S300) ends.
  • the upper limit changing unit 262 determines a new upper limit number. For example, the upper limit changing unit 262 determines a new upper limit number based on the number of failed logins for each user identifier. Specifically, the upper limit changing unit 262 calculates the average of the number of trials registered in the failed login management file 291. The calculated average becomes the new upper limit number.
  • step S303 the upper limit changing unit 262 changes the predetermined upper limit number to a new upper limit number.
  • the supplementary upper limit operation processing (S300) will be supplemented.
  • the web server 200 includes a management unit. Then, the management unit deletes the login identifier at the time of successful authentication from the failed login management file 291. Alternatively, the management unit periodically resets the number of trials in the failed login management file 291. The management unit may perform other processing for resetting the upper limit number. These processes may be performed manually.
  • Embodiment 3 *** Effect of Embodiment 3 ***
  • an attacker may find out the maximum number of account locks. Once the maximum number of account locks is known, an attacker can make login attempts less than the maximum. In this case, the administrator may not be aware of the attack.
  • the upper limit number of account locks is dynamically changed. This makes it difficult to determine the maximum number of account locks. Therefore, it is difficult for the attacker to perform the login attempt less than the upper limit number of times.
  • the web server 200 may include the attack determination unit 250.
  • Embodiment 4 An example of the configuration of the authentication control system 100 will be described mainly with reference to FIG. 22, focusing on differences from the first to third embodiments.
  • the authentication control system 100 when the web server 200 and the authentication server 300 are applied to an appliance product or the like, they may be mounted in one housing. Further, the authentication control system 100 may include one authentication control device instead of the pair of the web server 200 and the authentication server 300.
  • the authentication control system 100 may include a plurality of devices instead of the web server 200.
  • the authentication control system 100 may include a web server 410 and an authentication control device 420 instead of the web server 200.
  • the web server 410 is a computer including various hardware, like the web server 200.
  • the authentication control device 420 is a computer including various hardware, like the web server 200.
  • the authentication server 300 includes an element called an authentication unit 310.
  • the storage device of the authentication server 300 stores an account management file 391.
  • the web server 410 includes elements such as a reception unit 210, a login determination unit 220, and a response unit 240.
  • the authentication control device 420 includes an element called an account lock unit 230.
  • the storage device of the authentication control device 420 stores a failed login management file 291, login attempt data 292, and the like.
  • the account lock unit 230 can be separated from the web application.
  • the web server 200 includes a processing circuit 209.
  • the processing circuit 209 is hardware that implements the reception unit 210, the login determination unit 220, the account lock unit 230, the response unit 240, the attack determination unit 250, and the upper limit operation unit 260.
  • the processing circuit 209 may be dedicated hardware, or may be the processor 201 that executes a program stored in the memory 202.
  • the processing circuit 209 is dedicated hardware, the processing circuit 209 is, for example, a single circuit, a composite circuit, a programmed processor, a parallel programmed processor, an ASIC, an FPGA, or a combination thereof.
  • ASIC is an abbreviation for Application Specific Integrated Circuit
  • FPGA is an abbreviation for Field Programmable Gate Array.
  • the web server 200 may include a plurality of processing circuits replacing the processing circuit 209. The plurality of processing circuits share the role of the processing circuit 209.
  • processing circuit 209 some functions may be realized by dedicated hardware, and the remaining functions may be realized by software or firmware.
  • the processing circuit 209 can be realized by hardware, software, firmware, or a combination thereof.
  • the hardware configuration of the authentication server 300 will be described based on FIG.
  • the authentication server 300 includes a processing circuit 309.
  • the processing circuit 309 is hardware that implements the authentication unit 310.
  • the processing circuit 309 may be dedicated hardware or a processor 301 that executes a program stored in the memory 302.
  • the processing circuit 309 is dedicated hardware, the processing circuit 309 is, for example, a single circuit, a composite circuit, a programmed processor, a parallel programmed processor, an ASIC, an FPGA, or a combination thereof.
  • the authentication server 300 may include a plurality of processing circuits replacing the processing circuit 309. The plurality of processing circuits share the role of the processing circuit 309.
  • processing circuit 309 some functions may be realized by dedicated hardware, and the remaining functions may be realized by software or firmware.
  • the processing circuit 309 can be realized by hardware, software, firmware, or a combination thereof.
  • 100 authentication control system 101 network, 110 user terminal, 200 web server, 201 processor, 202 memory, 203 auxiliary storage device, 204 input / output interface, 209 processing circuit, 210 reception unit, 220 login decision unit, 230 account lock unit, 231 real account lock section, 232 virtual account lock section, 240 response section, 250 attack determination section, 251 address monitoring section, 252 address management section, 253 address determination section, 260 upper limit operation section, 261 change determination section, 262 upper limit change section 290 storage unit, 291 failed login management file, 292 login attempt data, 293 address table, 300 authentication server, 301 processor, 302 memory, 303 Auxiliary storage device, 304 input / output interface, 309 processing circuit, 310 authentication unit, 311 reception unit, 312 identifier determination unit, 313 lock state determination unit, 314 password determination unit, 315 response unit, 390 storage unit, 391 account management file, 410 Web server, 420 Authentication control device.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

認証サーバ(300)は、ログイン識別子と同じ登録識別子が存在するか判定する。前記ログイン識別子と同じ登録識別子が存在する場合、前記認証サーバは、ログインパスワードが正しいパスワードであるか判定する。認証が失敗した場合、ウェブサーバ(200)は、前記ログイン識別子と同じログイン識別子を用いたログインの失敗回数が上限回数に達しているか判定する。前記ログイン識別子と同じログイン識別子を用いたログインの失敗回数が上限回数に達している場合、前記ウェブサーバは、前記ログイン識別子と同じ登録識別子が存在するか否かに関わらず、アカウントロック画面を表示させる。

Description

認証制御システムおよび認証制御プログラム
 本発明は、ログイン時の認証制御に関するものである。
 ウェブアプリケーションのログインにおいて、一般的に、ユーザ識別子とパスワードとを用いた認証が行われる。
 このような認証に対して、任意のユーザ識別子に対して複数のパスワードを用いて、有効なアカウントを取得しようとする攻撃が行われる。この攻撃は、ブルートフォース攻撃(BF攻撃)と呼ばれる。
 BF攻撃では、ユーザ識別子を固定してパスワードを毎回変更してログインが繰り返し行われる。例えば、総当たり攻撃または辞書攻撃が行われる。総当たり攻撃は、ユーザ閾別子とパスワードとのそれぞれについて、全ての文字列(例えば、数字4桁の場合は0000から9999まで)を試す攻撃である。辞書攻撃は、ユーザ識別子とパスワードとのそれぞれについて、よく使用される文字列がリスト化されてリスト内の文字列を試す攻撃である。
 BF攻撃の一般的な対策として、有効なアカウントに対して一定回数以上のログイン失敗が発生した場合にアカウントロックが行われる。アカウントロックが行われると、そのアカウントが一定時間利用不可能になる。または、アカウントロックが管理者によって解除されるまで、そのアカウントが利用不可能になる。
 一般的に、アカウントロックされたことがBF攻撃の実行者に判明しないよう、ウェブアプリケーションは、アカウントロックの有無によって、ログイン試行の応答画面を変更しない。
 正規ユーザがユーザ識別子とパスワードとを誤って覚えている場合、一定回数以上のログイン失敗が発生し、アカウントロックされてしまう。このとき、ログイン試行の応答画面が変更されないと、正規ユーザがアカウントロックに気付かないことがある。
 特許文献1において、不要なアカウントロックが発生することを低減させることを目的とした認証方式が提案されている。
 この認証方式では、正規ユーザがパスワードを誤って覚えている場合が想定される。一定期間内に有効なユーザ識別子と同じパスワードとの組が使用されてログインが繰り返し失敗した場合、ウェブアプリケーションを介して、ユーザに既に失敗しているパスワードであることが通知される。これにより、アカウントロックのトリガーとなるカウントを増加させないようにすることが可能となる。
 しかし、攻撃者が任意のユーザ識別子を使用してログインを2回試行すると、試行されたユーザ識別子が有効なユーザ識別子であると判明してしまう場合がある。具体的には、試行されたユーザ識別子が有効なユーザ識別子である場合、既に失敗しているパスワードが表示される。この場合、試行されたユーザ識別子が有効なユーザ識別子であることが判明してしまう。
 また、正規ユーザがユーザ識別子を誤って覚えている場合、入力されたユーザ識別子が有効でないため、ログイン失敗時にウェブアプリケーションの画面に変化がない。そのため、正規ユーザは、入力したユーザ識別子が誤っていることに気付くことができない。
 特許文献2において、アカウントロックされたユーザがアカウントロックを解除することによってアカウントロック後のユーザの利便性を向上させることを目的とした認証方式が提案されている。
 この認証方式では、通常アカウントと解除用アカウントとが生成される。通常アカウントがアカウントロックされた場合、ウェブアプリケーションを介して、解除用アカウントの入力が指示される。ユーザは、解除用アカウントを入力することにより、通常アカウントのアカウントロックを解除することができる。
 しかし、攻撃者が任意のユーザ識別子を使用してBF攻撃を実行すると、有効な通常アカウントが判明してしまう場合がある。具体的には、使用されたユーザ識別子が有効なユーザ識別子である場合、解除用アカウントの入力が表示される。この場合、使用されたユーザ識別子が有効な通常アカウントであることが判明してしまう。
 また、正規ユーザが通常アカウントを誤って覚えている場合、入力された通常アカウントが有効なアカウントでないため、ログイン失敗時にウェブアプリケーションの画面に変化がない。そのため、正規ユーザは、入力した通常アカウントが誤っていることに気付くことができない。
特開2016-119017号公報 特開2008-046867号公報
 正規ユーザがユーザ識別子またはパスワードを誤って覚えている場合、正規ユーザは、ユーザ識別子とパスワードとの誤った組によってログインを複数回試行する。そして、アカウントロックが発生する。しかし、ウェブアプリケーションの画面にはアカウントロックを示す情報が表示されない。そのため、正規ユーザがさらにログインを試行することとなり、ユーザの利便性を下げてしまう。
 また、ウェブアプリケーションの画面にアカウントロックを示す情報が表示される場合、試行されたユーザ識別子が有効なユーザ識別子であることが攻撃者に判明してしまう。そして、そのユーザ識別子が更なる攻撃に利用される可能性がある。
 本発明は、正規ユーザがユーザ識別子またはパスワードを誤って覚えている場合であっても、セキュリティを保ったまま、正規ユーザの利便性を向上できるようにすることを目的とする。
 本発明の認証制御システムは、
 ログイン識別子とログインパスワードとを受け付ける受付部と、
 1つ以上の登録識別子と1つ以上の登録パスワードとが互いに対応付けられたアカウント管理ファイルに基づいて前記ログイン識別子と同じ登録識別子が存在するか判定する識別子判定部と、
 前記ログイン識別子と同じ登録識別子が存在する場合に前記アカウント管理ファイルに基づいて前記ログインパスワードが正しいパスワードであるか判定するパスワード判定部と、
 前記ログイン識別子と同じ登録識別子が存在し、且つ、前記ログインパスワードが正しいパスワードでなく、且つ、前記ログイン識別子と同じログイン識別子を用いたログインの失敗回数が上限回数に達している場合に、アカウントロック画面を表示させる実在アカウントロック部と
 前記ログイン識別子と同じ登録識別子が存在せず、且つ、前記ログイン識別子と同じログイン識別子を用いたログインの失敗回数が前記上限回数に達している場合に、アカウントロック画面を表示させる仮想アカウントロック部とを備える。
 本発明によれば、ログイン識別子がアカウント管理ファイル上の登録識別子のいずれかに一致するか否かに関わらず、アカウントロック画面が表示される。
 アカウントロック画面が表示されると、正規ユーザは、ログイン識別子またはログインパスワードを誤って覚えていることを知ることができる。そのため、その後に、正規ユーザによる不要なログイン試行が発生しない。また、ログイン識別子がアカウント管理ファイル上の登録識別子と一致するか否かに関わらずアカウントロック画面が表示されるため、攻撃者は、ログイン識別子が有効なユーザ識別子であるか否かを判断することができない。
 したがって、セキュリティを保ったまま、正規ユーザの利便性を向上させることが可能である。
実施の形態1における認証制御システム100の構成図。 実施の形態1におけるウェブサーバ200の構成図。 実施の形態1における認証サーバ300の構成図。 実施の形態1における失敗ログイン管理ファイル291の構成図。 実施の形態1におけるログイン試行データ292の構成図。 実施の形態1におけるアカウント管理ファイル391の構成図。 実施の形態1における認証制御方法のフローチャート。 実施の形態1における認証処理(S110)のフローチャート。 実施の形態1におけるログイン失敗処理(S130)のフローチャート。 実施の形態1における実在アカウント処理(S132)のフローチャート。 実施の形態1における仮想アカウント処理(S133)のフローチャート。 実施の形態1における応答内容パターンを示す表。 実施の形態2におけるウェブサーバ200の構成図。 実施の形態2におけるアドレステーブル293の構成図。 実施の形態2における認証制御方法のフローチャート。 実施の形態2におけるアドレス監視処理(S210)のフローチャート。 実施の形態2におけるアドレス決定処理(S250)のフローチャート。 実施の形態3におけるウェブサーバ200の構成図。 実施の形態3における実在アカウント処理(S132)のフローチャート。 実施の形態3における仮想アカウント処理(S133)のフローチャート。 実施の形態3における上限操作処理(S300)のフローチャート。 実施の形態4における認証制御システム100の構成例を示す図。 実施の形態におけるウェブサーバ200のハードウェア構成図。 実施の形態における認証サーバ300のハードウェア構成図。
 実施の形態および図面において、同じ要素または対応する要素には同じ符号を付している。説明した要素と同じ符号が付された要素の説明は適宜に省略または簡略化する。図中の矢印はデータの流れ又は処理の流れを主に示している。
 実施の形態1.
 認証制御システム100について、図1から図12に基づいて説明する。
***構成の説明***
 図1に基づいて、認証制御システム100の構成を説明する。
 認証制御システム100は、ユーザ端末110とウェブサーバ200と認証サーバ300とを備える。
 ユーザ端末110は、ウェブアプリケーションを利用するためにユーザ認証を受けるコンピュータである。
 ウェブサーバ200は、ユーザ端末110に対するユーザ認証を制御するサーバ装置である。
 認証サーバ300は、ユーザ認証を行うサーバ装置である。
 ウェブサーバ200は、ネットワーク101を介して、ユーザ端末110と認証サーバ300と通信する。
 図2に基づいて、ウェブサーバ200の構成を説明する。
 ウェブサーバ200は、プロセッサ201とメモリ202と補助記憶装置203と入出力インタフェース204といったハードウェアを備えるコンピュータである。これらのハードウェアは、信号線を介して互いに接続されている。
 プロセッサ201は、演算処理を行うIC(Integrated Circuit)であり、他のハードウェアを制御する。例えば、プロセッサ201は、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、またはGPU(Graphics Processing Unit)である。
 メモリ202は揮発性の記憶装置である。メモリ202は、主記憶装置またはメインメモリとも呼ばれる。例えば、メモリ202はRAM(Random Access Memory)である。メモリ202に記憶されたデータは必要に応じて補助記憶装置203に保存される。
 補助記憶装置203は不揮発性の記憶装置である。例えば、補助記憶装置203は、ROM(Read Only Memory)、HDD(Hard Disk Drive)、またはフラッシュメモリである。補助記憶装置203に記憶されたデータは必要に応じてメモリ202にロードされる。
 入出力インタフェース204は入力装置および出力装置が接続されるポートである。例えば、入出力インタフェース204はUSB端子であり、入力装置はキーボード、マウスおよびレシーバであり、出力装置はディスプレイおよびトランスミッタである。USBはUniversal Serial Busの略称である。
 ウェブサーバ200は、受付部210とログイン判定部220とアカウントロック部230と応答部240といった要素を備える。これらの要素はソフトウェアで実現される。
 アカウントロック部230は、実在アカウントロック部231と仮想アカウントロック部232とを含む。
 補助記憶装置203には、受付部210とログイン判定部220とアカウントロック部230と応答部240としてコンピュータを機能させるための認証制御プログラムが記憶されている。認証制御プログラムは、メモリ202にロードされて、プロセッサ201によって実行される。
 さらに、補助記憶装置203にはOS(Operating System)が記憶されている。OSの少なくとも一部は、メモリ202にロードされて、プロセッサ201によって実行される。
 つまり、プロセッサ201は、OSを実行しながら、認証制御プログラムを実行する。
 認証制御プログラムを実行して得られるデータは、メモリ202、補助記憶装置203、プロセッサ201内のレジスタ、または、プロセッサ201内のキャッシュメモリといった記憶装置に記憶される。
 補助記憶装置203は記憶部290として機能する。但し、他の記憶装置が、補助記憶装置203の代わりに、又は、補助記憶装置203と共に、記憶部290として機能してもよい。
 ウェブサーバ200は、プロセッサ201を代替する複数のプロセッサを備えてもよい。複数のプロセッサは、プロセッサ201の役割を分担する。
 認証制御プログラムは、光ディスクまたはフラッシュメモリ等の不揮発性の記録媒体にコンピュータ読み取り可能に記録(格納)することができる。
 図3に基づいて、認証サーバ300の構成を説明する。
 認証サーバ300は、プロセッサ301とメモリ302と補助記憶装置303と入出力インタフェース304といったハードウェアを備えるコンピュータである。これらのハードウェアは、信号線を介して互いに接続されている。
 プロセッサ301は、演算処理を行うICであり、他のハードウェアを制御する。例えば、プロセッサ301はCPU、DSPまたはGPUである。
 メモリ302は揮発性の記憶装置である。メモリ302は、主記憶装置またはメインメモリとも呼ばれる。例えば、メモリ302はRAMである。メモリ302に記憶されたデータは必要に応じて補助記憶装置303に保存される。
 補助記憶装置303は不揮発性の記憶装置である。例えば、補助記憶装置303は、ROM、HDDまたはフラッシュメモリである。補助記憶装置303に記憶されたデータは必要に応じてメモリ302にロードされる。
 入出力インタフェース304は入力装置および出力装置が接続されるポートである。例えば、入出力インタフェース304はUSB端子であり、入力装置はキーボード、マウスおよびレシーバであり、出力装置はディスプレイおよびトランスミッタである。
 認証サーバ300は、認証部310を備える。認証部310はソフトウェアで実現される。
 認証部310は、受付部311と識別子判定部312とロック状態判定部313とパスワード判定部314と応答部315とを含む。
 補助記憶装置303には、認証部310としてコンピュータを機能させるための認証プログラムが記憶されている。認証プログラムは、メモリ302にロードされて、プロセッサ301によって実行される。
 さらに、補助記憶装置303にはOSが記憶されている。OSの少なくとも一部は、メモリ302にロードされて、プロセッサ301によって実行される。
 つまり、プロセッサ301は、OSを実行しながら、認証プログラムを実行する。
 認証プログラムを実行して得られるデータは、メモリ302、補助記憶装置303、プロセッサ301内のレジスタ、または、プロセッサ301内のキャッシュメモリといった記憶装置に記憶される。
 補助記憶装置303は記憶部390として機能する。但し、他の記憶装置が、補助記憶装置303の代わりに、又は、補助記憶装置303と共に、記憶部390として機能してもよい。
 認証サーバ300は、プロセッサ301を代替する複数のプロセッサを備えてもよい。複数のプロセッサは、プロセッサ301の役割を分担する。
 認証プログラムは、光ディスクまたはフラッシュメモリ等の不揮発性の記録媒体にコンピュータ読み取り可能に記録(格納)することができる。
 認証プログラムは、認証制御プログラムの一部である。
 図4に基づいて、失敗ログイン管理ファイル291の構成を説明する。失敗ログイン管理ファイル291は記憶部290に記憶される。
 失敗ログイン管理ファイル291は、1つ以上の試行識別子と1つ以上の試行回数とを互いに対応付ける。
 試行識別子は、ログインの失敗時にログイン識別子として指定されたユーザ識別子である。
 試行回数は、ログイン試行識別子を用いたログインの失敗回数である。
 例えば、図4の失敗ログイン管理ファイル291は、「RED」というユーザ識別子を用いたログインが9回失敗していることを示している。
 図5に基づいて、ログイン試行データ292の構成を説明する。ログイン試行データ292は記憶部290に記憶される。
 ログイン試行データ292は、直近の試行識別子とその試行回数とを含む。
 図6に基づいて、アカウント管理ファイル391の構成を説明する。アカウント管理ファイル391は記憶部390に記憶される。
 アカウント管理ファイル391は、1つ以上の登録識別子と1つ以上の登録パスワードと1つ以上のロック状態フラグとを互いに対応付ける。
 登録識別子は、登録されているユーザ識別子である。つまり、登録識別子は、正規ユーザのユーザ識別子である。
 登録パスワードは、登録されているユーザパスワードである。つまり、登録パスワードは、正規ユーザのパスワードである。アスタリスクはパスワードを表している。
 登録識別子と登録パスワードとの組をアカウントと呼ぶ。
 ロック状態フラグは、アカウントのロック状態を示す。具体的には、ロック状態フラグは、未ロックまたはロック中を示す。
 未ロックは、アカウントがロックされていない状態を意味する。
 ロック中は、アカウントがロックされている状態を意味する。
***動作の説明***
 認証制御システム100の動作は認証制御方法に相当する。また、認証制御方法の手順は認証制御プログラムの手順に相当する。
 図7に基づいて、認証制御方法を説明する。
 ステップS101において、ユーザは、ログイン識別子とログインパスワードとをユーザ端末110に入力する。
 ログイン識別子は、ログインのために指定されたユーザ識別子である。
 ログインパスワードは、ログインのために指定されたユーザパスワードである。
 ログイン識別子とログインパスワードとを含んだデータをログインデータという。
 ユーザ端末110は、ログインデータをウェブサーバ200に送信する。
 ウェブサーバ200において、受付部210は、ログインデータを受信する。つまり、受付部210は、ログインデータを受け付ける。
 ステップS110において、認証サーバ300は、ログインデータに基づいて認証処理を行う。
 図8に基づいて、認証処理(S110)を説明する。
 ステップS111において、ログイン判定部220は、ログインデータを認証サーバ300に送信する。
 認証サーバ300において、受付部311は、ログインデータを受信する。つまり、受付部311は、ログインデータを受け付ける。つまり、受付部311は、ログイン識別子とログインパスワードとを受け付ける。
 ステップS112において、識別子判定部312は、アカウント管理ファイル391に基づいて、ログイン識別子と同じ登録識別子が存在するか判定する。
 具体的には、識別子判定部312は、ログイン識別子と同じ登録識別子がアカウント管理ファイル391に含まれるか判定する。ログイン識別子と同じ登録識別子がアカウント管理ファイル391に含まれる場合、識別子判定部312は、ログイン識別子と同じ登録識別子が存在すると判定する。
 ログイン識別子と同じ登録識別子が存在する場合、処理はステップS113に進む。
 ログイン識別子と同じ登録識別子が存在しない場合、処理はステップS116に進む。
 ステップS113において、ロック状態判定部313は、アカウント管理ファイル391に基づいて、ログイン識別子に対応するアカウントのロック状態を判定する。
 具体的には、ロック状態判定部313は、ログイン識別子と同じ登録識別子に対応付けられたロック状態フラグをアカウント管理ファイル391から選択する。そして、ロック状態判定部313は、選択されたロック状態フラグに基づいてアカウントのロック状態を判定する。
 ログイン識別子に対応するアカウントのロック状態が未ロックである場合、処理はステップS114に進む。
 ログイン識別子に対応するアカウントのロック状態がロック中である場合、処理はステップS117に進む。
 ステップS114において、パスワード判定部314は、アカウント管理ファイル391に基づいて、ログインパスワードが正しいパスワードであるか判定する。
 具体的には、パスワード判定部314は、ログイン識別子と同じ登録識別子に対応付けられた登録パスワードをアカウント管理ファイル391から選択する。そして、パスワード判定部314は、ログインパスワードを、選択された登録パスワードと比較する。ログインパスワードが選択された登録パスワードと一致する場合、パスワード判定部314は、ログインパスワードが正しいパスワードであると判定する。
 ログインパスワードが正しいパスワードである場合、処理はステップS115に進む。
 ログインパスワードが正しいパスワードでない場合、処理はステップS118に進む。
 ステップS115において、応答部315は、認証結果(認証成功)をウェブサーバ200に送信する。つまり、応答部315は、認証結果(認証成功)を応答する。
 ウェブサーバ200において、ログイン判定部220は、認証結果(認証成功)を受信する。
 認証結果(認証成功)は、認証が成功したことを示す認証結果である。
 ステップS116において、応答部315は、認証結果(アカウント無し)をウェブサーバ200に送信する。つまり、応答部315は、認証結果(アカウント無し)を応答する。
 ウェブサーバ200において、ログイン判定部220は、認証結果(アカウント無し)を受信する。
 認証結果(アカウント無し)は、「アカウント無し」を理由に認証が失敗したことを示す認証結果である。
 「アカウント無し」は、ログイン識別子と同じ登録識別子が存在しないこと、つまり、ログイン識別子に対応するアカウントが存在しないことを意味する。
 ステップS117において、応答部315は、認証結果(ロック中)をウェブサーバ200に送信する。つまり、応答部315は、認証結果(ロック中)を応答する。
 ウェブサーバ200において、ログイン判定部220は、認証結果(ロック中)を受信する。
 認証結果(ロック中)は、「ロック中」を理由に認証が失敗したことを示す認証結果である。
 「ロック中」は、ログイン識別子に対応するアカウントのロック状態がロック中であることを意味する。
 ステップS118において、応答部315は、認証結果(パスワード誤り)をウェブサーバ200に送信する。つまり、応答部315は、認証結果(パスワード誤り)を応答する。
 ウェブサーバ200において、ログイン判定部220は、認証結果(パスワード誤り)を受信する。
 認証結果(パスワード誤り)は、「パスワード誤り」を理由に認証が失敗したことを示す認証結果である。
 「パスワード誤り」は、ログインパスワードが正しいパスワードでないことを意味する。
 図7に戻り、ステップS121から説明を続ける。
 ステップS121において、ログイン判定部220は、認証結果に基づいてログイン許否を判定する。
 認証結果が認証成功を示す場合、ログイン判定部220はログインを許可する。認証結果が認証失敗を示す場合、ログイン判定部220はログインを許可しない。
 ログインが許可される場合、処理はステップS122に進む。
 ログインが許可されない場合、処理はステップS130に進む。
 ステップS122において、応答部240は、ログイン成功を示すログイン結果データをユーザ端末110に送信する。つまり、応答部240はログイン成功を応答する。
 ユーザ端末110は、ログイン結果データを受信する。ログイン結果データがログイン成功を示す場合、ユーザ端末110は、ログイン後の画面をディスプレイに表示する。
 ステップS130において、アカウントロック部230は、認証結果に基づいてログイン失敗処理を行う。
 図9に基づいて、ログイン失敗処理(S130)を説明する。
 ステップS131において、ログイン判定部220は、認証結果に基づいて、認証失敗の理由を判定する。
 認証失敗の理由が「パスワード誤り」である場合、処理はステップS132に進む。
 認証失敗の理由が「アカウント無し」である場合、処理はステップS133に進む。
 認証結果の理由が「ロック中」である場合、処理はステップS134に進む。
 ステップS132において、ウェブサーバ200は実在アカウント処理を行う。
 実在アカウント処理は、アカウント管理ファイル391に登録されているアカウント、すなわち、実在するアカウントのための処理である。
 実在アカウン処理(S132)の詳細については後述する。
 ステップS133において、ウェブサーバ200は仮想アカウント処理を行う。
 仮想アカウント処理は、アカウント管理ファイル391に登録されていないアカウント、すなわち、実在しないアカウントのための処理である。
 仮想アカウント処理(S133)の詳細については後述する。
 ステップS134において、実在アカウントロック部231は、アカウントロック画面をユーザ端末110に表示させるために、アカウントロックを応答する。
 アカウントロック画面は、アカウントがロックされた状態であることをユーザに知らせるための画面である。
 具体的には、実在アカウントロック部231は、アカウントロックの応答を応答部240に指示する。応答部240は、アカウントロックを示すログイン結果データをユーザ端末110に送信する。ユーザ端末110は、ログイン結果データを受信する。ログイン結果データがアカウントロックを示す場合、ユーザ端末110は、アカウントロック画面をディスプレイに表示する。
 図10に基づいて、実在アカウントロック処理(S132)を説明する。
 ステップS1321において、ログイン判定部220は、ログイン識別子の試行回数を取得する。
 ログイン識別子の試行回数は、同じログイン識別子を用いたログインの失敗回数である。
 具体的には、ログイン判定部220は、ログイン識別子の試行回数を以下のように取得する。
 ログイン判定部220は、ログイン識別子がログイン試行データ292の中の試行識別子と同じであるか判定する。
 ログイン識別子がログイン試行データ292の中の試行識別子と同じである場合、ログイン判定部220は、ログイン試行データ292の中の試行回数を1増加させる。そして、ログイン判定部220は、ログイン試行データ292から試行回数を取得する。
 さらに、ログイン判定部220は、ログイン識別子と同じ試行識別子を見つけるため、失敗ログイン管理ファイル291を検索する。ログイン識別子と同じ試行識別子が失敗ログイン管理ファイル291に登録されている場合、ログイン判定部220は、ログイン識別子と同じ試行識別子に対応付けられている試行回数を1増加させる。ログイン識別子と同じ試行識別子が失敗ログイン管理ファイル291に登録されていない場合、ログイン判定部220は、ログイン試行データ292の中の試行回数を失敗ログイン管理ファイル291の中の最小の試行回数と比較する。ログイン試行データ292の中の試行回数が失敗ログイン管理ファイル291の中の最小の試行回数より大きい場合、ログイン判定部220は、失敗ログイン管理ファイル291の中の最小の試行回数に対応付けられた試行識別子をログイン試行データ292の中の試行識別子に置き換え、失敗ログイン管理ファイル291の中の最小の試行回数をログイン試行データ292の中の試行回数に置き換える。
 ログイン識別子がログイン試行データ292の中の試行識別子と異なる場合、ログイン判定部220は、ログイン試行データ292の中の試行識別子をログイン識別子に変更し、ログイン試行データ292の中の試行回数を1にリセットする。そして、ログイン判定部220は、ログイン試行データ292から試行回数を取得する。
 ステップS1322において、ログイン判定部220は、ログイン識別子の試行回数が上限回数に達しているか判定する。上限回数は、試行回数の上限であり、予め決められる。
 具体的には、ログイン判定部220は、ログイン識別子の試行回数を上限回数と比較する。ログイン識別子の試行回数が上限回数以上である場合、ログイン判定部220は、ログイン識別子の試行回数が上限回数に達していると判定する。
 ログイン識別子の試行回数が上限回数に達している場合、処理はステップS1323に進む。
 ログイン識別子の試行回数が上限回数に達していない場合、処理はステップS1325に進む。
 ステップS1323において、実在アカウントロック部231は、認証サーバ300のアカウント管理ファイル391にアクセスし、ログイン識別子と同じ登録識別子をアカウント管理ファイル391から選択する。そして、実在アカウントロック部231は、選択した登録識別子に対応付けられたロック状態フラグに「ロック中」を設定する。
 ステップS1324において、実在アカウントロック部231は、アカウントロック画面をユーザ端末110に表示させるために、アカウントロックを応答する。
 ステップS1324の処理は、ステップS134の処理と同じである(図9参照)。
 ステップS1325において、応答部240は、認証失敗を示すログイン結果データをユーザ端末110に送信する。つまり、応答部240は認証失敗を応答する。
 ユーザ端末110は、ログイン結果データを受信する。ログイン結果データが認証失敗を示す場合、ユーザ端末110は、認証失敗画面をディスプレイに表示する。
 認証失敗画面は、ユーザが認証されなかったことをユーザに知らせるための画面である。具体的には、認証失敗画面は、ログイン識別子とログインパスワードとの組が正しくないことをユーザに知らせる。
 図11に基づいて、仮想アカウント処理(S133)を説明する。
 ステップS1331において、ログイン判定部220は、ログイン識別子の試行回数を取得する。
 ステップS1331の処理は、ステップS1321の処理と同じである(図10参照)。
 ステップS1332において、ログイン判定部220は、ログイン識別子の試行回数が上限回数に達しているか判定する。
 ステップS1332の処理は、ステップS1322の処理と同じである(図10参照)。
 ログイン識別子の試行回数が上限回数に達している場合、処理はステップS1333に進む。
 ログイン識別子の試行回数が上限回数に達していない場合、処理はステップS1334に進む。
 ステップS1333において、仮想アカウントロック部232は、アカウントロック画面をユーザ端末110に表示させるために、アカウントロックを応答する。
 ステップS1333の処理は、ステップS134の処理と同じである(図9参照)。
 ステップS1334において、応答部240は、認証失敗を示すログイン結果データをユーザ端末110に送信する。つまり、応答部240は認証失敗を応答する。
 ステップS1334の処理は、ステップS1325の処理と同じである(図10参照)。
 図12に基づいて、認証失敗時の応答内容を説明する。
 ログイン識別子の試行回数が上限未満であり、且つ、ログイン識別子に対応するアカウントが無い場合、ロック状態に関わらず、応答内容は認証失敗となる。
 ログイン識別子の試行回数が上限未満であり、且つ、ログイン識別子に対応するアカウントが有り、且つ、ロック状態が未ロックである場合、応答内容は認証失敗となる。
 ログイン識別子の試行回数が上限未満であり、且つ、ログイン識別子に対応するアカウントが有り、且つ、ロック状態がロック中である場合、応答内容はアカウントロックとなる。
 ログイン識別子の試行回数が上限以上であり、且つ、ログイン識別子に対応するアカウントが無い場合、ロック状態に関わらず、応答内容はアカウントロックとなる。
 ログイン識別子の試行回数が上限以上であり、且つ、ログイン識別子に対応するアカウントが有り、且つ、ロック状態が未ロックである場合、応答内容はアカウントロックとなる。また、ロック状態は未ロックからロック中に変わる。
 ログイン識別子の試行回数が上限以上であり、且つ、ログイン識別子に対応するアカウントが有り、且つ、ロック状態がロック中である場合、応答内容はアカウントロックとなる。
***実施の形態1の補足***
 アカウント(登録識別子および登録パスワード)の変更、追加および削除が、ウェブアプリケーションを介して、または、管理者によって可能であることが望ましい。
 アカウントのロック状態の「ロック中」から「未ロック」への変更は、管理者によって可能である。この変更が一般のユーザによって行われないようにすることが望ましい。
 失敗ログイン管理ファイル291が試行回数が上限回数に満たない試行識別子で埋まることを防ぐ必要がある。例えば、失敗ログイン管理部をウェブサーバ200に備える。認証が成功した場合、失敗ログイン管理部はログイン識別子と同じ試行識別子を失敗ログイン管理ファイル291から削除する。失敗ログイン管理部は、管理者からウェブサーバ200への指示に従って失敗ログイン管理ファイル291を編集してもよいし、失敗ログイン管理ファイル291を定期的にリセットしてもよい。
 アカウントロック画面は、他のアカウントのユーザ識別子およびパスワードを入力させるためのユーザインタフェースを含んでもよい。
 アカウントロック画面は、アカウントのロック状態を解除する方法をユーザに提示するためのメッセージを含んでもよい。例えば、メッセージは、ユーザ識別子およびユーザパスワードを使用する認証ではなく、電子メールまたは電話などの通信方法を利用して正規ユーザのみが知る情報を使用する認証、を実施するようことをユーザに提示する。
***実施の形態1の効果***
 正規ユーザが認証情報(ユーザ識別子およびユーザパスワード)を誤って覚えている場合でも、攻撃者に試行識別子に対応するアカウントの有無を判明されることなく、正規ユーザに認証情報が誤っていることを通知することができる。
 正規ユーザが認証情報を誤って覚えている場合と正規ユーザがユーザパスワードのみを誤って覚えている場合とのいずれの場合であっても、アカウントロック画面が表示される。そのため、正規ユーザは他の認証方式で認証を受けざるを得ない。したがって、アカウントロック後、正規ユーザは、誤ったユーザ識別子または誤ったユーザパスワードを使用した認証を繰り返すという不要な認証を行わなくてよい。
 攻撃者が様々なユーザ識別子を使用するBF攻撃を実施しても、攻撃者には全てユーザ識別子が有効なユーザ識別子であるかのように確認できる。そのため、BF攻撃を困難にすることができる。
 実施の形態2.
 攻撃者によるログイン試行を検知する形態について、主に実施の形態1と異なる点を図13から図17に基づいて説明する。
***構成の説明***
 認証制御システム100の構成は、実施の形態1における構成と同じである(図1参照)。
 図13に基づいて、ウェブサーバ200の構成を説明する。
 ウェブサーバ200は、さらに、攻撃判定部250を備える。攻撃判定部250は、アドレス監視部251とアドレス管理部252とアドレス決定部253とを備える。
 認証制御プログラムは、さらに、攻撃判定部250としてコンピュータを機能させる。
 図14に基づいて、試行識別子別のアドレステーブル293の構成を説明する。試行識別子別のアドレステーブル293は、記憶部290に記憶される。
 アドレステーブル293は、認証が失敗したログイン毎に試行元アドレスを示す。
 試行識別子は、認証が失敗したログインにおいてログイン識別子として使用されたユーザ識別子である。
 試行元アドレスは、認証が失敗したログインにおけるログインデータの送信元アドレスである。具体的には、送信元アドレスの種類はIPアドレスである。IPはInternet Protocolの略称である。
 アドレステーブル293Rは、「Red」という試行識別子用のアドレステーブル293である。アドレステーブル293Rは、「Red」がログイン識別子として使用されたログインが4回失敗したことを示している。また、アドレステーブル293Rは、失敗したログインそれぞれにおける送信元アドレス(試行元アドレス)を示している。
 アドレステーブル293Yは、「Yellow」という試行識別子用のアドレステーブル293である。アドレステーブル293Yは、「Yellow」がログイン識別子として使用されたログインが3回失敗したことを示している。また、アドレステーブル293Yは、失敗したログインそれぞれにおける送信元アドレス(試行元アドレス)を示している。
 アドレステーブル293Xは、「X」という試行識別子用のアドレステーブル293である。アドレステーブル293Xは、「X」がログイン識別子として使用されたログインが1回失敗したことを示している。また、アドレステーブル293Xは、失敗したログインにおける送信元アドレス(試行元アドレス)を示している。
***動作の説明***
 図15に基づいて、認証制御方法を説明する。
 ステップS201において、受付部210は、ログインデータを受信する。ログインデータは、ログイン識別子とログインパスワードとを含む。
 ステップS201の処理は、実施の形態1におけるステップS101の処理と同じである。
 ステップS210において、アドレス監視部251は、アドレス監視処理を行う。
 アドレス監視処理(S210)において、アドレス監視部251は、受信されたログインデータの送信元アドレスが監視対象アドレスと同じアドレスである場合に攻撃通知を行う。また、アドレス監視部251は、受信されたログインデータの送信元アドレスが監視対象アドレスと同じアドレスである場合にアカウントロック画面を表示させる。
 図16に基づいて、アドレス監視処理(S210)の手順を説明する。
 アドレス監視処理(S210)において、監視対象リストが使用される。
 監視対象リストは、1つ以上の監視対象アドレスを示すリストであり、記憶部290に記憶される。
 監視対象アドレスは、監視の対象となる送信元アドレスである。
 ステップS211において、監視対象リストに監視対象アドレスが1つも登録されていない場合、アドレス監視処理(S210)は終了する。
 監視対象リストに1つ以上の監視対象アドレスが登録されている場合、アドレス監視部251は以下のように動作する。
 まず、アドレス監視部251は、ログインデータのヘッダから送信元アドレスを抽出する。
 そして、アドレス監視部251は、送信元アドレスをそれぞれの監視対象アドレスと比較することによって、送信元アドレスがいずれかの監視対象アドレスと同じアドレスであるか判定する。
 送信元アドレスがいずれかの監視対象アドレスと同じアドレスである場合、処理はステップS212に進む。
 送信元アドレスがいずれの監視対象アドレスとも異なるアドレスである場合、アドレス監視処理(S210)は終了する。
 ステップS212において、アドレス監視部251は、攻撃通知を行う。
 攻撃通知は、攻撃の可能性が高いアドレスからのアクセスがあったことを通知することである。言い換えると、攻撃通知は、攻撃者によって試行されたと推定されるログインの発生を通知することである。
 具体的には、アドレス監視部251は、攻撃通知メッセージを管理者のアドレス宛てに送信する。または、アドレス監視部251は、攻撃通知メッセージを監視装置へ送信する。管理者のアドレスおよび監視装置のアドレスは記憶部290に予め登録されている。
 ステップS213において、アドレス監視部251は、アカウントロック画面をユーザ端末110に表示させるために、アカウントロックを応答する。
 ステップS213の処理は、実施の形態1におけるステップS134の処理と同じである(図9参照)。
 ステップS213の後、アドレス監視処理(S210)は終了する。
 図15に戻り、アドレス監視処理(S210)の後の処理を説明する。
 アドレス監視処理(S210)において攻撃通知が行われた場合、処理は終了する。
 アドレス監視処理(S210)において攻撃通知が行われなかった場合、処理はステップS220に進む。
 ステップS220において、認証サーバ300は、ログインデータに基づいて認証処理を行う。
 認証処理(S220)は、実施の形態1における認証処理(S110)と同じである。
 ステップS231において、ログイン判定部220は、認証結果に基づいてログイン許否を判定する。
 ステップS231の処理は、実施の形態1におけるステップS121の処理と同じである(図7参照)。
 ログインが許可される場合、処理はステップS232に進む。
 ログインが許可されない場合、処理はステップS233に進む。
 ステップS232において、応答部240は、ログイン成功を応答する。
 ステップS232の処理は、実施の形態1におけるステップS122の処理と同じである(図7参照)。
 ステップS233において、アドレス管理部252は、ログイン識別子と同じユーザ識別子用のアドレステーブル293にログインデータの送信元アドレスを登録する。
 ステップS240において、アカウントロック部230は、認証結果に基づいてログイン失敗処理を行う。
 ログイン失敗処理(S130)は、実施の形態1におけるログイン失敗処理(S130)と同じである。
 但し、ステップS240において、アドレス監視部251は、非攻撃通知を行ってもよい。
 非攻撃通知は、攻撃の可能性が低いアドレスからのアクセスがあったことを通知することである。言い換えると、非攻撃通知は、正規ユーザによって試行されたと推定されるログインの発生を通知することである。
 非攻撃通知の方法は、ステップS212における攻撃通知の方法と同じである。
 ステップS250において、アドレス決定部253は、アドレス決定処理を行う。
 アドレス決定処理(S250)において、アドレス決定部253は次のように動作する。アドレス決定部253は、ログイン識別子と同じユーザ識別子を用いたログインの失敗回数が上限回数に達している場合に、ログイン識別子と同じユーザ識別子用のアドレステーブル293に基づいて監視対象アドレスを決定する。
 図17に基づいて、アドレス決定処理(S250)の手順を説明する。
 ステップS251において、アドレス決定部253は、ログイン失敗処理(図15のS240)で行われた応答の種類を判定する。
 アカウントロックが応答された場合、処理はステップS252に進む。
 アカウントロックが応答されなかった場合、つまり、認証失敗が応答された場合、アドレス決定処理(S250)は終了する。
 ステップS252において、アドレス決定部253は、ログイン識別子と同じユーザ識別子用のアドレステーブル293を記憶部290から選択する。
 そして、アドレス決定部253は、選択したアドレステーブル293に基づいて、ログインデータの送信元アドレスが監視条件を満たすか判定する。
 例えば、アドレス決定部253は、選択したアドレステーブル293に含まれる試行元アドレスが全て同じであるか判定する。選択したアドレステーブル293に含まれる試行元アドレスが全て同じである場合、ログインデータの送信元アドレスは監視条件を満たす。
 例えば、アドレス決定部253は、選択したアドレステーブル293から、規定回数数以上含まれる試行元アドレスまたは規定割合以上含まれる試行元アドレスを選択する。そして、アドレス決定部253は、ログインデータの送信元アドレスが、選択した試行元アドレスと同じであるか判定する。ログインデータの送信元アドレスが、選択した試行元アドレスと同じである場合、ログインデータの送信元アドレスは監視条件を満たす。
 ログインデータの送信元アドレスが監視条件を満たす場合、処理はステップS253に進む。
 ログインデータの送信元アドレスが監視条件を満たさない場合、アドレス決定処理(S250)は終了する。
 ステップS253において、アドレス決定部253は、ログインデータの送信元アドレスを監視対象アドレスとして監視対象リストに登録する。
 ステップS253の後、アドレス決定処理(S250)は終了する。
***実施の形態2の効果***
 実施の形態1では、アカウントロック画面が表示されるのみであるため、認証が失敗したときのログインの試行者が正規ユーザと攻撃者とのいずれであるかが不明である。
 実施の形態2では、送信元アドレスが固定のIPである攻撃者からBF攻撃を行われた場合に、BF攻撃が行われたことを検知することが可能となる。
 正規ユーザは自身のユーザ識別子が正しいと認識している。そのため、アカウントロックが発生した場合、正規ユーザは別の認証方法を利用してアカウントロックを解除しようとする、と考えられる。一方、アカウントロックが発生した場合、攻撃者は同じユーザ識別子によるログインの試行が無効であると考えて他のユーザ識別子に対してBF攻撃を行う、と考えられる。
 実施の形態2では、アカウントロック後もログインを試みる動作を検知することで、攻撃者と正規ユーザとを区別して攻撃者を検知することができる。
 実施の形態3.
 ログインの失敗回数の上限を動的に変更する形態について、主に実施の形態1と異なる点を図18から図21に基づいて説明する。
***構成の説明***
 認証制御システム100の構成は、実施の形態1における構成と同じである(図1参照)。
 図18に基づいて、ウェブサーバ200の構成を説明する。
 ウェブサーバ200は、さらに、上限操作部260を備える。上限操作部260は、変更判定部261と上限変更部262とを備える。
 認証制御プログラムは、さらに、上限操作部260としてコンピュータを機能させる。
***動作の説明***
 認証制御方法における処理の流れは、実施の形態1と同じである(図7参照)。
 但し、実在アカウント処理(S132)および仮想アカウント処理(S133)において、上限操作処理が実行される。
 上限操作処理は、ログイン識別子の試行回数の上限(上限回数)を変更するための処理である。
 上限操作処理において、変更判定部261は、変更条件を満たすか判定する。例えば、変更判定部261は、ユーザ識別子毎のログインの失敗回数または単位時間当たりのログインの試行回数に基づいて、変更条件を満たすか判定する。単位時間当たりのログインの試行回数は、単位時間当たりにログインデータ(ログイン識別子およびログインパスワード)が受け付けられた回数に相当する。
 変更条件を満たす場合、上限変更部262は、ユーザ識別子毎のログインの失敗回数に基づいて、上限回数を変更する。
 上限操作処理の詳細については後述する。
 図19に基づいて、実在アカウント処理(S132)を説明する。
 ステップS1321において、ログイン判定部220は、ログイン識別子の試行回数を取得する。
 ステップS1321は、実施の形態1において説明した通りである(図10参照)。
 ステップS1322において、ログイン判定部220は、ログイン識別子の試行回数が上限回数に達しているか判定する。
 ステップS1322は、実施の形態1において説明した通りである(図10参照)。
 ログイン識別子の試行回数が上限に達している場合、処理はステップS1323に進む。
 ログイン識別子の試行回数が上限に達していない場合、処理はステップS300に進む。
 ステップS1323において、実在アカウントロック部231は、ログイン識別子に対応するロック状態フラグに「ロック中」を設定する。
 ステップS1324において、実在アカウントロック部231は、アカウントロックを応答する。
 ステップS1323およびステップS1324は、実施の形態1で説明した通りである(図10参照)。
 ステップS300において、上限操作部260は上限操作処理を行う。
 上限操作処理(S300)については後述する。
 上限操作処理(S300)において上限回数が変更された場合、処理はステップS311に進む。
 上限操作処理(S300)において上限回数が変更されなかった場合、処理はステップS1325に進む。
 ステップS311において、ログイン判定部220は、ログイン識別子の試行回数が上限回数に達しているか判定する。
 ステップS311の処理は、ステップS1322の処理と同じである。
 ログイン識別子の試行回数が上限に達している場合、処理はステップS1323に進む。
 ログイン識別子の試行回数が上限に達していない場合、処理はステップS1325に進む。
 ステップS1325において、応答部240は認証失敗を応答する。
 ステップS1325は、実施の形態1において説明した通りである(図10参照)。
 図20に基づいて、仮想アカウント処理(S133)を説明する。
 ステップS1331において、ログイン判定部220は、ログイン識別子の試行回数を取得する。
 ステップS1331は、実施の形態1において説明した通りである(図11参照)。
 ステップS1332において、ログイン判定部220は、ログイン識別子の試行回数が上限回数に達しているか判定する。
 ステップS1332は、実施の形態1において説明した通りである(図11参照)。
 ログイン識別子の試行回数が上限回数に達している場合、処理はステップS1333に進む。
 ログイン識別子の試行回数が上限回数に達していない場合、処理はステップS300に進む。
 ステップS300において、上限操作部260は上限操作処理を行う。
 上限操作処理(S300)については後述する。
 上限操作処理(S300)において上限回数が変更された場合、処理はステップS312に進む。
 上限操作処理(S300)において上限回数が変更されなかった場合、処理はステップS1334に進む。
 ステップS312において、ログイン判定部220は、ログイン識別子の試行回数が上限回数に達しているか判定する。
 ステップS312の処理は、ステップS1332の処理と同じである。
 ログイン識別子の試行回数が上限回数に達している場合、処理はステップS1333に進む。
 ログイン識別子の試行回数が上限回数に達していない場合、処理はステップS1334に進む。
 ステップS1334において、応答部240は認証失敗を応答する。
 ステップS1334は、実施の形態1において説明した通りである(図11参照)。
 図21に基づいて、上限操作処理(S300)を説明する。
 ステップS301において、変更判定部261は、変更条件を満たすか判定する。
 例えば、変更判定部261は、失敗ログイン管理ファイル291の中に試行回数が上限回数に達している試行識別子が存在するか判定する。試行回数が上限回数に達している試行識別子が存在する場合、変更条件を満たす。
 例えば、変更判定部261は、失敗ログイン管理ファイル291に基づいて、試行回数が上限回数に達していない試行識別子の数が閾値より多いか判定する。試行回数が上限回数に達していない試行識別子の数が閾値より多い場合、変更条件を満たす。
 例えば、変更判定部261は、単位時間当たりのログインの試行回数が閾値より多いか判定する。単位時間当たりのログインの試行回数が閾値より多い場合、変更条件を満たす。
 変更条件を満たす場合、処理はステップS302に進む。
 変更条件を満たさない場合、上限回数は変更されず、上限操作処理(S300)は終了する。
 ステップS302において、上限変更部262は、新たな上限回数を決定する。
 例えば、上限変更部262は、ユーザ識別子毎のログインの失敗回数に基づいて、新たな上限回数を決定する。具体的には、上限変更部262は、失敗ログイン管理ファイル291に登録されている試行回数の平均を算出する。算出される平均が新たな上限回数となる。
 ステップS303において、上限変更部262は、既定の上限回数を新たな上限回数に変更する。
 上限操作処理(S300)について補足する。
 上限回数が1回になって頻繁にアクセスロックが発生してしまうことを防ぐためには、上限回数のリセットが必要となる。
 例えば、ウェブサーバ200に管理部を備える。そして、管理部は、認証成功時のログイン識別子を失敗ログイン管理ファイル291から削除する。または、管理部は、定期的に、失敗ログイン管理ファイル291の中の試行回数をリセットする。管理部は、上限回数をリセットするためのその他の処理を行ってもよい。これらの処理は、人手によって行われてもよい。
***実施の形態3の効果***
 実施の形態1および実施の形態2では、攻撃者にアカウントロックの上限回数が判明してしまう恐れがある。アカウントロックの上限回数が判明すると、攻撃者は、上限回数に満たない回数でログイン試行を行うことができる。この場合、管理者は、攻撃されていることに気付かない可能性がある。
 実施の形態3では、アカウントロックの上限回数が動的に変更される。これにより、アカウントロックの上限回数が判明し難くなる。そのため、攻撃者は、上限回数に満たない回数でログイン試行を行うことが困難となる。
***他の構成***
 実施の形態3において実施の形態2を適用してもよい。つまり、実施の形態3において、ウェブサーバ200は攻撃判定部250を備えてもよい。
 実施の形態4.
 認証制御システム100の構成例について、主に実施の形態1から実施の形態3と異なる点を図22に基づいて説明する。
 認証制御システム100(図1参照)において、ウェブサーバ200と認証サーバ300とは、アプライアンス製品などに適用する場合、1つの筐体の中に搭載されてもよい。
 また、認証制御システム100は、ウェブサーバ200と認証サーバ300との組の代わりに、1つの認証制御装置を備えてもよい。
 認証制御システム100は、ウェブサーバ200の代わりに、複数の装置を備えてもよい。
 図22に示すように、認証制御システム100は、ウェブサーバ200の代わりに、ウェブサーバ410と認証制御装置420とを備えてもよい。
 ウェブサーバ410は、ウェブサーバ200と同様に各種のハードウェアを備えるコンピュータである。
 認証制御装置420は、ウェブサーバ200と同様に各種のハードウェアを備えるコンピュータである。
 認証サーバ300は、認証部310という要素を備える。認証サーバ300の記憶装置には、アカウント管理ファイル391が記憶される。
 ウェブサーバ410は、受付部210とログイン判定部220と応答部240といった要素を備える。
 認証制御装置420は、アカウントロック部230という要素を備える。認証制御装置420の記憶装置には、失敗ログイン管理ファイル291およびログイン試行データ292などが記憶される。アカウントロック部230は、ウェブアプリケーションから切り離すことが可能である。
***実施の形態の補足***
 図23に基づいて、ウェブサーバ200のハードウェア構成を説明する。
 ウェブサーバ200は処理回路209を備える。
 処理回路209は、受付部210とログイン判定部220とアカウントロック部230と応答部240と攻撃判定部250と上限操作部260とを実現するハードウェアである。
 処理回路209は、専用のハードウェアであってもよいし、メモリ202に格納されるプログラムを実行するプロセッサ201であってもよい。
 処理回路209が専用のハードウェアである場合、処理回路209は、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ASIC、FPGAまたはこれらの組み合わせである。
 ASICはApplication Specific Integrated Circuitの略称であり、FPGAはField Programmable Gate Arrayの略称である。
 ウェブサーバ200は、処理回路209を代替する複数の処理回路を備えてもよい。複数の処理回路は、処理回路209の役割を分担する。
 処理回路209において、一部の機能が専用のハードウェアで実現されて、残りの機能がソフトウェアまたはファームウェアで実現されてもよい。
 このように、処理回路209はハードウェア、ソフトウェア、ファームウェアまたはこれらの組み合わせで実現することができる。
 図24に基づいて、認証サーバ300のハードウェア構成を説明する。
 認証サーバ300は処理回路309を備える。
 処理回路309は、認証部310を実現するハードウェアである。
 処理回路309は、専用のハードウェアであってもよいし、メモリ302に格納されるプログラムを実行するプロセッサ301であってもよい。
 処理回路309が専用のハードウェアである場合、処理回路309は、例えば、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ASIC、FPGAまたはこれらの組み合わせである。
 認証サーバ300は、処理回路309を代替する複数の処理回路を備えてもよい。複数の処理回路は、処理回路309の役割を分担する。
 処理回路309において、一部の機能が専用のハードウェアで実現されて、残りの機能がソフトウェアまたはファームウェアで実現されてもよい。
 このように、処理回路309はハードウェア、ソフトウェア、ファームウェアまたはこれらの組み合わせで実現することができる。
 実施の形態は、好ましい形態の例示であり、本発明の技術的範囲を制限することを意図するものではない。実施の形態は、部分的に実施してもよいし、他の形態と組み合わせて実施してもよい。フローチャート等を用いて説明した手順は、適宜に変更してもよい。
 100 認証制御システム、101 ネットワーク、110 ユーザ端末、200 ウェブサーバ、201 プロセッサ、202 メモリ、203 補助記憶装置、204 入出力インタフェース、209 処理回路、210 受付部、220 ログイン判定部、230 アカウントロック部、231 実在アカウントロック部、232 仮想アカウントロック部、240 応答部、250 攻撃判定部、251 アドレス監視部、252 アドレス管理部、253 アドレス決定部、260 上限操作部、261 変更判定部、262 上限変更部、290 記憶部、291 失敗ログイン管理ファイル、292 ログイン試行データ、293 アドレステーブル、300 認証サーバ、301 プロセッサ、302 メモリ、303 補助記憶装置、304 入出力インタフェース、309 処理回路、310 認証部、311 受付部、312 識別子判定部、313 ロック状態判定部、314 パスワード判定部、315 応答部、390 記憶部、391 アカウント管理ファイル、410 ウェブサーバ、420 認証制御装置。

Claims (10)

  1.  ログイン識別子とログインパスワードとを受け付ける受付部と、
     1つ以上の登録識別子と1つ以上の登録パスワードとが互いに対応付けられたアカウント管理ファイルに基づいて前記ログイン識別子と同じ登録識別子が存在するか判定する識別子判定部と、
     前記ログイン識別子と同じ登録識別子が存在する場合に前記アカウント管理ファイルに基づいて前記ログインパスワードが正しいパスワードであるか判定するパスワード判定部と、
     前記ログイン識別子と同じ登録識別子が存在し、且つ、前記ログインパスワードが正しいパスワードでなく、且つ、前記ログイン識別子と同じログイン識別子を用いたログインの失敗回数が上限回数に達している場合に、アカウントロック画面を表示させる実在アカウントロック部と、
     前記ログイン識別子と同じ登録識別子が存在せず、且つ、前記ログイン識別子と同じログイン識別子を用いたログインの失敗回数が前記上限回数に達している場合に、アカウントロック画面を表示させる仮想アカウントロック部と
    を備える認証制御システム。
  2.  前記アカウント管理ファイルは、さらに、1つ以上の登録識別子と1つ以上のロック状態フラグとを互いに対応付け、
     それぞれのロック状態フラグは、アカウントのロック状態を示し、
     前記認証制御システムは、さらに、
     前記ログイン識別子と同じ登録識別子が存在する場合に前記アカウント管理ファイルに基づいて前記ログイン識別子に対応するアカウントのロック状態を判定するロック状態判定部を備え、
     前記パスワード判定部は、前記ログイン識別子に対応するアカウントのロック状態が未ロックである場合に前記ログインパスワードが正しいユーザパスワードであるか判定し、
     前記実在アカウントロック部は、
     前記ログイン識別子と同じ登録識別子が存在し、且つ、前記ログイン識別子に対応するアカウントのロック状態がロック中である場合にアカウントロック画面を表示させ、
     前記ログイン識別子と同じ登録識別子が存在し、且つ、前記ログイン識別子に対応するアカウントのロック状態が未ロックであり、且つ、前記ログインパスワードが正しいパスワードでなく、且つ、前記ログイン識別子と同じログイン識別子を用いたログインの失敗回数が前記上限回数に達している場合に、アカウントロック画面を表示させる
    請求項1に記載の認証制御システム。
  3.  前記認証制御システムは、さらに、アドレス監視部を備え、
     前記受付部は、前記ログイン識別子と前記ログインパスワードとを含んだログインデータを受信し、
     前記アドレス監視部は、受信されたログインデータの送信元アドレスが監視対象アドレスと同じアドレスである場合に攻撃通知を行う
    請求項1または請求項2に記載の認証制御システム。
  4.  前記アドレス監視部は、受信されたログインデータの送信元アドレスが監視対象アドレスと同じアドレスである場合にアカウントロック画面を表示させる
    請求項3に記載の認証制御システム。
  5.  前記認証制御システムは、さらに、アドレス監視部を備え、
     前記受付部は、前記ログイン識別子と前記ログインパスワードとを含んだログインデータを受信し、
     前記アドレス監視部は、前記ログインデータの送信元アドレスが監視対象アドレスと同じアドレスである場合にアカウントロック画面を表示させる
    請求項1または請求項2に記載の認証制御システム。
  6.  前記認証制御システムは、さらに、
     前記ログイン識別子と同じ登録識別子が存在しない場合と前記ログインパスワードが正しいパスワードでない場合に、前記ログイン識別子と同じユーザ識別子用のアドレステーブルに前記ログインデータの送信元アドレスを登録するアドレス管理部と、
     前記ログイン識別子と同じログイン識別子を用いたログインの失敗回数が上限回数に達している場合に、前記ログイン識別子と同じユーザ識別子用のアドレステーブルに基づいて監視対象アドレスを決定するアドレス決定部とを備える
    請求項3から請求項5のいずれか1項に記載の認証制御システム。
  7.  変更条件を満たすか判定する変更判定部と、
     前記変更条件を満たす場合にユーザ識別子毎のログインの失敗回数に基づいて前記上限回数を変更する上限変更部を備える
    請求項1から請求項6のいずれか1項に記載の認証制御システム。
  8.  前記実在アカウントロック部は、前記ログイン識別子と同じ登録識別子が存在し、且つ、前記ログインパスワードが正しいパスワードでない場合に、前記ログイン識別子と同じログイン識別子を用いたログインの失敗回数が前記上限回数に達しているか判定し、
     前記変更判定部は、前記ログイン識別子と同じログイン識別子を用いたログインの失敗回数が前記上限回数に達していない場合に、前記変更上限を満たすか判定し、
     前記上限変更部は、前記変更条件を満たす場合に前記上限回数を変更し、
     前記実在アカウントロック部は、前記上限回数が変更された場合に前記ログイン識別子と同じログイン識別子を用いたログインの失敗回数が前記上限回数に達しているか判定し、前記ログイン識別子と同じログイン識別子を用いたログインの失敗回数が前記上限回数に達している場合にアカウントロック画面を表示させる
    請求項7に記載の認証制御システム。
  9.  前記仮想アカウントロック部は、前記ログイン識別子と同じ登録識別子が存在しない場合に、前記ログイン識別子と同じログイン識別子を用いたログインの失敗回数が前記上限回数に達しているか判定し、
     前記変更判定部は、前記ログイン識別子と同じログイン識別子を用いたログインの失敗回数が前記上限回数に達していない場合に、前記変更上限を満たすか判定し、
     前記上限変更部は、前記変更条件を満たす場合に前記上限回数を変更し、
     前記仮想アカウントロック部は、前記上限回数が変更された場合に前記ログイン識別子と同じログイン識別子を用いたログインの失敗回数が前記上限回数に達しているか判定し、前記ログイン識別子と同じログイン識別子を用いたログインの失敗回数が前記上限回数に達している場合にアカウントロック画面を表示させる
    請求項7または請求項8に記載の認証制御システム。
  10.  ログイン識別子とログインパスワードとを受け付ける受付処理と、
     1つ以上の登録識別子と1つ以上の登録パスワードとが互いに対応付けられたアカウント管理ファイルに基づいて前記ログイン識別子と同じ登録識別子が存在するか判定する識別子判定処理と、
     前記ログイン識別子と同じ登録識別子が存在する場合に前記アカウント管理ファイルに基づいて前記ログインパスワードが正しいパスワードであるか判定するパスワード判定処理と、
     前記ログイン識別子と同じ登録識別子が存在し、且つ、前記ログインパスワードが正しいパスワードでなく、且つ、前記ログイン識別子と同じログイン識別子を用いたログインの失敗回数が上限回数に達している場合に、アカウントロック画面を表示させる実在アカウントロック処理と、
     前記ログイン識別子と同じ登録識別子が存在せず、且つ、前記ログイン識別子と同じログイン識別子を用いたログインの失敗回数が前記上限回数に達している場合に、アカウントロック画面を表示させる仮想アカウントロック処理と
    をコンピュータを実行させるための認証制御プログラム。
PCT/JP2018/027067 2018-07-19 2018-07-19 認証制御システムおよび認証制御プログラム Ceased WO2020016985A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2020530804A JPWO2020016985A1 (ja) 2018-07-19 2018-07-19 認証制御システムおよび認証制御プログラム
PCT/JP2018/027067 WO2020016985A1 (ja) 2018-07-19 2018-07-19 認証制御システムおよび認証制御プログラム
TW107140047A TW202008200A (zh) 2018-07-19 2018-11-12 認證控制系統及認證控制程式產品

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2018/027067 WO2020016985A1 (ja) 2018-07-19 2018-07-19 認証制御システムおよび認証制御プログラム

Publications (1)

Publication Number Publication Date
WO2020016985A1 true WO2020016985A1 (ja) 2020-01-23

Family

ID=69164809

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/027067 Ceased WO2020016985A1 (ja) 2018-07-19 2018-07-19 認証制御システムおよび認証制御プログラム

Country Status (3)

Country Link
JP (1) JPWO2020016985A1 (ja)
TW (1) TW202008200A (ja)
WO (1) WO2020016985A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111881434A (zh) * 2020-08-03 2020-11-03 施兴明 一种电商平台账户的身份认证方法
CN113553566A (zh) * 2021-07-30 2021-10-26 中国建设银行股份有限公司 账号锁定方法、装置、电子设备及计算机可读存储介质
US12602460B2 (en) 2023-01-23 2026-04-14 Toshiba Tec Kabushiki Kaisha Information processing device and information processing method

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022249294A1 (ja) * 2021-05-25 2022-12-01 楽天グループ株式会社 認証システム、認証方法、及びプログラム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130198819A1 (en) * 2012-02-01 2013-08-01 Microsoft Corporation Efficiently throttling user authentication
JP2016119017A (ja) * 2014-12-24 2016-06-30 キヤノンマーケティングジャパン株式会社 認証装置、認証システム、制御方法、およびプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130198819A1 (en) * 2012-02-01 2013-08-01 Microsoft Corporation Efficiently throttling user authentication
JP2016119017A (ja) * 2014-12-24 2016-06-30 キヤノンマーケティングジャパン株式会社 認証装置、認証システム、制御方法、およびプログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111881434A (zh) * 2020-08-03 2020-11-03 施兴明 一种电商平台账户的身份认证方法
CN113553566A (zh) * 2021-07-30 2021-10-26 中国建设银行股份有限公司 账号锁定方法、装置、电子设备及计算机可读存储介质
US12602460B2 (en) 2023-01-23 2026-04-14 Toshiba Tec Kabushiki Kaisha Information processing device and information processing method

Also Published As

Publication number Publication date
TW202008200A (zh) 2020-02-16
JPWO2020016985A1 (ja) 2020-10-22

Similar Documents

Publication Publication Date Title
US10057282B2 (en) Detecting and reacting to malicious activity in decrypted application data
US9866568B2 (en) Systems and methods for detecting and reacting to malicious activity in computer networks
US7779468B1 (en) Intrusion detection and vulnerability assessment system, method and computer program product
JP5925302B2 (ja) 関係付けられたコンタクトからの漏洩に起因するソーシャル・リスクの評価方法、情報処理システムおよびコンピュータ・プログラム
JP6239215B2 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
JP5987627B2 (ja) 不正アクセス検出方法、ネットワーク監視装置及びプログラム
JP7185077B2 (ja) rootレベルアクセス攻撃を防止する方法および測定可能なSLAセキュリティおよびコンプライアンスプラットフォーム
US20080083034A1 (en) Attack classification method for computer network security
JP2014509421A (ja) Usbホストシステムの拡張usbプロトコルスタックのためのセキュリティ手段
WO2020016985A1 (ja) 認証制御システムおよび認証制御プログラム
CN108769073A (zh) 一种信息处理方法及设备
US20160330240A1 (en) Blocking via an unsolvable captcha
JP2002342279A (ja) フィルタリング装置、フィルタリング方法およびこの方法をコンピュータに実行させるプログラム
KR100788256B1 (ko) 네트워크를 이용한 웹서버 위변조 모니터링 시스템 및모니터링 방법
CN107395615B (zh) 一种打印机安全防护的方法和装置
WO2017068714A1 (ja) 不正通信制御装置および方法
KR20100067383A (ko) 서버 보안 시스템 및 서버 보안 방법
JP6851211B2 (ja) ネットワーク監視システム
Kaskar et al. A system for detection of distributed denial of service (DDoS) attacks using KDD cup data set
CN113328976A (zh) 一种安全威胁事件识别方法、装置及设备
JP2006277063A (ja) ハッキング防御装置及びハッキング防御プログラム
US8341748B2 (en) Method and system to detect breaks in a border of a computer network
JP7544889B1 (ja) 認証サーバ、認証プログラム及び認証方法
CN106790142A (zh) 一种发现IoT设备遭受入侵的方法及系统
WO2024177817A1 (en) Using cross workloads signals to remediate password spraying attacks

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18927044

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2020530804

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18927044

Country of ref document: EP

Kind code of ref document: A1