Industrial control device performing dynamic authentication code based authentication and method using same

The industrial control device addresses vulnerabilities in existing authentication methods by using a dynamic authentication code system that eliminates the need for separate OTP generation devices and seed data, thereby enhancing security and reducing costs.

JP2025509177AActive Publication Date: 2025-04-11SSENSTONE INC
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
JP2024552347
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-03-02
Filing Date
2023-03-03
Publication Date
2025-04-11
Estimated Expiration
2043-03-03

AI Technical Summary

Technical Problem

Existing authentication methods for industrial control devices are vulnerable to hacking, require separate OTP generation devices, and rely on seed data that can lead to security breaches.

Method used

An industrial control device equipped with a communication module and a CPU that sends authentication requests to a central server, uses dynamic authentication codes generated by user terminals, and changes operation modes based on authentication results, eliminating the need for separate OTP generation devices and seed data.

Benefits of technology

This solution enhances security by authenticating users and devices through a dynamic authentication code system, reducing the risk of hacking and minimizing costs associated with authentication infrastructure.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025509177000001_ABST
    Figure 2025509177000001_ABST
Patent Text Reader

Abstract

The present disclosure provides an industrial control device that performs authentication based on a dynamic authentication code and a method using the same. The industrial control device according to the present disclosure includes a communication module that communicates with a user terminal and a central server, and a CPU (Central Processing Unit) that transmits a dynamic authentication code generated by the user terminal to the central server via the communication module to request authentication of the dynamic authentication code and changes an operation mode based on a result of the authentication.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present disclosure relates to an industrial control device that performs authentication based on a dynamic authentication code and a method using the same. [Background technology]

[0002] Code-like data is used in many areas. Not only card numbers and account numbers used for payment, but also IPIN numbers for user identification, resident registration numbers, etc. are examples of code-like data.

[0003] However, many leaks occur when using this code data. In the case of card numbers, the actual card number is written on the front of the card and can be visually leaked to others, and when making payments using a magnetic strip, the card number is transmitted as is to the POS device and leaked.

[0004] There have been many attempts to use virtual codes to prevent real codes from being leaked, but data to identify the user is required to search for the real code corresponding to the virtual code.

[0005] However, OTP (One Time Password) requires a separate OTP generating device, which is inconvenient, and especially in the case of a user terminal, there is a security vulnerability due to leakage of seed data used to generate the OTP.

[0006] Therefore, a method is needed to generate an OTP code so as to generate a virtual security code required for user authentication based on the card data of cards held by many users, eliminating the need for a separate OTP generating device, while at the same time strengthening security by preventing the leakage of seed data. Summary of the Invention [Problem to be solved by the invention]

[0007] The present disclosure has been made in consideration of the above circumstances, and has an object to provide an industrial control device that performs authentication based on a dynamic authentication code, and a method using the same.

[0008] The problems to be solved by the present disclosure are not limited to those mentioned above, and other problems not mentioned will be clearly understood by those skilled in the art from the following description. [Means for solving the problem]

[0009] An industrial control device that performs authentication based on a dynamic authentication code according to one aspect of the present disclosure for achieving the above-mentioned technical objectives 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 the dynamic authentication code generated by the user terminal to the central server via the communication module and changes an operating mode based on a result of the authentication performed by the central server, and the authentication determines whether the authentication request is a normal access based on the dynamic authentication code, and the dynamic authentication code can be received from the user terminal or input or read by a user via an interface device.

[0010] Furthermore, if the authentication request is determined to be a normal access, the CPU can receive the user's identification information from the central server and perform a login process based on the identification information.

[0011] Additionally, the dynamic authentication code includes secret data for the user terminal, the secret data being available to the central server to look up the identity information.

[0012] In addition, the secret data may be a unique value that is generated by the central server when the user terminal requests registration for an application for controlling an industrial control device and is assigned only to the user terminal to identify the user terminal.

[0013] Furthermore, the identification information may be a user ID (Identification) input or generated by the user terminal when the user terminal makes a registration request to an application for controlling an industrial control device.

[0014] Furthermore, when the login is completed, the CPU changes the operation mode from the inactive mode to the active mode, and in the active mode, can control at least one field device based on a control command received from the user terminal.

[0015] Furthermore, an industrial control device that performs authentication based on a dynamic authentication code, according to another aspect of the present disclosure for achieving the above-mentioned technical objectives, includes a communication module that communicates with a user terminal, and a CPU (Central Processing Unit) that performs the requested authentication when an authentication request (authentication request) is made for a dynamic authentication code generated by the user terminal, and changes an operating mode based on a result of the authentication, and the authentication determines whether the authentication request is a normal 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] In addition, if the authentication request is determined to be normal access, the CPU performs login processing (login process) based on the user's identification information, and when the login is completed, changes the operation mode from a deactivated mode to an activated mode, and can control the at least one field device based on a control command received from the user terminal in the activated mode.

[0017] Furthermore, a method for performing authentication based on a dynamic authentication code performed by an industrial control device according to one aspect of the present disclosure to achieve the above-mentioned technical objectives includes a step of sending an authentication request (authentication request) for a dynamic authentication code generated in a user terminal to a central server, and a step of changing an operation mode based on a result of the authentication performed by the central server, wherein the authentication determines whether the authentication request is a normal access based on the dynamic authentication code, and the dynamic authentication code may be received from the user terminal or input or read by a user via an interface device.

[0018] In addition, a method for performing authentication based on a dynamic authentication code performed by an industrial control device according to another aspect of the present disclosure for achieving the above-mentioned technical objectives includes a step of performing the requested authentication when an authentication request (authentication request) is made for a dynamic authentication code generated in a user terminal, and a step of changing an operation mode based on a result of the authentication, and the authentication is for determining whether the authentication request is a normal access based on the dynamic authentication code, and the dynamic authentication code may be received from a user terminal or input or read by the user via an interface device.

[0019] In addition, a computer program stored on a computer-readable recording medium for executing the method for embodying the present disclosure may also be provided.

[0020] In addition, a computer-readable recording medium having a computer program for executing the method for embodying the present disclosure may be further provided. Effect of the Invention

[0021] According to the solution to the above-mentioned problem of the present disclosure, authentication of users and equipment is possible via an OTAC server installed in an industrial control device or a central server.

[0022] In addition, only authenticated users and devices using the OTAC authentication method can connect to industrial control devices.

[0023] In addition, access from external terminals can be controlled through a dynamic authorization code (OTAC), which is generated differently each time.

[0024] In addition, there is no need to modify the password (PW) interface that was previously used to authenticate industrial control devices, and system change management can be minimized, resulting in low costs.

[0025] The effects of the present disclosure are not limited to those 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] 1 is a diagram illustrating a security system for an industrial control device using dynamic authentication code-based authentication according to an embodiment of the present disclosure; [Diagram 2] 4 is a flowchart of a method for performing authentication based on a dynamic authentication code according to an embodiment of the present disclosure. [Diagram 3] FIG. 2 is a diagram illustrating an authentication process based on a dynamic authentication code according to an embodiment of the present disclosure. [Figure 4] FIG. 10 is a diagram illustrating a user registration process according to an embodiment of the present disclosure. [Diagram 5] FIG. 13 is a schematic diagram illustrating an industrial control device security system using dynamic authentication code-based authentication in accordance with another embodiment of the present disclosure. [Figure 6] 11 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] FIG. 13 is a diagram illustrating an authentication process based on a dynamic authentication code according to another embodiment of the present disclosure. [Figure 8] FIG. 11 is a diagram illustrating a user registration process according to another embodiment of the present disclosure. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0027] The same reference numerals refer to the same components throughout this disclosure. This disclosure does not describe all the components of the embodiments, and general content in the technical field to which this disclosure belongs or content that is duplicated in the embodiments is omitted. The term "part, module, member, block" used in the specification may be embodied in software or hardware, and depending on the embodiment, multiple "parts, modules, members, blocks" may be embodied as one component, or one "part, module, member, block" may include multiple components.

[0028] Throughout the specification, when a part is said to be "connected" to another part, this includes not only direct connection but also indirect connection, including connection via a wireless communication network.

[0029] Furthermore, when a part is described as "comprising" a certain component, this does not mean that it excludes other components, but that it may further include other components, unless specifically stated to the contrary.

[0030] Throughout this specification, when an element is referred to as being "on" another element, this includes not only when the element is in contact with the other element, but also when there is another element between the two elements.

[0031] The terms "first", "second", etc. are used to distinguish one component from another component, and the components are not limited to the terms described above.

[0032] The singular expression includes the plural expression unless there is a clear exception in the context.

[0033] Identifying numbers are used in each step for convenience of description, and do not dictate the order of each step, and each step may be performed in a different order than stated, unless the context clearly dictates a particular order.

[0034] Hereinafter, the working principle and embodiments of the present disclosure will be described with reference to the accompanying drawings.

[0035] Hereinafter, embodiments of the present disclosure will be described in detail with reference to the accompanying drawings.

[0036] Prior to the description, the meanings of the terms used in this specification will be briefly explained. However, since the explanations of the terms are intended to facilitate understanding of this specification, it should be noted that they are not used to limit the technical ideas of this disclosure unless they are explicitly described as matters that limit this disclosure.

[0037] In this specification, the term "device" includes all of the various devices that can perform computation and provide a result to a user. For example, the device may include all of a computer, a server device, and a portable terminal, or may be in any one of the forms.

[0038] Here, the computer may include, for example, a notebook computer, a desktop computer, a laptop computer, a tablet PC, a slate PC, etc. equipped with a web browser.

[0039] The server device is a server that communicates with external devices and processes information, and may include an application server, a computing server, a database server, a file server, a game server, a mail server, a proxy server, a web server, etc.

[0040] The portable terminal may be, for example, a wireless communication device that ensures portability and mobility, and may include any kind of handheld-based wireless communication device 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) terminal, smartphone, etc., 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" are components that make up a code, and include all or some of uppercase letters, lowercase letters, numbers, and special characters.

[0042] In this specification, a "code" refers to a string of characters.

[0043] In this specification, a "dynamic authentication code" may refer to a One Time Authentication Code (OTAC) that is temporarily generated for authentication of at least one of a user and a device.

[0044] In this specification, the term "authentication code generation function" refers to a function that generates a dynamic authentication code, including, but not limited to, an OTP (One Time Password).

[0045] In this specification, the "detail code generation function" refers to a function that generates each of the detail codes that make up the dynamic authentication code.

[0046] In this specification, the term "detailed code combination function" refers to a function that combines or joins multiple detailed codes to generate a virtual code.

[0047] A "unit count" in this specification is a unit that is set to a specific time interval and is defined as changing as the time interval elapses. For example, one count can be set to a specific time interval (e.g., 1.5 seconds) and used.

[0048] In this specification, "storage location" refers to the point (count) on the track that corresponds to the time when user registration is requested.

[0049] In this specification, the term "industrial control device" may include, but is not limited to, a programmable logic controller (PLC), a supervisory control and data acquisition (SCADA), and an industrial control system (ICS).

[0050] In recent years, cyber attacks targeting industrial control systems have been on the rise. Among the components of an industrial control system, an industrial control device (e.g., PLC) is a core component in charge of controlling and measuring the field devices of the industrial control system, and if a cyber attack occurs on an industrial control device, it could cause damage to the entire industrial control system. To prevent this, password (PW) authentication, ID / password (ID / PW) authentication, and PKI authentication methods have been used in the past. However, password (PW) authentication and ID / password (ID / PW) authentication methods have problems in that it is difficult to manage the ID / password (ID / PW) assigned to each device of the industrial control device, it is difficult to manage additional management due to user changes, and hackers can easily hack using password cracking software. The PKI authentication method has problems in that it requires a high cost for authentication infrastructure, requires a two-way network environment, and is burdensome to manage certificates.

[0051] More specifically, in the past, it was common to use only a password, but in such cases, there was a risk that the problem could occur that if the password was stolen, it could be accessed and configured or controlled, and since it was only necessary to enter the password, it was difficult to confirm which user accessed, configured or controlled the system.

[0052] Furthermore, even if both an ID and a password are used, the problem of theft can still occur since both are fixed values.

[0053] Furthermore, since the hardware specifications of the industrial control devices themselves are not high, authentication technologies used in mobile devices such as PKI may not be usable as is. Instead, the industrial control devices must perform user authentication directly like a server, making it difficult to apply authentication technologies used in conventional mobile devices.

[0054] Therefore, in this disclosure, by utilizing an authentication method using a dynamic authentication code (One-Time Authentication Code, OTAC), industrial control devices can be protected from the risk of hacking, and a competitive advantage can be secured in terms of cost, system requirement specifications, etc., compared to conventional authentication methods.

[0055] Hereinafter, a security method for an industrial control device using an industrial control device 10, a user terminal 20, and a central server 30 will be described with reference to FIGS.

[0056] FIG. 1 is a diagram illustrating a security system for an industrial control device using dynamic authentication code-based authentication according to an embodiment of the present disclosure.

[0057] 1, an industrial control device security system (hereinafter, the system) using dynamic authentication code based authentication according to one embodiment includes an industrial control device 10, a user terminal 20, a central server 30, and a field device 40. However, in some embodiments, the system may include fewer or more components than those shown in FIG.

[0058] The industrial control device 10 plays a central role in controlling on-site devices (field devices) in an actual industrial site.

[0059] 1, an industrial controller 10 may include a central processing unit (CPU) 11, a memory 12, a communication module 13, and an input / output terminal 14. However, in some embodiments, the industrial controller 10 may include fewer or more components than those shown in FIG.

[0060] The CPU 11 can manage and control all operations of the industrial control device 10 .

[0061] The CPU 11 can perform calculations using signals, commands, information, and data input from external devices.

[0062] The memory 12 can store data supporting various functions of the industrial controller 10 and programs for the operation of the CPU 11, can store input and output data, and can store a number of application programs (or applications) run by the industrial controller 10, and data and commands for the operation of the industrial controller 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 of the following types of storage media: flash memory type, hard disk type, solid state disk 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), electrically erasable programmable read-only memory (EEPROM), programmable read-only memory (PROM), magnetic memory, magnetic disk, and optical disk. Also, the memory 12 may be a database that is separate from the industrial control device 10 but connected by wire or wirelessly.

[0064] The communication module 13 may include one or more modules that enable wireless or wired communication between the industrial control device 10 and a user terminal 20, between the industrial control device 10 and a central server 30, between the industrial control device 10 and a field device 40, and between the industrial control device 10 and a communication network. For example, the communication module 13 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] Various types of communication networks can be used, such as 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 form of communication method that is widely known or will be developed in the future, in addition to the above-mentioned communication methods.

[0067] The wired communication module may include various wired communication modules such as a Local Area Network (LAN) module, a Wide Area Network (WAN) module, or a Value Added Network (VAN) module, as well as various cable communication modules such as Universal Serial Bus (USB), High Definition Multimedia Interface (HDMI), Digital Visual Interface (DVI), recommended standard 232 (RS-232), power line communication, or plain old telephone service (POTS).

[0068] The wireless communication module may include a Wi-Fi module, a WiBro module, or a wireless broadband module, as well as a wireless communication module that supports various 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 is compatible with Bluetooth (registered trademark). TM Short-range communication can be supported using at least one of the following technologies: RFID (Radio Frequency Identification), Infrared Data Association (IrDA), UWB (Ultra Wideband), ZigBee (registered trademark), Near Field Communication (NFC), Wi-Fi (Wireless-Fidelity), Wi-Fi Direct, and Wireless Universal Serial Bus (Wireless USB).

[0070] The input / output terminal 14 is directly connected to at least one field device 40 in the field. The input / output terminal 14 transmits signals input from the field device 40 to the CPU 11, and transmits the results of calculations performed by the CPU 11 to the field device 40.

[0071] Although not shown in FIG. 1, the industrial control device 10 may further include an interface capable of receiving commands, requests, and data from a user terminal 20 or a central server 30.

[0072] The user terminal 20 is a user's terminal device that is responsible for managing and controlling 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 the dynamic authentication code. The user terminal 20 can perform all operations related to the dynamic authentication code via the SDK equipped in the management program.

[0074] The central server 30 receives status information of the field devices 40 collected by the industrial control device 10, and manages and controls the industrial control device 10 based on the status information, thereby managing the overall operation of the system.

[0075] The central server 30 may be connected to an OTAC validation server 31 for authenticating the industrial controller 10. Alternatively, the central server 30 may include the OTAC validation server 31 for authenticating the industrial controller 10.

[0076] The field device 40 refers to a device that operates in the field according to a control command from the industrial control device 10. For example, the field device 40 may include, but is not limited to, a motor valve, a switch, and an actuator.

[0077] 2 is a flowchart of a method for performing authentication based on a dynamic authentication code according to an embodiment of the present disclosure. In FIG. 2, operations related to OTAC verification are described as being performed by a central server 30, but more precisely, operations related to OTAC verification are performed by an OTAC verification server 31.

[0078] Referring to FIG. 2, the CPU 11 of the industrial control device 10 can transmit a request for authentication of the dynamic authentication code generated by the user terminal 20 to the central server 30 via the communication module 13 (S210).

[0079] In order for a user in charge of (managing and controlling) the industrial control device 10 to use the industrial control device 10, it must be confirmed whether or not the user is the user in charge of the industrial control device 10.

[0080] To this end, 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 in 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 corresponding user is a valid user (i.e., determine whether the corresponding authentication request is a valid access).

[0081] Specifically, when a dynamic authentication code is generated in the user terminal 20 (specifically, the OTAC SDK installed in the management program), the user terminal 20 can send an authentication request to the industrial control device 10 together with the generated dynamic authentication code.

[0082] In this manner, the dynamic authentication code generated by the SDK installed in the application (the management program) in the user terminal 20 can be transmitted from the user terminal 20 to the industrial control device 10 via communication, or 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 the industrial control device 10 can obtain the dynamic authentication code by having the user read the dynamic authentication code into the interface device.

[0083] Then, when the central server 30 receives an authentication request together with the dynamic authentication code from the industrial control device 10, it can determine whether the authentication request from the user terminal 20 is a normal 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 search for secret data from the received dynamic authentication code using a previously stored search algorithm. The central server 30 can verify the dynamic authentication code by comparing the searched secret data with the previously stored secret data. That is, if the searched secret data matches the previously stored secret data, it can be determined that the dynamic authentication code is currently a correctly generated code.

[0086] Here, the secret data is generated by the central server 30 when the user terminal 20 requests registration in a management program (an application for controlling industrial control devices), and may be a unique value that is assigned only to the user terminal 20 in order to identify the user terminal 20.

[0087] The secret data can also be used by the central server 30 to search for the user's identification information. The identification information can be a user ID (Identification) that is input by the user via the user terminal 20 when the user terminal 20 requests registration in a management program (an application for controlling an industrial control device) or that is generated by the user terminal 20. However, the identification information is not limited to this and can be any information that can identify the user (e.g., a password, an employee number, etc.).

[0088] The central server 30 can complete the user registration by mapping and storing the identification information received from the user terminal 20 and the secret data generated by the central server 30.

[0089] In this way, when a user is registered, the user's identification information and secret data for the user terminal 20 are mapped and stored, and thereafter, whenever authentication is performed, the secret data for the user terminal 20 is searched for from the dynamic authentication code, and the user's identification information can be searched for using the searched secret data. As a result, authentication using the dynamic authentication code can simultaneously authenticate the user and the user terminal (device).

[0090] Referring to FIG. 2, the CPU 11 of the industrial control device 10 can change the operation mode based on the result of the authentication performed by the central server 30 (S220).

[0091] If the central server 30 determines that the authentication request is a normal access, the CPU 11 can receive the user's identification information from the central server 30. Then, the CPU 11 can perform a login process for the user based on the received identification information.

[0092] When the login is completed, the CPU 11 can change the operation mode of the industrial control device 10 from the inactive mode to the active mode. In the active mode, the CPU 11 can control at least one field device 40 based on a control command received from the user terminal 20.

[0093] If the central server 30 determines that the authentication request is an abnormal access, the CPU 11 can shut down the terminal that made the authentication request and can continue to maintain the operation mode in the inactive state.

[0094] According to an embodiment, if an authentication request received in an activated operation mode is an abnormal access, the CPU 11 can block the terminal that made the authentication request and can switch the operation mode from an activated state to a deactivated state.

[0095] Hereinafter, the authentication process and the user registration process based on the dynamic authentication code will be described in order with reference to Figs. 3 and 4. The OTAC generation module 21 shown in Figs. 3 and 4 may mean a Software Development Kit (SDK) related to the dynamic authentication code described above. Also, the OTAC verification server 31 may be mounted (included) in or connected to the central server 30. Also, for convenience of explanation, the industrial control device 10 is described as performing the operations, but it can be understood that the operations are performed by the CPU 11 included in the industrial control device 10.

[0096] FIG. 3 is a diagram illustrating an authentication process based on a dynamic authentication code according to an embodiment of the present disclosure.

[0097] Referring to FIG. 3, the OTAC generation module 21 can generate a dynamic authentication code (OTAC) (S301).

[0098] The dynamic authentication code (OTAC) can be generated using one or more seed data. The seed data can include, but is not limited to, a unique value of the device (user terminal or management program), device information, and time data.

[0099] Here, the unique value of the device means the above-mentioned secret data for the user terminal 20. The unique value of the device is a value for identifying the user terminal 20 or the management program installed in the user terminal 20.

[0100] The device information may refer to, but is not limited to, the serial number of the industrial control device 10 .

[0101] The time data may refer to the time data of the authentication request or the time data of the dynamic authentication code generation.

[0102] Specifically, the dynamic authentication code may be generated based on the one or more seed data using a code generation function, where the code generation function may be initiated upon user registration.

[0103] Before the OTAC generation module 21 generates a dynamic authentication code, the user can select the industrial control device 10 to be activated (logged in) via the user terminal 20. Information on the industrial control device 10 selected in this manner can be transmitted to the OTAC generation module 21 and used as seed data for generating a dynamic authentication code.

[0104] Referring to FIG. 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 an over-the-air (OTAC) code, and the 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 may 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 by a currently valid user terminal depending on whether the two values ​​match.

[0109] According to an embodiment, the OTAC verification server 31 can apply a search algorithm to the dynamic authentication code to search for secret data, and compare the searched secret data with the secret data included in the dynamic authentication code to perform verification.

[0110] If the verification results in the two values ​​matching and the authentication request is determined to be a normal access, the OTAC verification server 31 can search for the user's identification information that is mapped to the secret data and stored.

[0111] Referring to FIG. 3, the OTAC verification server 31 may transmit the searched 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) searched for in the corresponding industrial control device 10 based on the information of the industrial control device included in the dynamic authentication code.

[0113] Referring to FIG. 3, the industrial control device 10 can perform a user login process using the received identification information (ie, User ID) (S309).

[0114] Once the login is complete, the industrial control device 10 is in an activated state, and the user can manage and control the industrial control device 10 using the user terminal 20.

[0115] FIG. 4 is a diagram illustrating a user registration process according to an embodiment of the present disclosure.

[0116] Referring to FIG. 4, the user terminal 20 requests user registration, and the registration request may be transmitted to the OTAC verification server 31 via the industrial control device 10 and the central server 30 (S401, S402, S403).

[0117] The user must perform user registration for the industrial control device 10 that the user is responsible for. More specifically, the user can request user registration for the industrial control device 10 that the user is responsible for through the management program. At this time, the user can input information about the industrial control device 10 that the user is responsible for and his / her own identification information.

[0118] The user terminal 20 can transmit a registration request along with the user's identification information to the corresponding industrial control device 10 based on the input information of the industrial control device 10 .

[0119] Referring to FIG. 4, the OTAC validation server 31 may generate and store secret data for identifying the user terminal 20 (or a management program installed in the user terminal 20) that has requested registration (S404).

[0120] More specifically, the OTAC validation server 31 may store the generated secret data in a specific storage location in the search algorithm. At this time, the OTAC validation server 31 may map the user's identification information to the secret data stored in the specific storage location and store the information. Depending on the embodiment, not only the user's identification information but also information on the industrial control device 10 may be mapped to and stored in the secret data.

[0121] In this way, user registration can be completed in the OTAC verification server 31. At this time, the operation of the code generation function starts for the user terminal 20. This enables the OTAC verification server 31 to apply the dynamic authentication code generated by the code generation function to the search algorithm and search for the storage location of the secret data in the search algorithm.

[0122] Referring to FIG. 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 can store the secret data (S408) and transmit the secret data to the OTAC generation module 21 (S409). This enables the OTAC generation module 21 to generate a dynamic authentication code using the secret data.

[0124] Meanwhile, when there are multiple industrial controllers 10 managed by a user, a different code generation function may be assigned to each industrial controller 10. In addition, each code generation function may have a different operating time. That is, when user registration for each industrial controller 10 is completed, the corresponding code generation function may start operating. For example, when user registration for industrial controller A is completed, code generation function A may start operating, and when user registration for industrial controller B is completed, code generation function B may start operating. Thus, when a user requests an authentication request to control industrial controller A, a dynamic authentication code may be generated using code generation function A, and when a user requests an authentication request to control industrial controller B, a dynamic authentication code may be generated using code generation function B.

[0125] Hereinafter, a security method for an industrial control device using an industrial control device 10 and a user terminal 20 will be described with reference to FIGS.

[0126] FIG. 5 is a diagram illustrating a security system for an industrial control device using dynamic authentication code based authentication according to another embodiment of the present disclosure.

[0127] 5, a security system (hereinafter, the system) for an industrial controller using dynamic authentication code based authentication according to another embodiment includes an industrial controller 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 FIG.

[0128] The explanation of the industrial control device 10, the user terminal 20 and the field device 40 overlaps with the contents explained with reference to FIG. 1, and therefore will be omitted.

[0129] 1 to 4, the OTAC validation server 31 for authenticating the industrial control device 10 is included in or connected to the central server 30, but in the embodiment described below with reference to Figures 5 to 8, the OTAC validation server 15 for authenticating the industrial control device 10 may be included in or connected to the industrial control device 10. Here, the OTAC validation server 31 and the OTAC validation server 15 perform the same operation.

[0130] 6 is a flowchart of a method for performing authentication based on a dynamic authentication code according to another embodiment of the present disclosure. In FIG. 6, the operation related to the OTAC verification is described as being performed by the industrial control device 10, but more precisely, the operation related to the OTAC verification is performed by the OTAC verification server 15.

[0131] 6, when authentication of the dynamic authentication code generated by the user terminal 20 is requested via the communication module 13, the CPU 11 of the industrial control device 10 can perform the requested authentication (S610).

[0132] In order for a user in charge of (managing and controlling) the industrial control device 10 to use the industrial control device 10, it must be confirmed whether or not the user is the user in charge of the industrial control device 10.

[0133] To this end, 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 in the user terminal 20. In response to the received authentication request, the industrial control device 10 can determine whether the corresponding user is a valid user (i.e., determine whether the corresponding authentication request is for valid access).

[0134] Specifically, when a dynamic authentication code is generated in the user terminal 20 (specifically, the OTAC SDK installed in the management program), the user terminal 20 can send an authentication request to the industrial control device 10 together with the generated dynamic authentication code.

[0135] In this manner, the dynamic authentication code generated by the SDK installed in the application (the management program) in the user terminal 20 can be transmitted from the user terminal 20 to the industrial control device 10 via communication, or 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 the industrial control device 10 can obtain the dynamic authentication code by having the user read the dynamic authentication code into the interface device.

[0136] Then, the industrial control device 10 can determine whether the authentication request from the user terminal 20 is a normal 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 search for secret data from the received dynamic authentication code using a previously stored search algorithm. The industrial control device 10 can verify the dynamic authentication code by comparing the searched secret data with the previously stored secret data. That is, if the searched secret data matches the previously stored secret data, it can be determined that the dynamic authentication code is currently a correctly generated code.

[0139] Here, the secret data is generated by the industrial control device 10 when the user terminal 20 requests registration in a management program (an application for controlling the industrial control device), and may be a unique value that is assigned only to the user terminal 20 in order to identify the user terminal 20.

[0140] The secret data can also be used by the industrial control device 10 to search for the user's identification information. The identification information can be a user ID (Identification) that is input by the user via the user terminal 20 when the user terminal 20 requests registration in a management program (an application for controlling the industrial control device) or that is generated by the user terminal 20. However, the identification information is not limited to this and can be any information that can identify the user (e.g., a password, an employee number, etc.).

[0141] The industrial control device 10 can complete the user registration by mapping and storing the identification information received from the user terminal 20 and the secret data generated by the industrial control device 10.

[0142] In this way, when a user is registered, the user's identification information and secret data for the user terminal 20 are mapped and stored, and thereafter, whenever authentication is performed, the secret data for the user terminal 20 is searched for from the dynamic authentication code, and the user's identification information can be searched for using the searched secret data. As a result, authentication using the dynamic authentication code can simultaneously authenticate the user and the user terminal (device).

[0143] Referring to FIG. 6, the CPU 11 of the industrial control device 10 can change the operation mode based on the result of authentication (S620).

[0144] If the authentication request is determined to be a normal access, the CPU 11 can perform a login process for the user based on the searched identification information.

[0145] When the login is completed, the CPU 11 can change the operation mode of the industrial control device 10 from the inactive mode to the active mode. In the active mode, the CPU 11 can control at least one field device 40 based on a control command received from the user terminal 20.

[0146] If the authentication request is determined to be an abnormal access, the CPU 11 can shut down the terminal that made the authentication request and can continue to maintain the operation mode in the inactive state.

[0147] According to an embodiment, if an authentication request received in an activated operation mode is an abnormal access, the CPU 11 can block the terminal that made the authentication request and can switch the operation mode from an activated state to a deactivated state.

[0148] Hereinafter, the authentication process and the user registration process based on the dynamic authentication code will be described in order with reference to Figs. 7 and 8. The OTAC generation module 21 shown in Figs. 7 and 8 may mean a Software Development Kit (SDK) related to the dynamic authentication code described above. Also, the OTAC verification server 15 may be mounted (included) in or connected to the industrial control device 10. Also, for convenience of explanation, the industrial control device 10 is described as performing the operations, but this can be understood as being performed by the CPU 11 included in the industrial control device 10.

[0149] FIG. 7 is a diagram illustrating an authentication process based on a dynamic authentication code according to another embodiment of the present disclosure.

[0150] Referring to FIG. 7, the OTAC generation module 21 can generate a dynamic authentication code (OTAC) (S701).

[0151] The dynamic authentication code (OTAC) can be generated using one or more seed data. The seed data can include, but is not limited to, a unique value of the device (user terminal or management program), device information, and time data.

[0152] Here, the unique value of the device means the above-mentioned secret data for the user terminal 20. The unique value of the device is a value for identifying the user terminal 20 or the management program installed in the user terminal 20.

[0153] The device information may refer to, but is not limited to, the serial number of the industrial control device 10 .

[0154] The time data may refer to the time data of the authentication request or the time data of the dynamic authentication code generation.

[0155] Specifically, the dynamic authentication code may be generated based on the one or more seed data using a code generation function, where the code generation function may be initiated upon user registration.

[0156] Before the OTAC generation module 21 generates a dynamic authentication code, the user can select the industrial control device 10 to be activated (logged in) via the user terminal 20. Information on the industrial control device 10 selected in this manner can be transmitted to the OTAC generation module 21 and used as seed data for generating a dynamic authentication code.

[0157] Referring to FIG. 7, the OTAC generation module 21 can transmit a dynamic authentication code (OTAC) to the user terminal 20 (S702).

[0158] The user terminal 20 may request authentication based on an over-the-air (OTAC) code, and the authentication request may be transmitted to the OTAC verification server 15 via the industrial control device 10 (S703, S704).

[0159] More specifically, the user terminal 20 may 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 by a currently valid user terminal depending on whether the two values ​​match.

[0162] Depending on the embodiment, the OTAC validation server 15 may apply a search algorithm to the dynamic authentication code to search for secret data, and compare the searched secret data with the secret data included in the dynamic authentication code to perform validation.

[0163] If the verification results in the two values ​​matching and the authentication request is determined to be a normal access, the OTAC verification server 15 can search for the user's identification information that is mapped to the secret data and stored.

[0164] Referring to FIG. 7, the OTAC validation server 15 may transmit the searched 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 (ie, User ID) (S308).

[0166] Once the login is complete, the industrial control device 10 is in an activated state, and the user can manage and control the industrial control device 10 using the user terminal 20.

[0167] FIG. 8 is a diagram illustrating a user registration process according to another embodiment of the present disclosure.

[0168] Referring to FIG. 8, the user terminal 20 requests user registration, and the registration request may be transmitted to the OTAC validation server 15 via the industrial control device 10 (S801, S802).

[0169] The user must perform user registration for the industrial control device 10 that the user is responsible for. More specifically, the user can request user registration for the industrial control device 10 that the user is responsible for through the management program. At this time, the user can input information about the industrial control device 10 that the user is responsible for and his / her own identification information.

[0170] The user terminal 20 can transmit a registration request along with the user's identification information to the corresponding industrial control device 10 based on the input information of the industrial control device 10 .

[0171] Referring to FIG. 8, the OTAC validation server 15 may generate and store secret data for identifying the user terminal 20 (or a management program installed in the user terminal 20) that has requested registration (S803).

[0172] More specifically, the OTAC validation server 15 may store the generated secret data in a specific storage location within the search algorithm. At this time, the OTAC validation server 15 may map the user's identification information to the secret data stored in the specific storage location and store the information. Depending on the embodiment, not only the user's identification information but also information on the industrial control device 10 may be mapped to and stored in the secret data.

[0173] In this way, user registration can be completed in the OTAC verification server 15. At this time, the code generation function starts to be driven for the user terminal 20. This allows the OTAC verification server 15 to apply the dynamic authentication code generated by the code generation function to the search algorithm and search for the storage location of the secret data in the search algorithm.

[0174] Referring to FIG. 8, the OTAC validation server 15 can transmit the secret data to the user terminal 20 via the industrial control device 10 (S804, S805).

[0175] The user terminal 20 can store the secret data (S806) and transmit the secret data to the OTAC generation module 21 (S807). This enables the OTAC generation module 21 to generate a dynamic authentication code using the secret data.

[0176] 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, verification of the dynamic authentication code and control of the industrial control device 10 based on the result are performed by one device (the industrial control device 10 or the OTAC verification server 15 mounted on the industrial control device 10), so two-way communication is not required.

[0177] Meanwhile, when there are multiple industrial controllers 10 managed by a user, a different code generation function may be assigned to each industrial controller 10. In addition, each code generation function may have a different operating time. That is, when user registration for each industrial controller 10 is completed, the corresponding code generation function may start operating. For example, when user registration for industrial controller A is completed, code generation function A may start operating, and when user registration for industrial controller B is completed, code generation function B may start operating. Thus, when a user requests an authentication request to control industrial controller A, a dynamic authentication code may be generated using code generation function A, and when a user requests an authentication request to control industrial controller B, a dynamic authentication code may be generated using code generation function B.

[0178] The following is a detailed description of how the OTAC generation module 21 generates a dynamic authentication code.

[0179] The SDK installed in the management program can generate one or more detailed codes. The detailed code means a part of the code that constitutes the dynamic authentication code, but the dynamic authentication code can be composed of only the detailed code, or can be formed into the final dynamic authentication code (OTAC) by combining one or more detailed codes with a virtual security code generated by an OTP function.

[0180] The SDK includes a code generation function that generates a dynamic authentication code, and the code generation function includes 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 combines the detail codes to generate a virtual code.

[0181] That is, when the dynamic authentication code includes multiple detail codes, the code generation function generates multiple detail codes using multiple detail code generation functions, and combines the multiple detail codes in a pre-set combination through the detail code combination function to generate the dynamic authentication code.

[0182] The multiple detail codes have a correlation that is used by the OTAC verification server 15, 31 to search for a storage location of information that can identify a user or device. That is, the OTAC verification server 15, 31 is provided with a search algorithm, which extracts multiple detail codes included in the dynamic authentication code and searches for a storage location of a unique value (e.g., secret data) assigned to the user or device based on the correlation of the multiple detail codes. As an example of the correlation of the multiple detail codes, the search algorithm can search for a storage location of a unique value (e.g., secret data) of the user or device by performing a calculation based on the correlation between the multiple detail codes from a waypoint corresponding to one or more of the multiple detail codes. In this case, the waypoint may be one or more, and there is no limit to the number and order.

[0183] Also, as an example of the multiple detail codes, the multiple detail codes may include a first code and a second code, and the SDK includes the first function and the second function as a detail code generation function to generate the first code and the second code. The first code and the second code have a correlation for searching for a storage location of a unique value (e.g., secret data) of a user or device in the OTAC verification server 15, 31, but the SDK may only include the first function for generating the first code and the second function for generating the second code as a detail code generation function to enhance security, and may not include data regarding the correlation between the first code and the second code.

[0184] As a specific 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 unique value, that is, the first code can include information about the waypoint, and the second code can include information necessary for a calculation to reach the storage location of the unique value from the waypoint.

[0185] Meanwhile, in one embodiment of the present disclosure, the first code may be generated based on the first count, and the second code may be generated based on the second count, where the first count may be the number of unit counts that have elapsed from the first time when the code generation function is driven in the OTAC generation module 21 or the OTAC verification server 15, 31 to the time when the dynamic authentication code is generated, and the second count may include the number of unit counts that have elapsed from the time when a unique value (e.g., secret data) of the user or device is stored in the OTAC verification server 15, 31.

[0186] That is, the first function for generating the first code is a function that provides a particular code value corresponding to the first count, and the second function for generating the second code is a function that provides a particular code value corresponding to the second count.

[0187] The following 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 server 15, 31 receives the dynamic authentication code from the user terminal 20, it can verify the dynamic authentication code by comparing the time data when the dynamic authentication code was received with the time data of the dynamic authentication code.

[0189] Specifically, the OTAC verification server 15, 31 verifies whether the dynamic authentication code is generated normally. That is, after receiving the dynamic authentication code, the OTAC verification server 15, 31 checks whether the received dynamic authentication code is generated normally at the current time based on information stored in the OTAC verification server 15, 31 (i.e., code generation function and seed data) to determine whether the dynamic authentication code is normal. The OTAC verification server 15, 31 searches for a count corresponding to the time when the dynamic authentication code is generated by applying an inverse function of the code generation function to the dynamic authentication code. Since a difference occurs between the time when the dynamic authentication code is generated and the time when the OTAC verification server 15, 31 receives the dynamic authentication code due to the transmission time or delay of the dynamic authentication code, the count when the OTAC verification server 15, 31 receives the dynamic authentication code may not match the count when the OTP number corresponding to the virtual code for authentication is generated, so the OTAC verification server 15, 31 allows an error range from the count when the dynamic authentication code is received.

[0190] On the other hand, as one embodiment of the present disclosure, the OTAC verification server 15, 31 can search for a 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 show steps being performed sequentially, this is merely an illustrative explanation of the technical idea of ​​this embodiment, and a person having ordinary knowledge in the technical field to which this embodiment belongs can apply various modifications and variations to change the order described in Figures 2 and 6 or to perform the steps in parallel without departing from the essential characteristics of this embodiment, so Figures 2 and 6 are not limited to a chronological order.

[0192] 2 and 6 may be further divided into additional steps or combined into fewer steps according to embodiments of the present disclosure. Also, some steps may be omitted or the order of steps may be changed as necessary.

[0193] Meanwhile, the disclosed embodiments may be embodied in the form of a recording medium storing instructions executable by a computer. The instructions may be stored in the form of program code, and when executed by a processor, may generate program modules to perform the operations of the disclosed embodiments. The recording medium may be embodied as a computer-readable recording medium.

[0194] The computer-readable recording medium includes all types of recording media in which computer-readable instructions are stored, such as Read Only Memory (ROM), Random Access Memory (RAM), magnetic tape, magnetic disk, flash memory, optical data storage device, etc.

[0195] The disclosed embodiments have been described above with reference to the accompanying drawings. Those skilled in the art will understand that the present disclosure may be embodied in a form different from the disclosed embodiments without changing the technical idea or essential features of the present disclosure. The disclosed embodiments are illustrative and should not be construed as being limiting.

Claims

1. A communication module for communicating with the user terminal and the central server; A central processing unit (CPU) that transmits an authentication request (authentication request) for the dynamic authentication code generated by the user terminal to the central server via the communication module and changes an operation mode based on the result of the authentication performed by the central server; Including, The authentication determines whether the authentication request is a normal access based on the dynamic authentication code, The dynamic authentication code is received from the user terminal, or is input or read by a user via an interface device.

2. If the authentication request is determined to be a normal access, the CPU 2. The industrial control device according to claim 1, further comprising: a central server that receives identification information of the user; and a login process based on the identification information.

3. The dynamic authentication code includes secret data for the user terminal, The industrial control device according to claim 2 , wherein the secret data is used by the central server to search for the identification information.

4. The industrial control device that performs authentication based on a dynamic authentication code as described in claim 3, wherein the secret data is a unique value that is generated by the central server when the user terminal requests registration in an application for controlling the industrial control device and is assigned only to the user terminal to identify the user terminal.

5. The industrial control device that performs authentication based on a dynamic authentication code as claimed in 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 in an application for controlling the industrial control device.

6. When the login is completed, the CPU 3. The industrial control device that performs authentication based on a dynamic authentication code according to claim 2, further comprising: changing the operation mode from a deactivated mode to an activated mode; and controlling at least one field device based on a control command received from the user terminal in the activated mode.

7. A communication module for communicating with a user terminal; a central processing unit (CPU) for performing authentication of the dynamic authentication code generated by the user terminal when the dynamic authentication code is requested and changing an operation mode based on the authentication result; Including, The authentication determines whether the authentication request is a normal access based on the dynamic authentication code, The dynamic authentication code is received from the user terminal, or is input or read by a user via an interface device.

8. If the authentication request is determined to be a normal access, the CPU performing a login process (login process) based on the user's identification information; 8. The industrial control device that performs authentication based on a dynamic authentication code according to claim 7, characterized in that, when the login is completed, the operation mode is changed from a deactivated mode to an activated mode, and in the activated mode, the industrial control device controls the at least one field device based on a control command received from the user terminal.

9. 1. A method performed by an industrial control device, comprising: sending an authentication request (authentication request) for the dynamic authentication code generated by the user terminal to a central server; changing an operational mode based on the result of the authentication performed by the central server; Including, The authentication determines whether the authentication request is a normal access based on the dynamic authentication code, The dynamic authentication code is received from the user terminal, or is input or read by a user through an interface device.

10. 1. A method performed by an industrial control device, comprising: performing authentication of the dynamic authentication code generated by the user terminal when the dynamic authentication code is requested; changing an operation mode based on a result of the authentication; Including, The authentication determines whether the authentication request is a normal access based on the dynamic authentication code, The dynamic authentication code is received from the user terminal, or is input or read by a user through an interface device.

Citation Information

Patent Citations

  • Industrial control equipment identity authentication method and device based on dynamic password

    CN113507368A

  • Bidirectional one time id authenticating system and authenticating method

    JP2005339247A

  • One-time id authentication system, authentication server, conversion server, one-time id authentication method, and program

    JP2006155263A

  • Web terminal and web plant monitoring control system using the same

    JP2016189048A

  • Hybrid-complx filters generating oxygen

    KR1020210103449A