A system comprising an industrial control device and a central server responsible for controlling and measuring field equipment in an industrial system, the industrial control device, and a method performed by the industrial control device.
The industrial control device employs a dynamic authentication code system to authenticate users and devices securely, addressing the limitations of traditional methods by ensuring legitimate access control and reducing system modification costs.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- SSENSTONE INC
- Filing Date
- 2023-03-03
- Publication Date
- 2026-06-01
AI Technical Summary
Existing authentication methods for industrial control devices, such as password-based and PKI authentication, face challenges including difficulty in managing multiple IDs/passwords, high cost burdens, and vulnerability to hacking, while conventional mobile device authentication technologies are not directly applicable due to hardware limitations.
An industrial control device utilizing a dynamic authentication code infrastructure, involving a communication module and CPU that verifies dynamic authentication codes generated by a user terminal, allowing legitimate access and controlling field devices only after successful authentication.
Enables secure user and equipment authentication without the need for additional hardware, minimizing system modifications and costs, and preventing unauthorized access through dynamically generated codes.
Smart Images

Figure 0007868164000001 
Figure 0007868164000002 
Figure 0007868164000003
Abstract
Description
Technical Field
[0001] The present disclosure relates to an industrial control device that performs authentication based on a dynamic authentication code infrastructure and a method using the same.
Background Art
[0002] Code-like data is used in many fields. Not only card numbers and account numbers used at the time of settlement, but also IPIN numbers and resident registration numbers for user identification are code-like data.
[0003] However, many leakage accidents occur in the process of using such code data. In the case of a card number, the actual card number is written as it is on the surface of the card, visually leaked to others, and the card number is transmitted to the POS device as it is and leaks out during settlement using magnetism.
[0004] Although there have been many attempts to use virtual codes in order to prevent the actual code from leaking out, data for identifying the user was required to search for the actual code corresponding to the virtual code.
[0005] However, in the case of OTP (One Time Password), since a separate OTP generation device is required, it is inconvenient, and especially in the case of a user terminal, there is a security vulnerability due to the leakage of seed data used for generating the OTP.
[0006] Therefore, there is a need for a measure to strengthen security by generating an OTP code so as to generate a virtual security code necessary for user authentication based on the card data of the cards possessed by many users, without requiring a separate OTP generation device, and at the same time preventing the seed data from leaking out.
Summary of the Invention
Problems to be Solved by the Invention
[0007] This disclosure has been made in view of the above circumstances, and its purpose is to provide an industrial control device for performing authentication of a dynamic authentication code infrastructure and a method using the same.
[0008] The issues that this disclosure aims to address are not limited to those mentioned above, and other issues not mentioned can be clearly understood by an average engineer from the following description. [Means for solving the problem]
[0009] An industrial control device for performing authentication of a dynamic authentication code infrastructure, relating to one aspect of this disclosure for achieving the technical challenges described above, includes a communication module that communicates with a user terminal and a central server, and a CPU (Central Processing Unit) that transmits an authentication request (authentication request) for a dynamic authentication code generated by the user terminal to the central server via the communication module, and changes its operating mode based on the result of the authentication performed by the central server, wherein the authentication determines whether the authentication request is a legitimate access based on the dynamic authentication code, and the dynamic authentication code can be received from the user terminal or input or read by the user via an interface device.
[0010] Furthermore, if the authentication request is determined to be a legitimate access, the CPU can receive the user's identification information from the central server and perform the login process based on the identification information.
[0011] Furthermore, the dynamic authentication code includes secret data for the user terminal, which the central server can use to retrieve the identification information.
[0012] Furthermore, the secret data may be a unique value generated by the central server when the user terminal requests registration with an application for controlling an industrial control device, and assigned only to the user terminal in order to identify the user terminal.
[0013] Furthermore, the identification information may be a user ID (Identification) entered or generated by the user terminal when the user terminal requests registration with an application for controlling an industrial control device.
[0014] Furthermore, once the login is complete, the CPU changes its operating mode from deactivation mode to activation mode, and in the activation mode, it can control at least one field device based on control commands received from the user terminal.
[0015] Furthermore, an industrial control device for performing authentication of a dynamic authentication code infrastructure relating to other aspects of this disclosure for achieving the technical challenges described above includes a communication module that communicates with a user terminal, and a CPU (Central Processing Unit) that, when an authentication request (authentication request) is made for a dynamic authentication code generated by the user terminal, performs the requested authentication and changes its operating mode based on the result of the authentication, wherein the authentication determines whether the authentication request is a legitimate access based on the dynamic authentication code, and the dynamic authentication code can be received from the user terminal or input or read by the user via an interface device.
[0016] Furthermore, if the authentication request is determined to be a legitimate access, the CPU performs a login process based on the user's identification information. Once the login is complete, the CPU changes the operating mode from deactivated mode to activated mode and controls the at least one field device based on control commands received from the user terminal while in activated mode.
[0017] Furthermore, a method for performing authentication of a dynamic authentication code infrastructure by an industrial control device relating to one aspect of the present disclosure for achieving the technical challenges described above includes the steps of: sending an authentication request (authentication request) for a dynamic authentication code generated at a user terminal to a central server; and changing the operating mode based on the result of the authentication performed by the central server, wherein the authentication determines whether the authentication request is a legitimate access based on the dynamic authentication code, and the dynamic authentication code can be received from the user terminal or input or read by the user via an interface device.
[0018] Furthermore, a method for authenticating a dynamic authentication code infrastructure performed by an industrial control device relating to other aspects of this disclosure for achieving the technical challenges described above includes, when an authentication request (authentication request) is made for a dynamic authentication code generated at a user terminal, the steps of performing the requested authentication and changing the operating mode based on the result of the authentication, wherein the authentication determines whether the authentication request is a legitimate access based on the dynamic authentication code, and the dynamic authentication code can be received from the user terminal or input or read by the user via an interface device.
[0019] In addition, computer programs stored on computer-readable recording media for performing methods to embody this disclosure can be further provided.
[0020] In addition, computer-readable recording media for recording computer programs for performing methods to embody this disclosure can be further provided. [Effects of the Invention]
[0021] According to the solution to the aforementioned problem described in this disclosure, user and equipment authentication is possible via an OTAC server installed in an industrial control device or a central server.
[0022] In addition, only users and devices authenticated using the OTAC authentication method can be connected to the industrial control device.
[0023] Furthermore, access control from an external terminal is possible through a dynamically generated authentication code (OTAC) that is different each time.
[0024] Also, there is no need to modify the password (PW) interface used in the authentication of conventional industrial control devices, and it is possible to minimize the management of changes to the conventional system, resulting in a low cost burden.
[0025] The effects of the present disclosure are not limited to the effects mentioned above, and other effects not mentioned can be clearly understood by those skilled in the art from the following description.
Brief Description of the Drawings
[0026] [Figure 1] It is a diagram schematically showing a security system of an industrial control device using authentication based on a dynamic authentication code according to an embodiment of the present disclosure. [Figure 2] It is a flowchart of a method for performing authentication based on a dynamic authentication code according to an embodiment of the present disclosure. [Figure 3] It is a diagram explaining an authentication process based on a dynamic authentication code according to an embodiment of the present disclosure. [Figure 4] It is a diagram explaining a user registration process according to an embodiment of the present disclosure. [Figure 5] It is a diagram schematically showing a security system of an industrial control device using authentication based on a dynamic authentication code according to another embodiment of the present disclosure. [Figure 6] It is a flowchart of a method for performing authentication based on a dynamic authentication code according to another embodiment of the present disclosure. [Figure 7] It is a diagram explaining an authentication process based on a dynamic authentication code according to another embodiment of the present disclosure. [Figure 8] It is a diagram explaining a user registration process according to another embodiment of the present disclosure.
Modes for Carrying Out the Invention
[0027] Reference numerals identical throughout this disclosure indicate the same component. This disclosure does not describe all elements of the embodiments, and general content in the art to which this disclosure belongs or content that is redundant in the embodiments is omitted. The terms “parts, modules, components, blocks” as used in this specification may be embodied in software or hardware, and in embodiments, multiple “parts, modules, components, blocks” may be embodied as a single component, or one “part, module, component, block” may include multiple components.
[0028] When a part of the specification is described as being "connected" to another part, this includes not only direct connections but also indirect connections, and indirect connections include connections via wireless communication networks.
[0029] Furthermore, when a part is described as "containing" a certain component, unless otherwise specified, this means that it can include other components rather than excluding them.
[0030] Throughout the specification, when a member is described as being "on top of" another member, this includes not only cases where the member is in contact with another member, but also cases where another member exists between the two members.
[0031] Terms such as "first," "second," etc., are used to distinguish one component from another, and the components are not limited by the aforementioned terms.
[0032] Unless otherwise clearly stated in the context, singular expressions include plural forms.
[0033] In each stage, the identification codes are used for explanatory purposes only and do not indicate the order of the stages. Unless the context explicitly states a specific order, the stages may be performed in a different order than that specified.
[0034] The operating principle and embodiments of this disclosure will be described below with reference to the attached drawings.
[0035] The embodiments of this disclosure will be described in detail below with reference to the attached drawings.
[0036] Prior to the explanation, the meanings of the terms used herein will be briefly explained. However, it should be noted that these explanations are for the purpose of facilitating understanding of this specification and are not intended to limit the technical ideas of this disclosure unless explicitly stated as such.
[0037] In this specification, "device" includes all kinds of devices that can perform computational processing and provide results to a user. For example, a device may include, or be any one of, computers, server devices, and portable terminals.
[0038] Here, the computer may include, for example, a laptop computer, desktop computer, laptop computer, tablet PC, or slate PC equipped with a web browser.
[0039] The server device is a server that communicates with external devices to process information, and may include application servers, computing servers, database servers, file servers, game servers, mail servers, proxy servers, and web servers.
[0040] The aforementioned portable terminal is, for example, a wireless communication device that ensures portability and mobility, and may include all kinds of handheld-based wireless communication devices such as PCS (Personal Communication System), GSM (Global System for Mobile communications), PDC (Personal Digital Cellular), PHS (Personal Handyphone System), PDA (Personal Digital Assistant), IMT (International Mobile Telecommunication)-2000, CDMA (Code Division Multiple Access)-2000, W-CDMA (registered trademark) (W-Code Division Multiple Access), WiBro (Wireless Broadband Internet) terminals, and smartphones, as well as wearable devices such as watches, rings, bracelets, anklets, necklaces, glasses, contact lenses, or head-mounted devices (HMDs).
[0041] In this specification, “characters” refers to components that make up a code, including all or part of uppercase letters of the alphabet, lowercase letters of the alphabet, numbers, and special characters.
[0042] In this specification, "code" refers to a string of characters.
[0043] In this specification, “dynamic authentication code” may mean a One-Time Authentication Code (OTAC) that is temporarily generated for the authentication of at least one of the user and / or device.
[0044] In this specification, "authentication code generation function" means a function that generates a dynamic authentication code. This includes, but is not limited to, OTP (One Time Password).
[0045] In this specification, "detail code generation function" means a function that generates each of the detail codes that make up the dynamic authentication code.
[0046] In this specification, "detail code combination function" means a function that generates virtual code by combining or combining multiple detail codes.
[0047] In this specification, “unit count” is defined as a unit that is set to a specific time interval and changes as the time interval elapses. For example, 1 count can be set to a specific time interval (e.g., 1.5 seconds) and used.
[0048] In this specification, "storage location" means the point (count) on the track corresponding to the time when user registration is requested.
[0049] In this specification, "industrial control device" may include, but is not limited to, a PLC (Programmable Logic Controller), SCADA (Supervisory Control And Data Acquisition), and ICS (Industrial Control Systems).
[0050] In recent years, cyberattacks targeting industrial control systems have been increasing. Among the components of an industrial control system, industrial control devices (e.g., PLCs) are core components responsible for controlling and measuring field devices within the industrial control system. Therefore, a cyberattack targeting industrial control devices could potentially cause damage to the entire industrial control system. To prevent this, password (PW) authentication, ID / password (ID / PW) authentication, and PKI authentication methods have traditionally been used. However, password (PW) authentication and ID / password (ID / PW) authentication methods have problems: managing IDs / passwords (ID / PW) assigned to each piece of industrial control device is difficult, additional management due to user changes is difficult, and hackers can easily hack them using password cracking software. PKI authentication methods have problems: the cost burden of authentication infrastructure is high, a bidirectional network environment is essential, and the burden of certificate management is significant.
[0051] More specifically, while traditional methods often relied solely on passwords, this presented a problem: if the password was stolen, access could be gained to configure or control the system. Furthermore, since only the password needed to be entered, it was difficult to determine which user accessed and configured or controlled the system.
[0052] Furthermore, even if both an ID and password are used, since both are fixed values, the problem of them being stolen can still arise.
[0053] Furthermore, because industrial control devices themselves do not have high hardware specifications, authentication technologies used in mobile devices such as PKI cannot be used directly. Industrial control devices need to perform user authentication directly, like a server, making it difficult to apply authentication technologies used in conventional mobile devices.
[0054] Therefore, this disclosure utilizes an authentication method using a dynamic authentication code (One-Time Authentication Code, OTAC) to protect industrial control devices from hacking risks and ensure a competitive advantage in terms of cost, system requirements, etc., compared to conventional authentication methods.
[0055] The following describes a security method for an industrial control device using an industrial control device 10, a user terminal 20, and a central server 30, with reference to Figures 1 to 4.
[0056] Figure 1 is a schematic diagram illustrating a security system for an industrial control device using authentication based on a dynamic authentication code infrastructure according to one embodiment of the present disclosure.
[0057] Referring to Figure 1, a security system for an industrial control device using a dynamic authentication code infrastructure according to one embodiment (hereinafter referred to as the system) includes an industrial control device 10, a user terminal 20, a central server 30, and field devices 40. However, in some embodiments, the system may include fewer or more components than those shown in Figure 1.
[0058] The industrial control device 10 plays a central role in controlling field equipment in actual industrial settings.
[0059] Referring to Figure 1, the industrial control device 10 may include a CPU (Central Processing Unit) 11, memory 12, communication module 13, and input / output terminals 14. However, in some embodiments, the industrial control device 10 may include fewer or more components than those shown in Figure 1.
[0060] The CPU 11 can manage and control all operations of the industrial control device 10.
[0061] CPU11 can perform calculations using signals, instructions, information, and data input from external devices.
[0062] Memory 12 can store data that supports the various functions of the industrial control device 10, programs for the operation of the CPU 11, input / output data, and numerous application programs (applications) driven by the industrial control device 10, as well as data and instructions for the operation of the industrial control device 10. At least some of these application programs can be downloaded from an external server via wireless communication.
[0063] Such memory 12 may include at least one type of storage medium from among flash memory type, hard disk type, SSD type (Solid State Disk type), SDD type (Silicon Disk Drive type), multimedia card micro type, card type memory (e.g., SD or XD memory), random access memory (RAM), static random access memory (SRAM), read-only memory (ROM), EEPROM (electrically erasable programmable read-only memory), PROM (programmable read-only memory), magnetic memory, magnetic disk, and optical disk. Furthermore, although memory 12 is separate from the industrial control device 10, it can also be a database connected by wired or wireless means.
[0064] The communication module 13 may include one or more modules that enable wireless or wired communication between the industrial control device 10 and the user terminal 20, between the industrial control device 10 and the central server 30, between the industrial control device 10 and the field device 40, and between the industrial control device 10 and the communication network. For example, it may include at least one of a wired communication module, a wireless communication module, a short-range communication module, and a location information module.
[0065] A variety of communication networks can be used, including wireless communication methods such as WLAN (Wireless LAN), Wi-Fi, Wibro, WiMAX, and HSDPA (High Speed Downlink Packet Access), or wired communication methods such as Ethernet, xDSL (ADSL, VDSL), HFC (Hybrid Fiber Coax), FTTC (Fiber to The Curb), and FTTH (Fiber to The Home).
[0066] On the other hand, the communication network is not limited to the communication methods presented above, and may include any other widely known or future-developed forms of communication methods in addition to those described above.
[0067] Wired communication modules can include a variety of wired communication modules such as Local Area Network (LAN) modules, Wide Area Network (WAN) modules, or Value Added Network (VAN) modules, as well as a variety of cable communication modules such as USB (Universal Serial Bus), HDMI (High Definition Multimedia Interface), DVI (Digital Visual Interface), RS-232 (recommended standard 232), power line communication, or POTS (plain old telephone service).
[0068] Wireless communication modules can include not only Wi-Fi modules and Wireless broadband modules, but also modules that support a variety of wireless communication methods such as GSM (Global System for Mobile Communication), CDMA (Code Division Multiple Access), WCDMA (Wideband Code Division Multiple Access), UMTS (universal mobile telecommunications system), TDMA (Time Division Multiple Access), LTE (Long Term Evolution), 4G, 5G, and 6G.
[0069] The short-range communication module is for short-range communication and uses Bluetooth® (registered trademark). TM It can support short-range communication using at least one of the following technologies: RFID (Radio Frequency Identification), Infrared Data Association (IrDA), UWB (Ultra Wideband), ZigBee (registered trademark), NFC (Near Field Communication), Wi-Fi (Wireless-Fidelity), Wi-Fi Direct, and Wireless USB (Wireless Universal Serial Bus).
[0070] The input / output terminal 14 is directly connected to at least one field device 40 located in the field. The input / output terminal 14 transmits signals input from the field device 40 to the CPU 11 and transmits the calculation results of the CPU 11 to the field device 40.
[0071] Although not shown in Figure 1, the industrial control device 10 may further include an interface that can receive commands, requests, and data from a user terminal 20 or a central server 30.
[0072] The user terminal 20 is a user terminal device that manages and controls the industrial control device 10 via a management program (an application for controlling the industrial control device) provided by the central server 30.
[0073] The management program can be equipped with an SDK (Software Development Kit) related to dynamic authentication codes. The user terminal 20 can perform all operations related to dynamic authentication codes via the SDK installed in the management program.
[0074] The central server 30 receives status information from the field devices 40 collected by the industrial control device 10, manages and controls the industrial control device 10 based on this status information, and can perform overall system operation.
[0075] The central server 30 can be connected to the OTAC verification server 31 for authentication of the industrial control device 10. Alternatively, the central server 30 may include the OTAC verification server 31 for authentication of the industrial control device 10.
[0076] Field devices 40 refer to devices that operate in the field according to control commands from the industrial control device 10. For example, field devices 40 may include, but are not limited to, motor valves, switches, and actuators.
[0077] Figure 2 is a flowchart of a method for performing authentication of a dynamic authentication code infrastructure according to one embodiment of the present disclosure. In Figure 2, it is explained that operations related to OTAC verification are performed by the central server 30, but more precisely, operations related to OTAC verification are performed by the OTAC verification server 31.
[0078] Referring to Figure 2, the CPU 11 of the industrial control device 10 can send an authentication request for the dynamic authentication code generated by the user terminal 20 to the central server 30 via the communication module 13 (S210).
[0079] For a user responsible for (managing and controlling) the industrial control device 10 to use the industrial control device 10, it must be confirmed whether or not that user is the responsible user of the industrial control device 10.
[0080] For this purpose, users can send authentication requests to the industrial control device 10 via a management program (an application for controlling the industrial control device) installed on the user terminal 20. When the industrial control device 10 transmits the received authentication request to the central server 30, the central server 30 can determine whether the user is a legitimate user (i.e., whether the authentication request is a legitimate access).
[0081] Specifically, when a dynamic authentication code is generated on the user terminal 20 (specifically, using the OTAC SDK installed in the management program), the user terminal 20 can send an authentication request to the industrial control device 10 along with the generated dynamic authentication code.
[0082] Thus, the dynamic authentication code generated by the SDK installed in the application (the management program) on the user terminal 20 can be transmitted from the user terminal 20 to the industrial control device 10 via communication. Alternatively, the industrial control device 10 can obtain the dynamic authentication code by having the user directly input the dynamic authentication code generated by the SDK into an interface device connected to the industrial control device 10, or by having the user have the interface device read the dynamic authentication code.
[0083] When the central server 30 receives an authentication request along with a dynamic authentication code from the industrial control device 10, it can determine whether the authentication request from the user terminal 20 is a legitimate access based on the dynamic authentication code.
[0084] The dynamic authentication code may include secret data for the user terminal 20.
[0085] The central server 30 can use a pre-stored search algorithm to retrieve secret data from the received dynamic authentication code. The central server 30 can then verify the dynamic authentication code by comparing the retrieved secret data with the pre-stored secret data. In other words, if the retrieved secret data matches the pre-stored secret data, the central server 30 can determine that the dynamic authentication code is a code that has been successfully generated at that moment.
[0086] Here, the secret data is generated by the central server 30 when the user terminal 20 requests registration with the management program (an application for controlling industrial control devices), and may be a unique value assigned only to the user terminal 20 in order to identify that user terminal 20.
[0087] Furthermore, the secret data can be used by the central server 30 to retrieve user identification information. This identification information may be a user ID (Identification) that the user inputs via the user terminal 20 when the user terminal 20 requests registration with the management program (an application for controlling industrial control devices), or a user ID generated by the user terminal 20. However, it is not limited to this; the identification information can be any information that can identify the user (e.g., password, employee number, etc.).
[0088] The central server 30 can complete user registration by mapping the identification information received from the user terminal 20 with the secret data generated by the central server 30 and storing it.
[0089] In this way, during user registration, the user's identification information is mapped to secret data for the user terminal 20 and stored. Subsequently, each time authentication is performed, the secret data for the user terminal 20 is retrieved from the dynamic authentication code, and the user's identification information can be retrieved using the retrieved secret data. As a result, authentication using a dynamic authentication code can authenticate both the user and the user terminal (device) simultaneously.
[0090] Referring to Figure 2, the CPU 11 of the industrial control device 10 can change its operating mode based on the results of authentication performed by the central server 30 (S220).
[0091] If the central server 30 determines that the authentication request is a legitimate access, the CPU 11 can receive user identification information from the central server 30. Then, the CPU 11 can perform the user login process based on the received identification information.
[0092] Once login is complete, the CPU 11 can change the operating mode of the industrial control device 10 from deactivated mode to activated mode. In the activated mode, the CPU 11 can control at least one field device 40 based on control commands received from the user terminal 20.
[0093] If the central server 30 determines that an authentication request is an abnormal access, the CPU 11 can block the terminal that made the authentication request and maintain its operating mode in an inactive state.
[0094] In this embodiment, if an authentication request received while the operating mode is activated is an abnormal access, the CPU 11 can block the terminal that made the authentication request and can also switch the operating mode from the activated state to the deactivated state.
[0095] The authentication process and user registration process of the dynamic authentication code infrastructure will be described sequentially below with reference to Figures 3 and 4. The OTAC generation module 21 shown in Figures 3 and 4 may represent the SDK (Software Development Kit) related to the dynamic authentication code mentioned above. The OTAC verification server 31 may be installed (included in) or connected to the central server 30. For the sake of explanation, it will be described as the industrial control device 10 performing the operation, which can be understood as being performed by the CPU 11 included in the industrial control device 10.
[0096] Figure 3 is a diagram illustrating the authentication process of a dynamic authentication code infrastructure according to one embodiment of the present disclosure.
[0097] Referring to Figure 3, the OTAC generation module 21 can generate a dynamic authentication code (OTAC) (S301).
[0098] A Dynamic Authentication Code (OTAC) can be generated using one or more seed data. Seed data may include, but is not limited to, a device-specific value (user terminal or management program), device information, or time data.
[0099] Here, the device's unique value refers to the secret data for the user terminal 20 described above. The device's unique value is a value used to identify the user terminal 20 or the management program installed on the user terminal 20.
[0100] The device information may, but is not limited to, the serial number of the industrial control device 10.
[0101] The time data may refer to the time data at the time of the authentication request or the time of dynamic authentication code generation.
[0102] Specifically, a dynamic authentication code can be generated using a code generation function based on one or more seed data points. Here, the code generation function can be initiated at the time of user registration.
[0103] Before the OTAC generation module 21 generates a dynamic authentication code, the user can select the industrial control device 10 to activate (log in to) via the user terminal 20. The information of the industrial control device 10 thus selected is transmitted to the OTAC generation module 21 and can be used as seed data for generating the dynamic authentication code.
[0104] Referring to Figure 3, the OTAC generation module 21 can transmit a dynamic authentication code (OTAC) to the user terminal 20 (S302).
[0105] The user terminal 20 requests authentication based on the Dynamic Authentication Code (OTAC), and this authentication request can be transmitted to the OTAC verification server 31 via the industrial control device 10 and the central server 30 (S303, S304, S305).
[0106] More specifically, the user terminal 20 can transmit an authentication request to the selected industrial control device 10.
[0107] The OTAC verification server 31 can perform the requested authentication through verification of the dynamic authentication code (OTAC) (S306).
[0108] The OTAC verification server 31 compares the seed data contained in the received dynamic authentication code with the seed data already stored, and can determine whether the dynamic authentication code was generated on a currently functioning user terminal based on whether the two values match.
[0109] In this embodiment, the OTAC verification server 31 can apply a search algorithm to the dynamic authentication code to search for secret data, and verify the searched secret data by comparing it with the secret data included in the dynamic authentication code.
[0110] If the verification results show that the two values match and the authentication request is determined to be a legitimate access, the OTAC verification server 31 can retrieve the user's identification information, which is mapped to and stored in the secret data.
[0111] Referring to Figure 3, the OTAC verification server 31 can transmit the retrieved identification information (i.e., User ID) to the industrial control device 10 via the central server 30 (S307, S308).
[0112] More specifically, the OTAC verification server 31 can provide identification information (i.e., User ID) retrieved by the relevant industrial control device 10 based on the information of the industrial control device contained in the dynamic authentication code.
[0113] Referring to Figure 3, the industrial control device 10 can perform user login processing using the received identification information (i.e., User ID) (S309).
[0114] Once login is complete, the industrial control device 10 becomes active, and the user can manage and control the industrial control device 10 using the user terminal 20.
[0115] Figure 4 is a diagram illustrating a user registration process according to one embodiment of the present disclosure.
[0116] Referring to Figure 4, the user terminal 20 requests user registration, and this registration request can be transmitted to the OTAC verification server 31 via the industrial control device 10 and the central server 30 (S401, S402, S403).
[0117] Users must register with the industrial control device 10 they are responsible for. More specifically, users can request user registration for the industrial control device 10 they are responsible for via a management program. At this time, users can input information about the industrial control device 10 they are responsible for and their own identification information.
[0118] The user terminal 20 can send a registration request to the industrial control device 10 along with the user's identification information, based on the information of the industrial control device 10 that has been entered.
[0119] Referring to Figure 4, the OTAC verification server 31 can generate and store secret data to identify the user terminal 20 (or the management program installed on the user terminal 20) that requested registration (S404).
[0120] More specifically, the OTAC verification server 31 can store the generated secret data in a specific storage location within the search algorithm. At this time, the OTAC verification server 31 can map the user's identification information to the secret data stored in the specific storage location and store it. In this embodiment, not only the user's identification information but also information about the industrial control device 10 can be mapped and stored together with the secret data.
[0121] In this way, user registration can be completed within the OTAC verification server 31. At this time, the code generation function for the user terminal 20 is activated. As a result, the OTAC verification server 31 can apply the dynamic authentication code generated by the code generation function to the search algorithm to find the storage location of the secret data within the search algorithm.
[0122] Referring to Figure 4, the OTAC verification server 31 can transmit secret data to the user terminal 20 via the central server 30 and the industrial control device 10 (S405, S406, S407).
[0123] The user terminal 20 stores secret data (S408) and can transmit the secret data to the OTAC generation module 21 (S409). This allows the OTAC generation module 21 to generate a dynamic authentication code using the secret data.
[0124] On the other hand, if a user manages multiple industrial control devices 10, a different code generation function can be assigned to each industrial control device 10. Furthermore, the timing of when each code generation function is activated can differ. That is, the activation of the corresponding code generation function can begin when user registration for each industrial control device 10 is completed. For example, when user registration for industrial control device A is completed, code generation function A can start activating, and when user registration for industrial control device B is completed, code generation function B can start activating. As a result, when a user requests authentication to control industrial control device A, a dynamic authentication code can be generated using code generation function A, and when a user requests authentication to control industrial control device B, a dynamic authentication code can be generated using code generation function B.
[0125] The following describes a security method for an industrial control device using an industrial control device 10 and a user terminal 20, with reference to Figures 5 to 8.
[0126] Figure 5 is a schematic diagram illustrating a security system for an industrial control device using authentication of a dynamic authentication code infrastructure according to another embodiment of the present disclosure.
[0127] Referring to Figure 5, a security system for an industrial control device using a dynamic authentication code infrastructure according to another embodiment (hereinafter referred to as the system) includes an industrial control device 10, a user terminal 20, and a field device 40. However, in some embodiments, the system may include fewer or more components than those shown in Figure 5.
[0128] The explanation of the industrial control device 10, user terminal 20, and field device 40 will be omitted as it will be redundant with the explanation given with reference to Figure 1.
[0129] However, in the embodiments described with reference to Figures 1 to 4, the OTAC verification server 31 for authentication of the industrial control device 10 is included in or connected to the central server 30. In the embodiments described below with reference to Figures 5 to 8, the OTAC verification server 15 for authentication of the industrial control device 10 may be included in or connected to the industrial control device 10. Here, the OTAC verification server 31 and the OTAC verification server 15 perform the same operation.
[0130] Figure 6 is a flowchart of a method for authenticating a dynamic authentication code infrastructure according to another embodiment of the present disclosure. In Figure 6, the operations related to OTAC verification are described as being performed by the industrial control device 10, but more precisely, the operations related to OTAC verification are performed by the OTAC verification server 15.
[0131] Referring to Figure 6, when the CPU 11 of the industrial control device 10 receives a request for authentication against a dynamic authentication code generated by the user terminal 20 via the communication module 13, it can perform the requested authentication (S610).
[0132] For a user responsible for (managing and controlling) the industrial control device 10 to use the industrial control device 10, it must be confirmed whether or not that user is the responsible user of the industrial control device 10.
[0133] For this purpose, the user can send an authentication request to the industrial control device 10 via a management program (an application for controlling the industrial control device) installed on the user terminal 20. The industrial control device 10 can determine whether the user is a legitimate user (i.e., whether the authentication request is for legitimate access) in response to the received authentication request.
[0134] Specifically, when a dynamic authentication code is generated on the user terminal 20 (specifically, using the OTAC SDK installed in the management program), the user terminal 20 can send an authentication request to the industrial control device 10 along with the generated dynamic authentication code.
[0135] Thus, the dynamic authentication code generated by the SDK installed in the application (the management program) on the user terminal 20 can be transmitted from the user terminal 20 to the industrial control device 10 via communication. Alternatively, the industrial control device 10 can obtain the dynamic authentication code by having the user directly input the dynamic authentication code generated by the SDK into an interface device connected to the industrial control device 10, or by having the user have the interface device read the dynamic authentication code.
[0136] The industrial control device 10 can then determine whether the authentication request from the user terminal 20 is a legitimate access based on the dynamic authentication code.
[0137] The dynamic authentication code may include secret data for the user terminal 20.
[0138] The industrial control device 10 can use a pre-stored search algorithm to search for secret data from the received dynamic authentication code. The industrial control device 10 can verify the dynamic authentication code by comparing the searched secret data with the pre-stored secret data. That is, if the searched secret data matches the pre-stored secret data, it can be determined that the dynamic authentication code is a code that has been successfully generated at that moment.
[0139] Here, the secret data is generated by the industrial control device 10 when the user terminal 20 requests registration with the management program (an application for controlling the industrial control device), and may be a unique value assigned only to the user terminal 20 in order to identify that user terminal 20.
[0140] Furthermore, the secret data can be used by the industrial control device 10 to retrieve user identification information. The identification information may be a user ID (Identification) that the user inputs via the user terminal 20 when the user terminal 20 requests registration with the management program (an application for controlling the industrial control device), or a user ID (Identification) generated by the user terminal 20. However, it is not limited to this, and the identification information can be any information that can identify the user (e.g., password, employee number, etc.).
[0141] The industrial control device 10 can complete user registration by mapping and storing the identification information received from the user terminal 20 with the secret data generated by the industrial control device 10.
[0142] In this way, during user registration, the user's identification information is mapped to secret data for the user terminal 20 and stored. Subsequently, each time authentication is performed, the secret data for the user terminal 20 is retrieved from the dynamic authentication code, and the user's identification information can be retrieved using the retrieved secret data. As a result, authentication using a dynamic authentication code can authenticate both the user and the user terminal (device) simultaneously.
[0143] Referring to Figure 6, the CPU 11 of the industrial control device 10 can change its operating mode based on the results of the authentication process (S620).
[0144] If the authentication request is determined to be a legitimate access, the CPU 11 can perform the user login process based on the retrieved identification information.
[0145] Once login is complete, the CPU 11 can change the operating mode of the industrial control device 10 from deactivated mode to activated mode. In the activated mode, the CPU 11 can control at least one field device 40 based on control commands received from the user terminal 20.
[0146] If the authentication request is determined to be an abnormal access, the CPU 11 can block the terminal that made the authentication request and maintain the operating mode in an inactive state.
[0147] In this embodiment, if an authentication request received while the operating mode is activated is an abnormal access, the CPU 11 can block the terminal that made the authentication request and can also switch the operating mode from the activated state to the deactivated state.
[0148] The authentication process and user registration process of the dynamic authentication code infrastructure will be described sequentially below with reference to Figures 7 and 8. The OTAC generation module 21 shown in Figures 7 and 8 may represent the SDK (Software Development Kit) related to the dynamic authentication code mentioned above. The OTAC verification server 15 can be installed (included in) or connected to the industrial control device 10. For the sake of explanation, it will be described as the industrial control device 10 performing the operation, which can be understood as being performed by the CPU 11 included in the industrial control device 10.
[0149] Figure 7 illustrates the authentication process of a dynamic authentication code infrastructure according to another embodiment of the present disclosure.
[0150] Referring to Figure 7, the OTAC generation module 21 can generate a dynamic authentication code (OTAC) (S701).
[0151] A Dynamic Authentication Code (OTAC) can be generated using one or more seed data. Seed data may include, but is not limited to, a device-specific value (user terminal or management program), device information, or time data.
[0152] Here, the device's unique value refers to the secret data for the user terminal 20 described above. The device's unique value is a value used to identify the user terminal 20 or the management program installed on the user terminal 20.
[0153] The device information may, but is not limited to, the serial number of the industrial control device 10.
[0154] The time data may refer to the time data at the time of the authentication request or the time of dynamic authentication code generation.
[0155] Specifically, a dynamic authentication code can be generated using a code generation function based on one or more seed data points. Here, the code generation function can be initiated at the time of user registration.
[0156] Before the OTAC generation module 21 generates a dynamic authentication code, the user can select the industrial control device 10 to activate (log in to) via the user terminal 20. The information of the industrial control device 10 thus selected is transmitted to the OTAC generation module 21 and can be used as seed data for generating the dynamic authentication code.
[0157] Referring to Figure 7, the OTAC generation module 21 can transmit a dynamic authentication code (OTAC) to the user terminal 20 (S702).
[0158] The user terminal 20 requests authentication based on the Dynamic Authentication Code (OTAC), and this authentication request can be transmitted to the OTAC verification server 15 via the industrial control device 10 (S703, S704).
[0159] More specifically, the user terminal 20 can transmit an authentication request to the selected industrial control device 10.
[0160] The OTAC verification server 15 can perform the requested authentication through verification of the dynamic authentication code (OTAC) (S705).
[0161] The OTAC verification server 15 compares the seed data contained in the received dynamic authentication code with the seed data already stored, and can determine whether the dynamic authentication code was generated on a currently functioning user terminal based on whether the two values match.
[0162] In this embodiment, the OTAC verification server 15 can apply a search algorithm to the dynamic authentication code to search for secret data, and verify the searched secret data by comparing it with the secret data included in the dynamic authentication code.
[0163] If the verification results show that the two values match and the authentication request is determined to be a legitimate access, the OTAC verification server 15 can retrieve the user's identification information, which is mapped to and stored in the secret data.
[0164] Referring to Figure 7, the OTAC verification server 15 can transmit the retrieved identification information (i.e., User ID) to the industrial control device 10 (S306).
[0165] The industrial control device 10 can perform user login processing using the received identification information (i.e., User ID) (S308).
[0166] Once login is complete, the industrial control device 10 becomes active, and the user can manage and control the industrial control device 10 using the user terminal 20.
[0167] Figure 8 illustrates a user registration process according to another embodiment of the present disclosure.
[0168] Referring to Figure 8, the user terminal 20 requests user registration, and this registration request can be transmitted to the OTAC verification server 15 via the industrial control device 10 (S801, S802).
[0169] Users must register with the industrial control device 10 they are responsible for. More specifically, users can request user registration for the industrial control device 10 they are responsible for via a management program. At this time, users can input information about the industrial control device 10 they are responsible for and their own identification information.
[0170] The user terminal 20 can send a registration request to the industrial control device 10 along with the user's identification information, based on the information of the industrial control device 10 that has been entered.
[0171] Referring to Figure 8, the OTAC verification server 15 can generate and store secret data to identify the user terminal 20 (or the management program installed on the user terminal 20) that requested registration (S803).
[0172] More specifically, the OTAC verification server 15 can store the generated secret data in a specific storage location within the search algorithm. At this time, the OTAC verification server 15 can map the user's identification information to the secret data stored in the specific storage location and store it. In some embodiments, not only the user's identification information but also information about the industrial control device 10 can be mapped and stored together with the secret data.
[0173] In this way, user registration can be completed within the OTAC verification server 15. At this time, the code generation function for the user terminal 20 is activated. As a result, the OTAC verification server 15 can apply the dynamic authentication code generated by the code generation function to the search algorithm to find the storage location of the secret data within the search algorithm.
[0174] Referring to Figure 8, the OTAC verification server 15 can transmit secret data to the user terminal 20 via the industrial control device 10 (S804, S805).
[0175] The user terminal 20 stores secret data (S806) and can transmit the secret data to the OTAC generation module 21 (S807). This allows the OTAC generation module 21 to generate a dynamic authentication code using the secret data.
[0176] In the embodiment described with reference to Figures 4 to 8, a network connection is required only when the user terminal 20 transmits a dynamic authentication code to the industrial control device 10. That is, since the verification of the dynamic authentication code and the control of the industrial control device 10 based on the result are performed by a single device (the industrial control device 10 or the OTAC verification server 15 installed in the industrial control device 10), bidirectional communication is unnecessary.
[0177] On the other hand, if a user manages multiple industrial control devices 10, a different code generation function can be assigned to each industrial control device 10. Furthermore, the timing of when each code generation function is activated can differ. That is, the activation of the corresponding code generation function can begin when user registration for each industrial control device 10 is completed. For example, when user registration for industrial control device A is completed, code generation function A can begin to activate, and when user registration for industrial control device B is completed, code generation function B can begin to activate. As a result, when a user requests authentication to control industrial control device A, a dynamic authentication code can be generated using code generation function A, and when a user requests authentication to control industrial control device B, a dynamic authentication code can be generated using code generation function B.
[0178] The following section specifically describes how the OTAC generation module 21 generates dynamic authentication codes.
[0179] The SDK integrated into the management program can generate one or more detail codes. Detail codes refer to some of the codes that make up a dynamic authentication code, but a dynamic authentication code can consist solely of detail codes, or it can be formed by combining one or more detail codes with a virtual security code generated by an OTP function to create the final dynamic authentication code (OTAC).
[0180] The SDK includes a code generation function that generates dynamic authentication codes, the code generation function including a detail code generation function that generates one or more detail codes, and a detail code combination function (i.e., rules for combining multiple detail codes) that combine the detail codes to generate a virtual code.
[0181] In other words, if the dynamic authentication code includes multiple detail codes, the code generation function generates multiple detail codes using multiple detail code generation functions, and then combines these multiple detail codes in pre-configured combinations through the detail code combination function to generate the dynamic authentication code.
[0182] Multiple detail codes have correlations with each other, which are used by OTAC verification servers 15 and 31 to search for the storage location of information that can identify a user or device. That is, OTAC verification servers 15 and 31 are equipped with a search algorithm, which extracts multiple detail codes contained in the dynamic authentication code and searches for the storage location of a unique value (e.g., secret data) assigned to the user or device based on the correlations of the multiple detail codes. As one embodiment of the correlations of the multiple detail codes, the search algorithm can search for the storage location of the unique value (e.g., secret data) of the user or device by calculating based on the correlations between the multiple detail codes from intermediate points corresponding to one or more of the multiple detail codes. In this case, there may be one or more intermediate points, and there are no restrictions on the number or order.
[0183] Furthermore, as one embodiment of multiple detail codes, the multiple detail codes may include a first code and a second code, and the SDK includes a first function and a second function as detail code generation functions to generate the first code and the second code. The first code and the second code have a correlation for locating the storage location of user or device unique values (e.g., secret data) within the OTAC verification servers 15, 31, but the SDK may only include a first function to generate the first code and a second function to generate the second code as detail code generation functions to enhance security, and may not include data regarding the correlation between the first code and the second code.
[0184] As a concrete example of the correlation between the first code and the second code, the first code and the second code can each play a role in searching for the storage location of the eigenvalue. That is, the first code may include information about the waypoints, and the second code may include information necessary for the calculation that allows one to reach the storage location of the eigenvalue from the waypoints.
[0185] On the other hand, in one embodiment of the present disclosure, the first code may be generated based on a first count, and the second code may be generated based on a second count. In this case, the first count is the number of unit counts that have elapsed from the time the code generation function was first driven in the OTAC generation module 21 or OTAC verification servers 15, 31 until the time the dynamic authentication code was generated, and the second count may include the number of unit counts that have elapsed since the time when user or device unique values (e.g., secret data) were stored in the OTAC verification servers 15, 31.
[0186] In other words, the first function that generates the first code is a function that provides a specific code value corresponding to the first count, and the second function that generates the second code is a function that provides a specific code value corresponding to the second count.
[0187] The following section specifically describes how the OTAC generation module 21 verifies the dynamic authentication code.
[0188] As one embodiment of the present disclosure, when the OTAC verification servers 15 and 31 receive the dynamic authentication code from the user terminal 20, they can verify the dynamic authentication code by comparing the time data of the time the dynamic authentication code was received with the time data of the dynamic authentication code.
[0189] Specifically, OTAC verification servers 15 and 31 verify whether the dynamic authentication code has been successfully generated. That is, after receiving the dynamic authentication code, OTAC verification servers 15 and 31 check whether the received dynamic authentication code has been successfully generated at that time based on the information stored in OTAC verification servers 15 and 31 (i.e., the code generation function and seed data), and determine whether the dynamic authentication code is valid or not. OTAC verification servers 15 and 31 apply the inverse function of the code generation function to the dynamic authentication code to search for a count corresponding to the time when the dynamic authentication code was generated. Due to the transmission time and delay of the dynamic authentication code, there may be a discrepancy between the time when the dynamic authentication code was generated and the time when OTAC verification servers 15 and 31 received the dynamic authentication code. Therefore, the count of OTAC verification servers 15 and 31 receiving the dynamic authentication code may not match the count of OTAC verification servers 15 and 31 that generated the OTP number corresponding to the authentication virtual code. Therefore, OTAC verification servers 15 and 31 allow a margin of error from the count of receiving the dynamic authentication code.
[0190] On the other hand, as one embodiment of the present disclosure, the OTAC verification servers 15 and 31 can search for the storage location of a unique value (e.g., secret data) of a user or device based on the dynamic authentication code, extract the unique value, and perform user or device authentication based on the extracted unique value.
[0191] Although Figures 2 and 6 describe the steps as being performed sequentially, this is merely an illustrative explanation of the technical concept of this embodiment. Anyone with ordinary skill in the technical field to which this embodiment belongs can modify and adapt the order shown in Figures 2 and 6 to perform the steps in parallel, or to perform them in parallel, without departing from the essential characteristics of this embodiment. Therefore, Figures 2 and 6 are not limited to a chronological order.
[0192] On the other hand, in the above description, the steps shown in Figures 2 and 6 may be further divided into additional steps or combined into fewer steps, as embodied in the embodiments of this disclosure. Also, some steps may be omitted as needed, and the order between steps may be changed.
[0193] On the other hand, the disclosed embodiments can be embodied in the form of a recording medium that stores computer-executable instruction words. The instruction words can be stored in the form of program code, and when executed by a processor, they can generate a program module that performs the operations of the disclosed embodiments. The recording medium can be embodied as a computer-readable recording medium.
[0194] Computer-readable storage media include all types of storage media that store instruction words that can be deciphered by a computer. Examples include ROM (Read Only Memory), RAM (Random Access Memory), magnetic tape, magnetic disks, flash memory, and optical data storage devices.
[0195] The embodiments disclosed have been described above with reference to the attached drawings. A person with ordinary skill in the art to which this disclosure belongs will understand that the disclosure may be carried out in forms different from the disclosed embodiments without changing the technical idea or essential features of the disclosure. The disclosed embodiments are illustrative and should not be construed as restrictive.
Claims
1. A system comprising an industrial control device responsible for controlling and measuring on-site equipment in an industrial system, and a central server, The aforementioned industrial control device is A communication module that communicates with the user terminal and the central server, A CPU (Central Processing Unit) transmits an authentication request, which is an authentication request for a dynamic authentication code generated by the user terminal, to the central server via the communication module, and changes its operating mode based on the result of the authentication performed by the central server. Includes, The central server uses a search algorithm to search for secret data, which is a unique value assigned only to the user terminal, from the dynamic authentication code, and by comparing the searched secret data with already stored secret data, verifies whether the dynamic authentication code is a successfully generated code, determines whether the authentication request is a legitimate access, and performs the authentication. The dynamic authentication code is received from the user terminal or input or read by the user via an interface device. The central server maps and stores the user identification information received from the user terminal to the secret data for the user terminal, and each time authentication is performed in response to the authentication request, it searches for the secret data from the dynamic authentication code and uses the searched secret data to search for the user identification information, thereby performing authentication for both the user and the user terminal, in a system that performs authentication on a dynamic authentication code infrastructure.
2. If the authentication request is determined to be a legitimate access, the CPU will: A system for performing authentication of a dynamic authentication code infrastructure according to claim 1, characterized by receiving user identification information from the central server and performing login processing (login processing) based on the identification information.
3. A system for performing authentication of a dynamic authentication code infrastructure according to claim 1, characterized in that the secret data is a unique value generated by the central server when the user terminal requests registration with an application for controlling an industrial control device, and is assigned only to the user terminal in order to identify the user terminal.
4. A system for performing authentication of a dynamic authentication code infrastructure according to claim 2, characterized in that the identification information is a user ID (Identification) input or generated by the user terminal when the user terminal requests registration with an application for controlling an industrial control device.
5. Once the login is complete, the CPU will A system for performing authentication of a dynamic authentication code infrastructure according to claim 2, characterized in that the operating mode is changed from a deactivation mode to an activation mode, and at least one field device is controlled based on a control command received from the user terminal while in the activation mode.
6. An industrial control device responsible for controlling and measuring on-site equipment in an industrial system, A communication module that communicates with the user terminal, When an authentication request is made, which is an authentication request for a dynamic authentication code generated by the user terminal, the CPU (Central Processing Unit) performs the requested authentication and changes its operating mode based on the result of the authentication. Includes, By using a search algorithm, the system searches for secret data, which is a unique value assigned only to the user terminal, from the dynamic authentication code, and by comparing the searched secret data with already stored secret data, it verifies whether the dynamic authentication code is a successfully generated code, determines whether the authentication request is a legitimate access, and performs the authentication. The dynamic authentication code is received from the user terminal or input or read by the user via an interface device. An industrial control device that performs authentication on a dynamic authentication code infrastructure, which maps and stores user identification information received from the user terminal with the secret data for the user terminal, and each time authentication is performed in response to the authentication request, searches for the secret data from the dynamic authentication code, and searches for the user identification information using the searched secret data, thereby performing authentication for the user and authentication for the user terminal simultaneously.
7. If the authentication request is determined to be a legitimate access, the CPU will: Based on the user's identification information, the login process (login process) is performed. An industrial control device for performing authentication of a dynamic authentication code infrastructure according to claim 6, characterized in that, upon completion of the login, the operating mode is changed from a deactivated mode to an activated mode, and at least one field device is controlled based on a control command received from the user terminal while in the activated mode.
8. In a method performed by a system comprising an industrial control device responsible for controlling and measuring on-site equipment of an industrial system, and a central server, The steps include receiving a dynamic authentication code from a user terminal, or receiving the dynamic authentication code by inputting or reading it through an interface device by the user, The steps include sending an authentication request, which is an authentication request for the dynamic authentication code generated on the user terminal, to the central server, The central server, using a search algorithm, searches for secret data, which is a unique value assigned only to the user terminal, from the dynamic authentication code, and by comparing the searched secret data with already stored secret data, verifies whether the dynamic authentication code is a successfully generated code, determines whether the authentication request is a legitimate access, and performs the authentication. A step of changing the operating mode based on the results of the authentication performed by the central server, Includes, A method for performing authentication on a dynamic authentication code infrastructure, wherein, in the authentication stage, the central server maps and stores the user identification information received from the user terminal and the secret data for the user terminal, and each time authentication is performed in response to the authentication request, the secret data is retrieved from the dynamic authentication code, and the user identification information is retrieved using the retrieved secret data, thereby performing authentication for the user and authentication for the user terminal simultaneously.
9. In a method performed by an industrial control device responsible for controlling and measuring on-site equipment in an industrial system, The steps include receiving a dynamic authentication code from a user terminal, or receiving the dynamic authentication code by inputting or reading it through an interface device by the user, When an authentication request is made for the dynamic authentication code generated by the user terminal, a search algorithm is used to search for secret data, which is a unique value assigned only to the user terminal, from the dynamic authentication code, and by comparing the searched secret data with already stored secret data, the dynamic authentication code is verified as to whether it is a successfully generated code, and the authentication request is determined to be a legitimate access, and the requested authentication is performed. A step of changing the operating mode based on the results of the aforementioned authentication, Includes, A method for performing authentication on a dynamic authentication code infrastructure, wherein, in the stage of performing the aforementioned authentication, the user identification information received from the user terminal and the secret data for the user terminal are mapped and stored, and each time authentication is performed in response to the authentication request, the secret data is searched from the dynamic authentication code, and the user identification information is searched using the searched secret data, thereby performing authentication of the user and authentication of the user terminal together.