Authentication device, authentication method, and authentication program

The authentication system addresses the vulnerability of CAPTCHAs to AI by rearranging images with a seed value and order-based selection, effectively thwarting autopilot attacks and enhancing security.

WO2025177704A1PCT designated stage Publication Date: 2025-08-28KDDI CORP
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
PCT/JP2024/046378
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-02-19
Filing Date
2024-12-27
Publication Date
2025-08-28

AI Technical Summary

Technical Problem

Existing CAPTCHAs are ineffective against autopilot attacks as they can be easily solved by AI, compromising their ability to distinguish between humans and computers.

Method used

An authentication system that generates and rearranges multiple images using a seed value, requiring users to select images in a specific order, with a correct/incorrect determination based on the original image order, and allows login only after a predetermined number of correct answers, incorporating obfuscation and time limits to prevent AI attacks.

Benefits of technology

Effectively suppresses autopilot attacks by making it difficult for attackers to decipher the image arrangement, even if the underlying problem is solved by AI, thereby reducing damage and enhancing security.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2024046378_28082025_PF_FP_ABST
    Figure JP2024046378_28082025_PF_FP_ABST
Patent Text Reader

Abstract

This server comprises: an image generation unit that generates one original image in which a plurality of images is arranged; a seed value generation unit that randomly generates a seed value; a program generation unit that generates a rearrangement program for rearranging the plurality of images in an order based on the seed value; a program transmission unit that transmits the original image, the seed value, and the rearrangement program to a terminal of a user; a selection result reception unit that receives selection result information of the plurality of images together with the seed value in the order after rearrangement; a correctness determination unit that, after the selection result information is converted into an order before rearrangement on the basis of the seed value, determines correctness by comparing the selection result information for each necessity of selection and order in the original image; and an authentication processing unit that permits the user to log in only when the determined number of correct answers exceeds a predetermined number.
Need to check novelty before this filing date? Find Prior Art

Description

Authentication device, authentication method, and authentication program

[0001] The present invention relates to an authentication system using CAPTCHA. This application claims priority to Japanese Patent Application No. 2024-022690, filed on February 19, 2024, the contents of which are incorporated herein by reference.

[0002] Conventionally, to prevent autopilot attacks, an authentication method called CAPTCHA (Completely Automated Public Turing test to tell Computers and Humans Apart) has been used to verify that the user is a human and not a computer (see, for example, Non-Patent Document 1).

[0003] reCAPTCHA, Internet, <https: / / www.google.com / recaptcha / about / >

[0004] However, existing general CAPTCHAs aim to present problems that cannot be solved by AI, and do not provide any restraints against autopilot. In other words, once a problem is solved, autopilot becomes possible. This indicates that, as problems become more easily solved by AI, the effectiveness of CAPTCHAs against attacks is being neutralized.

[0005] The present invention aims to provide an authentication device, an authentication method, and an authentication program that can suppress autopilot attacks and reduce damage even if a problem is solved by AI.

[0006] The authentication device of the present invention comprises an image generation unit that generates an original image containing multiple images, each of which is determined to require selection by the user; a seed value generation unit that randomly generates a seed value; a program generation unit that generates a rearrangement program for rearranging the multiple images included in the original image into an order based on the seed value; a program transmission unit that transmits the original image, the seed value, and the rearrangement program to the terminal of the user who requested login; a selection result receiving unit that, when the multiple images are rearranged and displayed by executing the rearrangement program on the terminal, receives selection result information indicating whether each of the multiple images was selected by the user together with the seed value in the rearranged order; a correct / incorrect determination unit that converts the selection result information into the order before rearrangement based on the seed value, and then compares the selection result information with the order of whether or not the selection is required in the original image to determine whether it is correct; and an authentication processing unit that allows the user to log in only if the number of correct answers determined by the correct / incorrect determination unit exceeds a predetermined number.

[0007] The program generation unit may generate the rearrangement program in an obfuscated manner.

[0008] The seed value generation unit may set an expiration date for the generated seed value, and the selection results reception unit may accept the selection results information only until the expiration date.

[0009] The seed value generation unit may generate a random value and signature data for the current time as the seed value, and the selection result reception unit may accept the seed value only up to a predetermined expiration date for the current time of the signature data.

[0010] The authentication method of the present invention includes an image generation step of generating an original image containing multiple images, each of which is determined to require selection by the user; a seed value generation step of randomly generating a seed value; a program generation step of generating a rearrangement program for rearranging the multiple images included in the original image into an order based on the seed value; a program transmission step of transmitting the original image, the seed value, and the rearrangement program to a terminal of the user who requested login; a selection result reception step of receiving, on the terminal, selection result information indicating whether each of the multiple images was selected by the user together with the seed value in the rearranged order, when the rearrangement program is executed on the terminal to rearrange and display the multiple images; a correct / incorrect determination step of converting the selection result information into the order before rearrangement based on the seed value, and then comparing the selection result information with the order of whether or not the selection is required in the original image to determine whether or not it is correct; and an authentication processing step of allowing the user to log in only if the number of correct answers determined in the correct / incorrect determination step exceeds a predetermined number.

[0011] An authentication program according to the present invention is for causing a computer to function as the authentication device.

[0012] According to the present invention, even if the problem is solved by AI, it is possible to suppress autopilot attacks and reduce damage.

[0013] It is a diagram showing the functional configuration of a server in an embodiment. It is a schematic diagram explaining a CAPTCHA image and an authentication mechanism in an embodiment. It is a sequence diagram showing the procedure of an authentication method in an embodiment. It is a block diagram showing an example of the internal configuration of a server in an embodiment.

[0014] An example of an embodiment of the present invention will be described below. The authentication device of this embodiment protects image data necessary for automatic piloting by shuffling CAPTCHA images using a method described below, thereby suppressing attacks.

[0015] 1 is a diagram showing the functional configuration of a server 1 (authentication device) in this embodiment. The server 1 is an information processing device that includes a control unit 10, a storage unit 20, various input / output interfaces, etc., and provides predetermined web services in response to access from user terminals.

[0016] The control unit 10 is a part that controls the entire server 1 and realizes each function in this embodiment by appropriately reading and executing various programs stored in the storage unit 20. The control unit 10 may be a CPU. The storage unit 20 is a storage area for various programs and various data for causing the hardware group to function as the server 1, and may be a ROM, RAM, flash memory, hard disk drive (HDD), etc. Specifically, the control unit 10 functions as an image generation unit 11, a seed value generation unit 12, a program generation unit 13, a program transmission unit 14, a selection result reception unit 15, a true / false determination unit 16, and an authentication processing unit 17 by executing software (authentication program) stored in the storage unit 20.

[0017] The image generating unit 11 generates a single original image in which a plurality of images are arranged, each of which is determined as to whether or not it is necessary for the user to select it.

[0018] The seed value generator 12 randomly generates a seed value for shuffling a plurality of images that make up the original image.

[0019] The program generation unit 13 generates a rearrangement program for rearranging a plurality of images included in the original image in an order based on the seed value. At this time, the program generation unit 13 generates the rearrangement program in an obfuscated manner to prevent attackers from deciphering it.

[0020] The program transmission unit 14 transmits the original image, the seed value, and the rearrangement program to the terminal of the user who has requested login.

[0021] The selection result receiving unit 15 receives selection result information indicating whether each of the multiple images has been selected by the user, together with the seed value, in the order after the rearrangement, when the rearrangement program is executed on the user's terminal to rearrange and display the multiple images.

[0022] The correctness determining unit 16 converts the selection result information into the order before rearrangement based on the seed value, and then compares each order with the necessity of selection in the original image to determine whether the information is correct or not.

[0023] The authentication processing unit 17 permits the user to log in only when the number of correct answers determined by the correct / incorrect determining unit 16 exceeds a predetermined number.

[0024] Here, the seed value generation unit 12 may set an expiration date for the generated seed value and store it in the storage unit 20. In this case, the selection result receiving unit 15 accepts the selection result information only until the set expiration date. The seed value generation unit 12 may also generate a random value and signature data for the current time as the seed value. In this case, too, the selection result receiving unit 15 accepts the seed value for the current time of the signature data only until the specified expiration date.

[0025] 2 is a schematic diagram illustrating a CAPTCHA image and authentication mechanism in this embodiment. The server 1 transmits to the terminal of the user who has made the login request, together with an original image (e.g., a 4x4 array) of multiple images, a seed value, and a rearrangement program for shuffling the original images based on the seed value.

[0026] The terminal executes a rearrangement program to shuffle the multiple images that make up the original image and display them as a CAPTCHA image. The user selects only images that meet specified conditions from the displayed CAPTCHA images. In this example, the user selects an image of a pineapple and does not select any other images.

[0027] The presence or absence of a selection by the user is notified to the server 1 together with the seed value in the order shuffled by the sorting program in the CAPTCHA image. The presence or absence of this selection is restored to the original order using the seed value, and is judged as correct or incorrect by comparing it with the selection necessity preset in the original image.

[0028] 3 is a sequence diagram showing the procedure of the authentication method in this embodiment. In step S1, a user accesses a login page of a web service provided by the server 1 from a terminal.

[0029] In step S2, the server 1 randomly generates a seed value S. In step S3, the server 1 transmits to the terminal an image A in which n images M1 to Mn, each of which may or may not be selected, are arranged in a single image, the seed value S, and a program B generated based on the seed value S, in order to display a question on the login page.

[0030] In step S4, the terminal executes program B to rearrange and arrange M1 to Mn in image A on the screen in a different order.

[0031] In step S5, the user selects one or more images from M1 to Mn on the terminal, and then presses the send button.

[0032] In step S6, the terminal transmits information on the selection results (presence or absence) for M1 to Mn in the rearranged order together with the seed value S to the server 1.

[0033] In step S7, the server 1 calculates the selection result information before rearrangement from the selection result information in the rearranged order based on the seed value S. Then, the server 1 compares the calculation result with the selection necessity determined in advance for the original image A, and determines whether the selection result is correct for each of the n images M1 to Mn.

[0034] In step S8, if the number of correct answers for "yes / no" exceeds m (<n), the server 1 authenticates the user and displays the next page. On the other hand, if the number of correct answers is m or less, the login fails.

[0035] According to this embodiment, the server 1 generates a sorting program using a seed value, and then uses this seed value to return the user's selection results to their original order and determine whether they are correct or incorrect. By sorting the display images of the CAPTCHA using a program transmitted to the terminal in this way, an attacker cannot easily obtain the display images without deciphering the program, making it difficult for them to create correct answer data to be sent to the server 1. Therefore, the server 1 can suppress autopilot attacks and reduce damage, even if a question based on the original image is solved by AI.

[0036] Furthermore, even if an attacker uses a debugging tool or the like to read the contents of communications after decryption of SSL or other encryption, the attacker cannot easily obtain the images used for screen display. In other words, in order to know how the communications contents were actually displayed on the screen, it is necessary to know how the rearrangement program arranged the images. However, by combining this with, for example, source code obfuscation technology, it is possible to protect the rearrangement program from being decrypted by an attacker.

[0037] Furthermore, since this method randomly selects a seed value each time, the sorting order cannot be known in advance. Furthermore, since it is impossible to know how sorting is performed based on the seed value, an attacker must decrypt the program each time the program is accessed. Therefore, by setting a time limit that makes the CAPTCHA answer practically unbreakable, it is possible to construct a CAPTCHA that is difficult to decrypt. For example, a time limit can be set by storing an expiration date for the seed value on the server 1, or by using a signed version of the seed value and the date and time instead of the seed value, and the server 1 can thereby make it practically impossible to decrypt the obfuscation.

[0038] The authentication method of this embodiment can be directly substituted for various existing CAPTCHAs, and can also be used in combination with other existing technologies. For example, by combining it with other technologies that detect browser autopilot, further measures can be taken, such as preventing the capture of display images. Furthermore, attacks such as installing an external camera on a PC monitor or the like and acquiring display images from the captured images are costly, so the authentication method of this embodiment has a high deterrent effect because attacks cannot be carried out without the preparation of such special equipment.

[0039] FIG. 4 is a block diagram showing an example of the internal configuration of a server according to an embodiment. An example of the internal configuration of the server 1 will be described with reference to the same figure. At least some of the functions of the server 1 can be implemented using a computer. As shown in the figure, the computer includes a central processing unit 901, a RAM 902, an input / output port 903, input / output devices 904 and 905, and a bus 906. The computer itself can be implemented using existing technology. The central processing unit 901 executes instructions contained in a program read from the RAM 902 or the like. In accordance with each instruction, the central processing unit 901 writes data to the RAM 902, reads data from the RAM 902, and performs arithmetic and logical operations. The RAM 902 stores data and programs. Each element included in the RAM 902 has an address and can be accessed using the address. RAM is an abbreviation for "random access memory." The input / output port 903 is a port through which the central processing unit 901 exchanges data with external input / output devices. The input / output devices 904 and 905 are input / output devices. The input / output devices 904 and 905 exchange data with the central processing unit 901 via the input / output port 903. The bus 906 is a common communication path used within the computer. For example, the central processing unit 901 reads and writes data from the RAM 902 via the bus 906. Also, for example, the central processing unit 901 accesses the input / output port via the bus 906. Furthermore, all or part of each functional unit provided in the server 1 may be realized using hardware (e.g., circuitry) such as an ASIC, PLD, or FPGA. Furthermore, all or part of each functional unit may be realized by a combination of software and hardware.

[0040] This will also make it possible to configure an authentication system that suppresses autopilot, for example, which will contribute to Goal 9 of the United Nations-led Sustainable Development Goals (SDGs), which is to "build resilient infrastructure, promote sustainable industrialization and foster innovation."

[0041] Although the embodiments of the present invention have been described above, the present invention is not limited to the above-described embodiments. Furthermore, the effects described in the above-described embodiments are merely a list of the most preferable effects resulting from the present invention, and the effects of the present invention are not limited to those described in the embodiments.

[0042] The authentication method by the server 1 is realized by software. When realized by software, the programs that make up this software are installed in an information processing device (computer). These programs may be distributed by being recorded on removable media such as CD-ROMs, or may be distributed by being downloaded to computers via a network.

[0043] According to the present invention, it is possible to provide an authentication system that can suppress autopilot attacks and reduce damage.

[0044] REFERENCE SIGNS LIST 1 Server (authentication device) 10 Control unit 11 Image generation unit 12 Seed value generation unit 13 Program generation unit 14 Program transmission unit 15 Selection result reception unit 16 Correctness determination unit 17 Authentication processing unit 20 Storage unit

Claims

1. An authentication device comprising: an image generation unit that generates an original image containing multiple images, each of which is determined to require selection by the user; a seed value generation unit that randomly generates a seed value; a program generation unit that generates a rearrangement program for rearranging the multiple images included in the original image into an order based on the seed value; a program transmission unit that transmits the original image, the seed value, and the rearrangement program to a terminal of the user who requested login; a selection result reception unit that, when the multiple images are rearranged and displayed by executing the rearrangement program on the terminal, receives selection result information indicating whether each of the multiple images was selected by the user together with the seed value in the rearranged order; a correctness determination unit that converts the selection result information into the order before rearrangement based on the seed value, and then compares the selection result information with the selection necessity in the original image for each order to determine whether it is correct; and an authentication processing unit that allows the user to log in only if the number of correct answers determined by the correctness determination unit exceeds a predetermined number.

2. The authentication device according to claim 1, wherein the program generation unit generates the rearrangement program in an obfuscated manner.

3. An authentication device according to claim 1 or claim 2, wherein the seed value generation unit sets an expiration date for the generated seed value, and the selection result receiving unit accepts the selection result information only up until the expiration date.

4. An authentication device as described in claim 1 or claim 2, wherein the seed value generation unit generates a random value and signature data for the current time as the seed value, and the selection result receiving unit accepts the seed value only up to a predetermined expiration date for the current time of the signature data.

5. An authentication method performed by a computer, comprising: an image generation step of generating an original image comprising multiple images, each of which is determined to require selection by the user; a seed value generation step of randomly generating a seed value; a program generation step of generating a sorting program for sorting the multiple images included in the original image into an order based on the seed value; a program transmission step of transmitting the original image, the seed value, and the sorting program to a terminal of the user who requested login; a selection result reception step of receiving, in the terminal, selection result information indicating whether each of the multiple images was selected by the user, together with the seed value in the sorted order, in a state in which the multiple images are sorted and displayed by executing the sorting program; a correctness determination step of converting the selection result information into the order before sorting based on the seed value, and then comparing the selection result information with the selection necessity in the original image for each order to determine whether it is correct; and an authentication processing step of allowing the user to log in only if the number of correct answers determined in the correctness determination step exceeds a predetermined number.

6. An authentication program for causing a computer to function as the authentication device according to claim 1 or 2.

Citation Information

Patent Citations

  • Personal authentication method and program therefor

    JP2004102460A

  • Authentication device, authentication system, and authentication method

    JP2011128726A

  • Dynamic Update of CAPTCHA Challenge

    JP2018538622A

  • Identity Authentication Method And Device And Storage Medium

    US20160261586A1