WO2020021608A1 - サーバ装置、攻撃判定方法及び攻撃判定プログラム - Google Patents

サーバ装置、攻撃判定方法及び攻撃判定プログラム Download PDF

Info

Publication number
WO2020021608A1
WO2020021608A1 PCT/JP2018/027570 JP2018027570W WO2020021608A1 WO 2020021608 A1 WO2020021608 A1 WO 2020021608A1 JP 2018027570 W JP2018027570 W JP 2018027570W WO 2020021608 A1 WO2020021608 A1 WO 2020021608A1
Authority
WO
WIPO (PCT)
Prior art keywords
identification information
hash value
user identification
password
unit
Prior art date
Application number
PCT/JP2018/027570
Other languages
English (en)
French (fr)
Inventor
知孝 祢▲宜▼
河内 清人
匠 山本
Original Assignee
三菱電機株式会社
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 三菱電機株式会社 filed Critical 三菱電機株式会社
Priority to JP2018560685A priority Critical patent/JP6545404B1/ja
Priority to PCT/JP2018/027570 priority patent/WO2020021608A1/ja
Publication of WO2020021608A1 publication Critical patent/WO2020021608A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures

Definitions

  • the present invention relates to user authentication.
  • a challenge-and-response method as a method of user authentication using user identification information (user ID or the like) and a password.
  • a server device transmits a random number called “challenge” to a client device. Then, the client device transmits the hash value of the challenge and the password to the server device as a “response”.
  • a server device compares a hash value of a password registered in advance and a hash value of a transmitted challenge with a response from a client device. I do.
  • the brute force attack is an attack method in which user identification information is fixed, a password is brute-force changed, and user authentication is attempted.
  • the reverse brute force attack and the password spray attack are attack methods in which a password is fixed and user identification information is brute-forced or selectively changed to perform user authentication.
  • the first is a method that makes the user identification information and password unpredictable. However, in this method, the user identification information and the password are complicated, and the convenience of the user is reduced.
  • the second is a method in which access from the same IP (Internet Protocol) address is performed by a Web Application Firewall (WAF) or the like, and when an authentication error occurs continuously, access from the IP address is blocked. is there.
  • WAF Web Application Firewall
  • this method cannot cope with a distributed attack from a bot net (an attack from a different IP address).
  • the second method cannot detect a reverse brute force attack and a password spray attack against a challenge-and-response user authentication from a bot net or the like, and cannot take countermeasures.
  • Patent Literature 1 describes a biometric authentication technology capable of appropriately controlling the number of retries for biometric authentication. More specifically, in the technique of Patent Literature 1, user identification information at the time of an authentication error and biometric feature information are recorded. Then, by grouping user authentication attempts based on similar biometric feature information, if the number of user authentication attempts using different user identification information exceeds a threshold value, authentication retries are blocked.
  • the technique of Patent Document 1 is based on the premise that there is similarity in biometric feature information passed in user authentication. Therefore, the technique of Patent Document 1 cannot be applied to a challenge-and-response method in which similarity between passwords (responses) corresponding to biometric feature information is lost by hash processing.
  • Patent Document 2 describes an authentication technique for improving collision avoidance of hash values.
  • two or more different fixed values are transmitted as a challenge, and a hash value of a password and a fixed value for each fixed value is returned as a response.
  • Patent Literature 2 states that since the possibility of collision of all hash values is close to 0, it is possible to avoid collision of hash values.
  • the technique of Patent Document 2 does not consider measures against a reverse brute force attack and a password spray attack. For this reason, the technique of Patent Document 2 cannot be used as a countermeasure against a reverse brute force attack and a password spray attack.
  • the server device includes: A transmission unit for transmitting a fixed value, From the destination of the fixed value, a hash value obtained from the password of the user and the fixed value, and a receiving unit that receives user identification information, A combination storage unit that stores a combination of the hash value and the user identification information received by the reception unit, In the combination of the hash value and the user identification information stored by the combination storage unit, the number of pieces of user identification information having the same hash value is counted, and whether or not an attack has occurred is determined based on the counting result. And a part.
  • occurrence of a reverse brute force attack and a password spray attack can be effectively detected.
  • FIG. 2 is a diagram showing a system configuration example according to the first embodiment.
  • FIG. 2 is a diagram illustrating a hardware configuration example of a server device according to the first embodiment.
  • FIG. 2 is a diagram showing a functional configuration example of a server device according to the first embodiment.
  • FIG. 4 is a diagram showing an example of an authentication information table according to the first embodiment.
  • FIG. 4 is a diagram showing an example of a random number management table according to the first embodiment.
  • FIG. 4 is a diagram showing an example of an unauthorized access list according to the first embodiment.
  • 5 is a flowchart illustrating fixed value generation processing according to the first embodiment.
  • FIG. 4 is a diagram showing an example of a communication sequence according to the first embodiment.
  • FIG. 5 is a flowchart showing an operation example of the server device according to the first embodiment.
  • 5 is a flowchart showing an operation example of the server device according to the first embodiment.
  • 5 is a flowchart illustrating a user authentication process according to the first embodiment.
  • FIG. 9 is a diagram showing an example of an unauthorized access list according to the second embodiment.
  • 9 is a flowchart showing an operation example of the server device according to the second embodiment.
  • 9 is a flowchart showing an operation example of the server device according to the second embodiment.
  • 9 is a flowchart showing an operation example of the server device according to the second embodiment.
  • 9 is a flowchart showing access frequency confirmation processing according to the second embodiment.
  • FIG. *** Configuration description *** FIG. 1 shows a configuration example of a system according to the present embodiment.
  • the plurality of client devices 102a, 102b, 102c,... are connected to the server device 101 via a network 103 such as the Internet.
  • the plurality of client devices 102a, 102b, 102c,... is a PC (Personal Computer), a smartphone, or the like.
  • the client device 102 connects to the server device 101 and receives a service provided by the server device 101.
  • the client device 102 may exist on the same device as the server device 101, instead of an independent device such as a PC or a smartphone.
  • the server apparatus 101 transmits a fixed value as a challenge to the client apparatus 102 together with a random number.
  • the client device 102 returns the hash value of the random number and the password and the hash value of the fixed value and the password to the server device 101.
  • the server device 101 previously combines the same hash value with different user identification information (hereinafter, also simply referred to as identification information). Confirm that the user authentication attempt has not failed. If the number of failed user authentication attempts exceeds the threshold, the server apparatus 101 determines that a reverse brute force attack or a password spray attack has been performed.
  • a reverse brute force attack and a password spray attack in user authentication of the challenge-and-response method can be detected, and it is possible to take measures against these attacks.
  • the operation performed by the server device 101 corresponds to an attack determination method and an attack determination program.
  • FIG. 2 illustrates an example of a hardware configuration of the server apparatus 101.
  • the server device 101 is a computer.
  • a processor 201 In the server device 101, a processor 201, a main storage device 202, an auxiliary storage device 203, an input / output device 204, and a communication device 205 are connected to a bus 207 as hardware.
  • the processor 201 is, for example, a CPU (Central Processing Unit).
  • the main storage device 202 is, for example, a RAM (Random Access Memory).
  • the auxiliary storage device 203 is, for example, a ROM (Read Only Memory), a flash memory, or a HDD (Hard Disk Drive).
  • the input / output device 204 is, for example, a keyboard, a mouse, and a display.
  • the communication device 205 is connected to a network 103 such as a LAN (Local Area Network) and the Internet.
  • the server device 101 communicates with the client device 102 connected to the network 103 using the communication device 205, and provides the client device 102 with a remote connection service, a Web application service, and the like.
  • FIG. 3 shows an example of a functional configuration of the server apparatus 101.
  • the service providing unit 206 provides a service to the client device 102.
  • the type of service provided by the service providing unit 206 does not matter.
  • the service providing unit 206 is realized by, for example, a program. More specifically, the service providing unit 206 is realized by the processor 201 executing a program loaded in the main storage device 202.
  • the service providing unit 206 may be realized by hardware such as an LSI (Large Scale Integration) and an ASIC (Application Specific Integrated Circuit).
  • the user authentication unit 208 authenticates a user who uses the client device 102 when accessing the service providing unit 206 via the network 103. Further, the user authentication unit 208 detects that a reverse brute force attack or a password spray attack is being performed together with the user authentication.
  • the reverse brute force attack and the password spray attack are collectively referred to as “attack”.
  • the user authentication device 208 includes a fixed value generation unit 20801, a fixed value storage unit 20802, an authentication information management unit 20803, a random number generation unit 20804, a random number management unit 20805, a hash value calculation unit 20806, a hash value comparison unit 20807, an authentication information DB 20808, It comprises an unauthorized access management unit 20809, a transmission unit 20810, and a reception unit 20811.
  • the fixed value generation unit 20801 generates a fixed value described later.
  • the fixed value generation unit 20801 is realized by, for example, a program. More specifically, the fixed value generation unit 20801 is realized by the processor 201 executing a program loaded in the main storage device 202.
  • the fixed value generation unit 20801 may be realized by hardware such as an LSI and an ASIC.
  • the fixed value storage unit 20802 stores the fixed value generated by the fixed value generation unit 20801.
  • the fixed value storage unit 20802 is realized by the main storage device 202 or the auxiliary storage device 203. Further, the fixed value storage unit 20802 may be realized by hardware such as an LSI and an ASIC.
  • the authentication information management unit 20803 manages a pair of user identification information 302a, 302b,... And passwords 303a, 303b,.
  • the authentication information management unit 20803 is realized by, for example, a program. More specifically, the authentication information management unit 20803 is realized by the processor 201 executing a program loaded in the main storage device 202.
  • the authentication information management unit 20803 may be realized by hardware such as an LSI and an ASIC.
  • the random number generation unit 20804 generates a random number described later.
  • the random number generation unit 20804 is realized by, for example, a program. More specifically, the random number generation unit 20804 is realized by the processor 201 executing a program loaded in the main storage device 202. Further, the random number generation unit 20804 may be realized by hardware such as an LSI and an ASIC.
  • the random number management unit 20805 manages the random numbers 403a, 403b,... Generated by the random number generation unit 20804 for each access request (session 402a, 402b,...) From the user.
  • the random number management unit 20805 is realized by, for example, a program. More specifically, the random number management unit 20805 is realized by the processor 201 executing a program loaded in the main storage device 202. Further, the random number management unit 20805 may be realized by hardware such as an LSI and an ASIC.
  • the hash value calculation unit 20806 includes fixed values stored in the fixed value storage unit 20802, random numbers 403a, 403b,... Managed by the random number management unit 20805, and passwords 303a, 303b managed by the authentication information management unit 20803. .. Are calculated.
  • the hash value calculation unit 20806 is realized by, for example, a program. More specifically, the hash value calculation unit 20806 is realized by the processor 201 executing a program loaded in the main storage device 202. Also, the hash value calculation unit 20806 may be realized by hardware such as an LSI and an ASIC.
  • the hash value comparison unit 20807 compares the hash value calculated by the hash value calculation unit 20806 with the hash value transmitted from the client device 102 to the service providing unit 206 via the network 103.
  • the hash value comparison unit 20807 is realized by, for example, a program. More specifically, the hash value comparison unit 20807 is realized by the processor 201 executing a program loaded in the main storage device 202.
  • the hash value comparison unit 20807 may be realized by hardware such as an LSI and an ASIC.
  • the authentication information DB 20808 holds and manages an authentication information table 301 including a pair of user identification information 302a, 302b... And passwords 303a, 303b.
  • the authentication information DB 20808 is realized by, for example, a program. More specifically, the authentication information DB 20808 is realized by the processor 201 executing a program loaded in the main storage device 202.
  • the authentication information DB 20808 may be realized by hardware such as an LSI and an ASIC.
  • the unauthorized access management unit 20809 holds an unauthorized access list 501 including hash values 502a, 502b,... Of the fixed value and the password transmitted from the client device 102, and user identification information 503a, 503b,. Manage unauthorized access where an error has occurred. That is, the unauthorized access management unit 20809 stores the combination of the hash value and the user identification information as the unauthorized access list 501. In addition, based on the unauthorized access list 501, the unauthorized access management unit 20809 accesses the hash value 502a, 502b... Of the same fixed value and the password, and the different user identification information 503a, 503b. Check whether the specified number of times has occurred, and detect an attack.
  • the unauthorized access management unit 20809 counts the number of pieces of user identification information having the same hash value in the combination of the hash value and the user identification information stored in the unauthorized access list 501, and based on the counting result, determines whether an attack is performed. It is determined whether or not it has occurred.
  • the unauthorized access management unit 20809 is realized by, for example, a program. More specifically, the unauthorized access management unit 20809 is realized by the processor 201 executing a program loaded in the main storage device 202. Further, the unauthorized access management unit 20809 may be realized by hardware such as an LSI and an ASIC.
  • the unauthorized access management unit 20809 corresponds to a combination storage unit and a determination unit.
  • the processing performed by the unauthorized access management unit 20809 corresponds to a combination accumulation processing and a determination processing.
  • Transmitting section 20810 transmits a fixed value and a challenge value (random number) to client apparatus 102 when receiving section 20811 receives an access request from client apparatus 102.
  • the transmission unit 20810 is realized by, for example, a program. More specifically, transmission unit 20810 is realized by processor 201 executing a program loaded in main storage device 202. Also, the transmission unit 20810 may be realized by hardware such as an LSI and an ASIC. Processing performed by transmitting section 20810 corresponds to transmission processing.
  • the receiving unit 20811 receives an access request from the client device 102.
  • the receiving unit 20811 also receives, from the client device 102, user identification information, a hash value between a fixed value and a password, and a response (hash value between a random number and a password) as authentication information.
  • the receiving unit 20811 is realized by, for example, a program. More specifically, the receiving unit 20811 is realized by the processor 201 executing a program loaded in the main storage device 202.
  • the receiving unit 20811 may be realized by hardware such as an LSI and an ASIC. The process performed by the reception unit 20811 corresponds to a reception process.
  • FIG. 2 schematically illustrates a state in which the processor 201 is executing a program for realizing the functions of the user authentication unit 208 (excluding the fixed value storage unit 20802) and the service providing unit 206.
  • FIG. 4 shows an example of the authentication information table 301 held and managed by the authentication information DB 20808.
  • the authentication information table 301 is composed of a pair of user identification information 302a, 302b... Of the authorized user and passwords 303a, 303b... Corresponding to the user identification information 302a, 302b.
  • the plurality of pieces of user identification information 302a, 302b,... the plurality of passwords 303a, 303b,...
  • the user identification information 302 and the password 303 are created before an authorized user uses a service provided by the service providing unit 206. Then, the created user identification information 302 and password 303 are registered in the authentication information table 301.
  • the authentication information table 301 is stored in the main storage device 202 or the auxiliary storage device 203. Further, the authentication information table 301 may be stored in a storage device built in an LSI, an ASIC, or the like.
  • FIG. 5 shows an example of the random number management table 401 held and managed by the random number management unit 20805.
  • random numbers 403a, 403b,... Generated by the random number generation unit 20804 are registered for each access request (session 402a, 402b,...) From the client device 102.
  • the plurality of sessions 402a, 402b,... the plurality of random numbers 403a, 403b,...
  • the random number management table 401 is stored in the main storage device 202 or the auxiliary storage device 203. Further, the random number management table 401 may be stored in a storage device built in an LSI, an ASIC, or the like.
  • FIG. 6 shows an example of the unauthorized access list 501 held and managed by the unauthorized access management unit 20809.
  • Registered in the unauthorized access list 501 are hash values 502a, 502b,... Of fixed values and passwords, and user identification information 503a, 503b,.
  • a plurality of hash values 502a, 502b,... Of the fixed value and the password are collectively referred to as a hash value 502 of the fixed value and the password.
  • the plurality of user identification information 503a, 503b... are collectively referred to as user identification information 503.
  • a plurality of user identification information 503 (user identification information_I, user identification information_II%) are registered for a hash value 502 (for example, hash value_ ⁇ ) of one fixed value and a password. Is done.
  • a hash value 502 of a valid fixed value and a password, and valid user identification information 503 may also be registered.
  • the unauthorized access list 501 is stored in the main storage device 202 or the auxiliary storage device 203. Further, the unauthorized access list 501 may be stored in a storage device built in an LSI, an ASIC, or the like.
  • FIG. 7 shows the fixed value generation processing.
  • FIG. 8 shows a communication sequence of the entire system.
  • 9 and 10 show an operation example of the server apparatus 101.
  • FIG. 11 shows a user authentication process.
  • the fixed value generation unit 20801 of the server device 101 generates a fixed value at startup or periodically (step S601).
  • the fixed value generation unit 20801 stores the generated fixed value in the fixed value storage unit 20802 (step S602).
  • the unauthorized access management unit 20809 of the server apparatus 101 clears the unauthorized access list 501 (step S603).
  • the fixed value stored in the fixed value storage unit 20802 is used by the user authentication unit 208 until the processing is completed by the user authentication unit 208 or until a certain period elapses.
  • the user 701 issues an access request from the client device 102 to access a service provided by the service providing unit 206 of the server device 101 (step S702).
  • the client device 102 that has received the access request from the user 701 transmits the access request to the server device 101 (step S703).
  • the receiving unit 20811 receives an access request from the client device 102 via the communication device 205 (step S801). Then, receiving section 20811 outputs an access request (session 402) to random number generation section 20804.
  • the random number generation unit 20804 generates a random number 401 (challenge) (step S802). Next, the random number generation unit 20804 passes the pair of the session 402 and the generated random number 401 (challenge) to the random number management unit 20805.
  • the random number management unit 20805 registers a pair of the session 402 and the random number 401 (challenge) in the random number management table 401 (step S803).
  • the random number management unit 20805 outputs the fixed value stored in the fixed value storage unit 20802 and the generated random number 401 (challenge) to the transmission unit 20810.
  • the transmitting unit 20810 transmits the fixed value and the random number 401 (challenge) to the client device 102 via the communication device 205 (Step S804).
  • the client device 102 that has received the fixed value and the random number 401 (challenge) receives the user identification information 302 and the password 303 input by the user 701 (step S704).
  • the client device 102 uses the password 303 input by the user, the fixed value and the random number 401 (challenge) received from the server device 101, and uses the hash value 502 of the fixed value and the password 303 and the random number 401 (challenge).
  • a hash value (response) between the challenge and the password 303 is calculated (step S705).
  • the client device 102 stores the user identification information 302 input by the user (step S704), the hash value 502 of the fixed value and the password 303, and the hash value (response) of the random number 401 (challenge) and the password 303, The data is transmitted to the server device 101 (step S706).
  • the receiving unit 20811 receives, via the communication apparatus 205, the user identification information 302, the hash value 502 of the fixed value and the password 303, and the hash value (response) of the random number 401 (challenge) and the password 303. (Step S805). Then, the receiving unit 20811 outputs the user identification information 302, the hash value 502 of the fixed value and the password 303, and the hash value (response) of the random number 401 (challenge) and the password 303 to the unauthorized access management unit 20809.
  • the unauthorized access management unit 20809 determines that the hash value 502 of the fixed value and the password 303 from the client device 102 has already been registered in the unauthorized access list 501, and that the number of registered user identification information 501 has exceeded the threshold. It is determined whether or not there is (step S806).
  • the unauthorized access management unit 20809 determines that a reverse brute force attack or a password spray attack has occurred (step S807). That is, the unauthorized access management unit 20809 counts the number of pieces of user identification information paired with the same hash value as the hash value received by the reception unit 20811 in the unauthorized access list 501, and based on the counting result, determines whether the client device 102 It is determined whether or not an attack has occurred. Then, the unauthorized access management unit 20809 notifies the service providing unit 206 of the occurrence of the attack. The service providing unit 206 that has received the notification performs a countermeasure against the attack (step S808). The content of the countermeasures against the reverse brute force or the password spray differs depending on the service to be provided, and is not mentioned in this specification.
  • the unauthorized access management unit 20809 instructs the hash value calculation unit 20806 to perform user authentication.
  • the hash value comparison unit 20807 performs user authentication (step S809).
  • step S809 the details of the user authentication process in step S809 will be described with reference to FIG.
  • the hash value calculation unit 20806 acquires the password 303 corresponding to the user identification information 302 from the client device 102 from the authentication information table 301 of the authentication information DB 20808 managed by the authentication information management unit 20803 (step S901).
  • the hash value calculation unit 20806 acquires the random number 403 corresponding to the access request (session 402) from the client device 102 from the random number management table 401 managed by the random number management unit 20805 (step S902).
  • the hash value calculation unit 20806 acquires the fixed value stored in the fixed value storage unit 20801, and calculates a hash value between the password 303 acquired in step S901 and the fixed value (step S903).
  • the hash value calculation unit 20806 calculates a hash value between the random number 403 obtained in step S902 and the password 303 obtained in step S901 (step S904). Thereafter, the hash value comparison unit 20807 compares the hash value 502 of the fixed value from the client device 102 with the password 303 and the hash value of the fixed value and the password calculated by the hash value calculation unit 20806, and It is verified whether they match (step S905).
  • the hash value comparison unit 20807 calculates the hash value (response) of the random number 401 (challenge) and the password 303 from the client device 102, the hash value of the random number 403 calculated by the hash value calculation unit 20806, and the hash value of the password 303. Are compared to verify whether they match (step S906). If the hash value between the fixed value and the password 303 and the hash value between the random number 401 and the password 303 match (YES in step S907), the hash value calculation unit 20806 determines that the user It is determined to be successful (step S908). On the other hand, if at least one of them does not match (NO in step S907), the hash value calculation unit 20806 determines that the user authentication has failed (step S909).
  • step S809 If the user authentication in step S809 is successful (YES in step S810), the unauthorized access management unit 20809 deletes the user identification information 503 corresponding to the hash value 502 of the fixed value and the password 303 from the unauthorized access list 501. (Step S811). After that, the transmitting unit 20810 transmits a message notifying the success of the user authentication to the client device 102 via the communication device 205 (Step S814).
  • the unauthorized access management unit 20809 checks the unauthorized access list 501, and determines the user corresponding to the hash value 502 of the fixed value from the client device 102 and the password 303. It is confirmed whether or not the user identification information 302 from the client device 102 is registered in the identification information 503 (step S812). If the user identification information 302 has already been registered (YES in step S812), the transmitting unit 20810 transmits a message notifying the failure of the user authentication to the client device 102 via the communication device 205 (step S815).
  • the unauthorized access management unit 20809 corresponds to the hash value 502 of the fixed value from the client device 102 and the password 303 in the unauthorized access list 501.
  • the user identification information 302 from the client device 102 is registered in the user identification information 503 (step S813). If the hash value 502 of the fixed value from the client device 102 and the password 303 is not registered in the unauthorized access list 501, the unauthorized access management unit 20809 makes a hash of the fixed value from the client device 102 and the password 303.
  • the value 502 and the user identification information 302 from the client device 102 are registered in the unauthorized access list 501.
  • the transmitting unit 20810 transmits a message notifying the failure of the user authentication to the client device 102 via the communication device 205 (Step S815).
  • the reverse brute force attack against the challenge-and-response user authentication is managed by managing the access by the same fixed value and the hash value of the password and the different user identification information.
  • a password spray attack can be detected. Therefore, according to the present embodiment, effective countermeasures against a reverse brute force attack or a password spray attack can be taken. Also, by periodically changing the fixed value, it becomes possible to make password attacks using the rainbow table difficult.
  • both the hash value 502 of the fixed value and the password 303 and the hash value of the random number 403 and the password 303 are used, and the user authentication succeeds only when both match. It was determined. Instead, only the hash value of the random number 403 and the password 303 may be used, and if the hash values of the random number 403 and the password 303 match, it may be determined that the user authentication has succeeded.
  • Embodiment 2 FIG.
  • a reverse brute force attack or a password spray attack is performed depending on whether or not the hash value 502 of the same fixed value and the password 303 and the different user identification information 501 have been accessed more than a specified number of times. It is determined whether or not it has occurred.
  • a reverse brute force attack or a password spray attack occurs depending on whether or not the access by the hash value 502 of the same fixed value and the password 303 and the different user identification information 501 is performed at a prescribed frequency or more. An example is shown in which it is determined whether or not the operation is performed.
  • FIGS. 1 to 5 of the first embodiment an example of a system configuration, an example of a hardware configuration of the server device 101, an example of a functional configuration of the server device 101, an authentication information table, and a random number management table are shown in FIGS. 1 to 5 of the first embodiment. The description is omitted because it is the same as that of FIG. In this embodiment, differences from Embodiment 1 will be mainly described. Items not described below are the same as in the first embodiment.
  • FIG. 12 shows an unauthorized access list 1001 used in the present embodiment.
  • the unauthorized access list 1001 according to the present embodiment is held and managed by the unauthorized access management unit 20809.
  • the hash value 502a, 502b... Of the fixed value and the password used for the unauthorized access from the client device 102 and the user identification information 503a-1, 503a-2, 503b-1 are included in the unauthorized access list 1001. ..., access times 1002a-1, 1002a-2, 1002b-1 ... are registered.
  • the user identification information 503a-1, 503a-2, 503b-1... are collectively referred to as user identification information 503.
  • the access times 1002a-1, 1002a-2, 1002b-1... Are collectively referred to as access times 1002.
  • a plurality of pieces of user identification information 503 (user identification information_I, user identification information_II%) are accessed for a hash value 502 (for example, hash value_ ⁇ ) of one fixed value and a password.
  • Time 1002 (time_I, time_II 7) is registered.
  • the access time 1002 indicates the last time of access using the hash value 502 of the fixed value and the password and the user identification information 503. That is, the access time 1002 is the reception time of the hash value 502 and the user identification information 503 from the client device 102.
  • FIG. 7 shows the fixed value generation processing.
  • FIG. 8 shows a communication sequence of the entire system.
  • FIG. 11 shows a user authentication process.
  • 13, 14, and 15 show an operation example of the server device 101.
  • FIG. 16 shows the access frequency confirmation processing.
  • Steps S601 to S603 in FIG. 7 are the same as those described in the first embodiment, and a description thereof will not be repeated.
  • Steps S702 to S706 in FIG. 8 are the same as those described in the first embodiment, and a description thereof will not be repeated.
  • Steps S801 to S805 in FIG. 13 are the same as those described in the first embodiment, and a description thereof will not be repeated.
  • the processing after step S1101 in FIG. 13 will be described.
  • the unauthorized access management unit 20809 checks the frequency of access from the unauthorized access list 1001 using the hash value 502 of the fixed value and the password 303 from the client device 102 (step S1101). Details of step S1101 will be described with reference to FIG.
  • the unauthorized access management unit 20809 checks the access time 1002 of the unauthorized access list 1001 corresponding to the hash value 502 of the fixed value and the password 303, and specifies the last access time 1002 (the latest access time 1002). (Step S1201). Next, the unauthorized access management unit 20809 retrieves the access information (user identification information 503 and access time 1002) that is unit time earlier than the last access time 1002 from the unauthorized access list 1001 corresponding to the hash value 502 of the fixed value and the password 303. ) Is deleted (step S1202).
  • the unauthorized access management unit 20809 calculates an access frequency (for example, the number of pieces of user identification information per unit time) from the unauthorized access list 1001 corresponding to the hash value 502 of the fixed value and the password 303 (step S1203). .
  • an access frequency for example, the number of pieces of user identification information per unit time
  • the unauthorized access management unit 20809 checks whether the calculated access frequency is equal to or higher than the threshold (step S1102). If the access frequency is equal to or higher than the threshold (YES in step S1102), the unauthorized access management unit 20809 determines that a reverse brute force attack or a password spray attack has occurred (step S807). That is, the unauthorized access management unit 20809 determines that an attack has occurred when the reception time falls within the unit time and the number of pieces of user identification information having a common hash value is equal to or greater than the threshold. Then, the unauthorized access management unit 20809 notifies the service providing unit 206 of the occurrence of the attack. The service providing unit 206 that has received the notification performs a countermeasure against the attack (step S808). The content of the countermeasures against the reverse brute force or the password spray differs depending on the service to be provided, and is not mentioned in this specification.
  • step S809 user authentication is performed.
  • the user authentication processing (S901 to S909) is the same as in the first embodiment, and a description thereof will not be repeated.
  • step S810 determines from the unauthorized access list 1101 the user identification information 503 corresponding to the hash value 502 of the fixed value and the password 303 and the access time. 1002 is deleted (step S1105). After that, the transmitting unit 20810 transmits a message notifying the success of the user authentication to the client device 102 via the communication device 205 (Step S814).
  • the unauthorized access management unit 20809 checks the unauthorized access list 1001 and determines the user corresponding to the hash value 502 of the fixed value from the client device 102 and the password 303. It is confirmed whether or not the user identification information 302 from the client device 102 is registered in the identification information 503 (step S812). If the user identification information 302 has already been registered (YES in step S812), the unauthorized access management unit 20809 updates the access time 1002 based on the user identification information 302 to the current access time (step S1104). After that, the transmitting unit 20810 transmits a message notifying the failure of the user authentication to the client device 102 via the communication device 205 (Step S815).
  • the unauthorized access management unit 20809 corresponds to the hash value 502 of the fixed value from the client device 102 and the password 303 in the unauthorized access list 1001.
  • the user identification information 302 from the client device 102 is registered in the user identification information 503, and the current access time is registered in the access time 1002 (step S1103). If the hash value 502 of the fixed value from the client device 102 and the password 303 is not registered in the unauthorized access list 1001, the unauthorized access management unit 20809 makes a hash of the fixed value from the client device 102 and the password 303.
  • the value 502, the user identification information 302 from the client device 102, and the access time 1002 of the current access are registered in the unauthorized access list 1001. After that, the transmitting unit 20810 transmits a message notifying the failure of the user authentication to the client device 102 via the communication device 205 (Step S815).
  • the auxiliary storage device 203 stores an OS (Operating System) in addition to a program for realizing the functions of the service providing unit 206 and the user authentication unit 208 (excluding the fixed value storage unit 20802). Then, at least a part of the OS is executed by the processor 201.
  • the processor 201 executes a program for realizing the functions of the service providing unit 206 and the user authentication unit 208 (excluding the fixed value storage unit 20802) while executing at least a part of the OS.
  • the processor 201 executes the OS, task management, memory management, file management, communication control, and the like are performed.
  • the information, the data, the signal value, and the variable value indicating the processing result of the service providing unit 206 and the user authentication unit 208 are stored in the main storage device 202 and the auxiliary storage device 203. Are stored in at least one of a register and a cache memory in the processor 201.
  • a program that realizes the functions of the service providing unit 206 and the user authentication unit 208 may be a magnetic disk, a flexible disk, an optical disk, a compact disk, a Blu-ray (registered trademark) disk, a DVD, or the like. It may be stored in a portable recording medium.
  • the “unit” of the service providing unit 206 and the user authentication unit 208 may be read as “circuit”, “step”, “procedure”, or “process”.
  • the server device 101 may be realized by a processing circuit.
  • the processing circuit is the aforementioned LSI and ASIC.
  • a logic IC Integrated Circuit
  • GA Gate Array
  • FPGA Field-Programmable Gate Array
  • the general concept of a processor and a processing circuit is referred to as “processing circuitry”. That is, the processor and the processing circuit are each a specific example of “processing circuitry”.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

送信部(20810)は、固定値を送信する。受信部(20811)は、固定値の送信先から、ユーザのパスワードと固定値とから得られるハッシュ値と、ユーザ識別情報とを受信する。不正アクセス管理部(20809)は、受信部(20811)により受信されたハッシュ値とユーザ識別情報との組み合わせを蓄積する。不正アクセス管理部(20809)は、蓄積しているハッシュ値とユーザ識別情報との組み合わせにおいて、ハッシュ値が共通するユーザ識別情報の個数を計数し、計数結果に基づき、攻撃が発生しているか否か判定する。

Description

サーバ装置、攻撃判定方法及び攻撃判定プログラム
 本発明は、ユーザ認証に関する。
 ユーザ識別情報(ユーザID等)とパスワードによるユーザ認証の方式に、チャレンジ・アンド・レスポンス方式がある。チャレンジ・アンド・レスポンス方式では、サーバ装置が、「チャレンジ」と呼ばれる乱数を、クライアント装置に送信する。そして、クライアント装置が、チャレンジとパスワードとのハッシュ値を、「レスポンス」としてサーバ装置に送信する。チャレンジ・アンド・レスポンス方式では、サーバ装置が、予め登録されているパスワードと、送信したチャレンジとのハッシュ値を、クライアント装置からのレスポンスと比較し、両者が同一であれば、正規のユーザとして認証する。
 チャレンジ・アンド・レスポンス方式によるユーザ認証に対し、パスワードを破ることを目的とした攻撃がある。このような攻撃には、総当たり(ブルートフォース)による攻撃、逆総当たり(リバースブルートフォース)による攻撃、リバースブルートフォース攻撃に似たパスワードスプレー攻撃等がある。
 ブルートフォース攻撃は、ユーザ識別情報を固定して、パスワードを総当たり的に変更して、ユーザ認証を試行する攻撃方法である。
 一方、リバースブルートフォース攻撃及びパスワードスプレー攻撃は、パスワードを固定して、ユーザ識別情報を総当たり的に、若しくは選択的に変更して、ユーザ認証を試行する攻撃方法である。
 ブルートフォース攻撃に対しては、同一のユーザ識別情報で、連続して一定回数以上、ユーザ認証の試行に失敗した場合には、当該ユーザ識別情報のアカウントをロックし、使用できなくする、技術的な対策がある。サーバ装置が、ユーザ識別情報毎の認証試行を記録することにより不正な認証試行回数を管理して、アカウントのロックを行うことができる。本対策技術は、チャレンジ・アンド・レスポンス方式を始めとし、様々な認証方式に、適用することができる。
 一方、チャレンジ・アンド・レスポンス方式のユーザ認証への、リバースブルートフォース攻撃及びパスワードスプレー攻撃に対しては、ブルートフォース攻撃への対策と同じような対策を行うことができない。これは、チャレンジ・アンド・レスポンス方式では、毎回チャレンジ(乱数)が異なるため、同じパスワードと乱数とのハッシュ値であっても、毎回ハッシュ値(レスポンス)が異なる。そのため、同一のパスワードで、連続して一定回数以上、ユーザ認証の試行に失敗していることを検知することができず、対策を行うことができない。
 そのため、チャレンジ・アンド・レスポンス方式へのリバースブルートフォース攻撃又はパスワードスプレー攻撃への対策は、次のようなものになる。
 第一は、ユーザ識別情報及びパスワードを、予測不能なものにする、方法である。しかし、この方法では、ユーザ識別情報及びパスワードが複雑になり、ユーザの利便性が低下する。
 第二は、WAF(Web Application Firewall)等で、同一のIP(Internet Protocol)アドレスからのアクセスで、連続して認証エラーが発生した場合には、当該IPアドレスからのアクセスをブロックする、方法である。しかし、この方法では、botネットからの分散した攻撃(異なるIPアドレスからの攻撃)には対応できない。
特開2014-16909号公報 特開2011-135464号公報
 上述の第一の方法では、ユーザ識別情報及びパスワードを予測不能なものにすることのよって、ユーザの利便性が下がり、運用が困難である。
 また、第二の方法では、botネットなどからの、チャレンジ・アンド・レスポンス方式のユーザ認証に対するリバースブルートフォース攻撃及びパスワードスプレー攻撃を検知し、対策を行うことができない。
 特許文献1では、生体認証のリトライ回数を適切に制御可能な生体認証技術が述べられている。より具体的には、特許文献1の技術では、認証エラー時のユーザ識別情報と、生体特徴情報とが記録される。そして、類似する生体特徴情報によるユーザ認証試行をグルーピングすることで、異なるユーザ識別情報によるユーザ認証の試行回数が、閾値を超えている場合に、認証のリトライがブロックされる。
 特許文献1の技術は、ユーザ認証で渡される生体特徴情報に類似性があることを前提としている。そのため、特許文献1の技術は、生体特徴情報に相当するパスワード(レスポンス)間の類似性がハッシュ処理によりなくなる、チャレンジ・アンド・レスポンス方式には適用できない。
 特許文献2では、ハッシュ値の衝突回避の向上を図った認証技術が述べられている。特許文献2の技術では、異なる2つ以上の固定値がチャレンジとして送信され、固定値毎のパスワードと固定値とのハッシュ値が、レスポンスとして返信される。特許文献2は、全てとのハッシュ値が衝突する可能性は0に近いため、ハッシュ値の衝突を回避することが可能であると述べている。しかしながら、特許文献2の技術では、リバースブルートフォース攻撃及びパスワードスプレー攻撃への対策は考えられていない。このため、特許文献2の技術をリバースブルートフォース攻撃及びパスワードスプレー攻撃への対策として用いることはできない。
 本発明は、このような点に鑑み、リバースブルートフォース攻撃及びパスワードスプレー攻撃の発生を有効に検知できる構成を得ることを主な目的とする。
 本発明に係るサーバ装置は、
 固定値を送信する送信部と、
 前記固定値の送信先から、ユーザのパスワードと前記固定値とから得られるハッシュ値と、ユーザ識別情報とを受信する受信部と、
 前記受信部により受信されたハッシュ値とユーザ識別情報との組み合わせを蓄積する組み合わせ蓄積部と、
 前記組み合わせ蓄積部により蓄積されているハッシュ値とユーザ識別情報との組み合わせにおいて、ハッシュ値が共通するユーザ識別情報の個数を計数し、計数結果に基づき、攻撃が発生しているか否か判定する判定部とを有する。
 本発明によれば、リバースブルートフォース攻撃及びパスワードスプレー攻撃の発生を有効に検知することができる。
実施の形態1に係るシステム構成例を示す図。 実施の形態1に係るサーバ装置のハードウェア構成例を示す図。 実施の形態1に係るサーバ装置の機能構成例を示す図。 実施の形態1に係る認証情報テーブルの例を示す図。 実施の形態1に係る乱数管理テーブルの例を示す図。 実施の形態1に係る不正アクセスリストの例を示す図。 実施の形態1に係る固定値生成処理を示すフローチャート。 実施の形態1に係る通信シーケンスの例を示す図。 実施の形態1に係るサーバ装置の動作例を示すフローチャート。 実施の形態1に係るサーバ装置の動作例を示すフローチャート。 実施の形態1に係るユーザ認証処理を示すフローチャート。 実施の形態2に係る不正アクセスリストの例を示す図。 実施の形態2に係るサーバ装置の動作例を示すフローチャート。 実施の形態2に係るサーバ装置の動作例を示すフローチャート。 実施の形態2に係るサーバ装置の動作例を示すフローチャート。 実施の形態2に係るアクセス頻度確認処理を示すフローチャート。
 以下、本発明の実施の形態について、図を用いて説明する。なお、各図中において、同一または相当する部分には、同一の符号を付す。実施の形態の説明において、同一または相当する部分については、説明を適宜省略または簡略化する。また、これらの実施の形態は、本発明の好適な態様を説明するためのものであり、ここで示すものに限定するものではない。
 実施の形態1.
***構成の説明***
 図1は、本実施の形態に係るシステムの構成例を示す。
 本実施の形態では、複数のクライアント装置102a、102b、102c・・・は、インターネットなどのネットワーク103を介してサーバ装置101と接続されている。
 以下、複数のクライアント装置102a、102b、102c・・・を総称して、クライアント装置102と呼ぶ。
 クライアント装置102は、PC(Personal Computer)、スマートフォン等である。
 クライアント装置102は、サーバ装置101に接続し、サーバ装置101によって提供されるサービスを受ける。クライアント装置102は、PC、スマートフォンのような独立した機器ではなく、サーバ装置101と同一の機器上に存在してもよい。
 ここで、本実施の形態に係るユーザ認証方法の概要を説明する。
 始めに、サーバ装置101は、乱数とともに、固定値をチャレンジとしてクライアント装置102に送信する。クライアント装置102は、乱数とパスワードとのハッシュ値、及び固定値とパスワードとのハッシュ値をサーバ装置101に返す。
 次に、サーバ装置101は、クライアント装置102から受信した固定値とパスワードとのハッシュ値に基づき、過去に、同一のハッシュ値と、異なるユーザ識別情報(以下、単に識別情報ともいう)との組み合わせで、ユーザ認証の試行に失敗していないかを、確認する。
 ユーザ認証の試行失敗の回数が閾値を超えている場合には、サーバ装置101は、リバースブルートフォース攻撃又はパスワードスプレー攻撃が行われている、と判定する。
 このような方法により、本実施の形態では、チャレンジ・アンド・レスポンス方式のユーザ認証におけるリバースブルートフォース攻撃及びパスワードスプレー攻撃を検知することができ、これらの攻撃に対する対策を行うことが可能となる。
 なお、サーバ装置101により行われる動作は、攻撃判定方法及び攻撃判定プログラムに相当する。
 図2は、サーバ装置101のハードウェア構成例を示す。
 サーバ装置101はコンピュータである。
 サーバ装置101では、ハードウェアとして、バス207に、プロセッサ201、主記憶装置202、補助記憶装置203、入出力装置204及び通信装置205が接続されている。
 プロセッサ201は、例えば、CPU(Central Processing Unit)である。
 主記憶装置202は、例えば、RAM(Random Access Memory)である。
 補助記憶装置203は、例えば、ROM(Read Only Memory)、フラッシュメモリ、HDD(Hard Disk Drive)である。
 入出力装置204は、例えば、キーボード、マウス及びディスプレイである。
 通信装置205は、LAN(Local Area Network)、インターネットなどのネットワーク103に接続されている。
 サーバ装置101は、通信装置205を用いて、ネットワーク103に接続されたクライアント装置102と通信を行い、リモート接続サービスやWebアプリケーションサービスなどをクライアント装置102に提供する。
 図3は、サーバ装置101の機能構成例を示す。
 サービス提供部206は、クライアント装置102にサービスを提供する。サービス提供部206により提供されるサービスの種類は問わない。
 サービス提供部206は、例えば、プログラムにより実現される。より具体的には、サービス提供部206は、プロセッサ201が、主記憶装置202にロードされたプログラムを実行することにより実現される。
 サービス提供部206は、LSI(Large Scale Integration)、ASIC(Application Specific Integrated Circuit)等のハードウェアにより実現されてもよい。
 ユーザ認証部208は、クライアント装置102を利用するユーザが、ネットワーク103を介して、サービス提供部206へアクセスする際に、当該ユーザについての認証を行う。また、ユーザ認証部208は、ユーザ認証とともに、リバースブルートフォース攻撃又はパスワードスプレー攻撃が行われていることを検知する。
 なお、以下では、リバースブルートフォース攻撃及びパスワードスプレー攻撃を、まとめて「攻撃」という。
 ユーザ認証装置208は、固定値生成部20801、固定値記憶部20802、認証情報管理部20803、乱数生成部20804、乱数管理部20805、ハッシュ値算出部20806、ハッシュ値比較部20807、認証情報DB20808、不正アクセス管理部20809、送信部20810、及び受信部20811で構成される。
 固定値生成部20801は、後述する固定値を生成する。
 固定値生成部20801は、例えば、プログラムにより実現される。より具体的には、固定値生成部20801は、プロセッサ201が、主記憶装置202にロードされたプログラムを実行することにより実現される。
 固定値生成部20801は、LSI、ASIC等のハードウェアにより実現されてもよい。
 固定値記憶部20802は、固定値生成部20801によって生成された固定値を記憶する。
 固定値記憶部20802は、主記憶装置202又は補助記憶装置203により実現される。
 また、固定値記憶部20802は、LSI、ASIC等のハードウェアにより実現されてもよい。
 認証情報管理部20803は、後述の認証情報DB20808に登録されるユーザ識別情報302a、302b・・・、及びパスワード303a、303b・・・の対を、管理する。
 認証情報管理部20803は、例えば、プログラムにより実現される。より具体的には、認証情報管理部20803は、プロセッサ201が、主記憶装置202にロードされたプログラムを実行することにより実現される。
 また、認証情報管理部20803は、LSI、ASIC等のハードウェアにより実現されてもよい。
 乱数生成部20804は、後述する乱数を生成する。
 乱数生成部20804は、例えば、プログラムにより実現される。より具体的には、乱数生成部20804は、プロセッサ201が、主記憶装置202にロードされたプログラムを実行することにより実現される。
 また、乱数生成部20804は、LSI、ASIC等のハードウェアにより実現されてもよい。
 乱数管理部20805は、乱数生成部20804で生成された乱数403a、403b・・・を、ユーザからのアクセス要求(セッション402a、402b・・・)毎に管理する。
 乱数管理部20805は、例えば、プログラムにより実現される。より具体的には、乱数管理部20805は、プロセッサ201が、主記憶装置202にロードされたプログラムを実行することにより実現される。
 また、乱数管理部20805は、LSI、ASIC等のハードウェアにより実現されてもよい。
 ハッシュ値算出部20806は、固定値記憶部20802に記憶された固定値や、乱数管理部20805によって管理される乱数403a、403b・・・と、認証情報管理部20803によって管理されるパスワード303a、303b・・・とのハッシュ値を算出する。
 ハッシュ値算出部20806は、例えば、プログラムにより実現される。より具体的には、ハッシュ値算出部20806は、プロセッサ201が、主記憶装置202にロードされたプログラムを実行することにより実現される。
 また、ハッシュ値算出部20806は、LSI、ASIC等のハードウェアにより実現されてもよい。
 ハッシュ値比較部20807は、ハッシュ値算出部20806によって算出されるハッシュ値と、クライアント装置102からネットワーク103経由でサービス提供部206へ送信されてくるハッシュ値を比較する。
 ハッシュ値比較部20807は、例えば、プログラムにより実現される。より具体的には、ハッシュ値比較部20807は、プロセッサ201が、主記憶装置202にロードされたプログラムを実行することにより実現される。
 また、ハッシュ値比較部20807は、LSI、ASIC等のハードウェアにより実現されてもよい。
 認証情報DB20808は、ユーザ識別情報302a、302b・・・、及びパスワード303a、303b・・・の対からなる認証情報テーブル301を保有及び管理する。
 認証情報DB20808は、例えば、プログラムにより実現される。より具体的には、認証情報DB20808は、プロセッサ201が、主記憶装置202にロードされたプログラムを実行することにより実現される。
 また、認証情報DB20808は、LSI、ASIC等のハードウェアにより実現されてもよい。
 不正アクセス管理部20809は、クライアント装置102から送信されてくる固定値とパスワードとのハッシュ値502a、502b・・・とユーザ識別情報503a、503b・・・からなる不正アクセスリスト501を保有し、認証エラーが発生した不正アクセスを管理する。つまり、不正アクセス管理部20809は、ハッシュ値とユーザ識別情報との組み合わせを不正アクセスリスト501として蓄積する。
 また、不正アクセス管理部20809は、不正アクセスリスト501を基に、過去に、同じ固定値とパスワードとのハッシュ値502a、502b・・・と、異なるユーザ識別情報503a、503b・・・でのアクセスが、規定回数以上発生しているかを確認し、攻撃を検知する。つまり、不正アクセス管理部20809は、不正アクセスリスト501で蓄積されているハッシュ値とユーザ識別情報との組み合わせにおいて、ハッシュ値が共通するユーザ識別情報の個数を計数し、計数結果に基づき、攻撃が発生しているか否か判定する。
 不正アクセス管理部20809は、例えば、プログラムにより実現される。より具体的には、不正アクセス管理部20809は、プロセッサ201が、主記憶装置202にロードされたプログラムを実行することにより実現される。
 また、不正アクセス管理部20809は、LSI、ASIC等のハードウェアにより実現されてもよい。
 不正アクセス管理部20809は、組み合わせ蓄積部及び判定部に相当する。また、不正アクセス管理部20809により行われる処理は、組み合わせ蓄積処理及び判定処理に相当する。
 送信部20810は、受信部20811がクライアント装置102からのアクセス要求を受信した際に、固定値とチャレンジ値(乱数)とをクライアント装置102に送信する。
 送信部20810は、例えば、プログラムにより実現される。より具体的には、送信部20810は、プロセッサ201が、主記憶装置202にロードされたプログラムを実行することにより実現される。
 また、送信部20810は、LSI、ASIC等のハードウェアにより実現されてもよい。
 送信部20810により行われる処理は、送信処理に相当する。
 受信部20811は、クライアント装置102からアクセス要求を受信する。また、受信部20811は、クライアント装置102から、ユーザ識別情報、固定値とパスワードとのハッシュ値、認証情報たるレスポンス(乱数とパスワードとのハッシュ値)を受信する。
 受信部20811は、例えば、プログラムにより実現される。より具体的には、受信部20811は、プロセッサ201が、主記憶装置202にロードされたプログラムを実行することにより実現される。
 また、受信部20811は、LSI、ASIC等のハードウェアにより実現されてもよい。
 受信部20811により行われる処理は、受信処理に相当する。
 前述のように、固定値記憶部20802を除くユーザ認証部208の構成要素及びサービス提供部206は、プログラムにより実現される。
 当該プログラムは、補助記憶装置203に記憶されており、補助記憶装置203から主記憶装置202にロードされる。そして、プロセッサ201が当該プログラムを実行する。
 図2では、プロセッサ201がユーザ認証部208(固定値記憶部20802を除く)及びサービス提供部206の機能を実現するプログラムを実行している状態を模式的に表している。
 図4は、認証情報DB20808によって保有及び管理される認証情報テーブル301の例を示す。
 認証情報テーブル301は、正規ユーザのユーザ識別情報302a、302b・・・、及びユーザ識別情報302a、302b・・・に対応するパスワード303a、303b・・・の対からなる。
 以下、複数のユーザ識別情報302a、302b・・・を総称して、ユーザ識別情報302と呼ぶ。また、複数のパスワード303a、303b・・・を総称して、パスワード303と呼ぶ。
 ユーザ識別情報302とパスワード303は、正規ユーザがサービス提供部206の提供サービスを利用するに先立ち作成される。そして、作成されたユーザ識別情報302とパスワード303は、認証情報テーブル301に登録される。
 認証情報テーブル301は、主記憶装置202又は補助記憶装置203で記憶される。また、認証情報テーブル301は、LSI、ASIC等に内蔵される記憶装置で記憶されていてもよい。
 図5は、乱数管理部20805によって保有及び管理される、乱数管理テーブル401の例を示す。
 乱数管理テーブル401には、クライアント装置102からのアクセス要求(セッション402a、402b・・・)毎に、乱数生成部20804で生成された乱数403a、403b・・・が登録されている。
 以下、複数のセッション402a、402b・・・を総称して、セッション402と呼ぶ。また、複数の乱数403a、403b・・・を総称して乱数403と呼ぶ。
 乱数管理テーブル401は、主記憶装置202又は補助記憶装置203で記憶される。また、乱数管理テーブル401は、LSI、ASIC等に内蔵される記憶装置で記憶されていてもよい。
 図6は、不正アクセス管理部20809によって保有及び管理される、不正アクセスリスト501の例を示す。
 不正アクセスリスト501には、クライアント装置102からの不正なアクセスで使用された、固定値とパスワードとのハッシュ値502a、502b・・・、及びユーザ識別情報503a、503b・・・が登録される。
 以下、固定値とパスワードとの複数のハッシュ値502a、502b・・・を総称して、固定値とパスワードとのハッシュ値502と呼ぶ。また、複数のユーザ識別情報503a、503b・・・を総称して、ユーザ識別情報503と呼ぶ。
 不正アクセスリスト501には、一つの固定値とパスワードとのハッシュ値502(例えば、ハッシュ値_α)に対し、複数のユーザ識別情報503(ユーザ識別情報_I、ユーザ識別情報_II・・・)が登録される。不正アクセスリスト501には、有効な固定値とパスワードとのハッシュ値502や、有効なユーザ識別情報503も登録されることがある。
 不正アクセスリスト501は、主記憶装置202又は補助記憶装置203で記憶される。また、不正アクセスリスト501は、LSI、ASIC等に内蔵される記憶装置で記憶されていてもよい。
***動作の説明***
 次に、図7~図11を参照して、サーバ装置101の動作例を説明する。
 図7は、固定値生成処理を示す。図8は、システム全体の通信シーケンスを示す。図9及び図10は、サーバ装置101の動作例を示す。図11は、ユーザ認証処理を示す。
 先ず、図7を用いて、固定値生成処理を説明する。
 まず、サーバ装置101の固定値生成部20801は、起動時又は定期的に、固定値を生成する(ステップS601)。
 次に、固定値生成部20801は、生成した固定値を固定値記憶部20802に保存する(ステップS602)。
 その後、サーバ装置101の不正アクセス管理部20809が、不正アクセスリスト501をオールクリアする(ステップS603)。
 固定値記憶部20802に保存された固定値は、ユーザ認証部208が処理を終了するまで、もしくは一定期間が経過するまで、ユーザ認証部208で使用される。
 次に、図8、図9及び図10を用いて、本実施の形態に係る通信シーケンス及びサーバ装置101の動作例を説明する。
 まず、ユーザ701は、サーバ装置101のサービス提供部206が提供するサービスへアクセスするため、クライアント装置102からアクセス要求を行う(ステップS702)。
 ユーザ701からのアクセス要求を受けたクライアント装置102は、サーバ装置101へ、アクセス要求を送信する(ステップS703)。
 サーバ装置101では、受信部20811が、通信装置205を介して、クライアント装置102からのアクセス要求を受信する(ステップS801)。
 そして、受信部20811は、アクセス要求(セッション402)を乱数生成部20804に出力する。
 乱数生成部20804は、乱数401(チャレンジ)を生成する(ステップS802)。
 次に、乱数生成部20804は、セッション402と生成した乱数401(チャレンジ)の対を、乱数管理部20805に渡す。
 乱数管理部20805は、セッション402と乱数401(チャレンジ)の対を乱数管理テーブル401に登録する(ステップS803)。
 更に、乱数管理部20805は、固定値記憶部20802に保存されている固定値と、生成した乱数401(チャレンジ)を、送信部20810に出力する。
 送信部20810は、通信装置205を介して、固定値と乱数401(チャレンジ)を、クライアント装置102へ送信する(ステップS804)。
 固定値と乱数401(チャレンジ)を受信したクライアント装置102は、ユーザ701によって入力(ステップS704)されるユーザ識別情報302とパスワード303を受け取る。
 次に、クライアント装置102は、ユーザによって入力されたパスワード303と、サーバ装置101から受信した固定値と乱数401(チャレンジ)とを用い、固定値とパスワード303とのハッシュ値502、及び乱数401(チャレンジ)とパスワード303とのハッシュ値(レスポンス)を算出する(ステップS705)。
 その後、クライアント装置102は、ユーザによって入力(ステップS704)されたユーザ識別情報302、固定値とパスワード303とのハッシュ値502、及び乱数401(チャレンジ)とパスワード303とのハッシュ値(レスポンス)を、サーバ装置101へ送信する(ステップS706)。
 サーバ装置101では、受信部20811が通信装置205を介して、ユーザ識別情報302、固定値とパスワード303とのハッシュ値502、及び乱数401(チャレンジ)とパスワード303とのハッシュ値(レスポンス)を受信する(ステップS805)。
 そして、受信部20811は、ユーザ識別情報302、固定値とパスワード303とのハッシュ値502、及び乱数401(チャレンジ)とパスワード303とのハッシュ値(レスポンス)を不正アクセス管理部20809に出力する。
 不正アクセス管理部20809は、クライアント装置102からの固定値とパスワード303とのハッシュ値502が、既に不正アクセスリスト501に登録されており、かつユーザ識別情報501の登録数が、閾値以上になっているか否か、を判定する(ステップS806)。
 ユーザ識別情報501の登録数が、閾値以上である場合(ステップS806でYES)、不正アクセス管理部20809は、リバースブルートフォース攻撃又はパスワードスプレー攻撃が発生していると判定する(ステップS807)。
 つまり、不正アクセス管理部20809は、受信部20811により受信されたハッシュ値と同じハッシュ値と組になっているユーザ識別情報の個数を不正アクセスリスト501において計数し、計数結果に基づき、クライアント装置102による攻撃が発生しているか否かを判定する。
 そして、不正アクセス管理部20809は、サービス提供部206に、攻撃の発生を通知する。通知を受けたサービス提供部206は、攻撃に対する対策を行う(ステップS808)。リバースブルートフォース対策又はパスワードスプレー対策の内容は、提供するサービスによって異なるため、本明細書では言及しない。
 ユーザ識別情報501の登録数が、閾値未満である場合(ステップS806でNO)、不正アクセス管理部20809は、ユーザ認証をハッシュ値算出部20806に指示する。
 ハッシュ値比較部20807は、ユーザ認証を行う(ステップS809)。
 ここで、図11を用いて、ステップS809のユーザ認証処理の詳細を説明する。
 まず、ハッシュ値算出部20806は、認証情報管理部20803が管理する認証情報DB20808の認証情報テーブル301から、クライアント装置102からのユーザ識別情報302に対応するパスワード303を取得する(ステップS901)。
 次に、ハッシュ値算出部20806は、乱数管理部20805が管理する乱数管理テーブル401から、クライアント装置102からのアクセス要求(セッション402)に対応する乱数403を取得する(ステップS902)。
 更に、ハッシュ値算出部20806は、固定値記憶部20801に保存された固定値を取得し、ステップS901で取得したパスワード303と固定値とのハッシュ値を算出する(ステップS903)。
 また、ハッシュ値算出部20806は、ステップS902で取得した乱数403と、ステップS901で取得したパスワード303とのハッシュ値を算出する(ステップS904)。
 その後、ハッシュ値比較部20807が、クライアント装置102からの固定値とパスワード303とのハッシュ値502と、ハッシュ値算出部20806よって算出された固定値とパスワードとのハッシュ値とを比較し、両者が一致するか否かを検証する(ステップS905)。
 更に、ハッシュ値比較部20807は、クライアント装置102からの乱数401(チャレンジ)とパスワード303とのハッシュ値(レスポンス)と、ハッシュ値算出部20806よって算出された乱数403とパスワード303とのハッシュ値とを比較し、両者が一致するか否かを検証する(ステップS906)。
 ユーザ認証装置208は、固定値とパスワード303とのハッシュ値、及び乱数401とパスワード303とのハッシュ値が、共に一致する場合(ステップS907でYES)には、ハッシュ値算出部20806は、ユーザ認証成功と判定する(ステップS908)。
 一方、少なくともいずれかが一致しない場合(ステップS907でNO)には、ハッシュ値算出部20806は、ユーザ認証失敗と判定する(ステップS909)。
 不正アクセス管理部20809は、ステップS809のユーザ認証が成功した場合(ステップS810でYES)は、不正アクセスリスト501から、固定値とパスワード303とのハッシュ値502に該当するユーザ識別情報503を削除する(ステップS811)。
 その後、送信部20810が、ユーザ認証の成功を通知するメッセージを、通信装置205を介して、クライアント装置102へ送信する(ステップS814)。
 ユーザ認証が失敗している場合(ステップS810でNO)は、不正アクセス管理部20809は、不正アクセスリスト501を確認し、クライアント装置102からの固定値とパスワード303とのハッシュ値502に該当するユーザ識別情報503に、クライアント装置102からのユーザ識別情報302が登録されているか否かを確認する(ステップS812)。
 ユーザ識別情報302が既に登録されている場合(ステップS812でYES)は、送信部20810がユーザ認証の失敗を通知するメッセージを通信装置205を介して、クライアント装置102へ送信する(ステップS815)。
 一方、ユーザ識別情報302が未登録の場合(ステップS812でNO)は、不正アクセス管理部20809は、不正アクセスリスト501で、クライアント装置102からの固定値とパスワード303とのハッシュ値502に該当するユーザ識別情報503に、クライアント装置102からのユーザ識別情報302を登録する(ステップS813)。
 クライアント装置102からの固定値とパスワード303とのハッシュ値502が、不正アクセスリスト501に登録されていない場合には、不正アクセス管理部20809は、クライアント装置102からの固定値とパスワード303とのハッシュ値502と、クライアント装置102からのユーザ識別情報302を、不正アクセスリスト501に登録する。
 その後、送信部20810がユーザ認証の失敗を通知するメッセージを通信装置205を介して、クライアント装置102へ送信する(ステップS815)。
***実施の形態の効果の説明***
 以上のように、本実施の形態によれば、同じ固定値とパスワードとのハッシュ値と、異なるユーザ識別情報によるアクセスを管理することにより、チャレンジ・アンド・レスポンス方式のユーザ認証に対するリバースブルートフォース攻撃又はパスワードスプレー攻撃を検知することができる。このため、本実施の形態によれば、リバースブルートフォース攻撃又はパスワードスプレー攻撃に対する有効な対策を行うことができる。また、定期的に固定値を変更することにより、レインボーテーブルを用いたパスワード攻撃を難しくすることが可能となる。
 なお、本実施の形態では、ユーザ認証時に、固定値とパスワード303とのハッシュ値502と、乱数403とパスワード303とのハッシュ値の両方を用い、両方が一致した場合にのみユーザ認証に成功したと判定した。これに代えて、乱数403とパスワード303とのハッシュ値のみを用い、乱数403とパスワード303とのハッシュ値が一致すれば、ユーザ認証に成功したと判定してもよい。
 実施の形態2.
 以上の実施の形態1では、同じ固定値とパスワード303とのハッシュ値502と、異なるユーザ識別情報501によるアクセスが、規定回数以上行われているか否かで、リバースブルートフォース攻撃又はパスワードスプレー攻撃が発生しているか否かが判定される。
 本実施の形態では、同じ固定値とパスワード303とのハッシュ値502と、異なるユーザ識別情報501によるアクセスが、規定頻度以上行われているか否かで、リバースブルートフォース攻撃又はパスワードスプレー攻撃が発生しているか否かが判定される例を示す。
***構成の説明***
 本実施の形態では、システムの構成例、サーバ装置101のハードウェア構成例、サーバ装置101の機能構成例、認証情報テーブル、乱数管理テーブルは、実施の形態1の図1~図5で示したものと同じであるため、説明を省略する。
 なお、本実施の形態では、主に実施の形態1との差異を説明する。以下で説明していない事項は、実施の形態1と同様である。
 図12は、本実施の形態で使用する不正アクセスリスト1001を示す。
 本実施の形態に係る不正アクセスリスト1001は、不正アクセス管理部20809によって保有及び管理される。
 不正アクセスリスト1001には、クライアント装置102からの不正なアクセスで使用された、固定値とパスワードとのハッシュ値502a、502b・・・、及びユーザ識別情報503a‐1、503a‐2、503b‐1・・・、アクセス時刻1002a‐1、1002a‐2、1002b‐1・・・が登録される。
 以下、ユーザ識別情報503a‐1、503a‐2、503b‐1・・・を総称して、ユーザ識別情報503と呼ぶ。また、アクセス時刻1002a‐1、1002a‐2、1002b‐1・・・を総称して、アクセス時刻1002と呼ぶ。
 不正アクセスリスト1001には、一つの固定値とパスワードとのハッシュ値502(例えば、ハッシュ値_α)に対し、複数のユーザ識別情報503(ユーザ識別情報_I、ユーザ識別情報_II・・・)とアクセス時刻1002(時刻_I、時刻_II・・・)が登録される。
 アクセス時刻1002は、固定値とパスワードとのハッシュ値502とユーザ識別情報503を用いてアクセスされた最終時刻を示す。つまり、アクセス時刻1002は、ハッシュ値502とユーザ識別情報503のクライアント装置102からの受信時刻である。
***動作の説明***
 以降では、図7、図8、図11、図13、図14、図15及び図16を用い、システム全体の処理の流れを説明する。
 図7は、固定値生成処理を示す。図8は、システム全体の通信シーケンスを示す。図11は、ユーザ認証処理を示す。図13、図14及び図15は、サーバ装置101の動作例を示す。図16は、アクセス頻度確認処理を示す。
 図7のステップS601~S603は、実施の形態1で説明した通りであるため、説明を省略する。
 図8のステップS702~S706は、実施の形態1で説明した通りであるため、説明を省略する。
 また、図13のステップS801~S805は、実施の形態1で説明した通りであるため、説明を省略する。
 以下では、図13のステップS1101以降の処理を説明する。
 まず、不正アクセス管理部20809は、不正アクセスリスト1001から、クライアント装置102からの固定値とパスワード303とのハッシュ値502を用いたアクセスの頻度を確認する(ステップS1101)。
 図16を用いて、ステップS1101の詳細を説明する。
 まず、不正アクセス管理部20809は、固定値とパスワード303とのハッシュ値502に該当する不正アクセスリスト1001の、アクセス時刻1002を確認し、最終アクセス時刻1002(最も直近のアクセス時刻1002)を特定する(ステップS1201)。
 次に、不正アクセス管理部20809は、固定値とパスワード303とのハッシュ値502に該当する不正アクセスリスト1001から、最終アクセス時刻1002よりも単位時間前のアクセス情報(ユーザ識別情報503及びアクセス時刻1002)を削除する(ステップS1202)。
 その後、不正アクセス管理部20809は、固定値とパスワード303とのハッシュ値502に該当する不正アクセスリスト1001から、アクセス頻度(例えば、単位時間当たりのユーザ識別情報の件数)を算出する(ステップS1203)。
 更に、不正アクセス管理部20809は、算出したアクセス頻度が、閾値以上になっているか否かを確認する(ステップS1102)。
 アクセス頻度が、閾値以上になっている場合(ステップS1102でYES)は、不正アクセス管理部20809は、リバースブルートフォース攻撃又はパスワードスプレー攻撃が発生していると判定する(ステップS807)。
 つまり、不正アクセス管理部20809は、受信時刻が単位時間内に収まる、ハッシュ値が共通するユーザ識別情報の個数が閾値以上である場合に、攻撃が発生していると判定する。
 そして、不正アクセス管理部20809は、サービス提供部206に、攻撃の発生を通知する。通知を受けたサービス提供部206は、攻撃に対する対策を行う(ステップS808)。リバースブルートフォース対策又はパスワードスプレー対策の内容は、提供するサービスによって異なるため、本明細書では言及しない。
 一方、アクセス頻度が、閾値未満の場合(ステップS1102でNO)は、ユーザ認証が行われる(ステップS809)。ユーザ認証処理(S901~S909)は、実施の形態1と同じであるため、説明を省略する。
 不正アクセス管理部20809は、ステップS809のユーザ認証が成功した場合(ステップS810でYES)は、不正アクセスリス1101から、固定値とパスワード303とのハッシュ値502に該当するユーザ識別情報503とアクセス時刻1002を削除する(ステップS1105)。
 その後、送信部20810が、ユーザ認証の成功を通知するメッセージを、通信装置205を介して、クライアント装置102へ送信する(ステップS814)。
 ユーザ認証が失敗している場合(ステップS810でNO)は、不正アクセス管理部20809は、不正アクセスリスト1001を確認し、クライアント装置102からの固定値とパスワード303とのハッシュ値502に該当するユーザ識別情報503に、クライアント装置102からのユーザ識別情報302が登録されているか否かを確認する(ステップS812)。
 ユーザ識別情報302が既に登録されている場合(ステップS812でYES)は、不正アクセス管理部20809は、当該ユーザ識別情報302によるアクセス時刻1002を、現アクセスの時刻に更新する(ステップS1104)。
 その後、送信部20810がユーザ認証の失敗を通知するメッセージを通信装置205を介して、クライアント装置102へ送信する(ステップS815)。
 一方、ユーザ識別情報302が未登録の場合(ステップS812でNO)は、不正アクセス管理部20809は、不正アクセスリスト1001で、クライアント装置102からの固定値とパスワード303とのハッシュ値502に該当するユーザ識別情報503にクライアント装置102からのユーザ識別情報302を登録し、アクセス時刻1002に現アクセスの時刻を登録する(ステップS1103)。
 クライアント装置102からの固定値とパスワード303とのハッシュ値502が、不正アクセスリスト1001に登録されていない場合には、不正アクセス管理部20809は、クライアント装置102からの固定値とパスワード303とのハッシュ値502と、クライアント装置102からのユーザ識別情報302と、現アクセスのアクセス時刻1002とを、不正アクセスリスト1001に登録する。
 その後、送信部20810がユーザ認証の失敗を通知するメッセージを通信装置205を介して、クライアント装置102へ送信する(ステップS815)。
***実施の形態の効果の説明***
 以上のように、本実施の形態によれば、同じ固定値とパスワードとのハッシュ値と、異なるユーザ識別情報によるアクセスの頻度を管理することにより、チャレンジ・アンド・レスポンス方式のユーザ認証に対するリバースブルートフォース攻撃又はパスワードスプレー攻撃を検知することができる。このため、本実施の形態によれば、リバースブルートフォース攻撃又はパスワードスプレー攻撃に対する有効な対策を行うことができる。
 以上、本発明の実施の形態について説明したが、これら2つの実施の形態を組み合わせて実施しても構わない。
 あるいは、これら2つの実施の形態のうち、1つを部分的に実施しても構わない。
 あるいは、これら2つの実施の形態を部分的に組み合わせて実施しても構わない。
 なお、本発明は、これらの実施の形態に限定されるものではなく、必要に応じて種々の変更が可能である。
***ハードウェア構成の説明***
 最後に、サーバ装置101のハードウェア構成の補足説明を行う。
 補助記憶装置203には、サービス提供部206及びユーザ認証部208(固定値記憶部20802を除く)の機能を実現するプログラムの他に、OS(Operating System)も記憶されている。
 そして、OSの少なくとも一部がプロセッサ201により実行される。
 プロセッサ201はOSの少なくとも一部を実行しながら、サービス提供部206及びユーザ認証部208(固定値記憶部20802を除く)の機能を実現するプログラムを実行する。
 プロセッサ201がOSを実行することで、タスク管理、メモリ管理、ファイル管理、通信制御等が行われる。
 また、サービス提供部206及びユーザ認証部208(固定値記憶部20802を除く)の処理の結果を示す情報、データ、信号値及び変数値の少なくともいずれかが、主記憶装置202、補助記憶装置203、プロセッサ201内のレジスタ及びキャッシュメモリの少なくともいずれかに記憶される。
 また、サービス提供部206及びユーザ認証部208(固定値記憶部20802を除く)の機能を実現するプログラムは、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ(登録商標)ディスク、DVD等の可搬記録媒体に格納されていてもよい。
 また、サービス提供部206及びユーザ認証部208の「部」を、「回路」又は「工程」又は「手順」又は「処理」に読み替えてもよい。
 また、サーバ装置101は、処理回路により実現されてもよい。処理回路は、前述したLSI及びASICである。また、例えば、ロジックIC(Integrated Circuit)、GA(Gate Array)、FPGA(Field-Programmable Gate Array)等も処理回路に含まれる。
 なお、本明細書では、プロセッサと、処理回路との上位概念を、「プロセッシングサーキットリー」という。
 つまり、プロセッサと、処理回路とは、それぞれ「プロセッシングサーキットリー」の具体例である。
 101 サーバ装置、102 クライアント装置、103 ネットワーク、201 プロセッサ、202 主記憶装置、203 補助記憶装置、204 入出力装置、205 通信装置、206 サービス提供部、207 バス、208 ユーザ認証部、20801 固定値生成部、20802 固定値記憶部、20803 認証情報管理部、20804 乱数生成部、20805 乱数管理部、20806 ハッシュ値算出部、20807 ハッシュ値比較部、20808 認証情報DB、20809 不正アクセス管理部、20810 送信部、20811 受信部、301 認証情報テーブル、302 ユーザ識別情報、303 パスワード、401 乱数管理テーブル、402 セッション、403 乱数、501 不正アクセスリスト、502 固定値とパスワードとのハッシュ値、503 ユーザ識別情報、701 ユーザ、1001 不正アクセスリスト。

Claims (8)

  1.  固定値を送信する送信部と、
     前記固定値の送信先から、ユーザのパスワードと前記固定値とから得られるハッシュ値と、ユーザ識別情報とを受信する受信部と、
     前記受信部により受信されたハッシュ値とユーザ識別情報との組み合わせを蓄積する組み合わせ蓄積部と、
     前記組み合わせ蓄積部により蓄積されているハッシュ値とユーザ識別情報との組み合わせにおいて、ハッシュ値が共通するユーザ識別情報の個数を計数し、計数結果に基づき、攻撃が発生しているか否か判定する判定部とを有するサーバ装置。
  2.  前記判定部は、
     ハッシュ値が共通するユーザ識別情報の個数が閾値以上である場合に、攻撃が発生していると判定する請求項1に記載のサーバ装置。
  3.  前記組み合わせ蓄積部は、
     前記受信部により受信されたハッシュ値とユーザ識別情報との組み合わせを受信時刻とともに蓄積し、
     前記判定部は、
     受信時刻が単位時間内に収まる、ハッシュ値が共通するユーザ識別情報の個数が閾値以上である場合に、攻撃が発生していると判定する請求項1に記載のサーバ装置。
  4.  前記受信部は、
     クライアント装置から、ユーザのパスワードと前記固定値とから得られるハッシュ値と、ユーザ識別情報とを受信し、
     前記判定部は、
     前記受信部により受信されたハッシュ値と同じハッシュ値と組になっているユーザ識別情報の個数を計数し、計数結果に基づき、前記クライアント装置による攻撃が発生しているか否かを判定する請求項1に記載のサーバ装置。
  5.  前記受信部は、
     前記固定値の送信先から、前記ハッシュ値と、前記ユーザ識別情報と、ユーザ認証に用いる認証情報とを受信し、
     前記組み合わせ蓄積部は、
     ユーザ認証に失敗した認証情報とともに前記受信部により受信されたハッシュ値とユーザ識別情報との組み合わせを蓄積する請求項1に記載のサーバ装置。
  6.  前記判定部は、
     リバースブルートフォース攻撃の有無又はパスワードスプレー攻撃の有無を判定する請求項1に記載のサーバ装置。
  7.  コンピュータが、固定値を送信し、
     前記コンピュータが、前記固定値の送信先から、ユーザのパスワードと前記固定値とから得られるハッシュ値と、ユーザ識別情報とを受信し、
     前記コンピュータが、受信されたハッシュ値とユーザ識別情報との組み合わせを蓄積し、
     前記コンピュータが、蓄積されているハッシュ値とユーザ識別情報との組み合わせにおいて、ハッシュ値が共通するユーザ識別情報の個数を計数し、計数結果に基づき、攻撃が発生しているか否か判定する攻撃判定方法。
  8.  固定値を送信する送信処理と、
     前記固定値の送信先から、ユーザのパスワードと前記固定値とから得られるハッシュ値と、ユーザ識別情報とを受信する受信処理と、
     前記受信処理により受信されたハッシュ値とユーザ識別情報との組み合わせを蓄積する組み合わせ蓄積処理と、
     前記組み合わせ蓄積処理により蓄積されているハッシュ値とユーザ識別情報との組み合わせにおいて、ハッシュ値が共通するユーザ識別情報の個数を計数し、計数結果に基づき、攻撃が発生しているか否か判定する判定処理とをコンピュータに実行させる攻撃判定プログラム。
PCT/JP2018/027570 2018-07-23 2018-07-23 サーバ装置、攻撃判定方法及び攻撃判定プログラム WO2020021608A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018560685A JP6545404B1 (ja) 2018-07-23 2018-07-23 サーバ装置、攻撃判定方法及び攻撃判定プログラム
PCT/JP2018/027570 WO2020021608A1 (ja) 2018-07-23 2018-07-23 サーバ装置、攻撃判定方法及び攻撃判定プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2018/027570 WO2020021608A1 (ja) 2018-07-23 2018-07-23 サーバ装置、攻撃判定方法及び攻撃判定プログラム

Publications (1)

Publication Number Publication Date
WO2020021608A1 true WO2020021608A1 (ja) 2020-01-30

Family

ID=67297533

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/027570 WO2020021608A1 (ja) 2018-07-23 2018-07-23 サーバ装置、攻撃判定方法及び攻撃判定プログラム

Country Status (2)

Country Link
JP (1) JP6545404B1 (ja)
WO (1) WO2020021608A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112235233A (zh) * 2020-07-08 2021-01-15 国家计算机网络与信息安全管理中心 一种以太坊服务节点主动验证方法
CN114172723A (zh) * 2021-12-07 2022-03-11 北京天融信网络安全技术有限公司 一种暴力破解检测方法及装置
WO2023219086A1 (ja) * 2022-05-13 2023-11-16 渡辺浩志 オンライン認証技術

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110446207B (zh) * 2019-08-15 2022-08-23 重庆知遨科技有限公司 一种卷烟生产区非法无线接入定位及阻断方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080060078A1 (en) * 2006-08-31 2008-03-06 Lord Robert B Methods and systems for detecting an access attack
JP4820928B1 (ja) * 2011-07-08 2011-11-24 株式会社野村総合研究所 認証システムおよび認証方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014164672A (ja) * 2013-02-27 2014-09-08 Nomura Research Institute Ltd 認証装置および認証方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080060078A1 (en) * 2006-08-31 2008-03-06 Lord Robert B Methods and systems for detecting an access attack
JP4820928B1 (ja) * 2011-07-08 2011-11-24 株式会社野村総合研究所 認証システムおよび認証方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
25 February 2016, pp. 41-46,particularly, pp. 43-45, (FURUTA, Yuji and 5 others,Privacy-preserving log analysis with deterministicencryption, IEICE Technical Report, IEICE Transactions on Fundamentals of Electronics, Communications and Computer Sciences) *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112235233A (zh) * 2020-07-08 2021-01-15 国家计算机网络与信息安全管理中心 一种以太坊服务节点主动验证方法
CN114172723A (zh) * 2021-12-07 2022-03-11 北京天融信网络安全技术有限公司 一种暴力破解检测方法及装置
CN114172723B (zh) * 2021-12-07 2023-07-18 北京天融信网络安全技术有限公司 一种暴力破解检测方法及装置
WO2023219086A1 (ja) * 2022-05-13 2023-11-16 渡辺浩志 オンライン認証技術

Also Published As

Publication number Publication date
JP6545404B1 (ja) 2019-07-17
JPWO2020021608A1 (ja) 2020-08-06

Similar Documents

Publication Publication Date Title
WO2020021608A1 (ja) サーバ装置、攻撃判定方法及び攻撃判定プログラム
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
US20210112052A1 (en) Authenticating and authorizing users with jwt and tokenization
JP7228977B2 (ja) 情報処理装置及び認可システムと検証方法
US9984227B2 (en) Hypervisor and virtual machine protection
CN110545285B (zh) 一种基于安全芯片的物联网终端安全认证方法
US12021839B1 (en) Parallel tunneling with virtual private network servers
US11750596B2 (en) Using ephemeral URL passwords to deter high-volume attacks
KR101967874B1 (ko) 주기적으로 변경되는 동적 코드 생성 방법과 그러한 동적 코드의 인증 방법
US20100153274A1 (en) Method and apparatus for mutual authentication using small payments
US12021975B2 (en) Authentication system for a multiuser device
US11972000B2 (en) Information dispersal for secure data storage
US11665148B2 (en) Systems and methods for addressing cryptoprocessor hardware scaling limitations
KR102094606B1 (ko) 인증 장치 및 방법
US11528130B1 (en) Stateless system to protect data
US11962704B1 (en) Optimized authentication system for a multiuser device
US11909885B2 (en) Passive optical network security
JP2013114534A (ja) データ処理装置及びデータ処理方法及びプログラム
Hosseyni et al. Formal security analysis of the OpenID FAPI 2.0 Security Profile with FAPI 2.0 Message Signing, FAPI-CIBA, Dynamic Client Registration and Management: technical report
Anand et al. Web Application for Secured Two Factor Authentication
Bortolameotti et al. Reliably determining data leakage in the presence of strong attackers
WO2019032300A1 (en) SYSTEM AND METHODS FOR ACTIVE PREVENTION OF RAW FORCE ATTACKS

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2018560685

Country of ref document: JP

Kind code of ref document: A

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

Ref document number: 18927858

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18927858

Country of ref document: EP

Kind code of ref document: A1